60 Component Categories
A filterable, count-forward index of interface patterns, each expanded into a detail page with examples and implementation notes.
- Accordion101
Arrow toggle, Collapse, Collapsible sections, Collapsible, Details, Disclosure, Expandable, Expander, ShowyHideyThing
An accordion is a vertical stack of interactive headings used to toggle the display of further information; each item can be 'collapsed' with just a short label visible or 'expanded' to show the full content.
- Alert108
Notification, Feedback, Message, Banner, Callout
A way of informing the user of important changes in a prominent way.
- Avatar37
A graphical representation of a user: usually a photo, illustration, or initial.
- Badge122
Tag, Label, Chip
A small label, generally appearing inside or in close proximity to another larger interface component, representing a status, property, or some other metadata.
Breadcrumb trail
A list of links showing the location of the current page in the navigational hierarchy.
- Button118
Buttons trigger an action such as submitting a form or showing/hiding an interface component.
- Carousel22
Content slider
A means of displaying multiple slides of content, one or more at a time. Navigation between slides can be controlled via swiping, scrolling, or buttons.
- Checkbox84
An input for choosing from predefined options: when used alone, it gives a binary choice (checked/unchecked); in a group it allows the user to select multiple values from a list of options.
An input for choosing a color.
- Combobox37
Autocomplete, Autosuggest
An input that behaves similarly to a select, with the addition of a free text input to filter options.
A means of inputting a date – often separated into multiple individual fields for day/month/year.
An indication to the user that there is no data to display in the current view; it often includes an alternative action (e.g. try a different search term).
- Fieldset31
A wrapper for related form fields.
- File6
Attachment, Download
A representation of a file such as an uploaded attachment or a downloadable PDF.
File input, File uploader, Dropzone
An input which allows users to upload a file from their device.
- Form22
A grouping of input controls that allow a user to submit information to a server.
- Header41
An element that appears across the top of all pages on a website or application; it usually contains the site name and main navigation.
- Heading28
A title or caption used to introduce a new section.
- Hero9
Jumbotron, Banner
A large banner, usually appearing as one of the first items on a page; it often contains a full-width image.
- Icon45
An icon is a graphic symbol designed to visually indicate the purpose of an interface element.
- Link64
Anchor, Hyperlink
A link is a reference to a resource. This can be external (e.g. a different web page) or internal (e.g. a specific element in the current document).
- List69
Lists are used for grouping a collection of related items. In HTML there are three types: unordered list — for items in no particular order. ordered list — for items in a specific order. description list — for key-value pairs.
- Modal82
Dialog, Popup, Modal window
A modal is an interface element that appears over other content. It requires an interaction from the user before they can return to whatever is underneath.
Pagination is the process of splitting information over multiple pages instead of showing it all on a single page; also the name for the interface component used for navigating between these pages.
- Popover50
An element that pops up from another element over other content; it differs from a tooltip in that it is usually triggered via click instead of hover and can contain interactive elements.
Progress
A horizontal bar indicating the current completion status of a long-running task, usually updated continuously as the task progresses, instead of in discrete steps.
Progress tracker, Stepper, Steps, Timeline, Meter
A representation of a user’s progress through a series of discrete steps.
- Quote11
Pull quote, Block quote
Quotes are used to display a quotation: either from a person or another outside source or to highlight a passage of the current document (a pull quote).
Radio, Radio group
Radio buttons allow a user to select a single option from a list of predefined options.
- Rating19
Ratings let users see and/or set a star rating for a product or other item.
RTE, wysiwyg editor
An interface for editing “rich text” content (i.e. with formatting), usually through a WYSIWYG interface.
Toggle button group
A hybrid somewhere between a button group, radio buttons, and tabs; segmented controls are used to switch between different options or views.
- Select82
Dropdown, Select input
A form input used for selecting a value: when collapsed it shows the currently selected option and when expanded, it shows a scrollable list of predefined options for the user to choose from.
Divider, Horizonal rule, Vertical rule
A separator between two elements, usually consisting of a horizontal line.
- Skeleton35
Skeleton loader
A placeholder layout for content which hasn't yet loaded, usually built up of grey boxes.
Links within a page for skipping to another section, primarily for users who navigate using a keyboard.
- Spinner66
Loader, Loading
A visual indicator that a process is happening in the background but the interface is not yet ready for interaction.
A wrapper component for adding a consistent margin between components.
- Stepper19
Nudger, Quantity, Counter
A control for editing a numeric value with buttons for decrementing / incrementing.
- Table74
A component for displaying large amounts of data in rows and columns; commonly referred to as a 'Data Table' when it includes sorting and/ or filtering functionality.
- Tabs81
Tabbed interface
Tabbed interfaces are a way of navigating between multiple panels, reducing clutter and fitting more into a smaller space.
A form control that accepts a single line of text.
- Toast42
Snackbar
A type of alert which appears in a layer above other content, visually similar to a mobile or desktop push notification.
- Toggle59
Switch, Lightswitch, Toggle button
A control used to switch between two states: often on or off.
- Tooltip74
Toggletip
A means of displaying a description or extra information about an element, usually on hover, but can also be on click or tap.
A component for displaying nested hierarchical information, such as a table of contents or directory structure.
- Video15
Video player
Video players are used for displaying video content; they often include controls to control playback.