@dynamicforms/vuetify-inputs 0.1.0

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.
@@ -0,0 +1,3834 @@
1
+ var hl = Object.defineProperty, bl = Object.defineProperties;
2
+ var yl = Object.getOwnPropertyDescriptors;
3
+ var Gt = Object.getOwnPropertySymbols;
4
+ var pl = Object.prototype.hasOwnProperty, _l = Object.prototype.propertyIsEnumerable;
5
+ var j = Math.pow, ut = (e, t, n) => t in e ? hl(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, k = (e, t) => {
6
+ for (var n in t || (t = {}))
7
+ pl.call(t, n) && ut(e, n, t[n]);
8
+ if (Gt)
9
+ for (var n of Gt(t))
10
+ _l.call(t, n) && ut(e, n, t[n]);
11
+ return e;
12
+ }, le = (e, t) => bl(e, yl(t));
13
+ var Ie = (e, t, n) => ut(e, typeof t != "symbol" ? t + "" : t, n);
14
+ var We = (e, t, n) => new Promise((l, a) => {
15
+ var o = (u) => {
16
+ try {
17
+ r(n.next(u));
18
+ } catch (d) {
19
+ a(d);
20
+ }
21
+ }, i = (u) => {
22
+ try {
23
+ r(n.throw(u));
24
+ } catch (d) {
25
+ a(d);
26
+ }
27
+ }, r = (u) => u.done ? l(u.value) : Promise.resolve(u.value).then(o, i);
28
+ r((n = n.apply(e, t)).next());
29
+ });
30
+ import * as Kt from "vue";
31
+ import { defineComponent as Z, mergeModels as qt, useModel as wl, ref as T, watch as X, onMounted as at, markRaw as kl, onBeforeUnmount as Ve, createBlock as F, openBlock as I, resolveDynamicComponent as Ce, version as Cl, computed as h, createElementBlock as K, Fragment as ot, renderList as xn, normalizeClass as Ze, toDisplayString as Se, unref as v, mergeProps as z, withCtx as D, createTextVNode as Ee, resolveComponent as H, createCommentVNode as G, createVNode as b, createSlots as Sl, renderSlot as Vl, isRef as ee, withModifiers as xl, mergeDefaults as de, createElementVNode as Ne, normalizeStyle as Tn, reactive as Qe, watchEffect as Ct, toRefs as xe, capitalize as In, shallowRef as St, warn as Tl, getCurrentInstance as Il, inject as he, provide as Re, h as Bl, camelize as Pl, toRef as q, onScopeDispose as Al, effectScope as $l, toRaw as El, useId as Nl, onUpdated as Dl, Text as Ll, readonly as Ml, nextTick as Bn, withDirectives as Rl, withKeys as Yt, useCssVars as Ol, normalizeProps as Pn, guardReactiveProps as An } from "vue";
32
+ import { debounce as Fl, isEmpty as Ul, isObjectLike as Hl, isString as gt, isBoolean as Xt, clone as zl, toNumber as Zt, isNaN as Qt, isArray as Jt, castArray as $n, first as En } from "lodash-es";
33
+ import en, { ValidationErrorRenderContent as jl, DisplayMode as ue, ExecuteAction as Wl, Action as ct } from "@dynamicforms/vue-forms";
34
+ import Gl from "vue-markdown-render";
35
+ import ht from "vue-ionicon";
36
+ import { useDisplay as Kl } from "vuetify";
37
+ import { format as Ge, parse as ql } from "date-fns";
38
+ import { AccessibilityHelp as Yl, Alignment as Xl, AutoImage as Zl, AutoLink as Ql, Autosave as Jl, BalloonToolbar as ea, BlockQuote as ta, Bold as na, CloudServices as la, Essentials as aa, GeneralHtmlSupport as oa, Heading as ia, HorizontalLine as sa, ImageBlock as ra, ImageCaption as ua, ImageInline as ca, ImageInsertViaUrl as da, ImageResize as ma, ImageStyle as fa, ImageToolbar as va, ImageUpload as ga, Indent as ha, IndentBlock as ba, Italic as ya, Link as pa, List as _a, Autoformat as wa, MediaEmbed as ka, Paragraph as Ca, PasteFromMarkdownExperimental as Sa, PasteFromOffice as Va, SelectAll as xa, Style as Ta, Table as Ia, TableCellProperties as Ba, TableColumnResize as Pa, TableProperties as Aa, TableToolbar as $a, Undo as Ea, TextTransformation as Na, Base64UploadAdapter as Da, ClassicEditor as La } from "ckeditor5";
39
+ /**
40
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
41
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
42
+ */
43
+ /**
44
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
45
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
46
+ */
47
+ new Array(256).fill("").map((e, t) => ("0" + t.toString(16)).slice(-2));
48
+ /**
49
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
50
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
51
+ */
52
+ function Ma(e, t) {
53
+ const n = e.extraPlugins || [];
54
+ return le(k({}, e), {
55
+ extraPlugins: [
56
+ ...n,
57
+ ...t.filter((l) => !n.includes(l))
58
+ ]
59
+ });
60
+ }
61
+ /**
62
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
63
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
64
+ */
65
+ function Nn(e) {
66
+ return !!e && /^\d+\.\d+\.\d+/.test(e);
67
+ }
68
+ /**
69
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
70
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
71
+ */
72
+ function Dn(e) {
73
+ return e ? ["nightly", "alpha", "internal", "nightly-", "staging"].some((t) => e.includes(t)) : !1;
74
+ }
75
+ function Ra(e) {
76
+ return Nn(e) || Dn(e);
77
+ }
78
+ /**
79
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
80
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
81
+ */
82
+ function Oa(e) {
83
+ if (!Nn(e))
84
+ throw new Error(`Invalid semantic version: ${e || "<blank>"}.`);
85
+ const [t, n, l] = e.split(".");
86
+ return {
87
+ major: Number.parseInt(t, 10),
88
+ minor: Number.parseInt(n, 10),
89
+ patch: Number.parseInt(l, 10)
90
+ };
91
+ }
92
+ /**
93
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
94
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
95
+ */
96
+ function Fa(e) {
97
+ if (Dn(e))
98
+ return 3;
99
+ const { major: t } = Oa(e);
100
+ switch (!0) {
101
+ case t >= 44:
102
+ return 3;
103
+ case t >= 38:
104
+ return 2;
105
+ default:
106
+ return 1;
107
+ }
108
+ }
109
+ /**
110
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
111
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
112
+ */
113
+ function Ua() {
114
+ const { CKEDITOR_VERSION: e, CKEDITOR: t } = window;
115
+ return Ra(e) ? {
116
+ source: t ? "cdn" : "npm",
117
+ version: e
118
+ } : null;
119
+ }
120
+ /**
121
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
122
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
123
+ */
124
+ function Ha() {
125
+ const e = Ua();
126
+ return e ? Fa(e.version) : null;
127
+ }
128
+ /**
129
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
130
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
131
+ */
132
+ function Ln(e, t) {
133
+ switch (t || (t = Ha() || void 0), t) {
134
+ case 1:
135
+ case 2:
136
+ return e === void 0;
137
+ case 3:
138
+ return e === "GPL";
139
+ default:
140
+ return !1;
141
+ }
142
+ }
143
+ /**
144
+ * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
145
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
146
+ */
147
+ function za(e, t) {
148
+ return function(l) {
149
+ Ln(l.config.get("licenseKey")) || l.on("collectUsageData", (a, { setUsageData: o }) => {
150
+ o(`integration.${e}`, t);
151
+ });
152
+ };
153
+ }
154
+ /**
155
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
156
+ * For licensing, see LICENSE.md.
157
+ */
158
+ const ja = za(
159
+ "vue",
160
+ {
161
+ version: "7.3.0",
162
+ frameworkVersion: Cl
163
+ }
164
+ );
165
+ /**
166
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
167
+ * For licensing, see LICENSE.md.
168
+ */
169
+ function Wa(e) {
170
+ return Ln(e.licenseKey) ? e : Ma(e, [
171
+ /**
172
+ * This part of the code is not executed in open-source implementations using a GPL key.
173
+ * It only runs when a specific license key is provided. If you are uncertain whether
174
+ * this applies to your installation, please contact our support team.
175
+ */
176
+ ja
177
+ ]);
178
+ }
179
+ const dt = "Lock from Vue integration (@ckeditor/ckeditor5-vue)", Ga = 300, Ka = /* @__PURE__ */ Z({
180
+ name: "CKEditor",
181
+ __name: "ckeditor",
182
+ props: /* @__PURE__ */ qt({
183
+ editor: {},
184
+ config: { default: () => ({}) },
185
+ tagName: { default: "div" },
186
+ disabled: { type: Boolean, default: !1 },
187
+ disableTwoWayDataBinding: { type: Boolean, default: !1 }
188
+ }, {
189
+ modelValue: { type: String, default: "" },
190
+ modelModifiers: {}
191
+ }),
192
+ emits: /* @__PURE__ */ qt(["ready", "destroy", "blur", "focus", "input", "update:modelValue"], ["update:modelValue"]),
193
+ setup(e, { expose: t, emit: n }) {
194
+ const l = wl(e, "modelValue"), a = e, o = n, i = T(), r = T(), u = T();
195
+ t({
196
+ instance: r,
197
+ lastEditorData: u
198
+ }), X(l, (s) => {
199
+ r.value && s !== u.value && r.value.data.set(s);
200
+ }), X(() => a.disabled, (s) => {
201
+ s ? r.value.enableReadOnlyMode(dt) : r.value.disableReadOnlyMode(dt);
202
+ });
203
+ function d() {
204
+ const s = window.CKEDITOR_VERSION;
205
+ if (!s)
206
+ return console.warn('Cannot find the "CKEDITOR_VERSION" in the "window" scope.');
207
+ const [c] = s.split(".").map(Number);
208
+ c >= 42 || s.startsWith("0.0.0") || console.warn("The <CKEditor> component requires using CKEditor 5 in version 42+ or nightly build.");
209
+ }
210
+ function m(s) {
211
+ const c = Fl((f) => {
212
+ if (a.disableTwoWayDataBinding)
213
+ return;
214
+ const y = u.value = s.data.get();
215
+ o("update:modelValue", y, f, s), o("input", y, f, s);
216
+ }, Ga, { leading: !0 });
217
+ s.model.document.on("change:data", c), s.editing.view.document.on("focus", (f) => {
218
+ o("focus", f, s);
219
+ }), s.editing.view.document.on("blur", (f) => {
220
+ o("blur", f, s);
221
+ });
222
+ }
223
+ return d(), at(() => {
224
+ const s = Wa(
225
+ Object.assign({}, a.config)
226
+ );
227
+ l.value && (s.initialData = l.value), a.editor.create(i.value, s).then((c) => {
228
+ r.value = kl(c), m(c), l.value !== s.initialData && c.data.set(l.value), a.disabled && c.enableReadOnlyMode(dt), o("ready", c);
229
+ }).catch((c) => {
230
+ console.error(c);
231
+ });
232
+ }), Ve(() => {
233
+ r.value && (r.value.destroy(), r.value = void 0), o("destroy");
234
+ }), (s, c) => (I(), F(Ce(s.tagName), {
235
+ ref_key: "element",
236
+ ref: i
237
+ }, null, 512));
238
+ }
239
+ });
240
+ /**
241
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
242
+ * For licensing, see LICENSE.md.
243
+ */
244
+ /* istanbul ignore if -- @preserve */
245
+ if (!Kt.version || !Kt.version.startsWith("3."))
246
+ throw new Error(
247
+ "The CKEditor plugin works only with Vue 3+. For more information, please refer to https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/vuejs-v3.html"
248
+ );
249
+ const qa = {
250
+ /**
251
+ * Installs the plugin, registering the `<ckeditor>` component.
252
+ *
253
+ * @param app The application instance.
254
+ */
255
+ install(e) {
256
+ e.component("Ckeditor", Ka);
257
+ }
258
+ }, me = { enabled: void 0 };
259
+ function ce(e, t) {
260
+ const n = h({
261
+ get() {
262
+ return e.control ? e.control.value : e.modelValue;
263
+ },
264
+ set(f) {
265
+ e.control && (e.control.value = f), t("update:modelValue", f);
266
+ }
267
+ });
268
+ if (e.control && !(e.control instanceof en.FieldBase))
269
+ throw new Error("control prop is not a vue-form control instance");
270
+ const l = h(() => e.control ? e.control.valid : !0), a = h(
271
+ () => e.control ? e.control.errors : (e.errors || []).map((f) => new jl(f))
272
+ ), o = h(() => a.value.length > 0 ? " " : void 0), i = h(() => e.control ? e.control.enabled : e.enabled !== !1), r = h(
273
+ () => e.control ? e.control.visibility : e.visibility || en.DisplayMode.FULL
274
+ ), u = h(() => e.label || ""), d = h(() => e.placeholder || ""), m = h(() => e.helpText || ""), s = h(() => e.hint || ""), c = h(() => e.cssClass || "");
275
+ return {
276
+ value: n,
277
+ valid: l,
278
+ enabled: i,
279
+ errors: a,
280
+ visibility: r,
281
+ vuetifyBindings: h(() => {
282
+ var f;
283
+ return {
284
+ name: (f = e.control) == null ? void 0 : f.fieldName,
285
+ class: c.value,
286
+ label: u.value,
287
+ messages: o.value,
288
+ // 'error-count': errors?.value.length || 0,
289
+ readonly: !i.value,
290
+ disabled: !i.value,
291
+ placeholder: d.value,
292
+ "persistent-placeholder": !Ul(d.value),
293
+ hint: s.value,
294
+ persistentHint: !0,
295
+ // we want persistent hint always
296
+ hideDetails: "auto",
297
+ // we want to hide the hint element when hint isn't there
298
+ helpText: m.value
299
+ };
300
+ })
301
+ };
302
+ }
303
+ const Ya = { class: "custom-error-display text-error" }, Xa = { key: 0 }, Za = /* @__PURE__ */ Z({
304
+ __name: "errors-widget",
305
+ props: {
306
+ errors: {}
307
+ },
308
+ setup(e) {
309
+ return (t, n) => (I(), K("div", Ya, [
310
+ (I(!0), K(ot, null, xn(t.errors, (l, a) => {
311
+ var o;
312
+ return I(), K("div", {
313
+ key: a,
314
+ class: Ze({ "first-error": a === 0, "last-error": a === t.errors.length - 1 })
315
+ }, [
316
+ l.componentName === "template" ? (I(), K("div", Xa, Se(l.componentBody), 1)) : l.componentName === "vue-markdown" ? (I(), F(v(Gl), {
317
+ key: 1,
318
+ source: (o = l.componentBindings) == null ? void 0 : o.source
319
+ }, null, 8, ["source"])) : (I(), F(Ce(l.componentName), z({
320
+ key: 2,
321
+ ref_for: !0
322
+ }, l.componentBindings), {
323
+ default: D(() => [
324
+ Ee(Se(l.componentBody), 1)
325
+ ]),
326
+ _: 2
327
+ }, 1040))
328
+ ], 2);
329
+ }), 128))
330
+ ]));
331
+ }
332
+ }), Oe = (e, t) => {
333
+ const n = e.__vccOpts || e;
334
+ for (const [l, a] of t)
335
+ n[l] = a;
336
+ return n;
337
+ }, ge = /* @__PURE__ */ Oe(Za, [["__scopeId", "data-v-b274d086"]]), Qa = {
338
+ key: 0,
339
+ for: "#following-v-input"
340
+ }, Vt = /* @__PURE__ */ Z({
341
+ __name: "input-base",
342
+ props: {
343
+ control: {},
344
+ modelValue: {},
345
+ label: {},
346
+ errors: {},
347
+ placeholder: {},
348
+ helpText: {},
349
+ hint: {},
350
+ enabled: { type: Boolean },
351
+ visibility: {},
352
+ cssClass: {},
353
+ clearable: { type: Boolean }
354
+ },
355
+ emits: ["update:modelValue", "click:clear"],
356
+ setup(e, { emit: t }) {
357
+ const n = e, l = t, { errors: a, value: o, visibility: i, vuetifyBindings: r } = ce(n, l), u = h(() => v(n.clearable) && v(o));
358
+ return (d, m) => {
359
+ const s = H("v-icon"), c = H("v-input");
360
+ return v(i) !== v(ue).SUPPRESS ? (I(), K("div", {
361
+ key: 0,
362
+ class: Ze([
363
+ d.cssClass,
364
+ {
365
+ "d-none": v(i) === v(ue).HIDDEN,
366
+ invisible: v(i) === v(ue).INVISIBLE
367
+ }
368
+ ])
369
+ }, [
370
+ v(r).label ? (I(), K("label", Qa, Se(v(r).label), 1)) : G("", !0),
371
+ b(c, {
372
+ hint: v(r).hint,
373
+ "persistent-hint": v(r).persistentHint,
374
+ "hide-details": v(r).hideDetails
375
+ }, Sl({
376
+ message: D(() => [
377
+ b(ge, { errors: v(a) }, null, 8, ["errors"])
378
+ ]),
379
+ default: D(() => [
380
+ Vl(d.$slots, "default")
381
+ ]),
382
+ _: 2
383
+ }, [
384
+ u.value ? {
385
+ name: "append",
386
+ fn: D(() => [
387
+ b(s, {
388
+ onClick: m[0] || (m[0] = (f) => l("click:clear"))
389
+ }, {
390
+ default: D(() => m[1] || (m[1] = [
391
+ Ee("mdi-close-circle")
392
+ ])),
393
+ _: 1
394
+ })
395
+ ]),
396
+ key: "0"
397
+ } : void 0
398
+ ]), 1032, ["hint", "persistent-hint", "hide-details"])
399
+ ], 2)) : G("", !0);
400
+ };
401
+ }
402
+ });
403
+ var oe = /* @__PURE__ */ ((e) => (e[e.BUTTON = 0] = "BUTTON", e[e.TEXT = 1] = "TEXT", e))(oe || {});
404
+ const tn = 0;
405
+ ((e) => {
406
+ function t(a) {
407
+ return a.toUpperCase() === "BUTTON" ? 0 : a.toUpperCase() === "TEXT" ? 1 : tn;
408
+ }
409
+ e.fromString = t;
410
+ function n(a) {
411
+ const o = typeof a == "number" ? a : e.fromString(a);
412
+ return Object.values(e).includes(o) ? o : tn;
413
+ }
414
+ e.fromAny = n;
415
+ function l(a) {
416
+ const o = typeof a == "number" ? a : e.fromString(a);
417
+ return Object.values(e).includes(o);
418
+ }
419
+ e.isDefined = l;
420
+ })(oe || (oe = {}));
421
+ Object.freeze(oe);
422
+ const nn = ["xl", "lg", "md", "sm", "xs"];
423
+ class Je {
424
+ constructor(t, n) {
425
+ Ie(this, "_value");
426
+ if (this._value = {}, !t) return;
427
+ let l = Je.cleanBreakpoint(t);
428
+ !(l != null && l.label) && n && (l ? l.label || (l.label = n) : l = { label: n }), l && (this._value = l), nn.forEach((a) => {
429
+ const o = Je.cleanBreakpoint(t[a]);
430
+ o && (this._value[a] = o);
431
+ });
432
+ }
433
+ getOptionsForBreakpoint(t) {
434
+ var a, o, i;
435
+ const n = {
436
+ label: this._value.label,
437
+ renderAs: (a = this._value.renderAs) != null ? a : oe.BUTTON,
438
+ showLabel: (o = this._value.showLabel) != null ? o : !0,
439
+ showIcon: (i = this._value.showIcon) != null ? i : !0
440
+ }, l = [...nn].reverse();
441
+ for (const r of l) {
442
+ const u = this._value[r];
443
+ if (u && (u.label != null && (n.label = u.label), u.renderAs != null && (n.renderAs = u.renderAs), u.showIcon != null && (n.showIcon = u.showIcon), u.showLabel != null && (n.showLabel = u.showLabel)), r === t) break;
444
+ }
445
+ return n;
446
+ }
447
+ static cleanBreakpoint(t) {
448
+ if (!t || !Hl(t)) return null;
449
+ const n = {};
450
+ return t.renderAs !== void 0 && (n.renderAs = oe.fromAny(t.renderAs)), gt(t.label) && (n.label = t.label), Xt(t.showLabel) && (n.showLabel = t.showLabel), Xt(t.showIcon) && (n.showIcon = t.showIcon), Object.keys(n).length ? n : null;
451
+ }
452
+ }
453
+ class Ye {
454
+ constructor(t, n) {
455
+ Ie(this, "name");
456
+ Ie(this, "displayStyle");
457
+ Ie(this, "formAction");
458
+ if (t.name == null) throw new Error(`Action name must not be empty ${t}`);
459
+ const l = !gt(t.label) || t.label.length === 0 ? void 0 : t.label, a = !gt(t.icon) || t.icon.length === 0 ? void 0 : t.icon;
460
+ this.name = t.name, this.displayStyle = new Je(t.displayStyle, l), this.formAction = n, this.formAction.icon = a, this.formAction.label = l;
461
+ }
462
+ get label() {
463
+ var t;
464
+ return (t = this.formAction) == null ? void 0 : t.label;
465
+ }
466
+ get labelAvailable() {
467
+ return this.formAction.label !== void 0;
468
+ }
469
+ get icon() {
470
+ var t;
471
+ return (t = this.formAction) == null ? void 0 : t.icon;
472
+ }
473
+ get iconAvailable() {
474
+ return this.formAction.icon !== void 0;
475
+ }
476
+ static actionFormName(t) {
477
+ return `$action${t.charAt(0).toUpperCase()}${t.slice(1)}`;
478
+ }
479
+ static makeFormAction(t) {
480
+ let n;
481
+ if (t instanceof Wl)
482
+ n = ct.create().registerAction(t);
483
+ else if (t === void 0)
484
+ n = ct.create();
485
+ else if (t instanceof ct)
486
+ n = t;
487
+ else
488
+ throw new Error("actionOrExecuteHandler is not of any of supported types");
489
+ return n;
490
+ }
491
+ static closeAction(t, n) {
492
+ return new Ye(
493
+ k({
494
+ name: "close",
495
+ label: "Close",
496
+ // TODO: needs translation
497
+ icon: "close-outline",
498
+ displayStyle: { renderAs: oe.BUTTON, showLabel: !0, showIcon: !0 }
499
+ }, t),
500
+ this.makeFormAction(n)
501
+ );
502
+ }
503
+ static yesAction(t, n) {
504
+ return new Ye(
505
+ k({
506
+ name: "yes",
507
+ label: "Yes",
508
+ // TODO: needs translation
509
+ icon: "thumbs-up-outline",
510
+ displayStyle: { renderAs: oe.BUTTON, showLabel: !0, showIcon: !0 }
511
+ }, t),
512
+ this.makeFormAction(n)
513
+ );
514
+ }
515
+ static noAction(t, n) {
516
+ return new Ye(
517
+ k({
518
+ name: "no",
519
+ label: "No",
520
+ // TODO: needs translation
521
+ icon: "thumbs-down-outline",
522
+ displayStyle: { renderAs: oe.BUTTON, showLabel: !0, showIcon: !0 }
523
+ }, t),
524
+ this.makeFormAction(n)
525
+ );
526
+ }
527
+ }
528
+ const Ja = {
529
+ key: 1,
530
+ style: { width: ".5rem" }
531
+ }, eo = { key: 2 }, to = /* @__PURE__ */ Z({
532
+ __name: "df-actions",
533
+ props: {
534
+ actions: {},
535
+ buttonSize: { default: "default" },
536
+ showAsGroup: { default: "no" }
537
+ },
538
+ setup(e) {
539
+ const t = e, n = ee(t.actions) ? t.actions : T(t.actions);
540
+ function l(m) {
541
+ return m.xlAndUp.value ? "xl" : m.lgAndUp.value ? "lg" : m.mdAndUp.value ? "md" : m.smAndUp.value ? "sm" : "xs";
542
+ }
543
+ const a = Kl(), o = h(() => {
544
+ const m = {};
545
+ m["%breakpoint%"] = l(a);
546
+ for (const s of n.value)
547
+ m[s.name] = s.displayStyle.getOptionsForBreakpoint(l(a));
548
+ return m;
549
+ });
550
+ function i(m) {
551
+ var s;
552
+ return (s = o.value[m.name].showIcon && m.iconAvailable) != null ? s : !0;
553
+ }
554
+ function r(m) {
555
+ return o.value[m.name].showLabel && m.labelAvailable ? !0 : !i(m);
556
+ }
557
+ function u(m) {
558
+ var s;
559
+ return (s = o.value[m.name].renderAs) != null ? s : oe.BUTTON;
560
+ }
561
+ function d(m) {
562
+ var s;
563
+ return m.labelAvailable ? (s = m.formAction.label) != null ? s : "" : m.name;
564
+ }
565
+ return (m, s) => {
566
+ const c = H("v-btn");
567
+ return v(n).length > 0 ? (I(), K("div", {
568
+ key: 0,
569
+ class: Ze(["text-end", {
570
+ "button-group": m.showAsGroup === "grouped" || m.showAsGroup === "grouped-no-borders",
571
+ "with-border": m.showAsGroup === "grouped"
572
+ }])
573
+ }, [
574
+ (I(!0), K(ot, null, xn(v(n), (f, y) => (I(), F(c, {
575
+ key: y,
576
+ variant: u(f) === v(oe).BUTTON ? "tonal" : "text",
577
+ elevation: 0,
578
+ class: Ze(y !== -1 ? "" : "ms-3"),
579
+ size: m.buttonSize,
580
+ onClick: xl((g) => f.formAction.execute(g), ["stop"])
581
+ }, {
582
+ default: D(() => [
583
+ i(f) ? (I(), F(v(ht), {
584
+ key: 0,
585
+ class: "action-icon",
586
+ name: f.formAction.icon
587
+ }, null, 8, ["name"])) : G("", !0),
588
+ i(f) && r(f) ? (I(), K("span", Ja)) : G("", !0),
589
+ r(f) ? (I(), K("span", eo, Se(d(f)), 1)) : G("", !0)
590
+ ]),
591
+ _: 2
592
+ }, 1032, ["variant", "class", "size", "onClick"]))), 128))
593
+ ], 2)) : G("", !0);
594
+ };
595
+ }
596
+ }), Wi = /* @__PURE__ */ Oe(to, [["__scopeId", "data-v-eb616f46"]]), Gi = /* @__PURE__ */ Z({
597
+ __name: "df-checkbox",
598
+ props: /* @__PURE__ */ de({
599
+ allowNull: { type: Boolean },
600
+ control: {},
601
+ modelValue: {},
602
+ label: {},
603
+ errors: {},
604
+ placeholder: {},
605
+ helpText: {},
606
+ hint: {},
607
+ enabled: { type: Boolean },
608
+ visibility: {},
609
+ cssClass: {},
610
+ clearable: { type: Boolean }
611
+ }, le(k({}, me), { allowNull: !1 })),
612
+ emits: ["update:modelValue", "click:clear"],
613
+ setup(e, { emit: t }) {
614
+ const n = e, l = t, { errors: a, value: o, vuetifyBindings: i } = ce(n, l), r = h(() => n.allowNull && o.value == null), u = h({
615
+ get() {
616
+ return o.value;
617
+ },
618
+ set(m) {
619
+ }
620
+ // eslint-disable-line @typescript-eslint/no-unused-vars
621
+ });
622
+ X(o, (m) => {
623
+ m ? o.value = !0 : n.allowNull && m == null ? o.value = null : o.value = !1;
624
+ }, { immediate: !0 });
625
+ function d() {
626
+ const m = zl(o.value);
627
+ m === !0 ? o.value = n.allowNull ? null : !1 : o.value = m === !1;
628
+ }
629
+ return (m, s) => {
630
+ const c = H("v-checkbox");
631
+ return I(), F(c, z({
632
+ modelValue: u.value,
633
+ "onUpdate:modelValue": s[0] || (s[0] = (f) => u.value = f)
634
+ }, v(i), {
635
+ density: "compact",
636
+ indeterminate: r.value,
637
+ "false-value": !1,
638
+ "true-value": !0,
639
+ onChange: d
640
+ }), {
641
+ message: D(() => [
642
+ b(v(ge), { errors: v(a) }, null, 8, ["errors"])
643
+ ]),
644
+ _: 1
645
+ }, 16, ["modelValue", "indeterminate"]);
646
+ };
647
+ }
648
+ }), Ki = /* @__PURE__ */ Z({
649
+ __name: "df-color",
650
+ props: /* @__PURE__ */ de({
651
+ allowNull: { type: Boolean },
652
+ control: {},
653
+ modelValue: {},
654
+ label: {},
655
+ errors: {},
656
+ placeholder: {},
657
+ helpText: {},
658
+ hint: {},
659
+ enabled: { type: Boolean },
660
+ visibility: {},
661
+ cssClass: {},
662
+ clearable: { type: Boolean }
663
+ }, le(k({}, me), { allowNull: !1 })),
664
+ emits: ["update:modelValue", "click:clear"],
665
+ setup(e, { emit: t }) {
666
+ const n = e, l = t, { errors: a, value: o, vuetifyBindings: i } = ce(n, l), r = T(!1), u = h(() => [
667
+ (m) => !m && n.allowNull || /^#?([a-fA-F0-9]{6}[a-fA-F0-9]{0,2})$/.test(m) ? !0 : "Not a valid hex string."
668
+ ]);
669
+ function d() {
670
+ r.value = !1;
671
+ }
672
+ return (m, s) => {
673
+ const c = H("v-text-field"), f = H("v-color-picker"), y = H("v-menu");
674
+ return I(), F(y, {
675
+ modelValue: r.value,
676
+ "onUpdate:modelValue": s[2] || (s[2] = (g) => r.value = g),
677
+ location: "top start",
678
+ origin: "bottom start",
679
+ "close-on-content-click": !1
680
+ }, {
681
+ activator: D(({ props: g }) => [
682
+ b(c, z({
683
+ modelValue: v(o),
684
+ "onUpdate:modelValue": s[0] || (s[0] = (S) => ee(o) ? o.value = S : null)
685
+ }, k(k({}, v(i)), g), {
686
+ clearable: m.allowNull,
687
+ type: "text",
688
+ variant: "underlined",
689
+ rules: u.value
690
+ }), {
691
+ message: D(() => [
692
+ b(v(ge), { errors: v(a) }, null, 8, ["errors"])
693
+ ]),
694
+ "prepend-inner": D(() => [
695
+ Ne("div", {
696
+ style: Tn([{ width: "24px", height: "24px", "border-radius": "4px", border: "1px solid #ccc" }, { backgroundColor: v(o) }])
697
+ }, null, 4)
698
+ ]),
699
+ _: 2
700
+ }, 1040, ["modelValue", "clearable", "rules"])
701
+ ]),
702
+ default: D(() => [
703
+ b(f, {
704
+ modelValue: v(o),
705
+ "onUpdate:modelValue": [
706
+ s[1] || (s[1] = (g) => ee(o) ? o.value = g : null),
707
+ d
708
+ ],
709
+ mode: "hexa"
710
+ }, null, 8, ["modelValue"])
711
+ ]),
712
+ _: 1
713
+ }, 8, ["modelValue"]);
714
+ };
715
+ }
716
+ });
717
+ function fe(e) {
718
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2;
719
+ return String(e).padStart(t, "0");
720
+ }
721
+ const Mn = typeof window != "undefined", no = Mn && "IntersectionObserver" in window;
722
+ function xt(e, t) {
723
+ if (e === t) return !0;
724
+ if (e instanceof Date && t instanceof Date && e.getTime() !== t.getTime() || e !== Object(e) || t !== Object(t))
725
+ return !1;
726
+ const n = Object.keys(e);
727
+ return n.length !== Object.keys(t).length ? !1 : n.every((l) => xt(e[l], t[l]));
728
+ }
729
+ function Tt(e) {
730
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
731
+ return Array.from({
732
+ length: e
733
+ }, (n, l) => t + l);
734
+ }
735
+ function ae(e) {
736
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px";
737
+ if (e == null || e === "")
738
+ return;
739
+ const n = Number(e);
740
+ return isNaN(n) ? String(e) : isFinite(n) ? `${n}${t}` : void 0;
741
+ }
742
+ function lo(e) {
743
+ return e !== null && typeof e == "object" && !Array.isArray(e);
744
+ }
745
+ function ln(e) {
746
+ let t;
747
+ return e !== null && typeof e == "object" && ((t = Object.getPrototypeOf(e)) === Object.prototype || t === null);
748
+ }
749
+ function ao(e) {
750
+ if (e && "$el" in e) {
751
+ const t = e.$el;
752
+ return (t == null ? void 0 : t.nodeType) === Node.TEXT_NODE ? t.nextElementSibling : t;
753
+ }
754
+ return e;
755
+ }
756
+ const an = Object.freeze({
757
+ enter: 13,
758
+ tab: 9,
759
+ delete: 46,
760
+ esc: 27,
761
+ space: 32,
762
+ up: 38,
763
+ down: 40,
764
+ left: 37,
765
+ right: 39,
766
+ end: 35,
767
+ home: 36,
768
+ del: 46,
769
+ backspace: 8,
770
+ insert: 45,
771
+ pageup: 33,
772
+ pagedown: 34,
773
+ shift: 16
774
+ });
775
+ function mt(e, t) {
776
+ return t.every((n) => e.hasOwnProperty(n));
777
+ }
778
+ function oo(e, t) {
779
+ const n = {};
780
+ for (const l of t)
781
+ Object.prototype.hasOwnProperty.call(e, l) && (n[l] = e[l]);
782
+ return n;
783
+ }
784
+ function Rn(e, t) {
785
+ const n = k({}, e);
786
+ return t.forEach((l) => delete n[l]), n;
787
+ }
788
+ function io(e) {
789
+ return e == null ? [] : Array.isArray(e) ? e : [e];
790
+ }
791
+ function on(e, t) {
792
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0";
793
+ return e + n.repeat(Math.max(0, t - e.length));
794
+ }
795
+ function so(e) {
796
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
797
+ const n = [];
798
+ let l = 0;
799
+ for (; l < e.length; )
800
+ n.push(e.substr(l, t)), l += t;
801
+ return n;
802
+ }
803
+ function we() {
804
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = arguments.length > 2 ? arguments[2] : void 0;
805
+ const l = {};
806
+ for (const a in e)
807
+ l[a] = e[a];
808
+ for (const a in t) {
809
+ const o = e[a], i = t[a];
810
+ if (ln(o) && ln(i)) {
811
+ l[a] = we(o, i, n);
812
+ continue;
813
+ }
814
+ if (n && Array.isArray(o) && Array.isArray(i)) {
815
+ l[a] = n(o, i);
816
+ continue;
817
+ }
818
+ l[a] = i;
819
+ }
820
+ return l;
821
+ }
822
+ function On(e) {
823
+ return e.map((t) => t.type === ot ? On(t.children) : t).flat();
824
+ }
825
+ function ve() {
826
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
827
+ if (ve.cache.has(e)) return ve.cache.get(e);
828
+ const t = e.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase();
829
+ return ve.cache.set(e, t), t;
830
+ }
831
+ ve.cache = /* @__PURE__ */ new Map();
832
+ function Pe(e, t) {
833
+ if (!t || typeof t != "object") return [];
834
+ if (Array.isArray(t))
835
+ return t.map((n) => Pe(e, n)).flat(1);
836
+ if (t.suspense)
837
+ return Pe(e, t.ssContent);
838
+ if (Array.isArray(t.children))
839
+ return t.children.map((n) => Pe(e, n)).flat(1);
840
+ if (t.component) {
841
+ if (Object.getOwnPropertySymbols(t.component.provides).includes(e))
842
+ return [t.component];
843
+ if (t.component.subTree)
844
+ return Pe(e, t.component.subTree).flat(1);
845
+ }
846
+ return [];
847
+ }
848
+ function Fn(e) {
849
+ const t = Qe({}), n = h(e);
850
+ return Ct(() => {
851
+ for (const l in n.value)
852
+ t[l] = n.value[l];
853
+ }, {
854
+ flush: "sync"
855
+ }), xe(t);
856
+ }
857
+ function bt(e, t) {
858
+ return e.includes(t);
859
+ }
860
+ function sn(e, t) {
861
+ return t = "on" + In(t), !!(e[t] || e[`${t}Once`] || e[`${t}Capture`] || e[`${t}OnceCapture`] || e[`${t}CaptureOnce`]);
862
+ }
863
+ function ro() {
864
+ const e = St(), t = (n) => {
865
+ e.value = n;
866
+ };
867
+ return Object.defineProperty(t, "value", {
868
+ enumerable: !0,
869
+ get: () => e.value,
870
+ set: (n) => e.value = n
871
+ }), Object.defineProperty(t, "el", {
872
+ enumerable: !0,
873
+ get: () => ao(e.value)
874
+ }), t;
875
+ }
876
+ const uo = ["top", "bottom"], co = ["start", "end", "left", "right"];
877
+ function mo(e, t) {
878
+ let [n, l] = e.split(" ");
879
+ return l || (l = bt(uo, n) ? "start" : bt(co, n) ? "top" : "center"), {
880
+ side: rn(n, t),
881
+ align: rn(l, t)
882
+ };
883
+ }
884
+ function rn(e, t) {
885
+ return e === "start" ? t ? "right" : "left" : e === "end" ? t ? "left" : "right" : e;
886
+ }
887
+ const _e = 2.4, un = 0.2126729, cn = 0.7151522, dn = 0.072175, fo = 0.55, vo = 0.58, go = 0.57, ho = 0.62, Ke = 0.03, mn = 1.45, bo = 5e-4, yo = 1.25, po = 1.25, _o = 0.078, fn = 12.82051282051282, qe = 0.06, wo = 1e-3;
888
+ function vn(e, t) {
889
+ const n = j(e.r / 255, _e), l = j(e.g / 255, _e), a = j(e.b / 255, _e), o = j(t.r / 255, _e), i = j(t.g / 255, _e), r = j(t.b / 255, _e);
890
+ let u = n * un + l * cn + a * dn, d = o * un + i * cn + r * dn;
891
+ if (u <= Ke && (u += j(Ke - u, mn)), d <= Ke && (d += j(Ke - d, mn)), Math.abs(d - u) < bo) return 0;
892
+ let m;
893
+ if (d > u) {
894
+ const s = (j(d, fo) - j(u, vo)) * yo;
895
+ m = s < wo ? 0 : s < _o ? s - s * fn * qe : s - qe;
896
+ } else {
897
+ const s = (j(d, ho) - j(u, go)) * po;
898
+ m = s > -1e-3 ? 0 : s > -0.078 ? s - s * fn * qe : s + qe;
899
+ }
900
+ return m * 100;
901
+ }
902
+ function ke(e) {
903
+ Tl(`Vuetify: ${e}`);
904
+ }
905
+ function yt(e) {
906
+ return !!e && /^(#|var\(--|(rgb|hsl)a?\()/.test(e);
907
+ }
908
+ function ko(e) {
909
+ return yt(e) && !/^((rgb|hsl)a?\()?var\(--/.test(e);
910
+ }
911
+ const gn = new RegExp("^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)"), Co = {
912
+ rgb: (e, t, n, l) => ({
913
+ r: e,
914
+ g: t,
915
+ b: n,
916
+ a: l
917
+ }),
918
+ rgba: (e, t, n, l) => ({
919
+ r: e,
920
+ g: t,
921
+ b: n,
922
+ a: l
923
+ }),
924
+ hsl: (e, t, n, l) => hn({
925
+ h: e,
926
+ s: t,
927
+ l: n,
928
+ a: l
929
+ }),
930
+ hsla: (e, t, n, l) => hn({
931
+ h: e,
932
+ s: t,
933
+ l: n,
934
+ a: l
935
+ }),
936
+ hsv: (e, t, n, l) => De({
937
+ h: e,
938
+ s: t,
939
+ v: n,
940
+ a: l
941
+ }),
942
+ hsva: (e, t, n, l) => De({
943
+ h: e,
944
+ s: t,
945
+ v: n,
946
+ a: l
947
+ })
948
+ };
949
+ function Ae(e) {
950
+ if (typeof e == "number")
951
+ return (isNaN(e) || e < 0 || e > 16777215) && ke(`'${e}' is not a valid hex color`), {
952
+ r: (e & 16711680) >> 16,
953
+ g: (e & 65280) >> 8,
954
+ b: e & 255
955
+ };
956
+ if (typeof e == "string" && gn.test(e)) {
957
+ const {
958
+ groups: t
959
+ } = e.match(gn), {
960
+ fn: n,
961
+ values: l
962
+ } = t, a = l.split(/,\s*|\s*\/\s*|\s+/).map((o, i) => o.endsWith("%") || // unitless slv are %
963
+ i > 0 && i < 3 && ["hsl", "hsla", "hsv", "hsva"].includes(n) ? parseFloat(o) / 100 : parseFloat(o));
964
+ return Co[n](...a);
965
+ } else if (typeof e == "string") {
966
+ let t = e.startsWith("#") ? e.slice(1) : e;
967
+ [3, 4].includes(t.length) ? t = t.split("").map((l) => l + l).join("") : [6, 8].includes(t.length) || ke(`'${e}' is not a valid hex(a) color`);
968
+ const n = parseInt(t, 16);
969
+ return (isNaN(n) || n < 0 || n > 4294967295) && ke(`'${e}' is not a valid hex(a) color`), So(t);
970
+ } else if (typeof e == "object") {
971
+ if (mt(e, ["r", "g", "b"]))
972
+ return e;
973
+ if (mt(e, ["h", "s", "l"]))
974
+ return De(Un(e));
975
+ if (mt(e, ["h", "s", "v"]))
976
+ return De(e);
977
+ }
978
+ throw new TypeError(`Invalid color: ${e == null ? e : String(e) || e.constructor.name}
979
+ Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);
980
+ }
981
+ function De(e) {
982
+ const {
983
+ h: t,
984
+ s: n,
985
+ v: l,
986
+ a
987
+ } = e, o = (r) => {
988
+ const u = (r + t / 60) % 6;
989
+ return l - l * n * Math.max(Math.min(u, 4 - u, 1), 0);
990
+ }, i = [o(5), o(3), o(1)].map((r) => Math.round(r * 255));
991
+ return {
992
+ r: i[0],
993
+ g: i[1],
994
+ b: i[2],
995
+ a
996
+ };
997
+ }
998
+ function hn(e) {
999
+ return De(Un(e));
1000
+ }
1001
+ function Un(e) {
1002
+ const {
1003
+ h: t,
1004
+ s: n,
1005
+ l,
1006
+ a
1007
+ } = e, o = l + n * Math.min(l, 1 - l), i = o === 0 ? 0 : 2 - 2 * l / o;
1008
+ return {
1009
+ h: t,
1010
+ s: i,
1011
+ v: o,
1012
+ a
1013
+ };
1014
+ }
1015
+ function So(e) {
1016
+ e = Vo(e);
1017
+ let [t, n, l, a] = so(e, 2).map((o) => parseInt(o, 16));
1018
+ return a = a === void 0 ? a : a / 255, {
1019
+ r: t,
1020
+ g: n,
1021
+ b: l,
1022
+ a
1023
+ };
1024
+ }
1025
+ function Vo(e) {
1026
+ return e.startsWith("#") && (e = e.slice(1)), e = e.replace(/([^0-9a-f])/gi, "F"), (e.length === 3 || e.length === 4) && (e = e.split("").map((t) => t + t).join("")), e.length !== 6 && (e = on(on(e, 6), 8, "F")), e;
1027
+ }
1028
+ function xo(e) {
1029
+ const t = Math.abs(vn(Ae(0), Ae(e)));
1030
+ return Math.abs(vn(Ae(16777215), Ae(e))) > Math.min(t, 50) ? "#fff" : "#000";
1031
+ }
1032
+ function L(e, t) {
1033
+ return (n) => Object.keys(e).reduce((l, a) => {
1034
+ const i = typeof e[a] == "object" && e[a] != null && !Array.isArray(e[a]) ? e[a] : {
1035
+ type: e[a]
1036
+ };
1037
+ return n && a in n ? l[a] = le(k({}, i), {
1038
+ default: n[a]
1039
+ }) : l[a] = i, t && !l[a].source && (l[a].source = t), l;
1040
+ }, {});
1041
+ }
1042
+ const Te = L({
1043
+ class: [String, Array, Object],
1044
+ style: {
1045
+ type: [String, Array, Object],
1046
+ default: null
1047
+ }
1048
+ }, "component");
1049
+ function ie(e, t) {
1050
+ const n = Il();
1051
+ if (!n)
1052
+ throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);
1053
+ return n;
1054
+ }
1055
+ function be() {
1056
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables";
1057
+ const t = ie(e).type;
1058
+ return ve((t == null ? void 0 : t.aliasName) || (t == null ? void 0 : t.name));
1059
+ }
1060
+ function To(e) {
1061
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ie("injectSelf");
1062
+ const {
1063
+ provides: n
1064
+ } = t;
1065
+ if (n && e in n)
1066
+ return n[e];
1067
+ }
1068
+ const et = Symbol.for("vuetify:defaults");
1069
+ function It() {
1070
+ const e = he(et);
1071
+ if (!e) throw new Error("[Vuetify] Could not find defaults instance");
1072
+ return e;
1073
+ }
1074
+ function Hn(e, t) {
1075
+ const n = It(), l = T(e), a = h(() => {
1076
+ if (v(t == null ? void 0 : t.disabled)) return n.value;
1077
+ const i = v(t == null ? void 0 : t.scoped), r = v(t == null ? void 0 : t.reset), u = v(t == null ? void 0 : t.root);
1078
+ if (l.value == null && !(i || r || u)) return n.value;
1079
+ let d = we(l.value, {
1080
+ prev: n.value
1081
+ });
1082
+ if (i) return d;
1083
+ if (r || u) {
1084
+ const m = Number(r || 1 / 0);
1085
+ for (let s = 0; s <= m && !(!d || !("prev" in d)); s++)
1086
+ d = d.prev;
1087
+ return d && typeof u == "string" && u in d && (d = we(we(d, {
1088
+ prev: d
1089
+ }), d[u])), d;
1090
+ }
1091
+ return d.prev ? we(d.prev, d) : d;
1092
+ });
1093
+ return Re(et, a), a;
1094
+ }
1095
+ function Io(e, t) {
1096
+ var n, l;
1097
+ return typeof ((n = e.props) == null ? void 0 : n[t]) != "undefined" || typeof ((l = e.props) == null ? void 0 : l[ve(t)]) != "undefined";
1098
+ }
1099
+ function Bo() {
1100
+ var u;
1101
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : It();
1102
+ const l = ie("useDefaults");
1103
+ if (t = (u = t != null ? t : l.type.name) != null ? u : l.type.__name, !t)
1104
+ throw new Error("[Vuetify] Could not determine component name");
1105
+ const a = h(() => {
1106
+ var d, m;
1107
+ return (m = n.value) == null ? void 0 : m[(d = e._as) != null ? d : t];
1108
+ }), o = new Proxy(e, {
1109
+ get(d, m) {
1110
+ var c, f, y, g, S, V, _;
1111
+ const s = Reflect.get(d, m);
1112
+ return m === "class" || m === "style" ? [(c = a.value) == null ? void 0 : c[m], s].filter((w) => w != null) : typeof m == "string" && !Io(l.vnode, m) ? ((f = a.value) == null ? void 0 : f[m]) !== void 0 ? (y = a.value) == null ? void 0 : y[m] : ((S = (g = n.value) == null ? void 0 : g.global) == null ? void 0 : S[m]) !== void 0 ? (_ = (V = n.value) == null ? void 0 : V.global) == null ? void 0 : _[m] : s : s;
1113
+ }
1114
+ }), i = St();
1115
+ Ct(() => {
1116
+ if (a.value) {
1117
+ const d = Object.entries(a.value).filter((m) => {
1118
+ let [s] = m;
1119
+ return s.startsWith(s[0].toUpperCase());
1120
+ });
1121
+ i.value = d.length ? Object.fromEntries(d) : void 0;
1122
+ } else
1123
+ i.value = void 0;
1124
+ });
1125
+ function r() {
1126
+ const d = To(et, l);
1127
+ Re(et, h(() => {
1128
+ var m;
1129
+ return i.value ? we((m = d == null ? void 0 : d.value) != null ? m : {}, i.value) : d == null ? void 0 : d.value;
1130
+ }));
1131
+ }
1132
+ return {
1133
+ props: o,
1134
+ provideSubDefaults: r
1135
+ };
1136
+ }
1137
+ function it(e) {
1138
+ var t, n;
1139
+ if (e._setup = (t = e._setup) != null ? t : e.setup, !e.name)
1140
+ return ke("The component is missing an explicit name, unable to generate default prop value"), e;
1141
+ if (e._setup) {
1142
+ e.props = L((n = e.props) != null ? n : {}, e.name)();
1143
+ const l = Object.keys(e.props).filter((a) => a !== "class" && a !== "style");
1144
+ e.filterProps = function(o) {
1145
+ return oo(o, l);
1146
+ }, e.props._as = String, e.setup = function(o, i) {
1147
+ var s;
1148
+ const r = It();
1149
+ if (!r.value) return e._setup(o, i);
1150
+ const {
1151
+ props: u,
1152
+ provideSubDefaults: d
1153
+ } = Bo(o, (s = o._as) != null ? s : e.name, r), m = e._setup(u, i);
1154
+ return d(), m;
1155
+ };
1156
+ }
1157
+ return e;
1158
+ }
1159
+ function te() {
1160
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
1161
+ return (t) => (e ? it : Z)(t);
1162
+ }
1163
+ function Po(e) {
1164
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div", n = arguments.length > 2 ? arguments[2] : void 0;
1165
+ return te()({
1166
+ name: n != null ? n : In(Pl(e.replace(/__/g, "-"))),
1167
+ props: k({
1168
+ tag: {
1169
+ type: String,
1170
+ default: t
1171
+ }
1172
+ }, Te()),
1173
+ setup(l, a) {
1174
+ let {
1175
+ slots: o
1176
+ } = a;
1177
+ return () => {
1178
+ var i;
1179
+ return Bl(l.tag, {
1180
+ class: [e, l.class],
1181
+ style: l.style
1182
+ }, (i = o.default) == null ? void 0 : i.call(o));
1183
+ };
1184
+ }
1185
+ });
1186
+ }
1187
+ function se(e) {
1188
+ const t = ie("useRender");
1189
+ t.render = e;
1190
+ }
1191
+ function Bt(e) {
1192
+ return Fn(() => {
1193
+ const t = [], n = {};
1194
+ if (e.value.background)
1195
+ if (yt(e.value.background)) {
1196
+ if (n.backgroundColor = e.value.background, !e.value.text && ko(e.value.background)) {
1197
+ const l = Ae(e.value.background);
1198
+ if (l.a == null || l.a === 1) {
1199
+ const a = xo(l);
1200
+ n.color = a, n.caretColor = a;
1201
+ }
1202
+ }
1203
+ } else
1204
+ t.push(`bg-${e.value.background}`);
1205
+ return e.value.text && (yt(e.value.text) ? (n.color = e.value.text, n.caretColor = e.value.text) : t.push(`text-${e.value.text}`)), {
1206
+ colorClasses: t,
1207
+ colorStyles: n
1208
+ };
1209
+ });
1210
+ }
1211
+ function tt(e, t) {
1212
+ const n = h(() => ({
1213
+ text: ee(e) ? e.value : null
1214
+ })), {
1215
+ colorClasses: l,
1216
+ colorStyles: a
1217
+ } = Bt(n);
1218
+ return {
1219
+ textColorClasses: l,
1220
+ textColorStyles: a
1221
+ };
1222
+ }
1223
+ function Pt(e, t) {
1224
+ const n = h(() => ({
1225
+ background: ee(e) ? e.value : null
1226
+ })), {
1227
+ colorClasses: l,
1228
+ colorStyles: a
1229
+ } = Bt(n);
1230
+ return {
1231
+ backgroundColorClasses: l,
1232
+ backgroundColorStyles: a
1233
+ };
1234
+ }
1235
+ const Ao = L({
1236
+ allowedValues: Function,
1237
+ ampm: Boolean,
1238
+ color: String,
1239
+ disabled: Boolean,
1240
+ displayedValue: null,
1241
+ double: Boolean,
1242
+ format: {
1243
+ type: Function,
1244
+ default: (e) => e
1245
+ },
1246
+ max: {
1247
+ type: Number,
1248
+ required: !0
1249
+ },
1250
+ min: {
1251
+ type: Number,
1252
+ required: !0
1253
+ },
1254
+ scrollable: Boolean,
1255
+ readonly: Boolean,
1256
+ rotate: {
1257
+ type: Number,
1258
+ default: 0
1259
+ },
1260
+ step: {
1261
+ type: Number,
1262
+ default: 1
1263
+ },
1264
+ modelValue: {
1265
+ type: Number
1266
+ }
1267
+ }, "VTimePickerClock"), bn = te()({
1268
+ name: "VTimePickerClock",
1269
+ props: Ao(),
1270
+ emits: {
1271
+ change: (e) => !0,
1272
+ input: (e) => !0
1273
+ },
1274
+ setup(e, t) {
1275
+ let {
1276
+ emit: n
1277
+ } = t;
1278
+ const l = T(null), a = T(null), o = T(void 0), i = T(!1), r = T(null), u = T(null), {
1279
+ textColorClasses: d,
1280
+ textColorStyles: m
1281
+ } = tt(q(e, "color")), {
1282
+ backgroundColorClasses: s,
1283
+ backgroundColorStyles: c
1284
+ } = Pt(q(e, "color")), f = h(() => e.max - e.min + 1), y = h(() => e.double ? f.value / 2 : f.value), g = h(() => 360 / y.value), S = h(() => g.value * Math.PI / 180), V = h(() => e.modelValue == null ? e.min : e.modelValue), _ = h(() => 0.62), w = h(() => {
1285
+ const C = [];
1286
+ for (let E = e.min; E <= e.max; E = E + e.step)
1287
+ C.push(E);
1288
+ return C;
1289
+ });
1290
+ X(() => e.modelValue, (C) => {
1291
+ o.value = C;
1292
+ });
1293
+ function P(C) {
1294
+ o.value !== C && (o.value = C), n("input", C);
1295
+ }
1296
+ function R(C) {
1297
+ return !e.allowedValues || e.allowedValues(C);
1298
+ }
1299
+ function Y(C) {
1300
+ if (!e.scrollable || e.disabled) return;
1301
+ C.preventDefault();
1302
+ const E = Math.sign(-C.deltaY || 1);
1303
+ let M = V.value;
1304
+ do
1305
+ M = M + E, M = (M - e.min + f.value) % f.value + e.min;
1306
+ while (!R(M) && M !== V.value);
1307
+ M !== e.displayedValue && P(M);
1308
+ }
1309
+ function $(C) {
1310
+ return e.double && C - e.min >= y.value;
1311
+ }
1312
+ function x(C) {
1313
+ return $(C) ? _.value : 1;
1314
+ }
1315
+ function U(C) {
1316
+ const E = e.rotate * Math.PI / 180;
1317
+ return {
1318
+ x: Math.sin((C - e.min) * S.value + E) * x(C),
1319
+ y: -Math.cos((C - e.min) * S.value + E) * x(C)
1320
+ };
1321
+ }
1322
+ function ne(C, E) {
1323
+ const M = (Math.round(C / g.value) + (E ? y.value : 0)) % f.value + e.min;
1324
+ return C < 360 - g.value / 2 ? M : E ? e.max - y.value + 1 : e.min;
1325
+ }
1326
+ function A(C) {
1327
+ const {
1328
+ x: E,
1329
+ y: M
1330
+ } = U(C);
1331
+ return {
1332
+ left: `${50 + E * 50}%`,
1333
+ top: `${50 + M * 50}%`
1334
+ };
1335
+ }
1336
+ function p(C, E) {
1337
+ const M = E.x - C.x, re = E.y - C.y;
1338
+ return Math.sqrt(M * M + re * re);
1339
+ }
1340
+ function N(C, E) {
1341
+ const M = 2 * Math.atan2(E.y - C.y - p(C, E), E.x - C.x);
1342
+ return Math.abs(M * 180 / Math.PI);
1343
+ }
1344
+ function O(C) {
1345
+ r.value === null && (r.value = C), u.value = C, P(C);
1346
+ }
1347
+ function B(C) {
1348
+ var zt, jt, Wt;
1349
+ if (C.preventDefault(), !i.value && C.type !== "click" || !l.value) return;
1350
+ const {
1351
+ width: E,
1352
+ top: M,
1353
+ left: re
1354
+ } = (zt = l.value) == null ? void 0 : zt.getBoundingClientRect(), {
1355
+ width: He
1356
+ } = (Wt = (jt = a.value) == null ? void 0 : jt.getBoundingClientRect()) != null ? Wt : {
1357
+ width: 0
1358
+ }, {
1359
+ clientX: ye,
1360
+ clientY: ze
1361
+ } = "touches" in C ? C.touches[0] : C, Ot = {
1362
+ x: E / 2,
1363
+ y: -E / 2
1364
+ }, Ft = {
1365
+ x: ye - re,
1366
+ y: M - ze
1367
+ }, Ut = Math.round(N(Ot, Ft) - e.rotate + 360) % 360, Ht = e.double && p(Ot, Ft) < (He + He * _.value) / 4, gl = Math.ceil(15 / g.value);
1368
+ let pe;
1369
+ for (let je = 0; je < gl; je++)
1370
+ if (pe = ne(Ut + je * g.value, Ht), R(pe) || (pe = ne(Ut - je * g.value, Ht), R(pe))) return O(pe);
1371
+ }
1372
+ function W(C) {
1373
+ e.disabled || (C.preventDefault(), window.addEventListener("mousemove", B), window.addEventListener("touchmove", B), window.addEventListener("mouseup", Q), window.addEventListener("touchend", Q), r.value = null, u.value = null, i.value = !0, B(C));
1374
+ }
1375
+ function Q(C) {
1376
+ C.stopPropagation(), window.removeEventListener("mousemove", B), window.removeEventListener("touchmove", B), window.removeEventListener("mouseup", Q), window.removeEventListener("touchend", Q), i.value = !1, u.value !== null && R(u.value) && n("change", u.value);
1377
+ }
1378
+ se(() => b("div", {
1379
+ class: [{
1380
+ "v-time-picker-clock": !0,
1381
+ "v-time-picker-clock--indeterminate": e.modelValue == null,
1382
+ "v-time-picker-clock--readonly": e.readonly
1383
+ }],
1384
+ onMousedown: W,
1385
+ onTouchstart: W,
1386
+ onWheel: Y,
1387
+ ref: l
1388
+ }, [b("div", {
1389
+ class: "v-time-picker-clock__inner",
1390
+ ref: a
1391
+ }, [b("div", {
1392
+ class: [{
1393
+ "v-time-picker-clock__hand": !0,
1394
+ "v-time-picker-clock__hand--inner": $(e.modelValue)
1395
+ }, d.value],
1396
+ style: [{
1397
+ transform: `rotate(${e.rotate + g.value * (V.value - e.min)}deg) scaleY(${x(V.value)})`
1398
+ }, m.value]
1399
+ }, null), w.value.map((C) => {
1400
+ const E = C === V.value;
1401
+ return b("div", {
1402
+ class: [{
1403
+ "v-time-picker-clock__item": !0,
1404
+ "v-time-picker-clock__item--active": E,
1405
+ "v-time-picker-clock__item--disabled": e.disabled || !R(C)
1406
+ }, E && s.value],
1407
+ style: [A(C), E && c.value]
1408
+ }, [b("span", null, [e.format(C)])]);
1409
+ })])]));
1410
+ }
1411
+ }), At = L({
1412
+ border: [Boolean, Number, String]
1413
+ }, "border");
1414
+ function $t(e) {
1415
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : be();
1416
+ return {
1417
+ borderClasses: h(() => {
1418
+ const l = ee(e) ? e.value : e.border, a = [];
1419
+ if (l === !0 || l === "")
1420
+ a.push(`${t}--border`);
1421
+ else if (typeof l == "string" || l === 0)
1422
+ for (const o of String(l).split(" "))
1423
+ a.push(`border-${o}`);
1424
+ return a;
1425
+ })
1426
+ };
1427
+ }
1428
+ const $o = [null, "default", "comfortable", "compact"], zn = L({
1429
+ density: {
1430
+ type: String,
1431
+ default: "default",
1432
+ validator: (e) => $o.includes(e)
1433
+ }
1434
+ }, "density");
1435
+ function jn(e) {
1436
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : be();
1437
+ return {
1438
+ densityClasses: h(() => `${t}--density-${e.density}`)
1439
+ };
1440
+ }
1441
+ const Et = L({
1442
+ elevation: {
1443
+ type: [Number, String],
1444
+ validator(e) {
1445
+ const t = parseInt(e);
1446
+ return !isNaN(t) && t >= 0 && // Material Design has a maximum elevation of 24
1447
+ // https://material.io/design/environment/elevation.html#default-elevations
1448
+ t <= 24;
1449
+ }
1450
+ }
1451
+ }, "elevation");
1452
+ function Nt(e) {
1453
+ return {
1454
+ elevationClasses: h(() => {
1455
+ const n = ee(e) ? e.value : e.elevation, l = [];
1456
+ return n == null || l.push(`elevation-${n}`), l;
1457
+ })
1458
+ };
1459
+ }
1460
+ const Dt = L({
1461
+ rounded: {
1462
+ type: [Boolean, Number, String],
1463
+ default: void 0
1464
+ },
1465
+ tile: Boolean
1466
+ }, "rounded");
1467
+ function Lt(e) {
1468
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : be();
1469
+ return {
1470
+ roundedClasses: h(() => {
1471
+ const l = ee(e) ? e.value : e.rounded, a = ee(e) ? e.value : e.tile, o = [];
1472
+ if (l === !0 || l === "")
1473
+ o.push(`${t}--rounded`);
1474
+ else if (typeof l == "string" || l === 0)
1475
+ for (const i of String(l).split(" "))
1476
+ o.push(`rounded-${i}`);
1477
+ else (a || l === !1) && o.push("rounded-0");
1478
+ return o;
1479
+ })
1480
+ };
1481
+ }
1482
+ const Fe = L({
1483
+ tag: {
1484
+ type: [String, Object, Function],
1485
+ default: "div"
1486
+ }
1487
+ }, "tag"), pt = Symbol.for("vuetify:theme"), Ue = L({
1488
+ theme: String
1489
+ }, "theme");
1490
+ function st(e) {
1491
+ ie("provideTheme");
1492
+ const t = he(pt, null);
1493
+ if (!t) throw new Error("Could not find Vuetify theme injection");
1494
+ const n = h(() => {
1495
+ var i;
1496
+ return (i = e.theme) != null ? i : t.name.value;
1497
+ }), l = h(() => t.themes.value[n.value]), a = h(() => t.isDisabled ? void 0 : `v-theme--${n.value}`), o = le(k({}, t), {
1498
+ name: n,
1499
+ current: l,
1500
+ themeClasses: a
1501
+ });
1502
+ return Re(pt, o), o;
1503
+ }
1504
+ function Eo() {
1505
+ ie("useTheme");
1506
+ const e = he(pt, null);
1507
+ if (!e) throw new Error("Could not find Vuetify theme injection");
1508
+ return e;
1509
+ }
1510
+ const No = ["elevated", "flat", "tonal", "outlined", "text", "plain"];
1511
+ function Do(e, t) {
1512
+ return b(ot, null, [b("span", {
1513
+ key: "overlay",
1514
+ class: `${t}__overlay`
1515
+ }, null), b("span", {
1516
+ key: "underlay",
1517
+ class: `${t}__underlay`
1518
+ }, null)]);
1519
+ }
1520
+ const Wn = L({
1521
+ color: String,
1522
+ variant: {
1523
+ type: String,
1524
+ default: "elevated",
1525
+ validator: (e) => No.includes(e)
1526
+ }
1527
+ }, "variant");
1528
+ function Lo(e) {
1529
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : be();
1530
+ const n = h(() => {
1531
+ const {
1532
+ variant: o
1533
+ } = v(e);
1534
+ return `${t}--variant-${o}`;
1535
+ }), {
1536
+ colorClasses: l,
1537
+ colorStyles: a
1538
+ } = Bt(h(() => {
1539
+ const {
1540
+ variant: o,
1541
+ color: i
1542
+ } = v(e);
1543
+ return {
1544
+ [["elevated", "flat"].includes(o) ? "background" : "text"]: i
1545
+ };
1546
+ }));
1547
+ return {
1548
+ colorClasses: l,
1549
+ colorStyles: a,
1550
+ variantClasses: n
1551
+ };
1552
+ }
1553
+ const Gn = L(k(k(k(k(k(k(k(k({
1554
+ baseColor: String,
1555
+ divided: Boolean
1556
+ }, At()), Te()), zn()), Et()), Dt()), Fe()), Ue()), Wn()), "VBtnGroup"), yn = te()({
1557
+ name: "VBtnGroup",
1558
+ props: Gn(),
1559
+ setup(e, t) {
1560
+ let {
1561
+ slots: n
1562
+ } = t;
1563
+ const {
1564
+ themeClasses: l
1565
+ } = st(e), {
1566
+ densityClasses: a
1567
+ } = jn(e), {
1568
+ borderClasses: o
1569
+ } = $t(e), {
1570
+ elevationClasses: i
1571
+ } = Nt(e), {
1572
+ roundedClasses: r
1573
+ } = Lt(e);
1574
+ Hn({
1575
+ VBtn: {
1576
+ height: "auto",
1577
+ baseColor: q(e, "baseColor"),
1578
+ color: q(e, "color"),
1579
+ density: q(e, "density"),
1580
+ flat: !0,
1581
+ variant: q(e, "variant")
1582
+ }
1583
+ }), se(() => b(e.tag, {
1584
+ class: ["v-btn-group", {
1585
+ "v-btn-group--divided": e.divided
1586
+ }, l.value, o.value, a.value, i.value, r.value, e.class],
1587
+ style: e.style
1588
+ }, n));
1589
+ }
1590
+ });
1591
+ function Mo(e, t) {
1592
+ let n;
1593
+ function l() {
1594
+ n = $l(), n.run(() => t.length ? t(() => {
1595
+ n == null || n.stop(), l();
1596
+ }) : t());
1597
+ }
1598
+ X(e, (a) => {
1599
+ a && !n ? l() : a || (n == null || n.stop(), n = void 0);
1600
+ }, {
1601
+ immediate: !0
1602
+ }), Al(() => {
1603
+ n == null || n.stop();
1604
+ });
1605
+ }
1606
+ function Kn(e, t, n) {
1607
+ let l = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (s) => s, a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (s) => s;
1608
+ const o = ie("useProxiedModel"), i = T(e[t] !== void 0 ? e[t] : n), r = ve(t), d = r !== t ? h(() => {
1609
+ var s, c, f, y;
1610
+ return e[t], !!(((s = o.vnode.props) != null && s.hasOwnProperty(t) || (c = o.vnode.props) != null && c.hasOwnProperty(r)) && ((f = o.vnode.props) != null && f.hasOwnProperty(`onUpdate:${t}`) || (y = o.vnode.props) != null && y.hasOwnProperty(`onUpdate:${r}`)));
1611
+ }) : h(() => {
1612
+ var s, c;
1613
+ return e[t], !!((s = o.vnode.props) != null && s.hasOwnProperty(t) && ((c = o.vnode.props) != null && c.hasOwnProperty(`onUpdate:${t}`)));
1614
+ });
1615
+ Mo(() => !d.value, () => {
1616
+ X(() => e[t], (s) => {
1617
+ i.value = s;
1618
+ });
1619
+ });
1620
+ const m = h({
1621
+ get() {
1622
+ const s = e[t];
1623
+ return l(d.value ? s : i.value);
1624
+ },
1625
+ set(s) {
1626
+ const c = a(s), f = El(d.value ? e[t] : i.value);
1627
+ f === c || l(f) === s || (i.value = c, o == null || o.emit(`update:${t}`, c));
1628
+ }
1629
+ });
1630
+ return Object.defineProperty(m, "externalValue", {
1631
+ get: () => d.value ? e[t] : i.value
1632
+ }), m;
1633
+ }
1634
+ const Ro = L({
1635
+ modelValue: {
1636
+ type: null,
1637
+ default: void 0
1638
+ },
1639
+ multiple: Boolean,
1640
+ mandatory: [Boolean, String],
1641
+ max: Number,
1642
+ selectedClass: String,
1643
+ disabled: Boolean
1644
+ }, "group"), Oo = L({
1645
+ value: null,
1646
+ disabled: Boolean,
1647
+ selectedClass: String
1648
+ }, "group-item");
1649
+ function Fo(e, t) {
1650
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
1651
+ const l = ie("useGroupItem");
1652
+ if (!l)
1653
+ throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");
1654
+ const a = Nl();
1655
+ Re(Symbol.for(`${t.description}:id`), a);
1656
+ const o = he(t, null);
1657
+ if (!o) {
1658
+ if (!n) return o;
1659
+ throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`);
1660
+ }
1661
+ const i = q(e, "value"), r = h(() => !!(o.disabled.value || e.disabled));
1662
+ o.register({
1663
+ id: a,
1664
+ value: i,
1665
+ disabled: r
1666
+ }, l), Ve(() => {
1667
+ o.unregister(a);
1668
+ });
1669
+ const u = h(() => o.isSelected(a)), d = h(() => o.items.value[0].id === a), m = h(() => o.items.value[o.items.value.length - 1].id === a), s = h(() => u.value && [o.selectedClass.value, e.selectedClass]);
1670
+ return X(u, (c) => {
1671
+ l.emit("group:selected", {
1672
+ value: c
1673
+ });
1674
+ }, {
1675
+ flush: "sync"
1676
+ }), {
1677
+ id: a,
1678
+ isSelected: u,
1679
+ isFirst: d,
1680
+ isLast: m,
1681
+ toggle: () => o.select(a, !u.value),
1682
+ select: (c) => o.select(a, c),
1683
+ selectedClass: s,
1684
+ value: i,
1685
+ disabled: r,
1686
+ group: o
1687
+ };
1688
+ }
1689
+ function Uo(e, t) {
1690
+ let n = !1;
1691
+ const l = Qe([]), a = Kn(e, "modelValue", [], (c) => c == null ? [] : qn(l, io(c)), (c) => {
1692
+ const f = zo(l, c);
1693
+ return e.multiple ? f : f[0];
1694
+ }), o = ie("useGroup");
1695
+ function i(c, f) {
1696
+ const y = c, g = Symbol.for(`${t.description}:id`), V = Pe(g, o == null ? void 0 : o.vnode).indexOf(f);
1697
+ v(y.value) == null && (y.value = V, y.useIndexAsValue = !0), V > -1 ? l.splice(V, 0, y) : l.push(y);
1698
+ }
1699
+ function r(c) {
1700
+ if (n) return;
1701
+ u();
1702
+ const f = l.findIndex((y) => y.id === c);
1703
+ l.splice(f, 1);
1704
+ }
1705
+ function u() {
1706
+ const c = l.find((f) => !f.disabled);
1707
+ c && e.mandatory === "force" && !a.value.length && (a.value = [c.id]);
1708
+ }
1709
+ at(() => {
1710
+ u();
1711
+ }), Ve(() => {
1712
+ n = !0;
1713
+ }), Dl(() => {
1714
+ for (let c = 0; c < l.length; c++)
1715
+ l[c].useIndexAsValue && (l[c].value = c);
1716
+ });
1717
+ function d(c, f) {
1718
+ const y = l.find((g) => g.id === c);
1719
+ if (!(f && (y != null && y.disabled)))
1720
+ if (e.multiple) {
1721
+ const g = a.value.slice(), S = g.findIndex((_) => _ === c), V = ~S;
1722
+ if (f = f != null ? f : !V, V && e.mandatory && g.length <= 1 || !V && e.max != null && g.length + 1 > e.max) return;
1723
+ S < 0 && f ? g.push(c) : S >= 0 && !f && g.splice(S, 1), a.value = g;
1724
+ } else {
1725
+ const g = a.value.includes(c);
1726
+ if (e.mandatory && g) return;
1727
+ a.value = (f != null ? f : !g) ? [c] : [];
1728
+ }
1729
+ }
1730
+ function m(c) {
1731
+ if (e.multiple && ke('This method is not supported when using "multiple" prop'), a.value.length) {
1732
+ const f = a.value[0], y = l.findIndex((V) => V.id === f);
1733
+ let g = (y + c) % l.length, S = l[g];
1734
+ for (; S.disabled && g !== y; )
1735
+ g = (g + c) % l.length, S = l[g];
1736
+ if (S.disabled) return;
1737
+ a.value = [l[g].id];
1738
+ } else {
1739
+ const f = l.find((y) => !y.disabled);
1740
+ f && (a.value = [f.id]);
1741
+ }
1742
+ }
1743
+ const s = {
1744
+ register: i,
1745
+ unregister: r,
1746
+ selected: a,
1747
+ select: d,
1748
+ disabled: q(e, "disabled"),
1749
+ prev: () => m(l.length - 1),
1750
+ next: () => m(1),
1751
+ isSelected: (c) => a.value.includes(c),
1752
+ selectedClass: h(() => e.selectedClass),
1753
+ items: h(() => l),
1754
+ getItemIndex: (c) => Ho(l, c)
1755
+ };
1756
+ return Re(t, s), s;
1757
+ }
1758
+ function Ho(e, t) {
1759
+ const n = qn(e, [t]);
1760
+ return n.length ? e.findIndex((l) => l.id === n[0]) : -1;
1761
+ }
1762
+ function qn(e, t) {
1763
+ const n = [];
1764
+ return t.forEach((l) => {
1765
+ const a = e.find((i) => xt(l, i.value)), o = e[l];
1766
+ (a == null ? void 0 : a.value) != null ? n.push(a.id) : o != null && n.push(o.id);
1767
+ }), n;
1768
+ }
1769
+ function zo(e, t) {
1770
+ const n = [];
1771
+ return t.forEach((l) => {
1772
+ const a = e.findIndex((o) => o.id === l);
1773
+ if (~a) {
1774
+ const o = e[a];
1775
+ n.push(o.value != null ? o.value : a);
1776
+ }
1777
+ }), n;
1778
+ }
1779
+ const Yn = Symbol.for("vuetify:v-btn-toggle"), jo = L(k(k({}, Gn()), Ro()), "VBtnToggle");
1780
+ te()({
1781
+ name: "VBtnToggle",
1782
+ props: jo(),
1783
+ emits: {
1784
+ "update:modelValue": (e) => !0
1785
+ },
1786
+ setup(e, t) {
1787
+ let {
1788
+ slots: n
1789
+ } = t;
1790
+ const {
1791
+ isSelected: l,
1792
+ next: a,
1793
+ prev: o,
1794
+ select: i,
1795
+ selected: r
1796
+ } = Uo(e, Yn);
1797
+ return se(() => {
1798
+ const u = yn.filterProps(e);
1799
+ return b(yn, z({
1800
+ class: ["v-btn-toggle", e.class]
1801
+ }, u, {
1802
+ style: e.style
1803
+ }), {
1804
+ default: () => {
1805
+ var d;
1806
+ return [(d = n.default) == null ? void 0 : d.call(n, {
1807
+ isSelected: l,
1808
+ next: a,
1809
+ prev: o,
1810
+ select: i,
1811
+ selected: r
1812
+ })];
1813
+ }
1814
+ });
1815
+ }), {
1816
+ next: a,
1817
+ prev: o,
1818
+ select: i
1819
+ };
1820
+ }
1821
+ });
1822
+ const Wo = L({
1823
+ defaults: Object,
1824
+ disabled: Boolean,
1825
+ reset: [Number, String],
1826
+ root: [Boolean, String],
1827
+ scoped: Boolean
1828
+ }, "VDefaultsProvider"), Xe = te(!1)({
1829
+ name: "VDefaultsProvider",
1830
+ props: Wo(),
1831
+ setup(e, t) {
1832
+ let {
1833
+ slots: n
1834
+ } = t;
1835
+ const {
1836
+ defaults: l,
1837
+ disabled: a,
1838
+ reset: o,
1839
+ root: i,
1840
+ scoped: r
1841
+ } = xe(e);
1842
+ return Hn(l, {
1843
+ reset: o,
1844
+ root: i,
1845
+ scoped: r,
1846
+ disabled: a
1847
+ }), () => {
1848
+ var u;
1849
+ return (u = n.default) == null ? void 0 : u.call(n);
1850
+ };
1851
+ }
1852
+ }), nt = [String, Function, Object, Array], Go = Symbol.for("vuetify:icons"), rt = L({
1853
+ icon: {
1854
+ type: nt
1855
+ },
1856
+ // Could not remove this and use makeTagProps, types complained because it is not required
1857
+ tag: {
1858
+ type: [String, Object, Function],
1859
+ required: !0
1860
+ }
1861
+ }, "icon"), pn = te()({
1862
+ name: "VComponentIcon",
1863
+ props: rt(),
1864
+ setup(e, t) {
1865
+ let {
1866
+ slots: n
1867
+ } = t;
1868
+ return () => {
1869
+ const l = e.icon;
1870
+ return b(e.tag, null, {
1871
+ default: () => {
1872
+ var a;
1873
+ return [e.icon ? b(l, null, null) : (a = n.default) == null ? void 0 : a.call(n)];
1874
+ }
1875
+ });
1876
+ };
1877
+ }
1878
+ }), Ko = it({
1879
+ name: "VSvgIcon",
1880
+ inheritAttrs: !1,
1881
+ props: rt(),
1882
+ setup(e, t) {
1883
+ let {
1884
+ attrs: n
1885
+ } = t;
1886
+ return () => b(e.tag, z(n, {
1887
+ style: null
1888
+ }), {
1889
+ default: () => [b("svg", {
1890
+ class: "v-icon__svg",
1891
+ xmlns: "http://www.w3.org/2000/svg",
1892
+ viewBox: "0 0 24 24",
1893
+ role: "img",
1894
+ "aria-hidden": "true"
1895
+ }, [Array.isArray(e.icon) ? e.icon.map((l) => Array.isArray(l) ? b("path", {
1896
+ d: l[0],
1897
+ "fill-opacity": l[1]
1898
+ }, null) : b("path", {
1899
+ d: l
1900
+ }, null)) : b("path", {
1901
+ d: e.icon
1902
+ }, null)])]
1903
+ });
1904
+ }
1905
+ });
1906
+ it({
1907
+ name: "VLigatureIcon",
1908
+ props: rt(),
1909
+ setup(e) {
1910
+ return () => b(e.tag, null, {
1911
+ default: () => [e.icon]
1912
+ });
1913
+ }
1914
+ });
1915
+ it({
1916
+ name: "VClassIcon",
1917
+ props: rt(),
1918
+ setup(e) {
1919
+ return () => b(e.tag, {
1920
+ class: e.icon
1921
+ }, null);
1922
+ }
1923
+ });
1924
+ const qo = (e) => {
1925
+ const t = he(Go);
1926
+ if (!t) throw new Error("Missing Vuetify Icons provide!");
1927
+ return {
1928
+ iconData: h(() => {
1929
+ var u;
1930
+ const l = v(e);
1931
+ if (!l) return {
1932
+ component: pn
1933
+ };
1934
+ let a = l;
1935
+ if (typeof a == "string" && (a = a.trim(), a.startsWith("$") && (a = (u = t.aliases) == null ? void 0 : u[a.slice(1)])), a || ke(`Could not find aliased icon "${l}"`), Array.isArray(a))
1936
+ return {
1937
+ component: Ko,
1938
+ icon: a
1939
+ };
1940
+ if (typeof a != "string")
1941
+ return {
1942
+ component: pn,
1943
+ icon: a
1944
+ };
1945
+ const o = Object.keys(t.sets).find((d) => typeof a == "string" && a.startsWith(`${d}:`)), i = o ? a.slice(o.length + 1) : a;
1946
+ return {
1947
+ component: t.sets[o != null ? o : t.defaultSet].component,
1948
+ icon: i
1949
+ };
1950
+ })
1951
+ };
1952
+ }, Yo = ["x-small", "small", "default", "large", "x-large"], Mt = L({
1953
+ size: {
1954
+ type: [String, Number],
1955
+ default: "default"
1956
+ }
1957
+ }, "size");
1958
+ function Rt(e) {
1959
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : be();
1960
+ return Fn(() => {
1961
+ let n, l;
1962
+ return bt(Yo, e.size) ? n = `${t}--size-${e.size}` : e.size && (l = {
1963
+ width: ae(e.size),
1964
+ height: ae(e.size)
1965
+ }), {
1966
+ sizeClasses: n,
1967
+ sizeStyles: l
1968
+ };
1969
+ });
1970
+ }
1971
+ const Xo = L(k(k(k(k({
1972
+ color: String,
1973
+ disabled: Boolean,
1974
+ start: Boolean,
1975
+ end: Boolean,
1976
+ icon: nt,
1977
+ opacity: [String, Number]
1978
+ }, Te()), Mt()), Fe({
1979
+ tag: "i"
1980
+ })), Ue()), "VIcon"), ft = te()({
1981
+ name: "VIcon",
1982
+ props: Xo(),
1983
+ setup(e, t) {
1984
+ let {
1985
+ attrs: n,
1986
+ slots: l
1987
+ } = t;
1988
+ const a = T(), {
1989
+ themeClasses: o
1990
+ } = Eo(), {
1991
+ iconData: i
1992
+ } = qo(h(() => a.value || e.icon)), {
1993
+ sizeClasses: r
1994
+ } = Rt(e), {
1995
+ textColorClasses: u,
1996
+ textColorStyles: d
1997
+ } = tt(q(e, "color"));
1998
+ return se(() => {
1999
+ var c, f;
2000
+ const m = (c = l.default) == null ? void 0 : c.call(l);
2001
+ m && (a.value = (f = On(m).filter((y) => y.type === Ll && y.children && typeof y.children == "string")[0]) == null ? void 0 : f.children);
2002
+ const s = !!(n.onClick || n.onClickOnce);
2003
+ return b(i.value.component, {
2004
+ tag: e.tag,
2005
+ icon: i.value.icon,
2006
+ class: ["v-icon", "notranslate", o.value, r.value, u.value, {
2007
+ "v-icon--clickable": s,
2008
+ "v-icon--disabled": e.disabled,
2009
+ "v-icon--start": e.start,
2010
+ "v-icon--end": e.end
2011
+ }, e.class],
2012
+ style: [{
2013
+ "--v-icon-opacity": e.opacity
2014
+ }, r.value ? void 0 : {
2015
+ fontSize: ae(e.size),
2016
+ height: ae(e.size),
2017
+ width: ae(e.size)
2018
+ }, d.value, e.style],
2019
+ role: s ? "button" : void 0,
2020
+ "aria-hidden": !s,
2021
+ tabindex: s ? e.disabled ? -1 : 0 : void 0
2022
+ }, {
2023
+ default: () => [m]
2024
+ });
2025
+ }), {};
2026
+ }
2027
+ });
2028
+ function Zo(e, t) {
2029
+ const n = T(), l = St(!1);
2030
+ if (no) {
2031
+ const a = new IntersectionObserver((o) => {
2032
+ l.value = !!o.find((i) => i.isIntersecting);
2033
+ }, t);
2034
+ Ve(() => {
2035
+ a.disconnect();
2036
+ }), X(n, (o, i) => {
2037
+ i && (a.unobserve(i), l.value = !1), o && a.observe(o);
2038
+ }, {
2039
+ flush: "post"
2040
+ });
2041
+ }
2042
+ return {
2043
+ intersectionRef: n,
2044
+ isIntersecting: l
2045
+ };
2046
+ }
2047
+ function Qo(e) {
2048
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content";
2049
+ const n = ro(), l = T();
2050
+ if (Mn) {
2051
+ const a = new ResizeObserver((o) => {
2052
+ o.length && (t === "content" ? l.value = o[0].contentRect : l.value = o[0].target.getBoundingClientRect());
2053
+ });
2054
+ Ve(() => {
2055
+ a.disconnect();
2056
+ }), X(() => n.el, (o, i) => {
2057
+ i && (a.unobserve(i), l.value = void 0), o && a.observe(o);
2058
+ }, {
2059
+ flush: "post"
2060
+ });
2061
+ }
2062
+ return {
2063
+ resizeRef: n,
2064
+ contentRect: Ml(l)
2065
+ };
2066
+ }
2067
+ const Jo = L(k(k(k(k({
2068
+ bgColor: String,
2069
+ color: String,
2070
+ indeterminate: [Boolean, String],
2071
+ modelValue: {
2072
+ type: [Number, String],
2073
+ default: 0
2074
+ },
2075
+ rotate: {
2076
+ type: [Number, String],
2077
+ default: 0
2078
+ },
2079
+ width: {
2080
+ type: [Number, String],
2081
+ default: 4
2082
+ }
2083
+ }, Te()), Mt()), Fe({
2084
+ tag: "div"
2085
+ })), Ue()), "VProgressCircular"), ei = te()({
2086
+ name: "VProgressCircular",
2087
+ props: Jo(),
2088
+ setup(e, t) {
2089
+ let {
2090
+ slots: n
2091
+ } = t;
2092
+ const l = 20, a = 2 * Math.PI * l, o = T(), {
2093
+ themeClasses: i
2094
+ } = st(e), {
2095
+ sizeClasses: r,
2096
+ sizeStyles: u
2097
+ } = Rt(e), {
2098
+ textColorClasses: d,
2099
+ textColorStyles: m
2100
+ } = tt(q(e, "color")), {
2101
+ textColorClasses: s,
2102
+ textColorStyles: c
2103
+ } = tt(q(e, "bgColor")), {
2104
+ intersectionRef: f,
2105
+ isIntersecting: y
2106
+ } = Zo(), {
2107
+ resizeRef: g,
2108
+ contentRect: S
2109
+ } = Qo(), V = h(() => Math.max(0, Math.min(100, parseFloat(e.modelValue)))), _ = h(() => Number(e.width)), w = h(() => u.value ? Number(e.size) : S.value ? S.value.width : Math.max(_.value, 32)), P = h(() => l / (1 - _.value / w.value) * 2), R = h(() => _.value / w.value * P.value), Y = h(() => ae((100 - V.value) / 100 * a));
2110
+ return Ct(() => {
2111
+ f.value = o.value, g.value = o.value;
2112
+ }), se(() => b(e.tag, {
2113
+ ref: o,
2114
+ class: ["v-progress-circular", {
2115
+ "v-progress-circular--indeterminate": !!e.indeterminate,
2116
+ "v-progress-circular--visible": y.value,
2117
+ "v-progress-circular--disable-shrink": e.indeterminate === "disable-shrink"
2118
+ }, i.value, r.value, d.value, e.class],
2119
+ style: [u.value, m.value, e.style],
2120
+ role: "progressbar",
2121
+ "aria-valuemin": "0",
2122
+ "aria-valuemax": "100",
2123
+ "aria-valuenow": e.indeterminate ? void 0 : V.value
2124
+ }, {
2125
+ default: () => [b("svg", {
2126
+ style: {
2127
+ transform: `rotate(calc(-90deg + ${Number(e.rotate)}deg))`
2128
+ },
2129
+ xmlns: "http://www.w3.org/2000/svg",
2130
+ viewBox: `0 0 ${P.value} ${P.value}`
2131
+ }, [b("circle", {
2132
+ class: ["v-progress-circular__underlay", s.value],
2133
+ style: c.value,
2134
+ fill: "transparent",
2135
+ cx: "50%",
2136
+ cy: "50%",
2137
+ r: l,
2138
+ "stroke-width": R.value,
2139
+ "stroke-dasharray": a,
2140
+ "stroke-dashoffset": 0
2141
+ }, null), b("circle", {
2142
+ class: "v-progress-circular__overlay",
2143
+ fill: "transparent",
2144
+ cx: "50%",
2145
+ cy: "50%",
2146
+ r: l,
2147
+ "stroke-width": R.value,
2148
+ "stroke-dasharray": a,
2149
+ "stroke-dashoffset": Y.value
2150
+ }, null)]), n.default && b("div", {
2151
+ class: "v-progress-circular__content"
2152
+ }, [n.default({
2153
+ value: V.value
2154
+ })])]
2155
+ })), {};
2156
+ }
2157
+ }), Xn = L({
2158
+ height: [Number, String],
2159
+ maxHeight: [Number, String],
2160
+ maxWidth: [Number, String],
2161
+ minHeight: [Number, String],
2162
+ minWidth: [Number, String],
2163
+ width: [Number, String]
2164
+ }, "dimension");
2165
+ function Zn(e) {
2166
+ return {
2167
+ dimensionStyles: h(() => {
2168
+ const n = {}, l = ae(e.height), a = ae(e.maxHeight), o = ae(e.maxWidth), i = ae(e.minHeight), r = ae(e.minWidth), u = ae(e.width);
2169
+ return l != null && (n.height = l), a != null && (n.maxHeight = a), o != null && (n.maxWidth = o), i != null && (n.minHeight = i), r != null && (n.minWidth = r), u != null && (n.width = u), n;
2170
+ })
2171
+ };
2172
+ }
2173
+ const Qn = Symbol.for("vuetify:locale");
2174
+ function Jn() {
2175
+ const e = he(Qn);
2176
+ if (!e) throw new Error("[Vuetify] Could not find injected locale instance");
2177
+ return e;
2178
+ }
2179
+ function ti() {
2180
+ const e = he(Qn);
2181
+ if (!e) throw new Error("[Vuetify] Could not find injected rtl instance");
2182
+ return {
2183
+ isRtl: e.isRtl,
2184
+ rtlClasses: e.rtlClasses
2185
+ };
2186
+ }
2187
+ const _n = {
2188
+ center: "center",
2189
+ top: "bottom",
2190
+ bottom: "top",
2191
+ left: "right",
2192
+ right: "left"
2193
+ }, el = L({
2194
+ location: String
2195
+ }, "location");
2196
+ function tl(e) {
2197
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, n = arguments.length > 2 ? arguments[2] : void 0;
2198
+ const {
2199
+ isRtl: l
2200
+ } = ti();
2201
+ return {
2202
+ locationStyles: h(() => {
2203
+ if (!e.location) return {};
2204
+ const {
2205
+ side: o,
2206
+ align: i
2207
+ } = mo(e.location.split(" ").length > 1 ? e.location : `${e.location} center`, l.value);
2208
+ function r(d) {
2209
+ return n ? n(d) : 0;
2210
+ }
2211
+ const u = {};
2212
+ return o !== "center" && (t ? u[_n[o]] = `calc(100% - ${r(o)}px)` : u[o] = 0), i !== "center" ? t ? u[_n[i]] = `calc(100% - ${r(i)}px)` : u[i] = 0 : (o === "center" ? u.top = u.left = "50%" : u[{
2213
+ top: "left",
2214
+ bottom: "left",
2215
+ left: "top",
2216
+ right: "top"
2217
+ }[o]] = "50%", u.transform = {
2218
+ top: "translateX(-50%)",
2219
+ bottom: "translateX(-50%)",
2220
+ left: "translateY(-50%)",
2221
+ right: "translateY(-50%)",
2222
+ center: "translate(-50%, -50%)"
2223
+ }[o]), u;
2224
+ })
2225
+ };
2226
+ }
2227
+ const ni = L({
2228
+ loading: [Boolean, String]
2229
+ }, "loader");
2230
+ function li(e) {
2231
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : be();
2232
+ return {
2233
+ loaderClasses: h(() => ({
2234
+ [`${t}--loading`]: e.loading
2235
+ }))
2236
+ };
2237
+ }
2238
+ const ai = ["static", "relative", "fixed", "absolute", "sticky"], nl = L({
2239
+ position: {
2240
+ type: String,
2241
+ validator: (
2242
+ /* istanbul ignore next */
2243
+ (e) => ai.includes(e)
2244
+ )
2245
+ }
2246
+ }, "position");
2247
+ function ll(e) {
2248
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : be();
2249
+ return {
2250
+ positionClasses: h(() => e.position ? `${t}--${e.position}` : void 0)
2251
+ };
2252
+ }
2253
+ function oi() {
2254
+ const e = ie("useRoute");
2255
+ return h(() => {
2256
+ var t;
2257
+ return (t = e == null ? void 0 : e.proxy) == null ? void 0 : t.$route;
2258
+ });
2259
+ }
2260
+ function ii(e, t) {
2261
+ var s, c;
2262
+ const n = Ce("RouterLink"), l = h(() => !!(e.href || e.to)), a = h(() => (l == null ? void 0 : l.value) || sn(t, "click") || sn(e, "click"));
2263
+ if (typeof n == "string" || !("useLink" in n)) {
2264
+ const f = q(e, "href");
2265
+ return {
2266
+ isLink: l,
2267
+ isClickable: a,
2268
+ href: f,
2269
+ linkProps: Qe({
2270
+ href: f
2271
+ })
2272
+ };
2273
+ }
2274
+ const o = h(() => le(k({}, e), {
2275
+ to: q(() => e.to || "")
2276
+ })), i = n.useLink(o.value), r = h(() => e.to ? i : void 0), u = oi(), d = h(() => {
2277
+ var f, y, g, S, V;
2278
+ return r.value ? e.exact ? u.value ? ((V = r.value.isExactActive) == null ? void 0 : V.value) && xt(r.value.route.value.query, u.value.query) : (S = (g = r.value.isExactActive) == null ? void 0 : g.value) != null ? S : !1 : (y = (f = r.value.isActive) == null ? void 0 : f.value) != null ? y : !1 : !1;
2279
+ }), m = h(() => {
2280
+ var f;
2281
+ return e.to ? (f = r.value) == null ? void 0 : f.route.value.href : e.href;
2282
+ });
2283
+ return {
2284
+ isLink: l,
2285
+ isClickable: a,
2286
+ isActive: d,
2287
+ route: (s = r.value) == null ? void 0 : s.route,
2288
+ navigate: (c = r.value) == null ? void 0 : c.navigate,
2289
+ href: m,
2290
+ linkProps: Qe({
2291
+ href: m,
2292
+ "aria-current": h(() => d.value ? "page" : void 0)
2293
+ })
2294
+ };
2295
+ }
2296
+ const si = L({
2297
+ href: String,
2298
+ replace: Boolean,
2299
+ to: [String, Object],
2300
+ exact: Boolean
2301
+ }, "router");
2302
+ function ri(e, t) {
2303
+ X(() => {
2304
+ var n;
2305
+ return (n = e.isActive) == null ? void 0 : n.value;
2306
+ }, (n) => {
2307
+ e.isLink.value && n && t && Bn(() => {
2308
+ t(!0);
2309
+ });
2310
+ }, {
2311
+ immediate: !0
2312
+ });
2313
+ }
2314
+ const _t = Symbol("rippleStop"), ui = 80;
2315
+ function wn(e, t) {
2316
+ e.style.transform = t, e.style.webkitTransform = t;
2317
+ }
2318
+ function wt(e) {
2319
+ return e.constructor.name === "TouchEvent";
2320
+ }
2321
+ function al(e) {
2322
+ return e.constructor.name === "KeyboardEvent";
2323
+ }
2324
+ const ci = function(e, t) {
2325
+ var s;
2326
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, l = 0, a = 0;
2327
+ if (!al(e)) {
2328
+ const c = t.getBoundingClientRect(), f = wt(e) ? e.touches[e.touches.length - 1] : e;
2329
+ l = f.clientX - c.left, a = f.clientY - c.top;
2330
+ }
2331
+ let o = 0, i = 0.3;
2332
+ (s = t._ripple) != null && s.circle ? (i = 0.15, o = t.clientWidth / 2, o = n.center ? o : o + Math.sqrt(j(l - o, 2) + j(a - o, 2)) / 4) : o = Math.sqrt(j(t.clientWidth, 2) + j(t.clientHeight, 2)) / 2;
2333
+ const r = `${(t.clientWidth - o * 2) / 2}px`, u = `${(t.clientHeight - o * 2) / 2}px`, d = n.center ? r : `${l - o}px`, m = n.center ? u : `${a - o}px`;
2334
+ return {
2335
+ radius: o,
2336
+ scale: i,
2337
+ x: d,
2338
+ y: m,
2339
+ centerX: r,
2340
+ centerY: u
2341
+ };
2342
+ }, lt = {
2343
+ /* eslint-disable max-statements */
2344
+ show(e, t) {
2345
+ var f;
2346
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
2347
+ if (!((f = t == null ? void 0 : t._ripple) != null && f.enabled))
2348
+ return;
2349
+ const l = document.createElement("span"), a = document.createElement("span");
2350
+ l.appendChild(a), l.className = "v-ripple__container", n.class && (l.className += ` ${n.class}`);
2351
+ const {
2352
+ radius: o,
2353
+ scale: i,
2354
+ x: r,
2355
+ y: u,
2356
+ centerX: d,
2357
+ centerY: m
2358
+ } = ci(e, t, n), s = `${o * 2}px`;
2359
+ a.className = "v-ripple__animation", a.style.width = s, a.style.height = s, t.appendChild(l);
2360
+ const c = window.getComputedStyle(t);
2361
+ c && c.position === "static" && (t.style.position = "relative", t.dataset.previousPosition = "static"), a.classList.add("v-ripple__animation--enter"), a.classList.add("v-ripple__animation--visible"), wn(a, `translate(${r}, ${u}) scale3d(${i},${i},${i})`), a.dataset.activated = String(performance.now()), requestAnimationFrame(() => {
2362
+ requestAnimationFrame(() => {
2363
+ a.classList.remove("v-ripple__animation--enter"), a.classList.add("v-ripple__animation--in"), wn(a, `translate(${d}, ${m}) scale3d(1,1,1)`);
2364
+ });
2365
+ });
2366
+ },
2367
+ hide(e) {
2368
+ var o;
2369
+ if (!((o = e == null ? void 0 : e._ripple) != null && o.enabled)) return;
2370
+ const t = e.getElementsByClassName("v-ripple__animation");
2371
+ if (t.length === 0) return;
2372
+ const n = t[t.length - 1];
2373
+ if (n.dataset.isHiding) return;
2374
+ n.dataset.isHiding = "true";
2375
+ const l = performance.now() - Number(n.dataset.activated), a = Math.max(250 - l, 0);
2376
+ setTimeout(() => {
2377
+ n.classList.remove("v-ripple__animation--in"), n.classList.add("v-ripple__animation--out"), setTimeout(() => {
2378
+ var r;
2379
+ e.getElementsByClassName("v-ripple__animation").length === 1 && e.dataset.previousPosition && (e.style.position = e.dataset.previousPosition, delete e.dataset.previousPosition), ((r = n.parentNode) == null ? void 0 : r.parentNode) === e && e.removeChild(n.parentNode);
2380
+ }, 300);
2381
+ }, a);
2382
+ }
2383
+ };
2384
+ function ol(e) {
2385
+ return typeof e == "undefined" || !!e;
2386
+ }
2387
+ function Le(e) {
2388
+ const t = {}, n = e.currentTarget;
2389
+ if (!(!(n != null && n._ripple) || n._ripple.touched || e[_t])) {
2390
+ if (e[_t] = !0, wt(e))
2391
+ n._ripple.touched = !0, n._ripple.isTouch = !0;
2392
+ else if (n._ripple.isTouch) return;
2393
+ if (t.center = n._ripple.centered || al(e), n._ripple.class && (t.class = n._ripple.class), wt(e)) {
2394
+ if (n._ripple.showTimerCommit) return;
2395
+ n._ripple.showTimerCommit = () => {
2396
+ lt.show(e, n, t);
2397
+ }, n._ripple.showTimer = window.setTimeout(() => {
2398
+ var l;
2399
+ (l = n == null ? void 0 : n._ripple) != null && l.showTimerCommit && (n._ripple.showTimerCommit(), n._ripple.showTimerCommit = null);
2400
+ }, ui);
2401
+ } else
2402
+ lt.show(e, n, t);
2403
+ }
2404
+ }
2405
+ function kn(e) {
2406
+ e[_t] = !0;
2407
+ }
2408
+ function J(e) {
2409
+ const t = e.currentTarget;
2410
+ if (t != null && t._ripple) {
2411
+ if (window.clearTimeout(t._ripple.showTimer), e.type === "touchend" && t._ripple.showTimerCommit) {
2412
+ t._ripple.showTimerCommit(), t._ripple.showTimerCommit = null, t._ripple.showTimer = window.setTimeout(() => {
2413
+ J(e);
2414
+ });
2415
+ return;
2416
+ }
2417
+ window.setTimeout(() => {
2418
+ t._ripple && (t._ripple.touched = !1);
2419
+ }), lt.hide(t);
2420
+ }
2421
+ }
2422
+ function il(e) {
2423
+ const t = e.currentTarget;
2424
+ t != null && t._ripple && (t._ripple.showTimerCommit && (t._ripple.showTimerCommit = null), window.clearTimeout(t._ripple.showTimer));
2425
+ }
2426
+ let Me = !1;
2427
+ function sl(e) {
2428
+ !Me && (e.keyCode === an.enter || e.keyCode === an.space) && (Me = !0, Le(e));
2429
+ }
2430
+ function rl(e) {
2431
+ Me = !1, J(e);
2432
+ }
2433
+ function ul(e) {
2434
+ Me && (Me = !1, J(e));
2435
+ }
2436
+ function cl(e, t, n) {
2437
+ var i;
2438
+ const {
2439
+ value: l,
2440
+ modifiers: a
2441
+ } = t, o = ol(l);
2442
+ if (o || lt.hide(e), e._ripple = (i = e._ripple) != null ? i : {}, e._ripple.enabled = o, e._ripple.centered = a.center, e._ripple.circle = a.circle, lo(l) && l.class && (e._ripple.class = l.class), o && !n) {
2443
+ if (a.stop) {
2444
+ e.addEventListener("touchstart", kn, {
2445
+ passive: !0
2446
+ }), e.addEventListener("mousedown", kn);
2447
+ return;
2448
+ }
2449
+ e.addEventListener("touchstart", Le, {
2450
+ passive: !0
2451
+ }), e.addEventListener("touchend", J, {
2452
+ passive: !0
2453
+ }), e.addEventListener("touchmove", il, {
2454
+ passive: !0
2455
+ }), e.addEventListener("touchcancel", J), e.addEventListener("mousedown", Le), e.addEventListener("mouseup", J), e.addEventListener("mouseleave", J), e.addEventListener("keydown", sl), e.addEventListener("keyup", rl), e.addEventListener("blur", ul), e.addEventListener("dragstart", J, {
2456
+ passive: !0
2457
+ });
2458
+ } else !o && n && dl(e);
2459
+ }
2460
+ function dl(e) {
2461
+ e.removeEventListener("mousedown", Le), e.removeEventListener("touchstart", Le), e.removeEventListener("touchend", J), e.removeEventListener("touchmove", il), e.removeEventListener("touchcancel", J), e.removeEventListener("mouseup", J), e.removeEventListener("mouseleave", J), e.removeEventListener("keydown", sl), e.removeEventListener("keyup", rl), e.removeEventListener("dragstart", J), e.removeEventListener("blur", ul);
2462
+ }
2463
+ function di(e, t) {
2464
+ cl(e, t, !1);
2465
+ }
2466
+ function mi(e) {
2467
+ delete e._ripple, dl(e);
2468
+ }
2469
+ function fi(e, t) {
2470
+ if (t.value === t.oldValue)
2471
+ return;
2472
+ const n = ol(t.oldValue);
2473
+ cl(e, t, n);
2474
+ }
2475
+ const vi = {
2476
+ mounted: di,
2477
+ unmounted: mi,
2478
+ updated: fi
2479
+ }, gi = L(k(k(k(k(k(k(k(k(k(k(k(k(k(k(k({
2480
+ active: {
2481
+ type: Boolean,
2482
+ default: void 0
2483
+ },
2484
+ activeColor: String,
2485
+ baseColor: String,
2486
+ symbol: {
2487
+ type: null,
2488
+ default: Yn
2489
+ },
2490
+ flat: Boolean,
2491
+ icon: [Boolean, String, Function, Object],
2492
+ prependIcon: nt,
2493
+ appendIcon: nt,
2494
+ block: Boolean,
2495
+ readonly: Boolean,
2496
+ slim: Boolean,
2497
+ stacked: Boolean,
2498
+ ripple: {
2499
+ type: [Boolean, Object],
2500
+ default: !0
2501
+ },
2502
+ text: {
2503
+ type: [String, Number, Boolean],
2504
+ default: void 0
2505
+ }
2506
+ }, At()), Te()), zn()), Xn()), Et()), Oo()), ni()), el()), nl()), Dt()), si()), Mt()), Fe({
2507
+ tag: "button"
2508
+ })), Ue()), Wn({
2509
+ variant: "elevated"
2510
+ })), "VBtn"), Be = te()({
2511
+ name: "VBtn",
2512
+ props: gi(),
2513
+ emits: {
2514
+ "group:selected": (e) => !0
2515
+ },
2516
+ setup(e, t) {
2517
+ let {
2518
+ attrs: n,
2519
+ slots: l
2520
+ } = t;
2521
+ const {
2522
+ themeClasses: a
2523
+ } = st(e), {
2524
+ borderClasses: o
2525
+ } = $t(e), {
2526
+ densityClasses: i
2527
+ } = jn(e), {
2528
+ dimensionStyles: r
2529
+ } = Zn(e), {
2530
+ elevationClasses: u
2531
+ } = Nt(e), {
2532
+ loaderClasses: d
2533
+ } = li(e), {
2534
+ locationStyles: m
2535
+ } = tl(e), {
2536
+ positionClasses: s
2537
+ } = ll(e), {
2538
+ roundedClasses: c
2539
+ } = Lt(e), {
2540
+ sizeClasses: f,
2541
+ sizeStyles: y
2542
+ } = Rt(e), g = Fo(e, e.symbol, !1), S = ii(e, n), V = h(() => {
2543
+ var A;
2544
+ return e.active !== void 0 ? e.active : S.isLink.value ? (A = S.isActive) == null ? void 0 : A.value : g == null ? void 0 : g.isSelected.value;
2545
+ }), _ = h(() => {
2546
+ var A;
2547
+ return V.value && (A = e.activeColor) != null ? A : e.color;
2548
+ }), w = h(() => {
2549
+ var p, N, O;
2550
+ return {
2551
+ color: ((g == null ? void 0 : g.isSelected.value) && (!S.isLink.value || ((p = S.isActive) == null ? void 0 : p.value)) || !g || ((N = S.isActive) == null ? void 0 : N.value)) && (O = _.value) != null ? O : e.baseColor,
2552
+ variant: e.variant
2553
+ };
2554
+ }), {
2555
+ colorClasses: P,
2556
+ colorStyles: R,
2557
+ variantClasses: Y
2558
+ } = Lo(w), $ = h(() => (g == null ? void 0 : g.disabled.value) || e.disabled), x = h(() => e.variant === "elevated" && !(e.disabled || e.flat || e.border)), U = h(() => {
2559
+ if (!(e.value === void 0 || typeof e.value == "symbol"))
2560
+ return Object(e.value) === e.value ? JSON.stringify(e.value, null, 0) : e.value;
2561
+ });
2562
+ function ne(A) {
2563
+ var p;
2564
+ $.value || S.isLink.value && (A.metaKey || A.ctrlKey || A.shiftKey || A.button !== 0 || n.target === "_blank") || ((p = S.navigate) == null || p.call(S, A), g == null || g.toggle());
2565
+ }
2566
+ return ri(S, g == null ? void 0 : g.select), se(() => {
2567
+ const A = S.isLink.value ? "a" : e.tag, p = !!(e.prependIcon || l.prepend), N = !!(e.appendIcon || l.append), O = !!(e.icon && e.icon !== !0);
2568
+ return Rl(b(A, z({
2569
+ type: A === "a" ? void 0 : "button",
2570
+ class: ["v-btn", g == null ? void 0 : g.selectedClass.value, {
2571
+ "v-btn--active": V.value,
2572
+ "v-btn--block": e.block,
2573
+ "v-btn--disabled": $.value,
2574
+ "v-btn--elevated": x.value,
2575
+ "v-btn--flat": e.flat,
2576
+ "v-btn--icon": !!e.icon,
2577
+ "v-btn--loading": e.loading,
2578
+ "v-btn--readonly": e.readonly,
2579
+ "v-btn--slim": e.slim,
2580
+ "v-btn--stacked": e.stacked
2581
+ }, a.value, o.value, P.value, i.value, u.value, d.value, s.value, c.value, f.value, Y.value, e.class],
2582
+ style: [R.value, r.value, m.value, y.value, e.style],
2583
+ "aria-busy": e.loading ? !0 : void 0,
2584
+ disabled: $.value || void 0,
2585
+ tabindex: e.loading || e.readonly ? -1 : void 0,
2586
+ onClick: ne,
2587
+ value: U.value
2588
+ }, S.linkProps), {
2589
+ default: () => {
2590
+ var B, W;
2591
+ return [Do(!0, "v-btn"), !e.icon && p && b("span", {
2592
+ key: "prepend",
2593
+ class: "v-btn__prepend"
2594
+ }, [l.prepend ? b(Xe, {
2595
+ key: "prepend-defaults",
2596
+ disabled: !e.prependIcon,
2597
+ defaults: {
2598
+ VIcon: {
2599
+ icon: e.prependIcon
2600
+ }
2601
+ }
2602
+ }, l.prepend) : b(ft, {
2603
+ key: "prepend-icon",
2604
+ icon: e.prependIcon
2605
+ }, null)]), b("span", {
2606
+ class: "v-btn__content",
2607
+ "data-no-activator": ""
2608
+ }, [!l.default && O ? b(ft, {
2609
+ key: "content-icon",
2610
+ icon: e.icon
2611
+ }, null) : b(Xe, {
2612
+ key: "content-defaults",
2613
+ disabled: !O,
2614
+ defaults: {
2615
+ VIcon: {
2616
+ icon: e.icon
2617
+ }
2618
+ }
2619
+ }, {
2620
+ default: () => {
2621
+ var Q, C;
2622
+ return [(C = (Q = l.default) == null ? void 0 : Q.call(l)) != null ? C : Se(e.text)];
2623
+ }
2624
+ })]), !e.icon && N && b("span", {
2625
+ key: "append",
2626
+ class: "v-btn__append"
2627
+ }, [l.append ? b(Xe, {
2628
+ key: "append-defaults",
2629
+ disabled: !e.appendIcon,
2630
+ defaults: {
2631
+ VIcon: {
2632
+ icon: e.appendIcon
2633
+ }
2634
+ }
2635
+ }, l.append) : b(ft, {
2636
+ key: "append-icon",
2637
+ icon: e.appendIcon
2638
+ }, null)]), !!e.loading && b("span", {
2639
+ key: "loader",
2640
+ class: "v-btn__loader"
2641
+ }, [(W = (B = l.loader) == null ? void 0 : B.call(l)) != null ? W : b(ei, {
2642
+ color: typeof e.loading == "boolean" ? void 0 : e.loading,
2643
+ indeterminate: !0,
2644
+ width: "2"
2645
+ }, null)])];
2646
+ }
2647
+ }), [[vi, !$.value && e.ripple, "", {
2648
+ center: !!e.icon
2649
+ }]]);
2650
+ }), {
2651
+ group: g
2652
+ };
2653
+ }
2654
+ }), hi = L({
2655
+ ampm: Boolean,
2656
+ ampmInTitle: Boolean,
2657
+ ampmReadonly: Boolean,
2658
+ color: String,
2659
+ disabled: Boolean,
2660
+ hour: Number,
2661
+ minute: Number,
2662
+ second: Number,
2663
+ period: String,
2664
+ readonly: Boolean,
2665
+ useSeconds: Boolean,
2666
+ value: Number,
2667
+ viewMode: String
2668
+ }, "VTimePickerControls"), Cn = te()({
2669
+ name: "VTimePickerControls",
2670
+ props: hi(),
2671
+ emits: {
2672
+ "update:period": (e) => !0,
2673
+ "update:viewMode": (e) => !0
2674
+ },
2675
+ setup(e, t) {
2676
+ let {
2677
+ emit: n,
2678
+ slots: l
2679
+ } = t;
2680
+ const {
2681
+ t: a
2682
+ } = Jn();
2683
+ return se(() => {
2684
+ let o = e.hour;
2685
+ return e.ampm && (o = o ? (o - 1) % 12 + 1 : 12), b("div", {
2686
+ class: "v-time-picker-controls"
2687
+ }, [b("div", {
2688
+ class: {
2689
+ "v-time-picker-controls__time": !0,
2690
+ "v-time-picker-controls__time--with-seconds": e.useSeconds
2691
+ }
2692
+ }, [b(Be, {
2693
+ active: e.viewMode === "hour",
2694
+ color: e.viewMode === "hour" ? e.color : void 0,
2695
+ disabled: e.disabled,
2696
+ variant: "tonal",
2697
+ class: {
2698
+ "v-time-picker-controls__time__btn": !0,
2699
+ "v-time-picker-controls__time--with-ampm__btn": e.ampm,
2700
+ "v-time-picker-controls__time--with-seconds__btn": e.useSeconds
2701
+ },
2702
+ text: e.hour == null ? "--" : fe(`${o}`),
2703
+ onClick: () => n("update:viewMode", "hour")
2704
+ }, null), b("span", {
2705
+ class: ["v-time-picker-controls__time__separator", {
2706
+ "v-time-picker-controls--with-seconds__time__separator": e.useSeconds
2707
+ }]
2708
+ }, [Ee(":")]), b(Be, {
2709
+ active: e.viewMode === "minute",
2710
+ color: e.viewMode === "minute" ? e.color : void 0,
2711
+ class: {
2712
+ "v-time-picker-controls__time__btn": !0,
2713
+ "v-time-picker-controls__time__btn__active": e.viewMode === "minute",
2714
+ "v-time-picker-controls__time--with-ampm__btn": e.ampm,
2715
+ "v-time-picker-controls__time--with-seconds__btn": e.useSeconds
2716
+ },
2717
+ disabled: e.disabled,
2718
+ variant: "tonal",
2719
+ text: e.minute == null ? "--" : fe(e.minute),
2720
+ onClick: () => n("update:viewMode", "minute")
2721
+ }, null), e.useSeconds && b("span", {
2722
+ class: ["v-time-picker-controls__time__separator", {
2723
+ "v-time-picker-controls--with-seconds__time__separator": e.useSeconds
2724
+ }],
2725
+ key: "secondsDivider"
2726
+ }, [Ee(":")]), e.useSeconds && b(Be, {
2727
+ key: "secondsVal",
2728
+ active: e.viewMode === "second",
2729
+ color: e.viewMode === "second" ? e.color : void 0,
2730
+ variant: "tonal",
2731
+ onClick: () => n("update:viewMode", "second"),
2732
+ class: {
2733
+ "v-time-picker-controls__time__btn": !0,
2734
+ "v-time-picker-controls__time__btn__active": e.viewMode === "second",
2735
+ "v-time-picker-controls__time--with-seconds__btn": e.useSeconds
2736
+ },
2737
+ disabled: e.disabled,
2738
+ text: e.second == null ? "--" : fe(e.second)
2739
+ }, null), e.ampm && e.ampmInTitle && b("div", {
2740
+ class: ["v-time-picker-controls__ampm", {
2741
+ "v-time-picker-controls__ampm--readonly": e.ampmReadonly
2742
+ }]
2743
+ }, [b(Be, {
2744
+ active: e.period === "am",
2745
+ color: e.period === "am" ? e.color : void 0,
2746
+ class: {
2747
+ "v-time-picker-controls__ampm__am": !0,
2748
+ "v-time-picker-controls__ampm__btn": !0,
2749
+ "v-time-picker-controls__ampm__btn__active": e.period === "am"
2750
+ },
2751
+ disabled: e.disabled,
2752
+ text: a("$vuetify.timePicker.am"),
2753
+ variant: e.disabled && e.period === "am" ? "elevated" : "tonal",
2754
+ onClick: () => e.period !== "am" ? n("update:period", "am") : null
2755
+ }, null), b(Be, {
2756
+ active: e.period === "pm",
2757
+ color: e.period === "pm" ? e.color : void 0,
2758
+ class: {
2759
+ "v-time-picker-controls__ampm__pm": !0,
2760
+ "v-time-picker-controls__ampm__btn": !0,
2761
+ "v-time-picker-controls__ampm__btn__active": e.period === "pm"
2762
+ },
2763
+ disabled: e.disabled,
2764
+ text: a("$vuetify.timePicker.pm"),
2765
+ variant: e.disabled && e.period === "pm" ? "elevated" : "tonal",
2766
+ onClick: () => e.period !== "pm" ? n("update:period", "pm") : null
2767
+ }, null)])])]);
2768
+ }), {};
2769
+ }
2770
+ }), bi = Po("v-picker-title"), ml = L(k(k(k(k(k(k(k(k(k({
2771
+ color: String
2772
+ }, At()), Te()), Xn()), Et()), el()), nl()), Dt()), Fe()), Ue()), "VSheet"), Sn = te()({
2773
+ name: "VSheet",
2774
+ props: ml(),
2775
+ setup(e, t) {
2776
+ let {
2777
+ slots: n
2778
+ } = t;
2779
+ const {
2780
+ themeClasses: l
2781
+ } = st(e), {
2782
+ backgroundColorClasses: a,
2783
+ backgroundColorStyles: o
2784
+ } = Pt(q(e, "color")), {
2785
+ borderClasses: i
2786
+ } = $t(e), {
2787
+ dimensionStyles: r
2788
+ } = Zn(e), {
2789
+ elevationClasses: u
2790
+ } = Nt(e), {
2791
+ locationStyles: d
2792
+ } = tl(e), {
2793
+ positionClasses: m
2794
+ } = ll(e), {
2795
+ roundedClasses: s
2796
+ } = Lt(e);
2797
+ return se(() => b(e.tag, {
2798
+ class: ["v-sheet", l.value, a.value, i.value, u.value, m.value, s.value, e.class],
2799
+ style: [o.value, r.value, d.value, e.style]
2800
+ }, n)), {};
2801
+ }
2802
+ }), fl = L(k({
2803
+ bgColor: String,
2804
+ divided: Boolean,
2805
+ landscape: Boolean,
2806
+ title: String,
2807
+ hideHeader: Boolean
2808
+ }, ml()), "VPicker"), Vn = te()({
2809
+ name: "VPicker",
2810
+ props: fl(),
2811
+ setup(e, t) {
2812
+ let {
2813
+ slots: n
2814
+ } = t;
2815
+ const {
2816
+ backgroundColorClasses: l,
2817
+ backgroundColorStyles: a
2818
+ } = Pt(q(e, "color"));
2819
+ return se(() => {
2820
+ const o = Sn.filterProps(e), i = !!(e.title || n.title);
2821
+ return b(Sn, z(o, {
2822
+ color: e.bgColor,
2823
+ class: ["v-picker", {
2824
+ "v-picker--divided": e.divided,
2825
+ "v-picker--landscape": e.landscape,
2826
+ "v-picker--with-actions": !!n.actions
2827
+ }, e.class],
2828
+ style: e.style
2829
+ }), {
2830
+ default: () => {
2831
+ var r;
2832
+ return [!e.hideHeader && b("div", {
2833
+ key: "header",
2834
+ class: [l.value],
2835
+ style: [a.value]
2836
+ }, [i && b(bi, {
2837
+ key: "picker-title"
2838
+ }, {
2839
+ default: () => {
2840
+ var u, d;
2841
+ return [(d = (u = n.title) == null ? void 0 : u.call(n)) != null ? d : e.title];
2842
+ }
2843
+ }), n.header && b("div", {
2844
+ class: "v-picker__header"
2845
+ }, [n.header()])]), b("div", {
2846
+ class: "v-picker__body"
2847
+ }, [(r = n.default) == null ? void 0 : r.call(n)]), n.actions && b(Xe, {
2848
+ defaults: {
2849
+ VBtn: {
2850
+ slim: !0,
2851
+ variant: "text"
2852
+ }
2853
+ }
2854
+ }, {
2855
+ default: () => [b("div", {
2856
+ class: "v-picker__actions"
2857
+ }, [n.actions()])]
2858
+ })];
2859
+ }
2860
+ });
2861
+ }), {};
2862
+ }
2863
+ }), yi = Tt(24), vl = Tt(12), pi = vl.map((e) => e + 12);
2864
+ Tt(60);
2865
+ const _i = L(k({
2866
+ allowedHours: [Function, Array],
2867
+ allowedMinutes: [Function, Array],
2868
+ allowedSeconds: [Function, Array],
2869
+ ampmInTitle: Boolean,
2870
+ disabled: Boolean,
2871
+ format: {
2872
+ type: String,
2873
+ default: "ampm"
2874
+ },
2875
+ max: String,
2876
+ min: String,
2877
+ viewMode: {
2878
+ type: String,
2879
+ default: "hour"
2880
+ },
2881
+ modelValue: null,
2882
+ readonly: Boolean,
2883
+ scrollable: Boolean,
2884
+ useSeconds: Boolean
2885
+ }, Rn(fl({
2886
+ title: "$vuetify.timePicker.title"
2887
+ }), ["landscape"])), "VTimePicker"), wi = te()({
2888
+ name: "VTimePicker",
2889
+ props: _i(),
2890
+ emits: {
2891
+ "update:hour": (e) => !0,
2892
+ "update:minute": (e) => !0,
2893
+ "update:period": (e) => !0,
2894
+ "update:second": (e) => !0,
2895
+ "update:modelValue": (e) => !0,
2896
+ "update:viewMode": (e) => !0
2897
+ },
2898
+ setup(e, t) {
2899
+ let {
2900
+ emit: n,
2901
+ slots: l
2902
+ } = t;
2903
+ const {
2904
+ t: a
2905
+ } = Jn(), o = T(null), i = T(null), r = T(null), u = T(null), d = T(null), m = T(null), s = T("am"), c = Kn(e, "viewMode", "hour"), f = T(null), y = T(null), g = h(() => {
2906
+ let p;
2907
+ if (e.allowedHours instanceof Array ? p = (B) => e.allowedHours.includes(B) : p = e.allowedHours, !e.min && !e.max) return p;
2908
+ const N = e.min ? Number(e.min.split(":")[0]) : 0, O = e.max ? Number(e.max.split(":")[0]) : 23;
2909
+ return (B) => B >= Number(N) && B <= Number(O) && (!p || p(B));
2910
+ }), S = h(() => {
2911
+ let p;
2912
+ const N = !g.value || o.value === null || g.value(o.value);
2913
+ if (e.allowedMinutes instanceof Array ? p = (M) => e.allowedMinutes.includes(M) : p = e.allowedMinutes, !e.min && !e.max)
2914
+ return N ? p : () => !1;
2915
+ const [O, B] = e.min ? e.min.split(":").map(Number) : [0, 0], [W, Q] = e.max ? e.max.split(":").map(Number) : [23, 59], C = O * 60 + Number(B), E = W * 60 + Number(Q);
2916
+ return (M) => {
2917
+ const re = 60 * o.value + M;
2918
+ return re >= C && re <= E && N && (!p || p(M));
2919
+ };
2920
+ }), V = h(() => {
2921
+ let p;
2922
+ const O = (!g.value || o.value === null || g.value(o.value)) && (!S.value || i.value === null || S.value(i.value));
2923
+ if (e.allowedSeconds instanceof Array ? p = (ye) => e.allowedSeconds.includes(ye) : p = e.allowedSeconds, !e.min && !e.max)
2924
+ return O ? p : () => !1;
2925
+ const [B, W, Q] = e.min ? e.min.split(":").map(Number) : [0, 0, 0], [C, E, M] = e.max ? e.max.split(":").map(Number) : [23, 59, 59], re = B * 3600 + W * 60 + Number(Q || 0), He = C * 3600 + E * 60 + Number(M || 0);
2926
+ return (ye) => {
2927
+ const ze = 3600 * o.value + 60 * i.value + ye;
2928
+ return ze >= re && ze <= He && O && (!p || p(ye));
2929
+ };
2930
+ }), _ = h(() => e.format === "ampm");
2931
+ X(() => e.modelValue, (p) => $(p)), at(() => {
2932
+ $(e.modelValue);
2933
+ });
2934
+ function w() {
2935
+ return o.value != null && i.value != null && (!e.useSeconds || r.value != null) ? `${fe(o.value)}:${fe(i.value)}` + (e.useSeconds ? `:${fe(r.value)}` : "") : null;
2936
+ }
2937
+ function P() {
2938
+ const p = w();
2939
+ p !== null && n("update:modelValue", p);
2940
+ }
2941
+ function R(p) {
2942
+ return p ? (p - 1) % 12 + 1 : 12;
2943
+ }
2944
+ function Y(p, N) {
2945
+ return p % 12 + (N === "pm" ? 12 : 0);
2946
+ }
2947
+ function $(p) {
2948
+ if (p == null || p === "")
2949
+ o.value = null, i.value = null, r.value = null;
2950
+ else if (p instanceof Date)
2951
+ o.value = p.getHours(), i.value = p.getMinutes(), r.value = p.getSeconds();
2952
+ else {
2953
+ const [N, , O, , B, W] = p.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/) || new Array(6);
2954
+ o.value = W ? Y(parseInt(N, 10), W) : parseInt(N, 10), i.value = parseInt(O, 10), r.value = parseInt(B || 0, 10);
2955
+ }
2956
+ s.value = o.value == null || o.value < 12 ? "am" : "pm";
2957
+ }
2958
+ function x(p, N) {
2959
+ const O = g.value;
2960
+ if (!O) return N;
2961
+ const B = _.value ? N < 12 ? vl : pi : yi;
2962
+ return ((B.find((Q) => O((Q + N) % B.length + B[0])) || 0) + N) % B.length + B[0];
2963
+ }
2964
+ function U(p) {
2965
+ if (s.value = p, o.value != null) {
2966
+ const N = o.value + (s.value === "am" ? -12 : 12);
2967
+ o.value = x("hour", N);
2968
+ }
2969
+ return n("update:period", p), P(), !0;
2970
+ }
2971
+ function ne(p) {
2972
+ c.value === "hour" ? o.value = _.value ? Y(p, s.value) : p : c.value === "minute" ? i.value = p : r.value = p;
2973
+ }
2974
+ function A(p) {
2975
+ switch (c.value || "hour") {
2976
+ case "hour":
2977
+ n("update:hour", p);
2978
+ break;
2979
+ case "minute":
2980
+ n("update:minute", p);
2981
+ break;
2982
+ case "second":
2983
+ n("update:second", p);
2984
+ break;
2985
+ }
2986
+ const N = o.value !== null && i.value !== null && (e.useSeconds ? r.value !== null : !0);
2987
+ c.value === "hour" ? c.value = "minute" : e.useSeconds && c.value === "minute" && (c.value = "second"), !(o.value === u.value && i.value === d.value && (!e.useSeconds || r.value === m.value) || w() === null) && (u.value = o.value, d.value = i.value, e.useSeconds && (m.value = r.value), N && P());
2988
+ }
2989
+ se(() => {
2990
+ const p = Vn.filterProps(e), N = Cn.filterProps(e), O = bn.filterProps(Rn(e, ["format", "modelValue", "min", "max"]));
2991
+ return b(Vn, z(p, {
2992
+ color: void 0,
2993
+ class: ["v-time-picker", e.class],
2994
+ style: e.style
2995
+ }), {
2996
+ title: () => {
2997
+ var B, W;
2998
+ return (W = (B = l.title) == null ? void 0 : B.call(l)) != null ? W : b("div", {
2999
+ class: "v-time-picker__title"
3000
+ }, [a(e.title)]);
3001
+ },
3002
+ header: () => b(Cn, z(N, {
3003
+ ampm: _.value || e.ampmInTitle,
3004
+ ampmReadonly: _.value && !e.ampmInTitle,
3005
+ hour: o.value,
3006
+ minute: i.value,
3007
+ period: s.value,
3008
+ second: r.value,
3009
+ viewMode: c.value,
3010
+ "onUpdate:period": (B) => U(B),
3011
+ "onUpdate:viewMode": (B) => c.value = B,
3012
+ ref: f
3013
+ }), null),
3014
+ default: () => b(bn, z(O, {
3015
+ allowedValues: c.value === "hour" ? g.value : c.value === "minute" ? S.value : V.value,
3016
+ double: c.value === "hour" && !_.value,
3017
+ format: c.value === "hour" ? _.value ? R : (B) => B : (B) => fe(B, 2),
3018
+ max: c.value === "hour" ? _.value && s.value === "am" ? 11 : 23 : 59,
3019
+ min: c.value === "hour" && _.value && s.value === "pm" ? 12 : 0,
3020
+ size: 20,
3021
+ step: c.value === "hour" ? 1 : 5,
3022
+ modelValue: c.value === "hour" ? o.value : c.value === "minute" ? i.value : r.value,
3023
+ onChange: A,
3024
+ onInput: ne,
3025
+ ref: y
3026
+ }), null),
3027
+ actions: l.actions
3028
+ });
3029
+ });
3030
+ }
3031
+ }), ki = { class: "d-flex w-100" }, qi = /* @__PURE__ */ Z({
3032
+ __name: "df-datetime",
3033
+ props: /* @__PURE__ */ de({
3034
+ inputType: {},
3035
+ displayFormatDate: {},
3036
+ displayFormatTime: {},
3037
+ control: {},
3038
+ modelValue: {},
3039
+ label: {},
3040
+ errors: {},
3041
+ placeholder: {},
3042
+ helpText: {},
3043
+ hint: {},
3044
+ enabled: { type: Boolean },
3045
+ visibility: {},
3046
+ cssClass: {},
3047
+ clearable: { type: Boolean }
3048
+ }, le(k({}, me), {
3049
+ inputType: "datetime",
3050
+ displayFormatDate: "P",
3051
+ displayFormatTime: "p"
3052
+ })),
3053
+ emits: ["update:modelValue", "click:clear"],
3054
+ setup(e, { emit: t }) {
3055
+ const n = e, l = t, { value: a, vuetifyBindings: o } = ce(n, l), { inputType: i, displayFormatDate: r, displayFormatTime: u } = xe(n), d = T(""), m = h({
3056
+ get() {
3057
+ return v(d) !== "";
3058
+ },
3059
+ set(_) {
3060
+ _ ? d.value = "date" : d.value = "";
3061
+ }
3062
+ }), s = (_) => `${Ge(_, "yyyy-MM-dd")}T${Ge(_, "HH:mm")}:00`, c = T(null);
3063
+ function f(_, w) {
3064
+ if (_ == null)
3065
+ c.value = null;
3066
+ else if (w === -1)
3067
+ if (v(i) === "time")
3068
+ c.value = s(/* @__PURE__ */ new Date()), f(`T${_}`, 1);
3069
+ else {
3070
+ const P = s(new Date(_));
3071
+ f(P, 0), f(P, 1);
3072
+ }
3073
+ else {
3074
+ c.value == null && (c.value = s(/* @__PURE__ */ new Date()));
3075
+ const P = c.value.split(/[TZ]/g), R = _.split(/[TZ]/g);
3076
+ P[w] = R[w], c.value = s(/* @__PURE__ */ new Date(`${P[0]}T${P[1].split(".")[0]}`)), v(i) === "date" ? a.value = P[0] : v(i) === "time" ? a.value = P[1] : a.value = v(c);
3077
+ }
3078
+ }
3079
+ X(a, (_) => f(_, -1), { immediate: !0 });
3080
+ const y = h({
3081
+ get() {
3082
+ const _ = v(c);
3083
+ if (_ == null) return null;
3084
+ const w = new Date(_);
3085
+ return Number.isNaN(w.getTime()) ? null : w;
3086
+ },
3087
+ set(_) {
3088
+ f(s(_), 0);
3089
+ }
3090
+ }), g = h({
3091
+ get() {
3092
+ const _ = v(c);
3093
+ return _ == null ? "" : _.split(/[TZ]/g)[1].split(".")[0];
3094
+ },
3095
+ set(_) {
3096
+ f(`T${_}`, 1);
3097
+ }
3098
+ }), S = h({
3099
+ get() {
3100
+ const _ = v(y);
3101
+ return _ == null ? "" : Ge(_, v(r));
3102
+ },
3103
+ set(_) {
3104
+ try {
3105
+ const w = ql(_, v(r), /* @__PURE__ */ new Date());
3106
+ f(s(w), 0);
3107
+ } catch (w) {
3108
+ console.error(w);
3109
+ }
3110
+ }
3111
+ }), V = h({
3112
+ get() {
3113
+ const _ = v(y);
3114
+ return _ == null ? "" : Ge(_, v(u));
3115
+ },
3116
+ set(_) {
3117
+ const w = _.match(/(\d+):(\d+)\s?([a-zA-Z]+)?/);
3118
+ if (w == null) return;
3119
+ let P = Zt(w[1]);
3120
+ const R = Zt(w[2]);
3121
+ Qt(P) || Qt(R) || (w[3] && w[3].toLowerCase() === "pm" && P < 13 && (P += 12), f(`T${P.toString().padStart(2, "0")}:${R.toString().padStart(2, "0")}:00`, 1));
3122
+ }
3123
+ });
3124
+ return (_, w) => {
3125
+ const P = H("v-text-field"), R = H("v-date-picker"), Y = H("v-confirm-edit"), $ = H("v-menu");
3126
+ return I(), F(v(Vt), z(n, {
3127
+ clearable: "",
3128
+ "onClick:clear": w[13] || (w[13] = (x) => a.value = null)
3129
+ }), {
3130
+ default: D(() => [
3131
+ b($, {
3132
+ modelValue: m.value,
3133
+ "onUpdate:modelValue": w[12] || (w[12] = (x) => m.value = x),
3134
+ location: "top start",
3135
+ origin: `bottom ${v(i) === "datetime" ? "center" : "start"}`,
3136
+ "close-on-content-click": !1
3137
+ }, {
3138
+ activator: D(({ props: x }) => [
3139
+ Ne("div", ki, [
3140
+ ["date", "datetime"].includes(v(i)) ? (I(), F(P, z({
3141
+ key: 0,
3142
+ modelValue: S.value,
3143
+ "onUpdate:modelValue": w[0] || (w[0] = (U) => S.value = U),
3144
+ style: { "flex-grow": "4" },
3145
+ density: "compact",
3146
+ clearable: !1,
3147
+ "hide-details": !0,
3148
+ readonly: v(o).readonly,
3149
+ disabled: v(o).disabled,
3150
+ name: `${v(o).name}-date`
3151
+ }, x, {
3152
+ onClick: w[1] || (w[1] = (U) => d.value = "date"),
3153
+ onKeydown: w[2] || (w[2] = Yt((U) => d.value = "date", ["space"]))
3154
+ }), null, 16, ["modelValue", "readonly", "disabled", "name"])) : G("", !0),
3155
+ ["time", "datetime"].includes(v(i)) ? (I(), F(P, z({
3156
+ key: 1,
3157
+ modelValue: V.value,
3158
+ "onUpdate:modelValue": w[3] || (w[3] = (U) => V.value = U),
3159
+ style: { "flex-grow": "3" },
3160
+ density: "compact",
3161
+ clearable: !1,
3162
+ "hide-details": !0,
3163
+ readonly: v(o).readonly,
3164
+ disabled: v(o).disabled,
3165
+ name: `${v(o).name}-time`
3166
+ }, x, {
3167
+ onClick: w[4] || (w[4] = (U) => d.value = "time"),
3168
+ onKeydown: w[5] || (w[5] = Yt((U) => d.value = "time", ["space"]))
3169
+ }), null, 16, ["modelValue", "readonly", "disabled", "name"])) : G("", !0)
3170
+ ])
3171
+ ]),
3172
+ default: D(() => [
3173
+ d.value === "date" ? (I(), F(Y, {
3174
+ key: 0,
3175
+ modelValue: y.value,
3176
+ "onUpdate:modelValue": w[6] || (w[6] = (x) => y.value = x),
3177
+ onCancel: w[7] || (w[7] = (x) => d.value = ""),
3178
+ onSave: w[8] || (w[8] = (x) => d.value = "")
3179
+ }, {
3180
+ default: D(({ model: x, actions: U }) => [
3181
+ b(R, {
3182
+ modelValue: x.value,
3183
+ "onUpdate:modelValue": (ne) => x.value = ne,
3184
+ "hide-header": !0,
3185
+ "first-day-of-week": 1,
3186
+ "show-adjacent-months": !0,
3187
+ "show-week": !0
3188
+ }, {
3189
+ actions: D(() => [
3190
+ (I(), F(Ce(U)))
3191
+ ]),
3192
+ _: 2
3193
+ }, 1032, ["modelValue", "onUpdate:modelValue"])
3194
+ ]),
3195
+ _: 1
3196
+ }, 8, ["modelValue"])) : G("", !0),
3197
+ d.value === "time" ? (I(), F(Y, {
3198
+ key: 1,
3199
+ modelValue: g.value,
3200
+ "onUpdate:modelValue": w[9] || (w[9] = (x) => g.value = x),
3201
+ onCancel: w[10] || (w[10] = (x) => d.value = ""),
3202
+ onSave: w[11] || (w[11] = (x) => d.value = "")
3203
+ }, {
3204
+ default: D(({ model: x, actions: U }) => [
3205
+ b(v(wi), {
3206
+ modelValue: x.value,
3207
+ "onUpdate:modelValue": (ne) => x.value = ne,
3208
+ "hide-header": !0,
3209
+ format: "24hr"
3210
+ }, {
3211
+ actions: D(() => [
3212
+ (I(), F(Ce(U)))
3213
+ ]),
3214
+ _: 2
3215
+ }, 1032, ["modelValue", "onUpdate:modelValue"])
3216
+ ]),
3217
+ _: 1
3218
+ }, 8, ["modelValue"])) : G("", !0)
3219
+ ]),
3220
+ _: 1
3221
+ }, 8, ["modelValue", "origin"])
3222
+ ]),
3223
+ _: 1
3224
+ }, 16);
3225
+ };
3226
+ }
3227
+ }), Ci = { style: { position: "relative", width: "100%" } }, Yi = /* @__PURE__ */ Z({
3228
+ __name: "df-file",
3229
+ props: /* @__PURE__ */ de({
3230
+ comms: {},
3231
+ control: {},
3232
+ modelValue: {},
3233
+ label: {},
3234
+ errors: {},
3235
+ placeholder: {},
3236
+ helpText: {},
3237
+ hint: {},
3238
+ enabled: { type: Boolean },
3239
+ visibility: {},
3240
+ cssClass: {},
3241
+ clearable: { type: Boolean }
3242
+ }, me),
3243
+ emits: ["update:modelValue", "click:clear"],
3244
+ setup(e, { emit: t }) {
3245
+ const n = e, l = t, { value: a, vuetifyBindings: o } = ce(n, l), i = T(null), r = T(null), u = T(0), d = T(Math.round(Math.random() * 1e3)), m = T(), s = h(() => !m.value && a.value ? n.modelValue : "");
3246
+ function c() {
3247
+ i.value && window.clearInterval(i.value);
3248
+ }
3249
+ function f() {
3250
+ c(), i.value = window.setInterval(() => {
3251
+ a.value && n.comms.touch(a.value);
3252
+ }, 60 * 1e3);
3253
+ }
3254
+ Ve(() => c()), X(a, (V) => {
3255
+ V ? f() : c();
3256
+ });
3257
+ function y() {
3258
+ return We(this, null, function* () {
3259
+ a.value && (yield n.comms.delete(a.value)), a.value = null, u.value = 0, d.value = Math.round(Math.random() * 1e3), r.value = null, m.value = null, c();
3260
+ });
3261
+ }
3262
+ function g(V) {
3263
+ return We(this, null, function* () {
3264
+ u.value = -1, r.value = V, new FormData().append("file", V, V.name);
3265
+ try {
3266
+ a.value = yield n.comms.upload(
3267
+ V,
3268
+ (w, P) => {
3269
+ u.value = Math.round(w * 100 / P);
3270
+ }
3271
+ ), u.value = 100, f();
3272
+ } catch (w) {
3273
+ throw u.value = 0, r.value = null, d.value = Math.round(Math.random() * 1e3), m.value = null, w;
3274
+ }
3275
+ });
3276
+ }
3277
+ function S(V) {
3278
+ V && (Array.isArray(V) ? console.error("Uploading multiple files not supported right now") : g(V));
3279
+ }
3280
+ return (V, _) => {
3281
+ const w = H("v-progress-linear"), P = H("v-file-input");
3282
+ return I(), F(v(Vt), z(n, {
3283
+ clearable: "",
3284
+ "onClick:clear": y
3285
+ }), {
3286
+ default: D(() => [
3287
+ Ne("div", Ci, [
3288
+ r.value && u.value < 100 ? (I(), F(w, {
3289
+ key: 0,
3290
+ "model-value": u.value,
3291
+ indeterminate: u.value === -1,
3292
+ height: "10",
3293
+ style: { position: "absolute", top: "50%", transform: "translateY(-50%)", width: "100%" }
3294
+ }, null, 8, ["model-value", "indeterminate"])) : G("", !0),
3295
+ b(P, {
3296
+ modelValue: m.value,
3297
+ "onUpdate:modelValue": [
3298
+ _[0] || (_[0] = (R) => m.value = R),
3299
+ S
3300
+ ],
3301
+ label: s.value,
3302
+ readonly: v(o).readonly,
3303
+ disabled: v(o).disabled,
3304
+ name: v(o).name,
3305
+ "hide-details": !0,
3306
+ "show-size": !0,
3307
+ multiple: !1,
3308
+ style: Tn(r.value && u.value < 100 ? "visibility: hidden" : ""),
3309
+ clearable: !1
3310
+ }, null, 8, ["modelValue", "label", "readonly", "disabled", "name", "style"])
3311
+ ])
3312
+ ]),
3313
+ _: 1
3314
+ }, 16);
3315
+ };
3316
+ }
3317
+ }), Si = { class: "container" }, Vi = /* @__PURE__ */ Z({
3318
+ __name: "df-input",
3319
+ props: /* @__PURE__ */ de({
3320
+ inputType: {},
3321
+ precision: {},
3322
+ step: {},
3323
+ min: {},
3324
+ max: {},
3325
+ control: {},
3326
+ modelValue: {},
3327
+ label: {},
3328
+ errors: {},
3329
+ placeholder: {},
3330
+ helpText: {},
3331
+ hint: {},
3332
+ enabled: { type: Boolean },
3333
+ visibility: {},
3334
+ cssClass: {},
3335
+ clearable: { type: Boolean }
3336
+ }, le(k({}, me), {
3337
+ inputType: "text",
3338
+ precision: void 0,
3339
+ step: void 0,
3340
+ min: void 0,
3341
+ max: void 0
3342
+ })),
3343
+ emits: ["update:modelValue", "click:clear"],
3344
+ setup(e, { emit: t }) {
3345
+ const n = e, l = t, { errors: a, value: o, vuetifyBindings: i } = ce(n, l), { inputType: r, max: u, min: d, precision: m, step: s } = xe(n), c = h(() => r.value === "number"), f = h(() => c.value ? { min: d.value, max: u.value, precision: m.value, step: s.value } : {});
3346
+ return (y, g) => {
3347
+ const S = H("v-text-field"), V = H("v-number-input");
3348
+ return I(), K("div", Si, [
3349
+ c.value ? (I(), F(V, z({
3350
+ key: 1,
3351
+ modelValue: v(o),
3352
+ "onUpdate:modelValue": g[1] || (g[1] = (_) => ee(o) ? o.value = _ : null)
3353
+ }, k(k({}, v(i)), f.value), {
3354
+ density: "compact",
3355
+ "control-variant": "stacked",
3356
+ variant: "underlined"
3357
+ }), {
3358
+ message: D(() => [
3359
+ b(v(ge), { errors: v(a) }, null, 8, ["errors"])
3360
+ ]),
3361
+ _: 1
3362
+ }, 16, ["modelValue"])) : (I(), F(S, z({
3363
+ key: 0,
3364
+ modelValue: v(o),
3365
+ "onUpdate:modelValue": g[0] || (g[0] = (_) => ee(o) ? o.value = _ : null)
3366
+ }, v(i), {
3367
+ variant: "underlined",
3368
+ type: v(r)
3369
+ }), {
3370
+ message: D(() => [
3371
+ b(v(ge), { errors: v(a) }, null, 8, ["errors"])
3372
+ ]),
3373
+ _: 1
3374
+ }, 16, ["modelValue", "type"]))
3375
+ ]);
3376
+ };
3377
+ }
3378
+ }), Xi = /* @__PURE__ */ Oe(Vi, [["__scopeId", "data-v-7ce40eb2"]]), xi = { class: "editor-container" }, Ti = { class: "editor-container__editor" }, Ii = { ref: "editorElement" }, Bi = /* @__PURE__ */ Z({
3379
+ __name: "ck-editor-custom",
3380
+ props: {
3381
+ modelValue: { default: "" },
3382
+ minHeight: { default: "7em" },
3383
+ disabled: { type: Boolean, default: !1 }
3384
+ },
3385
+ emits: ["update:modelValue"],
3386
+ setup(e, { expose: t, emit: n }) {
3387
+ Ol((s) => ({
3388
+ "78294de5": s.minHeight
3389
+ }));
3390
+ const l = n, a = T(!1), o = La, d = {
3391
+ toolbar: {
3392
+ items: [
3393
+ "undo",
3394
+ "redo",
3395
+ "|",
3396
+ "selectAll",
3397
+ "|",
3398
+ "heading",
3399
+ "style",
3400
+ "|",
3401
+ "bold",
3402
+ "italic",
3403
+ "|",
3404
+ "horizontalLine",
3405
+ "link",
3406
+ "mediaEmbed",
3407
+ "insertTable",
3408
+ "blockQuote",
3409
+ "|",
3410
+ "alignment",
3411
+ "|",
3412
+ "bulletedList",
3413
+ "numberedList",
3414
+ "outdent",
3415
+ "indent",
3416
+ "|",
3417
+ "accessibilityHelp"
3418
+ ],
3419
+ shouldNotGroupWhenFull: !1
3420
+ },
3421
+ plugins: [
3422
+ Yl,
3423
+ Xl,
3424
+ Zl,
3425
+ Ql,
3426
+ Jl,
3427
+ ea,
3428
+ ta,
3429
+ na,
3430
+ la,
3431
+ aa,
3432
+ oa,
3433
+ ia,
3434
+ sa,
3435
+ ra,
3436
+ ua,
3437
+ ca,
3438
+ da,
3439
+ ma,
3440
+ fa,
3441
+ va,
3442
+ ga,
3443
+ ha,
3444
+ ba,
3445
+ ya,
3446
+ pa,
3447
+ _a,
3448
+ wa,
3449
+ ka,
3450
+ Ca,
3451
+ Sa,
3452
+ Va,
3453
+ xa,
3454
+ Ta,
3455
+ Ia,
3456
+ Ba,
3457
+ Pa,
3458
+ Aa,
3459
+ $a,
3460
+ Ea,
3461
+ Na,
3462
+ Da
3463
+ ],
3464
+ balloonToolbar: ["bold", "italic", "|", "link", "|", "bulletedList", "numberedList"],
3465
+ heading: {
3466
+ options: [
3467
+ { model: "paragraph", title: "Paragraph", class: "ck-heading_paragraph" },
3468
+ { model: "heading1", view: "h1", title: "Heading 1", class: "ck-heading_heading1" },
3469
+ { model: "heading2", view: "h2", title: "Heading 2", class: "ck-heading_heading2" },
3470
+ { model: "heading3", view: "h3", title: "Heading 3", class: "ck-heading_heading3" },
3471
+ { model: "heading4", view: "h4", title: "Heading 4", class: "ck-heading_heading4" },
3472
+ { model: "heading5", view: "h5", title: "Heading 5", class: "ck-heading_heading5" },
3473
+ { model: "heading6", view: "h6", title: "Heading 6", class: "ck-heading_heading6" }
3474
+ ]
3475
+ },
3476
+ htmlSupport: {
3477
+ allow: [
3478
+ { name: /^.*$/, styles: !0, attributes: !0, classes: !0 }
3479
+ ]
3480
+ },
3481
+ image: {
3482
+ toolbar: [
3483
+ "toggleImageCaption",
3484
+ "imageTextAlternative",
3485
+ "|",
3486
+ "imageStyle:inline",
3487
+ "imageStyle:wrapText",
3488
+ "imageStyle:breakText",
3489
+ "|",
3490
+ "resizeImage"
3491
+ ]
3492
+ },
3493
+ // initialData: '',
3494
+ link: {
3495
+ addTargetToExternalLinks: !0,
3496
+ defaultProtocol: "https://",
3497
+ decorators: {
3498
+ toggleDownloadable: {
3499
+ mode: "manual",
3500
+ label: "Downloadable",
3501
+ attributes: { download: "file" }
3502
+ }
3503
+ }
3504
+ },
3505
+ placeholder: "Type or paste your content here!",
3506
+ style: {
3507
+ definitions: [
3508
+ { name: "Article category", element: "h3", classes: ["category"] },
3509
+ { name: "Title", element: "h2", classes: ["document-title"] },
3510
+ { name: "Subtitle", element: "h3", classes: ["document-subtitle"] },
3511
+ { name: "Info box", element: "p", classes: ["info-box"] },
3512
+ { name: "Side quote", element: "blockquote", classes: ["side-quote"] },
3513
+ { name: "Marker", element: "span", classes: ["marker"] },
3514
+ { name: "Spoiler", element: "span", classes: ["spoiler"] },
3515
+ { name: "Code (dark)", element: "pre", classes: ["fancy-code", "fancy-code-dark"] },
3516
+ { name: "Code (bright)", element: "pre", classes: ["fancy-code", "fancy-code-bright"] }
3517
+ ]
3518
+ },
3519
+ table: { contentToolbar: ["tableColumn", "tableRow", "mergeTableCells", "tableProperties", "tableCellProperties"] }
3520
+ };
3521
+ at(() => {
3522
+ a.value = !0;
3523
+ });
3524
+ const m = (s) => {
3525
+ };
3526
+ return t({ onEditorReady: m }), (s, c) => {
3527
+ const f = H("ckeditor");
3528
+ return I(), K("div", xi, [
3529
+ Ne("div", Ti, [
3530
+ Ne("div", Ii, [
3531
+ a.value ? (I(), F(f, {
3532
+ key: 0,
3533
+ "model-value": s.modelValue,
3534
+ editor: v(o),
3535
+ config: d,
3536
+ disabled: s.disabled,
3537
+ onReady: m,
3538
+ "onUpdate:modelValue": c[0] || (c[0] = (y) => l("update:modelValue", y))
3539
+ }, null, 8, ["model-value", "editor", "disabled"])) : G("", !0)
3540
+ ], 512)
3541
+ ])
3542
+ ]);
3543
+ };
3544
+ }
3545
+ }), Zi = /* @__PURE__ */ Z({
3546
+ __name: "df-rtf-editor",
3547
+ props: /* @__PURE__ */ de({
3548
+ minHeight: {},
3549
+ control: {},
3550
+ modelValue: {},
3551
+ label: {},
3552
+ errors: {},
3553
+ placeholder: {},
3554
+ helpText: {},
3555
+ hint: {},
3556
+ enabled: { type: Boolean },
3557
+ visibility: {},
3558
+ cssClass: {},
3559
+ clearable: { type: Boolean }
3560
+ }, le(k({}, me), { minHeight: void 0 })),
3561
+ emits: ["update:modelValue", "click:clear"],
3562
+ setup(e, { emit: t }) {
3563
+ const n = e, l = t, { value: a, vuetifyBindings: o } = ce(n, l);
3564
+ return (i, r) => (I(), F(v(Vt), Pn(An(n)), {
3565
+ default: D(() => [
3566
+ b(Bi, {
3567
+ ref: "$editor",
3568
+ modelValue: v(a),
3569
+ "onUpdate:modelValue": r[0] || (r[0] = (u) => ee(a) ? a.value = u : null),
3570
+ "min-height": i.minHeight,
3571
+ disabled: v(o).disabled
3572
+ }, null, 8, ["modelValue", "min-height", "disabled"])
3573
+ ]),
3574
+ _: 1
3575
+ }, 16));
3576
+ }
3577
+ });
3578
+ function Pi(e) {
3579
+ return e.map((t) => ({ value: t.id, title: t.text, icon: t.icon }));
3580
+ }
3581
+ function $e(e, t) {
3582
+ var n;
3583
+ return e == null || Jt(e) && e.length === 0 ? null : t ? $n(e) : Jt(e) ? (n = En(e)) != null ? n : null : e;
3584
+ }
3585
+ function kt(e, t) {
3586
+ if (t == null) return [];
3587
+ const n = $n(t);
3588
+ return e.filter((l) => n.some((a) => a === l.id));
3589
+ }
3590
+ function vt(e, t, n, l, a) {
3591
+ var i;
3592
+ const o = $e(e, n);
3593
+ if (o == null) {
3594
+ t.value = n ? [] : null;
3595
+ return;
3596
+ }
3597
+ if (n)
3598
+ l ? t.value = o : t.value = kt(a, o).map((r) => r.id);
3599
+ else if (l)
3600
+ t.value = o;
3601
+ else {
3602
+ const r = En(kt(a, o));
3603
+ t.value = (i = r == null ? void 0 : r.id) != null ? i : null;
3604
+ }
3605
+ }
3606
+ const Ai = {
3607
+ key: 0,
3608
+ class: "me-1"
3609
+ }, $i = {
3610
+ key: 0,
3611
+ class: "me-1"
3612
+ }, Ei = /* @__PURE__ */ Z({
3613
+ __name: "df-select",
3614
+ props: /* @__PURE__ */ de({
3615
+ choices: {},
3616
+ multiple: { type: Boolean },
3617
+ allowTags: { type: Boolean },
3618
+ allowNull: { type: Boolean },
3619
+ fetchChoices: {},
3620
+ control: {},
3621
+ modelValue: {},
3622
+ label: {},
3623
+ errors: {},
3624
+ placeholder: {},
3625
+ helpText: {},
3626
+ hint: {},
3627
+ enabled: { type: Boolean },
3628
+ visibility: {},
3629
+ cssClass: {},
3630
+ clearable: { type: Boolean }
3631
+ }, le(k({}, me), {
3632
+ choices: void 0,
3633
+ multiple: !1,
3634
+ allowTags: !1,
3635
+ allowNull: !0,
3636
+ fetchChoices: void 0
3637
+ })),
3638
+ emits: ["update:modelValueDisplay", "update:modelValue", "click:clear"],
3639
+ setup(e, { emit: t }) {
3640
+ const n = e, { choices: l } = n, { multiple: a, allowTags: o, allowNull: i, cssClass: r, visibility: u } = xe(n), d = T(!1), m = t, { errors: s, value: c, vuetifyBindings: f } = ce(n, m), y = T(null), g = T(l || []), S = T(!1), V = h(() => Pi(g.value));
3641
+ function _($) {
3642
+ m("update:modelValueDisplay", kt(g.value, $));
3643
+ }
3644
+ X(y, ($) => {
3645
+ f.value.readonly || Bn(() => {
3646
+ const x = $e($, a.value);
3647
+ _(x), c.value = x;
3648
+ });
3649
+ }, { deep: !0 });
3650
+ function w() {
3651
+ if (f.value.readonly || o.value) return;
3652
+ const $ = $e(y.value, a.value);
3653
+ vt($, y, a.value, !1, g.value), c.value = $;
3654
+ }
3655
+ function P($) {
3656
+ let x;
3657
+ a.value && Array.isArray(y.value) ? x = $e(y.value.filter((U) => U !== $), a.value) : x = null, vt(x, y, a.value, !1, g.value), c.value = x;
3658
+ }
3659
+ function R($, x) {
3660
+ return We(this, null, function* () {
3661
+ if (!(l || n.fetchChoices === void 0)) {
3662
+ S.value = !0;
3663
+ try {
3664
+ g.value = yield n.fetchChoices($, x);
3665
+ } finally {
3666
+ S.value = !1;
3667
+ }
3668
+ }
3669
+ });
3670
+ }
3671
+ function Y() {
3672
+ let $ = c.value;
3673
+ !i.value && $ == null && V.value.length && ($ = V.value[0].value), $ = $e($, a.value), vt($, y, a.value, o.value, g.value), _($), c.value = $;
3674
+ }
3675
+ return Y(), n.fetchChoices !== void 0 && R(void 0, c.value).then(() => {
3676
+ Y();
3677
+ }), ($, x) => {
3678
+ const U = H("v-chip"), ne = H("v-list-item");
3679
+ return v(u) !== v(ue).SUPPRESS ? (I(), F(Ce(v(o) ? "v-combobox" : "v-autocomplete"), z({
3680
+ key: 0,
3681
+ modelValue: y.value,
3682
+ "onUpdate:modelValue": x[0] || (x[0] = (A) => y.value = A),
3683
+ class: [
3684
+ v(r),
3685
+ {
3686
+ "d-none": v(u) === v(ue).HIDDEN,
3687
+ invisible: v(u) === v(ue).INVISIBLE
3688
+ }
3689
+ ],
3690
+ density: "compact",
3691
+ items: V.value,
3692
+ "return-object": !1
3693
+ }, v(f), {
3694
+ label: d.value ? "" : v(f).label,
3695
+ chips: "",
3696
+ "auto-select-first": !0,
3697
+ "closable-chips": v(i) || v(a) && y.value.length > 1,
3698
+ clearable: v(i),
3699
+ multiple: v(a),
3700
+ loading: S.value,
3701
+ "hide-selected": !1,
3702
+ "aria-describedby": v(f).helpText ? `${v(f).name}-help` : null,
3703
+ "menu-props": { maxHeight: "400" },
3704
+ "hide-details": "auto",
3705
+ "onUpdate:search": x[1] || (x[1] = (A) => R(A, void 0)),
3706
+ "onUpdate:modelValue": w,
3707
+ "onClick:clear": x[2] || (x[2] = (A) => y.value.value = null),
3708
+ onFocus: x[3] || (x[3] = (A) => d.value = !0),
3709
+ onBlur: x[4] || (x[4] = (A) => d.value = !1)
3710
+ }), {
3711
+ chip: D(({ item: A }) => [
3712
+ (I(), F(U, {
3713
+ key: A.value,
3714
+ label: "",
3715
+ size: "small",
3716
+ variant: v(a) ? "tonal" : "text",
3717
+ closable: v(a),
3718
+ "onClick:close": (p) => P(A.value)
3719
+ }, {
3720
+ prepend: D(() => {
3721
+ var p;
3722
+ return [
3723
+ (p = A.raw) != null && p.icon ? (I(), K("span", Ai, [
3724
+ b(v(ht), {
3725
+ class: "action-icon d-inline-block",
3726
+ name: A.raw.icon
3727
+ }, null, 8, ["name"])
3728
+ ])) : G("", !0)
3729
+ ];
3730
+ }),
3731
+ default: D(() => [
3732
+ Ee(" " + Se(A.title), 1)
3733
+ ]),
3734
+ _: 2
3735
+ }, 1032, ["variant", "closable", "onClick:close"]))
3736
+ ]),
3737
+ item: D(({ props: A, item: p }) => [
3738
+ b(ne, Pn(An(A)), {
3739
+ prepend: D(() => {
3740
+ var N;
3741
+ return [
3742
+ (N = p.raw) != null && N.icon ? (I(), K("span", $i, [
3743
+ b(v(ht), {
3744
+ class: "action-icon d-inline-block",
3745
+ name: p.raw.icon
3746
+ }, null, 8, ["name"])
3747
+ ])) : G("", !0)
3748
+ ];
3749
+ }),
3750
+ _: 2
3751
+ }, 1040)
3752
+ ]),
3753
+ message: D(() => [
3754
+ b(v(ge), { errors: v(s) }, null, 8, ["errors"])
3755
+ ]),
3756
+ _: 1
3757
+ }, 16, ["modelValue", "class", "items", "label", "closable-chips", "clearable", "multiple", "loading", "aria-describedby"])) : G("", !0);
3758
+ };
3759
+ }
3760
+ }), Qi = /* @__PURE__ */ Oe(Ei, [["__scopeId", "data-v-2d1b6f78"]]), Ni = { class: "container" }, Di = /* @__PURE__ */ Z({
3761
+ __name: "df-text-area",
3762
+ props: /* @__PURE__ */ de({
3763
+ rows: {},
3764
+ maxRows: {},
3765
+ control: {},
3766
+ modelValue: {},
3767
+ label: {},
3768
+ errors: {},
3769
+ placeholder: {},
3770
+ helpText: {},
3771
+ hint: {},
3772
+ enabled: { type: Boolean },
3773
+ visibility: {},
3774
+ cssClass: {},
3775
+ clearable: { type: Boolean }
3776
+ }, le(k({}, me), {
3777
+ rows: void 0,
3778
+ maxRows: void 0
3779
+ })),
3780
+ emits: ["update:modelValue", "click:clear"],
3781
+ setup(e, { emit: t }) {
3782
+ const n = e, l = t, { errors: a, value: o, vuetifyBindings: i } = ce(n, l), { cssClass: r, visibility: u } = xe(n);
3783
+ return (d, m) => {
3784
+ const s = H("v-textarea");
3785
+ return I(), K("div", Ni, [
3786
+ v(u) !== v(ue).SUPPRESS ? (I(), F(s, z({
3787
+ key: 0,
3788
+ modelValue: v(o),
3789
+ "onUpdate:modelValue": m[0] || (m[0] = (c) => ee(o) ? o.value = c : null),
3790
+ class: [
3791
+ v(r),
3792
+ {
3793
+ "d-none": v(u) === v(ue).HIDDEN,
3794
+ invisible: v(u) === v(ue).INVISIBLE
3795
+ }
3796
+ ],
3797
+ variant: "underlined",
3798
+ rows: d.rows,
3799
+ "auto-grow": (d.maxRows || 0) > 0,
3800
+ "max-rows": d.maxRows
3801
+ }, v(i)), {
3802
+ message: D(() => [
3803
+ b(v(ge), { errors: v(a) }, null, 8, ["errors"])
3804
+ ]),
3805
+ _: 1
3806
+ }, 16, ["modelValue", "class", "rows", "auto-grow", "max-rows"])) : G("", !0)
3807
+ ]);
3808
+ };
3809
+ }
3810
+ }), Ji = /* @__PURE__ */ Oe(Di, [["__scopeId", "data-v-2dc106f6"]]), es = {
3811
+ install: (e) => {
3812
+ e.use(qa);
3813
+ }
3814
+ };
3815
+ export {
3816
+ Ye as Action,
3817
+ oe as ActionDisplayStyle,
3818
+ Wi as DfActions,
3819
+ Gi as DfCheckbox,
3820
+ Ki as DfColor,
3821
+ qi as DfDateTime,
3822
+ Yi as DfFile,
3823
+ Xi as DfInput,
3824
+ Zi as DfRtfEditor,
3825
+ Qi as DfSelect,
3826
+ Ji as DfTextArea,
3827
+ ge as ErrorsWidget,
3828
+ Vt as InputBase,
3829
+ es as VuetifyInputs,
3830
+ me as defaultBaseProps,
3831
+ tn as defaultDisplayStyle,
3832
+ ce as useInputBase
3833
+ };
3834
+ //# sourceMappingURL=dynamicforms-vuetify-inputs.js.map