@aeria-ui/ui 0.0.73 → 0.0.75

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.
@@ -1,3431 +0,0 @@
1
- import { defineComponent as U, ref as J, resolveDirective as oe, openBlock as n, createElementBlock as i, normalizeClass as K, Fragment as N, renderList as D, withDirectives as x, toDisplayString as k, createCommentVNode as y, createTextVNode as W, unref as e, renderSlot as I, inject as ve, computed as Q, createElementVNode as V, mergeProps as H, createBlock as g, resolveDynamicComponent as he, withCtx as f, useCssVars as It, Teleport as Ye, onMounted as $t, watch as ue, createVNode as L, vModelDynamic as At, onBeforeMount as bt, normalizeStyle as $e, withModifiers as qe, pushScopeId as Ee, popScopeId as De, provide as ye, createSlots as ce, normalizeProps as pe, guardReactiveProps as Ve, vModelCheckbox as Bt, onUnmounted as wt, isRef as pt, resolveComponent as St, Suspense as jt, useSlots as Tt, h as Lt } from "vue";
2
- import { t as R, useI18n as Rt } from "@aeria-ui/i18n";
3
- import { useScrollObserver as Je, useBreakpoints as ze, useMask as zt, PAGINATION_PER_PAGE_DEFAULTS as Mt, API_URL as gt, request as Ft, useDebounce as kt, isDocumentComplete as qt, getObjectKey as Ut, convertToSearchQuery as Et, useAction as Dt, convertFromSearchQuery as Ht, useParentCollectionStore as We, usePasswordPolicy as Qt } from "@aeria-ui/core";
4
- import { arraysIntersect as Vt, deepClone as ke, getReferenceProperty as _e, convertConditionToQuery as Gt, freshItem as Wt, isRequired as Kt, evaluateCondition as Xe, deepMerge as _t } from "@aeriajs/common";
5
- import { useStore as ie, getStoreId as Me, useParentStore as Ie, STORE_ID as He, getGlobalStateManager as Ze } from "@aeria-ui/state-management";
6
- import { useRouter as Ae } from "vue-router";
7
- const Xt = ["onClick"], Yt = { key: 0 }, Jt = {
8
- key: 0,
9
- class: "accordion__content"
10
- }, Zt = /* @__PURE__ */ U({
11
- __name: "aeria-accordion",
12
- props: {
13
- enumerate: { type: Boolean },
14
- noPadding: { type: Boolean },
15
- headers: {}
16
- },
17
- setup(c) {
18
- const r = J(null), a = (t) => typeof t == "string" ? t : t.title;
19
- return (t, l) => {
20
- const s = oe("clickable");
21
- return n(), i("div", {
22
- class: K({
23
- accordion: !0,
24
- "accordion--padded": !t.noPadding
25
- })
26
- }, [
27
- (n(!0), i(N, null, D(Object.keys(t.$slots).filter((u) => u !== "default"), (u, v) => (n(), i("div", {
28
- key: u,
29
- class: "accordion__slot"
30
- }, [
31
- x((n(), i("div", {
32
- class: "accordion__header",
33
- onClick: (d) => r.value === u ? r.value = null : r.value = u
34
- }, [
35
- t.enumerate ? (n(), i("span", Yt, k(v + 1) + ". ", 1)) : y("", !0),
36
- W(" " + k(t.headers[u] ? a(t.headers[u]) : e(R)(u)), 1)
37
- ], 8, Xt)), [
38
- [s]
39
- ]),
40
- r.value === u ? (n(), i("div", Jt, [
41
- I(t.$slots, u, {}, void 0, !0)
42
- ])) : y("", !0)
43
- ]))), 128))
44
- ], 2);
45
- };
46
- }
47
- });
48
- const X = (c, r) => {
49
- const a = c.__vccOpts || c;
50
- for (const [t, l] of r)
51
- a[t] = l;
52
- return a;
53
- }, ql = /* @__PURE__ */ X(Zt, [["__scopeId", "data-v-3ea933d4"]]), Pt = /* @__PURE__ */ U({
54
- __name: "aeria-badge",
55
- props: {
56
- large: { type: Boolean },
57
- alt: { type: Boolean }
58
- },
59
- setup(c) {
60
- return (r, a) => (n(), i("div", {
61
- class: K(`
62
- badge
63
- ${r.large && "badge--large"}
64
- ${r.alt && "badge--alt"}
65
- `)
66
- }, [
67
- I(r.$slots, "default", {}, void 0, !0)
68
- ], 2));
69
- }
70
- });
71
- const be = /* @__PURE__ */ X(Pt, [["__scopeId", "data-v-47f92648"]]), Nt = /* @__PURE__ */ U({
72
- __name: "aeria-bare-button",
73
- props: {
74
- disabled: { type: Boolean }
75
- },
76
- emits: ["click"],
77
- setup(c, { emit: r }) {
78
- const a = c, t = r, l = (s) => {
79
- a.disabled || t("click", s);
80
- };
81
- return (s, u) => (n(), i("button", {
82
- class: K(`
83
- barebutton
84
- barebutton--${s.disabled ? "disabled" : "enabled"}
85
- `),
86
- onClick: l
87
- }, [
88
- I(s.$slots, "default", {}, void 0, !0)
89
- ], 2));
90
- }
91
- });
92
- const fe = /* @__PURE__ */ X(Nt, [["__scopeId", "data-v-35bc81ae"]]), xt = ["href"], en = {
93
- key: 0,
94
- "data-component": "icon-label"
95
- }, tn = /* @__PURE__ */ U({
96
- __name: "aeria-icon",
97
- props: {
98
- icon: {},
99
- size: {},
100
- medium: { type: Boolean },
101
- reactive: { type: [Boolean, null] },
102
- iconRight: { type: Boolean },
103
- fill: {}
104
- },
105
- setup(c) {
106
- const r = c, a = typeof r.reactive == "boolean" ? r.reactive : ve("iconReactive", !1), t = Q(() => {
107
- var l;
108
- return (l = r.icon) != null && l.includes(":") ? r.icon : `regular:${r.icon}`;
109
- });
110
- return (l, s) => (n(), i("a", {
111
- class: K(`
112
- icon
113
- ${e(a) && "icon--reactive"}
114
- ${l.$slots.default ? "icon--centered" : "icon--standalone"}
115
- `)
116
- }, [
117
- V("div", {
118
- class: K(`
119
- icon__icon
120
- ${l.size && `icon__icon--${l.size}`}
121
- ${l.iconRight && "icon__icon--right"}
122
- `)
123
- }, [
124
- (n(), i("svg", H({
125
- width: "24",
126
- height: "24",
127
- viewBox: "0 0 256 256",
128
- "data-component": "icon"
129
- }, {
130
- ...l.fill ? { fill: l.fill } : {}
131
- }), [
132
- V("use", {
133
- href: `/assets/icons.svg#${t.value}`
134
- }, null, 8, xt)
135
- ], 16))
136
- ], 2),
137
- l.$slots.default ? (n(), i("div", en, [
138
- I(l.$slots, "default", {}, void 0, !0)
139
- ])) : y("", !0)
140
- ], 2));
141
- }
142
- });
143
- const Z = /* @__PURE__ */ X(tn, [["__scopeId", "data-v-4b763bd3"]]), nn = { class: "panel__header-left" }, on = { key: 1 }, an = {
144
- key: 2,
145
- style: { "margin-left": "auto" }
146
- }, ln = /* @__PURE__ */ U({
147
- __name: "aeria-panel",
148
- props: {
149
- closeHint: { type: Boolean, default: !1 },
150
- modelValue: { default: !0 },
151
- title: {},
152
- float: { type: Boolean },
153
- fixedRight: { type: Boolean },
154
- floating: { type: Boolean },
155
- loading: { type: Boolean },
156
- bordered: { type: Boolean },
157
- overlay: { type: Boolean },
158
- invisibleOverlay: { type: Boolean },
159
- collapsed: { type: Boolean },
160
- collapsible: { type: Boolean, default: !1 },
161
- fill: { type: Boolean },
162
- fillFooter: { type: Boolean },
163
- transparent: { type: Boolean },
164
- transparentMobile: { type: Boolean },
165
- outerHeader: { type: Boolean },
166
- overlayLayer: {}
167
- },
168
- emits: ["update:modelValue", "update:collapsed", "update:closeHint", "overlayClick", "close"],
169
- setup(c, { emit: r }) {
170
- const a = c, t = r, l = Q(() => a.floating || a.float), s = J(a.collapsed), u = J(null), { reachedEnd: v } = Je(u), d = () => {
171
- t("update:modelValue", !1), t("close");
172
- }, h = () => {
173
- t("overlayClick");
174
- }, p = (o) => {
175
- t("update:collapsed", o), s.value = o;
176
- };
177
- return (o, _) => {
178
- const $ = oe("clickable"), b = oe("loading"), S = oe("overlay");
179
- return o.modelValue ? x((n(), i("div", {
180
- key: 0,
181
- class: K(`
182
- panel
183
- ${o.fixedRight && "panel--fixed"}
184
- `)
185
- }, [
186
- (n(), g(he(
187
- l.value ? "dialog" : "div"
188
- ), {
189
- "data-component": "panel",
190
- class: K(`
191
- aeria-surface
192
- panel__content
193
- ${l.value && "panel__content--floating"}
194
- ${o.bordered && "panel__content--bordered"}
195
- ${o.fixedRight && "panel__content--fixed-right"}
196
- ${o.transparent && "panel__content--transparent"}
197
- ${o.transparentMobile && "panel__content--transparent-mobile"}
198
- ${o.outerHeader && "panel__content--outer-header"}
199
- `),
200
- onClick: _[2] || (_[2] = (T) => T.stopPropagation())
201
- }, {
202
- default: f(() => [
203
- o.$slots.header || o.title ? (n(), i("div", {
204
- key: 0,
205
- class: K(`
206
- panel__header
207
- ${s.value && "panel__header--collapsed"}
208
- ${o.outerHeader && "panel__header--outer"}
209
- `)
210
- }, [
211
- V("div", nn, [
212
- o.$slots.header ? I(o.$slots, "header", { key: 0 }, void 0, !0) : o.title ? (n(), i("div", on, k(o.title), 1)) : y("", !0),
213
- o.$slots.extra ? (n(), i("div", an, [
214
- I(o.$slots, "extra", {}, void 0, !0)
215
- ])) : y("", !0)
216
- ]),
217
- o.collapsible && s.value ? x((n(), g(Z, {
218
- key: 0,
219
- reactive: "",
220
- icon: "plus",
221
- onClick: _[0] || (_[0] = (T) => p(!s.value))
222
- }, null, 512)), [
223
- [$]
224
- ]) : o.collapsible && !s.value ? x((n(), g(Z, {
225
- key: 1,
226
- reactive: "",
227
- icon: "minus",
228
- onClick: _[1] || (_[1] = (T) => p(!s.value))
229
- }, null, 512)), [
230
- [$]
231
- ]) : o.closeHint ? x((n(), g(Z, {
232
- key: 2,
233
- reactive: "",
234
- icon: "x",
235
- onClick: d
236
- }, null, 512)), [
237
- [$]
238
- ]) : y("", !0)
239
- ], 2)) : y("", !0),
240
- s.value ? y("", !0) : x((n(), i("div", {
241
- key: 1,
242
- ref_key: "body",
243
- ref: u,
244
- class: K(`
245
- panel__body
246
- ${o.fill || "panel__body--padded"}
247
- `)
248
- }, [
249
- I(o.$slots, "default", {}, void 0, !0)
250
- ], 2)), [
251
- [b, o.loading]
252
- ]),
253
- o.$slots.footer ? (n(), i("div", {
254
- key: 2,
255
- class: K(`
256
- panel__footer
257
- ${o.fillFooter || "panel__footer--padded"}
258
- ${e(v) || "panel__footer--shadowed"}
259
- `)
260
- }, [
261
- I(o.$slots, "footer", {}, void 0, !0)
262
- ], 2)) : y("", !0)
263
- ]),
264
- _: 3
265
- }, 8, ["class"]))
266
- ], 2)), [
267
- [S, {
268
- condition: o.overlay || o.fixedRight || l.value,
269
- invisible: o.invisibleOverlay,
270
- click: h,
271
- layer: o.overlayLayer || (l.value ? 60 : o.fixedRight ? 50 : 0)
272
- }]
273
- ]) : y("", !0);
274
- };
275
- }
276
- });
277
- const Be = /* @__PURE__ */ X(ln, [["__scopeId", "data-v-73b47cf0"]]), sn = { class: "button__content" }, rn = {
278
- key: 1,
279
- class: "button__content"
280
- }, un = /* @__PURE__ */ U({
281
- __name: "aeria-button",
282
- props: {
283
- size: {},
284
- variant: {},
285
- small: { type: Boolean },
286
- large: { type: Boolean },
287
- icon: {},
288
- disabled: { type: Boolean },
289
- loading: { type: Boolean }
290
- },
291
- setup(c) {
292
- const r = c, a = ve("buttonVariant", r.variant) || "primary", t = (() => {
293
- switch (!0) {
294
- case r.small:
295
- return "small";
296
- case r.large:
297
- return "large";
298
- }
299
- return ve("buttonSize", r.size) || "medium";
300
- })();
301
- return (l, s) => (n(), g(fe, {
302
- class: K(`
303
- button
304
- button--${e(a)}
305
- button--${e(t)}
306
- ${l.loading && "button--loading"}
307
- `),
308
- disabled: l.disabled
309
- }, {
310
- default: f(() => [
311
- l.icon ? (n(), g(Z, {
312
- key: 0,
313
- icon: l.icon
314
- }, {
315
- default: f(() => [
316
- V("div", sn, [
317
- I(l.$slots, "default", {}, void 0, !0)
318
- ])
319
- ]),
320
- _: 3
321
- }, 8, ["icon"])) : (n(), i("div", rn, [
322
- I(l.$slots, "default", {}, void 0, !0)
323
- ]))
324
- ]),
325
- _: 3
326
- }, 8, ["class", "disabled"]));
327
- }
328
- });
329
- const re = /* @__PURE__ */ X(un, [["__scopeId", "data-v-c328251b"]]), cn = { class: "card__picture" }, dn = { class: "card__footer" }, pn = { class: "card__footer-upper" }, _n = { class: "card__badge" }, mn = /* @__PURE__ */ U({
330
- __name: "aeria-card",
331
- props: {
332
- inactive: { type: Boolean },
333
- horizontal: { type: Boolean }
334
- },
335
- setup(c) {
336
- return (r, a) => (n(), i("div", {
337
- class: K(`
338
- card
339
- ${r.inactive && "card--inactive"}
340
- ${r.horizontal && "card--horizontal"}
341
- `)
342
- }, [
343
- V("div", cn, [
344
- I(r.$slots, "default", {}, void 0, !0)
345
- ]),
346
- V("div", dn, [
347
- V("div", pn, [
348
- V("div", null, [
349
- I(r.$slots, "footer", {}, void 0, !0)
350
- ]),
351
- r.$slots.actions ? I(r.$slots, "actions", { key: 0 }, void 0, !0) : y("", !0)
352
- ]),
353
- V("div", _n, [
354
- I(r.$slots, "badge", {}, void 0, !0)
355
- ])
356
- ])
357
- ], 2));
358
- }
359
- });
360
- const fn = /* @__PURE__ */ X(mn, [["__scopeId", "data-v-c1a322df"]]), vn = { class: "content__body" }, yn = {
361
- key: 0,
362
- class: "content__section"
363
- }, hn = { class: "content__item" }, $n = /* @__PURE__ */ U({
364
- __name: "aeria-context-menu",
365
- props: {
366
- actions: {},
367
- subject: {},
368
- overlayLayer: {}
369
- },
370
- emits: ["actionClick"],
371
- setup(c, { emit: r }) {
372
- It((d) => ({
373
- "0cfe51de": v.value.x,
374
- "0cfe51df": v.value.y
375
- }));
376
- const a = r, t = J(null), l = J(!1), s = (d) => d == null ? void 0 : d.filter((h) => {
377
- if (h.roles) {
378
- const p = ie("user");
379
- return Vt(h.roles, p.currentUser.roles);
380
- }
381
- return !0;
382
- }), u = (d, h) => {
383
- const p = ke(h);
384
- d.click(p), a("actionClick", {
385
- action: d,
386
- subject: p
387
- }), l.value = !1;
388
- }, v = Q(() => {
389
- if (!t.value)
390
- return {
391
- x: 0,
392
- y: 0
393
- };
394
- const d = t.value.getBoundingClientRect().top, h = t.value.getBoundingClientRect().left, p = t.value.offsetHeight;
395
- return {
396
- _: l.value,
397
- x: Math.floor(h) + "px",
398
- y: Math.floor(d + p) + "px"
399
- };
400
- });
401
- return (d, h) => {
402
- const p = oe("overlay");
403
- return n(), i(N, null, [
404
- Object.keys(d.$slots).some((o) => o !== "default") || d.actions !== void 0 && d.actions.length > 0 ? (n(), i("div", {
405
- key: 0,
406
- ref_key: "contextmenu",
407
- ref: t,
408
- class: "contextmenu"
409
- }, [
410
- V("a", {
411
- class: "contextmenu__trigger",
412
- onClick: h[0] || (h[0] = (o) => l.value = !0)
413
- }, [
414
- I(d.$slots, "default", {}, void 0, !0)
415
- ])
416
- ], 512)) : y("", !0),
417
- l.value ? (n(), g(Ye, {
418
- key: 1,
419
- to: "main"
420
- }, [
421
- x((n(), g(Be, {
422
- modelValue: l.value,
423
- "onUpdate:modelValue": h[4] || (h[4] = (o) => l.value = o),
424
- fill: "",
425
- bordered: "",
426
- class: "content",
427
- style: { "--panel-min-width": "0" }
428
- }, {
429
- default: f(() => [
430
- V("div", vn, [
431
- d.$slots.header ? (n(), i("div", yn, [
432
- I(d.$slots, "header", {}, void 0, !0)
433
- ])) : y("", !0),
434
- Object.keys(d.$slots).filter((o) => !["default", "extra", "header"].includes(o)).length > 0 ? (n(), i("div", {
435
- key: 1,
436
- class: "content__section",
437
- onClick: h[1] || (h[1] = (o) => l.value = !1)
438
- }, [
439
- (n(!0), i(N, null, D(Object.keys(d.$slots).filter((o) => !["default", "extra", "header"].includes(o)), (o, _) => (n(), g(fe, {
440
- key: `slot-${_}`,
441
- class: "content__item content__item--reactive"
442
- }, {
443
- default: f(() => [
444
- I(d.$slots, o, {}, void 0, !0)
445
- ]),
446
- _: 2
447
- }, 1024))), 128))
448
- ])) : y("", !0),
449
- d.actions !== void 0 && d.actions.length > 0 ? (n(), i("div", {
450
- key: 2,
451
- class: "content__section",
452
- onClick: h[2] || (h[2] = (o) => l.value = !1)
453
- }, [
454
- (n(!0), i(N, null, D(s(d.actions), (o, _) => (n(), g(fe, {
455
- key: `action-${_}`,
456
- class: "content__item content__item--reactive",
457
- onClick: ($) => u(o, d.subject)
458
- }, {
459
- default: f(() => [
460
- o.icon ? (n(), g(Z, {
461
- key: 0,
462
- icon: o.icon
463
- }, {
464
- default: f(() => [
465
- W(k(o.translate ? e(R)(o.label, { capitalize: !0 }) : o.label), 1)
466
- ]),
467
- _: 2
468
- }, 1032, ["icon"])) : y("", !0)
469
- ]),
470
- _: 2
471
- }, 1032, ["onClick"]))), 128))
472
- ])) : y("", !0),
473
- d.$slots.extra ? (n(), i("div", {
474
- key: 3,
475
- class: "content__section",
476
- onClick: h[3] || (h[3] = (o) => l.value = !1)
477
- }, [
478
- V("div", hn, [
479
- d.$slots.extra ? I(d.$slots, "extra", { key: 0 }, void 0, !0) : y("", !0)
480
- ])
481
- ])) : y("", !0)
482
- ])
483
- ]),
484
- _: 3
485
- }, 8, ["modelValue"])), [
486
- [
487
- p,
488
- {
489
- layer: d.overlayLayer,
490
- click: () => {
491
- l.value = !1;
492
- }
493
- },
494
- void 0,
495
- { invisibleOnLarge: !0 }
496
- ]
497
- ])
498
- ])) : y("", !0)
499
- ], 64);
500
- };
501
- }
502
- });
503
- const Ce = /* @__PURE__ */ X($n, [["__scopeId", "data-v-66a4ee79"]]), bn = { class: "info__content" }, gn = /* @__PURE__ */ U({
504
- __name: "aeria-info",
505
- props: {
506
- where: {}
507
- },
508
- setup(c) {
509
- const r = c, a = ze(), t = J(!1), l = r.where || "top";
510
- return (s, u) => e(a).md ? (n(), i("div", {
511
- key: 0,
512
- class: "info",
513
- onMouseleave: u[1] || (u[1] = (v) => t.value = !1)
514
- }, [
515
- t.value ? (n(), i("div", {
516
- key: 0,
517
- class: K(`
518
- info__bubble
519
- info__bubble--${e(l)}
520
- `)
521
- }, [
522
- V("div", bn, [
523
- I(s.$slots, "text", {}, void 0, !0)
524
- ])
525
- ], 2)) : y("", !0),
526
- V("div", {
527
- onMouseover: u[0] || (u[0] = (v) => t.value = !0)
528
- }, [
529
- I(s.$slots, "default", {}, void 0, !0)
530
- ], 32)
531
- ], 32)) : I(s.$slots, "default", { key: 1 }, void 0, !0);
532
- }
533
- });
534
- const kn = /* @__PURE__ */ X(gn, [["__scopeId", "data-v-76defa0b"]]), Vn = { class: "input" }, Cn = {
535
- key: 0,
536
- class: "input__label"
537
- }, On = {
538
- key: 1,
539
- class: "input__hint"
540
- }, In = ["placeholder", "readonly", "value"], An = ["value"], Bn = {
541
- key: 1,
542
- class: "input__clipboard"
543
- }, wn = /* @__PURE__ */ U({
544
- __name: "aeria-input",
545
- props: {
546
- modelValue: {},
547
- property: {},
548
- propertyName: {},
549
- parentPropertyName: {},
550
- parentCollection: {},
551
- readOnly: { type: Boolean },
552
- variant: {}
553
- },
554
- emits: ["update:modelValue", "input", "change"],
555
- setup(c, { emit: r }) {
556
- var B;
557
- const a = c, t = a.property || {}, l = "icon" in t || "inputType" in t && t.inputType === "search", s = ve("searchOnly", !1), u = ve("innerInputLabel", !1), v = !s && (a.readOnly || t.readOnly), d = (z) => navigator.clipboard.writeText(z), h = r, p = ve("inputVariant", a.variant) || "normal", o = {
558
- name: a.propertyName,
559
- readonly: v,
560
- type: (() => {
561
- if ("type" in t)
562
- switch (t.type) {
563
- case "number":
564
- case "integer":
565
- return "number";
566
- }
567
- if (t.inputType)
568
- return t.inputType;
569
- switch (typeof a.modelValue) {
570
- case "string":
571
- return "text";
572
- case "number":
573
- return "number";
574
- default:
575
- return "text";
576
- }
577
- })(),
578
- placeholder: u ? t.description || a.propertyName : t.placeholder
579
- };
580
- "type" in t && ((t.type === "number" || t.type === "integer") && (t.minimum && (o.min = t.minimum), t.exclusiveMinimum && (o.min = t.exclusiveMinimum + 1), t.maximum && (o.max = t.maximum), t.exclusiveMaximum && (o.max = t.exclusiveMaximum - 1)), t.type === "string" && ((t.format === "date" || t.format === "date-time") && (o.type = !s && t.format === "date-time" ? "datetime-local" : "date"), o.minlength = t.minLength, o.maxlength = t.maxLength)), o.type === "text" && s && (o.type = "search"), $t(() => {
581
- a.modelValue !== null && T(a.modelValue);
582
- });
583
- const _ = () => {
584
- try {
585
- return a.modelValue ? new Date(a.modelValue).toISOString().split("T").shift() : "";
586
- } catch {
587
- return "";
588
- }
589
- }, $ = J([
590
- "date",
591
- "date-time"
592
- ].includes(o.type) ? _() : a.modelValue === null || a.modelValue === void 0 ? "" : a.modelValue), b = ((B = a.property) == null ? void 0 : B.type) === "string" && a.property.mask ? zt(a.property.mask) : null, S = (z) => {
593
- var Y;
594
- return typeof $.value == "string" && ((Y = a.property) == null ? void 0 : Y.type) === "string" && b !== null ? ($.value = b.enmask($.value, void 0, {
595
- defaultValue: !0
596
- }), a.property.maskedValue === !0 ? $.value : b.unmask($.value)) : z;
597
- }, T = (z) => {
598
- const Y = (() => {
599
- if (!z || typeof z != "string")
600
- return z;
601
- if (o.type === "number" || o.type === "integer")
602
- return Number(z);
603
- if (!("type" in t && t.type === "string"))
604
- return S(z);
605
- switch (t.format) {
606
- case "date":
607
- case "date-time":
608
- return new Date(z);
609
- default:
610
- return S(z);
611
- }
612
- })();
613
- h("input", Y), h("update:modelValue", Y);
614
- }, P = (z) => {
615
- const Y = z.target.value;
616
- $.value = Y, T(Y);
617
- };
618
- return ue(() => a.modelValue, (z, Y) => {
619
- z instanceof Date || (Y && !z ? $.value = void 0 : $.value = b ? b.enmask(String(z), void 0, {
620
- defaultValue: !0
621
- }) : String(z));
622
- }), (z, Y) => {
623
- const w = oe("focus"), te = oe("clickable");
624
- return n(), i("label", Vn, [
625
- e(u) ? y("", !0) : (n(), i("div", Cn, [
626
- z.$slots.default ? I(z.$slots, "default", { key: 0 }, void 0, !0) : I(z.$slots, "description", { key: 1 }, void 0, !0)
627
- ])),
628
- z.$slots.hint ? (n(), i("div", On, [
629
- I(z.$slots, "hint", {}, void 0, !0)
630
- ])) : y("", !0),
631
- "element" in e(t) && e(t).element === "textarea" ? (n(), i("div", {
632
- key: 2,
633
- class: K(`
634
- input__container
635
- input__container--${e(p)}
636
- `)
637
- }, [
638
- x(V("textarea", {
639
- placeholder: o.placeholder,
640
- readonly: o.readonly,
641
- value: z.modelValue,
642
- class: K(`
643
- input__textarea
644
- input__input--${e(p)}
645
- `),
646
- onInput: P
647
- }, null, 42, In), [
648
- [w, e(t).focus]
649
- ])
650
- ], 2)) : (n(), i("div", {
651
- key: 3,
652
- class: K(`
653
- input__container
654
- input__container--${e(p)}
655
- `)
656
- }, [
657
- x(V("input", H(o, {
658
- value: $.value,
659
- "data-component": "input",
660
- class: `
661
- input__input
662
- input__input--${e(p)}
663
- ${e(l) && "input__input--icon"}
664
- ${e(v) && "input__input--readOnly"}
665
- `,
666
- onInput: P,
667
- onChange: Y[0] || (Y[0] = (C) => h("change", C))
668
- }), null, 16, An), [
669
- [w, e(t).focus]
670
- ]),
671
- e(l) ? (n(), g(Z, {
672
- key: 0,
673
- icon: e(t).icon || "magnifying-glass",
674
- class: K(`
675
- input__icon
676
- input__icon--${e(p)}
677
- `)
678
- }, null, 8, ["icon", "class"])) : y("", !0),
679
- e(v) ? (n(), i("div", Bn, [
680
- L(kn, null, {
681
- text: f(() => [
682
- W("Copiar")
683
- ]),
684
- default: f(() => [
685
- x(L(Z, {
686
- icon: "clipboard",
687
- onClick: Y[1] || (Y[1] = (C) => d(String(z.modelValue || "")))
688
- }, null, 512), [
689
- [te]
690
- ])
691
- ]),
692
- _: 1
693
- })
694
- ])) : y("", !0)
695
- ], 2))
696
- ]);
697
- };
698
- }
699
- });
700
- const Oe = /* @__PURE__ */ X(wn, [["__scopeId", "data-v-fa830575"]]), Sn = ["value"], jn = {
701
- key: 1,
702
- value: ""
703
- }, Tn = ["value", "data-selected"], Ln = /* @__PURE__ */ U({
704
- __name: "aeria-select",
705
- props: {
706
- modelValue: {},
707
- property: {},
708
- propertyName: {},
709
- parentPropertyName: {},
710
- parentCollection: {},
711
- readOnly: { type: Boolean },
712
- booleanRef: { type: Boolean },
713
- multiple: { type: [Boolean, Number] },
714
- noOutline: { type: Boolean }
715
- },
716
- emits: ["update:modelValue", "change"],
717
- setup(c, { emit: r }) {
718
- const a = c, t = r, l = J(null), s = a.property, u = (p) => {
719
- a.booleanRef && (v.value = p), t("update:modelValue", (p == null ? void 0 : p._id) || p), t("change", (p == null ? void 0 : p._id) || p);
720
- }, v = a.booleanRef ? (() => {
721
- const p = J(a.modelValue);
722
- return Q({
723
- get: () => {
724
- switch (p.value) {
725
- case "true":
726
- return !0;
727
- case "false":
728
- return !1;
729
- default:
730
- return null;
731
- }
732
- },
733
- set: (_) => {
734
- p.value = _;
735
- }
736
- });
737
- })() : Q({
738
- get: () => a.modelValue,
739
- set: u
740
- }), d = (p) => Array.isArray(a.modelValue) ? a.modelValue.includes(p) : a.modelValue === p, h = Q(() => a.multiple ? typeof a.multiple == "number" ? a.multiple : 5 : 1);
741
- return a.multiple && ue(() => a.modelValue, (p) => {
742
- var _;
743
- if (!l.value)
744
- return;
745
- const o = l.value.querySelector('option[data-selected="true"]');
746
- o && o.removeAttribute("data-selected"), (_ = l.value.querySelector(`option[value="${p}"]`)) == null || _.setAttribute("data-selected", "true");
747
- }), (p, o) => (n(), i("div", {
748
- class: K({
749
- select: !0,
750
- "select--outline": !p.noOutline
751
- })
752
- }, [
753
- V("select", H({
754
- ref_key: "select",
755
- ref: l,
756
- value: e(v)
757
- }, {
758
- size: h.value
759
- }, {
760
- class: {
761
- select__select: !0,
762
- "select__select--multiple": !!a.multiple
763
- },
764
- onChange: o[0] || (o[0] = (_) => u(_.target.value))
765
- }), [
766
- e(s) && e(s).icon ? (n(), g(Z, {
767
- key: 0,
768
- icon: e(s).icon
769
- }, null, 8, ["icon"])) : y("", !0),
770
- a.multiple ? y("", !0) : (n(), i("option", jn, k(e(R)("none")), 1)),
771
- (n(!0), i(N, null, D(e(s) && "enum" in e(s) ? e(s).enum : [], (_) => {
772
- var $;
773
- return n(), i("option", {
774
- key: _,
775
- value: _,
776
- "data-selected": d(_)
777
- }, k(($ = e(s)) != null && $.translate ? e(R)(_) : _), 9, Tn);
778
- }), 128)),
779
- I(p.$slots, "default", {}, void 0, !0)
780
- ], 16, Sn)
781
- ], 2));
782
- }
783
- });
784
- const Qe = /* @__PURE__ */ X(Ln, [["__scopeId", "data-v-1f76ec88"]]), Rn = { class: "pagination" }, zn = ["value"], Mn = { class: "pagination__control" }, Fn = { class: "pagination__page-input" }, qn = /* @__PURE__ */ U({
785
- __name: "aeria-pagination",
786
- props: {
787
- pagination: {}
788
- },
789
- emits: ["paginate"],
790
- setup(c, { emit: r }) {
791
- const a = c, t = r, l = Q({
792
- get: () => Math.floor(a.pagination.offset / a.pagination.limit),
793
- set: (h) => {
794
- a.pagination.offset = h * a.pagination.limit;
795
- }
796
- }), s = Q({
797
- get: () => a.pagination.limit,
798
- set: (h) => {
799
- a.pagination.limit = Number(h);
800
- }
801
- }), u = J(l.value ? l.value + 1 : 1), v = Q(() => Math.ceil(a.pagination.recordsTotal / a.pagination.limit)), d = (h) => {
802
- l.value = h === "previous" ? l.value - 1 : l.value + 1;
803
- };
804
- return ue([
805
- l,
806
- s
807
- ], ([h]) => {
808
- u.value = h + 1, t("paginate", {
809
- offset: l.value * s.value,
810
- limit: s.value
811
- });
812
- }), (h, p) => (n(), i("div", Rn, [
813
- L(Qe, {
814
- modelValue: s.value,
815
- "onUpdate:modelValue": p[0] || (p[0] = (o) => s.value = o),
816
- property: {
817
- enum: [],
818
- icon: "list"
819
- },
820
- class: "pagination__control"
821
- }, {
822
- default: f(() => [
823
- (n(!0), i(N, null, D(e(Mt), (o) => (n(), i("option", {
824
- key: `limit-${o}`,
825
- value: o
826
- }, k(o), 9, zn))), 128))
827
- ]),
828
- _: 1
829
- }, 8, ["modelValue"]),
830
- V("div", Mn, [
831
- L(fe, {
832
- onClick: p[1] || (p[1] = (o) => l.value = 0)
833
- }, {
834
- default: f(() => [
835
- L(Z, {
836
- reactive: "",
837
- icon: "caret-double-left"
838
- })
839
- ]),
840
- _: 1
841
- }),
842
- L(fe, {
843
- disabled: l.value === 0,
844
- onClick: p[2] || (p[2] = (o) => d("previous"))
845
- }, {
846
- default: f(() => [
847
- L(Z, {
848
- reactive: "",
849
- icon: "caret-left"
850
- })
851
- ]),
852
- _: 1
853
- }, 8, ["disabled"]),
854
- V("div", Fn, [
855
- (n(), g(Oe, {
856
- key: l.value,
857
- modelValue: u.value,
858
- "onUpdate:modelValue": p[3] || (p[3] = (o) => u.value = o),
859
- property: {
860
- type: "number",
861
- minimum: 1
862
- },
863
- onChange: p[4] || (p[4] = (o) => {
864
- l.value = u.value === 0 ? 0 : u.value - 1;
865
- })
866
- }, null, 8, ["modelValue"])),
867
- V("span", null, k(e(R)("of")) + " " + k(v.value), 1)
868
- ]),
869
- L(fe, {
870
- disabled: l.value === v.value - 1,
871
- onClick: p[5] || (p[5] = (o) => d("next"))
872
- }, {
873
- default: f(() => [
874
- L(Z, {
875
- reactive: "",
876
- icon: "caret-right"
877
- })
878
- ]),
879
- _: 1
880
- }, 8, ["disabled"]),
881
- L(fe, {
882
- onClick: p[6] || (p[6] = (o) => l.value = v.value - 1)
883
- }, {
884
- default: f(() => [
885
- L(Z, {
886
- reactive: "",
887
- icon: "caret-double-right"
888
- })
889
- ]),
890
- _: 1
891
- })
892
- ])
893
- ]));
894
- }
895
- });
896
- const Un = /* @__PURE__ */ X(qn, [["__scopeId", "data-v-41aa1ffc"]]), En = { class: "checkbox__text" }, Dn = ["innerHTML"], Hn = { class: "checkbox__hint" }, Qn = ["innerHTML"], Gn = {
897
- inheritAttrs: !1
898
- }, Wn = /* @__PURE__ */ U({
899
- ...Gn,
900
- __name: "aeria-checkbox",
901
- props: {
902
- modelValue: {},
903
- property: {},
904
- propertyName: {},
905
- parentPropertyName: {},
906
- parentCollection: {},
907
- readOnly: { type: Boolean },
908
- value: {},
909
- variant: {}
910
- },
911
- emits: ["update:modelValue", "change"],
912
- setup(c, { emit: r }) {
913
- const a = c, t = a.property, l = a.readOnly || (t == null ? void 0 : t.readOnly), s = (() => {
914
- if (t && "type" in t)
915
- switch (t.type) {
916
- case "array":
917
- case "boolean":
918
- return "checkbox";
919
- }
920
- return "radio";
921
- })(), u = r, v = a.value || !1, d = Q({
922
- get: () => {
923
- var p;
924
- if (t) {
925
- if ("type" in t && t.type === "boolean")
926
- return !!a.value;
927
- if ("items" in t)
928
- return (p = a.modelValue) == null ? void 0 : p.includes(a.value);
929
- }
930
- return a.modelValue === a.value;
931
- },
932
- set: () => {
933
- var p;
934
- if (!l) {
935
- if (t) {
936
- if ("type" in t && t.type === "boolean") {
937
- u("update:modelValue", !a.modelValue);
938
- return;
939
- }
940
- if ("items" in t) {
941
- if ((p = a.modelValue) != null && p.includes(v)) {
942
- u("update:modelValue", a.modelValue.filter((o) => o !== v));
943
- return;
944
- }
945
- u("update:modelValue", [v].concat(a.modelValue || []));
946
- return;
947
- }
948
- }
949
- u("update:modelValue", a.value);
950
- }
951
- }
952
- }), h = (p) => {
953
- l && p.preventDefault();
954
- };
955
- return (p, o) => {
956
- var $, b;
957
- const _ = oe("clickable");
958
- return x((n(), i("label", {
959
- class: K(`
960
- checkbox
961
- ${e(l) && "checkbox--readOnly"}
962
- `)
963
- }, [
964
- x(V("input", H({
965
- "onUpdate:modelValue": o[0] || (o[0] = (S) => d.value = S)
966
- }, {
967
- type: e(s),
968
- readOnly: e(l),
969
- checked: d.value
970
- }, {
971
- class: "checkbox__input",
972
- onClick: h
973
- }), null, 16), [
974
- [At, d.value]
975
- ]),
976
- V("div", En, [
977
- V("div", null, [
978
- p.$slots.description ? I(p.$slots, "description", { key: 0 }, void 0, !0) : e(v) ? (n(), i("div", {
979
- key: 1,
980
- innerHTML: ($ = e(t)) != null && $.translate ? e(R)(e(v)) : e(v)
981
- }, null, 8, Dn)) : I(p.$slots, "default", { key: 2 }, void 0, !0)
982
- ]),
983
- V("div", Hn, [
984
- p.$slots.hint ? I(p.$slots, "hint", { key: 0 }, void 0, !0) : (b = e(t)) != null && b.hint ? (n(), i("div", {
985
- key: 1,
986
- innerHTML: e(t).hint
987
- }, null, 8, Qn)) : y("", !0)
988
- ])
989
- ])
990
- ], 2)), [
991
- [_]
992
- ]);
993
- };
994
- }
995
- });
996
- const Kn = /* @__PURE__ */ X(Wn, [["__scopeId", "data-v-db5fafae"]]), Xn = {
997
- inheritAttrs: !1
998
- }, Yn = /* @__PURE__ */ U({
999
- ...Xn,
1000
- __name: "aeria-options",
1001
- props: {
1002
- modelValue: {},
1003
- propertyName: {},
1004
- parentPropertyName: {},
1005
- parentCollection: {},
1006
- readOnly: { type: Boolean },
1007
- property: {},
1008
- columns: { default: 1 }
1009
- },
1010
- emits: ["update:modelValue"],
1011
- setup(c, { emit: r }) {
1012
- const a = c, t = r, l = a.readOnly || a.property.readOnly, s = "items" in a.property ? a.property.items.enum : a.property.enum, u = (v) => {
1013
- t("update:modelValue", v);
1014
- };
1015
- return bt(() => {
1016
- a.modelValue || t(
1017
- "update:modelValue",
1018
- "items" in a.property ? [] : ""
1019
- );
1020
- }), (v, d) => (n(), i("div", {
1021
- class: "options",
1022
- style: $e(`
1023
- --columns: ${v.columns};
1024
- grid-template-columns: repeat(var(--columns), 1fr);
1025
- `)
1026
- }, [
1027
- (n(!0), i(N, null, D(e(s), (h) => (n(), i("div", {
1028
- key: `option-${h}`,
1029
- class: "options__checkbox"
1030
- }, [
1031
- L(Kn, H({ ref_for: !0 }, {
1032
- value: h,
1033
- readOnly: e(l),
1034
- property: v.property
1035
- }, {
1036
- "model-value": v.modelValue,
1037
- "onUpdate:modelValue": u
1038
- }), null, 16, ["model-value"])
1039
- ]))), 128))
1040
- ], 4));
1041
- }
1042
- });
1043
- const Jn = /* @__PURE__ */ X(Yn, [["__scopeId", "data-v-39b61318"]]), Zn = (c) => (Ee("data-v-220b2101"), c = c(), De(), c), Pn = { class: "switch-wrapper" }, Nn = /* @__PURE__ */ Zn(() => /* @__PURE__ */ V("div", { class: "switch__slider" }, null, -1)), xn = { key: 1 }, eo = {
1044
- inheritAttrs: !1
1045
- }, to = /* @__PURE__ */ U({
1046
- ...eo,
1047
- __name: "aeria-switch",
1048
- props: {
1049
- modelValue: {},
1050
- property: {},
1051
- propertyName: {},
1052
- parentPropertyName: {},
1053
- parentCollection: {},
1054
- readOnly: { type: Boolean }
1055
- },
1056
- emits: ["update:modelValue", "change"],
1057
- setup(c, { emit: r }) {
1058
- const a = c, t = r, l = a.property, s = a.readOnly || (l == null ? void 0 : l.readOnly), u = () => {
1059
- s || (t("change", !a.modelValue), t("update:modelValue", !a.modelValue));
1060
- };
1061
- return (v, d) => {
1062
- var p;
1063
- const h = oe("clickable");
1064
- return n(), i("div", Pn, [
1065
- x((n(), i("a", {
1066
- class: K(`
1067
- switch
1068
- ${v.modelValue && "switch--active"}
1069
- ${e(s) && "switch--readOnly"}
1070
- `),
1071
- onClick: qe(u, ["stop"])
1072
- }, [
1073
- Nn,
1074
- V("div", {
1075
- class: K(`
1076
- switch__dummy
1077
- ${!v.modelValue && "switch__dummy--flex"}
1078
- `)
1079
- }, null, 2)
1080
- ], 2)), [
1081
- [h, {
1082
- blocked: e(s)
1083
- }]
1084
- ]),
1085
- v.$slots.default ? I(v.$slots, "default", { key: 0 }, void 0, !0) : (n(), i("div", xn, k(((p = e(l)) == null ? void 0 : p.description) || v.propertyName), 1))
1086
- ]);
1087
- };
1088
- }
1089
- });
1090
- const no = /* @__PURE__ */ X(to, [["__scopeId", "data-v-220b2101"]]), Ct = (c) => (Ee("data-v-153a2e0f"), c = c(), De(), c), oo = { class: "picture" }, ao = {
1091
- key: 0,
1092
- style: { position: "fixed", top: "50%", left: "50%", transform: "translate(-50%, -50%)" }
1093
- }, lo = ["src", "alt"], so = {
1094
- key: 0,
1095
- class: "picture__meta"
1096
- }, io = ["src"], ro = /* @__PURE__ */ Ct(() => /* @__PURE__ */ V("line", {
1097
- x1: "0",
1098
- y1: "0",
1099
- x2: "200",
1100
- y2: "200",
1101
- stroke: "#000",
1102
- "vector-effect": "non-scaling-stroke"
1103
- }, null, -1)), uo = /* @__PURE__ */ Ct(() => /* @__PURE__ */ V("line", {
1104
- x1: "200",
1105
- y1: "0",
1106
- x2: "0",
1107
- y2: "200",
1108
- stroke: "#000",
1109
- "vector-effect": "non-scaling-stroke"
1110
- }, null, -1)), co = [
1111
- ro,
1112
- uo
1113
- ], po = { key: 5 }, _o = /* @__PURE__ */ U({
1114
- __name: "aeria-picture",
1115
- props: {
1116
- url: {},
1117
- alt: {},
1118
- fileId: {},
1119
- modelValue: {},
1120
- objectFit: {},
1121
- bordered: { type: Boolean },
1122
- width: {},
1123
- height: {},
1124
- expandable: { type: Boolean },
1125
- meta: {}
1126
- },
1127
- setup(c) {
1128
- const r = c, a = Q(() => r.fileId ? `${gt}/file/${r.fileId}/picture` : r.url || r.modelValue), t = J(!1);
1129
- return (l, s) => {
1130
- var v;
1131
- const u = oe("overlay");
1132
- return n(), i("figure", oo, [
1133
- a.value ? (n(), g(Ye, {
1134
- key: 0,
1135
- to: "main"
1136
- }, [
1137
- t.value ? x((n(), i("div", ao, [
1138
- V("img", {
1139
- src: a.value,
1140
- alt: l.alt,
1141
- style: `
1142
- max-height: 60vh;
1143
- object-fit: contain;
1144
- `,
1145
- onClick: s[0] || (s[0] = (d) => t.value = !0)
1146
- }, null, 8, lo),
1147
- (v = l.meta) != null && v.owner ? (n(), i("div", so, " Criado por " + k(l.meta.owner.name) + " em " + k(l.formatDateTime(l.meta.created_at, { hours: !0 })), 1)) : y("", !0)
1148
- ])), [
1149
- [u, {
1150
- click: () => {
1151
- t.value = !1;
1152
- }
1153
- }]
1154
- ]) : y("", !0)
1155
- ])) : y("", !0),
1156
- a.value ? (n(), i("img", {
1157
- key: 1,
1158
- src: a.value,
1159
- class: K(`
1160
- picture__image
1161
- ${l.bordered && "picture__image--bordered"}
1162
- ${l.expandable && "picture__image--expandable"}
1163
- `),
1164
- style: $e(`
1165
- object-fit: ${l.objectFit || "cover"};
1166
- width: ${l.width || "100%"};
1167
- height: ${l.height || "100%"};
1168
- `),
1169
- onClick: s[1] || (s[1] = () => {
1170
- l.expandable && (t.value = !0);
1171
- })
1172
- }, null, 14, io)) : l.$slots.fallback ? I(l.$slots, "fallback", { key: 2 }, void 0, !0) : l.$slots.default ? I(l.$slots, "default", { key: 3 }, void 0, !0) : (n(), i("svg", {
1173
- key: 4,
1174
- class: K(["picture__background", `
1175
- ${l.bordered && "picture__image--bordered"}
1176
- `]),
1177
- xmlns: "http://www.w3.org/2000/svg",
1178
- viewBox: "0 0 200 200",
1179
- preserveAspectRatio: "none",
1180
- style: $e(`
1181
- object-fit: ${l.objectFit || "cover"};
1182
- width: ${l.width || "100%"};
1183
- height: ${l.height || "100%"};
1184
- `)
1185
- }, co, 6)),
1186
- l.$slots.caption ? (n(), i("figcaption", po, [
1187
- I(l.$slots, "caption", {}, void 0, !0)
1188
- ])) : y("", !0)
1189
- ]);
1190
- };
1191
- }
1192
- });
1193
- const Ue = /* @__PURE__ */ X(_o, [["__scopeId", "data-v-153a2e0f"]]), mo = { class: "file" }, fo = { key: 0 }, vo = ["href"], yo = {
1194
- key: 1,
1195
- class: "file__actions"
1196
- }, ho = ["accept"], $o = {
1197
- key: 0,
1198
- class: "file__buttons"
1199
- }, bo = {
1200
- key: 1,
1201
- class: "file__buttons"
1202
- }, go = /* @__PURE__ */ U({
1203
- __name: "aeria-file",
1204
- props: {
1205
- modelValue: {},
1206
- property: {},
1207
- propertyName: {},
1208
- parentPropertyName: {},
1209
- parentCollection: {},
1210
- readOnly: { type: Boolean },
1211
- meta: {},
1212
- content: {}
1213
- },
1214
- emits: ["update:content", "change", "update:modelValue"],
1215
- setup(c, { emit: r }) {
1216
- var $;
1217
- const a = c, t = r, s = Me() ? Ie() : null, u = J((($ = a.modelValue) == null ? void 0 : $.file) || null), v = Q(() => {
1218
- var b;
1219
- return u.value ? URL.createObjectURL(u.value) : (b = a.modelValue) == null ? void 0 : b.link;
1220
- }), d = Q(() => {
1221
- var b, S, T;
1222
- return /^image\//.test((b = a.modelValue) == null ? void 0 : b.type) && !((S = u.value) != null && S.type) || /^image\//.test((T = u.value) == null ? void 0 : T.type);
1223
- }), h = (b) => new Promise((S) => {
1224
- const T = new FileReader();
1225
- T.onload = () => S(T.result), T.readAsArrayBuffer(b);
1226
- }), p = () => {
1227
- a.modelValue.tempId && t("update:modelValue", null), u.value = null;
1228
- }, o = async (b) => {
1229
- u.value = b.target.files[0];
1230
- const S = u.value, T = await h(S);
1231
- if (s) {
1232
- const { data: { error: P, result: B } } = await Ft(`${gt}/${s.$id}/upload?name=${S.name}`, T, {
1233
- params: {
1234
- method: "POST",
1235
- headers: {
1236
- "content-type": S.type || "application/octet-stream",
1237
- "x-stream-request": "1"
1238
- }
1239
- }
1240
- });
1241
- if (P)
1242
- return;
1243
- t("update:modelValue", {
1244
- tempId: B.tempId,
1245
- file: S
1246
- });
1247
- } else
1248
- t("update:modelValue", S);
1249
- t("update:content", T), t("change", T);
1250
- }, _ = async () => {
1251
- t("update:modelValue", null);
1252
- };
1253
- return (b, S) => {
1254
- var T, P, B, z, Y, w;
1255
- return n(), i("div", mo, [
1256
- u.value || (T = b.modelValue) != null && T._id ? (n(), i("div", fo, [
1257
- d.value ? (n(), g(Ue, {
1258
- key: 0,
1259
- modelValue: v.value,
1260
- "onUpdate:modelValue": S[0] || (S[0] = (te) => v.value = te),
1261
- alt: "Image preview",
1262
- expandable: b.readOnly,
1263
- class: K(`
1264
- file__image
1265
- ${!e(s) || ((P = b.modelValue) == null ? void 0 : P._id) || "file__image--unsent"}
1266
- `)
1267
- }, null, 8, ["modelValue", "expandable", "class"])) : y("", !0),
1268
- (B = b.modelValue) != null && B._id ? (n(), i("a", {
1269
- key: 1,
1270
- href: b.modelValue.download_link
1271
- }, k(b.modelValue.filename), 9, vo)) : y("", !0)
1272
- ])) : y("", !0),
1273
- b.readOnly ? y("", !0) : (n(), i("div", yo, [
1274
- V("input", {
1275
- ref: "file",
1276
- type: "file",
1277
- accept: (Y = (z = b.property) == null ? void 0 : z.accept) == null ? void 0 : Y.join(","),
1278
- onChange: o
1279
- }, null, 40, ho),
1280
- u.value ? (n(), i("div", $o, [
1281
- L(re, {
1282
- small: "",
1283
- onClick: qe(p, ["prevent"])
1284
- }, {
1285
- default: f(() => [
1286
- W(k(e(R)("action.clear", { capitalize: !0 })), 1)
1287
- ]),
1288
- _: 1
1289
- })
1290
- ])) : (w = b.modelValue) != null && w._id ? (n(), i("div", bo, [
1291
- L(re, {
1292
- small: "",
1293
- onClick: qe(_, ["prevent"])
1294
- }, {
1295
- default: f(() => [
1296
- W(k(e(R)("action.remove", { capitalize: !0 })), 1)
1297
- ]),
1298
- _: 1
1299
- })
1300
- ])) : y("", !0)
1301
- ]))
1302
- ]);
1303
- };
1304
- }
1305
- });
1306
- const ko = /* @__PURE__ */ X(go, [["__scopeId", "data-v-aeeec9a8"]]), Vo = { class: "container" }, Co = {
1307
- key: 1,
1308
- class: "container__footer"
1309
- }, Oo = /* @__PURE__ */ U({
1310
- __name: "aeria-search-container",
1311
- props: {
1312
- observeScroll: { type: Boolean }
1313
- },
1314
- emits: ["endReached"],
1315
- setup(c, { emit: r }) {
1316
- const a = c, t = r, l = J(null), s = a.observeScroll ? Je(l, {
1317
- antecipate: 100
1318
- }).reachedEnd : null;
1319
- return s !== null && ue(s, (u) => {
1320
- u && t("endReached", u);
1321
- }), (u, v) => (n(), i("div", Vo, [
1322
- u.$slots.default ? (n(), i("div", {
1323
- key: 0,
1324
- ref_key: "containerEl",
1325
- ref: l,
1326
- class: "container__content"
1327
- }, [
1328
- I(u.$slots, "default", {}, void 0, !0)
1329
- ], 512)) : y("", !0),
1330
- u.$slots.footer ? (n(), i("div", Co, [
1331
- I(u.$slots, "footer", {}, void 0, !0)
1332
- ])) : y("", !0)
1333
- ]));
1334
- }
1335
- });
1336
- const mt = /* @__PURE__ */ X(Oo, [["__scopeId", "data-v-c86e2d2a"]]), Io = { class: "item__values" }, Ao = /* @__PURE__ */ U({
1337
- __name: "aeria-search-item",
1338
- props: {
1339
- item: {},
1340
- indexes: {},
1341
- modelValue: {},
1342
- property: {},
1343
- readOnly: { type: Boolean }
1344
- },
1345
- emits: ["update:modelValue", "change"],
1346
- setup(c, { emit: r }) {
1347
- const a = Ae(), t = c, l = r, s = t.property, u = _e(s), v = Ie(), d = Q(() => Array.isArray(t.modelValue) ? Array.isArray(t.modelValue) && Object.values(t.modelValue).some(({ _id: _ }) => t.item._id === _) : t.modelValue && t.modelValue._id === t.item._id), h = () => {
1348
- if (d.value)
1349
- return;
1350
- const _ = (b) => b.filter((S) => !!(S != null && S._id)), $ = "items" in s ? _(Array.isArray(t.modelValue) ? t.modelValue : [t.modelValue]) : t.modelValue;
1351
- Array.isArray($) ? l("update:modelValue", $.concat([t.item])) : l("update:modelValue", t.item), l("change", t.item);
1352
- }, p = async (_) => {
1353
- if (u.purge && (_ != null && _.purge)) {
1354
- const { _id: b } = t.item;
1355
- await v.$actions.remove({
1356
- filters: {
1357
- _id: b
1358
- }
1359
- });
1360
- }
1361
- const $ = () => {
1362
- const b = [...t.modelValue], S = b.findIndex((T) => T._id === t.item._id);
1363
- return b.splice(S, 1), b;
1364
- };
1365
- l("update:modelValue", "items" in s ? $() : null);
1366
- }, o = () => {
1367
- if (t.readOnly) {
1368
- a.push({
1369
- name: "/dashboard/crud/:id",
1370
- params: {
1371
- collection: u.$ref,
1372
- id: t.item._id
1373
- }
1374
- });
1375
- return;
1376
- }
1377
- return d.value ? p() : h();
1378
- };
1379
- return (_, $) => {
1380
- const b = oe("clickable");
1381
- return x((n(), i("div", {
1382
- class: K({
1383
- item: !0,
1384
- "item--selected": d.value
1385
- }),
1386
- onClick: o
1387
- }, [
1388
- I(_.$slots, "default", {}, void 0, !0),
1389
- V("div", Io, [
1390
- (n(!0), i(N, null, D(_.indexes, (S, T) => (n(), i("div", {
1391
- key: `index-${_.item._id}-${T}`,
1392
- class: "item__value"
1393
- }, k(_.item[S]), 1))), 128))
1394
- ]),
1395
- _.readOnly ? (n(), g(Z, {
1396
- key: 0,
1397
- icon: "arrow-square-out",
1398
- style: { "--icon-color": "var(--theme-brand-color-contrast)" }
1399
- })) : y("", !0)
1400
- ], 2)), [
1401
- [b]
1402
- ]);
1403
- };
1404
- }
1405
- });
1406
- const Ke = /* @__PURE__ */ X(Ao, [["__scopeId", "data-v-5e6ec702"]]), Bo = { class: "search__panel" }, wo = { class: "search__input" }, So = ["value"], jo = { style: { flex: "1" } }, To = { key: 1 }, Lo = { key: 0 }, Ro = { key: 1 }, zo = { class: "search__summary" }, Mo = {
1407
- key: 1,
1408
- class: "search"
1409
- }, Fo = { key: 0 }, Fe = 10, qo = /* @__PURE__ */ U({
1410
- __name: "aeria-search",
1411
- props: {
1412
- modelValue: {},
1413
- parentPropertyName: {},
1414
- parentCollection: {},
1415
- readOnly: { type: Boolean },
1416
- property: {},
1417
- propertyName: {},
1418
- selectOnly: { type: Boolean },
1419
- panel: { default: void 0 }
1420
- },
1421
- emits: ["update:modelValue", "change", "update:panel"],
1422
- setup(c, { emit: r }) {
1423
- const a = c, t = _e(a.property), l = a.panel !== void 0 ? Q(() => a.panel) : J(!1), s = r, u = ie(_e(a.property).$ref), v = Me(), d = v ? Ie() : null, h = t.indexes;
1424
- ye(He, _e(a.property).$ref), ye("innerInputLabel", !0), ye("omitInputLabels", !0);
1425
- const p = J(a.modelValue), o = J({
1426
- data: [],
1427
- pagination: {}
1428
- }), _ = Q(() => o.value.data), $ = Q(() => o.value.pagination), b = J(0), S = J(h[0]), T = J(!1), P = J({}), B = () => {
1429
- const M = {};
1430
- if (v) {
1431
- const q = e(v);
1432
- M[q] = d;
1433
- }
1434
- return t.constraints ? Gt(t.constraints, M) : {};
1435
- }, z = () => {
1436
- _.value.length < $.value.recordsTotal && (b.value += 1, w());
1437
- }, Y = async () => {
1438
- if (Object.values(P.value).every((q) => !(String(q).length > 0)))
1439
- return u.$actions.custom("getAll", {
1440
- limit: Fe,
1441
- offset: b.value * Fe,
1442
- filters: B()
1443
- });
1444
- const M = h.filter((q) => {
1445
- var m;
1446
- return ((m = P.value[q]) == null ? void 0 : m.length) > 0;
1447
- }).map((q) => ({
1448
- [q]: {
1449
- $regex: P.value[q].trim().replace("(", "\\(").replace(")", "\\)"),
1450
- $options: "i"
1451
- }
1452
- }));
1453
- return u.$actions.custom("getAll", {
1454
- limit: Fe,
1455
- offset: b.value * Fe,
1456
- filters: {
1457
- ...B(),
1458
- ...M.length > 0 && {
1459
- $or: M
1460
- }
1461
- }
1462
- });
1463
- }, w = async () => {
1464
- if (u.loading.getAll)
1465
- return;
1466
- const { error: M, result: q } = await Y();
1467
- if (M) {
1468
- ie("meta").$actions.spawnToast({
1469
- text: "Request failed",
1470
- icon: "warning"
1471
- });
1472
- return;
1473
- }
1474
- o.value.pagination = q.pagination, b.value === 0 && o.value.data.splice(0), o.value.data.push(...q.data);
1475
- }, [te] = kt({
1476
- delay: 800
1477
- })(() => {
1478
- b.value = 0, w(), T.value = !1;
1479
- }), C = () => {
1480
- T.value = !0, te();
1481
- }, j = () => {
1482
- "effect" in l ? s("update:panel", !0) : l.value = !0, w();
1483
- }, ae = () => {
1484
- b.value = 0, o.value.data.splice(0), "effect" in l ? s("update:panel", !1) : l.value = !1;
1485
- }, le = Q(() => !Object.values(P.value).some((M) => !!M));
1486
- ue(le, (M, q) => {
1487
- M && !q && w();
1488
- }), $t(() => {
1489
- a.selectOnly && w();
1490
- });
1491
- const ne = (M) => {
1492
- p.value = M, a.selectOnly || s("update:modelValue", M);
1493
- }, se = () => {
1494
- ae(), s("update:modelValue", p.value);
1495
- };
1496
- return (M, q) => {
1497
- const m = oe("clickable");
1498
- return n(), i("div", null, [
1499
- e(l) ? (n(), g(Ye, {
1500
- key: 0,
1501
- to: "main"
1502
- }, [
1503
- L(Be, {
1504
- float: "",
1505
- "close-hint": "",
1506
- title: `${e(R)("action.select", { capitalize: !0 })} ${e(R)(M.propertyName)}`,
1507
- "overlay-layer": 65,
1508
- "model-value": e(l),
1509
- style: { "--panel-max-width": "36rem" },
1510
- onClose: ae,
1511
- onOverlayClick: ae
1512
- }, {
1513
- footer: f(() => [
1514
- L(re, {
1515
- large: "",
1516
- onClick: se
1517
- }, {
1518
- default: f(() => [
1519
- W(k(e(R)("action.save", { capitalize: !0 })), 1)
1520
- ]),
1521
- _: 1
1522
- })
1523
- ]),
1524
- default: f(() => {
1525
- var E, G;
1526
- return [
1527
- V("div", Bo, [
1528
- V("div", wo, [
1529
- e(h).length > 1 ? (n(), g(Qe, {
1530
- key: 0,
1531
- modelValue: S.value,
1532
- "onUpdate:modelValue": q[0] || (q[0] = (O) => S.value = O),
1533
- onChange: q[1] || (q[1] = (O) => P.value = {})
1534
- }, {
1535
- default: f(() => [
1536
- (n(!0), i(N, null, D(e(h), (O) => (n(), i("option", {
1537
- key: `searchfield-${O}`,
1538
- value: O
1539
- }, k(e(R)(O)), 9, So))), 128))
1540
- ]),
1541
- _: 1
1542
- }, 8, ["modelValue"])) : y("", !0),
1543
- V("div", jo, [
1544
- (n(), g(Oe, {
1545
- key: `field-${S.value}`,
1546
- modelValue: P.value[S.value],
1547
- "onUpdate:modelValue": q[2] || (q[2] = (O) => P.value[S.value] = O),
1548
- property: {
1549
- ...e(u).properties[S.value],
1550
- inputType: "search"
1551
- },
1552
- onInput: C
1553
- }, null, 8, ["modelValue", "property"]))
1554
- ])
1555
- ]),
1556
- _.value.length ? (n(), g(mt, {
1557
- key: 0,
1558
- "observe-scroll": "",
1559
- onEndReached: z
1560
- }, {
1561
- default: f(() => [
1562
- (n(!0), i(N, null, D(_.value, (O) => (n(), g(Ke, H({ ref_for: !0 }, {
1563
- item: O,
1564
- indexes: e(h),
1565
- property: M.property
1566
- }, {
1567
- key: `matching-${O._id}`,
1568
- modelValue: p.value,
1569
- "onUpdate:modelValue": q[3] || (q[3] = (A) => p.value = A)
1570
- }), null, 16, ["modelValue"]))), 128))
1571
- ]),
1572
- _: 1
1573
- })) : (n(), i("div", To, [
1574
- T.value ? (n(), i("div", Lo, k(e(R)("searching", { capitalize: !0 })) + "... ", 1)) : !e(u).loading.getAll && Object.values(P.value).filter((O) => !!O).length > 0 && !("items" in M.property && ((E = M.modelValue) != null && E.length) || !Array.isArray(M.modelValue) && ((G = M.modelValue) != null && G._id)) ? (n(), i("div", Ro, k(e(R)("no_results", { capitalize: !0 })), 1)) : y("", !0)
1575
- ]))
1576
- ]),
1577
- V("div", zo, k(e(R)("showing", { capitalize: !0 })) + " " + k(_.value.length) + " " + k(e(R)("of")) + " " + k($.value.recordsTotal), 1)
1578
- ];
1579
- }),
1580
- _: 1
1581
- }, 8, ["title", "model-value"])
1582
- ])) : y("", !0),
1583
- M.selectOnly ? y("", !0) : (n(), i("div", Mo, [
1584
- L(mt, null, ce({
1585
- default: f(() => {
1586
- var E;
1587
- return [
1588
- "items" in M.property ? (n(), i("div", Fo, [
1589
- (n(!0), i(N, null, D(M.modelValue, (G) => (n(), g(Ke, H({ ref_for: !0 }, {
1590
- item: G,
1591
- indexes: e(h),
1592
- property: M.property,
1593
- readOnly: M.readOnly,
1594
- modelValue: M.modelValue
1595
- }, {
1596
- key: `selected-${G._id}`,
1597
- "onUpdate:modelValue": ne
1598
- }), null, 16))), 128))
1599
- ])) : (E = M.modelValue) != null && E._id ? (n(), g(Ke, H({ key: 1 }, {
1600
- item: M.modelValue,
1601
- indexes: e(h),
1602
- property: e(t),
1603
- readOnly: M.readOnly,
1604
- modelValue: M.modelValue
1605
- }, { "onUpdate:modelValue": ne }), null, 16)) : y("", !0)
1606
- ];
1607
- }),
1608
- _: 2
1609
- }, [
1610
- M.readOnly ? void 0 : {
1611
- name: "footer",
1612
- fn: f(() => [
1613
- x((n(), g(Z, {
1614
- icon: "plus",
1615
- onClick: j
1616
- }, {
1617
- default: f(() => [
1618
- W(k(e(R)("action.select", { capitalize: !0 })), 1)
1619
- ]),
1620
- _: 1
1621
- })), [
1622
- [m]
1623
- ])
1624
- ]),
1625
- key: "0"
1626
- }
1627
- ]), 1024)
1628
- ]))
1629
- ]);
1630
- };
1631
- }
1632
- });
1633
- const Uo = /* @__PURE__ */ X(qo, [["__scopeId", "data-v-49af6338"]]), ft = (c, r) => {
1634
- const a = "items" in c ? c.items : c, t = {
1635
- options: Jn,
1636
- select: Qe,
1637
- switch: no,
1638
- file: ko,
1639
- search: Uo,
1640
- input: Oe,
1641
- form: Ge
1642
- }, l = (() => {
1643
- if ("type" in a) {
1644
- if (a.type === "object")
1645
- return "form";
1646
- if (a.type === "boolean")
1647
- return "switch";
1648
- }
1649
- if ("element" in c) {
1650
- if (c.element === "checkbox" || c.element === "radio")
1651
- return "options";
1652
- if (c.element === "select")
1653
- return "select";
1654
- }
1655
- const s = _e(c);
1656
- return s ? s.inline ? "form" : s.$ref === "file" ? "file" : "search" : "items" in c && c.uniqueItems ? "options" : "enum" in a ? "select" : "input";
1657
- })();
1658
- return r[l] ? r[l] : t[l];
1659
- }, Eo = (c, r, a) => {
1660
- c ?? (c = []);
1661
- const t = "items" in r ? r.items : r;
1662
- if ("$ref" in t) {
1663
- const l = ie(t.$ref, a), s = ke(l.$freshItem);
1664
- return c.push(s);
1665
- }
1666
- return "properties" in t ? c.push(Wt(t)) : "type" in t && t.type === "boolean" ? c.push({}) : c.push(null);
1667
- }, Do = (c, r) => {
1668
- c.splice(r, 1);
1669
- }, Ho = {
1670
- key: 0,
1671
- class: "form__header"
1672
- }, Qo = { class: "form__fieldset" }, Go = { key: 0 }, Wo = ["innerHTML"], Ko = ["onInput"], Xo = { key: 4 }, Yo = { value: "true" }, Jo = { value: "false" }, Zo = {
1673
- key: 5,
1674
- style: { display: "grid", "row-gap": ".4rem" }
1675
- }, Po = { class: "form__array" }, No = { style: { "flex-grow": "1" } }, xo = {
1676
- key: 7,
1677
- class: "form__validation-error"
1678
- }, ea = { key: 0 }, ta = { key: 1 }, na = {
1679
- key: 2,
1680
- class: "form__footer"
1681
- }, oa = /* @__PURE__ */ U({
1682
- __name: "aeria-form",
1683
- props: {
1684
- modelValue: {},
1685
- property: {},
1686
- propertyName: {},
1687
- parentPropertyName: {},
1688
- parentCollection: {},
1689
- readOnly: { type: Boolean },
1690
- form: {},
1691
- collection: {},
1692
- searchOnly: { type: Boolean },
1693
- layout: {},
1694
- formLayout: {},
1695
- required: {},
1696
- formComponents: {},
1697
- propertyComponents: {},
1698
- omitFormHeader: { type: Boolean },
1699
- omitInputLabels: { type: Boolean },
1700
- innerInputLabel: { type: Boolean },
1701
- validationErrors: { default: null },
1702
- highlightRequired: { type: Boolean, default: !0 },
1703
- focus: { type: Boolean }
1704
- },
1705
- emits: ["update:modelValue", "input", "change"],
1706
- setup(c, { emit: r }) {
1707
- var q;
1708
- const a = Ze(), t = c, l = r;
1709
- bt(() => {
1710
- t.modelValue || l("update:modelValue", t.property && "items" in t.property ? [] : {});
1711
- });
1712
- const s = t.property && _e(t.property), u = s ? s.$ref : t.collection || Me(), v = t.readOnly || ((q = t.property) == null ? void 0 : q.readOnly), d = u ? ie(e(u)) : null;
1713
- !u && process.env.NODE_ENV !== "production" && console.warn(`aeria-form was used without providing storeId or specifying
1714
- collection prop, some features may not work as intended`);
1715
- const h = J(!1), p = Q(() => !t.form && t.property ? "properties" in t.property ? t.property.properties : d == null ? void 0 : d.properties : t.form), o = Q(() => t.layout || (d == null ? void 0 : d.description.formLayout)), _ = (m) => {
1716
- const E = ve(m, t[m]);
1717
- return t[m] && ye(m, t[m]), E;
1718
- }, $ = Q(() => t.validationErrors !== null ? t.validationErrors : d == null ? void 0 : d.validationErrors), b = _("formComponents") || {}, S = _("propertyComponents") || {}, T = _("omitFormHeader"), P = _("omitInputLabels"), B = _("innerInputLabel");
1719
- u && ye(He, u), ye("searchOnly", t.searchOnly);
1720
- const z = (m) => p.value ? Object.entries(p.value).filter(([E, G]) => !G.noForm && m([
1721
- E,
1722
- G
1723
- ])) : null, Y = (m) => {
1724
- var G;
1725
- if (t.searchOnly || !u)
1726
- return !0;
1727
- const E = t.property && "properties" in t.property ? t.property.form : (G = d == null ? void 0 : d.description) == null ? void 0 : G.form;
1728
- return !E || E.includes(m);
1729
- }, w = z(([m]) => Y(m)), te = ze(), C = {}, j = (m, E) => {
1730
- var F, me, we, Se;
1731
- const G = [], O = ((me = (F = o.value) == null ? void 0 : F.fields) == null ? void 0 : me[m]) || ((Se = (we = o.value) == null ? void 0 : we.fields) == null ? void 0 : Se.$default);
1732
- if (!E)
1733
- return;
1734
- if (O != null && O.if && !t.searchOnly) {
1735
- const je = Xe(
1736
- t.modelValue,
1737
- O.if
1738
- );
1739
- je.satisfied || (C[m] && (d ? t.modelValue[m] = typeof d.$freshItem[m] == "object" ? ke(d.$freshItem[m]) : d.$freshItem[m] : t.modelValue[m] = [
1740
- void 0,
1741
- null
1742
- ].includes(t.modelValue[m]) ? null : t.modelValue[m].constructor()), G.push("display: none;")), C[m] = je.satisfied;
1743
- }
1744
- const A = te.value.md && (O == null ? void 0 : O.span) || 6;
1745
- return G.push(`
1746
- --field-span: ${A};
1747
- grid-column: span var(--field-span) / span var(--field-span);
1748
- `), O && (O.verticalSpacing && G.push(`
1749
- --vertical-spacing: ${O.verticalSpacing};
1750
- padding: var(--vertical-spacing) 0;
1751
- `), O.separator && G.push(`
1752
- border-top: 1px solid var(--theme-border-color);
1753
- border-width: 1px 0 1px 0;
1754
- padding: 1rem 0;
1755
- margin: 1rem 0;
1756
- `)), G.join("");
1757
- }, ae = (m) => m === null || m instanceof Object && !Object.keys(m).length, le = Q(() => t.required ? t.required : t.property && "required" in t.property ? t.property.required : d == null ? void 0 : d.description.required), ne = Q(() => t.form ? qt(
1758
- t.modelValue,
1759
- t.form,
1760
- le.value,
1761
- d == null ? void 0 : d.description
1762
- ) : !0), se = (m, E) => {
1763
- var G;
1764
- return (G = $.value) != null && G[m] && (typeof $.value[m].index != "number" || $.value[m].index === E) ? $.value[m].errors : null;
1765
- }, M = () => {
1766
- if (!v && !h.value)
1767
- return h.value = !0, !0;
1768
- };
1769
- return (m, E) => {
1770
- const G = oe("clickable"), O = oe("focus");
1771
- return n(), i("form", {
1772
- class: "form",
1773
- style: $e(`row-gap: ${e(T) ? ".8rem" : "var(--form-internal-gap, 1.6rem);"};`)
1774
- }, [
1775
- m.$slots.header && !e(T) ? (n(), i("header", Ho, [
1776
- I(m.$slots, "header", {}, void 0, !0)
1777
- ])) : y("", !0),
1778
- I(m.$slots, "default", {}, void 0, !0),
1779
- V("fieldset", Qo, [
1780
- (n(!0), i(N, null, D(e(w), ([A, F]) => {
1781
- var me, we, Se, je, Pe, Ne, xe, et, tt, nt, ot, at, lt;
1782
- return n(), i("div", {
1783
- key: `field-${A}`,
1784
- style: $e(j(A, F)),
1785
- class: "form__field"
1786
- }, [
1787
- (!("type" in F) || F.type !== "boolean" || m.searchOnly) && !F.noLabel && !e(P) && !e(B) ? (n(), i("label", Go, [
1788
- V("div", {
1789
- class: K({
1790
- "form__field-label": !0,
1791
- "form__field-label--section": "items" in F ? "properties" in F.items : "properties" in F,
1792
- "form__field-required-hint": m.highlightRequired && !e(v) && !m.searchOnly && (!le.value || e(Kt)(A, le.value, m.modelValue))
1793
- })
1794
- }, k(F.description || e(R)(A)), 3),
1795
- F.hint ? (n(), i("div", {
1796
- key: 0,
1797
- innerHTML: F.hint
1798
- }, null, 8, Wo)) : y("", !0)
1799
- ])) : y("", !0),
1800
- m.$slots[`field-${A}`] ? I(m.$slots, `field-${A}`, H({
1801
- key: 1,
1802
- ref_for: !0
1803
- }, {
1804
- propery: F,
1805
- properyName: A,
1806
- modelValue: m.modelValue
1807
- }), void 0, !0) : (Se = (we = (me = m.layout) == null ? void 0 : me.fields) == null ? void 0 : we[A]) != null && Se.component && e(S)[m.layout.fields[A].component.name] ? (n(), g(he(e(S)[m.layout.fields[A].component.name]), H({
1808
- key: 2,
1809
- modelValue: m.modelValue[A],
1810
- "onUpdate:modelValue": (ee) => m.modelValue[A] = ee,
1811
- ref_for: !0
1812
- }, {
1813
- readOnly: e(v),
1814
- property: F,
1815
- propertyName: A,
1816
- ...m.layout.fields[A].component.props || {}
1817
- }, {
1818
- onInput: (ee) => l("input", A),
1819
- onChange: E[0] || (E[0] = (ee) => l("change", ee))
1820
- }), null, 16, ["modelValue", "onUpdate:modelValue", "onInput"])) : "format" in F && ["date", "date-time"].includes(F.format) && m.searchOnly ? (n(), i("div", {
1821
- key: 3,
1822
- style: { display: "grid", "grid-template-columns": "repeat(2, 1fr)", "column-gap": "1rem" },
1823
- onInput: (ee) => l("input", A),
1824
- onChange: E[1] || (E[1] = (ee) => l("change", ee))
1825
- }, [
1826
- L(Oe, H({
1827
- modelValue: m.modelValue[A].$gte,
1828
- "onUpdate:modelValue": (ee) => m.modelValue[A].$gte = ee,
1829
- ref_for: !0
1830
- }, {
1831
- property: F,
1832
- propertyName: A
1833
- }), null, 16, ["modelValue", "onUpdate:modelValue"]),
1834
- L(Oe, H({
1835
- modelValue: m.modelValue[A].$lte,
1836
- "onUpdate:modelValue": (ee) => m.modelValue[A].$lte = ee,
1837
- ref_for: !0
1838
- }, {
1839
- property: F,
1840
- propertyName: A
1841
- }), null, 16, ["modelValue", "onUpdate:modelValue"])
1842
- ], 40, Ko)) : "type" in F && F.type === "boolean" && m.searchOnly ? (n(), i("div", Xo, [
1843
- L(Qe, H({ ref_for: !0 }, {
1844
- property: F,
1845
- propertyName: A
1846
- }, {
1847
- "boolean-ref": "",
1848
- "model-value": m.modelValue[A],
1849
- onChange: E[2] || (E[2] = (ee) => l("change", ee)),
1850
- "onUpdate:modelValue": (ee) => {
1851
- m.modelValue[A] = ee == "true" ? !0 : ee == "false" ? !1 : null;
1852
- }
1853
- }), {
1854
- default: f(() => [
1855
- V("option", Yo, k(e(R)("yes")), 1),
1856
- V("option", Jo, k(e(R)("no")), 1)
1857
- ]),
1858
- _: 2
1859
- }, 1040, ["model-value", "onUpdate:modelValue"])
1860
- ])) : m.modelValue && "items" in F && !F.uniqueItems && (!("$ref" in F.items) || F.items.inline || F.items.$ref === "file") ? (n(), i("div", Zo, [
1861
- V("div", null, [
1862
- L(re, {
1863
- small: "",
1864
- variant: "alt",
1865
- icon: "plus",
1866
- disabled: !("inline" in F.items && F.items.inline) && (((je = m.modelValue[A]) == null ? void 0 : je.length) >= F.maxItems || ae((Ne = m.modelValue[A]) == null ? void 0 : Ne[((Pe = m.modelValue[A]) == null ? void 0 : Pe.length) - 1])),
1867
- onClick: qe((ee) => {
1868
- m.modelValue[A] || (m.modelValue[A] = []), e(Eo)(m.modelValue[A], F, e(a));
1869
- }, ["prevent"])
1870
- }, {
1871
- default: f(() => [
1872
- W(k(e(R)("action.add", { capitalize: !0 })), 1)
1873
- ]),
1874
- _: 2
1875
- }, 1032, ["disabled", "onClick"])
1876
- ]),
1877
- V("div", Po, [
1878
- (n(!0), i(N, null, D(m.modelValue[A], (ee, Te) => {
1879
- var st, it, rt, ut, ct, dt;
1880
- return n(), i("div", {
1881
- key: `rep-${A}-${e(Ut)(ee, Te)}`,
1882
- class: "form__array-item"
1883
- }, [
1884
- V("div", No, [
1885
- (n(), g(he(e(ft)(F, e(b))), H({
1886
- modelValue: m.modelValue[A][Te],
1887
- "onUpdate:modelValue": (Le) => m.modelValue[A][Te] = Le,
1888
- ref_for: !0
1889
- }, {
1890
- readOnly: e(v),
1891
- property: F.items,
1892
- propertyName: A,
1893
- parentCollection: e(u),
1894
- parentPropertyName: m.parentPropertyName,
1895
- columns: ((rt = (it = (st = m.layout) == null ? void 0 : st.fields) == null ? void 0 : it[A]) == null ? void 0 : rt.optionsColumns) || ((dt = (ct = (ut = m.layout) == null ? void 0 : ut.fields) == null ? void 0 : ct.$default) == null ? void 0 : dt.optionsColumns),
1896
- validationErrors: se(A, Te),
1897
- ...F.componentProps || {}
1898
- }, {
1899
- onInput: (Le) => l("input", A),
1900
- onChange: E[3] || (E[3] = (Le) => l("change", Le))
1901
- }), null, 16, ["modelValue", "onUpdate:modelValue", "onInput"]))
1902
- ]),
1903
- x(L(Z, {
1904
- reactive: "",
1905
- icon: "trash",
1906
- onClick: (Le) => e(Do)(m.modelValue[A], Te)
1907
- }, null, 8, ["onClick"]), [
1908
- [G]
1909
- ])
1910
- ]);
1911
- }), 128))
1912
- ])
1913
- ])) : m.modelValue ? x((n(), g(he(e(ft)(F, e(b))), H({
1914
- key: 6,
1915
- modelValue: m.modelValue[A],
1916
- "onUpdate:modelValue": (ee) => m.modelValue[A] = ee,
1917
- ref_for: !0
1918
- }, {
1919
- readOnly: e(v),
1920
- property: F,
1921
- propertyName: A,
1922
- parentPropertyName: m.parentPropertyName,
1923
- parentCollection: e(u),
1924
- columns: ((tt = (et = (xe = m.layout) == null ? void 0 : xe.fields) == null ? void 0 : et[A]) == null ? void 0 : tt.optionsColumns) || ((at = (ot = (nt = m.layout) == null ? void 0 : nt.fields) == null ? void 0 : ot.$default) == null ? void 0 : at.optionsColumns),
1925
- ...F.componentProps || {},
1926
- validationErrors: se(A)
1927
- }, {
1928
- onInput: (ee) => l("input", A),
1929
- onChange: E[4] || (E[4] = (ee) => l("change", ee))
1930
- }), null, 16, ["modelValue", "onUpdate:modelValue", "onInput"])), [
1931
- [O, M()]
1932
- ]) : y("", !0),
1933
- (lt = $.value) != null && lt[A] ? (n(), i("div", xo, [
1934
- $.value[A].type ? (n(), i("span", ea, k(e(R)(`validation_error.${$.value[A].type}`)), 1)) : y("", !0),
1935
- $.value[A].detail ? (n(), i("span", ta, k(e(R)($.value[A].detail)), 1)) : y("", !0)
1936
- ])) : y("", !0)
1937
- ], 4);
1938
- }), 128))
1939
- ]),
1940
- m.$slots.after ? I(m.$slots, "after", { key: 1 }, void 0, !0) : y("", !0),
1941
- m.$slots.footer ? (n(), i("div", na, [
1942
- I(m.$slots, "footer", pe(Ve({
1943
- isInsertReady: ne.value
1944
- })), void 0, !0)
1945
- ])) : y("", !0)
1946
- ], 4);
1947
- };
1948
- }
1949
- });
1950
- const Ge = /* @__PURE__ */ X(oa, [["__scopeId", "data-v-fb16d65c"]]), aa = /* @__PURE__ */ U({
1951
- __name: "aeria-filter-panel",
1952
- emits: ["update:modelValue"],
1953
- setup(c, { emit: r }) {
1954
- const a = r, t = Ie(), l = Ae(), s = () => {
1955
- t.pagination.offset = 0, t.$actions.filter(), a("update:modelValue", !1), l.push({
1956
- query: Et(t)
1957
- });
1958
- };
1959
- return (u, v) => (n(), g(Be, {
1960
- "close-hint": "",
1961
- "fixed-right": "",
1962
- title: u.t("filter_by", { capitalize: !0 }),
1963
- onClose: v[2] || (v[2] = (d) => a("update:modelValue", !1)),
1964
- onOverlayClick: v[3] || (v[3] = (d) => a("update:modelValue", !1))
1965
- }, {
1966
- footer: f(() => [
1967
- e(t).filtersCount > 0 ? (n(), g(re, {
1968
- key: 0,
1969
- variant: "transparent",
1970
- onClick: v[1] || (v[1] = (d) => {
1971
- e(t).$actions.clearFilters(), s(), a("update:modelValue", !1);
1972
- })
1973
- }, {
1974
- default: f(() => [
1975
- W(k(u.t("action.clear", { capitalize: !0 })) + " ", 1),
1976
- L(be, null, {
1977
- default: f(() => [
1978
- W(k(e(t).filtersCount), 1)
1979
- ]),
1980
- _: 1
1981
- })
1982
- ]),
1983
- _: 1
1984
- })) : y("", !0),
1985
- L(re, {
1986
- large: "",
1987
- icon: "funnel",
1988
- disabled: !e(t).hasActiveFilters,
1989
- onClick: s
1990
- }, {
1991
- default: f(() => [
1992
- W(k(u.t("action.filter", { capitalize: !0 })), 1)
1993
- ]),
1994
- _: 1
1995
- }, 8, ["disabled"])
1996
- ]),
1997
- default: f(() => [
1998
- L(Ge, H({
1999
- modelValue: e(t).filters,
2000
- "onUpdate:modelValue": v[0] || (v[0] = (d) => e(t).filters = d)
2001
- }, {
2002
- searchOnly: !0,
2003
- form: e(t).availableFilters,
2004
- layout: e(t).description.formLayout || {}
2005
- }, { focus: "" }), null, 16, ["modelValue"])
2006
- ]),
2007
- _: 1
2008
- }, 8, ["title"]));
2009
- }
2010
- }), la = /* @__PURE__ */ U({
2011
- __name: "aeria-insert-panel",
2012
- props: {
2013
- collection: {},
2014
- modelValue: { type: [Boolean, String] },
2015
- readOnly: { type: Boolean }
2016
- },
2017
- emits: ["update:modelValue", "cancel"],
2018
- setup(c, { emit: r }) {
2019
- const a = c, t = r, l = ie("meta"), s = ie(a.collection || l.view.collection), u = ve("individualActions", []), v = async () => {
2020
- const { error: p } = await s.$actions.deepInsert();
2021
- p || t("update:modelValue", !1);
2022
- }, { t: d } = Rt(), h = () => {
2023
- l.$actions.ask({
2024
- action: () => {
2025
- s.$actions.clearItem(), s.validationErrors = {}, t("cancel");
2026
- },
2027
- body: d("prompt.close_panel")
2028
- });
2029
- };
2030
- return ue(() => s.item._id, (p) => {
2031
- p === null && t("update:modelValue", !1);
2032
- }), (p, o) => {
2033
- const _ = oe("clickable");
2034
- return n(), g(Be, {
2035
- loading: e(s).loading.get,
2036
- onOverlayClick: h
2037
- }, ce({
2038
- extra: f(() => [
2039
- L(Ce, H({
2040
- subject: e(s).item,
2041
- actions: e(u).filter(({ action: $ }) => $ !== "ui:spawnEdit")
2042
- }, {
2043
- onActionClick: o[2] || (o[2] = ($) => t("update:modelValue", !1))
2044
- }), {
2045
- default: f(() => [
2046
- e(s).item._id ? x((n(), g(Z, {
2047
- key: 0,
2048
- reactive: "",
2049
- icon: "dots-three"
2050
- }, null, 512)), [
2051
- [_]
2052
- ]) : y("", !0)
2053
- ]),
2054
- _: 1
2055
- }, 16)
2056
- ]),
2057
- default: f(() => [
2058
- L(Ge, H({
2059
- modelValue: e(s).item,
2060
- "onUpdate:modelValue": o[0] || (o[0] = ($) => e(s).item = $)
2061
- }, {
2062
- readOnly: p.readOnly,
2063
- collection: e(l).view.collection,
2064
- form: e(s).description.form ? e(s).$actions.useProperties(e(s).description.form) : e(s).properties,
2065
- layout: e(s).description.formLayout || {}
2066
- }, {
2067
- focus: "",
2068
- onAdd: o[1] || (o[1] = ($) => $.preventDefault())
2069
- }), ce({ _: 2 }, [
2070
- D(Object.keys(p.$slots).filter(($) => $.startsWith("field-")), ($) => ({
2071
- name: $,
2072
- fn: f((b) => [
2073
- I(p.$slots, $, pe(Ve(b)))
2074
- ])
2075
- }))
2076
- ]), 1040, ["modelValue"])
2077
- ]),
2078
- _: 2
2079
- }, [
2080
- p.$slots.header ? {
2081
- name: "header",
2082
- fn: f(() => [
2083
- I(p.$slots, "header")
2084
- ]),
2085
- key: "0"
2086
- } : void 0,
2087
- p.readOnly ? void 0 : {
2088
- name: "footer",
2089
- fn: f(() => [
2090
- L(re, {
2091
- variant: "transparent",
2092
- onClick: h
2093
- }, {
2094
- default: f(() => [
2095
- W(k(e(d)("action.cancel", { capitalize: !0 })), 1)
2096
- ]),
2097
- _: 1
2098
- }),
2099
- L(re, {
2100
- large: "",
2101
- disabled: !e(s).isInsertReady || e(s).loading.get,
2102
- loading: e(s).loading.insert,
2103
- onClick: v
2104
- }, {
2105
- default: f(() => [
2106
- W(k(e(d)("action.insert", { capitalize: !0 })), 1)
2107
- ]),
2108
- _: 1
2109
- }, 8, ["disabled", "loading"])
2110
- ]),
2111
- key: "1"
2112
- }
2113
- ]), 1032, ["loading"]);
2114
- };
2115
- }
2116
- }), Ot = (c, r) => {
2117
- if (r) {
2118
- if (!c) {
2119
- r.filtersPreset = {}, r.preferredTableProperties = [], r.pagination.offset = 0;
2120
- return;
2121
- }
2122
- r.filtersPreset = c.filters || {}, r.preferredTableProperties = c.table ? Array.from(c.table) : [], r.pagination.offset = 0;
2123
- }
2124
- }, sa = (c, r = {
2125
- persistInQuery: !0
2126
- }) => {
2127
- const t = Ae().currentRoute;
2128
- return ue(() => t.value.query.section, (l) => {
2129
- if (c) {
2130
- if (c.description.filtersPresets) {
2131
- const s = l || Object.keys(c.description.filtersPresets)[0];
2132
- Ot(c.description.filtersPresets[s], c);
2133
- }
2134
- if (r.persistInQuery) {
2135
- const s = t.value.query;
2136
- s.offset && (c.pagination.offset = +s.offset), s.limit && (c.pagination.limit = +s.limit), s.search && (c.textQuery = s.search, c.filters.$text = {
2137
- $search: `"${s.search}"`,
2138
- $caseSensitive: !1
2139
- });
2140
- }
2141
- }
2142
- }, {
2143
- immediate: !0
2144
- });
2145
- }, ia = (c) => (Ee("data-v-2a6c7067"), c = c(), De(), c), ra = {
2146
- key: 0,
2147
- class: "table aeria-surface"
2148
- }, ua = { key: 0 }, ca = { key: 1 }, da = { key: 0 }, pa = ["checked"], _a = {
2149
- key: 1,
2150
- style: { "text-align": "right" }
2151
- }, ma = { key: 2 }, fa = { key: 3 }, va = ["onClick"], ya = { key: 0 }, ha = ["value"], $a = { class: "table__cell-mobile-label" }, ba = {
2152
- key: 0,
2153
- class: "table__cell-container"
2154
- }, ga = {
2155
- key: 1,
2156
- class: "table__cell-container"
2157
- }, ka = { class: "table__cell-grid" }, Va = { key: 0 }, Ca = { key: 1 }, Oa = { key: 0 }, Ia = ["href"], Aa = { key: 3 }, Ba = { key: 1 }, wa = { key: 2 }, Sa = { key: 0 }, ja = { key: 1 }, Ta = { key: 2 }, La = {
2158
- key: 1,
2159
- class: "no-print"
2160
- }, Ra = { class: "table__cell-actions" }, za = {
2161
- key: 2,
2162
- class: "no-print table__mobile-actions"
2163
- }, Ma = ["id"], Fa = { key: 1 }, qa = /* @__PURE__ */ ia(() => /* @__PURE__ */ V("td", { colspan: 10 }, [
2164
- /* @__PURE__ */ V("div", { class: "table__empty" }, " Não foram encontrados resultados. ")
2165
- ], -1)), Ua = [
2166
- qa
2167
- ], Ea = /* @__PURE__ */ U({
2168
- __name: "aeria-table",
2169
- props: {
2170
- columns: {},
2171
- rows: {},
2172
- collection: {},
2173
- checkbox: { type: Boolean },
2174
- actions: {},
2175
- layout: {}
2176
- },
2177
- emits: ["itemClick"],
2178
- setup(c, { emit: r }) {
2179
- const a = c, t = r, l = ze(), s = a.collection || Me(), u = s ? ie(typeof s == "string" ? s : s.value) : null, v = Q({
2180
- get: () => u == null ? void 0 : u.selected,
2181
- set: (_) => u == null ? void 0 : u.$actions.selectManyItems(_, !0)
2182
- }), d = (_, $) => _ != null && _.button ? typeof _.button == "object" ? Xe($, _.button).satisfied : _.button : !1, h = (_) => {
2183
- var $;
2184
- return !l.value.xl || !(($ = a.layout) != null && $.actions) || !a.actions ? [] : a.actions.filter((b) => {
2185
- const S = a.layout.actions[b.action];
2186
- return d(S, _);
2187
- });
2188
- }, p = (_) => {
2189
- var $;
2190
- return a.actions ? !l.value.xl || !(($ = a.layout) != null && $.actions) ? a.actions : a.actions.filter((b) => {
2191
- const S = a.layout.actions[b.action];
2192
- if (b.roles) {
2193
- const T = ie("user");
2194
- if (!Vt(b.roles, T.currentUser.roles))
2195
- return !1;
2196
- }
2197
- return !d(S, _);
2198
- }) : [];
2199
- }, o = (_, $) => {
2200
- var T, P;
2201
- const b = [], S = (P = (T = a.layout) == null ? void 0 : T.actions) == null ? void 0 : P[$.action];
2202
- return S != null && S.if && (Xe(
2203
- _,
2204
- S.if
2205
- ).satisfied || b.push("display: none;")), b.join("");
2206
- };
2207
- return (_, $) => {
2208
- var S, T, P;
2209
- const b = oe("clickable");
2210
- return _.columns && Object.keys(_.columns).length > 0 || _.$slots.thead ? (n(), i("table", ra, [
2211
- _.$slots.thead ? (n(), i("thead", ua, [
2212
- I(_.$slots, "thead", {}, void 0, !0)
2213
- ])) : (n(), i("thead", ca, [
2214
- V("tr", null, [
2215
- _.checkbox && e(u) && e(l).md ? (n(), i("th", da, [
2216
- V("input", {
2217
- type: "checkbox",
2218
- checked: e(u).selected.length > 0 && e(u).selected.length === e(u).itemsCount,
2219
- onChange: $[0] || ($[0] = (B) => e(u).$actions.selectAllItems(B.target.checked))
2220
- }, null, 40, pa)
2221
- ])) : y("", !0),
2222
- (n(!0), i(N, null, D(Object.entries(_.columns), ([B, z], Y) => (n(), i("th", {
2223
- key: `header-${Y}`,
2224
- class: "table__header"
2225
- }, k(z.description || e(R)(B)), 1))), 128)),
2226
- (S = _.actions) != null && S.length ? (n(), i("th", _a)) : y("", !0)
2227
- ])
2228
- ])),
2229
- _.$slots.tbody ? (n(), i("tbody", ma, [
2230
- I(_.$slots, "tbody", {}, void 0, !0)
2231
- ])) : (n(), i("tbody", fa, [
2232
- (n(!0), i(N, null, D(_.rows, (B) => {
2233
- var z, Y;
2234
- return n(), i("tr", {
2235
- key: B._id,
2236
- onClick: (w) => t("itemClick", B)
2237
- }, [
2238
- e(u) && _.checkbox && e(l).md ? (n(), i("td", ya, [
2239
- x(V("input", {
2240
- "onUpdate:modelValue": $[1] || ($[1] = (w) => v.value = w),
2241
- type: "checkbox",
2242
- value: B._id
2243
- }, null, 8, ha), [
2244
- [Bt, v.value]
2245
- ])
2246
- ])) : y("", !0),
2247
- (n(!0), i(N, null, D(Object.entries(_.columns), ([w, te], C) => {
2248
- var j, ae, le;
2249
- return n(), i("td", {
2250
- key: `column-${B._id}-${C}`
2251
- }, [
2252
- V("div", $a, k(te.description || e(R)(w)), 1),
2253
- `row-${w}` in _.$slots ? (n(), i("div", ba, [
2254
- I(_.$slots, `row-${w}`, H({ ref_for: !0 }, {
2255
- store: e(u),
2256
- column: w,
2257
- property: te,
2258
- row: B
2259
- }), void 0, !0)
2260
- ])) : (n(), i("div", ga, [
2261
- V("div", ka, [
2262
- "type" in te && te.type === "boolean" ? (n(), i("div", Va, [
2263
- B[w] ? (n(), g(Z, {
2264
- key: 0,
2265
- icon: "check",
2266
- "icon-classes": "aeria-blueish"
2267
- }, {
2268
- default: f(() => [
2269
- W(k(e(R)("yes")), 1)
2270
- ]),
2271
- _: 1
2272
- })) : (n(), g(Z, {
2273
- key: 1,
2274
- icon: "x",
2275
- "icon-classes": "aeria-redish"
2276
- }, {
2277
- default: f(() => [
2278
- W(k(e(R)("no")), 1)
2279
- ]),
2280
- _: 1
2281
- }))
2282
- ])) : ((j = e(_e)(te)) == null ? void 0 : j.$ref) === "file" ? (n(), i("div", Ca, [
2283
- B[w] ? (n(), i("div", Oa, [
2284
- "items" in te && B[w][0] && /^image/.test(B[w][0].type) ? (n(), g(Ue, {
2285
- key: 0,
2286
- modelValue: B[w][0].link,
2287
- "onUpdate:modelValue": (ne) => B[w][0].link = ne,
2288
- expandable: "",
2289
- meta: B[w][0],
2290
- alt: "Row image",
2291
- class: "table__picture"
2292
- }, null, 8, ["modelValue", "onUpdate:modelValue", "meta"])) : /^image/.test(B[w].type) ? (n(), g(Ue, {
2293
- key: 1,
2294
- modelValue: B[w].link,
2295
- "onUpdate:modelValue": (ne) => B[w].link = ne,
2296
- expandable: "",
2297
- meta: B[w],
2298
- alt: "Row image",
2299
- class: "table__picture"
2300
- }, null, 8, ["modelValue", "onUpdate:modelValue", "meta"])) : B[w].link ? (n(), i("a", {
2301
- key: 2,
2302
- href: B[w].link,
2303
- style: { "font-size": "10pt" }
2304
- }, k(B[w].filename), 9, Ia)) : (n(), i("div", Aa, " - "))
2305
- ])) : (n(), i("div", Ba, " - "))
2306
- ])) : (n(), i("div", wa, [
2307
- e(u) ? (n(), i("span", Sa, k(e(u).$actions.formatValue({
2308
- value: B[w],
2309
- key: w,
2310
- property: te
2311
- })), 1)) : (n(), i("span", ja, k(Array.isArray(B[w]) ? B[w].filter((ne) => !!ne).join(", ") : [void 0, null].includes(B[w]) ? "-" : B[w]), 1)),
2312
- ((le = (ae = e(_e)(te)) == null ? void 0 : ae.indexes) == null ? void 0 : le.length) > 1 ? (n(), i("div", Ta, [
2313
- (n(!0), i(N, null, D(e(_e)(te).indexes.slice(1, 2), (ne, se) => (n(), i("div", {
2314
- key: `subvalue-${se}`,
2315
- class: "table__cell-subvalue"
2316
- }, k(e(u).$actions.formatValue({
2317
- value: B[w],
2318
- key: w,
2319
- property: te,
2320
- index: ne
2321
- })), 1))), 128))
2322
- ])) : y("", !0)
2323
- ]))
2324
- ])
2325
- ]))
2326
- ]);
2327
- }), 128)),
2328
- (z = _.actions) != null && z.length && e(l).md ? (n(), i("td", La, [
2329
- V("div", Ra, [
2330
- (n(!0), i(N, null, D(h(B), (w) => (n(), g(re, {
2331
- key: `action-${w.action}`,
2332
- small: "",
2333
- variant: "transparent",
2334
- icon: w.icon,
2335
- style: $e(o(B, w)),
2336
- onClick: (te) => w.click(B)
2337
- }, {
2338
- default: f(() => [
2339
- W(k(e(R)(w.label)), 1)
2340
- ]),
2341
- _: 2
2342
- }, 1032, ["icon", "style", "onClick"]))), 128)),
2343
- p(B).length > 0 ? (n(), g(Ce, H({
2344
- key: 0,
2345
- ref_for: !0
2346
- }, {
2347
- subject: B,
2348
- actions: p(B)
2349
- }), {
2350
- default: f(() => [
2351
- x(L(Z, {
2352
- reactive: "",
2353
- icon: "dots-three"
2354
- }, null, 512), [
2355
- [b]
2356
- ])
2357
- ]),
2358
- _: 2
2359
- }, 1040)) : y("", !0)
2360
- ])
2361
- ])) : (Y = _.actions) != null && Y.length ? (n(), i("td", za, [
2362
- V("div", {
2363
- class: "table__mobile-actions-grid",
2364
- style: $e(`grid-template-columns: repeat(${h(B).length + (p(B).length ? 1 : 0)}, 1fr);`)
2365
- }, [
2366
- (n(!0), i(N, null, D(h(B), (w) => (n(), g(fe, {
2367
- key: `action-${w.action}`,
2368
- class: "table__mobile-actions-button",
2369
- onClick: (te) => w.click(B)
2370
- }, {
2371
- default: f(() => [
2372
- L(Z, {
2373
- icon: w.icon || "gear"
2374
- }, {
2375
- default: f(() => [
2376
- W(k(e(R)(w.label)), 1)
2377
- ]),
2378
- _: 2
2379
- }, 1032, ["icon"])
2380
- ]),
2381
- _: 2
2382
- }, 1032, ["onClick"]))), 128)),
2383
- p(B).length > 0 ? (n(), g(Ce, H({
2384
- key: 0,
2385
- ref_for: !0
2386
- }, {
2387
- subject: B,
2388
- actions: p(B)
2389
- }), {
2390
- default: f(() => [
2391
- L(Z, {
2392
- icon: "dots-three",
2393
- class: "table__mobile-actions-button"
2394
- })
2395
- ]),
2396
- _: 2
2397
- }, 1040)) : y("", !0)
2398
- ], 4)
2399
- ])) : y("", !0),
2400
- V("div", {
2401
- id: `dropdown-${B._id}`
2402
- }, null, 8, Ma)
2403
- ], 8, va);
2404
- }), 128))
2405
- ])),
2406
- V("tfoot", null, [
2407
- _.$slots.tfoot ? I(_.$slots, "tfoot", { key: 0 }, void 0, !0) : _.columns && !((T = _.rows) != null && T.length) && !((P = e(u)) != null && P.loading.getAll) ? (n(), i("tr", Fa, Ua)) : y("", !0)
2408
- ])
2409
- ])) : y("", !0);
2410
- };
2411
- }
2412
- });
2413
- const Da = /* @__PURE__ */ X(Ea, [["__scopeId", "data-v-2a6c7067"]]), Ha = /* @__PURE__ */ U({
2414
- __name: "aeria-tabular",
2415
- props: {
2416
- individualActions: {},
2417
- layoutOptions: {},
2418
- componentProps: {}
2419
- },
2420
- setup(c) {
2421
- const r = c, a = Ie(), t = Me(), l = Q(() => {
2422
- const s = {
2423
- collection: t,
2424
- checkbox: a.hasSelectionActions,
2425
- columns: a.tableProperties,
2426
- rows: a.items,
2427
- actions: r.individualActions,
2428
- layout: a.tableLayout
2429
- };
2430
- return Object.assign(s, r.componentProps);
2431
- });
2432
- return (s, u) => (n(), i("div", null, [
2433
- s.$slots.inner ? I(s.$slots, "inner", { key: 0 }) : y("", !0),
2434
- e(a).properties ? (n(), g(Da, H({ key: 1 }, l.value, {
2435
- key: e(a).$id
2436
- }), ce({ _: 2 }, [
2437
- D(Object.keys(s.$slots).filter((v) => !["inner"].includes(v)), (v) => ({
2438
- name: v,
2439
- fn: f((d) => [
2440
- I(s.$slots, v, pe(Ve(d)))
2441
- ])
2442
- }))
2443
- ]), 1040)) : y("", !0)
2444
- ]));
2445
- }
2446
- }), Qa = /* @__PURE__ */ U({
2447
- __name: "aeria-grid",
2448
- props: {
2449
- list: { type: Boolean }
2450
- },
2451
- setup(c) {
2452
- return (r, a) => (n(), i("div", {
2453
- class: K(`
2454
- grid
2455
- ${r.list && "grid--list"}
2456
- `)
2457
- }, [
2458
- I(r.$slots, "default", {}, void 0, !0)
2459
- ], 2));
2460
- }
2461
- });
2462
- const Ga = /* @__PURE__ */ X(Qa, [["__scopeId", "data-v-438c4aed"]]), Wa = { key: 0 }, Ka = {
2463
- key: 1,
2464
- class: "card__information"
2465
- }, Xa = /* @__PURE__ */ U({
2466
- __name: "aeria-grid",
2467
- props: {
2468
- individualActions: {},
2469
- hasSelectionActions: { type: Boolean },
2470
- layoutOptions: {},
2471
- componentName: {}
2472
- },
2473
- setup(c) {
2474
- const a = c.layoutOptions, t = Ie(), l = (s) => Array.isArray(s) ? s[0] : s;
2475
- return (s, u) => {
2476
- const v = oe("clickable");
2477
- return n(), g(Ga, {
2478
- list: s.componentName === "list"
2479
- }, {
2480
- default: f(() => [
2481
- (n(!0), i(N, null, D(e(t).items, (d) => (n(), g(fn, {
2482
- key: d,
2483
- inactive: !!(e(a).active && !d[e(a).active]),
2484
- horizontal: s.componentName === "list"
2485
- }, ce({
2486
- footer: f(() => [
2487
- e(a).title ? (n(), i("div", Wa, k(d[e(a).title]), 1)) : y("", !0),
2488
- e(a).information ? (n(), i("div", Ka, k(d[e(a).information]), 1)) : y("", !0)
2489
- ]),
2490
- actions: f(() => [
2491
- s.individualActions.length > 0 ? (n(), g(Ce, H({
2492
- key: 0,
2493
- ref_for: !0
2494
- }, {
2495
- subject: d,
2496
- actions: s.individualActions
2497
- }), {
2498
- default: f(() => [
2499
- x(L(Z, {
2500
- reactive: "",
2501
- icon: "dots-three-vertical"
2502
- }, null, 512), [
2503
- [v]
2504
- ])
2505
- ]),
2506
- _: 2
2507
- }, 1040)) : y("", !0)
2508
- ]),
2509
- default: f(() => {
2510
- var h;
2511
- return [
2512
- L(Ue, {
2513
- alt: "Item picture",
2514
- expandable: "",
2515
- url: (h = l(d[e(a).picture])) == null ? void 0 : h.link,
2516
- meta: l(d[e(a).picture])
2517
- }, null, 8, ["url", "meta"])
2518
- ];
2519
- }),
2520
- _: 2
2521
- }, [
2522
- e(a).badge && Array.isArray(d[e(a).badge]) ? {
2523
- name: "badge",
2524
- fn: f(() => [
2525
- (n(!0), i(N, null, D(d[e(a).badge], (h) => (n(), g(be, {
2526
- key: `${d._id}-${h}`,
2527
- large: ""
2528
- }, {
2529
- default: f(() => [
2530
- W(k(e(a).translateBadge ? e(R)(h) : h), 1)
2531
- ]),
2532
- _: 2
2533
- }, 1024))), 128))
2534
- ]),
2535
- key: "0"
2536
- } : e(a).badge ? {
2537
- name: "badge",
2538
- fn: f(() => [
2539
- L(be, null, {
2540
- default: f(() => [
2541
- W(k(e(a).translateBadge ? e(R)(d[e(a).badge]) : d[e(a).badge]), 1)
2542
- ]),
2543
- _: 2
2544
- }, 1024)
2545
- ]),
2546
- key: "1"
2547
- } : void 0
2548
- ]), 1032, ["inactive", "horizontal"]))), 128))
2549
- ]),
2550
- _: 1
2551
- }, 8, ["list"]);
2552
- };
2553
- }
2554
- });
2555
- const vt = /* @__PURE__ */ X(Xa, [["__scopeId", "data-v-113dd7db"]]), Ya = (c) => ({
2556
- tabular: Ha,
2557
- grid: vt,
2558
- list: vt
2559
- })[c], de = J(!1);
2560
- J(!1);
2561
- const ge = J(!1), Re = J((...c) => null), yt = J(), Ja = (c) => (Ee("data-v-2642eb69"), c = c(), De(), c), Za = {
2562
- key: 2,
2563
- class: "crud__controls"
2564
- }, Pa = {
2565
- key: 0,
2566
- class: "crud__search"
2567
- }, Na = { class: "crud__actions" }, xa = { class: "crud__context-badge" }, el = /* @__PURE__ */ Ja(() => /* @__PURE__ */ V("div", null, "Filtros", -1)), tl = { key: 0 }, nl = {
2568
- key: 3,
2569
- class: "crud__pagination"
2570
- }, ht = 30, ol = /* @__PURE__ */ U({
2571
- __name: "aeria-crud",
2572
- props: {
2573
- collection: {},
2574
- noControls: { type: Boolean },
2575
- noActions: { type: Boolean },
2576
- noFetch: { type: Boolean },
2577
- noLayoutToggle: { type: Boolean },
2578
- layout: {},
2579
- action: {},
2580
- componentProps: {},
2581
- scrollPagination: { type: Boolean },
2582
- noQueryPersistence: { type: Boolean }
2583
- },
2584
- emits: ["uiEvent"],
2585
- setup(c, { emit: r }) {
2586
- const a = c, t = r, l = Ae(), s = kt({
2587
- delay: 600
2588
- }), u = ie("meta"), v = ze(), { reachedEnd: d, detach: h } = Je(null, {
2589
- antecipate: 600
2590
- }), p = !v.value.md || a.scrollPagination;
2591
- p && ue(d, (C) => {
2592
- C && o.pagination.recordsTotal > o.items.length && b.value < ht && (b.value += 1, T());
2593
- });
2594
- const o = ie(a.collection);
2595
- sa(o, {
2596
- persistInQuery: !a.noQueryPersistence
2597
- });
2598
- const _ = Ze(), $ = a.action ? e(a.action) : Dt(o, l, _);
2599
- Re.value = $[0], yt.value = $[1];
2600
- const b = J(0), S = J(!1), T = async (C) => {
2601
- o.activeFilters = Object.assign({}, (C == null ? void 0 : C.filters) || o.$filters), Object.assign(o.activeFilters, o.filtersPreset);
2602
- const j = {
2603
- filters: o.activeFilters,
2604
- limit: o.pagination.limit,
2605
- offset: o.pagination.offset,
2606
- project: o.preferredTableProperties.length > 0 ? o.preferredTableProperties : o.description.table || Object.keys(o.properties)
2607
- };
2608
- b.value > 0 && (j.limit = 15, j.offset = b.value * j.limit), o.description.tableMeta && (j.project = j.project.concat(o.description.tableMeta)), C && Object.assign(j, C), o.loading.getAll = !0;
2609
- const { error: ae, result: le } = await o.$actions.retrieveItems(j);
2610
- if (ae)
2611
- return;
2612
- const { data: ne, pagination: se } = le;
2613
- o.pagination.recordsCount = se.recordsCount, o.pagination.recordsTotal = se.recordsTotal, b.value === 0 && o.items.splice(0), o.items.push(...ne), o.loading.getAll = !1, S.value = !0;
2614
- }, P = async (C) => {
2615
- l.push({
2616
- query: {
2617
- ...l.currentRoute.value.query,
2618
- offset: C.offset,
2619
- limit: C.limit
2620
- }
2621
- }), o.pagination.offset = C.offset, o.pagination.limit = C.limit, T();
2622
- }, B = ve("noResultsComponent", null);
2623
- ue(() => [
2624
- l.currentRoute.value.path,
2625
- l.currentRoute.value.query.section
2626
- ], async (C, j) => {
2627
- if (j && j[0] === C[0] && j[1] === C[1])
2628
- return;
2629
- const ae = l.currentRoute.value;
2630
- if (u.view.title = a.collection, u.view.collection = a.collection, !a.noFetch && !ae.query._popstate) {
2631
- const le = Ht(o, ae);
2632
- Object.keys(le).length > 0 && Object.assign(o.filters, le), await T();
2633
- }
2634
- }, {
2635
- immediate: !0,
2636
- flush: "post"
2637
- });
2638
- const [z] = s((C) => (l.push({
2639
- query: {
2640
- search: C || void 0
2641
- }
2642
- }), C ? (o.filters = Object.assign(ke(o.freshFilters), {
2643
- $text: {
2644
- $search: `"${C}"`,
2645
- $caseSensitive: !1
2646
- }
2647
- }), T({
2648
- offset: 0
2649
- })) : (o.filters = ke(o.freshFilters), b.value = 0, T())));
2650
- ue(() => o.textQuery, (C) => {
2651
- z(C);
2652
- });
2653
- const Y = (C) => {
2654
- C.currentLayout = C.currentLayout === "tabular" ? C.description.layout.name : "tabular";
2655
- };
2656
- wt(() => {
2657
- o.$actions.clearFilters(), o.textQuery = "", h();
2658
- }), ue(() => yt.value, async (C) => {
2659
- var le;
2660
- const j = ke(C);
2661
- let ae;
2662
- if (j)
2663
- if ((j.name === "spawnEdit" || j.name === "duplicate") && (ae = o.$actions.get({
2664
- filters: {
2665
- _id: j.params._id
2666
- }
2667
- })), j.name === "spawnAdd")
2668
- o.$actions.clearItem(), (le = j.params) != null && le.item && (o.$actions.setItem(j.params.item), Object.keys(j.params.item).forEach((ne) => {
2669
- delete o.referenceItem[ne];
2670
- })), de.value = "add";
2671
- else if (j.name === "spawnEdit")
2672
- o.$actions.setItem(j.params), de.value = "edit";
2673
- else if (j.name === "duplicate") {
2674
- await ae;
2675
- const ne = Object.entries(o.item).reduce((se, [M, q]) => {
2676
- if (!(M in o.properties))
2677
- return {
2678
- ...se,
2679
- [M]: q
2680
- };
2681
- const m = o.properties[M];
2682
- if (m.readOnly)
2683
- return se;
2684
- const E = (G) => {
2685
- const O = _e(m);
2686
- if (!O)
2687
- return G;
2688
- if (O.$ref === "file")
2689
- return {};
2690
- if (O.inline && G) {
2691
- const { _id: A, ...F } = G;
2692
- return F;
2693
- }
2694
- return G;
2695
- };
2696
- return q = Array.isArray(q) ? q.map(E) : E(q), {
2697
- ...se,
2698
- [M]: q
2699
- };
2700
- }, {});
2701
- o.$actions.setItem(ne), delete o.item._id, o.referenceItem = {}, de.value = "duplicate";
2702
- } else
2703
- t("uiEvent", j);
2704
- }, {
2705
- deep: !0
2706
- }), ue(() => de, ({ value: C }) => {
2707
- C === !1 && (u.view.collection = a.collection, o.$actions.clearItem());
2708
- });
2709
- const w = Q(() => o.individualActions.map((C) => ({
2710
- click: Re.value(C),
2711
- ...C
2712
- }))), te = Q(() => o.actions.filter((C) => !C.button));
2713
- return ye(He, Q(() => a.collection)), ye("individualActions", w), (C, j) => {
2714
- var ne, se, M, q, m, E, G;
2715
- const ae = oe("clickable"), le = oe("loading");
2716
- return n(), i(N, null, [
2717
- e(ge) ? (n(), g(aa, {
2718
- key: e(o).$id,
2719
- modelValue: e(ge),
2720
- "onUpdate:modelValue": j[0] || (j[0] = (O) => pt(ge) ? ge.value = O : null)
2721
- }, null, 8, ["modelValue"])) : y("", !0),
2722
- e(de) ? (n(), g(la, {
2723
- key: 1,
2724
- modelValue: e(de),
2725
- "onUpdate:modelValue": j[1] || (j[1] = (O) => pt(de) ? de.value = O : null),
2726
- "fixed-right": "",
2727
- onCancel: j[2] || (j[2] = (O) => de.value = !1)
2728
- }, ce({
2729
- header: f(() => [
2730
- V("span", null, k((() => {
2731
- switch (e(de)) {
2732
- case "add":
2733
- return e(R)("action.add", { capitalize: !0 });
2734
- case "duplicate":
2735
- return e(R)("action.duplicate", { capitalize: !0 });
2736
- case "edit":
2737
- default:
2738
- return e(R)("action.edit", { capitalize: !0 });
2739
- }
2740
- })()), 1),
2741
- V("span", null, " " + k(e(R)(e(u).view.collection)), 1)
2742
- ]),
2743
- _: 2
2744
- }, [
2745
- D(Object.keys(C.$slots).filter((O) => O.startsWith("field-")), (O) => ({
2746
- name: O,
2747
- fn: f((A) => [
2748
- I(C.$slots, O, pe(Ve(A)), void 0, !0)
2749
- ])
2750
- }))
2751
- ]), 1032, ["modelValue"])) : y("", !0),
2752
- !C.noActions && (e(o).description.search || Object.keys(e(o).availableFilters).length > 0 || ((ne = e(o)) == null ? void 0 : ne.actions.length) > 0 || C.$slots.actions || !C.noLayoutToggle && e(o).description.layout && ((se = e(o).description.layout) == null ? void 0 : se.name) !== "tabular") ? (n(), i("div", Za, [
2753
- e(o).description.search ? (n(), i("div", Pa, [
2754
- L(Oe, H({
2755
- modelValue: e(o).textQuery,
2756
- "onUpdate:modelValue": j[3] || (j[3] = (O) => e(o).textQuery = O)
2757
- }, {
2758
- property: {
2759
- type: "string",
2760
- placeholder: e(o).description.search.placeholder || "Pesquise aqui",
2761
- inputType: "search"
2762
- }
2763
- }), null, 16, ["modelValue"])
2764
- ])) : y("", !0),
2765
- V("div", Na, [
2766
- te.value.length > 0 || !C.noLayoutToggle && e(o).description.layout && ((M = e(o).description.layout) == null ? void 0 : M.name) !== "tabular" ? (n(), g(Ce, { key: 0 }, ce({
2767
- default: f(() => [
2768
- L(re, {
2769
- variant: "alt",
2770
- icon: "sliders"
2771
- }, {
2772
- default: f(() => [
2773
- e(o).filtersCount ? (n(), g(be, { key: 0 }, {
2774
- default: f(() => [
2775
- W(k(e(o).filtersCount), 1)
2776
- ]),
2777
- _: 1
2778
- })) : y("", !0)
2779
- ]),
2780
- _: 1
2781
- })
2782
- ]),
2783
- _: 2
2784
- }, [
2785
- Object.keys(e(o).availableFilters).length > 0 ? {
2786
- name: "filter",
2787
- fn: f(() => [
2788
- x((n(), g(Z, {
2789
- icon: "funnel",
2790
- onClick: j[4] || (j[4] = (O) => ge.value = !0)
2791
- }, {
2792
- default: f(() => [
2793
- W(k(e(R)("filters", { capitalize: !0 })), 1)
2794
- ]),
2795
- _: 1
2796
- })), [
2797
- [ae]
2798
- ]),
2799
- V("div", xa, [
2800
- e(o).filtersCount ? (n(), g(be, { key: 0 }, {
2801
- default: f(() => [
2802
- W(k(e(o).filtersCount), 1)
2803
- ]),
2804
- _: 1
2805
- })) : y("", !0)
2806
- ])
2807
- ]),
2808
- key: "0"
2809
- } : void 0,
2810
- !C.noLayoutToggle && e(o).description.layout && ((q = e(o).description.layout) == null ? void 0 : q.name) !== "tabular" ? {
2811
- name: "layout-toggle",
2812
- fn: f(() => [
2813
- x((n(), g(Z, {
2814
- icon: "table",
2815
- onClick: j[5] || (j[5] = (O) => Y(e(o)))
2816
- }, {
2817
- default: f(() => [
2818
- W(k(e(R)("change_layout", { capitalize: !0 })), 1)
2819
- ]),
2820
- _: 1
2821
- })), [
2822
- [ae]
2823
- ])
2824
- ]),
2825
- key: "1"
2826
- } : void 0,
2827
- D(te.value, (O, A) => ({
2828
- name: `action-${A}`,
2829
- fn: f(() => [
2830
- O ? (n(), g(Z, {
2831
- key: 0,
2832
- icon: O.icon || "gear",
2833
- disabled: e(o).selected.length === 0 && O.selection,
2834
- onClick: (F) => e(Re)(O)({ _id: e(o).selected.map((me) => me._id) })
2835
- }, {
2836
- default: f(() => [
2837
- W(k(e(R)(O.label, { capitalize: !0 })), 1)
2838
- ]),
2839
- _: 2
2840
- }, 1032, ["icon", "disabled", "onClick"])) : y("", !0)
2841
- ])
2842
- }))
2843
- ]), 1024)) : Object.keys(e(o).availableFilters).length > 0 ? (n(), g(re, {
2844
- key: 1,
2845
- variant: "alt",
2846
- icon: "funnel",
2847
- onClick: j[6] || (j[6] = (O) => ge.value = !0)
2848
- }, {
2849
- default: f(() => [
2850
- el,
2851
- e(o).filtersCount ? (n(), g(be, { key: 0 }, {
2852
- default: f(() => [
2853
- W(k(e(o).filtersCount), 1)
2854
- ]),
2855
- _: 1
2856
- })) : y("", !0)
2857
- ]),
2858
- _: 1
2859
- })) : y("", !0),
2860
- (n(!0), i(N, null, D(e(o).actions.filter((O) => O.button), (O, A) => (n(), g(re, {
2861
- key: `action-${A}`,
2862
- icon: O.icon,
2863
- disabled: e(o).selected.length === 0 && O.selection,
2864
- onClick: (F) => e(Re)(O)({ _id: e(o).selected.map((me) => me._id) })
2865
- }, {
2866
- default: f(() => [
2867
- W(k(e(R)(O.label, { capitalize: !0 })), 1)
2868
- ]),
2869
- _: 2
2870
- }, 1032, ["icon", "disabled", "onClick"]))), 128)),
2871
- C.$slots.actions ? I(C.$slots, "actions", { key: 2 }, void 0, !0) : y("", !0)
2872
- ])
2873
- ])) : y("", !0),
2874
- x((n(), i("div", null, [
2875
- e(o).itemsCount === 0 && !e(o).loading.getAll && S.value && (e(B) || C.$slots.empty) ? (n(), i("div", tl, [
2876
- e(B) ? (n(), g(he(e(B)), pe(H({ key: 0 }, {
2877
- collection: e(o).$id
2878
- })), {
2879
- default: f(() => [
2880
- e(o).filtersCount === 0 && e(o).description.actions && "ui:spawnAdd" in e(o).description.actions ? (n(), g(re, {
2881
- key: 0,
2882
- icon: "plus",
2883
- onClick: j[7] || (j[7] = (O) => e(Re)({
2884
- action: "ui:spawnAdd"
2885
- })())
2886
- }, {
2887
- default: f(() => [
2888
- W(k(e(R)("add_first_item", { capitalize: !0 })), 1)
2889
- ]),
2890
- _: 1
2891
- })) : y("", !0)
2892
- ]),
2893
- _: 1
2894
- }, 16)) : I(C.$slots, "empty", pe(H({ key: 1 }, {
2895
- collection: e(o).$id
2896
- })), void 0, !0)
2897
- ])) : C.$slots.component ? I(C.$slots, "component", pe(H({ key: 1 }, {
2898
- store: e(o)
2899
- })), void 0, !0) : (n(), g(he(e(Ya)(((m = C.layout) == null ? void 0 : m.name) || e(o).$currentLayout)), H({ key: 2 }, {
2900
- individualActions: w.value,
2901
- layoutOptions: ((E = C.layout) == null ? void 0 : E.options) || e(o).layout.options,
2902
- componentProps: C.componentProps
2903
- }, {
2904
- "component-name": ((G = C.layout) == null ? void 0 : G.name) || e(o).$currentLayout
2905
- }), ce({ _: 2 }, [
2906
- D(Object.keys(C.$slots).filter((O) => O.startsWith("row-")), (O) => ({
2907
- name: O,
2908
- fn: f((A) => [
2909
- I(C.$slots, O, pe(Ve(A)), void 0, !0)
2910
- ])
2911
- })),
2912
- C.$slots.tfoot ? {
2913
- name: "tfoot",
2914
- fn: f(() => [
2915
- I(C.$slots, "tfoot", {}, void 0, !0)
2916
- ]),
2917
- key: "0"
2918
- } : void 0
2919
- ]), 1040, ["component-name"]))
2920
- ])), [
2921
- [le, (!e(p) || b.value === ht) && e(o).loading.getAll]
2922
- ]),
2923
- !e(o).loading.getAll && e(o).itemsCount > 0 ? (n(), i("div", nl, [
2924
- L(Un, {
2925
- pagination: e(o).pagination,
2926
- onPaginate: P
2927
- }, null, 8, ["pagination"])
2928
- ])) : y("", !0)
2929
- ], 64);
2930
- };
2931
- }
2932
- });
2933
- const Ul = /* @__PURE__ */ X(ol, [["__scopeId", "data-v-2642eb69"]]), al = { class: "prompt" }, ll = /* @__PURE__ */ U({
2934
- __name: "aeria-prompt",
2935
- props: {
2936
- title: {},
2937
- actions: {}
2938
- },
2939
- setup(c) {
2940
- const r = ie("meta"), a = (t) => {
2941
- r.$actions.fulfillPrompt(t);
2942
- };
2943
- return (t, l) => (n(), g(Be, {
2944
- float: "",
2945
- "fill-footer": "",
2946
- "close-hint": !1,
2947
- style: { "--panel-min-width": "32rem" }
2948
- }, ce({
2949
- footer: f(() => [
2950
- V("div", {
2951
- class: "prompt__actions",
2952
- style: $e(`grid-template-columns: repeat(${t.actions.length}, 1fr)`)
2953
- }, [
2954
- (n(!0), i(N, null, D(t.actions, (s, u) => (n(), g(fe, {
2955
- key: `action-${u}`,
2956
- class: K(`
2957
- prompt__action
2958
- prompt__action--${s.variant || "primary"}
2959
- `),
2960
- onClick: (v) => s.click ? s.click(s) : a(s)
2961
- }, {
2962
- default: f(() => [
2963
- W(k(s.title || s.name), 1)
2964
- ]),
2965
- _: 2
2966
- }, 1032, ["class", "onClick"]))), 128))
2967
- ], 4)
2968
- ]),
2969
- default: f(() => [
2970
- V("div", al, [
2971
- I(t.$slots, "default", {}, void 0, !0)
2972
- ])
2973
- ]),
2974
- _: 2
2975
- }, [
2976
- t.title ? {
2977
- name: "title",
2978
- fn: f(() => [
2979
- W(k(t.title), 1)
2980
- ]),
2981
- key: "0"
2982
- } : void 0
2983
- ]), 1024));
2984
- }
2985
- });
2986
- const sl = /* @__PURE__ */ X(ll, [["__scopeId", "data-v-5443f297"]]), il = { class: "toast__content" }, rl = { class: "toast__time" }, ul = /* @__PURE__ */ U({
2987
- __name: "aeria-toast",
2988
- props: {
2989
- idx: {},
2990
- itr: {},
2991
- date: {},
2992
- icon: {}
2993
- },
2994
- setup(c) {
2995
- const r = ie("meta");
2996
- return (a, t) => {
2997
- const l = oe("clickable");
2998
- return x((n(), i("div", {
2999
- class: K({
3000
- toast: !0,
3001
- "toast--animate": e(r).toasts[0].itr === a.itr
3002
- }),
3003
- onAnimationend: t[0] || (t[0] = (s) => e(r).$actions.popToast()),
3004
- onClick: t[1] || (t[1] = (s) => e(r).$actions.popToast(a.itr))
3005
- }, [
3006
- L(Z, H(
3007
- a.icon ? { icon: a.icon } : { icon: "warning-circle" },
3008
- { style: { "--icon-size": "4rem", "--icon-color": "var(--theme-brand-color-shade-3)" } }
3009
- ), null, 16),
3010
- V("div", il, [
3011
- I(a.$slots, "default", {}, void 0, !0),
3012
- V("div", rl, k(a.formatDateTime(a.date, { hoursOnly: !0 })), 1)
3013
- ])
3014
- ], 34)), [
3015
- [l]
3016
- ]);
3017
- };
3018
- }
3019
- });
3020
- const cl = /* @__PURE__ */ X(ul, [["__scopeId", "data-v-21bbe178"]]), dl = ["innerHTML"], pl = { class: "main__toasts" }, _l = ["innerHTML"], ml = /* @__PURE__ */ U({
3021
- __name: "aeria-main",
3022
- setup(c) {
3023
- const r = ie("meta"), a = Q(() => r.themeOverride || r.theme);
3024
- return (t, l) => {
3025
- const s = St("router-view");
3026
- return n(), i("main", {
3027
- id: "main",
3028
- class: K(`
3029
- main
3030
- main--${a.value}
3031
- ${a.value === "dark" && "tw-dark"}
3032
- `)
3033
- }, [
3034
- (n(), g(jt, null, {
3035
- default: f(() => [
3036
- L(s, null, {
3037
- default: f(({ Component: u }) => [
3038
- (n(), g(he(u), null, ce({ _: 2 }, [
3039
- D(Object.keys(t.$slots), (v) => ({
3040
- name: v,
3041
- fn: f(() => [
3042
- I(t.$slots, v, {}, void 0, !0)
3043
- ])
3044
- }))
3045
- ]), 1024))
3046
- ]),
3047
- _: 3
3048
- })
3049
- ]),
3050
- _: 3
3051
- })),
3052
- I(t.$slots, "default", {}, void 0, !0),
3053
- L(Be, H({
3054
- modelValue: e(r).modal.visible,
3055
- "onUpdate:modelValue": l[0] || (l[0] = (u) => e(r).modal.visible = u),
3056
- float: "",
3057
- "close-hint": ""
3058
- }, e(r).modal, {
3059
- "overlay-layer": 70,
3060
- onOverlayClick: l[1] || (l[1] = (u) => e(r).modal.visible = !1)
3061
- }), {
3062
- default: f(() => [
3063
- e(r).modal.body ? (n(), i("div", {
3064
- key: 0,
3065
- style: { "white-space": "pre-wrap" },
3066
- innerHTML: e(r).modal.body
3067
- }, null, 8, dl)) : y("", !0),
3068
- e(r).modal.component ? (n(), g(he(e(r).modal.component), { key: 1 })) : y("", !0)
3069
- ]),
3070
- _: 1
3071
- }, 16, ["modelValue"]),
3072
- e(r).prompt.visible ? (n(), g(sl, pe(H({ key: 0 }, e(r).prompt)), {
3073
- default: f(() => [
3074
- W(k(e(r).prompt.body), 1)
3075
- ]),
3076
- _: 1
3077
- }, 16)) : y("", !0),
3078
- V("div", pl, [
3079
- (n(!0), i(N, null, D(e(r).toasts, (u) => (n(), g(cl, H({ ref_for: !0 }, u, {
3080
- key: `toast-${u.itr}`
3081
- }), {
3082
- default: f(() => [
3083
- V("div", {
3084
- innerHTML: e(R)(u.text)
3085
- }, null, 8, _l)
3086
- ]),
3087
- _: 2
3088
- }, 1040))), 128))
3089
- ])
3090
- ], 2);
3091
- };
3092
- }
3093
- });
3094
- const El = /* @__PURE__ */ X(ml, [["__scopeId", "data-v-1166be3d"]]);
3095
- const fl = {}, vl = { class: "menu" };
3096
- function yl(c, r) {
3097
- return n(), i("menu", vl, [
3098
- (n(!0), i(N, null, D(Object.keys(c.$slots), (a) => (n(), i("div", {
3099
- key: a,
3100
- class: "menu__entry"
3101
- }, [
3102
- I(c.$slots, a, {}, void 0, !0)
3103
- ]))), 128))
3104
- ]);
3105
- }
3106
- const Dl = /* @__PURE__ */ X(fl, [["render", yl], ["__scopeId", "data-v-3cfef7fb"]]), hl = { class: "tabs" }, $l = {
3107
- key: 0,
3108
- class: "tabs__horizontal"
3109
- }, bl = {
3110
- key: 0,
3111
- class: "tabs__tab tabs__tab--info"
3112
- }, gl = ["onClick"], kl = {
3113
- key: 1,
3114
- class: "tabs__context-menu"
3115
- }, Vl = ["onClick"], Cl = /* @__PURE__ */ U({
3116
- __name: "aeria-tabs",
3117
- props: {
3118
- query: {},
3119
- param: {},
3120
- dropdown: { type: Boolean }
3121
- },
3122
- setup(c) {
3123
- const r = c, a = Tt(), t = Ae(), l = ze(), s = "query" in r && r.query ? "query" : "params", u = Q(() => {
3124
- const d = t.currentRoute.value[s][r.query || r.param];
3125
- return d || Object.keys(a)[0];
3126
- }), v = (d) => {
3127
- if (s === "query") {
3128
- t.push(_t(t.currentRoute.value, {
3129
- query: {
3130
- [r.query]: d
3131
- }
3132
- }));
3133
- return;
3134
- }
3135
- t.push(_t(t.currentRoute.value, {
3136
- params: {
3137
- [r.param]: d
3138
- }
3139
- }));
3140
- };
3141
- return (d, h) => {
3142
- const p = oe("clickable");
3143
- return n(), i("div", hl, [
3144
- e(l).md && !d.dropdown ? (n(), i("div", $l, [
3145
- d.$slots.default ? (n(), i("div", bl, [
3146
- I(d.$slots, "default", {}, void 0, !0)
3147
- ])) : y("", !0),
3148
- (n(!0), i(N, null, D(Object.keys(d.$slots).filter((o) => o !== "default"), (o, _) => (n(), i("div", {
3149
- key: o,
3150
- class: K({
3151
- tabs__tab: !0,
3152
- "tabs__tab--current": o === u.value || !u.value && _ === 0
3153
- }),
3154
- onClick: ($) => v(o)
3155
- }, [
3156
- I(d.$slots, o, {}, void 0, !0)
3157
- ], 10, gl))), 128))
3158
- ])) : (n(), i("div", kl, [
3159
- L(Ce, null, ce({
3160
- default: f(() => [
3161
- x((n(), g(Z, {
3162
- "icon-right": "",
3163
- icon: "caret-down",
3164
- style: { "--icon-color": "var(--theme-brand-color-shade-1)" },
3165
- class: "tabs__context-menu-icon"
3166
- }, {
3167
- default: f(() => [
3168
- I(d.$slots, u.value, {}, void 0, !0)
3169
- ]),
3170
- _: 3
3171
- })), [
3172
- [p]
3173
- ])
3174
- ]),
3175
- _: 2
3176
- }, [
3177
- D(Object.keys(d.$slots).filter((o) => o !== "default"), (o) => ({
3178
- name: o,
3179
- fn: f(() => [
3180
- V("div", {
3181
- onClick: (_) => v(o)
3182
- }, [
3183
- I(d.$slots, o, {}, void 0, !0)
3184
- ], 8, Vl)
3185
- ])
3186
- }))
3187
- ]), 1024)
3188
- ]))
3189
- ]);
3190
- };
3191
- }
3192
- });
3193
- const Ol = /* @__PURE__ */ X(Cl, [["__scopeId", "data-v-fb669290"]]), Il = U({
3194
- props: {
3195
- initialValue: String,
3196
- promise: Promise
3197
- },
3198
- setup(c) {
3199
- const r = J(c.initialValue);
3200
- return c.promise instanceof Promise && c.promise.then((a) => {
3201
- r.value = a;
3202
- }), () => Lt("div", r.value);
3203
- }
3204
- }), Al = ["onClick"], Bl = { key: 1 }, wl = /* @__PURE__ */ U({
3205
- __name: "aeria-crud-topbar",
3206
- props: {
3207
- collection: {}
3208
- },
3209
- setup(c) {
3210
- const r = c, t = Ae().currentRoute, l = Ze(), s = Q(() => r.collection ? We(r.collection, l) : typeof t.value.meta.collection == "string" ? We(t.value.meta.collection, l) : typeof t.value.params.collection == "string" ? We(t.value.params.collection, l) : null), u = async (v, d) => {
3211
- const { error: h, result: p } = await d.$functions[v.badgeFunction]({
3212
- filters: v.filters
3213
- });
3214
- return h ? 0 : p;
3215
- };
3216
- return (v, d) => s.value && s.value.description.filtersPresets ? (n(), g(Ol, {
3217
- key: 0,
3218
- dropdown: "",
3219
- query: "section"
3220
- }, ce({ _: 2 }, [
3221
- D(Object.entries(s.value.description.filtersPresets), ([h, p]) => ({
3222
- name: h,
3223
- fn: f(() => [
3224
- V("div", {
3225
- class: "topbar__preset",
3226
- onClick: (o) => e(Ot)(p, s.value)
3227
- }, [
3228
- p.icon ? (n(), g(Z, {
3229
- key: 0,
3230
- icon: p.icon
3231
- }, {
3232
- default: f(() => [
3233
- W(k(p.label || e(R)(h, { plural: !0 })), 1)
3234
- ]),
3235
- _: 2
3236
- }, 1032, ["icon"])) : (n(), i("div", Bl, k(p.label || e(R)(h, { plural: !0 })), 1)),
3237
- p.badgeFunction ? (n(), g(be, { key: 2 }, {
3238
- default: f(() => [
3239
- L(e(Il), {
3240
- "initial-value": "0",
3241
- promise: u(p, s.value)
3242
- }, null, 8, ["promise"])
3243
- ]),
3244
- _: 2
3245
- }, 1024)) : y("", !0)
3246
- ], 8, Al)
3247
- ])
3248
- }))
3249
- ]), 1024)) : y("", !0);
3250
- }
3251
- });
3252
- const Sl = /* @__PURE__ */ X(wl, [["__scopeId", "data-v-85c3b087"]]), jl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3253
- __proto__: null,
3254
- default: Sl
3255
- }, Symbol.toStringTag, { value: "Module" })), Hl = /* @__PURE__ */ U({
3256
- __name: "aeria-password-form",
3257
- props: {
3258
- modelValue: {}
3259
- },
3260
- emits: ["update:modelValue"],
3261
- setup(c) {
3262
- const r = c;
3263
- ye(He, null);
3264
- const a = Qt(), t = Q(() => a(
3265
- r.modelValue.password,
3266
- r.modelValue.confirmation
3267
- ));
3268
- return (l, s) => (n(), g(Ge, {
3269
- form: {
3270
- password: {
3271
- type: "string",
3272
- icon: "key",
3273
- inputType: "password"
3274
- },
3275
- confirmation: {
3276
- type: "string",
3277
- icon: "key",
3278
- inputType: "password"
3279
- }
3280
- },
3281
- "model-value": l.modelValue,
3282
- "onUpdate:modelValue": s[0] || (s[0] = (u) => l.$emit("update:modelValue", u))
3283
- }, {
3284
- after: f(() => [
3285
- V("div", null, k(t.value || "Senhas conferem"), 1),
3286
- I(l.$slots, "default", pe(Ve({ passwordError: t.value })))
3287
- ]),
3288
- _: 3
3289
- }, 8, ["model-value"]));
3290
- }
3291
- }), Ql = (c, r = []) => ({
3292
- path: "/user",
3293
- name: "/builtin:user",
3294
- component: c,
3295
- children: r.concat([
3296
- {
3297
- path: "invite/:id",
3298
- name: "/user/invite/:id",
3299
- redirect: (a) => ({
3300
- path: "/user/signup",
3301
- params: {
3302
- inviteId: a.params.id
3303
- }
3304
- })
3305
- },
3306
- {
3307
- path: "signin",
3308
- name: "/user/signin",
3309
- component: () => import("./signin-677ea9d4.js"),
3310
- meta: {
3311
- title: "Autenticação"
3312
- }
3313
- },
3314
- {
3315
- path: "signup",
3316
- name: "/user/signup",
3317
- component: () => import("./signup-8c53d226.js"),
3318
- meta: {
3319
- title: "Registro"
3320
- }
3321
- },
3322
- {
3323
- path: "activation",
3324
- name: "/user/activation",
3325
- component: () => import("./activation-ebdf89dd.js"),
3326
- meta: {
3327
- title: "Ativação"
3328
- }
3329
- }
3330
- ])
3331
- }), Gl = (c, r = []) => ({
3332
- path: "/dashboard",
3333
- name: "/builtin:dashboard",
3334
- component: c,
3335
- redirect: {
3336
- name: "/dashboard/"
3337
- },
3338
- meta: {
3339
- title: "Dashboard"
3340
- },
3341
- children: r.concat([
3342
- {
3343
- path: "c/:collection",
3344
- name: "/dashboard/crud",
3345
- props: !0,
3346
- components: {
3347
- default: () => import("./index-35149d38.js"),
3348
- topbar: () => Promise.resolve().then(() => jl)
3349
- },
3350
- meta: {
3351
- title: "%viewTitle%"
3352
- }
3353
- },
3354
- {
3355
- path: "c/:collection/:id/:section?",
3356
- name: "/dashboard/crud/:id",
3357
- props: !0,
3358
- components: {
3359
- default: () => import("./_id_-c8166d7d.js")
3360
- },
3361
- meta: {
3362
- title: "%viewTitle%"
3363
- }
3364
- },
3365
- {
3366
- path: "user",
3367
- name: "/dashboard/user",
3368
- meta: {
3369
- title: "user",
3370
- icon: "users",
3371
- collection: "user"
3372
- },
3373
- redirect: "/dashboard/c/user",
3374
- children: [
3375
- {
3376
- path: "profile",
3377
- component: () => import("./index-6ad9c33d.js"),
3378
- meta: {
3379
- title: "Meu perfil",
3380
- icon: "user-square"
3381
- }
3382
- },
3383
- {
3384
- path: "changepass",
3385
- name: "/dashboard/user/changepass",
3386
- component: () => import("./index-af6c665b.js"),
3387
- meta: {
3388
- title: "Mudar senha",
3389
- icon: "lock"
3390
- }
3391
- }
3392
- ]
3393
- }
3394
- ])
3395
- });
3396
- export {
3397
- Ge as A,
3398
- Il as B,
3399
- sl as C,
3400
- cl as D,
3401
- Sl as E,
3402
- Ql as F,
3403
- Gl as G,
3404
- Hl as _,
3405
- re as a,
3406
- Z as b,
3407
- Kn as c,
3408
- Ul as d,
3409
- la as e,
3410
- Ue as f,
3411
- Dl as g,
3412
- Be as h,
3413
- X as i,
3414
- ql as j,
3415
- be as k,
3416
- fe as l,
3417
- fn as m,
3418
- Ce as n,
3419
- Ga as o,
3420
- kn as p,
3421
- El as q,
3422
- Un as r,
3423
- Da as s,
3424
- Ol as t,
3425
- ko as u,
3426
- Oe as v,
3427
- Jn as w,
3428
- Uo as x,
3429
- Qe as y,
3430
- no as z
3431
- };