import { Check, ChevronsUpDown } from 'lucide-react' import { noop } from 'lodash' import { useState } from 'react' import { Button_Shadcn_ as Button, Popover_Shadcn_ as Popover, PopoverTrigger_Shadcn_ as PopoverTrigger, PopoverContent_Shadcn_ as PopoverContent, Command_Shadcn_ as Command, CommandInput_Shadcn_ as CommandInput, CommandEmpty_Shadcn_ as CommandEmpty, CommandItem_Shadcn_ as CommandItem, CommandGroup_Shadcn_ as CommandGroup, cn, ScrollArea, } from 'ui' export interface ComboBoxOption { id: string value: string displayName: string } export function ComboBox({ isLoading, disabled, name, options, selectedOption, onSelectOption = noop, className, }: { isLoading: boolean disabled?: boolean name: string options: Opt[] selectedOption?: string onSelectOption?: (newValue: string) => void className?: string }) { const [open, setOpen] = useState(false) const selectedOptionDisplayName = options.find( (option) => option.value === selectedOption )?.displayName return ( No {name} found. 10 ? 'h-[280px]' : ''}> {options.map((option) => ( { setOpen(false) onSelectOption(selectedValue) }} className="cursor-pointer" > {option.displayName} ))} ) }