Poking around with some ideas to what we could use in our future projects.
(*) = Required attributes
- Primay color
- Grays
- State indicator (banner, button, etc.)
- Warning
- Danger / Error
- Informative
- Success
- Visited
- Hovered
- Focused
- Disabled
- Fonts
- sans-serif
- serif
- monospace
- Headings
- Paragraphs
- Links
Alerts shoudld help the customer to understand what the current status of the page he's looking at is.
An alert is mostly text oriented with a strong color accent to indicate the color status and optionally an icon.
- Success
- Error
- Warning
- Informative
- (*) title
- (*) content
- (*) status
- icon
role="alert"
specification
Button should be uniform across all states. A button can have different states. The state is linked to the action the button performs.
- Default
- Primary
- Secondary
- Loading
- Hover
- Focused
- Disabled
- Success
- Error
- Warning
- Informative
- Small
- Default
- Large
- (*) label
- (*) type (
submit
orbutton
) - status
- icon
role="button"
if<a>
as tag specification
Input can also be used as auto-complete with <datalist>
- Default
- Valid
- Invalid
- Disabled
- Focused
- (*) label
- (*) type
- (*) placeholder
- (*) required
- status
- datalist
- validators
- groups (prepend / append)
- Groups (prepend / append / both)
Basic form element. Ideally would be wrapped in a <fieldset>
with a <legend>
- Checked
- Unchecked
- Disabled
- Focused
- (*) label
- (*) type (
submit
orbutton
) - status
- icon
Used to activate / deactive an option
- Checked
- Unchecked
- Disabled
- Focused
- (*) label when activated / deactivated
- status
One or multile options in a list of choice. Should not be used for truthy / falsy choice.
We could use the multiple
native attribute for multiple values, although it seems like accessibility could be an issue
- Default
- Selected
- Disabled
- Focused
- Error
- (*) label
- (*) placeholder
- (*) list
- (*) required
- type (multiple)
- status
A field hint is a smaller than default font text that summarize in a couple words what's expected for that field.
A validation helper that indicates whether the validation rules passes or not
Tabs allow to split content into multiple views. The content of each tabs should be somewhat related since they form a group.
- Active
- Inactive
- Disabled
- (*) label (for accssibility)
- (*) label
- (*) content
- (*) active
- icon
-
role="tablist"
for the container -
aria-label=""
for the container -
role="tab"
for each tab -
aria-selected="true|false"
for each tab -
role="tabpanel"
for the content of the tab (header)
- Iconography
- Images
- Lists / Multisteps
- Datepicker / Timepicker
- Badge
- Modal
- Notification
- Dropdown
- Navigation
- Pagination
- Tooltips
- Progressbar
- Loader (inline and bigger ones)
- Toast