vlite3 1.4.24 → 1.4.25
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.
- package/components/AppShell/AppShell.vue.d.ts +2 -0
- package/components/AppShell/AppShell.vue.js +11 -9
- package/components/AppShell/AppShellLayoutClassic.vue.js +34 -32
- package/components/AppShell/AppShellLayoutDashboard.vue.js +51 -49
- package/components/AppShell/AppShellLayoutDock.vue.js +52 -50
- package/components/AppShell/AppShellLayoutHeaderShell.vue.js +56 -54
- package/components/AppShell/AppShellLayoutSidebarFirst.vue.js +51 -49
- package/components/AppShell/AppShellLayoutStorefront.vue.js +40 -38
- package/components/AppShell/useAppShell.js +1 -1
- package/components/CategoryManager/CategoryManager.vue2.js +2 -2
- package/components/Chart/GanttChart.vue.js +1 -1
- package/components/Chart/GanttChart.vue2.js +367 -364
- package/components/Chart/types.d.ts +2 -0
- package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
- package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
- package/components/Dropdown/DropdownMenu.vue.js +1 -1
- package/components/Form/Form.vue.js +1 -1
- package/components/Form/Form.vue2.js +131 -127
- package/components/NavbarCommandPalette.vue.js +1 -1
- package/components/RichTextEditor/RichTextEditor.vue.js +4 -4
- package/components/RichTextEditor/RichTextLinkPopover.vue3.js +2 -2
- package/components/RichTextEditor/RichTextToolbar.vue3.js +2 -2
- package/components/Screen/ScreenFilter.vue.js +2 -2
- package/package.json +1 -1
- package/style.css +1 -1
- package/types/appshell.type.d.ts +2 -0
- /package/components/Dropdown/{DropdownMenu.vue2.js → DropdownMenu.vue3.js} +0 -0
- /package/components/RichTextEditor/{RichTextLinkPopover.vue.js → RichTextLinkPopover.vue2.js} +0 -0
- /package/components/RichTextEditor/{RichTextToolbar.vue.js → RichTextToolbar.vue2.js} +0 -0
|
@@ -23,6 +23,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Ap
|
|
|
23
23
|
renderNestedTabs: boolean;
|
|
24
24
|
categoryRoutePrefix: string;
|
|
25
25
|
logoClass: string;
|
|
26
|
+
hideSidebar: boolean;
|
|
27
|
+
hideHeader: boolean;
|
|
26
28
|
sidebarToggle: boolean;
|
|
27
29
|
breadcrumbVariant: import('../Breadcrumb').BreadcrumbVariant;
|
|
28
30
|
breadcrumbSeparator: import('../Breadcrumb').BreadcrumbSeparator;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as f, computed as o, provide as d, markRaw as e, openBlock as m, createBlock as c, resolveDynamicComponent as p, createSlots as
|
|
2
|
-
import { useAppShell as
|
|
3
|
-
import { normalizeRoutePrefix as
|
|
1
|
+
import { defineComponent as f, computed as o, provide as d, markRaw as e, openBlock as m, createBlock as c, resolveDynamicComponent as p, createSlots as b, renderList as _, withCtx as g, renderSlot as y, normalizeProps as h, guardReactiveProps as v } from "vue";
|
|
2
|
+
import { useAppShell as B } from "./useAppShell.js";
|
|
3
|
+
import { normalizeRoutePrefix as C, CATEGORY_MENU_ROUTE_PREFIX_KEY as P } from "../CategoryMenu/utils.js";
|
|
4
4
|
import l from "./AppShellLayoutSidebarFirst.vue.js";
|
|
5
5
|
import R from "./AppShellLayoutDashboard.vue.js";
|
|
6
6
|
import $ from "./AppShellLayoutDock.vue.js";
|
|
@@ -9,7 +9,7 @@ import k from "./AppShellLayoutHeaderShell.vue.js";
|
|
|
9
9
|
import x from "./AppShellLayoutStorefront.vue.js";
|
|
10
10
|
const A = {
|
|
11
11
|
inheritAttrs: !1
|
|
12
|
-
},
|
|
12
|
+
}, V = /* @__PURE__ */ f({
|
|
13
13
|
...A,
|
|
14
14
|
__name: "AppShell",
|
|
15
15
|
props: {
|
|
@@ -32,6 +32,8 @@ const A = {
|
|
|
32
32
|
rightClass: { default: "" },
|
|
33
33
|
mobileTriggerClass: { default: "" },
|
|
34
34
|
mobileMenuVariant: { default: "sidepanel" },
|
|
35
|
+
hideSidebar: { type: Boolean, default: !1 },
|
|
36
|
+
hideHeader: { type: Boolean, default: !1 },
|
|
35
37
|
sidebarToggle: { type: Boolean, default: !1 },
|
|
36
38
|
breadcrumb: { type: Boolean, default: !1 },
|
|
37
39
|
breadcrumbPosition: { default: "header" },
|
|
@@ -47,8 +49,8 @@ const A = {
|
|
|
47
49
|
emits: ["toggle-mobile"],
|
|
48
50
|
setup(n) {
|
|
49
51
|
const a = n;
|
|
50
|
-
|
|
51
|
-
const s = o(() =>
|
|
52
|
+
B(a, !0);
|
|
53
|
+
const s = o(() => C(a.categoryRoutePrefix));
|
|
52
54
|
d(P, s);
|
|
53
55
|
const u = o(() => {
|
|
54
56
|
switch (a.layoutMode) {
|
|
@@ -68,8 +70,8 @@ const A = {
|
|
|
68
70
|
return e(l);
|
|
69
71
|
}
|
|
70
72
|
});
|
|
71
|
-
return (t, E) => (m(), c(p(u.value), null,
|
|
72
|
-
|
|
73
|
+
return (t, E) => (m(), c(p(u.value), null, b({ _: 2 }, [
|
|
74
|
+
_(t.$slots, (T, r) => ({
|
|
73
75
|
name: r,
|
|
74
76
|
fn: g((i) => [
|
|
75
77
|
y(t.$slots, r, h(v(i ?? {})))
|
|
@@ -79,5 +81,5 @@ const A = {
|
|
|
79
81
|
}
|
|
80
82
|
});
|
|
81
83
|
export {
|
|
82
|
-
|
|
84
|
+
V as default
|
|
83
85
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as H, inject as L, ref as $, openBlock as a, createElementBlock as n, withDirectives as w, renderSlot as l, unref as e, vShow as C, createCommentVNode as b, createElementVNode as i, createVNode as u, Transition as A, withCtx as g, normalizeStyle as U, normalizeClass as d, Fragment as y, isRef as T, createBlock as D, createSlots as I, createTextVNode as Y } from "vue";
|
|
2
2
|
import { onClickOutside as j } from "@vueuse/core";
|
|
3
|
-
import
|
|
3
|
+
import S from "../Icon.vue.js";
|
|
4
4
|
import F from "../SidePanel.vue.js";
|
|
5
5
|
import K from "../Navbar/NavbarTabs.vue.js";
|
|
6
6
|
/* empty css */
|
|
@@ -26,26 +26,26 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
26
26
|
}, te = {
|
|
27
27
|
key: 2,
|
|
28
28
|
class: "mt-auto pt-2 border-t border-border px-3! py-2!"
|
|
29
|
-
}, ve = /* @__PURE__ */
|
|
29
|
+
}, ve = /* @__PURE__ */ H({
|
|
30
30
|
__name: "AppShellLayoutClassic",
|
|
31
31
|
setup(ae) {
|
|
32
|
-
const
|
|
32
|
+
const z = L(G), {
|
|
33
33
|
props: o,
|
|
34
|
-
sidebarHidden:
|
|
34
|
+
sidebarHidden: V,
|
|
35
35
|
isMobileMenuOpen: r,
|
|
36
|
-
isSidebarVisible:
|
|
37
|
-
toggleSidebar:
|
|
38
|
-
pageTitle:
|
|
36
|
+
isSidebarVisible: R,
|
|
37
|
+
toggleSidebar: x,
|
|
38
|
+
pageTitle: M,
|
|
39
39
|
breadcrumbData: c,
|
|
40
40
|
breakpointClasses: f,
|
|
41
|
-
containerClasses:
|
|
42
|
-
centerClasses:
|
|
41
|
+
containerClasses: O,
|
|
42
|
+
centerClasses: N,
|
|
43
43
|
nestedTabsItems: h,
|
|
44
44
|
activeNestedTab: p,
|
|
45
|
-
handleNestedTabClick:
|
|
46
|
-
mainScrollRef:
|
|
47
|
-
layoutMainRef:
|
|
48
|
-
} =
|
|
45
|
+
handleNestedTabClick: P,
|
|
46
|
+
mainScrollRef: B,
|
|
47
|
+
layoutMainRef: E
|
|
48
|
+
} = z, k = $(null), v = $(null);
|
|
49
49
|
return j(
|
|
50
50
|
k,
|
|
51
51
|
() => {
|
|
@@ -53,18 +53,20 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
53
53
|
},
|
|
54
54
|
{ ignore: [v] }
|
|
55
55
|
), (s, t) => (a(), n("div", J, [
|
|
56
|
-
s.$slots.header ? (a(), n("header", Q, [
|
|
56
|
+
s.$slots.header ? w((a(), n("header", Q, [
|
|
57
57
|
l(s.$slots, "header", {
|
|
58
58
|
isOpen: e(r),
|
|
59
59
|
toggle: () => r.value = !e(r),
|
|
60
|
-
sidebarVisible: e(
|
|
61
|
-
toggleSidebar: e(
|
|
60
|
+
sidebarVisible: e(R),
|
|
61
|
+
toggleSidebar: e(x),
|
|
62
62
|
breadcrumbItems: e(c).items.value,
|
|
63
|
-
pageTitle: e(
|
|
63
|
+
pageTitle: e(M)
|
|
64
64
|
})
|
|
65
|
-
]))
|
|
65
|
+
], 512)), [
|
|
66
|
+
[C, !e(o).hideHeader]
|
|
67
|
+
]) : b("", !0),
|
|
66
68
|
i("div", W, [
|
|
67
|
-
u(
|
|
69
|
+
u(A, {
|
|
68
70
|
"enter-active-class": "transition-all duration-300 ease-in-out overflow-hidden",
|
|
69
71
|
"leave-active-class": "transition-all duration-300 ease-in-out overflow-hidden",
|
|
70
72
|
"enter-from-class": "opacity-0",
|
|
@@ -73,10 +75,10 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
73
75
|
"leave-to-class": "opacity-0"
|
|
74
76
|
}, {
|
|
75
77
|
default: g(() => [
|
|
76
|
-
|
|
77
|
-
class: d(e(
|
|
78
|
+
w(i("nav", {
|
|
79
|
+
class: d(e(O)),
|
|
78
80
|
role: "navigation",
|
|
79
|
-
style:
|
|
81
|
+
style: U(e(o).sidebarToggle ? "transition: width 0.3s ease, opacity 0.3s ease;" : "")
|
|
80
82
|
}, [
|
|
81
83
|
e(o).variant === "header" ? (a(), n(y, { key: 0 }, [
|
|
82
84
|
i("div", X, [
|
|
@@ -91,7 +93,7 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
91
93
|
class: d(["p-2 -ml-2 text-muted-foreground hover:bg-accent rounded-md shrink-0", [e(f).mobileTrigger, e(o).mobileTriggerClass]]),
|
|
92
94
|
onClick: t[0] || (t[0] = (m) => r.value = !e(r))
|
|
93
95
|
}, [
|
|
94
|
-
u(
|
|
96
|
+
u(S, {
|
|
95
97
|
icon: "lucide:menu",
|
|
96
98
|
class: "w-5 h-5"
|
|
97
99
|
}),
|
|
@@ -107,7 +109,7 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
107
109
|
]),
|
|
108
110
|
s.$slots?.center ? (a(), n("div", {
|
|
109
111
|
key: 0,
|
|
110
|
-
class: d([e(
|
|
112
|
+
class: d([e(N), "max-w-full", e(o).contentClass])
|
|
111
113
|
}, [
|
|
112
114
|
l(s.$slots, "center")
|
|
113
115
|
], 2)) : b("", !0),
|
|
@@ -137,7 +139,7 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
137
139
|
class: d(["p-2 -mr-2 text-muted-foreground hover:bg-accent rounded-md", e(o).mobileTriggerClass]),
|
|
138
140
|
onClick: t[1] || (t[1] = (m) => r.value = !e(r))
|
|
139
141
|
}, [
|
|
140
|
-
u(
|
|
142
|
+
u(S, {
|
|
141
143
|
icon: "lucide:menu",
|
|
142
144
|
class: "w-5 h-5"
|
|
143
145
|
}),
|
|
@@ -165,7 +167,7 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
165
167
|
], 2)
|
|
166
168
|
], 64))
|
|
167
169
|
], 6), [
|
|
168
|
-
[
|
|
170
|
+
[C, !e(V)]
|
|
169
171
|
])
|
|
170
172
|
]),
|
|
171
173
|
_: 3
|
|
@@ -173,14 +175,14 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
173
175
|
s.$slots.main ? (a(), n("main", {
|
|
174
176
|
key: 0,
|
|
175
177
|
ref_key: "layoutMainRef",
|
|
176
|
-
ref:
|
|
178
|
+
ref: E,
|
|
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", Z, [
|
|
180
182
|
u(K, {
|
|
181
183
|
modelValue: e(p),
|
|
182
|
-
"onUpdate:modelValue": t[2] || (t[2] = (m) =>
|
|
183
|
-
onChange: e(
|
|
184
|
+
"onUpdate:modelValue": t[2] || (t[2] = (m) => T(p) ? p.value = m : null),
|
|
185
|
+
onChange: e(P),
|
|
184
186
|
items: e(h)
|
|
185
187
|
}, null, 8, ["modelValue", "onChange", "items"])
|
|
186
188
|
])) : b("", !0),
|
|
@@ -197,7 +199,7 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
197
199
|
], 2)) : b("", !0),
|
|
198
200
|
i("div", {
|
|
199
201
|
ref_key: "mainScrollRef",
|
|
200
|
-
ref:
|
|
202
|
+
ref: B,
|
|
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
|
}, [
|
|
@@ -226,7 +228,7 @@ const J = { class: "vlite-app-layout flex flex-col w-full h-full bg-body overflo
|
|
|
226
228
|
], 64)) : (a(), D(F, {
|
|
227
229
|
key: 2,
|
|
228
230
|
show: e(r),
|
|
229
|
-
"onUpdate:show": t[3] || (t[3] = (m) =>
|
|
231
|
+
"onUpdate:show": t[3] || (t[3] = (m) => T(r) ? r.value = m : null),
|
|
230
232
|
position: "left",
|
|
231
233
|
size: "sm",
|
|
232
234
|
triggerClass: e(f).mobileTrigger,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as N, inject as _, openBlock as a, createElementBlock as o, createVNode as m, Transition as R, withCtx as p, withDirectives as g, createElementVNode as n, normalizeClass as b, unref as e, renderSlot as r, createCommentVNode as t, vShow as y, isRef as w, createSlots as B, createTextVNode as E } from "vue";
|
|
2
2
|
import L from "../SidePanel.vue.js";
|
|
3
3
|
import M from "../Navbar/NavbarTabs.vue.js";
|
|
4
4
|
/* empty css */
|
|
@@ -6,10 +6,10 @@ import P from "../Breadcrumb/Breadcrumb.vue.js";
|
|
|
6
6
|
import "@iconify/vue";
|
|
7
7
|
/* empty css */
|
|
8
8
|
import { APPSHELL_LAYOUT_KEY as A } from "./useAppShell.js";
|
|
9
|
-
const D = { class: "vlite-app-layout flex flex-row w-full h-full bg-muted/20 p-0 sm:p-2.5 gap-0 sm:gap-2.5 overflow-hidden" },
|
|
9
|
+
const D = { class: "vlite-app-layout flex flex-row w-full h-full bg-muted/20 p-0 sm:p-2.5 gap-0 sm:gap-2.5 overflow-hidden" }, H = {
|
|
10
10
|
key: 0,
|
|
11
11
|
class: "flex items-center"
|
|
12
|
-
},
|
|
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 max-sm:border-0 shadow-sm" }, U = {
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "w-full shrink-0 z-20 bg-background border-b border-border"
|
|
15
15
|
}, I = {
|
|
@@ -21,26 +21,26 @@ const D = { class: "vlite-app-layout flex flex-row w-full h-full bg-muted/20 p-0
|
|
|
21
21
|
}, K = {
|
|
22
22
|
key: 0,
|
|
23
23
|
class: "mt-auto"
|
|
24
|
-
}, se = /* @__PURE__ */
|
|
24
|
+
}, se = /* @__PURE__ */ N({
|
|
25
25
|
__name: "AppShellLayoutDashboard",
|
|
26
26
|
setup(q) {
|
|
27
|
-
const
|
|
28
|
-
props:
|
|
29
|
-
sidebarHidden:
|
|
27
|
+
const k = _(A), {
|
|
28
|
+
props: l,
|
|
29
|
+
sidebarHidden: $,
|
|
30
30
|
isMobileMenuOpen: i,
|
|
31
|
-
isSidebarVisible:
|
|
32
|
-
toggleSidebar:
|
|
33
|
-
pageTitle:
|
|
31
|
+
isSidebarVisible: x,
|
|
32
|
+
toggleSidebar: C,
|
|
33
|
+
pageTitle: S,
|
|
34
34
|
breadcrumbData: u,
|
|
35
35
|
breakpointClasses: f,
|
|
36
36
|
nestedTabsItems: v,
|
|
37
37
|
activeNestedTab: c,
|
|
38
|
-
handleNestedTabClick:
|
|
39
|
-
mainScrollRef:
|
|
40
|
-
layoutMainRef:
|
|
41
|
-
} =
|
|
38
|
+
handleNestedTabClick: T,
|
|
39
|
+
mainScrollRef: V,
|
|
40
|
+
layoutMainRef: z
|
|
41
|
+
} = k;
|
|
42
42
|
return (s, d) => (a(), o("div", D, [
|
|
43
|
-
m(
|
|
43
|
+
m(R, {
|
|
44
44
|
"enter-active-class": "transition-all duration-300 ease-in-out",
|
|
45
45
|
"leave-active-class": "transition-all duration-300 ease-in-out",
|
|
46
46
|
"enter-from-class": "opacity-0 -translate-x-2",
|
|
@@ -49,85 +49,87 @@ const D = { class: "vlite-app-layout flex flex-row w-full h-full bg-muted/20 p-0
|
|
|
49
49
|
"leave-to-class": "opacity-0 -translate-x-2"
|
|
50
50
|
}, {
|
|
51
51
|
default: p(() => [
|
|
52
|
-
|
|
52
|
+
g(n("nav", {
|
|
53
53
|
class: b([
|
|
54
54
|
"shrink-0 h-full flex flex-col bg-background rounded-xl max-sm:rounded-none border border-border max-sm:border-0 shadow-sm overflow-hidden z-30",
|
|
55
55
|
e(f).mobileTrigger === "md:hidden" ? "max-md:hidden" : "",
|
|
56
|
-
e(
|
|
56
|
+
e(l).class
|
|
57
57
|
]),
|
|
58
58
|
role: "navigation",
|
|
59
59
|
"aria-label": "Sidebar"
|
|
60
60
|
}, [
|
|
61
|
-
s.$slots["sidebar-header"] ? (a(), o("div",
|
|
62
|
-
|
|
61
|
+
s.$slots["sidebar-header"] ? (a(), o("div", H, [
|
|
62
|
+
r(s.$slots, "sidebar-header")
|
|
63
63
|
])) : t("", !0),
|
|
64
64
|
n("div", {
|
|
65
|
-
class: b(["flex-1 overflow-y-auto overflow-x-hidden scrollbar-thin scrollbar-stable", e(
|
|
65
|
+
class: b(["flex-1 overflow-y-auto overflow-x-hidden scrollbar-thin scrollbar-stable", e(l).contentClass]),
|
|
66
66
|
style: { "will-change": "transform", contain: "layout style" }
|
|
67
67
|
}, [
|
|
68
|
-
|
|
68
|
+
r(s.$slots, "sidebar")
|
|
69
69
|
], 2),
|
|
70
70
|
s.$slots["sidebar-footer"] ? (a(), o("div", {
|
|
71
71
|
key: 1,
|
|
72
|
-
class: b(["shrink-0 bg-transparent", e(
|
|
72
|
+
class: b(["shrink-0 bg-transparent", e(l).rightClass])
|
|
73
73
|
}, [
|
|
74
|
-
|
|
74
|
+
r(s.$slots, "sidebar-footer")
|
|
75
75
|
], 2)) : t("", !0)
|
|
76
76
|
], 2), [
|
|
77
|
-
[
|
|
77
|
+
[y, !e($)]
|
|
78
78
|
])
|
|
79
79
|
]),
|
|
80
80
|
_: 3
|
|
81
81
|
}),
|
|
82
|
-
n("div",
|
|
83
|
-
s.$slots.header ? (a(), o("header",
|
|
84
|
-
|
|
82
|
+
n("div", O, [
|
|
83
|
+
s.$slots.header ? g((a(), o("header", U, [
|
|
84
|
+
r(s.$slots, "header", {
|
|
85
85
|
isOpen: e(i),
|
|
86
86
|
toggle: () => i.value = !e(i),
|
|
87
|
-
sidebarVisible: e(
|
|
88
|
-
toggleSidebar: e(
|
|
87
|
+
sidebarVisible: e(x),
|
|
88
|
+
toggleSidebar: e(C),
|
|
89
89
|
breadcrumbItems: e(u).items.value,
|
|
90
|
-
pageTitle: e(
|
|
90
|
+
pageTitle: e(S)
|
|
91
91
|
})
|
|
92
|
-
]))
|
|
92
|
+
], 512)), [
|
|
93
|
+
[y, !e(l).hideHeader]
|
|
94
|
+
]) : t("", !0),
|
|
93
95
|
s.$slots.main ? (a(), o("main", {
|
|
94
96
|
key: 1,
|
|
95
97
|
ref_key: "layoutMainRef",
|
|
96
|
-
ref:
|
|
98
|
+
ref: z,
|
|
97
99
|
class: "flex-1 overflow-y-auto w-full relative h-full flex flex-col min-h-0 scrollbar-thin scrollbar-stable"
|
|
98
100
|
}, [
|
|
99
|
-
e(
|
|
101
|
+
e(l).renderNestedTabs && e(v).length > 0 ? (a(), o("div", I, [
|
|
100
102
|
m(M, {
|
|
101
103
|
modelValue: e(c),
|
|
102
|
-
"onUpdate:modelValue": d[0] || (d[0] = (h) =>
|
|
103
|
-
onChange: e(
|
|
104
|
+
"onUpdate:modelValue": d[0] || (d[0] = (h) => w(c) ? c.value = h : null),
|
|
105
|
+
onChange: e(T),
|
|
104
106
|
items: e(v)
|
|
105
107
|
}, null, 8, ["modelValue", "onChange", "items"])
|
|
106
108
|
])) : t("", !0),
|
|
107
|
-
e(
|
|
109
|
+
e(l).breadcrumb && e(l).breadcrumbPosition === "main" && e(u).items.value.length > 1 ? (a(), o("div", {
|
|
108
110
|
key: 1,
|
|
109
|
-
class: b(["shrink-0 w-full px-6 py-2 border-b border-border", e(
|
|
111
|
+
class: b(["shrink-0 w-full px-6 py-2 border-b border-border", e(l).breadcrumbClass])
|
|
110
112
|
}, [
|
|
111
113
|
m(e(P), {
|
|
112
114
|
items: e(u).items.value,
|
|
113
|
-
variant: e(
|
|
114
|
-
separator: e(
|
|
115
|
-
size: e(
|
|
115
|
+
variant: e(l).breadcrumbVariant,
|
|
116
|
+
separator: e(l).breadcrumbSeparator,
|
|
117
|
+
size: e(l).breadcrumbSize
|
|
116
118
|
}, null, 8, ["items", "variant", "separator", "size"])
|
|
117
119
|
], 2)) : t("", !0),
|
|
118
120
|
n("div", {
|
|
119
121
|
ref_key: "mainScrollRef",
|
|
120
|
-
ref:
|
|
122
|
+
ref: V,
|
|
121
123
|
style: { "will-change": "transform", contain: "layout style" },
|
|
122
124
|
class: "flex-1 overflow-y-auto w-full relative h-full scrollbar-thin scrollbar-stable"
|
|
123
125
|
}, [
|
|
124
|
-
|
|
126
|
+
r(s.$slots, "main")
|
|
125
127
|
], 512)
|
|
126
128
|
], 512)) : t("", !0)
|
|
127
129
|
]),
|
|
128
130
|
m(L, {
|
|
129
131
|
show: e(i),
|
|
130
|
-
"onUpdate:show": d[1] || (d[1] = (h) =>
|
|
132
|
+
"onUpdate:show": d[1] || (d[1] = (h) => w(i) ? i.value = h : null),
|
|
131
133
|
position: "left",
|
|
132
134
|
size: "sm",
|
|
133
135
|
triggerClass: e(f).mobileTrigger,
|
|
@@ -138,13 +140,13 @@ const D = { class: "vlite-app-layout flex flex-row w-full h-full bg-muted/20 p-0
|
|
|
138
140
|
default: p(() => [
|
|
139
141
|
n("div", Y, [
|
|
140
142
|
n("div", j, [
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
r(s.$slots, "mobile-sidebar", {}, () => [
|
|
144
|
+
r(s.$slots, "sidebar")
|
|
143
145
|
])
|
|
144
146
|
]),
|
|
145
147
|
s.$slots["mobile-sidebar-footer"] || s.$slots["sidebar-footer"] ? (a(), o("div", K, [
|
|
146
|
-
|
|
147
|
-
|
|
148
|
+
r(s.$slots, "mobile-sidebar-footer", {}, () => [
|
|
149
|
+
r(s.$slots, "sidebar-footer")
|
|
148
150
|
])
|
|
149
151
|
])) : t("", !0)
|
|
150
152
|
])
|
|
@@ -154,8 +156,8 @@ const D = { class: "vlite-app-layout flex flex-row w-full h-full bg-muted/20 p-0
|
|
|
154
156
|
s.$slots["mobile-sidebar-header"] || s.$slots["sidebar-header"] ? {
|
|
155
157
|
name: "header",
|
|
156
158
|
fn: p(() => [
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
r(s.$slots, "mobile-sidebar-header", {}, () => [
|
|
160
|
+
r(s.$slots, "sidebar-header", {}, () => [
|
|
159
161
|
d[2] || (d[2] = E("Brand", -1))
|
|
160
162
|
])
|
|
161
163
|
])
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as z, inject as N, openBlock as a, createElementBlock as o, createVNode as m, Transition as R, withCtx as h, withDirectives as v, createElementVNode as n, normalizeClass as b, unref as e, renderSlot as l, createCommentVNode as t, vShow as y, isRef as w, createTextVNode as B } from "vue";
|
|
2
2
|
import E from "../SidePanel.vue.js";
|
|
3
3
|
import L from "../Navbar/NavbarTabs.vue.js";
|
|
4
4
|
/* empty css */
|
|
@@ -9,38 +9,38 @@ import { APPSHELL_LAYOUT_KEY as P } from "./useAppShell.js";
|
|
|
9
9
|
const A = { class: "vlite-app-layout flex flex-row w-full h-full bg-background p-0 sm:p-2 gap-0 sm:gap-2 overflow-hidden items-stretch" }, D = {
|
|
10
10
|
key: 0,
|
|
11
11
|
class: "flex items-center justify-center w-full"
|
|
12
|
-
},
|
|
12
|
+
}, H = { class: "flex flex-col flex-1 min-w-0 h-full overflow-hidden bg-background rounded-xl max-sm:rounded-none border border-border max-sm:border-0 shadow-sm" }, O = {
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "w-full shrink-0 z-20 bg-background border-b border-border"
|
|
15
|
-
},
|
|
15
|
+
}, U = {
|
|
16
16
|
key: 0,
|
|
17
17
|
class: "shrink-0 w-full border-b border-border"
|
|
18
|
-
},
|
|
18
|
+
}, j = { class: "flex flex-col h-full" }, I = {
|
|
19
19
|
class: "flex-1 overflow-y-auto px-3.5 pt-4 scrollbar-thin scrollbar-stable",
|
|
20
20
|
style: { "will-change": "transform", contain: "layout style" }
|
|
21
21
|
}, Y = {
|
|
22
22
|
key: 0,
|
|
23
23
|
class: "mt-auto pt-2 border-t border-border px-3 py-2"
|
|
24
|
-
}, ee = /* @__PURE__ */
|
|
24
|
+
}, ee = /* @__PURE__ */ z({
|
|
25
25
|
__name: "AppShellLayoutDock",
|
|
26
26
|
setup(K) {
|
|
27
|
-
const
|
|
28
|
-
props:
|
|
29
|
-
sidebarHidden:
|
|
27
|
+
const k = N(P), {
|
|
28
|
+
props: r,
|
|
29
|
+
sidebarHidden: x,
|
|
30
30
|
isMobileMenuOpen: i,
|
|
31
|
-
isSidebarVisible:
|
|
32
|
-
toggleSidebar:
|
|
33
|
-
pageTitle:
|
|
31
|
+
isSidebarVisible: $,
|
|
32
|
+
toggleSidebar: C,
|
|
33
|
+
pageTitle: S,
|
|
34
34
|
breadcrumbData: u,
|
|
35
35
|
breakpointClasses: c,
|
|
36
36
|
nestedTabsItems: g,
|
|
37
37
|
activeNestedTab: f,
|
|
38
|
-
handleNestedTabClick:
|
|
39
|
-
mainScrollRef:
|
|
40
|
-
layoutMainRef:
|
|
41
|
-
} =
|
|
38
|
+
handleNestedTabClick: T,
|
|
39
|
+
mainScrollRef: V,
|
|
40
|
+
layoutMainRef: _
|
|
41
|
+
} = k;
|
|
42
42
|
return (s, d) => (a(), o("div", A, [
|
|
43
|
-
m(
|
|
43
|
+
m(R, {
|
|
44
44
|
"enter-active-class": "transition-all duration-300 ease-in-out",
|
|
45
45
|
"leave-active-class": "transition-all duration-300 ease-in-out",
|
|
46
46
|
"enter-from-class": "opacity-0 -translate-x-2 scale-95",
|
|
@@ -49,84 +49,86 @@ const A = { class: "vlite-app-layout flex flex-row w-full h-full bg-background p
|
|
|
49
49
|
"leave-to-class": "opacity-0 -translate-x-2 scale-95"
|
|
50
50
|
}, {
|
|
51
51
|
default: h(() => [
|
|
52
|
-
|
|
52
|
+
v(n("nav", {
|
|
53
53
|
class: b([
|
|
54
54
|
"shrink-0 self-center flex flex-col items-center bg-background rounded-2xl max-sm:rounded-none border border-border max-sm:border-0 shadow-sm overflow-hidden z-30 py-3 px-2 gap-0.5",
|
|
55
55
|
e(c).mobileTrigger === "md:hidden" ? "max-md:hidden" : "",
|
|
56
|
-
e(
|
|
56
|
+
e(r).class
|
|
57
57
|
]),
|
|
58
58
|
role: "navigation",
|
|
59
59
|
"aria-label": "Sidebar dock"
|
|
60
60
|
}, [
|
|
61
61
|
s.$slots["sidebar-header"] ? (a(), o("div", D, [
|
|
62
|
-
|
|
62
|
+
l(s.$slots, "sidebar-header")
|
|
63
63
|
])) : t("", !0),
|
|
64
64
|
n("div", {
|
|
65
|
-
class: b(["flex flex-col items-center gap-0.5 w-full", e(
|
|
65
|
+
class: b(["flex flex-col items-center gap-0.5 w-full", e(r).contentClass])
|
|
66
66
|
}, [
|
|
67
|
-
|
|
67
|
+
l(s.$slots, "sidebar")
|
|
68
68
|
], 2),
|
|
69
69
|
s.$slots["sidebar-footer"] ? (a(), o("div", {
|
|
70
70
|
key: 1,
|
|
71
|
-
class: b(["flex flex-col items-center w-full", e(
|
|
71
|
+
class: b(["flex flex-col items-center w-full", e(r).rightClass])
|
|
72
72
|
}, [
|
|
73
|
-
|
|
73
|
+
l(s.$slots, "sidebar-footer")
|
|
74
74
|
], 2)) : t("", !0)
|
|
75
75
|
], 2), [
|
|
76
|
-
[
|
|
76
|
+
[y, !e(x)]
|
|
77
77
|
])
|
|
78
78
|
]),
|
|
79
79
|
_: 3
|
|
80
80
|
}),
|
|
81
|
-
n("div",
|
|
82
|
-
s.$slots.header ? (a(), o("header",
|
|
83
|
-
|
|
81
|
+
n("div", H, [
|
|
82
|
+
s.$slots.header ? v((a(), o("header", O, [
|
|
83
|
+
l(s.$slots, "header", {
|
|
84
84
|
isOpen: e(i),
|
|
85
85
|
toggle: () => i.value = !e(i),
|
|
86
|
-
sidebarVisible: e(
|
|
87
|
-
toggleSidebar: e(
|
|
86
|
+
sidebarVisible: e($),
|
|
87
|
+
toggleSidebar: e(C),
|
|
88
88
|
breadcrumbItems: e(u).items.value,
|
|
89
|
-
pageTitle: e(
|
|
89
|
+
pageTitle: e(S)
|
|
90
90
|
})
|
|
91
|
-
]))
|
|
91
|
+
], 512)), [
|
|
92
|
+
[y, !e(r).hideHeader]
|
|
93
|
+
]) : t("", !0),
|
|
92
94
|
s.$slots.main ? (a(), o("main", {
|
|
93
95
|
key: 1,
|
|
94
96
|
ref_key: "layoutMainRef",
|
|
95
|
-
ref:
|
|
97
|
+
ref: _,
|
|
96
98
|
class: "flex-1 overflow-y-auto w-full relative h-full flex flex-col min-h-0 scrollbar-thin scrollbar-stable"
|
|
97
99
|
}, [
|
|
98
|
-
e(
|
|
100
|
+
e(r).renderNestedTabs && e(g).length > 0 ? (a(), o("div", U, [
|
|
99
101
|
m(L, {
|
|
100
102
|
modelValue: e(f),
|
|
101
|
-
"onUpdate:modelValue": d[0] || (d[0] = (p) =>
|
|
102
|
-
onChange: e(
|
|
103
|
+
"onUpdate:modelValue": d[0] || (d[0] = (p) => w(f) ? f.value = p : null),
|
|
104
|
+
onChange: e(T),
|
|
103
105
|
items: e(g)
|
|
104
106
|
}, null, 8, ["modelValue", "onChange", "items"])
|
|
105
107
|
])) : t("", !0),
|
|
106
|
-
e(
|
|
108
|
+
e(r).breadcrumb && e(r).breadcrumbPosition === "main" && e(u).items.value.length > 1 ? (a(), o("div", {
|
|
107
109
|
key: 1,
|
|
108
|
-
class: b(["shrink-0 w-full px-6 py-2 border-b border-border", e(
|
|
110
|
+
class: b(["shrink-0 w-full px-6 py-2 border-b border-border", e(r).breadcrumbClass])
|
|
109
111
|
}, [
|
|
110
112
|
m(e(M), {
|
|
111
113
|
items: e(u).items.value,
|
|
112
|
-
variant: e(
|
|
113
|
-
separator: e(
|
|
114
|
-
size: e(
|
|
114
|
+
variant: e(r).breadcrumbVariant,
|
|
115
|
+
separator: e(r).breadcrumbSeparator,
|
|
116
|
+
size: e(r).breadcrumbSize
|
|
115
117
|
}, null, 8, ["items", "variant", "separator", "size"])
|
|
116
118
|
], 2)) : t("", !0),
|
|
117
119
|
n("div", {
|
|
118
120
|
ref_key: "mainScrollRef",
|
|
119
|
-
ref:
|
|
121
|
+
ref: V,
|
|
120
122
|
style: { "will-change": "transform", contain: "layout style" },
|
|
121
123
|
class: "flex-1 overflow-y-auto w-full relative h-full scrollbar-thin scrollbar-stable"
|
|
122
124
|
}, [
|
|
123
|
-
|
|
125
|
+
l(s.$slots, "main")
|
|
124
126
|
], 512)
|
|
125
127
|
], 512)) : t("", !0)
|
|
126
128
|
]),
|
|
127
129
|
m(E, {
|
|
128
130
|
show: e(i),
|
|
129
|
-
"onUpdate:show": d[1] || (d[1] = (p) =>
|
|
131
|
+
"onUpdate:show": d[1] || (d[1] = (p) => w(i) ? i.value = p : null),
|
|
130
132
|
position: "left",
|
|
131
133
|
size: "sm",
|
|
132
134
|
triggerClass: e(c).mobileTrigger,
|
|
@@ -135,22 +137,22 @@ const A = { class: "vlite-app-layout flex flex-row w-full h-full bg-background p
|
|
|
135
137
|
bodyClass: "p-0!"
|
|
136
138
|
}, {
|
|
137
139
|
header: h(() => [
|
|
138
|
-
|
|
139
|
-
|
|
140
|
+
l(s.$slots, "mobile-sidebar-header", {}, () => [
|
|
141
|
+
l(s.$slots, "sidebar-header", {}, () => [
|
|
140
142
|
d[2] || (d[2] = B("Brand", -1))
|
|
141
143
|
])
|
|
142
144
|
])
|
|
143
145
|
]),
|
|
144
146
|
default: h(() => [
|
|
145
|
-
n("div",
|
|
147
|
+
n("div", j, [
|
|
146
148
|
n("div", I, [
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
l(s.$slots, "mobile-sidebar", {}, () => [
|
|
150
|
+
l(s.$slots, "sidebar")
|
|
149
151
|
])
|
|
150
152
|
]),
|
|
151
153
|
s.$slots["mobile-sidebar-footer"] || s.$slots["sidebar-footer"] ? (a(), o("div", Y, [
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
l(s.$slots, "mobile-sidebar-footer", {}, () => [
|
|
155
|
+
l(s.$slots, "sidebar-footer")
|
|
154
156
|
])
|
|
155
157
|
])) : t("", !0)
|
|
156
158
|
])
|