@verdnatura/vn-front-lib 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/components-D0b_k2T_.js +3305 -0
  2. package/dist/components-DImdPW9s.cjs +2 -0
  3. package/dist/components.cjs +1 -1
  4. package/dist/components.js +2 -2
  5. package/dist/composables-CAk9XaOa.js +3836 -0
  6. package/dist/composables-CoozYWaG.cjs +6 -0
  7. package/dist/composables.cjs +1 -1
  8. package/dist/composables.js +2 -2
  9. package/dist/filters.cjs +1 -0
  10. package/dist/filters.js +62 -0
  11. package/dist/rolldown-runtime-mLOUI7ql.cjs +1 -0
  12. package/dist/stores.cjs +1 -1
  13. package/dist/stores.js +144 -2
  14. package/dist/utils.cjs +1 -0
  15. package/dist/utils.js +131 -0
  16. package/dist/vn-front-lib.cjs +1 -1
  17. package/dist/vn-front-lib.css +1 -1
  18. package/dist/vn-front-lib.js +6 -7
  19. package/lib/components/dialogs/VnConfirm.vue +142 -0
  20. package/lib/components/feedback/VnSkeletonForm.vue +14 -0
  21. package/lib/components/feedback/VnSpinner.vue +63 -0
  22. package/lib/components/index.js +4 -0
  23. package/lib/components/inputs/VnInput.vue +5 -0
  24. package/lib/components/models/VnForm.vue +492 -0
  25. package/lib/composables/index.js +7 -0
  26. package/lib/composables/tMobile.js +8 -0
  27. package/lib/composables/useArrayData.js +451 -0
  28. package/lib/composables/useForm.js +12 -0
  29. package/lib/composables/useNotify.js +24 -0
  30. package/lib/composables/useObjectComparison.js +67 -0
  31. package/lib/composables/useQueryResolver.js +306 -0
  32. package/lib/composables/useState.js +81 -0
  33. package/lib/filters/filterPanel.js +95 -0
  34. package/lib/filters/getDifferences.js +18 -0
  35. package/lib/filters/getUpdatedValues.js +6 -0
  36. package/lib/filters/index.js +5 -0
  37. package/lib/filters/isDialogOpened.js +3 -0
  38. package/lib/filters/onBeforeSave.js +9 -0
  39. package/lib/stores/index.js +2 -0
  40. package/lib/stores/useArrayDataStore.js +82 -0
  41. package/lib/stores/useStateStore.js +84 -0
  42. package/lib/utils/advancedFilters.js +125 -0
  43. package/lib/utils/index.js +2 -0
  44. package/lib/utils/trackAnalytics.js +18 -0
  45. package/package.json +9 -2
  46. package/dist/components-bhz_GJoK.cjs +0 -1
  47. package/dist/components-vVkogsiW.js +0 -2532
  48. package/dist/useRequired-BviE2qpV.cjs +0 -1
  49. package/dist/useRequired-CTxBp3qy.js +0 -58
  50. package/dist/useValidationsStore-9Fxtj_pd.js +0 -12
  51. package/dist/useValidationsStore-BZZg24ZP.cjs +0 -1
@@ -0,0 +1,3305 @@
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, I as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, R as g, S as _, T as v, U as y, V as b, W as x, X as S, Y as C, Z as w, _ as T, b as E, d as ee, f as te, g as D, h as O, j as k, k as A, m as ne, p as j, q as M, t as N, u as re, v as ie, w as P, x as F, y as I, z as L } from "./composables-CAk9XaOa.js";
2
+ import { useStateStore as ae } from "./stores.js";
3
+ import { onBeforeSave as oe } from "./filters.js";
4
+ import { Fragment as se, Teleport as ce, Transition as le, computed as R, createBlock as z, createCommentVNode as B, createElementBlock as ue, createElementVNode as V, createSlots as de, createTextVNode as fe, createVNode as H, getCurrentInstance as U, h as W, inject as pe, mergeModels as me, mergeProps as he, nextTick as G, normalizeClass as ge, normalizeStyle as _e, onActivated as ve, onBeforeUnmount as K, onBeforeUpdate as ye, onDeactivated as be, onMounted as q, onUnmounted as xe, openBlock as J, provide as Se, ref as Y, renderSlot as Ce, toDisplayString as we, unref as X, useAttrs as Te, useModel as Ee, vShow as De, watch as Z, withCtx as Q, withDirectives as Oe, withModifiers as ke } from "vue";
5
+ import { useI18n as Ae } from "vue-i18n";
6
+ import je from "axios";
7
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/components/space/QSpace.js
8
+ var Me = C({
9
+ name: "QSpace",
10
+ setup() {
11
+ let e = W("div", { class: "q-space" });
12
+ return () => e;
13
+ }
14
+ }), Ne = C({
15
+ name: "QCardSection",
16
+ props: {
17
+ tag: {
18
+ type: String,
19
+ default: "div"
20
+ },
21
+ horizontal: Boolean
22
+ },
23
+ setup(e, { slots: t }) {
24
+ let n = R(() => `q-card__section q-card__section--${e.horizontal ? "horiz row no-wrap" : "vert"}`);
25
+ return () => W(e.tag, { class: n.value }, l(t.default));
26
+ }
27
+ }), Pe = C({
28
+ name: "QCardActions",
29
+ props: {
30
+ ...p,
31
+ vertical: Boolean
32
+ },
33
+ setup(e, { slots: t }) {
34
+ let n = f(e), r = R(() => `q-card__actions ${n.value} q-card__actions--${e.vertical ? "vert column" : "horiz row"}`);
35
+ return () => W("div", { class: r.value }, l(t.default));
36
+ }
37
+ }), Fe = { dark: {
38
+ type: Boolean,
39
+ default: null
40
+ } };
41
+ function Ie(e, t) {
42
+ return R(() => e.dark === null ? t.dark.isActive : e.dark);
43
+ }
44
+ //#endregion
45
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/components/card/QCard.js
46
+ var Le = C({
47
+ name: "QCard",
48
+ props: {
49
+ ...Fe,
50
+ tag: {
51
+ type: String,
52
+ default: "div"
53
+ },
54
+ square: Boolean,
55
+ flat: Boolean,
56
+ bordered: Boolean
57
+ },
58
+ setup(e, { slots: t }) {
59
+ let { proxy: { $q: n } } = U(), r = Ie(e, n), i = R(() => "q-card" + (r.value ? " q-card--dark q-dark" : "") + (e.bordered ? " q-card--bordered" : "") + (e.square ? " q-card--square no-border-radius" : "") + (e.flat ? " q-card--flat no-shadow" : ""));
60
+ return () => W(e.tag, { class: i.value }, l(t.default));
61
+ }
62
+ });
63
+ //#endregion
64
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-history/use-history.js
65
+ function Re(e, t, n) {
66
+ let r;
67
+ function i() {
68
+ r !== void 0 && (v.remove(r), r = void 0);
69
+ }
70
+ return K(() => {
71
+ e.value && i();
72
+ }), {
73
+ removeFromHistory: i,
74
+ addToHistory() {
75
+ r = {
76
+ condition: () => n.value,
77
+ handler: t
78
+ }, v.add(r);
79
+ }
80
+ };
81
+ }
82
+ //#endregion
83
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/use-timeout/use-timeout.js
84
+ function ze() {
85
+ let e = null, t = U();
86
+ function n() {
87
+ e !== null && (clearTimeout(e), e = null);
88
+ }
89
+ return be(n), K(n), {
90
+ removeTimeout: n,
91
+ registerTimeout(r, i) {
92
+ n(), k(t) || (e = setTimeout(() => {
93
+ e = null, r();
94
+ }, i));
95
+ }
96
+ };
97
+ }
98
+ //#endregion
99
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/use-tick/use-tick.js
100
+ function Be() {
101
+ let e, t = U();
102
+ function n() {
103
+ e = void 0;
104
+ }
105
+ return be(n), K(n), {
106
+ removeTick: n,
107
+ registerTick(n) {
108
+ e = n, G(() => {
109
+ e === n && (k(t) || e(), e = void 0);
110
+ });
111
+ }
112
+ };
113
+ }
114
+ //#endregion
115
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-model-toggle/use-model-toggle.js
116
+ var Ve = {
117
+ modelValue: {
118
+ type: Boolean,
119
+ default: null
120
+ },
121
+ "onUpdate:modelValue": [Function, Array]
122
+ }, He = [
123
+ "beforeShow",
124
+ "show",
125
+ "beforeHide",
126
+ "hide"
127
+ ];
128
+ function Ue({ showing: t, canShow: n, hideOnRouteChange: r, handleShow: i, handleHide: a, handleRouteChange: o, processOnMount: s }) {
129
+ let c = U(), { props: l, emit: u, proxy: d } = c, f;
130
+ function p(e) {
131
+ t.value ? g(e) : m(e);
132
+ }
133
+ function m(e) {
134
+ if (l.disable || e?.qAnchorHandled === !0 || n !== void 0 && !n(e)) return;
135
+ let t = l["onUpdate:modelValue"] !== void 0;
136
+ t && (u("update:modelValue", !0), f = e, G(() => {
137
+ f === e && (f = void 0);
138
+ })), (l.modelValue === null || !t) && h(e);
139
+ }
140
+ function h(e) {
141
+ t.value || (t.value = !0, u("beforeShow", e), i === void 0 ? u("show", e) : i(e));
142
+ }
143
+ function g(e) {
144
+ if (l.disable) return;
145
+ let t = l["onUpdate:modelValue"] !== void 0;
146
+ t && (u("update:modelValue", !1), f = e, G(() => {
147
+ f === e && (f = void 0);
148
+ })), (l.modelValue === null || !t) && _(e);
149
+ }
150
+ function _(e) {
151
+ t.value && (t.value = !1, u("beforeHide", e), a === void 0 ? u("hide", e) : a(e));
152
+ }
153
+ function v(e) {
154
+ l.disable && e ? l["onUpdate:modelValue"] !== void 0 && u("update:modelValue", !1) : e === !0 !== t.value && (e ? h : _)(f);
155
+ }
156
+ Z(() => l.modelValue, v), r !== void 0 && e(c) && Z(() => d.$route.fullPath, () => {
157
+ r.value && t.value && (o?.(), g());
158
+ }), s && q(() => {
159
+ v(l.modelValue);
160
+ });
161
+ let y = {
162
+ show: m,
163
+ hide: g,
164
+ toggle: p
165
+ };
166
+ return Object.assign(d, y), y;
167
+ }
168
+ //#endregion
169
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-transition/use-transition.js
170
+ var We = {
171
+ transitionShow: {
172
+ type: String,
173
+ default: "fade"
174
+ },
175
+ transitionHide: {
176
+ type: String,
177
+ default: "fade"
178
+ },
179
+ transitionDuration: {
180
+ type: [String, Number],
181
+ default: 300
182
+ }
183
+ };
184
+ function Ge(e, t = () => {}, n = () => {}) {
185
+ return {
186
+ transitionProps: R(() => {
187
+ let r = `q-transition--${e.transitionShow || t()}`, i = `q-transition--${e.transitionHide || n()}`;
188
+ return {
189
+ appear: !0,
190
+ enterFromClass: `${r}-enter-from`,
191
+ enterActiveClass: `${r}-enter-active`,
192
+ enterToClass: `${r}-enter-to`,
193
+ leaveFromClass: `${i}-leave-from`,
194
+ leaveActiveClass: `${i}-leave-active`,
195
+ leaveToClass: `${i}-leave-to`
196
+ };
197
+ }),
198
+ transitionStyle: R(() => `--q-transition-duration: ${e.transitionDuration}ms`)
199
+ };
200
+ }
201
+ //#endregion
202
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/private.portal/portal.js
203
+ var Ke = [], qe = [], Je = [];
204
+ function Ye(e) {
205
+ Je = Je.filter((t) => t !== e);
206
+ }
207
+ function Xe(e) {
208
+ Ye(e), Je.push(e);
209
+ }
210
+ function Ze(e) {
211
+ Ye(e), Je.length === 0 && qe.length !== 0 && (qe.at(-1)(), qe = []);
212
+ }
213
+ function Qe(e) {
214
+ Je.length === 0 ? e() : qe.push(e);
215
+ }
216
+ function $e(e) {
217
+ qe = qe.filter((t) => t !== e);
218
+ }
219
+ //#endregion
220
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-portal/use-portal.js
221
+ var et = C({
222
+ name: "QPortal",
223
+ setup(e, { slots: t }) {
224
+ return () => t.default();
225
+ }
226
+ });
227
+ function tt(e) {
228
+ for (e = e.parent; e != null;) {
229
+ if (e.type.name === "QGlobalDialog") return !0;
230
+ if (e.type.name === "QDialog" || e.type.name === "QMenu") return !1;
231
+ e = e.parent;
232
+ }
233
+ return !1;
234
+ }
235
+ function nt(e, t, r, i) {
236
+ let a = Y(!1), o = Y(!1), s = null, c = {}, l = i === "dialog" && tt(e);
237
+ function u(t) {
238
+ if (t) {
239
+ Ze(c), o.value = !0;
240
+ return;
241
+ }
242
+ o.value = !1, a.value || (!l && s === null && (s = n(!1, i)), a.value = !0, Ke.push(e.proxy), Xe(c));
243
+ }
244
+ function d(t) {
245
+ if (o.value = !1, !t) return;
246
+ Ze(c), a.value = !1;
247
+ let n = Ke.indexOf(e.proxy);
248
+ n !== -1 && Ke.splice(n, 1), s !== null && (P(s), s = null);
249
+ }
250
+ return xe(() => {
251
+ d(!0);
252
+ }), e.proxy.__qPortal = !0, S(e.proxy, "contentEl", () => t.value), {
253
+ showPortal: u,
254
+ hidePortal: d,
255
+ portalIsActive: a,
256
+ portalIsAccessible: o,
257
+ renderPortal: () => l ? r() : a.value ? [W(ce, { to: s }, W(et, r))] : void 0
258
+ };
259
+ }
260
+ //#endregion
261
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/scroll/scroll.js
262
+ var rt = [Element, String], it = [
263
+ null,
264
+ document,
265
+ document.body,
266
+ document.scrollingElement,
267
+ document.documentElement
268
+ ];
269
+ function at(e, t) {
270
+ let n = x(t);
271
+ if (n === void 0) {
272
+ if (e == null) return window;
273
+ n = e.closest(".scroll,.scroll-y,.overflow-auto");
274
+ }
275
+ return it.includes(n) ? window : n;
276
+ }
277
+ function ot(e) {
278
+ return e === window ? window.pageYOffset || window.scrollY || document.body.scrollTop || 0 : e.scrollTop;
279
+ }
280
+ function st(e) {
281
+ return e === window ? window.pageXOffset || window.scrollX || document.body.scrollLeft || 0 : e.scrollLeft;
282
+ }
283
+ var ct;
284
+ function lt() {
285
+ if (ct !== void 0) return ct;
286
+ let e = document.createElement("p"), t = document.createElement("div");
287
+ y(e, {
288
+ width: "100%",
289
+ height: "200px"
290
+ }), y(t, {
291
+ position: "absolute",
292
+ top: "0px",
293
+ left: "0px",
294
+ visibility: "hidden",
295
+ width: "200px",
296
+ height: "150px",
297
+ overflow: "hidden"
298
+ }), t.append(e), document.body.append(t);
299
+ let n = e.offsetWidth;
300
+ t.style.overflow = "scroll";
301
+ let r = e.offsetWidth;
302
+ return n === r && (r = t.clientWidth), t.remove(), ct = n - r, ct;
303
+ }
304
+ //#endregion
305
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/scroll/prevent-scroll.js
306
+ var ut = 0, dt, ft, pt, mt = !1, ht, gt, _t, vt = null;
307
+ function yt(e) {
308
+ e.target === document && (document.scrollingElement.scrollTop = document.scrollingElement.scrollTop);
309
+ }
310
+ function bt(e) {
311
+ mt || (mt = !0, requestAnimationFrame(() => {
312
+ mt = !1;
313
+ let { height: t } = e.target, { clientHeight: n, scrollTop: r } = document.scrollingElement;
314
+ (pt === void 0 || t !== window.innerHeight) && (pt = n - t, document.scrollingElement.scrollTop = r), r > pt && (document.scrollingElement.scrollTop -= Math.ceil((r - pt) / 8));
315
+ }));
316
+ }
317
+ function xt(e) {
318
+ let t = document.body, n = window.visualViewport !== void 0;
319
+ if (e === "add") {
320
+ let { overflowY: e, overflowX: i } = window.getComputedStyle(t);
321
+ dt = st(window), ft = ot(window), ht = t.style.left, gt = t.style.top, _t = window.location.pathname, t.style.left = `-${dt}px`, t.style.top = `-${ft}px`, i !== "hidden" && (i === "scroll" || t.scrollWidth > window.innerWidth) && t.classList.add("q-body--force-scrollbar-x"), e !== "hidden" && (e === "scroll" || t.scrollHeight > window.innerHeight) && t.classList.add("q-body--force-scrollbar-y"), document.documentElement.classList.add("q-document--prevent-scroll"), document.qScrollPrevented = !0, r.is.ios && (n ? (window.scrollTo(0, 0), window.visualViewport.addEventListener("resize", bt, g.passiveCapture), window.visualViewport.addEventListener("scroll", bt, g.passiveCapture), window.scrollTo(0, 0)) : window.addEventListener("scroll", yt, g.passiveCapture));
322
+ } else r.is.ios && (n ? (window.visualViewport.removeEventListener("resize", bt, g.passiveCapture), window.visualViewport.removeEventListener("scroll", bt, g.passiveCapture)) : window.removeEventListener("scroll", yt, g.passiveCapture)), document.documentElement.classList.remove("q-document--prevent-scroll"), t.classList.remove("q-body--force-scrollbar-x", "q-body--force-scrollbar-y"), document.qScrollPrevented = !1, t.style.left = ht, t.style.top = gt, window.location.pathname === _t && window.scrollTo(dt, ft), pt = void 0;
323
+ }
324
+ function St(e) {
325
+ let t = "add";
326
+ if (e === !0) {
327
+ if (ut++, vt !== null) {
328
+ clearTimeout(vt), vt = null;
329
+ return;
330
+ }
331
+ if (ut > 1) return;
332
+ } else {
333
+ if (ut === 0 || (ut--, ut > 0)) return;
334
+ if (t = "remove", r.is.ios && r.is.nativeMobile) {
335
+ vt !== null && clearTimeout(vt), vt = setTimeout(() => {
336
+ xt(t), vt = null;
337
+ }, 100);
338
+ return;
339
+ }
340
+ }
341
+ xt(t);
342
+ }
343
+ //#endregion
344
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-prevent-scroll/use-prevent-scroll.js
345
+ function Ct() {
346
+ let e;
347
+ return { preventBodyScroll(t) {
348
+ t !== e && (e !== void 0 || t) && (e = t, St(t));
349
+ } };
350
+ }
351
+ //#endregion
352
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/private.keyboard/escape-key.js
353
+ var wt = [], Tt;
354
+ function Et(e) {
355
+ e.keyCode === 27 && (Tt = !0);
356
+ }
357
+ function Dt() {
358
+ Tt &&= !1;
359
+ }
360
+ function Ot(e) {
361
+ Tt && h(e, 27) && (Tt = !1, wt.at(-1)(e));
362
+ }
363
+ function kt(e) {
364
+ window[e]("keydown", Et), window[e]("blur", Dt), window[e]("keyup", Ot), Tt = !1;
365
+ }
366
+ function At(e) {
367
+ r.is.desktop && (wt.push(e), wt.length === 1 && kt("addEventListener"));
368
+ }
369
+ function jt(e) {
370
+ let t = wt.indexOf(e);
371
+ t !== -1 && (wt.splice(t, 1), wt.length === 0 && kt("removeEventListener"));
372
+ }
373
+ //#endregion
374
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/private.focus/focusout.js
375
+ var Mt = [];
376
+ function Nt(e) {
377
+ Mt.at(-1)(e);
378
+ }
379
+ function Pt(e) {
380
+ r.is.desktop && (Mt.push(e), Mt.length === 1 && document.body.addEventListener("focusin", Nt));
381
+ }
382
+ function Ft(e) {
383
+ let t = Mt.indexOf(e);
384
+ t !== -1 && (Mt.splice(t, 1), Mt.length === 0 && document.body.removeEventListener("focusin", Nt));
385
+ }
386
+ //#endregion
387
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/components/dialog/QDialog.js
388
+ var It = 0, Lt = {
389
+ standard: "fixed-full flex-center",
390
+ top: "fixed-top justify-center",
391
+ bottom: "fixed-bottom justify-center",
392
+ right: "fixed-right items-center",
393
+ left: "fixed-left items-center"
394
+ }, Rt = {
395
+ standard: ["scale", "scale"],
396
+ top: ["slide-down", "slide-up"],
397
+ bottom: ["slide-up", "slide-down"],
398
+ right: ["slide-left", "slide-right"],
399
+ left: ["slide-right", "slide-left"]
400
+ }, zt = C({
401
+ name: "QDialog",
402
+ inheritAttrs: !1,
403
+ props: {
404
+ ...Ve,
405
+ ...We,
406
+ transitionShow: String,
407
+ transitionHide: String,
408
+ persistent: Boolean,
409
+ autoClose: Boolean,
410
+ allowFocusOutside: Boolean,
411
+ noEscDismiss: Boolean,
412
+ noBackdropDismiss: Boolean,
413
+ noRouteDismiss: Boolean,
414
+ noRefocus: Boolean,
415
+ noFocus: Boolean,
416
+ noShake: Boolean,
417
+ seamless: Boolean,
418
+ maximized: Boolean,
419
+ fullWidth: Boolean,
420
+ fullHeight: Boolean,
421
+ square: Boolean,
422
+ backdropFilter: String,
423
+ position: {
424
+ type: String,
425
+ default: "standard",
426
+ validator: (e) => [
427
+ "standard",
428
+ "top",
429
+ "bottom",
430
+ "left",
431
+ "right"
432
+ ].includes(e)
433
+ }
434
+ },
435
+ emits: [
436
+ ...He,
437
+ "shake",
438
+ "click",
439
+ "escapeKey"
440
+ ],
441
+ setup(e, { slots: t, emit: n, attrs: r }) {
442
+ let i = U(), a = Y(null), o = Y(!1), c = Y(!1), u = null, d = null, f = !1, p = !1, m = R(() => !e.persistent && !e.noRouteDismiss && !e.seamless), { preventBodyScroll: h } = Ct(), { registerTimeout: g } = ze(), { registerTick: _, removeTick: v } = Be(), { transitionProps: y, transitionStyle: b } = Ge(e, () => Rt[e.position][0], () => Rt[e.position][1]), x = R(() => b.value + (e.backdropFilter === void 0 ? "" : `;backdrop-filter:${e.backdropFilter};-webkit-backdrop-filter:${e.backdropFilter}`)), { showPortal: S, hidePortal: C, portalIsAccessible: w, renderPortal: T } = nt(i, a, oe, "dialog"), { hide: E } = Ue({
443
+ showing: o,
444
+ hideOnRouteChange: m,
445
+ handleShow: ne,
446
+ handleHide: j,
447
+ handleRouteChange: M,
448
+ processOnMount: !0
449
+ }), { addToHistory: ee, removeFromHistory: te } = Re(o, E, m), D = R(() => `q-dialog__inner flex no-pointer-events q-dialog__inner--${e.maximized ? "maximized" : "minimized"} q-dialog__inner--${e.position} ${Lt[e.position]}` + (c.value ? " q-dialog__inner--animating" : "") + (e.fullWidth ? " q-dialog__inner--fullwidth" : "") + (e.fullHeight ? " q-dialog__inner--fullheight" : "") + (e.square ? " q-dialog__inner--square" : "")), O = R(() => o.value && !e.seamless), k = R(() => e.autoClose ? { onClick: I } : {}), A = R(() => [`q-dialog fullscreen no-pointer-events q-dialog--${O.value ? "modal" : "seamless"}`, r.class]);
450
+ Z(() => e.maximized, (e) => {
451
+ o.value && F(e);
452
+ }), Z(O, (e) => {
453
+ h(e), e ? (Pt(ae), At(ie)) : (Ft(ae), jt(ie));
454
+ });
455
+ function ne(t) {
456
+ ee(), d = !e.noRefocus && document.activeElement !== null ? document.activeElement : null, F(e.maximized), S(), c.value = !0, e.noFocus ? v() : (document.activeElement?.blur(), _(N)), g(() => {
457
+ if (i.proxy.$q.platform.is.ios) {
458
+ if (!e.seamless && document.activeElement) {
459
+ let { top: e, bottom: t } = document.activeElement.getBoundingClientRect(), { innerHeight: n } = window, r = window.visualViewport === void 0 ? n : window.visualViewport.height;
460
+ e > 0 && t > r / 2 && (document.scrollingElement.scrollTop = Math.min(document.scrollingElement.scrollHeight - r, t >= n ? Infinity : Math.ceil(document.scrollingElement.scrollTop + t - r / 2))), document.activeElement.scrollIntoView();
461
+ }
462
+ p = !0, a.value.click(), p = !1;
463
+ }
464
+ S(!0), c.value = !1, n("show", t);
465
+ }, e.transitionDuration);
466
+ }
467
+ function j(t) {
468
+ if (v(), te(), P(!0), c.value = !0, C(), d !== null) {
469
+ let e = (t?.type.indexOf("key") === 0 ? d.closest("[tabindex]:not([tabindex^=\"-\"])") : void 0) || d;
470
+ d = null, Qe(() => {
471
+ e.isConnected && e.focus();
472
+ });
473
+ }
474
+ g(() => {
475
+ C(!0), c.value = !1, n("hide", t);
476
+ }, e.transitionDuration);
477
+ }
478
+ function M() {
479
+ d = null;
480
+ }
481
+ function N(e) {
482
+ Qe(() => {
483
+ let t = a.value;
484
+ if (t !== null) {
485
+ if (e !== void 0) {
486
+ let n = t.querySelector(e);
487
+ if (n !== null) {
488
+ n.focus({ preventScroll: !0 });
489
+ return;
490
+ }
491
+ }
492
+ t.contains(document.activeElement) || (t = t.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]") || t.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]") || t.querySelector("[autofocus], [data-autofocus]") || t, t.focus({ preventScroll: !0 }));
493
+ }
494
+ });
495
+ }
496
+ function re(e) {
497
+ e && typeof e.focus == "function" ? e.focus({ preventScroll: !0 }) : N(), n("shake");
498
+ let t = a.value;
499
+ t !== null && (t.classList.remove("q-animate--scale"), t.classList.add("q-animate--scale"), u !== null && clearTimeout(u), u = setTimeout(() => {
500
+ u = null, a.value !== null && (t.classList.remove("q-animate--scale"), N());
501
+ }, 170));
502
+ }
503
+ function ie() {
504
+ e.seamless || (e.persistent || e.noEscDismiss ? !e.maximized && !e.noShake && re() : (n("escapeKey"), E()));
505
+ }
506
+ function P(t) {
507
+ u !== null && (clearTimeout(u), u = null), (t || o.value) && (F(!1), e.seamless || (h(!1), Ft(ae), jt(ie))), t || (d = null);
508
+ }
509
+ function F(e) {
510
+ e ? f ||= (It < 1 && document.body.classList.add("q-body--dialog"), It++, !0) : f &&= (It < 2 && document.body.classList.remove("q-body--dialog"), It--, !1);
511
+ }
512
+ function I(e) {
513
+ p || (E(e), n("click", e));
514
+ }
515
+ function L(t) {
516
+ !e.persistent && !e.noBackdropDismiss ? E(t) : e.noShake || re();
517
+ }
518
+ function ae(t) {
519
+ !e.allowFocusOutside && w.value && !s(a.value, t.target) && N("[tabindex]:not([tabindex=\"-1\"])");
520
+ }
521
+ Object.assign(i.proxy, {
522
+ focus: N,
523
+ shake: re,
524
+ __updateRefocusTarget(e) {
525
+ d = e || null;
526
+ }
527
+ }), K(P);
528
+ function oe() {
529
+ return W("div", {
530
+ role: "dialog",
531
+ "aria-modal": O.value ? "true" : "false",
532
+ ...r,
533
+ class: A.value
534
+ }, [W(le, {
535
+ name: "q-transition--fade",
536
+ appear: !0
537
+ }, () => O.value ? W("div", {
538
+ class: "q-dialog__backdrop fixed-full",
539
+ style: x.value,
540
+ "aria-hidden": "true",
541
+ onClick: L
542
+ }) : null), W(le, y.value, () => o.value ? W("div", {
543
+ ref: a,
544
+ class: D.value,
545
+ style: b.value,
546
+ tabindex: -1,
547
+ ...k.value
548
+ }, l(t.default)) : null)]);
549
+ }
550
+ return T;
551
+ }
552
+ }), Bt = () => !0;
553
+ function Vt(e) {
554
+ let t = {};
555
+ return e.forEach((e) => {
556
+ t[e] = Bt;
557
+ }), t;
558
+ }
559
+ //#endregion
560
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js
561
+ function Ht() {
562
+ let { emit: e, proxy: t } = U(), n = Y(null);
563
+ function r() {
564
+ n.value.show();
565
+ }
566
+ function i() {
567
+ n.value.hide();
568
+ }
569
+ function a(t) {
570
+ e("ok", t), i();
571
+ }
572
+ function o() {
573
+ e("hide");
574
+ }
575
+ return Object.assign(t, {
576
+ show: r,
577
+ hide: i
578
+ }), {
579
+ dialogRef: n,
580
+ onDialogHide: o,
581
+ onDialogOK: a,
582
+ onDialogCancel: i
583
+ };
584
+ }
585
+ var Ut = ["ok", "hide"];
586
+ Ht.emits = Ut, Ht.emitsObject = Vt(Ut);
587
+ //#endregion
588
+ //#region lib/components/dialogs/VnConfirm.vue?vue&type=i18n&index=0&lang.i18n
589
+ function Wt(e) {
590
+ let t = e;
591
+ t.__i18n = t.__i18n || [], t.__i18n.push({
592
+ locale: "",
593
+ resource: { es: {
594
+ Confirm: {
595
+ t: 0,
596
+ b: {
597
+ t: 2,
598
+ i: [{ t: 3 }],
599
+ s: "Confirmar"
600
+ }
601
+ },
602
+ "Are you sure you want to continue?": {
603
+ t: 0,
604
+ b: {
605
+ t: 2,
606
+ i: [{ t: 3 }],
607
+ s: "¿Seguro que quieres continuar?"
608
+ }
609
+ }
610
+ } }
611
+ });
612
+ }
613
+ //#endregion
614
+ //#region \0plugin-vue:export-helper
615
+ var Gt = (e, t) => {
616
+ let n = e.__vccOpts || e;
617
+ for (let [e, r] of t) n[e] = r;
618
+ return n;
619
+ }, Kt = { class: "text-h6" }, qt = ["innerHTML"], Jt = {
620
+ __name: "VnConfirm",
621
+ props: {
622
+ icon: {
623
+ type: String,
624
+ default: null
625
+ },
626
+ title: {
627
+ type: String,
628
+ default: null
629
+ },
630
+ message: {
631
+ type: [String, Boolean],
632
+ default: null
633
+ },
634
+ data: {
635
+ type: Object,
636
+ required: !1,
637
+ default: null
638
+ },
639
+ promise: {
640
+ type: Function,
641
+ required: !1,
642
+ default: null
643
+ },
644
+ persistent: {
645
+ type: Boolean,
646
+ default: !1
647
+ },
648
+ closable: {
649
+ type: Boolean,
650
+ default: !0
651
+ },
652
+ cardClass: {
653
+ type: String,
654
+ default: null
655
+ }
656
+ },
657
+ emits: [
658
+ "confirm",
659
+ "cancel",
660
+ ...Ht.emits
661
+ ],
662
+ setup(e, { expose: t, emit: n }) {
663
+ let { t: r } = Ae(), i = e, a = n;
664
+ t({
665
+ show: () => o.value.show(),
666
+ hide: () => o.value.hide()
667
+ });
668
+ let { dialogRef: o, onDialogHide: s, onDialogOK: c, onDialogCancel: l } = Ht(), d = i.title || r("Confirm"), f = i.message || i.message !== !1 && r("Are you sure you want to continue?"), p = Y(!1);
669
+ async function m() {
670
+ if (p.value = !0, i.promise) try {
671
+ await i.promise(i.data);
672
+ } finally {
673
+ p.value = !1;
674
+ }
675
+ c(i.data);
676
+ }
677
+ function h() {
678
+ a("cancel"), l();
679
+ }
680
+ return (t, n) => (J(), z(zt, {
681
+ ref_key: "dialogRef",
682
+ ref: o,
683
+ persistent: e.persistent,
684
+ onHide: X(s)
685
+ }, {
686
+ default: Q(() => [H(Le, { class: ge(["q-pa-sm", e.cardClass]) }, {
687
+ default: Q(() => [
688
+ H(Ne, { class: "row items-center q-pb-none" }, {
689
+ default: Q(() => [
690
+ e.icon ? (J(), z(u, {
691
+ key: 0,
692
+ icon: e.icon,
693
+ color: "primary",
694
+ "text-color": "white",
695
+ size: "xl"
696
+ }, null, 8, ["icon"])) : B("", !0),
697
+ V("span", Kt, we(X(d)), 1),
698
+ H(Me),
699
+ e.closable ? (J(), z(A, {
700
+ key: 1,
701
+ icon: "close",
702
+ disable: p.value,
703
+ flat: "",
704
+ round: "",
705
+ dense: "",
706
+ onClick: n[0] ||= (e) => h()
707
+ }, null, 8, ["disable"])) : B("", !0)
708
+ ]),
709
+ _: 1
710
+ }),
711
+ H(Ne, {
712
+ class: "q-pb-none",
713
+ "data-cy": "VnConfirm_message"
714
+ }, {
715
+ default: Q(() => [X(f) === !1 ? B("", !0) : (J(), ue("span", {
716
+ key: 0,
717
+ innerHTML: X(f)
718
+ }, null, 8, qt))]),
719
+ _: 1
720
+ }),
721
+ H(Ne, { class: "row items-center q-pt-none" }, {
722
+ default: Q(() => [Ce(t.$slots, "custom-html", {}, void 0, !0)]),
723
+ _: 3
724
+ }),
725
+ t.$slots.actions ? (J(), z(Pe, {
726
+ key: 0,
727
+ align: "right"
728
+ }, {
729
+ default: Q(() => [Ce(t.$slots, "actions", { actions: {
730
+ confirm: m,
731
+ cancel: h
732
+ } }, void 0, !0)]),
733
+ _: 3
734
+ })) : (J(), z(Pe, {
735
+ key: 1,
736
+ align: "right"
737
+ }, {
738
+ default: Q(() => [H(A, {
739
+ label: X(r)("globals.cancel"),
740
+ color: "primary",
741
+ disable: p.value,
742
+ flat: "",
743
+ onClick: n[1] ||= (e) => h(),
744
+ "data-cy": "VnConfirm_cancel"
745
+ }, null, 8, ["label", "disable"]), H(A, {
746
+ label: X(r)("globals.confirm"),
747
+ title: X(r)("globals.confirm"),
748
+ color: "primary",
749
+ loading: p.value,
750
+ onClick: n[2] ||= (e) => m(),
751
+ unelevated: "",
752
+ autofocus: "",
753
+ "data-cy": "VnConfirm_confirm"
754
+ }, null, 8, [
755
+ "label",
756
+ "title",
757
+ "loading"
758
+ ])]),
759
+ _: 1
760
+ }))
761
+ ]),
762
+ _: 3
763
+ }, 8, ["class"])]),
764
+ _: 3
765
+ }, 8, ["persistent", "onHide"]));
766
+ }
767
+ };
768
+ typeof Wt == "function" && Wt(Jt);
769
+ var Yt = /*#__PURE__*/ Gt(Jt, [["__scopeId", "data-v-f01eb4e4"]]), Xt = [
770
+ "text",
771
+ "rect",
772
+ "circle",
773
+ "QBtn",
774
+ "QBadge",
775
+ "QChip",
776
+ "QToolbar",
777
+ "QCheckbox",
778
+ "QRadio",
779
+ "QToggle",
780
+ "QSlider",
781
+ "QRange",
782
+ "QInput",
783
+ "QAvatar"
784
+ ], Zt = [
785
+ "wave",
786
+ "pulse",
787
+ "pulse-x",
788
+ "pulse-y",
789
+ "fade",
790
+ "blink",
791
+ "none"
792
+ ], Qt = C({
793
+ name: "QSkeleton",
794
+ props: {
795
+ ...Fe,
796
+ tag: {
797
+ type: String,
798
+ default: "div"
799
+ },
800
+ type: {
801
+ type: String,
802
+ validator: (e) => Xt.includes(e),
803
+ default: "rect"
804
+ },
805
+ animation: {
806
+ type: String,
807
+ validator: (e) => Zt.includes(e),
808
+ default: "wave"
809
+ },
810
+ animationSpeed: {
811
+ type: [String, Number],
812
+ default: 1500
813
+ },
814
+ square: Boolean,
815
+ bordered: Boolean,
816
+ size: String,
817
+ width: String,
818
+ height: String
819
+ },
820
+ setup(e, { slots: t }) {
821
+ let n = Ie(e, U().proxy.$q), r = R(() => {
822
+ let t = e.size === void 0 ? [e.width, e.height] : [e.size, e.size];
823
+ return {
824
+ "--q-skeleton-speed": `${e.animationSpeed}ms`,
825
+ width: t[0],
826
+ height: t[1]
827
+ };
828
+ }), i = R(() => `q-skeleton q-skeleton--${n.value ? "dark" : "light"} q-skeleton--type-${e.type}` + (e.animation === "none" ? "" : ` q-skeleton--anim q-skeleton--anim-${e.animation}`) + (e.square ? " q-skeleton--square" : "") + (e.bordered ? " q-skeleton--bordered" : ""));
829
+ return () => W(e.tag, {
830
+ class: i.value,
831
+ style: r.value
832
+ }, l(t.default));
833
+ }
834
+ }), $t = {}, en = { class: "row q-gutter-md q-mb-md" }, tn = { class: "row q-gutter-md q-mb-md" }, nn = { class: "row q-gutter-md q-mb-md" };
835
+ function rn(e, t) {
836
+ return J(), ue(se, null, [
837
+ V("div", en, [H(Qt, {
838
+ type: "QInput",
839
+ class: "col",
840
+ square: ""
841
+ }), H(Qt, {
842
+ type: "QInput",
843
+ class: "col",
844
+ square: ""
845
+ })]),
846
+ V("div", tn, [H(Qt, {
847
+ type: "QInput",
848
+ class: "col",
849
+ square: ""
850
+ }), H(Qt, {
851
+ type: "QInput",
852
+ class: "col",
853
+ square: ""
854
+ })]),
855
+ V("div", nn, [H(Qt, {
856
+ type: "QInput",
857
+ class: "col",
858
+ square: ""
859
+ }), H(Qt, {
860
+ type: "QInput",
861
+ class: "col",
862
+ square: ""
863
+ })])
864
+ ], 64);
865
+ }
866
+ var an = /*#__PURE__*/ Gt($t, [["render", rn]]), on = /*#__PURE__*/ Gt({
867
+ __name: "VnSpinner",
868
+ props: {
869
+ size: {
870
+ type: String,
871
+ default: "40px"
872
+ },
873
+ noTransition: {
874
+ type: Boolean,
875
+ default: !1
876
+ }
877
+ },
878
+ setup(e) {
879
+ let t = {
880
+ xs: "16px",
881
+ sm: "24px",
882
+ md: "40px",
883
+ lg: "56px",
884
+ xl: "72px"
885
+ };
886
+ return (n, r) => e.noTransition ? (J(), ue("div", {
887
+ key: 1,
888
+ class: "vn-spinner",
889
+ style: _e({
890
+ width: t[e.size] || e.size,
891
+ height: t[e.size] || e.size
892
+ })
893
+ }, null, 4)) : (J(), z(le, {
894
+ key: 0,
895
+ name: "vn-spinner-fade",
896
+ appear: ""
897
+ }, {
898
+ default: Q(() => [V("div", {
899
+ class: "vn-spinner",
900
+ style: _e({
901
+ width: t[e.size] || e.size,
902
+ height: t[e.size] || e.size
903
+ })
904
+ }, null, 4)]),
905
+ _: 1
906
+ }));
907
+ }
908
+ }, [["__scopeId", "data-v-e5edebae"]]);
909
+ //#endregion
910
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/private.selection/selection.js
911
+ function sn() {
912
+ if (window.getSelection !== void 0) {
913
+ let e = window.getSelection();
914
+ e.empty === void 0 ? e.removeAllRanges !== void 0 && (e.removeAllRanges(), i.is.mobile || e.addRange(document.createRange())) : e.empty();
915
+ } else document.selection !== void 0 && document.selection.empty();
916
+ }
917
+ //#endregion
918
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-anchor/use-anchor.js
919
+ var cn = {
920
+ target: {
921
+ type: [
922
+ Boolean,
923
+ String,
924
+ Element
925
+ ],
926
+ default: !0
927
+ },
928
+ noParentEvent: Boolean
929
+ };
930
+ ({ ...cn });
931
+ function ln({ showing: e, avoidEmit: t, configureAnchorEl: n }) {
932
+ let { props: r, proxy: i, emit: a } = U(), o = Y(null), s = null;
933
+ function l(e) {
934
+ return o.value === null ? !1 : e === void 0 || e.touches === void 0 || e.touches.length <= 1;
935
+ }
936
+ let u = {};
937
+ n === void 0 && (Object.assign(u, {
938
+ hide(e) {
939
+ i.hide(e);
940
+ },
941
+ toggle(e) {
942
+ i.toggle(e), e.qAnchorHandled = !0;
943
+ },
944
+ toggleKey(e) {
945
+ h(e, 13) && u.toggle(e);
946
+ },
947
+ contextClick(e) {
948
+ i.hide(e), L(e), G(() => {
949
+ i.show(e), e.qAnchorHandled = !0;
950
+ });
951
+ },
952
+ prevent: L,
953
+ mobileTouch(e) {
954
+ if (u.mobileCleanup(e), !l(e)) return;
955
+ i.hide(e), o.value.classList.add("non-selectable");
956
+ let t = e.target;
957
+ c(u, "anchor", [
958
+ [
959
+ t,
960
+ "touchmove",
961
+ "mobileCleanup",
962
+ "passive"
963
+ ],
964
+ [
965
+ t,
966
+ "touchend",
967
+ "mobileCleanup",
968
+ "passive"
969
+ ],
970
+ [
971
+ t,
972
+ "touchcancel",
973
+ "mobileCleanup",
974
+ "passive"
975
+ ],
976
+ [
977
+ o.value,
978
+ "contextmenu",
979
+ "prevent",
980
+ "notPassive"
981
+ ]
982
+ ]), s = setTimeout(() => {
983
+ s = null, i.show(e), e.qAnchorHandled = !0;
984
+ }, 300);
985
+ },
986
+ mobileCleanup(t) {
987
+ o.value.classList.remove("non-selectable"), s !== null && (clearTimeout(s), s = null), e.value && t !== void 0 && sn();
988
+ }
989
+ }), n = function(e = r.contextMenu) {
990
+ if (r.noParentEvent || o.value === null) return;
991
+ let t = e ? i.$q.platform.is.mobile ? [[
992
+ o.value,
993
+ "touchstart",
994
+ "mobileTouch",
995
+ "passive"
996
+ ]] : [[
997
+ o.value,
998
+ "mousedown",
999
+ "hide",
1000
+ "passive"
1001
+ ], [
1002
+ o.value,
1003
+ "contextmenu",
1004
+ "contextClick",
1005
+ "notPassive"
1006
+ ]] : [[
1007
+ o.value,
1008
+ "click",
1009
+ "toggle",
1010
+ "passive"
1011
+ ], [
1012
+ o.value,
1013
+ "keyup",
1014
+ "toggleKey",
1015
+ "passive"
1016
+ ]];
1017
+ c(u, "anchor", t);
1018
+ });
1019
+ function f() {
1020
+ d(u, "anchor");
1021
+ }
1022
+ function p(e) {
1023
+ for (o.value = e; o.value.classList.contains("q-anchor--skip");) o.value = o.value.parentNode;
1024
+ n();
1025
+ }
1026
+ function m() {
1027
+ if (r.target === !1 || r.target === "" || i.$el.parentNode === null) o.value = null;
1028
+ else if (r.target === !0) p(i.$el.parentNode);
1029
+ else {
1030
+ let e = r.target;
1031
+ if (typeof r.target == "string") try {
1032
+ e = document.querySelector(r.target);
1033
+ } catch {
1034
+ e = void 0;
1035
+ }
1036
+ e == null ? (o.value = null, console.error(`Anchor: target "${r.target}" not found`)) : (o.value = e.$el || e, n());
1037
+ }
1038
+ }
1039
+ return Z(() => r.contextMenu, (e) => {
1040
+ o.value !== null && (f(), n(e));
1041
+ }), Z(() => r.target, () => {
1042
+ o.value !== null && f(), m();
1043
+ }), Z(() => r.noParentEvent, (e) => {
1044
+ o.value !== null && (e ? f() : n());
1045
+ }), q(() => {
1046
+ m(), !t && r.modelValue && o.value === null && a("update:modelValue", !1);
1047
+ }), K(() => {
1048
+ s !== null && clearTimeout(s), f();
1049
+ }), {
1050
+ anchorEl: o,
1051
+ canShow: l,
1052
+ anchorEvents: u
1053
+ };
1054
+ }
1055
+ //#endregion
1056
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-scroll-target/use-scroll-target.js
1057
+ function un(e, t) {
1058
+ let n = Y(null), r;
1059
+ function i(e, t) {
1060
+ let n = `${t === void 0 ? "remove" : "add"}EventListener`, i = t === void 0 ? r : t;
1061
+ e !== window && e[n]("scroll", i, g.passive), window[n]("scroll", i, g.passive), r = t;
1062
+ }
1063
+ function a() {
1064
+ n.value !== null && (i(n.value), n.value = null);
1065
+ }
1066
+ return K(Z(() => e.noParentEvent, () => {
1067
+ n.value !== null && (a(), t());
1068
+ })), {
1069
+ localScrollTarget: n,
1070
+ unconfigureScrollTarget: a,
1071
+ changeScrollEvent: i
1072
+ };
1073
+ }
1074
+ //#endregion
1075
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/uid/uid.js
1076
+ function dn() {
1077
+ if (typeof crypto > "u") return () => {
1078
+ throw Error("[Quasar uid()] Secure RNG not available. Cannot generate collision-resistant UUID.");
1079
+ };
1080
+ if (crypto.randomUUID) return () => crypto.randomUUID();
1081
+ let e = Array.from({ length: 256 }, (e, t) => (t + 256).toString(16).slice(1)), t, n;
1082
+ return () => {
1083
+ (t === void 0 || n + 16 > 4096) && (n = 0, t = /* @__PURE__ */ new Uint8Array(4096), crypto.getRandomValues(t));
1084
+ let r = n;
1085
+ return n += 16, t[r + 6] = t[r + 6] & 15 | 64, t[r + 8] = t[r + 8] & 63 | 128, e[t[r]] + e[t[r + 1]] + e[t[r + 2]] + e[t[r + 3]] + "-" + e[t[r + 4]] + e[t[r + 5]] + "-" + e[t[r + 6]] + e[t[r + 7]] + "-" + e[t[r + 8]] + e[t[r + 9]] + "-" + e[t[r + 10]] + e[t[r + 11]] + e[t[r + 12]] + e[t[r + 13]] + e[t[r + 14]] + e[t[r + 15]];
1086
+ };
1087
+ }
1088
+ var fn = dn();
1089
+ //#endregion
1090
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/use-id/use-id.js
1091
+ function pn(e) {
1092
+ return e ?? null;
1093
+ }
1094
+ function mn(e, t) {
1095
+ return e ?? (t ? `f_${fn()}` : null);
1096
+ }
1097
+ function hn({ getValue: e, required: t = !0 } = {}) {
1098
+ if (m.value) {
1099
+ let n = Y(e === void 0 ? null : pn(e()));
1100
+ return t && n.value === null && q(() => {
1101
+ n.value = `f_${fn()}`;
1102
+ }), e !== void 0 && Z(e, (e) => {
1103
+ n.value = mn(e, t);
1104
+ }), n;
1105
+ }
1106
+ return e === void 0 ? Y(`f_${fn()}`) : R(() => mn(e(), t));
1107
+ }
1108
+ //#endregion
1109
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/private.click-outside/click-outside.js
1110
+ var gn = null, { notPassiveCapture: _n } = g, vn = [];
1111
+ function yn(e) {
1112
+ gn !== null && (clearTimeout(gn), gn = null);
1113
+ let t = e.target;
1114
+ if (t === void 0 || t.nodeType === 8 || t.classList.contains("no-pointer-events")) return;
1115
+ let n = null, r = !1;
1116
+ for (let e = Ke.length - 1; e >= 0; e--) {
1117
+ let t = Ke[e].$, i = t.type.name;
1118
+ if (i !== "QTooltip") {
1119
+ if (i === "QDialog") {
1120
+ if (t.props.seamless !== !0) {
1121
+ if (r === !1) return;
1122
+ n = new Set(Ke.slice(e + 1).map((e) => e.contentEl));
1123
+ break;
1124
+ }
1125
+ continue;
1126
+ }
1127
+ r = !0;
1128
+ }
1129
+ }
1130
+ for (let r = vn.length - 1; r >= 0; r--) {
1131
+ let i = vn[r];
1132
+ if (n !== null && !n.has(i.innerRef.value)) return;
1133
+ if ((i.anchorEl.value === null || !i.anchorEl.value.contains(t)) && (t === document.body || i.innerRef.value !== null && !i.innerRef.value.contains(t))) e.qClickOutside = !0, i.onClickOutside(e);
1134
+ else return;
1135
+ }
1136
+ }
1137
+ function bn(e) {
1138
+ vn.push(e), vn.length === 1 && (document.addEventListener("mousedown", yn, _n), document.addEventListener("touchstart", yn, _n));
1139
+ }
1140
+ function xn(e) {
1141
+ let t = vn.indexOf(e);
1142
+ t !== -1 && (vn.splice(t, 1), vn.length === 0 && (gn !== null && (clearTimeout(gn), gn = null), document.removeEventListener("mousedown", yn, _n), document.removeEventListener("touchstart", yn, _n)));
1143
+ }
1144
+ //#endregion
1145
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/private.position-engine/position-engine.js
1146
+ var Sn, Cn, wn = [
1147
+ "top",
1148
+ "center",
1149
+ "bottom"
1150
+ ], Tn = [
1151
+ "left",
1152
+ "middle",
1153
+ "right",
1154
+ "start",
1155
+ "end"
1156
+ ];
1157
+ function En(e) {
1158
+ let t = e.split(" ");
1159
+ return t.length === 2 ? wn.includes(t[0]) ? Tn.includes(t[1]) ? !0 : (console.error("Anchor/Self position must end with one of left/middle/right/start/end"), !1) : (console.error("Anchor/Self position must start with one of top/center/bottom"), !1) : !1;
1160
+ }
1161
+ function Dn(e) {
1162
+ return !e || !(e.length !== 2 || typeof e[0] != "number" || typeof e[1] != "number");
1163
+ }
1164
+ var On = {
1165
+ "start#ltr": "left",
1166
+ "start#rtl": "right",
1167
+ "end#ltr": "right",
1168
+ "end#rtl": "left"
1169
+ };
1170
+ [
1171
+ "left",
1172
+ "middle",
1173
+ "right"
1174
+ ].forEach((e) => {
1175
+ On[`${e}#ltr`] = e, On[`${e}#rtl`] = e;
1176
+ });
1177
+ function kn(e, t) {
1178
+ let n = e.split(" ");
1179
+ return {
1180
+ vertical: n[0],
1181
+ horizontal: On[`${n[1]}#${t ? "rtl" : "ltr"}`]
1182
+ };
1183
+ }
1184
+ function An(e, t) {
1185
+ let { top: n, left: r, right: i, bottom: a, width: o, height: s } = e.getBoundingClientRect();
1186
+ return t !== void 0 && (n -= t[1], r -= t[0], a += t[1], i += t[0], o += t[0], s += t[1]), {
1187
+ top: n,
1188
+ bottom: a,
1189
+ height: s,
1190
+ left: r,
1191
+ right: i,
1192
+ width: o,
1193
+ middle: r + (i - r) / 2,
1194
+ center: n + (a - n) / 2
1195
+ };
1196
+ }
1197
+ function jn(e, t, n) {
1198
+ let { top: r, left: i } = e.getBoundingClientRect();
1199
+ return r += t.top, i += t.left, n !== void 0 && (r += n[1], i += n[0]), {
1200
+ top: r,
1201
+ bottom: r + 1,
1202
+ height: 1,
1203
+ left: i,
1204
+ right: i + 1,
1205
+ width: 1,
1206
+ middle: i,
1207
+ center: r
1208
+ };
1209
+ }
1210
+ function Mn(e, t) {
1211
+ return {
1212
+ top: 0,
1213
+ center: t / 2,
1214
+ bottom: t,
1215
+ left: 0,
1216
+ middle: e / 2,
1217
+ right: e
1218
+ };
1219
+ }
1220
+ function Nn(e, t, n, r) {
1221
+ return {
1222
+ top: e[n.vertical] - t[r.vertical],
1223
+ left: e[n.horizontal] - t[r.horizontal]
1224
+ };
1225
+ }
1226
+ function Pn(e, t = 0) {
1227
+ if (e.targetEl === null || e.anchorEl === null || t > 5) return;
1228
+ if (e.targetEl.offsetHeight === 0 || e.targetEl.offsetWidth === 0) {
1229
+ setTimeout(() => {
1230
+ Pn(e, t + 1);
1231
+ }, 10);
1232
+ return;
1233
+ }
1234
+ let { targetEl: n, offset: i, anchorEl: a, anchorOrigin: o, selfOrigin: s, absoluteOffset: c, fit: l, cover: u, maxHeight: d, maxWidth: f } = e;
1235
+ if (r.is.ios && window.visualViewport !== void 0) {
1236
+ let e = document.body.style, { offsetLeft: t, offsetTop: n } = window.visualViewport;
1237
+ t !== Sn && (e.setProperty("--q-pe-left", t + "px"), Sn = t), n !== Cn && (e.setProperty("--q-pe-top", n + "px"), Cn = n);
1238
+ }
1239
+ let { scrollLeft: p, scrollTop: m } = n, h = c === void 0 ? An(a, u ? [0, 0] : i) : jn(a, c, i);
1240
+ Object.assign(n.style, {
1241
+ top: 0,
1242
+ left: 0,
1243
+ minWidth: null,
1244
+ minHeight: null,
1245
+ maxWidth: f,
1246
+ maxHeight: d,
1247
+ visibility: "visible"
1248
+ });
1249
+ let { offsetWidth: g, offsetHeight: _ } = n, { elWidth: v, elHeight: y } = l || u ? {
1250
+ elWidth: Math.max(h.width, g),
1251
+ elHeight: u ? Math.max(h.height, _) : _
1252
+ } : {
1253
+ elWidth: g,
1254
+ elHeight: _
1255
+ }, b = {
1256
+ maxWidth: f,
1257
+ maxHeight: d
1258
+ };
1259
+ (l || u) && (b.minWidth = h.width + "px", u && (b.minHeight = h.height + "px")), Object.assign(n.style, b);
1260
+ let x = Mn(v, y), S = Nn(h, x, o, s);
1261
+ if (c === void 0 || i === void 0) Fn(S, h, x, o, s);
1262
+ else {
1263
+ let { top: e, left: t } = S;
1264
+ Fn(S, h, x, o, s);
1265
+ let n = !1;
1266
+ if (S.top !== e) {
1267
+ n = !0;
1268
+ let e = 2 * i[1];
1269
+ h.center = h.top -= e, h.bottom -= e + 2;
1270
+ }
1271
+ if (S.left !== t) {
1272
+ n = !0;
1273
+ let e = 2 * i[0];
1274
+ h.middle = h.left -= e, h.right -= e + 2;
1275
+ }
1276
+ n && (S = Nn(h, x, o, s), Fn(S, h, x, o, s));
1277
+ }
1278
+ b = {
1279
+ top: S.top + "px",
1280
+ left: S.left + "px"
1281
+ }, S.maxHeight !== void 0 && (b.maxHeight = S.maxHeight + "px", h.height > S.maxHeight && (b.minHeight = b.maxHeight)), S.maxWidth !== void 0 && (b.maxWidth = S.maxWidth + "px", h.width > S.maxWidth && (b.minWidth = b.maxWidth)), Object.assign(n.style, b), n.scrollTop !== m && (n.scrollTop = m), n.scrollLeft !== p && (n.scrollLeft = p);
1282
+ }
1283
+ function Fn(e, t, n, r, i) {
1284
+ let a = n.bottom, o = n.right, s = lt(), c = window.innerHeight - s, l = document.body.clientWidth;
1285
+ if (e.top < 0 || e.top + a > c) if (i.vertical === "center") e.top = t[r.vertical] > c / 2 ? Math.max(0, c - a) : 0, e.maxHeight = Math.min(a, c);
1286
+ else if (t[r.vertical] > c / 2) {
1287
+ let n = Math.min(c, r.vertical === "center" ? t.center : r.vertical === i.vertical ? t.bottom : t.top);
1288
+ e.maxHeight = Math.min(a, n), e.top = Math.max(0, n - a);
1289
+ } else e.top = Math.max(0, r.vertical === "center" ? t.center : r.vertical === i.vertical ? t.top : t.bottom), e.maxHeight = Math.min(a, c - e.top);
1290
+ if (e.left < 0 || e.left + o > l) if (e.maxWidth = Math.min(o, l), i.horizontal === "middle") e.left = t[r.horizontal] > l / 2 ? Math.max(0, l - o) : 0;
1291
+ else if (t[r.horizontal] > l / 2) {
1292
+ let n = Math.min(l, r.horizontal === "middle" ? t.middle : r.horizontal === i.horizontal ? t.right : t.left);
1293
+ e.maxWidth = Math.min(o, n), e.left = Math.max(0, n - e.maxWidth);
1294
+ } else e.left = Math.max(0, r.horizontal === "middle" ? t.middle : r.horizontal === i.horizontal ? t.left : t.right), e.maxWidth = Math.min(o, l - e.left);
1295
+ }
1296
+ //#endregion
1297
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/components/tooltip/QTooltip.js
1298
+ var In = 0, Ln = C({
1299
+ name: "QTooltip",
1300
+ inheritAttrs: !1,
1301
+ props: {
1302
+ ...cn,
1303
+ ...Ve,
1304
+ ...We,
1305
+ maxHeight: {
1306
+ type: String,
1307
+ default: null
1308
+ },
1309
+ maxWidth: {
1310
+ type: String,
1311
+ default: null
1312
+ },
1313
+ transitionShow: {
1314
+ ...We.transitionShow,
1315
+ default: "jump-down"
1316
+ },
1317
+ transitionHide: {
1318
+ ...We.transitionHide,
1319
+ default: "jump-up"
1320
+ },
1321
+ anchor: {
1322
+ type: String,
1323
+ default: "bottom middle",
1324
+ validator: En
1325
+ },
1326
+ self: {
1327
+ type: String,
1328
+ default: "top middle",
1329
+ validator: En
1330
+ },
1331
+ offset: {
1332
+ type: Array,
1333
+ default: () => [14, 14],
1334
+ validator: Dn
1335
+ },
1336
+ scrollTarget: rt,
1337
+ delay: {
1338
+ type: Number,
1339
+ default: 0
1340
+ },
1341
+ hideDelay: {
1342
+ type: Number,
1343
+ default: 0
1344
+ },
1345
+ persistent: Boolean
1346
+ },
1347
+ emits: [...He],
1348
+ setup(e, { slots: t, emit: n, attrs: r }) {
1349
+ let i, a, o, s = !1, u, f = U(), { proxy: { $q: p } } = f, m = Y(null), h = Y(!1), g = hn(), _ = R(() => r.id || g.value), v = R(() => kn(e.anchor, p.lang.rtl)), y = R(() => kn(e.self, p.lang.rtl)), x = R(() => !e.persistent), { registerTick: S, removeTick: C } = Be(), { registerTimeout: w } = ze(), { transitionProps: T, transitionStyle: E } = Ge(e), { localScrollTarget: ee, changeScrollEvent: te, unconfigureScrollTarget: D } = un(e, V), { anchorEl: O, canShow: k, anchorEvents: A } = ln({
1350
+ showing: h,
1351
+ configureAnchorEl: ce
1352
+ }), { show: ne, hide: j } = Ue({
1353
+ showing: h,
1354
+ canShow: k,
1355
+ handleShow: ie,
1356
+ handleHide: P,
1357
+ hideOnRouteChange: x,
1358
+ processOnMount: !0
1359
+ });
1360
+ Object.assign(A, {
1361
+ delayShow: L,
1362
+ delayHide: ae,
1363
+ onFocusin: oe
1364
+ });
1365
+ let { showPortal: M, hidePortal: N, renderPortal: re } = nt(f, m, fe, "tooltip");
1366
+ if (p.platform.is.mobile) {
1367
+ let t = {
1368
+ anchorEl: O,
1369
+ innerRef: m,
1370
+ onClickOutside(e) {
1371
+ return j(e), e.target.classList.contains("q-dialog__backdrop") && b(e), !0;
1372
+ }
1373
+ };
1374
+ Z(R(() => e.modelValue === null && !e.persistent && h.value), (e) => {
1375
+ (e ? bn : xn)(t);
1376
+ }), K(() => {
1377
+ xn(t);
1378
+ });
1379
+ } else Z(() => (e.modelValue === null || e["onUpdate:modelValue"]) && h.value === !0 && e.persistent !== !0, (e) => {
1380
+ (e === !0 ? At : jt)(se);
1381
+ });
1382
+ function ie(t) {
1383
+ M(), B(), S(() => {
1384
+ if (a?.disconnect(), m.value === null) {
1385
+ a = void 0;
1386
+ return;
1387
+ }
1388
+ a = new MutationObserver(() => I()), a.observe(m.value, {
1389
+ attributes: !1,
1390
+ childList: !0,
1391
+ characterData: !0,
1392
+ subtree: !0
1393
+ }), I(), V();
1394
+ }), i === void 0 && (i = Z(() => p.screen.width + "|" + p.screen.height + "|" + e.self + "|" + e.anchor + "|" + p.lang.rtl, I)), w(() => {
1395
+ M(!0), n("show", t);
1396
+ }, e.transitionDuration);
1397
+ }
1398
+ function P(t) {
1399
+ C(), N(), F(), w(() => {
1400
+ N(!0), n("hide", t);
1401
+ }, e.transitionDuration);
1402
+ }
1403
+ function F() {
1404
+ a !== void 0 && (a.disconnect(), a = void 0), i !== void 0 && (i(), i = void 0), D(), jt(se), d(A, "tooltipTemp"), ue(), z(!1);
1405
+ }
1406
+ function I() {
1407
+ Pn({
1408
+ targetEl: m.value,
1409
+ offset: e.offset,
1410
+ anchorEl: O.value,
1411
+ anchorOrigin: v.value,
1412
+ selfOrigin: y.value,
1413
+ maxHeight: e.maxHeight,
1414
+ maxWidth: e.maxWidth
1415
+ });
1416
+ }
1417
+ function L(t) {
1418
+ if (p.platform.is.mobile) {
1419
+ o !== void 0 && (clearTimeout(o), o = void 0), sn(), z(!0);
1420
+ let e = O.value, t = [
1421
+ "touchmove",
1422
+ "touchcancel",
1423
+ "touchend",
1424
+ "click"
1425
+ ].map((t) => [
1426
+ e,
1427
+ t,
1428
+ "delayHide",
1429
+ "passiveCapture"
1430
+ ]);
1431
+ c(A, "tooltipTemp", t);
1432
+ }
1433
+ w(() => {
1434
+ ne(t);
1435
+ }, e.delay);
1436
+ }
1437
+ function ae(t) {
1438
+ p.platform.is.mobile && (d(A, "tooltipTemp"), sn(), o = setTimeout(() => {
1439
+ o = void 0, z(!1);
1440
+ }, 10)), w(() => {
1441
+ j(t);
1442
+ }, e.hideDelay);
1443
+ }
1444
+ function oe(e) {
1445
+ let t = e.target;
1446
+ if (t) {
1447
+ try {
1448
+ if (t.matches(":focus-visible") === !1) return;
1449
+ } catch {}
1450
+ L(e);
1451
+ }
1452
+ }
1453
+ function se(e) {
1454
+ j(e);
1455
+ }
1456
+ function ce() {
1457
+ if (e.noParentEvent || O.value === null) return;
1458
+ let t = p.platform.is.mobile ? [[
1459
+ O.value,
1460
+ "touchstart",
1461
+ "delayShow",
1462
+ "passive"
1463
+ ]] : [
1464
+ [
1465
+ O.value,
1466
+ "mouseenter",
1467
+ "delayShow",
1468
+ "passive"
1469
+ ],
1470
+ [
1471
+ O.value,
1472
+ "mouseleave",
1473
+ "delayHide",
1474
+ "passive"
1475
+ ],
1476
+ [
1477
+ O.value,
1478
+ "focusin",
1479
+ "onFocusin",
1480
+ "passive"
1481
+ ],
1482
+ [
1483
+ O.value,
1484
+ "focusout",
1485
+ "delayHide",
1486
+ "passive"
1487
+ ]
1488
+ ];
1489
+ c(A, "anchor", t);
1490
+ }
1491
+ function z(e) {
1492
+ s !== e && (s = e, In += e ? 1 : -1, document.body.classList.toggle("non-selectable", In > 0), !e && o !== void 0 && (clearTimeout(o), o = void 0));
1493
+ }
1494
+ function B() {
1495
+ let e = O.value, t = _.value;
1496
+ if (e === null || t === void 0) return;
1497
+ let n = (e.getAttribute("aria-describedby") || "").split(/\s+/).filter(Boolean);
1498
+ u = {
1499
+ el: e,
1500
+ id: t,
1501
+ added: !n.includes(t)
1502
+ }, u.added && (n.push(t), e.setAttribute("aria-describedby", n.join(" ")));
1503
+ }
1504
+ function ue() {
1505
+ if (u?.added === !0) {
1506
+ let { el: e, id: t } = u, n = (e.getAttribute("aria-describedby") || "").split(/\s+/).filter((e) => e !== "" && e !== t);
1507
+ n.length === 0 ? e.removeAttribute("aria-describedby") : e.setAttribute("aria-describedby", n.join(" "));
1508
+ }
1509
+ u = void 0;
1510
+ }
1511
+ function V() {
1512
+ if (O.value !== null || e.scrollTarget !== void 0) {
1513
+ ee.value = at(O.value, e.scrollTarget);
1514
+ let t = e.noParentEvent ? I : j;
1515
+ te(ee.value, t);
1516
+ }
1517
+ }
1518
+ function de() {
1519
+ return h.value ? W("div", {
1520
+ ...r,
1521
+ id: _.value,
1522
+ ref: m,
1523
+ class: ["q-tooltip q-tooltip--style q-position-engine no-pointer-events", r.class],
1524
+ style: [r.style, E.value],
1525
+ role: "tooltip"
1526
+ }, l(t.default)) : null;
1527
+ }
1528
+ function fe() {
1529
+ return W(le, T.value, de);
1530
+ }
1531
+ return K(F), Object.assign(f.proxy, { updatePosition: I }), re;
1532
+ }
1533
+ }), Rn = /^on[A-Z]/;
1534
+ function zn() {
1535
+ let e = U(), { attrs: t } = e, n = {
1536
+ listeners: Y({}),
1537
+ attributes: Y({})
1538
+ };
1539
+ function r() {
1540
+ let r = {}, i = {};
1541
+ for (let e in t) e !== "class" && e !== "style" && !Rn.test(e) && (r[e] = t[e]);
1542
+ for (let t in e.vnode.props) Rn.test(t) && (i[t] = e.vnode.props[t]);
1543
+ n.attributes.value = r, n.listeners.value = i;
1544
+ }
1545
+ return ye(r), r(), n;
1546
+ }
1547
+ //#endregion
1548
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/use-form/use-form-child.js
1549
+ function Bn({ validate: e, resetValidation: t, requiresQForm: n }) {
1550
+ let r = pe(_, !1);
1551
+ if (r !== !1) {
1552
+ let { props: n, proxy: i } = U();
1553
+ Object.assign(i, {
1554
+ validate: e,
1555
+ resetValidation: t
1556
+ }), Z(() => n.disable, (e) => {
1557
+ e ? (typeof t == "function" && t(), r.unbindComponent(i)) : r.bindComponent(i);
1558
+ }), q(() => {
1559
+ n.disable || r.bindComponent(i);
1560
+ }), K(() => {
1561
+ n.disable || r.unbindComponent(i);
1562
+ });
1563
+ } else n && console.error("Parent QForm not found on useFormChild()!");
1564
+ }
1565
+ //#endregion
1566
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/utils/patterns/patterns.js
1567
+ var Vn = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/, Hn = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/, Un = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/, Wn = /^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/, Gn = /^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0(\.[\d]+)?|1(\.0+)?)\)$/, Kn = /^-?[\d]+\/(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])$/, qn = /^([0-1]?\d|2[0-3]):[0-5]\d$/, Jn = /^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/, Yn = /^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/, Xn = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, Zn = {
1568
+ date: (e) => Kn.test(e),
1569
+ time: (e) => qn.test(e),
1570
+ fulltime: (e) => Jn.test(e),
1571
+ timeOrFulltime: (e) => Yn.test(e),
1572
+ email: (e) => Xn.test(e),
1573
+ hexColor: (e) => Vn.test(e),
1574
+ hexaColor: (e) => Hn.test(e),
1575
+ hexOrHexaColor: (e) => Un.test(e),
1576
+ rgbColor: (e) => Wn.test(e),
1577
+ rgbaColor: (e) => Gn.test(e),
1578
+ rgbOrRgbaColor: (e) => Wn.test(e) || Gn.test(e),
1579
+ hexOrRgbColor: (e) => Vn.test(e) || Wn.test(e),
1580
+ hexaOrRgbaColor: (e) => Hn.test(e) || Gn.test(e),
1581
+ anyColor: (e) => Un.test(e) || Wn.test(e) || Gn.test(e)
1582
+ }, Qn = [
1583
+ !0,
1584
+ !1,
1585
+ "ondemand"
1586
+ ], $n = {
1587
+ modelValue: {},
1588
+ error: {
1589
+ type: Boolean,
1590
+ default: null
1591
+ },
1592
+ errorMessage: String,
1593
+ noErrorIcon: Boolean,
1594
+ rules: Array,
1595
+ reactiveRules: Boolean,
1596
+ lazyRules: {
1597
+ type: [Boolean, String],
1598
+ default: !1,
1599
+ validator: (e) => Qn.includes(e)
1600
+ }
1601
+ };
1602
+ function er(e, t) {
1603
+ let { props: n, proxy: r } = U(), i = Y(!1), a = Y(null), o = Y(!1);
1604
+ Bn({
1605
+ validate: h,
1606
+ resetValidation: m
1607
+ });
1608
+ let s = 0, c, l = R(() => n.rules !== void 0 && n.rules !== null && n.rules.length !== 0), u = R(() => !n.disable && l.value && !t.value), d = R(() => n.error === !0 || i.value), f = R(() => typeof n.errorMessage == "string" && n.errorMessage.length !== 0 ? n.errorMessage : a.value);
1609
+ Z(() => n.modelValue, () => {
1610
+ o.value = !0, u.value && n.lazyRules === !1 && g();
1611
+ });
1612
+ function p() {
1613
+ n.lazyRules !== "ondemand" && u.value && o.value && g();
1614
+ }
1615
+ Z(() => n.reactiveRules, (e) => {
1616
+ e ? c === void 0 && (c = Z(() => n.rules, p, {
1617
+ immediate: !0,
1618
+ deep: !0
1619
+ })) : c !== void 0 && (c(), c = void 0);
1620
+ }, { immediate: !0 }), Z(() => n.lazyRules, p), Z(e, (e) => {
1621
+ e ? o.value = !0 : u.value && n.lazyRules !== "ondemand" && g();
1622
+ });
1623
+ function m() {
1624
+ s++, t.value = !1, o.value = !1, i.value = !1, a.value = null, g.cancel();
1625
+ }
1626
+ function h(e = n.modelValue) {
1627
+ if (n.disable || !l.value) return !0;
1628
+ let r = ++s, c = t.value ? () => {} : () => {
1629
+ o.value = !0;
1630
+ }, u = (e, n) => {
1631
+ e && c(), i.value = e, a.value = n || null, t.value = !1;
1632
+ }, d = [];
1633
+ for (let t = 0; t < n.rules.length; t++) {
1634
+ let r = n.rules[t], i;
1635
+ if (typeof r == "function" ? i = r(e, Zn) : typeof r == "string" && Zn[r] !== void 0 && (i = Zn[r](e)), i === !1 || typeof i == "string") return u(!0, i), !1;
1636
+ i !== !0 && i !== void 0 && d.push(i);
1637
+ }
1638
+ return d.length === 0 ? (u(!1), !0) : (t.value = !0, Promise.all(d).then((e) => {
1639
+ if (e === void 0 || !Array.isArray(e) || e.length === 0) return r === s && u(!1), !0;
1640
+ let t = e.find((e) => e === !1 || typeof e == "string");
1641
+ return r === s && u(t !== void 0, t), t === void 0;
1642
+ }, (e) => (r === s && (console.error(e), u(!0)), !1)));
1643
+ }
1644
+ let g = F(h, 0);
1645
+ return K(() => {
1646
+ c?.(), g.cancel();
1647
+ }), Object.assign(r, {
1648
+ resetValidation: m,
1649
+ validate: h
1650
+ }), S(r, "hasError", () => d.value), {
1651
+ isDirtyModel: o,
1652
+ hasRules: l,
1653
+ hasError: d,
1654
+ errorMessage: f,
1655
+ validate: h,
1656
+ resetValidation: m
1657
+ };
1658
+ }
1659
+ //#endregion
1660
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-field/use-field.js
1661
+ function tr(e) {
1662
+ return e != null && String(e).length !== 0;
1663
+ }
1664
+ var nr = {
1665
+ ...Fe,
1666
+ ...$n,
1667
+ label: String,
1668
+ stackLabel: Boolean,
1669
+ hint: String,
1670
+ hideHint: Boolean,
1671
+ prefix: String,
1672
+ suffix: String,
1673
+ labelColor: String,
1674
+ color: String,
1675
+ bgColor: String,
1676
+ filled: Boolean,
1677
+ outlined: Boolean,
1678
+ borderless: Boolean,
1679
+ standout: [Boolean, String],
1680
+ square: Boolean,
1681
+ loading: Boolean,
1682
+ labelSlot: Boolean,
1683
+ bottomSlots: Boolean,
1684
+ hideBottomSpace: Boolean,
1685
+ rounded: Boolean,
1686
+ dense: Boolean,
1687
+ itemAligned: Boolean,
1688
+ counter: Boolean,
1689
+ clearable: Boolean,
1690
+ clearIcon: String,
1691
+ disable: Boolean,
1692
+ readonly: Boolean,
1693
+ autofocus: Boolean,
1694
+ for: String,
1695
+ maxlength: [Number, String]
1696
+ }, rr = [
1697
+ "update:modelValue",
1698
+ "clear",
1699
+ "focus",
1700
+ "blur"
1701
+ ];
1702
+ function ir({ requiredForAttr: e = !0, tagProp: t, changeEvent: n = !1 } = {}) {
1703
+ let { props: r, proxy: i } = U(), a = Ie(r, i.$q), o = hn({
1704
+ required: e,
1705
+ getValue: () => r.for
1706
+ });
1707
+ return {
1708
+ requiredForAttr: e,
1709
+ changeEvent: n,
1710
+ tag: t ? R(() => r.tag) : { value: "label" },
1711
+ isDark: a,
1712
+ editable: R(() => !r.disable && !r.readonly),
1713
+ innerLoading: Y(!1),
1714
+ focused: Y(!1),
1715
+ hasPopupOpen: !1,
1716
+ splitAttrs: zn(),
1717
+ targetUid: o,
1718
+ rootRef: Y(null),
1719
+ targetRef: Y(null),
1720
+ controlRef: Y(null)
1721
+ };
1722
+ }
1723
+ function ar(e, t) {
1724
+ return t === null ? null : W("div", {
1725
+ key: e,
1726
+ class: "q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"
1727
+ }, t);
1728
+ }
1729
+ function or(e) {
1730
+ let { props: t, emit: n, slots: r, attrs: i, proxy: a } = U(), { $q: s } = a, c = null;
1731
+ e.hasValue === void 0 && (e.hasValue = R(() => tr(t.modelValue))), e.emitValue === void 0 && (e.emitValue = (e) => {
1732
+ n("update:modelValue", e);
1733
+ }), e.controlEvents === void 0 && (e.controlEvents = {
1734
+ onFocusin: te,
1735
+ onFocusout: D
1736
+ }), Object.assign(e, {
1737
+ clearValue: O,
1738
+ onControlFocusin: te,
1739
+ onControlFocusout: D,
1740
+ focus: E
1741
+ }), e.computedCounter === void 0 && (e.computedCounter = R(() => {
1742
+ if (t.counter) {
1743
+ let e = typeof t.modelValue == "string" || typeof t.modelValue == "number" ? String(t.modelValue).length : Array.isArray(t.modelValue) ? t.modelValue.length : 0, n = t.maxlength === void 0 ? t.maxValues : t.maxlength;
1744
+ return e + (n === void 0 ? "" : " / " + n);
1745
+ }
1746
+ }));
1747
+ let { isDirtyModel: u, hasRules: d, hasError: f, errorMessage: p, resetValidation: m } = er(e.focused, e.innerLoading), h = e.floatingLabel === void 0 ? R(() => t.stackLabel || e.focused.value || e.hasValue.value) : R(() => t.stackLabel || e.focused.value || e.floatingLabel.value), g = R(() => t.bottomSlots || t.hint !== void 0 || d.value || t.counter || t.error !== null), _ = R(() => t.filled ? "filled" : t.outlined ? "outlined" : t.borderless ? "borderless" : t.standout ? "standout" : "standard"), v = R(() => `q-field row no-wrap items-start q-field--${_.value}` + (e.fieldClass === void 0 ? "" : ` ${e.fieldClass.value}`) + (t.rounded ? " q-field--rounded" : "") + (t.square ? " q-field--square" : "") + (h.value ? " q-field--float" : "") + (x.value ? " q-field--labeled" : "") + (t.dense ? " q-field--dense" : "") + (t.itemAligned ? " q-field--item-aligned q-item-type" : "") + (e.isDark.value ? " q-field--dark" : "") + (e.getControl === void 0 ? " q-field--auto-height" : "") + (e.focused.value ? " q-field--focused" : "") + (f.value ? " q-field--error" : "") + (f.value || e.focused.value ? " q-field--highlighted" : "") + (!t.hideBottomSpace && g.value ? " q-field--with-bottom" : "") + (t.disable ? " q-field--disabled" : t.readonly ? " q-field--readonly" : "")), y = R(() => "q-field__control relative-position row no-wrap" + (t.bgColor === void 0 ? "" : ` bg-${t.bgColor}`) + (f.value ? " text-negative" : typeof t.standout == "string" && t.standout.length !== 0 && e.focused.value ? ` ${t.standout}` : t.color === void 0 ? "" : ` text-${t.color}`)), x = R(() => t.labelSlot || t.label !== void 0), S = R(() => "q-field__label no-pointer-events absolute ellipsis" + (t.labelColor !== void 0 && !f.value ? ` text-${t.labelColor}` : "")), C = R(() => ({
1748
+ id: e.targetUid.value,
1749
+ editable: e.editable.value,
1750
+ focused: e.focused.value,
1751
+ floatingLabel: h.value,
1752
+ modelValue: t.modelValue,
1753
+ emitValue: e.emitValue
1754
+ })), w = R(() => {
1755
+ let n = {};
1756
+ return e.targetUid.value && (n.for = e.targetUid.value), t.disable && (n["aria-disabled"] = "true"), n;
1757
+ });
1758
+ function T() {
1759
+ let t = document.activeElement, n = e.targetRef?.value;
1760
+ n && (t === null || t.id !== e.targetUid.value) && (n.hasAttribute("tabindex") || (n = n.querySelector("[tabindex]")), n !== t && n?.focus({ preventScroll: !0 }));
1761
+ }
1762
+ function E() {
1763
+ Qe(T);
1764
+ }
1765
+ function ee() {
1766
+ $e(T);
1767
+ let t = document.activeElement;
1768
+ t !== null && e.rootRef.value.contains(t) && t.blur();
1769
+ }
1770
+ function te(t) {
1771
+ c !== null && (clearTimeout(c), c = null), e.editable.value && !e.focused.value && (e.focused.value = !0, n("focus", t));
1772
+ }
1773
+ function D(t, r) {
1774
+ c !== null && clearTimeout(c), c = setTimeout(() => {
1775
+ c = null, !(document.hasFocus() && (e.hasPopupOpen || e.controlRef === void 0 || e.controlRef.value === null || e.controlRef.value.contains(document.activeElement))) && (e.focused.value && (e.focused.value = !1, n("blur", t)), r?.());
1776
+ }, 0);
1777
+ }
1778
+ function O(r) {
1779
+ b(r), s.platform.is.mobile ? e.rootRef.value.contains(document.activeElement) && document.activeElement.blur() : (e.targetRef?.value || e.rootRef.value).focus(), t.type === "file" && (e.inputRef.value.value = null), e.onClear?.(), n("update:modelValue", null), e.changeEvent && n("change", null), n("clear", t.modelValue), G(() => {
1780
+ let e = u.value;
1781
+ m(), u.value = e;
1782
+ });
1783
+ }
1784
+ function k(e) {
1785
+ [13, 32].includes(e.keyCode) && O(e);
1786
+ }
1787
+ function A() {
1788
+ let n = [];
1789
+ return r.prepend !== void 0 && n.push(W("div", {
1790
+ class: "q-field__prepend q-field__marginal row no-wrap items-center",
1791
+ key: "prepend",
1792
+ onClick: L
1793
+ }, r.prepend())), n.push(W("div", { class: "q-field__control-container col relative-position row no-wrap q-anchor--skip" }, ne())), f.value && !t.noErrorIcon && n.push(ar("error", [W(M, {
1794
+ name: s.iconSet.field.error,
1795
+ color: "negative"
1796
+ })])), t.loading || e.innerLoading.value ? n.push(ar("inner-loading-append", r.loading === void 0 ? [W(o, { color: t.color })] : r.loading())) : t.clearable && e.hasValue.value && e.editable.value && n.push(ar("inner-clearable-append", [W(M, {
1797
+ class: "q-field__focusable-action",
1798
+ name: t.clearIcon || s.iconSet.field.clear,
1799
+ tabindex: 0,
1800
+ role: "button",
1801
+ "aria-hidden": "false",
1802
+ "aria-label": s.lang.label.clear,
1803
+ onKeyup: k,
1804
+ onClick: O
1805
+ })])), r.append !== void 0 && n.push(W("div", {
1806
+ class: "q-field__append q-field__marginal row no-wrap items-center",
1807
+ key: "append",
1808
+ onClick: L
1809
+ }, r.append())), e.getInnerAppend !== void 0 && n.push(ar("inner-append", e.getInnerAppend())), e.getControlChild !== void 0 && n.push(e.getControlChild()), n;
1810
+ }
1811
+ function ne() {
1812
+ let n = [];
1813
+ return t.prefix !== void 0 && t.prefix !== null && n.push(W("div", { class: "q-field__prefix no-pointer-events row items-center" }, t.prefix)), e.getShadowControl !== void 0 && e.hasShadow.value && n.push(e.getShadowControl()), x.value && n.push(W("div", { class: S.value }, l(r.label, t.label))), e.getControl === void 0 ? r.rawControl === void 0 ? r.control !== void 0 && n.push(W("div", {
1814
+ ref: e.targetRef,
1815
+ class: "q-field__native row",
1816
+ tabindex: -1,
1817
+ ...e.splitAttrs.attributes.value,
1818
+ "data-autofocus": t.autofocus || void 0
1819
+ }, r.control(C.value))) : n.push(r.rawControl()) : n.push(e.getControl()), t.suffix !== void 0 && t.suffix !== null && n.push(W("div", { class: "q-field__suffix no-pointer-events row items-center" }, t.suffix)), n.concat(l(r.default));
1820
+ }
1821
+ function j() {
1822
+ let n, i;
1823
+ f.value ? p.value === null ? (n = l(r.error), i = "q--slot-error") : (n = [W("div", { role: "alert" }, p.value)], i = `q--slot-error-${p.value}`) : (!t.hideHint || e.focused.value) && (t.hint === void 0 ? (n = l(r.hint), i = "q--slot-hint") : (n = [W("div", t.hint)], i = `q--slot-hint-${t.hint}`));
1824
+ let a = t.counter || r.counter !== void 0;
1825
+ if (t.hideBottomSpace && !a && n === void 0) return;
1826
+ let o = W("div", {
1827
+ key: i,
1828
+ class: "q-field__messages col"
1829
+ }, n);
1830
+ return W("div", {
1831
+ class: "q-field__bottom row items-start q-field__bottom--" + (t.hideBottomSpace ? "stale" : "animated"),
1832
+ onClick: L
1833
+ }, [t.hideBottomSpace ? o : W(le, { name: "q-transition--field-message" }, () => o), a ? W("div", { class: "q-field__counter" }, r.counter === void 0 ? e.computedCounter.value : r.counter()) : null]);
1834
+ }
1835
+ let N = !1;
1836
+ return be(() => {
1837
+ N = !0;
1838
+ }), ve(() => {
1839
+ N && t.autofocus && a.focus();
1840
+ }), t.autofocus && q(() => {
1841
+ a.focus();
1842
+ }), K(() => {
1843
+ c !== null && clearTimeout(c);
1844
+ }), Object.assign(a, {
1845
+ focus: E,
1846
+ blur: ee
1847
+ }), function() {
1848
+ let n = e.getControl === void 0 && r.control === void 0 ? {
1849
+ ...e.splitAttrs.attributes.value,
1850
+ "data-autofocus": t.autofocus || void 0,
1851
+ ...w.value
1852
+ } : w.value;
1853
+ return W(e.tag.value, {
1854
+ ref: e.rootRef,
1855
+ class: [v.value, i.class],
1856
+ style: i.style,
1857
+ ...n
1858
+ }, [
1859
+ r.before === void 0 ? null : W("div", {
1860
+ class: "q-field__before q-field__marginal row no-wrap items-center",
1861
+ onClick: L
1862
+ }, r.before()),
1863
+ W("div", { class: "q-field__inner relative-position col self-stretch" }, [W("div", {
1864
+ ref: e.controlRef,
1865
+ class: y.value,
1866
+ tabindex: -1,
1867
+ ...e.controlEvents
1868
+ }, A()), g.value ? j() : null]),
1869
+ r.after === void 0 ? null : W("div", {
1870
+ class: "q-field__after q-field__marginal row no-wrap items-center",
1871
+ onClick: L
1872
+ }, r.after())
1873
+ ]);
1874
+ };
1875
+ }
1876
+ //#endregion
1877
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/components/input/use-mask.js
1878
+ var sr = {
1879
+ date: "####/##/##",
1880
+ datetime: "####/##/## ##:##",
1881
+ time: "##:##",
1882
+ fulltime: "##:##:##",
1883
+ phone: "(###) ### - ####",
1884
+ card: "#### #### #### ####"
1885
+ }, { tokenMap: cr, tokenKeys: lr } = ur({
1886
+ "#": {
1887
+ pattern: "[\\d]",
1888
+ negate: "[^\\d]"
1889
+ },
1890
+ S: {
1891
+ pattern: "[a-zA-Z]",
1892
+ negate: "[^a-zA-Z]"
1893
+ },
1894
+ N: {
1895
+ pattern: "[0-9a-zA-Z]",
1896
+ negate: "[^0-9a-zA-Z]"
1897
+ },
1898
+ A: {
1899
+ pattern: "[a-zA-Z]",
1900
+ negate: "[^a-zA-Z]",
1901
+ transform: (e) => e.toLocaleUpperCase()
1902
+ },
1903
+ a: {
1904
+ pattern: "[a-zA-Z]",
1905
+ negate: "[^a-zA-Z]",
1906
+ transform: (e) => e.toLocaleLowerCase()
1907
+ },
1908
+ X: {
1909
+ pattern: "[0-9a-zA-Z]",
1910
+ negate: "[^0-9a-zA-Z]",
1911
+ transform: (e) => e.toLocaleUpperCase()
1912
+ },
1913
+ x: {
1914
+ pattern: "[0-9a-zA-Z]",
1915
+ negate: "[^0-9a-zA-Z]",
1916
+ transform: (e) => e.toLocaleLowerCase()
1917
+ }
1918
+ });
1919
+ function ur(e) {
1920
+ let t = Object.keys(e), n = {};
1921
+ return t.forEach((t) => {
1922
+ let r = e[t];
1923
+ n[t] = {
1924
+ ...r,
1925
+ regex: new RegExp(r.pattern)
1926
+ };
1927
+ }), {
1928
+ tokenMap: n,
1929
+ tokenKeys: t
1930
+ };
1931
+ }
1932
+ function dr(e) {
1933
+ return RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|([" + e.join("") + "])|(.)", "g");
1934
+ }
1935
+ var fr = /[.*+?^${}()|[\]\\]/g, pr = dr(lr), $ = String.fromCodePoint(1), mr = {
1936
+ mask: String,
1937
+ reverseFillMask: Boolean,
1938
+ fillMask: [Boolean, String],
1939
+ unmaskedValue: Boolean,
1940
+ maskTokens: Object
1941
+ };
1942
+ function hr(e, t, n, r) {
1943
+ let i, o, s, c, l, u, d = R(() => {
1944
+ if (e.maskTokens === void 0 || e.maskTokens === null) return {
1945
+ tokenMap: cr,
1946
+ tokenRegexMask: pr
1947
+ };
1948
+ let { tokenMap: t } = ur(e.maskTokens), n = {
1949
+ ...cr,
1950
+ ...t
1951
+ };
1952
+ return {
1953
+ tokenMap: n,
1954
+ tokenRegexMask: dr(Object.keys(n))
1955
+ };
1956
+ }), f = Y(null), p = Y(h());
1957
+ function m() {
1958
+ return e.autogrow || [
1959
+ "textarea",
1960
+ "text",
1961
+ "search",
1962
+ "url",
1963
+ "tel",
1964
+ "password"
1965
+ ].includes(e.type);
1966
+ }
1967
+ Z(() => e.type + e.autogrow, _), Z(() => e.mask, (n) => {
1968
+ if (n !== void 0) v(p.value, !0);
1969
+ else {
1970
+ let n = T(p.value);
1971
+ _(), e.modelValue !== n && t("update:modelValue", n);
1972
+ }
1973
+ }), Z(() => e.fillMask + e.reverseFillMask, () => {
1974
+ f.value && v(p.value, !0);
1975
+ }), Z(() => e.unmaskedValue, () => {
1976
+ f.value && v(p.value);
1977
+ }), Z(() => e.maskTokens, () => {
1978
+ f.value && v(p.value, !0);
1979
+ }, { deep: !0 });
1980
+ function h() {
1981
+ if (_(), f.value) {
1982
+ let t = C(T(e.modelValue));
1983
+ return e.fillMask === !1 ? t : E(t);
1984
+ }
1985
+ return e.modelValue;
1986
+ }
1987
+ function g(e) {
1988
+ if (e < i.length) return i.slice(-e);
1989
+ let t = "", n = i, r = n.indexOf($);
1990
+ if (r !== -1) {
1991
+ for (let r = e - n.length; r > 0; r--) t += $;
1992
+ n = n.slice(0, r) + t + n.slice(r);
1993
+ }
1994
+ return n;
1995
+ }
1996
+ function _() {
1997
+ if (f.value = e.mask !== void 0 && e.mask.length !== 0 && m(), !f.value) {
1998
+ c = void 0, i = "", o = "";
1999
+ return;
2000
+ }
2001
+ let t = sr[e.mask] === void 0 ? e.mask : sr[e.mask], n = typeof e.fillMask == "string" && e.fillMask.length !== 0 ? e.fillMask.slice(0, 1) : "_", r = n.replace(fr, String.raw`\$&`), a = [], l = [], u = [], p = e.reverseFillMask, h = "", g = "";
2002
+ t.replace(d.value.tokenRegexMask, (e, t, n, r, i) => {
2003
+ if (r !== void 0) {
2004
+ let e = d.value.tokenMap[r];
2005
+ u.push(e), g = e.negate, p &&= (l.push("(?:" + g + "+)?(" + e.pattern + "+)?(?:" + g + "+)?(" + e.pattern + "+)?"), !1), l.push("(?:" + g + "+)?(" + e.pattern + ")?");
2006
+ return;
2007
+ }
2008
+ if (n !== void 0) h = "\\" + (n === "\\" ? "" : n), u.push(n);
2009
+ else {
2010
+ let e = t === void 0 ? i : t;
2011
+ h = e === "\\" ? String.raw`\\\\` : e.replace(fr, String.raw`\\$&`), u.push(e);
2012
+ }
2013
+ a.push("([^" + h + "]+)?" + h + "?");
2014
+ });
2015
+ let _ = RegExp("^" + a.join("") + "(" + (h === "" ? "." : "[^" + h + "]") + "+)?" + (h === "" ? "" : "[" + h + "]*") + "$"), v = l.length - 1, y = l.map((t, n) => n === 0 && e.reverseFillMask ? RegExp("^" + r + "*" + t) : RegExp(n === v ? "^" + t + "(" + (g === "" ? "." : g) + "+)?" + (e.reverseFillMask ? "$" : r + "*") : "^" + t));
2016
+ s = u, c = (t) => {
2017
+ let n = _.exec(e.reverseFillMask ? t : t.slice(0, u.length + 1));
2018
+ n !== null && (t = n.slice(1).join(""));
2019
+ let r = [], i = y.length;
2020
+ for (let e = 0, n = t; e < i; e++) {
2021
+ let t = y[e].exec(n);
2022
+ if (t === null) break;
2023
+ n = n.slice(t.shift().length), r.push(...t);
2024
+ }
2025
+ return r.length === 0 ? t : r.join("");
2026
+ }, i = u.map((e) => typeof e == "string" ? e : $).join(""), o = i.split($).join(n);
2027
+ }
2028
+ function v(t, a, s) {
2029
+ let c = r.value, u = c?.selectionEnd ?? 0, d = c === null ? 0 : c.value.length - u, f = T(t);
2030
+ a === !0 && _();
2031
+ let m = C(f, a), h = e.fillMask === !1 ? m : E(m), g = p.value !== h;
2032
+ c !== null && c.value !== h && (c.value = h), g && (p.value = h), c !== null && document.activeElement === c && G(() => {
2033
+ if (h === o) {
2034
+ let t = e.reverseFillMask ? o.length : 0;
2035
+ c.setSelectionRange(t, t, "forward");
2036
+ return;
2037
+ }
2038
+ if (s === "insertFromPaste" && !e.reverseFillMask) {
2039
+ let e = c.selectionEnd, t = u - 1;
2040
+ for (let n = l; n <= t && n < e; n++) i[n] !== $ && t++;
2041
+ b.right(c, t);
2042
+ return;
2043
+ }
2044
+ if (["deleteContentBackward", "deleteContentForward"].includes(s)) {
2045
+ let t = e.reverseFillMask ? u === 0 ? +(h.length > m.length) : Math.max(0, h.length - (h === o ? 0 : Math.min(m.length, d) + 1)) + 1 : u;
2046
+ c.setSelectionRange(t, t, "forward");
2047
+ return;
2048
+ }
2049
+ if (e.reverseFillMask) if (g) {
2050
+ let e = Math.max(0, h.length - (h === o ? 0 : Math.min(m.length, d + 1)));
2051
+ e === 1 && u === 1 ? c.setSelectionRange(e, e, "forward") : b.rightReverse(c, e);
2052
+ } else {
2053
+ let e = h.length - d;
2054
+ c.setSelectionRange(e, e, "backward");
2055
+ }
2056
+ else if (g) {
2057
+ let e = Math.max(0, i.indexOf($), Math.min(m.length, u) - 1);
2058
+ b.right(c, e);
2059
+ } else {
2060
+ let e = u - 1;
2061
+ b.right(c, e);
2062
+ }
2063
+ });
2064
+ let v = e.unmaskedValue ? T(h) : h;
2065
+ String(e.modelValue) !== v && (e.modelValue !== null || v !== "") && n(v, !0);
2066
+ }
2067
+ function y(e, t, n) {
2068
+ let r = C(T(e.value));
2069
+ t = Math.max(0, i.indexOf($), Math.min(r.length, t)), l = t, e.setSelectionRange(t, n, "forward");
2070
+ }
2071
+ let b = {
2072
+ left(e, t) {
2073
+ let n = !i.slice(t - 1).includes($), r = Math.max(0, t - 1);
2074
+ for (; r >= 0; r--) if (i[r] === $) {
2075
+ t = r, n && t++;
2076
+ break;
2077
+ }
2078
+ if (r < 0 && i[t] !== void 0 && i[t] !== $) return b.right(e, 0);
2079
+ t >= 0 && e.setSelectionRange(t, t, "backward");
2080
+ },
2081
+ right(e, t) {
2082
+ let n = e.value.length, r = Math.min(n, t + 1);
2083
+ for (; r <= n; r++) if (i[r] === $) {
2084
+ t = r;
2085
+ break;
2086
+ } else i[r - 1] === $ && (t = r);
2087
+ if (r > n && i[t - 1] !== void 0 && i[t - 1] !== $) return b.left(e, n);
2088
+ e.setSelectionRange(t, t, "forward");
2089
+ },
2090
+ leftReverse(e, t) {
2091
+ let n = g(e.value.length), r = Math.max(0, t - 1);
2092
+ for (; r >= 0; r--) if (n[r - 1] === $) {
2093
+ t = r;
2094
+ break;
2095
+ } else if (n[r] === $ && (t = r, r === 0)) break;
2096
+ if (r < 0 && n[t] !== void 0 && n[t] !== $) return b.rightReverse(e, 0);
2097
+ t >= 0 && e.setSelectionRange(t, t, "backward");
2098
+ },
2099
+ rightReverse(e, t) {
2100
+ let n = e.value.length, r = g(n), i = !r.slice(0, t + 1).includes($), a = Math.min(n, t + 1);
2101
+ for (; a <= n; a++) if (r[a - 1] === $) {
2102
+ t = a, t > 0 && i && t--;
2103
+ break;
2104
+ }
2105
+ if (a > n && r[t - 1] !== void 0 && r[t - 1] !== $) return b.leftReverse(e, n);
2106
+ e.setSelectionRange(t, t, "forward");
2107
+ }
2108
+ };
2109
+ function x(e) {
2110
+ t("click", e), u = void 0;
2111
+ }
2112
+ function S(n) {
2113
+ if (t("keydown", n), a(n) || n.altKey) return;
2114
+ let i = r.value, o = i.selectionStart, s = i.selectionEnd;
2115
+ if (n.shiftKey || (u = void 0), n.keyCode === 37 || n.keyCode === 39) {
2116
+ n.shiftKey && u === void 0 && (u = i.selectionDirection === "forward" ? o : s);
2117
+ let t = b[(n.keyCode === 39 ? "right" : "left") + (e.reverseFillMask ? "Reverse" : "")];
2118
+ if (n.preventDefault(), t(i, u === o ? s : o), n.shiftKey) {
2119
+ let e = i.selectionStart;
2120
+ i.setSelectionRange(Math.min(u, e), Math.max(u, e), "forward");
2121
+ }
2122
+ } else n.keyCode === 8 && !e.reverseFillMask && o === s ? (b.left(i, o), i.setSelectionRange(i.selectionStart, s, "backward")) : n.keyCode === 46 && e.reverseFillMask && o === s && (b.rightReverse(i, s), i.setSelectionRange(o, i.selectionEnd, "forward"));
2123
+ }
2124
+ function C(t, n) {
2125
+ if (t == null || t === "") return "";
2126
+ if (e.reverseFillMask) return w(t, n);
2127
+ let r = s, i = 0, a = "";
2128
+ for (let e = 0; e < r.length; e++) {
2129
+ let o = t[i], s = r[e];
2130
+ if (typeof s == "string") a += s, n === !0 && o === s && i++;
2131
+ else if (o !== void 0 && s.regex.test(o)) a += s.transform === void 0 ? o : s.transform(o), i++;
2132
+ else return a;
2133
+ }
2134
+ return a;
2135
+ }
2136
+ function w(e, t) {
2137
+ let n = s, r = i.indexOf($), a = e.length - 1, o = "";
2138
+ for (let i = n.length - 1; i >= 0 && a !== -1; i--) {
2139
+ let s = n[i], c = e[a];
2140
+ if (typeof s == "string") o = s + o, t === !0 && c === s && a--;
2141
+ else if (c !== void 0 && s.regex.test(c)) do
2142
+ o = (s.transform === void 0 ? c : s.transform(c)) + o, a--, c = e[a];
2143
+ while (r === i && c !== void 0 && s.regex.test(c));
2144
+ else return o;
2145
+ }
2146
+ return o;
2147
+ }
2148
+ function T(e) {
2149
+ return typeof e != "string" || c === void 0 ? typeof e == "number" ? c(String(e)) : e : c(e);
2150
+ }
2151
+ function E(t) {
2152
+ return o.length - t.length <= 0 ? t : e.reverseFillMask && t.length !== 0 ? o.slice(0, -t.length) + t : t + o.slice(t.length);
2153
+ }
2154
+ return {
2155
+ innerValue: p,
2156
+ hasMask: f,
2157
+ moveCursorForPaste: y,
2158
+ updateMaskValue: v,
2159
+ onMaskedKeydown: S,
2160
+ onMaskedClick: x
2161
+ };
2162
+ }
2163
+ //#endregion
2164
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/use-form/private.use-form.js
2165
+ var gr = { name: String };
2166
+ function _r(e) {
2167
+ return R(() => e.name || e.for);
2168
+ }
2169
+ //#endregion
2170
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-file/use-file-dom-props.js
2171
+ function vr(e, t) {
2172
+ function n() {
2173
+ let t = e.modelValue;
2174
+ try {
2175
+ let e = "DataTransfer" in window ? new DataTransfer() : "ClipboardEvent" in window ? new ClipboardEvent("").clipboardData : void 0;
2176
+ return Object(t) === t && ("length" in t ? [...t] : [t]).forEach((t) => {
2177
+ e.items.add(t);
2178
+ }), { files: e.files };
2179
+ } catch {
2180
+ return { files: void 0 };
2181
+ }
2182
+ }
2183
+ return R(t ? () => {
2184
+ if (e.type === "file") return n();
2185
+ } : n);
2186
+ }
2187
+ //#endregion
2188
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/composables/private.use-key-composition/use-key-composition.js
2189
+ var yr = /[\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFF9F\u4E00-\u9FAF\u3400-\u4DBF]/, br = /[\u4E00-\u9FFF\u3400-\u4DBF\u{20000}-\u{2A6DF}\u{2A700}-\u{2B73F}\u{2B740}-\u{2B81F}\u{2B820}-\u{2CEAF}\uF900-\uFAFF\u3300-\u33FF\uFE30-\uFE4F\uF900-\uFAFF\u{2F800}-\u{2FA1F}]/u, xr = /[\u3131-\u314E\u314F-\u3163\uAC00-\uD7A3]/, Sr = /[a-z0-9_ -]$/i;
2190
+ function Cr(e) {
2191
+ return function(t) {
2192
+ if (t.type === "compositionend" || t.type === "change") {
2193
+ if (!t.target.qComposing) return;
2194
+ t.target.qComposing = !1, e(t);
2195
+ } else t.type === "compositionupdate" && !t.target.qComposing && typeof t.data == "string" && (r.is.firefox ? !Sr.test(t.data) : yr.test(t.data) || br.test(t.data) || xr.test(t.data)) && (t.target.qComposing = !0);
2196
+ };
2197
+ }
2198
+ //#endregion
2199
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/components/input/QInput.js
2200
+ var wr = C({
2201
+ name: "QInput",
2202
+ inheritAttrs: !1,
2203
+ props: {
2204
+ ...nr,
2205
+ ...mr,
2206
+ ...gr,
2207
+ modelValue: [
2208
+ String,
2209
+ Number,
2210
+ FileList
2211
+ ],
2212
+ modelModifiers: Object,
2213
+ shadowText: String,
2214
+ type: {
2215
+ type: String,
2216
+ default: "text"
2217
+ },
2218
+ debounce: [String, Number],
2219
+ autogrow: Boolean,
2220
+ inputClass: [
2221
+ Array,
2222
+ String,
2223
+ Object
2224
+ ],
2225
+ inputStyle: [
2226
+ Array,
2227
+ String,
2228
+ Object
2229
+ ]
2230
+ },
2231
+ emits: [
2232
+ ...rr,
2233
+ "paste",
2234
+ "change",
2235
+ "keydown",
2236
+ "click",
2237
+ "animationend"
2238
+ ],
2239
+ setup(e, { emit: n, attrs: r }) {
2240
+ let { proxy: i } = U(), { $q: a } = i, o = {}, s = NaN, c = !1, l = !1, u = null, d, f = Y(null), p = _r(e), { innerValue: m, hasMask: h, moveCursorForPaste: g, updateMaskValue: _, onMaskedKeydown: v, onMaskedClick: y } = hr(e, n, N, f), b = vr(e, !0), x = R(() => tr(m.value)), C = Cr(j), w = ir({ changeEvent: !0 }), T = R(() => e.type === "textarea" || e.autogrow), E = R(() => T.value || [
2241
+ "text",
2242
+ "search",
2243
+ "url",
2244
+ "tel",
2245
+ "password"
2246
+ ].includes(e.type)), ee = R(() => {
2247
+ let n = {
2248
+ ...w.splitAttrs.listeners.value,
2249
+ onInput: j,
2250
+ onPaste: ne,
2251
+ onChange: F,
2252
+ onBlur: I,
2253
+ onFocus: t
2254
+ };
2255
+ return n.onCompositionstart = n.onCompositionupdate = n.onCompositionend = C, h.value && (n.onKeydown = v, n.onClick = y), e.autogrow && (n.onAnimationend = M), n;
2256
+ }), te = R(() => {
2257
+ let t = {
2258
+ tabindex: 0,
2259
+ "data-autofocus": e.autofocus || void 0,
2260
+ rows: e.type === "textarea" ? 6 : void 0,
2261
+ "aria-label": e.label,
2262
+ name: p.value,
2263
+ ...w.splitAttrs.attributes.value,
2264
+ id: w.targetUid.value,
2265
+ maxlength: e.maxlength,
2266
+ disabled: e.disable,
2267
+ readonly: e.readonly
2268
+ };
2269
+ return T.value || (t.type = e.type), e.autogrow && (t.rows = 1), t;
2270
+ });
2271
+ Z(() => e.type, () => {
2272
+ f.value && (f.value.value = e.modelValue);
2273
+ }), Z(() => e.modelValue, (t) => {
2274
+ if (u !== null && (re(), c = !1, l = !1, delete o.value), h.value) {
2275
+ if (l && (l = !1, String(t) === s)) return;
2276
+ _(t);
2277
+ } else m.value !== t && (m.value = t, e.type === "number" && Object.hasOwn(o, "value") && (c ? c = !1 : delete o.value), e.modelModifiers?.trim === !0 && Object.hasOwn(o, "value") && (typeof o.value != "string" || o.value.trim() !== t) && delete o.value);
2278
+ e.autogrow && G(P);
2279
+ }), Z(() => e.autogrow, (e) => {
2280
+ e ? G(P) : f.value !== null && r.rows > 0 && (f.value.style.height = "auto");
2281
+ }), Z(() => e.dense, () => {
2282
+ e.autogrow && G(P);
2283
+ });
2284
+ function D() {
2285
+ let e = document.activeElement;
2286
+ f.value !== null && f.value !== e && (e === null || e.id !== w.targetUid.value) && f.value.focus({ preventScroll: !0 });
2287
+ }
2288
+ function O() {
2289
+ Qe(D);
2290
+ }
2291
+ function k() {
2292
+ $e(D);
2293
+ let e = document.activeElement;
2294
+ e !== null && w.rootRef.value.contains(e) && e.blur();
2295
+ }
2296
+ function A() {
2297
+ f.value?.select();
2298
+ }
2299
+ function ne(t) {
2300
+ if (h.value && e.reverseFillMask !== !0) {
2301
+ let e = t.target;
2302
+ g(e, e.selectionStart, e.selectionEnd);
2303
+ }
2304
+ n("paste", t);
2305
+ }
2306
+ function j(t) {
2307
+ if (!t || !t.target) return;
2308
+ if (e.type === "file") {
2309
+ n("update:modelValue", t.target.files);
2310
+ return;
2311
+ }
2312
+ let r = t.target.value;
2313
+ if (t.target.qComposing) {
2314
+ o.value = r;
2315
+ return;
2316
+ }
2317
+ if (h.value) _(r, !1, t.inputType);
2318
+ else if (e.modelModifiers?.trim === !0 && (o.value = r), N(r), E.value && t.target === document.activeElement) {
2319
+ let { selectionStart: e, selectionEnd: n } = t.target;
2320
+ e !== void 0 && n !== void 0 && G(() => {
2321
+ t.target === document.activeElement && r.indexOf(t.target.value) === 0 && t.target.setSelectionRange(e, n);
2322
+ });
2323
+ }
2324
+ e.autogrow && P();
2325
+ }
2326
+ function M(e) {
2327
+ n("animationend", e), P();
2328
+ }
2329
+ function N(t, r) {
2330
+ d = () => {
2331
+ u = null, e.type !== "number" && (e.modelModifiers?.trim !== !0 || h.value) && Object.hasOwn(o, "value") && delete o.value, e.modelValue !== t && s !== t && (s = t, r === !0 && (l = !0), n("update:modelValue", t), G(() => {
2332
+ s === t && (s = NaN);
2333
+ })), d = void 0;
2334
+ }, e.type === "number" && (c = !0, o.value = t), e.debounce === void 0 ? d() : (u !== null && clearTimeout(u), o.value = t, u = setTimeout(d, e.debounce));
2335
+ }
2336
+ function re() {
2337
+ u !== null && (clearTimeout(u), u = null), d = void 0;
2338
+ }
2339
+ function ie() {
2340
+ re(), c = !1, l = !1, delete o.value;
2341
+ }
2342
+ function P() {
2343
+ requestAnimationFrame(() => {
2344
+ let e = f.value;
2345
+ if (e !== null) {
2346
+ let t = e.parentNode.style, { scrollTop: n } = e, { overflowY: r, maxHeight: i } = a.platform.is.firefox ? {} : window.getComputedStyle(e), o = r !== void 0 && r !== "scroll";
2347
+ o && (e.style.overflowY = "hidden"), t.marginBottom = e.scrollHeight - 1 + "px", e.style.height = "1px", e.style.height = e.scrollHeight + "px", o && (e.style.overflowY = Number.parseInt(i, 10) < e.scrollHeight ? "auto" : "hidden"), t.marginBottom = "", e.scrollTop = n;
2348
+ }
2349
+ });
2350
+ }
2351
+ function F(e) {
2352
+ C(e), u !== null && (clearTimeout(u), u = null), d?.(), n("change", e.target.value);
2353
+ }
2354
+ function I(n) {
2355
+ n !== void 0 && t(n), u !== null && (clearTimeout(u), u = null), d?.(), c = !1, l = !1, delete o.value, e.type !== "file" && setTimeout(() => {
2356
+ f.value !== null && (f.value.value = m.value === void 0 ? "" : m.value);
2357
+ }, 0);
2358
+ }
2359
+ function L() {
2360
+ return Object.hasOwn(o, "value") ? o.value : m.value === void 0 ? "" : m.value;
2361
+ }
2362
+ K(() => {
2363
+ I();
2364
+ }), q(() => {
2365
+ e.autogrow && P();
2366
+ }), Object.assign(w, {
2367
+ innerValue: m,
2368
+ fieldClass: R(() => `q-${T.value ? "textarea" : "input"}` + (e.autogrow ? " q-textarea--autogrow" : "")),
2369
+ hasShadow: R(() => e.type !== "file" && typeof e.shadowText == "string" && e.shadowText.length !== 0),
2370
+ inputRef: f,
2371
+ emitValue: N,
2372
+ onClear: ie,
2373
+ hasValue: x,
2374
+ floatingLabel: R(() => x.value && (e.type !== "number" || Number.isFinite(Number(m.value))) || tr(e.displayValue)),
2375
+ getControl: () => W(T.value ? "textarea" : "input", {
2376
+ ref: f,
2377
+ class: ["q-field__native q-placeholder", e.inputClass],
2378
+ style: e.inputStyle,
2379
+ ...te.value,
2380
+ ...ee.value,
2381
+ ...e.type === "file" ? b.value : { value: L() }
2382
+ }),
2383
+ getShadowControl: () => W("div", { class: "q-field__native q-field__shadow absolute-bottom no-pointer-events" + (T.value ? "" : " text-no-wrap") }, [W("span", { class: "invisible" }, L()), W("span", e.shadowText)])
2384
+ });
2385
+ let ae = or(w);
2386
+ return Object.assign(i, {
2387
+ focus: O,
2388
+ blur: k,
2389
+ select: A,
2390
+ getNativeElement: () => f.value
2391
+ }), S(i, "nativeEl", () => f.value), ae;
2392
+ }
2393
+ });
2394
+ //#endregion
2395
+ //#region lib/components/inputs/VnInput.vue?vue&type=i18n&index=0&lang.i18n
2396
+ function Tr(e) {
2397
+ let t = e;
2398
+ t.__i18n = t.__i18n || [], t.__i18n.push({
2399
+ locale: "",
2400
+ resource: {
2401
+ en: {
2402
+ inputMin: {
2403
+ t: 0,
2404
+ b: {
2405
+ t: 2,
2406
+ i: [{
2407
+ t: 3,
2408
+ v: "Must be more than "
2409
+ }, {
2410
+ t: 4,
2411
+ k: "value"
2412
+ }]
2413
+ }
2414
+ },
2415
+ maxLength: {
2416
+ t: 0,
2417
+ b: {
2418
+ t: 2,
2419
+ i: [
2420
+ {
2421
+ t: 3,
2422
+ v: "The value exceeds "
2423
+ },
2424
+ {
2425
+ t: 4,
2426
+ k: "value"
2427
+ },
2428
+ {
2429
+ t: 3,
2430
+ v: " characters"
2431
+ }
2432
+ ]
2433
+ }
2434
+ },
2435
+ inputMax: {
2436
+ t: 0,
2437
+ b: {
2438
+ t: 2,
2439
+ i: [{
2440
+ t: 3,
2441
+ v: "Must be less than "
2442
+ }, {
2443
+ t: 4,
2444
+ k: "value"
2445
+ }]
2446
+ }
2447
+ }
2448
+ },
2449
+ es: {
2450
+ inputMin: {
2451
+ t: 0,
2452
+ b: {
2453
+ t: 2,
2454
+ i: [{
2455
+ t: 3,
2456
+ v: "Debe ser mayor a "
2457
+ }, {
2458
+ t: 4,
2459
+ k: "value"
2460
+ }]
2461
+ }
2462
+ },
2463
+ maxLength: {
2464
+ t: 0,
2465
+ b: {
2466
+ t: 2,
2467
+ i: [
2468
+ {
2469
+ t: 3,
2470
+ v: "El valor excede los "
2471
+ },
2472
+ {
2473
+ t: 4,
2474
+ k: "value"
2475
+ },
2476
+ {
2477
+ t: 3,
2478
+ v: " carácteres"
2479
+ }
2480
+ ]
2481
+ }
2482
+ },
2483
+ inputMax: {
2484
+ t: 0,
2485
+ b: {
2486
+ t: 2,
2487
+ i: [{
2488
+ t: 3,
2489
+ v: "Debe ser menor a "
2490
+ }, {
2491
+ t: 4,
2492
+ k: "value"
2493
+ }]
2494
+ }
2495
+ },
2496
+ "Convert to uppercase": {
2497
+ t: 0,
2498
+ b: {
2499
+ t: 2,
2500
+ i: [{ t: 3 }],
2501
+ s: "Convertir a mayúsculas"
2502
+ }
2503
+ },
2504
+ Remove: {
2505
+ t: 0,
2506
+ b: {
2507
+ t: 2,
2508
+ i: [{ t: 3 }],
2509
+ s: "Eliminar"
2510
+ }
2511
+ }
2512
+ }
2513
+ }
2514
+ });
2515
+ }
2516
+ //#endregion
2517
+ //#region lib/components/inputs/VnInput.vue
2518
+ var Er = {
2519
+ __name: "VnInput",
2520
+ props: /*@__PURE__*/ me({
2521
+ isOutlined: {
2522
+ type: Boolean,
2523
+ default: !1
2524
+ },
2525
+ info: {
2526
+ type: String,
2527
+ default: ""
2528
+ },
2529
+ clearable: {
2530
+ type: Boolean,
2531
+ default: !0
2532
+ },
2533
+ emptyToNull: {
2534
+ type: Boolean,
2535
+ default: !0
2536
+ },
2537
+ insertable: {
2538
+ type: Boolean,
2539
+ default: !1
2540
+ },
2541
+ maxlength: {
2542
+ type: Number,
2543
+ default: null
2544
+ },
2545
+ uppercase: {
2546
+ type: Boolean,
2547
+ default: !1
2548
+ },
2549
+ clearOnHover: {
2550
+ type: Boolean,
2551
+ default: !1
2552
+ }
2553
+ }, {
2554
+ modelValue: { default: null },
2555
+ modelModifiers: {}
2556
+ }),
2557
+ emits: /*@__PURE__*/ me(["remove"], ["update:modelValue"]),
2558
+ setup(e, { expose: t, emit: n }) {
2559
+ let r = Te(), { isRequired: i, requiredFieldRule: a } = I(r), { t: o } = Ae(), s = n, c = e, l = Ee(e, "modelValue"), u = [
2560
+ "number",
2561
+ "search",
2562
+ "tel",
2563
+ "url",
2564
+ "password"
2565
+ ], d = (e) => {
2566
+ let t = e;
2567
+ c.emptyToNull && t === "" && (t = null), l.value = t;
2568
+ }, f = Y(null), p = Y(!1), m = R(() => c.isOutlined ? {
2569
+ dense: !0,
2570
+ outlined: !0,
2571
+ rounded: !0
2572
+ } : {}), h = (e) => {
2573
+ f.value?.focus(e);
2574
+ }, g = (e) => {
2575
+ G(() => {
2576
+ let t = e.target || f.value?.$el?.querySelector("input"), n = e.target.type || t?.getAttribute("type");
2577
+ if (n !== "email") {
2578
+ if (!u.includes(n)) {
2579
+ if (t?.setSelectionRange) {
2580
+ let e = t.value?.length ?? 0;
2581
+ t.setSelectionRange(e, e);
2582
+ }
2583
+ return;
2584
+ }
2585
+ t?.select?.();
2586
+ }
2587
+ });
2588
+ };
2589
+ t({
2590
+ focus: h,
2591
+ vnInputRef: f
2592
+ });
2593
+ let _ = R(() => [
2594
+ a,
2595
+ ...r.rules ?? [],
2596
+ (e) => {
2597
+ let t = c.maxlength;
2598
+ if (t && +e?.length > t) return o("maxLength", { value: t });
2599
+ let { min: n, max: i } = r, a = n === void 0 ? void 0 : Number(n), s = i === void 0 ? void 0 : Number(i);
2600
+ return a !== void 0 && a >= 0 && Math.floor(e) < a ? o("inputMin", { value: a }) : s !== void 0 && s > 0 && Math.floor(e) > s ? o("inputMax", { value: s }) : !0;
2601
+ }
2602
+ ]), v = (e) => {
2603
+ e.key !== "Backspace" && c.insertable && e.key.match(/[0-9]/) && y(e);
2604
+ }, y = (e) => {
2605
+ e.preventDefault();
2606
+ let t = e.target, n = t.selectionStart, r = c.maxlength, i = l.value;
2607
+ i ||= e.key;
2608
+ let a = e.key;
2609
+ a && !isNaN(a) && n < r && d(i.substring(0, n) + a + i.substring(n + 1)), G(() => {
2610
+ t.setSelectionRange(n + 1, n + 1);
2611
+ });
2612
+ }, b = () => {
2613
+ l.value = l.value?.toUpperCase() || "";
2614
+ };
2615
+ return q(() => {
2616
+ r.autofocus && h();
2617
+ }), (t, n) => (J(), ue("div", {
2618
+ onMouseover: n[1] ||= (e) => p.value = !0,
2619
+ onMouseleave: n[2] ||= (e) => p.value = !1
2620
+ }, [H(wr, he({
2621
+ ref_key: "vnInputRef",
2622
+ ref: f,
2623
+ "model-value": X(l),
2624
+ "onUpdate:modelValue": d
2625
+ }, {
2626
+ ...X(r),
2627
+ ...m.value
2628
+ }, {
2629
+ class: { required: X(i) },
2630
+ onKeydown: v,
2631
+ onFocus: g,
2632
+ clearable: !1,
2633
+ rules: _.value,
2634
+ "lazy-rules": !0,
2635
+ "hide-bottom-space": "",
2636
+ "data-cy": (X(r)["data-cy"] ?? X(r).label) + "_input",
2637
+ dense: ""
2638
+ }), de({
2639
+ append: Q(() => [
2640
+ Oe(H(M, {
2641
+ name: "close",
2642
+ size: "xs",
2643
+ class: "cursor-pointer",
2644
+ style: _e({ visibility: p.value && X(l) && !X(r).disabled && !X(r).readonly && c.clearable ? "visible" : "hidden" }),
2645
+ onClick: n[0] ||= () => {
2646
+ d(null), f.value?.focus(), s("remove");
2647
+ }
2648
+ }, {
2649
+ default: Q(() => [H(Ln, null, {
2650
+ default: Q(() => [fe(we(X(o)("Remove")), 1)]),
2651
+ _: 1
2652
+ })]),
2653
+ _: 1
2654
+ }, 8, ["style"]), [[De, !e.clearOnHover || p.value]]),
2655
+ !X(r).disabled && !X(r).readonly && c.uppercase ? (J(), z(M, {
2656
+ key: 0,
2657
+ name: "match_case",
2658
+ size: "xs",
2659
+ onClick: b,
2660
+ class: "uppercase-icon"
2661
+ }, {
2662
+ default: Q(() => [H(Ln, null, {
2663
+ default: Q(() => [fe(we(X(o)("Convert to uppercase")), 1)]),
2664
+ _: 1
2665
+ })]),
2666
+ _: 1
2667
+ })) : B("", !0),
2668
+ t.$slots.append && !X(r).disabled ? Ce(t.$slots, "append", {}, void 0, void 0, 1) : B("", !0),
2669
+ e.info ? (J(), z(M, {
2670
+ key: 2,
2671
+ name: "info"
2672
+ }, {
2673
+ default: Q(() => [H(Ln, { "max-width": "350px" }, {
2674
+ default: Q(() => [fe(we(e.info), 1)]),
2675
+ _: 1
2676
+ })]),
2677
+ _: 1
2678
+ })) : B("", !0)
2679
+ ]),
2680
+ _: 2
2681
+ }, [t.$slots.hint ? {
2682
+ name: "hint",
2683
+ fn: Q(() => [Ce(t.$slots, "hint")]),
2684
+ key: "0"
2685
+ } : void 0, t.$slots.prepend ? {
2686
+ name: "prepend",
2687
+ fn: Q(() => [Ce(t.$slots, "prepend")]),
2688
+ key: "1"
2689
+ } : void 0]), 1040, [
2690
+ "model-value",
2691
+ "class",
2692
+ "rules",
2693
+ "data-cy"
2694
+ ])], 32));
2695
+ }
2696
+ };
2697
+ typeof Tr == "function" && Tr(Er);
2698
+ //#endregion
2699
+ //#region lib/components/models/VnFetch.vue
2700
+ var Dr = {
2701
+ __name: "VnFetch",
2702
+ props: {
2703
+ autoLoad: {
2704
+ type: Boolean,
2705
+ default: !1
2706
+ },
2707
+ url: {
2708
+ type: String,
2709
+ default: ""
2710
+ },
2711
+ filter: {
2712
+ type: Object,
2713
+ default: null
2714
+ },
2715
+ where: {
2716
+ type: Object,
2717
+ default: null
2718
+ },
2719
+ sortBy: {
2720
+ type: String,
2721
+ default: ""
2722
+ },
2723
+ limit: {
2724
+ type: [String, Number],
2725
+ default: ""
2726
+ },
2727
+ params: {
2728
+ type: Object,
2729
+ default: null
2730
+ }
2731
+ },
2732
+ emits: ["onFetch"],
2733
+ setup(e, { expose: t, emit: n }) {
2734
+ let r = e, i = n;
2735
+ t({ fetch: a }), q(async () => {
2736
+ r.autoLoad && await a();
2737
+ });
2738
+ async function a(e = {}) {
2739
+ try {
2740
+ let t = {
2741
+ ...e,
2742
+ ...r.filter
2743
+ };
2744
+ r.where && !e.where && (t.where = r.where), r.sortBy && (t.order = r.sortBy), r.limit && (t.limit = r.limit);
2745
+ let { data: n } = await je.get(r.url, { params: {
2746
+ filter: JSON.stringify(t),
2747
+ ...r.params
2748
+ } });
2749
+ return i("onFetch", n), n;
2750
+ } catch {}
2751
+ }
2752
+ return (e, t) => (J(), ue("template"));
2753
+ }
2754
+ }, Or = C({
2755
+ name: "QInnerLoading",
2756
+ props: {
2757
+ ...Fe,
2758
+ ...We,
2759
+ showing: Boolean,
2760
+ color: String,
2761
+ size: {
2762
+ type: [String, Number],
2763
+ default: "42px"
2764
+ },
2765
+ label: String,
2766
+ labelClass: String,
2767
+ labelStyle: [
2768
+ String,
2769
+ Array,
2770
+ Object
2771
+ ]
2772
+ },
2773
+ setup(e, { slots: t }) {
2774
+ let n = Ie(e, U().proxy.$q), { transitionProps: r, transitionStyle: i } = Ge(e), a = R(() => "q-inner-loading q--avoid-card-border absolute-full column flex-center" + (n.value ? " q-inner-loading--dark" : "")), s = R(() => "q-inner-loading__label" + (e.labelClass === void 0 ? "" : ` ${e.labelClass}`));
2775
+ function c() {
2776
+ let t = [W(o, {
2777
+ size: e.size,
2778
+ color: e.color
2779
+ })];
2780
+ return e.label !== void 0 && t.push(W("div", {
2781
+ class: s.value,
2782
+ style: e.labelStyle
2783
+ }, [e.label])), t;
2784
+ }
2785
+ function l() {
2786
+ return e.showing ? W("div", {
2787
+ class: a.value,
2788
+ style: i.value
2789
+ }, t.default === void 0 ? c() : t.default()) : null;
2790
+ }
2791
+ return () => W(le, r.value, l);
2792
+ }
2793
+ });
2794
+ //#endregion
2795
+ //#region node_modules/.pnpm/quasar@2.23.3/node_modules/quasar/src/components/form/QForm.js
2796
+ function kr(e) {
2797
+ let t = e.validate();
2798
+ return typeof t.then == "function" ? t.then((t) => ({
2799
+ valid: t,
2800
+ comp: e
2801
+ }), (t) => ({
2802
+ valid: !1,
2803
+ comp: e,
2804
+ err: t
2805
+ })) : Promise.resolve({
2806
+ valid: t,
2807
+ comp: e
2808
+ });
2809
+ }
2810
+ var Ar = C({
2811
+ name: "QForm",
2812
+ props: {
2813
+ autofocus: Boolean,
2814
+ noErrorFocus: Boolean,
2815
+ noResetFocus: Boolean,
2816
+ greedy: Boolean,
2817
+ onSubmit: Function
2818
+ },
2819
+ emits: [
2820
+ "reset",
2821
+ "validationSuccess",
2822
+ "validationError"
2823
+ ],
2824
+ setup(e, { slots: t, emit: n }) {
2825
+ let r = U(), i = Y(null), a = 0, o = [];
2826
+ function s(t) {
2827
+ let r = typeof t == "boolean" ? t : !e.noErrorFocus, i = ++a, s = (e, t) => {
2828
+ n(`validation${e ? "Success" : "Error"}`, t);
2829
+ };
2830
+ return (e.greedy ? Promise.all(o.map(kr)).then((e) => e.filter((e) => !e.valid)) : o.reduce((e, t) => e.then(() => kr(t)).then((e) => {
2831
+ if (!e.valid) throw e;
2832
+ }), Promise.resolve()).catch((e) => [e])).then((e) => {
2833
+ if (e === void 0 || e.length === 0) return i === a && s(!0), !0;
2834
+ if (i === a) {
2835
+ let { comp: t, err: n } = e[0];
2836
+ if (n !== void 0 && console.error(n), s(!1, t), r) {
2837
+ let t = e.find(({ comp: e }) => typeof e.focus == "function" && !k(e.$));
2838
+ t !== void 0 && t.comp.focus();
2839
+ }
2840
+ }
2841
+ return !1;
2842
+ });
2843
+ }
2844
+ function c() {
2845
+ a++, o.forEach((e) => {
2846
+ typeof e.resetValidation == "function" && e.resetValidation();
2847
+ });
2848
+ }
2849
+ function u(t) {
2850
+ t !== void 0 && b(t);
2851
+ let r = a + 1;
2852
+ s().then((i) => {
2853
+ r === a && i && (e.onSubmit === void 0 ? t?.target !== void 0 && typeof t.target.submit == "function" && t.target.submit() : n("submit", t));
2854
+ });
2855
+ }
2856
+ function d(t) {
2857
+ t !== void 0 && b(t), n("reset"), G(() => {
2858
+ c(), e.autofocus && !e.noResetFocus && f();
2859
+ });
2860
+ }
2861
+ function f() {
2862
+ Qe(() => {
2863
+ i.value !== null && (i.value.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]") || i.value.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]") || i.value.querySelector("[autofocus], [data-autofocus]") || Array.prototype.find.call(i.value.querySelectorAll("[tabindex]"), (e) => e.tabIndex !== -1))?.focus({ preventScroll: !0 });
2864
+ });
2865
+ }
2866
+ Se(_, {
2867
+ bindComponent(e) {
2868
+ o.push(e);
2869
+ },
2870
+ unbindComponent(e) {
2871
+ let t = o.indexOf(e);
2872
+ t !== -1 && o.splice(t, 1);
2873
+ }
2874
+ });
2875
+ let p = !1;
2876
+ return be(() => {
2877
+ p = !0;
2878
+ }), ve(() => {
2879
+ p && e.autofocus && f();
2880
+ }), q(() => {
2881
+ e.autofocus && f();
2882
+ }), Object.assign(r.proxy, {
2883
+ validate: s,
2884
+ resetValidation: c,
2885
+ submit: u,
2886
+ reset: d,
2887
+ focus: f,
2888
+ getValidationComponents: () => o
2889
+ }), () => W("form", {
2890
+ class: "q-form",
2891
+ ref: i,
2892
+ onSubmit: u,
2893
+ onReset: d
2894
+ }, l(t.default));
2895
+ }
2896
+ }), jr = C({
2897
+ name: "QBtnGroup",
2898
+ props: {
2899
+ unelevated: Boolean,
2900
+ outline: Boolean,
2901
+ flat: Boolean,
2902
+ rounded: Boolean,
2903
+ square: Boolean,
2904
+ push: Boolean,
2905
+ stretch: Boolean,
2906
+ glossy: Boolean,
2907
+ spread: Boolean
2908
+ },
2909
+ setup(e, { slots: t }) {
2910
+ let n = R(() => {
2911
+ let t = [
2912
+ "unelevated",
2913
+ "outline",
2914
+ "flat",
2915
+ "rounded",
2916
+ "square",
2917
+ "push",
2918
+ "stretch",
2919
+ "glossy"
2920
+ ].filter((t) => e[t]).map((e) => `q-btn-group--${e}`).join(" ");
2921
+ return `q-btn-group row no-wrap${t.length === 0 ? "" : " " + t}` + (e.spread ? " q-btn-group--spread" : " inline");
2922
+ });
2923
+ return () => W("div", { class: n.value }, l(t.default));
2924
+ }
2925
+ });
2926
+ //#endregion
2927
+ //#region node_modules/.pnpm/vue-router@5.3.1_@vue+compiler-sfc@3.5.40_pinia@2.3.1_typescript@6.0.3_vue@3.5.40_types_283630f483506a805a78c2ac78846f2d/node_modules/vue-router/dist/devtools-CN5uWJaH.js
2928
+ function Mr(e, t, n) {
2929
+ let r = e.value;
2930
+ if (!r) {
2931
+ if (process.env.NODE_ENV !== "production") {
2932
+ let e = t === "updateGuards" ? "onBeforeRouteUpdate" : "onBeforeRouteLeave";
2933
+ O.VUE_ROUTER_R0020({ fn: e });
2934
+ }
2935
+ return;
2936
+ }
2937
+ let i = r, a = () => {
2938
+ i[t].delete(n);
2939
+ };
2940
+ xe(a), be(a), ve(() => {
2941
+ let r = e.value;
2942
+ process.env.NODE_ENV !== "production" && !r && O.VUE_ROUTER_R0021(), r && (i = r), i[t].add(n);
2943
+ }), i[t].add(n);
2944
+ }
2945
+ function Nr(e) {
2946
+ if (process.env.NODE_ENV !== "production" && !U()) {
2947
+ O.VUE_ROUTER_R0022({ fn: "onBeforeRouteLeave" });
2948
+ return;
2949
+ }
2950
+ Mr(pe(D, {}), "leaveGuards", e);
2951
+ }
2952
+ //#endregion
2953
+ //#region lib/components/models/VnForm.vue
2954
+ var Pr = {
2955
+ class: "column items-center full-width",
2956
+ style: { position: "relative" }
2957
+ }, Fr = ["textContent"], Ir = /*#__PURE__*/ Gt({
2958
+ __name: "VnForm",
2959
+ props: {
2960
+ url: {
2961
+ type: String,
2962
+ default: ""
2963
+ },
2964
+ model: {
2965
+ type: String,
2966
+ default: null
2967
+ },
2968
+ filter: {
2969
+ type: Object,
2970
+ default: null
2971
+ },
2972
+ urlUpdate: {
2973
+ type: String,
2974
+ default: null
2975
+ },
2976
+ urlCreate: {
2977
+ type: String,
2978
+ default: null
2979
+ },
2980
+ defaultActions: {
2981
+ type: Boolean,
2982
+ default: !0
2983
+ },
2984
+ defaultButtons: {
2985
+ type: Object,
2986
+ default: () => {}
2987
+ },
2988
+ autoLoad: {
2989
+ type: Boolean,
2990
+ default: !1
2991
+ },
2992
+ formInitialData: {
2993
+ type: Object,
2994
+ default: () => {}
2995
+ },
2996
+ observeFormChanges: {
2997
+ type: Boolean,
2998
+ default: !0,
2999
+ description: "Esto se usa principalmente para permitir guardar sin hacer cambios (Útil para la feature de clonar ya que en este caso queremos poder guardar de primeras)"
3000
+ },
3001
+ mapper: {
3002
+ type: Function,
3003
+ default: oe
3004
+ },
3005
+ clearStoreOnUnmount: {
3006
+ type: Boolean,
3007
+ default: !0
3008
+ },
3009
+ saveFn: {
3010
+ type: Function,
3011
+ default: null
3012
+ },
3013
+ goTo: {
3014
+ type: String,
3015
+ default: "",
3016
+ description: "It is used for redirect on click \"save and continue\""
3017
+ },
3018
+ reload: {
3019
+ type: Boolean,
3020
+ default: !0
3021
+ },
3022
+ defaultTrim: {
3023
+ type: Boolean,
3024
+ default: !0
3025
+ },
3026
+ maxWidth: {
3027
+ type: [String, Boolean],
3028
+ default: "800px"
3029
+ },
3030
+ onDataSaved: {
3031
+ type: Function,
3032
+ default: () => {}
3033
+ },
3034
+ preventSubmit: {
3035
+ type: Boolean,
3036
+ default: !1
3037
+ },
3038
+ customMethod: {
3039
+ type: String,
3040
+ default: null
3041
+ },
3042
+ formUrl: {
3043
+ type: [String, Boolean],
3044
+ default: "createForm"
3045
+ },
3046
+ paddingClass: {
3047
+ type: String,
3048
+ default: "q-pa-md"
3049
+ },
3050
+ showTitle: {
3051
+ type: Boolean,
3052
+ default: !1
3053
+ },
3054
+ title: {
3055
+ type: String,
3056
+ default: null
3057
+ }
3058
+ },
3059
+ emits: [
3060
+ "onFetch",
3061
+ "onDataSaved",
3062
+ "onDataSaveFail",
3063
+ "submit"
3064
+ ],
3065
+ setup(e, { expose: t, emit: n }) {
3066
+ let { push: r } = ie(), i = ne(), a = N(), o = ae(), { t: s } = Ae(), { validate: c, validations: l } = E(), { notify: u } = re(), d = T(), f = Y(null), p = e, m = n, h = R(() => p.model ?? `formModel_${d?.meta?.title ?? d.name}`).value, g = Y(!1), _ = te(h), v = Y(!1), y = Y(!1), b = Y(!p.observeFormChanges), x = {}, S = R(() => a.get(h)), C = Y(), w = R(() => f.value?.$el), D = R(() => ({
3067
+ save: {
3068
+ dataCy: "saveDefaultBtn",
3069
+ color: "primary",
3070
+ icon: "save",
3071
+ label: "globals.save",
3072
+ click: async (e) => O(e),
3073
+ type: "submit"
3074
+ },
3075
+ reset: {
3076
+ dataCy: "resetDefaultBtn",
3077
+ color: "primary",
3078
+ icon: "restart_alt",
3079
+ label: "globals.reset",
3080
+ click: () => I()
3081
+ },
3082
+ ...p.defaultButtons
3083
+ })), O = async (e) => {
3084
+ await f.value.validate() && await P(e);
3085
+ };
3086
+ function k() {
3087
+ x = p.formUrl ? JSON.parse(d?.query[p.formUrl] ?? "{}") : void 0;
3088
+ }
3089
+ q(async () => {
3090
+ !_.store.url && p.url && _.setOptions({
3091
+ url: p.url,
3092
+ filter: p.filter
3093
+ }), k(), G(() => g.value = !0), p.formInitialData && x && a.set(h, {
3094
+ ...p.formInitialData,
3095
+ ...x
3096
+ }), p.formInitialData || (p.autoLoad && p.url ? await M() : _.store.data && oe("onFetch", { val: _.store.data })), p.observeFormChanges && Z(() => C.value, (e, t) => {
3097
+ t && (b.value = !y.value && JSON.stringify(e) !== JSON.stringify(S.value), y.value = !1);
3098
+ }, { deep: !0 });
3099
+ }), p.url || Z(() => _.store.data, (e) => oe("onFetch", { val: e })), Z(S, async (e) => {
3100
+ e && (C.value = JSON.parse(JSON.stringify(e))), await G(), w.value && ee(w.value);
3101
+ }, { immediate: !0 }), Z(() => [p.url, p.filter], async () => {
3102
+ a.set(h, null), I(), await M();
3103
+ }), p.formInitialData && Z(() => p.formInitialData, (e) => {
3104
+ e && a.set(h, {
3105
+ ...e,
3106
+ ...x
3107
+ });
3108
+ }), Nr((e, t, n) => {
3109
+ b.value && p.observeFormChanges ? i.dialog({
3110
+ component: Yt,
3111
+ componentProps: {
3112
+ title: s("globals.unsavedPopup.title"),
3113
+ message: s("globals.unsavedPopup.subtitle"),
3114
+ promise: () => n()
3115
+ }
3116
+ }) : n();
3117
+ }), xe(() => {
3118
+ if (b.value) return a.set(h, S.value);
3119
+ p.clearStoreOnUnmount && a.unset(h);
3120
+ });
3121
+ async function M() {
3122
+ try {
3123
+ let e;
3124
+ e = p.model ? (await _.addFilter({ filter: p.filter })).response?.data : (await je.get(p.url, { params: { filter: JSON.stringify(p.filter) } })).data, Array.isArray(e) && (e = e[0] ?? {}), oe("onFetch", { val: e });
3125
+ } catch (e) {
3126
+ throw a.set(h, {}), e;
3127
+ }
3128
+ }
3129
+ async function P() {
3130
+ if (p.observeFormChanges && !b.value) return u("globals.noChanges", "negative");
3131
+ v.value = !0;
3132
+ try {
3133
+ C.value = le(C.value);
3134
+ let e = p.urlCreate ? "post" : "patch", t = e === "post" ? p.mapper(C.value) : p.mapper(C.value, S.value), n = p.urlCreate || p.urlUpdate || p.url || _.store.url, r = await Promise.resolve(p.saveFn ? p.saveFn(t) : je[p.customMethod ?? e](n, t));
3135
+ p.urlCreate && u("globals.dataCreated", "positive"), b.value = !1, oe("onDataSaved", {
3136
+ val: C.value,
3137
+ res: r?.data,
3138
+ old: S.value,
3139
+ rawRes: r
3140
+ }), p.reload && await _.fetch({});
3141
+ } catch (e) {
3142
+ throw m("onDataSaveFail", C.value), e;
3143
+ } finally {
3144
+ v.value = !1;
3145
+ }
3146
+ }
3147
+ async function F() {
3148
+ await P(!0), r({ path: p.goTo });
3149
+ }
3150
+ function I() {
3151
+ C.value = JSON.parse(JSON.stringify(S.value)), oe("onFetch", { val: S.value }), p.observeFormChanges && (b.value = !1, y.value = !0);
3152
+ }
3153
+ function L(e, t, n) {
3154
+ t(() => {
3155
+ let { options: t, filterFn: r } = n;
3156
+ t.value = r(t, e);
3157
+ }, (e) => {
3158
+ e.setOptionIndex(-1), e.moveOptionSelection(1, !0);
3159
+ });
3160
+ }
3161
+ async function oe(e, { val: t, res: n, old: r, rawRes: i } = {
3162
+ val: null,
3163
+ res: null,
3164
+ old: null,
3165
+ rawRes: null
3166
+ }) {
3167
+ a.set(h, t), p.url || (_.store.data = t), m(e, a.get(h), n, r, C, i), w.value && ee(w.value);
3168
+ }
3169
+ function le(e) {
3170
+ if (!p.defaultTrim) return e;
3171
+ for (let t in e) typeof e[t] == "string" && (e[t] = e[t].trim());
3172
+ return e;
3173
+ }
3174
+ async function de(e) {
3175
+ if (e.key === "Enter" && !p.preventSubmit && b.value) {
3176
+ let t = e.target;
3177
+ if (t.type == "textarea" && e.shiftKey) {
3178
+ let { selectionStart: e, selectionEnd: n } = t;
3179
+ t.value = t.value.substring(0, e) + "\n" + t.value.substring(n), e = n = e + 1;
3180
+ return;
3181
+ }
3182
+ await f.value.submit(e);
3183
+ }
3184
+ }
3185
+ return t({
3186
+ submitForm: O,
3187
+ myForm: f,
3188
+ save: P,
3189
+ isLoading: v,
3190
+ hasChanges: b,
3191
+ reset: I,
3192
+ fetch: M,
3193
+ formData: C
3194
+ }), (t, n) => (J(), ue(se, null, [V("div", Pr, [H(Or, {
3195
+ showing: v.value,
3196
+ label: X(s)("globals.pleaseWait"),
3197
+ color: "primary",
3198
+ style: { "min-width": "100%" }
3199
+ }, {
3200
+ default: Q(() => [H(X(on), { size: "md" })]),
3201
+ _: 1
3202
+ }, 8, ["showing", "label"]), C.value ? (J(), z(Ar, he({
3203
+ key: 0,
3204
+ id: "vnForm"
3205
+ }, t.$attrs, {
3206
+ ref_key: "myForm",
3207
+ ref: f,
3208
+ onSubmit: ke(P, ["prevent"]),
3209
+ onKeyup: ke(de, ["prevent"]),
3210
+ onReset: I,
3211
+ class: ["full-width", [e.paddingClass]],
3212
+ style: {
3213
+ maxWidth: e.maxWidth || "none",
3214
+ width: "100%"
3215
+ }
3216
+ }), {
3217
+ default: Q(() => [H(Le, { class: "q-pa-none" }, {
3218
+ default: Q(() => [e.showTitle ? (J(), z(Ne, {
3219
+ key: 0,
3220
+ class: "vn-basic-data__header q-px-none q-pb-none"
3221
+ }, {
3222
+ default: Q(() => [V("span", {
3223
+ class: "text-h6",
3224
+ textContent: we(e.title || t.$t("globals.pageTitles.basicData"))
3225
+ }, null, 8, Fr)]),
3226
+ _: 1
3227
+ })) : B("", !0), C.value ? Ce(t.$slots, "form", {
3228
+ data: C.value,
3229
+ validate: X(c),
3230
+ validations: X(l)(),
3231
+ filter: L
3232
+ }, void 0, !0, 1) : (J(), z(X(an), { key: 2 }))]),
3233
+ _: 3
3234
+ })]),
3235
+ _: 3
3236
+ }, 16, ["class", "style"])) : B("", !0)]), p.defaultActions && X(o)?.isSubToolbarShown() && g.value ? (J(), z(ce, {
3237
+ key: 0,
3238
+ to: "#st-actions"
3239
+ }, [H(jr, {
3240
+ push: "",
3241
+ class: "q-gutter-x-sm"
3242
+ }, {
3243
+ default: Q(() => [
3244
+ Ce(t.$slots, "moreActions", {}, void 0, !0),
3245
+ H(A, {
3246
+ label: X(j)(D.value.reset.label),
3247
+ color: D.value.reset.color,
3248
+ icon: D.value.reset.icon,
3249
+ flat: "",
3250
+ onClick: D.value.reset.click,
3251
+ disable: !b.value,
3252
+ title: X(s)(D.value.reset.label),
3253
+ "data-cy": "resetDefaultBtn"
3254
+ }, null, 8, [
3255
+ "label",
3256
+ "color",
3257
+ "icon",
3258
+ "onClick",
3259
+ "disable",
3260
+ "title"
3261
+ ]),
3262
+ H(A, {
3263
+ "data-cy": "saveDefaultBtn",
3264
+ label: X(j)("globals.save"),
3265
+ color: "primary",
3266
+ icon: "save",
3267
+ onClick: D.value.save.click,
3268
+ disable: !b.value,
3269
+ title: X(s)(D.value.save.label),
3270
+ flat: !!p.goTo
3271
+ }, null, 8, [
3272
+ "label",
3273
+ "onClick",
3274
+ "disable",
3275
+ "title",
3276
+ "flat"
3277
+ ]),
3278
+ p.goTo ? (J(), z(A, {
3279
+ key: 0,
3280
+ "data-cy": "saveAndContinueDefaultBtn",
3281
+ onClick: F,
3282
+ label: X(j)("globals.saveAndContinue") + " " + X(s)("globals." + p.goTo.split("/").pop()),
3283
+ title: X(s)("globals.saveAndContinue") + " " + X(s)("globals." + p.goTo.split("/").pop()),
3284
+ disable: !b.value,
3285
+ color: "primary",
3286
+ icon: "save"
3287
+ }, null, 8, [
3288
+ "label",
3289
+ "title",
3290
+ "disable"
3291
+ ])) : B("", !0)
3292
+ ]),
3293
+ _: 3
3294
+ })])) : B("", !0)], 64));
3295
+ }
3296
+ }, [["__scopeId", "data-v-ffc76361"]]), Lr = /* @__PURE__ */ w({
3297
+ VnConfirm: () => Yt,
3298
+ VnFetch: () => Dr,
3299
+ VnForm: () => Ir,
3300
+ VnInput: () => Er,
3301
+ VnSkeletonForm: () => an,
3302
+ VnSpinner: () => on
3303
+ });
3304
+ //#endregion
3305
+ export { on as a, Er as i, Ir as n, an as o, Dr as r, Yt as s, Lr as t };