@kong-ui-public/app-layout 4.7.2-pr.2477.ec18eb4c8.0 → 4.7.3-pr.2439.ad3fb9fba.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 (38) hide show
  1. package/dist/app-layout.es.js +2426 -0
  2. package/dist/app-layout.umd.js +12 -0
  3. package/dist/style.css +1 -0
  4. package/dist/types/components/AppLayout.vue.d.ts +122 -0
  5. package/dist/types/components/AppLayout.vue.d.ts.map +1 -0
  6. package/dist/types/components/aboutSection/AppAboutSection.vue.d.ts +36 -0
  7. package/dist/types/components/aboutSection/AppAboutSection.vue.d.ts.map +1 -0
  8. package/dist/types/components/errors/AppError.vue.d.ts +13 -0
  9. package/dist/types/components/errors/AppError.vue.d.ts.map +1 -0
  10. package/dist/types/components/icons/BananaSplit.vue.d.ts +3 -0
  11. package/dist/types/components/icons/BananaSplit.vue.d.ts.map +1 -0
  12. package/dist/types/components/navbar/AccountDropdown.vue.d.ts +50 -0
  13. package/dist/types/components/navbar/AccountDropdown.vue.d.ts.map +1 -0
  14. package/dist/types/components/navbar/AppNavbar.vue.d.ts +53 -0
  15. package/dist/types/components/navbar/AppNavbar.vue.d.ts.map +1 -0
  16. package/dist/types/components/pageHeader/AppPageHeader.vue.d.ts +44 -0
  17. package/dist/types/components/pageHeader/AppPageHeader.vue.d.ts.map +1 -0
  18. package/dist/types/components/pageInfoSection/AppPageInfoSection.vue.d.ts +60 -0
  19. package/dist/types/components/pageInfoSection/AppPageInfoSection.vue.d.ts.map +1 -0
  20. package/dist/types/components/sidebar/AppSidebar.vue.d.ts +162 -0
  21. package/dist/types/components/sidebar/AppSidebar.vue.d.ts.map +1 -0
  22. package/dist/types/components/sidebar/ItemBadge.vue.d.ts +17 -0
  23. package/dist/types/components/sidebar/ItemBadge.vue.d.ts.map +1 -0
  24. package/dist/types/components/sidebar/SidebarItem.vue.d.ts +41 -0
  25. package/dist/types/components/sidebar/SidebarItem.vue.d.ts.map +1 -0
  26. package/dist/types/components/sidebar/SidebarToggle.vue.d.ts +19 -0
  27. package/dist/types/components/sidebar/SidebarToggle.vue.d.ts.map +1 -0
  28. package/dist/types/composables/index.d.ts +2 -0
  29. package/dist/types/composables/index.d.ts.map +1 -0
  30. package/dist/types/composables/useDebounce.d.ts +4 -0
  31. package/dist/types/composables/useDebounce.d.ts.map +1 -0
  32. package/dist/types/index.d.ts +20 -0
  33. package/dist/types/index.d.ts.map +1 -0
  34. package/dist/types/types/index.d.ts +2 -0
  35. package/dist/types/types/index.d.ts.map +1 -0
  36. package/dist/types/types/sidebar.d.ts +39 -0
  37. package/dist/types/types/sidebar.d.ts.map +1 -0
  38. package/package.json +4 -3
@@ -0,0 +1,2426 @@
1
+ import { defineComponent as re, resolveComponent as be, createBlock as K, openBlock as p, withCtx as B, renderSlot as C, createElementBlock as T, Fragment as Oe, renderList as we, normalizeClass as oe, createTextVNode as Be, toDisplayString as Y, computed as S, createSlots as qe, createVNode as Le, createCommentVNode as O, createElementVNode as E, createStaticVNode as In, useCssVars as yt, reactive as Ue, useSlots as tt, onMounted as Me, getCurrentInstance as Yt, hasInjectionContext as Qt, inject as On, watch as Ae, getCurrentScope as $n, onScopeDispose as En, shallowRef as Ve, watchEffect as Jt, toValue as $e, unref as ve, resolveDynamicComponent as Ee, withKeys as An, ref as ee, onUnmounted as Fn, Comment as Nn, cloneVNode as Dn, nextTick as Ht, onBeforeUnmount as ea, withModifiers as Rn, toRef as xn } from "vue";
2
+ import { ChevronRightIcon as ta, ChevronDownIcon as Bn } from "@kong/icons";
3
+ import { KButton as Ln, HeaderTags as Mn } from "@kong/kongponents";
4
+ const jn = /* @__PURE__ */ re({
5
+ __name: "AccountDropdown",
6
+ props: {
7
+ options: {
8
+ type: Array,
9
+ required: !0
10
+ },
11
+ width: {
12
+ type: String,
13
+ default: "240"
14
+ },
15
+ userInitials: {
16
+ type: String,
17
+ required: !0,
18
+ // Important: default to a string with a single empty space to force the dropdown to always be visible
19
+ default: " "
20
+ }
21
+ },
22
+ setup(a) {
23
+ return (t, r) => {
24
+ const n = be("KDropdownItem"), s = be("KDropdown");
25
+ return p(), K(s, {
26
+ class: "account-dropdown",
27
+ "kpop-attributes": { placement: "bottom-end" },
28
+ "trigger-text": a.userInitials,
29
+ width: a.width
30
+ }, {
31
+ items: B(({ handleSelection: u }) => [
32
+ C(t.$slots, "default", {}, () => [
33
+ (p(!0), T(Oe, null, we(a.options, (o) => (p(), K(n, {
34
+ key: o.value,
35
+ class: oe({ "has-divider": o.hasDivider }),
36
+ "data-testid": "select-" + o.value,
37
+ "has-divider": o.hasDivider,
38
+ onClick: (v) => u(o)
39
+ }, {
40
+ default: B(() => [
41
+ C(t.$slots, "default", { option: o }, () => [
42
+ Be(Y(o.label), 1)
43
+ ], !0)
44
+ ]),
45
+ _: 2
46
+ }, 1032, ["class", "data-testid", "has-divider", "onClick"]))), 128))
47
+ ], !0)
48
+ ]),
49
+ _: 3
50
+ }, 8, ["trigger-text", "width"]);
51
+ };
52
+ }
53
+ }), ie = (a, t) => {
54
+ const r = a.__vccOpts || a;
55
+ for (const [n, s] of t)
56
+ r[n] = s;
57
+ return r;
58
+ }, go = /* @__PURE__ */ ie(jn, [["__scopeId", "data-v-b33191a2"]]), Pn = {
59
+ class: "about-section-title",
60
+ "data-testid": "about-section-title"
61
+ }, Kn = { class: "about-section-header-end" }, Zn = {
62
+ key: 0,
63
+ class: "about-section-timestamps-created",
64
+ "data-testid": "about-section-timestamps-created"
65
+ }, Hn = {
66
+ key: 1,
67
+ class: "about-section-timestamps-arrow"
68
+ }, Wn = {
69
+ key: 2,
70
+ class: "about-section-timestamps-modified",
71
+ "data-testid": "about-section-timestamps-modified"
72
+ }, zn = {
73
+ key: 1,
74
+ class: "about-section-actions",
75
+ "data-testid": "about-section-actions"
76
+ }, Gn = {
77
+ key: 0,
78
+ "data-testid": "about-section-loading-skeleton"
79
+ }, Un = { key: 1 }, Vn = {
80
+ key: 0,
81
+ class: "about-section-description",
82
+ "data-testid": "about-section-description"
83
+ }, qn = {
84
+ key: 1,
85
+ class: "about-section-content",
86
+ "data-testid": "about-section-content"
87
+ }, Xn = {
88
+ key: 2,
89
+ "data-testid": "about-divider-section-separator"
90
+ }, Yn = {
91
+ key: 3,
92
+ class: "about-divider-section",
93
+ "data-testid": "about-divider-section"
94
+ }, Qn = /* @__PURE__ */ re({
95
+ __name: "AppAboutSection",
96
+ props: {
97
+ title: { default: "" },
98
+ description: { default: "" },
99
+ created: { default: "" },
100
+ createdLabel: { default: "Created" },
101
+ modified: { default: "" },
102
+ modifiedLabel: { default: "Modified" },
103
+ isLoading: { type: Boolean, default: !1 }
104
+ },
105
+ setup(a) {
106
+ const t = a, r = S(() => !!t.modified && t.modified !== t.created);
107
+ return (n, s) => {
108
+ const u = be("KSkeletonBox"), o = be("KCard");
109
+ return p(), K(o, {
110
+ class: "kong-ui-app-about-section",
111
+ "title-tag": "h2"
112
+ }, qe({
113
+ default: B(() => [
114
+ n.isLoading ? (p(), T("div", Gn, [
115
+ Le(u, {
116
+ height: "2",
117
+ width: "100"
118
+ }),
119
+ Le(u, {
120
+ height: "2",
121
+ width: "100"
122
+ })
123
+ ])) : (p(), T("div", Un, [
124
+ n.description ? (p(), T("p", Vn, Y(n.description), 1)) : O("", !0),
125
+ n.$slots.default ? (p(), T("div", qn, [
126
+ C(n.$slots, "default", {}, void 0, !0)
127
+ ])) : O("", !0),
128
+ n.$slots["divider-section"] ? (p(), T("hr", Xn)) : O("", !0),
129
+ n.$slots["divider-section"] ? (p(), T("div", Yn, [
130
+ C(n.$slots, "divider-section", {}, void 0, !0)
131
+ ])) : O("", !0)
132
+ ]))
133
+ ]),
134
+ _: 2
135
+ }, [
136
+ n.$slots.title || n.title ? {
137
+ name: "title",
138
+ fn: B(() => [
139
+ E("span", Pn, [
140
+ C(n.$slots, "title", {}, () => [
141
+ Be(Y(n.title), 1)
142
+ ], !0)
143
+ ])
144
+ ]),
145
+ key: "0"
146
+ } : void 0,
147
+ n.$slots.actions || n.created || n.modified ? {
148
+ name: "actions",
149
+ fn: B(() => [
150
+ E("div", Kn, [
151
+ n.created || n.modified ? (p(), T("div", {
152
+ key: 0,
153
+ class: oe(["about-section-timestamps", { "has-actions": n.$slots.actions }])
154
+ }, [
155
+ n.created ? (p(), T("span", Zn, Y(n.createdLabel) + ": " + Y(n.created), 1)) : O("", !0),
156
+ n.created && r.value ? (p(), T("span", Hn, "->")) : O("", !0),
157
+ r.value ? (p(), T("span", Wn, Y(n.modifiedLabel) + ": " + Y(n.modified), 1)) : O("", !0)
158
+ ], 2)) : O("", !0),
159
+ n.$slots.actions ? (p(), T("div", zn, [
160
+ C(n.$slots, "actions", {}, void 0, !0)
161
+ ])) : O("", !0)
162
+ ])
163
+ ]),
164
+ key: "1"
165
+ } : void 0
166
+ ]), 1024);
167
+ };
168
+ }
169
+ }), yo = /* @__PURE__ */ ie(Qn, [["__scopeId", "data-v-f5864a9c"]]), Jn = {}, er = {
170
+ fill: "none",
171
+ height: "130",
172
+ width: "130",
173
+ xmlns: "http://www.w3.org/2000/svg"
174
+ };
175
+ function tr(a, t) {
176
+ return p(), T("svg", er, t[0] || (t[0] = [
177
+ In('<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)
178
+ ]));
179
+ }
180
+ const ar = /* @__PURE__ */ ie(Jn, [["render", tr]]), nr = { class: "kong-ui-app-error" }, rr = { class: "banana-icon" }, ir = { class: "kong-ui-app-error-content" }, or = /* @__PURE__ */ re({
181
+ __name: "AppError",
182
+ setup(a) {
183
+ return (t, r) => (p(), T("section", nr, [
184
+ E("div", rr, [
185
+ Le(ar)
186
+ ]),
187
+ E("div", ir, [
188
+ C(t.$slots, "default", {}, () => [
189
+ r[0] || (r[0] = E("h2", null, "An unexpected error has occurred", -1)),
190
+ r[1] || (r[1] = E("p", null, [
191
+ Be("Go back to the previous page or "),
192
+ E("a", { href: "/" }, "return home"),
193
+ Be(".")
194
+ ], -1))
195
+ ], !0)
196
+ ])
197
+ ]));
198
+ }
199
+ }), wo = /* @__PURE__ */ ie(or, [["__scopeId", "data-v-b6d8dc55"]]), sr = { class: "kong-ui-app-navbar" }, lr = { class: "header-content" }, cr = { class: "mobile-header-left" }, ur = {
200
+ key: 0,
201
+ class: "app-navbar-logo"
202
+ }, dr = { class: "navbar-content" }, fr = { class: "navbar-content-left" }, vr = { class: "navbar-content-center" }, br = { class: "navbar-content-right" }, pr = /* @__PURE__ */ re({
203
+ __name: "AppNavbar",
204
+ props: {
205
+ topOffset: {
206
+ type: Number,
207
+ default: 0
208
+ },
209
+ leftOffset: {
210
+ type: Number,
211
+ default: 240
212
+ // Defaults to the width of AppSidebar.vue
213
+ },
214
+ zIndex: {
215
+ type: Number,
216
+ default: 3
217
+ }
218
+ },
219
+ setup(a) {
220
+ yt((o) => ({
221
+ "27c93a10": u.value.top,
222
+ "0f284bf5": u.value.zIndex,
223
+ d1659a78: u.value.left,
224
+ "3d9232e8": s.marginRight,
225
+ "038c3c78": s.width
226
+ }));
227
+ const t = a, r = tt(), n = S(() => !!r.logo), s = Ue({
228
+ marginRight: "0",
229
+ width: "0"
230
+ });
231
+ Me(() => {
232
+ var o, v;
233
+ (v = (o = document == null ? void 0 : document.querySelector(".kong-ui-app-navbar .app-navbar-logo")) == null ? void 0 : o.children) != null && v.length ? (s.marginRight = "32px", s.width = "calc(240px - 32px)") : (s.marginRight = "0", s.width = "0");
234
+ });
235
+ const u = S(() => ({
236
+ top: t.topOffset ? `${t.topOffset}px` : "0",
237
+ left: t.leftOffset ? `${t.leftOffset}px` : "0",
238
+ zIndex: t.zIndex
239
+ }));
240
+ return (o, v) => (p(), T("header", sr, [
241
+ E("div", lr, [
242
+ E("div", cr, [
243
+ C(o.$slots, "mobile-sidebar-toggle"),
244
+ C(o.$slots, "mobile-logo")
245
+ ]),
246
+ n.value ? (p(), T("div", ur, [
247
+ C(o.$slots, "logo")
248
+ ])) : O("", !0),
249
+ E("div", dr, [
250
+ E("div", fr, [
251
+ C(o.$slots, "left")
252
+ ]),
253
+ E("div", vr, [
254
+ C(o.$slots, "center")
255
+ ]),
256
+ E("div", br, [
257
+ C(o.$slots, "right")
258
+ ])
259
+ ])
260
+ ])
261
+ ]));
262
+ }
263
+ }), hr = /* @__PURE__ */ ie(pr, [["__scopeId", "data-v-2f6fc50f"]]);
264
+ function mr(a) {
265
+ return $n() ? (En(a), !0) : !1;
266
+ }
267
+ const vt = /* @__PURE__ */ new WeakMap(), gr = (...a) => {
268
+ var t;
269
+ const r = a[0], n = (t = Yt()) == null ? void 0 : t.proxy;
270
+ if (n == null && !Qt())
271
+ throw new Error("injectLocal must be called in setup");
272
+ return n && vt.has(n) && r in vt.get(n) ? vt.get(n)[r] : On(...a);
273
+ }, yr = typeof window < "u" && typeof document < "u";
274
+ typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
275
+ const wr = Object.prototype.toString, kr = (a) => wr.call(a) === "[object Object]";
276
+ function Wt(a) {
277
+ return a.endsWith("rem") ? Number.parseFloat(a) * 16 : Number.parseFloat(a);
278
+ }
279
+ function bt(a) {
280
+ return Array.isArray(a) ? a : [a];
281
+ }
282
+ function Tr(a, t, r) {
283
+ return Ae(
284
+ a,
285
+ t,
286
+ {
287
+ ...r,
288
+ immediate: !0
289
+ }
290
+ );
291
+ }
292
+ const aa = yr ? window : void 0;
293
+ function _r(a) {
294
+ var t;
295
+ const r = $e(a);
296
+ return (t = r == null ? void 0 : r.$el) != null ? t : r;
297
+ }
298
+ function Sr(...a) {
299
+ const t = [], r = () => {
300
+ t.forEach((v) => v()), t.length = 0;
301
+ }, n = (v, b, w, I) => (v.addEventListener(b, w, I), () => v.removeEventListener(b, w, I)), s = S(() => {
302
+ const v = bt($e(a[0])).filter((b) => b != null);
303
+ return v.every((b) => typeof b != "string") ? v : void 0;
304
+ }), u = Tr(
305
+ () => {
306
+ var v, b;
307
+ return [
308
+ (b = (v = s.value) == null ? void 0 : v.map((w) => _r(w))) != null ? b : [aa].filter((w) => w != null),
309
+ bt($e(s.value ? a[1] : a[0])),
310
+ bt(ve(s.value ? a[2] : a[1])),
311
+ // @ts-expect-error - TypeScript gets the correct types, but somehow still complains
312
+ $e(s.value ? a[3] : a[2])
313
+ ];
314
+ },
315
+ ([v, b, w, I]) => {
316
+ if (r(), !(v != null && v.length) || !(b != null && b.length) || !(w != null && w.length))
317
+ return;
318
+ const R = kr(I) ? { ...I } : I;
319
+ t.push(
320
+ ...v.flatMap(
321
+ (L) => b.flatMap(
322
+ (M) => w.map((k) => n(L, M, k, R))
323
+ )
324
+ )
325
+ );
326
+ },
327
+ { flush: "post" }
328
+ ), o = () => {
329
+ u(), r();
330
+ };
331
+ return mr(r), o;
332
+ }
333
+ function Cr() {
334
+ const a = Ve(!1), t = Yt();
335
+ return t && Me(() => {
336
+ a.value = !0;
337
+ }, t), a;
338
+ }
339
+ function Ir(a) {
340
+ const t = Cr();
341
+ return S(() => (t.value, !!a()));
342
+ }
343
+ const Or = Symbol("vueuse-ssr-width");
344
+ function $r() {
345
+ const a = Qt() ? gr(Or, null) : null;
346
+ return typeof a == "number" ? a : void 0;
347
+ }
348
+ function Er(a, t = {}) {
349
+ const { window: r = aa, ssrWidth: n = $r() } = t, s = Ir(() => r && "matchMedia" in r && typeof r.matchMedia == "function"), u = Ve(typeof n == "number"), o = Ve(), v = Ve(!1), b = (w) => {
350
+ v.value = w.matches;
351
+ };
352
+ return Jt(() => {
353
+ if (u.value) {
354
+ u.value = !s.value;
355
+ const w = $e(a).split(",");
356
+ v.value = w.some((I) => {
357
+ const R = I.includes("not all"), L = I.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), M = I.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);
358
+ let k = !!(L || M);
359
+ return L && k && (k = n >= Wt(L[1])), M && k && (k = n <= Wt(M[1])), R ? !k : k;
360
+ });
361
+ return;
362
+ }
363
+ s.value && (o.value = r.matchMedia($e(a)), v.value = o.value.matches);
364
+ }), Sr(o, "change", b, { passive: !0 }), S(() => v.value);
365
+ }
366
+ const Ar = "#ffffff", Fr = "#000933", Nr = "#000933", Dr = "#ffffff", Rr = "0px", xr = "4px", Br = "640px", Lr = "16px", Mr = "#bee2ff", jr = ["title"], pt = 99, Pr = /* @__PURE__ */ re({
367
+ __name: "ItemBadge",
368
+ props: {
369
+ count: {
370
+ type: Number,
371
+ required: !0,
372
+ default: void 0
373
+ }
374
+ },
375
+ setup(a) {
376
+ const t = a, r = S(() => t.count ? t.count > pt ? `${pt}+` : t.count.toString() : "");
377
+ return (n, s) => r.value ? (p(), T("div", {
378
+ key: 0,
379
+ class: "item-badge",
380
+ title: (a.count || 0) > pt ? String(a.count) : void 0
381
+ }, Y(r.value), 9, jr)) : O("", !0);
382
+ }
383
+ }), Kr = /* @__PURE__ */ ie(Pr, [["__scopeId", "data-v-afb0d903"]]), Zr = ["data-testid"], Hr = ["aria-controls", "aria-current", "aria-expanded", "href", "target", "onClick", "onKeypress"], Wr = {
384
+ key: 0,
385
+ class: "sidebar-item-icon"
386
+ }, zr = { class: "sidebar-item-name-container" }, Gr = { class: "sidebar-item-name has-tooltip" }, Ur = {
387
+ key: 2,
388
+ class: "sidebar-item-label truncate-text truncate-18"
389
+ }, Vr = ["id"], qr = /* @__PURE__ */ re({
390
+ __name: "SidebarItem",
391
+ props: {
392
+ item: {
393
+ type: Object,
394
+ required: !0
395
+ },
396
+ /** True if the item is not an L1 primary sidebar item */
397
+ subnavItem: {
398
+ type: Boolean,
399
+ default: !1
400
+ }
401
+ },
402
+ emits: ["click"],
403
+ setup(a, { emit: t }) {
404
+ const r = t, n = a, s = S(() => typeof n.item.to != "string" ? !1 : !!n.item.newWindow || !!n.item.external || n.item.to.startsWith("http")), u = S(() => !n.item.to || typeof n.item.to != "string" || !n.item.newWindow ? !1 : n.item.newWindow && (n.item.to.startsWith("http") || n.item.to.startsWith("/"))), o = S(() => n.subnavItem && n.item.badgeCount !== void 0 && n.item.badgeCount !== 0), v = (w) => {
405
+ r("click", w);
406
+ }, b = (w, I, R) => {
407
+ v(I), typeof R == "function" && (w.preventDefault(), R());
408
+ };
409
+ return (w, I) => {
410
+ var M;
411
+ const R = be("KTooltip"), L = be("SidebarItem", !0);
412
+ return p(), T("li", {
413
+ class: oe([a.subnavItem ? "sidebar-item-secondary" : "sidebar-item-primary", { expanded: a.item.expanded }, { active: a.item.active }]),
414
+ "data-testid": a.item.testId ? `sidebar-item-${a.item.testId}` : void 0
415
+ }, [
416
+ (p(), K(Ee(s.value ? "div" : "router-link"), {
417
+ custom: s.value ? void 0 : !0,
418
+ to: !s.value && !u.value ? a.item.to : void 0
419
+ }, {
420
+ default: B((k) => {
421
+ var U, V;
422
+ return [
423
+ E("a", {
424
+ "aria-controls": (U = a.item.items) != null && U.length && a.item.expanded ? `subnav-${a.item.key}` : void 0,
425
+ "aria-current": a.item.active ? "page" : void 0,
426
+ "aria-expanded": (V = a.item.items) != null && V.length && a.item.expanded ? !0 : void 0,
427
+ class: oe(["sidebar-item-link", { "sidebar-item-external-link": u.value, "router-link": !s.value }]),
428
+ href: s.value ? String(a.item.to || "#") : k == null ? void 0 : k.href,
429
+ target: u.value ? "_blank" : void 0,
430
+ onClick: (j) => b(j, a.item, k == null ? void 0 : k.navigate),
431
+ onKeypress: An((j) => b(j, a.item, k == null ? void 0 : k.navigate), ["enter"])
432
+ }, [
433
+ E("div", {
434
+ class: oe(["sidebar-item-display", { "has-label": !!a.item.label && a.item.expanded, "has-badge": o.value }])
435
+ }, [
436
+ w.$slots[`sidebar-icon-${a.item.key}`] ? (p(), T("div", Wr, [
437
+ a.subnavItem ? O("", !0) : C(w.$slots, `sidebar-icon-${a.item.key}`, { key: 0 }, void 0, !0)
438
+ ])) : O("", !0),
439
+ E("div", zr, [
440
+ (a.subnavItem && !o.value ? a.item.name.length < 25 : a.item.name.length < 18) ? (p(), T("div", {
441
+ key: 0,
442
+ class: oe(["sidebar-item-name truncate-text", [a.subnavItem ? "has-badge-max-width truncate-24" : "truncate-17"]])
443
+ }, Y(a.item.name), 3)) : (p(), K(R, {
444
+ key: 1,
445
+ class: "sidebar-item-tooltip",
446
+ placement: "right",
447
+ "position-fixed": "",
448
+ text: a.item.name
449
+ }, {
450
+ default: B(() => [
451
+ E("div", Gr, [
452
+ E("span", {
453
+ class: oe(["truncate-text", [a.subnavItem ? "truncate-18" : "truncate-17", { "has-badge-max-width": o.value }]])
454
+ }, Y(a.item.name), 3)
455
+ ])
456
+ ]),
457
+ _: 1
458
+ }, 8, ["text"])),
459
+ a.item.label && a.item.expanded ? (p(), T("div", Ur, Y(a.item.label), 1)) : O("", !0)
460
+ ]),
461
+ o.value ? (p(), K(Kr, {
462
+ key: 1,
463
+ count: a.item.badgeCount
464
+ }, null, 8, ["count"])) : O("", !0)
465
+ ], 2)
466
+ ], 42, Hr)
467
+ ];
468
+ }),
469
+ _: 3
470
+ }, 8, ["custom", "to"])),
471
+ (M = a.item.items) != null && M.length && a.item.expanded ? (p(), T("ul", {
472
+ key: 0,
473
+ id: `subnav-${a.item.key}`,
474
+ class: "level-secondary"
475
+ }, [
476
+ (p(!0), T(Oe, null, we(a.item.items, (k) => (p(), K(L, {
477
+ key: k.name,
478
+ item: k,
479
+ "subnav-item": !0,
480
+ onClick: (U) => v(k)
481
+ }, null, 8, ["item", "onClick"]))), 128))
482
+ ], 8, Vr)) : O("", !0)
483
+ ], 10, Zr);
484
+ };
485
+ }
486
+ }), zt = /* @__PURE__ */ ie(qr, [["__scopeId", "data-v-d0b5bc3d"]]);
487
+ /*!
488
+ * tabbable 6.2.0
489
+ * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
490
+ */
491
+ var na = ["input:not([inert])", "select:not([inert])", "textarea:not([inert])", "a[href]:not([inert])", "button:not([inert])", "[tabindex]:not(slot):not([inert])", "audio[controls]:not([inert])", "video[controls]:not([inert])", '[contenteditable]:not([contenteditable="false"]):not([inert])', "details>summary:first-of-type:not([inert])", "details:not([inert])"], Xe = /* @__PURE__ */ na.join(","), ra = typeof Element > "u", ke = ra ? function() {
492
+ } : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector, Ye = !ra && Element.prototype.getRootNode ? function(a) {
493
+ var t;
494
+ return a == null || (t = a.getRootNode) === null || t === void 0 ? void 0 : t.call(a);
495
+ } : function(a) {
496
+ return a == null ? void 0 : a.ownerDocument;
497
+ }, Qe = function a(t, r) {
498
+ var n;
499
+ r === void 0 && (r = !0);
500
+ var s = t == null || (n = t.getAttribute) === null || n === void 0 ? void 0 : n.call(t, "inert"), u = s === "" || s === "true", o = u || r && t && a(t.parentNode);
501
+ return o;
502
+ }, Xr = function(t) {
503
+ var r, n = t == null || (r = t.getAttribute) === null || r === void 0 ? void 0 : r.call(t, "contenteditable");
504
+ return n === "" || n === "true";
505
+ }, ia = function(t, r, n) {
506
+ if (Qe(t))
507
+ return [];
508
+ var s = Array.prototype.slice.apply(t.querySelectorAll(Xe));
509
+ return r && ke.call(t, Xe) && s.unshift(t), s = s.filter(n), s;
510
+ }, oa = function a(t, r, n) {
511
+ for (var s = [], u = Array.from(t); u.length; ) {
512
+ var o = u.shift();
513
+ if (!Qe(o, !1))
514
+ if (o.tagName === "SLOT") {
515
+ var v = o.assignedElements(), b = v.length ? v : o.children, w = a(b, !0, n);
516
+ n.flatten ? s.push.apply(s, w) : s.push({
517
+ scopeParent: o,
518
+ candidates: w
519
+ });
520
+ } else {
521
+ var I = ke.call(o, Xe);
522
+ I && n.filter(o) && (r || !t.includes(o)) && s.push(o);
523
+ var R = o.shadowRoot || // check for an undisclosed shadow
524
+ typeof n.getShadowRoot == "function" && n.getShadowRoot(o), L = !Qe(R, !1) && (!n.shadowRootFilter || n.shadowRootFilter(o));
525
+ if (R && L) {
526
+ var M = a(R === !0 ? o.children : R.children, !0, n);
527
+ n.flatten ? s.push.apply(s, M) : s.push({
528
+ scopeParent: o,
529
+ candidates: M
530
+ });
531
+ } else
532
+ u.unshift.apply(u, o.children);
533
+ }
534
+ }
535
+ return s;
536
+ }, sa = function(t) {
537
+ return !isNaN(parseInt(t.getAttribute("tabindex"), 10));
538
+ }, ye = function(t) {
539
+ if (!t)
540
+ throw new Error("No node provided");
541
+ return t.tabIndex < 0 && (/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName) || Xr(t)) && !sa(t) ? 0 : t.tabIndex;
542
+ }, Yr = function(t, r) {
543
+ var n = ye(t);
544
+ return n < 0 && r && !sa(t) ? 0 : n;
545
+ }, Qr = function(t, r) {
546
+ return t.tabIndex === r.tabIndex ? t.documentOrder - r.documentOrder : t.tabIndex - r.tabIndex;
547
+ }, la = function(t) {
548
+ return t.tagName === "INPUT";
549
+ }, Jr = function(t) {
550
+ return la(t) && t.type === "hidden";
551
+ }, ei = function(t) {
552
+ var r = t.tagName === "DETAILS" && Array.prototype.slice.apply(t.children).some(function(n) {
553
+ return n.tagName === "SUMMARY";
554
+ });
555
+ return r;
556
+ }, ti = function(t, r) {
557
+ for (var n = 0; n < t.length; n++)
558
+ if (t[n].checked && t[n].form === r)
559
+ return t[n];
560
+ }, ai = function(t) {
561
+ if (!t.name)
562
+ return !0;
563
+ var r = t.form || Ye(t), n = function(v) {
564
+ return r.querySelectorAll('input[type="radio"][name="' + v + '"]');
565
+ }, s;
566
+ if (typeof window < "u" && typeof window.CSS < "u" && typeof window.CSS.escape == "function")
567
+ s = n(window.CSS.escape(t.name));
568
+ else
569
+ try {
570
+ s = n(t.name);
571
+ } catch (o) {
572
+ 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", o.message), !1;
573
+ }
574
+ var u = ti(s, t.form);
575
+ return !u || u === t;
576
+ }, ni = function(t) {
577
+ return la(t) && t.type === "radio";
578
+ }, ri = function(t) {
579
+ return ni(t) && !ai(t);
580
+ }, ii = function(t) {
581
+ var r, n = t && Ye(t), s = (r = n) === null || r === void 0 ? void 0 : r.host, u = !1;
582
+ if (n && n !== t) {
583
+ var o, v, b;
584
+ for (u = !!((o = s) !== null && o !== void 0 && (v = o.ownerDocument) !== null && v !== void 0 && v.contains(s) || t != null && (b = t.ownerDocument) !== null && b !== void 0 && b.contains(t)); !u && s; ) {
585
+ var w, I, R;
586
+ n = Ye(s), s = (w = n) === null || w === void 0 ? void 0 : w.host, u = !!((I = s) !== null && I !== void 0 && (R = I.ownerDocument) !== null && R !== void 0 && R.contains(s));
587
+ }
588
+ }
589
+ return u;
590
+ }, Gt = function(t) {
591
+ var r = t.getBoundingClientRect(), n = r.width, s = r.height;
592
+ return n === 0 && s === 0;
593
+ }, oi = function(t, r) {
594
+ var n = r.displayCheck, s = r.getShadowRoot;
595
+ if (getComputedStyle(t).visibility === "hidden")
596
+ return !0;
597
+ var u = ke.call(t, "details>summary:first-of-type"), o = u ? t.parentElement : t;
598
+ if (ke.call(o, "details:not([open]) *"))
599
+ return !0;
600
+ if (!n || n === "full" || n === "legacy-full") {
601
+ if (typeof s == "function") {
602
+ for (var v = t; t; ) {
603
+ var b = t.parentElement, w = Ye(t);
604
+ if (b && !b.shadowRoot && s(b) === !0)
605
+ return Gt(t);
606
+ t.assignedSlot ? t = t.assignedSlot : !b && w !== t.ownerDocument ? t = w.host : t = b;
607
+ }
608
+ t = v;
609
+ }
610
+ if (ii(t))
611
+ return !t.getClientRects().length;
612
+ if (n !== "legacy-full")
613
+ return !0;
614
+ } else if (n === "non-zero-area")
615
+ return Gt(t);
616
+ return !1;
617
+ }, si = function(t) {
618
+ if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))
619
+ for (var r = t.parentElement; r; ) {
620
+ if (r.tagName === "FIELDSET" && r.disabled) {
621
+ for (var n = 0; n < r.children.length; n++) {
622
+ var s = r.children.item(n);
623
+ if (s.tagName === "LEGEND")
624
+ return ke.call(r, "fieldset[disabled] *") ? !0 : !s.contains(t);
625
+ }
626
+ return !0;
627
+ }
628
+ r = r.parentElement;
629
+ }
630
+ return !1;
631
+ }, Je = function(t, r) {
632
+ return !(r.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor
633
+ // because we're limited in the type of selectors we can use in JSDom (see related
634
+ // note related to `candidateSelectors`)
635
+ Qe(r) || Jr(r) || oi(r, t) || // For a details element with a summary, the summary element gets the focus
636
+ ei(r) || si(r));
637
+ }, mt = function(t, r) {
638
+ return !(ri(r) || ye(r) < 0 || !Je(t, r));
639
+ }, li = function(t) {
640
+ var r = parseInt(t.getAttribute("tabindex"), 10);
641
+ return !!(isNaN(r) || r >= 0);
642
+ }, ci = function a(t) {
643
+ var r = [], n = [];
644
+ return t.forEach(function(s, u) {
645
+ var o = !!s.scopeParent, v = o ? s.scopeParent : s, b = Yr(v, o), w = o ? a(s.candidates) : v;
646
+ b === 0 ? o ? r.push.apply(r, w) : r.push(v) : n.push({
647
+ documentOrder: u,
648
+ tabIndex: b,
649
+ item: s,
650
+ isScope: o,
651
+ content: w
652
+ });
653
+ }), n.sort(Qr).reduce(function(s, u) {
654
+ return u.isScope ? s.push.apply(s, u.content) : s.push(u.content), s;
655
+ }, []).concat(r);
656
+ }, ui = function(t, r) {
657
+ r = r || {};
658
+ var n;
659
+ return r.getShadowRoot ? n = oa([t], r.includeContainer, {
660
+ filter: mt.bind(null, r),
661
+ flatten: !1,
662
+ getShadowRoot: r.getShadowRoot,
663
+ shadowRootFilter: li
664
+ }) : n = ia(t, r.includeContainer, mt.bind(null, r)), ci(n);
665
+ }, di = function(t, r) {
666
+ r = r || {};
667
+ var n;
668
+ return r.getShadowRoot ? n = oa([t], r.includeContainer, {
669
+ filter: Je.bind(null, r),
670
+ flatten: !0,
671
+ getShadowRoot: r.getShadowRoot
672
+ }) : n = ia(t, r.includeContainer, Je.bind(null, r)), n;
673
+ }, Ie = function(t, r) {
674
+ if (r = r || {}, !t)
675
+ throw new Error("No node provided");
676
+ return ke.call(t, Xe) === !1 ? !1 : mt(r, t);
677
+ }, fi = /* @__PURE__ */ na.concat("iframe").join(","), ht = function(t, r) {
678
+ if (r = r || {}, !t)
679
+ throw new Error("No node provided");
680
+ return ke.call(t, fi) === !1 ? !1 : Je(r, t);
681
+ };
682
+ /*!
683
+ * focus-trap 7.6.5
684
+ * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
685
+ */
686
+ function gt(a, t) {
687
+ (t == null || t > a.length) && (t = a.length);
688
+ for (var r = 0, n = Array(t); r < t; r++) n[r] = a[r];
689
+ return n;
690
+ }
691
+ function vi(a) {
692
+ if (Array.isArray(a)) return gt(a);
693
+ }
694
+ function bi(a, t, r) {
695
+ return (t = yi(t)) in a ? Object.defineProperty(a, t, {
696
+ value: r,
697
+ enumerable: !0,
698
+ configurable: !0,
699
+ writable: !0
700
+ }) : a[t] = r, a;
701
+ }
702
+ function pi(a) {
703
+ if (typeof Symbol < "u" && a[Symbol.iterator] != null || a["@@iterator"] != null) return Array.from(a);
704
+ }
705
+ function hi() {
706
+ throw new TypeError(`Invalid attempt to spread non-iterable instance.
707
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
708
+ }
709
+ function Ut(a, t) {
710
+ var r = Object.keys(a);
711
+ if (Object.getOwnPropertySymbols) {
712
+ var n = Object.getOwnPropertySymbols(a);
713
+ t && (n = n.filter(function(s) {
714
+ return Object.getOwnPropertyDescriptor(a, s).enumerable;
715
+ })), r.push.apply(r, n);
716
+ }
717
+ return r;
718
+ }
719
+ function Vt(a) {
720
+ for (var t = 1; t < arguments.length; t++) {
721
+ var r = arguments[t] != null ? arguments[t] : {};
722
+ t % 2 ? Ut(Object(r), !0).forEach(function(n) {
723
+ bi(a, n, r[n]);
724
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(r)) : Ut(Object(r)).forEach(function(n) {
725
+ Object.defineProperty(a, n, Object.getOwnPropertyDescriptor(r, n));
726
+ });
727
+ }
728
+ return a;
729
+ }
730
+ function mi(a) {
731
+ return vi(a) || pi(a) || wi(a) || hi();
732
+ }
733
+ function gi(a, t) {
734
+ if (typeof a != "object" || !a) return a;
735
+ var r = a[Symbol.toPrimitive];
736
+ if (r !== void 0) {
737
+ var n = r.call(a, t);
738
+ if (typeof n != "object") return n;
739
+ throw new TypeError("@@toPrimitive must return a primitive value.");
740
+ }
741
+ return (t === "string" ? String : Number)(a);
742
+ }
743
+ function yi(a) {
744
+ var t = gi(a, "string");
745
+ return typeof t == "symbol" ? t : t + "";
746
+ }
747
+ function wi(a, t) {
748
+ if (a) {
749
+ if (typeof a == "string") return gt(a, t);
750
+ var r = {}.toString.call(a).slice(8, -1);
751
+ return r === "Object" && a.constructor && (r = a.constructor.name), r === "Map" || r === "Set" ? Array.from(a) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? gt(a, t) : void 0;
752
+ }
753
+ }
754
+ var qt = {
755
+ activateTrap: function(t, r) {
756
+ if (t.length > 0) {
757
+ var n = t[t.length - 1];
758
+ n !== r && n._setPausedState(!0);
759
+ }
760
+ var s = t.indexOf(r);
761
+ s === -1 || t.splice(s, 1), t.push(r);
762
+ },
763
+ deactivateTrap: function(t, r) {
764
+ var n = t.indexOf(r);
765
+ n !== -1 && t.splice(n, 1), t.length > 0 && !t[t.length - 1]._isManuallyPaused() && t[t.length - 1]._setPausedState(!1);
766
+ }
767
+ }, ki = function(t) {
768
+ return t.tagName && t.tagName.toLowerCase() === "input" && typeof t.select == "function";
769
+ }, Ti = function(t) {
770
+ return (t == null ? void 0 : t.key) === "Escape" || (t == null ? void 0 : t.key) === "Esc" || (t == null ? void 0 : t.keyCode) === 27;
771
+ }, xe = function(t) {
772
+ return (t == null ? void 0 : t.key) === "Tab" || (t == null ? void 0 : t.keyCode) === 9;
773
+ }, _i = function(t) {
774
+ return xe(t) && !t.shiftKey;
775
+ }, Si = function(t) {
776
+ return xe(t) && t.shiftKey;
777
+ }, Xt = function(t) {
778
+ return setTimeout(t, 0);
779
+ }, Re = function(t) {
780
+ for (var r = arguments.length, n = new Array(r > 1 ? r - 1 : 0), s = 1; s < r; s++)
781
+ n[s - 1] = arguments[s];
782
+ return typeof t == "function" ? t.apply(void 0, n) : t;
783
+ }, ze = function(t) {
784
+ return t.target.shadowRoot && typeof t.composedPath == "function" ? t.composedPath()[0] : t.target;
785
+ }, Ci = [], Ii = function(t, r) {
786
+ var n = (r == null ? void 0 : r.document) || document, s = (r == null ? void 0 : r.trapStack) || Ci, u = Vt({
787
+ returnFocusOnDeactivate: !0,
788
+ escapeDeactivates: !0,
789
+ delayInitialFocus: !0,
790
+ isKeyForward: _i,
791
+ isKeyBackward: Si
792
+ }, r), o = {
793
+ // containers given to createFocusTrap()
794
+ // @type {Array<HTMLElement>}
795
+ containers: [],
796
+ // list of objects identifying tabbable nodes in `containers` in the trap
797
+ // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap
798
+ // is active, but the trap should never get to a state where there isn't at least one group
799
+ // with at least one tabbable node in it (that would lead to an error condition that would
800
+ // result in an error being thrown)
801
+ // @type {Array<{
802
+ // container: HTMLElement,
803
+ // tabbableNodes: Array<HTMLElement>, // empty if none
804
+ // focusableNodes: Array<HTMLElement>, // empty if none
805
+ // posTabIndexesFound: boolean,
806
+ // firstTabbableNode: HTMLElement|undefined,
807
+ // lastTabbableNode: HTMLElement|undefined,
808
+ // firstDomTabbableNode: HTMLElement|undefined,
809
+ // lastDomTabbableNode: HTMLElement|undefined,
810
+ // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined
811
+ // }>}
812
+ containerGroups: [],
813
+ // same order/length as `containers` list
814
+ // references to objects in `containerGroups`, but only those that actually have
815
+ // tabbable nodes in them
816
+ // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__
817
+ // the same length
818
+ tabbableGroups: [],
819
+ nodeFocusedBeforeActivation: null,
820
+ mostRecentlyFocusedNode: null,
821
+ active: !1,
822
+ paused: !1,
823
+ manuallyPaused: !1,
824
+ // timer ID for when delayInitialFocus is true and initial focus in this trap
825
+ // has been delayed during activation
826
+ delayInitialFocusTimer: void 0,
827
+ // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any
828
+ recentNavEvent: void 0
829
+ }, v, b = function(c, f, g) {
830
+ return c && c[f] !== void 0 ? c[f] : u[g || f];
831
+ }, w = function(c, f) {
832
+ var g = typeof (f == null ? void 0 : f.composedPath) == "function" ? f.composedPath() : void 0;
833
+ return o.containerGroups.findIndex(function(F) {
834
+ var N = F.container, x = F.tabbableNodes;
835
+ return N.contains(c) || // fall back to explicit tabbable search which will take into consideration any
836
+ // web components if the `tabbableOptions.getShadowRoot` option was used for
837
+ // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
838
+ // look inside web components even if open)
839
+ (g == null ? void 0 : g.includes(N)) || x.find(function($) {
840
+ return $ === c;
841
+ });
842
+ });
843
+ }, I = function(c) {
844
+ var f = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, g = f.hasFallback, F = g === void 0 ? !1 : g, N = f.params, x = N === void 0 ? [] : N, $ = u[c];
845
+ if (typeof $ == "function" && ($ = $.apply(void 0, mi(x))), $ === !0 && ($ = void 0), !$) {
846
+ if ($ === void 0 || $ === !1)
847
+ return $;
848
+ throw new Error("`".concat(c, "` was specified but was not a node, or did not return a node"));
849
+ }
850
+ var d = $;
851
+ if (typeof $ == "string") {
852
+ try {
853
+ d = n.querySelector($);
854
+ } catch (y) {
855
+ throw new Error("`".concat(c, '` appears to be an invalid selector; error="').concat(y.message, '"'));
856
+ }
857
+ if (!d && !F)
858
+ throw new Error("`".concat(c, "` as selector refers to no known node"));
859
+ }
860
+ return d;
861
+ }, R = function() {
862
+ var c = I("initialFocus", {
863
+ hasFallback: !0
864
+ });
865
+ if (c === !1)
866
+ return !1;
867
+ if (c === void 0 || c && !ht(c, u.tabbableOptions))
868
+ if (w(n.activeElement) >= 0)
869
+ c = n.activeElement;
870
+ else {
871
+ var f = o.tabbableGroups[0], g = f && f.firstTabbableNode;
872
+ c = g || I("fallbackFocus");
873
+ }
874
+ else c === null && (c = I("fallbackFocus"));
875
+ if (!c)
876
+ throw new Error("Your focus-trap needs to have at least one focusable element");
877
+ return c;
878
+ }, L = function() {
879
+ if (o.containerGroups = o.containers.map(function(c) {
880
+ var f = ui(c, u.tabbableOptions), g = di(c, u.tabbableOptions), F = f.length > 0 ? f[0] : void 0, N = f.length > 0 ? f[f.length - 1] : void 0, x = g.find(function(y) {
881
+ return Ie(y);
882
+ }), $ = g.slice().reverse().find(function(y) {
883
+ return Ie(y);
884
+ }), d = !!f.find(function(y) {
885
+ return ye(y) > 0;
886
+ });
887
+ return {
888
+ container: c,
889
+ tabbableNodes: f,
890
+ focusableNodes: g,
891
+ /** True if at least one node with positive `tabindex` was found in this container. */
892
+ posTabIndexesFound: d,
893
+ /** First tabbable node in container, __tabindex__ order; `undefined` if none. */
894
+ firstTabbableNode: F,
895
+ /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */
896
+ lastTabbableNode: N,
897
+ // NOTE: DOM order is NOT NECESSARILY "document position" order, but figuring that out
898
+ // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition
899
+ // because that API doesn't work with Shadow DOM as well as it should (@see
900
+ // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,
901
+ // to address an edge case related to positive tabindex support, this seems like a much easier,
902
+ // "close enough most of the time" alternative for positive tabindexes which should generally
903
+ // be avoided anyway...
904
+ /** First tabbable node in container, __DOM__ order; `undefined` if none. */
905
+ firstDomTabbableNode: x,
906
+ /** Last tabbable node in container, __DOM__ order; `undefined` if none. */
907
+ lastDomTabbableNode: $,
908
+ /**
909
+ * Finds the __tabbable__ node that follows the given node in the specified direction,
910
+ * in this container, if any.
911
+ * @param {HTMLElement} node
912
+ * @param {boolean} [forward] True if going in forward tab order; false if going
913
+ * in reverse.
914
+ * @returns {HTMLElement|undefined} The next tabbable node, if any.
915
+ */
916
+ nextTabbableNode: function(_) {
917
+ var m = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, H = f.indexOf(_);
918
+ return H < 0 ? m ? g.slice(g.indexOf(_) + 1).find(function(P) {
919
+ return Ie(P);
920
+ }) : g.slice(0, g.indexOf(_)).reverse().find(function(P) {
921
+ return Ie(P);
922
+ }) : f[H + (m ? 1 : -1)];
923
+ }
924
+ };
925
+ }), o.tabbableGroups = o.containerGroups.filter(function(c) {
926
+ return c.tabbableNodes.length > 0;
927
+ }), o.tabbableGroups.length <= 0 && !I("fallbackFocus"))
928
+ throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
929
+ if (o.containerGroups.find(function(c) {
930
+ return c.posTabIndexesFound;
931
+ }) && o.containerGroups.length > 1)
932
+ throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.");
933
+ }, M = function(c) {
934
+ var f = c.activeElement;
935
+ if (f)
936
+ return f.shadowRoot && f.shadowRoot.activeElement !== null ? M(f.shadowRoot) : f;
937
+ }, k = function(c) {
938
+ if (c !== !1 && c !== M(document)) {
939
+ if (!c || !c.focus) {
940
+ k(R());
941
+ return;
942
+ }
943
+ c.focus({
944
+ preventScroll: !!u.preventScroll
945
+ }), o.mostRecentlyFocusedNode = c, ki(c) && c.select();
946
+ }
947
+ }, U = function(c) {
948
+ var f = I("setReturnFocus", {
949
+ params: [c]
950
+ });
951
+ return f || (f === !1 ? !1 : c);
952
+ }, V = function(c) {
953
+ var f = c.target, g = c.event, F = c.isBackward, N = F === void 0 ? !1 : F;
954
+ f = f || ze(g), L();
955
+ var x = null;
956
+ if (o.tabbableGroups.length > 0) {
957
+ var $ = w(f, g), d = $ >= 0 ? o.containerGroups[$] : void 0;
958
+ if ($ < 0)
959
+ N ? x = o.tabbableGroups[o.tabbableGroups.length - 1].lastTabbableNode : x = o.tabbableGroups[0].firstTabbableNode;
960
+ else if (N) {
961
+ var y = o.tabbableGroups.findIndex(function(le) {
962
+ var Fe = le.firstTabbableNode;
963
+ return f === Fe;
964
+ });
965
+ if (y < 0 && (d.container === f || ht(f, u.tabbableOptions) && !Ie(f, u.tabbableOptions) && !d.nextTabbableNode(f, !1)) && (y = $), y >= 0) {
966
+ var _ = y === 0 ? o.tabbableGroups.length - 1 : y - 1, m = o.tabbableGroups[_];
967
+ x = ye(f) >= 0 ? m.lastTabbableNode : m.lastDomTabbableNode;
968
+ } else xe(g) || (x = d.nextTabbableNode(f, !1));
969
+ } else {
970
+ var H = o.tabbableGroups.findIndex(function(le) {
971
+ var Fe = le.lastTabbableNode;
972
+ return f === Fe;
973
+ });
974
+ if (H < 0 && (d.container === f || ht(f, u.tabbableOptions) && !Ie(f, u.tabbableOptions) && !d.nextTabbableNode(f)) && (H = $), H >= 0) {
975
+ var P = H === o.tabbableGroups.length - 1 ? 0 : H + 1, X = o.tabbableGroups[P];
976
+ x = ye(f) >= 0 ? X.firstTabbableNode : X.firstDomTabbableNode;
977
+ } else xe(g) || (x = d.nextTabbableNode(f));
978
+ }
979
+ } else
980
+ x = I("fallbackFocus");
981
+ return x;
982
+ }, j = function(c) {
983
+ var f = ze(c);
984
+ if (!(w(f, c) >= 0)) {
985
+ if (Re(u.clickOutsideDeactivates, c)) {
986
+ v.deactivate({
987
+ // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,
988
+ // which will result in the outside click setting focus to the node
989
+ // that was clicked (and if not focusable, to "nothing"); by setting
990
+ // `returnFocus: true`, we'll attempt to re-focus the node originally-focused
991
+ // on activation (or the configured `setReturnFocus` node), whether the
992
+ // outside click was on a focusable node or not
993
+ returnFocus: u.returnFocusOnDeactivate
994
+ });
995
+ return;
996
+ }
997
+ Re(u.allowOutsideClick, c) || c.preventDefault();
998
+ }
999
+ }, se = function(c) {
1000
+ var f = ze(c), g = w(f, c) >= 0;
1001
+ if (g || f instanceof Document)
1002
+ g && (o.mostRecentlyFocusedNode = f);
1003
+ else {
1004
+ c.stopImmediatePropagation();
1005
+ var F, N = !0;
1006
+ if (o.mostRecentlyFocusedNode)
1007
+ if (ye(o.mostRecentlyFocusedNode) > 0) {
1008
+ var x = w(o.mostRecentlyFocusedNode), $ = o.containerGroups[x].tabbableNodes;
1009
+ if ($.length > 0) {
1010
+ var d = $.findIndex(function(y) {
1011
+ return y === o.mostRecentlyFocusedNode;
1012
+ });
1013
+ d >= 0 && (u.isKeyForward(o.recentNavEvent) ? d + 1 < $.length && (F = $[d + 1], N = !1) : d - 1 >= 0 && (F = $[d - 1], N = !1));
1014
+ }
1015
+ } else
1016
+ o.containerGroups.some(function(y) {
1017
+ return y.tabbableNodes.some(function(_) {
1018
+ return ye(_) > 0;
1019
+ });
1020
+ }) || (N = !1);
1021
+ else
1022
+ N = !1;
1023
+ N && (F = V({
1024
+ // move FROM the MRU node, not event-related node (which will be the node that is
1025
+ // outside the trap causing the focus escape we're trying to fix)
1026
+ target: o.mostRecentlyFocusedNode,
1027
+ isBackward: u.isKeyBackward(o.recentNavEvent)
1028
+ })), k(F || o.mostRecentlyFocusedNode || R());
1029
+ }
1030
+ o.recentNavEvent = void 0;
1031
+ }, de = function(c) {
1032
+ var f = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
1033
+ o.recentNavEvent = c;
1034
+ var g = V({
1035
+ event: c,
1036
+ isBackward: f
1037
+ });
1038
+ g && (xe(c) && c.preventDefault(), k(g));
1039
+ }, q = function(c) {
1040
+ (u.isKeyForward(c) || u.isKeyBackward(c)) && de(c, u.isKeyBackward(c));
1041
+ }, ne = function(c) {
1042
+ Ti(c) && Re(u.escapeDeactivates, c) !== !1 && (c.preventDefault(), v.deactivate());
1043
+ }, te = function(c) {
1044
+ var f = ze(c);
1045
+ w(f, c) >= 0 || Re(u.clickOutsideDeactivates, c) || Re(u.allowOutsideClick, c) || (c.preventDefault(), c.stopImmediatePropagation());
1046
+ }, ae = function() {
1047
+ if (o.active)
1048
+ return qt.activateTrap(s, v), o.delayInitialFocusTimer = u.delayInitialFocus ? Xt(function() {
1049
+ k(R());
1050
+ }) : k(R()), n.addEventListener("focusin", se, !0), n.addEventListener("mousedown", j, {
1051
+ capture: !0,
1052
+ passive: !1
1053
+ }), n.addEventListener("touchstart", j, {
1054
+ capture: !0,
1055
+ passive: !1
1056
+ }), n.addEventListener("click", te, {
1057
+ capture: !0,
1058
+ passive: !1
1059
+ }), n.addEventListener("keydown", q, {
1060
+ capture: !0,
1061
+ passive: !1
1062
+ }), n.addEventListener("keydown", ne), v;
1063
+ }, D = function() {
1064
+ if (o.active)
1065
+ return n.removeEventListener("focusin", se, !0), n.removeEventListener("mousedown", j, !0), n.removeEventListener("touchstart", j, !0), n.removeEventListener("click", te, !0), n.removeEventListener("keydown", q, !0), n.removeEventListener("keydown", ne), v;
1066
+ }, W = function(c) {
1067
+ var f = c.some(function(g) {
1068
+ var F = Array.from(g.removedNodes);
1069
+ return F.some(function(N) {
1070
+ return N === o.mostRecentlyFocusedNode;
1071
+ });
1072
+ });
1073
+ f && k(R());
1074
+ }, z = typeof window < "u" && "MutationObserver" in window ? new MutationObserver(W) : void 0, Z = function() {
1075
+ z && (z.disconnect(), o.active && !o.paused && o.containers.map(function(c) {
1076
+ z.observe(c, {
1077
+ subtree: !0,
1078
+ childList: !0
1079
+ });
1080
+ }));
1081
+ };
1082
+ return v = {
1083
+ get active() {
1084
+ return o.active;
1085
+ },
1086
+ get paused() {
1087
+ return o.paused;
1088
+ },
1089
+ activate: function(c) {
1090
+ if (o.active)
1091
+ return this;
1092
+ var f = b(c, "onActivate"), g = b(c, "onPostActivate"), F = b(c, "checkCanFocusTrap");
1093
+ F || L(), o.active = !0, o.paused = !1, o.nodeFocusedBeforeActivation = M(n), f == null || f();
1094
+ var N = function() {
1095
+ F && L(), ae(), Z(), g == null || g();
1096
+ };
1097
+ return F ? (F(o.containers.concat()).then(N, N), this) : (N(), this);
1098
+ },
1099
+ deactivate: function(c) {
1100
+ if (!o.active)
1101
+ return this;
1102
+ var f = Vt({
1103
+ onDeactivate: u.onDeactivate,
1104
+ onPostDeactivate: u.onPostDeactivate,
1105
+ checkCanReturnFocus: u.checkCanReturnFocus
1106
+ }, c);
1107
+ clearTimeout(o.delayInitialFocusTimer), o.delayInitialFocusTimer = void 0, D(), o.active = !1, o.paused = !1, Z(), qt.deactivateTrap(s, v);
1108
+ var g = b(f, "onDeactivate"), F = b(f, "onPostDeactivate"), N = b(f, "checkCanReturnFocus"), x = b(f, "returnFocus", "returnFocusOnDeactivate");
1109
+ g == null || g();
1110
+ var $ = function() {
1111
+ Xt(function() {
1112
+ x && k(U(o.nodeFocusedBeforeActivation)), F == null || F();
1113
+ });
1114
+ };
1115
+ return x && N ? (N(U(o.nodeFocusedBeforeActivation)).then($, $), this) : ($(), this);
1116
+ },
1117
+ pause: function(c) {
1118
+ return o.active ? (o.manuallyPaused = !0, this._setPausedState(!0, c)) : this;
1119
+ },
1120
+ unpause: function(c) {
1121
+ return o.active ? (o.manuallyPaused = !1, s[s.length - 1] !== this ? this : this._setPausedState(!1, c)) : this;
1122
+ },
1123
+ updateContainerElements: function(c) {
1124
+ var f = [].concat(c).filter(Boolean);
1125
+ return o.containers = f.map(function(g) {
1126
+ return typeof g == "string" ? n.querySelector(g) : g;
1127
+ }), o.active && L(), Z(), this;
1128
+ }
1129
+ }, Object.defineProperties(v, {
1130
+ _isManuallyPaused: {
1131
+ value: function() {
1132
+ return o.manuallyPaused;
1133
+ }
1134
+ },
1135
+ _setPausedState: {
1136
+ value: function(c, f) {
1137
+ if (o.paused === c)
1138
+ return this;
1139
+ if (o.paused = c, c) {
1140
+ var g = b(f, "onPause"), F = b(f, "onPostPause");
1141
+ g == null || g(), D(), Z(), F == null || F();
1142
+ } else {
1143
+ var N = b(f, "onUnpause"), x = b(f, "onPostUnpause");
1144
+ N == null || N(), L(), ae(), Z(), x == null || x();
1145
+ }
1146
+ return this;
1147
+ }
1148
+ }
1149
+ }), v.updateContainerElements(t), v;
1150
+ };
1151
+ /*!
1152
+ * focus-trap-vue v4.0.3
1153
+ * (c) 2025 Eduardo San Martin Morote
1154
+ * @license MIT
1155
+ */
1156
+ const Oi = {
1157
+ escapeDeactivates: {
1158
+ type: Boolean,
1159
+ default: !0
1160
+ },
1161
+ returnFocusOnDeactivate: {
1162
+ type: Boolean,
1163
+ default: !0
1164
+ },
1165
+ allowOutsideClick: {
1166
+ type: [Boolean, Function],
1167
+ default: !0
1168
+ },
1169
+ clickOutsideDeactivates: [Boolean, Function],
1170
+ initialFocus: [String, Function, Boolean],
1171
+ fallbackFocus: [String, Function],
1172
+ checkCanFocusTrap: Function,
1173
+ checkCanReturnFocus: Function,
1174
+ delayInitialFocus: {
1175
+ type: Boolean,
1176
+ default: !0
1177
+ },
1178
+ document: Object,
1179
+ preventScroll: Boolean,
1180
+ setReturnFocus: [Object, String, Boolean, Function],
1181
+ tabbableOptions: Object
1182
+ }, $i = re({
1183
+ name: "FocusTrap",
1184
+ props: Object.assign({
1185
+ active: {
1186
+ // TODO: could be options for activate but what about the options for deactivating?
1187
+ type: Boolean,
1188
+ default: !0
1189
+ }
1190
+ }, Oi),
1191
+ emits: [
1192
+ "update:active",
1193
+ "activate",
1194
+ "postActivate",
1195
+ "deactivate",
1196
+ "postDeactivate"
1197
+ ],
1198
+ render() {
1199
+ return this.renderImpl();
1200
+ },
1201
+ setup(a, { slots: t, emit: r }) {
1202
+ let n;
1203
+ const s = ee(null), u = S(() => {
1204
+ const v = s.value;
1205
+ return v && (v instanceof HTMLElement ? v : v.$el);
1206
+ });
1207
+ function o() {
1208
+ return n || (n = Ii(u.value, {
1209
+ escapeDeactivates: a.escapeDeactivates,
1210
+ allowOutsideClick: a.allowOutsideClick,
1211
+ returnFocusOnDeactivate: a.returnFocusOnDeactivate,
1212
+ clickOutsideDeactivates: a.clickOutsideDeactivates,
1213
+ onActivate: () => {
1214
+ r("update:active", !0), r("activate");
1215
+ },
1216
+ onDeactivate: () => {
1217
+ r("update:active", !1), r("deactivate");
1218
+ },
1219
+ onPostActivate: () => r("postActivate"),
1220
+ onPostDeactivate: () => r("postDeactivate"),
1221
+ initialFocus: a.initialFocus,
1222
+ fallbackFocus: a.fallbackFocus,
1223
+ tabbableOptions: a.tabbableOptions,
1224
+ delayInitialFocus: a.delayInitialFocus,
1225
+ preventScroll: a.preventScroll
1226
+ }));
1227
+ }
1228
+ return Me(() => {
1229
+ Ae(() => a.active, (v) => {
1230
+ v && u.value ? o().activate() : n && (n.deactivate(), (!u.value || u.value.nodeType === Node.COMMENT_NODE) && (n = null));
1231
+ }, { immediate: !0, flush: "post" });
1232
+ }), Fn(() => {
1233
+ n && n.deactivate(), n = null;
1234
+ }), {
1235
+ activate() {
1236
+ o().activate();
1237
+ },
1238
+ deactivate() {
1239
+ n && n.deactivate();
1240
+ },
1241
+ renderImpl() {
1242
+ if (!t.default)
1243
+ return null;
1244
+ const v = t.default().filter((w) => w.type !== Nn);
1245
+ return !v || !v.length || v.length > 1 ? (console.error("[focus-trap-vue]: FocusTrap requires exactly one child."), v) : Dn(v[0], { ref: s });
1246
+ }
1247
+ };
1248
+ }
1249
+ });
1250
+ function ca() {
1251
+ return {
1252
+ debounce: (t, r) => {
1253
+ let n;
1254
+ return (...s) => {
1255
+ clearTimeout(n), n = window == null ? void 0 : window.setTimeout(() => {
1256
+ t(...s);
1257
+ }, r);
1258
+ };
1259
+ }
1260
+ };
1261
+ }
1262
+ var Ge = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
1263
+ function Ei(a) {
1264
+ return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
1265
+ }
1266
+ var et = { exports: {} };
1267
+ et.exports;
1268
+ (function(a, t) {
1269
+ var r = 200, n = "__lodash_hash_undefined__", s = 9007199254740991, u = "[object Arguments]", o = "[object Array]", v = "[object Boolean]", b = "[object Date]", w = "[object Error]", I = "[object Function]", R = "[object GeneratorFunction]", L = "[object Map]", M = "[object Number]", k = "[object Object]", U = "[object Promise]", V = "[object RegExp]", j = "[object Set]", se = "[object String]", de = "[object Symbol]", q = "[object WeakMap]", ne = "[object ArrayBuffer]", te = "[object DataView]", ae = "[object Float32Array]", D = "[object Float64Array]", W = "[object Int8Array]", z = "[object Int16Array]", Z = "[object Int32Array]", A = "[object Uint8Array]", c = "[object Uint8ClampedArray]", f = "[object Uint16Array]", g = "[object Uint32Array]", F = /[\\^$.*+?()[\]{}|]/g, N = /\w*$/, x = /^\[object .+?Constructor\]$/, $ = /^(?:0|[1-9]\d*)$/, d = {};
1270
+ d[u] = d[o] = d[ne] = d[te] = d[v] = d[b] = d[ae] = d[D] = d[W] = d[z] = d[Z] = d[L] = d[M] = d[k] = d[V] = d[j] = d[se] = d[de] = d[A] = d[c] = d[f] = d[g] = !0, d[w] = d[I] = d[q] = !1;
1271
+ var y = typeof Ge == "object" && Ge && Ge.Object === Object && Ge, _ = typeof self == "object" && self && self.Object === Object && self, m = y || _ || Function("return this")(), H = t && !t.nodeType && t, P = H && !0 && a && !a.nodeType && a, X = P && P.exports === H;
1272
+ function le(e, i) {
1273
+ return e.set(i[0], i[1]), e;
1274
+ }
1275
+ function Fe(e, i) {
1276
+ return e.add(i), e;
1277
+ }
1278
+ function ua(e, i) {
1279
+ for (var l = -1, h = e ? e.length : 0; ++l < h && i(e[l], l, e) !== !1; )
1280
+ ;
1281
+ return e;
1282
+ }
1283
+ function da(e, i) {
1284
+ for (var l = -1, h = i.length, G = e.length; ++l < h; )
1285
+ e[G + l] = i[l];
1286
+ return e;
1287
+ }
1288
+ function wt(e, i, l, h) {
1289
+ for (var G = -1, Q = e ? e.length : 0; ++G < Q; )
1290
+ l = i(l, e[G], G, e);
1291
+ return l;
1292
+ }
1293
+ function fa(e, i) {
1294
+ for (var l = -1, h = Array(e); ++l < e; )
1295
+ h[l] = i(l);
1296
+ return h;
1297
+ }
1298
+ function va(e, i) {
1299
+ return e == null ? void 0 : e[i];
1300
+ }
1301
+ function kt(e) {
1302
+ var i = !1;
1303
+ if (e != null && typeof e.toString != "function")
1304
+ try {
1305
+ i = !!(e + "");
1306
+ } catch {
1307
+ }
1308
+ return i;
1309
+ }
1310
+ function Tt(e) {
1311
+ var i = -1, l = Array(e.size);
1312
+ return e.forEach(function(h, G) {
1313
+ l[++i] = [G, h];
1314
+ }), l;
1315
+ }
1316
+ function at(e, i) {
1317
+ return function(l) {
1318
+ return e(i(l));
1319
+ };
1320
+ }
1321
+ function _t(e) {
1322
+ var i = -1, l = Array(e.size);
1323
+ return e.forEach(function(h) {
1324
+ l[++i] = h;
1325
+ }), l;
1326
+ }
1327
+ var ba = Array.prototype, pa = Function.prototype, je = Object.prototype, nt = m["__core-js_shared__"], St = function() {
1328
+ var e = /[^.]+$/.exec(nt && nt.keys && nt.keys.IE_PROTO || "");
1329
+ return e ? "Symbol(src)_1." + e : "";
1330
+ }(), Ct = pa.toString, fe = je.hasOwnProperty, Pe = je.toString, ha = RegExp(
1331
+ "^" + Ct.call(fe).replace(F, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
1332
+ ), It = X ? m.Buffer : void 0, Ot = m.Symbol, $t = m.Uint8Array, ma = at(Object.getPrototypeOf, Object), ga = Object.create, ya = je.propertyIsEnumerable, wa = ba.splice, Et = Object.getOwnPropertySymbols, ka = It ? It.isBuffer : void 0, Ta = at(Object.keys, Object), rt = Se(m, "DataView"), Ne = Se(m, "Map"), it = Se(m, "Promise"), ot = Se(m, "Set"), st = Se(m, "WeakMap"), De = Se(Object, "create"), _a = me(rt), Sa = me(Ne), Ca = me(it), Ia = me(ot), Oa = me(st), At = Ot ? Ot.prototype : void 0, Ft = At ? At.valueOf : void 0;
1333
+ function pe(e) {
1334
+ var i = -1, l = e ? e.length : 0;
1335
+ for (this.clear(); ++i < l; ) {
1336
+ var h = e[i];
1337
+ this.set(h[0], h[1]);
1338
+ }
1339
+ }
1340
+ function $a() {
1341
+ this.__data__ = De ? De(null) : {};
1342
+ }
1343
+ function Ea(e) {
1344
+ return this.has(e) && delete this.__data__[e];
1345
+ }
1346
+ function Aa(e) {
1347
+ var i = this.__data__;
1348
+ if (De) {
1349
+ var l = i[e];
1350
+ return l === n ? void 0 : l;
1351
+ }
1352
+ return fe.call(i, e) ? i[e] : void 0;
1353
+ }
1354
+ function Fa(e) {
1355
+ var i = this.__data__;
1356
+ return De ? i[e] !== void 0 : fe.call(i, e);
1357
+ }
1358
+ function Na(e, i) {
1359
+ var l = this.__data__;
1360
+ return l[e] = De && i === void 0 ? n : i, this;
1361
+ }
1362
+ pe.prototype.clear = $a, pe.prototype.delete = Ea, pe.prototype.get = Aa, pe.prototype.has = Fa, pe.prototype.set = Na;
1363
+ function ce(e) {
1364
+ var i = -1, l = e ? e.length : 0;
1365
+ for (this.clear(); ++i < l; ) {
1366
+ var h = e[i];
1367
+ this.set(h[0], h[1]);
1368
+ }
1369
+ }
1370
+ function Da() {
1371
+ this.__data__ = [];
1372
+ }
1373
+ function Ra(e) {
1374
+ var i = this.__data__, l = Ke(i, e);
1375
+ if (l < 0)
1376
+ return !1;
1377
+ var h = i.length - 1;
1378
+ return l == h ? i.pop() : wa.call(i, l, 1), !0;
1379
+ }
1380
+ function xa(e) {
1381
+ var i = this.__data__, l = Ke(i, e);
1382
+ return l < 0 ? void 0 : i[l][1];
1383
+ }
1384
+ function Ba(e) {
1385
+ return Ke(this.__data__, e) > -1;
1386
+ }
1387
+ function La(e, i) {
1388
+ var l = this.__data__, h = Ke(l, e);
1389
+ return h < 0 ? l.push([e, i]) : l[h][1] = i, this;
1390
+ }
1391
+ ce.prototype.clear = Da, ce.prototype.delete = Ra, ce.prototype.get = xa, ce.prototype.has = Ba, ce.prototype.set = La;
1392
+ function Te(e) {
1393
+ var i = -1, l = e ? e.length : 0;
1394
+ for (this.clear(); ++i < l; ) {
1395
+ var h = e[i];
1396
+ this.set(h[0], h[1]);
1397
+ }
1398
+ }
1399
+ function Ma() {
1400
+ this.__data__ = {
1401
+ hash: new pe(),
1402
+ map: new (Ne || ce)(),
1403
+ string: new pe()
1404
+ };
1405
+ }
1406
+ function ja(e) {
1407
+ return Ze(this, e).delete(e);
1408
+ }
1409
+ function Pa(e) {
1410
+ return Ze(this, e).get(e);
1411
+ }
1412
+ function Ka(e) {
1413
+ return Ze(this, e).has(e);
1414
+ }
1415
+ function Za(e, i) {
1416
+ return Ze(this, e).set(e, i), this;
1417
+ }
1418
+ Te.prototype.clear = Ma, Te.prototype.delete = ja, Te.prototype.get = Pa, Te.prototype.has = Ka, Te.prototype.set = Za;
1419
+ function _e(e) {
1420
+ this.__data__ = new ce(e);
1421
+ }
1422
+ function Ha() {
1423
+ this.__data__ = new ce();
1424
+ }
1425
+ function Wa(e) {
1426
+ return this.__data__.delete(e);
1427
+ }
1428
+ function za(e) {
1429
+ return this.__data__.get(e);
1430
+ }
1431
+ function Ga(e) {
1432
+ return this.__data__.has(e);
1433
+ }
1434
+ function Ua(e, i) {
1435
+ var l = this.__data__;
1436
+ if (l instanceof ce) {
1437
+ var h = l.__data__;
1438
+ if (!Ne || h.length < r - 1)
1439
+ return h.push([e, i]), this;
1440
+ l = this.__data__ = new Te(h);
1441
+ }
1442
+ return l.set(e, i), this;
1443
+ }
1444
+ _e.prototype.clear = Ha, _e.prototype.delete = Wa, _e.prototype.get = za, _e.prototype.has = Ga, _e.prototype.set = Ua;
1445
+ function Va(e, i) {
1446
+ var l = ut(e) || yn(e) ? fa(e.length, String) : [], h = l.length, G = !!h;
1447
+ for (var Q in e)
1448
+ fe.call(e, Q) && !(G && (Q == "length" || pn(Q, h))) && l.push(Q);
1449
+ return l;
1450
+ }
1451
+ function Nt(e, i, l) {
1452
+ var h = e[i];
1453
+ (!(fe.call(e, i) && Bt(h, l)) || l === void 0 && !(i in e)) && (e[i] = l);
1454
+ }
1455
+ function Ke(e, i) {
1456
+ for (var l = e.length; l--; )
1457
+ if (Bt(e[l][0], i))
1458
+ return l;
1459
+ return -1;
1460
+ }
1461
+ function qa(e, i) {
1462
+ return e && Dt(i, dt(i), e);
1463
+ }
1464
+ function lt(e, i, l, h, G, Q, ue) {
1465
+ var J;
1466
+ if (h && (J = Q ? h(e, G, Q, ue) : h(e)), J !== void 0)
1467
+ return J;
1468
+ if (!He(e))
1469
+ return e;
1470
+ var jt = ut(e);
1471
+ if (jt) {
1472
+ if (J = fn(e), !i)
1473
+ return cn(e, J);
1474
+ } else {
1475
+ var Ce = he(e), Pt = Ce == I || Ce == R;
1476
+ if (kn(e))
1477
+ return tn(e, i);
1478
+ if (Ce == k || Ce == u || Pt && !Q) {
1479
+ if (kt(e))
1480
+ return Q ? e : {};
1481
+ if (J = vn(Pt ? {} : e), !i)
1482
+ return un(e, qa(J, e));
1483
+ } else {
1484
+ if (!d[Ce])
1485
+ return Q ? e : {};
1486
+ J = bn(e, Ce, lt, i);
1487
+ }
1488
+ }
1489
+ ue || (ue = new _e());
1490
+ var Kt = ue.get(e);
1491
+ if (Kt)
1492
+ return Kt;
1493
+ if (ue.set(e, J), !jt)
1494
+ var Zt = l ? dn(e) : dt(e);
1495
+ return ua(Zt || e, function(ft, We) {
1496
+ Zt && (We = ft, ft = e[We]), Nt(J, We, lt(ft, i, l, h, We, e, ue));
1497
+ }), J;
1498
+ }
1499
+ function Xa(e) {
1500
+ return He(e) ? ga(e) : {};
1501
+ }
1502
+ function Ya(e, i, l) {
1503
+ var h = i(e);
1504
+ return ut(e) ? h : da(h, l(e));
1505
+ }
1506
+ function Qa(e) {
1507
+ return Pe.call(e);
1508
+ }
1509
+ function Ja(e) {
1510
+ if (!He(e) || mn(e))
1511
+ return !1;
1512
+ var i = Mt(e) || kt(e) ? ha : x;
1513
+ return i.test(me(e));
1514
+ }
1515
+ function en(e) {
1516
+ if (!xt(e))
1517
+ return Ta(e);
1518
+ var i = [];
1519
+ for (var l in Object(e))
1520
+ fe.call(e, l) && l != "constructor" && i.push(l);
1521
+ return i;
1522
+ }
1523
+ function tn(e, i) {
1524
+ if (i)
1525
+ return e.slice();
1526
+ var l = new e.constructor(e.length);
1527
+ return e.copy(l), l;
1528
+ }
1529
+ function ct(e) {
1530
+ var i = new e.constructor(e.byteLength);
1531
+ return new $t(i).set(new $t(e)), i;
1532
+ }
1533
+ function an(e, i) {
1534
+ var l = i ? ct(e.buffer) : e.buffer;
1535
+ return new e.constructor(l, e.byteOffset, e.byteLength);
1536
+ }
1537
+ function nn(e, i, l) {
1538
+ var h = i ? l(Tt(e), !0) : Tt(e);
1539
+ return wt(h, le, new e.constructor());
1540
+ }
1541
+ function rn(e) {
1542
+ var i = new e.constructor(e.source, N.exec(e));
1543
+ return i.lastIndex = e.lastIndex, i;
1544
+ }
1545
+ function on(e, i, l) {
1546
+ var h = i ? l(_t(e), !0) : _t(e);
1547
+ return wt(h, Fe, new e.constructor());
1548
+ }
1549
+ function sn(e) {
1550
+ return Ft ? Object(Ft.call(e)) : {};
1551
+ }
1552
+ function ln(e, i) {
1553
+ var l = i ? ct(e.buffer) : e.buffer;
1554
+ return new e.constructor(l, e.byteOffset, e.length);
1555
+ }
1556
+ function cn(e, i) {
1557
+ var l = -1, h = e.length;
1558
+ for (i || (i = Array(h)); ++l < h; )
1559
+ i[l] = e[l];
1560
+ return i;
1561
+ }
1562
+ function Dt(e, i, l, h) {
1563
+ l || (l = {});
1564
+ for (var G = -1, Q = i.length; ++G < Q; ) {
1565
+ var ue = i[G], J = void 0;
1566
+ Nt(l, ue, J === void 0 ? e[ue] : J);
1567
+ }
1568
+ return l;
1569
+ }
1570
+ function un(e, i) {
1571
+ return Dt(e, Rt(e), i);
1572
+ }
1573
+ function dn(e) {
1574
+ return Ya(e, dt, Rt);
1575
+ }
1576
+ function Ze(e, i) {
1577
+ var l = e.__data__;
1578
+ return hn(i) ? l[typeof i == "string" ? "string" : "hash"] : l.map;
1579
+ }
1580
+ function Se(e, i) {
1581
+ var l = va(e, i);
1582
+ return Ja(l) ? l : void 0;
1583
+ }
1584
+ var Rt = Et ? at(Et, Object) : Sn, he = Qa;
1585
+ (rt && he(new rt(new ArrayBuffer(1))) != te || Ne && he(new Ne()) != L || it && he(it.resolve()) != U || ot && he(new ot()) != j || st && he(new st()) != q) && (he = function(e) {
1586
+ var i = Pe.call(e), l = i == k ? e.constructor : void 0, h = l ? me(l) : void 0;
1587
+ if (h)
1588
+ switch (h) {
1589
+ case _a:
1590
+ return te;
1591
+ case Sa:
1592
+ return L;
1593
+ case Ca:
1594
+ return U;
1595
+ case Ia:
1596
+ return j;
1597
+ case Oa:
1598
+ return q;
1599
+ }
1600
+ return i;
1601
+ });
1602
+ function fn(e) {
1603
+ var i = e.length, l = e.constructor(i);
1604
+ return i && typeof e[0] == "string" && fe.call(e, "index") && (l.index = e.index, l.input = e.input), l;
1605
+ }
1606
+ function vn(e) {
1607
+ return typeof e.constructor == "function" && !xt(e) ? Xa(ma(e)) : {};
1608
+ }
1609
+ function bn(e, i, l, h) {
1610
+ var G = e.constructor;
1611
+ switch (i) {
1612
+ case ne:
1613
+ return ct(e);
1614
+ case v:
1615
+ case b:
1616
+ return new G(+e);
1617
+ case te:
1618
+ return an(e, h);
1619
+ case ae:
1620
+ case D:
1621
+ case W:
1622
+ case z:
1623
+ case Z:
1624
+ case A:
1625
+ case c:
1626
+ case f:
1627
+ case g:
1628
+ return ln(e, h);
1629
+ case L:
1630
+ return nn(e, h, l);
1631
+ case M:
1632
+ case se:
1633
+ return new G(e);
1634
+ case V:
1635
+ return rn(e);
1636
+ case j:
1637
+ return on(e, h, l);
1638
+ case de:
1639
+ return sn(e);
1640
+ }
1641
+ }
1642
+ function pn(e, i) {
1643
+ return i = i ?? s, !!i && (typeof e == "number" || $.test(e)) && e > -1 && e % 1 == 0 && e < i;
1644
+ }
1645
+ function hn(e) {
1646
+ var i = typeof e;
1647
+ return i == "string" || i == "number" || i == "symbol" || i == "boolean" ? e !== "__proto__" : e === null;
1648
+ }
1649
+ function mn(e) {
1650
+ return !!St && St in e;
1651
+ }
1652
+ function xt(e) {
1653
+ var i = e && e.constructor, l = typeof i == "function" && i.prototype || je;
1654
+ return e === l;
1655
+ }
1656
+ function me(e) {
1657
+ if (e != null) {
1658
+ try {
1659
+ return Ct.call(e);
1660
+ } catch {
1661
+ }
1662
+ try {
1663
+ return e + "";
1664
+ } catch {
1665
+ }
1666
+ }
1667
+ return "";
1668
+ }
1669
+ function gn(e) {
1670
+ return lt(e, !0, !0);
1671
+ }
1672
+ function Bt(e, i) {
1673
+ return e === i || e !== e && i !== i;
1674
+ }
1675
+ function yn(e) {
1676
+ return wn(e) && fe.call(e, "callee") && (!ya.call(e, "callee") || Pe.call(e) == u);
1677
+ }
1678
+ var ut = Array.isArray;
1679
+ function Lt(e) {
1680
+ return e != null && Tn(e.length) && !Mt(e);
1681
+ }
1682
+ function wn(e) {
1683
+ return _n(e) && Lt(e);
1684
+ }
1685
+ var kn = ka || Cn;
1686
+ function Mt(e) {
1687
+ var i = He(e) ? Pe.call(e) : "";
1688
+ return i == I || i == R;
1689
+ }
1690
+ function Tn(e) {
1691
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= s;
1692
+ }
1693
+ function He(e) {
1694
+ var i = typeof e;
1695
+ return !!e && (i == "object" || i == "function");
1696
+ }
1697
+ function _n(e) {
1698
+ return !!e && typeof e == "object";
1699
+ }
1700
+ function dt(e) {
1701
+ return Lt(e) ? Va(e) : en(e);
1702
+ }
1703
+ function Sn() {
1704
+ return [];
1705
+ }
1706
+ function Cn() {
1707
+ return !1;
1708
+ }
1709
+ a.exports = gn;
1710
+ })(et, et.exports);
1711
+ var Ai = et.exports;
1712
+ const Fi = /* @__PURE__ */ Ei(Ai), Ni = {
1713
+ key: 0,
1714
+ class: "sidebar-header"
1715
+ }, Di = { class: "sidebar-content-container" }, Ri = {
1716
+ key: 0,
1717
+ class: "sidebar-top"
1718
+ }, xi = { "aria-label": "Main menu" }, Bi = ["id"], Li = ["aria-labelledby"], Mi = {
1719
+ key: 1,
1720
+ class: "sidebar-level-divider",
1721
+ role: "separator"
1722
+ }, ji = {
1723
+ key: 2,
1724
+ class: "level-primary bottom-items"
1725
+ }, Pi = { class: "sidebar-footer" }, ge = "_ungrouped", Ki = /* @__PURE__ */ re({
1726
+ __name: "AppSidebar",
1727
+ props: {
1728
+ topItems: {
1729
+ type: Array,
1730
+ default: () => []
1731
+ },
1732
+ bottomItems: {
1733
+ type: Array,
1734
+ default: () => []
1735
+ },
1736
+ groupConfig: {
1737
+ type: Object,
1738
+ default: () => ({})
1739
+ },
1740
+ headerHeight: {
1741
+ type: Number,
1742
+ default: 60
1743
+ },
1744
+ topOffset: {
1745
+ type: Number,
1746
+ default: 0
1747
+ },
1748
+ zIndex: {
1749
+ type: Number,
1750
+ default: 3
1751
+ },
1752
+ // Props that only impact mobile
1753
+ open: {
1754
+ type: Boolean,
1755
+ default: !1
1756
+ },
1757
+ mobileEnabled: {
1758
+ type: Boolean,
1759
+ default: !1
1760
+ },
1761
+ mobileTopOffset: {
1762
+ type: Number,
1763
+ default: 0
1764
+ },
1765
+ mobileHeaderVisible: {
1766
+ type: Boolean,
1767
+ default: !1
1768
+ },
1769
+ mobileCloseDelay: {
1770
+ type: Number,
1771
+ default: 350
1772
+ },
1773
+ mobileOverlay: {
1774
+ type: Boolean,
1775
+ default: !0
1776
+ },
1777
+ mobileOverlayZIndex: {
1778
+ type: Number,
1779
+ default: null
1780
+ },
1781
+ mobileOverlayCloseOnClick: {
1782
+ type: Boolean,
1783
+ default: !0
1784
+ }
1785
+ },
1786
+ emits: ["click", "toggle", "toggle-collapse"],
1787
+ setup(a, { emit: t }) {
1788
+ yt((d) => ({
1789
+ "2d6420c6": v.value.mobileHeight,
1790
+ "421fe69f": v.value.mobileTop,
1791
+ "02803aeb": a.zIndex,
1792
+ "00206b5b": v.value.height,
1793
+ "47ef33a1": v.value.top,
1794
+ "7792b3f5": w.value.marginTop,
1795
+ cb49f758: x.value,
1796
+ c4cb1d12: b.value.display,
1797
+ ebe8c4e4: b.value.minHeight,
1798
+ c5adf320: I.value.top,
1799
+ "1d6b5506": I.value.zIndex
1800
+ }));
1801
+ const r = t, n = a, s = tt(), u = S(() => !!s.header), o = S(() => !!s.top), v = S(() => ({
1802
+ mobileTop: n.mobileTopOffset && n.mobileEnabled ? `${n.mobileTopOffset}px` : n.topOffset ? `${n.topOffset}px` : "0",
1803
+ top: n.topOffset ? `${n.topOffset}px` : "0",
1804
+ mobileHeight: n.mobileTopOffset && n.mobileEnabled ? `calc(100% - ${n.mobileTopOffset}px)` : "100%",
1805
+ height: n.topOffset ? `calc(100% - ${n.topOffset}px)` : "100%"
1806
+ })), b = S(() => ({
1807
+ display: !n.mobileHeaderVisible && n.mobileEnabled ? "none" : "flex",
1808
+ minHeight: `${n.headerHeight}px`
1809
+ })), w = S(() => ({
1810
+ marginTop: u.value ? `${n.headerHeight}px` : "0"
1811
+ })), I = S(() => ({
1812
+ top: n.mobileTopOffset && n.mobileEnabled ? `${n.mobileTopOffset}px` : "0",
1813
+ zIndex: n.mobileOverlayZIndex !== null ? n.mobileOverlayZIndex : n.zIndex > 1 ? n.zIndex - 1 : 1
1814
+ })), R = (d) => Fi(d).map((_) => {
1815
+ var m, H, P;
1816
+ if (_) {
1817
+ (!_.key || !((m = _.key) != null && m.trim())) && (_.key = String(_.name || "").trim().toLowerCase().replace(/[^[a-z]/gi, "-")), (!_.testId || !((H = _.testId) != null && H.trim())) && (_.testId = String(_.name || "").trim().toLowerCase().replace(/[^[a-z]/gi, "-"));
1818
+ for (const X of _.items || [])
1819
+ X.parentKey = _.key, (!X.testId || !((P = X.testId) != null && P.trim())) && (X.testId = String(X.name || "").trim().toLowerCase().replace(/[^[a-z]/gi, "-"));
1820
+ }
1821
+ return _;
1822
+ }), L = S(() => n.topItems.length ? R(n.topItems) : []), M = S(() => n.bottomItems.length ? R(n.bottomItems) : []), k = (d = "") => d.trim().replace(" ", "").replace(/[^a-z0-9]+/gi, "-").toLowerCase(), U = S(() => {
1823
+ var y;
1824
+ const d = /* @__PURE__ */ new Map();
1825
+ d.set(ge, []);
1826
+ for (const _ of L.value) {
1827
+ const m = _.group || ge;
1828
+ d.has(m) || d.set(m, []), (y = d.get(m)) == null || y.push(_);
1829
+ }
1830
+ return d;
1831
+ }), V = (d = "") => {
1832
+ if (d === ge || !d.trim())
1833
+ return null;
1834
+ const y = {
1835
+ label: d,
1836
+ collapsible: !1,
1837
+ collapsed: !1
1838
+ };
1839
+ let _ = d.trim().replace(" ", "");
1840
+ return _ = _.charAt(0).toLowerCase() + _.slice(1), d && n.groupConfig && (n.groupConfig[d] || n.groupConfig[_]) ? n.groupConfig[d] || n.groupConfig[_] : y;
1841
+ }, j = (d) => {
1842
+ var y;
1843
+ return !!((y = V(d)) != null && y.collapsible);
1844
+ }, se = (d) => {
1845
+ var y;
1846
+ return !!((y = V(d)) != null && y.collapsed);
1847
+ }, de = (d, y, _) => {
1848
+ const m = V(d);
1849
+ m && (m.collapsed = !y), _(), r("toggle-collapse", d, m);
1850
+ }, q = ee(n.open), ne = (d) => {
1851
+ var y, _;
1852
+ q.value !== d && (q.value = d, r("toggle", d)), d ? (y = document == null ? void 0 : document.body) == null || y.classList.add("kong-ui-app-sidebar-open") : (_ = document == null ? void 0 : document.body) == null || _.classList.remove("kong-ui-app-sidebar-open"), ae.value = !1;
1853
+ }, te = () => {
1854
+ n.mobileOverlayCloseOnClick && ne(!1);
1855
+ }, ae = ee(!1), D = (d) => {
1856
+ ae.value = !0, r("click", d), setTimeout(() => {
1857
+ ne(!1);
1858
+ }, n.mobileCloseDelay);
1859
+ };
1860
+ Ae(() => n.open, (d) => {
1861
+ ne(d);
1862
+ });
1863
+ const { debounce: W } = ca(), z = W(() => {
1864
+ q.value && Z.value !== (window == null ? void 0 : window.innerWidth) && (Z.value = window == null ? void 0 : window.innerWidth, ne(!1));
1865
+ }, 200), Z = ee(), A = ee(!1), c = ee(), f = () => {
1866
+ A.value || (A.value = !0, clearTimeout(c.value), c.value = setTimeout(() => A.value = !1, 1300));
1867
+ }, g = ee(null), F = S(() => q.value && n.mobileEnabled), N = async (d) => {
1868
+ var y, _;
1869
+ d ? (await Ht(), await new Promise((m) => setTimeout(m, 300)), (y = g.value) == null || y.activate()) : (_ = g.value) == null || _.deactivate();
1870
+ };
1871
+ Ae(F, async (d) => {
1872
+ d ? await N(!0) : await N(!1);
1873
+ }, { immediate: !0 });
1874
+ const x = ee("0px"), $ = () => {
1875
+ var X;
1876
+ if (!(/Mac|iPhone|iPod|iPad/i.test(navigator == null ? void 0 : navigator.platform) || /macOS|Mac|iPhone|iPod|iPad/i.test((X = navigator == null ? void 0 : navigator.userAgentData) == null ? void 0 : X.platform)))
1877
+ return;
1878
+ const y = document.createElement("div");
1879
+ y.style.visibility = "hidden", y.style.width = "100px", document.body.appendChild(y);
1880
+ const _ = y.offsetWidth;
1881
+ y.style.overflow = "scroll";
1882
+ const m = document.createElement("div");
1883
+ m.style.width = "100%", y.appendChild(m);
1884
+ const H = m.offsetWidth;
1885
+ y.parentNode && y.parentNode.removeChild(y), _ - H === 0 && (x.value = "8px");
1886
+ };
1887
+ return Me(async () => {
1888
+ if (Z.value = window == null ? void 0 : window.innerWidth, window.addEventListener("resize", z), window.addEventListener("resize", f), n.groupConfig) {
1889
+ for (const d in n.groupConfig)
1890
+ if (Er(`(max-width: ${Br})`)) {
1891
+ const y = n.groupConfig[d];
1892
+ y.collapsed = !1;
1893
+ }
1894
+ }
1895
+ await Ht(), $();
1896
+ }), ea(() => {
1897
+ window.removeEventListener("resize", z), window.removeEventListener("resize", f);
1898
+ }), (d, y) => {
1899
+ const _ = be("KCollapse");
1900
+ return p(), T(Oe, null, [
1901
+ q.value && a.mobileOverlay && a.mobileEnabled ? (p(), T("div", {
1902
+ key: 0,
1903
+ class: "kong-ui-app-sidebar-overlay",
1904
+ onClick: te
1905
+ })) : O("", !0),
1906
+ Le(ve($i), {
1907
+ ref_key: "focusTrap",
1908
+ ref: g,
1909
+ active: !1,
1910
+ "allow-outside-click": "",
1911
+ "fallback-focus": ".kong-ui-app-sidebar"
1912
+ }, {
1913
+ default: B(() => [
1914
+ E("aside", {
1915
+ class: oe(["kong-ui-app-sidebar", {
1916
+ "sidebar-open": q.value,
1917
+ "no-sidebar-header": !u.value,
1918
+ "mobile-header-hidden": a.mobileEnabled && (!u.value || !a.mobileHeaderVisible),
1919
+ "mobile-disabled": !a.mobileEnabled,
1920
+ "disable-transitions": A.value
1921
+ }]),
1922
+ tabindex: "-1"
1923
+ }, [
1924
+ u.value ? (p(), T("div", Ni, [
1925
+ C(d.$slots, "header", {}, void 0, !0)
1926
+ ])) : O("", !0),
1927
+ E("div", Di, [
1928
+ o.value ? (p(), T("div", Ri, [
1929
+ C(d.$slots, "top", {}, void 0, !0)
1930
+ ])) : O("", !0),
1931
+ E("nav", xi, [
1932
+ U.value.size > 0 ? (p(!0), T(Oe, { key: 0 }, we(U.value, ([m, H]) => (p(), K(_, {
1933
+ key: m,
1934
+ class: oe(["level-primary-group-collapse", {
1935
+ "not-collapsible": !j(m),
1936
+ ungrouped: m === ge
1937
+ }]),
1938
+ "data-testid": m === ge ? "level-primary-group-collapse-ungrouped" : `level-primary-group-collapse-${m}`,
1939
+ "model-value": j(m) && se(m) || !1
1940
+ }, {
1941
+ trigger: B(({ isCollapsed: P, toggle: X }) => [
1942
+ (p(), K(Ee(j(m) ? ve(Ln) : "div"), {
1943
+ appearance: j(m) ? "none" : void 0,
1944
+ class: "level-primary-group-collapse-trigger",
1945
+ onClick: (le) => j(m) ? de(m, P, X) : void 0
1946
+ }, {
1947
+ default: B(() => {
1948
+ var le;
1949
+ return [
1950
+ m !== ge ? (p(), T("div", {
1951
+ key: 0,
1952
+ id: `level-primary-group-${k(m)}`,
1953
+ class: "level-primary-group-name",
1954
+ "data-testid": "level-primary-group-name",
1955
+ role: "presentation"
1956
+ }, Y(((le = V(m)) == null ? void 0 : le.label) || m), 9, Bi)) : O("", !0),
1957
+ j(m) ? (p(), K(Ee(P ? ve(ta) : ve(Bn)), {
1958
+ key: 1,
1959
+ class: "level-primary-group-collapse-icon",
1960
+ color: ve(Mr),
1961
+ "data-testid": "level-primary-group-collapse-icon",
1962
+ size: ve(Lr)
1963
+ }, null, 8, ["color", "size"])) : O("", !0)
1964
+ ];
1965
+ }),
1966
+ _: 2
1967
+ }, 1032, ["appearance", "onClick"]))
1968
+ ]),
1969
+ default: B(() => [
1970
+ E("ul", {
1971
+ "aria-labelledby": m !== ge ? `level-primary-group-${k(m)}` : void 0,
1972
+ class: "level-primary top-items"
1973
+ }, [
1974
+ (p(!0), T(Oe, null, we(H, (P) => (p(), K(zt, {
1975
+ key: P.name,
1976
+ item: P,
1977
+ onClick: D
1978
+ }, {
1979
+ [`sidebar-icon-${P.key}`]: B(() => [
1980
+ C(d.$slots, `sidebar-icon-${P.key}`, {}, void 0, !0)
1981
+ ]),
1982
+ _: 2
1983
+ }, 1032, ["item"]))), 128))
1984
+ ], 8, Li)
1985
+ ]),
1986
+ _: 2
1987
+ }, 1032, ["class", "data-testid", "model-value"]))), 128)) : O("", !0),
1988
+ U.value.size > 0 && M.value.length ? (p(), T("div", Mi)) : O("", !0),
1989
+ M.value.length ? (p(), T("ul", ji, [
1990
+ (p(!0), T(Oe, null, we(M.value, (m) => (p(), K(zt, {
1991
+ key: m.name,
1992
+ item: m,
1993
+ onClick: D
1994
+ }, {
1995
+ [`sidebar-icon-${m.key}`]: B(() => [
1996
+ C(d.$slots, `sidebar-icon-${m.key}`, {}, void 0, !0)
1997
+ ]),
1998
+ _: 2
1999
+ }, 1032, ["item"]))), 128))
2000
+ ])) : O("", !0)
2001
+ ])
2002
+ ]),
2003
+ E("div", Pi, [
2004
+ C(d.$slots, "footer", {}, void 0, !0)
2005
+ ])
2006
+ ], 2)
2007
+ ]),
2008
+ _: 3
2009
+ }, 512)
2010
+ ], 64);
2011
+ };
2012
+ }
2013
+ }), Zi = /* @__PURE__ */ ie(Ki, [["__scopeId", "data-v-9c3710c3"]]), Hi = ["aria-label"], Wi = /* @__PURE__ */ re({
2014
+ __name: "SidebarToggle",
2015
+ props: {
2016
+ active: {
2017
+ type: Boolean,
2018
+ default: !1
2019
+ }
2020
+ },
2021
+ emits: ["toggle"],
2022
+ setup(a, { emit: t }) {
2023
+ const r = t, n = a, s = ee(n.active || !1), u = (o) => {
2024
+ o.preventDefault(), s.value = !s.value, r("toggle", s.value);
2025
+ };
2026
+ return Ae(() => n.active, (o) => {
2027
+ s.value = o;
2028
+ }), (o, v) => (p(), T("a", {
2029
+ "aria-haspopup": "true",
2030
+ "aria-label": s.value ? "Close Main Menu" : "Open Main Menu",
2031
+ class: oe(["sidebar-menu-toggle", { active: s.value }]),
2032
+ href: "#",
2033
+ role: "button",
2034
+ onClick: Rn(u, ["prevent"])
2035
+ }, v[0] || (v[0] = [
2036
+ E("span", { class: "line" }, null, -1),
2037
+ E("span", { class: "line" }, null, -1),
2038
+ E("span", { class: "line" }, null, -1)
2039
+ ]), 10, Hi));
2040
+ }
2041
+ }), zi = /* @__PURE__ */ ie(Wi, [["__scopeId", "data-v-cbb41bbd"]]), Gi = { id: "kong-ui-app-layout-notification" }, Ui = { class: "mobile-logo" }, Vi = {
2042
+ key: 0,
2043
+ class: "navbar-logo"
2044
+ }, qi = {
2045
+ class: "kong-ui-app-layout-main",
2046
+ "data-testid": "kong-ui-app-layout-main"
2047
+ }, Xi = { class: "kong-ui-app-layout-content" }, Yi = { class: "kong-ui-app-layout-content-inner" }, Qi = /* @__PURE__ */ re({
2048
+ __name: "AppLayout",
2049
+ props: {
2050
+ hideDefaultSlot: {
2051
+ type: Boolean,
2052
+ default: !1
2053
+ },
2054
+ // Navbar props
2055
+ navbarHidden: {
2056
+ type: Boolean,
2057
+ default: !1
2058
+ },
2059
+ // Sidebar props
2060
+ sidebarHidden: {
2061
+ type: Boolean,
2062
+ default: !1
2063
+ },
2064
+ sidebarOpen: {
2065
+ type: Boolean,
2066
+ default: !1
2067
+ },
2068
+ sidebarTopItems: {
2069
+ type: Array,
2070
+ default: () => []
2071
+ },
2072
+ sidebarBottomItems: {
2073
+ type: Array,
2074
+ default: () => []
2075
+ },
2076
+ groupConfig: {
2077
+ type: Object,
2078
+ default: () => ({})
2079
+ },
2080
+ theme: {
2081
+ type: String,
2082
+ default: "light",
2083
+ validator: (a) => ["light", "dark"].includes(a)
2084
+ }
2085
+ },
2086
+ emits: ["sidebar-click", "update:topOffset", "toggle-collapse"],
2087
+ setup(a, { emit: t }) {
2088
+ yt((D) => ({
2089
+ "182e1cec": j.value,
2090
+ "40b2f580": se.value,
2091
+ "27bb1858": V.value,
2092
+ "7516233c": de.value,
2093
+ "2c991da2": q.value
2094
+ }));
2095
+ const r = a, n = t, s = tt(), u = Ue({
2096
+ navbarLeft: S(() => !!s["navbar-left"]),
2097
+ navbarCenter: S(() => !!s["navbar-center"]),
2098
+ navbarRight: S(() => !!s["navbar-right"]),
2099
+ navbarLogo: S(() => !!s["navbar-logo"]),
2100
+ navbarMobileLogo: S(() => !!s["navbar-mobile-logo"]),
2101
+ sidebarHeader: S(() => !!s["sidebar-header"]),
2102
+ sidebarTop: S(() => !!s["sidebar-top"]),
2103
+ sidebarFooter: S(() => !!s["sidebar-footer"])
2104
+ }), o = S(() => r.hideDefaultSlot), v = Ue({
2105
+ hidden: S(() => r.navbarHidden)
2106
+ }), b = Ue({
2107
+ topItems: S(() => r.sidebarTopItems),
2108
+ bottomItems: S(() => r.sidebarBottomItems),
2109
+ open: S(() => r.sidebarOpen),
2110
+ hidden: S(() => r.sidebarHidden)
2111
+ }), w = (D) => {
2112
+ n("sidebar-click", D);
2113
+ }, I = ee(!1), R = (D) => {
2114
+ I.value = D;
2115
+ };
2116
+ Jt(() => {
2117
+ I.value = xn(b, "open").value || !1;
2118
+ });
2119
+ const L = ee(0), M = ee(60), k = ee(0), U = S(() => v.hidden ? k.value : M.value + k.value), V = S(() => r.theme === "light" ? Nr : Dr), j = S(() => r.theme === "light" ? Ar : Fr), se = S(() => r.theme === "light" ? "var(--kong-ui-app-layout-main-box-shadow, -30px 174px 250px #0023db)" : "none"), de = S(() => `${U.value}px`), q = S(() => b.hidden || v.hidden ? Rr : xr), { debounce: ne } = ca(), te = ne((D = !1) => {
2120
+ if (D || L.value !== (window == null ? void 0 : window.innerWidth)) {
2121
+ L.value = window == null ? void 0 : window.innerWidth;
2122
+ const W = document == null ? void 0 : document.querySelector(".kong-ui-app-layout #kong-ui-app-layout-notification");
2123
+ W && (k.value = W.offsetHeight);
2124
+ }
2125
+ }, 200), ae = ee();
2126
+ return Ae(k, (D) => {
2127
+ n("update:topOffset", D || 0);
2128
+ }, { immediate: !0 }), Me(() => {
2129
+ var W, z;
2130
+ (W = document == null ? void 0 : document.body) == null || W.classList.add("kong-ui-app-layout-body"), (z = document == null ? void 0 : document.documentElement) == null || z.classList.add("kong-ui-app-layout-html"), L.value = window == null ? void 0 : window.innerWidth, te(!0);
2131
+ const D = document == null ? void 0 : document.querySelector(".kong-ui-app-layout #kong-ui-app-layout-notification");
2132
+ D && (ae.value = new ResizeObserver((Z) => {
2133
+ window.requestAnimationFrame(() => {
2134
+ if (!(!Array.isArray(Z) || !Z.length))
2135
+ for (const A of Z) {
2136
+ const c = A.contentRect.height;
2137
+ k.value !== c && (k.value = c);
2138
+ }
2139
+ });
2140
+ }), ae.value.observe(D)), window.addEventListener("resize", te);
2141
+ }), ea(() => {
2142
+ ae.value && ae.value.disconnect(), window.removeEventListener("resize", te);
2143
+ }), (D, W) => (p(), T("div", {
2144
+ class: oe(["kong-ui-app-layout", [
2145
+ { "navbar-hidden": v.hidden },
2146
+ { "sidebar-hidden": b.hidden }
2147
+ ]])
2148
+ }, [
2149
+ E("div", Gi, [
2150
+ C(D.$slots, "notification", {}, void 0, !0)
2151
+ ]),
2152
+ v.hidden ? O("", !0) : (p(), K(hr, {
2153
+ key: String(b.hidden),
2154
+ "left-offset": b.hidden ? 0 : void 0,
2155
+ "top-offset": k.value
2156
+ }, qe({
2157
+ "mobile-sidebar-toggle": B(() => [
2158
+ b.hidden ? O("", !0) : (p(), K(zi, {
2159
+ key: 0,
2160
+ active: I.value,
2161
+ onToggle: R
2162
+ }, null, 8, ["active"]))
2163
+ ]),
2164
+ _: 2
2165
+ }, [
2166
+ u.navbarMobileLogo ? {
2167
+ name: "mobile-logo",
2168
+ fn: B(() => [
2169
+ E("div", Ui, [
2170
+ C(D.$slots, "navbar-mobile-logo", {}, void 0, !0)
2171
+ ])
2172
+ ]),
2173
+ key: "0"
2174
+ } : void 0,
2175
+ u.navbarLogo ? {
2176
+ name: "logo",
2177
+ fn: B(() => [
2178
+ b.hidden ? (p(), T("div", Vi, [
2179
+ C(D.$slots, "navbar-logo", {}, void 0, !0)
2180
+ ])) : O("", !0)
2181
+ ]),
2182
+ key: "1"
2183
+ } : void 0,
2184
+ u.navbarLeft ? {
2185
+ name: "left",
2186
+ fn: B(() => [
2187
+ C(D.$slots, "navbar-left", {}, void 0, !0)
2188
+ ]),
2189
+ key: "2"
2190
+ } : void 0,
2191
+ u.navbarCenter ? {
2192
+ name: "center",
2193
+ fn: B(() => [
2194
+ C(D.$slots, "navbar-center", {}, void 0, !0)
2195
+ ]),
2196
+ key: "3"
2197
+ } : void 0,
2198
+ u.navbarRight ? {
2199
+ name: "right",
2200
+ fn: B(() => [
2201
+ C(D.$slots, "navbar-right", {}, void 0, !0)
2202
+ ]),
2203
+ key: "4"
2204
+ } : void 0
2205
+ ]), 1032, ["left-offset", "top-offset"])),
2206
+ b.hidden ? O("", !0) : (p(), K(Zi, {
2207
+ key: 1,
2208
+ "bottom-items": b.bottomItems,
2209
+ "group-config": a.groupConfig,
2210
+ "header-height": M.value,
2211
+ "mobile-enabled": "",
2212
+ "mobile-header-visible": !1,
2213
+ "mobile-top-offset": U.value,
2214
+ open: I.value,
2215
+ "top-items": b.topItems,
2216
+ "top-offset": k.value,
2217
+ onClick: w,
2218
+ onToggle: R,
2219
+ onToggleCollapse: W[0] || (W[0] = (z, Z) => n("toggle-collapse", z, Z))
2220
+ }, qe({ _: 2 }, [
2221
+ u.sidebarHeader ? {
2222
+ name: "header",
2223
+ fn: B(() => [
2224
+ C(D.$slots, "sidebar-header", {}, void 0, !0)
2225
+ ]),
2226
+ key: "0"
2227
+ } : void 0,
2228
+ u.sidebarTop ? {
2229
+ name: "top",
2230
+ fn: B(() => [
2231
+ C(D.$slots, "sidebar-top", {}, void 0, !0)
2232
+ ]),
2233
+ key: "1"
2234
+ } : void 0,
2235
+ u.sidebarFooter ? {
2236
+ name: "footer",
2237
+ fn: B(() => [
2238
+ C(D.$slots, "sidebar-footer", {}, void 0, !0)
2239
+ ]),
2240
+ key: "2"
2241
+ } : void 0,
2242
+ we([...b.topItems || [], ...b.bottomItems || []], (z) => ({
2243
+ name: `sidebar-icon-${z.key}`,
2244
+ fn: B(() => [
2245
+ C(D.$slots, `sidebar-icon-${z.key}`, {}, void 0, !0)
2246
+ ])
2247
+ }))
2248
+ ]), 1032, ["bottom-items", "group-config", "header-height", "mobile-top-offset", "open", "top-items", "top-offset"])),
2249
+ E("main", qi, [
2250
+ E("div", Xi, [
2251
+ E("div", Yi, [
2252
+ W[1] || (W[1] = E("div", { id: "kong-ui-app-layout-teleport-default-slot" }, null, -1)),
2253
+ C(D.$slots, "app-error", {}, void 0, !0),
2254
+ o.value ? O("", !0) : C(D.$slots, "default", { key: 0 }, void 0, !0)
2255
+ ])
2256
+ ])
2257
+ ])
2258
+ ], 2));
2259
+ }
2260
+ }), Ji = /* @__PURE__ */ ie(Qi, [["__scopeId", "data-v-81828fa2"]]), eo = { class: "kong-ui-app-page-header" }, to = {
2261
+ key: 0,
2262
+ class: "page-header-breadcrumbs",
2263
+ "data-testid": "page-header-breadcrumbs"
2264
+ }, ao = { class: "page-header-title-section" }, no = { class: "page-header-title-wrapper" }, ro = {
2265
+ key: 0,
2266
+ class: "page-header-title-before",
2267
+ "data-testid": "page-header-title-before"
2268
+ }, io = ["title"], oo = {
2269
+ key: 1,
2270
+ class: "page-header-title-after",
2271
+ "data-testid": "page-header-title-after"
2272
+ }, so = {
2273
+ key: 0,
2274
+ class: "page-header-actions",
2275
+ "data-testid": "page-header-actions"
2276
+ }, lo = {
2277
+ key: 1,
2278
+ class: "page-header-section-below",
2279
+ "data-testid": "page-header-section-below"
2280
+ }, co = /* @__PURE__ */ re({
2281
+ __name: "AppPageHeader",
2282
+ props: {
2283
+ title: {
2284
+ type: String,
2285
+ default: ""
2286
+ // Provide a fallback string to prevent the component unmounting from throwing an error
2287
+ },
2288
+ breadcrumbs: {
2289
+ type: Array,
2290
+ default: () => []
2291
+ }
2292
+ },
2293
+ setup(a) {
2294
+ const t = a, r = tt(), n = S(() => {
2295
+ var u;
2296
+ return !!((u = t.breadcrumbs) != null && u.length);
2297
+ }), s = S(() => Object.keys(r).filter((u) => u.startsWith("icon-")));
2298
+ return (u, o) => {
2299
+ const v = be("KBreadcrumbs");
2300
+ return p(), T("div", eo, [
2301
+ n.value ? (p(), T("div", to, [
2302
+ Le(v, {
2303
+ "item-max-width": "150",
2304
+ items: a.breadcrumbs
2305
+ }, qe({ _: 2 }, [
2306
+ we(s.value, (b) => ({
2307
+ name: b,
2308
+ fn: B(() => [
2309
+ C(u.$slots, b, {}, void 0, !0)
2310
+ ])
2311
+ }))
2312
+ ]), 1032, ["items"])
2313
+ ])) : O("", !0),
2314
+ E("div", ao, [
2315
+ E("div", no, [
2316
+ u.$slots["title-before"] ? (p(), T("div", ro, [
2317
+ C(u.$slots, "title-before", {}, void 0, !0)
2318
+ ])) : O("", !0),
2319
+ E("h1", {
2320
+ class: "page-header-title",
2321
+ "data-testid": "page-header-title",
2322
+ title: a.title
2323
+ }, Y(a.title), 9, io),
2324
+ u.$slots["title-after"] ? (p(), T("div", oo, [
2325
+ C(u.$slots, "title-after", {}, void 0, !0)
2326
+ ])) : O("", !0)
2327
+ ]),
2328
+ u.$slots.actions ? (p(), T("div", so, [
2329
+ C(u.$slots, "actions", {}, void 0, !0)
2330
+ ])) : O("", !0)
2331
+ ]),
2332
+ u.$slots.below ? (p(), T("div", lo, [
2333
+ C(u.$slots, "below", {}, void 0, !0)
2334
+ ])) : O("", !0)
2335
+ ]);
2336
+ };
2337
+ }
2338
+ }), ko = /* @__PURE__ */ ie(co, [["__scopeId", "data-v-204b7f98"]]), uo = { class: "app-page-info-section-default-header" }, fo = {
2339
+ key: 1,
2340
+ class: "app-page-info-section-description",
2341
+ "data-testid": "app-page-info-section-description"
2342
+ }, vo = {
2343
+ key: 0,
2344
+ class: "app-page-info-section-content",
2345
+ "data-testid": "app-page-info-section-content"
2346
+ }, bo = /* @__PURE__ */ re({
2347
+ __name: "AppPageInfoSection",
2348
+ props: {
2349
+ collapsible: {
2350
+ type: Boolean,
2351
+ default: !0
2352
+ },
2353
+ title: {
2354
+ type: String,
2355
+ default: ""
2356
+ },
2357
+ description: {
2358
+ type: String,
2359
+ default: ""
2360
+ },
2361
+ titleTag: {
2362
+ type: String,
2363
+ default: "div",
2364
+ validator: (a) => Mn.includes(a)
2365
+ }
2366
+ },
2367
+ setup(a) {
2368
+ return (t, r) => (p(), K(Ee(a.collapsible ? "details" : "div"), {
2369
+ class: "app-page-info-section",
2370
+ "data-testid": "app-page-info-section"
2371
+ }, {
2372
+ default: B(() => [
2373
+ (p(), K(Ee(a.collapsible ? "summary" : "div"), {
2374
+ class: "app-page-info-section-header",
2375
+ "data-testid": "app-page-info-section-header"
2376
+ }, {
2377
+ default: B(() => [
2378
+ C(t.$slots, "header", {}, () => [
2379
+ E("div", uo, [
2380
+ a.title ? (p(), K(Ee(a.titleTag), {
2381
+ key: 0,
2382
+ class: "app-page-info-section-title",
2383
+ "data-testid": "app-page-info-section-title"
2384
+ }, {
2385
+ default: B(() => [
2386
+ Be(Y(a.title), 1)
2387
+ ]),
2388
+ _: 1
2389
+ })) : O("", !0),
2390
+ a.description ? (p(), T("div", fo, Y(a.description), 1)) : O("", !0)
2391
+ ])
2392
+ ]),
2393
+ a.collapsible ? (p(), K(ve(ta), {
2394
+ key: 0,
2395
+ class: "app-page-info-section-chevron-icon",
2396
+ decorative: ""
2397
+ })) : t.$slots.actions ? C(t.$slots, "actions", { key: 1 }) : O("", !0)
2398
+ ]),
2399
+ _: 3
2400
+ })),
2401
+ t.$slots.default ? (p(), T("div", vo, [
2402
+ C(t.$slots, "default")
2403
+ ])) : O("", !0)
2404
+ ]),
2405
+ _: 3
2406
+ }));
2407
+ }
2408
+ }), To = /* @__PURE__ */ ie(bo, [["__scopeId", "data-v-62f17e32"]]), _o = {
2409
+ // Customize Vue plugin options as desired
2410
+ // Providing a `name` property allows for customizing the registered name of your component (useful if exporting a single component).
2411
+ install: (a, t = {}) => {
2412
+ a.component(t.name || "AppLayout", Ji);
2413
+ }
2414
+ };
2415
+ export {
2416
+ go as AccountDropdown,
2417
+ yo as AppAboutSection,
2418
+ wo as AppError,
2419
+ Ji as AppLayout,
2420
+ hr as AppNavbar,
2421
+ ko as AppPageHeader,
2422
+ To as AppPageInfoSection,
2423
+ Zi as AppSidebar,
2424
+ zi as SidebarToggle,
2425
+ _o as default
2426
+ };