@kong-ui-public/app-layout 0.11.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 +201 -0
  2. package/README.md +105 -0
  3. package/dist/app-layout.es.js +1893 -0
  4. package/dist/app-layout.es.js.map +1 -0
  5. package/dist/app-layout.umd.js +12 -0
  6. package/dist/app-layout.umd.js.map +1 -0
  7. package/dist/style.css +1 -0
  8. package/dist/types/components/AppLayout.vue.d.ts +95 -0
  9. package/dist/types/components/AppLayout.vue.d.ts.map +1 -0
  10. package/dist/types/components/ExternalLink.vue.d.ts +32 -0
  11. package/dist/types/components/ExternalLink.vue.d.ts.map +1 -0
  12. package/dist/types/components/errors/AppError.vue.d.ts +10 -0
  13. package/dist/types/components/errors/AppError.vue.d.ts.map +1 -0
  14. package/dist/types/components/helpers/isValidUrl.d.ts +7 -0
  15. package/dist/types/components/helpers/isValidUrl.d.ts.map +1 -0
  16. package/dist/types/components/icons/BananaSplit.vue.d.ts +3 -0
  17. package/dist/types/components/icons/BananaSplit.vue.d.ts.map +1 -0
  18. package/dist/types/components/navbar/AppNavbar.vue.d.ts +42 -0
  19. package/dist/types/components/navbar/AppNavbar.vue.d.ts.map +1 -0
  20. package/dist/types/components/navbar/NavbarDropdownMenu.vue.d.ts +55 -0
  21. package/dist/types/components/navbar/NavbarDropdownMenu.vue.d.ts.map +1 -0
  22. package/dist/types/components/sidebar/AppSidebar.vue.d.ts +154 -0
  23. package/dist/types/components/sidebar/AppSidebar.vue.d.ts.map +1 -0
  24. package/dist/types/components/sidebar/ItemBadge.vue.d.ts +17 -0
  25. package/dist/types/components/sidebar/ItemBadge.vue.d.ts.map +1 -0
  26. package/dist/types/components/sidebar/ProfileIcon.vue.d.ts +3 -0
  27. package/dist/types/components/sidebar/ProfileIcon.vue.d.ts.map +1 -0
  28. package/dist/types/components/sidebar/SidebarFooter.vue.d.ts +32 -0
  29. package/dist/types/components/sidebar/SidebarFooter.vue.d.ts.map +1 -0
  30. package/dist/types/components/sidebar/SidebarItem.vue.d.ts +27 -0
  31. package/dist/types/components/sidebar/SidebarItem.vue.d.ts.map +1 -0
  32. package/dist/types/components/sidebar/SidebarToggle.vue.d.ts +17 -0
  33. package/dist/types/components/sidebar/SidebarToggle.vue.d.ts.map +1 -0
  34. package/dist/types/composables/index.d.ts +2 -0
  35. package/dist/types/composables/index.d.ts.map +1 -0
  36. package/dist/types/composables/useDebounce.d.ts +4 -0
  37. package/dist/types/composables/useDebounce.d.ts.map +1 -0
  38. package/dist/types/index.d.ts +18 -0
  39. package/dist/types/index.d.ts.map +1 -0
  40. package/dist/types/types/index.d.ts +3 -0
  41. package/dist/types/types/index.d.ts.map +1 -0
  42. package/dist/types/types/navbar.d.ts +6 -0
  43. package/dist/types/types/navbar.d.ts.map +1 -0
  44. package/dist/types/types/sidebar.d.ts +35 -0
  45. package/dist/types/types/sidebar.d.ts.map +1 -0
  46. package/package.json +65 -0
@@ -0,0 +1,1893 @@
1
+ import { defineComponent as Y, useCssVars as Qe, unref as h, computed as x, openBlock as m, createElementBlock as E, createElementVNode as T, renderSlot as L, toDisplayString as re, createCommentVNode as F, resolveComponent as Ne, normalizeClass as ae, createBlock as Z, resolveDynamicComponent as hn, withCtx as V, withKeys as mn, createVNode as Re, Fragment as be, renderList as ye, withModifiers as Rt, ref as z, onMounted as et, watch as Ae, onUnmounted as gn, Comment as yn, cloneVNode as _n, useSlots as Lt, onBeforeUnmount as Zt, createTextVNode as $e, nextTick as wn, pushScopeId as tt, popScopeId as at, reactive as Ye, watchEffect as Tn, toRef as kn, createSlots as Et, createStaticVNode as Sn } from "vue";
2
+ import { KIcon as Pt, KTooltip as In, KDropdownMenu as Cn, KDropdownItem as xn } from "@kong/kongponents";
3
+ const On = { class: "kong-ui-app-navbar" }, En = { class: "header-content" }, Nn = { class: "mobile-header-left" }, An = /* @__PURE__ */ Y({
4
+ __name: "AppNavbar",
5
+ props: {
6
+ topOffset: {
7
+ type: Number,
8
+ default: 0
9
+ },
10
+ leftOffset: {
11
+ type: Number,
12
+ default: 240
13
+ // Defaults to the width of AppSidebar.vue
14
+ },
15
+ zIndex: {
16
+ type: Number,
17
+ default: 3
18
+ }
19
+ },
20
+ setup(n) {
21
+ const t = n;
22
+ Qe((r) => ({
23
+ "769793c2": h(a).top,
24
+ a0e75924: h(a).zIndex,
25
+ "5c627706": h(a).left
26
+ }));
27
+ const a = x(() => ({
28
+ top: t.topOffset ? `${t.topOffset}px` : "0",
29
+ left: t.leftOffset ? `${t.leftOffset}px` : "0",
30
+ zIndex: t.zIndex
31
+ }));
32
+ return (r, c) => (m(), E("header", On, [
33
+ T("div", En, [
34
+ T("div", Nn, [
35
+ L(r.$slots, "mobile-sidebar-toggle", {}, void 0, !0),
36
+ L(r.$slots, "mobile-logo", {}, void 0, !0)
37
+ ]),
38
+ L(r.$slots, "default", {}, void 0, !0)
39
+ ])
40
+ ]));
41
+ }
42
+ });
43
+ const q = (n, t) => {
44
+ const a = n.__vccOpts || n;
45
+ for (const [r, c] of t)
46
+ a[r] = c;
47
+ return a;
48
+ }, $n = /* @__PURE__ */ q(An, [["__scopeId", "data-v-bc6741e9"]]), Fn = ["title"], Dn = /* @__PURE__ */ Y({
49
+ __name: "ItemBadge",
50
+ props: {
51
+ count: {
52
+ type: Number,
53
+ required: !0,
54
+ default: void 0
55
+ }
56
+ },
57
+ setup(n) {
58
+ const t = n, a = 99, r = x(() => t.count ? t.count > a ? `${a}+` : t.count.toString() : "");
59
+ return (c, u) => h(r) ? (m(), E("div", {
60
+ key: 0,
61
+ class: "item-badge",
62
+ title: (n.count || 0) > a ? String(n.count) : void 0
63
+ }, re(h(r)), 9, Fn)) : F("", !0);
64
+ }
65
+ });
66
+ const Bn = /* @__PURE__ */ q(Dn, [["__scopeId", "data-v-353c13e0"]]), Mn = ["data-testid"], Rn = ["aria-controls", "aria-expanded", "href", "target", "onClick", "onKeypress"], Ln = {
67
+ key: 0,
68
+ class: "sidebar-item-icon"
69
+ }, Zn = { class: "sidebar-item-name-container" }, Pn = { class: "sidebar-item-name has-tooltip" }, jn = {
70
+ key: 2,
71
+ class: "sidebar-item-label truncate-text truncate-20"
72
+ }, Hn = ["id"], Kn = /* @__PURE__ */ Y({
73
+ __name: "SidebarItem",
74
+ props: {
75
+ item: {
76
+ type: Object,
77
+ required: !0
78
+ },
79
+ subnavItem: {
80
+ type: Boolean,
81
+ default: !1
82
+ }
83
+ },
84
+ emits: ["click"],
85
+ setup(n, { emit: t }) {
86
+ const a = n, r = x(() => typeof a.item.to != "string" ? !1 : !!a.item.newWindow || !!a.item.external || a.item.to.startsWith("http")), c = x(() => !a.item.to || typeof a.item.to != "string" || !a.item.newWindow ? !1 : a.item.newWindow && (a.item.to.startsWith("http") || a.item.to.startsWith("/"))), u = x(() => a.subnavItem && a.item.badgeCount !== void 0), s = (_) => {
87
+ t("click", _);
88
+ }, b = (_, w, A) => {
89
+ s(w), typeof A == "function" && (_.preventDefault(), A());
90
+ };
91
+ return (_, w) => {
92
+ var O;
93
+ const A = Ne("SidebarItem", !0);
94
+ return m(), E("li", {
95
+ class: ae([n.subnavItem ? "sidebar-item-secondary" : "sidebar-item-primary", { expanded: n.item.expanded }, { active: n.item.active }]),
96
+ "data-testid": n.item.testId ? `sidebar-item-${n.item.testId}` : void 0
97
+ }, [
98
+ (m(), Z(hn(h(r) ? "div" : "router-link"), {
99
+ custom: h(r) ? void 0 : !0,
100
+ to: !h(r) && !h(c) ? n.item.to : void 0
101
+ }, {
102
+ default: V((y) => {
103
+ var k, B;
104
+ return [
105
+ T("a", {
106
+ "aria-controls": (k = n.item.items) != null && k.length && n.item.expanded ? `subnav-${n.item.key}` : void 0,
107
+ "aria-expanded": (B = n.item.items) != null && B.length && n.item.expanded ? !0 : void 0,
108
+ class: ae(["sidebar-item-link", { "sidebar-item-external-link": h(c), "router-link": !h(r) }]),
109
+ href: h(r) ? String(n.item.to || "#") : y == null ? void 0 : y.href,
110
+ target: h(c) ? "_blank" : void 0,
111
+ onClick: (P) => b(P, n.item, y == null ? void 0 : y.navigate),
112
+ onKeypress: mn((P) => b(P, n.item, y == null ? void 0 : y.navigate), ["enter"])
113
+ }, [
114
+ T("div", {
115
+ class: ae(["sidebar-item-display", { "has-label": !!n.item.label && n.item.expanded, "has-badge": h(u) }])
116
+ }, [
117
+ n.item.icon ? (m(), E("div", Ln, [
118
+ Re(h(Pt), {
119
+ color: n.item.active || n.item.expanded ? "var(--white, #fff)" : "#B5BECD",
120
+ icon: String(n.item.icon),
121
+ size: "20"
122
+ }, null, 8, ["color", "icon"])
123
+ ])) : F("", !0),
124
+ T("div", Zn, [
125
+ (n.subnavItem ? n.item.name.length < 25 : n.item.name.length < 18) ? (m(), E("div", {
126
+ key: 0,
127
+ class: ae(["sidebar-item-name truncate-text", [n.subnavItem ? "has-badge-max-width truncate-24" : "truncate-17"]])
128
+ }, re(n.item.name), 3)) : (m(), Z(h(In), {
129
+ key: 1,
130
+ class: "sidebar-item-tooltip",
131
+ label: n.item.name,
132
+ placement: "right",
133
+ "position-fixed": ""
134
+ }, {
135
+ default: V(() => [
136
+ T("div", Pn, [
137
+ T("span", {
138
+ class: ae(["truncate-text", [n.subnavItem ? "truncate-20" : "truncate-17", { "has-badge-max-width": h(u) }]])
139
+ }, re(n.item.name), 3)
140
+ ])
141
+ ]),
142
+ _: 1
143
+ }, 8, ["label"])),
144
+ n.item.label && n.item.expanded ? (m(), E("div", jn, re(n.item.label), 1)) : F("", !0)
145
+ ]),
146
+ h(u) ? (m(), Z(Bn, {
147
+ key: 1,
148
+ count: n.item.badgeCount
149
+ }, null, 8, ["count"])) : F("", !0)
150
+ ], 2)
151
+ ], 42, Rn)
152
+ ];
153
+ }),
154
+ _: 1
155
+ }, 8, ["custom", "to"])),
156
+ (O = n.item.items) != null && O.length && n.item.expanded ? (m(), E("ul", {
157
+ key: 0,
158
+ id: `subnav-${n.item.key}`,
159
+ class: "level-secondary"
160
+ }, [
161
+ (m(!0), E(be, null, ye(n.item.items, (y) => (m(), Z(A, {
162
+ key: y.name,
163
+ item: y,
164
+ "subnav-item": !0,
165
+ onClick: (k) => s(y)
166
+ }, null, 8, ["item", "onClick"]))), 128))
167
+ ], 8, Hn)) : F("", !0)
168
+ ], 10, Mn);
169
+ };
170
+ }
171
+ });
172
+ const Nt = /* @__PURE__ */ q(Kn, [["__scopeId", "data-v-37098230"]]), zn = {}, Vn = {
173
+ class: "profile-icon",
174
+ fill: "none",
175
+ height: "30",
176
+ width: "30",
177
+ xmlns: "http://www.w3.org/2000/svg"
178
+ }, Wn = /* @__PURE__ */ T("path", {
179
+ d: "M0 15C0 6.716 6.716 0 15 0c8.284 0 15 6.716 15 15 0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15Z",
180
+ fill: "#0A7FAE"
181
+ }, null, -1), Gn = /* @__PURE__ */ T("path", {
182
+ d: "M12.613 15 8.5 18.115V23h13v-4.885L17.648 15h-5.035ZM15 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z",
183
+ fill: "#fff"
184
+ }, null, -1), Un = [
185
+ Wn,
186
+ Gn
187
+ ];
188
+ function qn(n, t) {
189
+ return m(), E("svg", Vn, Un);
190
+ }
191
+ const Yn = /* @__PURE__ */ q(zn, [["render", qn]]), Xn = {
192
+ "aria-haspopup": "true",
193
+ "aria-label": "Profile Menu",
194
+ class: "sidebar-footer"
195
+ }, Jn = { class: "sidebar-profile-link" }, Qn = { class: "sidebar-item-icon" }, er = { class: "sidebar-profile-item-container" }, tr = { class: "sidebar-profile-dropdown-container" }, ar = {
196
+ key: 0,
197
+ class: "sidebar-profile-name"
198
+ }, nr = { class: "sidebar-profile-name" }, rr = /* @__PURE__ */ Y({
199
+ __name: "SidebarFooter",
200
+ props: {
201
+ name: {
202
+ type: String,
203
+ required: !0
204
+ },
205
+ itemCount: {
206
+ type: Number,
207
+ required: !0,
208
+ default: 0
209
+ }
210
+ },
211
+ setup(n) {
212
+ const t = n, a = x(() => t.itemCount > 0);
213
+ return (r, c) => (m(), E("nav", Xn, [
214
+ T("div", Jn, [
215
+ T("div", Qn, [
216
+ Re(Yn)
217
+ ]),
218
+ T("div", er, [
219
+ T("div", tr, [
220
+ h(a) ? (m(), Z(h(Cn), {
221
+ key: 1,
222
+ "kpop-attributes": { placement: "right", popoverClasses: "ml-5 sidebar-profile-menu-popover", target: ".sidebar-footer" },
223
+ width: "240"
224
+ }, {
225
+ items: V(() => [
226
+ L(r.$slots, "default", {}, void 0, !0)
227
+ ]),
228
+ default: V(() => [
229
+ T("a", {
230
+ "aria-label": "Open Profile Menu",
231
+ class: "profile-dropdown-trigger",
232
+ role: "button",
233
+ tabindex: "0",
234
+ onClick: c[0] || (c[0] = Rt(() => {
235
+ }, ["prevent"]))
236
+ }, [
237
+ T("span", nr, re(n.name), 1)
238
+ ])
239
+ ]),
240
+ _: 3
241
+ }, 8, ["kpop-attributes"])) : (m(), E("div", ar, re(n.name), 1))
242
+ ])
243
+ ])
244
+ ])
245
+ ]));
246
+ }
247
+ });
248
+ const ir = /* @__PURE__ */ q(rr, [["__scopeId", "data-v-b53ca5d3"]]);
249
+ /*!
250
+ * tabbable 6.0.1
251
+ * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
252
+ */
253
+ var jt = ["input", "select", "textarea", "a[href]", "button", "[tabindex]:not(slot)", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])', "details>summary:first-of-type", "details"], Fe = /* @__PURE__ */ jt.join(","), Ht = typeof Element > "u", le = Ht ? function() {
254
+ } : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector, De = !Ht && Element.prototype.getRootNode ? function(n) {
255
+ return n.getRootNode();
256
+ } : function(n) {
257
+ return n.ownerDocument;
258
+ }, Kt = function(t, a, r) {
259
+ var c = Array.prototype.slice.apply(t.querySelectorAll(Fe));
260
+ return a && le.call(t, Fe) && c.unshift(t), c = c.filter(r), c;
261
+ }, zt = function n(t, a, r) {
262
+ for (var c = [], u = Array.from(t); u.length; ) {
263
+ var s = u.shift();
264
+ if (s.tagName === "SLOT") {
265
+ var b = s.assignedElements(), _ = b.length ? b : s.children, w = n(_, !0, r);
266
+ r.flatten ? c.push.apply(c, w) : c.push({
267
+ scopeParent: s,
268
+ candidates: w
269
+ });
270
+ } else {
271
+ var A = le.call(s, Fe);
272
+ A && r.filter(s) && (a || !t.includes(s)) && c.push(s);
273
+ var O = s.shadowRoot || // check for an undisclosed shadow
274
+ typeof r.getShadowRoot == "function" && r.getShadowRoot(s), y = !r.shadowRootFilter || r.shadowRootFilter(s);
275
+ if (O && y) {
276
+ var k = n(O === !0 ? s.children : O.children, !0, r);
277
+ r.flatten ? c.push.apply(c, k) : c.push({
278
+ scopeParent: s,
279
+ candidates: k
280
+ });
281
+ } else
282
+ u.unshift.apply(u, s.children);
283
+ }
284
+ }
285
+ return c;
286
+ }, Vt = function(t, a) {
287
+ return t.tabIndex < 0 && (a || /^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName) || t.isContentEditable) && isNaN(parseInt(t.getAttribute("tabindex"), 10)) ? 0 : t.tabIndex;
288
+ }, or = function(t, a) {
289
+ return t.tabIndex === a.tabIndex ? t.documentOrder - a.documentOrder : t.tabIndex - a.tabIndex;
290
+ }, Wt = function(t) {
291
+ return t.tagName === "INPUT";
292
+ }, sr = function(t) {
293
+ return Wt(t) && t.type === "hidden";
294
+ }, cr = function(t) {
295
+ var a = t.tagName === "DETAILS" && Array.prototype.slice.apply(t.children).some(function(r) {
296
+ return r.tagName === "SUMMARY";
297
+ });
298
+ return a;
299
+ }, lr = function(t, a) {
300
+ for (var r = 0; r < t.length; r++)
301
+ if (t[r].checked && t[r].form === a)
302
+ return t[r];
303
+ }, ur = function(t) {
304
+ if (!t.name)
305
+ return !0;
306
+ var a = t.form || De(t), r = function(b) {
307
+ return a.querySelectorAll('input[type="radio"][name="' + b + '"]');
308
+ }, c;
309
+ if (typeof window < "u" && typeof window.CSS < "u" && typeof window.CSS.escape == "function")
310
+ c = r(window.CSS.escape(t.name));
311
+ else
312
+ try {
313
+ c = r(t.name);
314
+ } catch (s) {
315
+ return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s", s.message), !1;
316
+ }
317
+ var u = lr(c, t.form);
318
+ return !u || u === t;
319
+ }, dr = function(t) {
320
+ return Wt(t) && t.type === "radio";
321
+ }, fr = function(t) {
322
+ return dr(t) && !ur(t);
323
+ }, vr = function(t) {
324
+ for (var a, r = De(t).host, c = !!((a = r) !== null && a !== void 0 && a.ownerDocument.contains(r) || t.ownerDocument.contains(t)); !c && r; ) {
325
+ var u;
326
+ r = De(r).host, c = !!((u = r) !== null && u !== void 0 && u.ownerDocument.contains(r));
327
+ }
328
+ return c;
329
+ }, At = function(t) {
330
+ var a = t.getBoundingClientRect(), r = a.width, c = a.height;
331
+ return r === 0 && c === 0;
332
+ }, br = function(t, a) {
333
+ var r = a.displayCheck, c = a.getShadowRoot;
334
+ if (getComputedStyle(t).visibility === "hidden")
335
+ return !0;
336
+ var u = le.call(t, "details>summary:first-of-type"), s = u ? t.parentElement : t;
337
+ if (le.call(s, "details:not([open]) *"))
338
+ return !0;
339
+ if (!r || r === "full" || r === "legacy-full") {
340
+ if (typeof c == "function") {
341
+ for (var b = t; t; ) {
342
+ var _ = t.parentElement, w = De(t);
343
+ if (_ && !_.shadowRoot && c(_) === !0)
344
+ return At(t);
345
+ t.assignedSlot ? t = t.assignedSlot : !_ && w !== t.ownerDocument ? t = w.host : t = _;
346
+ }
347
+ t = b;
348
+ }
349
+ if (vr(t))
350
+ return !t.getClientRects().length;
351
+ if (r !== "legacy-full")
352
+ return !0;
353
+ } else if (r === "non-zero-area")
354
+ return At(t);
355
+ return !1;
356
+ }, pr = function(t) {
357
+ if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))
358
+ for (var a = t.parentElement; a; ) {
359
+ if (a.tagName === "FIELDSET" && a.disabled) {
360
+ for (var r = 0; r < a.children.length; r++) {
361
+ var c = a.children.item(r);
362
+ if (c.tagName === "LEGEND")
363
+ return le.call(a, "fieldset[disabled] *") ? !0 : !c.contains(t);
364
+ }
365
+ return !0;
366
+ }
367
+ a = a.parentElement;
368
+ }
369
+ return !1;
370
+ }, Be = function(t, a) {
371
+ return !(a.disabled || sr(a) || br(a, t) || // For a details element with a summary, the summary element gets the focus
372
+ cr(a) || pr(a));
373
+ }, Je = function(t, a) {
374
+ return !(fr(a) || Vt(a) < 0 || !Be(t, a));
375
+ }, hr = function(t) {
376
+ var a = parseInt(t.getAttribute("tabindex"), 10);
377
+ return !!(isNaN(a) || a >= 0);
378
+ }, mr = function n(t) {
379
+ var a = [], r = [];
380
+ return t.forEach(function(c, u) {
381
+ var s = !!c.scopeParent, b = s ? c.scopeParent : c, _ = Vt(b, s), w = s ? n(c.candidates) : b;
382
+ _ === 0 ? s ? a.push.apply(a, w) : a.push(b) : r.push({
383
+ documentOrder: u,
384
+ tabIndex: _,
385
+ item: c,
386
+ isScope: s,
387
+ content: w
388
+ });
389
+ }), r.sort(or).reduce(function(c, u) {
390
+ return u.isScope ? c.push.apply(c, u.content) : c.push(u.content), c;
391
+ }, []).concat(a);
392
+ }, gr = function(t, a) {
393
+ a = a || {};
394
+ var r;
395
+ return a.getShadowRoot ? r = zt([t], a.includeContainer, {
396
+ filter: Je.bind(null, a),
397
+ flatten: !1,
398
+ getShadowRoot: a.getShadowRoot,
399
+ shadowRootFilter: hr
400
+ }) : r = Kt(t, a.includeContainer, Je.bind(null, a)), mr(r);
401
+ }, yr = function(t, a) {
402
+ a = a || {};
403
+ var r;
404
+ return a.getShadowRoot ? r = zt([t], a.includeContainer, {
405
+ filter: Be.bind(null, a),
406
+ flatten: !0,
407
+ getShadowRoot: a.getShadowRoot
408
+ }) : r = Kt(t, a.includeContainer, Be.bind(null, a)), r;
409
+ }, xe = function(t, a) {
410
+ if (a = a || {}, !t)
411
+ throw new Error("No node provided");
412
+ return le.call(t, Fe) === !1 ? !1 : Je(a, t);
413
+ }, _r = /* @__PURE__ */ jt.concat("iframe").join(","), Xe = function(t, a) {
414
+ if (a = a || {}, !t)
415
+ throw new Error("No node provided");
416
+ return le.call(t, _r) === !1 ? !1 : Be(a, t);
417
+ };
418
+ /*!
419
+ * focus-trap 7.2.0
420
+ * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
421
+ */
422
+ function $t(n, t) {
423
+ var a = Object.keys(n);
424
+ if (Object.getOwnPropertySymbols) {
425
+ var r = Object.getOwnPropertySymbols(n);
426
+ t && (r = r.filter(function(c) {
427
+ return Object.getOwnPropertyDescriptor(n, c).enumerable;
428
+ })), a.push.apply(a, r);
429
+ }
430
+ return a;
431
+ }
432
+ function Ft(n) {
433
+ for (var t = 1; t < arguments.length; t++) {
434
+ var a = arguments[t] != null ? arguments[t] : {};
435
+ t % 2 ? $t(Object(a), !0).forEach(function(r) {
436
+ wr(n, r, a[r]);
437
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(n, Object.getOwnPropertyDescriptors(a)) : $t(Object(a)).forEach(function(r) {
438
+ Object.defineProperty(n, r, Object.getOwnPropertyDescriptor(a, r));
439
+ });
440
+ }
441
+ return n;
442
+ }
443
+ function wr(n, t, a) {
444
+ return t = kr(t), t in n ? Object.defineProperty(n, t, {
445
+ value: a,
446
+ enumerable: !0,
447
+ configurable: !0,
448
+ writable: !0
449
+ }) : n[t] = a, n;
450
+ }
451
+ function Tr(n, t) {
452
+ if (typeof n != "object" || n === null)
453
+ return n;
454
+ var a = n[Symbol.toPrimitive];
455
+ if (a !== void 0) {
456
+ var r = a.call(n, t || "default");
457
+ if (typeof r != "object")
458
+ return r;
459
+ throw new TypeError("@@toPrimitive must return a primitive value.");
460
+ }
461
+ return (t === "string" ? String : Number)(n);
462
+ }
463
+ function kr(n) {
464
+ var t = Tr(n, "string");
465
+ return typeof t == "symbol" ? t : String(t);
466
+ }
467
+ var Dt = {
468
+ activateTrap: function(t, a) {
469
+ if (t.length > 0) {
470
+ var r = t[t.length - 1];
471
+ r !== a && r.pause();
472
+ }
473
+ var c = t.indexOf(a);
474
+ c === -1 || t.splice(c, 1), t.push(a);
475
+ },
476
+ deactivateTrap: function(t, a) {
477
+ var r = t.indexOf(a);
478
+ r !== -1 && t.splice(r, 1), t.length > 0 && t[t.length - 1].unpause();
479
+ }
480
+ }, Sr = function(t) {
481
+ return t.tagName && t.tagName.toLowerCase() === "input" && typeof t.select == "function";
482
+ }, Ir = function(t) {
483
+ return t.key === "Escape" || t.key === "Esc" || t.keyCode === 27;
484
+ }, _e = function(t) {
485
+ return t.key === "Tab" || t.keyCode === 9;
486
+ }, Cr = function(t) {
487
+ return _e(t) && !t.shiftKey;
488
+ }, xr = function(t) {
489
+ return _e(t) && t.shiftKey;
490
+ }, Bt = function(t) {
491
+ return setTimeout(t, 0);
492
+ }, Mt = function(t, a) {
493
+ var r = -1;
494
+ return t.every(function(c, u) {
495
+ return a(c) ? (r = u, !1) : !0;
496
+ }), r;
497
+ }, ge = function(t) {
498
+ for (var a = arguments.length, r = new Array(a > 1 ? a - 1 : 0), c = 1; c < a; c++)
499
+ r[c - 1] = arguments[c];
500
+ return typeof t == "function" ? t.apply(void 0, r) : t;
501
+ }, Oe = function(t) {
502
+ return t.target.shadowRoot && typeof t.composedPath == "function" ? t.composedPath()[0] : t.target;
503
+ }, Or = [], Er = function(t, a) {
504
+ var r = (a == null ? void 0 : a.document) || document, c = (a == null ? void 0 : a.trapStack) || Or, u = Ft({
505
+ returnFocusOnDeactivate: !0,
506
+ escapeDeactivates: !0,
507
+ delayInitialFocus: !0,
508
+ isKeyForward: Cr,
509
+ isKeyBackward: xr
510
+ }, a), s = {
511
+ // containers given to createFocusTrap()
512
+ // @type {Array<HTMLElement>}
513
+ containers: [],
514
+ // list of objects identifying tabbable nodes in `containers` in the trap
515
+ // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap
516
+ // is active, but the trap should never get to a state where there isn't at least one group
517
+ // with at least one tabbable node in it (that would lead to an error condition that would
518
+ // result in an error being thrown)
519
+ // @type {Array<{
520
+ // container: HTMLElement,
521
+ // tabbableNodes: Array<HTMLElement>, // empty if none
522
+ // focusableNodes: Array<HTMLElement>, // empty if none
523
+ // firstTabbableNode: HTMLElement|null,
524
+ // lastTabbableNode: HTMLElement|null,
525
+ // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined
526
+ // }>}
527
+ containerGroups: [],
528
+ // same order/length as `containers` list
529
+ // references to objects in `containerGroups`, but only those that actually have
530
+ // tabbable nodes in them
531
+ // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__
532
+ // the same length
533
+ tabbableGroups: [],
534
+ nodeFocusedBeforeActivation: null,
535
+ mostRecentlyFocusedNode: null,
536
+ active: !1,
537
+ paused: !1,
538
+ // timer ID for when delayInitialFocus is true and initial focus in this trap
539
+ // has been delayed during activation
540
+ delayInitialFocusTimer: void 0
541
+ }, b, _ = function(l, d, p) {
542
+ return l && l[d] !== void 0 ? l[d] : u[p || d];
543
+ }, w = function(l) {
544
+ return s.containerGroups.findIndex(function(d) {
545
+ var p = d.container, C = d.tabbableNodes;
546
+ return p.contains(l) || // fall back to explicit tabbable search which will take into consideration any
547
+ // web components if the `tabbableOptions.getShadowRoot` option was used for
548
+ // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
549
+ // look inside web components even if open)
550
+ C.find(function(g) {
551
+ return g === l;
552
+ });
553
+ });
554
+ }, A = function(l) {
555
+ var d = u[l];
556
+ if (typeof d == "function") {
557
+ for (var p = arguments.length, C = new Array(p > 1 ? p - 1 : 0), g = 1; g < p; g++)
558
+ C[g - 1] = arguments[g];
559
+ d = d.apply(void 0, C);
560
+ }
561
+ if (d === !0 && (d = void 0), !d) {
562
+ if (d === void 0 || d === !1)
563
+ return d;
564
+ throw new Error("`".concat(l, "` was specified but was not a node, or did not return a node"));
565
+ }
566
+ var N = d;
567
+ if (typeof d == "string" && (N = r.querySelector(d), !N))
568
+ throw new Error("`".concat(l, "` as selector refers to no known node"));
569
+ return N;
570
+ }, O = function() {
571
+ var l = A("initialFocus");
572
+ if (l === !1)
573
+ return !1;
574
+ if (l === void 0)
575
+ if (w(r.activeElement) >= 0)
576
+ l = r.activeElement;
577
+ else {
578
+ var d = s.tabbableGroups[0], p = d && d.firstTabbableNode;
579
+ l = p || A("fallbackFocus");
580
+ }
581
+ if (!l)
582
+ throw new Error("Your focus-trap needs to have at least one focusable element");
583
+ return l;
584
+ }, y = function() {
585
+ if (s.containerGroups = s.containers.map(function(l) {
586
+ var d = gr(l, u.tabbableOptions), p = yr(l, u.tabbableOptions);
587
+ return {
588
+ container: l,
589
+ tabbableNodes: d,
590
+ focusableNodes: p,
591
+ firstTabbableNode: d.length > 0 ? d[0] : null,
592
+ lastTabbableNode: d.length > 0 ? d[d.length - 1] : null,
593
+ /**
594
+ * Finds the __tabbable__ node that follows the given node in the specified direction,
595
+ * in this container, if any.
596
+ * @param {HTMLElement} node
597
+ * @param {boolean} [forward] True if going in forward tab order; false if going
598
+ * in reverse.
599
+ * @returns {HTMLElement|undefined} The next tabbable node, if any.
600
+ */
601
+ nextTabbableNode: function(g) {
602
+ var N = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, f = p.findIndex(function(R) {
603
+ return R === g;
604
+ });
605
+ if (!(f < 0))
606
+ return N ? p.slice(f + 1).find(function(R) {
607
+ return xe(R, u.tabbableOptions);
608
+ }) : p.slice(0, f).reverse().find(function(R) {
609
+ return xe(R, u.tabbableOptions);
610
+ });
611
+ }
612
+ };
613
+ }), s.tabbableGroups = s.containerGroups.filter(function(l) {
614
+ return l.tabbableNodes.length > 0;
615
+ }), s.tabbableGroups.length <= 0 && !A("fallbackFocus"))
616
+ throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
617
+ }, k = function I(l) {
618
+ if (l !== !1 && l !== r.activeElement) {
619
+ if (!l || !l.focus) {
620
+ I(O());
621
+ return;
622
+ }
623
+ l.focus({
624
+ preventScroll: !!u.preventScroll
625
+ }), s.mostRecentlyFocusedNode = l, Sr(l) && l.select();
626
+ }
627
+ }, B = function(l) {
628
+ var d = A("setReturnFocus", l);
629
+ return d || (d === !1 ? !1 : l);
630
+ }, P = function(l) {
631
+ var d = Oe(l);
632
+ if (!(w(d) >= 0)) {
633
+ if (ge(u.clickOutsideDeactivates, l)) {
634
+ b.deactivate({
635
+ // if, on deactivation, we should return focus to the node originally-focused
636
+ // when the trap was activated (or the configured `setReturnFocus` node),
637
+ // then assume it's also OK to return focus to the outside node that was
638
+ // just clicked, causing deactivation, as long as that node is focusable;
639
+ // if it isn't focusable, then return focus to the original node focused
640
+ // on activation (or the configured `setReturnFocus` node)
641
+ // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,
642
+ // which will result in the outside click setting focus to the node
643
+ // that was clicked, whether it's focusable or not; by setting
644
+ // `returnFocus: true`, we'll attempt to re-focus the node originally-focused
645
+ // on activation (or the configured `setReturnFocus` node)
646
+ returnFocus: u.returnFocusOnDeactivate && !Xe(d, u.tabbableOptions)
647
+ });
648
+ return;
649
+ }
650
+ ge(u.allowOutsideClick, l) || l.preventDefault();
651
+ }
652
+ }, X = function(l) {
653
+ var d = Oe(l), p = w(d) >= 0;
654
+ p || d instanceof Document ? p && (s.mostRecentlyFocusedNode = d) : (l.stopImmediatePropagation(), k(s.mostRecentlyFocusedNode || O()));
655
+ }, H = function(l) {
656
+ var d = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, p = Oe(l);
657
+ y();
658
+ var C = null;
659
+ if (s.tabbableGroups.length > 0) {
660
+ var g = w(p), N = g >= 0 ? s.containerGroups[g] : void 0;
661
+ if (g < 0)
662
+ d ? C = s.tabbableGroups[s.tabbableGroups.length - 1].lastTabbableNode : C = s.tabbableGroups[0].firstTabbableNode;
663
+ else if (d) {
664
+ var f = Mt(s.tabbableGroups, function(pe) {
665
+ var S = pe.firstTabbableNode;
666
+ return p === S;
667
+ });
668
+ if (f < 0 && (N.container === p || Xe(p, u.tabbableOptions) && !xe(p, u.tabbableOptions) && !N.nextTabbableNode(p, !1)) && (f = g), f >= 0) {
669
+ var R = f === 0 ? s.tabbableGroups.length - 1 : f - 1, ie = s.tabbableGroups[R];
670
+ C = ie.lastTabbableNode;
671
+ } else
672
+ _e(l) || (C = N.nextTabbableNode(p, !1));
673
+ } else {
674
+ var J = Mt(s.tabbableGroups, function(pe) {
675
+ var S = pe.lastTabbableNode;
676
+ return p === S;
677
+ });
678
+ if (J < 0 && (N.container === p || Xe(p, u.tabbableOptions) && !xe(p, u.tabbableOptions) && !N.nextTabbableNode(p)) && (J = g), J >= 0) {
679
+ var Q = J === s.tabbableGroups.length - 1 ? 0 : J + 1, Le = s.tabbableGroups[Q];
680
+ C = Le.firstTabbableNode;
681
+ } else
682
+ _e(l) || (C = N.nextTabbableNode(p));
683
+ }
684
+ } else
685
+ C = A("fallbackFocus");
686
+ C && (_e(l) && l.preventDefault(), k(C));
687
+ }, G = function(l) {
688
+ if (Ir(l) && ge(u.escapeDeactivates, l) !== !1) {
689
+ l.preventDefault(), b.deactivate();
690
+ return;
691
+ }
692
+ (u.isKeyForward(l) || u.isKeyBackward(l)) && H(l, u.isKeyBackward(l));
693
+ }, $ = function(l) {
694
+ var d = Oe(l);
695
+ w(d) >= 0 || ge(u.clickOutsideDeactivates, l) || ge(u.allowOutsideClick, l) || (l.preventDefault(), l.stopImmediatePropagation());
696
+ }, M = function() {
697
+ if (s.active)
698
+ return Dt.activateTrap(c, b), s.delayInitialFocusTimer = u.delayInitialFocus ? Bt(function() {
699
+ k(O());
700
+ }) : k(O()), r.addEventListener("focusin", X, !0), r.addEventListener("mousedown", P, {
701
+ capture: !0,
702
+ passive: !1
703
+ }), r.addEventListener("touchstart", P, {
704
+ capture: !0,
705
+ passive: !1
706
+ }), r.addEventListener("click", $, {
707
+ capture: !0,
708
+ passive: !1
709
+ }), r.addEventListener("keydown", G, {
710
+ capture: !0,
711
+ passive: !1
712
+ }), b;
713
+ }, W = function() {
714
+ if (s.active)
715
+ return r.removeEventListener("focusin", X, !0), r.removeEventListener("mousedown", P, !0), r.removeEventListener("touchstart", P, !0), r.removeEventListener("click", $, !0), r.removeEventListener("keydown", G, !0), b;
716
+ };
717
+ return b = {
718
+ get active() {
719
+ return s.active;
720
+ },
721
+ get paused() {
722
+ return s.paused;
723
+ },
724
+ activate: function(l) {
725
+ if (s.active)
726
+ return this;
727
+ var d = _(l, "onActivate"), p = _(l, "onPostActivate"), C = _(l, "checkCanFocusTrap");
728
+ C || y(), s.active = !0, s.paused = !1, s.nodeFocusedBeforeActivation = r.activeElement, d && d();
729
+ var g = function() {
730
+ C && y(), M(), p && p();
731
+ };
732
+ return C ? (C(s.containers.concat()).then(g, g), this) : (g(), this);
733
+ },
734
+ deactivate: function(l) {
735
+ if (!s.active)
736
+ return this;
737
+ var d = Ft({
738
+ onDeactivate: u.onDeactivate,
739
+ onPostDeactivate: u.onPostDeactivate,
740
+ checkCanReturnFocus: u.checkCanReturnFocus
741
+ }, l);
742
+ clearTimeout(s.delayInitialFocusTimer), s.delayInitialFocusTimer = void 0, W(), s.active = !1, s.paused = !1, Dt.deactivateTrap(c, b);
743
+ var p = _(d, "onDeactivate"), C = _(d, "onPostDeactivate"), g = _(d, "checkCanReturnFocus"), N = _(d, "returnFocus", "returnFocusOnDeactivate");
744
+ p && p();
745
+ var f = function() {
746
+ Bt(function() {
747
+ N && k(B(s.nodeFocusedBeforeActivation)), C && C();
748
+ });
749
+ };
750
+ return N && g ? (g(B(s.nodeFocusedBeforeActivation)).then(f, f), this) : (f(), this);
751
+ },
752
+ pause: function() {
753
+ return s.paused || !s.active ? this : (s.paused = !0, W(), this);
754
+ },
755
+ unpause: function() {
756
+ return !s.paused || !s.active ? this : (s.paused = !1, y(), M(), this);
757
+ },
758
+ updateContainerElements: function(l) {
759
+ var d = [].concat(l).filter(Boolean);
760
+ return s.containers = d.map(function(p) {
761
+ return typeof p == "string" ? r.querySelector(p) : p;
762
+ }), s.active && y(), this;
763
+ }
764
+ }, b.updateContainerElements(t), b;
765
+ };
766
+ /*!
767
+ * focus-trap-vue v4.0.0
768
+ * (c) 2022 Eduardo San Martin Morote
769
+ * @license MIT
770
+ */
771
+ const Nr = {
772
+ escapeDeactivates: {
773
+ type: Boolean,
774
+ default: !0
775
+ },
776
+ returnFocusOnDeactivate: {
777
+ type: Boolean,
778
+ default: !0
779
+ },
780
+ allowOutsideClick: {
781
+ type: [Boolean, Function],
782
+ default: !0
783
+ },
784
+ clickOutsideDeactivates: [Boolean, Function],
785
+ initialFocus: [String, Function, Boolean],
786
+ fallbackFocus: [String, Function],
787
+ checkCanFocusTrap: Function,
788
+ checkCanReturnFocus: Function,
789
+ delayInitialFocus: { type: Boolean, default: !0 },
790
+ document: Object,
791
+ preventScroll: Boolean,
792
+ setReturnFocus: [Object, String, Boolean, Function],
793
+ tabbableOptions: Object
794
+ }, Ar = Y({
795
+ props: Object.assign({
796
+ active: {
797
+ // TODO: could be options for activate but what about the options for deactivating?
798
+ type: Boolean,
799
+ default: !0
800
+ }
801
+ }, Nr),
802
+ emits: [
803
+ "update:active",
804
+ "activate",
805
+ "postActivate",
806
+ "deactivate",
807
+ "postDeactivate"
808
+ ],
809
+ render() {
810
+ return this.renderImpl();
811
+ },
812
+ setup(n, { slots: t, emit: a }) {
813
+ let r;
814
+ const c = z(null), u = x(() => {
815
+ const b = c.value;
816
+ return b && (b instanceof HTMLElement ? b : b.$el);
817
+ }), s = () => r || (r = Er(u.value, {
818
+ escapeDeactivates: n.escapeDeactivates,
819
+ allowOutsideClick: n.allowOutsideClick,
820
+ returnFocusOnDeactivate: n.returnFocusOnDeactivate,
821
+ clickOutsideDeactivates: n.clickOutsideDeactivates,
822
+ onActivate: () => {
823
+ a("update:active", !0), a("activate");
824
+ },
825
+ onDeactivate: () => {
826
+ a("update:active", !1), a("deactivate");
827
+ },
828
+ onPostActivate: () => a("postActivate"),
829
+ onPostDeactivate: () => a("postDeactivate"),
830
+ initialFocus: n.initialFocus,
831
+ fallbackFocus: n.fallbackFocus,
832
+ tabbableOptions: n.tabbableOptions
833
+ }));
834
+ return et(() => {
835
+ Ae(() => n.active, (b) => {
836
+ b && u.value ? s().activate() : r && (r.deactivate(), (!u.value || u.value.nodeType === Node.COMMENT_NODE) && (r = null));
837
+ }, { immediate: !0, flush: "post" });
838
+ }), gn(() => {
839
+ r && r.deactivate(), r = null;
840
+ }), {
841
+ activate() {
842
+ s(), r.activate();
843
+ },
844
+ deactivate() {
845
+ r && r.deactivate();
846
+ },
847
+ renderImpl() {
848
+ if (!t.default)
849
+ return null;
850
+ const b = t.default().filter((w) => w.type !== yn);
851
+ return !b || !b.length || b.length > 1 ? (console.error("[focus-trap-vue]: FocusTrap requires exactly one child."), b) : _n(b[0], { ref: c });
852
+ }
853
+ };
854
+ }
855
+ });
856
+ function Gt() {
857
+ return {
858
+ debounce: (t, a) => {
859
+ let r;
860
+ return (...c) => {
861
+ clearTimeout(r), r = window == null ? void 0 : window.setTimeout(() => {
862
+ t(...c);
863
+ }, a);
864
+ };
865
+ }
866
+ };
867
+ }
868
+ var Ee = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Me = {}, $r = {
869
+ get exports() {
870
+ return Me;
871
+ },
872
+ set exports(n) {
873
+ Me = n;
874
+ }
875
+ };
876
+ (function(n, t) {
877
+ var a = 200, r = "__lodash_hash_undefined__", c = 9007199254740991, u = "[object Arguments]", s = "[object Array]", b = "[object Boolean]", _ = "[object Date]", w = "[object Error]", A = "[object Function]", O = "[object GeneratorFunction]", y = "[object Map]", k = "[object Number]", B = "[object Object]", P = "[object Promise]", X = "[object RegExp]", H = "[object Set]", G = "[object String]", $ = "[object Symbol]", M = "[object WeakMap]", W = "[object ArrayBuffer]", I = "[object DataView]", l = "[object Float32Array]", d = "[object Float64Array]", p = "[object Int8Array]", C = "[object Int16Array]", g = "[object Int32Array]", N = "[object Uint8Array]", f = "[object Uint8ClampedArray]", R = "[object Uint16Array]", ie = "[object Uint32Array]", J = /[\\^$.*+?()[\]{}|]/g, Q = /\w*$/, Le = /^\[object .+?Constructor\]$/, pe = /^(?:0|[1-9]\d*)$/, S = {};
878
+ S[u] = S[s] = S[W] = S[I] = S[b] = S[_] = S[l] = S[d] = S[p] = S[C] = S[g] = S[y] = S[k] = S[B] = S[X] = S[H] = S[G] = S[$] = S[N] = S[f] = S[R] = S[ie] = !0, S[w] = S[A] = S[M] = !1;
879
+ var qt = typeof Ee == "object" && Ee && Ee.Object === Object && Ee, Yt = typeof self == "object" && self && self.Object === Object && self, ee = qt || Yt || Function("return this")(), rt = t && !t.nodeType && t, it = rt && !0 && n && !n.nodeType && n, Xt = it && it.exports === rt;
880
+ function Jt(e, i) {
881
+ return e.set(i[0], i[1]), e;
882
+ }
883
+ function Qt(e, i) {
884
+ return e.add(i), e;
885
+ }
886
+ function ea(e, i) {
887
+ for (var o = -1, v = e ? e.length : 0; ++o < v && i(e[o], o, e) !== !1; )
888
+ ;
889
+ return e;
890
+ }
891
+ function ta(e, i) {
892
+ for (var o = -1, v = i.length, D = e.length; ++o < v; )
893
+ e[D + o] = i[o];
894
+ return e;
895
+ }
896
+ function ot(e, i, o, v) {
897
+ var D = -1, j = e ? e.length : 0;
898
+ for (v && j && (o = e[++D]); ++D < j; )
899
+ o = i(o, e[D], D, e);
900
+ return o;
901
+ }
902
+ function aa(e, i) {
903
+ for (var o = -1, v = Array(e); ++o < e; )
904
+ v[o] = i(o);
905
+ return v;
906
+ }
907
+ function na(e, i) {
908
+ return e == null ? void 0 : e[i];
909
+ }
910
+ function st(e) {
911
+ var i = !1;
912
+ if (e != null && typeof e.toString != "function")
913
+ try {
914
+ i = !!(e + "");
915
+ } catch {
916
+ }
917
+ return i;
918
+ }
919
+ function ct(e) {
920
+ var i = -1, o = Array(e.size);
921
+ return e.forEach(function(v, D) {
922
+ o[++i] = [D, v];
923
+ }), o;
924
+ }
925
+ function Ze(e, i) {
926
+ return function(o) {
927
+ return e(i(o));
928
+ };
929
+ }
930
+ function lt(e) {
931
+ var i = -1, o = Array(e.size);
932
+ return e.forEach(function(v) {
933
+ o[++i] = v;
934
+ }), o;
935
+ }
936
+ var ra = Array.prototype, ia = Function.prototype, we = Object.prototype, Pe = ee["__core-js_shared__"], ut = function() {
937
+ var e = /[^.]+$/.exec(Pe && Pe.keys && Pe.keys.IE_PROTO || "");
938
+ return e ? "Symbol(src)_1." + e : "";
939
+ }(), dt = ia.toString, ne = we.hasOwnProperty, Te = we.toString, oa = RegExp(
940
+ "^" + dt.call(ne).replace(J, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
941
+ ), ft = Xt ? ee.Buffer : void 0, vt = ee.Symbol, bt = ee.Uint8Array, sa = Ze(Object.getPrototypeOf, Object), ca = Object.create, la = we.propertyIsEnumerable, ua = ra.splice, pt = Object.getOwnPropertySymbols, da = ft ? ft.isBuffer : void 0, fa = Ze(Object.keys, Object), je = fe(ee, "DataView"), he = fe(ee, "Map"), He = fe(ee, "Promise"), Ke = fe(ee, "Set"), ze = fe(ee, "WeakMap"), me = fe(Object, "create"), va = ce(je), ba = ce(he), pa = ce(He), ha = ce(Ke), ma = ce(ze), ht = vt ? vt.prototype : void 0, mt = ht ? ht.valueOf : void 0;
942
+ function oe(e) {
943
+ var i = -1, o = e ? e.length : 0;
944
+ for (this.clear(); ++i < o; ) {
945
+ var v = e[i];
946
+ this.set(v[0], v[1]);
947
+ }
948
+ }
949
+ function ga() {
950
+ this.__data__ = me ? me(null) : {};
951
+ }
952
+ function ya(e) {
953
+ return this.has(e) && delete this.__data__[e];
954
+ }
955
+ function _a(e) {
956
+ var i = this.__data__;
957
+ if (me) {
958
+ var o = i[e];
959
+ return o === r ? void 0 : o;
960
+ }
961
+ return ne.call(i, e) ? i[e] : void 0;
962
+ }
963
+ function wa(e) {
964
+ var i = this.__data__;
965
+ return me ? i[e] !== void 0 : ne.call(i, e);
966
+ }
967
+ function Ta(e, i) {
968
+ var o = this.__data__;
969
+ return o[e] = me && i === void 0 ? r : i, this;
970
+ }
971
+ oe.prototype.clear = ga, oe.prototype.delete = ya, oe.prototype.get = _a, oe.prototype.has = wa, oe.prototype.set = Ta;
972
+ function te(e) {
973
+ var i = -1, o = e ? e.length : 0;
974
+ for (this.clear(); ++i < o; ) {
975
+ var v = e[i];
976
+ this.set(v[0], v[1]);
977
+ }
978
+ }
979
+ function ka() {
980
+ this.__data__ = [];
981
+ }
982
+ function Sa(e) {
983
+ var i = this.__data__, o = ke(i, e);
984
+ if (o < 0)
985
+ return !1;
986
+ var v = i.length - 1;
987
+ return o == v ? i.pop() : ua.call(i, o, 1), !0;
988
+ }
989
+ function Ia(e) {
990
+ var i = this.__data__, o = ke(i, e);
991
+ return o < 0 ? void 0 : i[o][1];
992
+ }
993
+ function Ca(e) {
994
+ return ke(this.__data__, e) > -1;
995
+ }
996
+ function xa(e, i) {
997
+ var o = this.__data__, v = ke(o, e);
998
+ return v < 0 ? o.push([e, i]) : o[v][1] = i, this;
999
+ }
1000
+ te.prototype.clear = ka, te.prototype.delete = Sa, te.prototype.get = Ia, te.prototype.has = Ca, te.prototype.set = xa;
1001
+ function ue(e) {
1002
+ var i = -1, o = e ? e.length : 0;
1003
+ for (this.clear(); ++i < o; ) {
1004
+ var v = e[i];
1005
+ this.set(v[0], v[1]);
1006
+ }
1007
+ }
1008
+ function Oa() {
1009
+ this.__data__ = {
1010
+ hash: new oe(),
1011
+ map: new (he || te)(),
1012
+ string: new oe()
1013
+ };
1014
+ }
1015
+ function Ea(e) {
1016
+ return Se(this, e).delete(e);
1017
+ }
1018
+ function Na(e) {
1019
+ return Se(this, e).get(e);
1020
+ }
1021
+ function Aa(e) {
1022
+ return Se(this, e).has(e);
1023
+ }
1024
+ function $a(e, i) {
1025
+ return Se(this, e).set(e, i), this;
1026
+ }
1027
+ ue.prototype.clear = Oa, ue.prototype.delete = Ea, ue.prototype.get = Na, ue.prototype.has = Aa, ue.prototype.set = $a;
1028
+ function de(e) {
1029
+ this.__data__ = new te(e);
1030
+ }
1031
+ function Fa() {
1032
+ this.__data__ = new te();
1033
+ }
1034
+ function Da(e) {
1035
+ return this.__data__.delete(e);
1036
+ }
1037
+ function Ba(e) {
1038
+ return this.__data__.get(e);
1039
+ }
1040
+ function Ma(e) {
1041
+ return this.__data__.has(e);
1042
+ }
1043
+ function Ra(e, i) {
1044
+ var o = this.__data__;
1045
+ if (o instanceof te) {
1046
+ var v = o.__data__;
1047
+ if (!he || v.length < a - 1)
1048
+ return v.push([e, i]), this;
1049
+ o = this.__data__ = new ue(v);
1050
+ }
1051
+ return o.set(e, i), this;
1052
+ }
1053
+ de.prototype.clear = Fa, de.prototype.delete = Da, de.prototype.get = Ba, de.prototype.has = Ma, de.prototype.set = Ra;
1054
+ function La(e, i) {
1055
+ var o = Ge(e) || ln(e) ? aa(e.length, String) : [], v = o.length, D = !!v;
1056
+ for (var j in e)
1057
+ (i || ne.call(e, j)) && !(D && (j == "length" || rn(j, v))) && o.push(j);
1058
+ return o;
1059
+ }
1060
+ function gt(e, i, o) {
1061
+ var v = e[i];
1062
+ (!(ne.call(e, i) && Tt(v, o)) || o === void 0 && !(i in e)) && (e[i] = o);
1063
+ }
1064
+ function ke(e, i) {
1065
+ for (var o = e.length; o--; )
1066
+ if (Tt(e[o][0], i))
1067
+ return o;
1068
+ return -1;
1069
+ }
1070
+ function Za(e, i) {
1071
+ return e && yt(i, Ue(i), e);
1072
+ }
1073
+ function Ve(e, i, o, v, D, j, U) {
1074
+ var K;
1075
+ if (v && (K = j ? v(e, D, j, U) : v(e)), K !== void 0)
1076
+ return K;
1077
+ if (!Ie(e))
1078
+ return e;
1079
+ var It = Ge(e);
1080
+ if (It) {
1081
+ if (K = tn(e), !i)
1082
+ return Ja(e, K);
1083
+ } else {
1084
+ var ve = se(e), Ct = ve == A || ve == O;
1085
+ if (dn(e))
1086
+ return Va(e, i);
1087
+ if (ve == B || ve == u || Ct && !j) {
1088
+ if (st(e))
1089
+ return j ? e : {};
1090
+ if (K = an(Ct ? {} : e), !i)
1091
+ return Qa(e, Za(K, e));
1092
+ } else {
1093
+ if (!S[ve])
1094
+ return j ? e : {};
1095
+ K = nn(e, ve, Ve, i);
1096
+ }
1097
+ }
1098
+ U || (U = new de());
1099
+ var xt = U.get(e);
1100
+ if (xt)
1101
+ return xt;
1102
+ if (U.set(e, K), !It)
1103
+ var Ot = o ? en(e) : Ue(e);
1104
+ return ea(Ot || e, function(qe, Ce) {
1105
+ Ot && (Ce = qe, qe = e[Ce]), gt(K, Ce, Ve(qe, i, o, v, Ce, e, U));
1106
+ }), K;
1107
+ }
1108
+ function Pa(e) {
1109
+ return Ie(e) ? ca(e) : {};
1110
+ }
1111
+ function ja(e, i, o) {
1112
+ var v = i(e);
1113
+ return Ge(e) ? v : ta(v, o(e));
1114
+ }
1115
+ function Ha(e) {
1116
+ return Te.call(e);
1117
+ }
1118
+ function Ka(e) {
1119
+ if (!Ie(e) || sn(e))
1120
+ return !1;
1121
+ var i = St(e) || st(e) ? oa : Le;
1122
+ return i.test(ce(e));
1123
+ }
1124
+ function za(e) {
1125
+ if (!wt(e))
1126
+ return fa(e);
1127
+ var i = [];
1128
+ for (var o in Object(e))
1129
+ ne.call(e, o) && o != "constructor" && i.push(o);
1130
+ return i;
1131
+ }
1132
+ function Va(e, i) {
1133
+ if (i)
1134
+ return e.slice();
1135
+ var o = new e.constructor(e.length);
1136
+ return e.copy(o), o;
1137
+ }
1138
+ function We(e) {
1139
+ var i = new e.constructor(e.byteLength);
1140
+ return new bt(i).set(new bt(e)), i;
1141
+ }
1142
+ function Wa(e, i) {
1143
+ var o = i ? We(e.buffer) : e.buffer;
1144
+ return new e.constructor(o, e.byteOffset, e.byteLength);
1145
+ }
1146
+ function Ga(e, i, o) {
1147
+ var v = i ? o(ct(e), !0) : ct(e);
1148
+ return ot(v, Jt, new e.constructor());
1149
+ }
1150
+ function Ua(e) {
1151
+ var i = new e.constructor(e.source, Q.exec(e));
1152
+ return i.lastIndex = e.lastIndex, i;
1153
+ }
1154
+ function qa(e, i, o) {
1155
+ var v = i ? o(lt(e), !0) : lt(e);
1156
+ return ot(v, Qt, new e.constructor());
1157
+ }
1158
+ function Ya(e) {
1159
+ return mt ? Object(mt.call(e)) : {};
1160
+ }
1161
+ function Xa(e, i) {
1162
+ var o = i ? We(e.buffer) : e.buffer;
1163
+ return new e.constructor(o, e.byteOffset, e.length);
1164
+ }
1165
+ function Ja(e, i) {
1166
+ var o = -1, v = e.length;
1167
+ for (i || (i = Array(v)); ++o < v; )
1168
+ i[o] = e[o];
1169
+ return i;
1170
+ }
1171
+ function yt(e, i, o, v) {
1172
+ o || (o = {});
1173
+ for (var D = -1, j = i.length; ++D < j; ) {
1174
+ var U = i[D], K = v ? v(o[U], e[U], U, o, e) : void 0;
1175
+ gt(o, U, K === void 0 ? e[U] : K);
1176
+ }
1177
+ return o;
1178
+ }
1179
+ function Qa(e, i) {
1180
+ return yt(e, _t(e), i);
1181
+ }
1182
+ function en(e) {
1183
+ return ja(e, Ue, _t);
1184
+ }
1185
+ function Se(e, i) {
1186
+ var o = e.__data__;
1187
+ return on(i) ? o[typeof i == "string" ? "string" : "hash"] : o.map;
1188
+ }
1189
+ function fe(e, i) {
1190
+ var o = na(e, i);
1191
+ return Ka(o) ? o : void 0;
1192
+ }
1193
+ var _t = pt ? Ze(pt, Object) : bn, se = Ha;
1194
+ (je && se(new je(new ArrayBuffer(1))) != I || he && se(new he()) != y || He && se(He.resolve()) != P || Ke && se(new Ke()) != H || ze && se(new ze()) != M) && (se = function(e) {
1195
+ var i = Te.call(e), o = i == B ? e.constructor : void 0, v = o ? ce(o) : void 0;
1196
+ if (v)
1197
+ switch (v) {
1198
+ case va:
1199
+ return I;
1200
+ case ba:
1201
+ return y;
1202
+ case pa:
1203
+ return P;
1204
+ case ha:
1205
+ return H;
1206
+ case ma:
1207
+ return M;
1208
+ }
1209
+ return i;
1210
+ });
1211
+ function tn(e) {
1212
+ var i = e.length, o = e.constructor(i);
1213
+ return i && typeof e[0] == "string" && ne.call(e, "index") && (o.index = e.index, o.input = e.input), o;
1214
+ }
1215
+ function an(e) {
1216
+ return typeof e.constructor == "function" && !wt(e) ? Pa(sa(e)) : {};
1217
+ }
1218
+ function nn(e, i, o, v) {
1219
+ var D = e.constructor;
1220
+ switch (i) {
1221
+ case W:
1222
+ return We(e);
1223
+ case b:
1224
+ case _:
1225
+ return new D(+e);
1226
+ case I:
1227
+ return Wa(e, v);
1228
+ case l:
1229
+ case d:
1230
+ case p:
1231
+ case C:
1232
+ case g:
1233
+ case N:
1234
+ case f:
1235
+ case R:
1236
+ case ie:
1237
+ return Xa(e, v);
1238
+ case y:
1239
+ return Ga(e, v, o);
1240
+ case k:
1241
+ case G:
1242
+ return new D(e);
1243
+ case X:
1244
+ return Ua(e);
1245
+ case H:
1246
+ return qa(e, v, o);
1247
+ case $:
1248
+ return Ya(e);
1249
+ }
1250
+ }
1251
+ function rn(e, i) {
1252
+ return i = i ?? c, !!i && (typeof e == "number" || pe.test(e)) && e > -1 && e % 1 == 0 && e < i;
1253
+ }
1254
+ function on(e) {
1255
+ var i = typeof e;
1256
+ return i == "string" || i == "number" || i == "symbol" || i == "boolean" ? e !== "__proto__" : e === null;
1257
+ }
1258
+ function sn(e) {
1259
+ return !!ut && ut in e;
1260
+ }
1261
+ function wt(e) {
1262
+ var i = e && e.constructor, o = typeof i == "function" && i.prototype || we;
1263
+ return e === o;
1264
+ }
1265
+ function ce(e) {
1266
+ if (e != null) {
1267
+ try {
1268
+ return dt.call(e);
1269
+ } catch {
1270
+ }
1271
+ try {
1272
+ return e + "";
1273
+ } catch {
1274
+ }
1275
+ }
1276
+ return "";
1277
+ }
1278
+ function cn(e) {
1279
+ return Ve(e, !0, !0);
1280
+ }
1281
+ function Tt(e, i) {
1282
+ return e === i || e !== e && i !== i;
1283
+ }
1284
+ function ln(e) {
1285
+ return un(e) && ne.call(e, "callee") && (!la.call(e, "callee") || Te.call(e) == u);
1286
+ }
1287
+ var Ge = Array.isArray;
1288
+ function kt(e) {
1289
+ return e != null && fn(e.length) && !St(e);
1290
+ }
1291
+ function un(e) {
1292
+ return vn(e) && kt(e);
1293
+ }
1294
+ var dn = da || pn;
1295
+ function St(e) {
1296
+ var i = Ie(e) ? Te.call(e) : "";
1297
+ return i == A || i == O;
1298
+ }
1299
+ function fn(e) {
1300
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= c;
1301
+ }
1302
+ function Ie(e) {
1303
+ var i = typeof e;
1304
+ return !!e && (i == "object" || i == "function");
1305
+ }
1306
+ function vn(e) {
1307
+ return !!e && typeof e == "object";
1308
+ }
1309
+ function Ue(e) {
1310
+ return kt(e) ? La(e) : za(e);
1311
+ }
1312
+ function bn() {
1313
+ return [];
1314
+ }
1315
+ function pn() {
1316
+ return !1;
1317
+ }
1318
+ n.exports = cn;
1319
+ })($r, Me);
1320
+ const Fr = Me, Dr = {
1321
+ key: 0,
1322
+ class: "sidebar-header"
1323
+ }, Br = { class: "sidebar-content-container" }, Mr = {
1324
+ key: 0,
1325
+ class: "sidebar-top"
1326
+ }, Rr = { "aria-label": "Main menu" }, Lr = {
1327
+ key: 0,
1328
+ class: "level-primary top-items"
1329
+ }, Zr = {
1330
+ key: 1,
1331
+ class: "sidebar-level-divider",
1332
+ role: "separator"
1333
+ }, Pr = {
1334
+ key: 2,
1335
+ class: "level-primary bottom-items"
1336
+ }, jr = ["href", "target"], Hr = /* @__PURE__ */ Y({
1337
+ __name: "AppSidebar",
1338
+ props: {
1339
+ topItems: {
1340
+ type: Array,
1341
+ default: () => []
1342
+ },
1343
+ bottomItems: {
1344
+ type: Array,
1345
+ default: () => []
1346
+ },
1347
+ profileItems: {
1348
+ type: Array,
1349
+ default: () => []
1350
+ },
1351
+ profileName: {
1352
+ type: String,
1353
+ default: ""
1354
+ },
1355
+ headerHeight: {
1356
+ type: Number,
1357
+ default: 60
1358
+ },
1359
+ topOffset: {
1360
+ type: Number,
1361
+ default: 0
1362
+ },
1363
+ zIndex: {
1364
+ type: Number,
1365
+ default: 2
1366
+ },
1367
+ // Props that only impact mobile
1368
+ open: {
1369
+ type: Boolean,
1370
+ default: !1
1371
+ },
1372
+ mobileEnabled: {
1373
+ type: Boolean,
1374
+ default: !1
1375
+ },
1376
+ mobileTopOffset: {
1377
+ type: Number,
1378
+ default: 0
1379
+ },
1380
+ mobileHeaderVisible: {
1381
+ type: Boolean,
1382
+ default: !1
1383
+ },
1384
+ mobileCloseDelay: {
1385
+ type: Number,
1386
+ default: 350
1387
+ },
1388
+ mobileOverlay: {
1389
+ type: Boolean,
1390
+ default: !0
1391
+ },
1392
+ mobileOverlayZIndex: {
1393
+ type: Number,
1394
+ default: null
1395
+ },
1396
+ mobileOverlayCloseOnClick: {
1397
+ type: Boolean,
1398
+ default: !0
1399
+ }
1400
+ },
1401
+ emits: ["click", "toggle"],
1402
+ setup(n, { emit: t }) {
1403
+ const a = n;
1404
+ Qe((g) => ({
1405
+ bdbd8fbc: h(s).mobileTop,
1406
+ "788ae98c": h(s).mobileHeight,
1407
+ "93522ba4": n.zIndex,
1408
+ "609d40b8": h(s).height,
1409
+ debeb938: h(s).top,
1410
+ "7f77b890": h(_).marginTop,
1411
+ "03d17258": h(b).display,
1412
+ "82aee0aa": h(b).minHeight,
1413
+ d82cea1a: h(w).top,
1414
+ "827243cc": h(w).zIndex
1415
+ }));
1416
+ const r = Lt(), c = x(() => !!r.header), u = x(() => !!r.top), s = x(() => ({
1417
+ mobileTop: a.mobileTopOffset && a.mobileEnabled ? `${a.mobileTopOffset}px` : a.topOffset ? `${a.topOffset}px` : "0",
1418
+ top: a.topOffset ? `${a.topOffset}px` : "0",
1419
+ mobileHeight: a.mobileTopOffset && a.mobileEnabled ? `calc(100% - ${a.mobileTopOffset}px)` : "100%",
1420
+ height: a.topOffset ? `calc(100% - ${a.topOffset}px)` : "100%"
1421
+ })), b = x(() => ({
1422
+ display: !a.mobileHeaderVisible && a.mobileEnabled ? "none" : "flex",
1423
+ minHeight: `${a.headerHeight}px`
1424
+ })), _ = x(() => ({
1425
+ marginTop: c.value ? `${a.headerHeight}px` : "0"
1426
+ })), w = x(() => ({
1427
+ top: a.mobileTopOffset && a.mobileEnabled ? `${a.mobileTopOffset}px` : "0",
1428
+ zIndex: a.mobileOverlayZIndex !== null ? a.mobileOverlayZIndex : a.zIndex > 1 ? a.zIndex - 1 : 1
1429
+ })), A = (g) => Fr(g).map((f) => {
1430
+ var R, ie, J;
1431
+ if (f) {
1432
+ (!f.key || !((R = f.key) != null && R.trim())) && (f.key = String(f.name || "").trim().toLowerCase().replace(/[^[a-z]/gi, "-")), (!f.testId || !((ie = f.testId) != null && ie.trim())) && (f.testId = String(f.name || "").trim().toLowerCase().replace(/[^[a-z]/gi, "-"));
1433
+ for (const Q of f.items || [])
1434
+ Q.parentKey = f.key, (!Q.testId || !((J = Q.testId) != null && J.trim())) && (Q.testId = String(Q.name || "").trim().toLowerCase().replace(/[^[a-z]/gi, "-"));
1435
+ }
1436
+ return f;
1437
+ }), O = x(() => a.topItems.length ? A(a.topItems) : []), y = x(() => a.bottomItems.length ? A(a.bottomItems) : []), k = z(a.open), B = (g) => {
1438
+ var N, f;
1439
+ k.value !== g && (k.value = g, t("toggle", g)), g ? (N = document == null ? void 0 : document.body) == null || N.classList.add("kong-ui-app-sidebar-open") : (f = document == null ? void 0 : document.body) == null || f.classList.remove("kong-ui-app-sidebar-open"), X.value = !1;
1440
+ }, P = () => {
1441
+ a.mobileOverlayCloseOnClick && B(!1);
1442
+ }, X = z(!1), H = (g) => {
1443
+ X.value = !0, t("click", g), setTimeout(() => {
1444
+ B(!1);
1445
+ }, a.mobileCloseDelay);
1446
+ };
1447
+ Ae(() => a.open, (g) => {
1448
+ B(g);
1449
+ });
1450
+ const { debounce: G } = Gt(), $ = G(() => {
1451
+ k.value && M.value !== (window == null ? void 0 : window.innerWidth) && (M.value = window == null ? void 0 : window.innerWidth, B(!1));
1452
+ }, 200), M = z(), W = z(!1), I = z(), l = () => {
1453
+ W.value || (W.value = !0, clearTimeout(I.value), I.value = setTimeout(() => W.value = !1, 1300));
1454
+ }, d = z(null), p = x(() => k.value && a.mobileEnabled), C = async (g) => {
1455
+ var N, f;
1456
+ g ? (await wn(), await new Promise((R) => setTimeout(R, 300)), (N = d.value) == null || N.activate()) : (f = d.value) == null || f.deactivate();
1457
+ };
1458
+ return Ae(p, async (g) => {
1459
+ g ? await C(!0) : await C(!1);
1460
+ }, { immediate: !0 }), et(() => {
1461
+ M.value = window == null ? void 0 : window.innerWidth, window.addEventListener("resize", $), window.addEventListener("resize", l);
1462
+ }), Zt(() => {
1463
+ window.removeEventListener("resize", $), window.removeEventListener("resize", l);
1464
+ }), (g, N) => (m(), E(be, null, [
1465
+ k.value && n.mobileOverlay && n.mobileEnabled ? (m(), E("div", {
1466
+ key: 0,
1467
+ class: "kong-ui-app-sidebar-overlay",
1468
+ onClick: P
1469
+ })) : F("", !0),
1470
+ Re(h(Ar), {
1471
+ ref_key: "focusTrap",
1472
+ ref: d,
1473
+ active: !1,
1474
+ "allow-outside-click": "",
1475
+ "fallback-focus": ".kong-ui-app-sidebar"
1476
+ }, {
1477
+ default: V(() => [
1478
+ T("aside", {
1479
+ class: ae(["kong-ui-app-sidebar", {
1480
+ "sidebar-open": k.value,
1481
+ "no-sidebar-header": !h(c),
1482
+ "mobile-header-hidden": n.mobileEnabled && (!h(c) || !n.mobileHeaderVisible),
1483
+ "mobile-disabled": !n.mobileEnabled,
1484
+ "disable-transitions": W.value
1485
+ }]),
1486
+ tabindex: "-1"
1487
+ }, [
1488
+ h(c) ? (m(), E("div", Dr, [
1489
+ L(g.$slots, "header", {}, void 0, !0)
1490
+ ])) : F("", !0),
1491
+ T("div", Br, [
1492
+ h(u) ? (m(), E("div", Mr, [
1493
+ L(g.$slots, "top", {}, void 0, !0)
1494
+ ])) : F("", !0),
1495
+ T("nav", Rr, [
1496
+ h(O).length ? (m(), E("ul", Lr, [
1497
+ (m(!0), E(be, null, ye(h(O), (f) => (m(), Z(Nt, {
1498
+ key: f.name,
1499
+ item: f,
1500
+ onClick: H
1501
+ }, null, 8, ["item"]))), 128))
1502
+ ])) : F("", !0),
1503
+ h(O).length && h(y).length ? (m(), E("div", Zr)) : F("", !0),
1504
+ h(y).length ? (m(), E("ul", Pr, [
1505
+ (m(!0), E(be, null, ye(h(y), (f) => (m(), Z(Nt, {
1506
+ key: f.name,
1507
+ item: f,
1508
+ onClick: H
1509
+ }, null, 8, ["item"]))), 128))
1510
+ ])) : F("", !0)
1511
+ ])
1512
+ ]),
1513
+ n.profileName || n.profileItems.length ? (m(), Z(ir, {
1514
+ key: 1,
1515
+ class: "sidebar-profile-menu",
1516
+ "item-count": n.profileItems.length,
1517
+ name: n.profileName
1518
+ }, {
1519
+ default: V(() => [
1520
+ (m(!0), E(be, null, ye(n.profileItems, (f) => (m(), Z(h(xn), {
1521
+ key: f.name,
1522
+ class: ae([{ "has-divider": f.hasDivider }, { "external-profile-dropdown-link": (f.external || f.newWindow) && typeof f.to == "string" }]),
1523
+ "has-divider": f.hasDivider,
1524
+ item: (f.external || f.newWindow) && typeof f.to == "string" ? void 0 : { label: f.name, to: f.to },
1525
+ onClick: (R) => H(f)
1526
+ }, {
1527
+ default: V(() => [
1528
+ (f.external || f.newWindow) && typeof f.to == "string" ? (m(), E("a", {
1529
+ key: 0,
1530
+ class: "sidebar-item-external-link",
1531
+ href: f.to,
1532
+ target: f.newWindow ? "_blank" : void 0
1533
+ }, [
1534
+ $e(re(f.name) + " ", 1),
1535
+ f.newWindow ? (m(), Z(h(Pt), {
1536
+ key: 0,
1537
+ color: "var(--black-70, rgba(0,0,0,0.7))",
1538
+ icon: "externalLink",
1539
+ size: "20",
1540
+ viewBox: "0 0 20 20"
1541
+ })) : F("", !0)
1542
+ ], 8, jr)) : F("", !0)
1543
+ ]),
1544
+ _: 2
1545
+ }, 1032, ["class", "has-divider", "item", "onClick"]))), 128))
1546
+ ]),
1547
+ _: 1
1548
+ }, 8, ["item-count", "name"])) : F("", !0)
1549
+ ], 2)
1550
+ ]),
1551
+ _: 3
1552
+ }, 512)
1553
+ ], 64));
1554
+ }
1555
+ });
1556
+ const Kr = /* @__PURE__ */ q(Hr, [["__scopeId", "data-v-1c82e900"]]), nt = (n) => (tt("data-v-e9d81dd5"), n = n(), at(), n), zr = ["aria-label", "onClick"], Vr = /* @__PURE__ */ nt(() => /* @__PURE__ */ T("span", { class: "line" }, null, -1)), Wr = /* @__PURE__ */ nt(() => /* @__PURE__ */ T("span", { class: "line" }, null, -1)), Gr = /* @__PURE__ */ nt(() => /* @__PURE__ */ T("span", { class: "line" }, null, -1)), Ur = [
1557
+ Vr,
1558
+ Wr,
1559
+ Gr
1560
+ ], qr = /* @__PURE__ */ Y({
1561
+ __name: "SidebarToggle",
1562
+ props: {
1563
+ active: {
1564
+ type: Boolean,
1565
+ default: !1
1566
+ }
1567
+ },
1568
+ emits: ["toggle"],
1569
+ setup(n, { emit: t }) {
1570
+ const a = n, r = z(a.active || !1), c = () => {
1571
+ r.value = !r.value, t("toggle", r.value);
1572
+ };
1573
+ return Ae(() => a.active, (u) => {
1574
+ r.value = u;
1575
+ }), (u, s) => (m(), E("a", {
1576
+ "aria-haspopup": "true",
1577
+ "aria-label": r.value ? "Close Main Menu" : "Open Main Menu",
1578
+ class: ae(["sidebar-menu-toggle", { active: r.value }]),
1579
+ href: "#",
1580
+ role: "button",
1581
+ onClick: Rt(c, ["prevent"])
1582
+ }, Ur, 10, zr));
1583
+ }
1584
+ });
1585
+ const Yr = /* @__PURE__ */ q(qr, [["__scopeId", "data-v-e9d81dd5"]]), Xr = (n) => (tt("data-v-897d6d1b"), n = n(), at(), n), Jr = { id: "kong-ui-app-layout-notification" }, Qr = { class: "mobile-logo" }, ei = { class: "kong-ui-app-layout-main" }, ti = { class: "kong-ui-app-layout-content" }, ai = /* @__PURE__ */ Xr(() => /* @__PURE__ */ T("div", { id: "kong-ui-app-layout-teleport-default-slot" }, null, -1)), ni = /* @__PURE__ */ Y({
1586
+ __name: "AppLayout",
1587
+ props: {
1588
+ hideDefaultSlot: {
1589
+ type: Boolean,
1590
+ default: !1
1591
+ },
1592
+ // Navbar props
1593
+ navbarHidden: {
1594
+ type: Boolean,
1595
+ default: !1
1596
+ },
1597
+ // Sidebar props
1598
+ sidebarHidden: {
1599
+ type: Boolean,
1600
+ default: !1
1601
+ },
1602
+ sidebarOpen: {
1603
+ type: Boolean,
1604
+ default: !1
1605
+ },
1606
+ sidebarTopItems: {
1607
+ type: Array,
1608
+ default: () => []
1609
+ },
1610
+ sidebarBottomItems: {
1611
+ type: Array,
1612
+ default: () => []
1613
+ },
1614
+ sidebarProfileItems: {
1615
+ type: Array,
1616
+ default: () => []
1617
+ },
1618
+ sidebarProfileName: {
1619
+ type: String,
1620
+ default: ""
1621
+ }
1622
+ },
1623
+ emits: ["sidebar-click"],
1624
+ setup(n, { emit: t }) {
1625
+ const a = n;
1626
+ Qe(($) => ({
1627
+ af8c4ebe: h(P)
1628
+ }));
1629
+ const r = Lt(), c = Ye({
1630
+ navbarMobileLogo: x(() => !!r["navbar-mobile-logo"]),
1631
+ sidebarHeader: x(() => !!r["sidebar-header"]),
1632
+ sidebarTop: x(() => !!r["sidebar-top"])
1633
+ }), u = x(() => a.hideDefaultSlot), s = Ye({
1634
+ hidden: x(() => a.navbarHidden)
1635
+ }), b = Ye({
1636
+ topItems: x(() => a.sidebarTopItems),
1637
+ bottomItems: x(() => a.sidebarBottomItems),
1638
+ profileItems: x(() => a.sidebarProfileItems),
1639
+ profileName: x(() => a.sidebarProfileName),
1640
+ open: x(() => a.sidebarOpen),
1641
+ hidden: x(() => a.sidebarHidden)
1642
+ }), _ = ($) => {
1643
+ t("sidebar-click", $);
1644
+ }, w = z(!1), A = ($) => {
1645
+ w.value = $;
1646
+ };
1647
+ Tn(() => {
1648
+ w.value = kn(b, "open").value || !1;
1649
+ });
1650
+ const O = z(0), y = z(60), k = z(0), B = x(() => s.hidden ? k.value : y.value + k.value), P = x(() => `${B.value}px`), { debounce: X } = Gt(), H = X(($ = !1) => {
1651
+ if ($ || O.value !== (window == null ? void 0 : window.innerWidth)) {
1652
+ const M = document == null ? void 0 : document.querySelector(".kong-ui-app-layout #kong-ui-app-layout-notification");
1653
+ M && (k.value = M.offsetHeight);
1654
+ }
1655
+ }, 200), G = z();
1656
+ return et(() => {
1657
+ var M, W;
1658
+ (M = document == null ? void 0 : document.body) == null || M.classList.add("kong-ui-app-layout-body"), (W = document == null ? void 0 : document.documentElement) == null || W.classList.add("kong-ui-app-layout-html"), O.value = window == null ? void 0 : window.innerWidth, H(!0);
1659
+ const $ = document == null ? void 0 : document.querySelector(".kong-ui-app-layout #kong-ui-app-layout-notification");
1660
+ $ && (G.value = new ResizeObserver((I) => {
1661
+ for (const l of I) {
1662
+ const d = l.contentRect.height;
1663
+ k.value !== d && (k.value = d);
1664
+ }
1665
+ }), G.value.observe($)), window.addEventListener("resize", H);
1666
+ }), Zt(() => {
1667
+ G.value && G.value.disconnect(), window.removeEventListener("resize", H);
1668
+ }), ($, M) => (m(), E("div", {
1669
+ class: ae(["kong-ui-app-layout", [
1670
+ { "navbar-hidden": s.hidden },
1671
+ { "sidebar-hidden": b.hidden }
1672
+ ]])
1673
+ }, [
1674
+ T("div", Jr, [
1675
+ L($.$slots, "notification", {}, void 0, !0)
1676
+ ]),
1677
+ s.hidden ? F("", !0) : (m(), Z($n, {
1678
+ key: 0,
1679
+ "left-offset": b.hidden ? 0 : void 0,
1680
+ "top-offset": k.value
1681
+ }, Et({
1682
+ "mobile-sidebar-toggle": V(() => [
1683
+ b.hidden ? F("", !0) : (m(), Z(Yr, {
1684
+ key: 0,
1685
+ active: w.value,
1686
+ onToggle: A
1687
+ }, null, 8, ["active"]))
1688
+ ]),
1689
+ default: V(() => [
1690
+ L($.$slots, "navbar", {}, void 0, !0)
1691
+ ]),
1692
+ _: 2
1693
+ }, [
1694
+ c.navbarMobileLogo ? {
1695
+ name: "mobile-logo",
1696
+ fn: V(() => [
1697
+ T("div", Qr, [
1698
+ L($.$slots, "navbar-mobile-logo", {}, void 0, !0)
1699
+ ])
1700
+ ]),
1701
+ key: "0"
1702
+ } : void 0
1703
+ ]), 1032, ["left-offset", "top-offset"])),
1704
+ b.hidden ? F("", !0) : (m(), Z(Kr, {
1705
+ key: 1,
1706
+ "bottom-items": b.bottomItems,
1707
+ "header-height": y.value,
1708
+ "mobile-enabled": "",
1709
+ "mobile-header-visible": !1,
1710
+ "mobile-top-offset": h(B),
1711
+ open: w.value,
1712
+ "profile-items": b.profileItems,
1713
+ "profile-name": b.profileName,
1714
+ "top-items": b.topItems,
1715
+ "top-offset": k.value,
1716
+ onClick: _,
1717
+ onToggle: A
1718
+ }, Et({ _: 2 }, [
1719
+ c.sidebarHeader ? {
1720
+ name: "header",
1721
+ fn: V(() => [
1722
+ L($.$slots, "sidebar-header", {}, void 0, !0)
1723
+ ]),
1724
+ key: "0"
1725
+ } : void 0,
1726
+ c.sidebarTop ? {
1727
+ name: "top",
1728
+ fn: V(() => [
1729
+ L($.$slots, "sidebar-top", {}, void 0, !0)
1730
+ ]),
1731
+ key: "1"
1732
+ } : void 0
1733
+ ]), 1032, ["bottom-items", "header-height", "mobile-top-offset", "open", "profile-items", "profile-name", "top-items", "top-offset"])),
1734
+ T("main", ei, [
1735
+ T("div", ti, [
1736
+ ai,
1737
+ L($.$slots, "app-error", {}, void 0, !0),
1738
+ h(u) ? F("", !0) : L($.$slots, "default", { key: 0 }, void 0, !0)
1739
+ ])
1740
+ ])
1741
+ ], 2));
1742
+ }
1743
+ });
1744
+ const ri = /* @__PURE__ */ q(ni, [["__scopeId", "data-v-897d6d1b"]]), ii = /* @__PURE__ */ Y({
1745
+ __name: "NavbarDropdownMenu",
1746
+ props: {
1747
+ options: {
1748
+ type: Array,
1749
+ default: () => []
1750
+ },
1751
+ tooltip: {
1752
+ type: String,
1753
+ default: ""
1754
+ },
1755
+ width: {
1756
+ type: String,
1757
+ default: "175"
1758
+ },
1759
+ disabled: {
1760
+ type: Boolean,
1761
+ default: !1
1762
+ }
1763
+ },
1764
+ emits: ["change"],
1765
+ setup(n, { emit: t }) {
1766
+ var u;
1767
+ const a = n, r = z(((u = a.options) == null ? void 0 : u.filter((s) => !!s.selected)[0]) || a.options[0]), c = (s) => {
1768
+ r.value = s, t("change", r.value);
1769
+ };
1770
+ return (s, b) => {
1771
+ const _ = Ne("KDropdownItem"), w = Ne("KDropdownMenu");
1772
+ return m(), Z(w, {
1773
+ appearance: "selectionMenu",
1774
+ class: "top-bar-dropdown-menu",
1775
+ disabled: n.disabled,
1776
+ "disabled-tooltip": n.tooltip,
1777
+ "kpop-attributes": { placement: "bottomStart", disabled: n.disabled },
1778
+ label: r.value.label,
1779
+ width: n.width,
1780
+ onChange: b[0] || (b[0] = (A) => c(A))
1781
+ }, {
1782
+ items: V(({ handleSelection: A }) => [
1783
+ L(s.$slots, "default", {}, () => [
1784
+ (m(!0), E(be, null, ye(n.options, (O) => (m(), Z(_, {
1785
+ key: O.value,
1786
+ "data-testid": "select-" + O.value,
1787
+ selected: r.value.value === O.value,
1788
+ onClick: (y) => A(O)
1789
+ }, {
1790
+ default: V(() => [
1791
+ L(s.$slots, "default", { option: O }, () => [
1792
+ $e(re(O.label), 1)
1793
+ ], !0)
1794
+ ]),
1795
+ _: 2
1796
+ }, 1032, ["data-testid", "selected", "onClick"]))), 128))
1797
+ ], !0)
1798
+ ]),
1799
+ _: 3
1800
+ }, 8, ["disabled", "disabled-tooltip", "kpop-attributes", "label", "width"]);
1801
+ };
1802
+ }
1803
+ });
1804
+ const ki = /* @__PURE__ */ q(ii, [["__scopeId", "data-v-b5a37136"]]), oi = {}, si = {
1805
+ fill: "none",
1806
+ height: "130",
1807
+ width: "130",
1808
+ xmlns: "http://www.w3.org/2000/svg"
1809
+ }, ci = /* @__PURE__ */ Sn('<path clip-rule="evenodd" d="M19.111 120.198c-.226 0-.409-.164-.409-.368v-4.812c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.812c0 .204-.183.368-.409.368Zm0-9.625c-.226 0-.409-.165-.409-.368v-4.813c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.625c-.226 0-.409-.165-.409-.368v-4.813c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.626c-.226 0-.409-.165-.409-.368v-4.812c0-.204.183-.368.409-.368.226 0 .409.164.409.368v4.812c0 .204-.183.368-.409.368Zm0-9.625c-.226 0-.409-.165-.409-.368v-4.813c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.626c-.226 0-.409-.164-.409-.367V66.89c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.625c-.226 0-.409-.165-.409-.368v-4.813c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.625c-.226 0-.409-.165-.409-.368V47.64c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.626c-.226 0-.409-.164-.409-.368v-4.812c0-.204.183-.368.409-.368.226 0 .409.164.409.368v4.812c0 .204-.183.368-.409.368Zm0-9.625c-.226 0-.409-.165-.409-.368v-4.813c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.625c-.226 0-.409-.165-.409-.369v-4.812c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.626c-.226 0-.409-.165-.409-.368V9.138c0-.203.183-.368.409-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368ZM110.889 120.198c-.225 0-.408-.164-.408-.368v-4.812c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.812c0 .204-.183.368-.409.368Zm0-9.625c-.225 0-.408-.165-.408-.368v-4.813c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.625c-.225 0-.408-.165-.408-.368v-4.813c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.626c-.225 0-.408-.165-.408-.368v-4.812c0-.204.183-.368.408-.368.226 0 .409.164.409.368v4.812c0 .204-.183.368-.409.368Zm0-9.625c-.225 0-.408-.165-.408-.368v-4.813c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.626c-.225 0-.408-.164-.408-.367V66.89c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.625c-.225 0-.408-.165-.408-.368v-4.813c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.625c-.225 0-.408-.165-.408-.368V47.64c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.626c-.225 0-.408-.164-.408-.368v-4.812c0-.204.183-.368.408-.368.226 0 .409.164.409.368v4.812c0 .204-.183.368-.409.368Zm0-9.625c-.225 0-.408-.165-.408-.368v-4.813c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.625c-.225 0-.408-.165-.408-.369v-4.812c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Zm0-9.626c-.225 0-.408-.165-.408-.368V9.138c0-.203.183-.368.408-.368.226 0 .409.165.409.368v4.813c0 .203-.183.368-.409.368Z" fill="#D6D6D6" fill-rule="evenodd"></path><path clip-rule="evenodd" d="M123.553 107.758a.399.399 0 0 1-.388.408h-5.068a.398.398 0 0 1-.387-.408c0-.226.173-.409.387-.409h5.068c.214 0 .388.183.388.409Zm-10.136 0a.398.398 0 0 1-.387.408h-5.068a.399.399 0 0 1-.388-.408c0-.226.174-.409.388-.409h5.068c.214 0 .387.183.387.409Zm-10.136 0a.398.398 0 0 1-.387.408h-5.068a.398.398 0 0 1-.388-.408c0-.226.174-.409.388-.409h5.068c.214 0 .387.183.387.409Zm-10.136 0a.398.398 0 0 1-.387.408H87.69a.398.398 0 0 1-.388-.408c0-.226.174-.409.388-.409h5.068c.214 0 .387.183.387.409Zm-10.136 0a.398.398 0 0 1-.387.408h-5.068a.398.398 0 0 1-.388-.408c0-.226.174-.409.388-.409h5.068c.214 0 .387.183.387.409Zm-10.135 0a.398.398 0 0 1-.388.408h-5.068a.398.398 0 0 1-.388-.408c0-.226.174-.409.388-.409h5.068c.214 0 .388.183.388.409Zm-10.136 0a.398.398 0 0 1-.388.408h-5.068a.398.398 0 0 1-.387-.408c0-.226.173-.409.387-.409h5.068c.214 0 .388.183.388.409Zm-10.136 0a.398.398 0 0 1-.388.408h-5.068a.398.398 0 0 1-.387-.408c0-.226.173-.409.387-.409h5.068c.214 0 .388.183.388.409Zm-10.136 0a.398.398 0 0 1-.388.408H37.01a.398.398 0 0 1-.387-.408c0-.226.173-.409.387-.409h5.068c.214 0 .388.183.388.409Zm-10.136 0a.398.398 0 0 1-.388.408h-5.067a.398.398 0 0 1-.388-.408c0-.226.174-.409.388-.409h5.067c.215 0 .388.183.388.409Zm-10.136 0a.398.398 0 0 1-.387.408h-5.068a.398.398 0 0 1-.388-.408c0-.226.174-.409.388-.409h5.068c.214 0 .387.183.387.409Zm-10.136 0a.398.398 0 0 1-.387.408H6.603a.398.398 0 0 1-.388-.408c0-.226.174-.409.388-.409h5.068c.214 0 .387.183.387.409ZM123.553 21.434a.399.399 0 0 1-.388.409h-5.068a.398.398 0 0 1-.387-.409c0-.226.173-.408.387-.408h5.068c.214 0 .388.183.388.408Zm-10.136 0a.399.399 0 0 1-.388.409h-5.068a.398.398 0 0 1-.387-.409c0-.226.173-.408.387-.408h5.068c.214 0 .388.183.388.408Zm-10.136 0a.398.398 0 0 1-.387.409h-5.068a.399.399 0 0 1-.388-.409c0-.226.174-.408.388-.408h5.068c.214 0 .387.183.387.408Zm-10.136 0a.398.398 0 0 1-.387.409H87.69a.398.398 0 0 1-.388-.409c0-.226.174-.408.388-.408h5.068c.214 0 .387.183.387.408Zm-10.136 0a.398.398 0 0 1-.387.409h-5.068a.398.398 0 0 1-.388-.409c0-.226.174-.408.388-.408h5.068c.214 0 .387.183.387.408Zm-10.136 0a.398.398 0 0 1-.387.409h-5.068a.398.398 0 0 1-.388-.409c0-.226.174-.408.388-.408h5.068c.214 0 .387.183.387.408Zm-10.135 0a.399.399 0 0 1-.388.409h-5.068a.398.398 0 0 1-.387-.409c0-.226.173-.408.387-.408h5.068c.214 0 .388.183.388.408Zm-10.136 0a.398.398 0 0 1-.388.409h-5.068a.398.398 0 0 1-.387-.409c0-.226.173-.408.387-.408h5.068c.214 0 .388.183.388.408Zm-10.136 0a.398.398 0 0 1-.388.409H37.01a.398.398 0 0 1-.387-.409c0-.226.173-.408.387-.408h5.068c.214 0 .388.183.388.408Zm-10.136 0a.398.398 0 0 1-.388.409h-5.068a.398.398 0 0 1-.387-.409c0-.226.173-.408.387-.408h5.068c.214 0 .388.183.388.408Zm-10.136 0a.398.398 0 0 1-.388.409h-5.068a.398.398 0 0 1-.387-.409c0-.226.173-.408.387-.408h5.068c.214 0 .388.183.388.408Zm-10.136 0a.398.398 0 0 1-.387.409H6.603a.398.398 0 0 1-.388-.409c0-.226.174-.408.388-.408h5.068c.214 0 .387.183.387.408Z" fill="#D6D6D6" fill-rule="evenodd"></path><circle cx="65" cy="65" opacity=".5" r="64" stroke="#B6B6BD" stroke-dasharray="5.69 5.69" stroke-linecap="round" stroke-width=".854"></circle><g clip-path="url(#a)" stroke="#169FCC" stroke-miterlimit="10" stroke-width="1.42"><path d="m33.523 104.868-5.72-.695a1.214 1.214 0 0 1-.766-.386 1.182 1.182 0 0 1-.312-.788v-7.448c0-.095.038-.186.106-.253a.365.365 0 0 1 .256-.104l5.254-.263M61.471 22.733a1.761 1.761 0 0 1 1.45.235 49.628 49.628 0 0 1 15.613 17.6 48.797 48.797 0 0 1 5.65 22.702 47.236 47.236 0 0 1-.333 5.325 41.34 41.34 0 0 0-12.501-.441 48.503 48.503 0 0 0-1.813-23.734 49.117 49.117 0 0 0-12.91-20.119c1.602-.591 3.223-1.136 4.844-1.568Z"></path><path d="M71.35 68.154a39.493 39.493 0 0 0-10.813 3.757 51.298 51.298 0 0 0 3.251-18.062c0-9.392-4.939-19.179-9.783-27.237-.257-.432 0-1.616 2.642-2.32"></path><path d="M56.236 78.58a13.605 13.605 0 0 0-4.29-9.289 14.017 14.017 0 0 0-9.622-3.786 9.617 9.617 0 0 1-6.456-2.446 9.341 9.341 0 0 1-3.079-6.1l-.286-4.256c3.09 0 9.46 4.105 13.216 4.866 3.757.76 8.21.253 11.862 3.437a13.303 13.303 0 0 1 4.357 6.575"></path><path d="M68.594 75.442c-3.432 6.95-7.914 11.59-14.303 16.033a47.076 47.076 0 0 1-21.702 8.058v-4.696c11.642-4.809 22.208-11.806 27.948-22.88"></path><path d="M76.499 84.815a46.939 46.939 0 0 1-17.392 14.511 50.925 50.925 0 0 1-22.885 5.457c-2.317 0-3.662.47-3.662-.695v-4.555"></path><path d="M83.85 68.595c22.304 16.22 4.044 39.25-19.652 37.663.954-.939 29.95-22.222-3.661-34.3"></path><path d="M84.184 58.47c13.607 0 25.746 26.242 17.383 30.995-1.182-17.508-17.716-20.87-17.716-20.87"></path></g><defs><clipPath id="a"><path d="M0 0h79v85H0z" fill="#fff" transform="translate(26 22)"></path></clipPath></defs>', 5), li = [
1810
+ ci
1811
+ ];
1812
+ function ui(n, t) {
1813
+ return m(), E("svg", si, li);
1814
+ }
1815
+ const di = /* @__PURE__ */ q(oi, [["render", ui]]), Ut = (n) => (tt("data-v-aaa5c166"), n = n(), at(), n), fi = { class: "kong-ui-app-error" }, vi = { class: "banana-icon" }, bi = { class: "kong-ui-app-error-content" }, pi = /* @__PURE__ */ Ut(() => /* @__PURE__ */ T("h2", null, "An unexpected error has occurred", -1)), hi = /* @__PURE__ */ Ut(() => /* @__PURE__ */ T("p", null, [
1816
+ /* @__PURE__ */ $e("Go back to the previous page or "),
1817
+ /* @__PURE__ */ T("a", { href: "/" }, "return home"),
1818
+ /* @__PURE__ */ $e(".")
1819
+ ], -1)), mi = /* @__PURE__ */ Y({
1820
+ __name: "AppError",
1821
+ setup(n) {
1822
+ return (t, a) => (m(), E("section", fi, [
1823
+ T("div", vi, [
1824
+ Re(di)
1825
+ ]),
1826
+ T("div", bi, [
1827
+ L(t.$slots, "default", {}, () => [
1828
+ pi,
1829
+ hi
1830
+ ], !0)
1831
+ ])
1832
+ ]));
1833
+ }
1834
+ });
1835
+ const Si = /* @__PURE__ */ q(mi, [["__scopeId", "data-v-aaa5c166"]]);
1836
+ function gi(n) {
1837
+ return !!new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$", "i").test(n);
1838
+ }
1839
+ const yi = ["href"], _i = /* @__PURE__ */ Y({
1840
+ __name: "ExternalLink",
1841
+ props: {
1842
+ href: {
1843
+ type: String,
1844
+ required: !0,
1845
+ validator: function(n) {
1846
+ return gi(n) || n === "";
1847
+ }
1848
+ },
1849
+ hideIcon: {
1850
+ type: Boolean,
1851
+ default: !1
1852
+ }
1853
+ },
1854
+ setup(n) {
1855
+ return (t, a) => {
1856
+ const r = Ne("KIcon");
1857
+ return n.href ? (m(), E("a", {
1858
+ key: 0,
1859
+ class: "external-link",
1860
+ href: n.href,
1861
+ rel: "noopener",
1862
+ target: "_blank"
1863
+ }, [
1864
+ L(t.$slots, "default", {}, void 0, !0),
1865
+ n.hideIcon ? F("", !0) : (m(), Z(r, {
1866
+ key: 0,
1867
+ class: "ml-mb-auto",
1868
+ icon: "externalLink",
1869
+ size: "12"
1870
+ }))
1871
+ ], 8, yi)) : F("", !0);
1872
+ };
1873
+ }
1874
+ });
1875
+ const Ii = /* @__PURE__ */ q(_i, [["__scopeId", "data-v-8368fd0f"]]), Ci = {
1876
+ // Customize Vue plugin options as desired
1877
+ // Providing a `name` property allows for customizing the registered
1878
+ // name of your component (useful if exporting a single component).
1879
+ install: (n, t = {}) => {
1880
+ n.component(t.name || "AppLayout", ri);
1881
+ }
1882
+ };
1883
+ export {
1884
+ Si as AppError,
1885
+ ri as AppLayout,
1886
+ $n as AppNavbar,
1887
+ Kr as AppSidebar,
1888
+ Ii as ExternalLink,
1889
+ ki as NavbarDropdownMenu,
1890
+ Yr as SidebarToggle,
1891
+ Ci as default
1892
+ };
1893
+ //# sourceMappingURL=app-layout.es.js.map