index.d.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * Cursor rule:
  3. * 1. Only `showSearch` enabled
  4. * 2. Only `open` is `true`
  5. * 3. When typing, set `open` to `true` which hit rule of 2
  6. *
  7. * Accessibility:
  8. * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html
  9. */
  10. import type { CustomTagProps, DisplayValueType, Mode, RenderNode } from '../BaseSelect';
  11. import type { VueNode } from '../../_util/type';
  12. import type { ScrollTo } from '../../vc-virtual-list/List';
  13. export interface SelectorProps {
  14. id: string;
  15. prefixCls: string;
  16. showSearch?: boolean;
  17. open: boolean;
  18. values: DisplayValueType[];
  19. multiple?: boolean;
  20. mode: Mode;
  21. searchValue: string;
  22. activeValue: string;
  23. inputElement: VueNode;
  24. autofocus?: boolean;
  25. activeDescendantId?: string;
  26. tabindex?: number | string;
  27. disabled?: boolean;
  28. placeholder?: VueNode;
  29. removeIcon?: RenderNode;
  30. maxTagCount?: number | 'responsive';
  31. maxTagTextLength?: number;
  32. maxTagPlaceholder?: VueNode | ((omittedValues: DisplayValueType[]) => VueNode);
  33. tagRender?: (props: CustomTagProps) => VueNode;
  34. optionLabelRender?: (props: Record<string, any>) => VueNode;
  35. /** Check if `tokenSeparators` contains `\n` or `\r\n` */
  36. tokenWithEnter?: boolean;
  37. choiceTransitionName?: string;
  38. onToggleOpen: (open?: boolean) => void | any;
  39. /** `onSearch` returns go next step boolean to check if need do toggle open */
  40. onSearch: (searchText: string, fromTyping: boolean, isCompositing: boolean) => boolean;
  41. onSearchSubmit: (searchText: string) => void;
  42. onRemove: (value: DisplayValueType) => void;
  43. onInputKeyDown?: (e: KeyboardEvent) => void;
  44. /**
  45. * @private get real dom for trigger align.
  46. * This may be removed after React provides replacement of `findDOMNode`
  47. */
  48. domRef: () => HTMLDivElement;
  49. }
  50. export interface RefSelectorProps {
  51. focus: () => void;
  52. blur: () => void;
  53. scrollTo?: ScrollTo;
  54. }
  55. declare const Selector: import("vue").DefineComponent<SelectorProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<SelectorProps>, {}>;
  56. export default Selector;