'use client'; import { Combobox as ChakraCombobox, Portal } from '@chakra-ui/react'; import { CloseButton } from '@/components/ui/buttons/close-button'; import * as React from 'react'; interface ComboboxControlProps extends ChakraCombobox.ControlProps { clearable?: boolean; } export const ComboboxControl = React.forwardRef( function ComboboxControl(props, ref) { const { children, clearable, ...rest } = props; return ( {children} {clearable && } ); }, ); const ComboboxClearTrigger = React.forwardRef( function ComboboxClearTrigger(props, ref) { return ( ); }, ); interface ComboboxContentProps extends ChakraCombobox.ContentProps { portalled?: boolean; portalRef?: React.RefObject; } export const ComboboxContent = React.forwardRef( function ComboboxContent(props, ref) { const { portalled = true, portalRef, ...rest } = props; return ( ); }, ); export const ComboboxItem = React.forwardRef( function ComboboxItem(props, ref) { const { item, children, ...rest } = props; return ( {children} ); }, ); export const ComboboxRoot = React.forwardRef( function ComboboxRoot(props, ref) { return ; }, ) as ChakraCombobox.RootComponent; interface ComboboxItemGroupProps extends ChakraCombobox.ItemGroupProps { label: React.ReactNode; } export const ComboboxItemGroup = React.forwardRef( function ComboboxItemGroup(props, ref) { const { children, label, ...rest } = props; return ( {label} {children} ); }, ); export const ComboboxLabel = ChakraCombobox.Label; export const ComboboxInput = ChakraCombobox.Input; export const ComboboxEmpty = ChakraCombobox.Empty; export const ComboboxItemText = ChakraCombobox.ItemText;