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,550 @@
1
+ import { defineComponent as ua, useAttrs as da, useSlots as ca, inject as Ve, toRef as va, ref as $, computed as p, watch as ne, openBlock as V, createElementBlock as E, normalizeClass as u, unref as t, createElementVNode as b, renderSlot as K, Fragment as ma, renderList as pa, toDisplayString as U, createCommentVNode as P, createVNode as D, withDirectives as I, withCtx as _, vShow as B, withKeys as ge, createBlock as G, createTextVNode as Ce, nextTick as se } from "vue";
2
+ import y from "dayjs";
3
+ import { EpButton as Te } from "../../../button/index.js";
4
+ import fa from "../../../../directives/click-outside/index.js";
5
+ import { extractFirst as L } from "../../../../utils/arrays.js";
6
+ import "@vueuse/core";
7
+ import { isArray as ie, isFunction as Fe } from "@vue/shared";
8
+ import "lodash-unified";
9
+ import { getEventCode as ha } from "../../../../utils/dom/event.js";
10
+ import { DArrowLeft as ba, ArrowLeft as ya, ArrowRight as ka, DArrowRight as wa } from "@element-plus/icons-vue";
11
+ import { EVENT_CODE as k } from "../../../../constants/aria.js";
12
+ import "normalize-wheel-es";
13
+ import { useNamespace as $e } from "../../../../hooks/use-namespace/index.js";
14
+ import { useLocale as Da } from "../../../../hooks/use-locale/index.js";
15
+ import "../../../../hooks/use-size/index.js";
16
+ import "@popperjs/core";
17
+ import "../../../../hooks/use-z-index/index.js";
18
+ import "../../../../hooks/use-delayed-toggle/index.js";
19
+ import "../../../../hooks/use-aria/index.js";
20
+ import "../../../../hooks/use-model-toggle/index.js";
21
+ import "../../../../hooks/use-empty-values/index.js";
22
+ import { EpInput as Ee } from "../../../input/index.js";
23
+ import "../../../time-picker/index.js";
24
+ import { ElIcon as H } from "../../../icon/index.js";
25
+ import { panelDatePickProps as Va } from "../props/panel-date-pick.js";
26
+ import { getValidDateOfMonth as Pe, getValidDateOfYear as Me, correctlyParseUserInput as Ne } from "../utils.js";
27
+ import { ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY as ga } from "../constants.js";
28
+ import Ca from "./basic-date-table.vue.js";
29
+ import Ta from "./basic-month-table.vue.js";
30
+ import Fa from "./basic-year-table.vue.js";
31
+ import "../../../form/index.js";
32
+ import { PICKER_BASE_INJECTION_KEY as $a, DEFAULT_FORMATS_TIME as Ie, DEFAULT_FORMATS_DATE as Ea } from "../../../time-picker/src/constants.js";
33
+ import { useFormDisabled as Pa } from "../../../form/src/hooks/use-form-common-props.js";
34
+ import { extractTimeFormat as Ma, extractDateFormat as Na } from "../../../time-picker/src/utils.js";
35
+ import Ia from "../../../time-picker/src/time-picker-com/panel-time-pick.vue.js";
36
+ const _a = ["disabled", "onClick"], Ra = ["aria-label", "disabled"], Aa = ["aria-label", "disabled"], Ya = ["tabindex", "aria-disabled"], Oa = ["tabindex", "aria-disabled"], Sa = ["aria-label", "disabled"], Ka = ["aria-label", "disabled"], Dt = /* @__PURE__ */ ua({
37
+ __name: "panel-date-pick",
38
+ props: Va,
39
+ emits: ["pick", "set-picker-option", "panel-change"],
40
+ setup(_e, { emit: Re }) {
41
+ const Ae = (e, a, o) => !0, n = _e, F = Re, f = $e("picker-panel"), g = $e("date-picker"), Ye = da(), Oe = ca(), { t: C, lang: v } = Da(), ue = Ve($a), de = Ve(
42
+ ga,
43
+ void 0
44
+ ), { shortcuts: ce, disabledDate: d, cellClassName: Q, defaultTime: X } = ue.props, R = va(ue.props, "defaultValue"), z = $(), l = $(y().locale(v.value)), Z = $(!1);
45
+ let ee = !1;
46
+ const ve = p(() => y(X).locale(v.value)), Se = p(() => l.value.month()), me = p(() => l.value.year()), pe = $([]), M = $(null), N = $(null), ae = (e) => pe.value.length > 0 ? Ae(
47
+ e,
48
+ pe.value,
49
+ n.format || Ie
50
+ ) : !0, fe = (e) => X && !we.value && !Z.value && !ee ? ve.value.year(e.year()).month(e.month()).date(e.date()) : A.value ? e.millisecond(0) : e.startOf("day"), m = (e, ...a) => {
51
+ if (!e)
52
+ F("pick", e, ...a);
53
+ else if (ie(e)) {
54
+ const o = e.map(fe);
55
+ F("pick", o, ...a);
56
+ } else
57
+ F("pick", fe(e), ...a);
58
+ M.value = null, N.value = null, Z.value = !1, ee = !1;
59
+ }, Ke = async (e, a) => {
60
+ if (i.value === "date" && y.isDayjs(e)) {
61
+ const o = L(n.parsedValue);
62
+ let c = o ? o.year(e.year()).month(e.month()).date(e.date()) : e;
63
+ ae(c), l.value = c, m(c, A.value || a);
64
+ } else i.value === "week" ? m(e.date) : i.value === "dates" && m(e, !0);
65
+ }, he = (e) => {
66
+ const a = e ? "add" : "subtract";
67
+ l.value = l.value[a](1, "month"), q("month");
68
+ }, be = (e) => {
69
+ const a = l.value, o = e ? "add" : "subtract";
70
+ l.value = s.value === "year" ? a[o](10, "year") : a[o](1, "year"), q("year");
71
+ }, s = $("date"), Ue = p(() => {
72
+ const e = C("el.datepicker.year");
73
+ if (s.value === "year") {
74
+ const a = Math.floor(me.value / 10) * 10;
75
+ return e ? `${a} ${e} - ${a + 9} ${e}` : `${a} - ${a + 9}`;
76
+ }
77
+ return `${me.value} ${e}`;
78
+ }), Be = (e) => {
79
+ const a = Fe(e.value) ? e.value() : e.value;
80
+ if (a) {
81
+ ee = !0, m(y(a).locale(v.value));
82
+ return;
83
+ }
84
+ e.onClick && e.onClick({
85
+ attrs: Ye,
86
+ slots: Oe,
87
+ emit: F
88
+ });
89
+ }, i = p(() => {
90
+ const { type: e } = n;
91
+ return ["week", "month", "months", "year", "years", "dates"].includes(e) ? e : "date";
92
+ }), W = p(() => i.value === "dates" || i.value === "months" || i.value === "years"), Le = p(() => i.value === "date" ? s.value : i.value), ye = p(() => !!ce.length), ze = async (e, a) => {
93
+ i.value === "month" ? (l.value = Pe(
94
+ l.value,
95
+ l.value.year(),
96
+ e,
97
+ v.value,
98
+ d
99
+ ), m(l.value, !1)) : i.value === "months" ? m(e, a ?? !0) : (l.value = Pe(
100
+ l.value,
101
+ l.value.year(),
102
+ e,
103
+ v.value,
104
+ d
105
+ ), s.value = "date", ["month", "year", "date", "week"].includes(i.value) && (m(l.value, !0), await se(), j())), q("month");
106
+ }, We = async (e, a) => {
107
+ if (i.value === "year") {
108
+ const o = l.value.startOf("year").year(e);
109
+ l.value = Me(o, v.value, d), m(l.value, !1);
110
+ } else if (i.value === "years")
111
+ m(e, a ?? !0);
112
+ else {
113
+ const o = l.value.year(e);
114
+ l.value = Me(o, v.value, d), s.value = "month", ["month", "year", "date", "week"].includes(i.value) && (m(l.value, !0), await se(), j());
115
+ }
116
+ q("year");
117
+ }, w = Pa(), J = async (e) => {
118
+ w.value || (s.value = e, await se(), j());
119
+ }, A = p(
120
+ () => n.type === "datetime" || n.type === "datetimerange"
121
+ ), Je = p(() => {
122
+ const e = A.value || i.value === "dates", a = i.value === "years", o = i.value === "months", c = s.value === "date", h = s.value === "year", O = s.value === "month";
123
+ return e && c || a && h || o && O;
124
+ }), je = p(
125
+ () => !W.value && n.showNow || n.showConfirm
126
+ ), qe = p(() => d ? n.parsedValue ? ie(n.parsedValue) ? d(n.parsedValue[0].toDate()) : d(n.parsedValue.toDate()) : !0 : !1), xe = () => {
127
+ if (W.value)
128
+ m(n.parsedValue);
129
+ else {
130
+ let e = L(n.parsedValue);
131
+ if (!e) {
132
+ const a = y(X).locale(v.value), o = oe();
133
+ e = a.year(o.year()).month(o.month()).date(o.date());
134
+ }
135
+ l.value = e, m(e);
136
+ }
137
+ }, Ge = p(() => d ? d(y().locale(v.value).toDate()) : !1), He = () => {
138
+ const a = y().locale(v.value).toDate();
139
+ Z.value = !0, (!d || !d(a)) && ae(a) && (l.value = y().locale(v.value), m(l.value));
140
+ }, te = p(() => n.timeFormat || Ma(n.format) || Ie), ke = p(() => n.dateFormat || Na(n.format) || Ea), we = p(() => N.value ? N.value : !n.parsedValue && !R.value ? void 0 : (L(n.parsedValue) || l.value).format(te.value)), Qe = p(() => M.value ? M.value : !n.parsedValue && !R.value ? void 0 : (L(n.parsedValue) || l.value).format(ke.value)), Y = $(!1), Xe = () => {
141
+ Y.value = !0;
142
+ }, Ze = () => {
143
+ Y.value = !1;
144
+ }, le = (e) => ({
145
+ hour: e.hour(),
146
+ minute: e.minute(),
147
+ second: e.second(),
148
+ year: e.year(),
149
+ month: e.month(),
150
+ date: e.date()
151
+ }), ea = (e, a, o) => {
152
+ const { hour: c, minute: h, second: O } = le(e), x = L(n.parsedValue), re = x ? x.hour(c).minute(h).second(O) : e;
153
+ l.value = re, m(l.value, !0), o || (Y.value = a);
154
+ }, aa = (e) => {
155
+ const a = y(e, te.value).locale(v.value);
156
+ if (a.isValid() && ae(a)) {
157
+ const { year: o, month: c, date: h } = le(l.value);
158
+ l.value = a.year(o).month(c).date(h), N.value = null, Y.value = !1, m(l.value, !0);
159
+ }
160
+ }, ta = (e) => {
161
+ const a = Ne(
162
+ e,
163
+ ke.value,
164
+ v.value,
165
+ de
166
+ );
167
+ if (a.isValid()) {
168
+ if (d && d(a.toDate()))
169
+ return;
170
+ const { hour: o, minute: c, second: h } = le(l.value);
171
+ l.value = a.hour(o).minute(c).second(h), M.value = null, m(l.value, !0);
172
+ }
173
+ }, la = (e) => y.isDayjs(e) && e.isValid() && (d ? !d(e.toDate()) : !0), oa = (e) => Ne(
174
+ e,
175
+ n.format,
176
+ v.value,
177
+ de
178
+ ), oe = () => {
179
+ const e = y(R.value).locale(v.value);
180
+ if (!R.value) {
181
+ const a = ve.value;
182
+ return y().hour(a.hour()).minute(a.minute()).second(a.second()).locale(v.value);
183
+ }
184
+ return e;
185
+ }, j = () => {
186
+ var e;
187
+ ["week", "month", "year", "date"].includes(i.value) && ((e = z.value) == null || e.focus());
188
+ }, ra = () => {
189
+ j(), i.value === "week" && De(k.down);
190
+ }, na = (e) => {
191
+ const a = ha(e);
192
+ [
193
+ k.up,
194
+ k.down,
195
+ k.left,
196
+ k.right,
197
+ k.home,
198
+ k.end,
199
+ k.pageUp,
200
+ k.pageDown
201
+ ].includes(a) && (De(a), e.stopPropagation(), e.preventDefault()), [k.enter, k.space, k.numpadEnter].includes(
202
+ a
203
+ ) && M.value === null && N.value === null && (e.preventDefault(), m(l.value, !1));
204
+ }, De = (e) => {
205
+ const { up: a, down: o, left: c, right: h, home: O, end: x, pageUp: re, pageDown: sa } = k, ia = {
206
+ year: {
207
+ [a]: -4,
208
+ [o]: 4,
209
+ [c]: -1,
210
+ [h]: 1,
211
+ offset: (r, T) => r.setFullYear(r.getFullYear() + T)
212
+ },
213
+ month: {
214
+ [a]: -4,
215
+ [o]: 4,
216
+ [c]: -1,
217
+ [h]: 1,
218
+ offset: (r, T) => r.setMonth(r.getMonth() + T)
219
+ },
220
+ week: {
221
+ [a]: -1,
222
+ [o]: 1,
223
+ [c]: -1,
224
+ [h]: 1,
225
+ offset: (r, T) => r.setDate(r.getDate() + T * 7)
226
+ },
227
+ date: {
228
+ [a]: -7,
229
+ [o]: 7,
230
+ [c]: -1,
231
+ [h]: 1,
232
+ [O]: (r) => -r.getDay(),
233
+ [x]: (r) => -r.getDay() + 6,
234
+ [re]: (r) => -new Date(r.getFullYear(), r.getMonth(), 0).getDate(),
235
+ [sa]: (r) => new Date(r.getFullYear(), r.getMonth() + 1, 0).getDate(),
236
+ offset: (r, T) => r.setDate(r.getDate() + T)
237
+ }
238
+ }, S = l.value.toDate();
239
+ for (; Math.abs(l.value.diff(S, "year", !0)) < 1; ) {
240
+ const r = ia[Le.value];
241
+ if (!r) return;
242
+ if (r.offset(
243
+ S,
244
+ Fe(r[e]) ? r[e](S) : r[e] ?? 0
245
+ ), d && d(S))
246
+ break;
247
+ const T = y(S).locale(v.value);
248
+ l.value = T, F("pick", T, !0);
249
+ break;
250
+ }
251
+ }, q = (e) => {
252
+ F("panel-change", l.value.toDate(), e, s.value);
253
+ };
254
+ return ne(
255
+ () => i.value,
256
+ (e) => {
257
+ if (["month", "year"].includes(e)) {
258
+ s.value = e;
259
+ return;
260
+ } else if (e === "years") {
261
+ s.value = "year";
262
+ return;
263
+ } else if (e === "months") {
264
+ s.value = "month";
265
+ return;
266
+ }
267
+ s.value = "date";
268
+ },
269
+ { immediate: !0 }
270
+ ), ne(
271
+ () => R.value,
272
+ (e) => {
273
+ e && (l.value = oe());
274
+ },
275
+ { immediate: !0 }
276
+ ), ne(
277
+ () => n.parsedValue,
278
+ (e) => {
279
+ if (e) {
280
+ if (W.value || ie(e)) return;
281
+ l.value = e;
282
+ } else
283
+ l.value = oe();
284
+ },
285
+ { immediate: !0 }
286
+ ), F("set-picker-option", ["isValidValue", la]), F("set-picker-option", ["parseUserInput", oa]), F("set-picker-option", ["handleFocusPicker", ra]), (e, a) => (V(), E("div", {
287
+ class: u([
288
+ t(f).b(),
289
+ t(g).b(),
290
+ t(f).is("border", e.border),
291
+ t(f).is("disabled", t(w)),
292
+ {
293
+ "has-sidebar": e.$slots.sidebar || ye.value,
294
+ "has-time": A.value
295
+ }
296
+ ])
297
+ }, [
298
+ b("div", {
299
+ class: u(t(f).e("body-wrapper"))
300
+ }, [
301
+ K(e.$slots, "sidebar", {
302
+ class: u(t(f).e("sidebar"))
303
+ }),
304
+ ye.value ? (V(), E("div", {
305
+ key: 0,
306
+ class: u(t(f).e("sidebar"))
307
+ }, [
308
+ (V(!0), E(ma, null, pa(t(ce), (o, c) => (V(), E("button", {
309
+ key: c,
310
+ type: "button",
311
+ disabled: t(w),
312
+ class: u(t(f).e("shortcut")),
313
+ onClick: (h) => Be(o)
314
+ }, U(o.text), 11, _a))), 128))
315
+ ], 2)) : P("", !0),
316
+ b("div", {
317
+ class: u(t(f).e("body"))
318
+ }, [
319
+ A.value ? (V(), E("div", {
320
+ key: 0,
321
+ class: u(t(g).e("time-header"))
322
+ }, [
323
+ b("span", {
324
+ class: u(t(g).e("editor-wrap"))
325
+ }, [
326
+ D(t(Ee), {
327
+ placeholder: t(C)("el.datepicker.selectDate"),
328
+ "model-value": Qe.value,
329
+ size: "small",
330
+ "validate-event": !1,
331
+ disabled: t(w),
332
+ readonly: !e.editable,
333
+ onInput: a[0] || (a[0] = (o) => M.value = o),
334
+ onChange: ta
335
+ }, null, 8, ["placeholder", "model-value", "disabled", "readonly"])
336
+ ], 2),
337
+ I((V(), E("span", {
338
+ class: u(t(g).e("editor-wrap"))
339
+ }, [
340
+ D(t(Ee), {
341
+ placeholder: t(C)("el.datepicker.selectTime"),
342
+ "model-value": we.value,
343
+ size: "small",
344
+ "validate-event": !1,
345
+ disabled: t(w),
346
+ readonly: !e.editable,
347
+ onFocus: Xe,
348
+ onInput: a[1] || (a[1] = (o) => N.value = o),
349
+ onChange: aa
350
+ }, null, 8, ["placeholder", "model-value", "disabled", "readonly"]),
351
+ D(t(Ia), {
352
+ visible: Y.value,
353
+ format: te.value,
354
+ "parsed-value": l.value,
355
+ onPick: ea
356
+ }, null, 8, ["visible", "format", "parsed-value"])
357
+ ], 2)), [
358
+ [t(fa), Ze]
359
+ ])
360
+ ], 2)) : P("", !0),
361
+ I(b("div", {
362
+ class: u([
363
+ t(g).e("header"),
364
+ (s.value === "year" || s.value === "month") && t(g).em("header", "bordered")
365
+ ])
366
+ }, [
367
+ b("span", {
368
+ class: u(t(g).e("prev-btn"))
369
+ }, [
370
+ b("button", {
371
+ type: "button",
372
+ "aria-label": t(C)("el.datepicker.prevYear"),
373
+ class: u(["d-arrow-left", t(f).e("icon-btn")]),
374
+ disabled: t(w),
375
+ onClick: a[2] || (a[2] = (o) => be(!1))
376
+ }, [
377
+ K(e.$slots, "prev-year", {}, () => [
378
+ D(t(H), null, {
379
+ default: _(() => [
380
+ D(t(ba))
381
+ ]),
382
+ _: 1
383
+ })
384
+ ])
385
+ ], 10, Ra),
386
+ I(b("button", {
387
+ type: "button",
388
+ "aria-label": t(C)("el.datepicker.prevMonth"),
389
+ class: u([t(f).e("icon-btn"), "arrow-left"]),
390
+ disabled: t(w),
391
+ onClick: a[3] || (a[3] = (o) => he(!1))
392
+ }, [
393
+ K(e.$slots, "prev-month", {}, () => [
394
+ D(t(H), null, {
395
+ default: _(() => [
396
+ D(t(ya))
397
+ ]),
398
+ _: 1
399
+ })
400
+ ])
401
+ ], 10, Aa), [
402
+ [B, s.value === "date"]
403
+ ])
404
+ ], 2),
405
+ b("span", {
406
+ role: "button",
407
+ class: u(t(g).e("header-label")),
408
+ "aria-live": "polite",
409
+ tabindex: e.disabled ? void 0 : 0,
410
+ "aria-disabled": e.disabled,
411
+ onKeydown: a[4] || (a[4] = ge((o) => J("year"), ["enter"])),
412
+ onClick: a[5] || (a[5] = (o) => J("year"))
413
+ }, U(Ue.value), 43, Ya),
414
+ I(b("span", {
415
+ role: "button",
416
+ "aria-live": "polite",
417
+ tabindex: e.disabled ? void 0 : 0,
418
+ "aria-disabled": e.disabled,
419
+ class: u([
420
+ t(g).e("header-label"),
421
+ { active: s.value === "month" }
422
+ ]),
423
+ onKeydown: a[6] || (a[6] = ge((o) => J("month"), ["enter"])),
424
+ onClick: a[7] || (a[7] = (o) => J("month"))
425
+ }, U(t(C)(`el.datepicker.month${Se.value + 1}`)), 43, Oa), [
426
+ [B, s.value === "date"]
427
+ ]),
428
+ b("span", {
429
+ class: u(t(g).e("next-btn"))
430
+ }, [
431
+ I(b("button", {
432
+ type: "button",
433
+ "aria-label": t(C)("el.datepicker.nextMonth"),
434
+ class: u([t(f).e("icon-btn"), "arrow-right"]),
435
+ disabled: t(w),
436
+ onClick: a[8] || (a[8] = (o) => he(!0))
437
+ }, [
438
+ K(e.$slots, "next-month", {}, () => [
439
+ D(t(H), null, {
440
+ default: _(() => [
441
+ D(t(ka))
442
+ ]),
443
+ _: 1
444
+ })
445
+ ])
446
+ ], 10, Sa), [
447
+ [B, s.value === "date"]
448
+ ]),
449
+ b("button", {
450
+ type: "button",
451
+ "aria-label": t(C)("el.datepicker.nextYear"),
452
+ class: u([t(f).e("icon-btn"), "d-arrow-right"]),
453
+ disabled: t(w),
454
+ onClick: a[9] || (a[9] = (o) => be(!0))
455
+ }, [
456
+ K(e.$slots, "next-year", {}, () => [
457
+ D(t(H), null, {
458
+ default: _(() => [
459
+ D(t(wa))
460
+ ]),
461
+ _: 1
462
+ })
463
+ ])
464
+ ], 10, Ka)
465
+ ], 2)
466
+ ], 2), [
467
+ [B, s.value !== "time"]
468
+ ]),
469
+ b("div", {
470
+ class: u(t(f).e("content")),
471
+ onKeydown: na
472
+ }, [
473
+ s.value === "date" ? (V(), G(Ca, {
474
+ key: 0,
475
+ ref_key: "currentViewRef",
476
+ ref: z,
477
+ "selection-mode": i.value,
478
+ date: l.value,
479
+ "parsed-value": e.parsedValue,
480
+ "disabled-date": t(d),
481
+ disabled: t(w),
482
+ "cell-class-name": t(Q),
483
+ "show-week-number": e.showWeekNumber,
484
+ onPick: Ke
485
+ }, null, 8, ["selection-mode", "date", "parsed-value", "disabled-date", "disabled", "cell-class-name", "show-week-number"])) : P("", !0),
486
+ s.value === "year" ? (V(), G(Fa, {
487
+ key: 1,
488
+ ref_key: "currentViewRef",
489
+ ref: z,
490
+ "selection-mode": i.value,
491
+ date: l.value,
492
+ "disabled-date": t(d),
493
+ disabled: t(w),
494
+ "parsed-value": e.parsedValue,
495
+ "cell-class-name": t(Q),
496
+ onPick: We
497
+ }, null, 8, ["selection-mode", "date", "disabled-date", "disabled", "parsed-value", "cell-class-name"])) : P("", !0),
498
+ s.value === "month" ? (V(), G(Ta, {
499
+ key: 2,
500
+ ref_key: "currentViewRef",
501
+ ref: z,
502
+ "selection-mode": i.value,
503
+ date: l.value,
504
+ "parsed-value": e.parsedValue,
505
+ "disabled-date": t(d),
506
+ disabled: t(w),
507
+ "cell-class-name": t(Q),
508
+ onPick: ze
509
+ }, null, 8, ["selection-mode", "date", "parsed-value", "disabled-date", "disabled", "cell-class-name"])) : P("", !0)
510
+ ], 34)
511
+ ], 2)
512
+ ], 2),
513
+ e.showFooter && Je.value && je.value ? (V(), E("div", {
514
+ key: 0,
515
+ class: u(t(f).e("footer"))
516
+ }, [
517
+ I(D(t(Te), {
518
+ text: "",
519
+ size: "small",
520
+ class: u(t(f).e("link-btn")),
521
+ disabled: Ge.value,
522
+ onClick: He
523
+ }, {
524
+ default: _(() => [
525
+ Ce(U(t(C)("el.datepicker.now")), 1)
526
+ ]),
527
+ _: 1
528
+ }, 8, ["class", "disabled"]), [
529
+ [B, !W.value && e.showNow]
530
+ ]),
531
+ e.showConfirm ? (V(), G(t(Te), {
532
+ key: 0,
533
+ plain: "",
534
+ size: "small",
535
+ class: u(t(f).e("link-btn")),
536
+ disabled: qe.value,
537
+ onClick: xe
538
+ }, {
539
+ default: _(() => [
540
+ Ce(U(t(C)("el.datepicker.confirm")), 1)
541
+ ]),
542
+ _: 1
543
+ }, 8, ["class", "disabled"])) : P("", !0)
544
+ ], 2)) : P("", !0)
545
+ ], 2));
546
+ }
547
+ });
548
+ export {
549
+ Dt as default
550
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./panel-date-pick.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,104 @@
1
+ import dayjs from 'dayjs';
2
+ declare var __VLS_1: {
3
+ class: string;
4
+ }, __VLS_65: {}, __VLS_75: {}, __VLS_85: {}, __VLS_95: {}, __VLS_134: {}, __VLS_144: {}, __VLS_154: {}, __VLS_164: {};
5
+ type __VLS_Slots = {} & {
6
+ sidebar?: (props: typeof __VLS_1) => any;
7
+ } & {
8
+ 'prev-year'?: (props: typeof __VLS_65) => any;
9
+ } & {
10
+ 'prev-month'?: (props: typeof __VLS_75) => any;
11
+ } & {
12
+ 'next-year'?: (props: typeof __VLS_85) => any;
13
+ } & {
14
+ 'next-month'?: (props: typeof __VLS_95) => any;
15
+ } & {
16
+ 'prev-year'?: (props: typeof __VLS_134) => any;
17
+ } & {
18
+ 'prev-month'?: (props: typeof __VLS_144) => any;
19
+ } & {
20
+ 'next-year'?: (props: typeof __VLS_154) => any;
21
+ } & {
22
+ 'next-month'?: (props: typeof __VLS_164) => any;
23
+ };
24
+ declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
25
+ readonly unlinkPanels: BooleanConstructor;
26
+ readonly visible: import("../../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
27
+ readonly showConfirm: BooleanConstructor;
28
+ readonly showFooter: import("../../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
29
+ readonly border: BooleanConstructor;
30
+ readonly disabled: BooleanConstructor;
31
+ readonly parsedValue: {
32
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs | [dayjs.Dayjs, dayjs.Dayjs]) | (() => import("@element-plus/components/time-picker").DayOrDays) | (((new (...args: any[]) => dayjs.Dayjs | [dayjs.Dayjs, dayjs.Dayjs]) | (() => import("@element-plus/components/time-picker").DayOrDays)) | null)[], unknown, unknown>>;
33
+ readonly required: false;
34
+ readonly validator: ((val: unknown) => boolean) | undefined;
35
+ __epPropKey: true;
36
+ };
37
+ readonly singlePanel: BooleanConstructor;
38
+ readonly type: {
39
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange")) | null)[], "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange", unknown>>;
40
+ readonly required: true;
41
+ readonly validator: ((val: unknown) => boolean) | undefined;
42
+ __epPropKey: true;
43
+ };
44
+ readonly dateFormat: StringConstructor;
45
+ readonly timeFormat: StringConstructor;
46
+ readonly showNow: import("../../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
47
+ readonly showWeekNumber: BooleanConstructor;
48
+ readonly editable: import("../../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
49
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
50
+ clear: (...args: any[]) => void;
51
+ "calendar-change": (...args: any[]) => void;
52
+ "panel-change": (...args: any[]) => void;
53
+ pick: (...args: any[]) => void;
54
+ "set-picker-option": (...args: any[]) => void;
55
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
56
+ readonly unlinkPanels: BooleanConstructor;
57
+ readonly visible: import("../../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
58
+ readonly showConfirm: BooleanConstructor;
59
+ readonly showFooter: import("../../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
60
+ readonly border: BooleanConstructor;
61
+ readonly disabled: BooleanConstructor;
62
+ readonly parsedValue: {
63
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs | [dayjs.Dayjs, dayjs.Dayjs]) | (() => import("@element-plus/components/time-picker").DayOrDays) | (((new (...args: any[]) => dayjs.Dayjs | [dayjs.Dayjs, dayjs.Dayjs]) | (() => import("@element-plus/components/time-picker").DayOrDays)) | null)[], unknown, unknown>>;
64
+ readonly required: false;
65
+ readonly validator: ((val: unknown) => boolean) | undefined;
66
+ __epPropKey: true;
67
+ };
68
+ readonly singlePanel: BooleanConstructor;
69
+ readonly type: {
70
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange")) | null)[], "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange", unknown>>;
71
+ readonly required: true;
72
+ readonly validator: ((val: unknown) => boolean) | undefined;
73
+ __epPropKey: true;
74
+ };
75
+ readonly dateFormat: StringConstructor;
76
+ readonly timeFormat: StringConstructor;
77
+ readonly showNow: import("../../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
78
+ readonly showWeekNumber: BooleanConstructor;
79
+ readonly editable: import("../../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
80
+ }>> & Readonly<{
81
+ onClear?: ((...args: any[]) => any) | undefined;
82
+ "onCalendar-change"?: ((...args: any[]) => any) | undefined;
83
+ "onPanel-change"?: ((...args: any[]) => any) | undefined;
84
+ onPick?: ((...args: any[]) => any) | undefined;
85
+ "onSet-picker-option"?: ((...args: any[]) => any) | undefined;
86
+ }>, {
87
+ readonly visible: import("../../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
88
+ readonly border: boolean;
89
+ readonly disabled: boolean;
90
+ readonly editable: import("../../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
91
+ readonly showNow: import("../../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
92
+ readonly showConfirm: boolean;
93
+ readonly showFooter: import("../../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
94
+ readonly showWeekNumber: boolean;
95
+ readonly unlinkPanels: boolean;
96
+ readonly singlePanel: boolean;
97
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
98
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
99
+ export default _default;
100
+ type __VLS_WithSlots<T, S> = T & {
101
+ new (): {
102
+ $slots: S;
103
+ };
104
+ };