import { ChangeEvent } from 'react'; import { ValuePair } from '../../utilities/valuePair.js'; import { InputGroupProps, LabelProps } from '../input-group/types.js'; export type ComboboxValuePair = ValuePair & { tagLabel?: string; isMarked?: boolean; }; export interface ComboboxPartialChangeEvent extends Partial, "target">> { type: "change" | "blur"; target: { name: string; value: string; selectedOptions: Array; }; } export type ComboboxChangeEventHandler = (event: ComboboxPartialChangeEvent) => void; export interface ComboboxProps extends InputGroupProps { id?: string; placeholder?: string; labelProps?: Omit; items: Array; noMatchingOption?: string; label: string; name: string; value?: Array; width?: string; helpLabel?: string; errorLabel?: string; className?: string; invalid?: boolean; hasTagHover?: boolean; onChange: ComboboxChangeEventHandler; onBlur?: ComboboxChangeEventHandler; onFocus?: ComboboxChangeEventHandler; }