Installation
Usage
Basic
Custom
Provides additional control over the styling, icons and data, while still being simple to use.
Advanced
Select
component fully support original Radix API. Customize anything you want.
Examples
Size
Radius
Validation
There’s an additional SelectField
component built specifically for easy and clean isomorphic form validation. It leverages Conform and Zod, providing a single source of truth for both frontend and backend while preserving native browser validation APIs. It also seamlessly integrates with the latest React 19 features, such as useServerAction
:
Reduce Motion
Control motion with reduceMotion
prop. Additionally, Select
respects user system "Reduce motion" settings.
Animation Presets
Animations work only when position set to popper
.
Motion Blur
Motion
Wipe
Wipe Scale
Burst
Burst Scale
Scale
Slide Inside
Slide Outside
Custom Animation
You can use any Motion Animation
values:
Transition Presets
Each animation comes with predefined transitionPreset
Alternatively, you can choose transition from this list:
default
anticipate
quickOut
overshootOut
swiftOut
snappyOut
inOut
inQuad
inCubic
inQuart
inQuint
inExpo
inCirc
outQuad
outCubic
outQuart
outQuint
outExpo
outCirc
inOutQuad
inOutCubic
inOutQuart
inOutQuint
inOutExpo
inOutCirc
inOutBase
in
out
linear
Additionaly, you can control the duration of the transition:
Custom Transitions
You can use any Motion Transition
values:
API Reference
Select
Prop | Type | Default |
---|---|---|
options* | OptionDataProps[] | ― |
groupedOptions* | GroupedOptionDataProps[] | ― |
size | enum | "default" |
radius | enum | ― |
reduceMotion | boolean | false |
indicator | ReactNode | ― |
animation | AnimationProps | ― |
animationPreset | enum | ― |
transition | Transition | ― |
transitionPreset | enum TransitionPreset | ― |
placeholder | ReactNode | ― |
icon | ReactNode | ― |
invalid | boolean | ― |
Root
Prop | Type | Default |
---|---|---|
size | enum | "default" |
radius | enum | ― |
reduceMotion | boolean | false |
Support all Radix API
Trigger
Prop | Type | Default |
---|---|---|
size | enum | "default" |
radius | enum | ― |
placeholder | ReactNode | ― |
icon | ReactNode | ― |
invalid | boolean | ― |
Support all Radix API
Value
Support all Radix API
Icon
Support all Radix API
Portal
Support all Radix API
Content
Prop | Type | Default |
---|---|---|
size | enum | "default" |
radius | enum | ― |
animation | AnimationProps | ― |
animationPreset | enum | ― |
transition | Transition | ― |
transitionPreset | enum TransitionPreset | ― |
Support all Radix API
Viewport
Support all Radix API
Item
Support all Radix API
ItemText
Support all Radix API
ItemIndicator
Support all Radix API
Uses CheckIcon
as default icon, but could be replaced with any custom.
Option
Abstracted Radix Item components, contains SelectItem
, SelectItemText
, SelectItemIndicator
.
Prop | Type | Default |
---|---|---|
indicator | ReactNode | ― |
ScrollUpButton
Support all Radix API
ScrollDownButton
Support all Radix API
Group
Support all Radix API
Label
Support all Radix API
Separator
Support all Radix API
Arrow
Support all Radix API