@web-utils/form-ui 1.0.0-beta5 → 1.0.0-beta51

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 (208) hide show
  1. package/api/index.d.ts +60 -0
  2. package/api/index.mjs +42 -0
  3. package/awesome-button/index.d.ts +60 -0
  4. package/awesome-button/index.mjs +49 -0
  5. package/base.css +1 -1
  6. package/chunks/6yfBZFOB.mjs +56 -0
  7. package/chunks/B1IPSTA6.mjs +198 -0
  8. package/chunks/B9gA65rt2.mjs +38 -0
  9. package/chunks/BBERmTup.mjs +83 -0
  10. package/chunks/BG8z3V9d2.mjs +643 -0
  11. package/chunks/BQk3-Ppb2.mjs +146 -0
  12. package/chunks/BQyL45PF2.mjs +207 -0
  13. package/chunks/BWh6u1O0.mjs +660 -0
  14. package/chunks/BbSPWDDZ.mjs +100 -0
  15. package/chunks/BfxDxIg0.mjs +106 -0
  16. package/chunks/BqWvBF14.mjs +35 -0
  17. package/chunks/BsZgAJX_2.mjs +81 -0
  18. package/chunks/BtcjAHE6.mjs +317 -0
  19. package/chunks/Bwbtu2cp.mjs +194 -0
  20. package/chunks/ByHz4mmh.mjs +87 -0
  21. package/chunks/C2zgFLYO.mjs +185 -0
  22. package/chunks/C7G-cAoI.mjs +1361 -0
  23. package/chunks/CAd1zK9Q.mjs +25 -0
  24. package/chunks/CJdkjadi.mjs +17 -0
  25. package/chunks/CXsoKP22.mjs +86 -0
  26. package/chunks/CabldOLo.mjs +157 -0
  27. package/chunks/CkOD-_VV.mjs +8 -0
  28. package/chunks/CqVd8D222.mjs +89 -0
  29. package/chunks/CuAoMR3n.mjs +105 -0
  30. package/chunks/DA7oGHSX.mjs +141 -0
  31. package/chunks/DKwp6AMl.mjs +168 -0
  32. package/chunks/DOP3aBxf.mjs +93 -0
  33. package/chunks/DOZRzqlo.mjs +37 -0
  34. package/chunks/D_Fs3bkZ.mjs +57 -0
  35. package/chunks/D_qiRmiE.mjs +230 -0
  36. package/chunks/DcTVYqeJ.mjs +113 -0
  37. package/chunks/Dt3lfDnL.mjs +166 -0
  38. package/chunks/GI8krYU82.mjs +478 -0
  39. package/chunks/V2p-PCpL.mjs +176 -0
  40. package/chunks/YFiU0ngn.mjs +622 -0
  41. package/chunks/bFbPPcdq.mjs +25 -0
  42. package/chunks/eae6huQB.mjs +25 -0
  43. package/chunks/gCeDFHo1.mjs +32 -0
  44. package/chunks/gLPy4Sus.mjs +164 -0
  45. package/chunks/hlha6Bhc.mjs +107 -0
  46. package/chunks/pIzhYsBe.mjs +93 -0
  47. package/chunks/wDS9KBFw.mjs +67 -0
  48. package/chunks/wXeqV-_7.mjs +89 -0
  49. package/confirm-button/index.d.ts +122 -0
  50. package/confirm-button/index.mjs +35 -0
  51. package/confirmable/index.d.ts +93 -0
  52. package/confirmable/index.mjs +8 -0
  53. package/constants/index.d.ts +54 -0
  54. package/constants/index.mjs +4 -0
  55. package/dict-render/index.d.ts +28 -0
  56. package/dict-render/index.mjs +2 -0
  57. package/editable-tree/index.d.ts +254 -0
  58. package/editable-tree/index.mjs +2 -0
  59. package/editable-tree/style.css +1 -0
  60. package/element-dialog/index.d.ts +337 -16
  61. package/element-dialog/index.mjs +2 -91
  62. package/element-resize-observer/index.d.ts +8 -0
  63. package/element-resize-observer/index.mjs +40 -0
  64. package/element-resize-observer/style.css +1 -0
  65. package/empty-view/index.d.ts +2 -2
  66. package/empty-view/index.mjs +1 -1
  67. package/flex-scroll-area/index.d.ts +1 -1
  68. package/flex-scroll-area/index.mjs +1 -1
  69. package/form-advice/index.mjs +13 -12
  70. package/form-button/index.d.ts +123 -0
  71. package/form-button/index.mjs +36 -0
  72. package/form-card/index.d.ts +14 -0
  73. package/form-card/index.mjs +18 -0
  74. package/form-cascader/index.d.ts +472 -0
  75. package/form-cascader/index.mjs +2 -0
  76. package/form-checkbox/index.d.ts +236 -16
  77. package/form-checkbox/index.mjs +1 -1
  78. package/form-checkbox-group/index.d.ts +364 -0
  79. package/form-checkbox-group/index.mjs +2 -0
  80. package/form-checkbox-group/style.css +1 -0
  81. package/form-date-picker/index.d.ts +390 -19
  82. package/form-date-picker/index.mjs +1 -1
  83. package/form-holder/index.d.ts +87 -20
  84. package/form-holder/index.mjs +1 -1
  85. package/form-holder/style.css +1 -1
  86. package/form-image/index.d.ts +145 -13
  87. package/form-image/index.mjs +1 -1
  88. package/form-input/index.d.ts +301 -20
  89. package/form-input/index.mjs +1 -1
  90. package/form-input/style.css +1 -0
  91. package/form-input-cron-expression/index.d.ts +217 -0
  92. package/form-input-cron-expression/index.mjs +2 -0
  93. package/form-input-cron-expression/style.css +1 -0
  94. package/form-input-email/index.d.ts +307 -16
  95. package/form-input-email/index.mjs +1 -1
  96. package/form-input-id-card/index.d.ts +307 -16
  97. package/form-input-id-card/index.mjs +1 -1
  98. package/form-input-number/index.d.ts +246 -18
  99. package/form-input-number/index.mjs +1 -1
  100. package/form-input-phone-number/index.d.ts +307 -16
  101. package/form-input-phone-number/index.mjs +1 -1
  102. package/form-input-tag/index.d.ts +263 -1
  103. package/form-input-tag/index.mjs +1 -3
  104. package/form-input-time/index.d.ts +434 -1
  105. package/form-input-time/index.mjs +1 -3
  106. package/form-item-config-provider/index.d.ts +22 -0
  107. package/form-item-config-provider/index.mjs +24 -0
  108. package/form-item-group/index.d.ts +91 -17
  109. package/form-item-group/index.mjs +2 -78
  110. package/form-item-group/style.css +1 -1
  111. package/form-item-x/index.d.ts +141 -11
  112. package/form-item-x/index.mjs +1 -1
  113. package/form-item-x/style.css +1 -0
  114. package/form-radio-group/index.d.ts +303 -16
  115. package/form-radio-group/index.mjs +1 -1
  116. package/form-rate/index.d.ts +254 -14
  117. package/form-rate/index.mjs +1 -1
  118. package/form-red-table/index.mjs +27 -26
  119. package/form-row/index.d.ts +2 -2
  120. package/form-row/index.mjs +1 -1
  121. package/form-select/index.d.ts +537 -18
  122. package/form-select/index.mjs +1 -1
  123. package/form-slider/index.d.ts +283 -16
  124. package/form-slider/index.mjs +1 -1
  125. package/form-switch/index.d.ts +272 -14
  126. package/form-switch/index.mjs +1 -1
  127. package/form-table/index.d.ts +269 -0
  128. package/form-table/index.mjs +2 -0
  129. package/form-table-plus/index.d.ts +266 -0
  130. package/form-table-plus/index.mjs +2 -0
  131. package/form-text/index.d.ts +165 -13
  132. package/form-text/index.mjs +1 -1
  133. package/form-textarea/index.d.ts +351 -0
  134. package/form-textarea/index.mjs +2 -0
  135. package/form-time-select/index.d.ts +319 -0
  136. package/form-time-select/index.mjs +2 -0
  137. package/form-view/index.mjs +1 -1
  138. package/helper/dictionary.d.ts +15 -0
  139. package/helper/dictionary.mjs +97 -0
  140. package/hook/useDictionary.d.ts +60 -0
  141. package/hook/useDictionary.mjs +15 -0
  142. package/hook/useVisibilityChange.d.ts +4 -0
  143. package/hook/useVisibilityChange.mjs +14 -0
  144. package/iframe-window/index.d.ts +9 -0
  145. package/iframe-window/index.mjs +37 -0
  146. package/iframe-window/style.css +1 -0
  147. package/index.css +2 -0
  148. package/index.d.ts +57 -36
  149. package/index.mjs +59 -61
  150. package/package.json +10 -5
  151. package/pageable-table/index.d.ts +400 -0
  152. package/pageable-table/index.mjs +2 -0
  153. package/pageable-table/style.css +1 -0
  154. package/resolver/index.mjs +29 -0
  155. package/sub-table/index.d.ts +100 -0
  156. package/sub-table/index.mjs +537 -0
  157. package/sub-table/style.css +1 -0
  158. package/sub-table-plus/index.d.ts +100 -0
  159. package/sub-table-plus/index.mjs +2 -0
  160. package/sub-table-plus/style.css +1 -0
  161. package/table-column/index.d.ts +160 -0
  162. package/table-column/index.mjs +2 -0
  163. package/table-column/style.css +1 -0
  164. package/table-column-def/index.d.ts +95 -0
  165. package/table-column-def/index.mjs +11 -0
  166. package/table-view/index.d.ts +341 -1
  167. package/table-view/index.mjs +457 -6
  168. package/table-view/style.css +1 -0
  169. package/toolbar/index.d.ts +128 -1
  170. package/toolbar/index.mjs +1 -8
  171. package/toolbar/style.css +1 -0
  172. package/toolbar-button/index.d.ts +188 -1
  173. package/toolbar-button/index.mjs +1 -8
  174. package/vue-cron/index.d.ts +191 -0
  175. package/vue-cron/index.mjs +2 -0
  176. package/vue-cron/style.css +1 -0
  177. package/web-types.json +1 -1
  178. package/x-input-tag/index.d.ts +2 -0
  179. package/x-input-tag/index.mjs +228 -0
  180. package/x-input-tag/style.css +1 -0
  181. package/year-calendar/index.d.ts +99 -0
  182. package/year-calendar/index.mjs +2 -0
  183. package/year-calendar/style.css +1 -0
  184. package/chunks/B4M_TFeR.mjs +0 -152
  185. package/chunks/B5BIQCcK.mjs +0 -149
  186. package/chunks/BHNKrW1j.mjs +0 -61
  187. package/chunks/BO9jWhBl.mjs +0 -46
  188. package/chunks/BZ8aOa78.mjs +0 -35
  189. package/chunks/Bsz7y4Xp.mjs +0 -73
  190. package/chunks/Bxj372sF.mjs +0 -53
  191. package/chunks/C33EmJN8.mjs +0 -32
  192. package/chunks/C6Li3-l7.mjs +0 -28
  193. package/chunks/CBcdalMX.mjs +0 -35
  194. package/chunks/CdRsyF0n.mjs +0 -43
  195. package/chunks/ClNahmiU.mjs +0 -23
  196. package/chunks/CstztYMu.mjs +0 -28
  197. package/chunks/DC9b53M6.mjs +0 -32
  198. package/chunks/DDVAgRED.mjs +0 -36
  199. package/chunks/DpJQABVD.mjs +0 -91
  200. package/chunks/ZsLNWI9x.mjs +0 -46
  201. package/chunks/jn_iQrVZ.mjs +0 -28
  202. package/constants.d.ts +0 -1
  203. package/constants.mjs +0 -4
  204. package/form-check-box-group/index.d.ts +0 -93
  205. package/form-check-box-group/index.mjs +0 -2
  206. package/input/style.css +0 -1
  207. package/resolver.mjs +0 -79
  208. /package/{resolver.d.ts → resolver/index.d.ts} +0 -0
@@ -0,0 +1,166 @@
1
+ import { f as e } from "./DcTVYqeJ.mjs";
2
+ import { hasAuthority as t } from "../api/index.mjs";
3
+ import { toolbarContextKey as n } from "../constants/index.mjs";
4
+ import { isArray as r, isFunction as i } from "@web-utils/core";
5
+ import { computed as a, createVNode as o, defineComponent as s, getCurrentInstance as c, inject as l, mergeProps as u, ref as d } from "vue";
6
+ import { ElMessage as f, ElMessageBox as p } from "element-plus";
7
+ import { ElButton as m } from "element-plus/es";
8
+ //#region src/components/toolbar/button.ts
9
+ var h = {
10
+ size: {
11
+ type: String,
12
+ default: "default"
13
+ },
14
+ type: {
15
+ type: String,
16
+ default: "default"
17
+ },
18
+ plain: {
19
+ type: Boolean,
20
+ default: !1
21
+ },
22
+ text: {
23
+ type: Boolean,
24
+ default: !1
25
+ },
26
+ bg: {
27
+ type: Boolean,
28
+ default: !1
29
+ },
30
+ link: {
31
+ type: Boolean,
32
+ default: !1
33
+ },
34
+ round: {
35
+ type: Boolean,
36
+ default: !1
37
+ },
38
+ circle: {
39
+ type: Boolean,
40
+ default: !1
41
+ },
42
+ dashed: {
43
+ type: Boolean,
44
+ default: !1
45
+ },
46
+ loading: {
47
+ type: Boolean,
48
+ default: !1
49
+ },
50
+ loadingIcon: [String, Object],
51
+ disabled: {
52
+ type: Boolean,
53
+ default: void 0
54
+ },
55
+ icon: [String, Object],
56
+ autofocus: {
57
+ type: Boolean,
58
+ default: !1
59
+ },
60
+ nativeType: {
61
+ type: String,
62
+ default: "button"
63
+ },
64
+ autoInsertSpace: {
65
+ type: Boolean,
66
+ default: !1
67
+ },
68
+ color: String,
69
+ dark: {
70
+ type: Boolean,
71
+ default: !1
72
+ },
73
+ tag: [String, Object],
74
+ label: String,
75
+ loadable: Boolean,
76
+ footer: Boolean,
77
+ primary: Boolean,
78
+ warning: Boolean,
79
+ privilege: String,
80
+ condition: { type: [
81
+ Array,
82
+ Function,
83
+ Boolean
84
+ ] },
85
+ conditionTips: String,
86
+ confirm: Boolean,
87
+ confirmTips: String,
88
+ beforeExecute: Function,
89
+ afterExecute: Function,
90
+ route: [String, Object],
91
+ title: String,
92
+ cancelButtonText: String,
93
+ confirmButtonText: String
94
+ }, g = {
95
+ icon: !0,
96
+ type: !0,
97
+ text: !0,
98
+ title: !0,
99
+ disabled: !0,
100
+ loading: !0
101
+ }, _ = (e) => g[e] !== !0, v = /* @__PURE__ */ s({
102
+ name: "ToolbarButton",
103
+ inheritAttrs: !1,
104
+ props: { ...h },
105
+ setup(s, { attrs: h, slots: g }) {
106
+ let v = c(), y = l(n, null), b = d(!1), x = a(() => s.privilege ? t(s.privilege) : !0), S = async (e) => {
107
+ try {
108
+ if (i(s.beforeExecute) && await s.beforeExecute() === !1) return;
109
+ if (s.conditionTips) {
110
+ let e;
111
+ if (e = r(s.condition) ? s.condition.length <= 0 : i(s.condition) ? !s.condition() : !s.condition, e) {
112
+ f.warning(s.conditionTips);
113
+ return;
114
+ }
115
+ }
116
+ if (s.confirm || s.confirmTips) try {
117
+ await p.confirm(s.confirmTips || "你确定要删除该记录吗?", "系统提示", {
118
+ type: "warning",
119
+ distinguishCancelAndClose: !0,
120
+ cancelButtonText: s.cancelButtonText,
121
+ confirmButtonText: s.confirmButtonText
122
+ });
123
+ } catch (e) {
124
+ if (e === "cancel") {
125
+ let { onCancel: t } = h;
126
+ i(t) && await t(e);
127
+ } else if (e === "close") {
128
+ let { onClose: t } = h;
129
+ i(t) && await t(e);
130
+ }
131
+ return;
132
+ }
133
+ b.value = !0;
134
+ let n;
135
+ if (s.route) {
136
+ var t;
137
+ await ((t = v.proxy.$router) == null ? void 0 : t.push(s.route));
138
+ } else {
139
+ let { onClick: t } = h;
140
+ if (i(t)) try {
141
+ n = await t(e);
142
+ } catch {}
143
+ }
144
+ b.value = !1, i(s.afterExecute) && await s.afterExecute(n);
145
+ } catch {}
146
+ }, C = a(() => s.text ? !0 : s.type === "text"), w = a(() => {
147
+ if (!C.value) return s.primary ? "primary" : s.warning ? "warning" : s.type;
148
+ }), T = e(s, _);
149
+ return () => x.value ? o(m, u(T.value, {
150
+ title: s.footer || y != null && y.footer ? null : s.title,
151
+ disabled: s.disabled || b.value,
152
+ loading: s.loadable ? b.value : !1,
153
+ type: w.value,
154
+ text: C.value,
155
+ class: h.class,
156
+ style: h.style,
157
+ onClick: S
158
+ }), {
159
+ default: !s.circle && (s.label || g.default) ? () => g.default ? g.default() : s.label : null,
160
+ loading: g.loading,
161
+ icon: g.icon ? g.icon : s.icon ? () => o("i", { class: s.icon }, null) : null
162
+ }) : null;
163
+ }
164
+ });
165
+ //#endregion
166
+ export { v as t };
@@ -0,0 +1,478 @@
1
+ import { t as e } from "./CkOD-_VV.mjs";
2
+ import { Fragment as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createStaticVNode as a, createVNode as o, normalizeClass as s, normalizeStyle as c, openBlock as l, renderList as u, toDisplayString as d, withModifiers as f } from "vue";
3
+ import p from "dayjs";
4
+ //#region src/components/material-year-calendar/MonthCalendar.vue
5
+ var m = {
6
+ name: "MonthCalendar",
7
+ props: {
8
+ activeDates: {
9
+ type: Array,
10
+ default: () => []
11
+ },
12
+ month: {
13
+ type: [String, Number],
14
+ default: () => p().month() + 1
15
+ },
16
+ year: {
17
+ type: [String, Number],
18
+ default: () => p().year()
19
+ },
20
+ lang: {
21
+ type: String,
22
+ default: "en"
23
+ },
24
+ activeClass: {
25
+ type: String,
26
+ default: () => ""
27
+ },
28
+ prefixClass: {
29
+ type: String,
30
+ default: () => "calendar--active"
31
+ }
32
+ },
33
+ emits: ["toggleDate", "monthClickEvent"],
34
+ data() {
35
+ return {
36
+ showDays: [],
37
+ isMouseDown: !1
38
+ };
39
+ },
40
+ computed: {
41
+ weekTitleFontSizeAdjustLang() {
42
+ return {
43
+ tw: "16px",
44
+ en: "14px",
45
+ pt: "14px",
46
+ de: "14px",
47
+ es: "14px",
48
+ pl: "12px",
49
+ ru: "14px"
50
+ }[this.lang];
51
+ },
52
+ monthTitle() {
53
+ return {
54
+ tw: [
55
+ "一月",
56
+ "二月",
57
+ "三月",
58
+ "四月",
59
+ "五月",
60
+ "六月",
61
+ "七月",
62
+ "八月",
63
+ "九月",
64
+ "十月",
65
+ "十一月",
66
+ "十二月"
67
+ ],
68
+ en: [
69
+ "January",
70
+ "February",
71
+ "March",
72
+ "April",
73
+ "May",
74
+ "June",
75
+ "July",
76
+ "August",
77
+ "September",
78
+ "October",
79
+ "November",
80
+ "December"
81
+ ],
82
+ pt: [
83
+ "Janeiro",
84
+ "Fevereiro",
85
+ "Março",
86
+ "Abril",
87
+ "Maio",
88
+ "Junho",
89
+ "Julho",
90
+ "Agosto",
91
+ "Setembro",
92
+ "Outubro",
93
+ "Novembro",
94
+ "Dezembro"
95
+ ],
96
+ de: [
97
+ "Januar",
98
+ "Februar",
99
+ "März",
100
+ "April",
101
+ "Mai",
102
+ "Juni",
103
+ "Juli",
104
+ "August",
105
+ "September",
106
+ "Oktober",
107
+ "November",
108
+ "Dezember"
109
+ ],
110
+ es: [
111
+ "Enero",
112
+ "Febrero",
113
+ "Marzo",
114
+ "Abril",
115
+ "Mayo",
116
+ "Junio",
117
+ "Julio",
118
+ "Agosto",
119
+ "Septiembre",
120
+ "Octubre",
121
+ "Noviembre",
122
+ "Diciembre"
123
+ ],
124
+ pl: [
125
+ "Styczeń",
126
+ "Luty",
127
+ "Marzec",
128
+ "Kwiecień",
129
+ "Maj",
130
+ "Czerwiec",
131
+ "Lipiec",
132
+ "Sierpień",
133
+ "Wrzesień",
134
+ "Październik",
135
+ "Listopad",
136
+ "Grudzień"
137
+ ],
138
+ ru: [
139
+ "Январь",
140
+ "Февраль",
141
+ "Март",
142
+ "Апрель",
143
+ "Май",
144
+ "Июнь",
145
+ "Июль",
146
+ "Август",
147
+ "Сентябрь",
148
+ "Октябрь",
149
+ "Ноябрь",
150
+ "Декабрь"
151
+ ]
152
+ }[this.lang][this.month - 1];
153
+ }
154
+ },
155
+ watch: {
156
+ year(e) {
157
+ this.initCalendar();
158
+ },
159
+ activeDates(e, t) {
160
+ this.initCalendar();
161
+ }
162
+ },
163
+ created() {
164
+ this.initCalendar();
165
+ },
166
+ methods: {
167
+ initCalendar() {
168
+ if (!this.year || !this.month) return [];
169
+ let e = p().set("date", 1).set("year", this.year).set("month", this.month - 1), t = e.startOf("month").day() - 1;
170
+ t < 0 && (t += 7);
171
+ let n = e.endOf("month").date(), r = t >= 5 ? 6 : 5, i = 0;
172
+ this.showDays = Array.from(Array(r * 7).keys()).map((e) => ({
173
+ value: t <= e ? i++ % n + 1 : "",
174
+ active: !1,
175
+ isOtherMonth: t > e || i > n
176
+ })), this.activeDates.forEach((e) => {
177
+ let n;
178
+ typeof e == "string" ? n = {
179
+ date: e,
180
+ className: this.activeClass
181
+ } : typeof e == "object" && (n = e);
182
+ let r = p(n.date);
183
+ if (r.year() !== this.year) return;
184
+ let i = r.date(), a = Math.floor(i / 7), o = i % 7 - 1 + t + 7 * a;
185
+ this.showDays[o].active = !0, this.showDays[o].className = n.className;
186
+ });
187
+ },
188
+ showDayTitle(e) {
189
+ return {
190
+ tw: [
191
+ "一",
192
+ "二",
193
+ "三",
194
+ "四",
195
+ "五",
196
+ "六",
197
+ "日"
198
+ ],
199
+ en: [
200
+ "Mo",
201
+ "Tu",
202
+ "We",
203
+ "Th",
204
+ "Fr",
205
+ "Sa",
206
+ "Su"
207
+ ],
208
+ pt: [
209
+ "2ª",
210
+ "3ª",
211
+ "4ª",
212
+ "5ª",
213
+ "6ª",
214
+ "Sa",
215
+ "Do"
216
+ ],
217
+ de: [
218
+ "Mo",
219
+ "Di",
220
+ "Mi",
221
+ "Do",
222
+ "Fr",
223
+ "Sa",
224
+ "So"
225
+ ],
226
+ es: [
227
+ "Lu",
228
+ "Ma",
229
+ "Mi",
230
+ "Ju",
231
+ "Vi",
232
+ "Sá",
233
+ "Do"
234
+ ],
235
+ pl: [
236
+ "Pon",
237
+ "Wt",
238
+ "Śr",
239
+ "Czw",
240
+ "Pt",
241
+ "Sob",
242
+ "Nie"
243
+ ],
244
+ ru: [
245
+ "Пн",
246
+ "Вт",
247
+ "Ср",
248
+ "Чт",
249
+ "Пт",
250
+ "Сб",
251
+ "Вс"
252
+ ]
253
+ }[this.lang][e];
254
+ },
255
+ toggleDay(e) {
256
+ e.isOtherMonth || this.$emit("toggleDate", {
257
+ month: this.month,
258
+ date: e.value,
259
+ selected: !e.active,
260
+ className: this.activeClass
261
+ });
262
+ },
263
+ dragDay(e) {
264
+ this.isMouseDown && this.toggleDay(e);
265
+ },
266
+ mouseDown(e) {
267
+ this.toggleDay(e), this.isMouseDown = !0;
268
+ },
269
+ mouseUp() {
270
+ this.isMouseDown = !1;
271
+ },
272
+ classList(e) {
273
+ let t = {
274
+ "calendar__day--otherMonth": e.isOtherMonth,
275
+ [this.prefixClass]: e.active
276
+ };
277
+ return e.active && (t[e.className] = !0), t;
278
+ },
279
+ monthClickEvent(e) {
280
+ let t = {
281
+ monthTitle: this.monthTitle,
282
+ month: this.month,
283
+ year: e
284
+ };
285
+ this.$emit("monthClickEvent", t);
286
+ }
287
+ }
288
+ }, h = { class: "c-wrapper" }, g = { class: "calendar__body" }, _ = ["onMouseover", "onMousedown"];
289
+ function v(e, n, a, o, p, m) {
290
+ return l(), r("div", h, [i("div", {
291
+ class: "calendar",
292
+ onMouseup: n[1] || (n[1] = (...e) => m.mouseUp && m.mouseUp(...e)),
293
+ onMouseleave: n[2] || (n[2] = f((...e) => m.mouseUp && m.mouseUp(...e), ["stop"]))
294
+ }, [i("div", {
295
+ class: "calendar__title",
296
+ onClick: n[0] || (n[0] = (e) => m.monthClickEvent(a.year))
297
+ }, d(m.monthTitle), 1), i("div", g, [(l(), r(t, null, u(7, (e, t) => i("div", {
298
+ key: `title${e}`,
299
+ class: "calendar__day day__weektitle",
300
+ style: c({ fontSize: m.weekTitleFontSizeAdjustLang })
301
+ }, d(m.showDayTitle(t)), 5)), 64)), (l(!0), r(t, null, u(p.showDays, (e, t) => (l(), r("div", {
302
+ key: `day${t}`,
303
+ class: "calendar__day"
304
+ }, [i("div", {
305
+ class: s(["day", m.classList(e)]),
306
+ onMouseover: (t) => m.dragDay(e),
307
+ onMousedown: (t) => m.mouseDown(e)
308
+ }, d(e.value), 43, _)]))), 128))])], 32)]);
309
+ }
310
+ var y = /* @__PURE__ */ e(m, [["render", v], ["__scopeId", "data-v-2a7f150d"]]), b = {
311
+ name: "YearCalendar",
312
+ components: { MonthCalendar: y },
313
+ props: {
314
+ showYearSelector: {
315
+ type: Boolean,
316
+ default: () => !0
317
+ },
318
+ activeDates: {
319
+ type: Array,
320
+ default: () => [],
321
+ validator: (e) => {
322
+ let t = !0, n = null;
323
+ return e.forEach((e) => {
324
+ typeof e == "string" ? n = e : typeof e == "object" && Object.prototype.hasOwnProperty.call(e, "date") && (n = e.date), /^\d{4}\-\d{1,2}\-\d{1,2}$/.test(n) || (t = !1);
325
+ let r = n.split("-"), i = parseInt(r[2], 10), a = parseInt(r[1], 10), o = parseInt(r[0], 10);
326
+ (o < 1e3 || o > 3e3 || a === 0 || a > 12) && (t = !1);
327
+ let s = [
328
+ 31,
329
+ 28,
330
+ 31,
331
+ 30,
332
+ 31,
333
+ 30,
334
+ 31,
335
+ 31,
336
+ 30,
337
+ 31,
338
+ 30,
339
+ 31
340
+ ];
341
+ (o % 400 == 0 || o % 100 != 0 && o % 4 == 0) && (s[1] = 29), i > 0 && i <= s[a - 1] || (t = !1);
342
+ }), t;
343
+ }
344
+ },
345
+ modelValue: {
346
+ type: [String, Number],
347
+ default: p().year()
348
+ },
349
+ lang: {
350
+ type: String,
351
+ default: "en"
352
+ },
353
+ activeClass: {
354
+ type: String,
355
+ default: () => ""
356
+ },
357
+ prefixClass: {
358
+ type: String,
359
+ default: () => "calendar--active"
360
+ },
361
+ hideWeekend: {
362
+ type: Boolean,
363
+ default: !1
364
+ },
365
+ hideSunday: {
366
+ type: Boolean,
367
+ default: !1
368
+ }
369
+ },
370
+ emits: [
371
+ "toggleDate",
372
+ "monthClick",
373
+ "update:activeDates",
374
+ "update:modelValue"
375
+ ],
376
+ data() {
377
+ return { isUsingString: !0 };
378
+ },
379
+ computed: {
380
+ month() {
381
+ let e = {};
382
+ return this.activeDates.forEach((t) => {
383
+ let n;
384
+ if (n = typeof t == "string" ? {
385
+ date: t,
386
+ className: this.activeClass
387
+ } : {
388
+ date: t.date,
389
+ className: t.className || ""
390
+ }, p(n.date).year() !== parseInt(this.modelValue)) return;
391
+ let r = (p(n.date).month() + 1).toString();
392
+ e[r] || (e[r] = []), e[r].push(n);
393
+ }), e;
394
+ },
395
+ activeYear: {
396
+ get() {
397
+ return parseInt(this.modelValue);
398
+ },
399
+ set(e) {
400
+ this.$emit("update:modelValue", e);
401
+ }
402
+ }
403
+ },
404
+ created() {
405
+ this.isUsingString = this.activeDates.length && typeof this.activeDates[0] == "string";
406
+ },
407
+ methods: {
408
+ changeYear(e) {
409
+ this.activeYear = e + this.activeYear - 3;
410
+ },
411
+ toggleDate(e) {
412
+ let t = p().set("year", this.modelValue).set("month", e.month - 1).set("date", e.date).format("YYYY-MM-DD");
413
+ this.$emit("toggleDate", {
414
+ date: t,
415
+ selected: e.selected,
416
+ className: e.className
417
+ });
418
+ let n, r;
419
+ if (this.isUsingString) n = this.activeDates.indexOf(t), r = this.modifiedActiveDates(n, t);
420
+ else {
421
+ let i = {
422
+ date: t,
423
+ className: e.className
424
+ };
425
+ n = this.activeDates.indexOf(this.activeDates.find((e) => e.date === t)), r = this.modifiedActiveDates(n, i);
426
+ }
427
+ this.$emit("update:activeDates", r);
428
+ },
429
+ modifiedActiveDates(e, t) {
430
+ let n = [...this.activeDates];
431
+ return e === -1 ? n.push(t) : n.splice(e, 1), n;
432
+ },
433
+ monthClick(e) {
434
+ this.$emit("monthClick", e);
435
+ }
436
+ }
437
+ }, x = { class: "vue-calendar__container" }, S = {
438
+ key: 0,
439
+ class: "container__year"
440
+ }, C = ["onClick"];
441
+ function w(e, c, f, p, m, h) {
442
+ let g = y;
443
+ return l(), r("div", x, [f.showYearSelector ? (l(), r("div", S, [
444
+ n(" <span><button @click=\"addYear(-1)\">back</button></span> "),
445
+ (l(), r(t, null, u(5, (e) => i("span", {
446
+ key: e,
447
+ class: "year__chooser",
448
+ onClick: (t) => h.changeYear(e)
449
+ }, d(e + h.activeYear - 3), 9, C)), 64)),
450
+ n(" <span><button @click=\"addYear(1)\">next</button></span> ")
451
+ ])) : n("v-if", !0), i("div", { class: s(["container__months", {
452
+ "hide-weekend": f.hideWeekend,
453
+ "hide-sunday": f.hideSunday
454
+ }]) }, [(l(), r(t, null, u(12, (e) => o(g, {
455
+ key: `month-${e}`,
456
+ class: "container__month",
457
+ year: h.activeYear,
458
+ month: e,
459
+ "active-dates": h.month[e],
460
+ "active-class": f.activeClass,
461
+ lang: f.lang,
462
+ "prefix-class": f.prefixClass,
463
+ onToggleDate: h.toggleDate,
464
+ onMonthClickEvent: h.monthClick
465
+ }, null, 8, [
466
+ "year",
467
+ "month",
468
+ "active-dates",
469
+ "active-class",
470
+ "lang",
471
+ "prefix-class",
472
+ "onToggleDate",
473
+ "onMonthClickEvent"
474
+ ])), 64)), c[0] || (c[0] = a("<div class=\"container__month p-0\" data-v-5cc87b9a></div><div class=\"container__month p-0\" data-v-5cc87b9a></div><div class=\"container__month p-0\" data-v-5cc87b9a></div><div class=\"container__month p-0\" data-v-5cc87b9a></div><div class=\"container__month p-0\" data-v-5cc87b9a></div>", 5))], 2)]);
475
+ }
476
+ var T = /* @__PURE__ */ e(b, [["render", w], ["__scopeId", "data-v-5cc87b9a"]]);
477
+ //#endregion
478
+ export { T as t };