1. framework components
  2. listbox
LLM

Listbox

Accessible listbox for single and multi selection.

contentType: framework-components
featureName: listbox
  • Apple
  • Banana
  • Orange
  • Carrot
  • Broccoli
  • Spinach

Groups

  • Apple
  • Banana
  • Orange
  • Carrot
  • Broccoli
  • Spinach

Multiple

  • Apple
  • Banana
  • Orange
  • Carrot
  • Broccoli
  • Spinach

Disabled

  • Apple
  • Banana
  • Orange
  • Carrot
  • Broccoli
  • Spinach

Disabled Item

  • Apple
  • Banana
  • Orange
  • Carrot
  • Broccoli
  • Spinach
  • Apple
  • Banana
  • Orange
  • Carrot
  • Broccoli
  • Spinach

Direction

  • Apple
  • Banana
  • Orange
  • Carrot
  • Broccoli
  • Spinach

API Reference

Root

Property Default Type
orientation "vertical"
"horizontal" | "vertical" | undefined
The orientation of the listbox.
collection -
ListCollection<any> | GridCollection<any>
The item collection
ids -
Partial<{ root: string; content: string; label: string; item: (id: string | number) => string; itemGroup: (id: string | number) => string; itemGroupLabel: (id: string | number) => string; }> | undefined
The ids of the elements in the listbox. Useful for composition.
disabled -
boolean | undefined
Whether the listbox is disabled
disallowSelectAll -
boolean | undefined
Whether to disallow selecting all items when `meta+a` is pressed
onHighlightChange -
((details: HighlightChangeDetails<any>) => void) | undefined
The callback fired when the highlighted item changes.
onValueChange -
((details: ValueChangeDetails<any>) => void) | undefined
The callback fired when the selected item changes.
value -
string[] | undefined
The controlled keys of the selected items
defaultValue []
string[] | undefined
The initial default value of the listbox when rendered. Use when you don't need to control the value of the listbox.
highlightedValue -
string | null | undefined
The controlled key of the highlighted item
defaultHighlightedValue -
string | null | undefined
The initial value of the highlighted item when opened. Use when you don't need to control the highlighted value of the listbox.
loopFocus false
boolean | undefined
Whether to loop the keyboard navigation through the options
selectionMode "single"
SelectionMode | undefined
How multiple selection should behave in the listbox. - `single`: The user can select a single item. - `multiple`: The user can select multiple items without using modifier keys. - `extended`: The user can select multiple items by using modifier keys.
scrollToIndexFn -
((details: ScrollToIndexDetails) => void) | undefined
Function to scroll to a specific index
selectOnHighlight -
boolean | undefined
Whether to select the item when it is highlighted
deselectable -
boolean | undefined
Whether to disallow empty selection
typeahead -
boolean | undefined
Whether to enable typeahead on the listbox
onSelect -
((details: SelectionDetails) => void) | undefined
Function called when an item is selected
dir "ltr"
"ltr" | "rtl" | undefined
The document's text/writing direction.
getRootNode -
(() => ShadowRoot | Node | Document) | undefined
A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.
element -
Snippet<[HTMLAttributes<"div">]> | undefined
Render the element yourself

RootProvider

Property Default Type
value -
() => ListboxApi<PropTypes, any>
element -
Snippet<[HTMLAttributes<"div">]> | undefined
Render the element yourself

RootContext

Property Default Type
children -
Snippet<[() => ListboxApi<PropTypes, any>]>

Label

Property Default Type
element -
Snippet<[HTMLAttributes<"label">]> | undefined
Render the element yourself

Input

Property Default Type
element -
Snippet<[HTMLAttributes<"input">]> | undefined
Render the element yourself

Content

Property Default Type
element -
Snippet<[HTMLAttributes<"ul">]> | undefined
Render the element yourself

ItemGroup

Property Default Type
element -
Snippet<[HTMLAttributes<"div">]> | undefined
Render the element yourself

ItemGroupLabel

Property Default Type
element -
Snippet<[HTMLAttributes<"div">]> | undefined
Render the element yourself

Item

Property Default Type
item -
any
The item to render
highlightOnHover -
boolean | undefined
Whether to highlight the item on hover
element -
Snippet<[HTMLAttributes<"li">]> | undefined
Render the element yourself

ItemText

Property Default Type
element -
Snippet<[HTMLAttributes<"span">]> | undefined
Render the element yourself

ItemIndicator

Property Default Type
element -
Snippet<[HTMLAttributes<"span">]> | undefined
Render the element yourself