Skip to Content

Select

Single-value select. Options are SelectOption objects; values are generic (T, string by default). Includes built-in field chrome: label, hint, error, required.

Country
Searchable + clearable
import { Select } from '@gg-software/ui'; <Select label="Country" placeholder="Pick a country" options={[ { label: 'Czechia', value: 'cz' }, { label: 'Slovakia', value: 'sk' }, { label: 'Austria', value: 'at', disabled: true }, ]} onChange={(value, option) => console.log(value, option)} /> <Select label="Searchable + clearable" searchable clearable options={options} />

Props

PropTypeDefaultDescription
options*SelectOption<T>[]
valueT | null
defaultValueT | nullnull
onChange((value: T | null, option: SelectOption<T> | null) => void)
placeholderstringSelect…
labelReactNode
hintReactNode
errorReactNode
requiredboolean
size"sm" | "md" | "lg"md
status"warning" | "error"
disabledbooleanfalse
searchablebooleanfalse
clearablebooleanfalse
filterOption((query: string, option: SelectOption<T>) => boolean)custom filter predicate for searchable selects
emptyTextReactNodeNo optionscontent shown when no option matches
idstring
namestring
classNamestring

* required · generated from packages/ui/src/input/Select/Select.tsx

Types

type SelectOption<T = string> = { label: ReactNode; value: T; disabled?: boolean; };