The Design Systems Team would like to request that someone on the Web team review two of the CSS-only components we have recently created, Button and Icon.
Background
DST is creating a suite of "CSS-only" components to enable use of Codex components without JavaScript, both until we have Vue SSR and on an ongoing basis. See the project page for more context.
DST would like the Web team's review of these components for a few reasons:
- They will be used inside the CSS-only TypeaheadSearch component, which will be implemented to style the server-rendered search box in Vector
- They are key components for Web team work
- The Web team has invaluable experience and knowledge when it comes to building components that work across our systems and for our users
For these reasons, we want to confirm our implementation of these components with the Web team.
Review details
For each component, please check out the demo, which explains how the component works, including how to achieve different variations and code samples. I've also included a link to the code if that's of interest, but don't feel obligated to review the code itself.
FYI, most CSS-only components will follow the class-based, "Bootstrap" approach. However, the CSS-only icon is achieved via a Less mixin.
- Button: demo, styles (shared with Vue Button component)
- Icon: demo, Less mixin
For each component, we'd appreciate the following feedback:
- Do you think the chosen implementation path is sufficient to meet the needs of the Web team's work?
- Can you see any issues using these components inside MediaWiki?
- Do you think these components could one day replace their respective mediawiki.ui components?
- Are there any other potential pitfalls we should know about?
- Any other feedback you can think of
Also, we could use some general feedback:
- Would you be ok with hand-authoring the markup for CSS-only Buttons, at least for now while we have no system for generating the markup?
- Thoughts on how we could package these components (the CSS for the button and the icon Less mixin) for your use in a way that's ideal for you?


