@viglet/viglet-design-system 2026.3.16 → 2026.3.18
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 +55 -19
- package/dist/{badge-locale-Bx7m7tg2.js → badge-locale-BwsfyQJT.js} +7 -7
- package/dist/{badge-locale-1_BmNTro.cjs → badge-locale-D4J5OlvK.cjs} +1 -1
- package/dist/bento/bento-actions-menu.d.ts +1 -1
- package/dist/bento/bento-back-to-top.d.ts +1 -1
- package/dist/bento/bento-calendar.d.ts +1 -1
- package/dist/bento/bento-calendar.d.ts.map +1 -1
- package/dist/bento/bento-change-cell.d.ts +22 -0
- package/dist/bento/bento-change-cell.d.ts.map +1 -0
- package/dist/bento/bento-change-mark.d.ts +1 -1
- package/dist/bento/bento-command-palette.d.ts +1 -1
- package/dist/bento/bento-command-palette.d.ts.map +1 -1
- package/dist/bento/bento-count-tile.d.ts +1 -1
- package/dist/bento/bento-data-table.d.ts +12 -2
- package/dist/bento/bento-data-table.d.ts.map +1 -1
- package/dist/bento/bento-diff.d.ts +1 -1
- package/dist/bento/bento-diff.d.ts.map +1 -1
- package/dist/bento/bento-empty-state.d.ts +4 -4
- package/dist/bento/bento-empty-state.d.ts.map +1 -1
- package/dist/bento/bento-entity-shell.d.ts +1 -1
- package/dist/bento/bento-entity-tile.d.ts +7 -3
- package/dist/bento/bento-entity-tile.d.ts.map +1 -1
- package/dist/bento/bento-filter-bar.d.ts +1 -1
- package/dist/bento/bento-filter-bar.d.ts.map +1 -1
- package/dist/bento/bento-form-hero.d.ts +1 -1
- package/dist/bento/bento-form-section.d.ts +8 -7
- package/dist/bento/bento-form-section.d.ts.map +1 -1
- package/dist/bento/bento-hero-icon-picker.d.ts +1 -1
- package/dist/bento/bento-hero.d.ts +3 -3
- package/dist/bento/bento-identity-cell.d.ts +22 -0
- package/dist/bento/bento-identity-cell.d.ts.map +1 -0
- package/dist/bento/bento-inline-edit.d.ts +1 -1
- package/dist/bento/bento-inline-edit.d.ts.map +1 -1
- package/dist/bento/bento-layout.d.ts +4 -2
- package/dist/bento/bento-layout.d.ts.map +1 -1
- package/dist/bento/bento-list-page.d.ts +32 -10
- package/dist/bento/bento-list-page.d.ts.map +1 -1
- package/dist/bento/bento-nav-rail.d.ts +1 -1
- package/dist/bento/bento-palette-trigger.d.ts +1 -1
- package/dist/bento/bento-panel.d.ts +8 -7
- package/dist/bento/bento-panel.d.ts.map +1 -1
- package/dist/bento/bento-save-bar.d.ts +2 -2
- package/dist/bento/bento-scroll-save-bar.d.ts +1 -1
- package/dist/bento/bento-section-chrome.d.ts +3 -3
- package/dist/bento/bento-section.d.ts +1 -1
- package/dist/bento/bento-shell.d.ts +1 -1
- package/dist/bento/bento-shell.d.ts.map +1 -1
- package/dist/bento/bento-shortcuts-dialog.d.ts +1 -1
- package/dist/bento/bento-split-page.d.ts +1 -1
- package/dist/bento/bento-status-marker.d.ts +20 -4
- package/dist/bento/bento-status-marker.d.ts.map +1 -1
- package/dist/bento/bento-tile.d.ts +1 -1
- package/dist/bento/bento-tones.d.ts +1 -1
- package/dist/bento/bento-trail.d.ts +1 -1
- package/dist/bento/bento-user-menu.d.ts +1 -1
- package/dist/bento/bento-version-rail.d.ts +1 -1
- package/dist/bento/index.d.ts +4 -2
- package/dist/bento/index.d.ts.map +1 -1
- package/dist/bento.cjs +3 -3
- package/dist/bento.css +39 -5
- package/dist/bento.es.js +1301 -1136
- package/dist/catalogue.json +155 -32
- package/dist/components/app-switcher.d.ts +1 -1
- package/dist/components/backend-status.d.ts +2 -2
- package/dist/components/language-select.d.ts +1 -1
- package/dist/components/language-switcher.d.ts +1 -1
- package/dist/components/login/login.d.ts +11 -11
- package/dist/components/mode-toggle.d.ts +2 -2
- package/dist/components/router/loading-provider.d.ts +1 -1
- package/dist/components/startup-first/startup-first.d.ts +11 -11
- package/dist/components/theme-provider.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/floating-formulas-bg.d.ts +1 -1
- package/dist/components/ui/form-actions.d.ts +1 -1
- package/dist/components/ui/glass-card.d.ts +2 -2
- package/dist/components/ui/gradient-button.d.ts.map +1 -1
- package/dist/components/ui/icon-picker-dialog.d.ts +1 -1
- package/dist/components/ui/pulse-ring.d.ts +1 -1
- package/dist/components/ui/resizable.d.ts +3 -3
- package/dist/components/ui/section-card.d.ts +1 -1
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/skeleton.d.ts +1 -1
- package/dist/components/ui/sonner.d.ts +1 -1
- package/dist/components/ui/stepper.d.ts +1 -1
- package/dist/components/ui/sticky-save-bar.d.ts +2 -2
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/viglet-assistant.d.ts +1 -1
- package/dist/components/ui/viglet-avatar.d.ts +1 -1
- package/dist/components/viglet-app-switcher.d.ts +1 -1
- package/dist/contexts/breadcrumb.context.d.ts +1 -1
- package/dist/exports.json +11 -1
- package/dist/floating-formulas-bg.css +3 -1
- package/dist/i18n/index.d.ts +20 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locales/en/bento.json.d.ts +10 -0
- package/dist/i18n/locales/pt/bento.json.d.ts +10 -0
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.es.js +20 -0
- package/dist/index.cjs +1 -1
- package/dist/index.es.js +972 -1045
- package/dist/lib/busy.d.ts +1 -1
- package/dist/{loading-provider-D-_5G-08.js → loading-provider-Dh7jdSol.js} +2 -2
- package/dist/loading-provider-bLW_X3A1.cjs +1 -0
- package/dist/preset.css +66 -7
- package/dist/router.cjs +1 -1
- package/dist/router.es.js +1 -1
- package/dist/user.context-BqsOcMaZ.cjs +1 -0
- package/dist/{user.context-DUs2lT6D.js → user.context-vCmnGlIb.js} +335 -262
- package/dist/viglet-design-system.css +1 -1
- package/docs/BENTO-AUTHORING.md +19 -3
- package/docs/reference/README.md +5 -7
- package/package.json +1 -1
- package/dist/loading-provider-E4tIG9BM.cjs +0 -1
- package/dist/user.context-uYif5Mp2.cjs +0 -1
package/dist/lib/busy.d.ts
CHANGED
|
@@ -22,5 +22,5 @@ export declare function busyControl<T extends HTMLElement>(loading: boolean, ari
|
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
24
|
/** The spinner a busy control shows beside its label. */
|
|
25
|
-
export declare function BusyGlyph(): import(
|
|
25
|
+
export declare function BusyGlyph(): import('react').JSX.Element;
|
|
26
26
|
//# sourceMappingURL=busy.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./utils-Fk5jmzzb.js";
|
|
2
|
-
import { _ as t, a as n, c as r, d as i, f as a, g as o, i as s, n as c, o as l, p as u, r as d, s as f, u as p } from "./badge-locale-
|
|
2
|
+
import { _ as t, a as n, c as r, d as i, f as a, g as o, i as s, n as c, o as l, p as u, r as d, s as f, u as p } from "./badge-locale-BwsfyQJT.js";
|
|
3
3
|
import { useState as m } from "react";
|
|
4
4
|
import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
5
5
|
import { useTranslation as v } from "react-i18next";
|
|
@@ -98,7 +98,7 @@ var w = ({ feature: e, name: s, onDelete: f, open: b, setOpen: S, trigger: w, bl
|
|
|
98
98
|
j("dialog.typeToConfirm"),
|
|
99
99
|
" ",
|
|
100
100
|
/* @__PURE__ */ g("span", {
|
|
101
|
-
className: "font-mono font-semibold text-foreground bg-muted px-1.5 py-0.5 rounded",
|
|
101
|
+
className: "font-mono font-semibold text-foreground bg-muted px-1.5 py-0.5 rounded-sm",
|
|
102
102
|
children: s
|
|
103
103
|
}),
|
|
104
104
|
" ",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-Oagwe_oa.cjs"),n=require("./badge-locale-D4J5OlvK.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.c,{open:l,onOpenChange:S,children:[d!==null&&(0,i.jsx)(n._,{asChild:!0,children:d??(0,i.jsx)(n.o,{variant:`ghost`,size:`icon-sm`,children:(0,i.jsx)(o.IconTrash,{className:`size-5!`})})}),(0,i.jsx)(n.u,{className:`sm:max-w-md`,children:g?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{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.g,{className:`text-center`,children:v(`dialog.cannotDelete`,{feature:e})}),(0,i.jsx)(n.d,{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.f,{children:(0,i.jsx)(n.o,{onClick:()=>u(!1),variant:`outline`,className:`w-full`,children:v(`dialog.understood`)})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{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.g,{className:`text-center`,children:p??v(`dialog.deleteFeature`,{feature:e})}),(0,i.jsx)(n.d,{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-sm`,children:t}),` `,v(`dialog.toConfirm`)]}),(0,i.jsx)(n.a,{value:y,onChange:e=>b(e.target.value),placeholder:t,className:`font-mono text-sm`,autoFocus:!0})]}),(0,i.jsxs)(n.f,{className:`flex-col gap-2 sm:flex-col`,children:[(0,i.jsxs)(n.o,{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.o,{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.s({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})}function u({title:e,description:t,buttonText:n,urlNew:r}){return(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)(o.IconAlertTriangleFilled,{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:e}),(0,i.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed max-w-xs mx-auto`,children:t})]}),r&&(0,i.jsx)(l,{size:`lg`,to:r,children:n})]})})})}var d=({checkIsNotUndefined:e,error:t,tryAgainUrl:r,children:o})=>{let{t:s}=(0,a.useTranslation)();return t?(0,i.jsx)(u,{title:s(`common.errorLoading`),description:t,buttonText:s(`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.i,{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.i,{className:`h-5 w-2/3`}),(0,i.jsx)(n.i,{className:`h-12 w-full`}),(0,i.jsx)(n.i,{className:`h-4 w-5/6`})]},e))}),(0,i.jsx)(`div`,{className:`pt-4`,children:(0,i.jsx)(n.i,{className:`h-10 w-32 rounded-lg`})})]}):(0,i.jsx)(i.Fragment,{children:o})};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
|
package/dist/preset.css
CHANGED
|
@@ -32,10 +32,24 @@
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
@theme inline {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
--
|
|
35
|
+
/* One monospace family (VDS199): `font-mono` and Tailwind's code/pre default
|
|
36
|
+
read --vg-font-mono, so ids, paths, keys and diffs share one face. The
|
|
37
|
+
`text-mono` step is the 12 px size the type scale reserves for them. */
|
|
38
|
+
--font-mono: var(--vg-font-mono);
|
|
39
|
+
--text-mono: var(--vg-text-mono);
|
|
40
|
+
--text-mono--line-height: 1rem;
|
|
41
|
+
|
|
42
|
+
/* The closed radius scale (VDS198): every Tailwind radius key is a control or
|
|
43
|
+
a panel, so a class name written for the old arithmetic still compiles and
|
|
44
|
+
lands on one of the three values. `rounded-full` is Tailwind's own. */
|
|
45
|
+
--radius-xs: var(--vg-radius-control);
|
|
46
|
+
--radius-sm: var(--vg-radius-control);
|
|
47
|
+
--radius-md: var(--vg-radius-control);
|
|
48
|
+
--radius-lg: var(--vg-radius-panel);
|
|
49
|
+
--radius-xl: var(--vg-radius-panel);
|
|
50
|
+
--radius-2xl: var(--vg-radius-panel);
|
|
51
|
+
--radius-3xl: var(--vg-radius-panel);
|
|
52
|
+
--radius-4xl: var(--vg-radius-panel);
|
|
39
53
|
|
|
40
54
|
--color-background: var(--vg-background);
|
|
41
55
|
--color-foreground: var(--vg-foreground);
|
|
@@ -71,7 +85,16 @@
|
|
|
71
85
|
}
|
|
72
86
|
|
|
73
87
|
:root {
|
|
74
|
-
|
|
88
|
+
/* Radii (VDS198) — a closed scale of three. Control is a button's, a field's,
|
|
89
|
+
a badge's and a menu item's; panel is a card's, a dialog's, a popover's and
|
|
90
|
+
every bento surface's; full is a pill's, an avatar's and the state dot's.
|
|
91
|
+
The radius keys above all land on the first two, where they once were
|
|
92
|
+
arithmetic on --vg-radius and Shio's console measured ten distinct radii.
|
|
93
|
+
--vg-radius stays as the panel value for stylesheets that still read it. */
|
|
94
|
+
--vg-radius-control: 0.375rem;
|
|
95
|
+
--vg-radius-panel: 0.625rem;
|
|
96
|
+
--vg-radius-full: 9999px;
|
|
97
|
+
--vg-radius: var(--vg-radius-panel);
|
|
75
98
|
--vg-background: oklch(1 0 0);
|
|
76
99
|
--vg-foreground: oklch(0.145 0 0);
|
|
77
100
|
--vg-card: oklch(1 0 0);
|
|
@@ -129,8 +152,8 @@
|
|
|
129
152
|
|
|
130
153
|
The values are the OKLCH the layer shipped with, so re-keying is a choice
|
|
131
154
|
rather than something that happened on the way here. Fixed across light and
|
|
132
|
-
dark on purpose: the chip carries the colour and the surface stays
|
|
133
|
-
so the two never compete. */
|
|
155
|
+
dark on purpose: the chip carries the colour and the surface stays a neutral
|
|
156
|
+
card, so the two never compete. */
|
|
134
157
|
--vg-bento-tone-blue-from: oklch(54.6% 0.245 262.881);
|
|
135
158
|
--vg-bento-tone-blue-to: oklch(51.1% 0.262 276.966);
|
|
136
159
|
--vg-bento-tone-indigo-from: oklch(51.1% 0.262 276.966);
|
|
@@ -164,6 +187,16 @@
|
|
|
164
187
|
--vg-bento-danger-text: oklch(51.4% 0.222 16.935);
|
|
165
188
|
--vg-bento-danger-text-dark: oklch(71.2% 0.194 13.428);
|
|
166
189
|
--vg-bento-danger-text-dark-hover: oklch(81% 0.117 11.638);
|
|
190
|
+
/* Bento record states (VDS182) — the dot beside the word `BentoStatusMarker`
|
|
191
|
+
draws. Colour marks state here and nowhere per area. Published and changed
|
|
192
|
+
are the `on` and `warn` marks, so a live record and a pending edit read the
|
|
193
|
+
same in a pill and in a row; the other three are slate, violet and a
|
|
194
|
+
neutral that says the record is out of play. */
|
|
195
|
+
--vg-bento-state-published: var(--vg-bento-on-mark);
|
|
196
|
+
--vg-bento-state-draft: oklch(55.4% 0.046 257.417);
|
|
197
|
+
--vg-bento-state-scheduled: oklch(60.6% 0.25 292.717);
|
|
198
|
+
--vg-bento-state-changed: var(--vg-bento-warn-mark);
|
|
199
|
+
--vg-bento-state-archived: oklch(87% 0 0);
|
|
167
200
|
/* The pulse glow behind a live indicator. It shipped as a raw indigo inside a
|
|
168
201
|
keyframe, where the check that reads Tailwind class names could not see it. */
|
|
169
202
|
--vg-bento-pulse: oklch(58.5% 0.233 277.117);
|
|
@@ -211,6 +244,22 @@
|
|
|
211
244
|
--vg-accent-shadow: color-mix(in oklab, var(--vg-accent-from) 25%, transparent);
|
|
212
245
|
--vg-accent-shadow-hover: color-mix(in oklab, var(--vg-accent-from) 30%, transparent);
|
|
213
246
|
|
|
247
|
+
/* Control heights (VDS197) — a closed scale of two heights and a touch step.
|
|
248
|
+
Dense is a table row's, a filter bar's and a toolbar's control; form is a
|
|
249
|
+
field's and its actions'. Button, Input, Select, Toggle and GradientButton
|
|
250
|
+
read these and nothing else, so `lg` is form and not a third height. A
|
|
251
|
+
coarse pointer raises both to the touch step, in the block below. Shio's
|
|
252
|
+
console measured fifteen control heights before this scale existed. */
|
|
253
|
+
--vg-control-dense: 2rem;
|
|
254
|
+
--vg-control-form: 2.25rem;
|
|
255
|
+
--vg-control-touch: 2.75rem;
|
|
256
|
+
|
|
257
|
+
/* The one monospace stack (VDS199). The face is named and not bundled: a
|
|
258
|
+
product that loads JetBrains Mono gets it, and one that does not falls to
|
|
259
|
+
the platform's ui-monospace, which is still one mono and not three. */
|
|
260
|
+
--vg-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
|
|
261
|
+
--vg-text-mono: 0.75rem;
|
|
262
|
+
|
|
214
263
|
/* Brand palette */
|
|
215
264
|
--vg-brand: #c2410c;
|
|
216
265
|
--vg-brand-dark: #9a3412;
|
|
@@ -273,6 +322,16 @@
|
|
|
273
322
|
--sidebar-ring: var(--vg-sidebar-ring);
|
|
274
323
|
}
|
|
275
324
|
|
|
325
|
+
/* A finger needs a larger target than a cursor, so both control heights meet
|
|
326
|
+
at the touch step there. A product that redeclares the two heights on its own
|
|
327
|
+
:root overrides this as well, which is why the scale is not for re-keying. */
|
|
328
|
+
@media (pointer: coarse) {
|
|
329
|
+
:root {
|
|
330
|
+
--vg-control-dense: var(--vg-control-touch);
|
|
331
|
+
--vg-control-form: var(--vg-control-touch);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
276
335
|
/* Dark surfaces sit one step above pure black on purpose. Near-black (0.145)
|
|
277
336
|
under near-white text runs ~17:1 — far past AAA, and that overshoot is what
|
|
278
337
|
produces halation: the glyphs bloom at the edges, worst for astigmatic eyes.
|
package/dist/router.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./loading-provider-
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./loading-provider-bLW_X3A1.cjs");exports.DialogDelete=e.r,exports.GradientButtonLink=e.n,exports.LoadProvider=e.t;
|
package/dist/router.es.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./utils-Oagwe_oa.cjs"),n=require("./badge-locale-D4J5OlvK.cjs");let r=require("react");r=e.t(r,1);let i=require("react/jsx-runtime"),a=require("@radix-ui/react-avatar");a=e.t(a,1);let o=require("@radix-ui/react-slot"),s=require("class-variance-authority"),c=require("react-i18next"),l=require("@radix-ui/react-checkbox");l=e.t(l,1);let u=require("@radix-ui/react-dropdown-menu");u=e.t(u,1);let d=require("@tabler/icons-react"),f=require("@iconify/react"),p=require("radix-ui"),m=require("react-resizable-panels"),h=require("@radix-ui/react-tooltip");h=e.t(h,1);let g=require("next-themes"),_=require("sonner"),v=require("@radix-ui/react-tabs");v=e.t(v,1);let y=require("@radix-ui/react-toggle");y=e.t(y,1);let b=require("@radix-ui/react-toggle-group");b=e.t(b,1);var x={name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]};x.node;var S=n.C(x),C={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};C.node;var w=n.C(C),T={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};T.node;var E=n.C(T),D={name:`circle`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]};D.node;var O=n.C(D),k={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};k.node;var A=n.C(k),j={name:`info`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]};j.node;var M=n.C(j),N={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};N.node;var P=n.C(N),F={name:`octagon-x`,size:24,node:[[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-octagon`]};F.node;var ee=n.C(F),I={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};I.node;var te=n.C(I),L=(0,s.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-(--vg-control-form) px-4 py-2 has-[>svg]:px-3`,sm:`h-(--vg-control-dense) rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-(--vg-control-form) rounded-md px-6 has-[>svg]:px-4`,icon:`size-(--vg-control-form)`,"icon-sm":`size-(--vg-control-dense)`,"icon-lg":`size-(--vg-control-form)`}},defaultVariants:{variant:`default`,size:`default`}});function ne({className:e,variant:r,size:a,asChild:s=!1,loading:c=!1,onClick:l,children:u,...d}){let f=s?o.Slot:`button`,p=n.y(c,d[`aria-disabled`],l);return(0,i.jsx)(f,{"data-slot":`button`,className:t.t(L({variant:r,size:a,className:e}),p.inert&&(c?`cursor-progress`:`cursor-not-allowed opacity-50`)),...d,...p.props,children:s?u:(0,i.jsxs)(i.Fragment,{children:[c&&(0,i.jsx)(n.v,{}),u]})})}function re({className:e,...n}){return(0,i.jsx)(l.Root,{"data-slot":`checkbox`,className:t.t(`peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-sm border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...n,children:(0,i.jsx)(l.Indicator,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,i.jsx)(S,{className:`size-3.5`})})})}function ie({...e}){return(0,i.jsx)(u.Root,{"data-slot":`dropdown-menu`,...e})}function ae({...e}){return(0,i.jsx)(u.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function oe({...e}){return(0,i.jsx)(u.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function se({className:e,sideOffset:n=4,...r}){return(0,i.jsx)(u.Portal,{children:(0,i.jsx)(u.Content,{"data-slot":`dropdown-menu-content`,sideOffset:n,className:t.t(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...r})})}function ce({...e}){return(0,i.jsx)(u.Group,{"data-slot":`dropdown-menu-group`,...e})}function le({className:e,inset:n,variant:r=`default`,...a}){return(0,i.jsx)(u.Item,{"data-slot":`dropdown-menu-item`,"data-inset":n,"data-variant":r,className:t.t(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...a})}function ue({className:e,children:n,checked:r,...a}){return(0,i.jsxs)(u.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:t.t(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:r,...a,children:[(0,i.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,i.jsx)(u.ItemIndicator,{children:(0,i.jsx)(S,{className:`size-4`})})}),n]})}function de({...e}){return(0,i.jsx)(u.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function fe({className:e,children:n,...r}){return(0,i.jsxs)(u.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:t.t(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[(0,i.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,i.jsx)(u.ItemIndicator,{children:(0,i.jsx)(O,{className:`size-2 fill-current`})})}),n]})}function pe({className:e,inset:n,...r}){return(0,i.jsx)(u.Label,{"data-slot":`dropdown-menu-label`,"data-inset":n,className:t.t(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...r})}function me({className:e,...n}){return(0,i.jsx)(u.Separator,{"data-slot":`dropdown-menu-separator`,className:t.t(`bg-border -mx-1 my-1 h-px`,e),...n})}function he({className:e,...n}){return(0,i.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:t.t(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...n})}function R({...e}){return(0,i.jsx)(u.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function ge({className:e,inset:n,children:r,...a}){return(0,i.jsxs)(u.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":n,className:t.t(`focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...a,children:[r,(0,i.jsx)(w,{className:`ml-auto size-4`})]})}function _e({className:e,...n}){return(0,i.jsx)(u.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:t.t(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,e),...n})}var z=[`lucide`,`tabler`,`mdi`,`ph`,`solar`,`heroicons`],ve=z.join(`,`);async function B(e,t,n){try{let r=await fetch(`https://api.iconify.design/search?query=${encodeURIComponent(e)}&limit=${t}&prefixes=${ve}`,{signal:n});if(r.ok)return(await r.json()).icons??[]}catch{}return[]}function ye({open:e,onOpenChange:t,value:a,onSelect:o,onClear:s,title:l,description:u,suggestKeywords:p}){let{t:m}=(0,c.useTranslation)(),[h,g]=(0,r.useState)(``),[_,v]=(0,r.useState)([]),[y,b]=(0,r.useState)(!1),x=(0,r.useRef)(null),[S,C]=(0,r.useState)(!1),[w,T]=(0,r.useState)([]),E=(0,r.useRef)(0),[D,O]=(0,r.useState)(null),k=(0,r.useCallback)(async(e,t)=>{let n=++E.current,r=()=>n===E.current&&!t.aborted;if(!e.trim()){v([]);return}b(!0);try{let n=await B(e,60,t);r()&&v(n)}catch{r()&&v([])}finally{r()&&b(!1)}},[]);(0,r.useEffect)(()=>{let e=new AbortController;return x.current&&clearTimeout(x.current),x.current=setTimeout(()=>k(h,e.signal),350),()=>{x.current&&clearTimeout(x.current),e.abort()}},[h,k]);let A=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>A.current?.abort(),[]);function j(e){o(e),t(!1),g(``),v([]),T([]),O(null)}async function M(){if(!p||S)return;let e=new AbortController;A.current=e,C(!0),T([]),O(null);try{let t=(await p({title:l,description:u})).filter(e=>typeof e==`string`&&e.trim()).slice(0,5),n=[];for(let r of t){if(e.signal.aborted)return;n.push({keyword:r.trim(),icons:await B(r.trim(),30,e.signal)})}e.signal.aborted||T(n)}catch{e.signal.aborted||T([])}finally{e.signal.aborted||C(!1)}}let N=D?w.find(e=>e.keyword===D)?.icons??[]:w.flatMap(e=>e.icons.slice(0,3)),P=!!p&&!!(l?.trim()??u?.trim());return(0,i.jsx)(n.c,{open:e,onOpenChange:t,children:(0,i.jsxs)(n.u,{className:`flex max-h-[80vh] flex-col sm:max-w-lg`,children:[(0,i.jsx)(n.p,{children:(0,i.jsx)(n.g,{children:m(`forms.iconPicker.chooseAnIcon`,{defaultValue:`Choose an icon`})})}),(0,i.jsxs)(`div`,{className:`flex gap-2`,children:[(0,i.jsxs)(`div`,{className:`relative flex-1`,children:[(0,i.jsx)(d.IconSearch,{className:`absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,i.jsx)(n.a,{value:h,onChange:e=>g(e.target.value),placeholder:m(`forms.iconPicker.searchIcons`,{defaultValue:`Search icons`}),className:`pl-9`,autoFocus:!0})]}),P&&(0,i.jsxs)(n.o,{type:`button`,size:`sm`,variant:`outline`,onClick:M,disabled:S,className:`shrink-0 gap-1.5`,children:[S?(0,i.jsx)(d.IconLoader2,{className:`size-4 animate-spin`}):(0,i.jsx)(d.IconSparkles,{className:`size-4`}),m(`forms.iconPicker.aiSuggest`,{defaultValue:`Suggest`})]})]}),w.length>0&&(0,i.jsxs)(`div`,{className:`rounded-lg border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface)] p-3`,children:[(0,i.jsxs)(`div`,{className:`mb-2 flex items-center gap-1.5 text-xs font-medium vg-accent-text`,children:[(0,i.jsx)(d.IconSparkles,{className:`size-3.5`}),m(`forms.iconPicker.aiSuggestions`,{defaultValue:`Suggestions`})]}),(0,i.jsx)(`div`,{className:`mb-3 flex flex-wrap gap-1.5`,children:w.map(e=>(0,i.jsxs)(`button`,{type:`button`,onClick:()=>O(D===e.keyword?null:e.keyword),className:`cursor-pointer rounded-full px-3 py-1 text-xs font-medium transition-all ${D===e.keyword?`vg-accent-solid text-white`:`bg-[var(--vg-accent-surface)] text-[var(--vg-accent-fg)] hover:bg-[var(--vg-accent-surface-strong)]`}`,children:[e.keyword,(0,i.jsx)(`span`,{className:`ml-1 opacity-60`,children:e.icons.length})]},e.keyword))}),(0,i.jsx)(`div`,{className:`flex max-h-60 flex-wrap gap-2 overflow-y-auto`,children:N.map(e=>(0,i.jsxs)(`button`,{type:`button`,onClick:()=>j(e),className:`flex cursor-pointer flex-col items-center gap-1 rounded-lg p-2 transition-all hover:bg-[var(--vg-accent-surface)] ${a===e?`border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface-strong)] vg-accent-text`:`border border-[var(--vg-accent-line)]`}`,title:e,children:[(0,i.jsx)(f.Icon,{icon:e,className:`size-7`}),(0,i.jsx)(`span`,{className:`max-w-[80px] truncate text-center text-[9px] leading-tight text-muted-foreground`,children:e.split(`:`)[1]??e})]},e))})]}),(0,i.jsxs)(`div`,{className:`max-h-[400px] min-h-[200px] flex-1 overflow-y-auto`,children:[y&&(0,i.jsx)(`div`,{className:`flex h-32 items-center justify-center text-sm text-muted-foreground`,children:m(`forms.iconPicker.searching`,{defaultValue:`Searching…`})}),!y&&h&&_.length===0&&(0,i.jsx)(`div`,{className:`flex h-32 items-center justify-center text-sm text-muted-foreground`,children:m(`forms.iconPicker.noIconsFound`,{query:h,defaultValue:`No icons found for “{{query}}”`})}),!y&&!h&&_.length===0&&w.length===0&&(0,i.jsxs)(`div`,{className:`flex h-32 flex-col items-center justify-center gap-2 px-4 text-center text-sm text-muted-foreground`,children:[(0,i.jsx)(`span`,{children:m(`forms.iconPicker.typeToSearch`,{count:z.length,defaultValue:`Type to search {{count}} icon collections`})}),P&&(0,i.jsx)(`span`,{className:`text-xs leading-relaxed`,children:m(`forms.iconPicker.orClickAi`,{defaultValue:`…or let the title and description suggest some`})})]}),_.length>0&&(0,i.jsx)(`div`,{className:`grid grid-cols-6 gap-1.5 p-1`,children:_.map(e=>(0,i.jsxs)(`button`,{type:`button`,onClick:()=>j(e),className:`flex cursor-pointer flex-col items-center justify-center gap-1 rounded-lg p-2 transition-all hover:bg-muted ${a===e?`border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface)] vg-accent-text`:`border border-transparent hover:border-border`}`,title:e,children:[(0,i.jsx)(f.Icon,{icon:e,className:`size-6`}),(0,i.jsx)(`span`,{className:`w-full truncate text-center text-[9px] leading-tight text-muted-foreground`,children:e.split(`:`)[1]??e})]},e))})]}),a&&(0,i.jsxs)(`div`,{className:`flex items-center justify-between border-t pt-2`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(f.Icon,{icon:a,className:`size-5`}),(0,i.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:a})]}),(0,i.jsxs)(`div`,{className:`flex gap-2`,children:[s&&(0,i.jsxs)(n.o,{size:`sm`,type:`button`,variant:`outline`,onClick:()=>{s(),t(!1)},children:[(0,i.jsx)(d.IconTrash,{className:`size-4`}),m(`forms.common.remove`,{defaultValue:`Remove`})]}),(0,i.jsx)(n.o,{size:`sm`,type:`button`,onClick:()=>t(!1),children:m(`forms.iconPicker.done`,{defaultValue:`Done`})})]})]})]})})}function be({...e}){return(0,i.jsx)(p.Popover.Root,{"data-slot":`popover`,...e})}function xe({...e}){return(0,i.jsx)(p.Popover.Trigger,{"data-slot":`popover-trigger`,...e})}function Se({className:e,align:n=`center`,sideOffset:r=4,...a}){return(0,i.jsx)(p.Popover.Portal,{children:(0,i.jsx)(p.Popover.Content,{"data-slot":`popover-content`,align:n,sideOffset:r,className:t.t(`z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...a})})}function Ce({...e}){return(0,i.jsx)(p.Popover.Anchor,{"data-slot":`popover-anchor`,...e})}function we({className:e,...n}){return(0,i.jsx)(`div`,{"data-slot":`popover-header`,className:t.t(`flex flex-col gap-1 text-sm`,e),...n})}function Te({className:e,...n}){return(0,i.jsx)(`div`,{"data-slot":`popover-title`,className:t.t(`font-medium`,e),...n})}function Ee({className:e,...n}){return(0,i.jsx)(`p`,{"data-slot":`popover-description`,className:t.t(`text-muted-foreground`,e),...n})}function De({className:e,...n}){return(0,i.jsx)(m.Group,{"data-slot":`resizable-panel-group`,className:t.t(`flex h-full w-full`,e),...n})}function Oe({overflowHidden:e,className:n,...r}){return(0,i.jsx)(m.Panel,{"data-slot":`resizable-panel`,className:t.t(e&&`[&>div]:overflow-hidden!`,n),style:e?{overflow:`hidden`}:void 0,...r})}function ke({withHandle:e,className:n,...r}){return(0,i.jsx)(m.Separator,{"data-slot":`resizable-handle`,className:t.t(`bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:-left-2 after:-right-2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden`,`[&[aria-orientation=horizontal]]:h-px [&[aria-orientation=horizontal]]:w-full [&[aria-orientation=horizontal]]:after:inset-x-0 [&[aria-orientation=horizontal]]:after:-top-2 [&[aria-orientation=horizontal]]:after:-bottom-2 [&[aria-orientation=horizontal]>div]:rotate-90`,n),...r,children:e&&(0,i.jsx)(`div`,{className:`bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border`,children:(0,i.jsx)(A,{className:`size-2.5`})})})}var V={blue:{color:`text-blue-600 dark:text-blue-400`,bg:`from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20`,ring:`ring-blue-500/10 dark:ring-blue-400/10`},violet:{color:`text-violet-600 dark:text-violet-400`,bg:`from-violet-500/10 to-purple-500/10 dark:from-violet-500/20 dark:to-purple-500/20`,ring:`ring-violet-500/10 dark:ring-violet-400/10`},emerald:{color:`text-emerald-600 dark:text-emerald-400`,bg:`from-emerald-500/10 to-teal-500/10 dark:from-emerald-500/20 dark:to-teal-500/20`,ring:`ring-emerald-500/10 dark:ring-emerald-400/10`},amber:{color:`text-amber-600 dark:text-amber-400`,bg:`from-amber-500/10 to-orange-500/10 dark:from-amber-500/20 dark:to-orange-500/20`,ring:`ring-amber-500/10 dark:ring-amber-400/10`},rose:{color:`text-rose-600 dark:text-rose-400`,bg:`from-rose-500/10 to-pink-500/10 dark:from-rose-500/20 dark:to-pink-500/20`,ring:`ring-rose-500/10 dark:ring-rose-400/10`},cyan:{color:`text-cyan-600 dark:text-cyan-400`,bg:`from-cyan-500/10 to-sky-500/10 dark:from-cyan-500/20 dark:to-sky-500/20`,ring:`ring-cyan-500/10 dark:ring-cyan-400/10`},orange:{color:`text-orange-600 dark:text-orange-400`,bg:`from-orange-500/10 to-amber-500/10 dark:from-orange-500/20 dark:to-amber-500/20`,ring:`ring-orange-500/10 dark:ring-orange-400/10`},slate:{color:`text-slate-600 dark:text-slate-400`,bg:`from-slate-500/10 to-gray-500/10 dark:from-slate-500/20 dark:to-gray-500/20`,ring:`ring-slate-500/10 dark:ring-slate-400/10`}},H=(0,r.createContext)({open:!0,toggle:()=>{},variant:`blue`});function U({variant:e=`blue`,defaultOpen:n=!0,children:a,className:o}){let[s,c]=(0,r.useState)(n);return(0,i.jsx)(H.Provider,{value:{open:s,toggle:()=>c(e=>!e),variant:e},children:(0,i.jsx)(`div`,{className:t.t(`rounded-xl border overflow-hidden`,o),children:a})})}function Ae({icon:e,title:n,description:a,className:o}){let{open:s,toggle:c,variant:l}=(0,r.useContext)(H),u=V[l];return(0,i.jsxs)(`button`,{type:`button`,onClick:c,className:t.t(`flex w-full items-center gap-3 px-5 py-4 bg-muted/40 border-b cursor-pointer hover:bg-muted/60 transition-colors`,o),children:[(0,i.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-linear-to-br ${u.bg} ring-1 ${u.ring}`,children:(0,i.jsx)(e,{className:`size-4 ${u.color}`})}),(0,i.jsxs)(`div`,{className:`min-w-0 text-left`,children:[(0,i.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:n}),a&&(0,i.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:a})]}),(0,i.jsx)(d.IconChevronDown,{className:t.t(`ml-auto size-4 text-muted-foreground shrink-0 transition-transform duration-200`,s&&`rotate-180`)})]})}function je({icon:e,title:n,description:a,className:o}){let{variant:s}=(0,r.useContext)(H),c=V[s];return(0,i.jsxs)(`div`,{className:t.t(`flex items-center gap-3 px-5 py-4 bg-muted/40 border-b`,o),children:[(0,i.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-linear-to-br ${c.bg} ring-1 ${c.ring}`,children:(0,i.jsx)(e,{className:`size-4 ${c.color}`})}),(0,i.jsxs)(`div`,{className:`min-w-0`,children:[(0,i.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:n}),a&&(0,i.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:a})]})]})}function Me({children:e,className:n}){let{open:a}=(0,r.useContext)(H);return a?(0,i.jsx)(`div`,{className:t.t(`p-5 space-y-6`,n),children:e}):null}U.Header=Ae,U.StaticHeader=je,U.Content=Me;var W=r.createContext(!1);function G({delayDuration:e=0,...t}){return(0,i.jsx)(W,{value:!0,children:(0,i.jsx)(h.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})})}function Ne({...e}){let t=r.useContext(W),n=(0,i.jsx)(h.Root,{"data-slot":`tooltip`,...e});return t?n:(0,i.jsx)(G,{children:n})}function Pe({...e}){return(0,i.jsx)(h.Trigger,{"data-slot":`tooltip-trigger`,...e})}function Fe({className:e,sideOffset:n=0,children:r,...a}){return(0,i.jsx)(h.Portal,{children:(0,i.jsxs)(h.Content,{"data-slot":`tooltip-content`,sideOffset:n,className:t.t(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance`,e),...a,children:[r,(0,i.jsx)(h.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}var Ie=`(max-width: 767px)`;function K(){return window.matchMedia(Ie)}function Le(e){let t=K();return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function Re(){return r.useSyncExternalStore(Le,()=>K().matches,()=>!1)}var ze=({...e})=>{let{theme:t=`system`}=(0,g.useTheme)(),{t:n}=(0,c.useTranslation)();return(0,i.jsx)(_.Toaster,{theme:t,className:`toaster group`,containerAriaLabel:n(`common.notifications`,{defaultValue:`Notifications`}),icons:{success:(0,i.jsx)(E,{className:`size-4`}),info:(0,i.jsx)(M,{className:`size-4`}),warning:(0,i.jsx)(te,{className:`size-4`}),error:(0,i.jsx)(ee,{className:`size-4`}),loading:(0,i.jsx)(P,{className:`size-4 animate-spin`})},style:{"--normal-bg":`var(--vg-popover)`,"--normal-text":`var(--vg-popover-foreground)`,"--normal-border":`var(--vg-border)`,"--border-radius":`var(--vg-radius)`},...e})};function Be({className:e,...n}){return(0,i.jsx)(v.Root,{"data-slot":`tabs`,className:t.t(`flex flex-col gap-2`,e),...n})}function Ve({className:e,...n}){return(0,i.jsx)(v.List,{"data-slot":`tabs-list`,className:t.t(`bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]`,e),...n})}function He({className:e,...n}){return(0,i.jsx)(v.Trigger,{"data-slot":`tabs-trigger`,className:t.t(`data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n})}function Ue({className:e,...n}){return(0,i.jsx)(v.Content,{"data-slot":`tabs-content`,className:t.t(`flex-1 outline-none`,e),...n})}var q=(0,s.cva)(`inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground`},size:{default:`h-(--vg-control-form) px-2 min-w-(--vg-control-form)`,sm:`h-(--vg-control-dense) px-1.5 min-w-(--vg-control-dense)`,lg:`h-(--vg-control-form) px-2.5 min-w-(--vg-control-form)`}},defaultVariants:{variant:`default`,size:`default`}});function We({className:e,variant:n,size:r,...a}){return(0,i.jsx)(y.Root,{"data-slot":`toggle`,className:t.t(q({variant:n,size:r,className:e})),...a})}var J=r.createContext({size:`default`,variant:`default`,spacing:0});function Ge({className:e,variant:n,size:r,spacing:a=0,children:o,...s}){return(0,i.jsx)(b.Root,{"data-slot":`toggle-group`,"data-variant":n,"data-size":r,"data-spacing":a,style:{"--gap":a},className:t.t(`group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs`,e),...s,children:(0,i.jsx)(J.Provider,{value:{variant:n,size:r,spacing:a},children:o})})}function Ke({className:e,children:n,variant:a,size:o,...s}){let c=r.useContext(J);return(0,i.jsx)(b.Item,{"data-slot":`toggle-group-item`,"data-variant":c.variant||a,"data-size":c.size||o,"data-spacing":c.spacing,className:t.t(q({variant:c.variant||a,size:c.size||o}),`w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10`,`data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l`,e),...s,children:n})}function Y({givenName:e,familyName:t,name:n}){let r=(e??``).trim(),i=(t??``).trim();if(r||i){let e=r?r[0]:``,t=i.split(/\s+/).filter(Boolean),n=`${e}${t.length>0?t[t.length-1][0]:``}`.toUpperCase();if(n)return n}let a=(n??``).trim();if(a){let e=a.split(/\s+/).filter(Boolean);return e.length===1?e[0][0].toUpperCase():`${e[0][0]}${e[e.length-1][0]}`.toUpperCase()}return`U`}function qe({className:e,givenName:n,familyName:r,name:o,src:s,alt:c,children:l,...u}){let d=Y({givenName:n,familyName:r,name:o}),f=c??o??[n,r].filter(Boolean).join(` `);return(0,i.jsxs)(a.Root,{"data-slot":`user-avatar`,className:t.t(`relative inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full size-8`,`bg-muted text-muted-foreground text-xs font-semibold`,`ring-1 ring-border`,e),...u,children:[s&&(0,i.jsx)(a.Image,{"data-slot":`user-avatar-image`,src:s,alt:f,className:`aspect-square size-full object-cover`}),(0,i.jsx)(a.Fallback,{"data-slot":`user-avatar-fallback`,className:`flex size-full items-center justify-center`,delayMs:s?600:0,children:l??d})]})}var X=(0,r.createContext)(!1);function Z(){return(0,r.useContext)(X)}var Q=(0,r.createContext)(`corner`);function Je(){return(0,r.useContext)(Q)}var $=r.default.createContext(null);function Ye({children:e,fetchUser:t}){let[n,a]=r.default.useState({}),[o,s]=r.default.useState(`loading`),[c,l]=r.default.useState(null),u=r.default.useRef(0),d=r.default.useCallback(()=>{let e=++u.current;t().then(t=>{e===u.current&&(a(t),l(null),s(`ready`))},t=>{e===u.current&&(l(t),s(`failed`))})},[t]);r.default.useEffect(()=>{d()},[d]);let f=r.default.useMemo(()=>({user:n,refreshUser:d,status:o,error:c}),[n,d,o,c]);return(0,i.jsx)($,{value:f,children:e})}function Xe(){let e=r.default.useContext($);if(!e)throw Error(`useCurrentUser must be used within UserProvider`);return e}Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,"et",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return qe}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,"tt",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return ce}});
|