@viglet/viglet-design-system 2026.3.2 → 2026.3.4

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 (184) hide show
  1. package/README.md +334 -8
  2. package/dist/assets.cjs +1 -0
  3. package/dist/assets.es.js +2 -0
  4. package/dist/badge-locale-BxI9TwkE.js +579 -0
  5. package/dist/badge-locale-sIsBdP_e.cjs +7 -0
  6. package/dist/bento/bento-actions-menu.d.ts +42 -0
  7. package/dist/bento/bento-actions-menu.d.ts.map +1 -0
  8. package/dist/bento/bento-back-to-top.d.ts +11 -0
  9. package/dist/bento/bento-back-to-top.d.ts.map +1 -0
  10. package/dist/bento/bento-command-palette.d.ts +28 -0
  11. package/dist/bento/bento-command-palette.d.ts.map +1 -0
  12. package/dist/bento/bento-count-tile.d.ts +18 -0
  13. package/dist/bento/bento-count-tile.d.ts.map +1 -0
  14. package/dist/bento/bento-empty-state.d.ts +35 -0
  15. package/dist/bento/bento-empty-state.d.ts.map +1 -0
  16. package/dist/bento/bento-entity-shell.d.ts +123 -0
  17. package/dist/bento/bento-entity-shell.d.ts.map +1 -0
  18. package/dist/bento/bento-entity-tile.d.ts +40 -0
  19. package/dist/bento/bento-entity-tile.d.ts.map +1 -0
  20. package/dist/bento/bento-form-hero.d.ts +91 -0
  21. package/dist/bento/bento-form-hero.d.ts.map +1 -0
  22. package/dist/bento/bento-form-section.d.ts +31 -0
  23. package/dist/bento/bento-form-section.d.ts.map +1 -0
  24. package/dist/bento/bento-hero-icon-picker.d.ts +35 -0
  25. package/dist/bento/bento-hero-icon-picker.d.ts.map +1 -0
  26. package/dist/bento/bento-hero.d.ts +62 -0
  27. package/dist/bento/bento-hero.d.ts.map +1 -0
  28. package/dist/bento/bento-inline-edit.d.ts +52 -0
  29. package/dist/bento/bento-inline-edit.d.ts.map +1 -0
  30. package/dist/bento/bento-layout.d.ts +52 -0
  31. package/dist/bento/bento-layout.d.ts.map +1 -0
  32. package/dist/bento/bento-list-page.d.ts +124 -0
  33. package/dist/bento/bento-list-page.d.ts.map +1 -0
  34. package/dist/bento/bento-nav-rail.d.ts +32 -0
  35. package/dist/bento/bento-nav-rail.d.ts.map +1 -0
  36. package/dist/bento/bento-nav.d.ts +69 -0
  37. package/dist/bento/bento-nav.d.ts.map +1 -0
  38. package/dist/bento/bento-save-bar.d.ts +36 -0
  39. package/dist/bento/bento-save-bar.d.ts.map +1 -0
  40. package/dist/bento/bento-scroll-fade.d.ts +20 -0
  41. package/dist/bento/bento-scroll-fade.d.ts.map +1 -0
  42. package/dist/bento/bento-scroll-save-bar.d.ts +22 -0
  43. package/dist/bento/bento-scroll-save-bar.d.ts.map +1 -0
  44. package/dist/bento/bento-section-chrome.d.ts +60 -0
  45. package/dist/bento/bento-section-chrome.d.ts.map +1 -0
  46. package/dist/bento/bento-section.d.ts +27 -0
  47. package/dist/bento/bento-section.d.ts.map +1 -0
  48. package/dist/bento/bento-shortcuts-dialog.d.ts +15 -0
  49. package/dist/bento/bento-shortcuts-dialog.d.ts.map +1 -0
  50. package/dist/bento/bento-status-marker.d.ts +26 -0
  51. package/dist/bento/bento-status-marker.d.ts.map +1 -0
  52. package/dist/bento/bento-tile.d.ts +42 -0
  53. package/dist/bento/bento-tile.d.ts.map +1 -0
  54. package/dist/bento/bento-tones.d.ts +33 -0
  55. package/dist/bento/bento-tones.d.ts.map +1 -0
  56. package/dist/bento/bento-user-menu.d.ts +31 -0
  57. package/dist/bento/bento-user-menu.d.ts.map +1 -0
  58. package/dist/bento/index.d.ts +59 -0
  59. package/dist/bento/index.d.ts.map +1 -0
  60. package/dist/bento.cjs +1 -0
  61. package/dist/bento.css +442 -0
  62. package/dist/bento.es.js +1502 -0
  63. package/dist/breadcrumb.context-CGqjI0-U.js +914 -0
  64. package/dist/breadcrumb.context-DYeZEC65.cjs +1 -0
  65. package/dist/components/app-switcher.d.ts +2 -0
  66. package/dist/components/app-switcher.d.ts.map +1 -1
  67. package/dist/components/badge-locale.d.ts.map +1 -1
  68. package/dist/components/error-boundary.d.ts.map +1 -1
  69. package/dist/components/language-select.d.ts.map +1 -1
  70. package/dist/components/router/blank-slate.d.ts +10 -0
  71. package/dist/components/router/blank-slate.d.ts.map +1 -1
  72. package/dist/components/router/grid.list.d.ts +13 -0
  73. package/dist/components/router/grid.list.d.ts.map +1 -1
  74. package/dist/components/router/internal.sidebar.d.ts +39 -3
  75. package/dist/components/router/internal.sidebar.d.ts.map +1 -1
  76. package/dist/components/router/loading-provider.d.ts +6 -1
  77. package/dist/components/router/loading-provider.d.ts.map +1 -1
  78. package/dist/components/router/nav-main.d.ts +10 -0
  79. package/dist/components/router/nav-main.d.ts.map +1 -1
  80. package/dist/components/router/nav-user.d.ts +13 -0
  81. package/dist/components/router/nav-user.d.ts.map +1 -1
  82. package/dist/components/router/page-content.d.ts +10 -0
  83. package/dist/components/router/page-content.d.ts.map +1 -1
  84. package/dist/components/router/page-header.d.ts +13 -0
  85. package/dist/components/router/page-header.d.ts.map +1 -1
  86. package/dist/components/router/page.d.ts +13 -0
  87. package/dist/components/router/page.d.ts.map +1 -1
  88. package/dist/components/router/sticky.page.header.d.ts +14 -0
  89. package/dist/components/router/sticky.page.header.d.ts.map +1 -1
  90. package/dist/components/router/sub.page.d.ts +31 -11
  91. package/dist/components/router/sub.page.d.ts.map +1 -1
  92. package/dist/components/router/sub.page.header.d.ts +13 -0
  93. package/dist/components/router/sub.page.header.d.ts.map +1 -1
  94. package/dist/components/startup-first/startup-first.d.ts.map +1 -1
  95. package/dist/components/theme-provider.d.ts +37 -2
  96. package/dist/components/theme-provider.d.ts.map +1 -1
  97. package/dist/components/ui/floating-formulas-bg.d.ts +8 -1
  98. package/dist/components/ui/floating-formulas-bg.d.ts.map +1 -1
  99. package/dist/components/ui/form.d.ts +2 -2
  100. package/dist/components/ui/form.d.ts.map +1 -1
  101. package/dist/components/ui/gradient-button.d.ts.map +1 -1
  102. package/dist/components/ui/gradient-switch.d.ts.map +1 -1
  103. package/dist/components/ui/icon-picker-dialog.d.ts +35 -0
  104. package/dist/components/ui/icon-picker-dialog.d.ts.map +1 -0
  105. package/dist/components/ui/index.d.ts +1 -0
  106. package/dist/components/ui/index.d.ts.map +1 -1
  107. package/dist/components/ui/section-card.d.ts +3 -3
  108. package/dist/components/ui/section-card.d.ts.map +1 -1
  109. package/dist/components/ui/sidebar.d.ts.map +1 -1
  110. package/dist/components/ui/slider.d.ts +1 -1
  111. package/dist/components/ui/slider.d.ts.map +1 -1
  112. package/dist/components/viglet-app-switcher.d.ts +3 -0
  113. package/dist/components/viglet-app-switcher.d.ts.map +1 -1
  114. package/dist/contexts/user.context.d.ts +24 -0
  115. package/dist/contexts/user.context.d.ts.map +1 -1
  116. package/dist/exports.json +404 -0
  117. package/dist/floating-formulas-bg.cjs +1 -0
  118. package/dist/floating-formulas-bg.css +21 -0
  119. package/dist/floating-formulas-bg.es.js +84 -56
  120. package/dist/fonts/inter-cyrillic-ext-wght-normal.woff2 +0 -0
  121. package/dist/fonts/inter-cyrillic-wght-normal.woff2 +0 -0
  122. package/dist/fonts/inter-greek-ext-wght-normal.woff2 +0 -0
  123. package/dist/fonts/inter-greek-wght-normal.woff2 +0 -0
  124. package/dist/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
  125. package/dist/fonts/inter-latin-wght-normal.woff2 +0 -0
  126. package/dist/fonts/inter-vietnamese-wght-normal.woff2 +0 -0
  127. package/dist/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.woff2 +0 -0
  128. package/dist/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2 +0 -0
  129. package/dist/fonts/plus-jakarta-sans-latin-wght-normal.woff2 +0 -0
  130. package/dist/fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2 +0 -0
  131. package/dist/fonts.css +126 -0
  132. package/dist/hooks/use-grid-adapter.d.ts.map +1 -1
  133. package/dist/hooks/use-mobile.d.ts +10 -0
  134. package/dist/hooks/use-mobile.d.ts.map +1 -1
  135. package/dist/hooks/use-sub-page-breadcrumb.d.ts.map +1 -1
  136. package/dist/i18n/index.d.ts +136 -0
  137. package/dist/i18n/index.d.ts.map +1 -1
  138. package/dist/i18n/locales/en/bento.json.d.ts +51 -0
  139. package/dist/i18n/locales/en/common.json.d.ts +7 -1
  140. package/dist/i18n/locales/en/forms.json.d.ts +15 -1
  141. package/dist/i18n/locales/en/nav.json.d.ts +3 -1
  142. package/dist/i18n/locales/pt/bento.json.d.ts +51 -0
  143. package/dist/i18n/locales/pt/common.json.d.ts +7 -1
  144. package/dist/i18n/locales/pt/forms.json.d.ts +15 -1
  145. package/dist/i18n/locales/pt/nav.json.d.ts +3 -1
  146. package/dist/i18n-DoNdMLEd.cjs +1 -0
  147. package/dist/{i18n-C94rDRaM.js → i18n-DuNITbWa.js} +155 -27
  148. package/dist/i18n.cjs +1 -0
  149. package/dist/i18n.es.js +2 -1
  150. package/dist/index.cjs +1 -0
  151. package/dist/index.d.ts +0 -1
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.es.js +493 -750
  154. package/dist/lib/axios.d.ts.map +1 -1
  155. package/dist/lib/export-xlsx.d.ts +7 -1
  156. package/dist/lib/export-xlsx.d.ts.map +1 -1
  157. package/dist/lib/react-markers.d.ts +17 -0
  158. package/dist/lib/react-markers.d.ts.map +1 -0
  159. package/dist/lib/utils.d.ts +22 -0
  160. package/dist/lib/utils.d.ts.map +1 -1
  161. package/dist/loading-provider-1mgM91iY.cjs +1 -0
  162. package/dist/loading-provider-CMnOuvdR.js +224 -0
  163. package/dist/preset.css +103 -3
  164. package/dist/products-DL_YYXkV.cjs +1 -0
  165. package/dist/products-Du9KB6Xl.js +9 -0
  166. package/dist/{rolldown-runtime-CMqjfN_6.cjs → rolldown-runtime-BocRIvOZ.cjs} +1 -1
  167. package/dist/router.cjs +1 -0
  168. package/dist/router.es.js +334 -504
  169. package/dist/user.context-kPAqKN4o.js +512 -0
  170. package/dist/user.context-r50nSWER.cjs +1 -0
  171. package/dist/viglet-design-system.css +1 -1
  172. package/dist/vite/boot-loader.d.ts +21 -7
  173. package/dist/vite/boot-loader.d.ts.map +1 -1
  174. package/dist/{vite.cjs.js → vite.cjs} +8 -8
  175. package/dist/vite.es.js +29 -16
  176. package/package.json +66 -22
  177. package/scripts/check-duplicates.mjs +198 -0
  178. package/dist/breadcrumb.context-C7VCfh49.js +0 -1501
  179. package/dist/breadcrumb.context-Td6Tjc_z.cjs +0 -7
  180. package/dist/floating-formulas-bg.cjs.js +0 -1
  181. package/dist/i18n-DN_2YzjB.cjs +0 -1
  182. package/dist/i18n.cjs.js +0 -1
  183. package/dist/index.cjs.js +0 -1
  184. package/dist/router.cjs.js +0 -1
package/dist/router.es.js CHANGED
@@ -1,197 +1,28 @@
1
- import { $t as e, A as t, At as n, C as r, Dt as i, F as a, Ft as o, Gt as s, Ht as c, Jt as l, Kt as u, N as d, Nt as f, Ot as p, P as m, Pt as h, Q as g, Qt as _, T as v, Tt as y, V as b, Wt as x, X as S, Z as ee, Zt as C, _ as w, an as te, at as ne, b as re, ct as T, d as ie, et as ae, f as oe, ft as E, g as D, ht as se, i as ce, kt as O, l as le, lt as ue, m as k, mt as A, n as de, ot as fe, pt as pe, qt as me, st as j, u as he, ut as M, v as ge, w as N, wt as P, x as F, yt as _e } from "./breadcrumb.context-C7VCfh49.js";
1
+ "use client";
2
+ import { E as e, _ as t, f as n, g as r, h as i, l as a, m as o, u as s, x as c } from "./badge-locale-BxI9TwkE.js";
3
+ import { $ as l, A as u, D as d, H as f, K as p, M as m, Q as h, S as g, U as _, W as v, Z as y, _ as b, b as x, c as S, ct as C, d as w, dt as T, ft as E, h as D, ht as O, i as ee, j as k, l as te, lt as ne, m as A, mt as re, n as ie, ot as ae, p as j, pt as M, ut as oe, v as N, x as P } from "./breadcrumb.context-CGqjI0-U.js";
4
+ import { i as F, n as se, r as ce, t as le } from "./loading-provider-CMnOuvdR.js";
2
5
  import I, { useState as L } from "react";
3
6
  import { Fragment as R, jsx as z, jsxs as B } from "react/jsx-runtime";
4
- import { IconAlertTriangle as ve, IconAlertTriangleFilled as ye, IconChevronLeft as be, IconChevronRight as xe, IconDotsVertical as V, IconDownload as Se, IconLogout as Ce, IconPlus as H, IconSearch as U, IconTrash as W, IconUserCircle as we } from "@tabler/icons-react";
5
- import { useTranslation as G } from "react-i18next";
6
- import { NavLink as K, Outlet as q, useLocation as J, useNavigate as Y } from "react-router-dom";
7
- import { getCoreRowModel as Te, getFilteredRowModel as Ee, getPaginationRowModel as De, getSortedRowModel as Oe, useReactTable as ke } from "@tanstack/react-table";
8
- import { Icon as Ae } from "@iconify/react";
9
- //#region src/components/router/gradient-button-link.tsx
10
- function X({ className: e, variant: t, size: n, to: r, onClick: i, children: a }) {
11
- return /* @__PURE__ */ z(K, {
12
- to: r,
13
- "data-slot": "gradient-button",
14
- className: te(ue({
15
- variant: t,
16
- size: n,
17
- className: e
18
- })),
19
- onClick: (e) => {
20
- let t = typeof r == "string" ? r : r.pathname;
21
- t && globalThis.location.pathname === t && globalThis.location.reload(), i && i(e);
22
- },
23
- children: a
24
- });
7
+ import { IconChevronLeft as ue, IconChevronRight as de, IconDotsVertical as V, IconDownload as fe, IconLogout as pe, IconPlus as H, IconSearch as U, IconUserCircle as me } from "@tabler/icons-react";
8
+ import { useTranslation as W } from "react-i18next";
9
+ import { Icon as he } from "@iconify/react";
10
+ import { NavLink as G, Outlet as K, useLocation as q, useNavigate as J } from "react-router-dom";
11
+ import { columnFilteringFeature as ge, createCoreRowModel as _e, createFilteredRowModel as ve, createPaginatedRowModel as ye, createSortedRowModel as be, globalFilteringFeature as xe, rowPaginationFeature as Se, rowSortingFeature as Ce, useTable as we } from "@tanstack/react-table";
12
+ //#region src/lib/react-markers.ts
13
+ function Y(e) {
14
+ return typeof e.type == "string" ? void 0 : e.type.displayName;
25
15
  }
26
16
  //#endregion
27
- //#region src/components/router/blank-slate.tsx
28
- var Z = ({ icon: e, title: t, description: n, urlNew: r, buttonText: i }) => /* @__PURE__ */ z("div", {
29
- className: "flex items-center justify-center px-6 py-16",
30
- children: /* @__PURE__ */ z("div", {
31
- className: "relative w-full max-w-md overflow-hidden rounded-2xl border border-border/50 bg-card/80 backdrop-blur-sm shadow-xl",
32
- children: /* @__PURE__ */ B("div", {
33
- className: "relative flex flex-col items-center text-center px-8 py-12 space-y-6",
34
- children: [
35
- /* @__PURE__ */ B("div", {
36
- className: "relative",
37
- children: [/* @__PURE__ */ z("div", { className: "absolute inset-0 rounded-2xl bg-gradient-to-br from-blue-500/20 to-indigo-500/20 blur-xl animate-pulse" }), /* @__PURE__ */ z("div", {
38
- className: "relative inline-flex h-16 w-16 items-center justify-center rounded-2xl bg-gradient-to-br from-blue-600 to-indigo-600 shadow-lg shadow-blue-500/25 ring-4 ring-blue-500/10",
39
- children: /* @__PURE__ */ z(e, {
40
- className: "text-white",
41
- size: 30
42
- })
43
- })]
44
- }),
45
- /* @__PURE__ */ B("div", {
46
- className: "space-y-2",
47
- children: [/* @__PURE__ */ z("h2", {
48
- className: "text-xl font-semibold tracking-tight",
49
- children: t
50
- }), /* @__PURE__ */ z("p", {
51
- className: "text-sm text-muted-foreground leading-relaxed max-w-xs mx-auto",
52
- children: n
53
- })]
54
- }),
55
- r && /* @__PURE__ */ z(X, {
56
- size: "lg",
57
- to: r,
58
- children: i
59
- })
60
- ]
61
- })
62
- })
63
- }), Q = ({ feature: e, name: t, onDelete: r, open: a, setOpen: o, trigger: s, blockedBy: c, title: l, description: u, confirmLabel: d }) => {
64
- let m = c && c.length > 0, g = Y(), { t: _ } = G(), [v, b] = L(""), x = v === t;
65
- function S(e) {
66
- o(e), e || b("");
67
- }
68
- return /* @__PURE__ */ B(y, {
69
- open: a,
70
- onOpenChange: S,
71
- children: [s !== null && /* @__PURE__ */ z(h, {
72
- asChild: !0,
73
- children: s ?? /* @__PURE__ */ z(T, {
74
- variant: "ghost",
75
- size: "icon-sm",
76
- children: /* @__PURE__ */ z(W, { className: "size-5!" })
77
- })
78
- }), /* @__PURE__ */ z(i, {
79
- className: "sm:max-w-md",
80
- children: m ? /* @__PURE__ */ B(R, { children: [
81
- /* @__PURE__ */ B(n, { children: [
82
- /* @__PURE__ */ z("div", {
83
- className: "mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-amber-500/10 ring-1 ring-amber-500/20 mb-2",
84
- children: /* @__PURE__ */ z(ve, { className: "size-6 text-amber-500" })
85
- }),
86
- /* @__PURE__ */ z(f, {
87
- className: "text-center",
88
- children: _("dialog.cannotDelete", { feature: e })
89
- }),
90
- /* @__PURE__ */ z(p, {
91
- className: "text-center",
92
- children: _("dialog.inUse", { name: t })
93
- })
94
- ] }),
95
- /* @__PURE__ */ B("div", {
96
- className: "space-y-3",
97
- children: [
98
- /* @__PURE__ */ z("p", {
99
- className: "text-sm text-muted-foreground",
100
- children: _("dialog.dependingSites", { feature: e })
101
- }),
102
- /* @__PURE__ */ z("div", {
103
- className: "flex flex-wrap gap-2",
104
- children: c.map((e) => {
105
- let t = e.language ? le(e.language) : void 0;
106
- return /* @__PURE__ */ z(he, {
107
- text: e.name,
108
- href: e.href,
109
- onClick: (e) => {
110
- o(!1), e && g(e);
111
- },
112
- prefix: t ? /* @__PURE__ */ z("img", {
113
- src: `https://flagcdn.com/w40/${t}.png`,
114
- alt: e.language,
115
- className: "w-4 h-3 object-cover rounded-sm"
116
- }) : void 0
117
- }, e.id);
118
- })
119
- }),
120
- /* @__PURE__ */ z("p", {
121
- className: "text-xs text-muted-foreground",
122
- children: _("dialog.removeDependencies", { feature: e })
123
- })
124
- ]
125
- }),
126
- /* @__PURE__ */ z(O, { children: /* @__PURE__ */ z(T, {
127
- onClick: () => o(!1),
128
- variant: "outline",
129
- className: "w-full",
130
- children: _("dialog.understood")
131
- }) })
132
- ] }) : /* @__PURE__ */ B(R, { children: [
133
- /* @__PURE__ */ B(n, { children: [
134
- /* @__PURE__ */ z("div", {
135
- className: "mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-red-500/10 ring-1 ring-red-500/20 mb-2",
136
- children: /* @__PURE__ */ z(W, { className: "size-6 text-red-500" })
137
- }),
138
- /* @__PURE__ */ z(f, {
139
- className: "text-center",
140
- children: l ?? _("dialog.deleteFeature", { feature: e })
141
- }),
142
- /* @__PURE__ */ z(p, {
143
- className: "text-center",
144
- children: u ?? _("dialog.permanentDelete", { name: t })
145
- })
146
- ] }),
147
- /* @__PURE__ */ B("div", {
148
- className: "space-y-2",
149
- children: [/* @__PURE__ */ B("label", {
150
- className: "text-sm text-muted-foreground",
151
- children: [
152
- _("dialog.typeToConfirm"),
153
- " ",
154
- /* @__PURE__ */ z("span", {
155
- className: "font-mono font-semibold text-foreground bg-muted px-1.5 py-0.5 rounded",
156
- children: t
157
- }),
158
- " ",
159
- _("dialog.toConfirm")
160
- ]
161
- }), /* @__PURE__ */ z(j, {
162
- value: v,
163
- onChange: (e) => b(e.target.value),
164
- placeholder: t,
165
- className: "font-mono text-sm",
166
- autoFocus: !0
167
- })]
168
- }),
169
- /* @__PURE__ */ B(O, {
170
- className: "flex-col gap-2 sm:flex-col",
171
- children: [/* @__PURE__ */ B(T, {
172
- onClick: r,
173
- variant: "destructive",
174
- disabled: !x,
175
- className: "w-full",
176
- children: [/* @__PURE__ */ z(W, { className: "size-4" }), d ?? _("dialog.deleteFeature", { feature: e })]
177
- }), /* @__PURE__ */ z(T, {
178
- onClick: () => S(!1),
179
- variant: "ghost",
180
- className: "w-full",
181
- children: _("common.cancel")
182
- })]
183
- })
184
- ] })
185
- })]
186
- });
187
- }, je = () => null;
188
- je.displayName = "GridListNewButton";
189
- var Me = () => null;
190
- Me.displayName = "GridListAction";
191
- var Ne = () => null;
192
- Ne.displayName = "GridListItemAction";
193
- var Pe = [
194
- "from-blue-500 to-indigo-500",
17
+ //#region src/components/router/grid.list.tsx
18
+ var X = () => null;
19
+ X.displayName = "GridListNewButton";
20
+ var Z = () => null;
21
+ Z.displayName = "GridListAction";
22
+ var Te = () => null;
23
+ Te.displayName = "GridListItemAction";
24
+ var Ee = [
25
+ "vg-accent-solid",
195
26
  "from-emerald-500 to-teal-500",
196
27
  "from-violet-500 to-purple-500",
197
28
  "from-amber-500 to-orange-500",
@@ -200,15 +31,24 @@ var Pe = [
200
31
  "from-fuchsia-500 to-pink-500",
201
32
  "from-lime-500 to-emerald-500"
202
33
  ];
203
- function Fe(e) {
34
+ function De(e) {
204
35
  let t = 0;
205
36
  for (let n = 0; n < e.length; n++) t = (e.codePointAt(n) ?? 0) + ((t << 5) - t);
206
- return Pe[Math.abs(t) % Pe.length];
37
+ return Ee[Math.abs(t) % Ee.length];
207
38
  }
208
- function Ie(e) {
39
+ function Oe(e) {
209
40
  return e.split(/[\s\-_]+/).filter(Boolean).slice(0, 2).map((e) => e[0].toUpperCase()).join("");
210
41
  }
211
- var Le = [
42
+ var ke = {
43
+ columnFilteringFeature: ge,
44
+ globalFilteringFeature: xe,
45
+ rowPaginationFeature: Se,
46
+ rowSortingFeature: Ce,
47
+ coreRowModel: _e(),
48
+ filteredRowModel: ve(),
49
+ paginatedRowModel: ye(),
50
+ sortedRowModel: be()
51
+ }, Ae = [
212
52
  {
213
53
  accessorKey: "name",
214
54
  header: "Name"
@@ -221,16 +61,16 @@ var Le = [
221
61
  accessorKey: "url",
222
62
  header: "URL"
223
63
  }
224
- ], Re = Object.assign(({ gridItemList: e, children: t }) => {
225
- let { t: n } = G(), r = Y(), i = [], a = [];
226
- I.Children.forEach(t, (e) => {
64
+ ], je = Object.assign(({ gridItemList: t, children: i }) => {
65
+ let { t: c } = W(), u = J(), d = [], f = [];
66
+ I.Children.forEach(i, (e) => {
227
67
  if (I.isValidElement(e)) {
228
- if (e.type?.displayName === "GridListNewButton") {
68
+ if (Y(e) === "GridListNewButton") {
229
69
  let { to: t, label: n } = e.props;
230
- i.push({
70
+ d.push({
231
71
  key: `new-${n}`,
232
- render: () => /* @__PURE__ */ B(A, {
233
- onClick: () => r(t),
72
+ render: () => /* @__PURE__ */ B(r, {
73
+ onClick: () => u(t),
234
74
  children: [
235
75
  /* @__PURE__ */ z(H, { className: "size-4 mr-2" }),
236
76
  "New ",
@@ -238,16 +78,16 @@ var Le = [
238
78
  ]
239
79
  })
240
80
  });
241
- } else if (e.type?.displayName === "GridListAction") {
81
+ } else if (Y(e) === "GridListAction") {
242
82
  let { children: t } = e.props;
243
- i.push({
244
- key: `action-${i.length}`,
83
+ d.push({
84
+ key: `action-${d.length}`,
245
85
  render: () => /* @__PURE__ */ z(R, { children: t })
246
86
  });
247
- } else if (e.type?.displayName === "GridListItemAction") {
87
+ } else if (Y(e) === "GridListItemAction") {
248
88
  let t = e.props;
249
- a.push({
250
- key: `item-action-${a.length}`,
89
+ f.push({
90
+ key: `item-action-${f.length}`,
251
91
  icon: t.icon,
252
92
  label: t.label,
253
93
  onClick: t.onClick,
@@ -256,26 +96,23 @@ var Le = [
256
96
  }
257
97
  }
258
98
  });
259
- let s = a.length > 0, c = a.filter((e) => e.position === "left"), l = a.filter((e) => e.position === "right"), [u, d] = L({
99
+ let m = f.length > 0, g = f.filter((e) => e.position === "left"), b = f.filter((e) => e.position === "right"), [x, S] = L({
260
100
  pageIndex: 0,
261
101
  pageSize: 12
262
- }), [f, p] = I.useState([]), [m, h] = L(""), _ = ke({
263
- data: e,
264
- columns: Le,
265
- onSortingChange: p,
266
- getCoreRowModel: Te(),
267
- getPaginationRowModel: De(),
268
- getSortedRowModel: Oe(),
269
- getFilteredRowModel: Ee(),
102
+ }), [C, w] = I.useState([]), [T, E] = L(""), D = we({
103
+ features: ke,
104
+ data: t,
105
+ columns: Ae,
106
+ onSortingChange: w,
270
107
  state: {
271
- globalFilter: m,
272
- pagination: u,
273
- sorting: f
108
+ globalFilter: T,
109
+ pagination: x,
110
+ sorting: C
274
111
  },
275
- onGlobalFilterChange: h,
112
+ onGlobalFilterChange: E,
276
113
  getColumnCanGlobalFilter: (e) => e.id === "name" || e.id === "description",
277
- onPaginationChange: d
278
- }), v = _.getRowModel().rows;
114
+ onPaginationChange: S
115
+ }), O = D.getRowModel().rows;
279
116
  return /* @__PURE__ */ B("div", {
280
117
  className: "px-6",
281
118
  children: [
@@ -284,133 +121,133 @@ var Le = [
284
121
  children: [
285
122
  /* @__PURE__ */ B("div", {
286
123
  className: "relative flex-1 max-w-sm",
287
- children: [/* @__PURE__ */ z(U, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ z(j, {
288
- placeholder: n("forms.common.search"),
289
- value: m ?? "",
290
- onChange: (e) => h(e.target.value),
124
+ children: [/* @__PURE__ */ z(U, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ z(a, {
125
+ placeholder: c("forms.common.search"),
126
+ value: T ?? "",
127
+ onChange: (e) => E(e.target.value),
291
128
  className: "pl-9"
292
129
  })]
293
130
  }),
294
131
  /* @__PURE__ */ B("span", {
295
132
  className: "text-sm text-muted-foreground whitespace-nowrap",
296
133
  children: [
297
- _.getFilteredRowModel().rows.length,
134
+ D.getFilteredRowModel().rows.length,
298
135
  " ",
299
- _.getFilteredRowModel().rows.length === 1 ? n("forms.common.item") : n("forms.common.items")
136
+ D.getFilteredRowModel().rows.length === 1 ? c("forms.common.item") : c("forms.common.items")
300
137
  ]
301
138
  }),
302
- i.length > 0 && /* @__PURE__ */ z("div", {
139
+ d.length > 0 && /* @__PURE__ */ z("div", {
303
140
  className: "ml-auto",
304
- children: /* @__PURE__ */ B(M, { children: [/* @__PURE__ */ z(P, {
141
+ children: /* @__PURE__ */ B(n, { children: [/* @__PURE__ */ z(e, {
305
142
  asChild: !0,
306
- children: /* @__PURE__ */ B(T, {
143
+ children: /* @__PURE__ */ B(s, {
307
144
  variant: "outline",
308
145
  size: "sm",
309
146
  className: "gap-1.5",
310
147
  children: [/* @__PURE__ */ z(V, { className: "size-4" }), /* @__PURE__ */ z("span", {
311
148
  className: "hidden sm:inline",
312
- children: n("forms.common.actions")
149
+ children: c("forms.common.actions")
313
150
  })]
314
151
  })
315
- }), /* @__PURE__ */ z(E, {
152
+ }), /* @__PURE__ */ z(o, {
316
153
  align: "end",
317
- children: i.map((e) => /* @__PURE__ */ z(I.Fragment, { children: e.render() }, e.key))
154
+ children: d.map((e) => /* @__PURE__ */ z(I.Fragment, { children: e.render() }, e.key))
318
155
  })] })
319
156
  })
320
157
  ]
321
158
  }),
322
- v.length > 0 ? /* @__PURE__ */ z("div", {
159
+ O.length > 0 ? /* @__PURE__ */ z("div", {
323
160
  className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",
324
- children: v.map((e) => {
325
- let t = e.getValue("name"), r = e.getValue("description"), i = e.getValue("url"), a = e.original.icon ?? void 0, u = Fe(t), d = Ie(t), f = /* @__PURE__ */ B(o, {
326
- className: "relative overflow-hidden p-0 h-full transition-all duration-200 hover:shadow-lg hover:shadow-blue-500/10 hover:-translate-y-0.5 border-border/60 hover:border-blue-500/30 dark:hover:border-blue-400/30",
327
- children: [/* @__PURE__ */ z("div", { className: `h-1.5 bg-linear-to-r ${u} opacity-70 group-hover:opacity-100 transition-opacity` }), /* @__PURE__ */ B("div", {
161
+ children: O.map((e) => {
162
+ let t = e.getValue("name"), n = e.getValue("description"), r = e.getValue("url"), i = e.original.icon ?? void 0, a = De(t), o = Oe(t), s = /* @__PURE__ */ B(l, {
163
+ className: "relative overflow-hidden p-0 h-full transition-all duration-200 hover:shadow-lg hover:shadow-[var(--vg-accent-surface)] hover:-translate-y-0.5 border-border/60 hover:border-[var(--vg-accent-line)]",
164
+ children: [/* @__PURE__ */ z("div", { className: `h-1.5 bg-linear-to-r ${a} opacity-70 group-hover:opacity-100 transition-opacity` }), /* @__PURE__ */ B("div", {
328
165
  className: "p-4 flex items-start gap-3",
329
166
  children: [
330
- s && c.length > 0 && /* @__PURE__ */ z("div", {
167
+ m && g.length > 0 && /* @__PURE__ */ z("div", {
331
168
  className: "flex items-center gap-1 shrink-0 mt-0.5",
332
- children: c.map((t) => /* @__PURE__ */ z("button", {
169
+ children: g.map((t) => /* @__PURE__ */ z("button", {
333
170
  type: "button",
334
171
  title: t.label,
335
172
  onClick: () => t.onClick(e.original),
336
- className: "inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-blue-600 hover:bg-blue-500/10 dark:hover:text-blue-400 dark:hover:bg-blue-400/10 transition-colors cursor-pointer",
173
+ className: "inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-[var(--vg-accent-fg)] hover:bg-[var(--vg-accent-surface)] transition-colors cursor-pointer",
337
174
  children: t.icon
338
175
  }, t.key))
339
176
  }),
340
177
  /* @__PURE__ */ z("div", {
341
- className: `shrink-0 w-10 h-10 rounded-lg bg-linear-to-br ${u} flex items-center justify-center text-white text-sm font-semibold shadow-sm`,
342
- children: a ? /* @__PURE__ */ z(Ae, {
343
- icon: a,
178
+ className: `shrink-0 w-10 h-10 rounded-lg bg-linear-to-br ${a} flex items-center justify-center text-white text-sm font-semibold shadow-sm`,
179
+ children: i ? /* @__PURE__ */ z(he, {
180
+ icon: i,
344
181
  className: "size-5"
345
- }) : d
182
+ }) : o
346
183
  }),
347
184
  /* @__PURE__ */ B("div", {
348
185
  className: "flex-1 min-w-0",
349
186
  children: [/* @__PURE__ */ z("h3", {
350
- className: "font-medium text-sm truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors",
187
+ className: "font-medium text-sm truncate group-hover:text-[var(--vg-accent-fg)] transition-colors",
351
188
  children: t
352
- }), r ? /* @__PURE__ */ z("p", {
189
+ }), n ? /* @__PURE__ */ z("p", {
353
190
  className: "text-xs text-muted-foreground mt-1 line-clamp-2 leading-relaxed",
354
- children: r
191
+ children: n
355
192
  }) : /* @__PURE__ */ z("p", {
356
193
  className: "text-xs text-muted-foreground/50 mt-1 italic",
357
- children: n("forms.common.noDescription")
194
+ children: c("forms.common.noDescription")
358
195
  })]
359
196
  }),
360
- s ? l.length > 0 && /* @__PURE__ */ z("div", {
197
+ m ? b.length > 0 && /* @__PURE__ */ z("div", {
361
198
  className: "flex items-center gap-1 shrink-0 mt-0.5",
362
- children: l.map((t) => /* @__PURE__ */ z("button", {
199
+ children: b.map((t) => /* @__PURE__ */ z("button", {
363
200
  type: "button",
364
201
  title: t.label,
365
202
  onClick: () => t.onClick(e.original),
366
- className: "inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-blue-600 hover:bg-blue-500/10 dark:hover:text-blue-400 dark:hover:bg-blue-400/10 transition-colors cursor-pointer",
203
+ className: "inline-flex items-center justify-center rounded-md p-1.5 text-muted-foreground hover:text-[var(--vg-accent-fg)] hover:bg-[var(--vg-accent-surface)] transition-colors cursor-pointer",
367
204
  children: t.icon
368
205
  }, t.key))
369
- }) : /* @__PURE__ */ z(xe, { className: "h-4 w-4 text-muted-foreground/40 group-hover:text-blue-500 transition-all group-hover:translate-x-0.5 mt-0.5 shrink-0" })
206
+ }) : /* @__PURE__ */ z(de, { className: "h-4 w-4 text-muted-foreground/40 group-hover:text-[var(--vg-accent-fg)] transition-all group-hover:translate-x-0.5 mt-0.5 shrink-0" })
370
207
  ]
371
208
  })]
372
209
  });
373
- return s ? /* @__PURE__ */ z("div", {
210
+ return m ? /* @__PURE__ */ z("div", {
374
211
  className: "group",
375
- children: f
376
- }, e.id) : /* @__PURE__ */ z(K, {
377
- to: i,
212
+ children: s
213
+ }, e.id) : /* @__PURE__ */ z(G, {
214
+ to: r,
378
215
  className: "group",
379
- children: f
216
+ children: s
380
217
  }, e.id);
381
218
  })
382
- }) : /* @__PURE__ */ z(o, {
219
+ }) : /* @__PURE__ */ z(l, {
383
220
  className: "p-8",
384
221
  children: /* @__PURE__ */ B("div", {
385
222
  className: "text-center text-muted-foreground",
386
223
  children: [/* @__PURE__ */ z(U, { className: "h-8 w-8 mx-auto mb-2 opacity-40" }), /* @__PURE__ */ z("p", {
387
224
  className: "text-sm",
388
- children: n("forms.common.noResults")
225
+ children: c("forms.common.noResults")
389
226
  })]
390
227
  })
391
228
  }),
392
- _.getPageCount() > 1 && /* @__PURE__ */ B("div", {
229
+ D.getPageCount() > 1 && /* @__PURE__ */ B("div", {
393
230
  className: "flex items-center justify-end space-x-2 mt-4",
394
231
  children: [
395
232
  /* @__PURE__ */ B("div", {
396
233
  className: "flex items-center space-x-2",
397
234
  children: [/* @__PURE__ */ z("p", {
398
235
  className: "text-sm text-muted-foreground",
399
- children: n("forms.common.perPage")
400
- }), /* @__PURE__ */ B(ee, {
401
- value: `${_.getState().pagination.pageSize}`,
402
- onValueChange: (e) => _.setPageSize(Number(e)),
403
- children: [/* @__PURE__ */ z(ne, {
236
+ children: c("forms.common.perPage")
237
+ }), /* @__PURE__ */ B(_, {
238
+ value: `${D.state.pagination.pageSize}`,
239
+ onValueChange: (e) => D.setPageSize(Number(e)),
240
+ children: [/* @__PURE__ */ z(y, {
404
241
  className: "h-8 w-17.5",
405
- children: /* @__PURE__ */ z(fe, { placeholder: _.getState().pagination.pageSize })
406
- }), /* @__PURE__ */ z(g, {
242
+ children: /* @__PURE__ */ z(h, { placeholder: D.state.pagination.pageSize })
243
+ }), /* @__PURE__ */ z(v, {
407
244
  side: "top",
408
245
  children: [
409
246
  12,
410
247
  24,
411
248
  36,
412
249
  48
413
- ].map((e) => /* @__PURE__ */ z(ae, {
250
+ ].map((e) => /* @__PURE__ */ z(p, {
414
251
  value: `${e}`,
415
252
  children: e
416
253
  }, e))
@@ -419,25 +256,25 @@ var Le = [
419
256
  }),
420
257
  /* @__PURE__ */ z("div", {
421
258
  className: "flex w-25 items-center justify-center text-sm font-medium",
422
- children: n("forms.common.pageOf", {
423
- index: _.getState().pagination.pageIndex + 1,
424
- count: _.getPageCount()
259
+ children: c("forms.common.pageOf", {
260
+ index: D.state.pagination.pageIndex + 1,
261
+ count: D.getPageCount()
425
262
  })
426
263
  }),
427
264
  /* @__PURE__ */ B("div", {
428
265
  className: "flex items-center space-x-2",
429
- children: [/* @__PURE__ */ z(T, {
266
+ children: [/* @__PURE__ */ z(s, {
430
267
  variant: "outline",
431
268
  size: "sm",
432
- onClick: () => _.previousPage(),
433
- disabled: !_.getCanPreviousPage(),
269
+ onClick: () => D.previousPage(),
270
+ disabled: !D.getCanPreviousPage(),
434
271
  className: "h-8 w-8 p-0",
435
272
  children: /* @__PURE__ */ z("span", { children: "<" })
436
- }), /* @__PURE__ */ z(T, {
273
+ }), /* @__PURE__ */ z(s, {
437
274
  variant: "outline",
438
275
  size: "sm",
439
- onClick: () => _.nextPage(),
440
- disabled: !_.getCanNextPage(),
276
+ onClick: () => D.nextPage(),
277
+ disabled: !D.getCanNextPage(),
441
278
  className: "h-8 w-8 p-0",
442
279
  children: /* @__PURE__ */ z("span", { children: ">" })
443
280
  })]
@@ -447,118 +284,97 @@ var Le = [
447
284
  ]
448
285
  });
449
286
  }, {
450
- NewButton: je,
451
- Action: Me,
452
- ItemAction: Ne
453
- }), ze = (e) => (e ?? 0).toLocaleString(), Be = (e, t, n, r, i) => e.map((e) => /* @__PURE__ */ B(v, { children: [/* @__PURE__ */ z(N, {
287
+ NewButton: X,
288
+ Action: Z,
289
+ ItemAction: Te
290
+ }), Me = (e) => !e.url && (e.children?.length ?? 0) > 0, Ne = (e, t, n) => {
291
+ if (e.url) {
292
+ let r = (t ?? "") + e.url;
293
+ if (n === r || n.startsWith(r + "/")) return !0;
294
+ }
295
+ return e.children?.some((e) => Ne(e, t, n)) ?? !1;
296
+ }, Pe = (e) => (e ?? 0).toLocaleString(), Q = (e, t, n, r, i) => e.map((e) => /* @__PURE__ */ B(g, { children: [/* @__PURE__ */ z(P, {
454
297
  tooltip: e.title,
455
- isActive: n.startsWith((t ?? "") + e.url),
298
+ isActive: Ne(e, t, n),
456
299
  asChild: !0,
457
- children: /* @__PURE__ */ B(K, {
458
- to: (t ?? "") + e.url,
300
+ children: /* @__PURE__ */ B(G, {
301
+ to: (t ?? "") + (e.url ?? ""),
459
302
  onClick: i,
460
303
  children: [e.icon && /* @__PURE__ */ z(e.icon, { className: "size-5!" }), /* @__PURE__ */ z("span", { children: e.title })]
461
304
  })
462
- }), !r && e.children && e.children.length > 0 && /* @__PURE__ */ z(F, {
305
+ }), !r && e.children && e.children.length > 0 && /* @__PURE__ */ z(N, {
463
306
  className: "ml-4",
464
- children: Be(e.children, t, n, r, i)
465
- })] }, e.title)), Ve = ({ icon: e, feature: t, name: n, urlBase: i, isNew: a, data: o, onDelete: s, onExport: c, open: l, setOpen: u }) => {
466
- let { t: d } = G(), f = J().pathname, { state: p, isMobile: h, setOpenMobile: g } = m(), _ = p === "collapsed", y = h ? () => g(!1) : void 0;
467
- return /* @__PURE__ */ B(ie, {
307
+ children: Q(e.children, t, n, r, i)
308
+ })] }, e.title)), $ = ({ icon: e, feature: t, name: n, urlBase: r, isNew: i, data: a, onDelete: o, onExport: c, open: l, setOpen: u }) => {
309
+ let { t: d } = W(), f = q().pathname, { state: p, isMobile: m, setOpenMobile: h } = k(), _ = p === "collapsed", v = m ? () => h(!1) : void 0;
310
+ return /* @__PURE__ */ B(S, {
468
311
  collapsible: "icon",
469
312
  variant: "inset",
470
313
  position: "absolute",
471
- children: [/* @__PURE__ */ z(ge, {
314
+ children: [/* @__PURE__ */ z(D, {
472
315
  className: "pb-3",
473
- children: /* @__PURE__ */ z(F, { children: /* @__PURE__ */ B(v, {
316
+ children: /* @__PURE__ */ z(N, { children: /* @__PURE__ */ B(g, {
474
317
  className: "flex items-center",
475
- children: [/* @__PURE__ */ z(N, {
318
+ children: [/* @__PURE__ */ z(P, {
476
319
  asChild: !0,
477
320
  className: "data-[slot=sidebar-menu-button]:p-1.5!",
478
- children: /* @__PURE__ */ B(K, {
479
- to: i ?? "#",
321
+ children: /* @__PURE__ */ B(G, {
322
+ to: r ?? "#",
480
323
  className: "flex items-center gap-2.5",
481
324
  children: [/* @__PURE__ */ z("div", {
482
- className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10",
483
- children: /* @__PURE__ */ z(e, { className: "size-5! text-blue-600 dark:text-blue-400" })
325
+ className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg vg-accent-chip ring-1",
326
+ children: /* @__PURE__ */ z(e, { className: "size-5! vg-accent-text" })
484
327
  }), !_ && /* @__PURE__ */ z("span", {
485
328
  className: "text-sm font-semibold whitespace-nowrap truncate",
486
- children: a ? d("sidebar.new", { feature: t }) : n
329
+ children: i ? d("sidebar.new", { feature: t }) : n
487
330
  })]
488
331
  })
489
332
  }), !_ && /* @__PURE__ */ B("div", {
490
333
  className: "flex items-center gap-1 mr-auto",
491
- children: [!a && c && /* @__PURE__ */ z(T, {
334
+ children: [!i && c && /* @__PURE__ */ z(s, {
492
335
  variant: "ghost",
493
336
  size: "icon-sm",
494
337
  onClick: c,
495
- children: /* @__PURE__ */ z(Se, { className: "size-5!" })
496
- }), !a && s && u && /* @__PURE__ */ z(Q, {
338
+ children: /* @__PURE__ */ z(fe, { className: "size-5!" })
339
+ }), !i && o && u && /* @__PURE__ */ z(F, {
497
340
  feature: t,
498
341
  name: n,
499
- onDelete: s,
342
+ onDelete: o,
500
343
  open: l ?? !1,
501
344
  setOpen: u
502
345
  })]
503
346
  })]
504
347
  }) })
505
- }), /* @__PURE__ */ B(oe, { children: [o?.counts && o.counts.length > 0 && /* @__PURE__ */ B(k, { children: [/* @__PURE__ */ z(w, { children: d("sidebar.indexing") }), /* @__PURE__ */ z(D, {
348
+ }), /* @__PURE__ */ B(te, { children: [a?.counts && a.counts.length > 0 && /* @__PURE__ */ B(w, { children: [/* @__PURE__ */ z(A, { children: d("sidebar.indexing") }), /* @__PURE__ */ z(j, {
506
349
  className: "flex flex-col gap-2 pt-4",
507
- children: /* @__PURE__ */ z(F, { children: o.counts.map((e) => /* @__PURE__ */ B(v, { children: [/* @__PURE__ */ B(N, {
508
- tooltip: e.title + ": " + ze(e.count),
350
+ children: /* @__PURE__ */ z(N, { children: a.counts.map((e) => /* @__PURE__ */ B(g, { children: [/* @__PURE__ */ B(P, {
351
+ tooltip: e.title + ": " + Pe(e.count),
509
352
  variant: "outline",
510
353
  children: [e.icon && /* @__PURE__ */ z(e.icon, { className: "size-5!" }), /* @__PURE__ */ z("span", { children: e.title })]
511
- }), !_ && /* @__PURE__ */ z(r, { children: ze(e.count) })] }, e.title)) })
512
- })] }), /* @__PURE__ */ B(k, { children: [/* @__PURE__ */ z(w, { children: t }), /* @__PURE__ */ z(D, {
513
- className: "flex flex-col gap-2",
514
- children: /* @__PURE__ */ z(F, { children: o?.navMain && Be(a ? o.navMain.filter((e) => e.url === "/detail") : o.navMain, i, f, _, y) })
515
- })] })] })]
354
+ }), !_ && /* @__PURE__ */ z(x, { children: Pe(e.count) })] }, e.title)) })
355
+ })] }), (() => {
356
+ let e = a?.navMain ?? [], n = i ? e.filter((e) => e.showOnNew ?? e.url === "/detail") : e, o = n.filter((e) => !Me(e)), s = n.filter(Me);
357
+ return /* @__PURE__ */ B(R, { children: [/* @__PURE__ */ B(w, { children: [/* @__PURE__ */ z(A, { children: t }), /* @__PURE__ */ z(j, {
358
+ className: "flex flex-col gap-2",
359
+ children: /* @__PURE__ */ z(N, { children: Q(o, r, f, _, v) })
360
+ })] }), s.map((e) => /* @__PURE__ */ B(w, { children: [/* @__PURE__ */ z(A, { children: e.title }), /* @__PURE__ */ z(j, {
361
+ className: "flex flex-col gap-2",
362
+ children: /* @__PURE__ */ z(N, { children: Q(e.children ?? [], r, f, _, v) })
363
+ })] }, e.title))] });
364
+ })()] })]
516
365
  });
517
- }, He = ({ checkIsNotUndefined: e, error: t, tryAgainUrl: n, children: r }) => {
518
- let { t: i } = G();
519
- return t ? /* @__PURE__ */ z(Z, {
520
- icon: ye,
521
- title: i("common.errorLoading"),
522
- description: t,
523
- buttonText: i("common.tryAgain"),
524
- urlNew: n
525
- }) : e === void 0 && !t ? /* @__PURE__ */ B("div", {
526
- className: "space-y-6 py-8 px-6 animate-pulse",
527
- children: [
528
- /* @__PURE__ */ z(b, { className: "h-8 w-1/3 rounded-md" }),
529
- /* @__PURE__ */ z("div", {
530
- className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",
531
- children: [
532
- "skeleton-1",
533
- "skeleton-2",
534
- "skeleton-3"
535
- ].map((e) => /* @__PURE__ */ B("div", {
536
- className: "space-y-3 p-4 border rounded-xl bg-slate-50/50 dark:bg-slate-900/20",
537
- children: [
538
- /* @__PURE__ */ z(b, { className: "h-5 w-2/3" }),
539
- /* @__PURE__ */ z(b, { className: "h-12 w-full" }),
540
- /* @__PURE__ */ z(b, { className: "h-4 w-5/6" })
541
- ]
542
- }, e))
543
- }),
544
- /* @__PURE__ */ z("div", {
545
- className: "pt-4",
546
- children: /* @__PURE__ */ z(b, { className: "h-10 w-32 rounded-lg" })
547
- })
548
- ]
549
- }) : /* @__PURE__ */ z(R, { children: r });
550
366
  };
551
367
  //#endregion
552
368
  //#region src/components/router/nav-main.tsx
553
- function Ue({ groups: e }) {
554
- let t = J().pathname, { isMobile: n, setOpenMobile: r } = m();
555
- return /* @__PURE__ */ z(R, { children: e.map((e) => /* @__PURE__ */ B(k, { children: [e.label && /* @__PURE__ */ z(w, { children: e.label }), /* @__PURE__ */ z(D, {
369
+ function Fe({ groups: e }) {
370
+ let t = q().pathname, { isMobile: n, setOpenMobile: r } = k();
371
+ return /* @__PURE__ */ z(R, { children: e.map((e) => /* @__PURE__ */ B(w, { children: [e.label && /* @__PURE__ */ z(A, { children: e.label }), /* @__PURE__ */ z(j, {
556
372
  className: "flex flex-col gap-2",
557
- children: /* @__PURE__ */ z(F, { children: e.items.map((e) => /* @__PURE__ */ z(v, { children: /* @__PURE__ */ z(N, {
373
+ children: /* @__PURE__ */ z(N, { children: e.items.map((e) => /* @__PURE__ */ z(g, { children: /* @__PURE__ */ z(P, {
558
374
  tooltip: e.title,
559
375
  isActive: t.startsWith(e.url),
560
376
  asChild: !0,
561
- children: /* @__PURE__ */ B(K, {
377
+ children: /* @__PURE__ */ B(G, {
562
378
  to: e.url,
563
379
  onClick: () => n && r(!1),
564
380
  children: [e.icon && /* @__PURE__ */ z(e.icon, { className: "size-6!" }), /* @__PURE__ */ z("span", { children: e.title })]
@@ -568,29 +384,29 @@ function Ue({ groups: e }) {
568
384
  }
569
385
  //#endregion
570
386
  //#region src/components/router/nav-user.tsx
571
- function We({ user: t, accountUrl: n, logoutUrl: r, onLogout: i }) {
572
- let { t: a } = G(), { isMobile: o } = m(), s = () => {
573
- i ? i() : r && (globalThis.location.href = r);
574
- }, c = I.useMemo(() => {
575
- let e = t.firstName || "", n = t.lastName || "";
576
- if (!e && !n) return " ";
577
- let r = `${e} ${n}`.trim().split(" ").filter(Boolean);
578
- return r.length === 1 ? r[0].charAt(0).toUpperCase() : r[0].charAt(0).toUpperCase() + (r.at(-1)?.charAt(0).toUpperCase() ?? "");
579
- }, [t]), l = t?.avatarUrl || "";
580
- return /* @__PURE__ */ z(F, { children: /* @__PURE__ */ z(v, { children: /* @__PURE__ */ B(M, { children: [/* @__PURE__ */ z(P, {
387
+ function Ie({ user: a, accountUrl: s, logoutUrl: l, onLogout: u }) {
388
+ let { t: d } = W(), { isMobile: f } = k(), p = () => {
389
+ u ? u() : l && (globalThis.location.href = l);
390
+ }, m = I.useMemo(() => {
391
+ let e = a.firstName || "", t = a.lastName || "";
392
+ if (!e && !t) return " ";
393
+ let n = `${e} ${t}`.trim().split(" ").filter(Boolean);
394
+ return n.length === 1 ? n[0].charAt(0).toUpperCase() : n[0].charAt(0).toUpperCase() + (n.at(-1)?.charAt(0).toUpperCase() ?? "");
395
+ }, [a]), h = a?.avatarUrl || "";
396
+ return /* @__PURE__ */ z(N, { children: /* @__PURE__ */ z(g, { children: /* @__PURE__ */ B(n, { children: [/* @__PURE__ */ z(e, {
581
397
  asChild: !0,
582
- children: /* @__PURE__ */ B(N, {
398
+ children: /* @__PURE__ */ B(P, {
583
399
  size: "lg",
584
400
  className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",
585
401
  children: [
586
- /* @__PURE__ */ B(C, {
402
+ /* @__PURE__ */ B(M, {
587
403
  className: "h-8 w-8 rounded-lg",
588
- children: [l && /* @__PURE__ */ z(e, {
589
- src: l,
590
- alt: t.username
591
- }), /* @__PURE__ */ z(_, {
404
+ children: [h && /* @__PURE__ */ z(O, {
405
+ src: h,
406
+ alt: a.username
407
+ }), /* @__PURE__ */ z(re, {
592
408
  className: "rounded-lg",
593
- children: c
409
+ children: m
594
410
  })]
595
411
  }),
596
412
  /* @__PURE__ */ B("div", {
@@ -598,102 +414,102 @@ function We({ user: t, accountUrl: n, logoutUrl: r, onLogout: i }) {
598
414
  children: [/* @__PURE__ */ B("span", {
599
415
  className: "truncate font-medium",
600
416
  children: [
601
- t.firstName,
417
+ a.firstName,
602
418
  " ",
603
- t.lastName
419
+ a.lastName
604
420
  ]
605
421
  }), /* @__PURE__ */ z("span", {
606
422
  className: "text-muted-foreground truncate text-xs",
607
- children: t.email
423
+ children: a.email
608
424
  })]
609
425
  }),
610
426
  /* @__PURE__ */ z(V, { className: "ml-auto size-4" })
611
427
  ]
612
428
  })
613
- }), /* @__PURE__ */ B(E, {
429
+ }), /* @__PURE__ */ B(o, {
614
430
  className: "w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg",
615
- side: o ? "bottom" : "right",
431
+ side: f ? "bottom" : "right",
616
432
  align: "end",
617
433
  sideOffset: 4,
618
434
  children: [
619
- /* @__PURE__ */ z(se, {
435
+ /* @__PURE__ */ z(t, {
620
436
  className: "p-0 font-normal",
621
437
  children: /* @__PURE__ */ B("div", {
622
438
  className: "flex items-center gap-2 px-1 py-1.5 text-left text-sm",
623
- children: [/* @__PURE__ */ B(C, {
439
+ children: [/* @__PURE__ */ B(M, {
624
440
  className: "h-8 w-8 rounded-lg",
625
- children: [l && /* @__PURE__ */ z(e, {
626
- src: l,
627
- alt: t.username
628
- }), /* @__PURE__ */ z(_, {
441
+ children: [h && /* @__PURE__ */ z(O, {
442
+ src: h,
443
+ alt: a.username
444
+ }), /* @__PURE__ */ z(re, {
629
445
  className: "rounded-lg",
630
- children: c
446
+ children: m
631
447
  })]
632
448
  }), /* @__PURE__ */ B("div", {
633
449
  className: "grid flex-1 text-left text-sm leading-tight",
634
450
  children: [/* @__PURE__ */ B("span", {
635
451
  className: "truncate font-medium",
636
452
  children: [
637
- t.firstName,
453
+ a.firstName,
638
454
  " ",
639
- t.lastName
455
+ a.lastName
640
456
  ]
641
457
  }), /* @__PURE__ */ z("span", {
642
458
  className: "text-muted-foreground truncate text-xs",
643
- children: t.email
459
+ children: a.email
644
460
  })]
645
461
  })]
646
462
  })
647
463
  }),
648
- /* @__PURE__ */ z(_e, {}),
649
- n && /* @__PURE__ */ B(R, { children: [/* @__PURE__ */ z(pe, { children: /* @__PURE__ */ z(K, {
650
- to: n,
464
+ /* @__PURE__ */ z(c, {}),
465
+ s && /* @__PURE__ */ B(R, { children: [/* @__PURE__ */ z(i, { children: /* @__PURE__ */ z(G, {
466
+ to: s,
651
467
  className: "w-full",
652
- children: /* @__PURE__ */ B(A, { children: [/* @__PURE__ */ z(we, {}), a("nav.account")] })
653
- }) }), /* @__PURE__ */ z(_e, {})] }),
654
- /* @__PURE__ */ B(A, {
655
- onClick: s,
468
+ children: /* @__PURE__ */ B(r, { children: [/* @__PURE__ */ z(me, {}), d("nav.account")] })
469
+ }) }), /* @__PURE__ */ z(c, {})] }),
470
+ /* @__PURE__ */ B(r, {
471
+ onClick: p,
656
472
  className: "cursor-pointer",
657
- children: [/* @__PURE__ */ z(Ce, {}), /* @__PURE__ */ z("span", { children: a("nav.logOut") })]
473
+ children: [/* @__PURE__ */ z(pe, {}), /* @__PURE__ */ z("span", { children: d("nav.logOut") })]
658
474
  })
659
475
  ]
660
476
  })] }) }) });
661
477
  }
662
478
  //#endregion
663
479
  //#region src/components/router/page-content.tsx
664
- var $ = () => /* @__PURE__ */ z("div", {
480
+ var Le = () => /* @__PURE__ */ z("div", {
665
481
  className: "flex flex-1 flex-col",
666
482
  children: /* @__PURE__ */ z("div", {
667
483
  className: "@container/main flex flex-1 flex-col gap-2",
668
484
  children: /* @__PURE__ */ z("div", {
669
485
  className: "flex flex-col gap-2 px-1 py-1 md:gap-3 md:px-2 md:py-2",
670
- children: /* @__PURE__ */ z(q, {})
486
+ children: /* @__PURE__ */ z(K, {})
671
487
  })
672
488
  })
673
- }), Ge = ({ icon: e, title: t, urlBase: n, children: r }) => {
674
- let { items: i } = de(), a = Y(), { t: o } = G(), f = i.length > 0 ? i[i.length - 1] : null, p = i.length > 1 ? i[i.length - 2] : null;
489
+ }), Re = ({ icon: e, title: t, urlBase: n, children: r }) => {
490
+ let { items: i } = ie(), a = J(), { t: o } = W(), s = i.length > 0 ? i[i.length - 1] : null, c = i.length > 1 ? i[i.length - 2] : null;
675
491
  return /* @__PURE__ */ z("header", {
676
492
  className: "flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)",
677
493
  children: /* @__PURE__ */ B("div", {
678
494
  className: "flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6",
679
495
  children: [
680
- /* @__PURE__ */ z(d, { className: "-ml-1 hidden md:flex" }),
681
- /* @__PURE__ */ z(S, {
496
+ /* @__PURE__ */ z(u, { className: "-ml-1 hidden md:flex" }),
497
+ /* @__PURE__ */ z(f, {
682
498
  orientation: "vertical",
683
499
  className: "mx-2 data-[orientation=vertical]:h-4 hidden md:block"
684
500
  }),
685
501
  /* @__PURE__ */ B("div", {
686
502
  className: "hidden md:flex items-center gap-1",
687
503
  children: [e && /* @__PURE__ */ z("div", {
688
- className: "flex h-8 w-8 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 mr-1",
689
- children: /* @__PURE__ */ z(e, { className: "size-4.5! text-blue-600 dark:text-blue-400" })
690
- }), n ? /* @__PURE__ */ z(c, { children: /* @__PURE__ */ z(u, { children: i.map((e, t) => /* @__PURE__ */ B(I.Fragment, { children: [t > 0 && /* @__PURE__ */ z(l, {}), /* @__PURE__ */ z(x, { children: e.href ? /* @__PURE__ */ z(s, {
504
+ className: "flex h-8 w-8 items-center justify-center rounded-lg vg-accent-chip ring-1 mr-1",
505
+ children: /* @__PURE__ */ z(e, { className: "size-4.5! vg-accent-text" })
506
+ }), n ? /* @__PURE__ */ z(ae, { children: /* @__PURE__ */ z(oe, { children: i.map((e, t) => /* @__PURE__ */ B(I.Fragment, { children: [t > 0 && /* @__PURE__ */ z(E, {}), /* @__PURE__ */ z(C, { children: e.href ? /* @__PURE__ */ z(ne, {
691
507
  asChild: !0,
692
- children: /* @__PURE__ */ z(K, {
508
+ children: /* @__PURE__ */ z(G, {
693
509
  to: e.href,
694
510
  children: e.label
695
511
  })
696
- }) : /* @__PURE__ */ z(me, { children: e.label }) })] }, e.label)) }) }) : /* @__PURE__ */ z("h1", {
512
+ }) : /* @__PURE__ */ z(T, { children: e.label }) })] }, e.label)) }) }) : /* @__PURE__ */ z("h1", {
697
513
  className: "text-base font-semibold",
698
514
  children: t
699
515
  })]
@@ -701,20 +517,20 @@ var $ = () => /* @__PURE__ */ z("div", {
701
517
  /* @__PURE__ */ B("div", {
702
518
  className: "flex md:hidden items-center gap-2 min-w-0 flex-1",
703
519
  children: [
704
- p?.href && /* @__PURE__ */ z("button", {
520
+ c?.href && /* @__PURE__ */ z("button", {
705
521
  type: "button",
706
522
  title: o("common.goBack"),
707
- onClick: () => a(p.href),
523
+ onClick: () => a(c.href),
708
524
  className: "shrink-0 flex items-center justify-center size-8 rounded-lg hover:bg-muted transition-colors",
709
- children: /* @__PURE__ */ z(be, { className: "size-4" })
525
+ children: /* @__PURE__ */ z(ue, { className: "size-4" })
710
526
  }),
711
527
  e && /* @__PURE__ */ z("div", {
712
- className: "flex shrink-0 h-7 w-7 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10",
713
- children: /* @__PURE__ */ z(e, { className: "size-3.5! text-blue-600 dark:text-blue-400" })
528
+ className: "flex shrink-0 h-7 w-7 items-center justify-center rounded-lg vg-accent-chip ring-1",
529
+ children: /* @__PURE__ */ z(e, { className: "size-3.5! vg-accent-text" })
714
530
  }),
715
531
  /* @__PURE__ */ z("span", {
716
532
  className: "text-sm font-semibold truncate",
717
- children: f?.label ?? t
533
+ children: s?.label ?? t
718
534
  })
719
535
  ]
720
536
  }),
@@ -727,31 +543,31 @@ var $ = () => /* @__PURE__ */ z("div", {
727
543
  }),
728
544
  /* @__PURE__ */ z("div", {
729
545
  className: "hidden md:block",
730
- children: /* @__PURE__ */ z(ce, {})
546
+ children: /* @__PURE__ */ z(ee, {})
731
547
  }),
732
- /* @__PURE__ */ z(d, { className: "md:hidden" })
548
+ /* @__PURE__ */ z(u, { className: "md:hidden" })
733
549
  ]
734
550
  })
735
551
  ]
736
552
  })
737
553
  });
738
- }, Ke = ({ icon: e, title: t, urlBase: n }) => /* @__PURE__ */ B(R, { children: [/* @__PURE__ */ z(Ge, {
554
+ }, ze = ({ icon: e, title: t, urlBase: n }) => /* @__PURE__ */ B(R, { children: [/* @__PURE__ */ z(Re, {
739
555
  icon: e,
740
556
  title: t,
741
557
  urlBase: n
742
- }), /* @__PURE__ */ z($, {})] }), qe = ({ icon: e, feature: t, description: n, urlBase: r }) => {
743
- let i = a(), o = i?.isMobile ?? !1, s = i?.toggleSidebar ?? (() => {}), c = /* @__PURE__ */ B("div", {
558
+ }), /* @__PURE__ */ z(Le, {})] }), Be = ({ icon: e, feature: t, description: n, urlBase: r }) => {
559
+ let i = m(), a = i?.isMobile ?? !1, o = i?.toggleSidebar ?? (() => {}), s = /* @__PURE__ */ B("div", {
744
560
  className: "flex items-center gap-3",
745
561
  children: [/* @__PURE__ */ z("div", {
746
- className: `flex h-9 w-9 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 ${o ? "cursor-pointer active:scale-95 transition-transform" : ""}`,
747
- onClick: o ? s : void 0,
748
- onKeyDown: o ? (e) => {
749
- (e.key === "Enter" || e.key === " ") && s();
562
+ className: `flex h-9 w-9 items-center justify-center rounded-lg vg-accent-chip ring-1 ${a ? "cursor-pointer active:scale-95 transition-transform" : ""}`,
563
+ onClick: a ? o : void 0,
564
+ onKeyDown: a ? (e) => {
565
+ (e.key === "Enter" || e.key === " ") && o();
750
566
  } : void 0,
751
- tabIndex: o ? 0 : void 0,
752
- role: o ? "button" : void 0,
753
- title: o ? "Open navigation" : void 0,
754
- children: /* @__PURE__ */ z(e, { className: "size-5! text-blue-600 dark:text-blue-400" })
567
+ tabIndex: a ? 0 : void 0,
568
+ role: a ? "button" : void 0,
569
+ title: a ? "Open navigation" : void 0,
570
+ children: /* @__PURE__ */ z(e, { className: "size-5! vg-accent-text" })
755
571
  }), /* @__PURE__ */ B("div", {
756
572
  className: "min-w-0",
757
573
  children: [/* @__PURE__ */ z("h1", {
@@ -763,54 +579,54 @@ var $ = () => /* @__PURE__ */ z("div", {
763
579
  })]
764
580
  })]
765
581
  });
766
- return r && !o ? /* @__PURE__ */ z("div", {
582
+ return r && !a ? /* @__PURE__ */ z("div", {
767
583
  className: "min-w-0 flex-1",
768
- children: /* @__PURE__ */ z(K, {
584
+ children: /* @__PURE__ */ z(G, {
769
585
  to: r,
770
586
  className: "group inline-flex max-w-full",
771
- children: c
587
+ children: s
772
588
  })
773
589
  }) : /* @__PURE__ */ z("div", {
774
590
  className: "min-w-0 flex-1",
775
- children: c
591
+ children: s
776
592
  });
777
593
  };
778
- qe.displayName = "StickyPageHeaderTitle";
779
- var Je = () => null;
780
- Je.displayName = "StickyPageHeaderAction";
781
- var Ye = ({ children: e, menuLabel: t }) => {
782
- let n = Y(), { t: r } = G(), i = [], a = [];
783
- I.Children.forEach(e, (e) => {
784
- I.isValidElement(e) && e.type?.displayName === "StickyPageHeaderAction" ? i.push(e.props) : a.push(e);
594
+ Be.displayName = "StickyPageHeaderTitle";
595
+ var Ve = () => null;
596
+ Ve.displayName = "StickyPageHeaderAction";
597
+ var He = ({ children: t, menuLabel: i }) => {
598
+ let a = J(), { t: c } = W(), l = [], u = [];
599
+ I.Children.forEach(t, (e) => {
600
+ I.isValidElement(e) && e.type?.displayName === "StickyPageHeaderAction" ? l.push(e.props) : u.push(e);
785
601
  });
786
- let o = t ?? r("common.actions");
602
+ let d = i ?? c("common.actions");
787
603
  return /* @__PURE__ */ B("div", {
788
604
  className: "flex items-center gap-2 shrink-0",
789
- children: [a, i.length > 0 && /* @__PURE__ */ B(M, { children: [/* @__PURE__ */ z(P, {
605
+ children: [u, l.length > 0 && /* @__PURE__ */ B(n, { children: [/* @__PURE__ */ z(e, {
790
606
  asChild: !0,
791
- children: t ? /* @__PURE__ */ B(T, {
607
+ children: i ? /* @__PURE__ */ B(s, {
792
608
  variant: "outline",
793
609
  size: "sm",
794
610
  className: "gap-1.5",
795
611
  children: [/* @__PURE__ */ z(V, { className: "size-4" }), /* @__PURE__ */ z("span", {
796
612
  className: "hidden sm:inline",
797
- children: t
613
+ children: i
798
614
  })]
799
- }) : /* @__PURE__ */ z(T, {
615
+ }) : /* @__PURE__ */ z(s, {
800
616
  variant: "ghost",
801
617
  size: "icon-sm",
802
- "aria-label": o,
803
- title: o,
618
+ "aria-label": d,
619
+ title: d,
804
620
  children: /* @__PURE__ */ z(V, { className: "size-5!" })
805
621
  })
806
- }), /* @__PURE__ */ z(E, {
622
+ }), /* @__PURE__ */ z(o, {
807
623
  align: "end",
808
- children: i.map((e) => {
624
+ children: l.map((e) => {
809
625
  let t = e.icon ?? H;
810
- return /* @__PURE__ */ B(A, {
626
+ return /* @__PURE__ */ B(r, {
811
627
  disabled: e.disabled,
812
628
  onClick: () => {
813
- e.href && n(e.href), e.onClick && e.onClick();
629
+ e.href && a(e.href), e.onClick && e.onClick();
814
630
  },
815
631
  children: [/* @__PURE__ */ z(t, { className: "size-4 mr-2" }), e.label]
816
632
  }, e.label);
@@ -818,70 +634,84 @@ var Ye = ({ children: e, menuLabel: t }) => {
818
634
  })] })]
819
635
  });
820
636
  };
821
- Ye.displayName = "StickyPageHeaderActions";
822
- var Xe = Object.assign(({ children: e }) => /* @__PURE__ */ z("header", {
637
+ He.displayName = "StickyPageHeaderActions";
638
+ var Ue = Object.assign(({ children: e }) => /* @__PURE__ */ z("header", {
823
639
  className: "sticky top-0 z-10 -mx-4 lg:-mx-6 mb-5 border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80",
824
640
  children: /* @__PURE__ */ B("div", {
825
641
  className: "flex w-full items-center gap-3 px-4 lg:px-6 py-3",
826
642
  children: [/* @__PURE__ */ B("div", {
827
643
  className: "hidden md:flex items-center gap-1",
828
- children: [/* @__PURE__ */ z(d, { className: "-ml-1" }), /* @__PURE__ */ z(S, {
644
+ children: [/* @__PURE__ */ z(u, { className: "-ml-1" }), /* @__PURE__ */ z(f, {
829
645
  orientation: "vertical",
830
646
  className: "mx-2 data-[orientation=vertical]:h-4"
831
647
  })]
832
648
  }), e]
833
649
  })
834
650
  }), {
835
- Title: qe,
836
- Actions: Ye,
837
- Action: Je
838
- }), Ze = (e) => /* @__PURE__ */ z("div", {
839
- className: "w-full px-1 md:px-6 lg:px-8 py-1 md:py-4 min-h-[calc(100svh-10.5rem)]",
840
- children: /* @__PURE__ */ z("div", {
841
- className: "flex min-h-full w-full md:rounded-xl md:border md:bg-sidebar md:shadow-sm",
842
- children: /* @__PURE__ */ B(t, {
843
- defaultOpen: !0,
844
- className: "min-h-0!",
845
- style: {
846
- "--sidebar-width": "calc(var(--spacing) * 72)",
847
- "--header-height": "calc(var(--spacing) * 12)",
848
- minHeight: 0
849
- },
850
- children: [/* @__PURE__ */ z(Ve, { ...e }), /* @__PURE__ */ z(re, {
851
- className: "md:mr-1.5 md:my-1.5 md:rounded-xl md:border bg-background md:shadow-sm",
852
- children: /* @__PURE__ */ z("main", {
853
- className: "flex flex-1 flex-col pt-2 md:pt-4 max-md:[&_.px-6]:px-2",
854
- children: /* @__PURE__ */ z(q, {})
855
- })
856
- })]
651
+ Title: Be,
652
+ Actions: He,
653
+ Action: Ve
654
+ }), We = {
655
+ comfortable: {
656
+ outer: "px-1 md:px-6 lg:px-8 py-1 md:py-4",
657
+ inset: "md:mr-1.5 md:my-1.5",
658
+ main: "pt-2 md:pt-4"
659
+ },
660
+ compact: {
661
+ outer: "px-0 py-0",
662
+ inset: "min-w-0 md:mx-1.5",
663
+ main: "pt-1 md:pt-2"
664
+ }
665
+ }, Ge = ({ outletContext: e, density: t = "comfortable", ...n }) => {
666
+ let r = We[t];
667
+ return /* @__PURE__ */ z("div", {
668
+ className: `w-full ${r.outer} min-h-[calc(100svh-10.5rem)]`,
669
+ children: /* @__PURE__ */ z("div", {
670
+ className: "flex min-h-full w-full md:rounded-xl md:border md:bg-sidebar md:shadow-sm",
671
+ children: /* @__PURE__ */ B(d, {
672
+ defaultOpen: !0,
673
+ className: "min-h-0!",
674
+ style: {
675
+ "--sidebar-width": "calc(var(--spacing) * 72)",
676
+ "--header-height": "calc(var(--spacing) * 12)",
677
+ minHeight: 0
678
+ },
679
+ children: [/* @__PURE__ */ z($, { ...n }), /* @__PURE__ */ z(b, {
680
+ className: `${r.inset} md:rounded-xl md:border bg-background md:shadow-sm`,
681
+ children: /* @__PURE__ */ z("main", {
682
+ className: `flex flex-1 flex-col ${r.main} max-md:[&_.px-6]:px-2`,
683
+ children: /* @__PURE__ */ z(K, { context: e })
684
+ })
685
+ })]
686
+ })
857
687
  })
858
- })
859
- }), Qe = () => null;
860
- Qe.displayName = "SubPageHeaderAction";
861
- var $e = Object.assign(({ icon: e, feature: t, name: n, description: r, urlBase: i, onDelete: o, open: s, setOpen: c, children: l }) => {
862
- let u = a(), f = u?.isMobile ?? !1, p = u?.toggleSidebar ?? (() => {}), m = Y(), h = [];
863
- I.Children.forEach(l, (e) => {
864
- I.isValidElement(e) && e.type?.displayName === "SubPageHeaderAction" && h.push(e.props);
865
688
  });
866
- let g = /* @__PURE__ */ B("div", {
689
+ }, Ke = () => null;
690
+ Ke.displayName = "SubPageHeaderAction";
691
+ var qe = Object.assign(({ icon: t, feature: i, name: a, description: c, urlBase: l, onDelete: d, open: p, setOpen: h, children: g }) => {
692
+ let _ = m(), v = _?.isMobile ?? !1, y = _?.toggleSidebar ?? (() => {}), b = J(), x = [];
693
+ I.Children.forEach(g, (e) => {
694
+ I.isValidElement(e) && Y(e) === "SubPageHeaderAction" && x.push(e.props);
695
+ });
696
+ let S = /* @__PURE__ */ B("div", {
867
697
  className: "flex items-center gap-3",
868
- children: [e && /* @__PURE__ */ z("div", {
869
- className: `flex h-9 w-9 items-center justify-center rounded-lg bg-linear-to-br from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20 ring-1 ring-blue-500/10 dark:ring-blue-400/10 ${f ? "cursor-pointer active:scale-95 transition-transform" : ""}`,
870
- onClick: f ? p : void 0,
871
- onKeyDown: f ? (e) => {
872
- (e.key === "Enter" || e.key === " ") && p();
698
+ children: [t && /* @__PURE__ */ z("div", {
699
+ className: `flex h-9 w-9 items-center justify-center rounded-lg vg-accent-chip ring-1 ${v ? "cursor-pointer active:scale-95 transition-transform" : ""}`,
700
+ onClick: v ? y : void 0,
701
+ onKeyDown: v ? (e) => {
702
+ (e.key === "Enter" || e.key === " ") && y();
873
703
  } : void 0,
874
- tabIndex: f ? 0 : void 0,
875
- title: f ? "Open navigation" : void 0,
876
- children: /* @__PURE__ */ z(e, { className: "size-5! text-blue-600 dark:text-blue-400" })
704
+ tabIndex: v ? 0 : void 0,
705
+ title: v ? "Open navigation" : void 0,
706
+ children: /* @__PURE__ */ z(t, { className: "size-5! vg-accent-text" })
877
707
  }), /* @__PURE__ */ B("div", {
878
708
  className: "min-w-0",
879
709
  children: [/* @__PURE__ */ z("h1", {
880
710
  className: "text-base font-semibold leading-tight text-foreground",
881
- children: t
711
+ children: i
882
712
  }), /* @__PURE__ */ z("p", {
883
713
  className: "hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5",
884
- children: r
714
+ children: c
885
715
  })]
886
716
  })]
887
717
  });
@@ -892,24 +722,24 @@ var $e = Object.assign(({ icon: e, feature: t, name: n, description: r, urlBase:
892
722
  children: [
893
723
  /* @__PURE__ */ B("div", {
894
724
  className: "hidden md:flex items-center gap-1",
895
- children: [/* @__PURE__ */ z(d, { className: "-ml-1" }), /* @__PURE__ */ z(S, {
725
+ children: [/* @__PURE__ */ z(u, { className: "-ml-1" }), /* @__PURE__ */ z(f, {
896
726
  orientation: "vertical",
897
727
  className: "mx-2 data-[orientation=vertical]:h-4"
898
728
  })]
899
729
  }),
900
730
  /* @__PURE__ */ z("div", {
901
731
  className: "min-w-0 flex-1",
902
- children: i && !f ? /* @__PURE__ */ z(K, {
903
- to: i,
732
+ children: l && !v ? /* @__PURE__ */ z(G, {
733
+ to: l,
904
734
  className: "group inline-flex",
905
- children: g
906
- }) : g
735
+ children: S
736
+ }) : S
907
737
  }),
908
738
  /* @__PURE__ */ B("div", {
909
739
  className: "flex items-center gap-2",
910
- children: [h.length > 0 && /* @__PURE__ */ B(M, { children: [/* @__PURE__ */ z(P, {
740
+ children: [x.length > 0 && /* @__PURE__ */ B(n, { children: [/* @__PURE__ */ z(e, {
911
741
  asChild: !0,
912
- children: /* @__PURE__ */ B(T, {
742
+ children: /* @__PURE__ */ B(s, {
913
743
  variant: "outline",
914
744
  size: "sm",
915
745
  className: "gap-1.5",
@@ -918,29 +748,29 @@ var $e = Object.assign(({ icon: e, feature: t, name: n, description: r, urlBase:
918
748
  children: "Actions"
919
749
  })]
920
750
  })
921
- }), /* @__PURE__ */ z(E, {
751
+ }), /* @__PURE__ */ z(o, {
922
752
  align: "end",
923
- children: h.map((e) => {
753
+ children: x.map((e) => {
924
754
  let t = e.icon ?? H;
925
- return /* @__PURE__ */ B(A, {
755
+ return /* @__PURE__ */ B(r, {
926
756
  disabled: e.disabled,
927
757
  onClick: () => {
928
- e.href && m(e.href), e.onClick && e.onClick();
758
+ e.href && b(e.href), e.onClick && e.onClick();
929
759
  },
930
760
  children: [/* @__PURE__ */ z(t, { className: "size-4 mr-2" }), e.label]
931
761
  }, e.label);
932
762
  })
933
- })] }), s !== void 0 && o !== void 0 && c !== void 0 && /* @__PURE__ */ z(Q, {
934
- feature: t,
935
- name: n,
936
- onDelete: o,
937
- open: s,
938
- setOpen: c
763
+ })] }), p !== void 0 && d !== void 0 && h !== void 0 && /* @__PURE__ */ z(F, {
764
+ feature: i,
765
+ name: a,
766
+ onDelete: d,
767
+ open: p,
768
+ setOpen: h
939
769
  })]
940
770
  })
941
771
  ]
942
- }), /* @__PURE__ */ z(S, { className: "mt-3" })]
772
+ }), /* @__PURE__ */ z(f, { className: "mt-3" })]
943
773
  });
944
- }, { Action: Qe });
774
+ }, { Action: Ke });
945
775
  //#endregion
946
- export { Z as BlankSlate, Q as DialogDelete, X as GradientButtonLink, Re as GridList, Ve as InternalSidebar, He as LoadProvider, Ue as NavMain, We as NavUser, Ke as Page, $ as PageContent, Ge as PageHeader, Xe as StickyPageHeader, Ze as SubPage, $e as SubPageHeader };
776
+ export { se as BlankSlate, F as DialogDelete, ce as GradientButtonLink, je as GridList, $ as InternalSidebar, le as LoadProvider, Fe as NavMain, Ie as NavUser, ze as Page, Le as PageContent, Re as PageHeader, Ue as StickyPageHeader, Ge as SubPage, qe as SubPageHeader };