///
export interface AbstractQuickSearchProps {
style?: React.CSSProperties;
className?: string;
placeholder?: string | React.ReactNode;
prefix?: React.ReactNode;
notFoundContent?: React.ReactNode | null;
disabled?: boolean;
dropdownStyle?: React.CSSProperties;
listHeight?: number;
children?: React.ReactNode;
}
export interface LabeledValue {
tag?: string;
value?: string | number;
label?: string;
}
export interface TagsType {
value?: string;
tag?: string;
}
export interface nlpSearchResultType {
value?: string;
label?: string;
}
export declare type SelectValue = string | string[] | number | number[] | LabeledValue | LabeledValue[] | null;
export interface IQuickSearchProps extends AbstractQuickSearchProps {
value?: T;
desc?: string[];
tags?: TagsType[];
nlpSearch?: NlpSearchProps;
onBlur?: (value: T) => void;
onFocus?: () => void;
onChange?: (value: T, option: React.ReactElement | React.ReactElement[]) => void;
onSelect?: (value: T, option: React.ReactElement | React.ReactElement[]) => void;
onSearch?: React.ChangeEventHandler;
}
export interface OptionProps {
className?: string;
children?: React.ReactNode;
index?: number;
selectedIndex?: number;
disabled?: boolean;
searchValue?: string;
value?: string | number;
title?: string;
tag?: string;
isFormatVal?: boolean;
onChangeSelect?: (key: SelectValue) => void;
}
export interface NlpSearchProps {
isSupportNlpSearch?: boolean;
nlpSearchLoading?: boolean;
onNlpSearch?: () => void;
nlpSearchResult?: nlpSearchResultType;
}
export declare const SearchTypes: ["basis", "quick-search", "panel"];
export declare type SearchType = typeof SearchTypes[number];
export declare const BorderTypes: ["none", "underline", "bordered"];
export declare type BorderType = typeof BorderTypes[number];
export declare const SearchSizeTypes: ["large", "middle", "small"];
export declare type SearchSizeType = typeof SearchSizeTypes[number];
export interface ISearchProps extends IQuickSearchProps {
className?: string;
style?: React.CSSProperties;
type?: SearchType;
size?: SearchSizeType;
prefix?: boolean | React.ReactNode;
suffix?: boolean | React.ReactNode;
borderType?: BorderType;
onPressEnter?: (value: string, event: React.KeyboardEvent) => void;
onSearch?: React.ChangeEventHandler;
}