Forms
Select
Native select with custom chevron arrow and consistent BiibaOS styling.
Basic Usage
Standard single-select dropdown. It automatically adapts to a bottom sheet on mobile devices for native-like UX.
Validation & States
Control the visual state and interactivity of the select component.
Selection is required to proceed
Your data is encrypted and secure
Icons & Descriptions
Enhance options with icons and secondary descriptions to provide more context to the user.
Search & Multi-select
Enable searching for long lists and allow users to select multiple values with tag previews.
Sizes
Select heights are unified with Buttons and Inputs for perfect grid alignment.
Real-world: Workspace Access
An interactive workspace picker showing how to handle state and complex option objects.
Active Workspace:
BiibaOS
Properties
| Prop | Type | Default | Description |
|---|---|---|---|
options | SelectOption[] | — | Array of option items containing value and label elements |
value | string | string[] | — | Raw data string or URL to encode into the QR grid |
defaultValue | string | string[] | — | Initial uncontrolled default value |
onChange | (value: any) => void | — | Callback function triggered when the value changes |
placeholder | string | 'Select an option' | Ghost placeholder text displayed inside empty inputs |
label | string | — | Primary text label description |
hint | string | — | Supporting instructional guideline note |
error | string | — | Validation error text message shown beneath |
disabled | boolean | — | If true, disables all user interaction and applies faded opacity |
size | BiibaSize | 'md' | Predefined size scaling preset |
leftIcon | React.ReactNode | — | Decorative prefix icon on the left edge |
maxHeight | number | string | 300 | Configures the maxHeight option |
fullWidth | boolean | true | If true, stretches button to 100% of parent container |
searchable | boolean | false | Configures the searchable option |
multiple | boolean | false | If true, permits multiple selections or files |
clearable | boolean | false | Configures the clearable option |
maxVisibleTags | number | 2 | Configures the maxVisibleTags option |