@viglet/viglet-design-system 2026.3.9 → 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-CoEEv7s5.js → badge-locale-Du41PpLA.js} +183 -231
- 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 +464 -404
- package/dist/{breadcrumb.context-KQut7j8U.js → breadcrumb.context-BssgEydx.js} +229 -220
- 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/index.d.ts +1 -1
- package/dist/components/router/index.d.ts.map +1 -1
- package/dist/components/router/sub.page.d.ts.map +1 -1
- package/dist/components/startup-first/startup-first.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/pulse-ring.d.ts.map +1 -1
- package/dist/components/ui/resizable.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 +74 -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 +3 -1
- package/dist/i18n/locales/en/common.json.d.ts +6 -1
- package/dist/i18n/locales/en/language.json.d.ts +8 -0
- package/dist/i18n/locales/pt/assistant.json.d.ts +22 -0
- package/dist/i18n/locales/pt/bento.json.d.ts +3 -1
- package/dist/i18n/locales/pt/common.json.d.ts +6 -1
- package/dist/i18n/locales/pt/language.json.d.ts +8 -0
- 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 +1311 -698
- package/dist/loading-provider-B6-R2ONB.cjs +1 -0
- package/dist/{loading-provider-BWWhhfEn.js → loading-provider-E3fbcekM.js} +24 -23
- package/dist/router.cjs +1 -1
- package/dist/router.es.js +4 -4
- package/dist/{user.context-D1PxP4D4.js → user.context-CPmUBBLa.js} +97 -87
- 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-hQyWhAKe.cjs +0 -7
- package/dist/breadcrumb.context-Vwc3lAlf.cjs +0 -1
- package/dist/i18n-DD3rQOWi.js +0 -426
- package/dist/i18n-DrBq-qJJ.cjs +0 -1
- package/dist/loading-provider-CmeMqLGk.cjs +0 -1
- package/dist/user.context-B9vIBzY5.cjs +0 -1
|
@@ -50,6 +50,35 @@ export interface VigletBootLoaderOptions {
|
|
|
50
50
|
* Default: `"__VIGLET_LOADING_TEST__"`.
|
|
51
51
|
*/
|
|
52
52
|
testFlag?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Accessible name for the loader's status region — the whole phrase, not a
|
|
55
|
+
* word slotted into one. Default: `"Loading <title>"`.
|
|
56
|
+
*
|
|
57
|
+
* The loader is HTML written at build time and runs before any bundle, so it
|
|
58
|
+
* cannot ask i18next for anything; without this the first thing a screen
|
|
59
|
+
* reader hears in a Portuguese product is English. It is the complete label
|
|
60
|
+
* rather than a `loading` word plus the title, because where the product's
|
|
61
|
+
* name falls in the sentence is not the same in every language.
|
|
62
|
+
*
|
|
63
|
+
* ```ts
|
|
64
|
+
* vigletBootLoader({ …, loadingLabel: "Carregando o Viglet Turing ES" });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
loadingLabel?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Accessible names per language, for a product that ships more than one.
|
|
70
|
+
*
|
|
71
|
+
* The inline script already runs before paint, so it can read
|
|
72
|
+
* `navigator.language` and set the label from this map. Keys are language
|
|
73
|
+
* tags: an exact match wins (`"pt-BR"`), then the primary subtag (`"pt"`).
|
|
74
|
+
* Nothing matching leaves {@link loadingLabel} — or the English default —
|
|
75
|
+
* standing, which is also what a reader gets with scripting off.
|
|
76
|
+
*
|
|
77
|
+
* ```ts
|
|
78
|
+
* vigletBootLoader({ …, loadingLabels: { en: "Loading Turing", pt: "Carregando o Turing" } });
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
loadingLabels?: Record<string, string>;
|
|
53
82
|
/**
|
|
54
83
|
* HTML comment that the plugin replaces with the boot-loader markup. Put
|
|
55
84
|
* it inside `<div id="root">` in your `index.html` (or `marketing.html`).
|
|
@@ -65,12 +94,14 @@ export interface VigletBootLoaderOptions {
|
|
|
65
94
|
* build/dev time, so the loader visuals stay identical across the ecosystem and
|
|
66
95
|
* there is a single place to evolve the design.
|
|
67
96
|
*
|
|
68
|
-
* Four of the
|
|
97
|
+
* Four of the nine consumers take it: Turing, Shio, Dumont and the Cloud Home.
|
|
69
98
|
* The Cloud Console and Schools are Next applications and have no Vite build to
|
|
70
99
|
* plug into — they render their own first paint, which is what a server-rendered
|
|
71
100
|
* page does instead of a boot loader. The Roadkeep GUI has a Vite build and
|
|
72
101
|
* still does not take it: it ships as a desktop application, so its bundle is on
|
|
73
|
-
* disk and nothing is waiting on a fetch to paint.
|
|
102
|
+
* disk and nothing is waiting on a fetch to paint. The Openviglet Website has
|
|
103
|
+
* one too and is a marketing site, where a boot loader is a spinner in front of
|
|
104
|
+
* copy; Viglet Docs is Docusaurus and has no Vite build at all.
|
|
74
105
|
*
|
|
75
106
|
* What the plugin injects:
|
|
76
107
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-loader.d.ts","sourceRoot":"","sources":["../../src/vite/boot-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,MAAM,EAAE,MAAM,MAAM,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"boot-loader.d.ts","sourceRoot":"","sources":["../../src/vite/boot-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,MAAM,EAAE,MAAM,MAAM,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAuFzE"}
|
package/dist/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){let{title:n,subtitle:o,color:s,colorDark:c=s,prefix:l=`viglet`,storageKey:u=`vite-ui-theme`,testFlag:d=`__VIGLET_LOADING_TEST__`,placeholder:f=`<!--viglet-boot-loader
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){let{title:n,subtitle:o,color:s,colorDark:c=s,prefix:l=`viglet`,storageKey:u=`vite-ui-theme`,testFlag:d=`__VIGLET_LOADING_TEST__`,placeholder:f=`<!--viglet-boot-loader-->`,loadingLabel:p,loadingLabels:m}=e,h=t(s,`color`),g=t(c,`colorDark`);if(!/^[a-zA-Z][\w-]*$/.test(l))throw Error(`vigletBootLoader: prefix must start with a letter and hold only letters, digits, "-" or "_" — received ${JSON.stringify(l)}.`);let _={pfx:l,title:n,subtitle:o,color:s,colorDark:c,rgb:h,rgbDark:g,storageKey:u,testFlag:d,loadingLabel:p??`Loading ${n}`,loadingLabels:m},v=r(_),y=i(_),b=a(_);return{name:`viglet-boot-loader`,transformIndexHtml(e){let t;if(e.includes(f))t=e.replace(f,()=>b);else{let n=/(<div\b[^>]*\bid=["']root["'][^>]*>)/;n.test(e)?t=e.replace(n,e=>`${e}\n${b}\n`):(console.warn(`[viglet-boot-loader] no injection point found: the HTML holds neither the ${f} placeholder nor a <div id="root">, so no boot loader was injected.`),t=e)}return{html:t,tags:[{tag:`style`,attrs:{"data-viglet-boot-loader":``},children:v,injectTo:`head`},{tag:`script`,children:y,injectTo:`head`}]}}}}function t(e,t){let r=n(e);if(r)return r;throw Error(`vigletBootLoader: ${t} must be a hex colour like "#4169E1" or "#41E" — received ${JSON.stringify(e)}. Named CSS colours and rgb()/hsl() cannot be read for the loader's rgba tints.`)}function n(e){if(!e)return null;let t=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(e.trim());if(t){let[,e,n,r]=t;return`${Number.parseInt(e+e,16)}, ${Number.parseInt(n+n,16)}, ${Number.parseInt(r+r,16)}`}let n=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(e.trim());if(n){let[,e,t,r]=n;return`${Number.parseInt(e,16)}, ${Number.parseInt(t,16)}, ${Number.parseInt(r,16)}`}return null}function r({pfx:e,color:t,colorDark:n,rgb:r}){return`
|
|
2
2
|
html, body { margin: 0; padding: 0; height: 100%; }
|
|
3
3
|
/* Boot-loader paints body only for the pre-React loading screen. It must
|
|
4
4
|
NOT own "body { color }": that rule is unlayered, so it beats the app's
|
|
@@ -140,8 +140,19 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e)
|
|
|
140
140
|
border-radius: 999px; box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35);
|
|
141
141
|
z-index: 10000;
|
|
142
142
|
}
|
|
143
|
-
`.trim()}function i({pfx:e,storageKey:t,testFlag:n}){return`
|
|
144
|
-
(function () {
|
|
143
|
+
`.trim()}function i({pfx:e,storageKey:t,testFlag:n,loadingLabels:r}){return`
|
|
144
|
+
(function () {${r?`
|
|
145
|
+
try {
|
|
146
|
+
var labels = ${JSON.stringify(r)};
|
|
147
|
+
var tag = String(navigator.language || "");
|
|
148
|
+
var label = labels[tag] || labels[tag.split("-")[0]];
|
|
149
|
+
if (label) {
|
|
150
|
+
document.addEventListener("DOMContentLoaded", function () {
|
|
151
|
+
var region = document.getElementById(${JSON.stringify(e+`-boot-loader`)});
|
|
152
|
+
if (region) region.setAttribute("aria-label", label);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
} catch (e) { /* ignore */ }`:``}
|
|
145
156
|
try {
|
|
146
157
|
var stored = localStorage.getItem(${JSON.stringify(t)});
|
|
147
158
|
var prefersLight = stored === "light"
|
|
@@ -166,8 +177,8 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e)
|
|
|
166
177
|
}
|
|
167
178
|
} catch (e) { /* ignore */ }
|
|
168
179
|
})();
|
|
169
|
-
`.trim()}function a({pfx:e,title:t,subtitle:n}){return`
|
|
170
|
-
<div id="${e}-boot-loader" role="status" aria-live="polite" aria-label="
|
|
180
|
+
`.trim()}function a({pfx:e,title:t,subtitle:n,loadingLabel:r}){return`
|
|
181
|
+
<div id="${e}-boot-loader" role="status" aria-live="polite" aria-label="${o(r)}">
|
|
171
182
|
<div class="${e}-boot-stage">
|
|
172
183
|
<div class="${e}-boot-ring"></div>
|
|
173
184
|
<div class="${e}-boot-ring delay-1"></div>
|
package/dist/vite.es.js
CHANGED
|
@@ -1,37 +1,39 @@
|
|
|
1
1
|
//#region src/vite/boot-loader.ts
|
|
2
2
|
function e(e) {
|
|
3
|
-
let { title: n, subtitle: o, color: s, colorDark: c = s, prefix: l = "viglet", storageKey: u = "vite-ui-theme", testFlag: d = "__VIGLET_LOADING_TEST__", placeholder: f = "<!--viglet-boot-loader-->" } = e,
|
|
3
|
+
let { title: n, subtitle: o, color: s, colorDark: c = s, prefix: l = "viglet", storageKey: u = "vite-ui-theme", testFlag: d = "__VIGLET_LOADING_TEST__", placeholder: f = "<!--viglet-boot-loader-->", loadingLabel: p, loadingLabels: m } = e, h = t(s, "color"), g = t(c, "colorDark");
|
|
4
4
|
if (!/^[a-zA-Z][\w-]*$/.test(l)) throw Error(`vigletBootLoader: prefix must start with a letter and hold only letters, digits, "-" or "_" — received ${JSON.stringify(l)}.`);
|
|
5
|
-
let
|
|
5
|
+
let _ = {
|
|
6
6
|
pfx: l,
|
|
7
7
|
title: n,
|
|
8
8
|
subtitle: o,
|
|
9
9
|
color: s,
|
|
10
10
|
colorDark: c,
|
|
11
|
-
rgb:
|
|
12
|
-
rgbDark:
|
|
11
|
+
rgb: h,
|
|
12
|
+
rgbDark: g,
|
|
13
13
|
storageKey: u,
|
|
14
|
-
testFlag: d
|
|
15
|
-
|
|
14
|
+
testFlag: d,
|
|
15
|
+
loadingLabel: p ?? `Loading ${n}`,
|
|
16
|
+
loadingLabels: m
|
|
17
|
+
}, v = r(_), y = i(_), b = a(_);
|
|
16
18
|
return {
|
|
17
19
|
name: "viglet-boot-loader",
|
|
18
20
|
transformIndexHtml(e) {
|
|
19
21
|
let t;
|
|
20
|
-
if (e.includes(f)) t = e.replace(f, () =>
|
|
22
|
+
if (e.includes(f)) t = e.replace(f, () => b);
|
|
21
23
|
else {
|
|
22
24
|
let n = /(<div\b[^>]*\bid=["']root["'][^>]*>)/;
|
|
23
|
-
n.test(e) ? t = e.replace(n, (e) => `${e}\n${
|
|
25
|
+
n.test(e) ? t = e.replace(n, (e) => `${e}\n${b}\n`) : (console.warn(`[viglet-boot-loader] no injection point found: the HTML holds neither the ${f} placeholder nor a <div id="root">, so no boot loader was injected.`), t = e);
|
|
24
26
|
}
|
|
25
27
|
return {
|
|
26
28
|
html: t,
|
|
27
29
|
tags: [{
|
|
28
30
|
tag: "style",
|
|
29
31
|
attrs: { "data-viglet-boot-loader": "" },
|
|
30
|
-
children:
|
|
32
|
+
children: v,
|
|
31
33
|
injectTo: "head"
|
|
32
34
|
}, {
|
|
33
35
|
tag: "script",
|
|
34
|
-
children:
|
|
36
|
+
children: y,
|
|
35
37
|
injectTo: "head"
|
|
36
38
|
}]
|
|
37
39
|
};
|
|
@@ -202,9 +204,20 @@ function r({ pfx: e, color: t, colorDark: n, rgb: r }) {
|
|
|
202
204
|
}
|
|
203
205
|
`.trim();
|
|
204
206
|
}
|
|
205
|
-
function i({ pfx: e, storageKey: t, testFlag: n }) {
|
|
207
|
+
function i({ pfx: e, storageKey: t, testFlag: n, loadingLabels: r }) {
|
|
206
208
|
return `
|
|
207
|
-
(function () {
|
|
209
|
+
(function () {${r ? `
|
|
210
|
+
try {
|
|
211
|
+
var labels = ${JSON.stringify(r)};
|
|
212
|
+
var tag = String(navigator.language || "");
|
|
213
|
+
var label = labels[tag] || labels[tag.split("-")[0]];
|
|
214
|
+
if (label) {
|
|
215
|
+
document.addEventListener("DOMContentLoaded", function () {
|
|
216
|
+
var region = document.getElementById(${JSON.stringify(e + "-boot-loader")});
|
|
217
|
+
if (region) region.setAttribute("aria-label", label);
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
} catch (e) { /* ignore */ }` : ""}
|
|
208
221
|
try {
|
|
209
222
|
var stored = localStorage.getItem(${JSON.stringify(t)});
|
|
210
223
|
var prefersLight = stored === "light"
|
|
@@ -231,9 +244,9 @@ function i({ pfx: e, storageKey: t, testFlag: n }) {
|
|
|
231
244
|
})();
|
|
232
245
|
`.trim();
|
|
233
246
|
}
|
|
234
|
-
function a({ pfx: e, title: t, subtitle: n }) {
|
|
247
|
+
function a({ pfx: e, title: t, subtitle: n, loadingLabel: r }) {
|
|
235
248
|
return `
|
|
236
|
-
<div id="${e}-boot-loader" role="status" aria-live="polite" aria-label="
|
|
249
|
+
<div id="${e}-boot-loader" role="status" aria-live="polite" aria-label="${o(r)}">
|
|
237
250
|
<div class="${e}-boot-stage">
|
|
238
251
|
<div class="${e}-boot-ring"></div>
|
|
239
252
|
<div class="${e}-boot-ring delay-1"></div>
|
package/docs/BENTO-AUTHORING.md
CHANGED
|
@@ -74,8 +74,26 @@ and no padding of its own — a table wants `p-0` and a toolbar wants `py-2`.
|
|
|
74
74
|
Never hand-roll `bento-glass rounded-2xl border`: the moment two call sites pick
|
|
75
75
|
different radii the product is inconsistent for a reason no diff shows.
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
Three rules that outrank convenience:
|
|
78
|
+
|
|
79
|
+
- **A back-link eyebrow leads with the arrow, and only a back-link does.** The
|
|
80
|
+
eyebrow above a hero's title is small, upper-case and set in muted text, which
|
|
81
|
+
is the same treatment whether it names the parent list or merely says what kind
|
|
82
|
+
of thing this is. The arrow is what separates them: with it the line reads as
|
|
83
|
+
the way back, without it as a label. So it is not decoration, and it is not
|
|
84
|
+
optional on one page because the layout looked tidier — it is the only
|
|
85
|
+
difference a reader has.
|
|
86
|
+
- `BentoEntityShell` gives you this for free: it links the eyebrow to
|
|
87
|
+
`listRoute` and puts the arrow in, so you pass the label alone.
|
|
88
|
+
- Every other hero takes `backTo` + `backLabel`. `BentoHero` and
|
|
89
|
+
`BentoFormHero` both render `BentoBackLink` from them.
|
|
90
|
+
- An eyebrow that needs something after the link — a status marker, a count —
|
|
91
|
+
is the one case for passing `eyebrow` yourself, and it composes
|
|
92
|
+
`BentoBackLink` rather than re-typing an arrow. `eyebrow` wins over `backTo`,
|
|
93
|
+
so a page that sets both silently loses the arrow.
|
|
94
|
+
- **Never put one on an eyebrow that navigates nowhere.** An arrow promises a
|
|
95
|
+
destination, and a promise the click does not keep is worse than the plain
|
|
96
|
+
label would have been.
|
|
79
97
|
- **Identity lives in the hero, never in the form.** Title, description, icon
|
|
80
98
|
and enabled state are the shell's; a form field for any of them is a second
|
|
81
99
|
place to edit the same thing.
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<div class="eyebrow" style="color:#1447e6">REFERENCE</div>
|
|
34
34
|
<div style="display:flex;align-items:baseline;gap:12px;margin-top:4px">
|
|
35
35
|
<div style="font-size:21px;font-weight:600;letter-spacing:-0.015em">Both grounds, and nothing told by colour alone</div>
|
|
36
|
-
<div style="font-size:12.5px;color:#
|
|
36
|
+
<div style="font-size:12.5px;color:#696969">The same components twice. Every state carries a dot or a word as well as a hue.</div>
|
|
37
37
|
</div>
|
|
38
38
|
</div>
|
|
39
39
|
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
<!-- LIGHT -->
|
|
43
43
|
<div style="border:1px solid #e5e5e5;border-radius:14px;background:#ffffff;padding:15px;display:flex;flex-direction:column;gap:12px;overflow:hidden">
|
|
44
44
|
<div style="display:flex;align-items:center;gap:9px">
|
|
45
|
-
<span class="eyebrow" style="color:#
|
|
45
|
+
<span class="eyebrow" style="color:#696969">LIGHT</span>
|
|
46
46
|
<span class="mono" style="font-size:10px;color:#a1a1a1">--vg-background oklch(1 0 0)</span>
|
|
47
47
|
</div>
|
|
48
48
|
|
|
@@ -53,22 +53,22 @@
|
|
|
53
53
|
<div style="flex:1"></div>
|
|
54
54
|
<span class="ratio pass">19.8:1</span>
|
|
55
55
|
</div>
|
|
56
|
-
<div style="font-size:11.5px;color:#
|
|
57
|
-
<div style="display:flex;align-items:center;gap:7px;margin-top:7px"><span class="ratio pass">
|
|
56
|
+
<div style="font-size:11.5px;color:#696969;line-height:1.45">A line of muted description, which is the pair a panel is most likely to reach for.</div>
|
|
57
|
+
<div style="display:flex;align-items:center;gap:7px;margin-top:7px"><span class="ratio pass">5.51:1</span><span style="font-size:10px;color:#696969">muted on the ground</span></div>
|
|
58
58
|
</div>
|
|
59
59
|
|
|
60
60
|
<div>
|
|
61
|
-
<div class="eyebrow" style="color:#
|
|
61
|
+
<div class="eyebrow" style="color:#696969;margin-bottom:7px">STATUS -- A DOT AND A WORD</div>
|
|
62
62
|
<div style="display:flex;flex-wrap:wrap;gap:6px">
|
|
63
63
|
<span style="display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;border:1px solid rgba(0,188,125,0.4);background:rgba(0,188,125,0.1);color:#007a55;font-size:11px;font-weight:600"><span style="width:6px;height:6px;border-radius:999px;background:#00bc7d"></span>On</span>
|
|
64
64
|
<span style="display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;border:1px solid rgba(254,154,0,0.4);background:rgba(254,154,0,0.1);color:#973c00;font-size:11px;font-weight:600"><span style="width:6px;height:6px;border-radius:999px;background:#fe9a00"></span>Warn</span>
|
|
65
65
|
<span style="display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;border:1px solid rgba(251,44,54,0.4);background:rgba(251,44,54,0.1);color:#c10007;font-size:11px;font-weight:600"><span style="width:6px;height:6px;border-radius:999px;background:#fb2c36"></span>Error</span>
|
|
66
66
|
</div>
|
|
67
|
-
<div style="font-size:10px;color:#
|
|
67
|
+
<div style="font-size:10px;color:#696969;margin-top:6px">Tinted surfaces take the darker text token here, which is the whole reason there are two.</div>
|
|
68
68
|
</div>
|
|
69
69
|
|
|
70
70
|
<div>
|
|
71
|
-
<div class="eyebrow" style="color:#
|
|
71
|
+
<div class="eyebrow" style="color:#696969;margin-bottom:7px">THE ACCENT, AND THE FOCUS RING</div>
|
|
72
72
|
<div style="display:flex;align-items:center;gap:9px">
|
|
73
73
|
<div style="display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:10px;background:#1447e6;color:#ffffff;font-size:12.5px;font-weight:500">Primary</div>
|
|
74
74
|
<div style="display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:10px;border:1px solid #e5e5e5;color:#0a0a0a;font-size:12.5px;font-weight:500;box-shadow:0 0 0 3px rgba(20,71,230,0.35)">Focused</div>
|
|
@@ -124,12 +124,12 @@
|
|
|
124
124
|
|
|
125
125
|
<div style="margin:14px 24px 18px;border:1px solid #e5e5e5;background:#ffffff;border-radius:12px;padding:11px 14px;display:flex;gap:18px;align-items:flex-start">
|
|
126
126
|
<div style="flex:1">
|
|
127
|
-
<div class="eyebrow" style="color:#
|
|
127
|
+
<div class="eyebrow" style="color:#696969;margin-bottom:4px">THE ACCENT IS THE SAME RATIO ON BOTH GROUNDS</div>
|
|
128
128
|
<div style="font-size:12px;color:#404040;line-height:1.5">6.83 and 6.79. That is not luck -- it is what the two readable inputs are for. A product that states one accent value and lets the other ground inherit gets one of these numbers and not the other.</div>
|
|
129
129
|
</div>
|
|
130
130
|
<div style="width:1px;align-self:stretch;background:#ededed"></div>
|
|
131
131
|
<div style="width:340px">
|
|
132
|
-
<div class="eyebrow" style="color:#
|
|
132
|
+
<div class="eyebrow" style="color:#696969;margin-bottom:4px">A STATE IS NEVER ONLY A HUE</div>
|
|
133
133
|
<div style="font-size:12px;color:#404040;line-height:1.5">Every pill above carries a dot and a word. A reader who cannot separate the three hues still reads three states.</div>
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@viglet/viglet-design-system",
|
|
3
|
-
"version": "2026.3.
|
|
3
|
+
"version": "2026.3.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Viglet Design System - Shared components, hooks, utilities and design tokens for Viglet products",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -81,6 +81,7 @@
|
|
|
81
81
|
"next-themes": ">=0.4.0",
|
|
82
82
|
"react": "^18.0.0 || ^19.0.0",
|
|
83
83
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
84
|
+
"react-hook-form": "^7.71.2",
|
|
84
85
|
"react-i18next": ">=15.0.0",
|
|
85
86
|
"react-router-dom": "^7.0.0",
|
|
86
87
|
"sonner": ">=2.0.0"
|
|
@@ -123,7 +124,6 @@
|
|
|
123
124
|
"date-fns": "^4.1.0",
|
|
124
125
|
"lucide-react": "^1.0.1",
|
|
125
126
|
"radix-ui": "^1.4.3",
|
|
126
|
-
"react-hook-form": "^7.71.2",
|
|
127
127
|
"react-resizable-panels": "^4.7.3",
|
|
128
128
|
"tailwind-merge": "^3.5.0",
|
|
129
129
|
"vaul": "^1.1.2",
|
|
@@ -157,6 +157,7 @@
|
|
|
157
157
|
"jsdom": "^30.0.1",
|
|
158
158
|
"next-themes": "^0.4.6",
|
|
159
159
|
"playwright": "^1.62.1",
|
|
160
|
+
"react-hook-form": "^7.71.2",
|
|
160
161
|
"react-i18next": "^17.0.12",
|
|
161
162
|
"react-router-dom": "^7.0.0",
|
|
162
163
|
"semver": "^7.8.5",
|
|
@@ -179,7 +180,7 @@
|
|
|
179
180
|
"build": "tsc -b && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && vite build && node -e \"require('fs').cpSync('src/styles/preset.css','dist/preset.css')\" && node scripts/build-fonts.mjs && node scripts/emit-exports.mjs && node scripts/check-dist.mjs && node scripts/check-exports.mjs && node scripts/check-size.mjs",
|
|
180
181
|
"check:dist": "node scripts/check-dist.mjs",
|
|
181
182
|
"check:size": "node scripts/check-size.mjs",
|
|
182
|
-
"typecheck": "tsc -b --force",
|
|
183
|
+
"typecheck": "tsc -b --force && tsc -p .storybook/tsconfig.json --noEmit",
|
|
183
184
|
"lint": "eslint . --max-warnings 0",
|
|
184
185
|
"test": "vitest run",
|
|
185
186
|
"test:watch": "vitest",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BocRIvOZ.cjs");let t=require("clsx"),n=require("tailwind-merge"),r=require("react");r=e.t(r,1);let i=require("react/jsx-runtime"),a=require("@radix-ui/react-slot"),o=require("class-variance-authority"),s=require("react-i18next"),c=require("@radix-ui/react-dialog");c=e.t(c,1);let l=require("@radix-ui/react-dropdown-menu");l=e.t(l,1);let u=require("@radix-ui/react-tooltip");u=e.t(u,1);function d(...e){return(0,n.twMerge)((0,t.clsx)(e))}function f(e){let[t=``,n]=e.trim().replaceAll(`-`,`_`).toUpperCase().split(`_`);return{language:t,region:n?.length===2?n:null}}var p=(e,t=10)=>{if(!e||e.length<=t)return e??``;if(t<3)return`...`.slice(0,Math.max(t,0));let n=t-3,r=Math.ceil(n/2),i=Math.floor(n/2);return e.substring(0,r)+`...`+e.substring(e.length-i)},m=e=>{let{region:t}=f(e);return t?t.split(``).map(e=>String.fromCodePoint((e.codePointAt(0)??0)+127397)).join(``):`🌐`},h=e=>{let t=0;for(let n=0;n<e.length;n++)t=(e.codePointAt(n)??0)+((t<<5)-t);let n=Math.abs(t)%360;return{h:n,light:{bg:`hsl(${n}, 70%, 95%)`,text:`hsl(${n}, 70%, 20%)`,border:`hsl(${n}, 70%, 90%)`},dark:{bg:`hsl(${n}, 50%, 15%)`,text:`hsl(${n}, 80%, 80%)`,border:`hsl(${n}, 50%, 25%)`}}},g=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),_=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),v=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),y=e=>{let t=v(e);return t.charAt(0).toUpperCase()+t.slice(1)},b={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},ee=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},te=(0,r.createContext)({}),ne=()=>(0,r.useContext)(te),x=(0,r.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:i,className:a=``,children:o,iconNode:s,...c},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=ne()??{},h=i??f?Number(n??d)*24/Number(t??u):n??d;return(0,r.createElement)(`svg`,{ref:l,...b,width:t??u??b.width,height:t??u??b.height,stroke:e??p,strokeWidth:h,className:g(`lucide`,m,a),...!o&&!ee(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(o)?o:[o]])}),S=(e,t)=>{let n=(0,r.forwardRef)(({className:n,...i},a)=>(0,r.createElement)(x,{ref:a,iconNode:t,className:g(`lucide-${_(y(e))}`,`lucide-${e}`,n),...i}));return n.displayName=y(e),n},C=S(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),w=S(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),re=S(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),ie=S(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),T=S(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),E=(0,o.cva)(`inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-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 transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});function D({className:e,variant:t,asChild:n=!1,...r}){return(0,i.jsx)(n?a.Slot:`span`,{"data-slot":`badge`,className:d(E({variant:t}),e),...r})}function O({...e}){return(0,i.jsx)(c.Root,{"data-slot":`dialog`,...e})}function k({...e}){return(0,i.jsx)(c.Trigger,{"data-slot":`dialog-trigger`,...e})}function A({...e}){return(0,i.jsx)(c.Portal,{"data-slot":`dialog-portal`,...e})}function j({...e}){return(0,i.jsx)(c.Close,{"data-slot":`dialog-close`,...e})}function M({className:e,...t}){return(0,i.jsx)(c.Overlay,{"data-slot":`dialog-overlay`,className:d(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,e),...t})}function N({className:e,children:t,showCloseButton:n=!0,...r}){let{t:a}=(0,s.useTranslation)();return(0,i.jsxs)(A,{"data-slot":`dialog-portal`,children:[(0,i.jsx)(M,{}),(0,i.jsxs)(c.Content,{"data-slot":`dialog-content`,className:d(`bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...r,children:[t,n&&(0,i.jsxs)(c.Close,{"data-slot":`dialog-close`,className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,i.jsx)(T,{}),(0,i.jsx)(`span`,{className:`sr-only`,children:a(`dialog.close`,{defaultValue:`Close`})})]})]})]})}function P({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`dialog-header`,className:d(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function F({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`dialog-footer`,className:d(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function I({className:e,...t}){return(0,i.jsx)(c.Title,{"data-slot":`dialog-title`,className:d(`text-lg leading-none font-semibold`,e),...t})}function L({className:e,...t}){return(0,i.jsx)(c.Description,{"data-slot":`dialog-description`,className:d(`text-muted-foreground text-sm`,e),...t})}function R({...e}){return(0,i.jsx)(l.Root,{"data-slot":`dropdown-menu`,...e})}function z({...e}){return(0,i.jsx)(l.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function B({...e}){return(0,i.jsx)(l.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function V({className:e,sideOffset:t=4,...n}){return(0,i.jsx)(l.Portal,{children:(0,i.jsx)(l.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:d(`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),...n})})}function H({...e}){return(0,i.jsx)(l.Group,{"data-slot":`dropdown-menu-group`,...e})}function ae({className:e,inset:t,variant:n=`default`,...r}){return(0,i.jsx)(l.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:d(`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),...r})}function U({className:e,children:t,checked:n,...r}){return(0,i.jsxs)(l.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:d(`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:n,...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)(l.ItemIndicator,{children:(0,i.jsx)(C,{className:`size-4`})})}),t]})}function W({...e}){return(0,i.jsx)(l.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function G({className:e,children:t,...n}){return(0,i.jsxs)(l.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:d(`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),...n,children:[(0,i.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,i.jsx)(l.ItemIndicator,{children:(0,i.jsx)(re,{className:`size-2 fill-current`})})}),t]})}function K({className:e,inset:t,...n}){return(0,i.jsx)(l.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:d(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function q({className:e,...t}){return(0,i.jsx)(l.Separator,{"data-slot":`dropdown-menu-separator`,className:d(`bg-border -mx-1 my-1 h-px`,e),...t})}function J({className:e,...t}){return(0,i.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:d(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function oe({...e}){return(0,i.jsx)(l.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function se({className:e,inset:t,children:n,...r}){return(0,i.jsxs)(l.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:d(`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),...r,children:[n,(0,i.jsx)(w,{className:`ml-auto size-4`})]})}function ce({className:e,...t}){return(0,i.jsx)(l.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:d(`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),...t})}var Y=(0,o.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 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:ring-[3px]`,{variants:{variant:{default:[`bg-gradient-to-r from-[var(--vg-accent-fill-from)] to-[var(--vg-accent-fill-to)] text-white`,`shadow-md shadow-[var(--vg-accent-shadow)]`,`hover:from-[var(--vg-accent-fill-from-hover)] hover:to-[var(--vg-accent-fill-to-hover)]`,`hover:shadow-lg hover:shadow-[var(--vg-accent-shadow-hover)]`,`focus-visible:ring-[var(--vg-accent-ring)]`].join(` `),secondary:[`bg-gradient-to-r from-slate-600 to-slate-700 text-white`,`shadow-md shadow-slate-500/25`,`hover:from-slate-700 hover:to-slate-800`,`hover:shadow-lg hover:shadow-slate-500/30`,`focus-visible:ring-slate-500/50`,`dark:from-slate-500 dark:to-slate-600`,`dark:shadow-slate-500/20`,`dark:hover:from-slate-600 dark:hover:to-slate-700`,`dark:hover:shadow-slate-500/25`,`dark:focus-visible:ring-slate-400/50`].join(` `),destructive:[`bg-gradient-to-r from-red-600 to-rose-600 text-white`,`shadow-md shadow-red-500/25`,`hover:from-red-700 hover:to-rose-700`,`hover:shadow-lg hover:shadow-red-500/30`,`focus-visible:ring-red-500/50`,`dark:from-red-500 dark:to-rose-500`,`dark:shadow-red-500/20`,`dark:hover:from-red-600 dark:hover:to-rose-600`,`dark:hover:shadow-red-500/25`,`dark:focus-visible:ring-red-400/50`].join(` `),success:[`bg-gradient-to-r from-emerald-600 to-teal-600 text-white`,`shadow-md shadow-emerald-500/25`,`hover:from-emerald-700 hover:to-teal-700`,`hover:shadow-lg hover:shadow-emerald-500/30`,`focus-visible:ring-emerald-500/50`,`dark:from-emerald-500 dark:to-teal-500`,`dark:shadow-emerald-500/20`,`dark:hover:from-emerald-600 dark:hover:to-teal-600`,`dark:hover:shadow-emerald-500/25`,`dark:focus-visible:ring-emerald-400/50`].join(` `),outline:[`border-2 border-[var(--vg-accent-fg)] text-[var(--vg-accent-fg)] bg-transparent`,`hover:bg-[var(--vg-accent-fill-from)] hover:text-white`,`shadow-sm hover:shadow-md hover:shadow-[var(--vg-accent-shadow)]`,`focus-visible:ring-[var(--vg-accent-ring)]`].join(` `),ghost:[`bg-transparent text-[var(--vg-accent-fg)]`,`hover:bg-[var(--vg-accent-surface)]`,`focus-visible:ring-[var(--vg-accent-ring)]`].join(` `)},size:{default:`h-11 px-5 py-2 has-[>svg]:px-4`,sm:`h-9 rounded-md gap-1.5 px-4 has-[>svg]:px-3 text-xs`,lg:`h-12 rounded-md px-8 has-[>svg]:px-6 text-base`,icon:`size-11`,"icon-sm":`size-9`,"icon-lg":`size-12`}},defaultVariants:{variant:`default`,size:`default`}});function le({className:e,variant:t,size:n,asChild:r=!1,loading:o=!1,...s}){let c=d(Y({variant:t,size:n,className:e}));return(0,i.jsx)(r?a.Slot:`button`,{"data-slot":`gradient-button`,className:c,disabled:o||s.disabled,...s,children:o?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`svg`,{className:`size-4 animate-spin`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,i.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,i.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})]}),s.children]}):s.children})}function X({className:e,type:t,...n}){return(0,i.jsx)(`input`,{type:t,"data-slot":`input`,className:d(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent pl-3 pr-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`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`,e),...n})}function ue({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`skeleton`,className:d(`bg-accent animate-pulse rounded-md`,e),...t})}function Z({delayDuration:e=0,...t}){return(0,i.jsx)(u.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function de({...e}){return(0,i.jsx)(Z,{children:(0,i.jsx)(u.Root,{"data-slot":`tooltip`,...e})})}function fe({...e}){return(0,i.jsx)(u.Trigger,{"data-slot":`tooltip-trigger`,...e})}function pe({className:e,sideOffset:t=0,children:n,...r}){return(0,i.jsx)(u.Portal,{children:(0,i.jsxs)(u.Content,{"data-slot":`tooltip-content`,sideOffset:t,className:d(`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),...r,children:[n,(0,i.jsx)(u.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}var me=({text:e,href:t,onClick:n,className:r,prefix:a})=>{if(!e)return null;let o=h(e);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(D,{variant:`outline`,title:e,onClick:()=>t&&n?.(t),className:`text-xs font-medium px-2 py-0.5 gap-1.5 cursor-pointer transition-all hover:opacity-80 dynamic-badge-${e.length} ${r??``}`,style:{"--badge-bg":o.light.bg,"--badge-text":o.light.text,"--badge-border":o.light.border,"--badge-dark-bg":o.dark.bg,"--badge-dark-text":o.dark.text,"--badge-dark-border":o.dark.border,backgroundColor:`var(--badge-bg)`,color:`var(--badge-text)`,borderColor:`var(--badge-border)`},children:[a,(0,i.jsx)(`span`,{dangerouslySetInnerHTML:{__html:e}})]}),(0,i.jsx)(`style`,{suppressHydrationWarning:!0,children:`
|
|
2
|
-
.dark [title="${e}"] {
|
|
3
|
-
background-color: var(--badge-dark-bg) !important;
|
|
4
|
-
color: var(--badge-dark-text) !important;
|
|
5
|
-
border-color: var(--badge-dark-border) !important;
|
|
6
|
-
}
|
|
7
|
-
`})]})},he={AR:`SA`,BN:`BD`,CA:`ES`,CS:`CZ`,DA:`DK`,DE:`DE`,EL:`GR`,EN:`US`,EU:`ES`,FA:`IR`,FI:`FI`,FIL:`PH`,FR:`FR`,GA:`IE`,GL:`ES`,GU:`IN`,HE:`IL`,HI:`IN`,HU:`HU`,ID:`ID`,IT:`IT`,JA:`JP`,KN:`IN`,KO:`KR`,MR:`IN`,MSA:`MY`,NL:`NL`,NO:`NO`,PL:`PL`,PT:`BR`,RO:`RO`,RU:`RU`,ES:`ES`,SV:`SE`,TA:`IN`,TH:`TH`,TR:`TR`,UK:`UA`,UR:`PK`,VI:`VN`,ZH:`CN`},Q={UK:`GB`};function $(e){if(!e)return``;let{language:t,region:n}=f(e);if(n)return(Q[n]||n).toLowerCase();let r=he[t];return r?r.toLowerCase():(Q[t]||t).toLowerCase()}var ge=({locale:e,className:t})=>{let n=$(e),[a,o]=(0,r.useState)(null),s=a===n;return(0,i.jsxs)(D,{variant:`secondary`,className:`font-mono gap-2 py-1 pl-1 pr-2 w-fit ${t}`,children:[!s&&n?(0,i.jsx)(`img`,{src:`https://flagcdn.com/w40/${n}.png`,alt:n,onError:()=>o(n),className:`w-5 h-3.5 object-cover rounded-sm shadow-sm`}):(0,i.jsx)(ie,{className:`w-3.5 h-3.5 text-muted-foreground`}),(0,i.jsx)(`span`,{className:`text-xs font-bold uppercase tracking-tight leading-none`,children:e})]})};Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return T}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BocRIvOZ.cjs"),t=require("./badge-locale-hQyWhAKe.cjs");let n=require("react");n=e.t(n,1);let r=require("react/jsx-runtime"),i=require("@radix-ui/react-avatar");i=e.t(i,1);let a=require("@radix-ui/react-slot"),o=require("class-variance-authority"),s=require("react-i18next"),c=require("@radix-ui/react-dialog");c=e.t(c,1);let l=require("@radix-ui/react-select");l=e.t(l,1);let u=require("@radix-ui/react-separator");u=e.t(u,1);let d=require("next-themes");var f=t.H(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),p=t.H(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),m=t.H(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),h=t.H(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),g=t.H(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),_=t.H(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),v=t.H(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),y=t.H(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]);function ee({className:e,...n}){return(0,r.jsx)(i.Root,{"data-slot":`avatar`,className:t.U(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...n})}function te({className:e,...n}){return(0,r.jsx)(i.Image,{"data-slot":`avatar-image`,className:t.U(`aspect-square size-full`,e),...n})}function ne({className:e,...n}){return(0,r.jsx)(i.Fallback,{"data-slot":`avatar-fallback`,className:t.U(`bg-muted flex size-full items-center justify-center rounded-full`,e),...n})}function re({...e}){let{t}=(0,s.useTranslation)();return(0,r.jsx)(`nav`,{"aria-label":t(`common.breadcrumb`,{defaultValue:`Breadcrumb`}),"data-slot":`breadcrumb`,...e})}function ie({className:e,...n}){return(0,r.jsx)(`ol`,{"data-slot":`breadcrumb-list`,className:t.U(`text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5`,e),...n})}function ae({className:e,...n}){return(0,r.jsx)(`li`,{"data-slot":`breadcrumb-item`,className:t.U(`inline-flex items-center gap-1.5`,e),...n})}function oe({asChild:e,className:n,...i}){return(0,r.jsx)(e?a.Slot:`a`,{"data-slot":`breadcrumb-link`,className:t.U(`hover:text-foreground transition-colors`,n),...i})}function se({className:e,...n}){return(0,r.jsx)(`span`,{"data-slot":`breadcrumb-page`,role:`link`,"aria-disabled":`true`,"aria-current":`page`,className:t.U(`text-foreground font-normal`,e),...n})}function b({children:e,className:n,...i}){return(0,r.jsx)(`li`,{"data-slot":`breadcrumb-separator`,role:`presentation`,"aria-hidden":`true`,className:t.U(`[&>svg]:size-3.5`,n),...i,children:e??(0,r.jsx)(t.B,{})})}function x({className:e,...n}){let{t:i}=(0,s.useTranslation)();return(0,r.jsxs)(`span`,{"data-slot":`breadcrumb-ellipsis`,role:`presentation`,"aria-hidden":`true`,className:t.U(`flex size-9 items-center justify-center`,e),...n,children:[(0,r.jsx)(m,{className:`size-4`}),(0,r.jsx)(`span`,{className:`sr-only`,children:i(`common.more`,{defaultValue:`More`})})]})}function S({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card`,className:t.U(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...n})}function C({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-header`,className:t.U(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,e),...n})}function w({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-title`,className:t.U(`leading-none font-semibold`,e),...n})}function T({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-description`,className:t.U(`text-muted-foreground text-sm`,e),...n})}function ce({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-action`,className:t.U(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...n})}function le({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-content`,className:t.U(`px-6`,e),...n})}function ue({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`card-footer`,className:t.U(`flex items-center px-6 [.border-t]:pt-6`,e),...n})}function de({...e}){return(0,r.jsx)(l.Root,{"data-slot":`select`,...e})}function E({...e}){return(0,r.jsx)(l.Group,{"data-slot":`select-group`,...e})}function D({...e}){return(0,r.jsx)(l.Value,{"data-slot":`select-value`,...e})}function O({className:e,size:n=`default`,children:i,...a}){return(0,r.jsxs)(l.Trigger,{"data-slot":`select-trigger`,"data-size":n,className:t.U(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...a,children:[i,(0,r.jsx)(l.Icon,{asChild:!0,children:(0,r.jsx)(f,{className:`size-4 opacity-50`})})]})}function k({className:e,children:n,position:i=`popper`,align:a=`center`,...o}){return(0,r.jsx)(l.Portal,{children:(0,r.jsxs)(l.Content,{"data-slot":`select-content`,className:t.U(`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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,i===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:i,align:a,...o,children:[(0,r.jsx)(N,{}),(0,r.jsx)(l.Viewport,{className:t.U(`p-1`,i===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:n}),(0,r.jsx)(P,{})]})})}function A({className:e,...n}){return(0,r.jsx)(l.Label,{"data-slot":`select-label`,className:t.U(`text-muted-foreground px-2 py-1.5 text-xs`,e),...n})}function j({className:e,children:n,...i}){return(0,r.jsxs)(l.Item,{"data-slot":`select-item`,className:t.U(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 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 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...i,children:[(0,r.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,r.jsx)(l.ItemIndicator,{children:(0,r.jsx)(t.V,{className:`size-4`})})}),(0,r.jsx)(l.ItemText,{children:n})]})}function M({className:e,...n}){return(0,r.jsx)(l.Separator,{"data-slot":`select-separator`,className:t.U(`bg-border pointer-events-none -mx-1 my-1 h-px`,e),...n})}function N({className:e,...n}){return(0,r.jsx)(l.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:t.U(`flex cursor-default items-center justify-center py-1`,e),...n,children:(0,r.jsx)(p,{className:`size-4`})})}function P({className:e,...n}){return(0,r.jsx)(l.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:t.U(`flex cursor-default items-center justify-center py-1`,e),...n,children:(0,r.jsx)(f,{className:`size-4`})})}function F({className:e,orientation:n=`horizontal`,decorative:i=!0,...a}){return(0,r.jsx)(u.Root,{"data-slot":`separator`,decorative:i,orientation:n,className:t.U(`bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px`,e),...a})}function I({...e}){return(0,r.jsx)(c.Root,{"data-slot":`sheet`,...e})}function L({...e}){return(0,r.jsx)(c.Trigger,{"data-slot":`sheet-trigger`,...e})}function R({...e}){return(0,r.jsx)(c.Close,{"data-slot":`sheet-close`,...e})}function z({...e}){return(0,r.jsx)(c.Portal,{"data-slot":`sheet-portal`,...e})}function B({className:e,...n}){return(0,r.jsx)(c.Overlay,{"data-slot":`sheet-overlay`,className:t.U(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,e),...n})}function V({className:e,children:n,side:i=`right`,...a}){let{t:o}=(0,s.useTranslation)();return(0,r.jsxs)(z,{children:[(0,r.jsx)(B,{}),(0,r.jsxs)(c.Content,{"data-slot":`sheet-content`,className:t.U(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,i===`right`&&`data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm`,i===`left`&&`data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm`,i===`top`&&`data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b`,i===`bottom`&&`data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t`,e),...a,children:[n,(0,r.jsxs)(c.Close,{className:`ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none`,children:[(0,r.jsx)(t.z,{className:`size-4`}),(0,r.jsx)(`span`,{className:`sr-only`,children:o(`dialog.close`,{defaultValue:`Close`})})]})]})]})}function H({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`sheet-header`,className:t.U(`flex flex-col gap-1.5 p-4`,e),...n})}function fe({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`sheet-footer`,className:t.U(`mt-auto flex flex-col gap-2 p-4`,e),...n})}function U({className:e,...n}){return(0,r.jsx)(c.Title,{"data-slot":`sheet-title`,className:t.U(`text-foreground font-semibold`,e),...n})}function W({className:e,...n}){return(0,r.jsx)(c.Description,{"data-slot":`sheet-description`,className:t.U(`text-muted-foreground text-sm`,e),...n})}var pe=`(max-width: 767px)`;function G(){return window.matchMedia(pe)}function me(e){let t=G();return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function K(){return n.useSyncExternalStore(me,()=>G().matches,()=>!1)}var he=`sidebar_state`,ge=604800,_e=`16rem`,ve=`18rem`,q=`3rem`,ye=`b`,J=n.createContext(null);function Y(){let e=n.useContext(J);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function X(){return n.useContext(J)}function be({defaultOpen:e=!0,open:i,onOpenChange:a,className:o,style:s,children:c,...l}){let u=K(),[d,f]=n.useState(!1),[p,m]=n.useState(e),h=i??p,g=n.useCallback(e=>{let t=typeof e==`function`?e(h):e;a?a(t):m(t),document.cookie=`${he}=${t}; path=/; max-age=${ge}`},[a,h]),_=n.useCallback(()=>u?f(e=>!e):g(e=>!e),[u,g,f]);n.useEffect(()=>{let e=e=>{e.key===ye&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())};return globalThis.addEventListener(`keydown`,e),()=>globalThis.removeEventListener(`keydown`,e)},[_]);let v=h?`expanded`:`collapsed`,y=n.useMemo(()=>({state:v,open:h,setOpen:g,isMobile:u,openMobile:d,setOpenMobile:f,toggleSidebar:_}),[v,h,g,u,d,f,_]);return(0,r.jsx)(J.Provider,{value:y,children:(0,r.jsx)(t.o,{delayDuration:0,children:(0,r.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":_e,"--sidebar-width-icon":q,...s},className:t.U(`group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full`,o),...l,children:c})})})}function xe({side:e=`left`,variant:n=`sidebar`,collapsible:i=`offcanvas`,position:a=`fixed`,className:o,children:c,...l}){let{isMobile:u,state:d,openMobile:f,setOpenMobile:p}=Y(),{t:m}=(0,s.useTranslation)();return i===`none`?(0,r.jsx)(`div`,{"data-slot":`sidebar`,className:t.U(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,o),...l,children:c}):u?(0,r.jsx)(I,{open:f,onOpenChange:p,...l,children:(0,r.jsxs)(V,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,className:`bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden`,style:{"--sidebar-width":ve},side:e,children:[(0,r.jsxs)(H,{className:`sr-only`,children:[(0,r.jsx)(U,{children:m(`sidebar.title`,{defaultValue:`Sidebar`})}),(0,r.jsx)(W,{children:m(`sidebar.description`,{defaultValue:`Displays the mobile sidebar.`})})]}),(0,r.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:c})]})}):(0,r.jsxs)(`div`,{className:t.U(`group peer text-sidebar-foreground hidden md:block`,a===`absolute`&&`relative`),"data-state":d,"data-collapsible":d===`collapsed`?i:``,"data-variant":n,"data-side":e,"data-slot":`sidebar`,children:[(0,r.jsx)(`div`,{"data-slot":`sidebar-gap`,className:t.U(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,n===`floating`||n===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,r.jsx)(`div`,{"data-slot":`sidebar-container`,className:t.U(`inset-y-0 z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,a===`absolute`?`h-full`:`h-svh`,a===`absolute`?`absolute`:`fixed`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,n===`floating`||n===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,o),...l,children:(0,r.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:`bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm`,children:c})})]})}function Se({className:e,onClick:n,...i}){let a=X(),{t:o}=(0,s.useTranslation)();if(!a)return null;let{toggleSidebar:c,isMobile:l}=a;return(0,r.jsxs)(t.u,{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,className:t.U(`size-7`,e),onClick:e=>{n?.(e),c()},...i,children:[l?(0,r.jsx)(h,{}):(0,r.jsx)(v,{}),(0,r.jsx)(`span`,{className:`sr-only`,children:o(`sidebar.toggle`,{defaultValue:`Toggle Sidebar`})})]})}function Ce({className:e,...n}){let{toggleSidebar:i}=Y(),{t:a}=(0,s.useTranslation)(),o=a(`sidebar.toggle`,{defaultValue:`Toggle Sidebar`});return(0,r.jsx)(`button`,{"data-sidebar":`rail`,"data-slot":`sidebar-rail`,"aria-label":o,tabIndex:-1,onClick:i,title:o,className:t.U(`hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex`,`in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...n})}function we({className:e,...n}){return(0,r.jsx)(`main`,{"data-slot":`sidebar-inset`,className:t.U(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,e),...n})}function Te({className:e,...n}){return(0,r.jsx)(t.l,{"data-slot":`sidebar-input`,"data-sidebar":`input`,className:t.U(`bg-background h-8 w-full shadow-none`,e),...n})}function Ee({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:t.U(`flex flex-col gap-2 p-2`,e),...n})}function De({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:t.U(`flex flex-col gap-2 p-2`,e),...n})}function Oe({className:e,...n}){return(0,r.jsx)(F,{"data-slot":`sidebar-separator`,"data-sidebar":`separator`,className:t.U(`bg-sidebar-border mx-2 w-auto`,e),...n})}function ke({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:t.U(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...n})}function Ae({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:t.U(`relative flex w-full min-w-0 flex-col p-2`,e),...n})}function je({className:e,asChild:n=!1,...i}){return(0,r.jsx)(n?a.Slot:`div`,{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:t.U(`text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0`,e),...i})}function Me({className:e,asChild:n=!1,...i}){return(0,r.jsx)(n?a.Slot:`button`,{"data-slot":`sidebar-group-action`,"data-sidebar":`group-action`,className:t.U(`text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`group-data-[collapsible=icon]:hidden`,e),...i})}function Ne({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:t.U(`w-full text-sm`,e),...n})}function Pe({className:e,...n}){return(0,r.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:t.U(`flex w-full min-w-0 flex-col gap-1`,e),...n})}function Fe({className:e,...n}){return(0,r.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:t.U(`group/menu-item relative`,e),...n})}var Ie=(0,o.cva)(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_var(--vg-sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--vg-sidebar-accent)]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});function Le({asChild:e=!1,isActive:n=!1,variant:i=`default`,size:o=`default`,tooltip:s,className:c,...l}){let u=e?a.Slot:`button`,{isMobile:d,state:f}=Y(),p=(0,r.jsx)(u,{"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":o,"data-active":n,className:t.U(Ie({variant:i,size:o}),c),...l});return s?(typeof s==`string`&&(s={children:s}),(0,r.jsxs)(t.i,{children:[(0,r.jsx)(t.s,{asChild:!0,children:p}),(0,r.jsx)(t.a,{side:`right`,align:`center`,hidden:f!==`collapsed`||d,...s})]})):p}function Re({className:e,asChild:n=!1,showOnHover:i=!1,...o}){return(0,r.jsx)(n?a.Slot:`button`,{"data-slot":`sidebar-menu-action`,"data-sidebar":`menu-action`,className:t.U(`text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 md:after:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,i&&`peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0`,e),...o})}function ze({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,className:t.U(`text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,e),...n})}function Be(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)}function Ve({className:e,showIcon:i=!1,...a}){let o=`${50+Be(n.useId())%40}%`;return(0,r.jsxs)(`div`,{"data-slot":`sidebar-menu-skeleton`,"data-sidebar":`menu-skeleton`,className:t.U(`flex h-8 items-center gap-2 rounded-md px-2`,e),...a,children:[i&&(0,r.jsx)(t.c,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,r.jsx)(t.c,{className:`h-4 max-w-(--skeleton-width) flex-1`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":o}})]})}function He({className:e,...n}){return(0,r.jsx)(`ul`,{"data-slot":`sidebar-menu-sub`,"data-sidebar":`menu-sub`,className:t.U(`border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5`,`group-data-[collapsible=icon]:hidden`,e),...n})}function Ue({className:e,...n}){return(0,r.jsx)(`li`,{"data-slot":`sidebar-menu-sub-item`,"data-sidebar":`menu-sub-item`,className:t.U(`group/menu-sub-item relative`,e),...n})}function We({asChild:e=!1,size:n=`md`,isActive:i=!1,className:o,...s}){return(0,r.jsx)(e?a.Slot:`a`,{"data-slot":`sidebar-menu-sub-button`,"data-sidebar":`menu-sub-button`,"data-size":n,"data-active":i,className:t.U(`text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,`data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground`,n===`sm`&&`text-xs`,n===`md`&&`text-sm`,`group-data-[collapsible=icon]:hidden`,o),...s})}function Ge({children:e,defaultTheme:t=`system`,storageKey:n=`vite-ui-theme`,...i}){return(0,r.jsx)(d.ThemeProvider,{attribute:`class`,enableSystem:!0,defaultTheme:t,storageKey:n,...i,children:e})}var Z=()=>{let{theme:e,setTheme:t}=(0,d.useTheme)();return{theme:e??`system`,setTheme:t}};function Ke(){let{setTheme:e}=Z(),{t:n}=(0,s.useTranslation)();return(0,r.jsxs)(t.f,{children:[(0,r.jsx)(t.E,{asChild:!0,children:(0,r.jsxs)(t.u,{variant:`outline`,size:`sm`,children:[(0,r.jsx)(y,{className:`h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),(0,r.jsx)(_,{className:`absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),(0,r.jsx)(`span`,{className:`sr-only`,children:n(`theme.toggle`)})]})}),(0,r.jsxs)(t.m,{align:`end`,children:[(0,r.jsx)(t.g,{onClick:()=>e(`light`),children:n(`theme.light`)}),(0,r.jsx)(t.g,{onClick:()=>e(`dark`),children:n(`theme.dark`)}),(0,r.jsx)(t.g,{onClick:()=>e(`system`),children:n(`theme.system`)})]})]})}var Q=[{value:`light`,labelKey:`theme.light`,icon:y},{value:`dark`,labelKey:`theme.dark`,icon:_},{value:`system`,labelKey:`theme.system`,icon:g}];function qe(){let{theme:e,setTheme:t}=Z(),{t:n}=(0,s.useTranslation)(),i=Q.find(t=>t.value===e)??Q[2];function a(){let n=Q[(Q.findIndex(t=>t.value===e)+1)%Q.length];t(n.value)}let o=i.icon;return(0,r.jsxs)(`button`,{type:`button`,title:n(`theme.toggle`),onClick:a,className:`md:hidden flex items-center gap-3 rounded-lg px-3 py-2 text-sm text-sidebar-foreground hover:bg-sidebar-accent transition-colors w-full`,children:[(0,r.jsx)(o,{className:`size-4 shrink-0`}),(0,r.jsx)(`span`,{children:n(`theme.modeLabel`,{mode:n(i.labelKey)})})]})}var $=(0,n.createContext)(void 0);function Je({children:e}){let[t,i]=(0,n.useState)([]),a=(0,n.useCallback)(e=>{i(t=>t.length>0&&t[t.length-1].label===e.label?t:[...t,e])},[]),o=(0,n.useCallback)(()=>{i(e=>e.slice(0,-1))},[]),s=(0,n.useCallback)((e=[])=>{i(e)},[]),c=(0,n.useMemo)(()=>({items:t,setItems:i,pushItem:a,popItem:o,resetBreadcrumb:s}),[t,a,o,s]);return(0,r.jsx)($.Provider,{value:c,children:e})}var Ye=()=>{let e=(0,n.useContext)($);if(!e)throw Error(`useBreadcrumb must be used within Provider`);return e},Xe=()=>(0,n.useContext)($);Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"_t",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return qe}}),Object.defineProperty(exports,"at",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"ct",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,"dt",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"et",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"ft",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"gt",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"ht",{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,"it",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"lt",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"mt",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,"nt",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,"ot",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"pt",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,"rt",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"st",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,"tt",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"ut",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return H}});
|