Web component overview
Gestalt provides an extensive set of React components for use in building larger web experiences and patterns. They include interactive UI components and developer utilities to help with implemention.
Not sure which component to use? Set up time with the Gestalt team.
ActivationCard
ActivationCards are used in groups to communicate a user’s stage in a series of steps toward an overall action.
Avatar
Avatar is used to represent a user.
AvatarGroup
AvatarGroup is used to both display a group of user avatars and, optionally, control actions related to the users group.
Badge
Badge is a label that indicates status or importance.
Box
Box is a component primitive that can be used to build the foundation of pretty much any other component.
Button
Buttons allow users to perform actions within a surface.
ButtonGroup
ButtonGroup is used to display a series of buttons.
Callout
Callout is a banner displaying short messages with helpful information for a task on the page, or something that requires the user’s attention.
Card
Card is used to highlight content in grids.
Checkbox
Use Checkbox when displaying 3 or more toggle inputs.
Collage
Collage, similarly to Masonry, creates a deterministic grid layout that can absolutely position and virtualize images.
ColorSchemeProvider
ColorSchemeProvider is an optional React context provider to enable dark mode.
Column
Column implements a 12-column system.
ComboBox
ComboBox is the combination of a Textfield and an associated Dropdown that allows the user to filter a list when selecting an option.
Container
Containers are useful in responsively laying out content on different screens.
Datapoint
Datapoint displays at-a-glance data for a user to quickly view key metrics.
DatePicker
DatePicker is used when the user has to select a date or date range.
Divider
Divider is a light gray 1px horizontal or vertical line which groups and divides content in lists and layouts.
Dropdown
Dropdown displays a list of actions, options or links.
Fieldset
Fieldset creates a fieldset and legend for a group of related form items in order to clearly indicate related form items.
Flex
Flex is a layout component with a very limited subset of the props available to Box.
Heading
Heading allows you to show headings on the page and has a bigger line height than regular text.
Icon
Icons are the symbolic representation of an action or information, providing visual context and improving usability.
IconButton
IconButton allows users to take actions and make choices with a single click or tap.
Image
Image is used to represent images.
Label
Label is used to connect a label with a form component in an accessible way.
Layer
Layers allow you to render children outside the DOM hierarchy of the parent.
Letterbox
Letterboxes are useful if you have some source media which is larger than the area you want to display it in.
Link
Link allow users to click their way from page to page.
Mask
Mask is used to display content in a specific shape.
Masonry
Masonry creates a deterministic grid layout, positioning items based on available vertical space.
Modal
Modal displays content that requires user interaction.
ModalAlert
ModalAlert is used to alert a user of an issue, or to request confirmation after a user-triggered action.
Module
Module is a container that holds content about one subject.
NumberField
NumberField allows for numerical input.
OnLinkNavigationProvider
OnLinkNavigationProvider is a React context provider to externally control the link behavior of components further down the tree.
PageHeader
PageHeader is used to indicate the title of the current page, as well as optional actions.
Pog
Pog is a lower-level functional component to show the active, hovered, and focused states of IconButton.
Popover
Popover is a floating view that contains a task related to the content on screen.
Pulsar
Pulsars bring focus to a specific element on the screen and act like training wheels to guide people towards the normal way to perform that action.
RadioGroup
Use RadioGroup when you have a few options that a user can choose from.
ScrollBoundaryContainer
ScrollBoundaryContainer is needed for proper positioning when Popover is anchored to an element that is located within a scrolling container.
SearchField
SearchField allows users to search for free-form content.
SegmentedControl
SegmentedControl may be used to group multiple selections.
SelectList
SelectList displays a list of actions or options using the browser’s native select.
Sheet
Sheets are surfaces that allow users to view optional information or complete sub-tasks in a workflow while keeping the context of the current page.
SideNavigation
SideNavigation is start-aligned and arranged vertically. It is used to navigate between page urls or sections when you have too many menu items to fit in horizontal Tabs
SlimBanner
SlimBanner conveys brief information related to a specific section of a page.
Spinner
Spinner helps indicate that a surface's content or portion of content is currently loading.
Status
Status is a graphic indicator of an element's state.
Sticky
Sticky allows an element to become fixed when it reaches a threshold.
Switch
Switch is used for single cell options that can be turned on and off only.
Table
Table is a set of structured data that is easy for a user to scan, examine, and compare.
Tabs
Tabs may be used navigate between multiple URLs.
Tag
Tags are objects that hold text and have a delete icon to remove them.
TapArea
TapArea allows components to be clickable and touchable in an accessible way.
Text
Text is used for all text on the page.
TextArea
TextArea allows for multi-line input.
TextField
TextField allows for multiple types of text input.
Toast
Toasts educate users on the content of the screen, provide confirmation when people complete an action, or simply communicate a short message.
Tooltip
Tooltip is a floating text label that succinctly describes the function of an interactive element.
Upsell
Upsells are banners that display short messages that focus on promoting an action or upgrading something the user already has.
Video
Video is used for media layout.
Z-Index Classes
FixedZIndex and CompositeZIndex are utility classes that generate z-indices for Gestalt components.
useFocusVisible
useFocusVisible manages focus interactions on the page and determines whether a focus ring should be shown.
useReducedMotion
useReducedMotion allows a user to request that the system minimize the amount of non-essential motion.