vlite3 1.4.39 → 1.4.41

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 (135) hide show
  1. package/components/AppShell/AppShellLayoutClassic.vue.js +27 -28
  2. package/components/AppShell/AppShellLayoutDashboard.vue.js +48 -48
  3. package/components/AppShell/AppShellLayoutDock.vue.js +51 -51
  4. package/components/AppShell/AppShellLayoutHeaderShell.vue.js +69 -69
  5. package/components/AppShell/AppShellLayoutSidebarFirst.vue.d.ts +2 -2
  6. package/components/AppShell/AppShellLayoutSidebarFirst.vue.js +78 -78
  7. package/components/AppShell/AppShellLayoutStorefront.vue.js +14 -15
  8. package/components/AppShell/useAppShell.d.ts +4 -0
  9. package/components/AppShell/useAppShell.js +45 -40
  10. package/components/AsyncSelect/createAsyncSelect.js +10 -10
  11. package/components/AttachmentsList/AttachmentsList.vue.d.ts +50 -2
  12. package/components/AttachmentsList/AttachmentsList.vue.js +289 -272
  13. package/components/AttachmentsList/types.d.ts +37 -0
  14. package/components/BackButton.vue.js +2 -2
  15. package/components/Button.vue.d.ts +1 -0
  16. package/components/Button.vue.js +5 -241
  17. package/components/Button.vue2.js +245 -2
  18. package/components/ButtonGroup.vue.js +2 -2
  19. package/components/ButtonGroup.vue2.js +4 -1
  20. package/components/Calendar/Calendar.vue2.js +16 -16
  21. package/components/Cart/CartCouponInput.vue.js +24 -24
  22. package/components/Cart/CartEmptyState.vue.js +4 -4
  23. package/components/Cart/CartLineItem.vue.js +33 -33
  24. package/components/Cart/CartVariant1.vue.js +3 -3
  25. package/components/Cart/CartVariant2.vue.js +5 -5
  26. package/components/Cart/CartVariant3.vue.js +25 -25
  27. package/components/Cart/CartVariant4.vue.js +9 -9
  28. package/components/CategoryManager/CategoryManager.vue2.js +18 -18
  29. package/components/CategoryManager/CategoryNode.vue.js +4 -4
  30. package/components/CategoryMenu/CategoryMenu.vue.js +3 -2
  31. package/components/CategoryMenu/CategoryMenuVariant1.vue2.js +3 -2
  32. package/components/Chat/ChatInterface.vue.js +23 -23
  33. package/components/Clipboard.vue.d.ts +7 -1
  34. package/components/Clipboard.vue.js +19 -17
  35. package/components/ColorPicker/{ColorIro.vue.js → ColorIro.vue2.js} +22 -22
  36. package/components/ColorPicker/ColorIro.vue3.js +2 -2
  37. package/components/ColorPicker/ColorPicker.vue.js +8 -8
  38. package/components/Comment/CommentEditor.vue.js +14 -14
  39. package/components/Comment/CommentItem.vue2.js +6 -6
  40. package/components/Comment/CommentThread.vue.js +4 -4
  41. package/components/DataList/DataList.vue.js +7 -7
  42. package/components/DataTable/DataTable.vue.d.ts +9 -0
  43. package/components/DataTable/DataTable.vue.js +380 -265
  44. package/components/DataTable/DataTableRow.vue.d.ts +23 -2
  45. package/components/DataTable/DataTableRow.vue.js +5 -198
  46. package/components/DataTable/DataTableRow.vue2.js +360 -2
  47. package/components/DataTable/dataTableHeaders.d.ts +18 -0
  48. package/components/DataTable/dataTableHeaders.js +9 -0
  49. package/components/DataTable/types.d.ts +11 -0
  50. package/components/DatePicker.vue.js +8 -9
  51. package/components/DateRangePicker.vue2.js +34 -34
  52. package/components/Dropdown/Dropdown.vue.d.ts +7 -2
  53. package/components/Dropdown/Dropdown.vue.js +146 -139
  54. package/components/Dropdown/DropdownTrigger.vue.js +6 -6
  55. package/components/ExportData/ExportData.vue.js +15 -15
  56. package/components/FilePicker/FilePickerDropzone.vue.js +16 -16
  57. package/components/FilePicker/FilePickerInput.vue.js +3 -2
  58. package/components/FilePicker/FilePreview.vue.js +3 -3
  59. package/components/FileTree/FileTree.vue.js +4 -4
  60. package/components/FileTree/FileTree.vue2.js +9 -9
  61. package/components/FileTree/FileTreeNode.vue.js +76 -72
  62. package/components/Footer/Variant1.vue.js +48 -48
  63. package/components/Footer/Variant2.vue.js +42 -42
  64. package/components/Form/AccordionView.vue.d.ts +1 -1
  65. package/components/Form/AccordionView.vue2.js +2 -2
  66. package/components/Form/AccordionView.vue3.js +61 -57
  67. package/components/Form/Form.vue2.js +41 -41
  68. package/components/Form/TableRow.vue.d.ts +7 -0
  69. package/components/Form/TableRow.vue.js +187 -41
  70. package/components/Form/TableView.vue.d.ts +11 -1
  71. package/components/Form/TableView.vue.js +71 -49
  72. package/components/Form/composables/useForm.js +146 -142
  73. package/components/Form/index.vue.d.ts +5 -1
  74. package/components/Form/index.vue.js +2 -2
  75. package/components/Form/index.vue2.js +44 -37
  76. package/components/Form/rowHelpers.d.ts +20 -0
  77. package/components/Form/rowHelpers.js +76 -28
  78. package/components/Form/types.d.ts +11 -0
  79. package/components/GoogleLogin.vue.js +4 -4
  80. package/components/IconPicker.vue.js +9 -9
  81. package/components/ImportData/ImportData.vue.js +11 -11
  82. package/components/ImportData/ImportStep1.vue.js +10 -10
  83. package/components/ImportData/ImportStep2.vue.js +15 -14
  84. package/components/Input.vue.js +133 -129
  85. package/components/Kanban/KanbanBoard.vue.js +1 -1
  86. package/components/Kanban/KanbanBoard.vue2.js +9 -9
  87. package/components/MultiSelect/MultiSelect.vue.js +3 -2
  88. package/components/Navbar/Navbar.vue.js +17 -17
  89. package/components/Navbar/NavbarGroup.vue.js +8 -7
  90. package/components/Navbar/NavbarItem.vue.js +40 -39
  91. package/components/Navbar/NavbarTabs.vue.js +6 -184
  92. package/components/Navbar/NavbarTabs.vue2.js +204 -0
  93. package/components/Navbar/useNavbar.js +3 -3
  94. package/components/NavbarCommandPalette.vue.js +1 -1
  95. package/components/NumberInput.vue.js +2 -2
  96. package/components/NumberInput.vue2.js +81 -77
  97. package/components/OTPInput/OTPInput.vue.js +24 -23
  98. package/components/Pagination/Pagination.vue.d.ts +1 -1
  99. package/components/Pagination/Pagination.vue.js +5 -274
  100. package/components/Pagination/Pagination.vue2.js +283 -2
  101. package/components/PermissionMatrix/PermissionTopBar.vue.js +19 -18
  102. package/components/PricingPlan/PricingPlanItem.vue.js +7 -7
  103. package/components/Screen/Screen.vue.d.ts +1 -1
  104. package/components/Screen/Screen.vue.js +21 -21
  105. package/components/Screen/ScreenFilter.vue.js +5 -5
  106. package/components/Screen/components/ScreenAddAction.vue.js +3 -3
  107. package/components/Screen/components/ScreenEmptyState.vue.js +10 -10
  108. package/components/Screen/components/ScreenExportModal.vue.js +12 -12
  109. package/components/Screen/components/ScreenOptionsDropdown.vue.js +5 -5
  110. package/components/Screen/components/ScreenToolbar.vue.js +15 -15
  111. package/components/SidePanel.vue.js +2 -2
  112. package/components/SidePanel.vue2.js +6 -6
  113. package/components/SidebarMenu/SidebarMenu.vue.js +77 -72
  114. package/components/SidebarMenu/SidebarMenuItem.vue.js +172 -168
  115. package/components/Slider.vue.js +123 -108
  116. package/components/Tabes/Tabes.vue.d.ts +8 -3
  117. package/components/Tabes/Tabes.vue.js +2 -2
  118. package/components/Tabes/Tabes.vue2.js +209 -200
  119. package/components/Tabes/tabes.utils.d.ts +23 -0
  120. package/components/Tabes/tabes.utils.js +39 -16
  121. package/components/Textarea.vue.d.ts +2 -0
  122. package/components/Textarea.vue.js +19 -16
  123. package/components/ThemeToggle.vue.js +8 -8
  124. package/components/ToastNotification.vue2.js +10 -10
  125. package/components/TreeConnectors/TreeConnectors.vue.d.ts +1 -1
  126. package/components/TreeConnectors/TreeConnectors.vue.js +13 -8
  127. package/components/TreeConnectors/geometry.js +77 -69
  128. package/components/Workbook/WorkbookAddButton.vue.js +2 -2
  129. package/composables/useRtl.d.ts +14 -0
  130. package/composables/useRtl.js +33 -0
  131. package/index.js +470 -471
  132. package/package.json +1 -1
  133. package/style.css +86 -1
  134. package/types/button.d.ts +8 -0
  135. package/components/Navbar/NavbarTabs.vue3.js +0 -5
@@ -1,21 +1,20 @@
1
- import { defineComponent as _, inject as N, openBlock as a, createElementBlock as o, createVNode as m, Transition as R, withCtx as p, withDirectives as g, createElementVNode as t, normalizeClass as b, unref as e, renderSlot as r, createCommentVNode as i, vShow as y, isRef as w, createSlots as B, createTextVNode as E } from "vue";
2
- import H from "../SidePanel.vue.js";
3
- import L from "../Navbar/NavbarTabs.vue.js";
4
- /* empty css */
5
- import M from "../Breadcrumb/Breadcrumb.vue.js";
1
+ import { defineComponent as _, inject as R, openBlock as r, createElementBlock as o, createVNode as m, Transition as B, unref as e, withCtx as v, withDirectives as y, createElementVNode as t, normalizeClass as b, renderSlot as a, createCommentVNode as i, vShow as w, isRef as k, createSlots as E, createTextVNode as H } from "vue";
2
+ import L from "../SidePanel.vue.js";
3
+ import M from "../Navbar/NavbarTabs.vue.js";
4
+ import P from "../Breadcrumb/Breadcrumb.vue.js";
6
5
  import "@iconify/vue";
7
6
  /* 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-background overflow-hidden" }, O = {
7
+ import { APPSHELL_LAYOUT_KEY as A } from "./useAppShell.js";
8
+ const O = { class: "vlite-app-layout flex w-full h-full bg-background overflow-hidden" }, U = {
10
9
  key: 0,
11
10
  class: "flex items-center"
12
- }, U = { class: "flex flex-col flex-1 min-w-0 h-full overflow-hidden gap-2 max-sm:p-0 max-sm:gap-0" }, D = {
11
+ }, D = { class: "flex flex-col flex-1 min-w-0 h-full overflow-hidden gap-2 max-sm:p-0 max-sm:gap-0" }, I = {
13
12
  key: 0,
14
13
  class: "w-full shrink-0 z-20 px-5 pt-2 border-hidden"
15
- }, I = { class: "w-full shrink-0 z-20 bg-background overflow-hidden rounded-xl max-sm:rounded-none border border-border max-sm:border-0" }, Y = {
14
+ }, Y = { class: "w-full shrink-0 z-20 bg-background overflow-hidden rounded-xl max-sm:rounded-none border border-border max-sm:border-0" }, j = {
16
15
  key: 0,
17
16
  class: "shrink-0 w-full px-6"
18
- }, j = { class: "flex flex-col h-full" }, K = {
17
+ }, F = { class: "flex flex-col h-full" }, K = {
19
18
  class: "flex-1 overflow-y-auto scrollbar-thin scrollbar-stable",
20
19
  style: { "will-change": "transform", contain: "layout style" }
21
20
  }, q = {
@@ -23,96 +22,97 @@ const A = { class: "vlite-app-layout flex flex-row w-full h-full bg-background o
23
22
  class: "mt-auto"
24
23
  }, le = /* @__PURE__ */ _({
25
24
  __name: "AppShellLayoutHeaderShell",
26
- setup(F) {
27
- const k = N(P), {
25
+ setup(G) {
26
+ const $ = R(A), {
28
27
  props: l,
29
- sidebarHidden: $,
28
+ sidebarHidden: C,
30
29
  isMobileMenuOpen: d,
31
- isSidebarVisible: x,
32
- toggleSidebar: C,
33
- pageTitle: S,
30
+ isSidebarVisible: S,
31
+ toggleSidebar: x,
32
+ pageTitle: T,
34
33
  breadcrumbData: f,
35
34
  breakpointClasses: u,
36
- nestedTabsItems: v,
35
+ nestedTabsItems: p,
37
36
  activeNestedTab: c,
38
- handleNestedTabClick: T,
39
- mainScrollRef: V,
40
- layoutMainRef: z
41
- } = k;
42
- return (s, n) => (a(), o("div", A, [
43
- m(R, {
37
+ handleNestedTabClick: V,
38
+ mainScrollRef: z,
39
+ layoutMainRef: N,
40
+ sidebarSlideFromClass: g
41
+ } = $;
42
+ return (s, n) => (r(), o("div", O, [
43
+ m(B, {
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
- "enter-from-class": "opacity-0 -translate-x-2",
46
+ "enter-from-class": e(g),
47
47
  "enter-to-class": "opacity-100 translate-x-0",
48
48
  "leave-from-class": "opacity-100 translate-x-0",
49
- "leave-to-class": "opacity-0 -translate-x-2"
49
+ "leave-to-class": e(g)
50
50
  }, {
51
- default: p(() => [
52
- g(t("nav", {
51
+ default: v(() => [
52
+ y(t("nav", {
53
53
  class: b([
54
- "shrink-0 h-full flex flex-col bg-background border-r border-border overflow-hidden z-30",
54
+ "shrink-0 h-full flex flex-col bg-background border-e border-border overflow-hidden z-30",
55
55
  e(u).mobileTrigger === "md:hidden" ? "max-md:hidden" : "",
56
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", O, [
62
- r(s.$slots, "sidebar-header")
61
+ s.$slots["sidebar-header"] ? (r(), o("div", U, [
62
+ a(s.$slots, "sidebar-header")
63
63
  ])) : i("", !0),
64
64
  t("div", {
65
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
- r(s.$slots, "sidebar")
68
+ a(s.$slots, "sidebar")
69
69
  ], 2),
70
- s.$slots["sidebar-footer"] ? (a(), o("div", {
70
+ s.$slots["sidebar-footer"] ? (r(), o("div", {
71
71
  key: 1,
72
72
  class: b(["shrink-0", e(l).rightClass])
73
73
  }, [
74
- r(s.$slots, "sidebar-footer")
74
+ a(s.$slots, "sidebar-footer")
75
75
  ], 2)) : i("", !0)
76
76
  ], 2), [
77
- [y, !e($)]
77
+ [w, !e(C)]
78
78
  ])
79
79
  ]),
80
80
  _: 3
81
- }),
82
- t("div", U, [
83
- s.$slots.header ? g((a(), o("header", D, [
84
- t("div", I, [
85
- r(s.$slots, "header", {
81
+ }, 8, ["enter-from-class", "leave-to-class"]),
82
+ t("div", D, [
83
+ s.$slots.header ? y((r(), o("header", I, [
84
+ t("div", Y, [
85
+ a(s.$slots, "header", {
86
86
  isOpen: e(d),
87
87
  toggle: () => d.value = !e(d),
88
- sidebarVisible: e(x),
89
- toggleSidebar: e(C),
88
+ sidebarVisible: e(S),
89
+ toggleSidebar: e(x),
90
90
  breadcrumbItems: e(f).items.value,
91
- pageTitle: e(S)
91
+ pageTitle: e(T)
92
92
  })
93
93
  ])
94
94
  ], 512)), [
95
- [y, !e(l).hideHeader]
95
+ [w, !e(l).hideHeader]
96
96
  ]) : i("", !0),
97
- s.$slots.main ? (a(), o("main", {
97
+ s.$slots.main ? (r(), o("main", {
98
98
  key: 1,
99
99
  ref_key: "layoutMainRef",
100
- ref: z,
100
+ ref: N,
101
101
  class: "flex-1 overflow-hidden w-full relative flex flex-col min-h-0 bg-background"
102
102
  }, [
103
- e(l).renderNestedTabs && e(v).length > 0 ? (a(), o("div", Y, [
104
- m(L, {
103
+ e(l).renderNestedTabs && e(p).length > 0 ? (r(), o("div", j, [
104
+ m(M, {
105
105
  modelValue: e(c),
106
- "onUpdate:modelValue": n[0] || (n[0] = (h) => w(c) ? c.value = h : null),
107
- onChange: e(T),
108
- items: e(v)
106
+ "onUpdate:modelValue": n[0] || (n[0] = (h) => k(c) ? c.value = h : null),
107
+ onChange: e(V),
108
+ items: e(p)
109
109
  }, null, 8, ["modelValue", "onChange", "items"])
110
110
  ])) : i("", !0),
111
- e(l).breadcrumb && e(l).breadcrumbPosition === "main" && e(f).items.value.length > 1 ? (a(), o("div", {
111
+ e(l).breadcrumb && e(l).breadcrumbPosition === "main" && e(f).items.value.length > 1 ? (r(), o("div", {
112
112
  key: 1,
113
113
  class: b(["shrink-0 w-full border-b border-border px-6 py-2", e(l).breadcrumbClass])
114
114
  }, [
115
- m(e(M), {
115
+ m(e(P), {
116
116
  items: e(f).items.value,
117
117
  variant: e(l).breadcrumbVariant,
118
118
  separator: e(l).breadcrumbSeparator,
@@ -121,34 +121,34 @@ const A = { class: "vlite-app-layout flex flex-row w-full h-full bg-background o
121
121
  ], 2)) : i("", !0),
122
122
  t("div", {
123
123
  ref_key: "mainScrollRef",
124
- ref: V,
124
+ ref: z,
125
125
  style: { "will-change": "transform", contain: "layout style" },
126
126
  class: "flex-1 overflow-y-auto w-full relative h-full scrollbar-thin scrollbar-stable"
127
127
  }, [
128
- r(s.$slots, "main")
128
+ a(s.$slots, "main")
129
129
  ], 512)
130
130
  ], 512)) : i("", !0)
131
131
  ]),
132
- m(H, {
132
+ m(L, {
133
133
  show: e(d),
134
- "onUpdate:show": n[1] || (n[1] = (h) => w(d) ? d.value = h : null),
134
+ "onUpdate:show": n[1] || (n[1] = (h) => k(d) ? d.value = h : null),
135
135
  position: "left",
136
136
  size: "sm",
137
137
  triggerClass: e(u).mobileTrigger,
138
138
  class: b(["z-60", e(u).mobileTrigger]),
139
- headerClass: "pl-3! pr-4.5! py-3!",
139
+ headerClass: "ps-3! pe-4.5! py-3!",
140
140
  bodyClass: "p-0!"
141
- }, B({
142
- default: p(() => [
143
- t("div", j, [
141
+ }, E({
142
+ default: v(() => [
143
+ t("div", F, [
144
144
  t("div", K, [
145
- r(s.$slots, "mobile-sidebar", {}, () => [
146
- r(s.$slots, "sidebar")
145
+ a(s.$slots, "mobile-sidebar", {}, () => [
146
+ a(s.$slots, "sidebar")
147
147
  ])
148
148
  ]),
149
- s.$slots["mobile-sidebar-footer"] || s.$slots["sidebar-footer"] ? (a(), o("div", q, [
150
- r(s.$slots, "mobile-sidebar-footer", {}, () => [
151
- r(s.$slots, "sidebar-footer")
149
+ s.$slots["mobile-sidebar-footer"] || s.$slots["sidebar-footer"] ? (r(), o("div", q, [
150
+ a(s.$slots, "mobile-sidebar-footer", {}, () => [
151
+ a(s.$slots, "sidebar-footer")
152
152
  ])
153
153
  ])) : i("", !0)
154
154
  ])
@@ -157,10 +157,10 @@ const A = { class: "vlite-app-layout flex flex-row w-full h-full bg-background o
157
157
  }, [
158
158
  s.$slots["mobile-sidebar-header"] || s.$slots["sidebar-header"] ? {
159
159
  name: "header",
160
- fn: p(() => [
161
- r(s.$slots, "mobile-sidebar-header", {}, () => [
162
- r(s.$slots, "sidebar-header", {}, () => [
163
- n[2] || (n[2] = E("Brand", -1))
160
+ fn: v(() => [
161
+ a(s.$slots, "mobile-sidebar-header", {}, () => [
162
+ a(s.$slots, "sidebar-header", {}, () => [
163
+ n[2] || (n[2] = H("Brand", -1))
164
164
  ])
165
165
  ])
166
166
  ]),
@@ -24,13 +24,13 @@ declare function __VLS_template(): {
24
24
  layoutMainRef: HTMLElement;
25
25
  mainScrollRef: HTMLDivElement;
26
26
  };
27
- rootEl: HTMLDivElement;
27
+ rootEl: any;
28
28
  };
29
29
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
30
30
  declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
31
31
  layoutMainRef: HTMLElement;
32
32
  mainScrollRef: HTMLDivElement;
33
- }, HTMLDivElement>;
33
+ }, any>;
34
34
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
35
35
  export default _default;
36
36
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,15 +1,14 @@
1
- import { defineComponent as N, inject as R, openBlock as r, createElementBlock as o, createVNode as m, Transition as _, withCtx as p, withDirectives as y, createElementVNode as d, normalizeClass as b, unref as e, renderSlot as a, createCommentVNode as t, vShow as g, isRef as w, createSlots as B, createTextVNode as E } from "vue";
2
- import L from "../SidePanel.vue.js";
3
- import M from "../Navbar/NavbarTabs.vue.js";
4
- /* empty css */
5
- import P from "../Breadcrumb/Breadcrumb.vue.js";
1
+ import { defineComponent as R, inject as B, openBlock as r, createElementBlock as o, createVNode as m, Transition as E, unref as e, withCtx as v, withDirectives as g, createElementVNode as n, normalizeClass as b, renderSlot as a, createCommentVNode as t, vShow as w, isRef as k, createSlots as L, createTextVNode as M } from "vue";
2
+ import P from "../SidePanel.vue.js";
3
+ import A from "../Navbar/NavbarTabs.vue.js";
4
+ import H from "../Breadcrumb/Breadcrumb.vue.js";
6
5
  import "@iconify/vue";
7
6
  /* empty css */
8
- import { APPSHELL_LAYOUT_KEY as A } from "./useAppShell.js";
9
- const H = { class: "vlite-app-layout flex flex-row w-full h-full bg-body overflow-hidden" }, O = { class: "flex flex-col flex-1 min-w-0 h-full overflow-hidden" }, U = {
7
+ import { APPSHELL_LAYOUT_KEY as O } from "./useAppShell.js";
8
+ const U = { class: "vlite-app-layout flex w-full h-full bg-body overflow-hidden" }, _ = { class: "flex flex-col flex-1 min-w-0 h-full overflow-hidden" }, D = {
10
9
  key: 0,
11
10
  class: "w-full shrink-0 z-20 border-b bg-background"
12
- }, D = {
11
+ }, F = {
13
12
  key: 0,
14
13
  class: "shrink-0 w-full"
15
14
  }, I = { class: "flex flex-col h-full" }, Y = {
@@ -18,142 +17,143 @@ const H = { class: "vlite-app-layout flex flex-row w-full h-full bg-body overflo
18
17
  }, j = {
19
18
  key: 0,
20
19
  class: "mt-auto"
21
- }, ee = /* @__PURE__ */ N({
20
+ }, ee = /* @__PURE__ */ R({
22
21
  __name: "AppShellLayoutSidebarFirst",
23
- setup(F) {
24
- const k = R(A), {
25
- props: s,
26
- sidebarHidden: $,
22
+ setup(K) {
23
+ const $ = B(O), {
24
+ props: l,
25
+ sidebarHidden: C,
27
26
  isMobileMenuOpen: i,
28
- isSidebarVisible: C,
29
- toggleSidebar: S,
30
- pageTitle: T,
27
+ isSidebarVisible: S,
28
+ toggleSidebar: T,
29
+ pageTitle: V,
31
30
  breadcrumbData: f,
32
31
  breakpointClasses: u,
33
- nestedTabsItems: v,
32
+ nestedTabsItems: p,
34
33
  activeNestedTab: c,
35
- handleNestedTabClick: V,
36
- mainScrollRef: x,
37
- layoutMainRef: z
38
- } = k;
39
- return (l, n) => (r(), o("div", H, [
40
- m(_, {
34
+ handleNestedTabClick: z,
35
+ mainScrollRef: N,
36
+ layoutMainRef: x,
37
+ sidebarSlideFromClass: y
38
+ } = $;
39
+ return (s, d) => (r(), o("div", U, [
40
+ m(E, {
41
41
  "enter-active-class": "transition-all duration-300 ease-in-out",
42
42
  "leave-active-class": "transition-all duration-300 ease-in-out",
43
- "enter-from-class": "opacity-0 -translate-x-2",
43
+ "enter-from-class": e(y),
44
44
  "enter-to-class": "opacity-100 translate-x-0",
45
45
  "leave-from-class": "opacity-100 translate-x-0",
46
- "leave-to-class": "opacity-0 -translate-x-2"
46
+ "leave-to-class": e(y)
47
47
  }, {
48
- default: p(() => [
49
- y(d("nav", {
48
+ default: v(() => [
49
+ g(n("nav", {
50
50
  class: b([
51
- "shrink-0 h-full flex flex-col bg-background border-r border-border overflow-hidden z-30",
51
+ "shrink-0 h-full flex flex-col bg-background border-e border-border overflow-hidden z-30",
52
52
  e(u).mobileTrigger === "md:hidden" ? "max-md:hidden" : "",
53
- e(s).class
53
+ e(l).class
54
54
  ]),
55
55
  role: "navigation",
56
56
  "aria-label": "Sidebar"
57
57
  }, [
58
- l.$slots["sidebar-header"] ? a(l.$slots, "sidebar-header", { key: 0 }) : t("", !0),
59
- d("div", {
60
- class: b(["flex-1 overflow-y-auto overflow-x-hidden scrollbar-thin scrollbar-stable", e(s).contentClass]),
58
+ s.$slots["sidebar-header"] ? a(s.$slots, "sidebar-header", { key: 0 }) : t("", !0),
59
+ n("div", {
60
+ class: b(["flex-1 overflow-y-auto overflow-x-hidden scrollbar-thin scrollbar-stable", e(l).contentClass]),
61
61
  style: { "will-change": "transform", contain: "layout style" }
62
62
  }, [
63
- a(l.$slots, "sidebar")
63
+ a(s.$slots, "sidebar")
64
64
  ], 2),
65
- l.$slots["sidebar-footer"] ? (r(), o("div", {
65
+ s.$slots["sidebar-footer"] ? (r(), o("div", {
66
66
  key: 1,
67
- class: b(["shrink-0", e(s).rightClass])
67
+ class: b(["shrink-0", e(l).rightClass])
68
68
  }, [
69
- a(l.$slots, "sidebar-footer")
69
+ a(s.$slots, "sidebar-footer")
70
70
  ], 2)) : t("", !0)
71
71
  ], 2), [
72
- [g, !e($)]
72
+ [w, !e(C)]
73
73
  ])
74
74
  ]),
75
75
  _: 3
76
- }),
77
- d("div", O, [
78
- l.$slots.header ? y((r(), o("header", U, [
79
- a(l.$slots, "header", {
76
+ }, 8, ["enter-from-class", "leave-to-class"]),
77
+ n("div", _, [
78
+ s.$slots.header ? g((r(), o("header", D, [
79
+ a(s.$slots, "header", {
80
80
  isOpen: e(i),
81
81
  toggle: () => i.value = !e(i),
82
- sidebarVisible: e(C),
83
- toggleSidebar: e(S),
82
+ sidebarVisible: e(S),
83
+ toggleSidebar: e(T),
84
84
  breadcrumbItems: e(f).items.value,
85
- pageTitle: e(T)
85
+ pageTitle: e(V)
86
86
  })
87
87
  ], 512)), [
88
- [g, !e(s).hideHeader]
88
+ [w, !e(l).hideHeader]
89
89
  ]) : t("", !0),
90
- l.$slots.main ? (r(), o("main", {
90
+ s.$slots.main ? (r(), o("main", {
91
91
  key: 1,
92
92
  ref_key: "layoutMainRef",
93
- ref: z,
93
+ ref: x,
94
94
  class: "flex-1 overflow-y-auto w-full relative h-full flex flex-col min-h-0 scrollbar-thin scrollbar-stable"
95
95
  }, [
96
- e(s).renderNestedTabs && e(v).length > 0 ? (r(), o("div", D, [
97
- m(M, {
96
+ e(l).renderNestedTabs && e(p).length > 0 ? (r(), o("div", F, [
97
+ m(A, {
98
98
  modelValue: e(c),
99
- "onUpdate:modelValue": n[0] || (n[0] = (h) => w(c) ? c.value = h : null),
100
- onChange: e(V),
101
- items: e(v)
99
+ "onUpdate:modelValue": d[0] || (d[0] = (h) => k(c) ? c.value = h : null),
100
+ onChange: e(z),
101
+ items: e(p)
102
102
  }, null, 8, ["modelValue", "onChange", "items"])
103
103
  ])) : t("", !0),
104
- e(s).breadcrumb && e(s).breadcrumbPosition === "main" && e(f).items.value.length > 1 ? (r(), o("div", {
104
+ e(l).breadcrumb && e(l).breadcrumbPosition === "main" && e(f).items.value.length > 1 ? (r(), o("div", {
105
105
  key: 1,
106
- class: b(["shrink-0 w-full border-b border-border px-6 py-2", e(s).breadcrumbClass])
106
+ class: b(["shrink-0 w-full border-b border-border px-6 py-2", e(l).breadcrumbClass])
107
107
  }, [
108
- m(e(P), {
108
+ m(e(H), {
109
109
  items: e(f).items.value,
110
- variant: e(s).breadcrumbVariant,
111
- separator: e(s).breadcrumbSeparator,
112
- size: e(s).breadcrumbSize
110
+ variant: e(l).breadcrumbVariant,
111
+ separator: e(l).breadcrumbSeparator,
112
+ size: e(l).breadcrumbSize
113
113
  }, null, 8, ["items", "variant", "separator", "size"])
114
114
  ], 2)) : t("", !0),
115
- d("div", {
115
+ n("div", {
116
116
  ref_key: "mainScrollRef",
117
- ref: x,
117
+ ref: N,
118
118
  style: { "will-change": "transform", contain: "layout style" },
119
119
  class: "flex-1 overflow-y-auto w-full relative h-full scrollbar-thin scrollbar-stable"
120
120
  }, [
121
- a(l.$slots, "main")
121
+ a(s.$slots, "main")
122
122
  ], 512)
123
123
  ], 512)) : t("", !0)
124
124
  ]),
125
- m(L, {
125
+ m(P, {
126
126
  show: e(i),
127
- "onUpdate:show": n[1] || (n[1] = (h) => w(i) ? i.value = h : null),
127
+ "onUpdate:show": d[1] || (d[1] = (h) => k(i) ? i.value = h : null),
128
128
  position: "left",
129
129
  size: "sm",
130
130
  triggerClass: e(u).mobileTrigger,
131
131
  class: b(["z-60", e(u).mobileTrigger]),
132
- headerClass: "pl-3! pr-4.5! py-3!",
132
+ headerClass: "ps-3! pe-4.5! py-3!",
133
133
  bodyClass: "p-0!"
134
- }, B({
135
- default: p(() => [
136
- d("div", I, [
137
- d("div", Y, [
138
- a(l.$slots, "mobile-sidebar", {}, () => [
139
- a(l.$slots, "sidebar")
134
+ }, L({
135
+ default: v(() => [
136
+ n("div", I, [
137
+ n("div", Y, [
138
+ a(s.$slots, "mobile-sidebar", {}, () => [
139
+ a(s.$slots, "sidebar")
140
140
  ])
141
141
  ]),
142
- l.$slots["mobile-sidebar-footer"] || l.$slots["sidebar-footer"] ? (r(), o("div", j, [
143
- a(l.$slots, "mobile-sidebar-footer", {}, () => [
144
- a(l.$slots, "sidebar-footer")
142
+ s.$slots["mobile-sidebar-footer"] || s.$slots["sidebar-footer"] ? (r(), o("div", j, [
143
+ a(s.$slots, "mobile-sidebar-footer", {}, () => [
144
+ a(s.$slots, "sidebar-footer")
145
145
  ])
146
146
  ])) : t("", !0)
147
147
  ])
148
148
  ]),
149
149
  _: 2
150
150
  }, [
151
- l.$slots["mobile-sidebar-header"] || l.$slots["sidebar-header"] ? {
151
+ s.$slots["mobile-sidebar-header"] || s.$slots["sidebar-header"] ? {
152
152
  name: "header",
153
- fn: p(() => [
154
- a(l.$slots, "mobile-sidebar-header", {}, () => [
155
- a(l.$slots, "sidebar-header", {}, () => [
156
- n[2] || (n[2] = E("Brand", -1))
153
+ fn: v(() => [
154
+ a(s.$slots, "mobile-sidebar-header", {}, () => [
155
+ a(s.$slots, "sidebar-header", {}, () => [
156
+ d[2] || (d[2] = M("Brand", -1))
157
157
  ])
158
158
  ])
159
159
  ]),
@@ -1,8 +1,7 @@
1
- import { defineComponent as z, inject as T, computed as v, openBlock as t, createElementBlock as i, renderSlot as l, createCommentVNode as d, withDirectives as _, createElementVNode as a, normalizeClass as n, unref as e, createVNode as f, vShow as R, isRef as y, createSlots as P, withCtx as w } from "vue";
1
+ import { defineComponent as T, inject as z, computed as v, openBlock as t, createElementBlock as i, renderSlot as l, createCommentVNode as d, withDirectives as R, createElementVNode as a, normalizeClass as n, unref as e, createVNode as f, vShow as P, isRef as y, createSlots as _, withCtx as w } from "vue";
2
2
  import V from "../Icon.vue.js";
3
- import j from "../SidePanel.vue.js";
4
- import N from "../Navbar/NavbarTabs.vue.js";
5
- /* empty css */
3
+ import N from "../SidePanel.vue.js";
4
+ import j from "../Navbar/NavbarTabs.vue.js";
6
5
  import B from "../Breadcrumb/Breadcrumb.vue.js";
7
6
  /* empty css */
8
7
  import { APPSHELL_LAYOUT_KEY as E } from "./useAppShell.js";
@@ -25,10 +24,10 @@ const M = { class: "vlite-app-layout flex flex-col w-full h-full min-h-0 bg-body
25
24
  }, F = {
26
25
  key: 0,
27
26
  class: "mt-auto border-t border-border px-3.5 py-3"
28
- }, ae = /* @__PURE__ */ z({
27
+ }, ie = /* @__PURE__ */ T({
29
28
  __name: "AppShellLayoutStorefront",
30
29
  setup(G) {
31
- const k = T(E), {
30
+ const k = z(E), {
32
31
  props: s,
33
32
  isMobileMenuOpen: r,
34
33
  isSidebarVisible: J,
@@ -44,10 +43,10 @@ const M = { class: "vlite-app-layout flex flex-col w-full h-full min-h-0 bg-body
44
43
  } = k, S = v(() => [
45
44
  "w-full shrink-0 bg-background transition-shadow duration-200",
46
45
  {
47
- fixed: "fixed top-0 left-0 z-50",
46
+ fixed: "fixed top-0 start-0 z-50",
48
47
  sticky: "sticky top-0 z-50",
49
48
  relative: "relative z-20",
50
- absolute: "absolute top-0 left-0 w-full z-50"
49
+ absolute: "absolute top-0 start-0 w-full z-50"
51
50
  }[s.position || "sticky"],
52
51
  s.border ? "border-b border-border" : "",
53
52
  s.glass ? "bg-background/90 backdrop-blur-md" : "",
@@ -58,7 +57,7 @@ const M = { class: "vlite-app-layout flex flex-col w-full h-full min-h-0 bg-body
58
57
  o.$slots.announcement ? (t(), i("div", O, [
59
58
  l(o.$slots, "announcement")
60
59
  ])) : d("", !0),
61
- _(a("header", {
60
+ R(a("header", {
62
61
  class: n(S.value)
63
62
  }, [
64
63
  a("div", A, [
@@ -111,7 +110,7 @@ const M = { class: "vlite-app-layout flex flex-col w-full h-full min-h-0 bg-body
111
110
  ])
112
111
  ], 2)) : d("", !0)
113
112
  ], 2), [
114
- [R, !e(s).hideHeader]
113
+ [P, !e(s).hideHeader]
115
114
  ]),
116
115
  o.$slots.main ? (t(), i("main", {
117
116
  key: 1,
@@ -120,7 +119,7 @@ const M = { class: "vlite-app-layout flex flex-col w-full h-full min-h-0 bg-body
120
119
  class: "flex-1 overflow-hidden w-full relative flex flex-col min-h-0"
121
120
  }, [
122
121
  e(s).renderNestedTabs && e(g).length > 0 ? (t(), i("div", Y, [
123
- f(N, {
122
+ f(j, {
124
123
  modelValue: e(c),
125
124
  "onUpdate:modelValue": u[1] || (u[1] = (b) => y(c) ? c.value = b : null),
126
125
  onChange: e($),
@@ -150,16 +149,16 @@ const M = { class: "vlite-app-layout flex flex-col w-full h-full min-h-0 bg-body
150
149
  o.$slots.footer ? (t(), i("footer", I, [
151
150
  l(o.$slots, "footer")
152
151
  ])) : d("", !0),
153
- f(j, {
152
+ f(N, {
154
153
  show: e(r),
155
154
  "onUpdate:show": u[2] || (u[2] = (b) => y(r) ? r.value = b : null),
156
155
  position: "left",
157
156
  size: "sm",
158
157
  triggerClass: e(m).mobileTrigger,
159
158
  class: n(["z-60", e(m).mobileTrigger]),
160
- headerClass: "pl-3! pr-4.5! py-3!",
159
+ headerClass: "ps-3! pe-4.5! py-3!",
161
160
  bodyClass: "p-0!"
162
- }, P({
161
+ }, _({
163
162
  default: w(() => [
164
163
  a("div", K, [
165
164
  a("div", q, [
@@ -184,5 +183,5 @@ const M = { class: "vlite-app-layout flex flex-col w-full h-full min-h-0 bg-body
184
183
  }
185
184
  });
186
185
  export {
187
- ae as default
186
+ ie as default
188
187
  };
@@ -11,6 +11,10 @@ export interface AppShellLayoutContext {
11
11
  sidebarHidden: ComputedRef<boolean>;
12
12
  pageTitle: ComputedRef<string>;
13
13
  isScrolled: Ref<boolean>;
14
+ /** Document / shell reading direction */
15
+ isRtl: ComputedRef<boolean>;
16
+ /** Sidebar show/hide slide: enter-from / leave-to classes */
17
+ sidebarSlideFromClass: ComputedRef<string>;
14
18
  mainScrollRef: Ref<HTMLElement | null>;
15
19
  layoutMainRef: Ref<HTMLElement | null>;
16
20
  toggleSidebar: () => void;