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; };