Goal
We should decide what conventions to use in the component demos, then document those in the repo and apply them everywhere.
Decision background
Component tag casing (resolved)
The Vue style guide recommends PascalCase (e.g. <CdxButton>), but in DOM templates and in MediaWiki that doesn't work, and kebab-case (e.g. <cdx-button>) has to be used instead. Should we use PascalCase in our documentation, and assume that consumers in MediaWiki will know (or be told by their eslint rules) to know kebab-case instead? Or should the demos use kebab-case, so that MediaWiki consumers can copy code more easily? It's worth noting that PascalCase breaks in a MediaWiki environment, but kebab-case doesn't break in a build step environment (even though PascalCase is recommended in those environments and eslint could enforce that).
Update: we have decided to use kebab-case
Composition API or options API
- Should we use the composition API in the demo examples, or the options API?
- Or should we use the options API where possible for simplicity, and the composition API where needed?
Criteria for done
- Component and event tag casing decided
- Composition API or options API decided
- Conventions are documented in contributing code docs