UNPKG

ant-design-vue

Version:

An enterprise-class UI design language and Vue-based implementation

116 lines (115 loc) 4.08 kB
/** * Cursor rule: * 1. Only `showSearch` enabled * 2. Only `open` is `true` * 3. When typing, set `open` to `true` which hit rule of 2 * * Accessibility: * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html */ import type { LabelValueType, RawValueType, CustomTagProps } from '../interface/generator'; import type { RenderNode, Mode } from '../interface'; import type { VNodeChild } from 'vue'; import type { VueNode } from '../../_util/type'; import type { EventHandler } from '../../_util/EventInterface'; export interface SelectorProps { id: string; prefixCls: string; showSearch?: boolean; open: boolean; /** Display in the Selector value, it's not same as `value` prop */ values: LabelValueType[]; multiple: boolean; mode: Mode; searchValue: string; activeValue: string; inputElement: VueNode; autofocus?: boolean; accessibilityIndex: number; tabindex?: number | string; disabled?: boolean; placeholder?: VNodeChild; removeIcon?: RenderNode; maxTagCount?: number | 'responsive'; maxTagTextLength?: number; maxTagPlaceholder?: VNodeChild | ((omittedValues: LabelValueType[]) => VNodeChild); tagRender?: (props: CustomTagProps) => VNodeChild; /** Check if `tokenSeparators` contains `\n` or `\r\n` */ tokenWithEnter?: boolean; choiceTransitionName?: string; onToggleOpen: (open?: boolean) => void; /** `onSearch` returns go next step boolean to check if need do toggle open */ onSearch: (searchText: string, fromTyping: boolean, isCompositing: boolean) => boolean; onSearchSubmit: (searchText: string) => void; onSelect: (value: RawValueType, option: { selected: boolean; }) => void; onInputKeyDown?: EventHandler; /** * @private get real dom for trigger align. * This may be removed after React provides replacement of `findDOMNode` */ domRef: () => HTMLDivElement; } declare const Selector: import("vue").DefineComponent<SelectorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ id?: unknown; prefixCls?: unknown; showSearch?: unknown; open?: unknown; values?: unknown; multiple?: unknown; mode?: unknown; searchValue?: unknown; activeValue?: unknown; inputElement?: unknown; autofocus?: unknown; accessibilityIndex?: unknown; tabindex?: unknown; disabled?: unknown; placeholder?: unknown; removeIcon?: unknown; maxTagCount?: unknown; maxTagTextLength?: unknown; maxTagPlaceholder?: unknown; tagRender?: unknown; tokenWithEnter?: unknown; choiceTransitionName?: unknown; onToggleOpen?: unknown; onSearch?: unknown; onSearchSubmit?: unknown; onSelect?: unknown; onInputKeyDown?: unknown; domRef?: unknown; } & {} & { values?: Date | LabelValueType; prefixCls?: string; onSelect?: (value: RawValueType, option: { selected: boolean; }) => void; tabindex?: string | number; multiple?: boolean; open?: boolean; disabled?: boolean; mode?: Mode; id?: string; searchValue?: string; onToggleOpen?: void; inputElement?: VueNode; autofocus?: boolean; accessibilityIndex?: number; placeholder?: VNodeChild; showSearch?: boolean; onInputKeyDown?: void; removeIcon?: RenderNode; maxTagCount?: number | "responsive"; maxTagTextLength?: number; maxTagPlaceholder?: VNodeChild | ((omittedValues: LabelValueType[]) => VNodeChild); tagRender?: (props: CustomTagProps) => VNodeChild; choiceTransitionName?: string; activeValue?: string; tokenWithEnter?: boolean; onSearch?: (searchText: string, fromTyping: boolean, isCompositing: boolean) => boolean; onSearchSubmit?: (searchText: string) => void; domRef?: HTMLDivElement; }>, {}>; export default Selector;