vlite3 1.1.10 → 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.
Files changed (62) hide show
  1. package/components/AppShell/AppShell.vue.d.ts +39 -0
  2. package/components/AppShell/AppShell.vue.js +76 -0
  3. package/components/AppShell/AppShell.vue2.js +4 -0
  4. package/components/{Navbar/NavbarLayoutClassic.vue.d.ts → AppShell/AppShellLayoutClassic.vue.d.ts} +8 -5
  5. package/components/{Navbar/NavbarLayoutClassic.vue.js → AppShell/AppShellLayoutClassic.vue.js} +93 -85
  6. package/components/AppShell/AppShellLayoutClassic.vue2.js +4 -0
  7. package/components/{Navbar/NavbarLayoutDashboard.vue.d.ts → AppShell/AppShellLayoutDashboard.vue.d.ts} +9 -6
  8. package/components/AppShell/AppShellLayoutDashboard.vue.js +166 -0
  9. package/components/AppShell/AppShellLayoutDashboard.vue2.js +4 -0
  10. package/components/{Navbar/NavbarLayoutDock.vue.d.ts → AppShell/AppShellLayoutDock.vue.d.ts} +9 -6
  11. package/components/{Navbar/NavbarLayoutDock.vue.js → AppShell/AppShellLayoutDock.vue.js} +57 -48
  12. package/components/AppShell/AppShellLayoutDock.vue2.js +4 -0
  13. package/components/{Navbar/NavbarLayoutSidebarFirst.vue.d.ts → AppShell/AppShellLayoutHeaderShell.vue.d.ts} +9 -5
  14. package/components/AppShell/AppShellLayoutHeaderShell.vue.js +168 -0
  15. package/components/AppShell/AppShellLayoutHeaderShell.vue2.js +4 -0
  16. package/components/AppShell/AppShellLayoutSidebarFirst.vue.d.ts +40 -0
  17. package/components/AppShell/AppShellLayoutSidebarFirst.vue.js +166 -0
  18. package/components/AppShell/AppShellLayoutSidebarFirst.vue2.js +4 -0
  19. package/components/AppShell/index.d.ts +2 -0
  20. package/components/AppShell/useAppShell.d.ts +37 -0
  21. package/components/AppShell/useAppShell.js +134 -0
  22. package/components/Chart/BarChart.vue.js +46 -48
  23. package/components/Chart/PieChart.vue.js +45 -45
  24. package/components/Chart/SegmentBarChart.vue.d.ts +24 -0
  25. package/components/Chart/SegmentBarChart.vue.js +163 -0
  26. package/components/Chart/SegmentBarChart.vue2.js +4 -0
  27. package/components/Chart/StatCardChart.vue.d.ts +11 -0
  28. package/components/Chart/StatCardChart.vue.js +7 -0
  29. package/components/Chart/StatCardChart.vue2.js +91 -0
  30. package/components/Chart/TimelineChart.vue.d.ts +24 -0
  31. package/components/Chart/TimelineChart.vue.js +198 -0
  32. package/components/Chart/TimelineChart.vue2.js +4 -0
  33. package/components/Chart/WaffleChart.vue.d.ts +28 -0
  34. package/components/Chart/WaffleChart.vue.js +134 -0
  35. package/components/Chart/WaffleChart.vue2.js +4 -0
  36. package/components/Chart/index.d.ts +5 -1
  37. package/components/Chart/types.d.ts +100 -0
  38. package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
  39. package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
  40. package/components/Dropdown/Dropdown.vue.js +11 -11
  41. package/components/Navbar/Navbar.vue.d.ts +43 -17
  42. package/components/Navbar/Navbar.vue.js +177 -54
  43. package/components/Navbar/useNavbar.d.ts +4 -23
  44. package/components/Navbar/useNavbar.js +42 -97
  45. package/components/NavbarCommandPalette.vue.js +1 -1
  46. package/components/SidebarMenu/SidebarMenu.vue.js +1 -1
  47. package/components/SidebarMenu/SidebarMenuItem.vue.js +138 -122
  48. package/index.d.ts +1 -0
  49. package/index.js +136 -126
  50. package/package.json +1 -1
  51. package/style.css +1 -1
  52. package/types/appshell.type.d.ts +35 -0
  53. package/types/navbar.type.d.ts +0 -19
  54. package/components/Navbar/NavbarLayoutClassic.vue2.js +0 -4
  55. package/components/Navbar/NavbarLayoutDashboard.vue.js +0 -157
  56. package/components/Navbar/NavbarLayoutDashboard.vue2.js +0 -4
  57. package/components/Navbar/NavbarLayoutDock.vue2.js +0 -4
  58. package/components/Navbar/NavbarLayoutSidebarFirst.vue.js +0 -151
  59. package/components/Navbar/NavbarLayoutSidebarFirst.vue2.js +0 -4
  60. package/components/Navbar/NavbarStandalone.vue.d.ts +0 -48
  61. package/components/Navbar/NavbarStandalone.vue.js +0 -183
  62. package/components/Navbar/NavbarStandalone.vue2.js +0 -4
@@ -0,0 +1,39 @@
1
+ import { AppShellProps } from '../../types/appshell.type';
2
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<AppShellProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ "toggle-mobile": () => any;
4
+ }, string, import('vue').PublicProps, Readonly<AppShellProps> & Readonly<{
5
+ "onToggle-mobile"?: () => any;
6
+ }>, {
7
+ class: string;
8
+ height: string;
9
+ border: boolean;
10
+ variant: import('../../types/appshell.type').AppShellVariant;
11
+ floating: boolean;
12
+ compact: boolean;
13
+ position: import('../../types/appshell.type').AppShellPosition;
14
+ contentClass: string;
15
+ centerPosition: import('../../types/appshell.type').AppShellCenterPosition;
16
+ glass: boolean;
17
+ mobileBreakpoint: "sm" | "md" | "lg" | "xl";
18
+ menuClass: string;
19
+ rightClass: string;
20
+ mobileTriggerClass: string;
21
+ mobileMenuVariant: "sidepanel" | "dropdown";
22
+ breadcrumb: boolean;
23
+ renderNestedTabs: boolean;
24
+ logoClass: string;
25
+ sidebarToggle: boolean;
26
+ breadcrumbVariant: import('../Breadcrumb').BreadcrumbVariant;
27
+ breadcrumbSeparator: import('../Breadcrumb').BreadcrumbSeparator;
28
+ breadcrumbSize: import('../Breadcrumb').BreadcrumbSize;
29
+ breadcrumbHomeIcon: string;
30
+ breadcrumbPosition: "header" | "main";
31
+ breadcrumbClass: string;
32
+ layoutMode: import('../../types/appshell.type').AppShellLayoutMode;
33
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, Partial<Record<number, (_: any) => any>>>;
34
+ export default _default;
35
+ type __VLS_WithTemplateSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -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
+ };
@@ -28,14 +28,17 @@ declare function __VLS_template(): {
28
28
  center?(_: {}): any;
29
29
  center?(_: {}): any;
30
30
  right?(_: {}): any;
31
- right?(_: {}): any;
32
- right?(_: {}): any;
33
- default?(_: {}): any;
34
- default?(_: {}): any;
31
+ sidebar?(_: {}): any;
32
+ sidebar?(_: {}): any;
33
+ 'sidebar-footer'?(_: {}): any;
34
+ 'sidebar-footer'?(_: {}): any;
35
35
  main?(_: {}): any;
36
36
  'mobile-menu'?(_: {}): any;
37
37
  'mobile-menu'?(_: {}): any;
38
- logo?(_: {}): any;
38
+ 'mobile-sidebar-header'?(_: {}): any;
39
+ 'sidebar-header'?(_: {}): any;
40
+ 'mobile-sidebar'?(_: {}): any;
41
+ 'mobile-sidebar-footer'?(_: {}): any;
39
42
  };
40
43
  refs: {
41
44
  mobileTriggerRef: HTMLButtonElement;
@@ -1,12 +1,12 @@
1
- import { defineComponent as P, inject as A, ref as w, openBlock as a, createElementBlock as n, renderSlot as s, unref as e, createCommentVNode as u, createElementVNode as i, createVNode as b, Transition as E, withCtx as v, withDirectives as U, normalizeStyle as D, normalizeClass as d, Fragment as y, vShow as H, isRef as $, createBlock as I, createTextVNode as L } from "vue";
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
2
  import { onClickOutside as Y } from "@vueuse/core";
3
3
  import C from "../Icon.vue.js";
4
4
  import j from "../SidePanel.vue.js";
5
- import F from "./NavbarTabs.vue.js";
6
- /* empty css */
5
+ import F from "../Navbar/NavbarTabs.vue.js";
6
+ /* empty css */
7
7
  import K from "../Breadcrumb/Breadcrumb.vue.js";
8
8
  /* empty css */
9
- import { NAVBAR_LAYOUT_KEY as q } from "./useNavbar.js";
9
+ import { APPSHELL_LAYOUT_KEY as q } from "./useAppShell.js";
10
10
  const G = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflow-hidden" }, J = {
11
11
  key: 0,
12
12
  class: "w-full shrink-0 z-50 flex flex-col relative"
@@ -16,54 +16,55 @@ const G = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
16
16
  }, Z = {
17
17
  class: "flex flex-col max-h-[80vh] overflow-y-auto scrollbar-thin",
18
18
  style: { "will-change": "transform", contain: "layout style" }
19
- }, _ = { class: "space-y-1 p-2" }, ee = { class: "space-y-1 p-2" }, le = { class: "flex flex-col space-y-6 pt-4 h-full" }, se = {
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
20
  key: 0,
21
21
  class: "flex flex-col space-y-1"
22
22
  }, oe = {
23
23
  key: 1,
24
- class: "flex flex-col space-y-4 flex-1 overflow-y-auto px-3.5! scrollbar-thin scrollbar-stable"
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" }
25
26
  }, re = {
26
27
  key: 2,
27
28
  class: "mt-auto pt-2 border-t border-border px-3! py-2!"
28
- }, pe = /* @__PURE__ */ P({
29
- __name: "NavbarLayoutClassic",
29
+ }, pe = /* @__PURE__ */ B({
30
+ __name: "AppShellLayoutClassic",
30
31
  setup(te) {
31
- const T = A(q), {
32
+ const T = E(q), {
32
33
  props: o,
33
- sidebarHidden: x,
34
+ sidebarHidden: S,
34
35
  isMobileMenuOpen: r,
35
- isSidebarVisible: S,
36
- toggleSidebar: V,
37
- pageTitle: z,
36
+ isSidebarVisible: x,
37
+ toggleSidebar: z,
38
+ pageTitle: V,
38
39
  breadcrumbData: c,
39
40
  breakpointClasses: f,
40
41
  containerClasses: R,
41
42
  centerClasses: M,
42
43
  nestedTabsItems: h,
43
44
  activeNestedTab: p,
44
- handleNestedTabClick: N,
45
- mainScrollRef: O,
46
- layoutMainRef: B
47
- } = T, k = w(null), g = w(null);
45
+ handleNestedTabClick: O,
46
+ mainScrollRef: N,
47
+ layoutMainRef: P
48
+ } = T, k = w(null), v = w(null);
48
49
  return Y(
49
50
  k,
50
51
  () => {
51
52
  r.value = !1;
52
53
  },
53
- { ignore: [g] }
54
- ), (l, t) => (a(), n("div", G, [
55
- l.$slots.header ? (a(), n("header", J, [
56
- s(l.$slots, "header", {
54
+ { ignore: [v] }
55
+ ), (s, t) => (a(), n("div", G, [
56
+ s.$slots.header ? (a(), n("header", J, [
57
+ l(s.$slots, "header", {
57
58
  isOpen: e(r),
58
59
  toggle: () => r.value = !e(r),
59
- sidebarVisible: e(S),
60
- toggleSidebar: e(V),
60
+ sidebarVisible: e(x),
61
+ toggleSidebar: e(z),
61
62
  breadcrumbItems: e(c).items.value,
62
- pageTitle: e(z)
63
+ pageTitle: e(V)
63
64
  })
64
- ])) : u("", !0),
65
+ ])) : b("", !0),
65
66
  i("div", Q, [
66
- b(E, {
67
+ m(L, {
67
68
  "enter-active-class": "transition-all duration-300 ease-in-out overflow-hidden",
68
69
  "leave-active-class": "transition-all duration-300 ease-in-out overflow-hidden",
69
70
  "enter-from-class": "opacity-0",
@@ -71,47 +72,47 @@ const G = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
71
72
  "leave-from-class": "opacity-100",
72
73
  "leave-to-class": "opacity-0"
73
74
  }, {
74
- default: v(() => [
75
- U(i("nav", {
75
+ default: g(() => [
76
+ A(i("nav", {
76
77
  class: d(e(R)),
77
78
  role: "navigation",
78
- style: D(
79
+ style: H(
79
80
  e(o).sidebarToggle ? "transition: width 0.3s ease, opacity 0.3s ease;" : ""
80
81
  )
81
82
  }, [
82
83
  e(o).variant === "header" ? (a(), n(y, { key: 0 }, [
83
84
  i("div", W, [
84
- s(l.$slots, "mobile-trigger", {
85
+ l(s.$slots, "mobile-trigger", {
85
86
  isOpen: e(r),
86
87
  toggle: () => r.value = !e(r)
87
88
  }, () => [
88
89
  i("button", {
89
90
  type: "button",
90
91
  ref_key: "mobileTriggerRef",
91
- ref: g,
92
+ ref: v,
92
93
  class: d(["p-2 -ml-2 text-muted-foreground hover:bg-accent rounded-md shrink-0", [e(f).mobileTrigger, e(o).mobileTriggerClass]]),
93
- onClick: t[0] || (t[0] = (m) => r.value = !e(r))
94
+ onClick: t[0] || (t[0] = (u) => r.value = !e(r))
94
95
  }, [
95
- b(C, {
96
+ m(C, {
96
97
  icon: "lucide:menu",
97
98
  class: "w-5 h-5"
98
99
  }),
99
100
  t[4] || (t[4] = i("span", { class: "sr-only" }, "Open Menu", -1))
100
101
  ], 2)
101
102
  ]),
102
- l.$slots?.left ? (a(), n("div", {
103
+ s.$slots?.left ? (a(), n("div", {
103
104
  key: 0,
104
105
  class: d(["items-center gap-1 overflow-x-auto no-scrollbar mask-gradient", e(f).desktopContent])
105
106
  }, [
106
- s(l.$slots, "left")
107
- ], 2)) : u("", !0)
107
+ l(s.$slots, "left")
108
+ ], 2)) : b("", !0)
108
109
  ]),
109
- l.$slots?.center ? (a(), n("div", {
110
+ s.$slots?.center ? (a(), n("div", {
110
111
  key: 0,
111
112
  class: d([e(M), "max-w-full", e(o).contentClass])
112
113
  }, [
113
- s(l.$slots, "center")
114
- ], 2)) : u("", !0),
114
+ l(s.$slots, "center")
115
+ ], 2)) : b("", !0),
115
116
  i("div", {
116
117
  class: d(["flex items-center gap-2 shrink-0 max-w-[40%] z-10", [
117
118
  {
@@ -120,25 +121,25 @@ const G = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
120
121
  e(o).rightClass
121
122
  ]])
122
123
  }, [
123
- s(l.$slots, "right")
124
+ l(s.$slots, "right")
124
125
  ], 2)
125
126
  ], 64)) : (a(), n(y, { key: 1 }, [
126
- l.$slots.header ? u("", !0) : (a(), n("div", {
127
+ s.$slots.header ? b("", !0) : (a(), n("div", {
127
128
  key: 0,
128
129
  class: d(e(f).mobileHeader)
129
130
  }, [
130
- s(l.$slots, "mobile-trigger", {
131
+ l(s.$slots, "mobile-trigger", {
131
132
  isOpen: e(r),
132
133
  toggle: () => r.value = !e(r)
133
134
  }, () => [
134
135
  i("button", {
135
136
  type: "button",
136
137
  ref_key: "mobileTriggerRef",
137
- ref: g,
138
+ ref: v,
138
139
  class: d(["p-2 -mr-2 text-muted-foreground hover:bg-accent rounded-md", e(o).mobileTriggerClass]),
139
- onClick: t[1] || (t[1] = (m) => r.value = !e(r))
140
+ onClick: t[1] || (t[1] = (u) => r.value = !e(r))
140
141
  }, [
141
- b(C, {
142
+ m(C, {
142
143
  icon: "lucide:menu",
143
144
  class: "w-5 h-5"
144
145
  }),
@@ -150,60 +151,61 @@ const G = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
150
151
  class: d(e(f).desktopSidebar)
151
152
  }, [
152
153
  i("div", {
153
- class: d(["flex-1 px-2.5 pt-0 pb-4 overflow-y-auto space-y-4 scrollbar-thin scrollbar-stable", e(o).contentClass])
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" }
154
156
  }, [
155
- s(l.$slots, "left"),
156
- s(l.$slots, "default"),
157
- s(l.$slots, "center")
157
+ l(s.$slots, "left"),
158
+ l(s.$slots, "sidebar"),
159
+ l(s.$slots, "center")
158
160
  ], 2),
159
- l.$slots?.right ? (a(), n("div", {
161
+ s.$slots?.["sidebar-footer"] ? (a(), n("div", {
160
162
  key: 0,
161
163
  class: d(["p-2 border-t border-border shrink-0 bg-background mt-auto", e(o).rightClass])
162
164
  }, [
163
- s(l.$slots, "right")
164
- ], 2)) : u("", !0)
165
+ l(s.$slots, "sidebar-footer")
166
+ ], 2)) : b("", !0)
165
167
  ], 2)
166
168
  ], 64))
167
169
  ], 6), [
168
- [H, !e(x)]
170
+ [U, !e(S)]
169
171
  ])
170
172
  ]),
171
173
  _: 3
172
174
  }),
173
- l.$slots.main ? (a(), n("main", {
175
+ s.$slots.main ? (a(), n("main", {
174
176
  key: 0,
175
177
  ref_key: "layoutMainRef",
176
- ref: B,
178
+ ref: P,
177
179
  class: "flex-1 overflow-y-auto w-full relative h-full flex flex-col scrollbar-thin scrollbar-stable"
178
180
  }, [
179
181
  e(o).renderNestedTabs && e(h).length > 0 ? (a(), n("div", X, [
180
- b(F, {
182
+ m(F, {
181
183
  modelValue: e(p),
182
- "onUpdate:modelValue": t[2] || (t[2] = (m) => $(p) ? p.value = m : null),
183
- onChange: e(N),
184
+ "onUpdate:modelValue": t[2] || (t[2] = (u) => $(p) ? p.value = u : null),
185
+ onChange: e(O),
184
186
  items: e(h)
185
187
  }, null, 8, ["modelValue", "onChange", "items"])
186
- ])) : u("", !0),
188
+ ])) : b("", !0),
187
189
  e(o).breadcrumb && e(o).breadcrumbPosition === "main" && e(c).items.value.length > 1 ? (a(), n("div", {
188
190
  key: 1,
189
191
  class: d(["shrink-0 w-full border-b border-border px-6 py-2", e(o).breadcrumbClass])
190
192
  }, [
191
- b(e(K), {
193
+ m(e(K), {
192
194
  items: e(c).items.value,
193
195
  variant: e(o).breadcrumbVariant,
194
196
  separator: e(o).breadcrumbSeparator,
195
197
  size: e(o).breadcrumbSize
196
198
  }, null, 8, ["items", "variant", "separator", "size"])
197
- ], 2)) : u("", !0),
199
+ ], 2)) : b("", !0),
198
200
  i("div", {
199
201
  ref_key: "mainScrollRef",
200
- ref: O,
202
+ ref: N,
201
203
  style: { "will-change": "transform", contain: "layout style" },
202
204
  class: "flex-1 overflow-y-auto w-full relative h-full scrollbar-thin scrollbar-stable"
203
205
  }, [
204
- s(l.$slots, "main")
206
+ l(s.$slots, "main")
205
207
  ], 512)
206
- ], 512)) : u("", !0),
208
+ ], 512)) : b("", !0),
207
209
  e(o).mobileMenuVariant === "dropdown" ? (a(), n(y, { key: 1 }, [
208
210
  e(r) ? (a(), n("div", {
209
211
  key: 0,
@@ -212,21 +214,21 @@ const G = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
212
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])
213
215
  }, [
214
216
  i("div", Z, [
215
- s(l.$slots, "mobile-menu", {}, () => [
217
+ l(s.$slots, "mobile-menu", {}, () => [
216
218
  i("div", _, [
217
- s(l.$slots, "left")
219
+ l(s.$slots, "left")
218
220
  ]),
219
221
  t[6] || (t[6] = i("div", { class: "h-px bg-border/50 my-1 mx-2" }, null, -1)),
220
222
  i("div", ee, [
221
- s(l.$slots, "center")
223
+ l(s.$slots, "center")
222
224
  ])
223
225
  ])
224
226
  ])
225
- ], 2)) : u("", !0)
226
- ], 64)) : (a(), I(j, {
227
+ ], 2)) : b("", !0)
228
+ ], 64)) : (a(), D(j, {
227
229
  key: 2,
228
230
  show: e(r),
229
- "onUpdate:show": t[3] || (t[3] = (m) => $(r) ? r.value = m : null),
231
+ "onUpdate:show": t[3] || (t[3] = (u) => $(r) ? r.value = u : null),
230
232
  position: "left",
231
233
  size: "sm",
232
234
  triggerClass: e(f).mobileTrigger,
@@ -234,27 +236,33 @@ const G = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
234
236
  headerClass: "pl-3! pr-4.5! py-3!",
235
237
  bodyClass: "p-0!"
236
238
  }, {
237
- header: v(() => [
238
- s(l.$slots, "logo", {}, () => [
239
- t[7] || (t[7] = L("Brand", -1))
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
+ ])
240
244
  ])
241
245
  ]),
242
- default: v(() => [
243
- i("div", le, [
244
- e(o).variant === "header" ? (a(), n("div", se, [
245
- s(l.$slots, "mobile-menu", {}, () => [
246
- s(l.$slots, "left"),
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"),
247
251
  t[8] || (t[8] = i("div", { class: "h-px bg-border my-2" }, null, -1)),
248
- s(l.$slots, "center")
252
+ l(s.$slots, "center")
249
253
  ])
250
254
  ])) : (a(), n("div", oe, [
251
- s(l.$slots, "left"),
252
- s(l.$slots, "default"),
253
- s(l.$slots, "center")
255
+ l(s.$slots, "left"),
256
+ l(s.$slots, "mobile-sidebar", {}, () => [
257
+ l(s.$slots, "sidebar")
258
+ ]),
259
+ l(s.$slots, "center")
254
260
  ])),
255
- l.$slots?.right ? (a(), n("div", re, [
256
- s(l.$slots, "right")
257
- ])) : u("", !0)
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)
258
266
  ])
259
267
  ]),
260
268
  _: 3
@@ -0,0 +1,4 @@
1
+ import f from "./AppShellLayoutClassic.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -1,12 +1,12 @@
1
1
  declare function __VLS_template(): {
2
2
  attrs: Partial<{}>;
3
3
  slots: {
4
- logo?(_: {}): any;
5
- logo?(_: {}): any;
6
- default?(_: {}): any;
7
- default?(_: {}): any;
8
- right?(_: {}): any;
9
- right?(_: {}): any;
4
+ 'sidebar-header'?(_: {}): any;
5
+ 'sidebar-header'?(_: {}): any;
6
+ sidebar?(_: {}): any;
7
+ sidebar?(_: {}): any;
8
+ 'sidebar-footer'?(_: {}): any;
9
+ 'sidebar-footer'?(_: {}): any;
10
10
  header?(_: {
11
11
  isOpen: boolean;
12
12
  toggle: () => boolean;
@@ -16,6 +16,9 @@ declare function __VLS_template(): {
16
16
  pageTitle: string;
17
17
  }): any;
18
18
  main?(_: {}): any;
19
+ 'mobile-sidebar-header'?(_: {}): any;
20
+ 'mobile-sidebar'?(_: {}): any;
21
+ 'mobile-sidebar-footer'?(_: {}): any;
19
22
  };
20
23
  refs: {
21
24
  layoutMainRef: HTMLElement;