vlite3 1.1.11 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,76 @@
1
+ import { defineComponent as u, computed as d, markRaw as e, openBlock as f, createBlock as i, resolveDynamicComponent as m, createSlots as c, renderList as p, withCtx as b, renderSlot as _, normalizeProps as g, guardReactiveProps as h } from "vue";
2
+ import { useAppShell as y } from "./useAppShell.js";
3
+ import o from "./AppShellLayoutSidebarFirst.vue.js";
4
+ import v from "./AppShellLayoutDashboard.vue.js";
5
+ import B from "./AppShellLayoutDock.vue.js";
6
+ import C from "./AppShellLayoutClassic.vue.js";
7
+ import $ from "./AppShellLayoutHeaderShell.vue.js";
8
+ const S = {
9
+ inheritAttrs: !1
10
+ }, V = /* @__PURE__ */ u({
11
+ ...S,
12
+ __name: "AppShell",
13
+ props: {
14
+ variant: { default: "sidebar" },
15
+ position: { default: "sticky" },
16
+ centerPosition: { default: "center" },
17
+ glass: { type: Boolean, default: !1 },
18
+ border: { type: Boolean, default: !0 },
19
+ floating: { type: Boolean, default: !1 },
20
+ class: { default: "" },
21
+ height: { default: "h-16" },
22
+ compact: { type: Boolean, default: !1 },
23
+ renderNestedTabs: { type: Boolean, default: !1 },
24
+ logo: {},
25
+ logoAlt: {},
26
+ mobileBreakpoint: { default: "md" },
27
+ logoClass: { default: "" },
28
+ contentClass: { default: "" },
29
+ menuClass: { default: "" },
30
+ rightClass: { default: "" },
31
+ mobileTriggerClass: { default: "" },
32
+ mobileMenuVariant: { default: "sidepanel" },
33
+ sidebarToggle: { type: Boolean, default: !1 },
34
+ breadcrumb: { type: Boolean, default: !1 },
35
+ breadcrumbPosition: { default: "header" },
36
+ breadcrumbVariant: { default: "default" },
37
+ breadcrumbSeparator: { default: "chevron" },
38
+ breadcrumbSize: { default: "sm" },
39
+ breadcrumbLabels: {},
40
+ breadcrumbHomeIcon: { default: "lucide:home" },
41
+ breadcrumbClass: { default: "" },
42
+ layoutMode: { default: "variant1" }
43
+ },
44
+ emits: ["toggle-mobile"],
45
+ setup(l) {
46
+ const a = l;
47
+ y(a, !0);
48
+ const s = d(() => {
49
+ switch (a.layoutMode) {
50
+ case "variant1":
51
+ return e(o);
52
+ case "variant2":
53
+ return e(v);
54
+ case "variant3":
55
+ return e(B);
56
+ case "variant4":
57
+ return e(C);
58
+ case "variant5":
59
+ return e($);
60
+ default:
61
+ return e(o);
62
+ }
63
+ });
64
+ return (t, k) => (f(), i(m(s.value), null, c({ _: 2 }, [
65
+ p(t.$slots, (A, r) => ({
66
+ name: r,
67
+ fn: b((n) => [
68
+ _(t.$slots, r, g(h(n ?? {})))
69
+ ])
70
+ }))
71
+ ]), 1024));
72
+ }
73
+ });
74
+ export {
75
+ V as default
76
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./AppShell.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,276 @@
1
+ import { defineComponent as B, inject as E, ref as w, openBlock as a, createElementBlock as n, renderSlot as l, unref as e, createCommentVNode as b, createElementVNode as i, createVNode as m, Transition as L, withCtx as g, withDirectives as A, normalizeStyle as H, normalizeClass as d, Fragment as y, vShow as U, isRef as $, createBlock as D, createTextVNode as I } from "vue";
2
+ import { onClickOutside as Y } from "@vueuse/core";
3
+ import C from "../Icon.vue.js";
4
+ import j from "../SidePanel.vue.js";
5
+ import F from "../Navbar/NavbarTabs.vue.js";
6
+ /* empty css */
7
+ import K from "../Breadcrumb/Breadcrumb.vue.js";
8
+ /* empty css */
9
+ import { APPSHELL_LAYOUT_KEY as q } from "./useAppShell.js";
10
+ const G = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflow-hidden" }, J = {
11
+ key: 0,
12
+ class: "w-full shrink-0 z-50 flex flex-col relative"
13
+ }, Q = { class: "flex flex-1 w-full overflow-hidden relative" }, W = { class: "flex items-center gap-4 shrink-0 z-10" }, X = {
14
+ key: 0,
15
+ class: "shrink-0 w-full"
16
+ }, Z = {
17
+ class: "flex flex-col max-h-[80vh] overflow-y-auto scrollbar-thin",
18
+ style: { "will-change": "transform", contain: "layout style" }
19
+ }, _ = { class: "space-y-1 p-2" }, ee = { class: "space-y-1 p-2" }, se = { class: "flex flex-col space-y-6 pt-4 h-full" }, le = {
20
+ key: 0,
21
+ class: "flex flex-col space-y-1"
22
+ }, oe = {
23
+ key: 1,
24
+ class: "flex flex-col space-y-4 flex-1 overflow-y-auto px-3.5! scrollbar-thin scrollbar-stable",
25
+ style: { "will-change": "transform", contain: "layout style" }
26
+ }, re = {
27
+ key: 2,
28
+ class: "mt-auto pt-2 border-t border-border px-3! py-2!"
29
+ }, pe = /* @__PURE__ */ B({
30
+ __name: "AppShellLayoutClassic",
31
+ setup(te) {
32
+ const T = E(q), {
33
+ props: o,
34
+ sidebarHidden: S,
35
+ isMobileMenuOpen: r,
36
+ isSidebarVisible: x,
37
+ toggleSidebar: z,
38
+ pageTitle: V,
39
+ breadcrumbData: c,
40
+ breakpointClasses: f,
41
+ containerClasses: R,
42
+ centerClasses: M,
43
+ nestedTabsItems: h,
44
+ activeNestedTab: p,
45
+ handleNestedTabClick: O,
46
+ mainScrollRef: N,
47
+ layoutMainRef: P
48
+ } = T, k = w(null), v = w(null);
49
+ return Y(
50
+ k,
51
+ () => {
52
+ r.value = !1;
53
+ },
54
+ { ignore: [v] }
55
+ ), (s, t) => (a(), n("div", G, [
56
+ s.$slots.header ? (a(), n("header", J, [
57
+ l(s.$slots, "header", {
58
+ isOpen: e(r),
59
+ toggle: () => r.value = !e(r),
60
+ sidebarVisible: e(x),
61
+ toggleSidebar: e(z),
62
+ breadcrumbItems: e(c).items.value,
63
+ pageTitle: e(V)
64
+ })
65
+ ])) : b("", !0),
66
+ i("div", Q, [
67
+ m(L, {
68
+ "enter-active-class": "transition-all duration-300 ease-in-out overflow-hidden",
69
+ "leave-active-class": "transition-all duration-300 ease-in-out overflow-hidden",
70
+ "enter-from-class": "opacity-0",
71
+ "enter-to-class": "opacity-100",
72
+ "leave-from-class": "opacity-100",
73
+ "leave-to-class": "opacity-0"
74
+ }, {
75
+ default: g(() => [
76
+ A(i("nav", {
77
+ class: d(e(R)),
78
+ role: "navigation",
79
+ style: H(
80
+ e(o).sidebarToggle ? "transition: width 0.3s ease, opacity 0.3s ease;" : ""
81
+ )
82
+ }, [
83
+ e(o).variant === "header" ? (a(), n(y, { key: 0 }, [
84
+ i("div", W, [
85
+ l(s.$slots, "mobile-trigger", {
86
+ isOpen: e(r),
87
+ toggle: () => r.value = !e(r)
88
+ }, () => [
89
+ i("button", {
90
+ type: "button",
91
+ ref_key: "mobileTriggerRef",
92
+ ref: v,
93
+ class: d(["p-2 -ml-2 text-muted-foreground hover:bg-accent rounded-md shrink-0", [e(f).mobileTrigger, e(o).mobileTriggerClass]]),
94
+ onClick: t[0] || (t[0] = (u) => r.value = !e(r))
95
+ }, [
96
+ m(C, {
97
+ icon: "lucide:menu",
98
+ class: "w-5 h-5"
99
+ }),
100
+ t[4] || (t[4] = i("span", { class: "sr-only" }, "Open Menu", -1))
101
+ ], 2)
102
+ ]),
103
+ s.$slots?.left ? (a(), n("div", {
104
+ key: 0,
105
+ class: d(["items-center gap-1 overflow-x-auto no-scrollbar mask-gradient", e(f).desktopContent])
106
+ }, [
107
+ l(s.$slots, "left")
108
+ ], 2)) : b("", !0)
109
+ ]),
110
+ s.$slots?.center ? (a(), n("div", {
111
+ key: 0,
112
+ class: d([e(M), "max-w-full", e(o).contentClass])
113
+ }, [
114
+ l(s.$slots, "center")
115
+ ], 2)) : b("", !0),
116
+ i("div", {
117
+ class: d(["flex items-center gap-2 shrink-0 max-w-[40%] z-10", [
118
+ {
119
+ "ml-auto": e(o).centerPosition === "left" || e(o).centerPosition === "center"
120
+ },
121
+ e(o).rightClass
122
+ ]])
123
+ }, [
124
+ l(s.$slots, "right")
125
+ ], 2)
126
+ ], 64)) : (a(), n(y, { key: 1 }, [
127
+ s.$slots.header ? b("", !0) : (a(), n("div", {
128
+ key: 0,
129
+ class: d(e(f).mobileHeader)
130
+ }, [
131
+ l(s.$slots, "mobile-trigger", {
132
+ isOpen: e(r),
133
+ toggle: () => r.value = !e(r)
134
+ }, () => [
135
+ i("button", {
136
+ type: "button",
137
+ ref_key: "mobileTriggerRef",
138
+ ref: v,
139
+ class: d(["p-2 -mr-2 text-muted-foreground hover:bg-accent rounded-md", e(o).mobileTriggerClass]),
140
+ onClick: t[1] || (t[1] = (u) => r.value = !e(r))
141
+ }, [
142
+ m(C, {
143
+ icon: "lucide:menu",
144
+ class: "w-5 h-5"
145
+ }),
146
+ t[5] || (t[5] = i("span", { class: "sr-only" }, "Open Menu", -1))
147
+ ], 2)
148
+ ])
149
+ ], 2)),
150
+ i("div", {
151
+ class: d(e(f).desktopSidebar)
152
+ }, [
153
+ i("div", {
154
+ class: d(["flex-1 px-2.5 pt-0 pb-4 overflow-y-auto space-y-4 scrollbar-thin scrollbar-stable", e(o).contentClass]),
155
+ style: { "will-change": "transform", contain: "layout style" }
156
+ }, [
157
+ l(s.$slots, "left"),
158
+ l(s.$slots, "sidebar"),
159
+ l(s.$slots, "center")
160
+ ], 2),
161
+ s.$slots?.["sidebar-footer"] ? (a(), n("div", {
162
+ key: 0,
163
+ class: d(["p-2 border-t border-border shrink-0 bg-background mt-auto", e(o).rightClass])
164
+ }, [
165
+ l(s.$slots, "sidebar-footer")
166
+ ], 2)) : b("", !0)
167
+ ], 2)
168
+ ], 64))
169
+ ], 6), [
170
+ [U, !e(S)]
171
+ ])
172
+ ]),
173
+ _: 3
174
+ }),
175
+ s.$slots.main ? (a(), n("main", {
176
+ key: 0,
177
+ ref_key: "layoutMainRef",
178
+ ref: P,
179
+ class: "flex-1 overflow-y-auto w-full relative h-full flex flex-col scrollbar-thin scrollbar-stable"
180
+ }, [
181
+ e(o).renderNestedTabs && e(h).length > 0 ? (a(), n("div", X, [
182
+ m(F, {
183
+ modelValue: e(p),
184
+ "onUpdate:modelValue": t[2] || (t[2] = (u) => $(p) ? p.value = u : null),
185
+ onChange: e(O),
186
+ items: e(h)
187
+ }, null, 8, ["modelValue", "onChange", "items"])
188
+ ])) : b("", !0),
189
+ e(o).breadcrumb && e(o).breadcrumbPosition === "main" && e(c).items.value.length > 1 ? (a(), n("div", {
190
+ key: 1,
191
+ class: d(["shrink-0 w-full border-b border-border px-6 py-2", e(o).breadcrumbClass])
192
+ }, [
193
+ m(e(K), {
194
+ items: e(c).items.value,
195
+ variant: e(o).breadcrumbVariant,
196
+ separator: e(o).breadcrumbSeparator,
197
+ size: e(o).breadcrumbSize
198
+ }, null, 8, ["items", "variant", "separator", "size"])
199
+ ], 2)) : b("", !0),
200
+ i("div", {
201
+ ref_key: "mainScrollRef",
202
+ ref: N,
203
+ style: { "will-change": "transform", contain: "layout style" },
204
+ class: "flex-1 overflow-y-auto w-full relative h-full scrollbar-thin scrollbar-stable"
205
+ }, [
206
+ l(s.$slots, "main")
207
+ ], 512)
208
+ ], 512)) : b("", !0),
209
+ e(o).mobileMenuVariant === "dropdown" ? (a(), n(y, { key: 1 }, [
210
+ e(r) ? (a(), n("div", {
211
+ key: 0,
212
+ ref_key: "mobileMenuRef",
213
+ ref: k,
214
+ class: d(["absolute top-[calc(100%_+_1px)] left-0 w-full bg-body border border-border/50 shadow-xl z-50 flex flex-col transition-all duration-300 origin-top overflow-hidden will-change-transform", e(o).menuClass])
215
+ }, [
216
+ i("div", Z, [
217
+ l(s.$slots, "mobile-menu", {}, () => [
218
+ i("div", _, [
219
+ l(s.$slots, "left")
220
+ ]),
221
+ t[6] || (t[6] = i("div", { class: "h-px bg-border/50 my-1 mx-2" }, null, -1)),
222
+ i("div", ee, [
223
+ l(s.$slots, "center")
224
+ ])
225
+ ])
226
+ ])
227
+ ], 2)) : b("", !0)
228
+ ], 64)) : (a(), D(j, {
229
+ key: 2,
230
+ show: e(r),
231
+ "onUpdate:show": t[3] || (t[3] = (u) => $(r) ? r.value = u : null),
232
+ position: "left",
233
+ size: "sm",
234
+ triggerClass: e(f).mobileTrigger,
235
+ class: d(["z-60", e(f).mobileTrigger]),
236
+ headerClass: "pl-3! pr-4.5! py-3!",
237
+ bodyClass: "p-0!"
238
+ }, {
239
+ header: g(() => [
240
+ l(s.$slots, "mobile-sidebar-header", {}, () => [
241
+ l(s.$slots, "sidebar-header", {}, () => [
242
+ t[7] || (t[7] = I("Brand", -1))
243
+ ])
244
+ ])
245
+ ]),
246
+ default: g(() => [
247
+ i("div", se, [
248
+ e(o).variant === "header" ? (a(), n("div", le, [
249
+ l(s.$slots, "mobile-menu", {}, () => [
250
+ l(s.$slots, "left"),
251
+ t[8] || (t[8] = i("div", { class: "h-px bg-border my-2" }, null, -1)),
252
+ l(s.$slots, "center")
253
+ ])
254
+ ])) : (a(), n("div", oe, [
255
+ l(s.$slots, "left"),
256
+ l(s.$slots, "mobile-sidebar", {}, () => [
257
+ l(s.$slots, "sidebar")
258
+ ]),
259
+ l(s.$slots, "center")
260
+ ])),
261
+ s.$slots?.["mobile-sidebar-footer"] || s.$slots?.["sidebar-footer"] ? (a(), n("div", re, [
262
+ l(s.$slots, "mobile-sidebar-footer", {}, () => [
263
+ l(s.$slots, "sidebar-footer")
264
+ ])
265
+ ])) : b("", !0)
266
+ ])
267
+ ]),
268
+ _: 3
269
+ }, 8, ["show", "triggerClass", "class"]))
270
+ ])
271
+ ]));
272
+ }
273
+ });
274
+ export {
275
+ pe as default
276
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./AppShellLayoutClassic.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,166 @@
1
+ import { defineComponent as V, inject as _, openBlock as a, createElementBlock as o, createVNode as m, Transition as z, withCtx as h, withDirectives as N, createElementVNode as n, normalizeClass as b, unref as e, renderSlot as s, createCommentVNode as t, vShow as R, isRef as g, createTextVNode as B } from "vue";
2
+ import E from "../SidePanel.vue.js";
3
+ import L from "../Navbar/NavbarTabs.vue.js";
4
+ /* empty css */
5
+ import M from "../Breadcrumb/Breadcrumb.vue.js";
6
+ import "@iconify/vue";
7
+ /* empty css */
8
+ import { APPSHELL_LAYOUT_KEY as P } from "./useAppShell.js";
9
+ const A = { class: "vlite-app-layout flex flex-row w-full h-full bg-muted/20 p-0 sm:p-2 gap-0 sm:gap-2 overflow-hidden" }, D = {
10
+ key: 0,
11
+ class: "flex items-center px-4 py-3"
12
+ }, O = { class: "flex flex-col flex-1 min-w-0 h-full overflow-hidden bg-background rounded-xl max-sm:rounded-none border border-border/70 max-sm:border-0 shadow-sm" }, U = {
13
+ key: 0,
14
+ class: "w-full shrink-0 z-20 bg-background border-b border-border/50"
15
+ }, H = {
16
+ key: 0,
17
+ class: "shrink-0 w-full border-b border-border/50"
18
+ }, I = { class: "flex flex-col h-full" }, Y = {
19
+ class: "flex-1 overflow-y-auto px-3.5 pt-4 scrollbar-thin scrollbar-stable",
20
+ style: { "will-change": "transform", contain: "layout style" }
21
+ }, j = {
22
+ key: 0,
23
+ class: "mt-auto pt-2 border-t border-border px-3 py-2"
24
+ }, ee = /* @__PURE__ */ V({
25
+ __name: "AppShellLayoutDashboard",
26
+ setup(K) {
27
+ const y = _(P), {
28
+ props: l,
29
+ sidebarHidden: w,
30
+ isMobileMenuOpen: i,
31
+ isSidebarVisible: k,
32
+ toggleSidebar: x,
33
+ pageTitle: $,
34
+ breadcrumbData: u,
35
+ breakpointClasses: f,
36
+ nestedTabsItems: v,
37
+ activeNestedTab: c,
38
+ handleNestedTabClick: C,
39
+ mainScrollRef: S,
40
+ layoutMainRef: T
41
+ } = y;
42
+ return (r, d) => (a(), o("div", A, [
43
+ m(z, {
44
+ "enter-active-class": "transition-all duration-300 ease-in-out",
45
+ "leave-active-class": "transition-all duration-300 ease-in-out",
46
+ "enter-from-class": "opacity-0 -translate-x-2",
47
+ "enter-to-class": "opacity-100 translate-x-0",
48
+ "leave-from-class": "opacity-100 translate-x-0",
49
+ "leave-to-class": "opacity-0 -translate-x-2"
50
+ }, {
51
+ default: h(() => [
52
+ N(n("nav", {
53
+ class: b([
54
+ "shrink-0 h-full flex flex-col bg-background rounded-xl max-sm:rounded-none border border-border/70 max-sm:border-0 shadow-sm overflow-hidden z-30",
55
+ e(f).mobileTrigger === "md:hidden" ? "max-md:hidden" : "",
56
+ e(l).class
57
+ ]),
58
+ role: "navigation",
59
+ "aria-label": "Sidebar"
60
+ }, [
61
+ r.$slots["sidebar-header"] ? (a(), o("div", D, [
62
+ s(r.$slots, "sidebar-header")
63
+ ])) : t("", !0),
64
+ n("div", {
65
+ class: b(["flex-1 overflow-y-auto overflow-x-hidden scrollbar-thin scrollbar-stable", e(l).contentClass]),
66
+ style: { "will-change": "transform", contain: "layout style" }
67
+ }, [
68
+ s(r.$slots, "sidebar")
69
+ ], 2),
70
+ r.$slots["sidebar-footer"] ? (a(), o("div", {
71
+ key: 1,
72
+ class: b(["shrink-0 bg-transparent pt-2", e(l).rightClass])
73
+ }, [
74
+ s(r.$slots, "sidebar-footer")
75
+ ], 2)) : t("", !0)
76
+ ], 2), [
77
+ [R, !e(w)]
78
+ ])
79
+ ]),
80
+ _: 3
81
+ }),
82
+ n("div", O, [
83
+ r.$slots.header ? (a(), o("header", U, [
84
+ s(r.$slots, "header", {
85
+ isOpen: e(i),
86
+ toggle: () => i.value = !e(i),
87
+ sidebarVisible: e(k),
88
+ toggleSidebar: e(x),
89
+ breadcrumbItems: e(u).items.value,
90
+ pageTitle: e($)
91
+ })
92
+ ])) : t("", !0),
93
+ r.$slots.main ? (a(), o("main", {
94
+ key: 1,
95
+ ref_key: "layoutMainRef",
96
+ ref: T,
97
+ class: "flex-1 overflow-y-auto w-full relative h-full flex flex-col min-h-0 scrollbar-thin scrollbar-stable"
98
+ }, [
99
+ e(l).renderNestedTabs && e(v).length > 0 ? (a(), o("div", H, [
100
+ m(L, {
101
+ modelValue: e(c),
102
+ "onUpdate:modelValue": d[0] || (d[0] = (p) => g(c) ? c.value = p : null),
103
+ onChange: e(C),
104
+ items: e(v)
105
+ }, null, 8, ["modelValue", "onChange", "items"])
106
+ ])) : t("", !0),
107
+ e(l).breadcrumb && e(l).breadcrumbPosition === "main" && e(u).items.value.length > 1 ? (a(), o("div", {
108
+ key: 1,
109
+ class: b(["shrink-0 w-full px-6 py-2 border-b border-border/50", e(l).breadcrumbClass])
110
+ }, [
111
+ m(e(M), {
112
+ items: e(u).items.value,
113
+ variant: e(l).breadcrumbVariant,
114
+ separator: e(l).breadcrumbSeparator,
115
+ size: e(l).breadcrumbSize
116
+ }, null, 8, ["items", "variant", "separator", "size"])
117
+ ], 2)) : t("", !0),
118
+ n("div", {
119
+ ref_key: "mainScrollRef",
120
+ ref: S,
121
+ style: { "will-change": "transform", contain: "layout style" },
122
+ class: "flex-1 overflow-y-auto pt-2 w-full relative h-full scrollbar-thin scrollbar-stable"
123
+ }, [
124
+ s(r.$slots, "main")
125
+ ], 512)
126
+ ], 512)) : t("", !0)
127
+ ]),
128
+ m(E, {
129
+ show: e(i),
130
+ "onUpdate:show": d[1] || (d[1] = (p) => g(i) ? i.value = p : null),
131
+ position: "left",
132
+ size: "sm",
133
+ triggerClass: e(f).mobileTrigger,
134
+ class: b(["z-60", e(f).mobileTrigger]),
135
+ headerClass: "pl-3! pr-4.5! py-3!",
136
+ bodyClass: "p-0!"
137
+ }, {
138
+ header: h(() => [
139
+ s(r.$slots, "mobile-sidebar-header", {}, () => [
140
+ s(r.$slots, "sidebar-header", {}, () => [
141
+ d[2] || (d[2] = B("Brand", -1))
142
+ ])
143
+ ])
144
+ ]),
145
+ default: h(() => [
146
+ n("div", I, [
147
+ n("div", Y, [
148
+ s(r.$slots, "mobile-sidebar", {}, () => [
149
+ s(r.$slots, "sidebar")
150
+ ])
151
+ ]),
152
+ r.$slots["mobile-sidebar-footer"] || r.$slots["sidebar-footer"] ? (a(), o("div", j, [
153
+ s(r.$slots, "mobile-sidebar-footer", {}, () => [
154
+ s(r.$slots, "sidebar-footer")
155
+ ])
156
+ ])) : t("", !0)
157
+ ])
158
+ ]),
159
+ _: 3
160
+ }, 8, ["show", "triggerClass", "class"])
161
+ ]));
162
+ }
163
+ });
164
+ export {
165
+ ee as default
166
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./AppShellLayoutDashboard.vue.js";
2
+ export {
3
+ f as default
4
+ };