import type { XyControlStatus, XyControlVariant, XySemanticClassNames, XySemanticStyles, XySize } from "../core"; import type { XyIconName } from "../icon"; export type XySearchEnterButton = boolean | string; export type XySearchSource = "clear" | "input"; export type XySearchSemanticDom = "button" | "clear" | "icon" | "input" | "label" | "root" | "wrapper"; export interface XySearchSemanticProps { allowClear: boolean; disabled: boolean; hasButton: boolean; hasValue: boolean; loading: boolean; readonly: boolean; size: XySize; status?: XyControlStatus; variant: XyControlVariant; } export interface XySearchProps { allowClear?: boolean; autocomplete?: string; autofocus?: boolean; classNames?: XySearchClassNames; clearable?: boolean; disabled?: boolean; enterButton?: XySearchEnterButton; id?: string; label?: string; loading?: boolean; maxlength?: number; minlength?: number; modelValue?: string; name?: string; placeholder?: string; readonly?: boolean; searchIcon?: XyIconName; size?: XySize; status?: XyControlStatus; styles?: XySearchStyles; tabindex?: number; variant?: XyControlVariant; } export interface XySearchExpose { blur: () => void; focus: (options?: FocusOptions) => void; input: HTMLInputElement | undefined; select: () => void; } export interface XySearchInfo { source: XySearchSource; } export type XySearchClassNames = XySemanticClassNames; export type XySearchStyles = XySemanticStyles;