@prefabs.tech/vue3-layout 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/NavMenuItem-BPQBXe7I.js +4 -0
  4. package/dist/PrefabsTechVue3Layout.es.js +19 -0
  5. package/dist/PrefabsTechVue3Layout.umd.js +1 -0
  6. package/dist/index-F-mM76Og.js +1890 -0
  7. package/dist/src/Layout.vue.d.ts +22 -0
  8. package/dist/src/Layout.vue.d.ts.map +1 -0
  9. package/dist/src/components/AppFooter.vue.d.ts +12 -0
  10. package/dist/src/components/AppFooter.vue.d.ts.map +1 -0
  11. package/dist/src/components/AppHeader.vue.d.ts +31 -0
  12. package/dist/src/components/AppHeader.vue.d.ts.map +1 -0
  13. package/dist/src/components/Copyright.vue.d.ts +26 -0
  14. package/dist/src/components/Copyright.vue.d.ts.map +1 -0
  15. package/dist/src/components/Logo.vue.d.ts +41 -0
  16. package/dist/src/components/Logo.vue.d.ts.map +1 -0
  17. package/dist/src/components/MainMenu.vue.d.ts +24 -0
  18. package/dist/src/components/MainMenu.vue.d.ts.map +1 -0
  19. package/dist/src/components/NavMenu.vue.d.ts +25 -0
  20. package/dist/src/components/NavMenu.vue.d.ts.map +1 -0
  21. package/dist/src/components/NavMenuItem.vue.d.ts +25 -0
  22. package/dist/src/components/NavMenuItem.vue.d.ts.map +1 -0
  23. package/dist/src/components/Sidebar.vue.d.ts +39 -0
  24. package/dist/src/components/Sidebar.vue.d.ts.map +1 -0
  25. package/dist/src/components/StickyCollapsibleFooter.vue.d.ts +22 -0
  26. package/dist/src/components/StickyCollapsibleFooter.vue.d.ts.map +1 -0
  27. package/dist/src/index.d.ts +44 -0
  28. package/dist/src/index.d.ts.map +1 -0
  29. package/dist/src/layouts/BasicLayout.vue.d.ts +26 -0
  30. package/dist/src/layouts/BasicLayout.vue.d.ts.map +1 -0
  31. package/dist/src/layouts/NullLayout.vue.d.ts +3 -0
  32. package/dist/src/layouts/NullLayout.vue.d.ts.map +1 -0
  33. package/dist/src/layouts/SidebarHeaderLayout.vue.d.ts +52 -0
  34. package/dist/src/layouts/SidebarHeaderLayout.vue.d.ts.map +1 -0
  35. package/dist/src/layouts/SidebarOnlyLayout.vue.d.ts +39 -0
  36. package/dist/src/layouts/SidebarOnlyLayout.vue.d.ts.map +1 -0
  37. package/dist/src/types/config.d.ts +16 -0
  38. package/dist/src/types/config.d.ts.map +1 -0
  39. package/dist/src/types/index.d.ts +4 -0
  40. package/dist/src/types/index.d.ts.map +1 -0
  41. package/dist/src/types/layout.d.ts +3 -0
  42. package/dist/src/types/layout.d.ts.map +1 -0
  43. package/dist/src/types/menu.d.ts +18 -0
  44. package/dist/src/types/menu.d.ts.map +1 -0
  45. package/dist/vue3-layout.css +1 -0
  46. package/package.json +74 -0
@@ -0,0 +1,1890 @@
1
+ import { useI18n as Je, LocaleSwitcher as re, prependMessages as Xe } from "@prefabs.tech/vue3-i18n";
2
+ import { defineComponent as L, computed as N, createElementBlock as g, openBlock as d, createTextVNode as he, createElementVNode as w, toDisplayString as T, unref as b, renderSlot as f, createBlock as C, createCommentVNode as _, h as pe, resolveComponent as Ie, createVNode as I, withCtx as y, ref as E, normalizeClass as q, Transition as Me, Fragment as Ae, renderList as ie, useSlots as Ne, onUnmounted as Te, defineAsyncComponent as et, shallowRef as tt, markRaw as nt, watch as X, resolveDynamicComponent as ot, createSlots as je, inject as st } from "vue";
3
+ import { useConfig as le } from "@prefabs.tech/vue3-config";
4
+ import { onClickOutside as rt } from "@vueuse/core";
5
+ import { ResponsiveMenu as it } from "@prefabs.tech/vue3-ui";
6
+ import { useRoute as ae, useRouter as Pe } from "vue-router";
7
+ const lt = { class: "copyright" }, at = ["href"], ct = {
8
+ name: "Copyright"
9
+ }, ut = /* @__PURE__ */ L({
10
+ ...ct,
11
+ props: {
12
+ holder: {
13
+ required: !0,
14
+ type: String
15
+ },
16
+ showDisclaimer: Boolean,
17
+ url: {
18
+ required: !0,
19
+ type: String
20
+ }
21
+ },
22
+ setup(e) {
23
+ const t = e, o = io(), { t: s } = Je({ messages: o }), n = N(() => t.showDisclaimer ? s("copyright.disclaimer") : null), r = (/* @__PURE__ */ new Date()).getFullYear();
24
+ return (i, l) => (d(), g("div", lt, [
25
+ he(" © " + T(b(r)) + " ", 1),
26
+ w("a", {
27
+ href: e.url,
28
+ target: "_blank"
29
+ }, T(e.holder), 9, at),
30
+ he("  " + T(n.value), 1)
31
+ ]));
32
+ }
33
+ }), ft = { class: "version" }, dt = {
34
+ name: "AppFooter"
35
+ }, ce = /* @__PURE__ */ L({
36
+ ...dt,
37
+ setup(e) {
38
+ const t = le();
39
+ return (o, s) => (d(), g("footer", null, [
40
+ f(o.$slots, "copyright", {}, () => [
41
+ b(t)?.copyright ? (d(), C(ut, {
42
+ key: 0,
43
+ holder: b(t).copyright.holder,
44
+ url: b(t).copyright.url
45
+ }, null, 8, ["holder", "url"])) : _("", !0)
46
+ ]),
47
+ f(o.$slots, "social"),
48
+ f(o.$slots, "version", {}, () => [
49
+ w("div", ft, T(b(t).appVersion), 1)
50
+ ])
51
+ ]));
52
+ }
53
+ }), Ee = /^[a-z0-9]+(-[a-z0-9]+)*$/, W = (e, t, o, s = "") => {
54
+ const n = e.split(":");
55
+ if (e.slice(0, 1) === "@") {
56
+ if (n.length < 2 || n.length > 3)
57
+ return null;
58
+ s = n.shift().slice(1);
59
+ }
60
+ if (n.length > 3 || !n.length)
61
+ return null;
62
+ if (n.length > 1) {
63
+ const l = n.pop(), a = n.pop(), c = {
64
+ // Allow provider without '@': "provider:prefix:name"
65
+ provider: n.length > 0 ? n[0] : s,
66
+ prefix: a,
67
+ name: l
68
+ };
69
+ return t && !V(c) ? null : c;
70
+ }
71
+ const r = n[0], i = r.split("-");
72
+ if (i.length > 1) {
73
+ const l = {
74
+ provider: s,
75
+ prefix: i.shift(),
76
+ name: i.join("-")
77
+ };
78
+ return t && !V(l) ? null : l;
79
+ }
80
+ if (o && s === "") {
81
+ const l = {
82
+ provider: s,
83
+ prefix: "",
84
+ name: r
85
+ };
86
+ return t && !V(l, o) ? null : l;
87
+ }
88
+ return null;
89
+ }, V = (e, t) => e ? !!// Check prefix: cannot be empty, unless allowSimpleName is enabled
90
+ // Check name: cannot be empty
91
+ ((t && e.prefix === "" || e.prefix) && e.name) : !1, Oe = Object.freeze(
92
+ {
93
+ left: 0,
94
+ top: 0,
95
+ width: 16,
96
+ height: 16
97
+ }
98
+ ), G = Object.freeze({
99
+ rotate: 0,
100
+ vFlip: !1,
101
+ hFlip: !1
102
+ }), Z = Object.freeze({
103
+ ...Oe,
104
+ ...G
105
+ }), ee = Object.freeze({
106
+ ...Z,
107
+ body: "",
108
+ hidden: !1
109
+ });
110
+ function ht(e, t) {
111
+ const o = {};
112
+ !e.hFlip != !t.hFlip && (o.hFlip = !0), !e.vFlip != !t.vFlip && (o.vFlip = !0);
113
+ const s = ((e.rotate || 0) + (t.rotate || 0)) % 4;
114
+ return s && (o.rotate = s), o;
115
+ }
116
+ function me(e, t) {
117
+ const o = ht(e, t);
118
+ for (const s in ee)
119
+ s in G ? s in e && !(s in o) && (o[s] = G[s]) : s in t ? o[s] = t[s] : s in e && (o[s] = e[s]);
120
+ return o;
121
+ }
122
+ function pt(e, t) {
123
+ const o = e.icons, s = e.aliases || /* @__PURE__ */ Object.create(null), n = /* @__PURE__ */ Object.create(null);
124
+ function r(i) {
125
+ if (o[i])
126
+ return n[i] = [];
127
+ if (!(i in n)) {
128
+ n[i] = null;
129
+ const l = s[i] && s[i].parent, a = l && r(l);
130
+ a && (n[i] = [l].concat(a));
131
+ }
132
+ return n[i];
133
+ }
134
+ return Object.keys(o).concat(Object.keys(s)).forEach(r), n;
135
+ }
136
+ function mt(e, t, o) {
137
+ const s = e.icons, n = e.aliases || /* @__PURE__ */ Object.create(null);
138
+ let r = {};
139
+ function i(l) {
140
+ r = me(
141
+ s[l] || n[l],
142
+ r
143
+ );
144
+ }
145
+ return i(t), o.forEach(i), me(e, r);
146
+ }
147
+ function Fe(e, t) {
148
+ const o = [];
149
+ if (typeof e != "object" || typeof e.icons != "object")
150
+ return o;
151
+ e.not_found instanceof Array && e.not_found.forEach((n) => {
152
+ t(n, null), o.push(n);
153
+ });
154
+ const s = pt(e);
155
+ for (const n in s) {
156
+ const r = s[n];
157
+ r && (t(n, mt(e, n, r)), o.push(n));
158
+ }
159
+ return o;
160
+ }
161
+ const gt = {
162
+ provider: "",
163
+ aliases: {},
164
+ not_found: {},
165
+ ...Oe
166
+ };
167
+ function Y(e, t) {
168
+ for (const o in t)
169
+ if (o in e && typeof e[o] != typeof t[o])
170
+ return !1;
171
+ return !0;
172
+ }
173
+ function Re(e) {
174
+ if (typeof e != "object" || e === null)
175
+ return null;
176
+ const t = e;
177
+ if (typeof t.prefix != "string" || !e.icons || typeof e.icons != "object" || !Y(e, gt))
178
+ return null;
179
+ const o = t.icons;
180
+ for (const n in o) {
181
+ const r = o[n];
182
+ if (
183
+ // Name cannot be empty
184
+ !n || // Must have body
185
+ typeof r.body != "string" || // Check other props
186
+ !Y(
187
+ r,
188
+ ee
189
+ )
190
+ )
191
+ return null;
192
+ }
193
+ const s = t.aliases || /* @__PURE__ */ Object.create(null);
194
+ for (const n in s) {
195
+ const r = s[n], i = r.parent;
196
+ if (
197
+ // Name cannot be empty
198
+ !n || // Parent must be set and point to existing icon
199
+ typeof i != "string" || !o[i] && !s[i] || // Check other props
200
+ !Y(
201
+ r,
202
+ ee
203
+ )
204
+ )
205
+ return null;
206
+ }
207
+ return t;
208
+ }
209
+ const ge = /* @__PURE__ */ Object.create(null);
210
+ function vt(e, t) {
211
+ return {
212
+ provider: e,
213
+ prefix: t,
214
+ icons: /* @__PURE__ */ Object.create(null),
215
+ missing: /* @__PURE__ */ new Set()
216
+ };
217
+ }
218
+ function F(e, t) {
219
+ const o = ge[e] || (ge[e] = /* @__PURE__ */ Object.create(null));
220
+ return o[t] || (o[t] = vt(e, t));
221
+ }
222
+ function Be(e, t) {
223
+ return Re(t) ? Fe(t, (o, s) => {
224
+ s ? e.icons[o] = s : e.missing.add(o);
225
+ }) : [];
226
+ }
227
+ function yt(e, t, o) {
228
+ try {
229
+ if (typeof o.body == "string")
230
+ return e.icons[t] = { ...o }, !0;
231
+ } catch {
232
+ }
233
+ return !1;
234
+ }
235
+ let D = !1;
236
+ function ze(e) {
237
+ return typeof e == "boolean" && (D = e), D;
238
+ }
239
+ function bt(e) {
240
+ const t = typeof e == "string" ? W(e, !0, D) : e;
241
+ if (t) {
242
+ const o = F(t.provider, t.prefix), s = t.name;
243
+ return o.icons[s] || (o.missing.has(s) ? null : void 0);
244
+ }
245
+ }
246
+ function wt(e, t) {
247
+ const o = W(e, !0, D);
248
+ if (!o)
249
+ return !1;
250
+ const s = F(o.provider, o.prefix);
251
+ return t ? yt(s, o.name, t) : (s.missing.add(o.name), !0);
252
+ }
253
+ function kt(e, t) {
254
+ if (typeof e != "object")
255
+ return !1;
256
+ if (typeof t != "string" && (t = e.provider || ""), D && !t && !e.prefix) {
257
+ let n = !1;
258
+ return Re(e) && (e.prefix = "", Fe(e, (r, i) => {
259
+ wt(r, i) && (n = !0);
260
+ })), n;
261
+ }
262
+ const o = e.prefix;
263
+ if (!V({
264
+ prefix: o,
265
+ name: "a"
266
+ }))
267
+ return !1;
268
+ const s = F(t, o);
269
+ return !!Be(s, e);
270
+ }
271
+ const De = Object.freeze({
272
+ width: null,
273
+ height: null
274
+ }), He = Object.freeze({
275
+ // Dimensions
276
+ ...De,
277
+ // Transformations
278
+ ...G
279
+ }), $t = /(-?[0-9.]*[0-9]+[0-9.]*)/g, _t = /^-?[0-9.]*[0-9]+[0-9.]*$/g;
280
+ function ve(e, t, o) {
281
+ if (t === 1)
282
+ return e;
283
+ if (o = o || 100, typeof e == "number")
284
+ return Math.ceil(e * t * o) / o;
285
+ if (typeof e != "string")
286
+ return e;
287
+ const s = e.split($t);
288
+ if (s === null || !s.length)
289
+ return e;
290
+ const n = [];
291
+ let r = s.shift(), i = _t.test(r);
292
+ for (; ; ) {
293
+ if (i) {
294
+ const l = parseFloat(r);
295
+ isNaN(l) ? n.push(r) : n.push(Math.ceil(l * t * o) / o);
296
+ } else
297
+ n.push(r);
298
+ if (r = s.shift(), r === void 0)
299
+ return n.join("");
300
+ i = !i;
301
+ }
302
+ }
303
+ function Lt(e, t = "defs") {
304
+ let o = "";
305
+ const s = e.indexOf("<" + t);
306
+ for (; s >= 0; ) {
307
+ const n = e.indexOf(">", s), r = e.indexOf("</" + t);
308
+ if (n === -1 || r === -1)
309
+ break;
310
+ const i = e.indexOf(">", r);
311
+ if (i === -1)
312
+ break;
313
+ o += e.slice(n + 1, r).trim(), e = e.slice(0, s).trim() + e.slice(i + 1);
314
+ }
315
+ return {
316
+ defs: o,
317
+ content: e
318
+ };
319
+ }
320
+ function St(e, t) {
321
+ return e ? "<defs>" + e + "</defs>" + t : t;
322
+ }
323
+ function xt(e, t, o) {
324
+ const s = Lt(e);
325
+ return St(s.defs, t + s.content + o);
326
+ }
327
+ const Ct = (e) => e === "unset" || e === "undefined" || e === "none";
328
+ function It(e, t) {
329
+ const o = {
330
+ ...Z,
331
+ ...e
332
+ }, s = {
333
+ ...He,
334
+ ...t
335
+ }, n = {
336
+ left: o.left,
337
+ top: o.top,
338
+ width: o.width,
339
+ height: o.height
340
+ };
341
+ let r = o.body;
342
+ [o, s].forEach(($) => {
343
+ const h = [], O = $.hFlip, j = $.vFlip;
344
+ let A = $.rotate;
345
+ O ? j ? A += 2 : (h.push(
346
+ "translate(" + (n.width + n.left).toString() + " " + (0 - n.top).toString() + ")"
347
+ ), h.push("scale(-1 1)"), n.top = n.left = 0) : j && (h.push(
348
+ "translate(" + (0 - n.left).toString() + " " + (n.height + n.top).toString() + ")"
349
+ ), h.push("scale(1 -1)"), n.top = n.left = 0);
350
+ let S;
351
+ switch (A < 0 && (A -= Math.floor(A / 4) * 4), A = A % 4, A) {
352
+ case 1:
353
+ S = n.height / 2 + n.top, h.unshift(
354
+ "rotate(90 " + S.toString() + " " + S.toString() + ")"
355
+ );
356
+ break;
357
+ case 2:
358
+ h.unshift(
359
+ "rotate(180 " + (n.width / 2 + n.left).toString() + " " + (n.height / 2 + n.top).toString() + ")"
360
+ );
361
+ break;
362
+ case 3:
363
+ S = n.width / 2 + n.left, h.unshift(
364
+ "rotate(-90 " + S.toString() + " " + S.toString() + ")"
365
+ );
366
+ break;
367
+ }
368
+ A % 2 === 1 && (n.left !== n.top && (S = n.left, n.left = n.top, n.top = S), n.width !== n.height && (S = n.width, n.width = n.height, n.height = S)), h.length && (r = xt(
369
+ r,
370
+ '<g transform="' + h.join(" ") + '">',
371
+ "</g>"
372
+ ));
373
+ });
374
+ const i = s.width, l = s.height, a = n.width, c = n.height;
375
+ let u, p;
376
+ i === null ? (p = l === null ? "1em" : l === "auto" ? c : l, u = ve(p, a / c)) : (u = i === "auto" ? a : i, p = l === null ? ve(u, c / a) : l === "auto" ? c : l);
377
+ const m = {}, k = ($, h) => {
378
+ Ct(h) || (m[$] = h.toString());
379
+ };
380
+ k("width", u), k("height", p);
381
+ const M = [n.left, n.top, a, c];
382
+ return m.viewBox = M.join(" "), {
383
+ attributes: m,
384
+ viewBox: M,
385
+ body: r
386
+ };
387
+ }
388
+ const Mt = /\sid="(\S+)"/g, At = "IconifyId" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);
389
+ let Nt = 0;
390
+ function Tt(e, t = At) {
391
+ const o = [];
392
+ let s;
393
+ for (; s = Mt.exec(e); )
394
+ o.push(s[1]);
395
+ if (!o.length)
396
+ return e;
397
+ const n = "suffix" + (Math.random() * 16777216 | Date.now()).toString(16);
398
+ return o.forEach((r) => {
399
+ const i = typeof t == "function" ? t(r) : t + (Nt++).toString(), l = r.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
400
+ e = e.replace(
401
+ // Allowed characters before id: [#;"]
402
+ // Allowed characters after id: [)"], .[a-z]
403
+ new RegExp('([#;"])(' + l + ')([")]|\\.[a-z])', "g"),
404
+ "$1" + i + n + "$3"
405
+ );
406
+ }), e = e.replace(new RegExp(n, "g"), ""), e;
407
+ }
408
+ const te = /* @__PURE__ */ Object.create(null);
409
+ function jt(e, t) {
410
+ te[e] = t;
411
+ }
412
+ function ne(e) {
413
+ return te[e] || te[""];
414
+ }
415
+ function ue(e) {
416
+ let t;
417
+ if (typeof e.resources == "string")
418
+ t = [e.resources];
419
+ else if (t = e.resources, !(t instanceof Array) || !t.length)
420
+ return null;
421
+ return {
422
+ // API hosts
423
+ resources: t,
424
+ // Root path
425
+ path: e.path || "/",
426
+ // URL length limit
427
+ maxURL: e.maxURL || 500,
428
+ // Timeout before next host is used.
429
+ rotate: e.rotate || 750,
430
+ // Timeout before failing query.
431
+ timeout: e.timeout || 5e3,
432
+ // Randomise default API end point.
433
+ random: e.random === !0,
434
+ // Start index
435
+ index: e.index || 0,
436
+ // Receive data after time out (used if time out kicks in first, then API module sends data anyway).
437
+ dataAfterTimeout: e.dataAfterTimeout !== !1
438
+ };
439
+ }
440
+ const fe = /* @__PURE__ */ Object.create(null), B = [
441
+ "https://api.simplesvg.com",
442
+ "https://api.unisvg.com"
443
+ ], Q = [];
444
+ for (; B.length > 0; )
445
+ B.length === 1 || Math.random() > 0.5 ? Q.push(B.shift()) : Q.push(B.pop());
446
+ fe[""] = ue({
447
+ resources: ["https://api.iconify.design"].concat(Q)
448
+ });
449
+ function Pt(e, t) {
450
+ const o = ue(t);
451
+ return o === null ? !1 : (fe[e] = o, !0);
452
+ }
453
+ function de(e) {
454
+ return fe[e];
455
+ }
456
+ const Et = () => {
457
+ let e;
458
+ try {
459
+ if (e = fetch, typeof e == "function")
460
+ return e;
461
+ } catch {
462
+ }
463
+ };
464
+ let ye = Et();
465
+ function Ot(e, t) {
466
+ const o = de(e);
467
+ if (!o)
468
+ return 0;
469
+ let s;
470
+ if (!o.maxURL)
471
+ s = 0;
472
+ else {
473
+ let n = 0;
474
+ o.resources.forEach((i) => {
475
+ n = Math.max(n, i.length);
476
+ });
477
+ const r = t + ".json?icons=";
478
+ s = o.maxURL - n - o.path.length - r.length;
479
+ }
480
+ return s;
481
+ }
482
+ function Ft(e) {
483
+ return e === 404;
484
+ }
485
+ const Rt = (e, t, o) => {
486
+ const s = [], n = Ot(e, t), r = "icons";
487
+ let i = {
488
+ type: r,
489
+ provider: e,
490
+ prefix: t,
491
+ icons: []
492
+ }, l = 0;
493
+ return o.forEach((a, c) => {
494
+ l += a.length + 1, l >= n && c > 0 && (s.push(i), i = {
495
+ type: r,
496
+ provider: e,
497
+ prefix: t,
498
+ icons: []
499
+ }, l = a.length), i.icons.push(a);
500
+ }), s.push(i), s;
501
+ };
502
+ function Bt(e) {
503
+ if (typeof e == "string") {
504
+ const t = de(e);
505
+ if (t)
506
+ return t.path;
507
+ }
508
+ return "/";
509
+ }
510
+ const zt = (e, t, o) => {
511
+ if (!ye) {
512
+ o("abort", 424);
513
+ return;
514
+ }
515
+ let s = Bt(t.provider);
516
+ switch (t.type) {
517
+ case "icons": {
518
+ const r = t.prefix, l = t.icons.join(","), a = new URLSearchParams({
519
+ icons: l
520
+ });
521
+ s += r + ".json?" + a.toString();
522
+ break;
523
+ }
524
+ case "custom": {
525
+ const r = t.uri;
526
+ s += r.slice(0, 1) === "/" ? r.slice(1) : r;
527
+ break;
528
+ }
529
+ default:
530
+ o("abort", 400);
531
+ return;
532
+ }
533
+ let n = 503;
534
+ ye(e + s).then((r) => {
535
+ const i = r.status;
536
+ if (i !== 200) {
537
+ setTimeout(() => {
538
+ o(Ft(i) ? "abort" : "next", i);
539
+ });
540
+ return;
541
+ }
542
+ return n = 501, r.json();
543
+ }).then((r) => {
544
+ if (typeof r != "object" || r === null) {
545
+ setTimeout(() => {
546
+ r === 404 ? o("abort", r) : o("next", n);
547
+ });
548
+ return;
549
+ }
550
+ setTimeout(() => {
551
+ o("success", r);
552
+ });
553
+ }).catch(() => {
554
+ o("next", n);
555
+ });
556
+ }, Dt = {
557
+ prepare: Rt,
558
+ send: zt
559
+ };
560
+ function Ht(e) {
561
+ const t = {
562
+ loaded: [],
563
+ missing: [],
564
+ pending: []
565
+ }, o = /* @__PURE__ */ Object.create(null);
566
+ e.sort((n, r) => n.provider !== r.provider ? n.provider.localeCompare(r.provider) : n.prefix !== r.prefix ? n.prefix.localeCompare(r.prefix) : n.name.localeCompare(r.name));
567
+ let s = {
568
+ provider: "",
569
+ prefix: "",
570
+ name: ""
571
+ };
572
+ return e.forEach((n) => {
573
+ if (s.name === n.name && s.prefix === n.prefix && s.provider === n.provider)
574
+ return;
575
+ s = n;
576
+ const r = n.provider, i = n.prefix, l = n.name, a = o[r] || (o[r] = /* @__PURE__ */ Object.create(null)), c = a[i] || (a[i] = F(r, i));
577
+ let u;
578
+ l in c.icons ? u = t.loaded : i === "" || c.missing.has(l) ? u = t.missing : u = t.pending;
579
+ const p = {
580
+ provider: r,
581
+ prefix: i,
582
+ name: l
583
+ };
584
+ u.push(p);
585
+ }), t;
586
+ }
587
+ function qe(e, t) {
588
+ e.forEach((o) => {
589
+ const s = o.loaderCallbacks;
590
+ s && (o.loaderCallbacks = s.filter((n) => n.id !== t));
591
+ });
592
+ }
593
+ function qt(e) {
594
+ e.pendingCallbacksFlag || (e.pendingCallbacksFlag = !0, setTimeout(() => {
595
+ e.pendingCallbacksFlag = !1;
596
+ const t = e.loaderCallbacks ? e.loaderCallbacks.slice(0) : [];
597
+ if (!t.length)
598
+ return;
599
+ let o = !1;
600
+ const s = e.provider, n = e.prefix;
601
+ t.forEach((r) => {
602
+ const i = r.icons, l = i.pending.length;
603
+ i.pending = i.pending.filter((a) => {
604
+ if (a.prefix !== n)
605
+ return !0;
606
+ const c = a.name;
607
+ if (e.icons[c])
608
+ i.loaded.push({
609
+ provider: s,
610
+ prefix: n,
611
+ name: c
612
+ });
613
+ else if (e.missing.has(c))
614
+ i.missing.push({
615
+ provider: s,
616
+ prefix: n,
617
+ name: c
618
+ });
619
+ else
620
+ return o = !0, !0;
621
+ return !1;
622
+ }), i.pending.length !== l && (o || qe([e], r.id), r.callback(
623
+ i.loaded.slice(0),
624
+ i.missing.slice(0),
625
+ i.pending.slice(0),
626
+ r.abort
627
+ ));
628
+ });
629
+ }));
630
+ }
631
+ let Vt = 0;
632
+ function Qt(e, t, o) {
633
+ const s = Vt++, n = qe.bind(null, o, s);
634
+ if (!t.pending.length)
635
+ return n;
636
+ const r = {
637
+ id: s,
638
+ icons: t,
639
+ callback: e,
640
+ abort: n
641
+ };
642
+ return o.forEach((i) => {
643
+ (i.loaderCallbacks || (i.loaderCallbacks = [])).push(r);
644
+ }), n;
645
+ }
646
+ function Ut(e, t = !0, o = !1) {
647
+ const s = [];
648
+ return e.forEach((n) => {
649
+ const r = typeof n == "string" ? W(n, t, o) : n;
650
+ r && s.push(r);
651
+ }), s;
652
+ }
653
+ var Gt = {
654
+ resources: [],
655
+ index: 0,
656
+ timeout: 2e3,
657
+ rotate: 750,
658
+ random: !1,
659
+ dataAfterTimeout: !1
660
+ };
661
+ function Wt(e, t, o, s) {
662
+ const n = e.resources.length, r = e.random ? Math.floor(Math.random() * n) : e.index;
663
+ let i;
664
+ if (e.random) {
665
+ let v = e.resources.slice(0);
666
+ for (i = []; v.length > 1; ) {
667
+ const x = Math.floor(Math.random() * v.length);
668
+ i.push(v[x]), v = v.slice(0, x).concat(v.slice(x + 1));
669
+ }
670
+ i = i.concat(v);
671
+ } else
672
+ i = e.resources.slice(r).concat(e.resources.slice(0, r));
673
+ const l = Date.now();
674
+ let a = "pending", c = 0, u, p = null, m = [], k = [];
675
+ typeof s == "function" && k.push(s);
676
+ function M() {
677
+ p && (clearTimeout(p), p = null);
678
+ }
679
+ function $() {
680
+ a === "pending" && (a = "aborted"), M(), m.forEach((v) => {
681
+ v.status === "pending" && (v.status = "aborted");
682
+ }), m = [];
683
+ }
684
+ function h(v, x) {
685
+ x && (k = []), typeof v == "function" && k.push(v);
686
+ }
687
+ function O() {
688
+ return {
689
+ startTime: l,
690
+ payload: t,
691
+ status: a,
692
+ queriesSent: c,
693
+ queriesPending: m.length,
694
+ subscribe: h,
695
+ abort: $
696
+ };
697
+ }
698
+ function j() {
699
+ a = "failed", k.forEach((v) => {
700
+ v(void 0, u);
701
+ });
702
+ }
703
+ function A() {
704
+ m.forEach((v) => {
705
+ v.status === "pending" && (v.status = "aborted");
706
+ }), m = [];
707
+ }
708
+ function S(v, x, R) {
709
+ const H = x !== "success";
710
+ switch (m = m.filter((P) => P !== v), a) {
711
+ case "pending":
712
+ break;
713
+ case "failed":
714
+ if (H || !e.dataAfterTimeout)
715
+ return;
716
+ break;
717
+ default:
718
+ return;
719
+ }
720
+ if (x === "abort") {
721
+ u = R, j();
722
+ return;
723
+ }
724
+ if (H) {
725
+ u = R, m.length || (i.length ? K() : j());
726
+ return;
727
+ }
728
+ if (M(), A(), !e.random) {
729
+ const P = e.resources.indexOf(v.resource);
730
+ P !== -1 && P !== e.index && (e.index = P);
731
+ }
732
+ a = "completed", k.forEach((P) => {
733
+ P(R);
734
+ });
735
+ }
736
+ function K() {
737
+ if (a !== "pending")
738
+ return;
739
+ M();
740
+ const v = i.shift();
741
+ if (v === void 0) {
742
+ if (m.length) {
743
+ p = setTimeout(() => {
744
+ M(), a === "pending" && (A(), j());
745
+ }, e.timeout);
746
+ return;
747
+ }
748
+ j();
749
+ return;
750
+ }
751
+ const x = {
752
+ status: "pending",
753
+ resource: v,
754
+ callback: (R, H) => {
755
+ S(x, R, H);
756
+ }
757
+ };
758
+ m.push(x), c++, p = setTimeout(K, e.rotate), o(v, t, x.callback);
759
+ }
760
+ return setTimeout(K), O;
761
+ }
762
+ function Ve(e) {
763
+ const t = {
764
+ ...Gt,
765
+ ...e
766
+ };
767
+ let o = [];
768
+ function s() {
769
+ o = o.filter((l) => l().status === "pending");
770
+ }
771
+ function n(l, a, c) {
772
+ const u = Wt(
773
+ t,
774
+ l,
775
+ a,
776
+ (p, m) => {
777
+ s(), c && c(p, m);
778
+ }
779
+ );
780
+ return o.push(u), u;
781
+ }
782
+ function r(l) {
783
+ return o.find((a) => l(a)) || null;
784
+ }
785
+ return {
786
+ query: n,
787
+ find: r,
788
+ setIndex: (l) => {
789
+ t.index = l;
790
+ },
791
+ getIndex: () => t.index,
792
+ cleanup: s
793
+ };
794
+ }
795
+ function be() {
796
+ }
797
+ const J = /* @__PURE__ */ Object.create(null);
798
+ function Zt(e) {
799
+ if (!J[e]) {
800
+ const t = de(e);
801
+ if (!t)
802
+ return;
803
+ const o = Ve(t), s = {
804
+ config: t,
805
+ redundancy: o
806
+ };
807
+ J[e] = s;
808
+ }
809
+ return J[e];
810
+ }
811
+ function Kt(e, t, o) {
812
+ let s, n;
813
+ if (typeof e == "string") {
814
+ const r = ne(e);
815
+ if (!r)
816
+ return o(void 0, 424), be;
817
+ n = r.send;
818
+ const i = Zt(e);
819
+ i && (s = i.redundancy);
820
+ } else {
821
+ const r = ue(e);
822
+ if (r) {
823
+ s = Ve(r);
824
+ const i = e.resources ? e.resources[0] : "", l = ne(i);
825
+ l && (n = l.send);
826
+ }
827
+ }
828
+ return !s || !n ? (o(void 0, 424), be) : s.query(t, n, o)().abort;
829
+ }
830
+ function we() {
831
+ }
832
+ function Yt(e) {
833
+ e.iconsLoaderFlag || (e.iconsLoaderFlag = !0, setTimeout(() => {
834
+ e.iconsLoaderFlag = !1, qt(e);
835
+ }));
836
+ }
837
+ function Jt(e) {
838
+ const t = [], o = [];
839
+ return e.forEach((s) => {
840
+ (s.match(Ee) ? t : o).push(s);
841
+ }), {
842
+ valid: t,
843
+ invalid: o
844
+ };
845
+ }
846
+ function z(e, t, o) {
847
+ function s() {
848
+ const n = e.pendingIcons;
849
+ t.forEach((r) => {
850
+ n && n.delete(r), e.icons[r] || e.missing.add(r);
851
+ });
852
+ }
853
+ if (o && typeof o == "object")
854
+ try {
855
+ if (!Be(e, o).length) {
856
+ s();
857
+ return;
858
+ }
859
+ } catch (n) {
860
+ console.error(n);
861
+ }
862
+ s(), Yt(e);
863
+ }
864
+ function ke(e, t) {
865
+ e instanceof Promise ? e.then((o) => {
866
+ t(o);
867
+ }).catch(() => {
868
+ t(null);
869
+ }) : t(e);
870
+ }
871
+ function Xt(e, t) {
872
+ e.iconsToLoad ? e.iconsToLoad = e.iconsToLoad.concat(t).sort() : e.iconsToLoad = t, e.iconsQueueFlag || (e.iconsQueueFlag = !0, setTimeout(() => {
873
+ e.iconsQueueFlag = !1;
874
+ const { provider: o, prefix: s } = e, n = e.iconsToLoad;
875
+ if (delete e.iconsToLoad, !n || !n.length)
876
+ return;
877
+ const r = e.loadIcon;
878
+ if (e.loadIcons && (n.length > 1 || !r)) {
879
+ ke(
880
+ e.loadIcons(n, s, o),
881
+ (u) => {
882
+ z(e, n, u);
883
+ }
884
+ );
885
+ return;
886
+ }
887
+ if (r) {
888
+ n.forEach((u) => {
889
+ const p = r(u, s, o);
890
+ ke(p, (m) => {
891
+ const k = m ? {
892
+ prefix: s,
893
+ icons: {
894
+ [u]: m
895
+ }
896
+ } : null;
897
+ z(e, [u], k);
898
+ });
899
+ });
900
+ return;
901
+ }
902
+ const { valid: i, invalid: l } = Jt(n);
903
+ if (l.length && z(e, l, null), !i.length)
904
+ return;
905
+ const a = s.match(Ee) ? ne(o) : null;
906
+ if (!a) {
907
+ z(e, i, null);
908
+ return;
909
+ }
910
+ a.prepare(o, s, i).forEach((u) => {
911
+ Kt(o, u, (p) => {
912
+ z(e, u.icons, p);
913
+ });
914
+ });
915
+ }));
916
+ }
917
+ const en = (e, t) => {
918
+ const o = Ut(e, !0, ze()), s = Ht(o);
919
+ if (!s.pending.length) {
920
+ let a = !0;
921
+ return t && setTimeout(() => {
922
+ a && t(
923
+ s.loaded,
924
+ s.missing,
925
+ s.pending,
926
+ we
927
+ );
928
+ }), () => {
929
+ a = !1;
930
+ };
931
+ }
932
+ const n = /* @__PURE__ */ Object.create(null), r = [];
933
+ let i, l;
934
+ return s.pending.forEach((a) => {
935
+ const { provider: c, prefix: u } = a;
936
+ if (u === l && c === i)
937
+ return;
938
+ i = c, l = u, r.push(F(c, u));
939
+ const p = n[c] || (n[c] = /* @__PURE__ */ Object.create(null));
940
+ p[u] || (p[u] = []);
941
+ }), s.pending.forEach((a) => {
942
+ const { provider: c, prefix: u, name: p } = a, m = F(c, u), k = m.pendingIcons || (m.pendingIcons = /* @__PURE__ */ new Set());
943
+ k.has(p) || (k.add(p), n[c][u].push(p));
944
+ }), r.forEach((a) => {
945
+ const c = n[a.provider][a.prefix];
946
+ c.length && Xt(a, c);
947
+ }), t ? Qt(t, s, r) : we;
948
+ };
949
+ function tn(e, t) {
950
+ const o = {
951
+ ...e
952
+ };
953
+ for (const s in t) {
954
+ const n = t[s], r = typeof n;
955
+ s in De ? (n === null || n && (r === "string" || r === "number")) && (o[s] = n) : r === typeof o[s] && (o[s] = s === "rotate" ? n % 4 : n);
956
+ }
957
+ return o;
958
+ }
959
+ const nn = /[\s,]+/;
960
+ function on(e, t) {
961
+ t.split(nn).forEach((o) => {
962
+ switch (o.trim()) {
963
+ case "horizontal":
964
+ e.hFlip = !0;
965
+ break;
966
+ case "vertical":
967
+ e.vFlip = !0;
968
+ break;
969
+ }
970
+ });
971
+ }
972
+ function sn(e, t = 0) {
973
+ const o = e.replace(/^-?[0-9.]*/, "");
974
+ function s(n) {
975
+ for (; n < 0; )
976
+ n += 4;
977
+ return n % 4;
978
+ }
979
+ if (o === "") {
980
+ const n = parseInt(e);
981
+ return isNaN(n) ? 0 : s(n);
982
+ } else if (o !== e) {
983
+ let n = 0;
984
+ switch (o) {
985
+ case "%":
986
+ n = 25;
987
+ break;
988
+ case "deg":
989
+ n = 90;
990
+ }
991
+ if (n) {
992
+ let r = parseFloat(e.slice(0, e.length - o.length));
993
+ return isNaN(r) ? 0 : (r = r / n, r % 1 === 0 ? s(r) : 0);
994
+ }
995
+ }
996
+ return t;
997
+ }
998
+ function rn(e, t) {
999
+ let o = e.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"';
1000
+ for (const s in t)
1001
+ o += " " + s + '="' + t[s] + '"';
1002
+ return '<svg xmlns="http://www.w3.org/2000/svg"' + o + ">" + e + "</svg>";
1003
+ }
1004
+ function ln(e) {
1005
+ return e.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(/</g, "%3C").replace(/>/g, "%3E").replace(/\s+/g, " ");
1006
+ }
1007
+ function an(e) {
1008
+ return "data:image/svg+xml," + ln(e);
1009
+ }
1010
+ function cn(e) {
1011
+ return 'url("' + an(e) + '")';
1012
+ }
1013
+ const $e = {
1014
+ ...He,
1015
+ inline: !1
1016
+ }, un = {
1017
+ xmlns: "http://www.w3.org/2000/svg",
1018
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
1019
+ "aria-hidden": !0,
1020
+ role: "img"
1021
+ }, fn = {
1022
+ display: "inline-block"
1023
+ }, oe = {
1024
+ backgroundColor: "currentColor"
1025
+ }, Qe = {
1026
+ backgroundColor: "transparent"
1027
+ }, _e = {
1028
+ Image: "var(--svg)",
1029
+ Repeat: "no-repeat",
1030
+ Size: "100% 100%"
1031
+ }, Le = {
1032
+ webkitMask: oe,
1033
+ mask: oe,
1034
+ background: Qe
1035
+ };
1036
+ for (const e in Le) {
1037
+ const t = Le[e];
1038
+ for (const o in _e)
1039
+ t[e + o] = _e[o];
1040
+ }
1041
+ const U = {};
1042
+ ["horizontal", "vertical"].forEach((e) => {
1043
+ const t = e.slice(0, 1) + "Flip";
1044
+ U[e + "-flip"] = t, U[e.slice(0, 1) + "-flip"] = t, U[e + "Flip"] = t;
1045
+ });
1046
+ function Se(e) {
1047
+ return e + (e.match(/^[-0-9.]+$/) ? "px" : "");
1048
+ }
1049
+ const xe = (e, t) => {
1050
+ const o = tn($e, t), s = { ...un }, n = t.mode || "svg", r = {}, i = t.style, l = typeof i == "object" && !(i instanceof Array) ? i : {};
1051
+ for (let $ in t) {
1052
+ const h = t[$];
1053
+ if (h !== void 0)
1054
+ switch ($) {
1055
+ // Properties to ignore
1056
+ case "icon":
1057
+ case "style":
1058
+ case "onLoad":
1059
+ case "mode":
1060
+ case "ssr":
1061
+ break;
1062
+ // Boolean attributes
1063
+ case "inline":
1064
+ case "hFlip":
1065
+ case "vFlip":
1066
+ o[$] = h === !0 || h === "true" || h === 1;
1067
+ break;
1068
+ // Flip as string: 'horizontal,vertical'
1069
+ case "flip":
1070
+ typeof h == "string" && on(o, h);
1071
+ break;
1072
+ // Color: override style
1073
+ case "color":
1074
+ r.color = h;
1075
+ break;
1076
+ // Rotation as string
1077
+ case "rotate":
1078
+ typeof h == "string" ? o[$] = sn(h) : typeof h == "number" && (o[$] = h);
1079
+ break;
1080
+ // Remove aria-hidden
1081
+ case "ariaHidden":
1082
+ case "aria-hidden":
1083
+ h !== !0 && h !== "true" && delete s["aria-hidden"];
1084
+ break;
1085
+ default: {
1086
+ const O = U[$];
1087
+ O ? (h === !0 || h === "true" || h === 1) && (o[O] = !0) : $e[$] === void 0 && (s[$] = h);
1088
+ }
1089
+ }
1090
+ }
1091
+ const a = It(e, o), c = a.attributes;
1092
+ if (o.inline && (r.verticalAlign = "-0.125em"), n === "svg") {
1093
+ s.style = {
1094
+ ...r,
1095
+ ...l
1096
+ }, Object.assign(s, c);
1097
+ let $ = 0, h = t.id;
1098
+ return typeof h == "string" && (h = h.replace(/-/g, "_")), s.innerHTML = Tt(a.body, h ? () => h + "ID" + $++ : "iconifyVue"), pe("svg", s);
1099
+ }
1100
+ const { body: u, width: p, height: m } = e, k = n === "mask" || (n === "bg" ? !1 : u.indexOf("currentColor") !== -1), M = rn(u, {
1101
+ ...c,
1102
+ width: p + "",
1103
+ height: m + ""
1104
+ });
1105
+ return s.style = {
1106
+ ...r,
1107
+ "--svg": cn(M),
1108
+ width: Se(c.width),
1109
+ height: Se(c.height),
1110
+ ...fn,
1111
+ ...k ? oe : Qe,
1112
+ ...l
1113
+ }, pe("span", s);
1114
+ };
1115
+ ze(!0);
1116
+ jt("", Dt);
1117
+ if (typeof document < "u" && typeof window < "u") {
1118
+ const e = window;
1119
+ if (e.IconifyPreload !== void 0) {
1120
+ const t = e.IconifyPreload, o = "Invalid IconifyPreload syntax.";
1121
+ typeof t == "object" && t !== null && (t instanceof Array ? t : [t]).forEach((s) => {
1122
+ try {
1123
+ // Check if item is an object and not null/array
1124
+ (typeof s != "object" || s === null || s instanceof Array || // Check for 'icons' and 'prefix'
1125
+ typeof s.icons != "object" || typeof s.prefix != "string" || // Add icon set
1126
+ !kt(s)) && console.error(o);
1127
+ } catch {
1128
+ console.error(o);
1129
+ }
1130
+ });
1131
+ }
1132
+ if (e.IconifyProviders !== void 0) {
1133
+ const t = e.IconifyProviders;
1134
+ if (typeof t == "object" && t !== null)
1135
+ for (let o in t) {
1136
+ const s = "IconifyProviders[" + o + "] is invalid.";
1137
+ try {
1138
+ const n = t[o];
1139
+ if (typeof n != "object" || !n || n.resources === void 0)
1140
+ continue;
1141
+ Pt(o, n) || console.error(s);
1142
+ } catch {
1143
+ console.error(s);
1144
+ }
1145
+ }
1146
+ }
1147
+ }
1148
+ const dn = {
1149
+ ...Z,
1150
+ body: ""
1151
+ }, Ce = L({
1152
+ // Do not inherit other attributes: it is handled by render()
1153
+ inheritAttrs: !1,
1154
+ // Set initial data
1155
+ data() {
1156
+ return {
1157
+ // Current icon name
1158
+ _name: "",
1159
+ // Loading
1160
+ _loadingIcon: null,
1161
+ // Mounted status
1162
+ iconMounted: !1,
1163
+ // Callback counter to trigger re-render
1164
+ counter: 0
1165
+ };
1166
+ },
1167
+ mounted() {
1168
+ this.iconMounted = !0;
1169
+ },
1170
+ unmounted() {
1171
+ this.abortLoading();
1172
+ },
1173
+ methods: {
1174
+ abortLoading() {
1175
+ this._loadingIcon && (this._loadingIcon.abort(), this._loadingIcon = null);
1176
+ },
1177
+ // Get data for icon to render or null
1178
+ getIcon(e, t, o) {
1179
+ if (typeof e == "object" && e !== null && typeof e.body == "string")
1180
+ return this._name = "", this.abortLoading(), {
1181
+ data: e
1182
+ };
1183
+ let s;
1184
+ if (typeof e != "string" || (s = W(e, !1, !0)) === null)
1185
+ return this.abortLoading(), null;
1186
+ let n = bt(s);
1187
+ if (!n)
1188
+ return (!this._loadingIcon || this._loadingIcon.name !== e) && (this.abortLoading(), this._name = "", n !== null && (this._loadingIcon = {
1189
+ name: e,
1190
+ abort: en([s], () => {
1191
+ this.counter++;
1192
+ })
1193
+ })), null;
1194
+ if (this.abortLoading(), this._name !== e && (this._name = e, t && t(e)), o) {
1195
+ n = Object.assign({}, n);
1196
+ const i = o(n.body, s.name, s.prefix, s.provider);
1197
+ typeof i == "string" && (n.body = i);
1198
+ }
1199
+ const r = ["iconify"];
1200
+ return s.prefix !== "" && r.push("iconify--" + s.prefix), s.provider !== "" && r.push("iconify--" + s.provider), { data: n, classes: r };
1201
+ }
1202
+ },
1203
+ // Render icon
1204
+ render() {
1205
+ this.counter;
1206
+ const e = this.$attrs, t = this.iconMounted || e.ssr ? this.getIcon(e.icon, e.onLoad, e.customise) : null;
1207
+ if (!t)
1208
+ return xe(dn, e);
1209
+ let o = e;
1210
+ return t.classes && (o = {
1211
+ ...e,
1212
+ class: (typeof e.class == "string" ? e.class + " " : "") + t.classes.join(" ")
1213
+ }), xe({
1214
+ ...Z,
1215
+ ...t.data
1216
+ }, o);
1217
+ }
1218
+ }), hn = { class: "logo" }, pn = ["alt", "src"], mn = {
1219
+ key: 1,
1220
+ class: "logo-default"
1221
+ }, gn = {
1222
+ name: "Logo"
1223
+ }, Ue = /* @__PURE__ */ L({
1224
+ ...gn,
1225
+ props: {
1226
+ alt: {
1227
+ default: void 0,
1228
+ type: String
1229
+ },
1230
+ route: {
1231
+ default: void 0,
1232
+ type: String
1233
+ },
1234
+ src: {
1235
+ default: void 0,
1236
+ type: String
1237
+ }
1238
+ },
1239
+ setup(e) {
1240
+ const t = e, { appName: o, appTitle: s, layout: n } = le(), r = N(() => {
1241
+ if (o)
1242
+ return o.replace("@", "").replace("/", " ");
1243
+ }), i = t.alt || n?.logoAlt || r.value || s || "My App", l = t.src || n?.logo, a = t.route || n?.logoRoute || "home";
1244
+ return (c, u) => {
1245
+ const p = Ie("router-link");
1246
+ return d(), g("div", hn, [
1247
+ f(c.$slots, "default", {}, () => [
1248
+ I(p, {
1249
+ to: { name: b(a) }
1250
+ }, {
1251
+ default: y(() => [
1252
+ b(l) ? (d(), g("img", {
1253
+ key: 0,
1254
+ alt: b(i),
1255
+ src: b(l)
1256
+ }, null, 8, pn)) : (d(), g("span", mn, [
1257
+ w("span", null, T(b(i)[0]), 1),
1258
+ w("span", null, T(b(i)), 1)
1259
+ ]))
1260
+ ]),
1261
+ _: 1
1262
+ }, 8, ["to"])
1263
+ ])
1264
+ ]);
1265
+ };
1266
+ }
1267
+ }), vn = {
1268
+ name: "MainMenu"
1269
+ }, yn = /* @__PURE__ */ L({
1270
+ ...vn,
1271
+ props: {
1272
+ routes: {
1273
+ required: !0,
1274
+ type: Array
1275
+ }
1276
+ },
1277
+ emits: ["close"],
1278
+ setup(e) {
1279
+ const t = e, o = ae(), s = Pe(), n = N(() => {
1280
+ let l = t.routes?.find(
1281
+ (a) => a.route === o?.name
1282
+ )?.route;
1283
+ return l || (l = r.value), l;
1284
+ }), r = N(() => {
1285
+ const l = o?.matched;
1286
+ if (l?.length > 1) {
1287
+ const a = l[l.length - 2];
1288
+ return i(a?.path);
1289
+ }
1290
+ return "";
1291
+ }), i = (l) => {
1292
+ const a = s.getRoutes().find((c) => c.path === l);
1293
+ return String(a?.name);
1294
+ };
1295
+ return (l, a) => (d(), C(b(it), {
1296
+ ref: "mainMenu",
1297
+ "active-route": n.value ?? "home",
1298
+ routes: e.routes,
1299
+ onChangeRoute: a[0] || (a[0] = (c) => l.$emit("close"))
1300
+ }, null, 8, ["active-route", "routes"]));
1301
+ }
1302
+ }), bn = ["data-expanded"], wn = {
1303
+ name: "AppHeader"
1304
+ }, Ge = /* @__PURE__ */ L({
1305
+ ...wn,
1306
+ props: {
1307
+ noLocaleSwitcher: Boolean,
1308
+ noLogo: Boolean,
1309
+ noMainMenu: Boolean
1310
+ },
1311
+ setup(e, { expose: t }) {
1312
+ const { layout: o } = le(), s = E(null), n = E(!1), r = o && o?.homeRoute ? o.homeRoute : void 0, i = () => {
1313
+ n.value = !1;
1314
+ }, l = () => {
1315
+ n.value = !n.value;
1316
+ };
1317
+ return rt(s, (a) => {
1318
+ n.value = !1;
1319
+ }), t({
1320
+ expanded: n
1321
+ }), (a, c) => (d(), g("header", {
1322
+ ref_key: "dzangolabVueAppHeader",
1323
+ ref: s
1324
+ }, [
1325
+ f(a.$slots, "logo", { class: "logo" }, () => [
1326
+ e.noLogo ? _("", !0) : (d(), C(Ue, {
1327
+ key: 0,
1328
+ route: b(r)
1329
+ }, null, 8, ["route"]))
1330
+ ]),
1331
+ w("nav", { "data-expanded": n.value }, [
1332
+ f(a.$slots, "menu", {}, () => [
1333
+ b(o)?.mainMenu && !e.noMainMenu ? (d(), C(yn, {
1334
+ key: 0,
1335
+ class: "main-menu",
1336
+ routes: b(o)?.mainMenu,
1337
+ onClose: i
1338
+ }, null, 8, ["routes"])) : _("", !0)
1339
+ ]),
1340
+ f(a.$slots, "userMenu"),
1341
+ f(a.$slots, "addon"),
1342
+ f(a.$slots, "locales", {}, () => [
1343
+ e.noLocaleSwitcher ? _("", !0) : (d(), C(b(re), {
1344
+ key: 0,
1345
+ class: "locales"
1346
+ }))
1347
+ ])
1348
+ ], 8, bn),
1349
+ w("div", {
1350
+ class: "toggle",
1351
+ onClick: l
1352
+ }, [
1353
+ f(a.$slots, "toggle", {}, () => [
1354
+ n.value ? (d(), C(b(Ce), {
1355
+ key: 0,
1356
+ icon: "fa6-solid:bars-staggered",
1357
+ height: "1.5rem"
1358
+ })) : (d(), C(b(Ce), {
1359
+ key: 1,
1360
+ icon: "fa6-solid:bars",
1361
+ height: "1.5rem"
1362
+ }))
1363
+ ])
1364
+ ])
1365
+ ], 512));
1366
+ }
1367
+ }), kn = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20stroke-width='0'%3e%3c/g%3e%3cg%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/g%3e%3cg%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M15.7071%204.29289C16.0976%204.68342%2016.0976%205.31658%2015.7071%205.70711L9.41421%2012L15.7071%2018.2929C16.0976%2018.6834%2016.0976%2019.3166%2015.7071%2019.7071C15.3166%2020.0976%2014.6834%2020.0976%2014.2929%2019.7071L7.29289%2012.7071C7.10536%2012.5196%207%2012.2652%207%2012C7%2011.7348%207.10536%2011.4804%207.29289%2011.2929L14.2929%204.29289C14.6834%203.90237%2015.3166%203.90237%2015.7071%204.29289Z'%20fill='%23ffffff'%3e%3c/path%3e%3c/g%3e%3c/svg%3e", We = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20stroke-width='0'%3e%3c/g%3e%3cg%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/g%3e%3cg%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.29289%204.29289C8.68342%203.90237%209.31658%203.90237%209.70711%204.29289L16.7071%2011.2929C17.0976%2011.6834%2017.0976%2012.3166%2016.7071%2012.7071L9.70711%2019.7071C9.31658%2020.0976%208.68342%2020.0976%208.29289%2019.7071C7.90237%2019.3166%207.90237%2018.6834%208.29289%2018.2929L14.5858%2012L8.29289%205.70711C7.90237%205.31658%207.90237%204.68342%208.29289%204.29289Z'%20fill='%23ffffff'%3e%3c/path%3e%3c/g%3e%3c/svg%3e", $n = { class: "nav-menu-item" }, _n = { key: 1 }, Ln = {
1368
+ key: 2,
1369
+ class: "item-name"
1370
+ }, Sn = {
1371
+ key: 3,
1372
+ class: "toggle-menu"
1373
+ }, xn = {
1374
+ key: 0,
1375
+ class: "sub-menu-item"
1376
+ }, Cn = {
1377
+ name: "NavMenuItem",
1378
+ components: {
1379
+ NavMenuItem: () => import("./NavMenuItem-BPQBXe7I.js")
1380
+ }
1381
+ }, In = /* @__PURE__ */ L({
1382
+ ...Cn,
1383
+ props: {
1384
+ item: {
1385
+ required: !0,
1386
+ type: Object
1387
+ },
1388
+ sidebarActive: {
1389
+ default: !0,
1390
+ required: !0,
1391
+ type: Boolean
1392
+ }
1393
+ },
1394
+ setup(e) {
1395
+ const t = e, o = ae(), s = Pe(), n = E(!1), r = N(() => {
1396
+ const u = o?.matched;
1397
+ if (u?.length > 1) {
1398
+ const p = u[u.length - 2];
1399
+ return a(p?.path);
1400
+ }
1401
+ return "";
1402
+ }), i = N(() => {
1403
+ let u = o.name === t.item?.routeName;
1404
+ return u || (t.item?.routeName ? u = !!r.value && r.value === t.item?.routeName : !t.item?.routeName && !t.item?.children?.length && o.name === r.value && (u = !0)), u;
1405
+ }), l = N(() => !t.sidebarActive && t.item.shortName), a = (u) => {
1406
+ const p = s.getRoutes().find((m) => m.path === u);
1407
+ return String(p?.name);
1408
+ }, c = () => {
1409
+ t.item.routeName ? s.push({ name: t.item.routeName }) : !t.item.routeName && !t.item.children?.length ? s.push({ name: r.value }) : n.value = !n.value;
1410
+ };
1411
+ return t.item.children?.length && (n.value = !!t.item.children.find(
1412
+ (u) => o.name === u?.routeName
1413
+ )), (u, p) => {
1414
+ const m = Ie("NavMenuItem", !0);
1415
+ return d(), g("div", $n, [
1416
+ w("a", {
1417
+ class: q([{ active: i.value }, "link"]),
1418
+ "aria-label": "open menu",
1419
+ onClick: c
1420
+ }, [
1421
+ e.item.icon ? (d(), g("i", {
1422
+ key: 0,
1423
+ class: q([
1424
+ "icon",
1425
+ e.item.icon,
1426
+ { "icon-only": !l.value && !e.sidebarActive }
1427
+ ])
1428
+ }, null, 2)) : _("", !0),
1429
+ l.value ? (d(), g("span", _n, T(e.item.shortName), 1)) : _("", !0),
1430
+ e.sidebarActive ? (d(), g("span", Ln, T(e.item.name), 1)) : _("", !0),
1431
+ e.item.children && e.item.children.length ? (d(), g("span", Sn, [
1432
+ (d(), g("svg", {
1433
+ class: q({ "up-chevron": n.value }),
1434
+ viewBox: "0 0 24 24",
1435
+ fill: "none",
1436
+ xmlns: "http://www.w3.org/2000/svg"
1437
+ }, p[0] || (p[0] = [
1438
+ w("path", {
1439
+ "fill-rule": "evenodd",
1440
+ "clip-rule": "evenodd",
1441
+ d: "M4.29289 8.29289C4.68342 7.90237 5.31658 7.90237 5.70711 8.29289L12 14.5858L18.2929 8.29289C18.6834 7.90237 19.3166 7.90237 19.7071 8.29289C20.0976 8.68342 20.0976 9.31658 19.7071 9.70711L12.7071 16.7071C12.3166 17.0976 11.6834 17.0976 11.2929 16.7071L4.29289 9.70711C3.90237 9.31658 3.90237 8.68342 4.29289 8.29289Z",
1442
+ fill: "currentColor"
1443
+ }, null, -1)
1444
+ ]), 2))
1445
+ ])) : _("", !0)
1446
+ ], 2),
1447
+ I(Me, { name: "fade" }, {
1448
+ default: y(() => [
1449
+ e.item.children && e.item.children.length && n.value ? (d(), g("div", xn, [
1450
+ (d(!0), g(Ae, null, ie(e.item.children, (k, M) => (d(), C(m, {
1451
+ key: k.name + "-" + M,
1452
+ item: k,
1453
+ "sidebar-active": e.sidebarActive
1454
+ }, null, 8, ["item", "sidebar-active"]))), 128))
1455
+ ])) : _("", !0)
1456
+ ]),
1457
+ _: 1
1458
+ })
1459
+ ]);
1460
+ };
1461
+ }
1462
+ }), Mn = { class: "nav-menu" }, An = {
1463
+ key: 0,
1464
+ class: "menu"
1465
+ }, Nn = {
1466
+ name: "NavMenu"
1467
+ }, Tn = /* @__PURE__ */ L({
1468
+ ...Nn,
1469
+ props: {
1470
+ menu: {
1471
+ required: !0,
1472
+ type: Array
1473
+ },
1474
+ sidebarActive: {
1475
+ default: !0,
1476
+ required: !0,
1477
+ type: Boolean
1478
+ }
1479
+ },
1480
+ setup(e) {
1481
+ const t = e, o = N(() => t.menu?.map((s) => {
1482
+ if (s.hide)
1483
+ return null;
1484
+ const n = s.children?.filter((r) => !r.hide) || [];
1485
+ return s.children?.length && !n.length ? null : {
1486
+ ...s,
1487
+ children: n.length ? n : void 0
1488
+ };
1489
+ }).filter(Boolean));
1490
+ return (s, n) => (d(), g("nav", Mn, [
1491
+ o.value?.length > 0 ? (d(), g("div", An, [
1492
+ (d(!0), g(Ae, null, ie(o.value, (r, i) => (d(), C(In, {
1493
+ key: r.name + "-" + i,
1494
+ item: r,
1495
+ "sidebar-active": e.sidebarActive
1496
+ }, null, 8, ["item", "sidebar-active"]))), 128))
1497
+ ])) : _("", !0)
1498
+ ]));
1499
+ }
1500
+ }), jn = {
1501
+ key: 0,
1502
+ class: "sidebar"
1503
+ }, Pn = {
1504
+ key: 0,
1505
+ class: "header"
1506
+ }, En = { class: "logo" }, On = { class: "title" }, Fn = {
1507
+ key: 0,
1508
+ alt: "minimize sidebar",
1509
+ src: kn
1510
+ }, Rn = {
1511
+ key: 1,
1512
+ class: "extend",
1513
+ alt: "extend sidebar",
1514
+ src: We
1515
+ }, Bn = { class: "sidebar-menu-wrapper" }, zn = { class: "nav" }, Dn = {
1516
+ key: 1,
1517
+ class: "footer"
1518
+ }, Hn = {
1519
+ key: 0,
1520
+ alt: "show sidebar",
1521
+ src: We
1522
+ }, qn = {
1523
+ name: "Sidebar"
1524
+ }, Ze = /* @__PURE__ */ L({
1525
+ ...qn,
1526
+ props: {
1527
+ menu: {
1528
+ required: !0,
1529
+ type: Array
1530
+ },
1531
+ noHeader: {
1532
+ default: !1,
1533
+ type: Boolean
1534
+ }
1535
+ },
1536
+ setup(e, { expose: t }) {
1537
+ const o = e, s = N(() => r.value ? !1 : !o.menu?.filter((l) => !!l.shortName)?.length), n = Ne(), r = E(!0), i = () => {
1538
+ window.innerWidth >= 1025 ? r.value = !0 : o.noHeader || (r.value = !1);
1539
+ };
1540
+ return Te(() => {
1541
+ window.removeEventListener("resize", i);
1542
+ }), window.addEventListener("resize", i), i(), t({
1543
+ sidebarActive: r
1544
+ }), (l, a) => s.value ? (d(), g("div", {
1545
+ key: 1,
1546
+ class: "no-sidebar",
1547
+ onClick: a[1] || (a[1] = (c) => r.value = !0)
1548
+ }, [
1549
+ r.value ? _("", !0) : (d(), g("img", Hn))
1550
+ ])) : (d(), g("div", jn, [
1551
+ e.noHeader ? _("", !0) : (d(), g("div", Pn, [
1552
+ w("div", En, [
1553
+ I(Ue)
1554
+ ]),
1555
+ w("div", On, [
1556
+ f(l.$slots, "title")
1557
+ ]),
1558
+ w("div", {
1559
+ class: "toggle",
1560
+ onClick: a[0] || (a[0] = (c) => r.value = !r.value)
1561
+ }, [
1562
+ I(Me, { name: "sidebar-toggle" }, {
1563
+ default: y(() => [
1564
+ r.value ? (d(), g("img", Fn)) : (d(), g("img", Rn))
1565
+ ]),
1566
+ _: 1
1567
+ })
1568
+ ])
1569
+ ])),
1570
+ w("div", Bn, [
1571
+ f(l.$slots, "default"),
1572
+ w("ul", zn, [
1573
+ f(l.$slots, "links", {}, () => [
1574
+ I(Tn, {
1575
+ menu: e.menu,
1576
+ "sidebar-active": r.value
1577
+ }, null, 8, ["menu", "sidebar-active"])
1578
+ ]),
1579
+ f(l.$slots, "afterNavLinks")
1580
+ ]),
1581
+ f(l.$slots, "afterSidebarMenu")
1582
+ ]),
1583
+ b(n).footer ? (d(), g("div", Dn, [
1584
+ f(l.$slots, "footer")
1585
+ ])) : _("", !0)
1586
+ ]));
1587
+ }
1588
+ }), Vn = { class: "content" }, Qn = {
1589
+ name: "StickyCollapsibleFooter"
1590
+ }, po = /* @__PURE__ */ L({
1591
+ ...Qn,
1592
+ props: {
1593
+ fixed: {
1594
+ default: !0,
1595
+ type: Boolean
1596
+ }
1597
+ },
1598
+ setup(e) {
1599
+ return (t, o) => (d(), g("footer", {
1600
+ class: q(`sticky-collapsible ${e.fixed ? "fixed" : ""}`)
1601
+ }, [
1602
+ w("div", Vn, [
1603
+ f(t.$slots, "default")
1604
+ ])
1605
+ ], 2));
1606
+ }
1607
+ }), Un = et({
1608
+ loader: () => Promise.resolve().then(() => to),
1609
+ timeout: 3e3
1610
+ }), Gn = {
1611
+ name: "Layout"
1612
+ }, Wn = /* @__PURE__ */ L({
1613
+ ...Gn,
1614
+ props: {
1615
+ defaultLayout: {
1616
+ default: Un,
1617
+ type: Object
1618
+ }
1619
+ },
1620
+ setup(e) {
1621
+ const t = e, o = ae(), s = Ne(), n = Object.keys(s);
1622
+ let r = tt(t.defaultLayout);
1623
+ const i = N(() => nt(r.value));
1624
+ return X(
1625
+ () => o.meta,
1626
+ async (l) => {
1627
+ if (l?.layout)
1628
+ try {
1629
+ r.value = l.layout;
1630
+ } catch {
1631
+ r.value = t.defaultLayout;
1632
+ }
1633
+ else
1634
+ r.value = t.defaultLayout;
1635
+ }
1636
+ ), (l, a) => (d(), C(ot(i.value), null, je({
1637
+ default: y(() => [
1638
+ f(l.$slots, "default")
1639
+ ]),
1640
+ _: 2
1641
+ }, [
1642
+ ie(b(n), (c) => ({
1643
+ name: c,
1644
+ fn: y(() => [
1645
+ f(l.$slots, c)
1646
+ ])
1647
+ }))
1648
+ ]), 1024));
1649
+ }
1650
+ }), Zn = { class: "layout basic" }, Kn = {
1651
+ name: "BasicLayout"
1652
+ }, mo = /* @__PURE__ */ L({
1653
+ ...Kn,
1654
+ props: {
1655
+ noLocaleSwitcher: Boolean
1656
+ },
1657
+ setup(e) {
1658
+ return (t, o) => (d(), g("div", Zn, [
1659
+ f(t.$slots, "header", {}, () => [
1660
+ I(Ge, { "no-locale-switcher": e.noLocaleSwitcher }, {
1661
+ logo: y(() => [
1662
+ f(t.$slots, "logo")
1663
+ ]),
1664
+ addon: y(() => [
1665
+ f(t.$slots, "addon")
1666
+ ]),
1667
+ menu: y(() => [
1668
+ f(t.$slots, "menu")
1669
+ ]),
1670
+ userMenu: y(() => [
1671
+ f(t.$slots, "userMenu")
1672
+ ]),
1673
+ locales: y(() => [
1674
+ f(t.$slots, "locales")
1675
+ ]),
1676
+ _: 3
1677
+ }, 8, ["no-locale-switcher"])
1678
+ ]),
1679
+ w("main", null, [
1680
+ f(t.$slots, "default")
1681
+ ]),
1682
+ f(t.$slots, "footer", {}, () => [
1683
+ I(ce, null, {
1684
+ copyright: y(() => [
1685
+ f(t.$slots, "copyright")
1686
+ ]),
1687
+ social: y(() => [
1688
+ f(t.$slots, "social")
1689
+ ]),
1690
+ version: y(() => [
1691
+ f(t.$slots, "version")
1692
+ ]),
1693
+ _: 3
1694
+ })
1695
+ ])
1696
+ ]));
1697
+ }
1698
+ }), Yn = {
1699
+ name: "NullLayout"
1700
+ }, Jn = (e, t) => {
1701
+ const o = e.__vccOpts || e;
1702
+ for (const [s, n] of t)
1703
+ o[s] = n;
1704
+ return o;
1705
+ };
1706
+ function Xn(e, t, o, s, n, r) {
1707
+ return f(e.$slots, "default");
1708
+ }
1709
+ const eo = /* @__PURE__ */ Jn(Yn, [["render", Xn]]), to = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1710
+ __proto__: null,
1711
+ default: eo
1712
+ }, Symbol.toStringTag, { value: "Module" })), Ke = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20stroke-width='0'%3e%3c/g%3e%3cg%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/g%3e%3cg%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M12%207C12.2652%207%2012.5196%207.10536%2012.7071%207.29289L19.7071%2014.2929C20.0976%2014.6834%2020.0976%2015.3166%2019.7071%2015.7071C19.3166%2016.0976%2018.6834%2016.0976%2018.2929%2015.7071L12%209.41421L5.70711%2015.7071C5.31658%2016.0976%204.68342%2016.0976%204.29289%2015.7071C3.90237%2015.3166%203.90237%2014.6834%204.29289%2014.2929L11.2929%207.29289C11.4804%207.10536%2011.7348%207%2012%207Z'%20fill='%23ffffff'%3e%3c/path%3e%3c/g%3e%3c/svg%3e", no = { class: "layout sidebar-header-layout" }, go = /* @__PURE__ */ L({
1713
+ __name: "SidebarHeaderLayout",
1714
+ props: {
1715
+ menu: {
1716
+ required: !0,
1717
+ type: Array
1718
+ },
1719
+ noLocaleSwitcher: Boolean,
1720
+ noSidebarHeader: {
1721
+ default: !1,
1722
+ type: Boolean
1723
+ },
1724
+ userMenuLocation: {
1725
+ default: "sidebar",
1726
+ type: String,
1727
+ validator: (e) => ["header", "sidebar"].includes(e)
1728
+ }
1729
+ },
1730
+ setup(e) {
1731
+ const t = E(), o = E(), s = E(!1);
1732
+ X(
1733
+ () => t.value?.expanded,
1734
+ (r) => {
1735
+ r && (o.value.sidebarActive = !0);
1736
+ }
1737
+ ), X(
1738
+ () => o.value?.sidebarActive,
1739
+ (r) => {
1740
+ r || (t.value.expanded = !1);
1741
+ }
1742
+ );
1743
+ const n = () => {
1744
+ window.innerWidth >= 576 ? s.value = !1 : s.value = !0;
1745
+ };
1746
+ return Te(() => {
1747
+ window.removeEventListener("resize", n);
1748
+ }), window.addEventListener("resize", n), n(), (r, i) => (d(), g("div", no, [
1749
+ f(r.$slots, "header", {}, () => [
1750
+ I(Ge, {
1751
+ ref_key: "appHeader",
1752
+ ref: t,
1753
+ "no-locale-switcher": e.noLocaleSwitcher,
1754
+ "no-logo": "",
1755
+ "no-main-menu": ""
1756
+ }, je({
1757
+ locales: y(() => [
1758
+ f(r.$slots, "locales")
1759
+ ]),
1760
+ _: 2
1761
+ }, [
1762
+ e.userMenuLocation === "header" ? {
1763
+ name: "userMenu",
1764
+ fn: y(() => [
1765
+ f(r.$slots, "userMenu")
1766
+ ]),
1767
+ key: "0"
1768
+ } : void 0
1769
+ ]), 1032, ["no-locale-switcher"])
1770
+ ]),
1771
+ I(Ze, {
1772
+ ref_key: "sidebar",
1773
+ ref: o,
1774
+ menu: e.menu,
1775
+ "no-header": e.noSidebarHeader,
1776
+ class: "layout-sidebar"
1777
+ }, {
1778
+ afterNavLinks: y(() => [
1779
+ f(r.$slots, "afterNavLinks")
1780
+ ]),
1781
+ afterSidebarMenu: y(() => [
1782
+ f(r.$slots, "afterSidebarMenu"),
1783
+ e.userMenuLocation === "sidebar" ? f(r.$slots, "userMenu", { key: 0 }) : _("", !0),
1784
+ s.value ? f(r.$slots, "locales", { key: 1 }, () => [
1785
+ e.noLocaleSwitcher ? _("", !0) : (d(), C(b(re), {
1786
+ key: 0,
1787
+ class: "locales"
1788
+ }, {
1789
+ icon: y(() => i[0] || (i[0] = [
1790
+ w("img", {
1791
+ src: Ke,
1792
+ alt: "toggle icon"
1793
+ }, null, -1)
1794
+ ])),
1795
+ _: 1
1796
+ }))
1797
+ ]) : _("", !0)
1798
+ ]),
1799
+ footer: y(() => [
1800
+ f(r.$slots, "footer", {}, () => [
1801
+ I(ce)
1802
+ ])
1803
+ ]),
1804
+ _: 3
1805
+ }, 8, ["menu", "no-header"]),
1806
+ w("main", null, [
1807
+ f(r.$slots, "default")
1808
+ ])
1809
+ ]));
1810
+ }
1811
+ }), oo = { class: "layout sidebar-only" }, vo = /* @__PURE__ */ L({
1812
+ __name: "SidebarOnlyLayout",
1813
+ props: {
1814
+ menu: {
1815
+ required: !0,
1816
+ type: Array
1817
+ },
1818
+ noLocaleSwitcher: Boolean,
1819
+ noHeader: {
1820
+ default: !1,
1821
+ type: Boolean
1822
+ }
1823
+ },
1824
+ setup(e) {
1825
+ return (t, o) => (d(), g("div", oo, [
1826
+ I(Ze, {
1827
+ menu: e.menu,
1828
+ "no-header": e.noHeader,
1829
+ class: "layout-sidebar"
1830
+ }, {
1831
+ afterNavLinks: y(() => [
1832
+ f(t.$slots, "afterNavLinks")
1833
+ ]),
1834
+ afterSidebarMenu: y(() => [
1835
+ f(t.$slots, "afterSidebarMenu"),
1836
+ f(t.$slots, "userMenu"),
1837
+ f(t.$slots, "locales", {}, () => [
1838
+ e.noLocaleSwitcher ? _("", !0) : (d(), C(b(re), {
1839
+ key: 0,
1840
+ class: "locales"
1841
+ }, {
1842
+ icon: y(() => o[0] || (o[0] = [
1843
+ w("img", {
1844
+ src: Ke,
1845
+ alt: "toggle icon"
1846
+ }, null, -1)
1847
+ ])),
1848
+ _: 1
1849
+ }))
1850
+ ])
1851
+ ]),
1852
+ footer: y(() => [
1853
+ I(ce)
1854
+ ]),
1855
+ _: 3
1856
+ }, 8, ["menu", "no-header"]),
1857
+ w("main", null, [
1858
+ f(t.$slots, "default")
1859
+ ])
1860
+ ]));
1861
+ }
1862
+ }), so = { copyright: { disclaimer: "All rights reserved." } }, ro = { copyright: { disclaimer: "Tous droits réservés." } }, se = {
1863
+ en: so,
1864
+ fr: ro
1865
+ }, Ye = Symbol.for(
1866
+ "dzangolab.vue-layout.translations"
1867
+ ), io = () => st(Ye, se), yo = {
1868
+ install: (e, t) => {
1869
+ e.component("Layout", Wn);
1870
+ const o = t?.translations ? Xe(se, t.translations) : se;
1871
+ e.provide(Ye, o);
1872
+ }
1873
+ };
1874
+ export {
1875
+ eo as N,
1876
+ In as _,
1877
+ ce as a,
1878
+ Ge as b,
1879
+ mo as c,
1880
+ ut as d,
1881
+ Wn as e,
1882
+ Ue as f,
1883
+ yn as g,
1884
+ Ze as h,
1885
+ go as i,
1886
+ vo as j,
1887
+ po as k,
1888
+ yo as p,
1889
+ io as u
1890
+ };