'use client' import { forwardRef } from 'react' import { PktInputWrapper } from '../inputwrapper/InputWrapper' import { ComboboxInput } from './ComboboxInput' import { ComboboxTags } from './ComboboxTags' import { Listbox } from './Listbox' import { useComboboxState } from './useComboboxState' import type { IPktCombobox } from './types' export type { IPktCombobox } from './types' export const PktCombobox = forwardRef((props, ref) => { const state = useComboboxState(props, ref) const outerClasses = [ 'pkt-combobox-component', state.fullwidth && 'pkt-combobox-component--fullwidth', state.className, ] .filter(Boolean) .join(' ') const hasTextInput = state.allowUserInput || state.typeahead const wrapperForId = hasTextInput ? state.inputId : `${state.id}-combobox` return (
{state.tagPlacement === 'outside' && state.multiple && }
{/* Uncontrolled hidden input for onChange event dispatching and form submission */}
) }) PktCombobox.displayName = 'PktCombobox'