a4973ffc4608e5aa3713a54b5eee73c9d2f1049f4a505471fd8b2eea6b4512be3c344c364c86aba32b4530505e65e83912dc7876d60a56cf58dfd9b9848d52 1.4 KB

1234567891011121314151617181920212223242526272829
  1. import type { PanelDateRangeProps } from '../props/panel-date-range';
  2. import type { Dayjs } from 'dayjs';
  3. import type { ComputedRef, Ref } from 'vue';
  4. type CurrentView = 'date' | 'year' | 'month';
  5. type CurrentViewRef = {
  6. focus: () => void;
  7. };
  8. export type Emits = (event: 'pick' | 'set-picker-option' | 'calendar-change' | 'panel-change', ...args: any[]) => void;
  9. export declare const usePanelDateRange: (props: PanelDateRangeProps, emit: Emits, leftDate: Ref<Dayjs>, rightDate: Ref<Dayjs>) => {
  10. leftCurrentView: Ref<CurrentView>;
  11. rightCurrentView: Ref<CurrentView>;
  12. leftCurrentViewRef: Ref<CurrentViewRef | undefined>;
  13. rightCurrentViewRef: Ref<CurrentViewRef | undefined>;
  14. leftYear: ComputedRef<number>;
  15. rightYear: ComputedRef<number>;
  16. leftMonth: ComputedRef<number>;
  17. rightMonth: ComputedRef<number>;
  18. leftYearLabel: ComputedRef<string>;
  19. rightYearLabel: ComputedRef<string>;
  20. showLeftPicker: (view: "month" | "year") => Promise<void>;
  21. showRightPicker: (view: "month" | "year") => Promise<void>;
  22. handleLeftYearPick: (year: number) => Promise<void>;
  23. handleRightYearPick: (year: number) => Promise<void>;
  24. handleLeftMonthPick: (month: number) => Promise<void>;
  25. handleRightMonthPick: (month: number) => Promise<void>;
  26. handlePanelChange: (mode: "month" | "year") => void;
  27. adjustDateByView: (currentView: CurrentView, date: Dayjs, forward: boolean) => Dayjs;
  28. };
  29. export {};