A button that opens a list of options to choose from.
string| – |
Provides a hint to the browser for autofill. |
children | ReactNode | – | The content of the component. |
defaultOpen | boolean | false | Whether the select popup is initially open. To render a controlled select popup, use the |
defaultValue | SelectInputValue<Value, Multiple> | null | – | The uncontrolled value of the select when it's initially rendered. To render a controlled select, use the |
disabled | boolean | false | Whether the component should ignore user interaction. |
form | string | – | Identifies the form that owns the hidden input. Useful when the select is rendered outside the form. |
highlightItemOnHover | boolean | true | Whether moving the pointer over items should highlight them. Disabling this prop allows CSS |
id | string | – | The id of the Select. |
inputRef | Ref<HTMLInputElement> | – | A ref to access the hidden input element. |
isItemEqualToValue | ((itemValue: Value, value: Value) => boolean) | – | Custom comparison logic used to determine if a select item value matches the current selected value. Useful when item values are objects without matching referentially. Defaults to |
items | readonly Group<any>[] | Record<string, ReactNode> | readonly { label: ReactNode; value: any; }[] | – | Data structure of the items rendered in the select popup. When specified, |
itemToStringLabel | ((itemValue: Value) => string) | – | When the item values are objects ( |
itemToStringValue | ((itemValue: Value) => string) | – | When the item values are objects ( |
modal | boolean | true | Determines if the select enters a modal state when open.
On touch devices, a |
multiple | Multiple | false | Whether multiple items can be selected. |
name | string | – | Identifies the field when a form is submitted. |
onOpenChange | ((open: boolean, eventDetails: SelectRootOpenChangeEventDetails) => void) | – | Event handler called when the select popup is opened or closed. |
onOpenChangeComplete | ((open: boolean) => void) | – | Event handler called after any animations complete when the select popup is opened or closed. |
onValueChange | ((value: SelectOutputValue<Value, Multiple> | (Multiple extends true ? never : null), eventDetails: SelectRootChangeEventDetails) => void) | – | Event handler called when the value of the select changes. |
open | boolean | – | Whether the select popup is currently open. |
readOnly | boolean | false | Whether the user should be unable to choose a different option from the select popup. |
required | boolean | false | Whether the user must choose a value before submitting a form. |
value | SelectInputValue<Value, Multiple> | null | – | The value of the select. Use when controlled. |
"default"default |
The size of the component. |
Whether the component should ignore user interaction. |
label | string | – | Specifies the text label to use when the item is matched during keyboard text navigation. Defaults to the item text content if not provided. |
nativeButton | boolean | false | Whether the component renders a native |
value | any | null | A unique value that identifies this select item. |
boolean |
true |
Whether the popup opens with the selected item placed over the trigger, like a native select. When |
alignOffset | number|OffsetFunction | 0 | Additional offset along the alignment axis, in pixels. |
anchor | Select$1.Positioner.Props["anchor"] | – | An element to position the popup against. Defaults to the trigger. |
children | ReactNode | – | The content of the component. |
finalFocus | boolean | RefObject<HTMLElement | null> | ((closeType: InteractionType) => boolean | void | HTMLElement | null) | – | Determines the element to focus when the select popup is closed.
|
scrollDownIcon | ReactNode | – | Replaces this icon. Accepts any node; |
scrollUpIcon | ReactNode | – | Replaces this icon. Accepts any node; |
side | "top"|"bottom"|"left"|"right"|"inline-end"|"inline-start" | bottom | Which side of the copy button the tooltip and toast open on. |
sideOffset | number|OffsetFunction | 4 | The gap between the trigger and the calendar, in pixels. |
Whether the component should ignore user interaction.
icon | ReactNode | – | Replaces this icon. Accepts any node; |
nativeButton | boolean | true | Whether the component renders a native |
size | "lg"|"sm"|"default" | default | The size of the component. |
ReactNode |
| – |
The placeholder value to display when no value is selected. This is overridden by |