This spike covers determining which CSS components to build for the MVP implementation and long-term.
Previous implementations
- OOUI: The OOUI PHP work is relevant here
- mediawiki.ui is of concern. Former and current modules
- button: buttons are one of the most used mediawiki.ui components, especially by the Web team. However, the majority of uses are for icon buttons, which means we need...
- icon: another heavily used mediawiki.ui component. Complicating factors: the Codex Icon component isn't easily converted to css-only, and Web needs mobile styles for buttons (e.g. larger touchpoints), which may belong in Codex or may belong elsewhere.
- anchor a
- form
- label
- input[type="text"]
- input[type="search"]: the best thing we can do to unblock the Web team at the moment is reduce the maintenance cost of TypeaheadSearch. We can do that by releasing mixins for SearchInput (and potentially a few other styles needed for the server-rendered version of the search input in Vector). See T322077.
- input[type="radio"]
- input[type="checkbox"]
- select (limited)
Other components of interest
- Message: messageBox is well-contained and generated in a predictable way, plus the styles are fairly simple and easy to share via a mixin (or maybe even just design tokens). This would make it a great initial test case.
- Loading indicators:
- progress bar
- progress indicators
- skeleton
Acceptance criteria
- DST works with other teams to determine which components would be best to build as part of MVP
- DST documents this and opens subtasks for MVP implementation, at least