'use client'; import * as React from 'react'; import { Combobox as ComboboxPrimitive } from '@base-ui/react'; import { CheckIcon, ChevronDownIcon, XIcon } from 'lucide-react'; import { Button, cn, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, } from '@gib/ui'; const Combobox = ComboboxPrimitive.Root; const ComboboxValue = ({ ...props }: ComboboxPrimitive.Value.Props) => ( ); const ComboboxTrigger = ({ className, children, ...props }: ComboboxPrimitive.Trigger.Props) => ( {children} ); const ComboboxClear = ({ className, ...props }: ComboboxPrimitive.Clear.Props) => ( } /> ); const ComboboxInput = ({ className, children, disabled = false, showTrigger = true, showClear = false, ...props }: ComboboxPrimitive.Input.Props & { showTrigger?: boolean; showClear?: boolean; }) => ( } {...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} ); const ComboboxContent = ({ className, side = 'bottom', sideOffset = 6, align = 'start', alignOffset = 0, anchor, ...props }: ComboboxPrimitive.Popup.Props & Pick< ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor' >) => ( ); const ComboboxList = ({ className, ...props }: ComboboxPrimitive.List.Props) => ( ); const ComboboxItem = ({ className, children, ...props }: ComboboxPrimitive.Item.Props) => ( {children} } /> ); const ComboboxGroup = ({ className, ...props }: ComboboxPrimitive.Group.Props) => ( ); const ComboboxLabel = ({ className, ...props }: ComboboxPrimitive.GroupLabel.Props) => ( ); const ComboboxCollection = ({ ...props }: ComboboxPrimitive.Collection.Props) => ( ); const ComboboxEmpty = ({ className, ...props }: ComboboxPrimitive.Empty.Props) => (