SelectPanel
The SelectPanel is an anchored dialog that allows users to quickly navigate and select one or multiple items from a list. It includes a text input for filtering, supports item grouping, and offers a footer for additional actions. Changes are applied upon closing the panel.
Page navigation navigation
This documentation is in progress. Please check back for updates as we continue to iterate. We recommend using the default SelectPanel component in your project.
Anatomy

The SelectPanel consists of three main areas: a header, a scrollable list that can be filtered, and an optional footer:
- Header: Includes a title, subtitle (optional), and a close button.
- Input: The input field allows users to quickly filter the list.
- List (scrollable): The scrollable list contains ActionList items, which can be either single or multi-select options.
- Footer: Can contain actions related to the list or selections.
Options
Single Selection

For single-item selection, the panel closes immediately upon selection. The selected item is indicated by a checkmark. Set the selectionVariant
prop on ActionList
to single
.
Multi Selection

For multi-item selection, the panel remains open after each selection, allowing users to choose multiple items before closing the panel to confirm their choices. Selections are visually indicated by faux checkboxes. Set the selectionVariant
prop on ActionList
to multiple
.
Groups
Items can be grouped to provide additional context or to visually separate them. Each group can have a title for better organization.
Footer

An optional footer at the bottom can include a link or button for additional actions.
Opening

Select panels can be activated via a semantic button, which can be either a regular button or an icon button. If the button represents the current selection, it must have an associated label, either internally (within the button) or externally (adjacent to the button).
Best practices
Current Selection

To make the current selection clear, display the selected items at the beginning of the list. This behavior should occur when opening the select panel, after users clear the input or when they change the filter value. Avoid reordering items after selection to prevent disorientation.
Error/Warning Handling

When things don't work as expected, or users need to be informed about important issues, we handle these scenarios appropriately. If default values fail to load, we display an error placeholder to inform the user. When users search for new values and the search fails, we display an error message above the input.
Behavior
The select panel opens when the trigger button is activated by a click, Enter
, or Space
.
Interactions
Focus is initially placed on the input field and the first item in the list, which are connected as one focusable entity. Users can type to filter the list or navigate using ArrowUp
and ArrowDown
.
Apply Changes
Closing the select panel applies all changes. It can be closed by clicking the trigger button again, clicking outside the panel, or pressing the Esc
key.