ep-craft 0.1.25 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +8 -0
  2. package/dist/_virtual/advancedFormat.js +4 -0
  3. package/dist/_virtual/customParseFormat.js +4 -0
  4. package/dist/_virtual/dayOfYear.js +4 -0
  5. package/dist/_virtual/isSameOrAfter.js +4 -0
  6. package/dist/_virtual/isSameOrBefore.js +4 -0
  7. package/dist/_virtual/localeData.js +4 -0
  8. package/dist/_virtual/weekOfYear.js +4 -0
  9. package/dist/_virtual/weekYear.js +4 -0
  10. package/dist/components/button/index.js +2 -1
  11. package/dist/components/date-picker/index.d.ts +4 -2
  12. package/dist/components/date-picker/index.js +9 -4
  13. package/dist/components/date-picker/src/date-picker.d.ts +435 -0
  14. package/dist/components/date-picker/src/date-picker.js +68 -0
  15. package/dist/components/date-picker/src/instance.d.ts +8 -0
  16. package/dist/components/date-picker/src/props.d.ts +205 -0
  17. package/dist/components/date-picker/src/props.js +21 -0
  18. package/dist/components/date-picker-panel/index.d.ts +8 -0
  19. package/dist/components/date-picker-panel/index.js +11 -0
  20. package/dist/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +187 -0
  21. package/dist/components/date-picker-panel/src/composables/use-basic-date-table.js +195 -0
  22. package/dist/components/date-picker-panel/src/composables/use-month-range-header.d.ts +16 -0
  23. package/dist/components/date-picker-panel/src/composables/use-month-range-header.js +41 -0
  24. package/dist/components/date-picker-panel/src/composables/use-panel-date-range.d.ts +29 -0
  25. package/dist/components/date-picker-panel/src/composables/use-panel-date-range.js +86 -0
  26. package/dist/components/date-picker-panel/src/composables/use-range-picker.d.ts +209 -0
  27. package/dist/components/date-picker-panel/src/composables/use-range-picker.js +102 -0
  28. package/dist/components/date-picker-panel/src/composables/use-shortcut.d.ts +9 -0
  29. package/dist/components/date-picker-panel/src/composables/use-shortcut.js +27 -0
  30. package/dist/components/date-picker-panel/src/composables/use-year-range-header.d.ts +16 -0
  31. package/dist/components/date-picker-panel/src/composables/use-year-range-header.js +35 -0
  32. package/dist/components/date-picker-panel/src/constants.d.ts +9 -0
  33. package/dist/components/date-picker-panel/src/constants.js +5 -0
  34. package/dist/components/date-picker-panel/src/date-picker-com/basic-cell-render.d.ts +18 -0
  35. package/dist/components/date-picker-panel/src/date-picker-com/basic-cell-render.js +39 -0
  36. package/dist/components/date-picker-panel/src/date-picker-com/basic-date-table.vue.d.ts +100 -0
  37. package/dist/components/date-picker-panel/src/date-picker-com/basic-date-table.vue.js +92 -0
  38. package/dist/components/date-picker-panel/src/date-picker-com/basic-date-table2.vue.js +4 -0
  39. package/dist/components/date-picker-panel/src/date-picker-com/basic-month-table.vue.d.ts +106 -0
  40. package/dist/components/date-picker-panel/src/date-picker-com/basic-month-table.vue.js +164 -0
  41. package/dist/components/date-picker-panel/src/date-picker-com/basic-month-table2.vue.js +4 -0
  42. package/dist/components/date-picker-panel/src/date-picker-com/basic-year-table.vue.d.ts +106 -0
  43. package/dist/components/date-picker-panel/src/date-picker-com/basic-year-table.vue.js +153 -0
  44. package/dist/components/date-picker-panel/src/date-picker-com/basic-year-table2.vue.js +4 -0
  45. package/dist/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +89 -0
  46. package/dist/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.js +550 -0
  47. package/dist/components/date-picker-panel/src/date-picker-com/panel-date-pick2.vue.js +4 -0
  48. package/dist/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +104 -0
  49. package/dist/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.js +698 -0
  50. package/dist/components/date-picker-panel/src/date-picker-com/panel-date-range2.vue.js +4 -0
  51. package/dist/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +59 -0
  52. package/dist/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.js +255 -0
  53. package/dist/components/date-picker-panel/src/date-picker-com/panel-month-range2.vue.js +4 -0
  54. package/dist/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +59 -0
  55. package/dist/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.js +268 -0
  56. package/dist/components/date-picker-panel/src/date-picker-com/panel-year-range2.vue.js +4 -0
  57. package/dist/components/date-picker-panel/src/date-picker-panel.d.ts +143 -0
  58. package/dist/components/date-picker-panel/src/date-picker-panel.js +90 -0
  59. package/dist/components/date-picker-panel/src/instance.d.ts +2 -0
  60. package/dist/components/date-picker-panel/src/panel-utils.d.ts +414 -0
  61. package/dist/components/date-picker-panel/src/panel-utils.js +20 -0
  62. package/dist/components/date-picker-panel/src/props/basic-cell.d.ts +12 -0
  63. package/dist/components/date-picker-panel/src/props/basic-cell.js +14 -0
  64. package/dist/components/date-picker-panel/src/props/basic-date-table.d.ts +66 -0
  65. package/dist/components/date-picker-panel/src/props/basic-date-table.js +16 -0
  66. package/dist/components/date-picker-panel/src/props/basic-month-table.d.ts +47 -0
  67. package/dist/components/date-picker-panel/src/props/basic-month-table.js +14 -0
  68. package/dist/components/date-picker-panel/src/props/basic-year-table.d.ts +47 -0
  69. package/dist/components/date-picker-panel/src/props/basic-year-table.js +14 -0
  70. package/dist/components/date-picker-panel/src/props/date-picker-panel.d.ts +66 -0
  71. package/dist/components/date-picker-panel/src/props/date-picker-panel.js +129 -0
  72. package/dist/components/date-picker-panel/src/props/panel-date-pick.d.ts +29 -0
  73. package/dist/components/date-picker-panel/src/props/panel-date-pick.js +24 -0
  74. package/dist/components/date-picker-panel/src/props/panel-date-range.d.ts +29 -0
  75. package/dist/components/date-picker-panel/src/props/panel-date-range.js +14 -0
  76. package/dist/components/date-picker-panel/src/props/panel-month-range.d.ts +19 -0
  77. package/dist/components/date-picker-panel/src/props/panel-month-range.js +18 -0
  78. package/dist/components/date-picker-panel/src/props/panel-year-range.d.ts +19 -0
  79. package/dist/components/date-picker-panel/src/props/panel-year-range.js +18 -0
  80. package/dist/components/date-picker-panel/src/props/shared.d.ts +97 -0
  81. package/dist/components/date-picker-panel/src/props/shared.js +96 -0
  82. package/dist/components/date-picker-panel/src/types.d.ts +22 -0
  83. package/dist/components/date-picker-panel/src/utils.d.ts +38 -0
  84. package/dist/components/date-picker-panel/src/utils.js +84 -0
  85. package/dist/components/index.d.ts +1 -0
  86. package/dist/components/index.js +142 -140
  87. package/dist/components/input/EpInput.vue.d.ts +3 -1
  88. package/dist/components/input/EpInput.vue.js +79 -78
  89. package/dist/components/input/index.js +1 -0
  90. package/dist/components/tabs/tabs.d.ts +1 -1
  91. package/dist/components/time-picker/index.d.ts +15 -2
  92. package/dist/components/time-picker/index.js +32 -4
  93. package/dist/components/time-picker/src/common/picker-range-trigger.vue.d.ts +92 -0
  94. package/dist/components/time-picker/src/common/picker-range-trigger.vue.js +141 -0
  95. package/dist/components/time-picker/src/common/picker-range-trigger2.vue.js +4 -0
  96. package/dist/components/time-picker/src/common/picker.vue.d.ts +510 -0
  97. package/dist/components/time-picker/src/common/picker.vue.js +463 -0
  98. package/dist/components/time-picker/src/common/picker2.vue.js +4 -0
  99. package/dist/components/time-picker/src/common/props.d.ts +280 -0
  100. package/dist/components/time-picker/src/common/props.js +282 -0
  101. package/dist/components/time-picker/src/composables/use-common-picker.d.ts +42 -0
  102. package/dist/components/time-picker/src/composables/use-common-picker.js +62 -0
  103. package/dist/components/time-picker/src/composables/use-time-panel.d.ts +13 -0
  104. package/dist/components/time-picker/src/composables/use-time-panel.js +60 -0
  105. package/dist/components/time-picker/src/composables/use-time-picker.d.ts +300 -0
  106. package/dist/components/time-picker/src/composables/use-time-picker.js +45 -0
  107. package/dist/components/time-picker/src/constants.d.ts +23 -0
  108. package/dist/components/time-picker/src/constants.js +23 -0
  109. package/dist/components/time-picker/src/props/basic-time-spinner.d.ts +39 -0
  110. package/dist/components/time-picker/src/props/basic-time-spinner.js +31 -0
  111. package/dist/components/time-picker/src/props/panel-time-picker.d.ts +16 -0
  112. package/dist/components/time-picker/src/props/panel-time-picker.js +17 -0
  113. package/dist/components/time-picker/src/props/panel-time-range.d.ts +15 -0
  114. package/dist/components/time-picker/src/props/panel-time-range.js +16 -0
  115. package/dist/components/time-picker/src/props/shared.d.ts +31 -0
  116. package/dist/components/time-picker/src/props/shared.js +40 -0
  117. package/dist/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +82 -0
  118. package/dist/components/time-picker/src/time-picker-com/basic-time-spinner.vue.js +253 -0
  119. package/dist/components/time-picker/src/time-picker-com/basic-time-spinner2.vue.js +4 -0
  120. package/dist/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +37 -0
  121. package/dist/components/time-picker/src/time-picker-com/panel-time-pick.vue.js +127 -0
  122. package/dist/components/time-picker/src/time-picker-com/panel-time-pick2.vue.js +4 -0
  123. package/dist/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +35 -0
  124. package/dist/components/time-picker/src/time-picker-com/panel-time-range.vue.js +206 -0
  125. package/dist/components/time-picker/src/time-picker-com/panel-time-range2.vue.js +4 -0
  126. package/dist/components/time-picker/src/time-picker.d.ts +440 -0
  127. package/dist/components/time-picker/src/time-picker.js +68 -0
  128. package/dist/components/time-picker/src/utils.d.ts +14 -0
  129. package/dist/components/time-picker/src/utils.js +40 -0
  130. package/dist/constants/date.js +17 -0
  131. package/dist/directives/repeat-click/index.js +33 -0
  132. package/dist/ep-craft.js +150 -148
  133. package/dist/hooks/use-empty-values/index.js +14 -14
  134. package/dist/index.css +1 -1
  135. package/dist/node_modules/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/advancedFormat.js +54 -0
  136. package/dist/node_modules/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/customParseFormat.js +127 -0
  137. package/dist/node_modules/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/dayOfYear.js +19 -0
  138. package/dist/node_modules/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/isSameOrAfter.js +18 -0
  139. package/dist/node_modules/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/isSameOrBefore.js +18 -0
  140. package/dist/node_modules/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/localeData.js +82 -0
  141. package/dist/node_modules/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/weekOfYear.js +29 -0
  142. package/dist/node_modules/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/weekYear.js +19 -0
  143. package/dist/utils/arrays.js +5 -4
  144. package/dist/vendored-components.d.ts +1 -1
  145. package/dist/vendored-components.js +9 -5
  146. package/package.json +2 -1
  147. package/theme-chalk/src/float-label.scss +96 -2
@@ -0,0 +1,41 @@
1
+ import { computed as a } from "vue";
2
+ import "@vue/shared";
3
+ import "lodash-unified";
4
+ import "@vueuse/core";
5
+ import "@element-plus/icons-vue";
6
+ import { useLocale as s } from "../../../../hooks/use-locale/index.js";
7
+ import "../../../../hooks/use-size/index.js";
8
+ import "@popperjs/core";
9
+ import "../../../../hooks/use-z-index/index.js";
10
+ import "../../../../hooks/use-delayed-toggle/index.js";
11
+ import "../../../../hooks/use-aria/index.js";
12
+ import "../../../../hooks/use-model-toggle/index.js";
13
+ import "../../../../hooks/use-empty-values/index.js";
14
+ const j = ({
15
+ unlinkPanels: u,
16
+ leftDate: r,
17
+ rightDate: e
18
+ }) => {
19
+ const { t: o } = s(), v = () => {
20
+ r.value = r.value.subtract(1, "year"), u.value || (e.value = e.value.subtract(1, "year"));
21
+ }, l = () => {
22
+ u.value || (r.value = r.value.add(1, "year")), e.value = e.value.add(1, "year");
23
+ }, c = () => {
24
+ r.value = r.value.add(1, "year");
25
+ }, p = () => {
26
+ e.value = e.value.subtract(1, "year");
27
+ }, m = a(() => `${r.value.year()} ${o("el.datepicker.year")}`), t = a(() => `${e.value.year()} ${o("el.datepicker.year")}`), y = a(() => r.value.year()), n = a(() => e.value.year() === r.value.year() ? r.value.year() + 1 : e.value.year());
28
+ return {
29
+ leftPrevYear: v,
30
+ rightNextYear: l,
31
+ leftNextYear: c,
32
+ rightPrevYear: p,
33
+ leftLabel: m,
34
+ rightLabel: t,
35
+ leftYear: y,
36
+ rightYear: n
37
+ };
38
+ };
39
+ export {
40
+ j as useMonthRangeHeader
41
+ };
@@ -0,0 +1,29 @@
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, CurrentView>;
11
+ rightCurrentView: Ref<CurrentView, CurrentView>;
12
+ leftCurrentViewRef: Ref<CurrentViewRef | undefined, CurrentViewRef | undefined>;
13
+ rightCurrentViewRef: Ref<CurrentViewRef | undefined, 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 {};
@@ -0,0 +1,86 @@
1
+ import { ref as f, inject as _, computed as o, nextTick as b } from "vue";
2
+ import "@vue/shared";
3
+ import "lodash-unified";
4
+ import "@vueuse/core";
5
+ import "@element-plus/icons-vue";
6
+ import { useLocale as j } from "../../../../hooks/use-locale/index.js";
7
+ import "../../../../hooks/use-size/index.js";
8
+ import "@popperjs/core";
9
+ import "../../../../hooks/use-z-index/index.js";
10
+ import "../../../../hooks/use-delayed-toggle/index.js";
11
+ import "../../../../hooks/use-aria/index.js";
12
+ import "../../../../hooks/use-model-toggle/index.js";
13
+ import "../../../../hooks/use-empty-values/index.js";
14
+ import "../../../time-picker/index.js";
15
+ import { getValidDateOfYear as x, getValidDateOfMonth as K } from "../utils.js";
16
+ import { PICKER_BASE_INJECTION_KEY as N } from "../../../time-picker/src/constants.js";
17
+ const et = (h, L, i, l) => {
18
+ const c = f("date"), m = f(), u = f("date"), d = f(), $ = _(N), { disabledDate: v } = $.props, { t: C, lang: p } = j(), y = o(() => i.value.year()), M = o(() => i.value.month()), P = o(() => l.value.year()), V = o(() => l.value.month());
19
+ function g(t, n) {
20
+ const a = C("el.datepicker.year");
21
+ if (t.value === "year") {
22
+ const e = Math.floor(n.value / 10) * 10;
23
+ return a ? `${e} ${a} - ${e + 9} ${a}` : `${e} - ${e + 9}`;
24
+ }
25
+ return `${n.value} ${a}`;
26
+ }
27
+ function k(t) {
28
+ t == null || t.focus();
29
+ }
30
+ async function w(t, n) {
31
+ if (h.disabled) return;
32
+ const a = t === "left" ? c : u, e = t === "left" ? m : d;
33
+ a.value = n, await b(), k(e.value);
34
+ }
35
+ async function s(t, n, a) {
36
+ if (h.disabled) return;
37
+ const e = n === "left", r = e ? i : l, E = e ? l : i, B = e ? c : u, I = e ? m : d;
38
+ if (t === "year") {
39
+ const O = r.value.year(a);
40
+ r.value = x(O, p.value, v);
41
+ }
42
+ t === "month" && (r.value = K(
43
+ r.value,
44
+ r.value.year(),
45
+ a,
46
+ p.value,
47
+ v
48
+ )), h.unlinkPanels || (E.value = n === "left" ? r.value.add(1, "month") : r.value.subtract(1, "month")), B.value = t === "year" ? "month" : "date", await b(), k(I.value), Y(t);
49
+ }
50
+ function Y(t) {
51
+ L(
52
+ "panel-change",
53
+ [i.value.toDate(), l.value.toDate()],
54
+ t
55
+ );
56
+ }
57
+ function R(t, n, a) {
58
+ const e = a ? "add" : "subtract";
59
+ return t === "year" ? n[e](10, "year") : n[e](1, "year");
60
+ }
61
+ return {
62
+ leftCurrentView: c,
63
+ rightCurrentView: u,
64
+ leftCurrentViewRef: m,
65
+ rightCurrentViewRef: d,
66
+ leftYear: y,
67
+ rightYear: P,
68
+ leftMonth: M,
69
+ rightMonth: V,
70
+ leftYearLabel: o(() => g(c, y)),
71
+ rightYearLabel: o(
72
+ () => g(u, P)
73
+ ),
74
+ showLeftPicker: (t) => w("left", t),
75
+ showRightPicker: (t) => w("right", t),
76
+ handleLeftYearPick: (t) => s("year", "left", t),
77
+ handleRightYearPick: (t) => s("year", "right", t),
78
+ handleLeftMonthPick: (t) => s("month", "left", t),
79
+ handleRightMonthPick: (t) => s("month", "right", t),
80
+ handlePanelChange: Y,
81
+ adjustDateByView: R
82
+ };
83
+ };
84
+ export {
85
+ et as usePanelDateRange
86
+ };
@@ -0,0 +1,209 @@
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, dayjs.Dayjs | undefined>;
17
+ maxDate: Ref<dayjs.Dayjs | undefined, 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
+ }, RangeState | {
92
+ endDate: {
93
+ clone: () => Dayjs;
94
+ isValid: () => boolean;
95
+ year: {
96
+ (): number;
97
+ (value: number): Dayjs;
98
+ };
99
+ month: {
100
+ (): number;
101
+ (value: number): Dayjs;
102
+ };
103
+ date: {
104
+ (): number;
105
+ (value: number): Dayjs;
106
+ };
107
+ day: {
108
+ (): 0 | 1 | 2 | 3 | 4 | 5 | 6;
109
+ (value: number): Dayjs;
110
+ };
111
+ hour: {
112
+ (): number;
113
+ (value: number): Dayjs;
114
+ };
115
+ minute: {
116
+ (): number;
117
+ (value: number): Dayjs;
118
+ };
119
+ second: {
120
+ (): number;
121
+ (value: number): Dayjs;
122
+ };
123
+ millisecond: {
124
+ (): number;
125
+ (value: number): Dayjs;
126
+ };
127
+ set: (unit: dayjs.UnitType, value: number) => Dayjs;
128
+ get: (unit: dayjs.UnitType) => number;
129
+ add: (value: number, unit?: dayjs.ManipulateType) => Dayjs;
130
+ subtract: (value: number, unit?: dayjs.ManipulateType) => Dayjs;
131
+ startOf: (unit: dayjs.OpUnitType) => Dayjs;
132
+ endOf: (unit: dayjs.OpUnitType) => Dayjs;
133
+ format: (template?: string) => string;
134
+ diff: (date?: dayjs.ConfigType, unit?: dayjs.QUnitType | dayjs.OpUnitType, float?: boolean) => number;
135
+ valueOf: () => number;
136
+ unix: () => number;
137
+ daysInMonth: () => number;
138
+ toDate: () => Date;
139
+ toJSON: () => string;
140
+ toISOString: () => string;
141
+ toString: () => string;
142
+ utcOffset: () => number;
143
+ isBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
144
+ isSame: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
145
+ isAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
146
+ locale: {
147
+ (): string;
148
+ (preset: string | ILocale, object?: Partial<ILocale>): Dayjs;
149
+ };
150
+ localeData: () => dayjs.InstanceLocaleDataReturn;
151
+ week: {
152
+ (): number;
153
+ (value: number): Dayjs;
154
+ };
155
+ weekYear: () => number;
156
+ dayOfYear: {
157
+ (): number;
158
+ (value: number): Dayjs;
159
+ };
160
+ isSameOrAfter: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
161
+ isSameOrBefore: (date?: dayjs.ConfigType, unit?: dayjs.OpUnitType) => boolean;
162
+ } | null;
163
+ selecting: boolean;
164
+ }>;
165
+ lang: Ref<string, string>;
166
+ ppNs: {
167
+ namespace: import("vue").ComputedRef<string>;
168
+ b: (blockSuffix?: string) => string;
169
+ e: (element?: string) => string;
170
+ m: (modifier?: string) => string;
171
+ be: (blockSuffix?: string, element?: string) => string;
172
+ em: (element?: string, modifier?: string) => string;
173
+ bm: (blockSuffix?: string, modifier?: string) => string;
174
+ bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
175
+ is: {
176
+ (name: string, state: boolean | undefined): string;
177
+ (name: string): string;
178
+ };
179
+ cssVar: (object: Record<string, string>) => Record<string, string>;
180
+ cssVarName: (name: string) => string;
181
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
182
+ cssVarBlockName: (name: string) => string;
183
+ };
184
+ drpNs: {
185
+ namespace: import("vue").ComputedRef<string>;
186
+ b: (blockSuffix?: string) => string;
187
+ e: (element?: string) => string;
188
+ m: (modifier?: string) => string;
189
+ be: (blockSuffix?: string, element?: string) => string;
190
+ em: (element?: string, modifier?: string) => string;
191
+ bm: (blockSuffix?: string, modifier?: string) => string;
192
+ bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
193
+ is: {
194
+ (name: string, state: boolean | undefined): string;
195
+ (name: string): string;
196
+ };
197
+ cssVar: (object: Record<string, string>) => Record<string, string>;
198
+ cssVarName: (name: string) => string;
199
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
200
+ cssVarBlockName: (name: string) => string;
201
+ };
202
+ handleChangeRange: (val: RangeState) => void;
203
+ handleRangeConfirm: (visible?: boolean) => void;
204
+ handleShortcutClick: (shortcut: import("./use-shortcut").Shortcut) => void;
205
+ onSelect: (selecting: boolean) => void;
206
+ parseValue: (parsedValue: PanelRangeSharedProps["parsedValue"]) => void;
207
+ t: import("@element-plus/hooks").Translator;
208
+ };
209
+ export {};
@@ -0,0 +1,102 @@
1
+ import { getCurrentInstance as q, inject as w, ref as g, watch as v, unref as n } from "vue";
2
+ import k from "dayjs";
3
+ import { isArray as D } from "@vue/shared";
4
+ import { isEqual as A } from "lodash-unified";
5
+ import "@vueuse/core";
6
+ import "@element-plus/icons-vue";
7
+ import { useNamespace as J } from "../../../../hooks/use-namespace/index.js";
8
+ import { useLocale as L } from "../../../../hooks/use-locale/index.js";
9
+ import "../../../../hooks/use-size/index.js";
10
+ import "@popperjs/core";
11
+ import "../../../../hooks/use-z-index/index.js";
12
+ import "../../../../hooks/use-delayed-toggle/index.js";
13
+ import "../../../../hooks/use-aria/index.js";
14
+ import "../../../../hooks/use-model-toggle/index.js";
15
+ import "../../../../hooks/use-empty-values/index.js";
16
+ import { getDefaultValue as Y, isValidRange as z } from "../utils.js";
17
+ import { ROOT_PICKER_INJECTION_KEY as B } from "../constants.js";
18
+ import { useShortcut as F } from "./use-shortcut.js";
19
+ const st = (m, {
20
+ defaultValue: h,
21
+ defaultTime: C,
22
+ leftDate: p,
23
+ rightDate: N,
24
+ step: O,
25
+ unit: R,
26
+ sortDates: E
27
+ }) => {
28
+ const { emit: _ } = q(), { pickerNs: I } = w(B), P = J("date-range-picker"), { t: b, lang: f } = L(), x = F(f), o = g(), r = g(), s = g({
29
+ endDate: null,
30
+ selecting: !1
31
+ }), T = (t) => {
32
+ s.value = t;
33
+ }, j = (t = !1) => {
34
+ const e = n(o), i = n(r);
35
+ z([e, i]) && _("pick", [e, i], t);
36
+ }, y = (t) => {
37
+ s.value.selecting = t, t || (s.value.endDate = null);
38
+ }, u = (t) => {
39
+ if (D(t) && t.length === 2) {
40
+ const [e, i] = t;
41
+ o.value = e, p.value = e, r.value = i, E(n(o), n(r));
42
+ } else
43
+ S();
44
+ }, S = () => {
45
+ let [t, e] = Y(n(h), {
46
+ lang: n(f),
47
+ step: O,
48
+ unit: R,
49
+ unlinkPanels: m.unlinkPanels
50
+ });
51
+ const i = (a) => a.diff(a.startOf("d"), "ms"), l = n(C);
52
+ if (l) {
53
+ let a = 0, d = 0;
54
+ if (D(l)) {
55
+ const [c, K] = l.map(k);
56
+ a = i(c), d = i(K);
57
+ } else {
58
+ const c = i(k(l));
59
+ a = c, d = c;
60
+ }
61
+ t = t.startOf("d").add(a, "ms"), e = e.startOf("d").add(d, "ms");
62
+ }
63
+ o.value = void 0, r.value = void 0, p.value = t, N.value = e;
64
+ };
65
+ return v(
66
+ h,
67
+ (t) => {
68
+ t && S();
69
+ },
70
+ { immediate: !0 }
71
+ ), v(
72
+ () => m.parsedValue,
73
+ (t) => {
74
+ (!(t != null && t.length) || !A(t, [o.value, r.value])) && u(t);
75
+ },
76
+ {
77
+ immediate: !0
78
+ }
79
+ ), v(
80
+ () => m.visible,
81
+ () => {
82
+ m.visible && u(m.parsedValue);
83
+ },
84
+ { immediate: !0 }
85
+ ), {
86
+ minDate: o,
87
+ maxDate: r,
88
+ rangeState: s,
89
+ lang: f,
90
+ ppNs: I,
91
+ drpNs: P,
92
+ handleChangeRange: T,
93
+ handleRangeConfirm: j,
94
+ handleShortcutClick: x,
95
+ onSelect: y,
96
+ parseValue: u,
97
+ t: b
98
+ };
99
+ };
100
+ export {
101
+ st as useRangePicker
102
+ };
@@ -0,0 +1,9 @@
1
+ import type { SetupContext } from 'vue';
2
+ import type { useLocale } from '@element-plus/hooks';
3
+ import type { RangePickerSharedEmits } from '../props/shared';
4
+ export type Shortcut = {
5
+ text: string;
6
+ value: [Date, Date] | (() => [Date, Date]);
7
+ onClick?: (ctx: Omit<SetupContext<RangePickerSharedEmits>, 'expose'>) => void;
8
+ };
9
+ export declare const useShortcut: (lang: ReturnType<typeof useLocale>["lang"]) => (shortcut: Shortcut) => void;
@@ -0,0 +1,27 @@
1
+ import { getCurrentInstance as c, useAttrs as s, useSlots as u } from "vue";
2
+ import l from "dayjs";
3
+ import { isFunction as a } from "@vue/shared";
4
+ import "lodash-unified";
5
+ import "@vueuse/core";
6
+ import "@element-plus/icons-vue";
7
+ const d = (e) => {
8
+ const { emit: r } = c(), i = s(), n = u();
9
+ return (t) => {
10
+ const o = a(t.value) ? t.value() : t.value;
11
+ if (o) {
12
+ r("pick", [
13
+ l(o[0]).locale(e.value),
14
+ l(o[1]).locale(e.value)
15
+ ]);
16
+ return;
17
+ }
18
+ t.onClick && t.onClick({
19
+ attrs: i,
20
+ slots: n,
21
+ emit: r
22
+ });
23
+ };
24
+ };
25
+ export {
26
+ d as useShortcut
27
+ };
@@ -0,0 +1,16 @@
1
+ import type { Ref, ToRef } from 'vue';
2
+ import type { Dayjs } from 'dayjs';
3
+ export declare const useYearRangeHeader: ({ unlinkPanels, leftDate, rightDate, }: {
4
+ unlinkPanels: ToRef<boolean>;
5
+ leftDate: Ref<Dayjs>;
6
+ rightDate: Ref<Dayjs>;
7
+ }) => {
8
+ leftPrevYear: () => void;
9
+ rightNextYear: () => void;
10
+ leftNextYear: () => void;
11
+ rightPrevYear: () => void;
12
+ leftLabel: import("vue").ComputedRef<string>;
13
+ rightLabel: import("vue").ComputedRef<string>;
14
+ leftYear: import("vue").ComputedRef<number>;
15
+ rightYear: import("vue").ComputedRef<number>;
16
+ };
@@ -0,0 +1,35 @@
1
+ import { computed as t } from "vue";
2
+ const Y = ({
3
+ unlinkPanels: u,
4
+ leftDate: a,
5
+ rightDate: r
6
+ }) => {
7
+ const o = () => {
8
+ a.value = a.value.subtract(10, "year"), u.value || (r.value = r.value.subtract(10, "year"));
9
+ }, l = () => {
10
+ u.value || (a.value = a.value.add(10, "year")), r.value = r.value.add(10, "year");
11
+ }, v = () => {
12
+ a.value = a.value.add(10, "year");
13
+ }, n = () => {
14
+ r.value = r.value.subtract(10, "year");
15
+ }, c = t(() => {
16
+ const e = Math.floor(a.value.year() / 10) * 10;
17
+ return `${e}-${e + 9}`;
18
+ }), s = t(() => {
19
+ const e = Math.floor(r.value.year() / 10) * 10;
20
+ return `${e}-${e + 9}`;
21
+ }), d = t(() => Math.floor(a.value.year() / 10) * 10 + 9), y = t(() => Math.floor(r.value.year() / 10) * 10);
22
+ return {
23
+ leftPrevYear: o,
24
+ rightNextYear: l,
25
+ leftNextYear: v,
26
+ rightPrevYear: n,
27
+ leftLabel: c,
28
+ rightLabel: s,
29
+ leftYear: d,
30
+ rightYear: y
31
+ };
32
+ };
33
+ export {
34
+ Y as useYearRangeHeader
35
+ };
@@ -0,0 +1,9 @@
1
+ import type { InjectionKey, SetupContext } from 'vue';
2
+ import type { UseNamespaceReturn } from '@element-plus/hooks';
3
+ interface DatePickerContext {
4
+ slots: SetupContext['slots'];
5
+ pickerNs: UseNamespaceReturn;
6
+ }
7
+ export declare const ROOT_PICKER_INJECTION_KEY: InjectionKey<DatePickerContext>;
8
+ export declare const ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY = "ElIsDefaultFormat";
9
+ export {};
@@ -0,0 +1,5 @@
1
+ const _ = Symbol("rootPickerContextKey"), o = "ElIsDefaultFormat";
2
+ export {
3
+ _ as ROOT_PICKER_INJECTION_KEY,
4
+ o as ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY
5
+ };
@@ -0,0 +1,18 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ readonly cell: {
3
+ readonly type: import("vue").PropType<import("../types").DateCell>;
4
+ readonly required: false;
5
+ readonly validator: ((val: unknown) => boolean) | undefined;
6
+ __epPropKey: true;
7
+ };
8
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
9
+ [key: string]: any;
10
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
+ readonly cell: {
12
+ readonly type: import("vue").PropType<import("../types").DateCell>;
13
+ readonly required: false;
14
+ readonly validator: ((val: unknown) => boolean) | undefined;
15
+ __epPropKey: true;
16
+ };
17
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
+ export default _default;
@@ -0,0 +1,39 @@
1
+ import { defineComponent as m, inject as i, renderSlot as s, createVNode as e } from "vue";
2
+ import { useNamespace as a } from "../../../../hooks/use-namespace/index.js";
3
+ import "@vue/shared";
4
+ import "lodash-unified";
5
+ import "@vueuse/core";
6
+ import "@element-plus/icons-vue";
7
+ import "../../../../hooks/use-size/index.js";
8
+ import "@popperjs/core";
9
+ import "../../../../hooks/use-z-index/index.js";
10
+ import "../../../../hooks/use-delayed-toggle/index.js";
11
+ import "../../../../hooks/use-aria/index.js";
12
+ import "../../../../hooks/use-model-toggle/index.js";
13
+ import "../../../../hooks/use-empty-values/index.js";
14
+ import { ROOT_PICKER_INJECTION_KEY as n } from "../constants.js";
15
+ import { basicCellProps as l } from "../props/basic-cell.js";
16
+ const D = /* @__PURE__ */ m({
17
+ name: "ElDatePickerCell",
18
+ props: l,
19
+ setup(o) {
20
+ const r = a("date-table-cell"), {
21
+ slots: p
22
+ } = i(n);
23
+ return () => {
24
+ const {
25
+ cell: t
26
+ } = o;
27
+ return s(p, "default", {
28
+ ...t
29
+ }, () => [e("div", {
30
+ class: r.b()
31
+ }, [e("span", {
32
+ class: r.e("text")
33
+ }, [(t == null ? void 0 : t.renderText) ?? (t == null ? void 0 : t.text)])])]);
34
+ };
35
+ }
36
+ });
37
+ export {
38
+ D as default
39
+ };