PureKit UI logoPureKit UI

Select

Dropdown selection component with search and multi select.

Basic

Simple select component

Contained Variant

Contained input style

Multi Select

Select multiple options

Main Props

NameTypeDefaultDescription
color
Color'blue'Color variant
variantInput
'floating' | 'contained''floating'Input style
shape
'rounded' | 'square''rounded'Shape for contained variant
size
'xs' | 'sm' | 'md' | 'lg''md'Component size
label
string''Label text
positionLabel
'top' | 'left''top'Label position
placeholder
string'Select'Placeholder text
loading
booleanfalseLoading state
disabled
booleanfalseDisable component
disabledAutoFocus
booleanfalseDisable auto focus
disabledFocusInput
booleanfalseDisable focusing input
disabledSearch
booleanfalseDisable search
disabledClose
booleanfalsePrevent closing
textNoOptions
string'No Options'Text when no options
options
required
SelectOption[]-Available options
value
SelectOption | SelectOption[]-Current value
onChange
required
(value: SelectOption | SelectOption[]) => void-Change handler
slots
SlotsProps-Slot props
children
React.ReactNode-Custom children
onBlur
(e: React.FocusEvent<HTMLDivElement>) => void-Blur handler
loadingMore
booleanfalseLoading more state

Root Props

NameTypeDefaultDescription
classNameRoot
string''Class for root
classNameRootSelect
string''Class for select root

Box Props

NameTypeDefaultDescription
classNameWrapperBox
string''Class for box wrapper
classNameBox
string''Class for box

Label Props

NameTypeDefaultDescription
classNameLabel
string''Class for label

Search Props

NameTypeDefaultDescription
classNameSearch
string''Class for search input

Select Props

NameTypeDefaultDescription
classNameSelectLoading
string''Class for loading icon
classNameSelectChevron
string''Class for chevron icon
classNameSelectClose
string''Class for close icon
renderLoading
React.ReactNode-Custom loading
renderChevron
React.ReactNode-Custom chevron
renderClose
React.ReactNode-Custom close

Option Props

NameTypeDefaultDescription
maxHeight
number300Max height of options
classNameWrapperOptions
string''Class for options wrapper
classNameOptions
string''Class for options
classNameNoOptions
string''Class for no options
classNameOption
string''Class for option
classNameOptionLabel
string''Class for option label
classNameOptionHover
string''Class when option hover
classNameOptionActive
string''Class when option active
classNameWrapperOptionLoading
string''Class for option loading wrapper
classNameOptionLoading
string''Class for option loading
classNameOptionLoadingText
string''Class for option loading text
renderMenuOption
(option: SelectMenuOption) => React.ReactNode-Custom option renderer

Multi Props

NameTypeDefaultDescription
isMulti
booleanfalseEnable multi select
classNameRootMulti
string''Class for multi root
classNameWrapperMultiBadge
string''Class for badge wrapper
classNameMultiBadge
string''Class for badge
classNameMultiBadgeLabel
string''Class for badge label
classNameMultiBadgeClose
string''Class for badge close
hidePlaceholderWhenSelected
booleanfalseHide placeholder on selection
renderBadge
(option: SelectOption, index: number) => React.ReactNode-Custom badge renderer

Load More Props

NameTypeDefaultDescription
offset
number300Scroll offset for fetch more
fetchMore
() => any-Callback to load more

Group Props

NameTypeDefaultDescription
showGroup
booleanfalseEnable option grouping
groupBy
SelectGroupBy-Group by function
groupSortKey
SelectSortKey'group_id'Group sort key
groupSortBy
'asc' | 'desc''asc'Group sort order
optionSortKey
SelectSortKey'value'Option sort key
optionSortBy
'asc' | 'desc''asc'Option sort order
classNameWrapperGroup
string''Class for group wrapper
classNameGroupLabel
string''Class for group label