Background
- Description: We need to add both InfoChip and FilterChip to Codex.
- History: FilterChip was previously used in our system (check the OOUI demo) while InfoChip was no documented.
- Considerations: list any known challenges or blockers, or any other important information
- Known use case(s): all use cases have been captured in this Figma inventory
Info Chip:
Info Chip in Wikifunctions | InfoChip with feedback states in Wikifunctions | Level chips in Growth |
Filter Chip:
Filter Chip in AW Function Editor | Filter Chip in Recent Changes | Error Input Chip with Filter Chip in user's preferences | Chip with feedback dot in Recent Changes |
Selection Chip
Newcomer Homepage | Wikimedia Commons | Filter tabs become selectable item with title and description in Wikimedia Commons | Selection chips in Language projects T113257 and T319181 |
Clickable / Link chip
Clickable chip (with link?) in Special Search (Quick view) T306630 |
User stories
- As a designer/developer I need to use InfoChip to inform the user about something with or without a feedback state (notice, success, warning and error).
- As a designer/developer I need to use FilterChip to add chips in a ChipInput T280701
Previous implementations
These artifacts are listed for historical context. The Figma spec, linked below, is the source of truth for the new component.
- Design style guide: add Design Style Guide link, if applicable
- OOUI: ChipInput with FilterChips in the OOUI demo.
- Vue: add any existing Vue implementations, if applicable. See Vue component inventory.
Open questions
- Will be InfoChip and FilterChip variants of the same Chip component? Or will we separate them into InfoChip component and FilterChip one?
- Name of each Chip:
- InfoChip / FilterChip / SelectionChip
- LabelChip / InputChip / SuggestionChip
- Could we create a prop to make the Chip fixed width? We should use it in cases where we have more than one chip in each column to avoid some chips to be wider than others:
- Maximum example: do we want to use ellipsis or could the chip jump to a second line?
Codex implementation
Component task owners
- Designer: @bmartinezcalvo
- Developer: add the main developer's name
Design exploration
Some solutions to unify all the different chip use cases with a systematic solution have been created in this exploration Figma file:
We could have the following chips:
- Type
- Informative (non clickable).
- Feedback: this chip could also display a Feedback status for the user.
- Filter (removable)
- Selection (toggle)
- Clickable (or link)
- Informative (non clickable).
- Size
- Small: we'll need a 20-24px chip to be included within other components (e.g. chips included within Inputs)
- - Medium / Large: we'll need a large size for toggled chips (e.g. the ones used in Growth)
Design spec
Once a component spec sheet has been created in Figma, remove the note stating that the spec is missing and link to the spec below.
A component spec sheet has not been created yet.
Component spec sheet |
Stage 1: Minimum viable product (MVP)
MVP includes basic layout, default states, and most important functionality.
Acceptance criteria
- Determine what MVP includes for this component and document this in a subtask. Assign task to designer.
- Design MVP. Once complete, assign task to developer.
- Implement MVP
Stage 2: Additional states, features, and variants
This might include a disabled state, framed/frameless designs, transitions, supporting different use cases, etc., which will be captured in separate subtasks.
Acceptance criteria
- Document design and implementation of additional states and features in individual subtasks
- Complete each additional state/feature subtask
Stage 3: Refinement
This stage includes any final touches or bug fixes needed before the component can be deemed complete, which will be captured in separate subtasks.
Acceptance criteria
- Finalize docs: open and complete a subtask for any additional demos that need to be added or documentation that needs work
- Add Chip in the DSG
- Meet accessibility standards: open and complete a subtask for any necessary accessibility improvements
- Meet internationalization standards: open and complete a subtask to fix any i18n bugs
- Complete testing: open and complete a subtask for any additional unit or functional tests that are needed
- During the collaboration, track any useful information about what is working well or what is challenging
- After the collaboration, share that information and survey the collaborators:
- What went well? What should we keep doing in future collaborations?
- What was challenging or frustrating? What held back the collaboration from being as successful as it could have been?
- What should we do differently in future collaborations?
- Overall, how satisfied are you with the collaboration and its outcomes?