vlite3 0.4.8 → 0.5.2

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 (268) hide show
  1. package/README.md +201 -100
  2. package/_virtual/Barcode.js +4 -0
  3. package/_virtual/CODE128.js +4 -0
  4. package/_virtual/CODE128A.js +4 -0
  5. package/_virtual/CODE128B.js +4 -0
  6. package/_virtual/CODE128C.js +4 -0
  7. package/_virtual/CODE128_AUTO.js +4 -0
  8. package/_virtual/CODE93.js +4 -0
  9. package/_virtual/CODE93FullASCII.js +4 -0
  10. package/_virtual/EAN.js +4 -0
  11. package/_virtual/EAN13.js +4 -0
  12. package/_virtual/EAN2.js +4 -0
  13. package/_virtual/EAN5.js +4 -0
  14. package/_virtual/EAN8.js +4 -0
  15. package/_virtual/ErrorHandler.js +4 -0
  16. package/_virtual/FileSaver.min.js +5 -0
  17. package/_virtual/FileSaver.min2.js +4 -0
  18. package/_virtual/ITF.js +4 -0
  19. package/_virtual/ITF14.js +4 -0
  20. package/_virtual/JsBarcode.js +7 -0
  21. package/_virtual/MSI.js +4 -0
  22. package/_virtual/MSI10.js +4 -0
  23. package/_virtual/MSI1010.js +4 -0
  24. package/_virtual/MSI11.js +4 -0
  25. package/_virtual/MSI1110.js +4 -0
  26. package/_virtual/UPC.js +4 -0
  27. package/_virtual/UPCE.js +4 -0
  28. package/_virtual/_commonjsHelpers.js +8 -0
  29. package/_virtual/alignment-pattern.js +4 -0
  30. package/_virtual/auto.js +4 -0
  31. package/_virtual/browser.js +7 -0
  32. package/_virtual/browser2.js +4 -0
  33. package/_virtual/canvas.js +4 -0
  34. package/_virtual/canvas2.js +4 -0
  35. package/_virtual/checksums.js +4 -0
  36. package/_virtual/constants.js +4 -0
  37. package/_virtual/constants2.js +4 -0
  38. package/_virtual/constants3.js +4 -0
  39. package/_virtual/constants4.js +4 -0
  40. package/_virtual/defaults.js +4 -0
  41. package/_virtual/dijkstra.js +4 -0
  42. package/_virtual/encoder.js +4 -0
  43. package/_virtual/error-correction-code.js +4 -0
  44. package/_virtual/error-correction-level.js +4 -0
  45. package/_virtual/exceptions.js +4 -0
  46. package/_virtual/finder-pattern.js +4 -0
  47. package/_virtual/fixOptions.js +4 -0
  48. package/_virtual/format-info.js +4 -0
  49. package/_virtual/galois-field.js +4 -0
  50. package/_virtual/getOptionsFromElement.js +4 -0
  51. package/_virtual/getRenderProperties.js +4 -0
  52. package/_virtual/index.js +4 -0
  53. package/_virtual/index10.js +4 -0
  54. package/_virtual/index11.js +4 -0
  55. package/_virtual/index2.js +4 -0
  56. package/_virtual/index3.js +4 -0
  57. package/_virtual/index4.js +4 -0
  58. package/_virtual/index5.js +4 -0
  59. package/_virtual/index6.js +4 -0
  60. package/_virtual/index7.js +4 -0
  61. package/_virtual/index8.js +4 -0
  62. package/_virtual/index9.js +4 -0
  63. package/_virtual/linearizeEncodings.js +4 -0
  64. package/_virtual/mask-pattern.js +4 -0
  65. package/_virtual/merge.js +4 -0
  66. package/_virtual/mode.js +4 -0
  67. package/_virtual/object.js +4 -0
  68. package/_virtual/optionsFromStrings.js +4 -0
  69. package/_virtual/papaparse.min.js +7 -0
  70. package/_virtual/papaparse.min2.js +4 -0
  71. package/_virtual/polynomial.js +4 -0
  72. package/_virtual/qrcode.js +4 -0
  73. package/_virtual/regex.js +4 -0
  74. package/_virtual/segments.js +4 -0
  75. package/_virtual/shared.js +4 -0
  76. package/_virtual/svg-tag.js +4 -0
  77. package/_virtual/svg.js +4 -0
  78. package/_virtual/utils.js +4 -0
  79. package/_virtual/utils2.js +4 -0
  80. package/_virtual/version-check.js +4 -0
  81. package/_virtual/version.js +4 -0
  82. package/components/Accordion/Accordion.vue.d.ts +7 -7
  83. package/components/Accordion/AccordionItem.vue.d.ts +4 -4
  84. package/components/Accordion/AccordionTrigger.vue.d.ts +2 -2
  85. package/components/Alert.vue.d.ts +1 -1
  86. package/components/Avatar.vue.d.ts +2 -2
  87. package/components/Avatar.vue.js +2 -2
  88. package/components/AvatarUploader/AvatarUploader.vue.d.ts +5 -5
  89. package/components/Badge.vue.d.ts +1 -1
  90. package/components/Barcode/Barcode.vue.d.ts +22 -0
  91. package/components/Barcode/Barcode.vue.js +58 -0
  92. package/components/Barcode/Barcode.vue2.js +4 -0
  93. package/components/Barcode/index.d.ts +2 -0
  94. package/components/Barcode/types.d.ts +5 -0
  95. package/components/Barcode/types.js +15 -0
  96. package/components/Breadcrumb/Breadcrumb.vue.d.ts +23 -0
  97. package/components/Breadcrumb/Breadcrumb.vue.js +7 -0
  98. package/components/Breadcrumb/Breadcrumb.vue2.js +84 -0
  99. package/components/Breadcrumb/BreadcrumbItem.vue.d.ts +27 -0
  100. package/components/Breadcrumb/BreadcrumbItem.vue.js +7 -0
  101. package/components/Breadcrumb/BreadcrumbItem.vue2.js +50 -0
  102. package/components/Breadcrumb/index.d.ts +3 -0
  103. package/components/Breadcrumb/types.d.ts +19 -0
  104. package/components/Button.vue.d.ts +4 -4
  105. package/components/Button.vue.js +32 -29
  106. package/components/ButtonGroup.vue.d.ts +1 -1
  107. package/components/Carousel/Carousel.vue.d.ts +58 -58
  108. package/components/CheckBox.vue.d.ts +2 -2
  109. package/components/Chip/Chip.vue.d.ts +3 -3
  110. package/components/ChoiceBox/ChoiceBox.vue.d.ts +4 -4
  111. package/components/ColorPicker/ColorPicker.vue.d.ts +3 -3
  112. package/components/ColorPicker/index.d.ts +1 -0
  113. package/components/CommandPaletteContent.vue.d.ts +15 -0
  114. package/components/CommandPaletteContent.vue.js +7 -0
  115. package/components/CommandPaletteContent.vue2.js +287 -0
  116. package/components/ConfirmationModal.vue.js +12 -10
  117. package/components/DataList/DataList.vue.d.ts +2 -2
  118. package/components/DataTable/DataTable.vue.d.ts +6 -6
  119. package/components/DataTable/DataTableRow.vue.d.ts +3 -3
  120. package/components/DatePicker.vue.d.ts +2 -2
  121. package/components/DatePicker.vue.js +7 -7
  122. package/components/DateRangePicker.vue.d.ts +29 -0
  123. package/components/DateRangePicker.vue.js +231 -0
  124. package/components/DateRangePicker.vue2.js +4 -0
  125. package/components/Dropdown/Dropdown.vue.d.ts +11 -6
  126. package/components/Dropdown/Dropdown.vue.js +147 -109
  127. package/components/Dropdown/DropdownBooleanItem.vue.js +9 -8
  128. package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +1 -1
  129. package/components/Dropdown/DropdownGroupedLayout.vue.js +35 -34
  130. package/components/Dropdown/DropdownItem.vue.js +11 -10
  131. package/components/Dropdown/DropdownMenu.vue.d.ts +5 -3
  132. package/components/Dropdown/DropdownMenu.vue.js +114 -111
  133. package/components/Dropdown/DropdownTrigger.vue.d.ts +2 -0
  134. package/components/Dropdown/DropdownTrigger.vue.js +9 -7
  135. package/components/ExportData/ExportData.vue.d.ts +16 -0
  136. package/components/ExportData/ExportData.vue.js +135 -0
  137. package/components/ExportData/ExportData.vue2.js +4 -0
  138. package/components/ExportData/index.d.ts +2 -0
  139. package/components/ExportData/types.d.ts +17 -0
  140. package/components/FilePicker/FilePicker.vue.d.ts +5 -5
  141. package/components/Form/CustomFields.vue.d.ts +6 -6
  142. package/components/Form/CustomFields.vue.js +1 -1
  143. package/components/Form/Form.vue.d.ts +4 -5
  144. package/components/Form/Form.vue.js +2 -2
  145. package/components/Form/Form.vue2.js +221 -178
  146. package/components/Form/FormField.vue.d.ts +4 -3
  147. package/components/Form/FormField.vue.js +70 -62
  148. package/components/Form/FormFields.vue.d.ts +3 -1
  149. package/components/Form/FormFields.vue.js +2 -2
  150. package/components/Form/FormFields.vue2.js +105 -59
  151. package/components/GoogleLogin.vue.d.ts +2 -2
  152. package/components/Icon.vue.d.ts +2 -0
  153. package/components/Icon.vue.js +12 -11
  154. package/components/ImportData/ImportData.vue.d.ts +31 -0
  155. package/components/ImportData/ImportData.vue.js +242 -0
  156. package/components/ImportData/ImportData.vue2.js +4 -0
  157. package/components/ImportData/ImportStep1.vue.d.ts +23 -0
  158. package/components/ImportData/ImportStep1.vue.js +162 -0
  159. package/components/ImportData/ImportStep1.vue2.js +4 -0
  160. package/components/ImportData/ImportStep2.vue.d.ts +20 -0
  161. package/components/ImportData/ImportStep2.vue.js +98 -0
  162. package/components/ImportData/ImportStep2.vue2.js +4 -0
  163. package/components/ImportData/ImportStep3.vue.d.ts +6 -0
  164. package/components/ImportData/ImportStep3.vue.js +98 -0
  165. package/components/ImportData/ImportStep3.vue2.js +4 -0
  166. package/components/ImportData/ImportStep4.vue.d.ts +6 -0
  167. package/components/ImportData/ImportStep4.vue.js +139 -0
  168. package/components/ImportData/ImportStep4.vue2.js +4 -0
  169. package/components/ImportData/index.d.ts +2 -0
  170. package/components/ImportData/types.d.ts +51 -0
  171. package/components/Input.vue.d.ts +9 -9
  172. package/components/Input.vue.js +137 -120
  173. package/components/List/List.vue.d.ts +18 -0
  174. package/components/List/List.vue.js +189 -0
  175. package/components/List/List.vue2.js +4 -0
  176. package/components/List/ListFieldRow.vue.d.ts +35 -0
  177. package/components/List/ListFieldRow.vue.js +119 -0
  178. package/components/List/ListFieldRow.vue2.js +4 -0
  179. package/components/List/index.d.ts +4 -0
  180. package/components/List/types.d.ts +1 -0
  181. package/components/List/utils.d.ts +9 -0
  182. package/components/List/utils.js +64 -0
  183. package/components/Masonry/Masonry.vue.d.ts +2 -2
  184. package/components/Modal.vue.js +5 -122
  185. package/components/Modal.vue2.js +133 -2
  186. package/components/MultiSelect/MultiSelect.vue.d.ts +12 -9
  187. package/components/MultiSelect/MultiSelect.vue.js +101 -64
  188. package/components/Navbar/Navbar.vue.d.ts +48 -9
  189. package/components/Navbar/Navbar.vue.js +418 -146
  190. package/components/Navbar/NavbarItem.vue.d.ts +2 -2
  191. package/components/Navbar/NavbarTabs.vue.d.ts +21 -0
  192. package/components/Navbar/NavbarTabs.vue.js +179 -0
  193. package/components/Navbar/NavbarTabs.vue3.js +5 -0
  194. package/components/Navbar/index.d.ts +3 -0
  195. package/components/NavbarCommandPalette.vue.d.ts +48 -0
  196. package/components/NumberInput.vue.d.ts +8 -8
  197. package/components/OTPInput/OTPInput.vue.d.ts +7 -7
  198. package/components/Pagination/Pagination.vue.d.ts +1 -1
  199. package/components/PermissionMatrix/PermissionEditor.vue.d.ts +36 -0
  200. package/components/PermissionMatrix/PermissionEditor.vue.js +323 -0
  201. package/components/PermissionMatrix/PermissionEditor.vue2.js +4 -0
  202. package/components/PermissionMatrix/PermissionMatrix.vue.d.ts +15 -0
  203. package/components/PermissionMatrix/PermissionMatrix.vue.js +7 -0
  204. package/components/PermissionMatrix/PermissionMatrix.vue2.js +245 -0
  205. package/components/PermissionMatrix/index.d.ts +3 -0
  206. package/components/PermissionMatrix/types.d.ts +59 -0
  207. package/components/PricingPlan/PricingPlan.vue.d.ts +3 -3
  208. package/components/ProgressBar/ProgressBar.vue.d.ts +3 -3
  209. package/components/QRCode/QRCode.vue.d.ts +15 -0
  210. package/components/QRCode/QRCode.vue.js +38 -0
  211. package/components/QRCode/QRCode.vue2.js +4 -0
  212. package/components/QRCode/index.d.ts +1 -0
  213. package/components/Screen/Screen.vue.d.ts +232 -5
  214. package/components/Screen/Screen.vue.js +423 -271
  215. package/components/Screen/ScreenFilter.vue.d.ts +2 -2
  216. package/components/Screen/ScreenFilter.vue.js +9 -9
  217. package/components/Screen/types.d.ts +12 -0
  218. package/components/SidePanel.vue.d.ts +2 -2
  219. package/components/SidebarMenu/SidebarMenu.vue.d.ts +15 -2
  220. package/components/SidebarMenu/SidebarMenu.vue.js +117 -47
  221. package/components/SidebarMenu/SidebarMenuItem.vue.d.ts +2 -0
  222. package/components/SidebarMenu/SidebarMenuItem.vue.js +192 -175
  223. package/components/SidebarMenu/types.d.ts +32 -5
  224. package/components/Slider.vue.d.ts +2 -2
  225. package/components/Spinner/Spinner.vue.d.ts +2 -2
  226. package/components/Stats/Stats.vue.d.ts +14 -0
  227. package/components/Stats/Stats.vue.js +307 -0
  228. package/components/Stats/Stats.vue2.js +4 -0
  229. package/components/Stats/index.d.ts +2 -0
  230. package/components/Stats/types.d.ts +32 -0
  231. package/components/Switch.vue.d.ts +2 -1
  232. package/components/Switch.vue.js +4 -2
  233. package/components/Tabes/Tabes.vue.d.ts +3 -3
  234. package/components/Tabes/Tabes.vue.js +60 -57
  235. package/components/Tabes/types.d.ts +5 -0
  236. package/components/Textarea.vue.d.ts +3 -3
  237. package/components/{Timeline.vue.d.ts → Timeline/Timeline.vue.d.ts} +23 -2
  238. package/components/Timeline/Timeline.vue.js +92 -0
  239. package/components/Timeline/TimelineIndicator.vue.d.ts +9 -0
  240. package/components/Timeline/TimelineIndicator.vue.js +68 -0
  241. package/components/Timeline/TimelineIndicator.vue2.js +4 -0
  242. package/components/Timeline/TimelineItem.vue.d.ts +56 -0
  243. package/components/Timeline/TimelineItem.vue.js +173 -0
  244. package/components/Timeline/TimelineItem.vue2.js +4 -0
  245. package/components/Timeline/index.d.ts +3 -0
  246. package/components/Tooltip.vue.d.ts +2 -2
  247. package/components/Workbook/Sheet.vue.d.ts +2 -2
  248. package/components/Workbook/Workbook.vue.d.ts +3 -3
  249. package/components/index.d.ts +62 -0
  250. package/composables/useBreadcrumb.d.ts +17 -0
  251. package/composables/useBreadcrumb.js +27 -0
  252. package/core/config.d.ts +34 -0
  253. package/core/config.js +10 -7
  254. package/core/index.js +15 -8
  255. package/index.d.ts +55 -44
  256. package/index.js +243 -200
  257. package/package.json +12 -2
  258. package/router.d.ts +2 -0
  259. package/style.css +7 -5
  260. package/types/button.d.ts +1 -1
  261. package/types/config.type.d.ts +35 -0
  262. package/types/form.type.d.ts +3 -1
  263. package/types/index.d.ts +2 -1
  264. package/types/list.type.d.ts +57 -0
  265. package/types/navbar.type.d.ts +38 -1
  266. package/types/timeline.type.d.ts +14 -4
  267. package/components/Timeline.vue.js +0 -160
  268. /package/components/{Timeline.vue2.js → Timeline/Timeline.vue2.js} +0 -0
@@ -25,9 +25,9 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
25
25
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
26
26
  onClick?: (event: MouseEvent) => any;
27
27
  }>, {
28
- disabled: boolean;
29
- class: string;
30
28
  variant: "default" | "pill" | "underline" | "ghost";
29
+ class: string;
30
+ disabled: boolean;
31
31
  active: boolean;
32
32
  orientation: "horizontal" | "vertical";
33
33
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,21 @@
1
+ import { NavbarTabItem } from '../../types/navbar.type';
2
+ export type NavbarTabsVariant = 'line' | 'pill' | 'solid' | 'ghost';
3
+ export type NavbarTabsSize = 'sm' | 'md' | 'lg';
4
+ interface Props {
5
+ items: NavbarTabItem[];
6
+ variant?: NavbarTabsVariant;
7
+ size?: NavbarTabsSize;
8
+ activeClass?: string;
9
+ inactiveClass?: string;
10
+ class?: string;
11
+ }
12
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
13
+ variant: NavbarTabsVariant;
14
+ size: NavbarTabsSize;
15
+ class: string;
16
+ activeClass: string;
17
+ inactiveClass: string;
18
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
19
+ scrollRef: HTMLElement;
20
+ }, HTMLDivElement>;
21
+ export default _default;
@@ -0,0 +1,179 @@
1
+ import { defineComponent as N, ref as f, onMounted as T, nextTick as y, onUnmounted as W, watch as I, openBlock as s, createElementBlock as b, normalizeClass as c, createVNode as v, Transition as L, withCtx as k, createElementVNode as l, createCommentVNode as g, Fragment as j, renderList as A, createBlock as w, unref as _, withModifiers as D, toDisplayString as F } from "vue";
2
+ import { useRoute as H, RouterLink as P } from "vue-router";
3
+ import p from "../Icon.vue.js";
4
+ const U = {
5
+ key: 0,
6
+ class: "absolute left-0 top-0 bottom-0 z-10 flex items-center pointer-events-none"
7
+ }, q = { class: "truncate" }, G = {
8
+ key: 0,
9
+ class: "absolute right-0 top-0 bottom-0 z-10 flex items-center justify-end pointer-events-none"
10
+ }, Q = /* @__PURE__ */ N({
11
+ __name: "NavbarTabs",
12
+ props: {
13
+ items: {},
14
+ variant: { default: "solid" },
15
+ size: { default: "md" },
16
+ activeClass: { default: "" },
17
+ inactiveClass: { default: "" },
18
+ class: { default: "" }
19
+ },
20
+ setup(a) {
21
+ const n = a, i = f(null), C = f(!1), R = f(!1), u = () => {
22
+ const o = i.value;
23
+ o && (C.value = o.scrollLeft > 2, R.value = o.scrollLeft + o.clientWidth < o.scrollWidth - 2);
24
+ }, z = (o) => {
25
+ const t = i.value;
26
+ if (!t) return;
27
+ const e = t.clientWidth * 0.6;
28
+ t.scrollBy({ left: o === "right" ? e : -e, behavior: "smooth" });
29
+ };
30
+ T(() => {
31
+ y(() => {
32
+ u(), i.value?.addEventListener("scroll", u, { passive: !0 });
33
+ });
34
+ }), W(() => {
35
+ i.value?.removeEventListener("scroll", u);
36
+ });
37
+ const h = H();
38
+ I(
39
+ () => h.path,
40
+ () => y(u)
41
+ );
42
+ const m = f(/* @__PURE__ */ new Map()), S = (o, t) => {
43
+ const e = o?.$el ?? o;
44
+ e instanceof HTMLElement ? m.value.set(t, e) : m.value.delete(t);
45
+ };
46
+ I(
47
+ () => h.path,
48
+ (o) => {
49
+ y(() => {
50
+ const t = n.items.findIndex((r) => x(r));
51
+ if (t === -1) return;
52
+ m.value.get(t)?.scrollIntoView({ block: "nearest", inline: "center", behavior: "smooth" });
53
+ });
54
+ },
55
+ { immediate: !0 }
56
+ );
57
+ const B = {
58
+ line: "flex border-b border-border gap-0",
59
+ pill: "flex gap-1 p-1 bg-secondary/80 rounded-lg",
60
+ solid: "flex gap-0",
61
+ ghost: "flex gap-1"
62
+ }, $ = {
63
+ sm: "px-2.5 py-1.5 text-xs",
64
+ md: "px-3.5 py-2 text-sm",
65
+ lg: "px-5 py-2.5 text-base"
66
+ }, E = {
67
+ line: "text-primary border-b-2 border-primary -mb-px",
68
+ pill: "bg-background text-foreground shadow-sm",
69
+ solid: "bg-primary-light text-primary-dark",
70
+ ghost: "bg-accent text-accent-foreground"
71
+ }, V = {
72
+ line: "text-muted-foreground border-b-2 border-transparent hover:text-foreground hover:border-border",
73
+ pill: "text-muted-foreground hover:text-foreground hover:bg-accent/60",
74
+ solid: "text-muted-foreground hover:text-foreground hover:bg-accent",
75
+ ghost: "text-muted-foreground hover:text-foreground hover:bg-accent/60"
76
+ }, x = (o) => {
77
+ const t = h.path;
78
+ if (!o.to) return !1;
79
+ const e = typeof o.to == "string" ? o.to : o.to.path;
80
+ if (!e) return !1;
81
+ if (o.exact || e === "/")
82
+ return t === e;
83
+ if (t === e) return !0;
84
+ if (t.startsWith(e)) {
85
+ const r = t[e.length];
86
+ return r === "/" || r === "?" || r === "#" || r === void 0;
87
+ }
88
+ return !1;
89
+ }, M = (o) => {
90
+ const t = "group relative inline-flex items-center justify-center gap-2 font-medium whitespace-nowrap shrink-0 select-none cursor-pointer outline-none transition-all duration-150 focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-1", e = o.disabled ? "opacity-50 pointer-events-none cursor-not-allowed" : "", d = x(o) ? n.activeClass || E[n.variant] : n.inactiveClass || V[n.variant];
91
+ return [t, $[n.size], d, e].filter(Boolean).join(" ");
92
+ };
93
+ return (o, t) => (s(), b("div", {
94
+ class: c(["relative flex items-center w-full min-w-0 border-b", n.class])
95
+ }, [
96
+ v(L, { name: "fade-x" }, {
97
+ default: k(() => [
98
+ C.value ? (s(), b("div", U, [
99
+ t[2] || (t[2] = l("div", { class: "w-8 h-full bg-gradient-to-r from-background to-transparent" }, null, -1)),
100
+ l("button", {
101
+ type: "button",
102
+ class: "pointer-events-auto absolute left-0 h-full px-1 flex items-center text-muted-foreground hover:text-foreground transition-colors",
103
+ "aria-label": "Scroll tabs left",
104
+ tabindex: "-1",
105
+ onClick: t[0] || (t[0] = (e) => z("left"))
106
+ }, [
107
+ v(p, {
108
+ icon: "lucide:chevron-left",
109
+ class: "w-4 h-4"
110
+ })
111
+ ])
112
+ ])) : g("", !0)
113
+ ]),
114
+ _: 1
115
+ }),
116
+ l("nav", {
117
+ ref_key: "scrollRef",
118
+ ref: i,
119
+ role: "tablist",
120
+ class: c([
121
+ "flex-1 overflow-x-auto scroll-smooth navbar-tabs-no-scrollbar",
122
+ B[a.variant]
123
+ ]),
124
+ "aria-label": "Page tabs"
125
+ }, [
126
+ (s(!0), b(j, null, A(a.items, (e, r) => (s(), w(_(P), {
127
+ key: r,
128
+ ref_for: !0,
129
+ ref: (d) => S(d, r),
130
+ to: e.to || "",
131
+ role: "tab",
132
+ "aria-selected": x(e),
133
+ "aria-disabled": e.disabled || void 0,
134
+ tabindex: e.disabled ? -1 : 0,
135
+ class: c(M(e)),
136
+ onClick: D((d) => !e.disabled && e.to && o.$router.push(e.to), ["prevent"])
137
+ }, {
138
+ default: k(() => [
139
+ e.icon ? (s(), w(p, {
140
+ key: 0,
141
+ icon: e.icon,
142
+ class: c(["shrink-0", a.size === "sm" ? "w-3.5 h-3.5" : "w-4 h-4"])
143
+ }, null, 8, ["icon", "class"])) : g("", !0),
144
+ l("span", q, F(e.label), 1),
145
+ e.iconRight ? (s(), w(p, {
146
+ key: 1,
147
+ icon: e.iconRight,
148
+ class: c(["shrink-0 opacity-70", a.size === "sm" ? "w-3.5 h-3.5" : "w-4 h-4"])
149
+ }, null, 8, ["icon", "class"])) : g("", !0)
150
+ ]),
151
+ _: 2
152
+ }, 1032, ["to", "aria-selected", "aria-disabled", "tabindex", "class", "onClick"]))), 128))
153
+ ], 2),
154
+ v(L, { name: "fade-x" }, {
155
+ default: k(() => [
156
+ R.value ? (s(), b("div", G, [
157
+ t[3] || (t[3] = l("div", { class: "w-8 h-full bg-gradient-to-l from-background to-transparent" }, null, -1)),
158
+ l("button", {
159
+ type: "button",
160
+ class: "pointer-events-auto absolute right-0 h-full px-1 flex items-center text-muted-foreground hover:text-foreground transition-colors",
161
+ "aria-label": "Scroll tabs right",
162
+ tabindex: "-1",
163
+ onClick: t[1] || (t[1] = (e) => z("right"))
164
+ }, [
165
+ v(p, {
166
+ icon: "lucide:chevron-right",
167
+ class: "w-4 h-4"
168
+ })
169
+ ])
170
+ ])) : g("", !0)
171
+ ]),
172
+ _: 1
173
+ })
174
+ ], 2));
175
+ }
176
+ });
177
+ export {
178
+ Q as default
179
+ };
@@ -0,0 +1,5 @@
1
+ import o from "./NavbarTabs.vue.js";
2
+ /* empty css */
3
+ export {
4
+ o as default
5
+ };
@@ -1,3 +1,6 @@
1
1
  export { default as Navbar } from './Navbar.vue';
2
2
  export { default as NavbarItem } from './NavbarItem.vue';
3
3
  export { default as NavbarGroup } from './NavbarGroup.vue';
4
+ export { default as NavbarTabs } from './NavbarTabs.vue';
5
+ export type { NavbarTabsVariant, NavbarTabsSize } from './NavbarTabs.vue';
6
+ export type { NavbarTabItem } from '../../types/navbar.type';
@@ -0,0 +1,48 @@
1
+ import { SidebarMenuItemSchema } from './SidebarMenu/types';
2
+ export interface CommandPaletteItem {
3
+ id: string;
4
+ label: string;
5
+ labelI18n?: string;
6
+ description?: string;
7
+ descriptionI18n?: string;
8
+ icon?: string;
9
+ group?: string;
10
+ to?: string;
11
+ href?: string;
12
+ action?: () => void;
13
+ keywords?: string[];
14
+ disabled?: boolean;
15
+ }
16
+ export interface CommandPaletteGroup {
17
+ key: string;
18
+ label: string;
19
+ items: CommandPaletteItem[];
20
+ }
21
+ interface Props {
22
+ /** Items directly supplied to the palette (static list or pre-mapped) */
23
+ items?: CommandPaletteItem[];
24
+ /**
25
+ * Raw SidebarMenuItemSchema tree — the palette auto-flattens and groups these.
26
+ * Supports top-level links, nested children, and grouped items.
27
+ */
28
+ menuItems?: SidebarMenuItemSchema[];
29
+ /** Keyboard shortcut that opens the palette (default: Meta+K / Ctrl+K) */
30
+ shortcutKey?: string;
31
+ /** Placeholder text for the search input */
32
+ placeholder?: string;
33
+ /** I18n translation key for placeholder */
34
+ placeholderI18n?: string;
35
+ /** Maximum number of results shown per group */
36
+ maxResultsPerGroup?: number;
37
+ /** Whether the palette is enabled at all — when false, nothing mounts or listens */
38
+ enabled?: boolean;
39
+ }
40
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
41
+ placeholder: string;
42
+ items: CommandPaletteItem[];
43
+ enabled: boolean;
44
+ menuItems: SidebarMenuItemSchema[];
45
+ shortcutKey: string;
46
+ maxResultsPerGroup: number;
47
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
48
+ export default _default;
@@ -14,23 +14,23 @@ export interface NumberInputProps {
14
14
  rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
15
15
  }
16
16
  declare const _default: import('vue').DefineComponent<NumberInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
17
- "update:modelValue": (value: number) => any;
18
- change: (value: number) => any;
19
17
  blur: (event: FocusEvent) => any;
18
+ change: (value: number) => any;
20
19
  focus: (event: FocusEvent) => any;
20
+ "update:modelValue": (value: number) => any;
21
21
  }, string, import('vue').PublicProps, Readonly<NumberInputProps> & Readonly<{
22
- "onUpdate:modelValue"?: (value: number) => any;
23
- onChange?: (value: number) => any;
24
22
  onBlur?: (event: FocusEvent) => any;
23
+ onChange?: (value: number) => any;
25
24
  onFocus?: (event: FocusEvent) => any;
25
+ "onUpdate:modelValue"?: (value: number) => any;
26
26
  }>, {
27
- disabled: boolean;
27
+ readonly: boolean;
28
28
  mode: "solid" | "outline" | "ghost";
29
- size: "xs" | "sm" | "md" | "lg" | "xl";
30
29
  variant: "split" | "stacked";
31
- modelValue: number;
30
+ size: "xs" | "sm" | "md" | "lg" | "xl";
32
31
  rounded: "none" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
33
- readonly: boolean;
32
+ disabled: boolean;
33
+ modelValue: number;
34
34
  step: number;
35
35
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
36
36
  inputRef: HTMLInputElement;
@@ -11,23 +11,23 @@ interface Props {
11
11
  size?: 'sm' | 'md' | 'lg';
12
12
  }
13
13
  declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
14
- "update:modelValue": (value: string) => any;
15
14
  change: (value: string) => any;
15
+ "update:modelValue": (value: string) => any;
16
16
  complete: (value: string) => any;
17
17
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
18
- "onUpdate:modelValue"?: (value: string) => any;
19
18
  onChange?: (value: string) => any;
19
+ "onUpdate:modelValue"?: (value: string) => any;
20
20
  onComplete?: (value: string) => any;
21
21
  }>, {
22
- disabled: boolean;
23
22
  length: number;
24
- type: "text" | "number";
23
+ variant: "solid" | "outline" | "ghost";
25
24
  size: "sm" | "md" | "lg";
25
+ type: "text" | "number";
26
+ error: boolean;
27
+ disabled: boolean;
26
28
  placeholder: string;
27
- variant: "solid" | "outline" | "ghost";
28
- attached: boolean;
29
29
  modelValue: string;
30
- error: boolean;
31
30
  autofocus: boolean;
31
+ attached: boolean;
32
32
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
33
33
  export default _default;
@@ -11,12 +11,12 @@ declare const _default: import('vue').DefineComponent<PaginationProps, {}, {}, {
11
11
  "onChange:itemsPerPage"?: (value: number) => any;
12
12
  }>, {
13
13
  disabled: boolean;
14
+ itemsPerPage: number;
14
15
  currentPage: number;
15
16
  totalItems: number;
16
17
  showEdges: boolean;
17
18
  showPageInfo: boolean;
18
19
  showItemsPerPage: boolean;
19
- itemsPerPage: number;
20
20
  itemsPerPageOptions: number[];
21
21
  navType: "text" | "icon";
22
22
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -0,0 +1,36 @@
1
+ import { PermissionGroup, PermissionToggleMode, PermissionMatrixSize } from './types';
2
+ export interface PermissionEditorProps {
3
+ /** Permission groups with nested permissions */
4
+ groups: PermissionGroup[];
5
+ /** v-model: array of selected permission keys */
6
+ modelValue: string[];
7
+ /** Toggle display mode (default: 'checkbox') */
8
+ toggleMode?: PermissionToggleMode;
9
+ /** Show search input (default: true) */
10
+ searchable?: boolean;
11
+ /** Allow collapsing groups (default: true) */
12
+ collapsible?: boolean;
13
+ /** Read-only mode (default: false) */
14
+ readonly?: boolean;
15
+ /** Size variant (default: 'md') */
16
+ size?: PermissionMatrixSize;
17
+ /** Extra CSS classes */
18
+ class?: string;
19
+ /** Group keys to show expanded by default. Others will start collapsed.
20
+ * If not provided or empty, all groups start expanded. */
21
+ defaultExpanded?: string[];
22
+ }
23
+ declare const _default: import('vue').DefineComponent<PermissionEditorProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
24
+ "update:modelValue": (value: string[]) => any;
25
+ }, string, import('vue').PublicProps, Readonly<PermissionEditorProps> & Readonly<{
26
+ "onUpdate:modelValue"?: (value: string[]) => any;
27
+ }>, {
28
+ readonly: boolean;
29
+ size: PermissionMatrixSize;
30
+ class: string;
31
+ searchable: boolean;
32
+ defaultExpanded: string[];
33
+ toggleMode: PermissionToggleMode;
34
+ collapsible: boolean;
35
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
36
+ export default _default;