"use client"; import { useState } from "react"; import { Check, ChevronsUpDown } from "lucide-react"; import { buttonVariants } from "@/components/ui/button"; import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from "@/components/ui/command"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { cn } from "@/lib/utils"; interface ComboboxProps { choices: string[]; value: string; onChange: (value: string) => void; placeholder?: string; } export function Combobox({ choices, value, onChange, placeholder = "Select...", }: ComboboxProps) { const [open, setOpen] = useState(false); return ( {value || placeholder} No matches. {choices.map((choice) => ( { onChange(choice); setOpen(false); }} > {choice} ))} ); }