Skip to main content

Components

Each spec covers anatomy, variants and sizes, states, keyboard, ARIA, right to left, do and don't, and the tokens it uses (listed from its CSS). See them all working on the Elements page, and in React, a page each, in the examples (React).

Every spec is also in Arabic, in ar/; the Elements page links to them when the page is in Arabic, and each is a page of its own on the site. The English is the reference: change a spec and its translation together (a test fails if a spec has no translation, or a link in either is broken).

ComponentWhat it is
ButtonAn action.
FieldA form control with its label, hint and error.
Checkbox, radio and switchNative checkboxes and radios in the accent colour, and a switch for settings that take effect at once.
Segmented controlOne of two to five short options, all visible at once.
DisclosureA native <details> for what's secondary, optionally showing what's chosen inside it while closed (the fold with a summary value).
Card, panel, stats and quoteContainers, the figures a page leads with, and what someone said.
Page headThe page's title, and on the trailing side what applies to the whole page: its settings, views and primary action.
Tabs and section navTabs between views of one thing, and section navigation between pages; they look the same, and differ in markup.
Site headerA website's top bar: the lockup, the sections, language and theme; a menu under md.
SidebarThe app's sections in a column, collapsible to icons; a scrolling bar along the top under the md breakpoint.
Text linkA link that stands on its own: underlined in the accent, with an arrow to a next step or an icon to another site.
Language linkThe same page in the other language, named in that language.
FooterWho made it, where to go next, and the legal line; quiet, and the same on every page.
StepsA numbered sequence: the stages of how something is done.
TableFor comparing values: numbers line up, the total stands out, asides recede.
Badge and tagA badge is a short status beside something ("Active", "Experimental", a count).
Notice and side-effect noteA notice is a message in the page, in four kinds.
ToastSays what just happened, briefly, without blocking; offers Undo when it can be undone.
DialogA native <dialog>, for a decision that needs the person's attention now.
MenuActions on one thing, behind a button ("More", "Move to…"), in a native popover.
TooltipA short label for an icon button or a chart mark, on hover and focus.
Empty stateWhy there's nothing here, and the next action.
Loading and progressProgress shown where the work happens: a spinner in the busy control or region, a skeleton where content will appear, a bar when progress can be measured.
Pending changes: save state, changed field, rollback, staleWhether a change is kept, what's changed but not saved, an optimistic change that failed and was put back, and a result that no longer matches its inputs.
Bulk action barOnce things are selected: how many, what can be done to all of them, and a way to clear.
Keyboard keys and shortcutsKeys, and the list of shortcuts that ? opens.
Logo wallWho uses it: their marks in one colour, as many to a row as fit.
Call to actionThe page's last word: one line, then what to do.
On this pageA page's sections beside it, the one being read marked as it scrolls.
Back to topOn a long page, a link back up, in the corner once the page has scrolled two screens.
Code and commandCode to read or copy, always left to right, with the lines that matter marked; a command, one line to paste.
ChartsColumns, a split bar and a bullet chart, in plain HTML and CSS.
Brand: mark, wordmark, lockupThe mark (one tile of the pattern, in a square frame) beside the wordmark.
Attribution"A product of Arabesque Labs", or "By Arabesque Labs": the line each of the company's products carries, as a component and as images.
PatternThe tessellation of the mark's tile: as texture behind a band, or across a hero with its focal tile, drawn in on load.
Construction figureHow the pattern is made, in three steps read as software.
IconLine icons from the sprite.
Breadcrumbs and back linkBreadcrumbs show where a page sits in the hierarchy; a back link returns to the previous step of a flow.
ConfirmationSays that something has been done, gives a reference when there is one, and says what happens next.
Character countA limit on a text field, said as what's left and, once over, by how much.
Date inputThree fields for a date people already know (a birthday, an issue date).
Date pickerA date near today, typed or chosen from a calendar in the page's language.
Error summaryWhen a form is submitted with problems: a list at the top of the form, each problem a link to its field.
Phase bannerTells people a service is new or experimental, and where to say what they think.
SearchA search field with a visible label, a search icon and a Clear button.
Summary listFacts as key–value pairs, each optionally with a Change link: the "check your answers" step, or a record's details.
Task listThe parts of a long job, each with its status, so people can do them in any order and see what's left.
Tints: highlight, tag and avatarSoft colour washes for emphasis and identity.
PaginationThe pages of a long list, as links: Previous and Next in words, the numbers around the current page.
StepperWhere a person is in a flow of three to six steps: done, current, to come, and "Step 2 of 4".
StatusA state in a word, with a dot before it in the state's colour.
RatingOne to five, as radios drawn as the mark's star, each named in words; or shown, as a picture named with its value.
TimelineWhat happened, each event at its time, along a line: a record's history or an activity feed.
ListThings of one kind, one to a row, hairlines between; a row that opens something is a link from edge to edge.
PopoverMore about something, when it's asked for: a button opens it beside itself, in a native popover.