/** * [WHO]: Combobox — Popover + Command composition for searchable single-select inputs. * [FROM]: React, registry/basic/button, registry/basic/command, registry/basic/popover, registry/lib/utils. * [TO]: sparkdesign package consumers; output of CLI `add combobox` when registered. * [HERE]: registry/basic/combobox.tsx — Spark Design source; tokenized shadcn-compatible combobox. * * [PROTOCOL]: * 1. Keep the trigger a Button (tokenized) so product surfaces inherit Spark typography/spacing. * 2. Use Command for filtering so keyboard navigation and empty states remain consistent with the palette primitive. * 3. Follow design tokens and explicit type exports. */ import * as React from 'react'; export interface ComboboxOption { value: string; label: string; disabled?: boolean; keywords?: string[]; } export interface ComboboxProps { options: ComboboxOption[]; size?: 'default' | 'compact'; value?: string; defaultValue?: string; onValueChange?: (value: string) => void; placeholder?: React.ReactNode; searchPlaceholder?: string; emptyText?: React.ReactNode; disabled?: boolean; className?: string; contentClassName?: string; align?: 'start' | 'center' | 'end'; triggerClassName?: string; id?: string; name?: string; 'aria-label'?: string; } declare function Combobox({ options, value, defaultValue, onValueChange, placeholder, searchPlaceholder, emptyText, size, disabled, className, contentClassName, triggerClassName, align, id, name, 'aria-label': ariaLabel, }: ComboboxProps): import("react/jsx-runtime").JSX.Element; export { Combobox };