Let me give you additional context for my actual combobox component (installed using solidui – using kobalte underneath the hood). ``` // ==== Components ==== import { ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxItemLabel, Combobox, ComboboxTrigger } from '@/components/ui/combobox' import { TextFieldDescription, TextFieldErrorMessage, TextFieldLabel } from '../ui/text-field' import { Show, For } from 'solid-js' // ==== Utils ==== import { cn } from '@/lib/utils' // ==== Hooks ==== import { useStore } from '@tanstack/solid-form' import { useFieldContext } from './form-context' // ==== Types ==== import { SelectOption } from '@/lib/types' interface FormComboboxProps { options: Array placeholder?: string helpertext?: string label?: string } export default function FormCombobox(props: FormComboboxProps) { const field = useFieldContext() const errors = useStore(field().store, (state) => state.meta.errors) const getLabel = (value: string) => { return props.options.find(opt => opt.value === value)?.label } return ( 0 ? 'invalid' : 'valid'} options={props.options.map(o => o.value)} value={field().state.value} onChange={(v) => field().handleChange(v!)} placeholder={props.placeholder} triggerMode='focus' defaultFilter={(option, inputValue) => { const optionName = getLabel(option) if (!optionName) return false return optionName.toLowerCase().includes(inputValue.toLowerCase()) }} itemComponent={(props) => ( {getLabel(props.item.rawValue)} )} > {props.label} 0 && 'border-destructive focus-within:border-destructive focus-within:ring-destructive/30' )} > {props.helpertext} 0 ? true : false}> {(err) => ( {err.message} )} ) } ```