d505a47d9243723d19ba4097a546159239f5d82df77535454fda487087edd7e5cebabea6590508db13751b1a51a4b13f1ad2abc9542bb94cc49119b0f46867 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. import dayjs from 'dayjs';
  2. import type { Ref } from 'vue';
  3. import type { Dayjs } from 'dayjs';
  4. import type { PanelRangeSharedProps, RangeState } from '../props/shared';
  5. import type { DefaultValue } from '../utils';
  6. type UseRangePickerProps = {
  7. sortDates: (minDate: Dayjs | undefined, maxDate: Dayjs | undefined) => void;
  8. defaultValue: Ref<DefaultValue>;
  9. defaultTime?: Ref<DefaultValue>;
  10. leftDate: Ref<Dayjs>;
  11. rightDate: Ref<Dayjs>;
  12. step?: number;
  13. unit: 'month' | 'year';
  14. };
  15. export declare const useRangePicker: (props: PanelRangeSharedProps, { defaultValue, defaultTime, leftDate, rightDate, step, unit, sortDates, }: UseRangePickerProps) => {
  16. minDate: Ref<dayjs.Dayjs | undefined>;
  17. maxDate: Ref<dayjs.Dayjs | undefined>;
  18. rangeState: Ref<{
  19. endDate: {
  20. clone: () => Dayjs;
  21. isValid: () => boolean;
  22. year: {
  23. (): number;
  24. (value: number): Dayjs;
  25. };
  26. month: {
  27. (): number;
  28. (value: number): Dayjs;
  29. };
  30. date: {
  31. (): number;
  32. (value: number): Dayjs;
  33. };
  34. day: {
  35. (): 0 | 1 | 2 | 3 | 4 | 5 | 6;
  36. (value: number): Dayjs;
  37. };
  38. hour: {
  39. (): number;
  40. (value: number): Dayjs;
  41. };
  42. minute: {
  43. (): number;
  44. (value: number): Dayjs;
  45. };
  46. second: {
  47. (): number;
  48. (value: number): Dayjs;
  49. };
  50. millisecond: {
  51. (): number;
  52. (value: number): Dayjs;
  53. };
  54. set: (unit: dayjs.UnitType, value: number) => Dayjs;
  55. get: (unit: dayjs.UnitType) => number;
  56. add: (value: number, unit?: dayjs.ManipulateType) => Dayjs;
  57. subtract: (value: number, unit?: dayjs.ManipulateType) => Dayjs;
  58. startOf: (unit: dayjs.OpUnitType) => Dayjs;
  59. endOf: (unit: dayjs.OpUnitType) => Dayjs;
  60. format: (template?: string) => string;
  61. diff: (date?: dayjs.ConfigType, unit?: dayjs.QUnitType | dayjs.OpUnitType, float?: boolean) => number;
  62. valueOf: () => number;
  63. unix: () => number;
  64. daysInMonth: () => number;
  65. toDate: () => Date;
  66. toJSON: () => string;
  67. toISOString: () => string;
  68. toString: () => string;
  69. utcOffset: () => number;
  70. isBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  71. isSame: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  72. isAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  73. locale: {
  74. (): string;
  75. (preset: string | ILocale, object?: Partial<ILocale>): Dayjs;
  76. };
  77. localeData: () => dayjs.InstanceLocaleDataReturn;
  78. week: {
  79. (): number;
  80. (value: number): Dayjs;
  81. };
  82. weekYear: () => number;
  83. dayOfYear: {
  84. (): number;
  85. (value: number): Dayjs;
  86. };
  87. isSameOrAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  88. isSameOrBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
  89. } | null;
  90. selecting: boolean;
  91. }>;
  92. lang: Ref<string>;
  93. ppNs: {
  94. namespace: import("vue").ComputedRef<string>;
  95. b: (blockSuffix?: string) => string;
  96. e: (element?: string) => string;
  97. m: (modifier?: string) => string;
  98. be: (blockSuffix?: string, element?: string) => string;
  99. em: (element?: string, modifier?: string) => string;
  100. bm: (blockSuffix?: string, modifier?: string) => string;
  101. bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
  102. is: {
  103. (name: string, state: boolean | undefined): string;
  104. (name: string): string;
  105. };
  106. cssVar: (object: Record<string, string>) => Record<string, string>;
  107. cssVarName: (name: string) => string;
  108. cssVarBlock: (object: Record<string, string>) => Record<string, string>;
  109. cssVarBlockName: (name: string) => string;
  110. };
  111. drpNs: {
  112. namespace: import("vue").ComputedRef<string>;
  113. b: (blockSuffix?: string) => string;
  114. e: (element?: string) => string;
  115. m: (modifier?: string) => string;
  116. be: (blockSuffix?: string, element?: string) => string;
  117. em: (element?: string, modifier?: string) => string;
  118. bm: (blockSuffix?: string, modifier?: string) => string;
  119. bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
  120. is: {
  121. (name: string, state: boolean | undefined): string;
  122. (name: string): string;
  123. };
  124. cssVar: (object: Record<string, string>) => Record<string, string>;
  125. cssVarName: (name: string) => string;
  126. cssVarBlock: (object: Record<string, string>) => Record<string, string>;
  127. cssVarBlockName: (name: string) => string;
  128. };
  129. handleChangeRange: (val: RangeState) => void;
  130. handleRangeConfirm: (visible?: boolean) => void;
  131. handleShortcutClick: (shortcut: import("./use-shortcut").Shortcut) => void;
  132. onSelect: (selecting: boolean) => void;
  133. parseValue: (parsedValue: PanelRangeSharedProps["parsedValue"]) => void;
  134. t: import("element-plus/es/hooks").Translator;
  135. };
  136. export {};