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,100 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ readonly showWeekNumber: BooleanConstructor;
3
+ readonly selectionMode: import("../../../../utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
4
+ readonly cellClassName: {
5
+ readonly type: import("vue").PropType<import("../props/shared").CellClassNameType>;
6
+ readonly required: false;
7
+ readonly validator: ((val: unknown) => boolean) | undefined;
8
+ __epPropKey: true;
9
+ };
10
+ readonly disabledDate: {
11
+ readonly type: import("vue").PropType<import("../props/shared").DisabledDateType>;
12
+ readonly required: false;
13
+ readonly validator: ((val: unknown) => boolean) | undefined;
14
+ __epPropKey: true;
15
+ };
16
+ readonly date: {
17
+ readonly type: import("vue").PropType<import("dayjs").Dayjs>;
18
+ readonly required: true;
19
+ readonly validator: ((val: unknown) => boolean) | undefined;
20
+ __epPropKey: true;
21
+ };
22
+ readonly minDate: {
23
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => import("dayjs").Dayjs) | (() => import("dayjs").Dayjs | null) | (((new (...args: any[]) => import("dayjs").Dayjs) | (() => import("dayjs").Dayjs | null)) | null)[], unknown, unknown>>;
24
+ readonly required: false;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
26
+ __epPropKey: true;
27
+ };
28
+ readonly maxDate: {
29
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => import("dayjs").Dayjs) | (() => import("dayjs").Dayjs | null) | (((new (...args: any[]) => import("dayjs").Dayjs) | (() => import("dayjs").Dayjs | null)) | null)[], unknown, unknown>>;
30
+ readonly required: false;
31
+ readonly validator: ((val: unknown) => boolean) | undefined;
32
+ __epPropKey: true;
33
+ };
34
+ readonly parsedValue: {
35
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => import("dayjs").Dayjs | import("dayjs").Dayjs[]) | (() => import("dayjs").Dayjs | import("dayjs").Dayjs[]) | (((new (...args: any[]) => import("dayjs").Dayjs | import("dayjs").Dayjs[]) | (() => import("dayjs").Dayjs | import("dayjs").Dayjs[])) | null)[], unknown, unknown>>;
36
+ readonly required: false;
37
+ readonly validator: ((val: unknown) => boolean) | undefined;
38
+ __epPropKey: true;
39
+ };
40
+ readonly rangeState: import("../../../../utils").EpPropFinalized<(new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState) | (((new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState)) | null)[], unknown, unknown, () => {
41
+ endDate: null;
42
+ selecting: boolean;
43
+ }, boolean>;
44
+ readonly disabled: BooleanConstructor;
45
+ }>, {
46
+ /**
47
+ * @description focus on current cell
48
+ */
49
+ focus: () => Promise<void | undefined>;
50
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
51
+ readonly showWeekNumber: BooleanConstructor;
52
+ readonly selectionMode: import("../../../../utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
53
+ readonly cellClassName: {
54
+ readonly type: import("vue").PropType<import("../props/shared").CellClassNameType>;
55
+ readonly required: false;
56
+ readonly validator: ((val: unknown) => boolean) | undefined;
57
+ __epPropKey: true;
58
+ };
59
+ readonly disabledDate: {
60
+ readonly type: import("vue").PropType<import("../props/shared").DisabledDateType>;
61
+ readonly required: false;
62
+ readonly validator: ((val: unknown) => boolean) | undefined;
63
+ __epPropKey: true;
64
+ };
65
+ readonly date: {
66
+ readonly type: import("vue").PropType<import("dayjs").Dayjs>;
67
+ readonly required: true;
68
+ readonly validator: ((val: unknown) => boolean) | undefined;
69
+ __epPropKey: true;
70
+ };
71
+ readonly minDate: {
72
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => import("dayjs").Dayjs) | (() => import("dayjs").Dayjs | null) | (((new (...args: any[]) => import("dayjs").Dayjs) | (() => import("dayjs").Dayjs | null)) | null)[], unknown, unknown>>;
73
+ readonly required: false;
74
+ readonly validator: ((val: unknown) => boolean) | undefined;
75
+ __epPropKey: true;
76
+ };
77
+ readonly maxDate: {
78
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => import("dayjs").Dayjs) | (() => import("dayjs").Dayjs | null) | (((new (...args: any[]) => import("dayjs").Dayjs) | (() => import("dayjs").Dayjs | null)) | null)[], unknown, unknown>>;
79
+ readonly required: false;
80
+ readonly validator: ((val: unknown) => boolean) | undefined;
81
+ __epPropKey: true;
82
+ };
83
+ readonly parsedValue: {
84
+ readonly type: import("vue").PropType<import("../../../../utils").EpPropMergeType<(new (...args: any[]) => import("dayjs").Dayjs | import("dayjs").Dayjs[]) | (() => import("dayjs").Dayjs | import("dayjs").Dayjs[]) | (((new (...args: any[]) => import("dayjs").Dayjs | import("dayjs").Dayjs[]) | (() => import("dayjs").Dayjs | import("dayjs").Dayjs[])) | null)[], unknown, unknown>>;
85
+ readonly required: false;
86
+ readonly validator: ((val: unknown) => boolean) | undefined;
87
+ __epPropKey: true;
88
+ };
89
+ readonly rangeState: import("../../../../utils").EpPropFinalized<(new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState) | (((new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState)) | null)[], unknown, unknown, () => {
90
+ endDate: null;
91
+ selecting: boolean;
92
+ }, boolean>;
93
+ readonly disabled: BooleanConstructor;
94
+ }>> & Readonly<{}>, {
95
+ readonly disabled: boolean;
96
+ readonly showWeekNumber: boolean;
97
+ readonly rangeState: import("../props/shared").RangeState;
98
+ readonly selectionMode: string;
99
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
100
+ export default _default;
@@ -0,0 +1,92 @@
1
+ import { defineComponent as x, onBeforeUnmount as z, openBlock as r, createElementBlock as a, unref as e, normalizeClass as i, createElementVNode as y, createCommentVNode as A, Fragment as d, renderList as b, toDisplayString as H, createVNode as O } from "vue";
2
+ import { basicDateTableEmits as j, basicDateTableProps as q } from "../props/basic-date-table.js";
3
+ import { useBasicDateTable as G, useBasicDateTableDOM as I } from "../composables/use-basic-date-table.js";
4
+ import J from "./basic-cell-render.js";
5
+ const Q = ["aria-label"], X = ["aria-label"], Y = ["aria-current", "aria-selected", "tabindex", "aria-disabled"], se = /* @__PURE__ */ x({
6
+ __name: "basic-date-table",
7
+ props: q,
8
+ emits: j,
9
+ setup(v, { expose: E, emit: w }) {
10
+ const m = v, B = w, {
11
+ WEEKS: N,
12
+ rows: F,
13
+ tbodyRef: R,
14
+ currentCellRef: T,
15
+ focus: W,
16
+ isCurrent: h,
17
+ isWeekActive: P,
18
+ isSelectedCell: p,
19
+ handlePickDate: c,
20
+ handleMouseUp: f,
21
+ handleMouseDown: k,
22
+ handleMouseMove: C,
23
+ handleFocus: D
24
+ } = G(m, B), { tableLabel: S, tableKls: U, getCellClasses: V, getRowKls: K, weekHeaderClass: L, t: g } = I(m, {
25
+ isCurrent: h,
26
+ isWeekActive: P
27
+ });
28
+ let M = !1;
29
+ return z(() => {
30
+ M = !0;
31
+ }), E({
32
+ /**
33
+ * @description focus on current cell
34
+ */
35
+ focus: W
36
+ }), (o, s) => (r(), a("table", {
37
+ "aria-label": e(S),
38
+ class: i(e(U)),
39
+ cellspacing: "0",
40
+ cellpadding: "0",
41
+ role: "grid",
42
+ onClick: s[1] || (s[1] = //@ts-ignore
43
+ (...t) => e(c) && e(c)(...t)),
44
+ onMousemove: s[2] || (s[2] = //@ts-ignore
45
+ (...t) => e(C) && e(C)(...t)),
46
+ onMousedown: s[3] || (s[3] = //@ts-ignore
47
+ (...t) => e(k) && e(k)(...t)),
48
+ onMouseup: s[4] || (s[4] = //@ts-ignore
49
+ (...t) => e(f) && e(f)(...t))
50
+ }, [
51
+ y("tbody", {
52
+ ref_key: "tbodyRef",
53
+ ref: R
54
+ }, [
55
+ y("tr", null, [
56
+ o.showWeekNumber ? (r(), a("th", {
57
+ key: 0,
58
+ scope: "col",
59
+ class: i(e(L))
60
+ }, null, 2)) : A("", !0),
61
+ (r(!0), a(d, null, b(e(N), (t, n) => (r(), a("th", {
62
+ key: n,
63
+ "aria-label": e(g)("el.datepicker.weeksFull." + t),
64
+ scope: "col"
65
+ }, H(e(g)("el.datepicker.weeks." + t)), 9, X))), 128))
66
+ ]),
67
+ (r(!0), a(d, null, b(e(F), (t, n) => (r(), a("tr", {
68
+ key: n,
69
+ class: i(e(K)(o.showWeekNumber ? t[2] : t[1]))
70
+ }, [
71
+ (r(!0), a(d, null, b(t, (l, $) => (r(), a("td", {
72
+ key: `${n}.${$}`,
73
+ ref_for: !0,
74
+ ref: (u) => !e(M) && e(p)(l) && (T.value = u),
75
+ class: i(e(V)(l)),
76
+ "aria-current": l.isCurrent ? "date" : void 0,
77
+ "aria-selected": l.isCurrent,
78
+ tabindex: o.disabled ? void 0 : e(p)(l) ? 0 : -1,
79
+ "aria-disabled": o.disabled,
80
+ onFocus: s[0] || (s[0] = //@ts-ignore
81
+ (...u) => e(D) && e(D)(...u))
82
+ }, [
83
+ O(e(J), { cell: l }, null, 8, ["cell"])
84
+ ], 42, Y))), 128))
85
+ ], 2))), 128))
86
+ ], 512)
87
+ ], 42, Q));
88
+ }
89
+ });
90
+ export {
91
+ se as default
92
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./basic-date-table.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,106 @@
1
+ import dayjs from 'dayjs';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ selectionMode: import("@element-plus/utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
4
+ cellClassName: {
5
+ readonly type: import("vue").PropType<import("../props/shared").CellClassNameType>;
6
+ readonly required: false;
7
+ readonly validator: ((val: unknown) => boolean) | undefined;
8
+ __epPropKey: true;
9
+ };
10
+ disabledDate: {
11
+ readonly type: import("vue").PropType<import("../props/shared").DisabledDateType>;
12
+ readonly required: false;
13
+ readonly validator: ((val: unknown) => boolean) | undefined;
14
+ __epPropKey: true;
15
+ };
16
+ date: {
17
+ readonly type: import("vue").PropType<dayjs.Dayjs>;
18
+ readonly required: true;
19
+ readonly validator: ((val: unknown) => boolean) | undefined;
20
+ __epPropKey: true;
21
+ };
22
+ minDate: {
23
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null) | (((new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null)) | null)[], unknown, unknown>>;
24
+ readonly required: false;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
26
+ __epPropKey: true;
27
+ };
28
+ maxDate: {
29
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null) | (((new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null)) | null)[], unknown, unknown>>;
30
+ readonly required: false;
31
+ readonly validator: ((val: unknown) => boolean) | undefined;
32
+ __epPropKey: true;
33
+ };
34
+ parsedValue: {
35
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs | dayjs.Dayjs[]) | (() => dayjs.Dayjs | dayjs.Dayjs[]) | (((new (...args: any[]) => dayjs.Dayjs | dayjs.Dayjs[]) | (() => dayjs.Dayjs | dayjs.Dayjs[])) | null)[], unknown, unknown>>;
36
+ readonly required: false;
37
+ readonly validator: ((val: unknown) => boolean) | undefined;
38
+ __epPropKey: true;
39
+ };
40
+ rangeState: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState) | (((new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState)) | null)[], unknown, unknown, () => {
41
+ endDate: null;
42
+ selecting: boolean;
43
+ }, boolean>;
44
+ disabled: BooleanConstructor;
45
+ }>, {
46
+ /**
47
+ * @description focus current cell
48
+ */
49
+ focus: () => void;
50
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
51
+ select: (...args: any[]) => void;
52
+ pick: (...args: any[]) => void;
53
+ changerange: (...args: any[]) => void;
54
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
55
+ selectionMode: import("@element-plus/utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
56
+ cellClassName: {
57
+ readonly type: import("vue").PropType<import("../props/shared").CellClassNameType>;
58
+ readonly required: false;
59
+ readonly validator: ((val: unknown) => boolean) | undefined;
60
+ __epPropKey: true;
61
+ };
62
+ disabledDate: {
63
+ readonly type: import("vue").PropType<import("../props/shared").DisabledDateType>;
64
+ readonly required: false;
65
+ readonly validator: ((val: unknown) => boolean) | undefined;
66
+ __epPropKey: true;
67
+ };
68
+ date: {
69
+ readonly type: import("vue").PropType<dayjs.Dayjs>;
70
+ readonly required: true;
71
+ readonly validator: ((val: unknown) => boolean) | undefined;
72
+ __epPropKey: true;
73
+ };
74
+ minDate: {
75
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null) | (((new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null)) | null)[], unknown, unknown>>;
76
+ readonly required: false;
77
+ readonly validator: ((val: unknown) => boolean) | undefined;
78
+ __epPropKey: true;
79
+ };
80
+ maxDate: {
81
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null) | (((new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null)) | null)[], unknown, unknown>>;
82
+ readonly required: false;
83
+ readonly validator: ((val: unknown) => boolean) | undefined;
84
+ __epPropKey: true;
85
+ };
86
+ parsedValue: {
87
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs | dayjs.Dayjs[]) | (() => dayjs.Dayjs | dayjs.Dayjs[]) | (((new (...args: any[]) => dayjs.Dayjs | dayjs.Dayjs[]) | (() => dayjs.Dayjs | dayjs.Dayjs[])) | null)[], unknown, unknown>>;
88
+ readonly required: false;
89
+ readonly validator: ((val: unknown) => boolean) | undefined;
90
+ __epPropKey: true;
91
+ };
92
+ rangeState: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState) | (((new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState)) | null)[], unknown, unknown, () => {
93
+ endDate: null;
94
+ selecting: boolean;
95
+ }, boolean>;
96
+ disabled: BooleanConstructor;
97
+ }>> & Readonly<{
98
+ onSelect?: ((...args: any[]) => any) | undefined;
99
+ onPick?: ((...args: any[]) => any) | undefined;
100
+ onChangerange?: ((...args: any[]) => any) | undefined;
101
+ }>, {
102
+ disabled: boolean;
103
+ rangeState: import("../props/shared").RangeState;
104
+ selectionMode: string;
105
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
106
+ export default _default;
@@ -0,0 +1,164 @@
1
+ import { defineComponent as q, ref as p, computed as G, watch as H, nextTick as J, openBlock as h, createElementBlock as y, normalizeClass as O, unref as D, createElementVNode as Q, Fragment as T, renderList as V, withKeys as R, withModifiers as I, createVNode as U } from "vue";
2
+ import k from "dayjs";
3
+ import { useNamespace as W } from "../../../../hooks/use-namespace/index.js";
4
+ import { castArray as b } from "../../../../utils/arrays.js";
5
+ import "@vueuse/core";
6
+ import "@vue/shared";
7
+ import "lodash-unified";
8
+ import { hasClass as A } from "../../../../utils/dom/style.js";
9
+ import "@element-plus/icons-vue";
10
+ import { useLocale as X } from "../../../../hooks/use-locale/index.js";
11
+ import "../../../../hooks/use-size/index.js";
12
+ import "@popperjs/core";
13
+ import "../../../../hooks/use-z-index/index.js";
14
+ import "../../../../hooks/use-delayed-toggle/index.js";
15
+ import "../../../../hooks/use-aria/index.js";
16
+ import "../../../../hooks/use-model-toggle/index.js";
17
+ import "../../../../hooks/use-empty-values/index.js";
18
+ import { basicMonthTableProps as Z } from "../props/basic-month-table.js";
19
+ import { datesInMonth as ee, getValidDateOfMonth as te } from "../utils.js";
20
+ import ae from "./basic-cell-render.js";
21
+ const ne = ["aria-label"], oe = ["aria-selected", "aria-label", "tabindex", "onKeydown"], Ne = /* @__PURE__ */ q({
22
+ __name: "basic-month-table",
23
+ props: Z,
24
+ emits: ["changerange", "pick", "select"],
25
+ setup(E, { expose: B, emit: P }) {
26
+ const e = E, c = P, j = W("month-table"), { t: g, lang: v } = X(), C = p(), x = p(), K = p(
27
+ e.date.locale("en").localeData().monthsShort().map((a) => a.toLowerCase())
28
+ ), L = p([[], [], []]), N = p(), M = p(), _ = G(() => {
29
+ var o, r, n;
30
+ const a = L.value, t = k().locale(v.value).startOf("month");
31
+ for (let i = 0; i < 3; i++) {
32
+ const f = a[i];
33
+ for (let m = 0; m < 4; m++) {
34
+ const s = f[m] || (f[m] = {
35
+ row: i,
36
+ column: m,
37
+ type: "normal",
38
+ inRange: !1,
39
+ start: !1,
40
+ end: !1,
41
+ text: -1,
42
+ disabled: !1,
43
+ isSelected: !1,
44
+ customClass: void 0,
45
+ date: void 0,
46
+ dayjs: void 0,
47
+ isCurrent: void 0,
48
+ selected: void 0,
49
+ renderText: void 0,
50
+ timestamp: void 0
51
+ });
52
+ s.type = "normal";
53
+ const d = i * 4 + m, l = e.date.startOf("year").month(d), u = e.rangeState.endDate || e.maxDate || e.rangeState.selecting && e.minDate || null;
54
+ s.inRange = !!(e.minDate && l.isSameOrAfter(e.minDate, "month") && u && l.isSameOrBefore(u, "month")) || !!(e.minDate && l.isSameOrBefore(e.minDate, "month") && u && l.isSameOrAfter(u, "month")), (o = e.minDate) != null && o.isSameOrAfter(u) ? (s.start = !!(u && l.isSame(u, "month")), s.end = e.minDate && l.isSame(e.minDate, "month")) : (s.start = !!(e.minDate && l.isSame(e.minDate, "month")), s.end = !!(u && l.isSame(u, "month"))), t.isSame(l) && (s.type = "today");
55
+ const w = l.toDate();
56
+ s.text = d, s.disabled = ((r = e.disabledDate) == null ? void 0 : r.call(e, w)) || !1, s.date = w, s.customClass = (n = e.cellClassName) == null ? void 0 : n.call(e, w), s.dayjs = l, s.timestamp = l.valueOf(), s.isSelected = Y(s);
57
+ }
58
+ }
59
+ return a;
60
+ }), F = () => {
61
+ var a;
62
+ (a = x.value) == null || a.focus();
63
+ }, z = (a) => {
64
+ const t = {}, o = e.date.year(), r = /* @__PURE__ */ new Date(), n = a.text;
65
+ return t.disabled = e.disabled || (e.disabledDate ? ee(e.date, o, n, v.value).every(
66
+ e.disabledDate
67
+ ) : !1), t.current = b(e.parsedValue).some(
68
+ (i) => k.isDayjs(i) && i.year() === o && i.month() === n
69
+ ), t.today = r.getFullYear() === o && r.getMonth() === n, a.customClass && (t[a.customClass] = !0), a.inRange && (t["in-range"] = !0, a.start && (t["start-date"] = !0), a.end && (t["end-date"] = !0)), t;
70
+ }, Y = (a) => {
71
+ const t = e.date.year(), o = a.text;
72
+ return b(e.date).some(
73
+ (r) => r.year() === t && r.month() === o
74
+ );
75
+ }, $ = (a) => {
76
+ var n;
77
+ if (!e.rangeState.selecting) return;
78
+ let t = a.target;
79
+ if (t.tagName === "SPAN" && (t = (n = t.parentNode) == null ? void 0 : n.parentNode), t.tagName === "DIV" && (t = t.parentNode), t.tagName !== "TD") return;
80
+ const o = t.parentNode.rowIndex, r = t.cellIndex;
81
+ _.value[o][r].disabled || (o !== N.value || r !== M.value) && (N.value = o, M.value = r, c("changerange", {
82
+ selecting: !0,
83
+ endDate: e.date.startOf("year").month(o * 4 + r)
84
+ }));
85
+ }, S = (a) => {
86
+ var f;
87
+ if (e.disabled) return;
88
+ const t = (f = a.target) == null ? void 0 : f.closest(
89
+ "td"
90
+ );
91
+ if ((t == null ? void 0 : t.tagName) !== "TD" || A(t, "disabled")) return;
92
+ const o = t.cellIndex, n = t.parentNode.rowIndex * 4 + o, i = e.date.startOf("year").month(n);
93
+ if (e.selectionMode === "months") {
94
+ if (a.type === "keydown") {
95
+ c("pick", b(e.parsedValue), !1);
96
+ return;
97
+ }
98
+ const m = te(
99
+ e.date,
100
+ e.date.year(),
101
+ n,
102
+ v.value,
103
+ e.disabledDate
104
+ ), s = A(t, "current") ? b(e.parsedValue).filter(
105
+ (d) => (
106
+ // Filter out the selected month only when both year and month match
107
+ // This allows remove same months from different years #20019
108
+ (d == null ? void 0 : d.year()) !== m.year() || (d == null ? void 0 : d.month()) !== m.month()
109
+ )
110
+ ) : b(e.parsedValue).concat([k(m)]);
111
+ c("pick", s);
112
+ } else e.selectionMode === "range" ? e.rangeState.selecting ? (e.minDate && i >= e.minDate ? c("pick", { minDate: e.minDate, maxDate: i }) : c("pick", { minDate: i, maxDate: e.minDate }), c("select", !1)) : (c("pick", { minDate: i, maxDate: null }), c("select", !0)) : c("pick", n);
113
+ };
114
+ return H(
115
+ () => e.date,
116
+ async () => {
117
+ var a, t;
118
+ (a = C.value) != null && a.contains(document.activeElement) && (await J(), (t = x.value) == null || t.focus());
119
+ }
120
+ ), B({
121
+ /**
122
+ * @description focus current cell
123
+ */
124
+ focus: F
125
+ }), (a, t) => (h(), y("table", {
126
+ role: "grid",
127
+ "aria-label": D(g)("el.datepicker.monthTablePrompt"),
128
+ class: O(D(j).b()),
129
+ onClick: S,
130
+ onMousemove: $
131
+ }, [
132
+ Q("tbody", {
133
+ ref_key: "tbodyRef",
134
+ ref: C
135
+ }, [
136
+ (h(!0), y(T, null, V(_.value, (o, r) => (h(), y("tr", { key: r }, [
137
+ (h(!0), y(T, null, V(o, (n, i) => (h(), y("td", {
138
+ key: i,
139
+ ref_for: !0,
140
+ ref: (f) => n.isSelected && (x.value = f),
141
+ class: O(z(n)),
142
+ "aria-selected": !!n.isSelected,
143
+ "aria-label": D(g)(`el.datepicker.month${+n.text + 1}`),
144
+ tabindex: n.isSelected ? 0 : -1,
145
+ onKeydown: [
146
+ R(I(S, ["prevent", "stop"]), ["space"]),
147
+ R(I(S, ["prevent", "stop"]), ["enter"])
148
+ ]
149
+ }, [
150
+ U(D(ae), {
151
+ cell: {
152
+ ...n,
153
+ renderText: D(g)("el.datepicker.months." + K.value[n.text])
154
+ }
155
+ }, null, 8, ["cell"])
156
+ ], 42, oe))), 128))
157
+ ]))), 128))
158
+ ], 512)
159
+ ], 42, ne));
160
+ }
161
+ });
162
+ export {
163
+ Ne as default
164
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./basic-month-table.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,106 @@
1
+ import dayjs from 'dayjs';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ readonly selectionMode: import("@element-plus/utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
4
+ readonly cellClassName: {
5
+ readonly type: import("vue").PropType<import("../props/shared").CellClassNameType>;
6
+ readonly required: false;
7
+ readonly validator: ((val: unknown) => boolean) | undefined;
8
+ __epPropKey: true;
9
+ };
10
+ readonly disabledDate: {
11
+ readonly type: import("vue").PropType<import("../props/shared").DisabledDateType>;
12
+ readonly required: false;
13
+ readonly validator: ((val: unknown) => boolean) | undefined;
14
+ __epPropKey: true;
15
+ };
16
+ readonly date: {
17
+ readonly type: import("vue").PropType<dayjs.Dayjs>;
18
+ readonly required: true;
19
+ readonly validator: ((val: unknown) => boolean) | undefined;
20
+ __epPropKey: true;
21
+ };
22
+ readonly minDate: {
23
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null) | (((new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null)) | null)[], unknown, unknown>>;
24
+ readonly required: false;
25
+ readonly validator: ((val: unknown) => boolean) | undefined;
26
+ __epPropKey: true;
27
+ };
28
+ readonly maxDate: {
29
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null) | (((new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null)) | null)[], unknown, unknown>>;
30
+ readonly required: false;
31
+ readonly validator: ((val: unknown) => boolean) | undefined;
32
+ __epPropKey: true;
33
+ };
34
+ readonly parsedValue: {
35
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs | dayjs.Dayjs[]) | (() => dayjs.Dayjs | dayjs.Dayjs[]) | (((new (...args: any[]) => dayjs.Dayjs | dayjs.Dayjs[]) | (() => dayjs.Dayjs | dayjs.Dayjs[])) | null)[], unknown, unknown>>;
36
+ readonly required: false;
37
+ readonly validator: ((val: unknown) => boolean) | undefined;
38
+ __epPropKey: true;
39
+ };
40
+ readonly rangeState: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState) | (((new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState)) | null)[], unknown, unknown, () => {
41
+ endDate: null;
42
+ selecting: boolean;
43
+ }, boolean>;
44
+ readonly disabled: BooleanConstructor;
45
+ }>, {
46
+ /**
47
+ * @description focus on the current cell
48
+ */
49
+ focus: () => void;
50
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
51
+ select: (...args: any[]) => void;
52
+ pick: (...args: any[]) => void;
53
+ changerange: (...args: any[]) => void;
54
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
55
+ readonly selectionMode: import("@element-plus/utils").EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
56
+ readonly cellClassName: {
57
+ readonly type: import("vue").PropType<import("../props/shared").CellClassNameType>;
58
+ readonly required: false;
59
+ readonly validator: ((val: unknown) => boolean) | undefined;
60
+ __epPropKey: true;
61
+ };
62
+ readonly disabledDate: {
63
+ readonly type: import("vue").PropType<import("../props/shared").DisabledDateType>;
64
+ readonly required: false;
65
+ readonly validator: ((val: unknown) => boolean) | undefined;
66
+ __epPropKey: true;
67
+ };
68
+ readonly date: {
69
+ readonly type: import("vue").PropType<dayjs.Dayjs>;
70
+ readonly required: true;
71
+ readonly validator: ((val: unknown) => boolean) | undefined;
72
+ __epPropKey: true;
73
+ };
74
+ readonly minDate: {
75
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null) | (((new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null)) | null)[], unknown, unknown>>;
76
+ readonly required: false;
77
+ readonly validator: ((val: unknown) => boolean) | undefined;
78
+ __epPropKey: true;
79
+ };
80
+ readonly maxDate: {
81
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null) | (((new (...args: any[]) => dayjs.Dayjs) | (() => dayjs.Dayjs | null)) | null)[], unknown, unknown>>;
82
+ readonly required: false;
83
+ readonly validator: ((val: unknown) => boolean) | undefined;
84
+ __epPropKey: true;
85
+ };
86
+ readonly parsedValue: {
87
+ readonly type: import("vue").PropType<import("@element-plus/utils").EpPropMergeType<(new (...args: any[]) => dayjs.Dayjs | dayjs.Dayjs[]) | (() => dayjs.Dayjs | dayjs.Dayjs[]) | (((new (...args: any[]) => dayjs.Dayjs | dayjs.Dayjs[]) | (() => dayjs.Dayjs | dayjs.Dayjs[])) | null)[], unknown, unknown>>;
88
+ readonly required: false;
89
+ readonly validator: ((val: unknown) => boolean) | undefined;
90
+ __epPropKey: true;
91
+ };
92
+ readonly rangeState: import("@element-plus/utils").EpPropFinalized<(new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState) | (((new (...args: any[]) => import("../props/shared").RangeState) | (() => import("../props/shared").RangeState)) | null)[], unknown, unknown, () => {
93
+ endDate: null;
94
+ selecting: boolean;
95
+ }, boolean>;
96
+ readonly disabled: BooleanConstructor;
97
+ }>> & Readonly<{
98
+ onSelect?: ((...args: any[]) => any) | undefined;
99
+ onPick?: ((...args: any[]) => any) | undefined;
100
+ onChangerange?: ((...args: any[]) => any) | undefined;
101
+ }>, {
102
+ readonly disabled: boolean;
103
+ readonly rangeState: import("../props/shared").RangeState;
104
+ readonly selectionMode: string;
105
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
106
+ export default _default;