@eodash/eodash 5.0.0-alpha.2.1 → 5.0.0-alpha.2.4

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 (94) hide show
  1. package/README.md +10 -1
  2. package/core/client/App.vue +27 -0
  3. package/core/client/SuspensedDashboard.ce.vue +91 -0
  4. package/core/client/components/DashboardLayout.vue +36 -0
  5. package/core/client/components/ErrorAlert.vue +19 -0
  6. package/core/{components → client/components}/Loading.vue +12 -1
  7. package/core/{components → client/components}/MobileLayout.vue +19 -11
  8. package/core/{composables → client/composables}/DefineWidgets.js +11 -5
  9. package/core/{composables → client/composables}/index.js +16 -13
  10. package/core/{eodash.js → client/eodash.js} +0 -2
  11. package/core/{plugins → client/plugins}/vuetify.js +9 -3
  12. package/core/{store → client/store}/stac.js +6 -2
  13. package/core/{types.d.ts → client/types.d.ts} +11 -25
  14. package/core/{views → client/views}/Dashboard.vue +35 -6
  15. package/dist/client/DashboardLayout-ZaSRMD1M.js +149 -0
  16. package/dist/{DynamicWebComponent-BrHVTesn.js → client/DynamicWebComponent-C4Hotc4H.js} +12 -12
  17. package/dist/client/EodashDatePicker-C4kKjxKy.js +1653 -0
  18. package/dist/{EodashItemFilter-BLAGx2UD.js → client/EodashItemFilter-cBHC0YEM.js} +2 -2
  19. package/dist/{EodashMap-Bxl_aqY2.js → client/EodashMap-CGrQjZ1P.js} +2490 -2496
  20. package/dist/client/Footer-pS636dEP.js +118 -0
  21. package/dist/{Header-DC50S6GR.js → client/Header-DQuaLdjl.js} +225 -229
  22. package/dist/{IframeWrapper-Dd9zrX9s.js → client/IframeWrapper-Cg3GMmfW.js} +1 -1
  23. package/dist/client/MobileLayout-BLXFBWI_.js +987 -0
  24. package/dist/client/VMain-BHYlmRic.js +39 -0
  25. package/dist/{WidgetsContainer-DxfCu0I3.js → client/WidgetsContainer-dje9QSk0.js} +18 -18
  26. package/dist/client/asWebComponent-Bvb3xkxI.js +13311 -0
  27. package/dist/{decoder-kAoyGIq9-BBR5CgzS.js → client/decoder-HRvnjnEI-BQ2rajuJ.js} +1 -1
  28. package/dist/client/eo-dash.js +6 -0
  29. package/dist/{eox-map-BJ9SIixs.js → client/eox-map-C3DL31fp.js} +1882 -1809
  30. package/dist/client/eox-stacinfo-l7ALSV90.js +13969 -0
  31. package/dist/{index-DTkOfh2g.js → client/index-CaDDfJYE.js} +75 -43
  32. package/dist/client/index-DlNICb3T.js +34 -0
  33. package/dist/{lerc-C9VL9kri-cIdbW0sg.js → client/lerc-_E46UbWQ-Beu35ovS.js} +1 -1
  34. package/dist/{ssrBoot-D-b4-M19.js → client/ssrBoot-Dd7m-btU.js} +3 -3
  35. package/dist/client/style.css +5 -0
  36. package/dist/node/cli.js +20 -0
  37. package/dist/node/main.js +2 -0
  38. package/{bin → dist/node}/types.d.ts +3 -2
  39. package/package.json +22 -20
  40. package/widgets/EodashDatePicker.vue +1 -0
  41. package/widgets/EodashItemFilter.vue +1 -1
  42. package/widgets/WidgetsContainer.vue +7 -5
  43. package/bin/app.js +0 -22
  44. package/bin/cli.js +0 -62
  45. package/bin/main.js +0 -9
  46. package/bin/serverConfig.js +0 -165
  47. package/bin/utils.js +0 -103
  48. package/core/App.vue +0 -19
  49. package/core/SuspensedDashboard.ce.vue +0 -65
  50. package/core/components/DashboardLayout.vue +0 -44
  51. package/dist/DashboardLayout-Dp8AnYD9.js +0 -141
  52. package/dist/EodashDatePicker-D_udZ26j.js +0 -1645
  53. package/dist/Footer-AohCH8U7.js +0 -118
  54. package/dist/MobileLayout-CgToA7Gp.js +0 -523
  55. package/dist/VBtn-Bz7ruRUg.js +0 -1106
  56. package/dist/VMain-BHfWJU2j.js +0 -35
  57. package/dist/asWebComponent-C8rb3b1D.js +0 -11323
  58. package/dist/color-DpYEub1f.js +0 -115
  59. package/dist/dimensions-CJaGeSrj.js +0 -53
  60. package/dist/eo-dash.js +0 -6
  61. package/dist/eox-stacinfo-B-YrT7Ug.js +0 -13698
  62. package/dist/index-Sa2Vg_gx.js +0 -65
  63. package/dist/style.css +0 -5
  64. /package/core/{asWebComponent.d.ts → client/asWebComponent.d.ts} +0 -0
  65. /package/core/{asWebComponent.js → client/asWebComponent.js} +0 -0
  66. /package/core/{components → client/components}/DynamicWebComponent.vue +0 -0
  67. /package/core/{components → client/components}/Footer.vue +0 -0
  68. /package/core/{components → client/components}/Header.vue +0 -0
  69. /package/core/{components → client/components}/IframeWrapper.vue +0 -0
  70. /package/core/{composables → client/composables}/DefineEodash.js +0 -0
  71. /package/core/{main.js → client/main.js} +0 -0
  72. /package/core/{plugins → client/plugins}/index.js +0 -0
  73. /package/core/{render.js → client/render.js} +0 -0
  74. /package/core/{store → client/store}/Actions.js +0 -0
  75. /package/core/{store → client/store}/States.js +0 -0
  76. /package/core/{store → client/store}/index.js +0 -0
  77. /package/core/{utils → client/utils}/eodashSTAC.js +0 -0
  78. /package/core/{utils → client/utils}/helpers.js +0 -0
  79. /package/core/{utils → client/utils}/index.js +0 -0
  80. /package/core/{utils → client/utils}/keys.js +0 -0
  81. /package/core/{vite-env.d.ts → client/vite-env.d.ts} +0 -0
  82. /package/dist/{.gitkeep → client/.gitkeep} +0 -0
  83. /package/dist/{_commonjsHelpers-DaMA6jEr.js → client/_commonjsHelpers-DaMA6jEr.js} +0 -0
  84. /package/dist/{basedecoder-Qm25PwVp-CHo5Pomv.js → client/basedecoder-Qm25PwVp-CHo5Pomv.js} +0 -0
  85. /package/dist/{deflate-Be2Arps5-hDqMz3RA.js → client/deflate-Be2Arps5-hDqMz3RA.js} +0 -0
  86. /package/dist/{eox-itemfilter-DcQkRD2l.js → client/eox-itemfilter-DcQkRD2l.js} +0 -0
  87. /package/dist/{forwardRefs-Bxeu9Obx.js → client/forwardRefs-Bxeu9Obx.js} +0 -0
  88. /package/dist/{jpeg-DNfUpLwy-Fjan-04T.js → client/jpeg-DNfUpLwy-Fjan-04T.js} +0 -0
  89. /package/dist/{lzw-BOMhmEDy-Dboc93VO.js → client/lzw-BOMhmEDy-Dboc93VO.js} +0 -0
  90. /package/dist/{packbits-DaUD6MLm-Bu1PoTGa.js → client/packbits-DaUD6MLm-Bu1PoTGa.js} +0 -0
  91. /package/dist/{pako.esm-C3kYPGGQ-BMki8cQY.js → client/pako.esm-C3kYPGGQ-BMki8cQY.js} +0 -0
  92. /package/dist/{raw-CcGKjn8q-DFOt-i8n.js → client/raw-CcGKjn8q-DFOt-i8n.js} +0 -0
  93. /package/dist/{webfontloader-CyOFAuFB.js → client/webfontloader-CyOFAuFB.js} +0 -0
  94. /package/dist/{webimage-D2c098k3-DLj1LQxB.js → client/webimage-D2c098k3-DLj1LQxB.js} +0 -0
@@ -0,0 +1,1653 @@
1
+ import { au as Ie, p, g as Y, c as f, a as O, b as a, V as j, R as oe, am as X, av as U, aw as Z, y as W, ax as H, ay as lt, r as T, s as J, w as z, a8 as it, az as Me, ar as pe, d as N, C as ce, aA as st, Z as ve, D as ie, ai as ot, e as K, ab as Ae, aj as rt, aB as ut, aC as dt, ad as Be, f as ct, h as re, i as fe, S as me, ak as vt, ac as Fe, al as ft, aD as mt, aE as yt, ae as $e, o as se, l as Ye, F as Q, t as ye, B as Oe, M as ht, aF as Ne, I as G, aG as kt, aH as gt, j as Te, aI as he, u as Re, aJ as bt, aK as Vt, aL as xt, x as Ct, O as Pt, a2 as St, af as _t, ah as Dt, aq as ge, P as wt, aM as It, Q as Mt, aN as pt, v as At, aO as Bt, aP as Ft, _ as de, a5 as be, $ as $t, aQ as ne } from "./asWebComponent-Bvb3xkxI.js";
2
+ import { M as ue, V as Yt, m as Ee, b as We, c as Ot } from "./index-CaDDfJYE.js";
3
+ import { n as Nt, a as Tt, s as Rt, f as Et } from "./forwardRefs-Bxeu9Obx.js";
4
+ import { I as Wt } from "./index-DlNICb3T.js";
5
+ const Lt = Ie("v-spacer", "div", "VSpacer"), Le = p({
6
+ active: {
7
+ type: [String, Array],
8
+ default: void 0
9
+ },
10
+ disabled: {
11
+ type: [Boolean, String, Array],
12
+ default: !1
13
+ },
14
+ nextIcon: {
15
+ type: [String],
16
+ default: "$next"
17
+ },
18
+ prevIcon: {
19
+ type: [String],
20
+ default: "$prev"
21
+ },
22
+ modeIcon: {
23
+ type: [String],
24
+ default: "$subgroup"
25
+ },
26
+ text: String,
27
+ viewMode: {
28
+ type: String,
29
+ default: "month"
30
+ }
31
+ }, "VDatePickerControls"), Ve = Y()({
32
+ name: "VDatePickerControls",
33
+ props: Le(),
34
+ emits: {
35
+ "click:year": () => !0,
36
+ "click:month": () => !0,
37
+ "click:prev": () => !0,
38
+ "click:next": () => !0,
39
+ "click:text": () => !0
40
+ },
41
+ setup(e, n) {
42
+ let {
43
+ emit: o
44
+ } = n;
45
+ const u = f(() => Array.isArray(e.disabled) ? e.disabled.includes("text") : !!e.disabled), t = f(() => Array.isArray(e.disabled) ? e.disabled.includes("mode") : !!e.disabled), s = f(() => Array.isArray(e.disabled) ? e.disabled.includes("prev") : !!e.disabled), l = f(() => Array.isArray(e.disabled) ? e.disabled.includes("next") : !!e.disabled);
46
+ function d() {
47
+ o("click:prev");
48
+ }
49
+ function c() {
50
+ o("click:next");
51
+ }
52
+ function r() {
53
+ o("click:year");
54
+ }
55
+ function m() {
56
+ o("click:month");
57
+ }
58
+ return O(() => a("div", {
59
+ class: ["v-date-picker-controls"]
60
+ }, [a(j, {
61
+ class: "v-date-picker-controls__month-btn",
62
+ disabled: u.value,
63
+ text: e.text,
64
+ variant: "text",
65
+ rounded: !0,
66
+ onClick: m
67
+ }, null), a(j, {
68
+ key: "mode-btn",
69
+ class: "v-date-picker-controls__mode-btn",
70
+ disabled: t.value,
71
+ density: "comfortable",
72
+ icon: e.modeIcon,
73
+ variant: "text",
74
+ onClick: r
75
+ }, null), a(Lt, {
76
+ key: "mode-spacer"
77
+ }, null), a("div", {
78
+ key: "month-buttons",
79
+ class: "v-date-picker-controls__month"
80
+ }, [a(j, {
81
+ disabled: s.value,
82
+ icon: e.prevIcon,
83
+ variant: "text",
84
+ onClick: d
85
+ }, null), a(j, {
86
+ disabled: l.value,
87
+ icon: e.nextIcon,
88
+ variant: "text",
89
+ onClick: c
90
+ }, null)])])), {};
91
+ }
92
+ }), jt = p({
93
+ appendIcon: String,
94
+ color: String,
95
+ header: String,
96
+ transition: String,
97
+ onClick: U()
98
+ }, "VDatePickerHeader"), xe = Y()({
99
+ name: "VDatePickerHeader",
100
+ props: jt(),
101
+ emits: {
102
+ click: () => !0,
103
+ "click:append": () => !0
104
+ },
105
+ setup(e, n) {
106
+ let {
107
+ emit: o,
108
+ slots: u
109
+ } = n;
110
+ const {
111
+ backgroundColorClasses: t,
112
+ backgroundColorStyles: s
113
+ } = oe(e, "color");
114
+ function l() {
115
+ o("click");
116
+ }
117
+ function d() {
118
+ o("click:append");
119
+ }
120
+ return O(() => {
121
+ const c = !!(u.default || e.header), r = !!(u.append || e.appendIcon);
122
+ return a("div", {
123
+ class: ["v-date-picker-header", {
124
+ "v-date-picker-header--clickable": !!e.onClick
125
+ }, t.value],
126
+ style: s.value,
127
+ onClick: l
128
+ }, [u.prepend && a("div", {
129
+ key: "prepend",
130
+ class: "v-date-picker-header__prepend"
131
+ }, [u.prepend()]), c && a(ue, {
132
+ key: "content",
133
+ name: e.transition
134
+ }, {
135
+ default: () => [a("div", {
136
+ key: e.header,
137
+ class: "v-date-picker-header__content"
138
+ }, [u.default?.() ?? e.header])]
139
+ }), r && a("div", {
140
+ class: "v-date-picker-header__append"
141
+ }, [u.append ? a(X, {
142
+ key: "append-defaults",
143
+ disabled: !e.appendIcon,
144
+ defaults: {
145
+ VBtn: {
146
+ icon: e.appendIcon,
147
+ variant: "text"
148
+ }
149
+ }
150
+ }, {
151
+ default: () => [u.append?.()]
152
+ }) : a(j, {
153
+ key: "append-btn",
154
+ icon: e.appendIcon,
155
+ variant: "text",
156
+ onClick: d
157
+ }, null)])]);
158
+ }), {};
159
+ }
160
+ }), Ut = p({
161
+ allowedDates: [Array, Function],
162
+ disabled: Boolean,
163
+ displayValue: null,
164
+ modelValue: Array,
165
+ month: [Number, String],
166
+ max: null,
167
+ min: null,
168
+ showAdjacentMonths: Boolean,
169
+ year: [Number, String],
170
+ weekdays: {
171
+ type: Array,
172
+ default: () => [0, 1, 2, 3, 4, 5, 6]
173
+ },
174
+ weeksInMonth: {
175
+ type: String,
176
+ default: "dynamic"
177
+ }
178
+ }, "calendar");
179
+ function Ht(e) {
180
+ const n = Z(), o = W(e, "modelValue", [], (y) => H(y)), u = f(() => e.displayValue ? n.date(e.displayValue) : o.value.length > 0 ? n.date(o.value[0]) : e.min ? n.date(e.min) : Array.isArray(e.allowedDates) ? n.date(e.allowedDates[0]) : n.date()), t = W(e, "year", void 0, (y) => {
181
+ const k = y != null ? Number(y) : n.getYear(u.value);
182
+ return n.startOfYear(n.setYear(n.date(), k));
183
+ }, (y) => n.getYear(y)), s = W(e, "month", void 0, (y) => {
184
+ const k = y != null ? Number(y) : n.getMonth(u.value), h = n.setYear(n.startOfMonth(n.date()), n.getYear(t.value));
185
+ return n.setMonth(h, k);
186
+ }, (y) => n.getMonth(y)), l = f(() => {
187
+ const y = n.getWeekArray(s.value), k = y.flat(), h = 6 * 7;
188
+ if (e.weeksInMonth === "static" && k.length < h) {
189
+ const V = k[k.length - 1];
190
+ let D = [];
191
+ for (let i = 1; i <= h - k.length; i++)
192
+ D.push(n.addDays(V, i)), i % 7 === 0 && (y.push(D), D = []);
193
+ }
194
+ return y;
195
+ });
196
+ function d(y, k) {
197
+ return y.filter((h) => e.weekdays.includes(n.toJsDate(h).getDay())).map((h, V) => {
198
+ const D = n.toISO(h), i = !n.isSameMonth(h, s.value), x = n.isSameDay(h, n.startOfMonth(s.value)), S = n.isSameDay(h, n.endOfMonth(s.value)), P = n.isSameDay(h, s.value);
199
+ return {
200
+ date: h,
201
+ isoDate: D,
202
+ formatted: n.format(h, "keyboardDate"),
203
+ year: n.getYear(h),
204
+ month: n.getMonth(h),
205
+ isDisabled: b(h),
206
+ isWeekStart: V % 7 === 0,
207
+ isWeekEnd: V % 7 === 6,
208
+ isToday: n.isSameDay(h, k),
209
+ isAdjacent: i,
210
+ isHidden: i && !e.showAdjacentMonths,
211
+ isStart: x,
212
+ isSelected: o.value.some((C) => n.isSameDay(h, C)),
213
+ isEnd: S,
214
+ isSame: P,
215
+ localized: n.format(h, "dayOfMonth")
216
+ };
217
+ });
218
+ }
219
+ const c = f(() => {
220
+ const y = n.startOfWeek(u.value), k = [];
221
+ for (let V = 0; V <= 6; V++)
222
+ k.push(n.addDays(y, V));
223
+ const h = n.date();
224
+ return d(k, h);
225
+ }), r = f(() => {
226
+ const y = l.value.flat(), k = n.date();
227
+ return d(y, k);
228
+ }), m = f(() => l.value.map((y) => y.length ? lt(n, y[0]) : null));
229
+ function b(y) {
230
+ if (e.disabled)
231
+ return !0;
232
+ const k = n.date(y);
233
+ return e.min && n.isAfter(n.date(e.min), k) || e.max && n.isAfter(k, n.date(e.max)) ? !0 : Array.isArray(e.allowedDates) && e.allowedDates.length > 0 ? !e.allowedDates.some((h) => n.isSameDay(n.date(h), k)) : typeof e.allowedDates == "function" ? !e.allowedDates(k) : !1;
234
+ }
235
+ return {
236
+ displayValue: u,
237
+ daysInMonth: r,
238
+ daysInWeek: c,
239
+ genDays: d,
240
+ model: o,
241
+ weeksInMonth: l,
242
+ weekNumbers: m
243
+ };
244
+ }
245
+ const je = p({
246
+ color: String,
247
+ hideWeekdays: Boolean,
248
+ multiple: [Boolean, Number, String],
249
+ showWeek: Boolean,
250
+ transition: {
251
+ type: String,
252
+ default: "picker-transition"
253
+ },
254
+ reverseTransition: {
255
+ type: String,
256
+ default: "picker-reverse-transition"
257
+ },
258
+ ...Ut()
259
+ }, "VDatePickerMonth"), Ce = Y()({
260
+ name: "VDatePickerMonth",
261
+ props: je(),
262
+ emits: {
263
+ "update:modelValue": (e) => !0,
264
+ "update:month": (e) => !0,
265
+ "update:year": (e) => !0
266
+ },
267
+ setup(e, n) {
268
+ let {
269
+ emit: o,
270
+ slots: u
271
+ } = n;
272
+ const t = T(), {
273
+ daysInMonth: s,
274
+ model: l,
275
+ weekNumbers: d
276
+ } = Ht(e), c = Z(), r = J(), m = J(), b = J(!1), y = f(() => b.value ? e.reverseTransition : e.transition);
277
+ e.multiple === "range" && l.value.length > 0 && (r.value = l.value[0], l.value.length > 1 && (m.value = l.value[l.value.length - 1]));
278
+ const k = f(() => {
279
+ const i = ["number", "string"].includes(typeof e.multiple) ? Number(e.multiple) : 1 / 0;
280
+ return l.value.length >= i;
281
+ });
282
+ z(s, (i, x) => {
283
+ x && (b.value = c.isBefore(i[0].date, x[0].date));
284
+ });
285
+ function h(i) {
286
+ const x = c.startOfDay(i);
287
+ if (!r.value)
288
+ r.value = x, l.value = [r.value];
289
+ else if (m.value)
290
+ r.value = i, m.value = void 0, l.value = [r.value];
291
+ else {
292
+ if (c.isSameDay(x, r.value)) {
293
+ r.value = void 0, l.value = [];
294
+ return;
295
+ } else
296
+ c.isBefore(x, r.value) ? (m.value = c.endOfDay(r.value), r.value = x) : m.value = c.endOfDay(x);
297
+ const S = c.getDiff(m.value, r.value, "days"), P = [r.value];
298
+ for (let C = 1; C < S; C++) {
299
+ const g = c.addDays(r.value, C);
300
+ P.push(g);
301
+ }
302
+ P.push(m.value), l.value = P;
303
+ }
304
+ }
305
+ function V(i) {
306
+ const x = l.value.findIndex((S) => c.isSameDay(S, i));
307
+ if (x === -1)
308
+ l.value = [...l.value, i];
309
+ else {
310
+ const S = [...l.value];
311
+ S.splice(x, 1), l.value = S;
312
+ }
313
+ }
314
+ function D(i) {
315
+ e.multiple === "range" ? h(i) : e.multiple ? V(i) : l.value = [i];
316
+ }
317
+ return () => a("div", {
318
+ class: "v-date-picker-month"
319
+ }, [e.showWeek && a("div", {
320
+ key: "weeks",
321
+ class: "v-date-picker-month__weeks"
322
+ }, [!e.hideWeekdays && a("div", {
323
+ key: "hide-week-days",
324
+ class: "v-date-picker-month__day"
325
+ }, [it(" ")]), d.value.map((i) => a("div", {
326
+ class: ["v-date-picker-month__day", "v-date-picker-month__day--adjacent"]
327
+ }, [i]))]), a(ue, {
328
+ name: y.value
329
+ }, {
330
+ default: () => [a("div", {
331
+ ref: t,
332
+ key: s.value[0].date?.toString(),
333
+ class: "v-date-picker-month__days"
334
+ }, [!e.hideWeekdays && c.getWeekdays().map((i) => a("div", {
335
+ class: ["v-date-picker-month__day", "v-date-picker-month__weekday"]
336
+ }, [i])), s.value.map((i, x) => {
337
+ const S = {
338
+ props: {
339
+ onClick: () => D(i.date)
340
+ },
341
+ item: i,
342
+ i: x
343
+ };
344
+ return k.value && !i.isSelected && (i.isDisabled = !0), a("div", {
345
+ class: ["v-date-picker-month__day", {
346
+ "v-date-picker-month__day--adjacent": i.isAdjacent,
347
+ "v-date-picker-month__day--hide-adjacent": i.isHidden,
348
+ "v-date-picker-month__day--selected": i.isSelected,
349
+ "v-date-picker-month__day--week-end": i.isWeekEnd,
350
+ "v-date-picker-month__day--week-start": i.isWeekStart
351
+ }],
352
+ "data-v-date": i.isDisabled ? void 0 : i.isoDate
353
+ }, [(e.showAdjacentMonths || !i.isAdjacent) && a(X, {
354
+ defaults: {
355
+ VBtn: {
356
+ class: "v-date-picker-month__day-btn",
357
+ color: (i.isSelected || i.isToday) && !i.isDisabled ? e.color : void 0,
358
+ disabled: i.isDisabled,
359
+ icon: !0,
360
+ ripple: !1,
361
+ text: i.localized,
362
+ variant: i.isDisabled ? i.isToday ? "outlined" : "text" : i.isToday && !i.isSelected ? "outlined" : "flat",
363
+ onClick: () => D(i.date)
364
+ }
365
+ }
366
+ }, {
367
+ default: () => [u.day?.(S) ?? a(j, S.props, null)]
368
+ })]);
369
+ })])]
370
+ })]);
371
+ }
372
+ }), Ue = p({
373
+ color: String,
374
+ height: [String, Number],
375
+ modelValue: Number
376
+ }, "VDatePickerMonths"), Pe = Y()({
377
+ name: "VDatePickerMonths",
378
+ props: Ue(),
379
+ emits: {
380
+ "update:modelValue": (e) => !0
381
+ },
382
+ setup(e, n) {
383
+ let {
384
+ emit: o,
385
+ slots: u
386
+ } = n;
387
+ const t = Z(), s = W(e, "modelValue"), l = f(() => {
388
+ let d = t.startOfYear(t.date());
389
+ return Me(12).map((c) => {
390
+ const r = t.format(d, "monthShort");
391
+ return d = t.getNextMonth(d), {
392
+ text: r,
393
+ value: c
394
+ };
395
+ });
396
+ });
397
+ return pe(() => {
398
+ s.value = s.value ?? t.getMonth(t.date());
399
+ }), O(() => a("div", {
400
+ class: "v-date-picker-months",
401
+ style: {
402
+ height: ce(e.height)
403
+ }
404
+ }, [a("div", {
405
+ class: "v-date-picker-months__content"
406
+ }, [l.value.map((d, c) => {
407
+ const r = {
408
+ active: s.value === c,
409
+ color: s.value === c ? e.color : void 0,
410
+ rounded: !0,
411
+ text: d.text,
412
+ variant: s.value === d.value ? "flat" : "text",
413
+ onClick: () => m(c)
414
+ };
415
+ function m(b) {
416
+ if (s.value === b) {
417
+ o("update:modelValue", s.value);
418
+ return;
419
+ }
420
+ s.value = b;
421
+ }
422
+ return u.month?.({
423
+ month: d,
424
+ i: c,
425
+ props: r
426
+ }) ?? a(j, N({
427
+ key: "month"
428
+ }, r), null);
429
+ })])])), {};
430
+ }
431
+ }), He = p({
432
+ color: String,
433
+ height: [String, Number],
434
+ min: null,
435
+ max: null,
436
+ modelValue: Number
437
+ }, "VDatePickerYears"), Se = Y()({
438
+ name: "VDatePickerYears",
439
+ props: He(),
440
+ emits: {
441
+ "update:modelValue": (e) => !0
442
+ },
443
+ setup(e, n) {
444
+ let {
445
+ emit: o,
446
+ slots: u
447
+ } = n;
448
+ const t = Z(), s = W(e, "modelValue"), l = f(() => {
449
+ const c = t.getYear(t.date());
450
+ let r = c - 100, m = c + 52;
451
+ e.min && (r = t.getYear(t.date(e.min))), e.max && (m = t.getYear(t.date(e.max)));
452
+ let b = t.startOfYear(t.date());
453
+ return b = t.setYear(b, r), Me(m - r + 1, r).map((y) => {
454
+ const k = t.format(b, "year");
455
+ return b = t.setYear(b, t.getYear(b) + 1), {
456
+ text: k,
457
+ value: y
458
+ };
459
+ });
460
+ });
461
+ pe(() => {
462
+ s.value = s.value ?? t.getYear(t.date());
463
+ });
464
+ const d = st();
465
+ return ve(async () => {
466
+ await ie(), d.el?.scrollIntoView({
467
+ block: "center"
468
+ });
469
+ }), O(() => a("div", {
470
+ class: "v-date-picker-years",
471
+ style: {
472
+ height: ce(e.height)
473
+ }
474
+ }, [a("div", {
475
+ class: "v-date-picker-years__content"
476
+ }, [l.value.map((c, r) => {
477
+ const m = {
478
+ ref: s.value === c.value ? d : void 0,
479
+ active: s.value === c.value,
480
+ color: s.value === c.value ? e.color : void 0,
481
+ rounded: !0,
482
+ text: c.text,
483
+ variant: s.value === c.value ? "flat" : "text",
484
+ onClick: () => {
485
+ if (s.value === c.value) {
486
+ o("update:modelValue", s.value);
487
+ return;
488
+ }
489
+ s.value = c.value;
490
+ }
491
+ };
492
+ return u.year?.({
493
+ year: c,
494
+ i: r,
495
+ props: m
496
+ }) ?? a(j, N({
497
+ key: "month"
498
+ }, m), null);
499
+ })])])), {};
500
+ }
501
+ }), zt = Ie("v-picker-title"), ze = p({
502
+ color: String,
503
+ ...ot(),
504
+ ...K(),
505
+ ...Ae(),
506
+ ...rt(),
507
+ ...ut(),
508
+ ...dt(),
509
+ ...Be(),
510
+ ...ct(),
511
+ ...re()
512
+ }, "VSheet"), _e = Y()({
513
+ name: "VSheet",
514
+ props: ze(),
515
+ setup(e, n) {
516
+ let {
517
+ slots: o
518
+ } = n;
519
+ const {
520
+ themeClasses: u
521
+ } = fe(e), {
522
+ backgroundColorClasses: t,
523
+ backgroundColorStyles: s
524
+ } = oe(me(e, "color")), {
525
+ borderClasses: l
526
+ } = vt(e), {
527
+ dimensionStyles: d
528
+ } = Fe(e), {
529
+ elevationClasses: c
530
+ } = ft(e), {
531
+ locationStyles: r
532
+ } = mt(e), {
533
+ positionClasses: m
534
+ } = yt(e), {
535
+ roundedClasses: b
536
+ } = $e(e);
537
+ return O(() => a(e.tag, {
538
+ class: ["v-sheet", u.value, t.value, l.value, c.value, m.value, b.value, e.class],
539
+ style: [s.value, d.value, r.value, e.style]
540
+ }, o)), {};
541
+ }
542
+ }), Ke = p({
543
+ bgColor: String,
544
+ landscape: Boolean,
545
+ title: String,
546
+ hideHeader: Boolean,
547
+ ...ze()
548
+ }, "VPicker"), De = Y()({
549
+ name: "VPicker",
550
+ props: Ke(),
551
+ setup(e, n) {
552
+ let {
553
+ slots: o
554
+ } = n;
555
+ const {
556
+ backgroundColorClasses: u,
557
+ backgroundColorStyles: t
558
+ } = oe(me(e, "color"));
559
+ return O(() => {
560
+ const s = _e.filterProps(e), l = !!(e.title || o.title);
561
+ return a(_e, N(s, {
562
+ color: e.bgColor,
563
+ class: ["v-picker", {
564
+ "v-picker--landscape": e.landscape,
565
+ "v-picker--with-actions": !!o.actions
566
+ }, e.class],
567
+ style: e.style
568
+ }), {
569
+ default: () => [!e.hideHeader && a("div", {
570
+ key: "header",
571
+ class: [u.value],
572
+ style: [t.value]
573
+ }, [l && a(zt, {
574
+ key: "picker-title"
575
+ }, {
576
+ default: () => [o.title?.() ?? e.title]
577
+ }), o.header && a("div", {
578
+ class: "v-picker__header"
579
+ }, [o.header()])]), a("div", {
580
+ class: "v-picker__body"
581
+ }, [o.default?.()]), o.actions && a(X, {
582
+ defaults: {
583
+ VBtn: {
584
+ slim: !0,
585
+ variant: "text"
586
+ }
587
+ }
588
+ }, {
589
+ default: () => [a("div", {
590
+ class: "v-picker__actions"
591
+ }, [o.actions()])]
592
+ })]
593
+ });
594
+ }), {};
595
+ }
596
+ }), Kt = p({
597
+ // TODO: implement in v3.5
598
+ // calendarIcon: {
599
+ // type: String,
600
+ // default: '$calendar',
601
+ // },
602
+ // keyboardIcon: {
603
+ // type: String,
604
+ // default: '$edit',
605
+ // },
606
+ // inputMode: {
607
+ // type: String as PropType<'calendar' | 'keyboard'>,
608
+ // default: 'calendar',
609
+ // },
610
+ // inputText: {
611
+ // type: String,
612
+ // default: '$vuetify.datePicker.input.placeholder',
613
+ // },
614
+ // inputPlaceholder: {
615
+ // type: String,
616
+ // default: 'dd/mm/yyyy',
617
+ // },
618
+ header: {
619
+ type: String,
620
+ default: "$vuetify.datePicker.header"
621
+ },
622
+ ...Le(),
623
+ ...je({
624
+ weeksInMonth: "static"
625
+ }),
626
+ ...se(Ue(), ["modelValue"]),
627
+ ...se(He(), ["modelValue"]),
628
+ ...Ke({
629
+ title: "$vuetify.datePicker.title"
630
+ }),
631
+ modelValue: null
632
+ }, "VDatePicker"), qt = Y()({
633
+ name: "VDatePicker",
634
+ props: Kt(),
635
+ emits: {
636
+ "update:modelValue": (e) => !0,
637
+ "update:month": (e) => !0,
638
+ "update:year": (e) => !0,
639
+ // 'update:inputMode': (date: any) => true,
640
+ "update:viewMode": (e) => !0
641
+ },
642
+ setup(e, n) {
643
+ let {
644
+ emit: o,
645
+ slots: u
646
+ } = n;
647
+ const t = Z(), {
648
+ t: s
649
+ } = Ye(), l = W(e, "modelValue", void 0, (v) => H(v), (v) => e.multiple ? v : v[0]), d = W(e, "viewMode"), c = f(() => {
650
+ const v = t.date(l.value?.[0]);
651
+ return v && t.isValid(v) ? v : t.date();
652
+ }), r = T(Number(e.month ?? t.getMonth(t.startOfMonth(c.value)))), m = T(Number(e.year ?? t.getYear(t.startOfYear(t.setMonth(c.value, r.value))))), b = J(!1), y = f(() => e.multiple && l.value.length > 1 ? s("$vuetify.datePicker.itemsSelected", l.value.length) : l.value[0] && t.isValid(l.value[0]) ? t.format(t.date(l.value[0]), "normalDateWithWeekday") : s(e.header)), k = f(() => {
653
+ let v = t.date();
654
+ return v = t.setDate(v, 1), v = t.setMonth(v, r.value), v = t.setYear(v, m.value), t.format(v, "monthAndYear");
655
+ }), h = f(() => `date-picker-header${b.value ? "-reverse" : ""}-transition`), V = f(() => {
656
+ const v = t.date(e.min);
657
+ return e.min && t.isValid(v) ? v : null;
658
+ }), D = f(() => {
659
+ const v = t.date(e.max);
660
+ return e.max && t.isValid(v) ? v : null;
661
+ }), i = f(() => {
662
+ if (e.disabled)
663
+ return !0;
664
+ const v = [];
665
+ if (d.value !== "month")
666
+ v.push("prev", "next");
667
+ else {
668
+ let A = t.date();
669
+ if (A = t.setYear(A, m.value), A = t.setMonth(A, r.value), V.value) {
670
+ const B = t.addDays(t.startOfMonth(A), -1);
671
+ t.isAfter(V.value, B) && v.push("prev");
672
+ }
673
+ if (D.value) {
674
+ const B = t.addDays(t.endOfMonth(A), 1);
675
+ t.isAfter(B, D.value) && v.push("next");
676
+ }
677
+ }
678
+ return v;
679
+ });
680
+ function x() {
681
+ r.value < 11 ? r.value++ : (m.value++, r.value = 0, I(m.value)), _(r.value);
682
+ }
683
+ function S() {
684
+ r.value > 0 ? r.value-- : (m.value--, r.value = 11, I(m.value)), _(r.value);
685
+ }
686
+ function P() {
687
+ d.value = "month";
688
+ }
689
+ function C() {
690
+ d.value = d.value === "months" ? "month" : "months";
691
+ }
692
+ function g() {
693
+ d.value = d.value === "year" ? "month" : "year";
694
+ }
695
+ function _(v) {
696
+ d.value === "months" && C(), o("update:month", v);
697
+ }
698
+ function I(v) {
699
+ d.value === "year" && g(), o("update:year", v);
700
+ }
701
+ return z(l, (v, A) => {
702
+ const B = t.date(H(A)[A.length - 1]), R = t.date(H(v)[v.length - 1]), F = t.getMonth(R), M = t.getYear(R);
703
+ F !== r.value && (r.value = F, _(r.value)), M !== m.value && (m.value = M, I(m.value)), b.value = t.isBefore(B, R);
704
+ }), O(() => {
705
+ const v = De.filterProps(e), A = Ve.filterProps(e), B = xe.filterProps(e), R = Ce.filterProps(e), F = se(Pe.filterProps(e), ["modelValue"]), M = se(Se.filterProps(e), ["modelValue"]), $ = {
706
+ header: y.value,
707
+ transition: h.value
708
+ };
709
+ return a(De, N(v, {
710
+ class: ["v-date-picker", `v-date-picker--${d.value}`, {
711
+ "v-date-picker--show-week": e.showWeek
712
+ }, e.class],
713
+ style: e.style
714
+ }), {
715
+ title: () => u.title?.() ?? a("div", {
716
+ class: "v-date-picker__title"
717
+ }, [s(e.title)]),
718
+ header: () => u.header ? a(X, {
719
+ defaults: {
720
+ VDatePickerHeader: {
721
+ ...$
722
+ }
723
+ }
724
+ }, {
725
+ default: () => [u.header?.($)]
726
+ }) : a(xe, N({
727
+ key: "header"
728
+ }, B, $, {
729
+ onClick: d.value !== "month" ? P : void 0
730
+ }), {
731
+ ...u,
732
+ default: void 0
733
+ }),
734
+ default: () => a(Q, null, [a(Ve, N(A, {
735
+ disabled: i.value,
736
+ text: k.value,
737
+ "onClick:next": x,
738
+ "onClick:prev": S,
739
+ "onClick:month": C,
740
+ "onClick:year": g
741
+ }), null), a(Yt, {
742
+ hideOnLeave: !0
743
+ }, {
744
+ default: () => [d.value === "months" ? a(Pe, N({
745
+ key: "date-picker-months"
746
+ }, F, {
747
+ modelValue: r.value,
748
+ "onUpdate:modelValue": [(w) => r.value = w, _],
749
+ min: V.value,
750
+ max: D.value
751
+ }), null) : d.value === "year" ? a(Se, N({
752
+ key: "date-picker-years"
753
+ }, M, {
754
+ modelValue: m.value,
755
+ "onUpdate:modelValue": [(w) => m.value = w, I],
756
+ min: V.value,
757
+ max: D.value
758
+ }), null) : a(Ce, N({
759
+ key: "date-picker-month"
760
+ }, R, {
761
+ modelValue: l.value,
762
+ "onUpdate:modelValue": (w) => l.value = w,
763
+ month: r.value,
764
+ "onUpdate:month": [(w) => r.value = w, _],
765
+ year: m.value,
766
+ "onUpdate:year": [(w) => m.value = w, I],
767
+ min: V.value,
768
+ max: D.value
769
+ }), null)]
770
+ })]),
771
+ actions: u.actions
772
+ });
773
+ }), {};
774
+ }
775
+ }), Jt = p({
776
+ active: Boolean,
777
+ disabled: Boolean,
778
+ max: [Number, String],
779
+ value: {
780
+ type: [Number, String],
781
+ default: 0
782
+ },
783
+ ...K(),
784
+ ...Ee({
785
+ transition: {
786
+ component: We
787
+ }
788
+ })
789
+ }, "VCounter"), Qt = Y()({
790
+ name: "VCounter",
791
+ functional: !0,
792
+ props: Jt(),
793
+ setup(e, n) {
794
+ let {
795
+ slots: o
796
+ } = n;
797
+ const u = f(() => e.max ? `${e.value} / ${e.max}` : String(e.value));
798
+ return O(() => a(ue, {
799
+ transition: e.transition
800
+ }, {
801
+ default: () => [ye(a("div", {
802
+ class: ["v-counter", {
803
+ "text-error": e.max && !e.disabled && parseFloat(e.value) > parseFloat(e.max)
804
+ }, e.class],
805
+ style: e.style
806
+ }, [o.default ? o.default({
807
+ counter: u.value,
808
+ max: e.max,
809
+ value: e.value
810
+ }) : u.value]), [[Oe, e.active]])]
811
+ })), {};
812
+ }
813
+ }), Gt = p({
814
+ text: String,
815
+ onClick: U(),
816
+ ...K(),
817
+ ...re()
818
+ }, "VLabel"), Xt = Y()({
819
+ name: "VLabel",
820
+ props: Gt(),
821
+ setup(e, n) {
822
+ let {
823
+ slots: o
824
+ } = n;
825
+ return O(() => a("label", {
826
+ class: ["v-label", {
827
+ "v-label--clickable": !!e.onClick
828
+ }, e.class],
829
+ style: e.style,
830
+ onClick: e.onClick
831
+ }, [e.text, o.default?.()])), {};
832
+ }
833
+ }), Zt = p({
834
+ floating: Boolean,
835
+ ...K()
836
+ }, "VFieldLabel"), le = Y()({
837
+ name: "VFieldLabel",
838
+ props: Zt(),
839
+ setup(e, n) {
840
+ let {
841
+ slots: o
842
+ } = n;
843
+ return O(() => a(Xt, {
844
+ class: ["v-field-label", {
845
+ "v-field-label--floating": e.floating
846
+ }, e.class],
847
+ style: e.style,
848
+ "aria-hidden": e.floating || void 0
849
+ }, o)), {};
850
+ }
851
+ });
852
+ function qe(e) {
853
+ const {
854
+ t: n
855
+ } = Ye();
856
+ function o(u) {
857
+ let {
858
+ name: t
859
+ } = u;
860
+ const s = {
861
+ prepend: "prependAction",
862
+ prependInner: "prependAction",
863
+ append: "appendAction",
864
+ appendInner: "appendAction",
865
+ clear: "clear"
866
+ }[t], l = e[`onClick:${t}`], d = l && s ? n(`$vuetify.input.${s}`, e.label ?? "") : void 0;
867
+ return a(ht, {
868
+ icon: e[`${t}Icon`],
869
+ "aria-label": d,
870
+ onClick: l
871
+ }, null);
872
+ }
873
+ return {
874
+ InputIcon: o
875
+ };
876
+ }
877
+ const Je = p({
878
+ focused: Boolean,
879
+ "onUpdate:focused": U()
880
+ }, "focus");
881
+ function Qe(e) {
882
+ let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ne();
883
+ const o = W(e, "focused"), u = f(() => ({
884
+ [`${n}--focused`]: o.value
885
+ }));
886
+ function t() {
887
+ o.value = !0;
888
+ }
889
+ function s() {
890
+ o.value = !1;
891
+ }
892
+ return {
893
+ focusClasses: u,
894
+ isFocused: o,
895
+ focus: t,
896
+ blur: s
897
+ };
898
+ }
899
+ const ea = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"], Ge = p({
900
+ appendInnerIcon: G,
901
+ bgColor: String,
902
+ clearable: Boolean,
903
+ clearIcon: {
904
+ type: G,
905
+ default: "$clear"
906
+ },
907
+ active: Boolean,
908
+ centerAffix: {
909
+ type: Boolean,
910
+ default: void 0
911
+ },
912
+ color: String,
913
+ baseColor: String,
914
+ dirty: Boolean,
915
+ disabled: {
916
+ type: Boolean,
917
+ default: null
918
+ },
919
+ error: Boolean,
920
+ flat: Boolean,
921
+ label: String,
922
+ persistentClear: Boolean,
923
+ prependInnerIcon: G,
924
+ reverse: Boolean,
925
+ singleLine: Boolean,
926
+ variant: {
927
+ type: String,
928
+ default: "filled",
929
+ validator: (e) => ea.includes(e)
930
+ },
931
+ "onClick:clear": U(),
932
+ "onClick:appendInner": U(),
933
+ "onClick:prependInner": U(),
934
+ ...K(),
935
+ ...kt(),
936
+ ...Be(),
937
+ ...re()
938
+ }, "VField"), Xe = Y()({
939
+ name: "VField",
940
+ inheritAttrs: !1,
941
+ props: {
942
+ id: String,
943
+ ...Je(),
944
+ ...Ge()
945
+ },
946
+ emits: {
947
+ "update:focused": (e) => !0,
948
+ "update:modelValue": (e) => !0
949
+ },
950
+ setup(e, n) {
951
+ let {
952
+ attrs: o,
953
+ emit: u,
954
+ slots: t
955
+ } = n;
956
+ const {
957
+ themeClasses: s
958
+ } = fe(e), {
959
+ loaderClasses: l
960
+ } = gt(e), {
961
+ focusClasses: d,
962
+ isFocused: c,
963
+ focus: r,
964
+ blur: m
965
+ } = Qe(e), {
966
+ InputIcon: b
967
+ } = qe(e), {
968
+ roundedClasses: y
969
+ } = $e(e), {
970
+ rtlClasses: k
971
+ } = Te(), h = f(() => e.dirty || e.active), V = f(() => !e.singleLine && !!(e.label || t.label)), D = he(), i = f(() => e.id || `input-${D}`), x = f(() => `${i.value}-messages`), S = T(), P = T(), C = T(), g = f(() => ["plain", "underlined"].includes(e.variant)), {
972
+ backgroundColorClasses: _,
973
+ backgroundColorStyles: I
974
+ } = oe(me(e, "bgColor")), {
975
+ textColorClasses: v,
976
+ textColorStyles: A
977
+ } = Re(f(() => e.error || e.disabled ? void 0 : h.value && c.value ? e.color : e.baseColor));
978
+ z(h, (M) => {
979
+ if (V.value) {
980
+ const $ = S.value.$el, w = P.value.$el;
981
+ requestAnimationFrame(() => {
982
+ const L = Nt($), E = w.getBoundingClientRect(), q = E.x - L.x, ee = E.y - L.y - (L.height / 2 - E.height / 2), te = E.width / 0.75, ae = Math.abs(te - L.width) > 1 ? {
983
+ maxWidth: ce(te)
984
+ } : void 0, et = getComputedStyle($), ke = getComputedStyle(w), tt = parseFloat(et.transitionDuration) * 1e3 || 150, at = parseFloat(ke.getPropertyValue("--v-field-label-scale")), nt = ke.getPropertyValue("color");
985
+ $.style.visibility = "visible", w.style.visibility = "hidden", Tt($, {
986
+ transform: `translate(${q}px, ${ee}px) scale(${at})`,
987
+ color: nt,
988
+ ...ae
989
+ }, {
990
+ duration: tt,
991
+ easing: Rt,
992
+ direction: M ? "normal" : "reverse"
993
+ }).finished.then(() => {
994
+ $.style.removeProperty("visibility"), w.style.removeProperty("visibility");
995
+ });
996
+ });
997
+ }
998
+ }, {
999
+ flush: "post"
1000
+ });
1001
+ const B = f(() => ({
1002
+ isActive: h,
1003
+ isFocused: c,
1004
+ controlRef: C,
1005
+ blur: m,
1006
+ focus: r
1007
+ }));
1008
+ function R(M) {
1009
+ M.target !== document.activeElement && M.preventDefault();
1010
+ }
1011
+ function F(M) {
1012
+ M.key !== "Enter" && M.key !== " " || (M.preventDefault(), M.stopPropagation(), e["onClick:clear"]?.(new MouseEvent("click")));
1013
+ }
1014
+ return O(() => {
1015
+ const M = e.variant === "outlined", $ = !!(t["prepend-inner"] || e.prependInnerIcon), w = !!(e.clearable || t.clear), L = !!(t["append-inner"] || e.appendInnerIcon || w), E = () => t.label ? t.label({
1016
+ ...B.value,
1017
+ label: e.label,
1018
+ props: {
1019
+ for: i.value
1020
+ }
1021
+ }) : e.label;
1022
+ return a("div", N({
1023
+ class: ["v-field", {
1024
+ "v-field--active": h.value,
1025
+ "v-field--appended": L,
1026
+ "v-field--center-affix": e.centerAffix ?? !g.value,
1027
+ "v-field--disabled": e.disabled,
1028
+ "v-field--dirty": e.dirty,
1029
+ "v-field--error": e.error,
1030
+ "v-field--flat": e.flat,
1031
+ "v-field--has-background": !!e.bgColor,
1032
+ "v-field--persistent-clear": e.persistentClear,
1033
+ "v-field--prepended": $,
1034
+ "v-field--reverse": e.reverse,
1035
+ "v-field--single-line": e.singleLine,
1036
+ "v-field--no-label": !E(),
1037
+ [`v-field--variant-${e.variant}`]: !0
1038
+ }, s.value, _.value, d.value, l.value, y.value, k.value, e.class],
1039
+ style: [I.value, e.style],
1040
+ onClick: R
1041
+ }, o), [a("div", {
1042
+ class: "v-field__overlay"
1043
+ }, null), a(bt, {
1044
+ name: "v-field",
1045
+ active: !!e.loading,
1046
+ color: e.error ? "error" : typeof e.loading == "string" ? e.loading : e.color
1047
+ }, {
1048
+ default: t.loader
1049
+ }), $ && a("div", {
1050
+ key: "prepend",
1051
+ class: "v-field__prepend-inner"
1052
+ }, [e.prependInnerIcon && a(b, {
1053
+ key: "prepend-icon",
1054
+ name: "prependInner"
1055
+ }, null), t["prepend-inner"]?.(B.value)]), a("div", {
1056
+ class: "v-field__field",
1057
+ "data-no-activator": ""
1058
+ }, [["filled", "solo", "solo-inverted", "solo-filled"].includes(e.variant) && V.value && a(le, {
1059
+ key: "floating-label",
1060
+ ref: P,
1061
+ class: [v.value],
1062
+ floating: !0,
1063
+ for: i.value,
1064
+ style: A.value
1065
+ }, {
1066
+ default: () => [E()]
1067
+ }), a(le, {
1068
+ ref: S,
1069
+ for: i.value
1070
+ }, {
1071
+ default: () => [E()]
1072
+ }), t.default?.({
1073
+ ...B.value,
1074
+ props: {
1075
+ id: i.value,
1076
+ class: "v-field__input",
1077
+ "aria-describedby": x.value
1078
+ },
1079
+ focus: r,
1080
+ blur: m
1081
+ })]), w && a(Ot, {
1082
+ key: "clear"
1083
+ }, {
1084
+ default: () => [ye(a("div", {
1085
+ class: "v-field__clearable",
1086
+ onMousedown: (q) => {
1087
+ q.preventDefault(), q.stopPropagation();
1088
+ }
1089
+ }, [a(X, {
1090
+ defaults: {
1091
+ VIcon: {
1092
+ icon: e.clearIcon
1093
+ }
1094
+ }
1095
+ }, {
1096
+ default: () => [t.clear ? t.clear({
1097
+ ...B.value,
1098
+ props: {
1099
+ onKeydown: F,
1100
+ onFocus: r,
1101
+ onBlur: m,
1102
+ onClick: e["onClick:clear"]
1103
+ }
1104
+ }) : a(b, {
1105
+ name: "clear",
1106
+ onKeydown: F,
1107
+ onFocus: r,
1108
+ onBlur: m
1109
+ }, null)]
1110
+ })]), [[Oe, e.dirty]])]
1111
+ }), L && a("div", {
1112
+ key: "append",
1113
+ class: "v-field__append-inner"
1114
+ }, [t["append-inner"]?.(B.value), e.appendInnerIcon && a(b, {
1115
+ key: "append-icon",
1116
+ name: "appendInner"
1117
+ }, null)]), a("div", {
1118
+ class: ["v-field__outline", v.value],
1119
+ style: A.value
1120
+ }, [M && a(Q, null, [a("div", {
1121
+ class: "v-field__outline__start"
1122
+ }, null), V.value && a("div", {
1123
+ class: "v-field__outline__notch"
1124
+ }, [a(le, {
1125
+ ref: P,
1126
+ floating: !0,
1127
+ for: i.value
1128
+ }, {
1129
+ default: () => [E()]
1130
+ })]), a("div", {
1131
+ class: "v-field__outline__end"
1132
+ }, null)]), g.value && V.value && a(le, {
1133
+ ref: P,
1134
+ floating: !0,
1135
+ for: i.value
1136
+ }, {
1137
+ default: () => [E()]
1138
+ })])]);
1139
+ }), {
1140
+ controlRef: C
1141
+ };
1142
+ }
1143
+ });
1144
+ function ta(e) {
1145
+ const n = Object.keys(Xe.props).filter((o) => !Vt(o) && o !== "class" && o !== "style");
1146
+ return xt(e, n);
1147
+ }
1148
+ const aa = p({
1149
+ active: Boolean,
1150
+ color: String,
1151
+ messages: {
1152
+ type: [Array, String],
1153
+ default: () => []
1154
+ },
1155
+ ...K(),
1156
+ ...Ee({
1157
+ transition: {
1158
+ component: We,
1159
+ leaveAbsolute: !0,
1160
+ group: !0
1161
+ }
1162
+ })
1163
+ }, "VMessages"), na = Y()({
1164
+ name: "VMessages",
1165
+ props: aa(),
1166
+ setup(e, n) {
1167
+ let {
1168
+ slots: o
1169
+ } = n;
1170
+ const u = f(() => H(e.messages)), {
1171
+ textColorClasses: t,
1172
+ textColorStyles: s
1173
+ } = Re(f(() => e.color));
1174
+ return O(() => a(ue, {
1175
+ transition: e.transition,
1176
+ tag: "div",
1177
+ class: ["v-messages", t.value, e.class],
1178
+ style: [s.value, e.style],
1179
+ role: "alert",
1180
+ "aria-live": "polite"
1181
+ }, {
1182
+ default: () => [e.active && u.value.map((l, d) => a("div", {
1183
+ class: "v-messages__message",
1184
+ key: `${d}-${u.value}`
1185
+ }, [o.message ? o.message({
1186
+ message: l
1187
+ }) : l]))]
1188
+ })), {};
1189
+ }
1190
+ }), la = Symbol.for("vuetify:form");
1191
+ function ia() {
1192
+ return Ct(la, null);
1193
+ }
1194
+ const sa = p({
1195
+ disabled: {
1196
+ type: Boolean,
1197
+ default: null
1198
+ },
1199
+ error: Boolean,
1200
+ errorMessages: {
1201
+ type: [Array, String],
1202
+ default: () => []
1203
+ },
1204
+ maxErrors: {
1205
+ type: [Number, String],
1206
+ default: 1
1207
+ },
1208
+ name: String,
1209
+ label: String,
1210
+ readonly: {
1211
+ type: Boolean,
1212
+ default: null
1213
+ },
1214
+ rules: {
1215
+ type: Array,
1216
+ default: () => []
1217
+ },
1218
+ modelValue: null,
1219
+ validateOn: String,
1220
+ validationValue: null,
1221
+ ...Je()
1222
+ }, "validation");
1223
+ function oa(e) {
1224
+ let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ne(), o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : he();
1225
+ const u = W(e, "modelValue"), t = f(() => e.validationValue === void 0 ? u.value : e.validationValue), s = ia(), l = T([]), d = J(!0), c = f(() => !!(H(u.value === "" ? null : u.value).length || H(t.value === "" ? null : t.value).length)), r = f(() => !!(e.disabled ?? s?.isDisabled.value)), m = f(() => !!(e.readonly ?? s?.isReadonly.value)), b = f(() => e.errorMessages?.length ? H(e.errorMessages).concat(l.value).slice(0, Math.max(0, +e.maxErrors)) : l.value), y = f(() => {
1226
+ let C = (e.validateOn ?? s?.validateOn.value) || "input";
1227
+ C === "lazy" && (C = "input lazy");
1228
+ const g = new Set(C?.split(" ") ?? []);
1229
+ return {
1230
+ blur: g.has("blur") || g.has("input"),
1231
+ input: g.has("input"),
1232
+ submit: g.has("submit"),
1233
+ lazy: g.has("lazy")
1234
+ };
1235
+ }), k = f(() => e.error || e.errorMessages?.length ? !1 : e.rules.length ? d.value ? l.value.length || y.value.lazy ? null : !0 : !l.value.length : !0), h = J(!1), V = f(() => ({
1236
+ [`${n}--error`]: k.value === !1,
1237
+ [`${n}--dirty`]: c.value,
1238
+ [`${n}--disabled`]: r.value,
1239
+ [`${n}--readonly`]: m.value
1240
+ })), D = Pt("validation"), i = f(() => e.name ?? St(o));
1241
+ _t(() => {
1242
+ s?.register({
1243
+ id: i.value,
1244
+ vm: D,
1245
+ validate: P,
1246
+ reset: x,
1247
+ resetValidation: S
1248
+ });
1249
+ }), Dt(() => {
1250
+ s?.unregister(i.value);
1251
+ }), ve(async () => {
1252
+ y.value.lazy || await P(!0), s?.update(i.value, k.value, b.value);
1253
+ }), ge(() => y.value.input, () => {
1254
+ z(t, () => {
1255
+ if (t.value != null)
1256
+ P();
1257
+ else if (e.focused) {
1258
+ const C = z(() => e.focused, (g) => {
1259
+ g || P(), C();
1260
+ });
1261
+ }
1262
+ });
1263
+ }), ge(() => y.value.blur, () => {
1264
+ z(() => e.focused, (C) => {
1265
+ C || P();
1266
+ });
1267
+ }), z([k, b], () => {
1268
+ s?.update(i.value, k.value, b.value);
1269
+ });
1270
+ async function x() {
1271
+ u.value = null, await ie(), await S();
1272
+ }
1273
+ async function S() {
1274
+ d.value = !0, y.value.lazy ? l.value = [] : await P(!0);
1275
+ }
1276
+ async function P() {
1277
+ let C = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
1278
+ const g = [];
1279
+ h.value = !0;
1280
+ for (const _ of e.rules) {
1281
+ if (g.length >= +(e.maxErrors ?? 1))
1282
+ break;
1283
+ const v = await (typeof _ == "function" ? _ : () => _)(t.value);
1284
+ if (v !== !0) {
1285
+ if (v !== !1 && typeof v != "string") {
1286
+ console.warn(`${v} is not a valid value. Rule functions must return boolean true or a string.`);
1287
+ continue;
1288
+ }
1289
+ g.push(v || "");
1290
+ }
1291
+ }
1292
+ return l.value = g, h.value = !1, d.value = C, l.value;
1293
+ }
1294
+ return {
1295
+ errorMessages: b,
1296
+ isDirty: c,
1297
+ isDisabled: r,
1298
+ isReadonly: m,
1299
+ isPristine: d,
1300
+ isValid: k,
1301
+ isValidating: h,
1302
+ reset: x,
1303
+ resetValidation: S,
1304
+ validate: P,
1305
+ validationClasses: V
1306
+ };
1307
+ }
1308
+ const Ze = p({
1309
+ id: String,
1310
+ appendIcon: G,
1311
+ centerAffix: {
1312
+ type: Boolean,
1313
+ default: !0
1314
+ },
1315
+ prependIcon: G,
1316
+ hideDetails: [Boolean, String],
1317
+ hideSpinButtons: Boolean,
1318
+ hint: String,
1319
+ persistentHint: Boolean,
1320
+ messages: {
1321
+ type: [Array, String],
1322
+ default: () => []
1323
+ },
1324
+ direction: {
1325
+ type: String,
1326
+ default: "horizontal",
1327
+ validator: (e) => ["horizontal", "vertical"].includes(e)
1328
+ },
1329
+ "onClick:prepend": U(),
1330
+ "onClick:append": U(),
1331
+ ...K(),
1332
+ ...wt(),
1333
+ ...It(Ae(), ["maxWidth", "minWidth", "width"]),
1334
+ ...re(),
1335
+ ...sa()
1336
+ }, "VInput"), we = Y()({
1337
+ name: "VInput",
1338
+ props: {
1339
+ ...Ze()
1340
+ },
1341
+ emits: {
1342
+ "update:modelValue": (e) => !0
1343
+ },
1344
+ setup(e, n) {
1345
+ let {
1346
+ attrs: o,
1347
+ slots: u,
1348
+ emit: t
1349
+ } = n;
1350
+ const {
1351
+ densityClasses: s
1352
+ } = Mt(e), {
1353
+ dimensionStyles: l
1354
+ } = Fe(e), {
1355
+ themeClasses: d
1356
+ } = fe(e), {
1357
+ rtlClasses: c
1358
+ } = Te(), {
1359
+ InputIcon: r
1360
+ } = qe(e), m = he(), b = f(() => e.id || `input-${m}`), y = f(() => `${b.value}-messages`), {
1361
+ errorMessages: k,
1362
+ isDirty: h,
1363
+ isDisabled: V,
1364
+ isReadonly: D,
1365
+ isPristine: i,
1366
+ isValid: x,
1367
+ isValidating: S,
1368
+ reset: P,
1369
+ resetValidation: C,
1370
+ validate: g,
1371
+ validationClasses: _
1372
+ } = oa(e, "v-input", b), I = f(() => ({
1373
+ id: b,
1374
+ messagesId: y,
1375
+ isDirty: h,
1376
+ isDisabled: V,
1377
+ isReadonly: D,
1378
+ isPristine: i,
1379
+ isValid: x,
1380
+ isValidating: S,
1381
+ reset: P,
1382
+ resetValidation: C,
1383
+ validate: g
1384
+ })), v = f(() => e.errorMessages?.length || !i.value && k.value.length ? k.value : e.hint && (e.persistentHint || e.focused) ? e.hint : e.messages);
1385
+ return O(() => {
1386
+ const A = !!(u.prepend || e.prependIcon), B = !!(u.append || e.appendIcon), R = v.value.length > 0, F = !e.hideDetails || e.hideDetails === "auto" && (R || !!u.details);
1387
+ return a("div", {
1388
+ class: ["v-input", `v-input--${e.direction}`, {
1389
+ "v-input--center-affix": e.centerAffix,
1390
+ "v-input--hide-spin-buttons": e.hideSpinButtons
1391
+ }, s.value, d.value, c.value, _.value, e.class],
1392
+ style: [l.value, e.style]
1393
+ }, [A && a("div", {
1394
+ key: "prepend",
1395
+ class: "v-input__prepend"
1396
+ }, [u.prepend?.(I.value), e.prependIcon && a(r, {
1397
+ key: "prepend-icon",
1398
+ name: "prepend"
1399
+ }, null)]), u.default && a("div", {
1400
+ class: "v-input__control"
1401
+ }, [u.default?.(I.value)]), B && a("div", {
1402
+ key: "append",
1403
+ class: "v-input__append"
1404
+ }, [e.appendIcon && a(r, {
1405
+ key: "append-icon",
1406
+ name: "append"
1407
+ }, null), u.append?.(I.value)]), F && a("div", {
1408
+ class: "v-input__details"
1409
+ }, [a(na, {
1410
+ id: y.value,
1411
+ active: R,
1412
+ messages: v.value
1413
+ }, {
1414
+ message: u.message
1415
+ }), u.details?.(I.value)])]);
1416
+ }), {
1417
+ reset: P,
1418
+ resetValidation: C,
1419
+ validate: g,
1420
+ isValid: x,
1421
+ errorMessages: k
1422
+ };
1423
+ }
1424
+ }), ra = ["color", "file", "time", "date", "datetime-local", "week", "month"], ua = p({
1425
+ autofocus: Boolean,
1426
+ counter: [Boolean, Number, String],
1427
+ counterValue: [Number, Function],
1428
+ prefix: String,
1429
+ placeholder: String,
1430
+ persistentPlaceholder: Boolean,
1431
+ persistentCounter: Boolean,
1432
+ suffix: String,
1433
+ role: String,
1434
+ type: {
1435
+ type: String,
1436
+ default: "text"
1437
+ },
1438
+ modelModifiers: Object,
1439
+ ...Ze(),
1440
+ ...Ge()
1441
+ }, "VTextField"), da = Y()({
1442
+ name: "VTextField",
1443
+ directives: {
1444
+ Intersect: Wt
1445
+ },
1446
+ inheritAttrs: !1,
1447
+ props: ua(),
1448
+ emits: {
1449
+ "click:control": (e) => !0,
1450
+ "mousedown:control": (e) => !0,
1451
+ "update:focused": (e) => !0,
1452
+ "update:modelValue": (e) => !0
1453
+ },
1454
+ setup(e, n) {
1455
+ let {
1456
+ attrs: o,
1457
+ emit: u,
1458
+ slots: t
1459
+ } = n;
1460
+ const s = W(e, "modelValue"), {
1461
+ isFocused: l,
1462
+ focus: d,
1463
+ blur: c
1464
+ } = Qe(e), r = f(() => typeof e.counterValue == "function" ? e.counterValue(s.value) : typeof e.counterValue == "number" ? e.counterValue : (s.value ?? "").toString().length), m = f(() => {
1465
+ if (o.maxlength)
1466
+ return o.maxlength;
1467
+ if (!(!e.counter || typeof e.counter != "number" && typeof e.counter != "string"))
1468
+ return e.counter;
1469
+ }), b = f(() => ["plain", "underlined"].includes(e.variant));
1470
+ function y(g, _) {
1471
+ !e.autofocus || !g || _[0].target?.focus?.();
1472
+ }
1473
+ const k = T(), h = T(), V = T(), D = f(() => ra.includes(e.type) || e.persistentPlaceholder || l.value || e.active);
1474
+ function i() {
1475
+ V.value !== document.activeElement && V.value?.focus(), l.value || d();
1476
+ }
1477
+ function x(g) {
1478
+ u("mousedown:control", g), g.target !== V.value && (i(), g.preventDefault());
1479
+ }
1480
+ function S(g) {
1481
+ i(), u("click:control", g);
1482
+ }
1483
+ function P(g) {
1484
+ g.stopPropagation(), i(), ie(() => {
1485
+ s.value = null, Ft(e["onClick:clear"], g);
1486
+ });
1487
+ }
1488
+ function C(g) {
1489
+ const _ = g.target;
1490
+ if (s.value = _.value, e.modelModifiers?.trim && ["text", "search", "password", "tel", "url"].includes(e.type)) {
1491
+ const I = [_.selectionStart, _.selectionEnd];
1492
+ ie(() => {
1493
+ _.selectionStart = I[0], _.selectionEnd = I[1];
1494
+ });
1495
+ }
1496
+ }
1497
+ return O(() => {
1498
+ const g = !!(t.counter || e.counter !== !1 && e.counter != null), _ = !!(g || t.details), [I, v] = pt(o), {
1499
+ modelValue: A,
1500
+ ...B
1501
+ } = we.filterProps(e), R = ta(e);
1502
+ return a(we, N({
1503
+ ref: k,
1504
+ modelValue: s.value,
1505
+ "onUpdate:modelValue": (F) => s.value = F,
1506
+ class: ["v-text-field", {
1507
+ "v-text-field--prefixed": e.prefix,
1508
+ "v-text-field--suffixed": e.suffix,
1509
+ "v-input--plain-underlined": b.value
1510
+ }, e.class],
1511
+ style: e.style
1512
+ }, I, B, {
1513
+ centerAffix: !b.value,
1514
+ focused: l.value
1515
+ }), {
1516
+ ...t,
1517
+ default: (F) => {
1518
+ let {
1519
+ id: M,
1520
+ isDisabled: $,
1521
+ isDirty: w,
1522
+ isReadonly: L,
1523
+ isValid: E
1524
+ } = F;
1525
+ return a(Xe, N({
1526
+ ref: h,
1527
+ onMousedown: x,
1528
+ onClick: S,
1529
+ "onClick:clear": P,
1530
+ "onClick:prependInner": e["onClick:prependInner"],
1531
+ "onClick:appendInner": e["onClick:appendInner"],
1532
+ role: e.role
1533
+ }, R, {
1534
+ id: M.value,
1535
+ active: D.value || w.value,
1536
+ dirty: w.value || e.dirty,
1537
+ disabled: $.value,
1538
+ focused: l.value,
1539
+ error: E.value === !1
1540
+ }), {
1541
+ ...t,
1542
+ default: (q) => {
1543
+ let {
1544
+ props: {
1545
+ class: ee,
1546
+ ...te
1547
+ }
1548
+ } = q;
1549
+ const ae = ye(a("input", N({
1550
+ ref: V,
1551
+ value: s.value,
1552
+ onInput: C,
1553
+ autofocus: e.autofocus,
1554
+ readonly: L.value,
1555
+ disabled: $.value,
1556
+ name: e.name,
1557
+ placeholder: e.placeholder,
1558
+ size: 1,
1559
+ type: e.type,
1560
+ onFocus: i,
1561
+ onBlur: c
1562
+ }, te, v), null), [[At("intersect"), {
1563
+ handler: y
1564
+ }, null, {
1565
+ once: !0
1566
+ }]]);
1567
+ return a(Q, null, [e.prefix && a("span", {
1568
+ class: "v-text-field__prefix"
1569
+ }, [a("span", {
1570
+ class: "v-text-field__prefix__text"
1571
+ }, [e.prefix])]), t.default ? a("div", {
1572
+ class: ee,
1573
+ "data-no-activator": ""
1574
+ }, [t.default(), ae]) : Bt(ae, {
1575
+ class: ee
1576
+ }), e.suffix && a("span", {
1577
+ class: "v-text-field__suffix"
1578
+ }, [a("span", {
1579
+ class: "v-text-field__suffix__text"
1580
+ }, [e.suffix])])]);
1581
+ }
1582
+ });
1583
+ },
1584
+ details: _ ? (F) => a(Q, null, [t.details?.(F), g && a(Q, null, [a("span", null, null), a(Qt, {
1585
+ active: e.persistentCounter || l.value,
1586
+ value: r.value,
1587
+ max: m.value,
1588
+ disabled: e.disabled
1589
+ }, t.counter)])]) : void 0
1590
+ });
1591
+ }), Et({}, k, h, V);
1592
+ }
1593
+ }), ca = { class: "fill-height fill-width align-center justify-center" }, va = {
1594
+ key: 0,
1595
+ class: "fill-height fill-width"
1596
+ }, ka = {
1597
+ __name: "EodashDatePicker",
1598
+ props: {
1599
+ inline: {
1600
+ type: Boolean
1601
+ }
1602
+ },
1603
+ setup(e) {
1604
+ const n = e, o = f({
1605
+ get() {
1606
+ return n.inline ? ne.value.split("T")[0] : new Date(ne.value) ?? /* @__PURE__ */ new Date();
1607
+ },
1608
+ /** @param {Date | string} updatedDate */
1609
+ set(l) {
1610
+ n.inline && (l = new Date(l)), l instanceof Date && !isNaN(l) ? ne.value = new Date(l.getTime() - l.getTimezoneOffset() * 6e4).toISOString() : ne.value = (/* @__PURE__ */ new Date()).toISOString();
1611
+ }
1612
+ }), u = T(null), t = T(), s = T();
1613
+ return ve(() => {
1614
+ const l = u.value?.$el.parentElement?.parentElement;
1615
+ t.value = l?.clientWidth ? l.clientWidth + "px" : void 0, s.value = l?.clientHeight ? l.clientHeight + "px" : void 0;
1616
+ }), (l, d) => (de(), be("span", ca, [
1617
+ e.inline ? (de(), be("div", va, [
1618
+ a(da, {
1619
+ ref: "inlineDatePicker",
1620
+ "base-color": "primary",
1621
+ class: "fill-height fill-width pa-2 align-center",
1622
+ type: "date",
1623
+ "bg-color": "surface",
1624
+ color: "primary",
1625
+ density: "comfortable",
1626
+ label: "Select Date",
1627
+ modelValue: o.value,
1628
+ "onUpdate:modelValue": d[0] || (d[0] = (c) => o.value = c),
1629
+ variant: "plain",
1630
+ "hide-details": ""
1631
+ }, null, 8, ["modelValue"])
1632
+ ])) : (de(), $t(qt, {
1633
+ key: 1,
1634
+ ref_key: "datePicker",
1635
+ ref: u,
1636
+ width: t.value,
1637
+ height: s.value,
1638
+ "hide-header": "",
1639
+ modelValue: o.value,
1640
+ "onUpdate:modelValue": d[1] || (d[1] = (c) => o.value = c),
1641
+ color: "primary",
1642
+ "bg-color": "surface",
1643
+ location: "center",
1644
+ class: "overflow-auto fill-height fill-width",
1645
+ position: "relative",
1646
+ "show-adjacent-months": ""
1647
+ }, null, 8, ["width", "height", "modelValue"]))
1648
+ ]));
1649
+ }
1650
+ };
1651
+ export {
1652
+ ka as default
1653
+ };