Sections
Components
- AlertBanner
- AlertDialog
- Alert
- Avatar
- Badge
- Breadcrumb
- Button
- CalendarIcon
- CellLayout
- CellLink
- Checkbox
- Collapse
- ContentSwitcher
- ControlLabel
- DatePicker
- Dialog
- Divider
- Drawer
- EmptyCell
- EmptyState
- Empty
- ErrorOverlay
- FilterBar
- FilterChips
- Flex
- GridLayout
- HumanisedDate
- Icon
- InputDuration
- InputField
- Input
- Label
- Loader
- MoreActions
- NumberInput
- OutsideClickHandler
- PageLoader
- Page
- Popconfirm
- Popover
- ProgressPie
- Progress
- RadioButtonGroup
- RadioGroup
- Radio
- RelativeTime
- Resizable
- SearchInput
- Select
- SkeletonText
- Skeleton
- Space
- SquadAvatarList
- StatusPicker
- Stepper
- Switch
- TableLight
- Tabs
- Tag
- Text
- Textarea
- Toast
- Tooltip
- TriggerSelect
- Upload
import { TriggerSelect } from "@/rl-ui";
<TriggerSelect
options={[{ value: "1", label: "Ada" }, { value: "2", label: "Alan" }]}
value={selected}
onChange={setSelected}
label="Assignee"
/>Examples#
Empty selection#
import { TriggerSelect } from "@/rl-ui";
<TriggerSelect
label="Assignee"
triggerLabel="Pick a person"
options={[
{ value: "1", label: "Ada" },
{ value: "2", label: "Alan" },
{ value: "3", label: "Grace" },
]}
value={null}
onChange={setSelected}
/>Hide caret#
import { TriggerSelect } from "@/rl-ui";
<TriggerSelect
hideCaret
label="Owner"
options={[
{ value: "1", label: "Ada" },
{ value: "2", label: "Alan" },
]}
value={{ value: "2", label: "Alan" }}
onChange={setSelected}
/>Search placeholder & width#
import { TriggerSelect } from "@/rl-ui";
<TriggerSelect
label="Member"
searchPlaceholder="Filter people…"
dropdownWidth={280}
options={[
{ value: "1", label: "Ada Lovelace" },
{ value: "2", label: "Alan Turing" },
{ value: "3", label: "Grace Hopper", disabled: true },
]}
value={{ value: "1", label: "Ada Lovelace" }}
onChange={setSelected}
/>API#
| Prop | Type | Default | Description |
|---|---|---|---|
options | TriggerSelectOption[] | — | Options (required). Each: { value, label, imageUrl?, disabled? }. |
value | TriggerSelectOption | null | — | Selected option (required). |
onChange | (option: TriggerSelectOption | null) => void | — | Change handler (required). |
label | string | — | Field label above the trigger. |
triggerLabel | string | "Choose..." | Trigger text when value is null. |
searchPlaceholder | string | "Search..." | Search field placeholder. |
dropdownWidth | number | 340 | Menu width in px. |
hideCaret | boolean | false | Hide the caret on the trigger. |
renderOptionIcon | (option) => ReactNode | — | Custom leading icon per option (defaults to Avatar). |
className | string | — | Root className. |