Picker.d.ts 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /**
  2. * Removed:
  3. * - getCalendarContainer: use `getPopupContainer` instead
  4. * - onOk
  5. *
  6. * New Feature:
  7. * - picker
  8. * - allowEmpty
  9. * - selectable
  10. *
  11. * Tips: Should add faq about `datetime` mode with `defaultValue`
  12. */
  13. import type { PickerPanelBaseProps, PickerPanelDateProps, PickerPanelTimeProps } from './PickerPanel';
  14. import type { CustomFormat, PickerMode } from './interface';
  15. import type { CSSProperties, HTMLAttributes } from 'vue';
  16. import type { FocusEventHandler, MouseEventHandler } from '../_util/EventInterface';
  17. import type { VueNode } from '../_util/type';
  18. import type { AlignType } from '../vc-align/interface';
  19. import type { SharedTimeProps } from './panels/TimePanel';
  20. export declare type PickerRefConfig = {
  21. focus: () => void;
  22. blur: () => void;
  23. };
  24. export declare type PickerSharedProps<DateType> = {
  25. dropdownClassName?: string;
  26. dropdownAlign?: AlignType;
  27. popupStyle?: CSSProperties;
  28. transitionName?: string;
  29. placeholder?: string;
  30. allowClear?: boolean;
  31. autofocus?: boolean;
  32. disabled?: boolean;
  33. tabindex?: number;
  34. open?: boolean;
  35. defaultOpen?: boolean;
  36. /** Make input readOnly to avoid popup keyboard in mobile */
  37. inputReadOnly?: boolean;
  38. id?: string;
  39. format?: string | CustomFormat<DateType> | (string | CustomFormat<DateType>)[];
  40. suffixIcon?: VueNode;
  41. clearIcon?: VueNode;
  42. prevIcon?: VueNode;
  43. nextIcon?: VueNode;
  44. superPrevIcon?: VueNode;
  45. superNextIcon?: VueNode;
  46. getPopupContainer?: (node: HTMLElement) => HTMLElement;
  47. panelRender?: (originPanel: VueNode) => VueNode;
  48. inputRender?: (props: HTMLAttributes) => VueNode;
  49. onChange?: (value: DateType | null, dateString: string) => void;
  50. onOpenChange?: (open: boolean) => void;
  51. onFocus?: FocusEventHandler;
  52. onBlur?: FocusEventHandler;
  53. onMousedown?: MouseEventHandler;
  54. onMouseup?: MouseEventHandler;
  55. onMouseenter?: MouseEventHandler;
  56. onMouseleave?: MouseEventHandler;
  57. onClick?: MouseEventHandler;
  58. onContextmenu?: MouseEventHandler;
  59. onKeydown?: (event: KeyboardEvent, preventDefault: () => void) => void;
  60. role?: string;
  61. name?: string;
  62. autocomplete?: string;
  63. direction?: 'ltr' | 'rtl';
  64. showToday?: boolean;
  65. showTime?: boolean | SharedTimeProps<DateType>;
  66. };
  67. declare type OmitPanelProps<Props> = Omit<Props, 'onChange' | 'hideHeader' | 'pickerValue' | 'onPickerValueChange'>;
  68. export declare type PickerBaseProps<DateType> = {} & PickerSharedProps<DateType> & OmitPanelProps<PickerPanelBaseProps<DateType>>;
  69. export declare type PickerDateProps<DateType> = {} & PickerSharedProps<DateType> & OmitPanelProps<PickerPanelDateProps<DateType>>;
  70. export declare type PickerTimeProps<DateType> = {
  71. picker: 'time';
  72. /**
  73. * @deprecated Please use `defaultValue` directly instead
  74. * since `defaultOpenValue` will confuse user of current value status
  75. */
  76. defaultOpenValue?: DateType;
  77. } & PickerSharedProps<DateType> & Omit<OmitPanelProps<PickerPanelTimeProps<DateType>>, 'format'>;
  78. export declare type PickerProps<DateType> = PickerBaseProps<DateType> | PickerDateProps<DateType> | PickerTimeProps<DateType>;
  79. declare type OmitType<DateType> = Omit<PickerBaseProps<DateType>, 'picker'> & Omit<PickerDateProps<DateType>, 'picker'> & Omit<PickerTimeProps<DateType>, 'picker'>;
  80. declare type MergedPickerProps<DateType> = {
  81. picker?: PickerMode;
  82. } & OmitType<DateType>;
  83. declare const _default: import("vue").DefineComponent<MergedPickerProps<any>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<MergedPickerProps<any>>, {
  84. value?: any;
  85. defaultValue?: any;
  86. defaultPickerValue?: any;
  87. defaultOpenValue?: any;
  88. }>;
  89. export default _default;