123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584 |
- import type { Key, VueNode } from '../_util/type';
- import type { KeyboardEventHandler } from '../_util/EventInterface';
- import type { ScrollConfig, ScrollTo } from '../vc-virtual-list/List';
- import type { CSSProperties, ExtractPropTypes, PropType, VNode } from 'vue';
- import type { BaseOptionType } from './Select';
- import type { AlignType } from '../vc-trigger/interface';
- export declare type RenderNode = VueNode | ((props: any) => VueNode);
- export declare type RenderDOMFunc = (props: any) => HTMLElement;
- export declare type Mode = 'multiple' | 'tags' | 'combobox';
- export declare type Placement = 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
- export declare type RawValueType = string | number;
- export interface RefOptionListProps {
- onKeydown: KeyboardEventHandler;
- onKeyup: KeyboardEventHandler;
- scrollTo?: (index: number | ScrollConfig) => void;
- }
- export declare type CustomTagProps = {
- label: any;
- value: any;
- disabled: boolean;
- onClose: (event?: MouseEvent) => void;
- closable: boolean;
- option: BaseOptionType;
- };
- export interface DisplayValueType {
- key?: Key;
- value?: RawValueType;
- label?: any;
- disabled?: boolean;
- option?: BaseOptionType;
- }
- export declare type BaseSelectRef = {
- focus: () => void;
- blur: () => void;
- scrollTo: ScrollTo;
- };
- declare const baseSelectPrivateProps: () => {
- prefixCls: StringConstructor;
- id: StringConstructor;
- omitDomProps: PropType<string[]>;
- displayValues: PropType<DisplayValueType[]>;
- onDisplayValuesChange: PropType<(values: DisplayValueType[], info: {
- type: 'add' | 'remove' | 'clear';
- values: DisplayValueType[];
- }) => void>;
- /** Current dropdown list active item string value */
- activeValue: StringConstructor;
- /** Link search input with target element */
- activeDescendantId: StringConstructor;
- onActiveValueChange: PropType<(value: string | null) => void>;
- searchValue: StringConstructor;
- /** Trigger onSearch, return false to prevent trigger open event */
- onSearch: PropType<(searchValue: string, info: {
- source: 'typing' | 'effect' | 'submit' | 'blur';
- }) => void>;
- /** Trigger when search text match the `tokenSeparators`. Will provide split content */
- onSearchSplit: PropType<(words: string[]) => void>;
- maxLength: NumberConstructor;
- OptionList: import("vue-types").VueTypeValidableDef<any>;
- /** Tell if provided `options` is empty */
- emptyOptions: BooleanConstructor;
- };
- export declare type DropdownObject = {
- menuNode?: VueNode;
- props?: Record<string, any>;
- };
- export declare type DropdownRender = (opt?: DropdownObject) => VueNode;
- export declare const baseSelectPropsWithoutPrivate: () => {
- showSearch: {
- type: BooleanConstructor;
- default: any;
- };
- tagRender: {
- type: PropType<(props: CustomTagProps) => any>;
- };
- optionLabelRender: {
- type: PropType<(option: Record<string, any>) => any>;
- };
- direction: {
- type: PropType<"ltr" | "rtl">;
- };
- tabindex: NumberConstructor;
- autofocus: BooleanConstructor;
- notFoundContent: import("vue-types").VueTypeValidableDef<any>;
- placeholder: import("vue-types").VueTypeValidableDef<any>;
- onClear: PropType<() => void>;
- choiceTransitionName: StringConstructor;
- mode: PropType<Mode>;
- disabled: {
- type: BooleanConstructor;
- default: any;
- };
- loading: {
- type: BooleanConstructor;
- default: any;
- };
- open: {
- type: BooleanConstructor;
- default: any;
- };
- defaultOpen: {
- type: BooleanConstructor;
- default: any;
- };
- onDropdownVisibleChange: {
- type: PropType<(open: boolean) => void>;
- };
- /** @private Internal usage. Do not use in your production. */
- getInputElement: {
- type: PropType<() => any>;
- };
- /** @private Internal usage. Do not use in your production. */
- getRawInputElement: {
- type: PropType<() => any>;
- };
- maxTagTextLength: NumberConstructor;
- maxTagCount: {
- type: PropType<number | "responsive">;
- };
- maxTagPlaceholder: import("vue-types").VueTypeValidableDef<any>;
- tokenSeparators: {
- type: PropType<string[]>;
- };
- allowClear: {
- type: BooleanConstructor;
- default: any;
- };
- showArrow: {
- type: BooleanConstructor;
- default: any;
- };
- inputIcon: import("vue-types").VueTypeValidableDef<any>;
- /** Clear all icon */
- clearIcon: import("vue-types").VueTypeValidableDef<any>;
- /** Selector remove icon */
- removeIcon: import("vue-types").VueTypeValidableDef<any>;
- animation: StringConstructor;
- transitionName: StringConstructor;
- dropdownStyle: {
- type: PropType<CSSProperties>;
- };
- dropdownClassName: StringConstructor;
- dropdownMatchSelectWidth: {
- type: PropType<number | boolean>;
- default: any;
- };
- dropdownRender: {
- type: PropType<DropdownRender>;
- };
- dropdownAlign: PropType<AlignType>;
- placement: {
- type: PropType<Placement>;
- };
- getPopupContainer: {
- type: PropType<RenderDOMFunc>;
- };
- showAction: {
- type: PropType<("click" | "focus")[]>;
- };
- onBlur: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onFocus: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onKeyup: PropType<(e: KeyboardEvent) => void>;
- onKeydown: PropType<(e: KeyboardEvent) => void>;
- onMousedown: PropType<(e: MouseEvent) => void>;
- onPopupScroll: PropType<(e: UIEvent) => void>;
- onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
- onMouseenter: PropType<(e: MouseEvent) => void>;
- onMouseleave: PropType<(e: MouseEvent) => void>;
- onClick: PropType<(e: MouseEvent) => void>;
- };
- declare const baseSelectProps: () => {
- showSearch: {
- type: BooleanConstructor;
- default: any;
- };
- tagRender: {
- type: PropType<(props: CustomTagProps) => any>;
- };
- optionLabelRender: {
- type: PropType<(option: Record<string, any>) => any>;
- };
- direction: {
- type: PropType<"ltr" | "rtl">;
- };
- tabindex: NumberConstructor;
- autofocus: BooleanConstructor;
- notFoundContent: import("vue-types").VueTypeValidableDef<any>;
- placeholder: import("vue-types").VueTypeValidableDef<any>;
- onClear: PropType<() => void>;
- choiceTransitionName: StringConstructor;
- mode: PropType<Mode>;
- disabled: {
- type: BooleanConstructor;
- default: any;
- };
- loading: {
- type: BooleanConstructor;
- default: any;
- };
- open: {
- type: BooleanConstructor;
- default: any;
- };
- defaultOpen: {
- type: BooleanConstructor;
- default: any;
- };
- onDropdownVisibleChange: {
- type: PropType<(open: boolean) => void>;
- };
- /** @private Internal usage. Do not use in your production. */
- getInputElement: {
- type: PropType<() => any>;
- };
- /** @private Internal usage. Do not use in your production. */
- getRawInputElement: {
- type: PropType<() => any>;
- };
- maxTagTextLength: NumberConstructor;
- maxTagCount: {
- type: PropType<number | "responsive">;
- };
- maxTagPlaceholder: import("vue-types").VueTypeValidableDef<any>;
- tokenSeparators: {
- type: PropType<string[]>;
- };
- allowClear: {
- type: BooleanConstructor;
- default: any;
- };
- showArrow: {
- type: BooleanConstructor;
- default: any;
- };
- inputIcon: import("vue-types").VueTypeValidableDef<any>;
- /** Clear all icon */
- clearIcon: import("vue-types").VueTypeValidableDef<any>;
- /** Selector remove icon */
- removeIcon: import("vue-types").VueTypeValidableDef<any>;
- animation: StringConstructor;
- transitionName: StringConstructor;
- dropdownStyle: {
- type: PropType<CSSProperties>;
- };
- dropdownClassName: StringConstructor;
- dropdownMatchSelectWidth: {
- type: PropType<number | boolean>;
- default: any;
- };
- dropdownRender: {
- type: PropType<DropdownRender>;
- };
- dropdownAlign: PropType<AlignType>;
- placement: {
- type: PropType<Placement>;
- };
- getPopupContainer: {
- type: PropType<RenderDOMFunc>;
- };
- showAction: {
- type: PropType<("click" | "focus")[]>;
- };
- onBlur: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onFocus: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onKeyup: PropType<(e: KeyboardEvent) => void>;
- onKeydown: PropType<(e: KeyboardEvent) => void>;
- onMousedown: PropType<(e: MouseEvent) => void>;
- onPopupScroll: PropType<(e: UIEvent) => void>;
- onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
- onMouseenter: PropType<(e: MouseEvent) => void>;
- onMouseleave: PropType<(e: MouseEvent) => void>;
- onClick: PropType<(e: MouseEvent) => void>;
- prefixCls: StringConstructor;
- id: StringConstructor;
- omitDomProps: PropType<string[]>;
- displayValues: PropType<DisplayValueType[]>;
- onDisplayValuesChange: PropType<(values: DisplayValueType[], info: {
- type: 'add' | 'remove' | 'clear';
- values: DisplayValueType[];
- }) => void>;
- /** Current dropdown list active item string value */
- activeValue: StringConstructor;
- /** Link search input with target element */
- activeDescendantId: StringConstructor;
- onActiveValueChange: PropType<(value: string | null) => void>;
- searchValue: StringConstructor;
- /** Trigger onSearch, return false to prevent trigger open event */
- onSearch: PropType<(searchValue: string, info: {
- source: 'typing' | 'effect' | 'submit' | 'blur';
- }) => void>;
- /** Trigger when search text match the `tokenSeparators`. Will provide split content */
- onSearchSplit: PropType<(words: string[]) => void>;
- maxLength: NumberConstructor;
- OptionList: import("vue-types").VueTypeValidableDef<any>;
- /** Tell if provided `options` is empty */
- emptyOptions: BooleanConstructor;
- };
- export declare type BaseSelectPrivateProps = Partial<ExtractPropTypes<ReturnType<typeof baseSelectPrivateProps>>>;
- export declare type BaseSelectProps = Partial<ExtractPropTypes<ReturnType<typeof baseSelectProps>>>;
- export declare type BaseSelectPropsWithoutPrivate = Omit<BaseSelectProps, keyof BaseSelectPrivateProps>;
- export declare function isMultiple(mode: Mode): boolean;
- declare const _default: import("vue").DefineComponent<{
- showSearch: {
- type: BooleanConstructor;
- default: any;
- };
- tagRender: {
- type: PropType<(props: CustomTagProps) => any>;
- };
- optionLabelRender: {
- type: PropType<(option: Record<string, any>) => any>;
- };
- direction: {
- type: PropType<"ltr" | "rtl">;
- };
- tabindex: NumberConstructor;
- autofocus: BooleanConstructor;
- notFoundContent: import("vue-types").VueTypeValidableDef<any>;
- placeholder: import("vue-types").VueTypeValidableDef<any>;
- onClear: PropType<() => void>;
- choiceTransitionName: StringConstructor;
- mode: PropType<Mode>;
- disabled: {
- type: BooleanConstructor;
- default: any;
- };
- loading: {
- type: BooleanConstructor;
- default: any;
- };
- open: {
- type: BooleanConstructor;
- default: any;
- };
- defaultOpen: {
- type: BooleanConstructor;
- default: any;
- };
- onDropdownVisibleChange: {
- type: PropType<(open: boolean) => void>;
- };
- /** @private Internal usage. Do not use in your production. */
- getInputElement: {
- type: PropType<() => any>;
- };
- /** @private Internal usage. Do not use in your production. */
- getRawInputElement: {
- type: PropType<() => any>;
- };
- maxTagTextLength: NumberConstructor;
- maxTagCount: {
- type: PropType<number | "responsive">;
- };
- maxTagPlaceholder: import("vue-types").VueTypeValidableDef<any>;
- tokenSeparators: {
- type: PropType<string[]>;
- };
- allowClear: {
- type: BooleanConstructor;
- default: any;
- };
- showArrow: {
- type: BooleanConstructor;
- default: any;
- };
- inputIcon: import("vue-types").VueTypeValidableDef<any>;
- /** Clear all icon */
- clearIcon: import("vue-types").VueTypeValidableDef<any>;
- /** Selector remove icon */
- removeIcon: import("vue-types").VueTypeValidableDef<any>;
- animation: StringConstructor;
- transitionName: StringConstructor;
- dropdownStyle: {
- type: PropType<CSSProperties>;
- };
- dropdownClassName: StringConstructor;
- dropdownMatchSelectWidth: {
- type: PropType<number | boolean>;
- default: any;
- };
- dropdownRender: {
- type: PropType<DropdownRender>;
- };
- dropdownAlign: PropType<AlignType>;
- placement: {
- type: PropType<Placement>;
- };
- getPopupContainer: {
- type: PropType<RenderDOMFunc>;
- };
- showAction: {
- type: PropType<("click" | "focus")[]>;
- };
- onBlur: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onFocus: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onKeyup: PropType<(e: KeyboardEvent) => void>;
- onKeydown: PropType<(e: KeyboardEvent) => void>;
- onMousedown: PropType<(e: MouseEvent) => void>;
- onPopupScroll: PropType<(e: UIEvent) => void>;
- onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
- onMouseenter: PropType<(e: MouseEvent) => void>;
- onMouseleave: PropType<(e: MouseEvent) => void>;
- onClick: PropType<(e: MouseEvent) => void>;
- prefixCls: StringConstructor;
- id: StringConstructor;
- omitDomProps: PropType<string[]>;
- displayValues: PropType<DisplayValueType[]>;
- onDisplayValuesChange: PropType<(values: DisplayValueType[], info: {
- type: "clear" | "add" | "remove";
- values: DisplayValueType[];
- }) => void>;
- /** Current dropdown list active item string value */
- activeValue: StringConstructor;
- /** Link search input with target element */
- activeDescendantId: StringConstructor;
- onActiveValueChange: PropType<(value: string) => void>;
- searchValue: StringConstructor;
- /** Trigger onSearch, return false to prevent trigger open event */
- onSearch: PropType<(searchValue: string, info: {
- source: "submit" | "blur" | "typing" | "effect";
- }) => void>;
- /** Trigger when search text match the `tokenSeparators`. Will provide split content */
- onSearchSplit: PropType<(words: string[]) => void>;
- maxLength: NumberConstructor;
- OptionList: import("vue-types").VueTypeValidableDef<any>;
- /** Tell if provided `options` is empty */
- emptyOptions: BooleanConstructor;
- }, () => JSX.Element | VNode<import("vue").RendererNode, import("vue").RendererElement, {
- [key: string]: any;
- }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
- showSearch: {
- type: BooleanConstructor;
- default: any;
- };
- tagRender: {
- type: PropType<(props: CustomTagProps) => any>;
- };
- optionLabelRender: {
- type: PropType<(option: Record<string, any>) => any>;
- };
- direction: {
- type: PropType<"ltr" | "rtl">;
- };
- tabindex: NumberConstructor;
- autofocus: BooleanConstructor;
- notFoundContent: import("vue-types").VueTypeValidableDef<any>;
- placeholder: import("vue-types").VueTypeValidableDef<any>;
- onClear: PropType<() => void>;
- choiceTransitionName: StringConstructor;
- mode: PropType<Mode>;
- disabled: {
- type: BooleanConstructor;
- default: any;
- };
- loading: {
- type: BooleanConstructor;
- default: any;
- };
- open: {
- type: BooleanConstructor;
- default: any;
- };
- defaultOpen: {
- type: BooleanConstructor;
- default: any;
- };
- onDropdownVisibleChange: {
- type: PropType<(open: boolean) => void>;
- };
- /** @private Internal usage. Do not use in your production. */
- getInputElement: {
- type: PropType<() => any>;
- };
- /** @private Internal usage. Do not use in your production. */
- getRawInputElement: {
- type: PropType<() => any>;
- };
- maxTagTextLength: NumberConstructor;
- maxTagCount: {
- type: PropType<number | "responsive">;
- };
- maxTagPlaceholder: import("vue-types").VueTypeValidableDef<any>;
- tokenSeparators: {
- type: PropType<string[]>;
- };
- allowClear: {
- type: BooleanConstructor;
- default: any;
- };
- showArrow: {
- type: BooleanConstructor;
- default: any;
- };
- inputIcon: import("vue-types").VueTypeValidableDef<any>;
- /** Clear all icon */
- clearIcon: import("vue-types").VueTypeValidableDef<any>;
- /** Selector remove icon */
- removeIcon: import("vue-types").VueTypeValidableDef<any>;
- animation: StringConstructor;
- transitionName: StringConstructor;
- dropdownStyle: {
- type: PropType<CSSProperties>;
- };
- dropdownClassName: StringConstructor;
- dropdownMatchSelectWidth: {
- type: PropType<number | boolean>;
- default: any;
- };
- dropdownRender: {
- type: PropType<DropdownRender>;
- };
- dropdownAlign: PropType<AlignType>;
- placement: {
- type: PropType<Placement>;
- };
- getPopupContainer: {
- type: PropType<RenderDOMFunc>;
- };
- showAction: {
- type: PropType<("click" | "focus")[]>;
- };
- onBlur: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onFocus: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onKeyup: PropType<(e: KeyboardEvent) => void>;
- onKeydown: PropType<(e: KeyboardEvent) => void>;
- onMousedown: PropType<(e: MouseEvent) => void>;
- onPopupScroll: PropType<(e: UIEvent) => void>;
- onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
- onMouseenter: PropType<(e: MouseEvent) => void>;
- onMouseleave: PropType<(e: MouseEvent) => void>;
- onClick: PropType<(e: MouseEvent) => void>;
- prefixCls: StringConstructor;
- id: StringConstructor;
- omitDomProps: PropType<string[]>;
- displayValues: PropType<DisplayValueType[]>;
- onDisplayValuesChange: PropType<(values: DisplayValueType[], info: {
- type: "clear" | "add" | "remove";
- values: DisplayValueType[];
- }) => void>;
- /** Current dropdown list active item string value */
- activeValue: StringConstructor;
- /** Link search input with target element */
- activeDescendantId: StringConstructor;
- onActiveValueChange: PropType<(value: string) => void>;
- searchValue: StringConstructor;
- /** Trigger onSearch, return false to prevent trigger open event */
- onSearch: PropType<(searchValue: string, info: {
- source: "submit" | "blur" | "typing" | "effect";
- }) => void>;
- /** Trigger when search text match the `tokenSeparators`. Will provide split content */
- onSearchSplit: PropType<(words: string[]) => void>;
- maxLength: NumberConstructor;
- OptionList: import("vue-types").VueTypeValidableDef<any>;
- /** Tell if provided `options` is empty */
- emptyOptions: BooleanConstructor;
- }>>, {
- open: boolean;
- disabled: boolean;
- dropdownMatchSelectWidth: number | boolean;
- autofocus: boolean;
- loading: boolean;
- showSearch: boolean;
- defaultOpen: boolean;
- allowClear: boolean;
- showArrow: boolean;
- emptyOptions: boolean;
- }>;
- export default _default;
|