Skip to content

TkxDropdown

import { TkxDropdown, TkxButton } from 'tekivex-ui';
Basic — single select
<TkxDropdown
trigger={<TkxButton variant="outline">Pick country ▾</TkxButton>}
items={[
{ key: 'in', label: 'India' },
{ key: 'us', label: 'United States' },
{ key: 'uk', label: 'United Kingdom' },
]}
onSelect={(key, item) => console.log(item.label)}
/>
Grouped items with separators
Searchable — start typing
PropTypeRequiredDescription
triggerReactNodeyes
itemsDropdownItem[]
groupsDropdownGroup[]
placementDropdownPlacement
onSelect(key: string, item: DropdownItem) => void
selectedKeysstring[]
multiSelectboolean
searchableboolean
searchPlaceholderstring
closeOnSelectboolean
disabledboolean
maxHeightnumber
minWidthnumber
openboolean
onOpenChange(open: boolean) => void
portalboolean
offsetnumber
renderItem(item: DropdownItem, selected: boolean) => ReactNode
  • Keyboard navigation supported on all interactive elements
  • :focus-visible outline at 2px (theme-token primary)
  • ARIA roles and properties applied per WAI-ARIA 1.2
  • Respects prefers-reduced-motion
  • Minimum 44×44 touch target where applicable

The implementation lives at src/components/TkxDropdown.tsx.

For the full interactive sandbox, open the playground.