'use client'; import * as React from 'react'; import { cn } from '#lib/utils'; import { Combobox as ComboboxPrimitive } from '@base-ui/react'; import { CheckIcon, ChevronDownIcon, XIcon } from 'lucide-react'; import { Button } from './button'; import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, } from './input-group'; const Combobox = ComboboxPrimitive.Root; function ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) { return ; } function ComboboxTrigger({ className, children, ...props }: ComboboxPrimitive.Trigger.Props) { return ( {children} ); } function ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) { return ( } className={cn(className)} {...props} > ); } function ComboboxInput({ className, children, disabled = false, showTrigger = true, showClear = false, ...props }: ComboboxPrimitive.Input.Props & { showTrigger?: boolean; showClear?: boolean; }) { return ( } {...props} /> {showTrigger && ( } data-slot="input-group-button" className="group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent" disabled={disabled} /> )} {showClear && } {children} ); } function ComboboxContent({ className, side = 'bottom', sideOffset = 6, align = 'start', alignOffset = 0, anchor, ...props }: ComboboxPrimitive.Popup.Props & Pick< ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor' >) { return ( ); } function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) { return ( ); } function ComboboxItem({ className, children, ...props }: ComboboxPrimitive.Item.Props) { return ( {children} } > ); } function ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) { return ( ); } function ComboboxLabel({ className, ...props }: ComboboxPrimitive.GroupLabel.Props) { return ( ); } function ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) { return ( ); } function ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) { return (