RangePicker.d.ts 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import type { DisabledTimes, PanelMode, PickerMode, RangeValue, EventValue } from './interface';
  2. import type { PickerBaseProps, PickerDateProps, PickerTimeProps } from './Picker';
  3. import type { SharedTimeProps } from './panels/TimePanel';
  4. import type { VueNode } from '../_util/type';
  5. import type { FocusEventHandler, MouseEventHandler } from '../_util/EventInterface';
  6. export declare type RangeType = 'start' | 'end';
  7. export declare type RangeInfo = {
  8. range: RangeType;
  9. };
  10. export declare type RangeDateRender<DateType> = (props: {
  11. current: DateType;
  12. today: DateType;
  13. info: RangeInfo;
  14. }) => VueNode;
  15. export declare type RangePickerSharedProps<DateType> = {
  16. id?: string;
  17. value?: RangeValue<DateType>;
  18. defaultValue?: RangeValue<DateType>;
  19. defaultPickerValue?: [DateType, DateType];
  20. placeholder?: [string, string];
  21. disabled?: boolean | [boolean, boolean];
  22. disabledTime?: (date: EventValue<DateType>, type: RangeType) => DisabledTimes;
  23. ranges?: Record<string, Exclude<RangeValue<DateType>, null> | (() => Exclude<RangeValue<DateType>, null>)>;
  24. separator?: VueNode;
  25. allowEmpty?: [boolean, boolean];
  26. mode?: [PanelMode, PanelMode];
  27. onChange?: (values: RangeValue<DateType>, formatString: [string, string]) => void;
  28. onCalendarChange?: (values: RangeValue<DateType>, formatString: [string, string], info: RangeInfo) => void;
  29. onPanelChange?: (values: RangeValue<DateType>, modes: [PanelMode, PanelMode]) => void;
  30. onFocus?: FocusEventHandler;
  31. onBlur?: FocusEventHandler;
  32. onMousedown?: MouseEventHandler;
  33. onMouseup?: MouseEventHandler;
  34. onMouseenter?: MouseEventHandler;
  35. onMouseleave?: MouseEventHandler;
  36. onClick?: MouseEventHandler;
  37. onOk?: (dates: RangeValue<DateType>) => void;
  38. direction?: 'ltr' | 'rtl';
  39. autocomplete?: string;
  40. /** @private Internal control of active picker. Do not use since it's private usage */
  41. activePickerIndex?: 0 | 1;
  42. dateRender?: RangeDateRender<DateType>;
  43. panelRender?: (originPanel: VueNode) => VueNode;
  44. };
  45. declare type OmitPickerProps<Props> = Omit<Props, 'value' | 'defaultValue' | 'defaultPickerValue' | 'placeholder' | 'disabled' | 'disabledTime' | 'showToday' | 'showTime' | 'mode' | 'onChange' | 'onSelect' | 'onPanelChange' | 'pickerValue' | 'onPickerValueChange' | 'onOk' | 'dateRender'>;
  46. declare type RangeShowTimeObject<DateType> = Omit<SharedTimeProps<DateType>, 'defaultValue'> & {
  47. defaultValue?: DateType[];
  48. };
  49. export declare type RangePickerBaseProps<DateType> = {} & RangePickerSharedProps<DateType> & OmitPickerProps<PickerBaseProps<DateType>>;
  50. export declare type RangePickerDateProps<DateType> = {
  51. showTime?: boolean | RangeShowTimeObject<DateType>;
  52. } & RangePickerSharedProps<DateType> & OmitPickerProps<PickerDateProps<DateType>>;
  53. export declare type RangePickerTimeProps<DateType> = {
  54. order?: boolean;
  55. } & RangePickerSharedProps<DateType> & OmitPickerProps<PickerTimeProps<DateType>>;
  56. export declare type RangePickerProps<DateType> = RangePickerBaseProps<DateType> | RangePickerDateProps<DateType> | RangePickerTimeProps<DateType>;
  57. declare type OmitType<DateType> = Omit<RangePickerBaseProps<DateType>, 'picker'> & Omit<RangePickerDateProps<DateType>, 'picker'> & Omit<RangePickerTimeProps<DateType>, 'picker'>;
  58. declare type MergedRangePickerProps<DateType> = {
  59. picker?: PickerMode;
  60. } & OmitType<DateType>;
  61. declare const InterRangerPicker: import("vue").DefineComponent<MergedRangePickerProps<any>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<MergedRangePickerProps<any>>, {
  62. defaultOpenValue?: any;
  63. }>;
  64. export default InterRangerPicker;