Select
Composable Radix-based single-select primitive with a styled trigger, grouped items, and popover content. Use it when you need a fully custom dropdown rather than a native select element.
Best for
Import
import { Select } from "@enadhq/enad-react-sdk/client/ui-resolver"When to use it
Use Select when the surface needs a custom-styled single-choice picker that still behaves like a proper control. It works well for region pickers, material selectors, variant choices, and compact sort controls.
If the page does not need custom trigger and panel composition, a native select can still be the simpler choice.
Slot strategy
Select is a small composition system, not a single monolithic component:
SelectTriggerdefines the clickable field shell and sizeSelectValuecontrols placeholder and selected value renderingSelectContentowns the floating panel and positioning behaviorSelectGroup,SelectLabel,SelectItem, andSelectSeparatorhelp structure larger menus
Keep the trigger width explicit when the surrounding layout needs consistency across several selects.
Behavior and theming guidance
Use size="sm" for tight filter rows and size="md" for regular forms. Reach for position="popper" and align when the panel needs to anchor more intentionally to the trigger in denser layouts.
The component already uses the shared input tokens for radius, height, and padding, so it should feel related to Input out of the box. Prefer those shared tokens over one-off panel sizing or trigger spacing overrides.
When a brand needs tighter control over the internal icons, prefer the explicit hooks on the public parts — for example SelectTrigger.iconClassName, SelectItem.iconClassName, and SelectItem.indicatorClassName — instead of broad descendant selectors against every svg inside the select.
Examples
Live examples you can edit directly in the sandbox.
Basic
A simple single-select dropdown for locale pickers, sort controls, and standalone form fields.
Grouped options
Use SelectGroup and SelectLabel to organize larger lists into named sections such as materials, regions, or shipping speeds.
Trigger sizes
Compare `sm` and `md` when the same selection pattern needs to fit either a compact filter bar or a larger form field.
Component Sets
Preview the first example across the available component-set presets to compare tone, spacing, and structural defaults.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| value | string | — | No description yet. |
| defaultValue | string | — | No description yet. |
| onValueChange | string | — | No description yet. |