@ianicdev/datatables2 0.9.10 → 0.10.1

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 (42) hide show
  1. package/dist/{Columns-CPYUVLvE.js → Columns-6xlIFq_S.js} +1 -1
  2. package/dist/{Columns-BaARuW1m.cjs → Columns-DC9bpj0E.cjs} +1 -1
  3. package/dist/{Comparison-BiPlTpXM.js → Comparison-Dq4BkohR.js} +1 -1
  4. package/dist/{Comparison-DDhGIBui.cjs → Comparison-ame-DP3a.cjs} +1 -1
  5. package/dist/Datepicker--ZUiSi7m.js +1411 -0
  6. package/dist/Datepicker-COihnScF.cjs +2 -0
  7. package/dist/{Download-FGUE_z5x.js → Download-2WQpbEfa.js} +2 -2
  8. package/dist/{Download-DZqwXPMb.cjs → Download-zuQjsbMu.cjs} +1 -1
  9. package/dist/{Options-B-Vq57w_.cjs → Options-BjAdXS-q.cjs} +1 -1
  10. package/dist/{Options-CAwRqQpx.js → Options-g9ZSVebW.js} +1 -1
  11. package/dist/{RefreshTable-C-UPC-U5.cjs → RefreshTable-C3L0Baro.cjs} +1 -1
  12. package/dist/{RefreshTable-DyLlkCOt.js → RefreshTable-C966AEK4.js} +2 -2
  13. package/dist/{Search-Tks4mpaH.cjs → Search-BBoxkqD7.cjs} +1 -1
  14. package/dist/{Search-DBOrKgEi.js → Search-BPB-1_Dp.js} +2 -2
  15. package/dist/{Table-DYDzb63V.cjs → Table-BulChdHr.cjs} +1 -1
  16. package/dist/{Table-P8c-sRdr.js → Table-vFGT7Szy.js} +2 -2
  17. package/dist/{TableServer--svcmINA.js → TableServer-DAj4z8yP.js} +1138 -1134
  18. package/dist/TableServer-Dc9U14eJ.cjs +20 -0
  19. package/dist/cellRender-Cfwedens.cjs +1 -0
  20. package/dist/{cellRender-BPzg8pfq.js → cellRender-Ct6pUDNH.js} +986 -921
  21. package/dist/{dataTables-CPrc2H_E.js → dataTables-B-LwTPCL.js} +2409 -2263
  22. package/dist/dataTables-Bk4R-V8b.cjs +4 -0
  23. package/dist/datatables.cjs +1 -1
  24. package/dist/datatables.js +1 -1
  25. package/dist/datatables2.css +1 -1
  26. package/dist/index-3kLkZg7E.js +4101 -0
  27. package/dist/{index-Dn353bZ1.cjs → index-B6qrTNVx.cjs} +1 -1
  28. package/dist/index-B_4Yq7Un.cjs +1 -0
  29. package/dist/{index-CXBiVM0n.js → index-CQy1mX45.js} +1 -1
  30. package/dist/{index.es-DbLPWyn6.cjs → index.es-Ciudu1vj.cjs} +2 -2
  31. package/dist/{index.es-BXudRhtE.js → index.es-eRsZ1LFr.js} +10 -6
  32. package/dist/jspdf-B3ZoDzKb.cjs +79 -0
  33. package/dist/{jspdf-Dt---f5Z.js → jspdf-ooxm5O8S.js} +3905 -3893
  34. package/package.json +13 -13
  35. package/dist/Datepicker-CzJ1wZmm.cjs +0 -1
  36. package/dist/Datepicker-KGlOP9ck.js +0 -1269
  37. package/dist/TableServer-ftB17VAQ.cjs +0 -20
  38. package/dist/cellRender-DpRXHxxv.cjs +0 -1
  39. package/dist/dataTables-CxQh692H.cjs +0 -4
  40. package/dist/index-BTfw-D-T.cjs +0 -1
  41. package/dist/index-BW-yzY3p.js +0 -4106
  42. package/dist/jspdf-DQdhUPLM.cjs +0 -79
@@ -1,4106 +0,0 @@
1
- import { ref as R, inject as ye, computed as V, watch as ie, nextTick as me, createVNode as d, normalizeStyle as be, normalizeClass as ae, createElementVNode as S, Fragment as se, toDisplayString as Ue, shallowRef as ne, withDirectives as Te, mergeProps as U, useId as De, toRef as T, provide as Be, onScopeDispose as it, unref as E, onBeforeMount as Ul, onBeforeUnmount as al, onMounted as Oe, createBlock as ve, openBlock as X, isRef as $e, withCtx as te, createElementBlock as Ee, renderList as It, vShow as st, mergeModels as wt, useModel as ut, cloneVNode as jl, watchEffect as pt, toValue as qt, createTextVNode as Kl, defineAsyncComponent as Se, resolveDynamicComponent as xe, createCommentVNode as He } from "vue";
2
- import { S as ql } from "./sortablejs-C0WJhxmJ.js";
3
- import { defineStore as ol } from "pinia";
4
- import { g as Y, p as L, a as _t, u as ee, m as Ce, b as re, c as Gl, V as je, d as ge, e as ke, f as We, I as ue, R as Ne, h as Re, i as Pt, j as il, k as rt, l as Je, n as At, o as sl, q as Ft, r as ul, s as Xe, t as rl, v as cl, w as Wl, L as dl, x as Tt, y as Pe, z as vl, A as Ye, B as fl, C as Dt, D as ml, E as Bt, F as Qe, G as Et, H as we, J as ze, K as pe, M as Ot, N as Ae, O as ct, P as dt, Q as kt, S as Ze, T as Le, U as gl, W as $t, X as vt, Y as yl, Z as bl, _ as hl, $ as St, a0 as ft, a1 as Jl, a2 as et, a3 as Xl, a4 as Ke, a5 as Gt, a6 as Yl, a7 as pl, a8 as Ct, a9 as _e, aa as Ie, ab as Nt, ac as nt, ad as Vt, ae as kl, af as Fe, ag as Ql, ah as Zl, ai as en, aj as Sl, ak as Cl, al as at, am as Wt, an as Vl, ao as tn, ap as ln, aq as Jt, ar as xl, as as nn, at as an, au as on, av as sn, aw as un, ax as Me, ay as Xt, az as rn, aA as cn, aB as dn, aC as vn, aD as fn, aE as mn, aF as gn, aG as yn, aH as Yt, aI as bn, aJ as hn, aK as pn, aL as kn, aM as Sn, aN as Cn, aO as Vn } from "./dataTables-CPrc2H_E.js";
5
- import { createSharedComposable as xn } from "@vueuse/core";
6
- const mt = ol("datatables", () => {
7
- const e = R([]), o = ({ table_id: u }) => {
8
- const m = e.value.findIndex(
9
- (a) => a.id === u
10
- ), i = {
11
- search: {
12
- query: ""
13
- },
14
- advancedFilters: {
15
- query: {}
16
- },
17
- hardFilters: {
18
- query: {}
19
- },
20
- options: {
21
- hash: null,
22
- columns: {},
23
- state: {}
24
- }
25
- };
26
- m !== -1 && e.value.splice(m, 1), e.value.push({ id: u, ...i });
27
- }, n = async (u) => {
28
- const i = new TextEncoder().encode(u), a = await crypto.subtle.digest("SHA-256", i);
29
- return Array.from(new Uint8Array(a)).map((f) => f.toString(16).padStart(2, "0")).join("");
30
- }, t = ({ table_id: u, headers: m }) => {
31
- n(JSON.stringify(m ?? [])).then((i) => {
32
- l({ table_id: u, name: "options", value: { hash: i } });
33
- });
34
- }, l = ({ table_id: u, name: m, value: i }) => {
35
- e.value = e.value.map((a) => {
36
- if (a.id === u && a.hasOwnProperty(m)) {
37
- const v = a[m];
38
- if (v && typeof i == "object")
39
- for (const y in i)
40
- y in v && (v[y] = i[y]);
41
- }
42
- return a;
43
- });
44
- };
45
- return {
46
- // Store Data
47
- tables: e,
48
- // Store Methods
49
- addTable: o,
50
- setData: l,
51
- restoreData: ({ table_id: u, data: m }) => {
52
- e.value = e.value.map((i) => (i.id === u && (i = m), i));
53
- },
54
- getCurrentTable: (u) => e.value.find((m) => m.id === u),
55
- // Hash
56
- hashString: n,
57
- setTableHash: t
58
- };
59
- });
60
- function tt() {
61
- const { setData: e, getCurrentTable: o } = mt(), n = ye("table_props"), t = V(() => o(n.id)), l = V(() => t.value.search?.query), s = V(() => {
62
- if (!n?.headers.length) return null;
63
- const m = t.value.options?.columns.selected ?? [];
64
- return (t.value.options?.columns.sorted ?? []).filter((v) => m.includes(v)).map(
65
- (v) => n.headers.find((y) => y.key === v)
66
- );
67
- }), c = V(() => t.value.hardFilters?.query), r = V(() => t.value.advancedFilters?.query);
68
- return {
69
- tableState: t,
70
- searchState: l,
71
- advancedFiltersState: r,
72
- hardFiltersState: c,
73
- headersState: s,
74
- saveTableOptions: (m) => {
75
- e({
76
- table_id: n.id,
77
- name: "options",
78
- value: {
79
- state: m
80
- }
81
- });
82
- }
83
- };
84
- }
85
- function Il(e) {
86
- const o = mt(), { getCurrentTable: n, setTableHash: t, hashString: l } = o, s = R(!1), c = 5, r = V(() => n(e.id));
87
- ie(
88
- r,
89
- async (y) => {
90
- y.options.hash && await u(y);
91
- },
92
- {
93
- deep: !0
94
- }
95
- );
96
- const u = async (y) => {
97
- if (s.value) return;
98
- s.value = !0, await me();
99
- const f = m(), h = f.findIndex(
100
- (k) => k.id === e.id
101
- );
102
- h > -1 ? f[h] = y : f.push(y), localStorage.setItem("datatables-state", JSON.stringify(f)), s.value = !1;
103
- }, m = () => {
104
- const y = localStorage.getItem("datatables-state");
105
- return JSON.parse(y ?? "[]");
106
- }, i = () => m().find((h) => h.id === e.id);
107
- return {
108
- saving: s,
109
- dataStateGet: i,
110
- tableDataState: r,
111
- checkTableState: async () => {
112
- const y = localStorage.getItem("datatables-state-v");
113
- parseInt(y) !== parseInt(c) && (localStorage.removeItem("datatables-state"), localStorage.setItem("datatables-state-v", c));
114
- const h = i()?.options.hash;
115
- if (h) {
116
- const k = await l(JSON.stringify(e.headers ?? []));
117
- h !== k && localStorage.removeItem("datatables-state");
118
- }
119
- t({ table_id: e.id, headers: e.headers });
120
- },
121
- deleteDataStorage: () => {
122
- localStorage.removeItem("datatables-state"), localStorage.removeItem("datatables-state-v");
123
- }
124
- };
125
- }
126
- const In = L({
127
- ...re(),
128
- ...Ce()
129
- }, "VCardActions"), Rt = Y()({
130
- name: "VCardActions",
131
- props: In(),
132
- setup(e, o) {
133
- let {
134
- slots: n
135
- } = o;
136
- return _t({
137
- VBtn: {
138
- slim: !0,
139
- variant: "text"
140
- }
141
- }), ee(() => d(e.tag, {
142
- class: ae(["v-card-actions", e.class]),
143
- style: be(e.style)
144
- }, n)), {};
145
- }
146
- }), wn = L({
147
- opacity: [Number, String],
148
- ...re(),
149
- ...Ce()
150
- }, "VCardSubtitle"), _n = Y()({
151
- name: "VCardSubtitle",
152
- props: wn(),
153
- setup(e, o) {
154
- let {
155
- slots: n
156
- } = o;
157
- return ee(() => d(e.tag, {
158
- class: ae(["v-card-subtitle", e.class]),
159
- style: be([{
160
- "--v-card-subtitle-opacity": e.opacity
161
- }, e.style])
162
- }, n)), {};
163
- }
164
- }), gt = Gl("v-card-title"), Pn = L({
165
- appendAvatar: String,
166
- appendIcon: ue,
167
- prependAvatar: String,
168
- prependIcon: ue,
169
- subtitle: {
170
- type: [String, Number, Boolean],
171
- default: void 0
172
- },
173
- title: {
174
- type: [String, Number, Boolean],
175
- default: void 0
176
- },
177
- ...re(),
178
- ...We(),
179
- ...Ce()
180
- }, "VCardItem"), An = Y()({
181
- name: "VCardItem",
182
- props: Pn(),
183
- setup(e, o) {
184
- let {
185
- slots: n
186
- } = o;
187
- return ee(() => {
188
- const t = !!(e.prependAvatar || e.prependIcon), l = !!(t || n.prepend), s = !!(e.appendAvatar || e.appendIcon), c = !!(s || n.append), r = !!(e.title != null || n.title), u = !!(e.subtitle != null || n.subtitle);
189
- return d(e.tag, {
190
- class: ae(["v-card-item", e.class]),
191
- style: be(e.style)
192
- }, {
193
- default: () => [l && S("div", {
194
- key: "prepend",
195
- class: "v-card-item__prepend"
196
- }, [n.prepend ? d(ke, {
197
- key: "prepend-defaults",
198
- disabled: !t,
199
- defaults: {
200
- VAvatar: {
201
- density: e.density,
202
- image: e.prependAvatar
203
- },
204
- VIcon: {
205
- density: e.density,
206
- icon: e.prependIcon
207
- }
208
- }
209
- }, n.prepend) : S(se, null, [e.prependAvatar && d(je, {
210
- key: "prepend-avatar",
211
- density: e.density,
212
- image: e.prependAvatar
213
- }, null), e.prependIcon && d(ge, {
214
- key: "prepend-icon",
215
- density: e.density,
216
- icon: e.prependIcon
217
- }, null)])]), S("div", {
218
- class: "v-card-item__content"
219
- }, [r && d(gt, {
220
- key: "title"
221
- }, {
222
- default: () => [n.title?.() ?? Ue(e.title)]
223
- }), u && d(_n, {
224
- key: "subtitle"
225
- }, {
226
- default: () => [n.subtitle?.() ?? Ue(e.subtitle)]
227
- }), n.default?.()]), c && S("div", {
228
- key: "append",
229
- class: "v-card-item__append"
230
- }, [n.append ? d(ke, {
231
- key: "append-defaults",
232
- disabled: !s,
233
- defaults: {
234
- VAvatar: {
235
- density: e.density,
236
- image: e.appendAvatar
237
- },
238
- VIcon: {
239
- density: e.density,
240
- icon: e.appendIcon
241
- }
242
- }
243
- }, n.append) : S(se, null, [e.appendIcon && d(ge, {
244
- key: "append-icon",
245
- density: e.density,
246
- icon: e.appendIcon
247
- }, null), e.appendAvatar && d(je, {
248
- key: "append-avatar",
249
- density: e.density,
250
- image: e.appendAvatar
251
- }, null)])])]
252
- });
253
- }), {};
254
- }
255
- }), Fn = L({
256
- opacity: [Number, String],
257
- ...re(),
258
- ...Ce()
259
- }, "VCardText"), yt = Y()({
260
- name: "VCardText",
261
- props: Fn(),
262
- setup(e, o) {
263
- let {
264
- slots: n
265
- } = o;
266
- return ee(() => d(e.tag, {
267
- class: ae(["v-card-text", e.class]),
268
- style: be([{
269
- "--v-card-text-opacity": e.opacity
270
- }, e.style])
271
- }, n)), {};
272
- }
273
- }), Tn = L({
274
- appendAvatar: String,
275
- appendIcon: ue,
276
- disabled: Boolean,
277
- flat: Boolean,
278
- hover: Boolean,
279
- image: String,
280
- link: {
281
- type: Boolean,
282
- default: void 0
283
- },
284
- prependAvatar: String,
285
- prependIcon: ue,
286
- ripple: {
287
- type: [Boolean, Object],
288
- default: !0
289
- },
290
- subtitle: {
291
- type: [String, Number, Boolean],
292
- default: void 0
293
- },
294
- text: {
295
- type: [String, Number, Boolean],
296
- default: void 0
297
- },
298
- title: {
299
- type: [String, Number, Boolean],
300
- default: void 0
301
- },
302
- ...Et(),
303
- ...re(),
304
- ...We(),
305
- ...Qe(),
306
- ...Bt(),
307
- ...ml(),
308
- ...Dt(),
309
- ...fl(),
310
- ...Ye(),
311
- ...vl(),
312
- ...Ce(),
313
- ...Pe(),
314
- ...Tt({
315
- variant: "elevated"
316
- })
317
- }, "VCard"), Lt = Y()({
318
- name: "VCard",
319
- directives: {
320
- vRipple: Ne
321
- },
322
- props: Tn(),
323
- setup(e, o) {
324
- let {
325
- attrs: n,
326
- slots: t
327
- } = o;
328
- const {
329
- themeClasses: l
330
- } = Re(e), {
331
- borderClasses: s
332
- } = Pt(e), {
333
- colorClasses: c,
334
- colorStyles: r,
335
- variantClasses: u
336
- } = il(e), {
337
- densityClasses: m
338
- } = rt(e), {
339
- dimensionStyles: i
340
- } = Je(e), {
341
- elevationClasses: a
342
- } = At(e), {
343
- loaderClasses: v
344
- } = sl(e), {
345
- locationStyles: y
346
- } = Ft(e), {
347
- positionClasses: f
348
- } = ul(e), {
349
- roundedClasses: h
350
- } = Xe(e), k = rl(e, n), C = ne(void 0);
351
- return ie(() => e.loading, (w, D) => {
352
- C.value = !w && typeof D == "string" ? D : typeof w == "boolean" ? void 0 : w;
353
- }, {
354
- immediate: !0
355
- }), ee(() => {
356
- const w = e.link !== !1 && k.isLink.value, D = !e.disabled && e.link !== !1 && (e.link || k.isClickable.value), F = w ? "a" : e.tag, _ = !!(t.title || e.title != null), $ = !!(t.subtitle || e.subtitle != null), P = _ || $, I = !!(t.append || e.appendAvatar || e.appendIcon), B = !!(t.prepend || e.prependAvatar || e.prependIcon), z = !!(t.image || e.image), j = P || B || I, K = !!(t.text || e.text != null);
357
- return Te(d(F, U(k.linkProps, {
358
- class: ["v-card", {
359
- "v-card--disabled": e.disabled,
360
- "v-card--flat": e.flat,
361
- "v-card--hover": e.hover && !(e.disabled || e.flat),
362
- "v-card--link": D
363
- }, l.value, s.value, c.value, m.value, a.value, v.value, f.value, h.value, u.value, e.class],
364
- style: [r.value, i.value, y.value, e.style],
365
- onClick: D && k.navigate,
366
- tabindex: e.disabled ? -1 : void 0
367
- }), {
368
- default: () => [z && S("div", {
369
- key: "image",
370
- class: "v-card__image"
371
- }, [t.image ? d(ke, {
372
- key: "image-defaults",
373
- disabled: !e.image,
374
- defaults: {
375
- VImg: {
376
- cover: !0,
377
- src: e.image
378
- }
379
- }
380
- }, t.image) : d(Wl, {
381
- key: "image-img",
382
- cover: !0,
383
- src: e.image
384
- }, null)]), d(dl, {
385
- name: "v-card",
386
- active: !!e.loading,
387
- color: C.value
388
- }, {
389
- default: t.loader
390
- }), j && d(An, {
391
- key: "item",
392
- prependAvatar: e.prependAvatar,
393
- prependIcon: e.prependIcon,
394
- title: e.title,
395
- subtitle: e.subtitle,
396
- appendAvatar: e.appendAvatar,
397
- appendIcon: e.appendIcon
398
- }, {
399
- default: t.item,
400
- prepend: t.prepend,
401
- title: t.title,
402
- subtitle: t.subtitle,
403
- append: t.append
404
- }), K && d(yt, {
405
- key: "text"
406
- }, {
407
- default: () => [t.text?.() ?? e.text]
408
- }), t.default?.(), t.actions && d(Rt, null, {
409
- default: t.actions
410
- }), cl(D, "v-card")]
411
- }), [[Ne, D && e.ripple]]);
412
- }), {};
413
- }
414
- }), Dn = L({
415
- text: String,
416
- onClick: we(),
417
- ...re(),
418
- ...Pe()
419
- }, "VLabel"), wl = Y()({
420
- name: "VLabel",
421
- props: Dn(),
422
- setup(e, o) {
423
- let {
424
- slots: n
425
- } = o;
426
- return ee(() => S("label", {
427
- class: ae(["v-label", {
428
- "v-label--clickable": !!e.onClick
429
- }, e.class]),
430
- style: be(e.style),
431
- onClick: e.onClick
432
- }, [e.text, n.default?.()])), {};
433
- }
434
- }), _l = Symbol.for("vuetify:selection-control-group"), Pl = L({
435
- color: String,
436
- disabled: {
437
- type: Boolean,
438
- default: null
439
- },
440
- defaultsTarget: String,
441
- error: Boolean,
442
- id: String,
443
- inline: Boolean,
444
- falseIcon: ue,
445
- trueIcon: ue,
446
- ripple: {
447
- type: [Boolean, Object],
448
- default: !0
449
- },
450
- multiple: {
451
- type: Boolean,
452
- default: null
453
- },
454
- name: String,
455
- readonly: {
456
- type: Boolean,
457
- default: null
458
- },
459
- modelValue: null,
460
- type: String,
461
- valueComparator: {
462
- type: Function,
463
- default: ze
464
- },
465
- ...re(),
466
- ...We(),
467
- ...Pe()
468
- }, "SelectionControlGroup"), Bn = L({
469
- ...Pl({
470
- defaultsTarget: "VSelectionControl"
471
- })
472
- }, "VSelectionControlGroup");
473
- Y()({
474
- name: "VSelectionControlGroup",
475
- props: Bn(),
476
- emits: {
477
- "update:modelValue": (e) => !0
478
- },
479
- setup(e, o) {
480
- let {
481
- slots: n
482
- } = o;
483
- const t = pe(e, "modelValue"), l = De(), s = T(() => e.id || `v-selection-control-group-${l}`), c = T(() => e.name || s.value), r = /* @__PURE__ */ new Set();
484
- return Be(_l, {
485
- modelValue: t,
486
- forceUpdate: () => {
487
- r.forEach((u) => u());
488
- },
489
- onForceUpdate: (u) => {
490
- r.add(u), it(() => {
491
- r.delete(u);
492
- });
493
- }
494
- }), _t({
495
- [e.defaultsTarget]: {
496
- color: T(() => e.color),
497
- disabled: T(() => e.disabled),
498
- density: T(() => e.density),
499
- error: T(() => e.error),
500
- inline: T(() => e.inline),
501
- modelValue: t,
502
- multiple: T(() => !!e.multiple || e.multiple == null && Array.isArray(t.value)),
503
- name: c,
504
- falseIcon: T(() => e.falseIcon),
505
- trueIcon: T(() => e.trueIcon),
506
- readonly: T(() => e.readonly),
507
- ripple: T(() => e.ripple),
508
- type: T(() => e.type),
509
- valueComparator: T(() => e.valueComparator)
510
- }
511
- }), ee(() => S("div", {
512
- class: ae(["v-selection-control-group", {
513
- "v-selection-control-group--inline": e.inline
514
- }, e.class]),
515
- style: be(e.style),
516
- role: e.type === "radio" ? "radiogroup" : void 0
517
- }, [n.default?.()])), {};
518
- }
519
- });
520
- const Al = L({
521
- label: String,
522
- baseColor: String,
523
- trueValue: null,
524
- falseValue: null,
525
- value: null,
526
- ...re(),
527
- ...Pl()
528
- }, "VSelectionControl");
529
- function En(e) {
530
- const o = ye(_l, void 0), {
531
- densityClasses: n
532
- } = rt(e), t = pe(e, "modelValue"), l = V(() => e.trueValue !== void 0 ? e.trueValue : e.value !== void 0 ? e.value : !0), s = V(() => e.falseValue !== void 0 ? e.falseValue : !1), c = V(() => !!e.multiple || e.multiple == null && Array.isArray(t.value)), r = V({
533
- get() {
534
- const y = o ? o.modelValue.value : t.value;
535
- return c.value ? Ae(y).some((f) => e.valueComparator(f, l.value)) : e.valueComparator(y, l.value);
536
- },
537
- set(y) {
538
- if (e.readonly) return;
539
- const f = y ? l.value : s.value;
540
- let h = f;
541
- c.value && (h = y ? [...Ae(t.value), f] : Ae(t.value).filter((k) => !e.valueComparator(k, l.value))), o ? o.modelValue.value = h : t.value = h;
542
- }
543
- }), {
544
- textColorClasses: u,
545
- textColorStyles: m
546
- } = ct(() => {
547
- if (!(e.error || e.disabled))
548
- return r.value ? e.color : e.baseColor;
549
- }), {
550
- backgroundColorClasses: i,
551
- backgroundColorStyles: a
552
- } = dt(() => r.value && !e.error && !e.disabled ? e.color : e.baseColor), v = V(() => r.value ? e.trueIcon : e.falseIcon);
553
- return {
554
- group: o,
555
- densityClasses: n,
556
- trueValue: l,
557
- falseValue: s,
558
- model: r,
559
- textColorClasses: u,
560
- textColorStyles: m,
561
- backgroundColorClasses: i,
562
- backgroundColorStyles: a,
563
- icon: v
564
- };
565
- }
566
- const Qt = Y()({
567
- name: "VSelectionControl",
568
- directives: {
569
- vRipple: Ne
570
- },
571
- inheritAttrs: !1,
572
- props: Al(),
573
- emits: {
574
- "update:modelValue": (e) => !0
575
- },
576
- setup(e, o) {
577
- let {
578
- attrs: n,
579
- slots: t
580
- } = o;
581
- const {
582
- group: l,
583
- densityClasses: s,
584
- icon: c,
585
- model: r,
586
- textColorClasses: u,
587
- textColorStyles: m,
588
- backgroundColorClasses: i,
589
- backgroundColorStyles: a,
590
- trueValue: v
591
- } = En(e), y = De(), f = ne(!1), h = ne(!1), k = R(), C = T(() => e.id || `input-${y}`), w = T(() => !e.disabled && !e.readonly);
592
- l?.onForceUpdate(() => {
593
- k.value && (k.value.checked = r.value);
594
- });
595
- function D(P) {
596
- w.value && (f.value = !0, kt(P.target, ":focus-visible") !== !1 && (h.value = !0));
597
- }
598
- function F() {
599
- f.value = !1, h.value = !1;
600
- }
601
- function _(P) {
602
- P.stopPropagation();
603
- }
604
- function $(P) {
605
- if (!w.value) {
606
- k.value && (k.value.checked = r.value);
607
- return;
608
- }
609
- e.readonly && l && me(() => l.forceUpdate()), r.value = P.target.checked;
610
- }
611
- return ee(() => {
612
- const P = t.label ? t.label({
613
- label: e.label,
614
- props: {
615
- for: C.value
616
- }
617
- }) : e.label, [I, B] = Ot(n), z = S("input", U({
618
- ref: k,
619
- checked: r.value,
620
- disabled: !!e.disabled,
621
- id: C.value,
622
- onBlur: F,
623
- onFocus: D,
624
- onInput: $,
625
- "aria-disabled": !!e.disabled,
626
- "aria-label": e.label,
627
- type: e.type,
628
- value: v.value,
629
- name: e.name,
630
- "aria-checked": e.type === "checkbox" ? r.value : void 0
631
- }, B), null);
632
- return S("div", U({
633
- class: ["v-selection-control", {
634
- "v-selection-control--dirty": r.value,
635
- "v-selection-control--disabled": e.disabled,
636
- "v-selection-control--error": e.error,
637
- "v-selection-control--focused": f.value,
638
- "v-selection-control--focus-visible": h.value,
639
- "v-selection-control--inline": e.inline
640
- }, s.value, e.class]
641
- }, I, {
642
- style: e.style
643
- }), [S("div", {
644
- class: ae(["v-selection-control__wrapper", u.value]),
645
- style: be(m.value)
646
- }, [t.default?.({
647
- backgroundColorClasses: i,
648
- backgroundColorStyles: a
649
- }), Te(S("div", {
650
- class: ae(["v-selection-control__input"])
651
- }, [t.input?.({
652
- model: r,
653
- textColorClasses: u,
654
- textColorStyles: m,
655
- backgroundColorClasses: i,
656
- backgroundColorStyles: a,
657
- inputNode: z,
658
- icon: c.value,
659
- props: {
660
- onFocus: D,
661
- onBlur: F,
662
- id: C.value
663
- }
664
- }) ?? S(se, null, [c.value && d(ge, {
665
- key: "icon",
666
- icon: c.value
667
- }, null), z])]), [[Ne, !e.disabled && !e.readonly && e.ripple, null, {
668
- center: !0,
669
- circle: !0
670
- }]])]), P && d(wl, {
671
- for: C.value,
672
- onClick: _
673
- }, {
674
- default: () => [P]
675
- })]);
676
- }), {
677
- isFocused: f,
678
- input: k
679
- };
680
- }
681
- }), Fl = L({
682
- indeterminate: Boolean,
683
- indeterminateIcon: {
684
- type: ue,
685
- default: "$checkboxIndeterminate"
686
- },
687
- ...Al({
688
- falseIcon: "$checkboxOff",
689
- trueIcon: "$checkboxOn"
690
- })
691
- }, "VCheckboxBtn"), xt = Y()({
692
- name: "VCheckboxBtn",
693
- props: Fl(),
694
- emits: {
695
- "update:modelValue": (e) => !0,
696
- "update:indeterminate": (e) => !0
697
- },
698
- setup(e, o) {
699
- let {
700
- slots: n
701
- } = o;
702
- const t = pe(e, "indeterminate"), l = pe(e, "modelValue");
703
- function s(u) {
704
- t.value && (t.value = !1);
705
- }
706
- const c = T(() => t.value ? e.indeterminateIcon : e.falseIcon), r = T(() => t.value ? e.indeterminateIcon : e.trueIcon);
707
- return ee(() => {
708
- const u = Ze(Qt.filterProps(e), ["modelValue"]);
709
- return d(Qt, U(u, {
710
- modelValue: l.value,
711
- "onUpdate:modelValue": [(m) => l.value = m, s],
712
- class: ["v-checkbox-btn", e.class],
713
- style: e.style,
714
- type: "checkbox",
715
- falseIcon: c.value,
716
- trueIcon: r.value,
717
- "aria-checked": t.value ? "mixed" : void 0
718
- }), n);
719
- }), {};
720
- }
721
- });
722
- function Tl(e) {
723
- const {
724
- t: o
725
- } = Le();
726
- function n(t) {
727
- let {
728
- name: l,
729
- color: s,
730
- ...c
731
- } = t;
732
- const r = {
733
- prepend: "prependAction",
734
- prependInner: "prependAction",
735
- append: "appendAction",
736
- appendInner: "appendAction",
737
- clear: "clear"
738
- }[l], u = e[`onClick:${l}`];
739
- function m(a) {
740
- a.key !== "Enter" && a.key !== " " || (a.preventDefault(), a.stopPropagation(), gl(u, new PointerEvent("click", a)));
741
- }
742
- const i = u && r ? o(`$vuetify.input.${r}`, e.label ?? "") : void 0;
743
- return d(ge, U({
744
- icon: e[`${l}Icon`],
745
- "aria-label": i,
746
- onClick: u,
747
- onKeydown: m,
748
- color: s
749
- }, c), null);
750
- }
751
- return {
752
- InputIcon: n
753
- };
754
- }
755
- const On = L({
756
- active: Boolean,
757
- color: String,
758
- messages: {
759
- type: [Array, String],
760
- default: () => []
761
- },
762
- ...re(),
763
- ...vt({
764
- transition: {
765
- component: yl,
766
- leaveAbsolute: !0,
767
- group: !0
768
- }
769
- })
770
- }, "VMessages"), $n = Y()({
771
- name: "VMessages",
772
- props: On(),
773
- setup(e, o) {
774
- let {
775
- slots: n
776
- } = o;
777
- const t = V(() => Ae(e.messages)), {
778
- textColorClasses: l,
779
- textColorStyles: s
780
- } = ct(() => e.color);
781
- return ee(() => d($t, {
782
- transition: e.transition,
783
- tag: "div",
784
- class: ae(["v-messages", l.value, e.class]),
785
- style: be([s.value, e.style])
786
- }, {
787
- default: () => [e.active && t.value.map((c, r) => S("div", {
788
- class: "v-messages__message",
789
- key: `${r}-${t.value}`
790
- }, [n.message ? n.message({
791
- message: c
792
- }) : c]))]
793
- })), {};
794
- }
795
- }), Dl = L({
796
- focused: Boolean,
797
- "onUpdate:focused": we()
798
- }, "focus");
799
- function Mt(e) {
800
- let o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : bl();
801
- const n = pe(e, "focused"), t = T(() => ({
802
- [`${o}--focused`]: n.value
803
- }));
804
- function l() {
805
- n.value = !0;
806
- }
807
- function s() {
808
- n.value = !1;
809
- }
810
- return {
811
- focusClasses: t,
812
- isFocused: n,
813
- focus: l,
814
- blur: s
815
- };
816
- }
817
- const Nn = Symbol.for("vuetify:form");
818
- function Ht(e) {
819
- const o = ye(Nn, null);
820
- return {
821
- ...o,
822
- isReadonly: V(() => !!(e?.readonly ?? o?.isReadonly.value)),
823
- isDisabled: V(() => !!(e?.disabled ?? o?.isDisabled.value))
824
- };
825
- }
826
- const Rn = Symbol.for("vuetify:rules");
827
- function Ln(e) {
828
- const o = ye(Rn, null);
829
- if (!e) {
830
- if (!o)
831
- throw new Error("Could not find Vuetify rules injection");
832
- return o.aliases;
833
- }
834
- return o?.resolve(e) ?? T(e);
835
- }
836
- const Mn = L({
837
- disabled: {
838
- type: Boolean,
839
- default: null
840
- },
841
- error: Boolean,
842
- errorMessages: {
843
- type: [Array, String],
844
- default: () => []
845
- },
846
- maxErrors: {
847
- type: [Number, String],
848
- default: 1
849
- },
850
- name: String,
851
- label: String,
852
- readonly: {
853
- type: Boolean,
854
- default: null
855
- },
856
- rules: {
857
- type: Array,
858
- default: () => []
859
- },
860
- modelValue: null,
861
- validateOn: String,
862
- validationValue: null,
863
- ...Dl()
864
- }, "validation");
865
- function Hn(e) {
866
- let o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : bl(), n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : De();
867
- const t = pe(e, "modelValue"), l = V(() => e.validationValue === void 0 ? t.value : e.validationValue), s = Ht(e), c = Ln(() => e.rules), r = R([]), u = ne(!0), m = V(() => !!(Ae(t.value === "" ? null : t.value).length || Ae(l.value === "" ? null : l.value).length)), i = V(() => e.errorMessages?.length ? Ae(e.errorMessages).concat(r.value).slice(0, Math.max(0, Number(e.maxErrors))) : r.value), a = V(() => {
868
- let F = (e.validateOn ?? s.validateOn?.value) || "input";
869
- F === "lazy" && (F = "input lazy"), F === "eager" && (F = "input eager");
870
- const _ = new Set(F?.split(" ") ?? []);
871
- return {
872
- input: _.has("input"),
873
- blur: _.has("blur") || _.has("input") || _.has("invalid-input"),
874
- invalidInput: _.has("invalid-input"),
875
- lazy: _.has("lazy"),
876
- eager: _.has("eager")
877
- };
878
- }), v = V(() => e.error || e.errorMessages?.length ? !1 : e.rules.length ? u.value ? r.value.length || a.value.lazy ? null : !0 : !r.value.length : !0), y = ne(!1), f = V(() => ({
879
- [`${o}--error`]: v.value === !1,
880
- [`${o}--dirty`]: m.value,
881
- [`${o}--disabled`]: s.isDisabled.value,
882
- [`${o}--readonly`]: s.isReadonly.value
883
- })), h = hl("validation"), k = V(() => e.name ?? E(n));
884
- Ul(() => {
885
- s.register?.({
886
- id: k.value,
887
- vm: h,
888
- validate: D,
889
- reset: C,
890
- resetValidation: w
891
- });
892
- }), al(() => {
893
- s.unregister?.(k.value);
894
- }), Oe(async () => {
895
- a.value.lazy || await D(!a.value.eager), s.update?.(k.value, v.value, i.value);
896
- }), St(() => a.value.input || a.value.invalidInput && v.value === !1, () => {
897
- ie(l, () => {
898
- if (l.value != null)
899
- D();
900
- else if (e.focused) {
901
- const F = ie(() => e.focused, (_) => {
902
- _ || D(), F();
903
- });
904
- }
905
- });
906
- }), St(() => a.value.blur, () => {
907
- ie(() => e.focused, (F) => {
908
- F || D();
909
- });
910
- }), ie([v, i], () => {
911
- s.update?.(k.value, v.value, i.value);
912
- });
913
- async function C() {
914
- t.value = null, await me(), await w();
915
- }
916
- async function w() {
917
- u.value = !0, a.value.lazy ? r.value = [] : await D(!a.value.eager);
918
- }
919
- async function D() {
920
- let F = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
921
- const _ = [];
922
- y.value = !0;
923
- for (const $ of c.value) {
924
- if (_.length >= Number(e.maxErrors ?? 1))
925
- break;
926
- const I = await (typeof $ == "function" ? $ : () => $)(l.value);
927
- if (I !== !0) {
928
- if (I !== !1 && typeof I != "string") {
929
- console.warn(`${I} is not a valid value. Rule functions must return boolean true or a string.`);
930
- continue;
931
- }
932
- _.push(I || "");
933
- }
934
- }
935
- return r.value = _, y.value = !1, u.value = F, r.value;
936
- }
937
- return {
938
- errorMessages: i,
939
- isDirty: m,
940
- isDisabled: s.isDisabled,
941
- isReadonly: s.isReadonly,
942
- isPristine: u,
943
- isValid: v,
944
- isValidating: y,
945
- reset: C,
946
- resetValidation: w,
947
- validate: D,
948
- validationClasses: f
949
- };
950
- }
951
- const zt = L({
952
- id: String,
953
- appendIcon: ue,
954
- baseColor: String,
955
- centerAffix: {
956
- type: Boolean,
957
- default: !0
958
- },
959
- color: String,
960
- glow: Boolean,
961
- iconColor: [Boolean, String],
962
- prependIcon: ue,
963
- hideDetails: [Boolean, String],
964
- hideSpinButtons: Boolean,
965
- hint: String,
966
- persistentHint: Boolean,
967
- messages: {
968
- type: [Array, String],
969
- default: () => []
970
- },
971
- direction: {
972
- type: String,
973
- default: "horizontal",
974
- validator: (e) => ["horizontal", "vertical"].includes(e)
975
- },
976
- "onClick:prepend": we(),
977
- "onClick:append": we(),
978
- ...re(),
979
- ...We(),
980
- ...Jl(Qe(), ["maxWidth", "minWidth", "width"]),
981
- ...Pe(),
982
- ...Mn()
983
- }, "VInput"), ot = Y()({
984
- name: "VInput",
985
- props: {
986
- ...zt()
987
- },
988
- emits: {
989
- "update:modelValue": (e) => !0
990
- },
991
- setup(e, o) {
992
- let {
993
- attrs: n,
994
- slots: t,
995
- emit: l
996
- } = o;
997
- const {
998
- densityClasses: s
999
- } = rt(e), {
1000
- dimensionStyles: c
1001
- } = Je(e), {
1002
- themeClasses: r
1003
- } = Re(e), {
1004
- rtlClasses: u
1005
- } = ft(), {
1006
- InputIcon: m
1007
- } = Tl(e), i = De(), a = V(() => e.id || `input-${i}`), {
1008
- errorMessages: v,
1009
- isDirty: y,
1010
- isDisabled: f,
1011
- isReadonly: h,
1012
- isPristine: k,
1013
- isValid: C,
1014
- isValidating: w,
1015
- reset: D,
1016
- resetValidation: F,
1017
- validate: _,
1018
- validationClasses: $
1019
- } = Hn(e, "v-input", a), P = V(() => e.errorMessages?.length || !k.value && v.value.length ? v.value : e.hint && (e.persistentHint || e.focused) ? e.hint : e.messages), I = T(() => P.value.length > 0), B = T(() => !e.hideDetails || e.hideDetails === "auto" && (I.value || !!t.details)), z = V(() => B.value ? `${a.value}-messages` : void 0), j = V(() => ({
1020
- id: a,
1021
- messagesId: z,
1022
- isDirty: y,
1023
- isDisabled: f,
1024
- isReadonly: h,
1025
- isPristine: k,
1026
- isValid: C,
1027
- isValidating: w,
1028
- hasDetails: B,
1029
- reset: D,
1030
- resetValidation: F,
1031
- validate: _
1032
- })), K = T(() => e.error || e.disabled ? void 0 : e.focused ? e.color : e.baseColor), Q = T(() => {
1033
- if (e.iconColor)
1034
- return e.iconColor === !0 ? K.value : e.iconColor;
1035
- });
1036
- return ee(() => {
1037
- const q = !!(t.prepend || e.prependIcon), ce = !!(t.append || e.appendIcon);
1038
- return S("div", {
1039
- class: ae(["v-input", `v-input--${e.direction}`, {
1040
- "v-input--center-affix": e.centerAffix,
1041
- "v-input--focused": e.focused,
1042
- "v-input--glow": e.glow,
1043
- "v-input--hide-spin-buttons": e.hideSpinButtons
1044
- }, s.value, r.value, u.value, $.value, e.class]),
1045
- style: be([c.value, e.style])
1046
- }, [q && S("div", {
1047
- key: "prepend",
1048
- class: "v-input__prepend"
1049
- }, [t.prepend?.(j.value), e.prependIcon && d(m, {
1050
- key: "prepend-icon",
1051
- name: "prepend",
1052
- color: Q.value
1053
- }, null)]), t.default && S("div", {
1054
- class: "v-input__control"
1055
- }, [t.default?.(j.value)]), ce && S("div", {
1056
- key: "append",
1057
- class: "v-input__append"
1058
- }, [e.appendIcon && d(m, {
1059
- key: "append-icon",
1060
- name: "append",
1061
- color: Q.value
1062
- }, null), t.append?.(j.value)]), B.value && S("div", {
1063
- id: z.value,
1064
- class: "v-input__details",
1065
- role: "alert",
1066
- "aria-live": "polite"
1067
- }, [d($n, {
1068
- active: I.value,
1069
- messages: P.value
1070
- }, {
1071
- message: t.message
1072
- }), t.details?.(j.value)])]);
1073
- }), {
1074
- reset: D,
1075
- resetValidation: F,
1076
- validate: _,
1077
- isValid: C,
1078
- errorMessages: v
1079
- };
1080
- }
1081
- }), zn = L({
1082
- ...zt(),
1083
- ...Ze(Fl(), ["inline"])
1084
- }, "VCheckbox"), Un = Y()({
1085
- name: "VCheckbox",
1086
- inheritAttrs: !1,
1087
- props: zn(),
1088
- emits: {
1089
- "update:modelValue": (e) => !0,
1090
- "update:focused": (e) => !0
1091
- },
1092
- setup(e, o) {
1093
- let {
1094
- attrs: n,
1095
- slots: t
1096
- } = o;
1097
- const l = pe(e, "modelValue"), {
1098
- isFocused: s,
1099
- focus: c,
1100
- blur: r
1101
- } = Mt(e), u = R(), m = De();
1102
- return ee(() => {
1103
- const [i, a] = Ot(n), v = ot.filterProps(e), y = xt.filterProps(e);
1104
- return d(ot, U({
1105
- ref: u,
1106
- class: ["v-checkbox", e.class]
1107
- }, i, v, {
1108
- modelValue: l.value,
1109
- "onUpdate:modelValue": (f) => l.value = f,
1110
- id: e.id || `checkbox-${m}`,
1111
- focused: s.value,
1112
- style: e.style
1113
- }), {
1114
- ...t,
1115
- default: (f) => {
1116
- let {
1117
- id: h,
1118
- messagesId: k,
1119
- isDisabled: C,
1120
- isReadonly: w,
1121
- isValid: D
1122
- } = f;
1123
- return d(xt, U(y, {
1124
- id: h.value,
1125
- "aria-describedby": k.value,
1126
- disabled: C.value,
1127
- readonly: w.value
1128
- }, a, {
1129
- error: D.value === !1,
1130
- modelValue: l.value,
1131
- "onUpdate:modelValue": (F) => l.value = F,
1132
- onFocus: c,
1133
- onBlur: r
1134
- }), t);
1135
- }
1136
- });
1137
- }), et({}, u);
1138
- }
1139
- }), jn = L({
1140
- fullscreen: Boolean,
1141
- retainFocus: {
1142
- type: Boolean,
1143
- default: !0
1144
- },
1145
- scrollable: Boolean,
1146
- ...Yl({
1147
- origin: "center center",
1148
- scrollStrategy: "block",
1149
- transition: {
1150
- component: pl
1151
- },
1152
- zIndex: 2400
1153
- })
1154
- }, "VDialog"), Ut = Y()({
1155
- name: "VDialog",
1156
- props: jn(),
1157
- emits: {
1158
- "update:modelValue": (e) => !0,
1159
- afterEnter: () => !0,
1160
- afterLeave: () => !0
1161
- },
1162
- setup(e, o) {
1163
- let {
1164
- emit: n,
1165
- slots: t
1166
- } = o;
1167
- const l = pe(e, "modelValue"), {
1168
- scopeId: s
1169
- } = Xl(), c = R();
1170
- async function r(a) {
1171
- const v = a.relatedTarget, y = a.target;
1172
- await me(), l.value && v !== y && c.value?.contentEl && // We're the topmost dialog
1173
- c.value?.globalTop && // It isn't the document or the dialog body
1174
- ![document, c.value.contentEl].includes(y) && // It isn't inside the dialog body
1175
- !c.value.contentEl.contains(y) && Ct(c.value.contentEl)[0]?.focus();
1176
- }
1177
- function u(a) {
1178
- if (a.key !== "Tab" || !c.value?.contentEl) return;
1179
- const v = Ct(c.value.contentEl);
1180
- if (!v.length) return;
1181
- const y = v[0], f = v[v.length - 1], h = document.activeElement;
1182
- a.shiftKey && h === y ? (a.preventDefault(), f.focus()) : !a.shiftKey && h === f && (a.preventDefault(), y.focus());
1183
- }
1184
- al(() => {
1185
- document.removeEventListener("focusin", r), document.removeEventListener("keydown", u);
1186
- }), Ke && ie(() => l.value && e.retainFocus, (a) => {
1187
- a ? (document.addEventListener("focusin", r, {
1188
- once: !0
1189
- }), document.addEventListener("keydown", u)) : (document.removeEventListener("focusin", r), document.removeEventListener("keydown", u));
1190
- }, {
1191
- immediate: !0
1192
- });
1193
- function m() {
1194
- n("afterEnter"), (e.scrim || e.retainFocus) && c.value?.contentEl && !c.value.contentEl.contains(document.activeElement) && c.value.contentEl.focus({
1195
- preventScroll: !0
1196
- });
1197
- }
1198
- function i() {
1199
- n("afterLeave");
1200
- }
1201
- return ie(l, async (a) => {
1202
- a || (await me(), c.value.activatorEl?.focus({
1203
- preventScroll: !0
1204
- }));
1205
- }), ee(() => {
1206
- const a = Gt.filterProps(e), v = U({
1207
- "aria-haspopup": "dialog"
1208
- }, e.activatorProps), y = U({
1209
- tabindex: -1
1210
- }, e.contentProps);
1211
- return d(Gt, U({
1212
- ref: c,
1213
- class: ["v-dialog", {
1214
- "v-dialog--fullscreen": e.fullscreen,
1215
- "v-dialog--scrollable": e.scrollable
1216
- }, e.class],
1217
- style: e.style
1218
- }, a, {
1219
- modelValue: l.value,
1220
- "onUpdate:modelValue": (f) => l.value = f,
1221
- "aria-modal": "true",
1222
- activatorProps: v,
1223
- contentProps: y,
1224
- height: e.fullscreen ? void 0 : e.height,
1225
- width: e.fullscreen ? void 0 : e.width,
1226
- maxHeight: e.fullscreen ? void 0 : e.maxHeight,
1227
- maxWidth: e.fullscreen ? void 0 : e.maxWidth,
1228
- role: "dialog",
1229
- onAfterEnter: m,
1230
- onAfterLeave: i
1231
- }, s), {
1232
- activator: t.activator,
1233
- default: function() {
1234
- for (var f = arguments.length, h = new Array(f), k = 0; k < f; k++)
1235
- h[k] = arguments[k];
1236
- return d(ke, {
1237
- root: "VDialog"
1238
- }, {
1239
- default: () => [t.default?.(...h)]
1240
- });
1241
- }
1242
- });
1243
- }), et({}, c);
1244
- }
1245
- }), Kn = { class: "text-medium-emphasis ps-2" }, qn = {
1246
- __name: "index",
1247
- setup(e, { expose: o }) {
1248
- const n = ye("table_props"), t = ye("pluginOptions"), { tableState: l } = tt(), { tableDataState: s } = Il(n), c = R(0), r = R(null), u = R(!1), m = R([]), i = R([]), a = R([]), v = () => {
1249
- u.value = !0;
1250
- };
1251
- Oe(async () => {
1252
- await me(), ql.create(r.value.$el, {
1253
- onEnd: async (f) => {
1254
- const h = Array.from(f.from.children).map(function(k) {
1255
- return k.getAttribute("header-keys");
1256
- });
1257
- JSON.stringify(h) !== JSON.stringify(a.value) && (a.value = h);
1258
- }
1259
- }), i.value = l.value.options.columns?.selected, a.value = l.value.options.columns?.sorted, m.value = a.value.map((f) => n.headers.find((h) => h.key === f));
1260
- });
1261
- const y = () => {
1262
- (JSON.stringify(i.value) !== JSON.stringify(l.value.options.columns?.selected) || JSON.stringify(a.value) !== JSON.stringify(l.value.options.columns?.sorted)) && (s.value.options.columns.selected = i.value, s.value.options.columns.sorted = a.value), u.value = !1;
1263
- };
1264
- return o({ openDialog: v }), (f, h) => (X(), ve(Ut, {
1265
- modelValue: E(u),
1266
- "onUpdate:modelValue": h[1] || (h[1] = (k) => $e(u) ? u.value = k : null),
1267
- "max-width": "500",
1268
- eager: "",
1269
- "retain-focus": !1
1270
- }, {
1271
- default: te(({ isActive: k }) => [
1272
- d(Lt, { rounded: "lg" }, {
1273
- default: te(() => [
1274
- d(gt, { class: "d-flex justify-space-between align-center" }, {
1275
- default: te(() => [
1276
- S("div", Kn, Ue(f.$t("$datatables.selectColumns")), 1),
1277
- d(_e, {
1278
- icon: E(t).header.icons.close,
1279
- variant: "text",
1280
- onClick: (C) => k.value = !1
1281
- }, null, 8, ["icon", "onClick"])
1282
- ]),
1283
- _: 2
1284
- }, 1024),
1285
- d(Ie),
1286
- d(yt, { class: "overflow-auto pt-8" }, {
1287
- default: te(() => [
1288
- d(Nt, {
1289
- ref_key: "list",
1290
- ref: r
1291
- }, {
1292
- default: te(() => [
1293
- (X(!0), Ee(se, null, It(E(m), (C, w) => (X(), ve(nt, {
1294
- key: `${E(c)}-${w}`,
1295
- title: C?.title,
1296
- "header-keys": C?.key,
1297
- onClick: () => {
1298
- }
1299
- }, {
1300
- prepend: te(() => [
1301
- d(Un, {
1302
- modelValue: E(i),
1303
- "onUpdate:modelValue": h[0] || (h[0] = (D) => $e(i) ? i.value = D : null),
1304
- value: C?.key,
1305
- "hide-details": ""
1306
- }, null, 8, ["modelValue", "value"])
1307
- ]),
1308
- append: te(() => [
1309
- d(ge, {
1310
- icon: E(t).header.icons.drag
1311
- }, null, 8, ["icon"])
1312
- ]),
1313
- _: 2
1314
- }, 1032, ["title", "header-keys"]))), 128))
1315
- ]),
1316
- _: 1
1317
- }, 512)
1318
- ]),
1319
- _: 1
1320
- }),
1321
- d(Ie, { class: "mt-2" }),
1322
- d(Rt, { class: "my-2 d-flex justify-end" }, {
1323
- default: te(() => [
1324
- d(_e, {
1325
- class: "text-none",
1326
- text: f.$t("$datatables.cancel"),
1327
- onClick: (C) => k.value = !1
1328
- }, null, 8, ["text", "onClick"]),
1329
- d(_e, {
1330
- class: "text-none",
1331
- color: "primary",
1332
- text: f.$t("$datatables.submit"),
1333
- variant: "flat",
1334
- onClick: y
1335
- }, null, 8, ["text"])
1336
- ]),
1337
- _: 2
1338
- }, 1024)
1339
- ]),
1340
- _: 2
1341
- }, 1024)
1342
- ]),
1343
- _: 1
1344
- }, 8, ["modelValue"]));
1345
- }
1346
- }, Gn = Symbol.for("vuetify:goto");
1347
- function Wn() {
1348
- return {
1349
- container: void 0,
1350
- duration: 300,
1351
- layout: !1,
1352
- offset: 0,
1353
- easing: "easeInOutCubic",
1354
- patterns: Zl
1355
- };
1356
- }
1357
- function Jn(e) {
1358
- return jt(e) ?? (document.scrollingElement || document.body);
1359
- }
1360
- function jt(e) {
1361
- return typeof e == "string" ? document.querySelector(e) : en(e);
1362
- }
1363
- function bt(e, o, n) {
1364
- if (typeof e == "number") return o && n ? -e : e;
1365
- let t = jt(e), l = 0;
1366
- for (; t; )
1367
- l += o ? t.offsetLeft : t.offsetTop, t = t.offsetParent;
1368
- return l;
1369
- }
1370
- async function Zt(e, o, n, t) {
1371
- const l = n ? "scrollLeft" : "scrollTop", s = Vt(t?.options ?? Wn(), o), c = t?.rtl.value, r = (typeof e == "number" ? e : jt(e)) ?? 0, u = s.container === "parent" && r instanceof HTMLElement ? r.parentElement : Jn(s.container), m = kl() ? s.patterns.instant : typeof s.easing == "function" ? s.easing : s.patterns[s.easing];
1372
- if (!m) throw new TypeError(`Easing function "${s.easing}" not found.`);
1373
- let i;
1374
- if (typeof r == "number")
1375
- i = bt(r, n, c);
1376
- else if (i = bt(r, n, c) - bt(u, n, c), s.layout) {
1377
- const f = window.getComputedStyle(r).getPropertyValue("--v-layout-top");
1378
- f && (i -= parseInt(f, 10));
1379
- }
1380
- i += s.offset, i = Yn(u, i, !!c, !!n);
1381
- const a = u[l] ?? 0;
1382
- if (i === a) return Promise.resolve(i);
1383
- const v = performance.now();
1384
- return new Promise((y) => requestAnimationFrame(function f(h) {
1385
- const C = (h - v) / s.duration, w = Math.floor(a + (i - a) * m(Fe(C, 0, 1)));
1386
- if (u[l] = w, C >= 1 && Math.abs(w - u[l]) < 10)
1387
- return y(i);
1388
- if (C > 2)
1389
- return Ql("Scroll target is not reachable"), y(u[l]);
1390
- requestAnimationFrame(f);
1391
- }));
1392
- }
1393
- function Xn() {
1394
- let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
1395
- const o = ye(Gn), {
1396
- isRtl: n
1397
- } = ft();
1398
- if (!o) throw new Error("[Vuetify] Could not find injected goto instance");
1399
- const t = {
1400
- ...o,
1401
- // can be set via VLocaleProvider
1402
- rtl: T(() => o.rtl.value || n.value)
1403
- };
1404
- async function l(s, c) {
1405
- return Zt(s, Vt(e, c), !1, t);
1406
- }
1407
- return l.horizontal = async (s, c) => Zt(s, Vt(e, c), !0, t), l;
1408
- }
1409
- function Yn(e, o, n, t) {
1410
- const {
1411
- scrollWidth: l,
1412
- scrollHeight: s
1413
- } = e, [c, r] = e === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [e.offsetWidth, e.offsetHeight];
1414
- let u, m;
1415
- return t ? n ? (u = -(l - c), m = 0) : (u = 0, m = l - c) : (u = 0, m = s + -r), Fe(o, u, m);
1416
- }
1417
- function Qn(e) {
1418
- let {
1419
- selectedElement: o,
1420
- containerElement: n,
1421
- isRtl: t,
1422
- isHorizontal: l
1423
- } = e;
1424
- const s = qe(l, n), c = Bl(l, t, n), r = qe(l, o), u = El(l, o), m = r * 0.4;
1425
- return c > u ? u - m : c + s < u + r ? u - s + r + m : c;
1426
- }
1427
- function Zn(e) {
1428
- let {
1429
- selectedElement: o,
1430
- containerElement: n,
1431
- isHorizontal: t
1432
- } = e;
1433
- const l = qe(t, n), s = El(t, o), c = qe(t, o);
1434
- return s - l / 2 + c / 2;
1435
- }
1436
- function el(e, o) {
1437
- return o?.[e ? "scrollWidth" : "scrollHeight"] || 0;
1438
- }
1439
- function ea(e, o) {
1440
- return o?.[e ? "clientWidth" : "clientHeight"] || 0;
1441
- }
1442
- function Bl(e, o, n) {
1443
- if (!n)
1444
- return 0;
1445
- const {
1446
- scrollLeft: t,
1447
- offsetWidth: l,
1448
- scrollWidth: s
1449
- } = n;
1450
- return e ? o ? s - l + t : t : n.scrollTop;
1451
- }
1452
- function qe(e, o) {
1453
- return o?.[e ? "offsetWidth" : "offsetHeight"] || 0;
1454
- }
1455
- function El(e, o) {
1456
- return o?.[e ? "offsetLeft" : "offsetTop"] || 0;
1457
- }
1458
- const Ol = Symbol.for("vuetify:v-slide-group"), $l = L({
1459
- centerActive: Boolean,
1460
- scrollToActive: {
1461
- type: Boolean,
1462
- default: !0
1463
- },
1464
- contentClass: null,
1465
- direction: {
1466
- type: String,
1467
- default: "horizontal"
1468
- },
1469
- symbol: {
1470
- type: null,
1471
- default: Ol
1472
- },
1473
- nextIcon: {
1474
- type: ue,
1475
- default: "$next"
1476
- },
1477
- prevIcon: {
1478
- type: ue,
1479
- default: "$prev"
1480
- },
1481
- showArrows: {
1482
- type: [Boolean, String],
1483
- validator: (e) => typeof e == "boolean" || ["always", "desktop", "mobile"].includes(e)
1484
- },
1485
- ...re(),
1486
- ...tn({
1487
- mobile: null
1488
- }),
1489
- ...Ce(),
1490
- ...Vl({
1491
- selectedClass: "v-slide-group-item--active"
1492
- })
1493
- }, "VSlideGroup"), tl = Y()({
1494
- name: "VSlideGroup",
1495
- props: $l(),
1496
- emits: {
1497
- "update:modelValue": (e) => !0
1498
- },
1499
- setup(e, o) {
1500
- let {
1501
- slots: n
1502
- } = o;
1503
- const {
1504
- isRtl: t
1505
- } = ft(), {
1506
- displayClasses: l,
1507
- mobile: s
1508
- } = Sl(e), c = Cl(e, e.symbol), r = ne(!1), u = ne(0), m = ne(0), i = ne(0), a = V(() => e.direction === "horizontal"), {
1509
- resizeRef: v,
1510
- contentRect: y
1511
- } = at(), {
1512
- resizeRef: f,
1513
- contentRect: h
1514
- } = at(), k = Xn(), C = V(() => ({
1515
- container: v.el,
1516
- duration: 200,
1517
- easing: "easeOutQuart"
1518
- })), w = V(() => c.selected.value.length ? c.items.value.findIndex((b) => b.id === c.selected.value[0]) : -1), D = V(() => c.selected.value.length ? c.items.value.findIndex((b) => b.id === c.selected.value[c.selected.value.length - 1]) : -1);
1519
- if (Ke) {
1520
- let b = -1;
1521
- ie(() => [c.selected.value, y.value, h.value, a.value], () => {
1522
- cancelAnimationFrame(b), b = requestAnimationFrame(() => {
1523
- if (y.value && h.value) {
1524
- const g = a.value ? "width" : "height";
1525
- m.value = y.value[g], i.value = h.value[g], r.value = m.value + 1 < i.value;
1526
- }
1527
- if (e.scrollToActive && w.value >= 0 && f.el) {
1528
- const g = f.el.children[D.value];
1529
- _(g, e.centerActive);
1530
- }
1531
- });
1532
- });
1533
- }
1534
- const F = ne(!1);
1535
- function _(b, g) {
1536
- let x = 0;
1537
- g ? x = Zn({
1538
- containerElement: v.el,
1539
- isHorizontal: a.value,
1540
- selectedElement: b
1541
- }) : x = Qn({
1542
- containerElement: v.el,
1543
- isHorizontal: a.value,
1544
- isRtl: t.value,
1545
- selectedElement: b
1546
- }), $(x);
1547
- }
1548
- function $(b) {
1549
- if (!Ke || !v.el) return;
1550
- const g = qe(a.value, v.el), x = Bl(a.value, t.value, v.el);
1551
- if (!(el(a.value, v.el) <= g || // Prevent scrolling by only a couple of pixels, which doesn't look smooth
1552
- Math.abs(b - x) < 16)) {
1553
- if (a.value && t.value && v.el) {
1554
- const {
1555
- scrollWidth: M,
1556
- offsetWidth: W
1557
- } = v.el;
1558
- b = M - W - b;
1559
- }
1560
- a.value ? k.horizontal(b, C.value) : k(b, C.value);
1561
- }
1562
- }
1563
- function P(b) {
1564
- const {
1565
- scrollTop: g,
1566
- scrollLeft: x
1567
- } = b.target;
1568
- u.value = a.value ? x : g;
1569
- }
1570
- function I(b) {
1571
- if (F.value = !0, !(!r.value || !f.el)) {
1572
- for (const g of b.composedPath())
1573
- for (const x of f.el.children)
1574
- if (x === g) {
1575
- _(x);
1576
- return;
1577
- }
1578
- }
1579
- }
1580
- function B(b) {
1581
- F.value = !1;
1582
- }
1583
- let z = !1;
1584
- function j(b) {
1585
- !z && !F.value && !(b.relatedTarget && f.el?.contains(b.relatedTarget)) && ce(), z = !1;
1586
- }
1587
- function K() {
1588
- z = !0;
1589
- }
1590
- function Q(b) {
1591
- if (!f.el) return;
1592
- function g(x) {
1593
- b.preventDefault(), ce(x);
1594
- }
1595
- a.value ? b.key === "ArrowRight" ? g(t.value ? "prev" : "next") : b.key === "ArrowLeft" && g(t.value ? "next" : "prev") : b.key === "ArrowDown" ? g("next") : b.key === "ArrowUp" && g("prev"), b.key === "Home" ? g("first") : b.key === "End" && g("last");
1596
- }
1597
- function q(b, g) {
1598
- if (!b) return;
1599
- let x = b;
1600
- do
1601
- x = x?.[g === "next" ? "nextElementSibling" : "previousElementSibling"];
1602
- while (x?.hasAttribute("disabled"));
1603
- return x;
1604
- }
1605
- function ce(b) {
1606
- if (!f.el) return;
1607
- let g;
1608
- if (!b)
1609
- g = Ct(f.el)[0];
1610
- else if (b === "next") {
1611
- if (g = q(f.el.querySelector(":focus"), b), !g) return ce("first");
1612
- } else if (b === "prev") {
1613
- if (g = q(f.el.querySelector(":focus"), b), !g) return ce("last");
1614
- } else b === "first" ? (g = f.el.firstElementChild, g?.hasAttribute("disabled") && (g = q(g, "next"))) : b === "last" && (g = f.el.lastElementChild, g?.hasAttribute("disabled") && (g = q(g, "prev")));
1615
- g && g.focus({
1616
- preventScroll: !0
1617
- });
1618
- }
1619
- function G(b) {
1620
- const g = a.value && t.value ? -1 : 1, x = (b === "prev" ? -g : g) * m.value;
1621
- let O = u.value + x;
1622
- if (a.value && t.value && v.el) {
1623
- const {
1624
- scrollWidth: M,
1625
- offsetWidth: W
1626
- } = v.el;
1627
- O += M - W;
1628
- }
1629
- $(O);
1630
- }
1631
- const Z = V(() => ({
1632
- next: c.next,
1633
- prev: c.prev,
1634
- select: c.select,
1635
- isSelected: c.isSelected
1636
- })), oe = V(() => r.value || Math.abs(u.value) > 0), de = V(() => {
1637
- switch (e.showArrows) {
1638
- // Always show arrows on desktop & mobile
1639
- case "always":
1640
- return !0;
1641
- // Always show arrows on desktop
1642
- case "desktop":
1643
- return !s.value;
1644
- // Show arrows on mobile when overflowing.
1645
- // This matches the default 2.2 behavior
1646
- case !0:
1647
- return oe.value;
1648
- // Always show on mobile
1649
- case "mobile":
1650
- return s.value || oe.value;
1651
- // https://material.io/components/tabs#scrollable-tabs
1652
- // Always show arrows when
1653
- // overflowed on desktop
1654
- default:
1655
- return !s.value && oe.value;
1656
- }
1657
- }), A = V(() => Math.abs(u.value) > 1), p = V(() => {
1658
- if (!v.value || !oe.value) return !1;
1659
- const b = el(a.value, v.el), g = ea(a.value, v.el);
1660
- return b - g - Math.abs(u.value) > 1;
1661
- });
1662
- return ee(() => d(e.tag, {
1663
- class: ae(["v-slide-group", {
1664
- "v-slide-group--vertical": !a.value,
1665
- "v-slide-group--has-affixes": de.value,
1666
- "v-slide-group--is-overflowing": r.value
1667
- }, l.value, e.class]),
1668
- style: be(e.style),
1669
- tabindex: F.value || c.selected.value.length ? -1 : 0,
1670
- onFocus: j
1671
- }, {
1672
- default: () => [de.value && S("div", {
1673
- key: "prev",
1674
- class: ae(["v-slide-group__prev", {
1675
- "v-slide-group__prev--disabled": !A.value
1676
- }]),
1677
- onMousedown: K,
1678
- onClick: () => A.value && G("prev")
1679
- }, [n.prev?.(Z.value) ?? d(Wt, null, {
1680
- default: () => [d(ge, {
1681
- icon: t.value ? e.nextIcon : e.prevIcon
1682
- }, null)]
1683
- })]), S("div", {
1684
- key: "container",
1685
- ref: v,
1686
- class: ae(["v-slide-group__container", e.contentClass]),
1687
- onScroll: P
1688
- }, [S("div", {
1689
- ref: f,
1690
- class: "v-slide-group__content",
1691
- onFocusin: I,
1692
- onFocusout: B,
1693
- onKeydown: Q
1694
- }, [n.default?.(Z.value)])]), de.value && S("div", {
1695
- key: "next",
1696
- class: ae(["v-slide-group__next", {
1697
- "v-slide-group__next--disabled": !p.value
1698
- }]),
1699
- onMousedown: K,
1700
- onClick: () => p.value && G("next")
1701
- }, [n.next?.(Z.value) ?? d(Wt, null, {
1702
- default: () => [d(ge, {
1703
- icon: t.value ? e.prevIcon : e.nextIcon
1704
- }, null)]
1705
- })])]
1706
- })), {
1707
- selected: c.selected,
1708
- scrollTo: G,
1709
- scrollOffset: u,
1710
- focus: ce,
1711
- hasPrev: A,
1712
- hasNext: p
1713
- };
1714
- }
1715
- }), Nl = Symbol.for("vuetify:v-chip-group"), ta = L({
1716
- baseColor: String,
1717
- column: Boolean,
1718
- filter: Boolean,
1719
- valueComparator: {
1720
- type: Function,
1721
- default: ze
1722
- },
1723
- ...$l({
1724
- scrollToActive: !1
1725
- }),
1726
- ...re(),
1727
- ...Vl({
1728
- selectedClass: "v-chip--selected"
1729
- }),
1730
- ...Ce(),
1731
- ...Pe(),
1732
- ...Tt({
1733
- variant: "tonal"
1734
- })
1735
- }, "VChipGroup"), la = Y()({
1736
- name: "VChipGroup",
1737
- props: ta(),
1738
- emits: {
1739
- "update:modelValue": (e) => !0
1740
- },
1741
- setup(e, o) {
1742
- let {
1743
- slots: n
1744
- } = o;
1745
- const {
1746
- themeClasses: t
1747
- } = Re(e), {
1748
- isSelected: l,
1749
- select: s,
1750
- next: c,
1751
- prev: r,
1752
- selected: u
1753
- } = Cl(e, Nl);
1754
- return _t({
1755
- VChip: {
1756
- baseColor: T(() => e.baseColor),
1757
- color: T(() => e.color),
1758
- disabled: T(() => e.disabled),
1759
- filter: T(() => e.filter),
1760
- variant: T(() => e.variant)
1761
- }
1762
- }), ee(() => {
1763
- const m = tl.filterProps(e);
1764
- return d(tl, U(m, {
1765
- class: ["v-chip-group", {
1766
- "v-chip-group--column": e.column
1767
- }, t.value, e.class],
1768
- style: e.style
1769
- }), {
1770
- default: () => [n.default?.({
1771
- isSelected: l,
1772
- select: s,
1773
- next: c,
1774
- prev: r,
1775
- selected: u.value
1776
- })]
1777
- });
1778
- }), {};
1779
- }
1780
- }), na = L({
1781
- activeClass: String,
1782
- appendAvatar: String,
1783
- appendIcon: ue,
1784
- baseColor: String,
1785
- closable: Boolean,
1786
- closeIcon: {
1787
- type: ue,
1788
- default: "$delete"
1789
- },
1790
- closeLabel: {
1791
- type: String,
1792
- default: "$vuetify.close"
1793
- },
1794
- draggable: Boolean,
1795
- filter: Boolean,
1796
- filterIcon: {
1797
- type: ue,
1798
- default: "$complete"
1799
- },
1800
- label: Boolean,
1801
- link: {
1802
- type: Boolean,
1803
- default: void 0
1804
- },
1805
- pill: Boolean,
1806
- prependAvatar: String,
1807
- prependIcon: ue,
1808
- ripple: {
1809
- type: [Boolean, Object],
1810
- default: !0
1811
- },
1812
- text: {
1813
- type: [String, Number, Boolean],
1814
- default: void 0
1815
- },
1816
- modelValue: {
1817
- type: Boolean,
1818
- default: !0
1819
- },
1820
- onClick: we(),
1821
- onClickOnce: we(),
1822
- ...Et(),
1823
- ...re(),
1824
- ...We(),
1825
- ...Bt(),
1826
- ...an(),
1827
- ...Ye(),
1828
- ...vl(),
1829
- ...nn(),
1830
- ...Ce({
1831
- tag: "span"
1832
- }),
1833
- ...Pe(),
1834
- ...Tt({
1835
- variant: "tonal"
1836
- })
1837
- }, "VChip"), Rl = Y()({
1838
- name: "VChip",
1839
- directives: {
1840
- vRipple: Ne
1841
- },
1842
- props: na(),
1843
- emits: {
1844
- "click:close": (e) => !0,
1845
- "update:modelValue": (e) => !0,
1846
- "group:selected": (e) => !0,
1847
- click: (e) => !0
1848
- },
1849
- setup(e, o) {
1850
- let {
1851
- attrs: n,
1852
- emit: t,
1853
- slots: l
1854
- } = o;
1855
- const {
1856
- t: s
1857
- } = Le(), {
1858
- borderClasses: c
1859
- } = Pt(e), {
1860
- densityClasses: r
1861
- } = rt(e), {
1862
- elevationClasses: u
1863
- } = At(e), {
1864
- roundedClasses: m
1865
- } = Xe(e), {
1866
- sizeClasses: i
1867
- } = ln(e), {
1868
- themeClasses: a
1869
- } = Re(e), v = pe(e, "modelValue"), y = Jt(e, Nl, !1), f = Jt(e, Ol, !1), h = rl(e, n), k = T(() => e.link !== !1 && h.isLink.value), C = V(() => !e.disabled && e.link !== !1 && (!!y || e.link || h.isClickable.value)), w = T(() => ({
1870
- "aria-label": s(e.closeLabel),
1871
- disabled: e.disabled,
1872
- onClick(I) {
1873
- I.preventDefault(), I.stopPropagation(), v.value = !1, t("click:close", I);
1874
- }
1875
- }));
1876
- ie(v, (I) => {
1877
- I ? (y?.register(), f?.register()) : (y?.unregister(), f?.unregister());
1878
- });
1879
- const {
1880
- colorClasses: D,
1881
- colorStyles: F,
1882
- variantClasses: _
1883
- } = il(() => ({
1884
- color: !y || y.isSelected.value ? e.color ?? e.baseColor : e.baseColor,
1885
- variant: e.variant
1886
- }));
1887
- function $(I) {
1888
- t("click", I), C.value && (h.navigate?.(I), y?.toggle());
1889
- }
1890
- function P(I) {
1891
- (I.key === "Enter" || I.key === " ") && (I.preventDefault(), $(I));
1892
- }
1893
- return () => {
1894
- const I = h.isLink.value ? "a" : e.tag, B = !!(e.appendIcon || e.appendAvatar), z = !!(B || l.append), j = !!(l.close || e.closable), K = !!(l.filter || e.filter) && y, Q = !!(e.prependIcon || e.prependAvatar), q = !!(Q || l.prepend);
1895
- return v.value && Te(d(I, U(h.linkProps, {
1896
- class: ["v-chip", {
1897
- "v-chip--disabled": e.disabled,
1898
- "v-chip--label": e.label,
1899
- "v-chip--link": C.value,
1900
- "v-chip--filter": K,
1901
- "v-chip--pill": e.pill,
1902
- [`${e.activeClass}`]: e.activeClass && h.isActive?.value
1903
- }, a.value, c.value, D.value, r.value, u.value, m.value, i.value, _.value, y?.selectedClass.value, e.class],
1904
- style: [F.value, e.style],
1905
- disabled: e.disabled || void 0,
1906
- draggable: e.draggable,
1907
- tabindex: C.value ? 0 : void 0,
1908
- onClick: $,
1909
- onKeydown: C.value && !k.value && P
1910
- }), {
1911
- default: () => [cl(C.value, "v-chip"), K && d(xl, {
1912
- key: "filter"
1913
- }, {
1914
- default: () => [Te(S("div", {
1915
- class: "v-chip__filter"
1916
- }, [l.filter ? d(ke, {
1917
- key: "filter-defaults",
1918
- disabled: !e.filterIcon,
1919
- defaults: {
1920
- VIcon: {
1921
- icon: e.filterIcon
1922
- }
1923
- }
1924
- }, l.filter) : d(ge, {
1925
- key: "filter-icon",
1926
- icon: e.filterIcon
1927
- }, null)]), [[st, y.isSelected.value]])]
1928
- }), q && S("div", {
1929
- key: "prepend",
1930
- class: "v-chip__prepend"
1931
- }, [l.prepend ? d(ke, {
1932
- key: "prepend-defaults",
1933
- disabled: !Q,
1934
- defaults: {
1935
- VAvatar: {
1936
- image: e.prependAvatar,
1937
- start: !0
1938
- },
1939
- VIcon: {
1940
- icon: e.prependIcon,
1941
- start: !0
1942
- }
1943
- }
1944
- }, l.prepend) : S(se, null, [e.prependIcon && d(ge, {
1945
- key: "prepend-icon",
1946
- icon: e.prependIcon,
1947
- start: !0
1948
- }, null), e.prependAvatar && d(je, {
1949
- key: "prepend-avatar",
1950
- image: e.prependAvatar,
1951
- start: !0
1952
- }, null)])]), S("div", {
1953
- class: "v-chip__content",
1954
- "data-no-activator": ""
1955
- }, [l.default?.({
1956
- isSelected: y?.isSelected.value,
1957
- selectedClass: y?.selectedClass.value,
1958
- select: y?.select,
1959
- toggle: y?.toggle,
1960
- value: y?.value.value,
1961
- disabled: e.disabled
1962
- }) ?? Ue(e.text)]), z && S("div", {
1963
- key: "append",
1964
- class: "v-chip__append"
1965
- }, [l.append ? d(ke, {
1966
- key: "append-defaults",
1967
- disabled: !B,
1968
- defaults: {
1969
- VAvatar: {
1970
- end: !0,
1971
- image: e.appendAvatar
1972
- },
1973
- VIcon: {
1974
- end: !0,
1975
- icon: e.appendIcon
1976
- }
1977
- }
1978
- }, l.append) : S(se, null, [e.appendIcon && d(ge, {
1979
- key: "append-icon",
1980
- end: !0,
1981
- icon: e.appendIcon
1982
- }, null), e.appendAvatar && d(je, {
1983
- key: "append-avatar",
1984
- end: !0,
1985
- image: e.appendAvatar
1986
- }, null)])]), j && S("button", U({
1987
- key: "close",
1988
- class: "v-chip__close",
1989
- type: "button",
1990
- "data-testid": "close-chip"
1991
- }, w.value), [l.close ? d(ke, {
1992
- key: "close-defaults",
1993
- defaults: {
1994
- VIcon: {
1995
- icon: e.closeIcon,
1996
- size: "x-small"
1997
- }
1998
- }
1999
- }, l.close) : d(ge, {
2000
- key: "close-icon",
2001
- icon: e.closeIcon,
2002
- size: "x-small"
2003
- }, null)])]
2004
- }), [[Ne, C.value && e.ripple, null]]);
2005
- };
2006
- }
2007
- }), aa = L({
2008
- color: String,
2009
- ...Et(),
2010
- ...re(),
2011
- ...Qe(),
2012
- ...Bt(),
2013
- ...Dt(),
2014
- ...fl(),
2015
- ...Ye(),
2016
- ...Ce(),
2017
- ...Pe()
2018
- }, "VSheet"), oa = Y()({
2019
- name: "VSheet",
2020
- props: aa(),
2021
- setup(e, o) {
2022
- let {
2023
- slots: n
2024
- } = o;
2025
- const {
2026
- themeClasses: t
2027
- } = Re(e), {
2028
- backgroundColorClasses: l,
2029
- backgroundColorStyles: s
2030
- } = dt(() => e.color), {
2031
- borderClasses: c
2032
- } = Pt(e), {
2033
- dimensionStyles: r
2034
- } = Je(e), {
2035
- elevationClasses: u
2036
- } = At(e), {
2037
- locationStyles: m
2038
- } = Ft(e), {
2039
- positionClasses: i
2040
- } = ul(e), {
2041
- roundedClasses: a
2042
- } = Xe(e);
2043
- return ee(() => d(e.tag, {
2044
- class: ae(["v-sheet", t.value, l.value, c.value, u.value, i.value, a.value, e.class]),
2045
- style: be([s.value, r.value, m.value, e.style])
2046
- }, n)), {};
2047
- }
2048
- }), ia = {
2049
- __name: "Selected",
2050
- props: {
2051
- modelValue: {},
2052
- modelModifiers: {}
2053
- },
2054
- emits: /* @__PURE__ */ wt("save", ["update:modelValue"]),
2055
- setup(e, { emit: o }) {
2056
- const { advancedFiltersState: n } = tt(), t = ye("table_props"), l = ut(e, "modelValue"), s = (u, m) => {
2057
- const i = t.headers.find((f) => (f.advancedFilter?.key ?? f.key) === m), a = u.comparison === "=" ? ":" : " " + u.comparison, v = Array.isArray(u.value) ? u.value : [u.value], y = v.filter((f, h) => !(i.advancedFilter?.component === "datepicker" && h !== 0 && h !== v.length - 1)).map((f) => {
2058
- const h = i.advancedFilter?.options?.items ?? [];
2059
- let k = f, C;
2060
- return h.length && (C = h.find((w) => w.value === f), C && (k = C.title)), typeof i.advancedFilter?.valueFormatter == "function" && (k = i.advancedFilter.valueFormatter({
2061
- item: C,
2062
- value: f
2063
- })), k;
2064
- });
2065
- return `${i.title}${a} ${y.join(", ")}`;
2066
- }, c = (u) => {
2067
- l.value[u] = { comparison: "=", value: null }, r("save");
2068
- }, r = o;
2069
- return (u, m) => (X(), ve(oa, null, {
2070
- default: te(() => [
2071
- d(la, null, {
2072
- default: te(() => [
2073
- (X(!0), Ee(se, null, It(E(n), (i, a) => (X(), ve(Rl, {
2074
- key: a,
2075
- class: "my-0",
2076
- text: s(i, a),
2077
- closable: "",
2078
- value: i,
2079
- density: "comfortable",
2080
- "onClick:close": (v) => c(a)
2081
- }, null, 8, ["text", "value", "onClick:close"]))), 128))
2082
- ]),
2083
- _: 1
2084
- })
2085
- ]),
2086
- _: 1
2087
- }));
2088
- }
2089
- }, sa = L({
2090
- active: Boolean,
2091
- disabled: Boolean,
2092
- max: [Number, String],
2093
- value: {
2094
- type: [Number, String],
2095
- default: 0
2096
- },
2097
- ...re(),
2098
- ...vt({
2099
- transition: {
2100
- component: yl
2101
- }
2102
- })
2103
- }, "VCounter"), ua = Y()({
2104
- name: "VCounter",
2105
- functional: !0,
2106
- props: sa(),
2107
- setup(e, o) {
2108
- let {
2109
- slots: n
2110
- } = o;
2111
- const t = T(() => e.max ? `${e.value} / ${e.max}` : String(e.value));
2112
- return ee(() => d($t, {
2113
- transition: e.transition
2114
- }, {
2115
- default: () => [Te(S("div", {
2116
- class: ae(["v-counter", {
2117
- "text-error": e.max && !e.disabled && parseFloat(e.value) > parseFloat(e.max)
2118
- }, e.class]),
2119
- style: be(e.style)
2120
- }, [n.default ? n.default({
2121
- counter: t.value,
2122
- max: e.max,
2123
- value: e.value
2124
- }) : t.value]), [[st, e.active]])]
2125
- })), {};
2126
- }
2127
- }), ra = L({
2128
- floating: Boolean,
2129
- ...re()
2130
- }, "VFieldLabel"), lt = Y()({
2131
- name: "VFieldLabel",
2132
- props: ra(),
2133
- setup(e, o) {
2134
- let {
2135
- slots: n
2136
- } = o;
2137
- return ee(() => d(wl, {
2138
- class: ae(["v-field-label", {
2139
- "v-field-label--floating": e.floating
2140
- }, e.class]),
2141
- style: be(e.style)
2142
- }, n)), {};
2143
- }
2144
- }), ca = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"], Ll = L({
2145
- appendInnerIcon: ue,
2146
- bgColor: String,
2147
- clearable: Boolean,
2148
- clearIcon: {
2149
- type: ue,
2150
- default: "$clear"
2151
- },
2152
- active: Boolean,
2153
- centerAffix: {
2154
- type: Boolean,
2155
- default: void 0
2156
- },
2157
- color: String,
2158
- baseColor: String,
2159
- dirty: Boolean,
2160
- disabled: {
2161
- type: Boolean,
2162
- default: null
2163
- },
2164
- glow: Boolean,
2165
- error: Boolean,
2166
- flat: Boolean,
2167
- iconColor: [Boolean, String],
2168
- label: String,
2169
- persistentClear: Boolean,
2170
- prependInnerIcon: ue,
2171
- reverse: Boolean,
2172
- singleLine: Boolean,
2173
- variant: {
2174
- type: String,
2175
- default: "filled",
2176
- validator: (e) => ca.includes(e)
2177
- },
2178
- "onClick:clear": we(),
2179
- "onClick:appendInner": we(),
2180
- "onClick:prependInner": we(),
2181
- ...re(),
2182
- ...ml(),
2183
- ...Ye(),
2184
- ...Pe()
2185
- }, "VField"), ll = Y()({
2186
- name: "VField",
2187
- inheritAttrs: !1,
2188
- props: {
2189
- id: String,
2190
- details: Boolean,
2191
- ...Dl(),
2192
- ...Ll()
2193
- },
2194
- emits: {
2195
- "update:focused": (e) => !0,
2196
- "update:modelValue": (e) => !0
2197
- },
2198
- setup(e, o) {
2199
- let {
2200
- attrs: n,
2201
- emit: t,
2202
- slots: l
2203
- } = o;
2204
- const {
2205
- themeClasses: s
2206
- } = Re(e), {
2207
- loaderClasses: c
2208
- } = sl(e), {
2209
- focusClasses: r,
2210
- isFocused: u,
2211
- focus: m,
2212
- blur: i
2213
- } = Mt(e), {
2214
- InputIcon: a
2215
- } = Tl(e), {
2216
- roundedClasses: v
2217
- } = Xe(e), {
2218
- rtlClasses: y
2219
- } = ft(), f = T(() => e.dirty || e.active), h = T(() => !!(e.label || l.label)), k = T(() => !e.singleLine && h.value), C = De(), w = V(() => e.id || `input-${C}`), D = T(() => e.details ? `${w.value}-messages` : void 0), F = R(), _ = R(), $ = R(), P = V(() => ["plain", "underlined"].includes(e.variant)), I = V(() => e.error || e.disabled ? void 0 : f.value && u.value ? e.color : e.baseColor), B = V(() => {
2220
- if (!(!e.iconColor || e.glow && !u.value))
2221
- return e.iconColor === !0 ? I.value : e.iconColor;
2222
- }), {
2223
- backgroundColorClasses: z,
2224
- backgroundColorStyles: j
2225
- } = dt(() => e.bgColor), {
2226
- textColorClasses: K,
2227
- textColorStyles: Q
2228
- } = ct(I);
2229
- ie(f, (G) => {
2230
- if (k.value && !kl()) {
2231
- const Z = F.value.$el, oe = _.value.$el;
2232
- requestAnimationFrame(() => {
2233
- const de = on(Z), A = oe.getBoundingClientRect(), p = A.x - de.x, b = A.y - de.y - (de.height / 2 - A.height / 2), g = A.width / 0.75, x = Math.abs(g - de.width) > 1 ? {
2234
- maxWidth: Me(g)
2235
- } : void 0, O = getComputedStyle(Z), M = getComputedStyle(oe), W = parseFloat(O.transitionDuration) * 1e3 || 150, N = parseFloat(M.getPropertyValue("--v-field-label-scale")), J = M.getPropertyValue("color");
2236
- Z.style.visibility = "visible", oe.style.visibility = "hidden", sn(Z, {
2237
- transform: `translate(${p}px, ${b}px) scale(${N})`,
2238
- color: J,
2239
- ...x
2240
- }, {
2241
- duration: W,
2242
- easing: un,
2243
- direction: G ? "normal" : "reverse"
2244
- }).finished.then(() => {
2245
- Z.style.removeProperty("visibility"), oe.style.removeProperty("visibility");
2246
- });
2247
- });
2248
- }
2249
- }, {
2250
- flush: "post"
2251
- });
2252
- const q = V(() => ({
2253
- isActive: f,
2254
- isFocused: u,
2255
- controlRef: $,
2256
- blur: i,
2257
- focus: m
2258
- }));
2259
- function ce(G) {
2260
- G.target !== document.activeElement && G.preventDefault();
2261
- }
2262
- return ee(() => {
2263
- const G = e.variant === "outlined", Z = !!(l["prepend-inner"] || e.prependInnerIcon), oe = !!(e.clearable || l.clear) && !e.disabled, de = !!(l["append-inner"] || e.appendInnerIcon || oe), A = () => l.label ? l.label({
2264
- ...q.value,
2265
- label: e.label,
2266
- props: {
2267
- for: w.value
2268
- }
2269
- }) : e.label;
2270
- return S("div", U({
2271
- class: ["v-field", {
2272
- "v-field--active": f.value,
2273
- "v-field--appended": de,
2274
- "v-field--center-affix": e.centerAffix ?? !P.value,
2275
- "v-field--disabled": e.disabled,
2276
- "v-field--dirty": e.dirty,
2277
- "v-field--error": e.error,
2278
- "v-field--glow": e.glow,
2279
- "v-field--flat": e.flat,
2280
- "v-field--has-background": !!e.bgColor,
2281
- "v-field--persistent-clear": e.persistentClear,
2282
- "v-field--prepended": Z,
2283
- "v-field--reverse": e.reverse,
2284
- "v-field--single-line": e.singleLine,
2285
- "v-field--no-label": !A(),
2286
- [`v-field--variant-${e.variant}`]: !0
2287
- }, s.value, z.value, r.value, c.value, v.value, y.value, e.class],
2288
- style: [j.value, e.style],
2289
- onClick: ce
2290
- }, n), [S("div", {
2291
- class: "v-field__overlay"
2292
- }, null), d(dl, {
2293
- name: "v-field",
2294
- active: !!e.loading,
2295
- color: e.error ? "error" : typeof e.loading == "string" ? e.loading : e.color
2296
- }, {
2297
- default: l.loader
2298
- }), Z && S("div", {
2299
- key: "prepend",
2300
- class: "v-field__prepend-inner"
2301
- }, [e.prependInnerIcon && d(a, {
2302
- key: "prepend-icon",
2303
- name: "prependInner",
2304
- color: B.value
2305
- }, null), l["prepend-inner"]?.(q.value)]), S("div", {
2306
- class: "v-field__field",
2307
- "data-no-activator": ""
2308
- }, [["filled", "solo", "solo-inverted", "solo-filled"].includes(e.variant) && k.value && d(lt, {
2309
- key: "floating-label",
2310
- ref: _,
2311
- class: ae([K.value]),
2312
- floating: !0,
2313
- for: w.value,
2314
- "aria-hidden": !f.value,
2315
- style: be(Q.value)
2316
- }, {
2317
- default: () => [A()]
2318
- }), h.value && d(lt, {
2319
- key: "label",
2320
- ref: F,
2321
- for: w.value
2322
- }, {
2323
- default: () => [A()]
2324
- }), l.default?.({
2325
- ...q.value,
2326
- props: {
2327
- id: w.value,
2328
- class: "v-field__input",
2329
- "aria-describedby": D.value
2330
- },
2331
- focus: m,
2332
- blur: i
2333
- }) ?? S("div", {
2334
- id: w.value,
2335
- class: "v-field__input",
2336
- "aria-describedby": D.value
2337
- }, null)]), oe && d(xl, {
2338
- key: "clear"
2339
- }, {
2340
- default: () => [Te(S("div", {
2341
- class: "v-field__clearable",
2342
- onMousedown: (p) => {
2343
- p.preventDefault(), p.stopPropagation();
2344
- }
2345
- }, [d(ke, {
2346
- defaults: {
2347
- VIcon: {
2348
- icon: e.clearIcon
2349
- }
2350
- }
2351
- }, {
2352
- default: () => [l.clear ? l.clear({
2353
- ...q.value,
2354
- props: {
2355
- onFocus: m,
2356
- onBlur: i,
2357
- onClick: e["onClick:clear"],
2358
- tabindex: -1
2359
- }
2360
- }) : d(a, {
2361
- name: "clear",
2362
- onFocus: m,
2363
- onBlur: i,
2364
- tabindex: -1
2365
- }, null)]
2366
- })]), [[st, e.dirty]])]
2367
- }), de && S("div", {
2368
- key: "append",
2369
- class: "v-field__append-inner"
2370
- }, [l["append-inner"]?.(q.value), e.appendInnerIcon && d(a, {
2371
- key: "append-icon",
2372
- name: "appendInner",
2373
- color: B.value
2374
- }, null)]), S("div", {
2375
- class: ae(["v-field__outline", K.value]),
2376
- style: be(Q.value)
2377
- }, [G && S(se, null, [S("div", {
2378
- class: "v-field__outline__start"
2379
- }, null), k.value && S("div", {
2380
- class: "v-field__outline__notch"
2381
- }, [d(lt, {
2382
- ref: _,
2383
- floating: !0,
2384
- for: w.value,
2385
- "aria-hidden": !f.value
2386
- }, {
2387
- default: () => [A()]
2388
- })]), S("div", {
2389
- class: "v-field__outline__end"
2390
- }, null)]), P.value && k.value && d(lt, {
2391
- ref: _,
2392
- floating: !0,
2393
- for: w.value,
2394
- "aria-hidden": !f.value
2395
- }, {
2396
- default: () => [A()]
2397
- })])]);
2398
- }), {
2399
- controlRef: $,
2400
- fieldIconColor: B
2401
- };
2402
- }
2403
- }), da = L({
2404
- autocomplete: String
2405
- }, "autocomplete");
2406
- function va(e) {
2407
- const o = De(), n = ne(0), t = T(() => e.autocomplete === "suppress"), l = T(() => t.value ? `${e.name}-${o}-${n.value}` : e.name), s = T(() => t.value ? "off" : e.autocomplete);
2408
- return {
2409
- isSuppressing: t,
2410
- fieldAutocomplete: s,
2411
- fieldName: l,
2412
- update: () => n.value = (/* @__PURE__ */ new Date()).getTime()
2413
- };
2414
- }
2415
- function fa(e) {
2416
- function o(n, t) {
2417
- !e.autofocus || !n || t[0].target?.focus?.();
2418
- }
2419
- return {
2420
- onIntersect: o
2421
- };
2422
- }
2423
- const ma = ["color", "file", "time", "date", "datetime-local", "week", "month"], Kt = L({
2424
- autofocus: Boolean,
2425
- counter: [Boolean, Number, String],
2426
- counterValue: [Number, Function],
2427
- prefix: String,
2428
- placeholder: String,
2429
- persistentPlaceholder: Boolean,
2430
- persistentCounter: Boolean,
2431
- suffix: String,
2432
- role: String,
2433
- type: {
2434
- type: String,
2435
- default: "text"
2436
- },
2437
- modelModifiers: Object,
2438
- ...da(),
2439
- ...zt(),
2440
- ...Ll()
2441
- }, "VTextField"), Ge = Y()({
2442
- name: "VTextField",
2443
- directives: {
2444
- vIntersect: Xt
2445
- },
2446
- inheritAttrs: !1,
2447
- props: Kt(),
2448
- emits: {
2449
- "click:control": (e) => !0,
2450
- "mousedown:control": (e) => !0,
2451
- "update:focused": (e) => !0,
2452
- "update:modelValue": (e) => !0
2453
- },
2454
- setup(e, o) {
2455
- let {
2456
- attrs: n,
2457
- emit: t,
2458
- slots: l
2459
- } = o;
2460
- const s = pe(e, "modelValue"), {
2461
- isFocused: c,
2462
- focus: r,
2463
- blur: u
2464
- } = Mt(e), {
2465
- onIntersect: m
2466
- } = fa(e), i = V(() => typeof e.counterValue == "function" ? e.counterValue(s.value) : typeof e.counterValue == "number" ? e.counterValue : (s.value ?? "").toString().length), a = V(() => {
2467
- if (n.maxlength) return n.maxlength;
2468
- if (!(!e.counter || typeof e.counter != "number" && typeof e.counter != "string"))
2469
- return e.counter;
2470
- }), v = V(() => ["plain", "underlined"].includes(e.variant)), y = R(), f = R(), h = R(), k = va(e), C = V(() => ma.includes(e.type) || e.persistentPlaceholder || c.value || e.active);
2471
- function w() {
2472
- k.isSuppressing.value && k.update(), c.value || r(), me(() => {
2473
- h.value !== document.activeElement && h.value?.focus();
2474
- });
2475
- }
2476
- function D(P) {
2477
- t("mousedown:control", P), P.target !== h.value && (w(), P.preventDefault());
2478
- }
2479
- function F(P) {
2480
- t("click:control", P);
2481
- }
2482
- function _(P, I) {
2483
- P.stopPropagation(), w(), me(() => {
2484
- I(), gl(e["onClick:clear"], P);
2485
- });
2486
- }
2487
- function $(P) {
2488
- const I = P.target;
2489
- if (!(e.modelModifiers?.trim && ["text", "search", "password", "tel", "url"].includes(e.type))) {
2490
- s.value = I.value;
2491
- return;
2492
- }
2493
- const B = I.value, z = I.selectionStart, j = I.selectionEnd;
2494
- s.value = B, me(() => {
2495
- let K = 0;
2496
- B.trimStart().length === I.value.length && (K = B.length - I.value.length), z != null && (I.selectionStart = z - K), j != null && (I.selectionEnd = j - K);
2497
- });
2498
- }
2499
- return ee(() => {
2500
- const P = !!(l.counter || e.counter !== !1 && e.counter != null), I = !!(P || l.details), [B, z] = Ot(n), {
2501
- modelValue: j,
2502
- ...K
2503
- } = ot.filterProps(e), Q = ll.filterProps(e);
2504
- return d(ot, U({
2505
- ref: y,
2506
- modelValue: s.value,
2507
- "onUpdate:modelValue": (q) => s.value = q,
2508
- class: ["v-text-field", {
2509
- "v-text-field--prefixed": e.prefix,
2510
- "v-text-field--suffixed": e.suffix,
2511
- "v-input--plain-underlined": v.value
2512
- }, e.class],
2513
- style: e.style
2514
- }, B, K, {
2515
- centerAffix: !v.value,
2516
- focused: c.value
2517
- }), {
2518
- ...l,
2519
- default: (q) => {
2520
- let {
2521
- id: ce,
2522
- isDisabled: G,
2523
- isDirty: Z,
2524
- isReadonly: oe,
2525
- isValid: de,
2526
- hasDetails: A,
2527
- reset: p
2528
- } = q;
2529
- return d(ll, U({
2530
- ref: f,
2531
- onMousedown: D,
2532
- onClick: F,
2533
- "onClick:clear": (b) => _(b, p),
2534
- role: e.role
2535
- }, Ze(Q, ["onClick:clear"]), {
2536
- id: ce.value,
2537
- active: C.value || Z.value,
2538
- dirty: Z.value || e.dirty,
2539
- disabled: G.value,
2540
- focused: c.value,
2541
- details: A.value,
2542
- error: de.value === !1
2543
- }), {
2544
- ...l,
2545
- default: (b) => {
2546
- let {
2547
- props: {
2548
- class: g,
2549
- ...x
2550
- },
2551
- controlRef: O
2552
- } = b;
2553
- const M = Te(S("input", U({
2554
- ref: (W) => h.value = O.value = W,
2555
- value: s.value,
2556
- onInput: $,
2557
- autofocus: e.autofocus,
2558
- readonly: oe.value,
2559
- disabled: G.value,
2560
- name: k.fieldName.value,
2561
- autocomplete: k.fieldAutocomplete.value,
2562
- placeholder: e.placeholder,
2563
- size: 1,
2564
- role: e.role,
2565
- type: e.type,
2566
- onFocus: r,
2567
- onBlur: u
2568
- }, x, z), null), [[Xt, {
2569
- handler: m
2570
- }, null, {
2571
- once: !0
2572
- }]]);
2573
- return S(se, null, [e.prefix && S("span", {
2574
- class: "v-text-field__prefix"
2575
- }, [S("span", {
2576
- class: "v-text-field__prefix__text"
2577
- }, [e.prefix])]), l.default ? S("div", {
2578
- class: ae(g),
2579
- "data-no-activator": ""
2580
- }, [l.default(), M]) : jl(M, {
2581
- class: g
2582
- }), e.suffix && S("span", {
2583
- class: "v-text-field__suffix"
2584
- }, [S("span", {
2585
- class: "v-text-field__suffix__text"
2586
- }, [e.suffix])])]);
2587
- }
2588
- });
2589
- },
2590
- details: I ? (q) => S(se, null, [l.details?.(q), P && S(se, null, [S("span", null, null), d(ua, {
2591
- active: e.persistentCounter || c.value,
2592
- value: i.value,
2593
- max: a.value,
2594
- disabled: e.disabled
2595
- }, l.counter)])]) : void 0
2596
- });
2597
- }), et({}, y, f, h);
2598
- }
2599
- }), ga = L({
2600
- renderless: Boolean,
2601
- ...re()
2602
- }, "VVirtualScrollItem"), ya = Y()({
2603
- name: "VVirtualScrollItem",
2604
- inheritAttrs: !1,
2605
- props: ga(),
2606
- emits: {
2607
- "update:height": (e) => !0
2608
- },
2609
- setup(e, o) {
2610
- let {
2611
- attrs: n,
2612
- emit: t,
2613
- slots: l
2614
- } = o;
2615
- const {
2616
- resizeRef: s,
2617
- contentRect: c
2618
- } = at(void 0, "border");
2619
- ie(() => c.value?.height, (r) => {
2620
- r != null && t("update:height", r);
2621
- }), ee(() => e.renderless ? S(se, null, [l.default?.({
2622
- itemRef: s
2623
- })]) : S("div", U({
2624
- ref: s,
2625
- class: ["v-virtual-scroll__item", e.class],
2626
- style: e.style
2627
- }, n), [l.default?.()]));
2628
- }
2629
- }), ba = -1, ha = 1, ht = 100, pa = L({
2630
- itemHeight: {
2631
- type: [Number, String],
2632
- default: null
2633
- },
2634
- itemKey: {
2635
- type: [String, Array, Function],
2636
- default: null
2637
- },
2638
- height: [Number, String]
2639
- }, "virtual");
2640
- function ka(e, o) {
2641
- const n = Sl(), t = ne(0);
2642
- pt(() => {
2643
- t.value = parseFloat(e.itemHeight || 0);
2644
- });
2645
- const l = ne(0), s = ne(Math.ceil(
2646
- // Assume 16px items filling the entire screen height if
2647
- // not provided. This is probably incorrect but it minimises
2648
- // the chance of ending up with empty space at the bottom.
2649
- // The default value is set here to avoid poisoning getSize()
2650
- (parseInt(e.height) || n.height.value) / (t.value || 16)
2651
- ) || 1), c = ne(0), r = ne(0), u = R(), m = R();
2652
- let i = 0;
2653
- const {
2654
- resizeRef: a,
2655
- contentRect: v
2656
- } = at();
2657
- pt(() => {
2658
- a.value = u.value;
2659
- });
2660
- const y = V(() => u.value === document.documentElement ? n.height.value : v.value?.height || parseInt(e.height) || 0), f = V(() => !!(u.value && m.value && y.value && t.value));
2661
- let h = Array.from({
2662
- length: o.value.length
2663
- }), k = Array.from({
2664
- length: o.value.length
2665
- });
2666
- const C = ne(0);
2667
- let w = -1;
2668
- function D(A) {
2669
- return h[A] || t.value;
2670
- }
2671
- const F = rn(() => {
2672
- const A = performance.now();
2673
- k[0] = 0;
2674
- const p = o.value.length;
2675
- for (let b = 1; b <= p; b++)
2676
- k[b] = (k[b - 1] || 0) + D(b - 1);
2677
- C.value = Math.max(C.value, performance.now() - A);
2678
- }, C), _ = ie(f, (A) => {
2679
- A && (_(), i = m.value.offsetTop, F.immediate(), G(), ~w && me(() => {
2680
- Ke && window.requestAnimationFrame(() => {
2681
- oe(w), w = -1;
2682
- });
2683
- }));
2684
- });
2685
- it(() => {
2686
- F.clear();
2687
- });
2688
- function $(A, p) {
2689
- const b = h[A], g = t.value;
2690
- t.value = g ? Math.min(t.value, p) : p, (b !== p || g !== t.value) && (h[A] = p, F());
2691
- }
2692
- function P(A) {
2693
- A = Fe(A, 0, o.value.length);
2694
- const p = Math.floor(A), b = A % 1, g = p + 1, x = k[p] || 0, O = k[g] || x;
2695
- return x + (O - x) * b;
2696
- }
2697
- function I(A) {
2698
- return Sa(k, A);
2699
- }
2700
- let B = 0, z = 0, j = 0;
2701
- ie(y, (A, p) => {
2702
- p && (G(), A < p && requestAnimationFrame(() => {
2703
- z = 0, G();
2704
- }));
2705
- });
2706
- let K = -1;
2707
- function Q() {
2708
- if (!u.value || !m.value) return;
2709
- const A = u.value.scrollTop, p = performance.now();
2710
- p - j > 500 ? (z = Math.sign(A - B), i = m.value.offsetTop) : z = A - B, B = A, j = p, window.clearTimeout(K), K = window.setTimeout(q, 500), G();
2711
- }
2712
- function q() {
2713
- !u.value || !m.value || (z = 0, j = 0, window.clearTimeout(K), G());
2714
- }
2715
- let ce = -1;
2716
- function G() {
2717
- cancelAnimationFrame(ce), ce = requestAnimationFrame(Z);
2718
- }
2719
- function Z() {
2720
- if (!u.value || !y.value || !t.value) return;
2721
- const A = B - i, p = Math.sign(z), b = Math.max(0, A - ht), g = Fe(I(b), 0, o.value.length), x = A + y.value + ht, O = Fe(I(x) + 1, g + 1, o.value.length);
2722
- if (
2723
- // Only update the side we're scrolling towards,
2724
- // the other side will be updated incidentally
2725
- (p !== ba || g < l.value) && (p !== ha || O > s.value)
2726
- ) {
2727
- const M = P(l.value) - P(g), W = P(O) - P(s.value);
2728
- Math.max(M, W) > ht ? (l.value = g, s.value = O) : (g <= 0 && (l.value = g), O >= o.value.length && (s.value = O));
2729
- }
2730
- c.value = P(l.value), r.value = P(o.value.length) - P(s.value);
2731
- }
2732
- function oe(A) {
2733
- const p = P(A);
2734
- !u.value || A && !p ? w = A : u.value.scrollTop = p;
2735
- }
2736
- const de = V(() => o.value.slice(l.value, s.value).map((A, p) => {
2737
- const b = p + l.value;
2738
- return {
2739
- raw: A,
2740
- index: b,
2741
- key: cn(A, e.itemKey, b)
2742
- };
2743
- }));
2744
- return ie(o, () => {
2745
- h = Array.from({
2746
- length: o.value.length
2747
- }), k = Array.from({
2748
- length: o.value.length
2749
- }), F.immediate(), G();
2750
- }, {
2751
- deep: 1
2752
- }), {
2753
- calculateVisibleItems: G,
2754
- containerRef: u,
2755
- markerRef: m,
2756
- computedItems: de,
2757
- paddingTop: c,
2758
- paddingBottom: r,
2759
- scrollToIndex: oe,
2760
- handleScroll: Q,
2761
- handleScrollend: q,
2762
- handleItemResize: $
2763
- };
2764
- }
2765
- function Sa(e, o) {
2766
- let n = e.length - 1, t = 0, l = 0, s = null, c = -1;
2767
- if (e[n] < o)
2768
- return n;
2769
- for (; t <= n; )
2770
- if (l = t + n >> 1, s = e[l], s > o)
2771
- n = l - 1;
2772
- else if (s < o)
2773
- c = l, t = l + 1;
2774
- else return s === o ? l : t;
2775
- return c;
2776
- }
2777
- const Ca = L({
2778
- items: {
2779
- type: Array,
2780
- default: () => []
2781
- },
2782
- renderless: Boolean,
2783
- ...pa(),
2784
- ...re(),
2785
- ...Qe()
2786
- }, "VVirtualScroll"), Va = Y()({
2787
- name: "VVirtualScroll",
2788
- props: Ca(),
2789
- setup(e, o) {
2790
- let {
2791
- slots: n
2792
- } = o;
2793
- const t = hl("VVirtualScroll"), {
2794
- dimensionStyles: l
2795
- } = Je(e), {
2796
- calculateVisibleItems: s,
2797
- containerRef: c,
2798
- markerRef: r,
2799
- handleScroll: u,
2800
- handleScrollend: m,
2801
- handleItemResize: i,
2802
- scrollToIndex: a,
2803
- paddingTop: v,
2804
- paddingBottom: y,
2805
- computedItems: f
2806
- } = ka(e, T(() => e.items));
2807
- return St(() => e.renderless, () => {
2808
- function h() {
2809
- const C = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) ? "addEventListener" : "removeEventListener";
2810
- c.value === document.documentElement ? (document[C]("scroll", u, {
2811
- passive: !0
2812
- }), document[C]("scrollend", m)) : (c.value?.[C]("scroll", u, {
2813
- passive: !0
2814
- }), c.value?.[C]("scrollend", m));
2815
- }
2816
- Oe(() => {
2817
- c.value = dn(t.vnode.el, !0), h(!0);
2818
- }), it(h);
2819
- }), ee(() => {
2820
- const h = f.value.map((k) => d(ya, {
2821
- key: k.key,
2822
- renderless: e.renderless,
2823
- "onUpdate:height": (C) => i(k.index, C)
2824
- }, {
2825
- default: (C) => n.default?.({
2826
- item: k.raw,
2827
- index: k.index,
2828
- ...C
2829
- })
2830
- }));
2831
- return e.renderless ? S(se, null, [S("div", {
2832
- ref: r,
2833
- class: "v-virtual-scroll__spacer",
2834
- style: {
2835
- paddingTop: Me(v.value)
2836
- }
2837
- }, null), h, S("div", {
2838
- class: "v-virtual-scroll__spacer",
2839
- style: {
2840
- paddingBottom: Me(y.value)
2841
- }
2842
- }, null)]) : S("div", {
2843
- ref: c,
2844
- class: ae(["v-virtual-scroll", e.class]),
2845
- onScrollPassive: u,
2846
- onScrollend: m,
2847
- style: be([l.value, e.style])
2848
- }, [S("div", {
2849
- ref: r,
2850
- class: "v-virtual-scroll__container",
2851
- style: {
2852
- paddingTop: Me(v.value),
2853
- paddingBottom: Me(y.value)
2854
- }
2855
- }, [h])]);
2856
- }), {
2857
- calculateVisibleItems: s,
2858
- scrollToIndex: a
2859
- };
2860
- }
2861
- });
2862
- function xa(e, o) {
2863
- const n = ne(!1);
2864
- let t;
2865
- function l(r) {
2866
- cancelAnimationFrame(t), n.value = !0, t = requestAnimationFrame(() => {
2867
- t = requestAnimationFrame(() => {
2868
- n.value = !1;
2869
- });
2870
- });
2871
- }
2872
- async function s() {
2873
- await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => {
2874
- if (n.value) {
2875
- const u = ie(n, () => {
2876
- u(), r();
2877
- });
2878
- } else r();
2879
- });
2880
- }
2881
- async function c(r) {
2882
- if (r.key === "Tab" && o.value?.focus(), !["PageDown", "PageUp", "Home", "End"].includes(r.key)) return;
2883
- const u = e.value?.$el;
2884
- if (!u) return;
2885
- (r.key === "Home" || r.key === "End") && u.scrollTo({
2886
- top: r.key === "Home" ? 0 : u.scrollHeight,
2887
- behavior: "smooth"
2888
- }), await s();
2889
- const m = u.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");
2890
- if (r.key === "PageDown" || r.key === "Home") {
2891
- const i = u.getBoundingClientRect().top;
2892
- for (const a of m)
2893
- if (a.getBoundingClientRect().top >= i) {
2894
- a.focus();
2895
- break;
2896
- }
2897
- } else {
2898
- const i = u.getBoundingClientRect().bottom;
2899
- for (const a of [...m].reverse())
2900
- if (a.getBoundingClientRect().bottom <= i) {
2901
- a.focus();
2902
- break;
2903
- }
2904
- }
2905
- }
2906
- return {
2907
- onScrollPassive: l,
2908
- onKeydown: c
2909
- };
2910
- }
2911
- const Ia = L({
2912
- closeText: {
2913
- type: String,
2914
- default: "$vuetify.close"
2915
- },
2916
- openText: {
2917
- type: String,
2918
- default: "$vuetify.open"
2919
- }
2920
- }, "autocomplete");
2921
- function wa(e, o) {
2922
- const {
2923
- t: n
2924
- } = Le(), t = De(), l = V(() => `menu-${t}`), s = T(() => qt(o)), c = T(() => l.value), r = T(() => n(qt(o) ? e.closeText : e.openText));
2925
- return {
2926
- menuId: l,
2927
- ariaExpanded: s,
2928
- ariaControls: c,
2929
- ariaLabel: r
2930
- };
2931
- }
2932
- const _a = L({
2933
- chips: Boolean,
2934
- closableChips: Boolean,
2935
- eager: Boolean,
2936
- hideNoData: Boolean,
2937
- hideSelected: Boolean,
2938
- listProps: {
2939
- type: Object
2940
- },
2941
- menu: Boolean,
2942
- menuIcon: {
2943
- type: ue,
2944
- default: "$dropdown"
2945
- },
2946
- menuProps: {
2947
- type: Object
2948
- },
2949
- multiple: Boolean,
2950
- noDataText: {
2951
- type: String,
2952
- default: "$vuetify.noDataText"
2953
- },
2954
- openOnClear: Boolean,
2955
- itemColor: String,
2956
- noAutoScroll: Boolean,
2957
- ...Ia(),
2958
- ...bn({
2959
- itemChildren: !1
2960
- })
2961
- }, "Select"), Pa = L({
2962
- ..._a(),
2963
- ...Ze(Kt({
2964
- modelValue: null,
2965
- role: "combobox"
2966
- }), ["validationValue", "dirty", "appendInnerIcon"]),
2967
- ...vt({
2968
- transition: {
2969
- component: pl
2970
- }
2971
- })
2972
- }, "VSelect"), Aa = Y()({
2973
- name: "VSelect",
2974
- props: Pa(),
2975
- emits: {
2976
- "update:focused": (e) => !0,
2977
- "update:modelValue": (e) => !0,
2978
- "update:menu": (e) => !0
2979
- },
2980
- setup(e, o) {
2981
- let {
2982
- slots: n
2983
- } = o;
2984
- const {
2985
- t
2986
- } = Le(), l = R(), s = R(), c = R(), {
2987
- items: r,
2988
- transformIn: u,
2989
- transformOut: m
2990
- } = vn(e), i = pe(e, "modelValue", [], (g) => u(g === null ? [null] : Ae(g)), (g) => {
2991
- const x = m(g);
2992
- return e.multiple ? x : x[0] ?? null;
2993
- }), a = V(() => typeof e.counterValue == "function" ? e.counterValue(i.value) : typeof e.counterValue == "number" ? e.counterValue : i.value.length), v = Ht(e), y = V(() => i.value.map((g) => g.value)), f = ne(!1);
2994
- let h = "", k = -1, C;
2995
- const w = V(() => e.hideSelected ? r.value.filter((g) => !i.value.some((x) => (e.valueComparator || ze)(x, g))) : r.value), D = V(() => e.hideNoData && !w.value.length || v.isReadonly.value || v.isDisabled.value), F = pe(e, "menu"), _ = V({
2996
- get: () => F.value,
2997
- set: (g) => {
2998
- F.value && !g && s.value?.ΨopenChildren.size || g && D.value || (F.value = g);
2999
- }
3000
- }), {
3001
- menuId: $,
3002
- ariaExpanded: P,
3003
- ariaControls: I,
3004
- ariaLabel: B
3005
- } = wa(e, _), z = V(() => ({
3006
- ...e.menuProps,
3007
- activatorProps: {
3008
- ...e.menuProps?.activatorProps || {},
3009
- "aria-haspopup": "listbox"
3010
- // Set aria-haspopup to 'listbox'
3011
- }
3012
- })), j = R(), K = xa(j, l);
3013
- function Q(g) {
3014
- e.openOnClear && (_.value = !0);
3015
- }
3016
- function q() {
3017
- D.value || (_.value = !_.value);
3018
- }
3019
- function ce(g) {
3020
- Yt(g) && G(g);
3021
- }
3022
- function G(g) {
3023
- if (!g.key || v.isReadonly.value) return;
3024
- ["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(g.key) && g.preventDefault(), ["Enter", "ArrowDown", " "].includes(g.key) && (_.value = !0), ["Escape", "Tab"].includes(g.key) && (_.value = !1), g.key === "Home" ? j.value?.focus("first") : g.key === "End" && j.value?.focus("last");
3025
- const x = 1e3;
3026
- if (!Yt(g)) return;
3027
- const O = performance.now();
3028
- O - C > x && (h = "", k = -1), h += g.key.toLowerCase(), C = O;
3029
- const M = w.value;
3030
- function W() {
3031
- let H = N();
3032
- return H || h.at(-1) === h.at(-2) && (h = h.slice(0, -1), H = N(), H) || (k = -1, H = N(), H) ? H : (h = g.key.toLowerCase(), N());
3033
- }
3034
- function N() {
3035
- for (let H = k + 1; H < M.length; H++) {
3036
- const he = M[H];
3037
- if (he.title.toLowerCase().startsWith(h))
3038
- return [he, H];
3039
- }
3040
- }
3041
- const J = W();
3042
- if (!J) return;
3043
- const [fe, Ve] = J;
3044
- k = Ve, j.value?.focus(Ve), e.multiple || (i.value = [fe]);
3045
- }
3046
- function Z(g) {
3047
- let x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
3048
- if (!g.props.disabled)
3049
- if (e.multiple) {
3050
- const O = i.value.findIndex((W) => (e.valueComparator || ze)(W.value, g.value)), M = x ?? !~O;
3051
- if (~O) {
3052
- const W = M ? [...i.value, g] : [...i.value];
3053
- W.splice(O, 1), i.value = W;
3054
- } else M && (i.value = [...i.value, g]);
3055
- } else {
3056
- const O = x !== !1;
3057
- i.value = O ? [g] : [], me(() => {
3058
- _.value = !1;
3059
- });
3060
- }
3061
- }
3062
- function oe(g) {
3063
- j.value?.$el.contains(g.relatedTarget) || (_.value = !1);
3064
- }
3065
- function de() {
3066
- e.eager && c.value?.calculateVisibleItems();
3067
- }
3068
- function A() {
3069
- f.value && l.value?.focus();
3070
- }
3071
- function p(g) {
3072
- f.value = !0;
3073
- }
3074
- function b(g) {
3075
- if (g == null) i.value = [];
3076
- else if (kt(l.value, ":autofill") || kt(l.value, ":-webkit-autofill")) {
3077
- const x = r.value.find((O) => O.title === g);
3078
- x && Z(x);
3079
- } else l.value && (l.value.value = "");
3080
- }
3081
- return ie(_, () => {
3082
- if (!e.hideSelected && _.value && i.value.length) {
3083
- const g = w.value.findIndex((x) => i.value.some((O) => (e.valueComparator || ze)(O.value, x.value)));
3084
- Ke && !e.noAutoScroll && window.requestAnimationFrame(() => {
3085
- g >= 0 && c.value?.scrollToIndex(g);
3086
- });
3087
- }
3088
- }), ie(r, (g, x) => {
3089
- _.value || f.value && e.hideNoData && !x.length && g.length && (_.value = !0);
3090
- }), ee(() => {
3091
- const g = !!(e.chips || n.chip), x = !!(!e.hideNoData || w.value.length || n["prepend-item"] || n["append-item"] || n["no-data"]), O = i.value.length > 0, M = Ge.filterProps(e), W = O || !f.value && e.label && !e.persistentPlaceholder ? void 0 : e.placeholder;
3092
- return d(Ge, U({
3093
- ref: l
3094
- }, M, {
3095
- modelValue: i.value.map((N) => N.props.value).join(", "),
3096
- "onUpdate:modelValue": b,
3097
- focused: f.value,
3098
- "onUpdate:focused": (N) => f.value = N,
3099
- validationValue: i.externalValue,
3100
- counterValue: a.value,
3101
- dirty: O,
3102
- class: ["v-select", {
3103
- "v-select--active-menu": _.value,
3104
- "v-select--chips": !!e.chips,
3105
- [`v-select--${e.multiple ? "multiple" : "single"}`]: !0,
3106
- "v-select--selected": i.value.length,
3107
- "v-select--selection-slot": !!n.selection
3108
- }, e.class],
3109
- style: e.style,
3110
- inputmode: "none",
3111
- placeholder: W,
3112
- "onClick:clear": Q,
3113
- "onMousedown:control": q,
3114
- onBlur: oe,
3115
- onKeydown: G,
3116
- "aria-expanded": P.value,
3117
- "aria-controls": I.value,
3118
- "aria-label": B.value,
3119
- title: B.value
3120
- }), {
3121
- ...n,
3122
- default: () => S(se, null, [d(fn, U({
3123
- id: $.value,
3124
- ref: s,
3125
- modelValue: _.value,
3126
- "onUpdate:modelValue": (N) => _.value = N,
3127
- activator: "parent",
3128
- contentClass: "v-select__content",
3129
- disabled: D.value,
3130
- eager: e.eager,
3131
- maxHeight: 310,
3132
- openOnClick: !1,
3133
- closeOnContentClick: !1,
3134
- transition: e.transition,
3135
- onAfterEnter: de,
3136
- onAfterLeave: A
3137
- }, z.value), {
3138
- default: () => [x && d(Nt, U({
3139
- ref: j,
3140
- selected: y.value,
3141
- selectStrategy: e.multiple ? "independent" : "single-independent",
3142
- onMousedown: (N) => N.preventDefault(),
3143
- onKeydown: ce,
3144
- onFocusin: p,
3145
- tabindex: "-1",
3146
- selectable: !0,
3147
- "aria-live": "polite",
3148
- "aria-label": `${e.label}-list`,
3149
- color: e.itemColor ?? e.color
3150
- }, K, e.listProps), {
3151
- default: () => [n["prepend-item"]?.(), !w.value.length && !e.hideNoData && (n["no-data"]?.() ?? d(nt, {
3152
- key: "no-data",
3153
- title: t(e.noDataText)
3154
- }, null)), d(Va, {
3155
- ref: c,
3156
- renderless: !0,
3157
- items: w.value,
3158
- itemKey: "value"
3159
- }, {
3160
- default: (N) => {
3161
- let {
3162
- item: J,
3163
- index: fe,
3164
- itemRef: Ve
3165
- } = N;
3166
- const H = mn(J.props), he = U(J.props, {
3167
- ref: Ve,
3168
- key: J.value,
3169
- onClick: () => Z(J, null)
3170
- });
3171
- return J.type === "divider" ? n.divider?.({
3172
- props: J.raw,
3173
- index: fe
3174
- }) ?? d(Ie, U(J.props, {
3175
- key: `divider-${fe}`
3176
- }), null) : J.type === "subheader" ? n.subheader?.({
3177
- props: J.raw,
3178
- index: fe
3179
- }) ?? d(gn, U(J.props, {
3180
- key: `subheader-${fe}`
3181
- }), null) : n.item?.({
3182
- item: J,
3183
- index: fe,
3184
- props: he
3185
- }) ?? d(nt, U(he, {
3186
- role: "option"
3187
- }), {
3188
- prepend: (le) => {
3189
- let {
3190
- isSelected: Hl
3191
- } = le;
3192
- return S(se, null, [e.multiple && !e.hideSelected ? d(xt, {
3193
- key: J.value,
3194
- modelValue: Hl,
3195
- ripple: !1,
3196
- tabindex: "-1",
3197
- onClick: (zl) => zl.preventDefault()
3198
- }, null) : void 0, H.prependAvatar && d(je, {
3199
- image: H.prependAvatar
3200
- }, null), H.prependIcon && d(ge, {
3201
- icon: H.prependIcon
3202
- }, null)]);
3203
- }
3204
- });
3205
- }
3206
- }), n["append-item"]?.()]
3207
- })]
3208
- }), i.value.map((N, J) => {
3209
- function fe(le) {
3210
- le.stopPropagation(), le.preventDefault(), Z(N, !1);
3211
- }
3212
- const Ve = {
3213
- "onClick:close": fe,
3214
- onKeydown(le) {
3215
- le.key !== "Enter" && le.key !== " " || (le.preventDefault(), le.stopPropagation(), fe(le));
3216
- },
3217
- onMousedown(le) {
3218
- le.preventDefault(), le.stopPropagation();
3219
- },
3220
- modelValue: !0,
3221
- "onUpdate:modelValue": void 0
3222
- }, H = g ? !!n.chip : !!n.selection, he = H ? yn(g ? n.chip({
3223
- item: N,
3224
- index: J,
3225
- props: Ve
3226
- }) : n.selection({
3227
- item: N,
3228
- index: J
3229
- })) : void 0;
3230
- if (!(H && !he))
3231
- return S("div", {
3232
- key: N.value,
3233
- class: "v-select__selection"
3234
- }, [g ? n.chip ? d(ke, {
3235
- key: "chip-defaults",
3236
- defaults: {
3237
- VChip: {
3238
- closable: e.closableChips,
3239
- size: "small",
3240
- text: N.title
3241
- }
3242
- }
3243
- }, {
3244
- default: () => [he]
3245
- }) : d(Rl, U({
3246
- key: "chip",
3247
- closable: e.closableChips,
3248
- size: "small",
3249
- text: N.title,
3250
- disabled: N.props.disabled
3251
- }, Ve), null) : he ?? S("span", {
3252
- class: "v-select__selection-text"
3253
- }, [N.title, e.multiple && J < i.value.length - 1 && S("span", {
3254
- class: "v-select__selection-comma"
3255
- }, [Kl(",")])])]);
3256
- })]),
3257
- "append-inner": function() {
3258
- for (var N = arguments.length, J = new Array(N), fe = 0; fe < N; fe++)
3259
- J[fe] = arguments[fe];
3260
- return S(se, null, [n["append-inner"]?.(...J), e.menuIcon ? d(ge, {
3261
- class: "v-select__menu-icon",
3262
- color: l.value?.fieldIconColor,
3263
- icon: e.menuIcon
3264
- }, null) : void 0]);
3265
- }
3266
- });
3267
- }), et({
3268
- isFocused: f,
3269
- menu: _,
3270
- select: Z
3271
- }, l);
3272
- }
3273
- }), Fa = L({
3274
- bordered: Boolean,
3275
- color: String,
3276
- content: [Number, String],
3277
- dot: Boolean,
3278
- floating: Boolean,
3279
- icon: ue,
3280
- inline: Boolean,
3281
- label: {
3282
- type: String,
3283
- default: "$vuetify.badge"
3284
- },
3285
- max: [Number, String],
3286
- modelValue: {
3287
- type: Boolean,
3288
- default: !0
3289
- },
3290
- offsetX: [Number, String],
3291
- offsetY: [Number, String],
3292
- textColor: String,
3293
- ...re(),
3294
- ...Dt({
3295
- location: "top end"
3296
- }),
3297
- ...Ye(),
3298
- ...Ce(),
3299
- ...Pe(),
3300
- ...vt({
3301
- transition: "scale-rotate-transition"
3302
- }),
3303
- ...Qe()
3304
- }, "VBadge"), Ta = Y()({
3305
- name: "VBadge",
3306
- inheritAttrs: !1,
3307
- props: Fa(),
3308
- setup(e, o) {
3309
- const {
3310
- backgroundColorClasses: n,
3311
- backgroundColorStyles: t
3312
- } = dt(() => e.color), {
3313
- roundedClasses: l
3314
- } = Xe(e), {
3315
- t: s
3316
- } = Le(), {
3317
- textColorClasses: c,
3318
- textColorStyles: r
3319
- } = ct(() => e.textColor), {
3320
- themeClasses: u
3321
- } = hn(), {
3322
- locationStyles: m
3323
- } = Ft(e, !0, (a) => (e.floating ? e.dot ? 2 : 4 : e.dot ? 8 : 12) + (["top", "bottom"].includes(a) ? Number(e.offsetY ?? 0) : ["left", "right"].includes(a) ? Number(e.offsetX ?? 0) : 0)), {
3324
- dimensionStyles: i
3325
- } = Je(e);
3326
- return ee(() => {
3327
- const a = Number(e.content), v = !e.max || isNaN(a) ? e.content : a <= Number(e.max) ? a : `${e.max}+`, [y, f] = pn(o.attrs, ["aria-atomic", "aria-label", "aria-live", "role", "title"]);
3328
- return d(e.tag, U({
3329
- class: ["v-badge", {
3330
- "v-badge--bordered": e.bordered,
3331
- "v-badge--dot": e.dot,
3332
- "v-badge--floating": e.floating,
3333
- "v-badge--inline": e.inline
3334
- }, e.class]
3335
- }, f, {
3336
- style: e.style
3337
- }), {
3338
- default: () => [S("div", {
3339
- class: "v-badge__wrapper"
3340
- }, [o.slots.default?.(), d($t, {
3341
- transition: e.transition
3342
- }, {
3343
- default: () => [Te(S("span", U({
3344
- class: ["v-badge__badge", u.value, n.value, l.value, c.value],
3345
- style: [t.value, r.value, i.value, e.inline ? {} : m.value],
3346
- "aria-atomic": "true",
3347
- "aria-label": s(e.label, a),
3348
- "aria-live": "polite",
3349
- role: "status"
3350
- }, y), [e.dot ? void 0 : o.slots.badge ? o.slots.badge?.() : e.icon ? d(ge, {
3351
- icon: e.icon
3352
- }, null) : v]), [[st, e.modelValue]])]
3353
- })])]
3354
- });
3355
- }), {};
3356
- }
3357
- }), Da = 50, Ba = 500;
3358
- function Ea(e) {
3359
- let {
3360
- toggleUpDown: o
3361
- } = e, n = -1, t = -1;
3362
- it(s);
3363
- function l(r) {
3364
- s(), c(r), window.addEventListener("pointerup", s), document.addEventListener("blur", s), n = window.setTimeout(() => {
3365
- t = window.setInterval(() => c(r), Da);
3366
- }, Ba);
3367
- }
3368
- function s() {
3369
- window.clearTimeout(n), window.clearInterval(t), window.removeEventListener("pointerup", s), document.removeEventListener("blur", s);
3370
- }
3371
- function c(r) {
3372
- o(r === "up");
3373
- }
3374
- return {
3375
- holdStart: l,
3376
- holdStop: s
3377
- };
3378
- }
3379
- const Oa = L({
3380
- controlVariant: {
3381
- type: String,
3382
- default: "default"
3383
- },
3384
- inset: Boolean,
3385
- hideInput: Boolean,
3386
- modelValue: {
3387
- type: Number,
3388
- default: null
3389
- },
3390
- min: {
3391
- type: Number,
3392
- default: Number.MIN_SAFE_INTEGER
3393
- },
3394
- max: {
3395
- type: Number,
3396
- default: Number.MAX_SAFE_INTEGER
3397
- },
3398
- step: {
3399
- type: Number,
3400
- default: 1
3401
- },
3402
- precision: {
3403
- type: Number,
3404
- default: 0
3405
- },
3406
- minFractionDigits: {
3407
- type: Number,
3408
- default: null
3409
- },
3410
- decimalSeparator: {
3411
- type: String,
3412
- validator: (e) => !e || e.length === 1
3413
- },
3414
- ...Ze(Kt(), ["modelValue", "validationValue"])
3415
- }, "VNumberInput"), $a = Y()({
3416
- name: "VNumberInput",
3417
- props: {
3418
- ...Oa()
3419
- },
3420
- emits: {
3421
- "update:focused": (e) => !0,
3422
- "update:modelValue": (e) => !0
3423
- },
3424
- setup(e, o) {
3425
- let {
3426
- slots: n
3427
- } = o;
3428
- const t = R(), {
3429
- holdStart: l,
3430
- holdStop: s
3431
- } = Ea({
3432
- toggleUpDown: B
3433
- }), c = Ht(e), r = V(() => c.isDisabled.value || c.isReadonly.value), u = ne(e.focused), {
3434
- decimalSeparator: m
3435
- } = Le(), i = V(() => e.decimalSeparator?.[0] || m.value);
3436
- function a(p) {
3437
- let b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.precision, g = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
3438
- const x = b == null ? String(p) : p.toFixed(b);
3439
- if (u.value && g)
3440
- return Number(x).toString().replace(".", i.value);
3441
- if (e.minFractionDigits === null || b !== null && b < e.minFractionDigits)
3442
- return x.replace(".", i.value);
3443
- let [O, M] = x.split(".");
3444
- return M = (M ?? "").padEnd(e.minFractionDigits, "0").replace(new RegExp(`(?<=\\d{${e.minFractionDigits}})0+$`, "g"), ""), [O, M].filter(Boolean).join(i.value);
3445
- }
3446
- const v = pe(e, "modelValue", null, (p) => p ?? null, (p) => p == null ? p ?? null : Fe(Number(p), e.min, e.max)), y = ne(null);
3447
- pt(() => {
3448
- u.value && !r.value && Number(y.value?.replace(i.value, ".")) === v.value || (v.value == null ? y.value = null : isNaN(v.value) || (y.value = a(v.value)));
3449
- });
3450
- const f = V({
3451
- get: () => y.value,
3452
- set(p) {
3453
- if (p === null || p === "") {
3454
- v.value = null, y.value = null;
3455
- return;
3456
- }
3457
- const b = Number(p.replace(i.value, "."));
3458
- !isNaN(b) && b <= e.max && b >= e.min && (v.value = b, y.value = p);
3459
- }
3460
- }), h = V(() => r.value ? !1 : (v.value ?? 0) + e.step <= e.max), k = V(() => r.value ? !1 : (v.value ?? 0) - e.step >= e.min), C = V(() => e.hideInput ? "stacked" : e.controlVariant), w = T(() => C.value === "split" ? "$plus" : "$collapse"), D = T(() => C.value === "split" ? "$minus" : "$expand"), F = T(() => C.value === "split" ? "default" : "small"), _ = T(() => C.value === "stacked" ? "auto" : "100%"), $ = {
3461
- props: {
3462
- onClick: K,
3463
- onPointerup: Q,
3464
- onPointerdown: q,
3465
- onPointercancel: Q
3466
- }
3467
- }, P = {
3468
- props: {
3469
- onClick: K,
3470
- onPointerup: Q,
3471
- onPointerdown: ce,
3472
- onPointercancel: Q
3473
- }
3474
- };
3475
- ie(() => e.precision, () => Z()), ie(() => e.minFractionDigits, () => Z()), Oe(() => {
3476
- G();
3477
- });
3478
- function I(p) {
3479
- if (p == null) return 0;
3480
- const b = p.toString(), g = b.indexOf(".");
3481
- return ~g ? b.length - g : 0;
3482
- }
3483
- function B() {
3484
- let p = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
3485
- if (r.value) return;
3486
- if (v.value == null) {
3487
- f.value = a(Fe(0, e.min, e.max));
3488
- return;
3489
- }
3490
- let b = Math.max(I(v.value), I(e.step));
3491
- e.precision != null && (b = Math.max(b, e.precision)), p ? h.value && (f.value = a(v.value + e.step, b)) : k.value && (f.value = a(v.value - e.step, b));
3492
- }
3493
- function z(p) {
3494
- if (!p.data) return;
3495
- const b = p.target, {
3496
- value: g,
3497
- selectionStart: x,
3498
- selectionEnd: O
3499
- } = b ?? {}, M = g ? g.slice(0, x) + p.data + g.slice(O) : p.data, W = kn(M, e.precision, i.value);
3500
- if (new RegExp(`^-?\\d*${Sn(i.value)}?\\d*$`).test(M) || (p.preventDefault(), b.value = W, me(() => f.value = W)), e.precision != null) {
3501
- if (M.split(i.value)[1]?.length > e.precision) {
3502
- p.preventDefault(), b.value = W, me(() => f.value = W);
3503
- const N = (x ?? 0) + p.data.length;
3504
- b.setSelectionRange(N, N);
3505
- }
3506
- e.precision === 0 && M.endsWith(i.value) && (p.preventDefault(), b.value = W, me(() => f.value = W));
3507
- }
3508
- }
3509
- async function j(p) {
3510
- ["Enter", "ArrowLeft", "ArrowRight", "Backspace", "Delete", "Tab"].includes(p.key) || p.ctrlKey || ["ArrowDown", "ArrowUp"].includes(p.key) && (p.preventDefault(), p.stopPropagation(), G(), await me(), p.key === "ArrowDown" ? B(!1) : B());
3511
- }
3512
- function K(p) {
3513
- p.stopPropagation();
3514
- }
3515
- function Q(p) {
3516
- p.currentTarget?.releasePointerCapture(p.pointerId), p.preventDefault(), s();
3517
- }
3518
- function q(p) {
3519
- p.currentTarget?.setPointerCapture(p.pointerId), p.preventDefault(), p.stopPropagation(), l("up");
3520
- }
3521
- function ce(p) {
3522
- p.currentTarget?.setPointerCapture(p.pointerId), p.preventDefault(), p.stopPropagation(), l("down");
3523
- }
3524
- function G() {
3525
- if (r.value || !t.value) return;
3526
- const p = t.value.value, b = Number(p.replace(i.value, "."));
3527
- p && !isNaN(b) ? f.value = a(Fe(b, e.min, e.max)) : f.value = null;
3528
- }
3529
- function Z() {
3530
- r.value || (f.value = v.value !== null && !isNaN(v.value) ? a(v.value, e.precision, !1) : null);
3531
- }
3532
- function oe() {
3533
- if (!r.value) {
3534
- if (v.value === null || isNaN(v.value)) {
3535
- f.value = null;
3536
- return;
3537
- }
3538
- f.value = v.value.toString().replace(".", i.value);
3539
- }
3540
- }
3541
- function de() {
3542
- oe();
3543
- }
3544
- function A() {
3545
- G();
3546
- }
3547
- return ee(() => {
3548
- const {
3549
- modelValue: p,
3550
- type: b,
3551
- ...g
3552
- } = Ge.filterProps(e);
3553
- function x() {
3554
- return n.increment ? d(ke, {
3555
- key: "increment-defaults",
3556
- defaults: {
3557
- VBtn: {
3558
- disabled: !h.value,
3559
- height: _.value,
3560
- size: F.value,
3561
- icon: w.value,
3562
- variant: "text"
3563
- }
3564
- }
3565
- }, {
3566
- default: () => [n.increment($)]
3567
- }) : d(_e, {
3568
- "aria-hidden": "true",
3569
- "data-testid": "increment",
3570
- disabled: !h.value,
3571
- height: _.value,
3572
- icon: w.value,
3573
- key: "increment-btn",
3574
- onClick: K,
3575
- onPointerdown: q,
3576
- onPointerup: Q,
3577
- onPointercancel: Q,
3578
- size: F.value,
3579
- variant: "text",
3580
- tabindex: "-1"
3581
- }, null);
3582
- }
3583
- function O() {
3584
- return n.decrement ? d(ke, {
3585
- key: "decrement-defaults",
3586
- defaults: {
3587
- VBtn: {
3588
- disabled: !k.value,
3589
- height: _.value,
3590
- size: F.value,
3591
- icon: D.value,
3592
- variant: "text"
3593
- }
3594
- }
3595
- }, {
3596
- default: () => [n.decrement(P)]
3597
- }) : d(_e, {
3598
- "aria-hidden": "true",
3599
- "data-testid": "decrement",
3600
- disabled: !k.value,
3601
- height: _.value,
3602
- icon: D.value,
3603
- key: "decrement-btn",
3604
- onClick: K,
3605
- onPointerdown: ce,
3606
- onPointerup: Q,
3607
- onPointercancel: Q,
3608
- size: F.value,
3609
- variant: "text",
3610
- tabindex: "-1"
3611
- }, null);
3612
- }
3613
- function M() {
3614
- return S("div", {
3615
- class: "v-number-input__control"
3616
- }, [O(), d(Ie, {
3617
- vertical: C.value !== "stacked"
3618
- }, null), x()]);
3619
- }
3620
- function W() {
3621
- return !e.hideInput && !e.inset ? d(Ie, {
3622
- vertical: !0
3623
- }, null) : void 0;
3624
- }
3625
- const N = C.value === "split" ? S("div", {
3626
- class: "v-number-input__control"
3627
- }, [d(Ie, {
3628
- vertical: !0
3629
- }, null), x()]) : e.reverse || C.value === "hidden" ? void 0 : S(se, null, [W(), M()]), J = n["append-inner"] || N, fe = C.value === "split" ? S("div", {
3630
- class: "v-number-input__control"
3631
- }, [O(), d(Ie, {
3632
- vertical: !0
3633
- }, null)]) : e.reverse && C.value !== "hidden" ? S(se, null, [M(), W()]) : void 0, Ve = n["prepend-inner"] || fe;
3634
- return d(Ge, U({
3635
- ref: t
3636
- }, g, {
3637
- modelValue: f.value,
3638
- "onUpdate:modelValue": (H) => f.value = H,
3639
- focused: u.value,
3640
- "onUpdate:focused": (H) => u.value = H,
3641
- validationValue: v.value,
3642
- onBeforeinput: z,
3643
- onFocus: de,
3644
- onBlur: A,
3645
- onKeydown: j,
3646
- class: ["v-number-input", {
3647
- "v-number-input--default": C.value === "default",
3648
- "v-number-input--hide-input": e.hideInput,
3649
- "v-number-input--inset": e.inset,
3650
- "v-number-input--reverse": e.reverse,
3651
- "v-number-input--split": C.value === "split",
3652
- "v-number-input--stacked": C.value === "stacked"
3653
- }, e.class],
3654
- style: e.style,
3655
- inputmode: "decimal"
3656
- }), {
3657
- ...n,
3658
- "append-inner": J ? function() {
3659
- for (var H = arguments.length, he = new Array(H), le = 0; le < H; le++)
3660
- he[le] = arguments[le];
3661
- return S(se, null, [n["append-inner"]?.(...he), N]);
3662
- } : void 0,
3663
- "prepend-inner": Ve ? function() {
3664
- for (var H = arguments.length, he = new Array(H), le = 0; le < H; le++)
3665
- he[le] = arguments[le];
3666
- return S(se, null, [fe, n["prepend-inner"]?.(...he)]);
3667
- } : void 0
3668
- });
3669
- }), et({}, t);
3670
- }
3671
- }), Na = { class: "text-medium-emphasis ps-2" }, Ra = ["id"], La = {
3672
- __name: "index",
3673
- props: {
3674
- modelValue: {},
3675
- modelModifiers: {}
3676
- },
3677
- emits: /* @__PURE__ */ wt(["closeDialog", "save"], ["update:modelValue"]),
3678
- setup(e, { emit: o }) {
3679
- const n = ye("table_props"), t = ye("pluginOptions"), l = ut(e, "modelValue"), s = o, c = {
3680
- textfield: Ge,
3681
- select: Aa,
3682
- number: $a,
3683
- datepicker: Se(
3684
- () => import("./Datepicker-KGlOP9ck.js")
3685
- ),
3686
- comparison: Se(
3687
- () => import("./Comparison-BiPlTpXM.js")
3688
- )
3689
- }, r = V(() => n.headers.filter((m) => m.advancedFilter !== !1 && !m.hidden)), u = (m) => m ? typeof m == "string" ? c[m] : m : c.textfield;
3690
- return ie(
3691
- r,
3692
- (m) => {
3693
- m.forEach((i) => {
3694
- const a = i.advancedFilter?.key ?? i.key;
3695
- Object.hasOwn(l.value, a) || (l.value[a] = {
3696
- comparison: "=",
3697
- value: null
3698
- });
3699
- });
3700
- },
3701
- { immediate: !0 }
3702
- ), Oe(async () => {
3703
- await n.options.advancedFilters?.onMounted();
3704
- }), (m, i) => (X(), ve(Lt, { rounded: "lg" }, {
3705
- default: te(() => [
3706
- d(gt, { class: "d-flex justify-space-between align-center" }, {
3707
- default: te(() => [
3708
- S("div", Na, Ue(m.$t("$datatables.advancedFilters")), 1),
3709
- d(_e, {
3710
- icon: E(t).header.icons.close,
3711
- variant: "text",
3712
- onClick: i[0] || (i[0] = (a) => s("closeDialog"))
3713
- }, null, 8, ["icon"])
3714
- ]),
3715
- _: 1
3716
- }),
3717
- d(Ie),
3718
- d(yt, { class: "overflow-auto pt-8" }, {
3719
- default: te(() => [
3720
- (X(!0), Ee(se, null, It(E(r), (a, v) => (X(), Ee("div", {
3721
- id: `advanced-filter-${a.key}`,
3722
- key: `filter-${v}`,
3723
- class: ae(`advanced-filter advanced-filter--${a.key}`)
3724
- }, [
3725
- (X(), ve(xe(u(a.advancedFilter?.component)), U({
3726
- modelValue: l.value[a.advancedFilter?.key ?? a.key].value,
3727
- "onUpdate:modelValue": (y) => l.value[a.advancedFilter?.key ?? a.key].value = y,
3728
- comparison: l.value[a.advancedFilter?.key ?? a.key].comparison,
3729
- "onUpdate:comparison": (y) => l.value[a.advancedFilter?.key ?? a.key].comparison = y
3730
- }, { ref_for: !0 }, a.advancedFilter?.options, {
3731
- label: a.title,
3732
- variant: "underlined",
3733
- clearable: ""
3734
- }), null, 16, ["modelValue", "onUpdate:modelValue", "comparison", "onUpdate:comparison", "label"]))
3735
- ], 10, Ra))), 128))
3736
- ]),
3737
- _: 1
3738
- }),
3739
- d(Ie, { class: "mt-2" }),
3740
- d(Rt, { class: "my-2 d-flex justify-end" }, {
3741
- default: te(() => [
3742
- d(_e, {
3743
- class: "text-none",
3744
- text: m.$t("$datatables.cancel"),
3745
- onClick: i[1] || (i[1] = (a) => s("closeDialog"))
3746
- }, null, 8, ["text"]),
3747
- d(_e, {
3748
- class: "text-none",
3749
- color: "primary",
3750
- text: m.$t("$datatables.submit"),
3751
- variant: "flat",
3752
- onClick: i[2] || (i[2] = (a) => s("save"))
3753
- }, null, 8, ["text"])
3754
- ]),
3755
- _: 1
3756
- })
3757
- ]),
3758
- _: 1
3759
- }));
3760
- }
3761
- };
3762
- function nl(e) {
3763
- return JSON.parse(JSON.stringify(e));
3764
- }
3765
- const Ma = {
3766
- __name: "index",
3767
- props: {
3768
- modelValue: { required: !0 },
3769
- modelModifiers: {}
3770
- },
3771
- emits: ["update:modelValue"],
3772
- setup(e) {
3773
- const o = mt(), { advancedFiltersState: n } = tt(), { setData: t } = o, l = ut(e, "modelValue"), s = R({}), c = ye("table_props"), r = ye("busEmits"), u = () => {
3774
- const m = Object.entries(s.value).filter(([, i]) => {
3775
- const a = i.value;
3776
- return Array.isArray(a) || typeof a == "string" ? a.length > 0 : a != null && a !== "";
3777
- }).reduce((i, [a, v]) => (i[a] = v, i), {});
3778
- JSON.stringify(m) !== JSON.stringify(n.value) && (t({
3779
- table_id: c.id,
3780
- name: "advancedFilters",
3781
- value: { query: nl(m) }
3782
- }), r("advancedFilters:update", m)), l.value = !1;
3783
- };
3784
- return Oe(() => {
3785
- s.value = nl(n.value);
3786
- }), (m, i) => {
3787
- const a = La, v = ia;
3788
- return X(), Ee("div", null, [
3789
- d(Ut, {
3790
- modelValue: l.value,
3791
- "onUpdate:modelValue": i[1] || (i[1] = (y) => l.value = y),
3792
- "max-width": "550"
3793
- }, {
3794
- default: te(({ isActive: y }) => [
3795
- d(a, {
3796
- modelValue: E(s),
3797
- "onUpdate:modelValue": i[0] || (i[0] = (f) => $e(s) ? s.value = f : null),
3798
- onSave: u,
3799
- onCloseDialog: (f) => y.value = !1
3800
- }, null, 8, ["modelValue", "onCloseDialog"])
3801
- ]),
3802
- _: 1
3803
- }, 8, ["modelValue"]),
3804
- Object.keys(E(n)).length ? (X(), ve(v, {
3805
- key: 0,
3806
- modelValue: E(s),
3807
- "onUpdate:modelValue": i[2] || (i[2] = (y) => $e(s) ? s.value = y : null),
3808
- onSave: u
3809
- }, null, 8, ["modelValue"])) : He("", !0)
3810
- ]);
3811
- };
3812
- }
3813
- }, Ha = {
3814
- class: "d-flex align-center",
3815
- style: { gap: "0.75rem" }
3816
- }, za = { class: "ms-auto" }, Ua = {
3817
- __name: "index",
3818
- setup(e) {
3819
- const o = Se(
3820
- () => import("./Search-DBOrKgEi.js")
3821
- ), n = Se(
3822
- () => import("./RefreshTable-DyLlkCOt.js")
3823
- ), t = Se(
3824
- () => import("./Options-CAwRqQpx.js")
3825
- ), l = Se(
3826
- () => import("./index-CXBiVM0n.js")
3827
- ), s = Se(
3828
- () => import("./Columns-CPYUVLvE.js")
3829
- ), c = Se(
3830
- () => import("./Download-FGUE_z5x.js")
3831
- ), r = ye("table_props"), u = ye("pluginOptions"), { advancedFiltersState: m } = tt(), i = R(null), a = R(!1), v = r.options?.header?.components ?? {}, y = V(() => Object.keys(m.value).length);
3832
- return (f, h) => {
3833
- const k = Ma, C = qn;
3834
- return X(), Ee("div", null, [
3835
- S("div", Ha, [
3836
- d(_e, {
3837
- variant: "text",
3838
- icon: E(u).header.icons.advancedFilters,
3839
- color: E(y) ? "primary" : "dark",
3840
- density: "comfortable",
3841
- onClick: h[0] || (h[0] = (w) => a.value = !0)
3842
- }, {
3843
- default: te(() => [
3844
- E(y) ? (X(), ve(Ta, {
3845
- key: 0,
3846
- color: "primary",
3847
- content: E(y)
3848
- }, {
3849
- default: te(() => [
3850
- d(ge)
3851
- ]),
3852
- _: 1
3853
- }, 8, ["content"])) : (X(), ve(ge, { key: 1 }))
3854
- ]),
3855
- _: 1
3856
- }, 8, ["icon", "color"]),
3857
- E(r).hardFilters.length ? (X(), ve(xe(E(v).hardFilters ?? E(l)), {
3858
- key: 0,
3859
- id: "header-hardFilters"
3860
- })) : He("", !0),
3861
- d(k, {
3862
- modelValue: E(a),
3863
- "onUpdate:modelValue": h[1] || (h[1] = (w) => $e(a) ? a.value = w : null)
3864
- }, null, 8, ["modelValue"]),
3865
- (X(), ve(xe(E(v).toolbar), { id: "header-toolbar" })),
3866
- S("div", za, [
3867
- (X(), ve(xe(E(v).search ?? E(o)), { id: "header-search" })),
3868
- (X(), ve(xe(E(v).columns ?? E(s)), {
3869
- id: "header-columns",
3870
- "component-refs": { columns: E(i) }
3871
- }, null, 8, ["component-refs"])),
3872
- (X(), ve(xe(E(v).download ?? E(c)), { id: "header-download" })),
3873
- (X(), ve(xe(E(v).refreshTable ?? E(n)), { id: "header-refreshTable" })),
3874
- (X(), ve(xe(E(v).options ?? E(t)), {
3875
- id: "header-options",
3876
- "component-refs": { columns: E(i) }
3877
- }, null, 8, ["component-refs"]))
3878
- ])
3879
- ]),
3880
- d(C, {
3881
- ref_key: "columns",
3882
- ref: i
3883
- }, null, 512)
3884
- ]);
3885
- };
3886
- }
3887
- }, Ml = xn(() => {
3888
- const e = ne({}), o = ne({});
3889
- return {
3890
- storeOptions: {
3891
- state: e,
3892
- columns: o
3893
- },
3894
- setUserOptions: ({
3895
- state: l = null,
3896
- columns: s = null
3897
- }) => {
3898
- l && (e.value = l), s && (o.value = s);
3899
- }
3900
- };
3901
- }), ja = {
3902
- key: 0,
3903
- class: "datatables-v2"
3904
- }, Ka = { class: "pe-4" }, qa = {
3905
- __name: "Blueprint",
3906
- props: {
3907
- modelValue: {},
3908
- modelModifiers: {}
3909
- },
3910
- emits: /* @__PURE__ */ wt([
3911
- "refreshTable",
3912
- "refetchData",
3913
- "advancedFilters:update",
3914
- "hardFilters:update"
3915
- ], ["update:modelValue"]),
3916
- setup(e, { expose: o, emit: n }) {
3917
- const t = Se(
3918
- () => import("./Table-P8c-sRdr.js")
3919
- ), l = Se(
3920
- () => import("./TableServer--svcmINA.js")
3921
- ), { storeOptions: s } = Ml(), { saveTableOptions: c } = tt(), r = ut(e, "modelValue"), u = ye("table_props"), m = ye("pluginOptions"), i = R(null), a = R(!1), v = R(!1), y = R(!1), f = n, h = mt(), { dataStateGet: k, tableDataState: C, checkTableState: w } = Il(u), { addTable: D, restoreData: F } = h, _ = V(() => {
3922
- const $ = u.options?.header;
3923
- return $ === void 0 || typeof $ == "object" && $ !== null;
3924
- });
3925
- return Oe(async () => {
3926
- D({ table_id: u.id }), await w();
3927
- const $ = k();
3928
- if ($)
3929
- F({ table_id: u.id, data: $ });
3930
- else {
3931
- const I = C.value.options.columns;
3932
- I.selected = u.headers.filter((B) => !B.hidden).map((B) => B.key), I.sorted = u.headers.map((B) => B.key);
3933
- }
3934
- c(
3935
- Cn(s.state.value, C.value.options.state)
3936
- ), v.value = !0, await me(), y.value = !0;
3937
- }), Be("busEmits", f), Be("tableRef", i), Be("tableState", C), Be("downloadModal", a), o({ tableRef: i }), ($, P) => {
3938
- const I = Ua;
3939
- return E(v) ? (X(), Ee("div", ja, [
3940
- d(Lt, null, {
3941
- default: te(() => [
3942
- E(_) ? (X(), ve(gt, { key: 0 }, {
3943
- default: te(() => [
3944
- d(I)
3945
- ]),
3946
- _: 1
3947
- })) : He("", !0),
3948
- d(yt, { class: "pa-0" }, {
3949
- default: te(() => [
3950
- E(y) ? (X(), ve(xe(E(u).api ? E(l) : E(t)), {
3951
- key: 0,
3952
- ref_key: "tableRef",
3953
- ref: i,
3954
- modelValue: r.value,
3955
- "onUpdate:modelValue": P[0] || (P[0] = (B) => r.value = B)
3956
- }, null, 8, ["modelValue"])) : He("", !0)
3957
- ]),
3958
- _: 1
3959
- })
3960
- ]),
3961
- _: 1
3962
- }),
3963
- d(Ut, {
3964
- modelValue: E(a),
3965
- "onUpdate:modelValue": P[1] || (P[1] = (B) => $e(a) ? a.value = B : null),
3966
- "max-width": "350",
3967
- persistent: ""
3968
- }, {
3969
- default: te(() => [
3970
- d(Nt, {
3971
- class: "py-2",
3972
- color: "primary",
3973
- elevation: "12",
3974
- rounded: "lg"
3975
- }, {
3976
- default: te(() => [
3977
- d(nt, {
3978
- "prepend-icon": E(m).header.icons.download,
3979
- title: $.$t("$datatables.preparing_download_file")
3980
- }, {
3981
- prepend: te(() => [
3982
- S("div", Ka, [
3983
- d(ge, {
3984
- color: "primary",
3985
- size: "x-large"
3986
- })
3987
- ])
3988
- ]),
3989
- append: te(() => [
3990
- d(Vn, {
3991
- color: "primary",
3992
- indeterminate: "disable-shrink",
3993
- size: "16",
3994
- width: "2"
3995
- })
3996
- ]),
3997
- _: 1
3998
- }, 8, ["prepend-icon", "title"])
3999
- ]),
4000
- _: 1
4001
- })
4002
- ]),
4003
- _: 1
4004
- }, 8, ["modelValue"])
4005
- ])) : He("", !0);
4006
- };
4007
- }
4008
- }, Ga = ol("datatablesHooks", () => {
4009
- const e = R({});
4010
- return {
4011
- hooks: e,
4012
- registerHook: (t, l) => {
4013
- Object.assign(e.value, { [t]: l });
4014
- },
4015
- triggerHook: (t, l) => {
4016
- e.value.hasOwnProperty(t) && e.value[t](l);
4017
- }
4018
- };
4019
- }), Wa = {
4020
- __name: "index",
4021
- props: {
4022
- id: {
4023
- type: String,
4024
- required: !0
4025
- },
4026
- api: {
4027
- type: Object,
4028
- default: () => {
4029
- }
4030
- },
4031
- data: {
4032
- type: Array,
4033
- default: () => []
4034
- },
4035
- options: {
4036
- type: Object,
4037
- default: () => ({})
4038
- },
4039
- params: {
4040
- type: Object,
4041
- default: () => ({})
4042
- },
4043
- hardFilters: {
4044
- type: Array,
4045
- default: () => []
4046
- },
4047
- headers: {
4048
- type: Array,
4049
- default: () => []
4050
- },
4051
- loading: {
4052
- type: Boolean,
4053
- default: !1
4054
- },
4055
- locale: {
4056
- type: String,
4057
- default: "en"
4058
- },
4059
- title: {
4060
- type: String,
4061
- default: ""
4062
- }
4063
- },
4064
- emits: ["refreshTable", "refetchData"],
4065
- setup(e, { expose: o, emit: n }) {
4066
- const t = e, { triggerHook: l } = Ga(), { storeOptions: s, setUserOptions: c } = Ml(), r = R(null), u = R(0), m = async (v = {}) => {
4067
- c(v), u.value < 99 && (a("refreshTable"), await me(), u.value++);
4068
- }, i = (v = {}) => {
4069
- c(v), r.value.tableRef.hasOwnProperty("reloadItems") && (r.value.tableRef.reloadItems(s.state.value), a("refetchData"));
4070
- }, a = n;
4071
- return o({ refreshTable: m, refetchData: i, triggerHook: l }), Be("table_props", t), Be("triggerHook", l), (v, y) => {
4072
- const f = qa;
4073
- return X(), ve(f, {
4074
- id: e.id,
4075
- ref_key: "table",
4076
- ref: r,
4077
- key: `${e.id}-${E(u)}`,
4078
- onRefreshTable: m,
4079
- onRefetchData: i
4080
- }, null, 8, ["id"]);
4081
- };
4082
- }
4083
- }, eo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4084
- __proto__: null,
4085
- default: Wa
4086
- }, Symbol.toStringTag, { value: "Module" }));
4087
- export {
4088
- Aa as V,
4089
- Rl as a,
4090
- xt as b,
4091
- mt as c,
4092
- nl as d,
4093
- Lt as e,
4094
- yt as f,
4095
- Ge as g,
4096
- Il as h,
4097
- Ga as i,
4098
- oa as j,
4099
- la as k,
4100
- Kt as l,
4101
- aa as m,
4102
- Dl as n,
4103
- $a as o,
4104
- eo as p,
4105
- tt as u
4106
- };