@viglet/viglet-design-system 2026.3.8 → 2026.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +213 -16
- package/dist/badge-locale-Bij94NwL.cjs +1 -0
- package/dist/{badge-locale-BxI9TwkE.js → badge-locale-Du41PpLA.js} +183 -229
- package/dist/bento/bento-back-to-top.d.ts.map +1 -1
- package/dist/bento/bento-command-palette.d.ts +47 -12
- package/dist/bento/bento-command-palette.d.ts.map +1 -1
- package/dist/bento/bento-form-section.d.ts +7 -1
- package/dist/bento/bento-form-section.d.ts.map +1 -1
- package/dist/bento/bento-inline-edit.d.ts.map +1 -1
- package/dist/bento/bento-nav-rail.d.ts.map +1 -1
- package/dist/bento/bento-nav.d.ts +10 -2
- package/dist/bento/bento-nav.d.ts.map +1 -1
- package/dist/bento/bento-section-chrome.d.ts +5 -0
- package/dist/bento/bento-section-chrome.d.ts.map +1 -1
- package/dist/bento/bento-status-marker.d.ts.map +1 -1
- package/dist/bento/bento-tile.d.ts.map +1 -1
- package/dist/bento/index.d.ts +1 -1
- package/dist/bento/index.d.ts.map +1 -1
- package/dist/bento.cjs +1 -1
- package/dist/bento.es.js +473 -413
- package/dist/{breadcrumb.context-CGqjI0-U.js → breadcrumb.context-BssgEydx.js} +251 -239
- package/dist/breadcrumb.context-DLsiMS59.cjs +1 -0
- package/dist/components/app-switcher.d.ts.map +1 -1
- package/dist/components/badge-colorful.d.ts +9 -0
- package/dist/components/badge-colorful.d.ts.map +1 -1
- package/dist/components/login/login.d.ts.map +1 -1
- package/dist/components/router/grid.list.d.ts.map +1 -1
- package/dist/components/router/index.d.ts +1 -1
- package/dist/components/router/index.d.ts.map +1 -1
- package/dist/components/router/sticky.page.header.d.ts.map +1 -1
- package/dist/components/router/sub.page.d.ts.map +1 -1
- package/dist/components/router/sub.page.header.d.ts.map +1 -1
- package/dist/components/startup-first/startup-first.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/floating-formulas-bg.d.ts.map +1 -1
- package/dist/components/ui/glass-card.d.ts +10 -5
- package/dist/components/ui/glass-card.d.ts.map +1 -1
- package/dist/components/ui/icon-picker-dialog.d.ts.map +1 -1
- package/dist/components/ui/index.d.ts +6 -4
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.d.ts +14 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/pulse-ring.d.ts.map +1 -1
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/sonner.d.ts +12 -0
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/stepper.d.ts.map +1 -1
- package/dist/components/ui/viglet-assistant.d.ts +60 -0
- package/dist/components/ui/viglet-assistant.d.ts.map +1 -0
- package/dist/components/ui/viglet-avatar.d.ts +42 -0
- package/dist/components/ui/viglet-avatar.d.ts.map +1 -0
- package/dist/exports.json +24 -5
- package/dist/floating-formulas-bg.cjs +1 -1
- package/dist/floating-formulas-bg.es.js +56 -55
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/use-assistant-notifications.d.ts +15 -0
- package/dist/hooks/use-assistant-notifications.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +102 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locales/en/assistant.json.d.ts +22 -0
- package/dist/i18n/locales/en/bento.json.d.ts +5 -2
- package/dist/i18n/locales/en/common.json.d.ts +15 -1
- package/dist/i18n/locales/en/dialog.json.d.ts +2 -1
- package/dist/i18n/locales/en/language.json.d.ts +8 -0
- package/dist/i18n/locales/en/sidebar.json.d.ts +4 -1
- package/dist/i18n/locales/pt/assistant.json.d.ts +22 -0
- package/dist/i18n/locales/pt/bento.json.d.ts +5 -2
- package/dist/i18n/locales/pt/common.json.d.ts +15 -1
- package/dist/i18n/locales/pt/dialog.json.d.ts +2 -1
- package/dist/i18n/locales/pt/language.json.d.ts +8 -0
- package/dist/i18n/locales/pt/sidebar.json.d.ts +4 -1
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.es.js +478 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +1318 -696
- package/dist/loading-provider-B6-R2ONB.cjs +1 -0
- package/dist/{loading-provider-CMnOuvdR.js → loading-provider-E3fbcekM.js} +33 -32
- package/dist/preset.css +3 -1
- package/dist/router.cjs +1 -1
- package/dist/router.es.js +135 -134
- package/dist/{user.context-kPAqKN4o.js → user.context-CPmUBBLa.js} +109 -99
- package/dist/user.context-xsJgPpcO.cjs +1 -0
- package/dist/utils-Fk5jmzzb.js +41 -0
- package/dist/utils-Oagwe_oa.cjs +1 -0
- package/dist/viglet-design-system.css +1 -1
- package/dist/vite/boot-loader.d.ts +33 -2
- package/dist/vite/boot-loader.d.ts.map +1 -1
- package/dist/vite.cjs +16 -5
- package/dist/vite.es.js +27 -14
- package/docs/BENTO-AUTHORING.md +20 -2
- package/docs/reference/grounds.dc.html +9 -9
- package/package.json +4 -3
- package/dist/badge-locale-sIsBdP_e.cjs +0 -7
- package/dist/breadcrumb.context-DYeZEC65.cjs +0 -1
- package/dist/i18n-DoNdMLEd.cjs +0 -1
- package/dist/i18n-DuNITbWa.js +0 -398
- package/dist/loading-provider-1mgM91iY.cjs +0 -1
- package/dist/user.context-r50nSWER.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-Oagwe_oa.cjs"),n=require("./badge-locale-Bij94NwL.cjs");let r=require("react");r=e.t(r,1);let i=require("react/jsx-runtime"),a=require("react-i18next"),o=require("@tabler/icons-react"),s=require("react-router-dom");var c=({feature:e,name:t,onDelete:c,open:l,setOpen:u,trigger:d,blockedBy:f,title:p,description:m,confirmLabel:h})=>{let g=f&&f.length>0,_=(0,s.useNavigate)(),{t:v}=(0,a.useTranslation)(),[y,b]=(0,r.useState)(``),x=y===t;function S(e){u(e),e||b(``)}return(0,i.jsxs)(n.D,{open:l,onOpenChange:S,children:[d!==null&&(0,i.jsx)(n.I,{asChild:!0,children:d??(0,i.jsx)(n.u,{variant:`ghost`,size:`icon-sm`,children:(0,i.jsx)(o.IconTrash,{className:`size-5!`})})}),(0,i.jsx)(n.k,{className:`sm:max-w-md`,children:g?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.M,{children:[(0,i.jsx)(`div`,{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`,children:(0,i.jsx)(o.IconAlertTriangle,{className:`size-6 text-amber-500`})}),(0,i.jsx)(n.F,{className:`text-center`,children:v(`dialog.cannotDelete`,{feature:e})}),(0,i.jsx)(n.A,{className:`text-center`,children:v(`dialog.inUse`,{name:t})})]}),(0,i.jsxs)(`div`,{className:`space-y-3`,children:[(0,i.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:v(`dialog.dependingSites`,{feature:e})}),(0,i.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:f.map(e=>{let t=e.language?n.n(e.language):void 0;return(0,i.jsx)(n.r,{text:e.name,href:e.href,onClick:e=>{u(!1),e&&_(e)},prefix:t?(0,i.jsx)(`img`,{src:`https://flagcdn.com/w40/${t}.png`,alt:e.language,className:`w-4 h-3 object-cover rounded-sm`}):void 0},e.id)})}),(0,i.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:v(`dialog.removeDependencies`,{feature:e})})]}),(0,i.jsx)(n.j,{children:(0,i.jsx)(n.u,{onClick:()=>u(!1),variant:`outline`,className:`w-full`,children:v(`dialog.understood`)})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.M,{children:[(0,i.jsx)(`div`,{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`,children:(0,i.jsx)(o.IconTrash,{className:`size-6 text-red-500`})}),(0,i.jsx)(n.F,{className:`text-center`,children:p??v(`dialog.deleteFeature`,{feature:e})}),(0,i.jsx)(n.A,{className:`text-center`,children:m??v(`dialog.permanentDelete`,{name:t})})]}),(0,i.jsxs)(`div`,{className:`space-y-2`,children:[(0,i.jsxs)(`label`,{className:`text-sm text-muted-foreground`,children:[v(`dialog.typeToConfirm`),` `,(0,i.jsx)(`span`,{className:`font-mono font-semibold text-foreground bg-muted px-1.5 py-0.5 rounded`,children:t}),` `,v(`dialog.toConfirm`)]}),(0,i.jsx)(n.l,{value:y,onChange:e=>b(e.target.value),placeholder:t,className:`font-mono text-sm`,autoFocus:!0})]}),(0,i.jsxs)(n.j,{className:`flex-col gap-2 sm:flex-col`,children:[(0,i.jsxs)(n.u,{onClick:c,variant:`destructive`,disabled:!x,className:`w-full`,children:[(0,i.jsx)(o.IconTrash,{className:`size-4`}),h??v(`dialog.deleteFeature`,{feature:e})]}),(0,i.jsx)(n.u,{onClick:()=>S(!1),variant:`ghost`,className:`w-full`,children:v(`common.cancel`)})]})]})})]})};function l({className:e,variant:r,size:a,to:o,onClick:c,children:l}){let u=t.t(n.d({variant:r,size:a,className:e}));return(0,i.jsx)(s.NavLink,{to:o,"data-slot":`gradient-button`,className:u,onClick:e=>{let t=typeof o==`string`?o:o.pathname;t&&globalThis.location.pathname===t&&globalThis.location.reload(),c&&c(e)},children:l})}var u=({icon:e,title:t,description:n,urlNew:r,buttonText:a})=>(0,i.jsx)(`div`,{className:`flex items-center justify-center px-6 py-16`,children:(0,i.jsx)(`div`,{className:`relative w-full max-w-md overflow-hidden rounded-2xl border border-border/50 bg-card/80 backdrop-blur-sm shadow-xl`,children:(0,i.jsxs)(`div`,{className:`relative flex flex-col items-center text-center px-8 py-12 space-y-6`,children:[(0,i.jsxs)(`div`,{className:`relative`,children:[(0,i.jsx)(`div`,{className:`absolute inset-0 rounded-2xl bg-gradient-to-br from-[var(--vg-accent-surface-strong)] to-[var(--vg-accent-surface-strong)] blur-xl animate-pulse`}),(0,i.jsx)(`div`,{className:`relative inline-flex h-16 w-16 items-center justify-center rounded-2xl bg-gradient-to-br vg-accent-solid shadow-lg shadow-[var(--vg-accent-line)] ring-4 ring-[var(--vg-accent-surface)]`,children:(0,i.jsx)(e,{className:`text-white`,size:30})})]}),(0,i.jsxs)(`div`,{className:`space-y-2`,children:[(0,i.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight`,children:t}),(0,i.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed max-w-xs mx-auto`,children:n})]}),r&&(0,i.jsx)(l,{size:`lg`,to:r,children:a})]})})}),d=({checkIsNotUndefined:e,error:t,tryAgainUrl:r,children:s})=>{let{t:c}=(0,a.useTranslation)();return t?(0,i.jsx)(u,{icon:o.IconAlertTriangleFilled,title:c(`common.errorLoading`),description:t,buttonText:c(`common.tryAgain`),urlNew:r}):e===void 0&&!t?(0,i.jsxs)(`div`,{className:`space-y-6 py-8 px-6 animate-pulse`,children:[(0,i.jsx)(n.c,{className:`h-8 w-1/3 rounded-md`}),(0,i.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`,children:[`skeleton-1`,`skeleton-2`,`skeleton-3`].map(e=>(0,i.jsxs)(`div`,{className:`space-y-3 p-4 border rounded-xl bg-slate-50/50 dark:bg-slate-900/20`,children:[(0,i.jsx)(n.c,{className:`h-5 w-2/3`}),(0,i.jsx)(n.c,{className:`h-12 w-full`}),(0,i.jsx)(n.c,{className:`h-4 w-5/6`})]},e))}),(0,i.jsx)(`div`,{className:`pt-4`,children:(0,i.jsx)(n.c,{className:`h-10 w-32 rounded-lg`})})]}):(0,i.jsx)(i.Fragment,{children:s})};Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
|
|
@@ -1,38 +1,39 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as e } from "./utils-Fk5jmzzb.js";
|
|
2
|
+
import { A as t, D as n, F as r, I as i, M as a, c as o, d as s, j as c, k as l, l as u, n as d, r as f, u as p } from "./badge-locale-Du41PpLA.js";
|
|
2
3
|
import { useState as m } from "react";
|
|
3
4
|
import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
5
|
+
import { useTranslation as v } from "react-i18next";
|
|
6
|
+
import { IconAlertTriangle as y, IconAlertTriangleFilled as b, IconTrash as x } from "@tabler/icons-react";
|
|
6
7
|
import { NavLink as S, useNavigate as C } from "react-router-dom";
|
|
7
8
|
//#region src/components/router/dialog.delete.tsx
|
|
8
|
-
var w = ({ feature:
|
|
9
|
-
let k = T && T.length > 0, A = C(), { t: j } =
|
|
9
|
+
var w = ({ feature: e, name: o, onDelete: s, open: b, setOpen: S, trigger: w, blockedBy: T, title: E, description: D, confirmLabel: O }) => {
|
|
10
|
+
let k = T && T.length > 0, A = C(), { t: j } = v(), [M, N] = m(""), P = M === o;
|
|
10
11
|
function F(e) {
|
|
11
12
|
S(e), e || N("");
|
|
12
13
|
}
|
|
13
|
-
return /* @__PURE__ */ _(
|
|
14
|
-
open:
|
|
14
|
+
return /* @__PURE__ */ _(n, {
|
|
15
|
+
open: b,
|
|
15
16
|
onOpenChange: F,
|
|
16
|
-
children: [w !== null && /* @__PURE__ */ g(
|
|
17
|
+
children: [w !== null && /* @__PURE__ */ g(i, {
|
|
17
18
|
asChild: !0,
|
|
18
19
|
children: w ?? /* @__PURE__ */ g(p, {
|
|
19
20
|
variant: "ghost",
|
|
20
21
|
size: "icon-sm",
|
|
21
|
-
children: /* @__PURE__ */ g(
|
|
22
|
+
children: /* @__PURE__ */ g(x, { className: "size-5!" })
|
|
22
23
|
})
|
|
23
24
|
}), /* @__PURE__ */ g(l, {
|
|
24
25
|
className: "sm:max-w-md",
|
|
25
26
|
children: k ? /* @__PURE__ */ _(h, { children: [
|
|
26
|
-
/* @__PURE__ */ _(
|
|
27
|
+
/* @__PURE__ */ _(a, { children: [
|
|
27
28
|
/* @__PURE__ */ g("div", {
|
|
28
29
|
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",
|
|
29
|
-
children: /* @__PURE__ */ g(
|
|
30
|
+
children: /* @__PURE__ */ g(y, { className: "size-6 text-amber-500" })
|
|
30
31
|
}),
|
|
31
|
-
/* @__PURE__ */ g(
|
|
32
|
+
/* @__PURE__ */ g(r, {
|
|
32
33
|
className: "text-center",
|
|
33
|
-
children: j("dialog.cannotDelete", { feature:
|
|
34
|
+
children: j("dialog.cannotDelete", { feature: e })
|
|
34
35
|
}),
|
|
35
|
-
/* @__PURE__ */ g(
|
|
36
|
+
/* @__PURE__ */ g(t, {
|
|
36
37
|
className: "text-center",
|
|
37
38
|
children: j("dialog.inUse", { name: o })
|
|
38
39
|
})
|
|
@@ -42,7 +43,7 @@ var w = ({ feature: a, name: o, onDelete: s, open: y, setOpen: S, trigger: w, bl
|
|
|
42
43
|
children: [
|
|
43
44
|
/* @__PURE__ */ g("p", {
|
|
44
45
|
className: "text-sm text-muted-foreground",
|
|
45
|
-
children: j("dialog.dependingSites", { feature:
|
|
46
|
+
children: j("dialog.dependingSites", { feature: e })
|
|
46
47
|
}),
|
|
47
48
|
/* @__PURE__ */ g("div", {
|
|
48
49
|
className: "flex flex-wrap gap-2",
|
|
@@ -64,7 +65,7 @@ var w = ({ feature: a, name: o, onDelete: s, open: y, setOpen: S, trigger: w, bl
|
|
|
64
65
|
}),
|
|
65
66
|
/* @__PURE__ */ g("p", {
|
|
66
67
|
className: "text-xs text-muted-foreground",
|
|
67
|
-
children: j("dialog.removeDependencies", { feature:
|
|
68
|
+
children: j("dialog.removeDependencies", { feature: e })
|
|
68
69
|
})
|
|
69
70
|
]
|
|
70
71
|
}),
|
|
@@ -75,16 +76,16 @@ var w = ({ feature: a, name: o, onDelete: s, open: y, setOpen: S, trigger: w, bl
|
|
|
75
76
|
children: j("dialog.understood")
|
|
76
77
|
}) })
|
|
77
78
|
] }) : /* @__PURE__ */ _(h, { children: [
|
|
78
|
-
/* @__PURE__ */ _(
|
|
79
|
+
/* @__PURE__ */ _(a, { children: [
|
|
79
80
|
/* @__PURE__ */ g("div", {
|
|
80
81
|
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",
|
|
81
|
-
children: /* @__PURE__ */ g(
|
|
82
|
+
children: /* @__PURE__ */ g(x, { className: "size-6 text-red-500" })
|
|
82
83
|
}),
|
|
83
|
-
/* @__PURE__ */ g(
|
|
84
|
+
/* @__PURE__ */ g(r, {
|
|
84
85
|
className: "text-center",
|
|
85
|
-
children: E ?? j("dialog.deleteFeature", { feature:
|
|
86
|
+
children: E ?? j("dialog.deleteFeature", { feature: e })
|
|
86
87
|
}),
|
|
87
|
-
/* @__PURE__ */ g(
|
|
88
|
+
/* @__PURE__ */ g(t, {
|
|
88
89
|
className: "text-center",
|
|
89
90
|
children: D ?? j("dialog.permanentDelete", { name: o })
|
|
90
91
|
})
|
|
@@ -118,7 +119,7 @@ var w = ({ feature: a, name: o, onDelete: s, open: y, setOpen: S, trigger: w, bl
|
|
|
118
119
|
variant: "destructive",
|
|
119
120
|
disabled: !P,
|
|
120
121
|
className: "w-full",
|
|
121
|
-
children: [/* @__PURE__ */ g(
|
|
122
|
+
children: [/* @__PURE__ */ g(x, { className: "size-4" }), O ?? j("dialog.deleteFeature", { feature: e })]
|
|
122
123
|
}), /* @__PURE__ */ g(p, {
|
|
123
124
|
onClick: () => F(!1),
|
|
124
125
|
variant: "ghost",
|
|
@@ -132,19 +133,19 @@ var w = ({ feature: a, name: o, onDelete: s, open: y, setOpen: S, trigger: w, bl
|
|
|
132
133
|
};
|
|
133
134
|
//#endregion
|
|
134
135
|
//#region src/components/router/gradient-button-link.tsx
|
|
135
|
-
function T({ className:
|
|
136
|
-
let c =
|
|
137
|
-
variant:
|
|
138
|
-
size:
|
|
139
|
-
className:
|
|
136
|
+
function T({ className: t, variant: n, size: r, to: i, onClick: a, children: o }) {
|
|
137
|
+
let c = e(s({
|
|
138
|
+
variant: n,
|
|
139
|
+
size: r,
|
|
140
|
+
className: t
|
|
140
141
|
}));
|
|
141
142
|
return /* @__PURE__ */ g(S, {
|
|
142
|
-
to:
|
|
143
|
+
to: i,
|
|
143
144
|
"data-slot": "gradient-button",
|
|
144
145
|
className: c,
|
|
145
146
|
onClick: (e) => {
|
|
146
|
-
let t = typeof
|
|
147
|
-
t && globalThis.location.pathname === t && globalThis.location.reload(),
|
|
147
|
+
let t = typeof i == "string" ? i : i.pathname;
|
|
148
|
+
t && globalThis.location.pathname === t && globalThis.location.reload(), a && a(e);
|
|
148
149
|
},
|
|
149
150
|
children: o
|
|
150
151
|
});
|
|
@@ -187,9 +188,9 @@ var E = ({ icon: e, title: t, description: n, urlNew: r, buttonText: i }) => /*
|
|
|
187
188
|
})
|
|
188
189
|
})
|
|
189
190
|
}), D = ({ checkIsNotUndefined: e, error: t, tryAgainUrl: n, children: r }) => {
|
|
190
|
-
let { t: i } =
|
|
191
|
+
let { t: i } = v();
|
|
191
192
|
return t ? /* @__PURE__ */ g(E, {
|
|
192
|
-
icon:
|
|
193
|
+
icon: b,
|
|
193
194
|
title: i("common.errorLoading"),
|
|
194
195
|
description: t,
|
|
195
196
|
buttonText: i("common.tryAgain"),
|
package/dist/preset.css
CHANGED
|
@@ -99,7 +99,9 @@
|
|
|
99
99
|
--vg-secondary: oklch(0.97 0 0);
|
|
100
100
|
--vg-secondary-foreground: oklch(0.205 0 0);
|
|
101
101
|
--vg-muted: oklch(0.97 0 0);
|
|
102
|
-
--vg-muted
|
|
102
|
+
/* 0.52 and not 0.556 (VDS92): the old value was 4.34:1 on --vg-muted, under AA, and
|
|
103
|
+
break-even is 0.547. contrast.test.ts holds every named pair to 4.5:1. */
|
|
104
|
+
--vg-muted-foreground: oklch(0.52 0 0);
|
|
103
105
|
--vg-accent: oklch(0.97 0 0);
|
|
104
106
|
--vg-accent-foreground: oklch(0.205 0 0);
|
|
105
107
|
--vg-destructive: oklch(0.577 0.245 27.325);
|
package/dist/router.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./badge-locale-sIsBdP_e.cjs"),n=require("./breadcrumb.context-DYeZEC65.cjs"),r=require("./loading-provider-1mgM91iY.cjs");let i=require("react");i=e.t(i,1);let a=require("react/jsx-runtime"),o=require("@tabler/icons-react"),s=require("react-i18next"),c=require("@iconify/react"),l=require("react-router-dom"),u=require("@tanstack/react-table");function d(e){return typeof e.type==`string`?void 0:e.type.displayName}var f=()=>null;f.displayName=`GridListNewButton`;var p=()=>null;p.displayName=`GridListAction`;var m=()=>null;m.displayName=`GridListItemAction`;var h=[`vg-accent-solid`,`from-emerald-500 to-teal-500`,`from-violet-500 to-purple-500`,`from-amber-500 to-orange-500`,`from-rose-500 to-pink-500`,`from-cyan-500 to-sky-500`,`from-fuchsia-500 to-pink-500`,`from-lime-500 to-emerald-500`];function g(e){let t=0;for(let n=0;n<e.length;n++)t=(e.codePointAt(n)??0)+((t<<5)-t);return h[Math.abs(t)%h.length]}function _(e){return e.split(/[\s\-_]+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``)}var v={columnFilteringFeature:u.columnFilteringFeature,globalFilteringFeature:u.globalFilteringFeature,rowPaginationFeature:u.rowPaginationFeature,rowSortingFeature:u.rowSortingFeature,coreRowModel:(0,u.createCoreRowModel)(),filteredRowModel:(0,u.createFilteredRowModel)(),paginatedRowModel:(0,u.createPaginatedRowModel)(),sortedRowModel:(0,u.createSortedRowModel)()},y=[{accessorKey:`name`,header:`Name`},{accessorKey:`description`,header:`Description`},{accessorKey:`url`,header:`URL`}],b=Object.assign(({gridItemList:e,children:r})=>{let{t:f}=(0,s.useTranslation)(),p=(0,l.useNavigate)(),m=[],h=[];i.default.Children.forEach(r,e=>{if(i.default.isValidElement(e)){if(d(e)===`GridListNewButton`){let{to:n,label:r}=e.props;m.push({key:`new-${r}`,render:()=>(0,a.jsxs)(t.g,{onClick:()=>p(n),children:[(0,a.jsx)(o.IconPlus,{className:`size-4 mr-2`}),`New `,r]})})}else if(d(e)===`GridListAction`){let{children:t}=e.props;m.push({key:`action-${m.length}`,render:()=>(0,a.jsx)(a.Fragment,{children:t})})}else if(d(e)===`GridListItemAction`){let t=e.props;h.push({key:`item-action-${h.length}`,icon:t.icon,label:t.label,onClick:t.onClick,position:t.position??`right`})}}});let b=h.length>0,x=h.filter(e=>e.position===`left`),S=h.filter(e=>e.position===`right`),[C,w]=(0,i.useState)({pageIndex:0,pageSize:12}),[T,E]=i.default.useState([]),[D,O]=(0,i.useState)(``),k=(0,u.useTable)({features:v,data:e,columns:y,onSortingChange:E,state:{globalFilter:D,pagination:C,sorting:T},onGlobalFilterChange:O,getColumnCanGlobalFilter:e=>e.id===`name`||e.id===`description`,onPaginationChange:w}),A=k.getRowModel().rows;return(0,a.jsxs)(`div`,{className:`px-6`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,a.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,a.jsx)(o.IconSearch,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,a.jsx)(t.l,{placeholder:f(`forms.common.search`),value:D??``,onChange:e=>O(e.target.value),className:`pl-9`})]}),(0,a.jsxs)(`span`,{className:`text-sm text-muted-foreground whitespace-nowrap`,children:[k.getFilteredRowModel().rows.length,` `,k.getFilteredRowModel().rows.length===1?f(`forms.common.item`):f(`forms.common.items`)]}),m.length>0&&(0,a.jsx)(`div`,{className:`ml-auto`,children:(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(o.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:f(`forms.common.actions`)})]})}),(0,a.jsx)(t.m,{align:`end`,children:m.map(e=>(0,a.jsx)(i.default.Fragment,{children:e.render()},e.key))})]})})]}),A.length>0?(0,a.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4`,children:A.map(e=>{let t=e.getValue(`name`),r=e.getValue(`description`),i=e.getValue(`url`),s=e.original.icon??void 0,u=g(t),d=_(t),p=(0,a.jsxs)(n.$,{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)]`,children:[(0,a.jsx)(`div`,{className:`h-1.5 bg-linear-to-r ${u} opacity-70 group-hover:opacity-100 transition-opacity`}),(0,a.jsxs)(`div`,{className:`p-4 flex items-start gap-3`,children:[b&&x.length>0&&(0,a.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:x.map(t=>(0,a.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),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`,children:t.icon},t.key))}),(0,a.jsx)(`div`,{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`,children:s?(0,a.jsx)(c.Icon,{icon:s,className:`size-5`}):d}),(0,a.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,a.jsx)(`h3`,{className:`font-medium text-sm truncate group-hover:text-[var(--vg-accent-fg)] transition-colors`,children:t}),r?(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1 line-clamp-2 leading-relaxed`,children:r}):(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground/50 mt-1 italic`,children:f(`forms.common.noDescription`)})]}),b?S.length>0&&(0,a.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:S.map(t=>(0,a.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),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`,children:t.icon},t.key))}):(0,a.jsx)(o.IconChevronRight,{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`})]})]});return b?(0,a.jsx)(`div`,{className:`group`,children:p},e.id):(0,a.jsx)(l.NavLink,{to:i,className:`group`,children:p},e.id)})}):(0,a.jsx)(n.$,{className:`p-8`,children:(0,a.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,a.jsx)(o.IconSearch,{className:`h-8 w-8 mx-auto mb-2 opacity-40`}),(0,a.jsx)(`p`,{className:`text-sm`,children:f(`forms.common.noResults`)})]})}),k.getPageCount()>1&&(0,a.jsxs)(`div`,{className:`flex items-center justify-end space-x-2 mt-4`,children:[(0,a.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:f(`forms.common.perPage`)}),(0,a.jsxs)(n.U,{value:`${k.state.pagination.pageSize}`,onValueChange:e=>k.setPageSize(Number(e)),children:[(0,a.jsx)(n.Z,{className:`h-8 w-17.5`,children:(0,a.jsx)(n.Q,{placeholder:k.state.pagination.pageSize})}),(0,a.jsx)(n.W,{side:`top`,children:[12,24,36,48].map(e=>(0,a.jsx)(n.K,{value:`${e}`,children:e},e))})]})]}),(0,a.jsx)(`div`,{className:`flex w-25 items-center justify-center text-sm font-medium`,children:f(`forms.common.pageOf`,{index:k.state.pagination.pageIndex+1,count:k.getPageCount()})}),(0,a.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,a.jsx)(t.u,{variant:`outline`,size:`sm`,onClick:()=>k.previousPage(),disabled:!k.getCanPreviousPage(),className:`h-8 w-8 p-0`,children:(0,a.jsx)(`span`,{children:`<`})}),(0,a.jsx)(t.u,{variant:`outline`,size:`sm`,onClick:()=>k.nextPage(),disabled:!k.getCanNextPage(),className:`h-8 w-8 p-0`,children:(0,a.jsx)(`span`,{children:`>`})})]})]})]})},{NewButton:f,Action:p,ItemAction:m}),x=e=>!e.url&&(e.children?.length??0)>0,S=(e,t,n)=>{if(e.url){let r=(t??``)+e.url;if(n===r||n.startsWith(r+`/`))return!0}return e.children?.some(e=>S(e,t,n))??!1},C=e=>(e??0).toLocaleString(),w=(e,t,r,i,o)=>e.map(e=>(0,a.jsxs)(n.S,{children:[(0,a.jsx)(n.x,{tooltip:e.title,isActive:S(e,t,r),asChild:!0,children:(0,a.jsxs)(l.NavLink,{to:(t??``)+(e.url??``),onClick:o,children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-5!`}),(0,a.jsx)(`span`,{children:e.title})]})}),!i&&e.children&&e.children.length>0&&(0,a.jsx)(n.v,{className:`ml-4`,children:w(e.children,t,r,i,o)})]},e.title)),T=({icon:e,feature:i,name:c,urlBase:u,isNew:d,data:f,onDelete:p,onExport:m,open:h,setOpen:g})=>{let{t:_}=(0,s.useTranslation)(),v=(0,l.useLocation)().pathname,{state:y,isMobile:b,setOpenMobile:S}=n.j(),T=y===`collapsed`,E=b?()=>S(!1):void 0;return(0,a.jsxs)(n.c,{collapsible:`icon`,variant:`inset`,position:`absolute`,children:[(0,a.jsx)(n.h,{className:`pb-3`,children:(0,a.jsx)(n.v,{children:(0,a.jsxs)(n.S,{className:`flex items-center`,children:[(0,a.jsx)(n.x,{asChild:!0,className:`data-[slot=sidebar-menu-button]:p-1.5!`,children:(0,a.jsxs)(l.NavLink,{to:u??`#`,className:`flex items-center gap-2.5`,children:[(0,a.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg vg-accent-chip ring-1`,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),!T&&(0,a.jsx)(`span`,{className:`text-sm font-semibold whitespace-nowrap truncate`,children:d?_(`sidebar.new`,{feature:i}):c})]})}),!T&&(0,a.jsxs)(`div`,{className:`flex items-center gap-1 mr-auto`,children:[!d&&m&&(0,a.jsx)(t.u,{variant:`ghost`,size:`icon-sm`,onClick:m,children:(0,a.jsx)(o.IconDownload,{className:`size-5!`})}),!d&&p&&g&&(0,a.jsx)(r.i,{feature:i,name:c,onDelete:p,open:h??!1,setOpen:g})]})]})})}),(0,a.jsxs)(n.l,{children:[f?.counts&&f.counts.length>0&&(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:_(`sidebar.indexing`)}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2 pt-4`,children:(0,a.jsx)(n.v,{children:f.counts.map(e=>(0,a.jsxs)(n.S,{children:[(0,a.jsxs)(n.x,{tooltip:e.title+`: `+C(e.count),variant:`outline`,children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-5!`}),(0,a.jsx)(`span`,{children:e.title})]}),!T&&(0,a.jsx)(n.b,{children:C(e.count)})]},e.title))})})]}),(()=>{let e=f?.navMain??[],t=d?e.filter(e=>e.showOnNew??e.url===`/detail`):e,r=t.filter(e=>!x(e)),o=t.filter(x);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:i}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:w(r,u,v,T,E)})})]}),o.map(e=>(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:e.title}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:w(e.children??[],u,v,T,E)})})]},e.title))]})})()]})]})};function E({groups:e}){let t=(0,l.useLocation)().pathname,{isMobile:r,setOpenMobile:i}=n.j();return(0,a.jsx)(a.Fragment,{children:e.map(e=>(0,a.jsxs)(n.d,{children:[e.label&&(0,a.jsx)(n.m,{children:e.label}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:e.items.map(e=>(0,a.jsx)(n.S,{children:(0,a.jsx)(n.x,{tooltip:e.title,isActive:t.startsWith(e.url),asChild:!0,children:(0,a.jsxs)(l.NavLink,{to:e.url,onClick:()=>r&&i(!1),children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-6!`}),(0,a.jsx)(`span`,{children:e.title})]})})},e.title))})})]},e.label??`_ungrouped`))})}function D({user:e,accountUrl:r,logoutUrl:c,onLogout:u}){let{t:d}=(0,s.useTranslation)(),{isMobile:f}=n.j(),p=()=>{u?u():c&&(globalThis.location.href=c)},m=i.default.useMemo(()=>{let t=e.firstName||``,n=e.lastName||``;if(!t&&!n)return` `;let r=`${t} ${n}`.trim().split(` `).filter(Boolean);return r.length===1?r[0].charAt(0).toUpperCase():r[0].charAt(0).toUpperCase()+(r.at(-1)?.charAt(0).toUpperCase()??``)},[e]),h=e?.avatarUrl||``;return(0,a.jsx)(n.v,{children:(0,a.jsx)(n.S,{children:(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(n.x,{size:`lg`,className:`data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground`,children:[(0,a.jsxs)(n.pt,{className:`h-8 w-8 rounded-lg`,children:[h&&(0,a.jsx)(n.ht,{src:h,alt:e.username}),(0,a.jsx)(n.mt,{className:`rounded-lg`,children:m})]}),(0,a.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,a.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,a.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]}),(0,a.jsx)(o.IconDotsVertical,{className:`ml-auto size-4`})]})}),(0,a.jsxs)(t.m,{className:`w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg`,side:f?`bottom`:`right`,align:`end`,sideOffset:4,children:[(0,a.jsx)(t._,{className:`p-0 font-normal`,children:(0,a.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1.5 text-left text-sm`,children:[(0,a.jsxs)(n.pt,{className:`h-8 w-8 rounded-lg`,children:[h&&(0,a.jsx)(n.ht,{src:h,alt:e.username}),(0,a.jsx)(n.mt,{className:`rounded-lg`,children:m})]}),(0,a.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,a.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,a.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]})]})}),(0,a.jsx)(t.x,{}),r&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h,{children:(0,a.jsx)(l.NavLink,{to:r,className:`w-full`,children:(0,a.jsxs)(t.g,{children:[(0,a.jsx)(o.IconUserCircle,{}),d(`nav.account`)]})})}),(0,a.jsx)(t.x,{})]}),(0,a.jsxs)(t.g,{onClick:p,className:`cursor-pointer`,children:[(0,a.jsx)(o.IconLogout,{}),(0,a.jsx)(`span`,{children:d(`nav.logOut`)})]})]})]})})})}var O=()=>(0,a.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,a.jsx)(`div`,{className:`@container/main flex flex-1 flex-col gap-2`,children:(0,a.jsx)(`div`,{className:`flex flex-col gap-2 px-1 py-1 md:gap-3 md:px-2 md:py-2`,children:(0,a.jsx)(l.Outlet,{})})})}),k=({icon:e,title:t,urlBase:r,children:c})=>{let{items:u}=n.n(),d=(0,l.useNavigate)(),{t:f}=(0,s.useTranslation)(),p=u.length>0?u[u.length-1]:null,m=u.length>1?u[u.length-2]:null;return(0,a.jsx)(`header`,{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)`,children:(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6`,children:[(0,a.jsx)(n.A,{className:`-ml-1 hidden md:flex`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4 hidden md:block`}),(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[e&&(0,a.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg vg-accent-chip ring-1 mr-1`,children:(0,a.jsx)(e,{className:`size-4.5! vg-accent-text`})}),r?(0,a.jsx)(n.ot,{children:(0,a.jsx)(n.ut,{children:u.map((e,t)=>(0,a.jsxs)(i.default.Fragment,{children:[t>0&&(0,a.jsx)(n.ft,{}),(0,a.jsx)(n.ct,{children:e.href?(0,a.jsx)(n.lt,{asChild:!0,children:(0,a.jsx)(l.NavLink,{to:e.href,children:e.label})}):(0,a.jsx)(n.dt,{children:e.label})})]},e.label))})}):(0,a.jsx)(`h1`,{className:`text-base font-semibold`,children:t})]}),(0,a.jsxs)(`div`,{className:`flex md:hidden items-center gap-2 min-w-0 flex-1`,children:[m?.href&&(0,a.jsx)(`button`,{type:`button`,title:f(`common.goBack`),onClick:()=>d(m.href),className:`shrink-0 flex items-center justify-center size-8 rounded-lg hover:bg-muted transition-colors`,children:(0,a.jsx)(o.IconChevronLeft,{className:`size-4`})}),e&&(0,a.jsx)(`div`,{className:`flex shrink-0 h-7 w-7 items-center justify-center rounded-lg vg-accent-chip ring-1`,children:(0,a.jsx)(e,{className:`size-3.5! vg-accent-text`})}),(0,a.jsx)(`span`,{className:`text-sm font-semibold truncate`,children:p?.label??t})]}),(0,a.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[c&&(0,a.jsx)(`div`,{className:`hidden md:flex items-center`,children:c}),(0,a.jsx)(`div`,{className:`hidden md:block`,children:(0,a.jsx)(n.i,{})}),(0,a.jsx)(n.A,{className:`md:hidden`})]})]})})},A=({icon:e,title:t,urlBase:n})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k,{icon:e,title:t,urlBase:n}),(0,a.jsx)(O,{})]}),j=({icon:e,feature:t,description:r,urlBase:i})=>{let o=n.M(),s=o?.isMobile??!1,c=o?.toggleSidebar??(()=>{}),u=(0,a.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,a.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg vg-accent-chip ring-1 ${s?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:s?c:void 0,onKeyDown:s?e=>{(e.key===`Enter`||e.key===` `)&&c()}:void 0,tabIndex:s?0:void 0,role:s?`button`:void 0,title:s?`Open navigation`:void 0,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),(0,a.jsxs)(`div`,{className:`min-w-0`,children:[(0,a.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground truncate`,children:t}),(0,a.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5 truncate`,children:r})]})]});return i&&!s?(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,a.jsx)(l.NavLink,{to:i,className:`group inline-flex max-w-full`,children:u})}):(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:u})};j.displayName=`StickyPageHeaderTitle`;var M=()=>null;M.displayName=`StickyPageHeaderAction`;var N=({children:e,menuLabel:n})=>{let r=(0,l.useNavigate)(),{t:c}=(0,s.useTranslation)(),u=[],d=[];i.default.Children.forEach(e,e=>{i.default.isValidElement(e)&&e.type?.displayName===`StickyPageHeaderAction`?u.push(e.props):d.push(e)});let f=n??c(`common.actions`);return(0,a.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[d,u.length>0&&(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:n?(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(o.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:n})]}):(0,a.jsx)(t.u,{variant:`ghost`,size:`icon-sm`,"aria-label":f,title:f,children:(0,a.jsx)(o.IconDotsVertical,{className:`size-5!`})})}),(0,a.jsx)(t.m,{align:`end`,children:u.map(e=>{let n=e.icon??o.IconPlus;return(0,a.jsxs)(t.g,{disabled:e.disabled,onClick:()=>{e.href&&r(e.href),e.onClick&&e.onClick()},children:[(0,a.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]})]})};N.displayName=`StickyPageHeaderActions`;var P=Object.assign(({children:e})=>(0,a.jsx)(`header`,{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`,children:(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6 py-3`,children:[(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,a.jsx)(n.A,{className:`-ml-1`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),e]})}),{Title:j,Actions:N,Action:M}),F={comfortable:{outer:`px-1 md:px-6 lg:px-8 py-1 md:py-4`,inset:`md:mr-1.5 md:my-1.5`,main:`pt-2 md:pt-4`},compact:{outer:`px-0 py-0`,inset:`min-w-0 md:mx-1.5`,main:`pt-1 md:pt-2`}},I=({outletContext:e,density:t=`comfortable`,...r})=>{let i=F[t];return(0,a.jsx)(`div`,{className:`w-full ${i.outer} min-h-[calc(100svh-10.5rem)]`,children:(0,a.jsx)(`div`,{className:`flex min-h-full w-full md:rounded-xl md:border md:bg-sidebar md:shadow-sm`,children:(0,a.jsxs)(n.D,{defaultOpen:!0,className:`min-h-0!`,style:{"--sidebar-width":`calc(var(--spacing) * 72)`,"--header-height":`calc(var(--spacing) * 12)`,minHeight:0},children:[(0,a.jsx)(T,{...r}),(0,a.jsx)(n._,{className:`${i.inset} md:rounded-xl md:border bg-background md:shadow-sm`,children:(0,a.jsx)(`main`,{className:`flex flex-1 flex-col ${i.main} max-md:[&_.px-6]:px-2`,children:(0,a.jsx)(l.Outlet,{context:e})})})]})})})},L=()=>null;L.displayName=`SubPageHeaderAction`;var R=Object.assign(({icon:e,feature:s,name:c,description:u,urlBase:f,onDelete:p,open:m,setOpen:h,children:g})=>{let _=n.M(),v=_?.isMobile??!1,y=_?.toggleSidebar??(()=>{}),b=(0,l.useNavigate)(),x=[];i.default.Children.forEach(g,e=>{i.default.isValidElement(e)&&d(e)===`SubPageHeaderAction`&&x.push(e.props)});let S=(0,a.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e&&(0,a.jsx)(`div`,{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`:``}`,onClick:v?y:void 0,onKeyDown:v?e=>{(e.key===`Enter`||e.key===` `)&&y()}:void 0,tabIndex:v?0:void 0,title:v?`Open navigation`:void 0,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),(0,a.jsxs)(`div`,{className:`min-w-0`,children:[(0,a.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground`,children:s}),(0,a.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5`,children:u})]})]});return(0,a.jsxs)(`header`,{className:`mb-5`,children:[(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6`,children:[(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,a.jsx)(n.A,{className:`-ml-1`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:f&&!v?(0,a.jsx)(l.NavLink,{to:f,className:`group inline-flex`,children:S}):S}),(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[x.length>0&&(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(o.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:`Actions`})]})}),(0,a.jsx)(t.m,{align:`end`,children:x.map(e=>{let n=e.icon??o.IconPlus;return(0,a.jsxs)(t.g,{disabled:e.disabled,onClick:()=>{e.href&&b(e.href),e.onClick&&e.onClick()},children:[(0,a.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]}),m!==void 0&&p!==void 0&&h!==void 0&&(0,a.jsx)(r.i,{feature:s,name:c,onDelete:p,open:m,setOpen:h})]})]}),(0,a.jsx)(n.H,{className:`mt-3`})]})},{Action:L});exports.BlankSlate=r.n,exports.DialogDelete=r.i,exports.GradientButtonLink=r.r,exports.GridList=b,exports.InternalSidebar=T,exports.LoadProvider=r.t,exports.NavMain=E,exports.NavUser=D,exports.Page=A,exports.PageContent=O,exports.PageHeader=k,exports.StickyPageHeader=P,exports.SubPage=I,exports.SubPageHeader=R;
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./badge-locale-Bij94NwL.cjs"),n=require("./breadcrumb.context-DLsiMS59.cjs"),r=require("./loading-provider-B6-R2ONB.cjs");let i=require("react");i=e.t(i,1);let a=require("react/jsx-runtime"),o=require("react-i18next"),s=require("@tabler/icons-react"),c=require("@iconify/react"),l=require("react-router-dom"),u=require("@tanstack/react-table");function d(e){return typeof e.type==`string`?void 0:e.type.displayName}var f=()=>null;f.displayName=`GridListNewButton`;var p=()=>null;p.displayName=`GridListAction`;var m=()=>null;m.displayName=`GridListItemAction`;var h=[`vg-accent-solid`,`from-emerald-500 to-teal-500`,`from-violet-500 to-purple-500`,`from-amber-500 to-orange-500`,`from-rose-500 to-pink-500`,`from-cyan-500 to-sky-500`,`from-fuchsia-500 to-pink-500`,`from-lime-500 to-emerald-500`];function g(e){let t=0;for(let n=0;n<e.length;n++)t=(e.codePointAt(n)??0)+((t<<5)-t);return h[Math.abs(t)%h.length]}function _(e){return e.split(/[\s\-_]+/).filter(Boolean).slice(0,2).map(e=>e[0].toUpperCase()).join(``)}var v={columnFilteringFeature:u.columnFilteringFeature,globalFilteringFeature:u.globalFilteringFeature,rowPaginationFeature:u.rowPaginationFeature,rowSortingFeature:u.rowSortingFeature,coreRowModel:(0,u.createCoreRowModel)(),filteredRowModel:(0,u.createFilteredRowModel)(),paginatedRowModel:(0,u.createPaginatedRowModel)(),sortedRowModel:(0,u.createSortedRowModel)()},y=[{accessorKey:`name`,header:`Name`},{accessorKey:`description`,header:`Description`},{accessorKey:`url`,header:`URL`}],b=Object.assign(({gridItemList:e,children:r})=>{let{t:f}=(0,o.useTranslation)(),p=(0,l.useNavigate)(),m=[],h=[];i.default.Children.forEach(r,e=>{if(i.default.isValidElement(e)){if(d(e)===`GridListNewButton`){let{to:n,label:r}=e.props;m.push({key:`new-${r}`,render:()=>(0,a.jsxs)(t.g,{onClick:()=>p(n),children:[(0,a.jsx)(s.IconPlus,{className:`size-4 mr-2`}),f(`sidebar.new`,{feature:r,defaultValue:`New {{feature}}`})]})})}else if(d(e)===`GridListAction`){let{children:t}=e.props;m.push({key:`action-${m.length}`,render:()=>(0,a.jsx)(a.Fragment,{children:t})})}else if(d(e)===`GridListItemAction`){let t=e.props;h.push({key:`item-action-${h.length}`,icon:t.icon,label:t.label,onClick:t.onClick,position:t.position??`right`})}}});let b=h.length>0,x=h.filter(e=>e.position===`left`),S=h.filter(e=>e.position===`right`),[C,w]=(0,i.useState)({pageIndex:0,pageSize:12}),[T,E]=i.default.useState([]),[D,O]=(0,i.useState)(``),k=(0,u.useTable)({features:v,data:e,columns:y,onSortingChange:E,state:{globalFilter:D,pagination:C,sorting:T},onGlobalFilterChange:O,getColumnCanGlobalFilter:e=>e.id===`name`||e.id===`description`,onPaginationChange:w}),A=k.getRowModel().rows;return(0,a.jsxs)(`div`,{className:`px-6`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,a.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,a.jsx)(s.IconSearch,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground`}),(0,a.jsx)(t.l,{placeholder:f(`forms.common.search`),value:D??``,onChange:e=>O(e.target.value),className:`pl-9`})]}),(0,a.jsxs)(`span`,{className:`text-sm text-muted-foreground whitespace-nowrap`,children:[k.getFilteredRowModel().rows.length,` `,k.getFilteredRowModel().rows.length===1?f(`forms.common.item`):f(`forms.common.items`)]}),m.length>0&&(0,a.jsx)(`div`,{className:`ml-auto`,children:(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(s.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:f(`forms.common.actions`)})]})}),(0,a.jsx)(t.m,{align:`end`,children:m.map(e=>(0,a.jsx)(i.default.Fragment,{children:e.render()},e.key))})]})})]}),A.length>0?(0,a.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4`,children:A.map(e=>{let t=e.getValue(`name`),r=e.getValue(`description`),i=e.getValue(`url`),o=e.original.icon??void 0,u=g(t),d=_(t),p=(0,a.jsxs)(n.$,{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)]`,children:[(0,a.jsx)(`div`,{className:`h-1.5 bg-linear-to-r ${u} opacity-70 group-hover:opacity-100 transition-opacity`}),(0,a.jsxs)(`div`,{className:`p-4 flex items-start gap-3`,children:[b&&x.length>0&&(0,a.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:x.map(t=>(0,a.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),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`,children:t.icon},t.key))}),(0,a.jsx)(`div`,{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`,children:o?(0,a.jsx)(c.Icon,{icon:o,className:`size-5`}):d}),(0,a.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,a.jsx)(`h3`,{className:`font-medium text-sm truncate group-hover:text-[var(--vg-accent-fg)] transition-colors`,children:t}),r?(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1 line-clamp-2 leading-relaxed`,children:r}):(0,a.jsx)(`p`,{className:`text-xs text-muted-foreground/50 mt-1 italic`,children:f(`forms.common.noDescription`)})]}),b?S.length>0&&(0,a.jsx)(`div`,{className:`flex items-center gap-1 shrink-0 mt-0.5`,children:S.map(t=>(0,a.jsx)(`button`,{type:`button`,title:t.label,onClick:()=>t.onClick(e.original),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`,children:t.icon},t.key))}):(0,a.jsx)(s.IconChevronRight,{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`})]})]});return b?(0,a.jsx)(`div`,{className:`group`,children:p},e.id):(0,a.jsx)(l.NavLink,{to:i,className:`group`,children:p},e.id)})}):(0,a.jsx)(n.$,{className:`p-8`,children:(0,a.jsxs)(`div`,{className:`text-center text-muted-foreground`,children:[(0,a.jsx)(s.IconSearch,{className:`h-8 w-8 mx-auto mb-2 opacity-40`}),(0,a.jsx)(`p`,{className:`text-sm`,children:f(`forms.common.noResults`)})]})}),k.getPageCount()>1&&(0,a.jsxs)(`div`,{className:`flex items-center justify-end space-x-2 mt-4`,children:[(0,a.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:f(`forms.common.perPage`)}),(0,a.jsxs)(n.U,{value:`${k.state.pagination.pageSize}`,onValueChange:e=>k.setPageSize(Number(e)),children:[(0,a.jsx)(n.Z,{className:`h-8 w-17.5`,children:(0,a.jsx)(n.Q,{placeholder:k.state.pagination.pageSize})}),(0,a.jsx)(n.W,{side:`top`,children:[12,24,36,48].map(e=>(0,a.jsx)(n.K,{value:`${e}`,children:e},e))})]})]}),(0,a.jsx)(`div`,{className:`flex w-25 items-center justify-center text-sm font-medium`,children:f(`forms.common.pageOf`,{index:k.state.pagination.pageIndex+1,count:k.getPageCount()})}),(0,a.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,a.jsx)(t.u,{variant:`outline`,size:`sm`,onClick:()=>k.previousPage(),disabled:!k.getCanPreviousPage(),className:`h-8 w-8 p-0`,"aria-label":f(`common.goToPreviousPage`,{defaultValue:`Go to previous page`}),children:(0,a.jsx)(`span`,{children:`<`})}),(0,a.jsx)(t.u,{variant:`outline`,size:`sm`,onClick:()=>k.nextPage(),disabled:!k.getCanNextPage(),className:`h-8 w-8 p-0`,"aria-label":f(`common.goToNextPage`,{defaultValue:`Go to next page`}),children:(0,a.jsx)(`span`,{children:`>`})})]})]})]})},{NewButton:f,Action:p,ItemAction:m}),x=e=>!e.url&&(e.children?.length??0)>0,S=(e,t,n)=>{if(e.url){let r=(t??``)+e.url;if(n===r||n.startsWith(r+`/`))return!0}return e.children?.some(e=>S(e,t,n))??!1},C=e=>(e??0).toLocaleString(),w=(e,t,r,i,o)=>e.map(e=>(0,a.jsxs)(n.S,{children:[(0,a.jsx)(n.x,{tooltip:e.title,isActive:S(e,t,r),asChild:!0,children:(0,a.jsxs)(l.NavLink,{to:(t??``)+(e.url??``),onClick:o,children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-5!`}),(0,a.jsx)(`span`,{children:e.title})]})}),!i&&e.children&&e.children.length>0&&(0,a.jsx)(n.v,{className:`ml-4`,children:w(e.children,t,r,i,o)})]},e.title)),T=({icon:e,feature:i,name:c,urlBase:u,isNew:d,data:f,onDelete:p,onExport:m,open:h,setOpen:g})=>{let{t:_}=(0,o.useTranslation)(),v=(0,l.useLocation)().pathname,{state:y,isMobile:b,setOpenMobile:S}=n.j(),T=y===`collapsed`,E=b?()=>S(!1):void 0;return(0,a.jsxs)(n.c,{collapsible:`icon`,variant:`inset`,position:`absolute`,children:[(0,a.jsx)(n.h,{className:`pb-3`,children:(0,a.jsx)(n.v,{children:(0,a.jsxs)(n.S,{className:`flex items-center`,children:[(0,a.jsx)(n.x,{asChild:!0,className:`data-[slot=sidebar-menu-button]:p-1.5!`,children:(0,a.jsxs)(l.NavLink,{to:u??`#`,className:`flex items-center gap-2.5`,children:[(0,a.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg vg-accent-chip ring-1`,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),!T&&(0,a.jsx)(`span`,{className:`text-sm font-semibold whitespace-nowrap truncate`,children:d?_(`sidebar.new`,{feature:i}):c})]})}),!T&&(0,a.jsxs)(`div`,{className:`flex items-center gap-1 mr-auto`,children:[!d&&m&&(0,a.jsx)(t.u,{variant:`ghost`,size:`icon-sm`,onClick:m,children:(0,a.jsx)(s.IconDownload,{className:`size-5!`})}),!d&&p&&g&&(0,a.jsx)(r.i,{feature:i,name:c,onDelete:p,open:h??!1,setOpen:g})]})]})})}),(0,a.jsxs)(n.l,{children:[f?.counts&&f.counts.length>0&&(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:_(`sidebar.indexing`)}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2 pt-4`,children:(0,a.jsx)(n.v,{children:f.counts.map(e=>(0,a.jsxs)(n.S,{children:[(0,a.jsxs)(n.x,{tooltip:e.title+`: `+C(e.count),variant:`outline`,children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-5!`}),(0,a.jsx)(`span`,{children:e.title})]}),!T&&(0,a.jsx)(n.b,{children:C(e.count)})]},e.title))})})]}),(()=>{let e=f?.navMain??[],t=d?e.filter(e=>e.showOnNew??e.url===`/detail`):e,r=t.filter(e=>!x(e)),o=t.filter(x);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:i}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:w(r,u,v,T,E)})})]}),o.map(e=>(0,a.jsxs)(n.d,{children:[(0,a.jsx)(n.m,{children:e.title}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:w(e.children??[],u,v,T,E)})})]},e.title))]})})()]})]})};function E({groups:e}){let t=(0,l.useLocation)().pathname,{isMobile:r,setOpenMobile:i}=n.j();return(0,a.jsx)(a.Fragment,{children:e.map(e=>(0,a.jsxs)(n.d,{children:[e.label&&(0,a.jsx)(n.m,{children:e.label}),(0,a.jsx)(n.p,{className:`flex flex-col gap-2`,children:(0,a.jsx)(n.v,{children:e.items.map(e=>(0,a.jsx)(n.S,{children:(0,a.jsx)(n.x,{tooltip:e.title,isActive:t.startsWith(e.url),asChild:!0,children:(0,a.jsxs)(l.NavLink,{to:e.url,onClick:()=>r&&i(!1),children:[e.icon&&(0,a.jsx)(e.icon,{className:`size-6!`}),(0,a.jsx)(`span`,{children:e.title})]})})},e.title))})})]},e.label??`_ungrouped`))})}function D({user:e,accountUrl:r,logoutUrl:c,onLogout:u}){let{t:d}=(0,o.useTranslation)(),{isMobile:f}=n.j(),p=()=>{u?u():c&&(globalThis.location.href=c)},m=i.default.useMemo(()=>{let t=e.firstName||``,n=e.lastName||``;if(!t&&!n)return` `;let r=`${t} ${n}`.trim().split(` `).filter(Boolean);return r.length===1?r[0].charAt(0).toUpperCase():r[0].charAt(0).toUpperCase()+(r.at(-1)?.charAt(0).toUpperCase()??``)},[e]),h=e?.avatarUrl||``;return(0,a.jsx)(n.v,{children:(0,a.jsx)(n.S,{children:(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(n.x,{size:`lg`,className:`data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground`,children:[(0,a.jsxs)(n.pt,{className:`h-8 w-8 rounded-lg`,children:[h&&(0,a.jsx)(n.ht,{src:h,alt:e.username}),(0,a.jsx)(n.mt,{className:`rounded-lg`,children:m})]}),(0,a.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,a.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,a.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]}),(0,a.jsx)(s.IconDotsVertical,{className:`ml-auto size-4`})]})}),(0,a.jsxs)(t.m,{className:`w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg`,side:f?`bottom`:`right`,align:`end`,sideOffset:4,children:[(0,a.jsx)(t._,{className:`p-0 font-normal`,children:(0,a.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1.5 text-left text-sm`,children:[(0,a.jsxs)(n.pt,{className:`h-8 w-8 rounded-lg`,children:[h&&(0,a.jsx)(n.ht,{src:h,alt:e.username}),(0,a.jsx)(n.mt,{className:`rounded-lg`,children:m})]}),(0,a.jsxs)(`div`,{className:`grid flex-1 text-left text-sm leading-tight`,children:[(0,a.jsxs)(`span`,{className:`truncate font-medium`,children:[e.firstName,` `,e.lastName]}),(0,a.jsx)(`span`,{className:`text-muted-foreground truncate text-xs`,children:e.email})]})]})}),(0,a.jsx)(t.x,{}),r&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h,{children:(0,a.jsx)(l.NavLink,{to:r,className:`w-full`,children:(0,a.jsxs)(t.g,{children:[(0,a.jsx)(s.IconUserCircle,{}),d(`nav.account`)]})})}),(0,a.jsx)(t.x,{})]}),(0,a.jsxs)(t.g,{onClick:p,className:`cursor-pointer`,children:[(0,a.jsx)(s.IconLogout,{}),(0,a.jsx)(`span`,{children:d(`nav.logOut`)})]})]})]})})})}var O=()=>(0,a.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,a.jsx)(`div`,{className:`@container/main flex flex-1 flex-col gap-2`,children:(0,a.jsx)(`div`,{className:`flex flex-col gap-2 px-1 py-1 md:gap-3 md:px-2 md:py-2`,children:(0,a.jsx)(l.Outlet,{})})})}),k=({icon:e,title:t,urlBase:r,children:c})=>{let{items:u}=n.n(),d=(0,l.useNavigate)(),{t:f}=(0,o.useTranslation)(),p=u.length>0?u[u.length-1]:null,m=u.length>1?u[u.length-2]:null;return(0,a.jsx)(`header`,{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)`,children:(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6`,children:[(0,a.jsx)(n.A,{className:`-ml-1 hidden md:flex`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4 hidden md:block`}),(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[e&&(0,a.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded-lg vg-accent-chip ring-1 mr-1`,children:(0,a.jsx)(e,{className:`size-4.5! vg-accent-text`})}),r?(0,a.jsx)(n.ot,{children:(0,a.jsx)(n.ut,{children:u.map((e,t)=>(0,a.jsxs)(i.default.Fragment,{children:[t>0&&(0,a.jsx)(n.ft,{}),(0,a.jsx)(n.ct,{children:e.href?(0,a.jsx)(n.lt,{asChild:!0,children:(0,a.jsx)(l.NavLink,{to:e.href,children:e.label})}):(0,a.jsx)(n.dt,{children:e.label})})]},e.label))})}):(0,a.jsx)(`h1`,{className:`text-base font-semibold`,children:t})]}),(0,a.jsxs)(`div`,{className:`flex md:hidden items-center gap-2 min-w-0 flex-1`,children:[m?.href&&(0,a.jsx)(`button`,{type:`button`,title:f(`common.goBack`),onClick:()=>d(m.href),className:`shrink-0 flex items-center justify-center size-8 rounded-lg hover:bg-muted transition-colors`,children:(0,a.jsx)(s.IconChevronLeft,{className:`size-4`})}),e&&(0,a.jsx)(`div`,{className:`flex shrink-0 h-7 w-7 items-center justify-center rounded-lg vg-accent-chip ring-1`,children:(0,a.jsx)(e,{className:`size-3.5! vg-accent-text`})}),(0,a.jsx)(`span`,{className:`text-sm font-semibold truncate`,children:p?.label??t})]}),(0,a.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[c&&(0,a.jsx)(`div`,{className:`hidden md:flex items-center`,children:c}),(0,a.jsx)(`div`,{className:`hidden md:block`,children:(0,a.jsx)(n.i,{})}),(0,a.jsx)(n.A,{className:`md:hidden`})]})]})})},A=({icon:e,title:t,urlBase:n})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k,{icon:e,title:t,urlBase:n}),(0,a.jsx)(O,{})]}),j=({icon:e,feature:t,description:r,urlBase:i})=>{let s=n.M(),c=s?.isMobile??!1,u=s?.toggleSidebar??(()=>{}),{t:d}=(0,o.useTranslation)(),f=(0,a.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg vg-accent-chip ring-1 ${c?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:c?u:void 0,onKeyDown:c?e=>{(e.key===`Enter`||e.key===` `)&&u()}:void 0,tabIndex:c?0:void 0,role:c?`button`:void 0,title:c?d(`common.openNavigation`,{defaultValue:`Open navigation`}):void 0,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),p=(0,a.jsxs)(`div`,{className:`flex items-center gap-3`,children:[f,(0,a.jsxs)(`div`,{className:`min-w-0`,children:[(0,a.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground truncate`,children:t}),(0,a.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5 truncate`,children:r})]})]});return i&&!c?(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,a.jsx)(l.NavLink,{to:i,className:`group inline-flex max-w-full`,children:p})}):(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:p})};j.displayName=`StickyPageHeaderTitle`;var M=()=>null;M.displayName=`StickyPageHeaderAction`;var N=({children:e,menuLabel:n})=>{let r=(0,l.useNavigate)(),{t:c}=(0,o.useTranslation)(),u=[],d=[];i.default.Children.forEach(e,e=>{i.default.isValidElement(e)&&e.type?.displayName===`StickyPageHeaderAction`?u.push(e.props):d.push(e)});let f=n??c(`common.actions`);return(0,a.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[d,u.length>0&&(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:n?(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(s.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:n})]}):(0,a.jsx)(t.u,{variant:`ghost`,size:`icon-sm`,"aria-label":f,title:f,children:(0,a.jsx)(s.IconDotsVertical,{className:`size-5!`})})}),(0,a.jsx)(t.m,{align:`end`,children:u.map(e=>{let n=e.icon??s.IconPlus;return(0,a.jsxs)(t.g,{disabled:e.disabled,onClick:()=>{e.href&&r(e.href),e.onClick&&e.onClick()},children:[(0,a.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]})]})};N.displayName=`StickyPageHeaderActions`;var P=Object.assign(({children:e})=>(0,a.jsx)(`header`,{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`,children:(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6 py-3`,children:[(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,a.jsx)(n.A,{className:`-ml-1`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),e]})}),{Title:j,Actions:N,Action:M}),F={comfortable:{outer:`px-1 md:px-6 lg:px-8 py-1 md:py-4`,inset:`md:mr-1.5 md:my-1.5`,main:`pt-2 md:pt-4`},compact:{outer:`px-0 py-0`,inset:`min-w-0 md:mx-1.5`,main:`pt-1 md:pt-2`}},I=({outletContext:e,density:t=`comfortable`,...r})=>{let i=F[t];return(0,a.jsx)(`div`,{className:`w-full ${i.outer} min-h-[calc(100svh-10.5rem)]`,children:(0,a.jsx)(`div`,{className:`flex min-h-full w-full md:rounded-xl md:border md:bg-sidebar md:shadow-sm`,children:(0,a.jsxs)(n.D,{defaultOpen:!0,className:`min-h-0!`,style:{"--sidebar-width":`calc(var(--spacing) * 72)`,"--header-height":`calc(var(--spacing) * 12)`,minHeight:0},children:[(0,a.jsx)(T,{...r}),(0,a.jsx)(n._,{className:`${i.inset} md:rounded-xl md:border bg-background md:shadow-sm`,children:(0,a.jsx)(`div`,{className:`flex flex-1 flex-col ${i.main} max-md:[&_.px-6]:px-2`,children:(0,a.jsx)(l.Outlet,{context:e})})})]})})})},L=()=>null;L.displayName=`SubPageHeaderAction`;var R=Object.assign(({icon:e,feature:c,name:u,description:f,urlBase:p,onDelete:m,open:h,setOpen:g,children:_})=>{let v=n.M(),y=v?.isMobile??!1,b=v?.toggleSidebar??(()=>{}),x=(0,l.useNavigate)(),{t:S}=(0,o.useTranslation)(),C=[];i.default.Children.forEach(_,e=>{i.default.isValidElement(e)&&d(e)===`SubPageHeaderAction`&&C.push(e.props)});let w=e&&(0,a.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg vg-accent-chip ring-1 ${y?`cursor-pointer active:scale-95 transition-transform`:``}`,onClick:y?b:void 0,onKeyDown:y?e=>{(e.key===`Enter`||e.key===` `)&&b()}:void 0,tabIndex:y?0:void 0,title:y?S(`common.openNavigation`,{defaultValue:`Open navigation`}):void 0,children:(0,a.jsx)(e,{className:`size-5! vg-accent-text`})}),T=(0,a.jsxs)(`div`,{className:`flex items-center gap-3`,children:[w,(0,a.jsxs)(`div`,{className:`min-w-0`,children:[(0,a.jsx)(`h1`,{className:`text-base font-semibold leading-tight text-foreground`,children:c}),(0,a.jsx)(`p`,{className:`hidden md:block text-xs text-muted-foreground leading-relaxed mt-0.5`,children:f})]})]});return(0,a.jsxs)(`header`,{className:`mb-5`,children:[(0,a.jsxs)(`div`,{className:`flex w-full items-center gap-3 px-4 lg:px-6`,children:[(0,a.jsxs)(`div`,{className:`hidden md:flex items-center gap-1`,children:[(0,a.jsx)(n.A,{className:`-ml-1`}),(0,a.jsx)(n.H,{orientation:`vertical`,className:`mx-2 data-[orientation=vertical]:h-4`})]}),(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:p&&!y?(0,a.jsx)(l.NavLink,{to:p,className:`group inline-flex`,children:T}):T}),(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[C.length>0&&(0,a.jsxs)(t.f,{children:[(0,a.jsx)(t.E,{asChild:!0,children:(0,a.jsxs)(t.u,{variant:`outline`,size:`sm`,className:`gap-1.5`,children:[(0,a.jsx)(s.IconDotsVertical,{className:`size-4`}),(0,a.jsx)(`span`,{className:`hidden sm:inline`,children:S(`common.actions`,{defaultValue:`Actions`})})]})}),(0,a.jsx)(t.m,{align:`end`,children:C.map(e=>{let n=e.icon??s.IconPlus;return(0,a.jsxs)(t.g,{disabled:e.disabled,onClick:()=>{e.href&&x(e.href),e.onClick&&e.onClick()},children:[(0,a.jsx)(n,{className:`size-4 mr-2`}),e.label]},e.label)})})]}),h!==void 0&&m!==void 0&&g!==void 0&&(0,a.jsx)(r.i,{feature:c,name:u,onDelete:m,open:h,setOpen:g})]})]}),(0,a.jsx)(n.H,{className:`mt-3`})]})},{Action:L});exports.BlankSlate=r.n,exports.DialogDelete=r.i,exports.GradientButtonLink=r.r,exports.GridList=b,exports.InternalSidebar=T,exports.LoadProvider=r.t,exports.NavMain=E,exports.NavUser=D,exports.Page=A,exports.PageContent=O,exports.PageHeader=k,exports.StickyPageHeader=P,exports.SubPage=I,exports.SubPageHeader=R;
|