@viglet/viglet-design-system 2026.3.14 → 2026.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +44 -8
  2. package/dist/bento/bento-data-table.d.ts +1 -1
  3. package/dist/bento/bento-data-table.d.ts.map +1 -1
  4. package/dist/bento/bento-entity-shell.d.ts +9 -1
  5. package/dist/bento/bento-entity-shell.d.ts.map +1 -1
  6. package/dist/bento/bento-form-hero.d.ts +1 -1
  7. package/dist/bento/bento-form-hero.d.ts.map +1 -1
  8. package/dist/bento/bento-hero.d.ts +14 -1
  9. package/dist/bento/bento-hero.d.ts.map +1 -1
  10. package/dist/bento/bento-list-page.d.ts +43 -11
  11. package/dist/bento/bento-list-page.d.ts.map +1 -1
  12. package/dist/bento/bento-nav-rail.d.ts +8 -2
  13. package/dist/bento/bento-nav-rail.d.ts.map +1 -1
  14. package/dist/bento/bento-nav.d.ts +7 -0
  15. package/dist/bento/bento-nav.d.ts.map +1 -1
  16. package/dist/bento/bento-shell.d.ts +5 -3
  17. package/dist/bento/bento-shell.d.ts.map +1 -1
  18. package/dist/bento/bento-trail.d.ts +27 -0
  19. package/dist/bento/bento-trail.d.ts.map +1 -0
  20. package/dist/bento/index.d.ts +1 -0
  21. package/dist/bento/index.d.ts.map +1 -1
  22. package/dist/bento.cjs +4 -4
  23. package/dist/bento.css +3 -3
  24. package/dist/bento.es.js +783 -655
  25. package/dist/catalogue.json +103 -19
  26. package/dist/components/ui/viglet-assistant.d.ts +7 -1
  27. package/dist/components/ui/viglet-assistant.d.ts.map +1 -1
  28. package/dist/exports.json +4 -1
  29. package/dist/i18n/index.d.ts +10 -0
  30. package/dist/i18n/index.d.ts.map +1 -1
  31. package/dist/i18n/locales/en/assistant.json.d.ts +2 -1
  32. package/dist/i18n/locales/en/bento.json.d.ts +6 -2
  33. package/dist/i18n/locales/pt/assistant.json.d.ts +2 -1
  34. package/dist/i18n/locales/pt/bento.json.d.ts +6 -2
  35. package/dist/i18n.cjs +1 -1
  36. package/dist/i18n.es.js +16 -6
  37. package/dist/index.cjs +1 -1
  38. package/dist/index.es.js +1045 -1018
  39. package/dist/lib/corner-slot.d.ts +11 -0
  40. package/dist/lib/corner-slot.d.ts.map +1 -1
  41. package/dist/{user.context-D3kmD3_y.js → user.context-DUs2lT6D.js} +201 -197
  42. package/dist/user.context-uYif5Mp2.cjs +1 -0
  43. package/dist/viglet-design-system.css +1 -1
  44. package/docs/BENTO-AUTHORING.md +18 -10
  45. package/docs/reference/README.md +9 -1
  46. package/docs/reference/canvas.json +1 -1
  47. package/docs/reference/detail.dc.html +18 -22
  48. package/docs/reference/form-hero.dc.html +11 -14
  49. package/docs/reference/list.dc.html +74 -56
  50. package/docs/reference/page-anatomy.dc.html +10 -9
  51. package/docs/reference/panel.dc.html +8 -6
  52. package/docs/reference/shell.dc.html +7 -4
  53. package/docs/reference/split.dc.html +8 -13
  54. package/package.json +4 -1
  55. package/dist/user.context-gQvBxcwr.cjs +0 -1
@@ -1,24 +1,24 @@
1
1
  import { t as e } from "./utils-Fk5jmzzb.js";
2
2
  import { C as t, a as n, c as r, g as i, o as a, p as o, u as s, v as c, y as l } from "./badge-locale-Bx7m7tg2.js";
3
3
  import * as u from "react";
4
- import d, { createContext as f, useCallback as ee, useContext as p, useEffect as m, useRef as h, useState as g } from "react";
5
- import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
6
- import * as b from "@radix-ui/react-avatar";
7
- import { Slot as x } from "@radix-ui/react-slot";
8
- import { cva as S } from "class-variance-authority";
9
- import { useTranslation as te } from "react-i18next";
4
+ import d, { createContext as f, useCallback as ee, useContext as p, useEffect as te, useRef as m, useState as h } from "react";
5
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
6
+ import * as y from "@radix-ui/react-avatar";
7
+ import { Slot as b } from "@radix-ui/react-slot";
8
+ import { cva as x } from "class-variance-authority";
9
+ import { useTranslation as S } from "react-i18next";
10
10
  import * as C from "@radix-ui/react-checkbox";
11
11
  import * as w from "@radix-ui/react-dropdown-menu";
12
- import { IconChevronDown as T, IconLoader2 as ne, IconSearch as re, IconSparkles as ie, IconTrash as ae } from "@tabler/icons-react";
13
- import { Icon as E } from "@iconify/react";
14
- import { Popover as D } from "radix-ui";
15
- import { Group as O, Panel as k, Separator as A } from "react-resizable-panels";
16
- import * as j from "@radix-ui/react-tooltip";
17
- import { useTheme as M } from "next-themes";
18
- import { Toaster as N, toast as P } from "sonner";
19
- import * as F from "@radix-ui/react-tabs";
12
+ import { IconChevronDown as T, IconLoader2 as ne, IconSearch as re, IconSparkles as E, IconTrash as ie } from "@tabler/icons-react";
13
+ import { Icon as D } from "@iconify/react";
14
+ import { Popover as O } from "radix-ui";
15
+ import { Group as k, Panel as A, Separator as j } from "react-resizable-panels";
16
+ import * as M from "@radix-ui/react-tooltip";
17
+ import { useTheme as N } from "next-themes";
18
+ import { Toaster as P, toast as F } from "sonner";
19
+ import * as I from "@radix-ui/react-tabs";
20
20
  //#region node_modules/lucide-react/dist/esm/icons/check.mjs
21
- var I = {
21
+ var L = {
22
22
  name: "check",
23
23
  size: 24,
24
24
  node: [["path", {
@@ -26,8 +26,8 @@ var I = {
26
26
  key: "1gmf2c"
27
27
  }]]
28
28
  };
29
- I.node;
30
- var L = t(I), R = {
29
+ L.node;
30
+ var R = t(L), z = {
31
31
  name: "chevron-right",
32
32
  size: 24,
33
33
  node: [["path", {
@@ -35,8 +35,8 @@ var L = t(I), R = {
35
35
  key: "mthhwq"
36
36
  }]]
37
37
  };
38
- R.node;
39
- var z = t(R), B = {
38
+ z.node;
39
+ var B = t(z), V = {
40
40
  name: "circle-check",
41
41
  size: 24,
42
42
  node: [["circle", {
@@ -50,8 +50,8 @@ var z = t(R), B = {
50
50
  }]],
51
51
  aliases: ["check-circle-2"]
52
52
  };
53
- B.node;
54
- var oe = t(B), V = {
53
+ V.node;
54
+ var ae = t(V), H = {
55
55
  name: "circle",
56
56
  size: 24,
57
57
  node: [["circle", {
@@ -61,8 +61,8 @@ var oe = t(B), V = {
61
61
  key: "1mglay"
62
62
  }]]
63
63
  };
64
- V.node;
65
- var se = t(V), H = {
64
+ H.node;
65
+ var oe = t(H), se = {
66
66
  name: "grip-vertical",
67
67
  size: 24,
68
68
  node: [
@@ -104,8 +104,8 @@ var se = t(V), H = {
104
104
  }]
105
105
  ]
106
106
  };
107
- H.node;
108
- var ce = t(H), U = {
107
+ se.node;
108
+ var ce = t(se), U = {
109
109
  name: "info",
110
110
  size: 24,
111
111
  node: [
@@ -176,7 +176,7 @@ var de = t(G), K = {
176
176
  aliases: ["alert-triangle"]
177
177
  };
178
178
  K.node;
179
- var fe = t(K), q = S("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", {
179
+ var fe = t(K), q = x("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", {
180
180
  variants: {
181
181
  variant: {
182
182
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
@@ -201,8 +201,8 @@ var fe = t(K), q = S("inline-flex items-center justify-center gap-2 whitespace-n
201
201
  }
202
202
  });
203
203
  function pe({ className: t, variant: n, size: r, asChild: i = !1, loading: a = !1, onClick: o, children: s, ...u }) {
204
- let d = i ? x : "button", f = l(a, u["aria-disabled"], o);
205
- return /* @__PURE__ */ v(d, {
204
+ let d = i ? b : "button", f = l(a, u["aria-disabled"], o);
205
+ return /* @__PURE__ */ _(d, {
206
206
  "data-slot": "button",
207
207
  className: e(q({
208
208
  variant: n,
@@ -211,45 +211,45 @@ function pe({ className: t, variant: n, size: r, asChild: i = !1, loading: a = !
211
211
  }), f.inert && (a ? "cursor-progress" : "cursor-not-allowed opacity-50")),
212
212
  ...u,
213
213
  ...f.props,
214
- children: i ? s : /* @__PURE__ */ y(_, { children: [a && /* @__PURE__ */ v(c, {}), s] })
214
+ children: i ? s : /* @__PURE__ */ v(g, { children: [a && /* @__PURE__ */ _(c, {}), s] })
215
215
  });
216
216
  }
217
217
  //#endregion
218
218
  //#region src/components/ui/checkbox.tsx
219
219
  function me({ className: t, ...n }) {
220
- return /* @__PURE__ */ v(C.Root, {
220
+ return /* @__PURE__ */ _(C.Root, {
221
221
  "data-slot": "checkbox",
222
222
  className: e("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-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", t),
223
223
  ...n,
224
- children: /* @__PURE__ */ v(C.Indicator, {
224
+ children: /* @__PURE__ */ _(C.Indicator, {
225
225
  "data-slot": "checkbox-indicator",
226
226
  className: "grid place-content-center text-current transition-none",
227
- children: /* @__PURE__ */ v(L, { className: "size-3.5" })
227
+ children: /* @__PURE__ */ _(R, { className: "size-3.5" })
228
228
  })
229
229
  });
230
230
  }
231
231
  //#endregion
232
232
  //#region src/components/ui/dropdown-menu.tsx
233
233
  function he({ ...e }) {
234
- return /* @__PURE__ */ v(w.Root, {
234
+ return /* @__PURE__ */ _(w.Root, {
235
235
  "data-slot": "dropdown-menu",
236
236
  ...e
237
237
  });
238
238
  }
239
239
  function ge({ ...e }) {
240
- return /* @__PURE__ */ v(w.Portal, {
240
+ return /* @__PURE__ */ _(w.Portal, {
241
241
  "data-slot": "dropdown-menu-portal",
242
242
  ...e
243
243
  });
244
244
  }
245
245
  function _e({ ...e }) {
246
- return /* @__PURE__ */ v(w.Trigger, {
246
+ return /* @__PURE__ */ _(w.Trigger, {
247
247
  "data-slot": "dropdown-menu-trigger",
248
248
  ...e
249
249
  });
250
250
  }
251
251
  function ve({ className: t, sideOffset: n = 4, ...r }) {
252
- return /* @__PURE__ */ v(w.Portal, { children: /* @__PURE__ */ v(w.Content, {
252
+ return /* @__PURE__ */ _(w.Portal, { children: /* @__PURE__ */ _(w.Content, {
253
253
  "data-slot": "dropdown-menu-content",
254
254
  sideOffset: n,
255
255
  className: e("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", t),
@@ -257,13 +257,13 @@ function ve({ className: t, sideOffset: n = 4, ...r }) {
257
257
  }) });
258
258
  }
259
259
  function ye({ ...e }) {
260
- return /* @__PURE__ */ v(w.Group, {
260
+ return /* @__PURE__ */ _(w.Group, {
261
261
  "data-slot": "dropdown-menu-group",
262
262
  ...e
263
263
  });
264
264
  }
265
265
  function be({ className: t, inset: n, variant: r = "default", ...i }) {
266
- return /* @__PURE__ */ v(w.Item, {
266
+ return /* @__PURE__ */ _(w.Item, {
267
267
  "data-slot": "dropdown-menu-item",
268
268
  "data-inset": n,
269
269
  "data-variant": r,
@@ -272,36 +272,36 @@ function be({ className: t, inset: n, variant: r = "default", ...i }) {
272
272
  });
273
273
  }
274
274
  function xe({ className: t, children: n, checked: r, ...i }) {
275
- return /* @__PURE__ */ y(w.CheckboxItem, {
275
+ return /* @__PURE__ */ v(w.CheckboxItem, {
276
276
  "data-slot": "dropdown-menu-checkbox-item",
277
277
  className: e("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", t),
278
278
  checked: r,
279
279
  ...i,
280
- children: [/* @__PURE__ */ v("span", {
280
+ children: [/* @__PURE__ */ _("span", {
281
281
  className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
282
- children: /* @__PURE__ */ v(w.ItemIndicator, { children: /* @__PURE__ */ v(L, { className: "size-4" }) })
282
+ children: /* @__PURE__ */ _(w.ItemIndicator, { children: /* @__PURE__ */ _(R, { className: "size-4" }) })
283
283
  }), n]
284
284
  });
285
285
  }
286
286
  function Se({ ...e }) {
287
- return /* @__PURE__ */ v(w.RadioGroup, {
287
+ return /* @__PURE__ */ _(w.RadioGroup, {
288
288
  "data-slot": "dropdown-menu-radio-group",
289
289
  ...e
290
290
  });
291
291
  }
292
292
  function Ce({ className: t, children: n, ...r }) {
293
- return /* @__PURE__ */ y(w.RadioItem, {
293
+ return /* @__PURE__ */ v(w.RadioItem, {
294
294
  "data-slot": "dropdown-menu-radio-item",
295
295
  className: e("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", t),
296
296
  ...r,
297
- children: [/* @__PURE__ */ v("span", {
297
+ children: [/* @__PURE__ */ _("span", {
298
298
  className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
299
- children: /* @__PURE__ */ v(w.ItemIndicator, { children: /* @__PURE__ */ v(se, { className: "size-2 fill-current" }) })
299
+ children: /* @__PURE__ */ _(w.ItemIndicator, { children: /* @__PURE__ */ _(oe, { className: "size-2 fill-current" }) })
300
300
  }), n]
301
301
  });
302
302
  }
303
303
  function we({ className: t, inset: n, ...r }) {
304
- return /* @__PURE__ */ v(w.Label, {
304
+ return /* @__PURE__ */ _(w.Label, {
305
305
  "data-slot": "dropdown-menu-label",
306
306
  "data-inset": n,
307
307
  className: e("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", t),
@@ -309,36 +309,36 @@ function we({ className: t, inset: n, ...r }) {
309
309
  });
310
310
  }
311
311
  function Te({ className: t, ...n }) {
312
- return /* @__PURE__ */ v(w.Separator, {
312
+ return /* @__PURE__ */ _(w.Separator, {
313
313
  "data-slot": "dropdown-menu-separator",
314
314
  className: e("bg-border -mx-1 my-1 h-px", t),
315
315
  ...n
316
316
  });
317
317
  }
318
318
  function Ee({ className: t, ...n }) {
319
- return /* @__PURE__ */ v("span", {
319
+ return /* @__PURE__ */ _("span", {
320
320
  "data-slot": "dropdown-menu-shortcut",
321
321
  className: e("text-muted-foreground ml-auto text-xs tracking-widest", t),
322
322
  ...n
323
323
  });
324
324
  }
325
325
  function De({ ...e }) {
326
- return /* @__PURE__ */ v(w.Sub, {
326
+ return /* @__PURE__ */ _(w.Sub, {
327
327
  "data-slot": "dropdown-menu-sub",
328
328
  ...e
329
329
  });
330
330
  }
331
331
  function Oe({ className: t, inset: n, children: r, ...i }) {
332
- return /* @__PURE__ */ y(w.SubTrigger, {
332
+ return /* @__PURE__ */ v(w.SubTrigger, {
333
333
  "data-slot": "dropdown-menu-sub-trigger",
334
334
  "data-inset": n,
335
335
  className: e("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", t),
336
336
  ...i,
337
- children: [r, /* @__PURE__ */ v(z, { className: "ml-auto size-4" })]
337
+ children: [r, /* @__PURE__ */ _(B, { className: "ml-auto size-4" })]
338
338
  });
339
339
  }
340
340
  function ke({ className: t, ...n }) {
341
- return /* @__PURE__ */ v(w.SubContent, {
341
+ return /* @__PURE__ */ _(w.SubContent, {
342
342
  "data-slot": "dropdown-menu-sub-content",
343
343
  className: e("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", t),
344
344
  ...n
@@ -362,8 +362,8 @@ async function Y(e, t, n) {
362
362
  return [];
363
363
  }
364
364
  function je({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title: d, description: f, suggestKeywords: p }) {
365
- let { t: _ } = te(), [b, x] = g(""), [S, C] = g([]), [w, T] = g(!1), D = h(null), [O, k] = g(!1), [A, j] = g([]), M = h(0), [N, P] = g(null), F = ee(async (e, t) => {
366
- let n = ++M.current, r = () => n === M.current && !t.aborted;
365
+ let { t: g } = S(), [y, b] = h(""), [x, C] = h([]), [w, T] = h(!1), O = m(null), [k, A] = h(!1), [j, M] = h([]), N = m(0), [P, F] = h(null), I = ee(async (e, t) => {
366
+ let n = ++N.current, r = () => n === N.current && !t.aborted;
367
367
  if (!e.trim()) {
368
368
  C([]);
369
369
  return;
@@ -378,21 +378,21 @@ function je({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
378
378
  r() && T(!1);
379
379
  }
380
380
  }, []);
381
- m(() => {
381
+ te(() => {
382
382
  let e = new AbortController();
383
- return D.current && clearTimeout(D.current), D.current = setTimeout(() => F(b, e.signal), 350), () => {
384
- D.current && clearTimeout(D.current), e.abort();
383
+ return O.current && clearTimeout(O.current), O.current = setTimeout(() => I(y, e.signal), 350), () => {
384
+ O.current && clearTimeout(O.current), e.abort();
385
385
  };
386
- }, [b, F]);
387
- let I = h(null);
388
- m(() => () => I.current?.abort(), []);
389
- function L(e) {
390
- l(e), t(!1), x(""), C([]), j([]), P(null);
386
+ }, [y, I]);
387
+ let L = m(null);
388
+ te(() => () => L.current?.abort(), []);
389
+ function R(e) {
390
+ l(e), t(!1), b(""), C([]), M([]), F(null);
391
391
  }
392
- async function R() {
393
- if (!p || O) return;
392
+ async function z() {
393
+ if (!p || k) return;
394
394
  let e = new AbortController();
395
- I.current = e, k(!0), j([]), P(null);
395
+ L.current = e, A(!0), M([]), F(null);
396
396
  try {
397
397
  let t = (await p({
398
398
  title: d,
@@ -405,72 +405,72 @@ function je({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
405
405
  icons: await Y(r.trim(), 30, e.signal)
406
406
  });
407
407
  }
408
- e.signal.aborted || j(n);
408
+ e.signal.aborted || M(n);
409
409
  } catch {
410
- e.signal.aborted || j([]);
410
+ e.signal.aborted || M([]);
411
411
  } finally {
412
- e.signal.aborted || k(!1);
412
+ e.signal.aborted || A(!1);
413
413
  }
414
414
  }
415
- let z = N ? A.find((e) => e.keyword === N)?.icons ?? [] : A.flatMap((e) => e.icons.slice(0, 3)), B = !!p && !!(d?.trim() ?? f?.trim());
416
- return /* @__PURE__ */ v(r, {
415
+ let B = P ? j.find((e) => e.keyword === P)?.icons ?? [] : j.flatMap((e) => e.icons.slice(0, 3)), V = !!p && !!(d?.trim() ?? f?.trim());
416
+ return /* @__PURE__ */ _(r, {
417
417
  open: e,
418
418
  onOpenChange: t,
419
- children: /* @__PURE__ */ y(s, {
419
+ children: /* @__PURE__ */ v(s, {
420
420
  className: "flex max-h-[80vh] flex-col sm:max-w-lg",
421
421
  children: [
422
- /* @__PURE__ */ v(o, { children: /* @__PURE__ */ v(i, { children: _("forms.iconPicker.chooseAnIcon", { defaultValue: "Choose an icon" }) }) }),
423
- /* @__PURE__ */ y("div", {
422
+ /* @__PURE__ */ _(o, { children: /* @__PURE__ */ _(i, { children: g("forms.iconPicker.chooseAnIcon", { defaultValue: "Choose an icon" }) }) }),
423
+ /* @__PURE__ */ v("div", {
424
424
  className: "flex gap-2",
425
- children: [/* @__PURE__ */ y("div", {
425
+ children: [/* @__PURE__ */ v("div", {
426
426
  className: "relative flex-1",
427
- children: [/* @__PURE__ */ v(re, { className: "absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }), /* @__PURE__ */ v(n, {
428
- value: b,
429
- onChange: (e) => x(e.target.value),
430
- placeholder: _("forms.iconPicker.searchIcons", { defaultValue: "Search icons" }),
427
+ children: [/* @__PURE__ */ _(re, { className: "absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }), /* @__PURE__ */ _(n, {
428
+ value: y,
429
+ onChange: (e) => b(e.target.value),
430
+ placeholder: g("forms.iconPicker.searchIcons", { defaultValue: "Search icons" }),
431
431
  className: "pl-9",
432
432
  autoFocus: !0
433
433
  })]
434
- }), B && /* @__PURE__ */ y(a, {
434
+ }), V && /* @__PURE__ */ v(a, {
435
435
  type: "button",
436
436
  size: "sm",
437
437
  variant: "outline",
438
- onClick: R,
439
- disabled: O,
438
+ onClick: z,
439
+ disabled: k,
440
440
  className: "shrink-0 gap-1.5",
441
- children: [O ? /* @__PURE__ */ v(ne, { className: "size-4 animate-spin" }) : /* @__PURE__ */ v(ie, { className: "size-4" }), _("forms.iconPicker.aiSuggest", { defaultValue: "Suggest" })]
441
+ children: [k ? /* @__PURE__ */ _(ne, { className: "size-4 animate-spin" }) : /* @__PURE__ */ _(E, { className: "size-4" }), g("forms.iconPicker.aiSuggest", { defaultValue: "Suggest" })]
442
442
  })]
443
443
  }),
444
- A.length > 0 && /* @__PURE__ */ y("div", {
444
+ j.length > 0 && /* @__PURE__ */ v("div", {
445
445
  className: "rounded-lg border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface)] p-3",
446
446
  children: [
447
- /* @__PURE__ */ y("div", {
447
+ /* @__PURE__ */ v("div", {
448
448
  className: "mb-2 flex items-center gap-1.5 text-xs font-medium vg-accent-text",
449
- children: [/* @__PURE__ */ v(ie, { className: "size-3.5" }), _("forms.iconPicker.aiSuggestions", { defaultValue: "Suggestions" })]
449
+ children: [/* @__PURE__ */ _(E, { className: "size-3.5" }), g("forms.iconPicker.aiSuggestions", { defaultValue: "Suggestions" })]
450
450
  }),
451
- /* @__PURE__ */ v("div", {
451
+ /* @__PURE__ */ _("div", {
452
452
  className: "mb-3 flex flex-wrap gap-1.5",
453
- children: A.map((e) => /* @__PURE__ */ y("button", {
453
+ children: j.map((e) => /* @__PURE__ */ v("button", {
454
454
  type: "button",
455
- onClick: () => P(N === e.keyword ? null : e.keyword),
456
- className: `cursor-pointer rounded-full px-3 py-1 text-xs font-medium transition-all ${N === e.keyword ? "vg-accent-solid text-white" : "bg-[var(--vg-accent-surface)] text-[var(--vg-accent-fg)] hover:bg-[var(--vg-accent-surface-strong)]"}`,
457
- children: [e.keyword, /* @__PURE__ */ v("span", {
455
+ onClick: () => F(P === e.keyword ? null : e.keyword),
456
+ className: `cursor-pointer rounded-full px-3 py-1 text-xs font-medium transition-all ${P === e.keyword ? "vg-accent-solid text-white" : "bg-[var(--vg-accent-surface)] text-[var(--vg-accent-fg)] hover:bg-[var(--vg-accent-surface-strong)]"}`,
457
+ children: [e.keyword, /* @__PURE__ */ _("span", {
458
458
  className: "ml-1 opacity-60",
459
459
  children: e.icons.length
460
460
  })]
461
461
  }, e.keyword))
462
462
  }),
463
- /* @__PURE__ */ v("div", {
463
+ /* @__PURE__ */ _("div", {
464
464
  className: "flex max-h-60 flex-wrap gap-2 overflow-y-auto",
465
- children: z.map((e) => /* @__PURE__ */ y("button", {
465
+ children: B.map((e) => /* @__PURE__ */ v("button", {
466
466
  type: "button",
467
- onClick: () => L(e),
467
+ onClick: () => R(e),
468
468
  className: `flex cursor-pointer flex-col items-center gap-1 rounded-lg p-2 transition-all hover:bg-[var(--vg-accent-surface)] ${c === e ? "border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface-strong)] vg-accent-text" : "border border-[var(--vg-accent-line)]"}`,
469
469
  title: e,
470
- children: [/* @__PURE__ */ v(E, {
470
+ children: [/* @__PURE__ */ _(D, {
471
471
  icon: e,
472
472
  className: "size-7"
473
- }), /* @__PURE__ */ v("span", {
473
+ }), /* @__PURE__ */ _("span", {
474
474
  className: "max-w-[80px] truncate text-center text-[9px] leading-tight text-muted-foreground",
475
475
  children: e.split(":")[1] ?? e
476
476
  })]
@@ -478,41 +478,41 @@ function je({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
478
478
  })
479
479
  ]
480
480
  }),
481
- /* @__PURE__ */ y("div", {
481
+ /* @__PURE__ */ v("div", {
482
482
  className: "max-h-[400px] min-h-[200px] flex-1 overflow-y-auto",
483
483
  children: [
484
- w && /* @__PURE__ */ v("div", {
484
+ w && /* @__PURE__ */ _("div", {
485
485
  className: "flex h-32 items-center justify-center text-sm text-muted-foreground",
486
- children: _("forms.iconPicker.searching", { defaultValue: "Searching…" })
486
+ children: g("forms.iconPicker.searching", { defaultValue: "Searching…" })
487
487
  }),
488
- !w && b && S.length === 0 && /* @__PURE__ */ v("div", {
488
+ !w && y && x.length === 0 && /* @__PURE__ */ _("div", {
489
489
  className: "flex h-32 items-center justify-center text-sm text-muted-foreground",
490
- children: _("forms.iconPicker.noIconsFound", {
491
- query: b,
490
+ children: g("forms.iconPicker.noIconsFound", {
491
+ query: y,
492
492
  defaultValue: "No icons found for “{{query}}”"
493
493
  })
494
494
  }),
495
- !w && !b && S.length === 0 && A.length === 0 && /* @__PURE__ */ y("div", {
495
+ !w && !y && x.length === 0 && j.length === 0 && /* @__PURE__ */ v("div", {
496
496
  className: "flex h-32 flex-col items-center justify-center gap-2 px-4 text-center text-sm text-muted-foreground",
497
- children: [/* @__PURE__ */ v("span", { children: _("forms.iconPicker.typeToSearch", {
497
+ children: [/* @__PURE__ */ _("span", { children: g("forms.iconPicker.typeToSearch", {
498
498
  count: J.length,
499
499
  defaultValue: "Type to search {{count}} icon collections"
500
- }) }), B && /* @__PURE__ */ v("span", {
500
+ }) }), V && /* @__PURE__ */ _("span", {
501
501
  className: "text-xs leading-relaxed",
502
- children: _("forms.iconPicker.orClickAi", { defaultValue: "…or let the title and description suggest some" })
502
+ children: g("forms.iconPicker.orClickAi", { defaultValue: "…or let the title and description suggest some" })
503
503
  })]
504
504
  }),
505
- S.length > 0 && /* @__PURE__ */ v("div", {
505
+ x.length > 0 && /* @__PURE__ */ _("div", {
506
506
  className: "grid grid-cols-6 gap-1.5 p-1",
507
- children: S.map((e) => /* @__PURE__ */ y("button", {
507
+ children: x.map((e) => /* @__PURE__ */ v("button", {
508
508
  type: "button",
509
- onClick: () => L(e),
509
+ onClick: () => R(e),
510
510
  className: `flex cursor-pointer flex-col items-center justify-center gap-1 rounded-lg p-2 transition-all hover:bg-muted ${c === e ? "border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface)] vg-accent-text" : "border border-transparent hover:border-border"}`,
511
511
  title: e,
512
- children: [/* @__PURE__ */ v(E, {
512
+ children: [/* @__PURE__ */ _(D, {
513
513
  icon: e,
514
514
  className: "size-6"
515
- }), /* @__PURE__ */ v("span", {
515
+ }), /* @__PURE__ */ _("span", {
516
516
  className: "w-full truncate text-center text-[9px] leading-tight text-muted-foreground",
517
517
  children: e.split(":")[1] ?? e
518
518
  })]
@@ -520,32 +520,32 @@ function je({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
520
520
  })
521
521
  ]
522
522
  }),
523
- c && /* @__PURE__ */ y("div", {
523
+ c && /* @__PURE__ */ v("div", {
524
524
  className: "flex items-center justify-between border-t pt-2",
525
- children: [/* @__PURE__ */ y("div", {
525
+ children: [/* @__PURE__ */ v("div", {
526
526
  className: "flex items-center gap-2",
527
- children: [/* @__PURE__ */ v(E, {
527
+ children: [/* @__PURE__ */ _(D, {
528
528
  icon: c,
529
529
  className: "size-5"
530
- }), /* @__PURE__ */ v("span", {
530
+ }), /* @__PURE__ */ _("span", {
531
531
  className: "font-mono text-xs text-muted-foreground",
532
532
  children: c
533
533
  })]
534
- }), /* @__PURE__ */ y("div", {
534
+ }), /* @__PURE__ */ v("div", {
535
535
  className: "flex gap-2",
536
- children: [u && /* @__PURE__ */ y(a, {
536
+ children: [u && /* @__PURE__ */ v(a, {
537
537
  size: "sm",
538
538
  type: "button",
539
539
  variant: "outline",
540
540
  onClick: () => {
541
541
  u(), t(!1);
542
542
  },
543
- children: [/* @__PURE__ */ v(ae, { className: "size-4" }), _("forms.common.remove", { defaultValue: "Remove" })]
544
- }), /* @__PURE__ */ v(a, {
543
+ children: [/* @__PURE__ */ _(ie, { className: "size-4" }), g("forms.common.remove", { defaultValue: "Remove" })]
544
+ }), /* @__PURE__ */ _(a, {
545
545
  size: "sm",
546
546
  type: "button",
547
547
  onClick: () => t(!1),
548
- children: _("forms.iconPicker.done", { defaultValue: "Done" })
548
+ children: g("forms.iconPicker.done", { defaultValue: "Done" })
549
549
  })]
550
550
  })]
551
551
  })
@@ -556,19 +556,19 @@ function je({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
556
556
  //#endregion
557
557
  //#region src/components/ui/popover.tsx
558
558
  function Me({ ...e }) {
559
- return /* @__PURE__ */ v(D.Root, {
559
+ return /* @__PURE__ */ _(O.Root, {
560
560
  "data-slot": "popover",
561
561
  ...e
562
562
  });
563
563
  }
564
564
  function Ne({ ...e }) {
565
- return /* @__PURE__ */ v(D.Trigger, {
565
+ return /* @__PURE__ */ _(O.Trigger, {
566
566
  "data-slot": "popover-trigger",
567
567
  ...e
568
568
  });
569
569
  }
570
570
  function Pe({ className: t, align: n = "center", sideOffset: r = 4, ...i }) {
571
- return /* @__PURE__ */ v(D.Portal, { children: /* @__PURE__ */ v(D.Content, {
571
+ return /* @__PURE__ */ _(O.Portal, { children: /* @__PURE__ */ _(O.Content, {
572
572
  "data-slot": "popover-content",
573
573
  align: n,
574
574
  sideOffset: r,
@@ -577,27 +577,27 @@ function Pe({ className: t, align: n = "center", sideOffset: r = 4, ...i }) {
577
577
  }) });
578
578
  }
579
579
  function Fe({ ...e }) {
580
- return /* @__PURE__ */ v(D.Anchor, {
580
+ return /* @__PURE__ */ _(O.Anchor, {
581
581
  "data-slot": "popover-anchor",
582
582
  ...e
583
583
  });
584
584
  }
585
585
  function Ie({ className: t, ...n }) {
586
- return /* @__PURE__ */ v("div", {
586
+ return /* @__PURE__ */ _("div", {
587
587
  "data-slot": "popover-header",
588
588
  className: e("flex flex-col gap-1 text-sm", t),
589
589
  ...n
590
590
  });
591
591
  }
592
592
  function Le({ className: t, ...n }) {
593
- return /* @__PURE__ */ v("div", {
593
+ return /* @__PURE__ */ _("div", {
594
594
  "data-slot": "popover-title",
595
595
  className: e("font-medium", t),
596
596
  ...n
597
597
  });
598
598
  }
599
599
  function Re({ className: t, ...n }) {
600
- return /* @__PURE__ */ v("p", {
600
+ return /* @__PURE__ */ _("p", {
601
601
  "data-slot": "popover-description",
602
602
  className: e("text-muted-foreground", t),
603
603
  ...n
@@ -606,14 +606,14 @@ function Re({ className: t, ...n }) {
606
606
  //#endregion
607
607
  //#region src/components/ui/resizable.tsx
608
608
  function ze({ className: t, ...n }) {
609
- return /* @__PURE__ */ v(O, {
609
+ return /* @__PURE__ */ _(k, {
610
610
  "data-slot": "resizable-panel-group",
611
611
  className: e("flex h-full w-full", t),
612
612
  ...n
613
613
  });
614
614
  }
615
615
  function Be({ overflowHidden: t, className: n, ...r }) {
616
- return /* @__PURE__ */ v(k, {
616
+ return /* @__PURE__ */ _(A, {
617
617
  "data-slot": "resizable-panel",
618
618
  className: e(t && "[&>div]:overflow-hidden!", n),
619
619
  style: t ? { overflow: "hidden" } : void 0,
@@ -621,13 +621,13 @@ function Be({ overflowHidden: t, className: n, ...r }) {
621
621
  });
622
622
  }
623
623
  function Ve({ withHandle: t, className: n, ...r }) {
624
- return /* @__PURE__ */ v(A, {
624
+ return /* @__PURE__ */ _(j, {
625
625
  "data-slot": "resizable-handle",
626
626
  className: e("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),
627
627
  ...r,
628
- children: t && /* @__PURE__ */ v("div", {
628
+ children: t && /* @__PURE__ */ _("div", {
629
629
  className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border",
630
- children: /* @__PURE__ */ v(ce, { className: "size-2.5" })
630
+ children: /* @__PURE__ */ _(ce, { className: "size-2.5" })
631
631
  })
632
632
  });
633
633
  }
@@ -680,14 +680,14 @@ var X = {
680
680
  variant: "blue"
681
681
  });
682
682
  function Q({ variant: t = "blue", defaultOpen: n = !0, children: r, className: i }) {
683
- let [a, o] = g(n);
684
- return /* @__PURE__ */ v(Z.Provider, {
683
+ let [a, o] = h(n);
684
+ return /* @__PURE__ */ _(Z.Provider, {
685
685
  value: {
686
686
  open: a,
687
687
  toggle: () => o((e) => !e),
688
688
  variant: t
689
689
  },
690
- children: /* @__PURE__ */ v("div", {
690
+ children: /* @__PURE__ */ _("div", {
691
691
  className: e("rounded-xl border overflow-hidden", i),
692
692
  children: r
693
693
  })
@@ -695,42 +695,42 @@ function Q({ variant: t = "blue", defaultOpen: n = !0, children: r, className: i
695
695
  }
696
696
  function He({ icon: t, title: n, description: r, className: i }) {
697
697
  let { open: a, toggle: o, variant: s } = p(Z), c = X[s];
698
- return /* @__PURE__ */ y("button", {
698
+ return /* @__PURE__ */ v("button", {
699
699
  type: "button",
700
700
  onClick: o,
701
701
  className: e("flex w-full items-center gap-3 px-5 py-4 bg-muted/40 border-b cursor-pointer hover:bg-muted/60 transition-colors", i),
702
702
  children: [
703
- /* @__PURE__ */ v("div", {
703
+ /* @__PURE__ */ _("div", {
704
704
  className: `flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-linear-to-br ${c.bg} ring-1 ${c.ring}`,
705
- children: /* @__PURE__ */ v(t, { className: `size-4 ${c.color}` })
705
+ children: /* @__PURE__ */ _(t, { className: `size-4 ${c.color}` })
706
706
  }),
707
- /* @__PURE__ */ y("div", {
707
+ /* @__PURE__ */ v("div", {
708
708
  className: "min-w-0 text-left",
709
- children: [/* @__PURE__ */ v("h3", {
709
+ children: [/* @__PURE__ */ _("h3", {
710
710
  className: "text-sm font-semibold text-foreground",
711
711
  children: n
712
- }), r && /* @__PURE__ */ v("p", {
712
+ }), r && /* @__PURE__ */ _("p", {
713
713
  className: "text-xs text-muted-foreground",
714
714
  children: r
715
715
  })]
716
716
  }),
717
- /* @__PURE__ */ v(T, { className: e("ml-auto size-4 text-muted-foreground shrink-0 transition-transform duration-200", a && "rotate-180") })
717
+ /* @__PURE__ */ _(T, { className: e("ml-auto size-4 text-muted-foreground shrink-0 transition-transform duration-200", a && "rotate-180") })
718
718
  ]
719
719
  });
720
720
  }
721
721
  function Ue({ icon: t, title: n, description: r, className: i }) {
722
722
  let { variant: a } = p(Z), o = X[a];
723
- return /* @__PURE__ */ y("div", {
723
+ return /* @__PURE__ */ v("div", {
724
724
  className: e("flex items-center gap-3 px-5 py-4 bg-muted/40 border-b", i),
725
- children: [/* @__PURE__ */ v("div", {
725
+ children: [/* @__PURE__ */ _("div", {
726
726
  className: `flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-linear-to-br ${o.bg} ring-1 ${o.ring}`,
727
- children: /* @__PURE__ */ v(t, { className: `size-4 ${o.color}` })
728
- }), /* @__PURE__ */ y("div", {
727
+ children: /* @__PURE__ */ _(t, { className: `size-4 ${o.color}` })
728
+ }), /* @__PURE__ */ v("div", {
729
729
  className: "min-w-0",
730
- children: [/* @__PURE__ */ v("h3", {
730
+ children: [/* @__PURE__ */ _("h3", {
731
731
  className: "text-sm font-semibold text-foreground",
732
732
  children: n
733
- }), r && /* @__PURE__ */ v("p", {
733
+ }), r && /* @__PURE__ */ _("p", {
734
734
  className: "text-xs text-muted-foreground",
735
735
  children: r
736
736
  })]
@@ -739,7 +739,7 @@ function Ue({ icon: t, title: n, description: r, className: i }) {
739
739
  }
740
740
  function We({ children: t, className: n }) {
741
741
  let { open: r } = p(Z);
742
- return r ? /* @__PURE__ */ v("div", {
742
+ return r ? /* @__PURE__ */ _("div", {
743
743
  className: e("p-5 space-y-6", n),
744
744
  children: t
745
745
  }) : null;
@@ -748,65 +748,65 @@ Q.Header = He, Q.StaticHeader = Ue, Q.Content = We;
748
748
  //#endregion
749
749
  //#region src/components/ui/tooltip.tsx
750
750
  var Ge = u.createContext(!1);
751
- function Ke({ delayDuration: e = 0, ...t }) {
752
- return /* @__PURE__ */ v(Ge, {
751
+ function $({ delayDuration: e = 0, ...t }) {
752
+ return /* @__PURE__ */ _(Ge, {
753
753
  value: !0,
754
- children: /* @__PURE__ */ v(j.Provider, {
754
+ children: /* @__PURE__ */ _(M.Provider, {
755
755
  "data-slot": "tooltip-provider",
756
756
  delayDuration: e,
757
757
  ...t
758
758
  })
759
759
  });
760
760
  }
761
- function qe({ ...e }) {
762
- let t = u.useContext(Ge), n = /* @__PURE__ */ v(j.Root, {
761
+ function Ke({ ...e }) {
762
+ let t = u.useContext(Ge), n = /* @__PURE__ */ _(M.Root, {
763
763
  "data-slot": "tooltip",
764
764
  ...e
765
765
  });
766
- return t ? n : /* @__PURE__ */ v(Ke, { children: n });
766
+ return t ? n : /* @__PURE__ */ _($, { children: n });
767
767
  }
768
- function Je({ ...e }) {
769
- return /* @__PURE__ */ v(j.Trigger, {
768
+ function qe({ ...e }) {
769
+ return /* @__PURE__ */ _(M.Trigger, {
770
770
  "data-slot": "tooltip-trigger",
771
771
  ...e
772
772
  });
773
773
  }
774
- function Ye({ className: t, sideOffset: n = 0, children: r, ...i }) {
775
- return /* @__PURE__ */ v(j.Portal, { children: /* @__PURE__ */ y(j.Content, {
774
+ function Je({ className: t, sideOffset: n = 0, children: r, ...i }) {
775
+ return /* @__PURE__ */ _(M.Portal, { children: /* @__PURE__ */ v(M.Content, {
776
776
  "data-slot": "tooltip-content",
777
777
  sideOffset: n,
778
778
  className: e("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", t),
779
779
  ...i,
780
- children: [r, /* @__PURE__ */ v(j.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
780
+ children: [r, /* @__PURE__ */ _(M.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
781
781
  }) });
782
782
  }
783
783
  //#endregion
784
784
  //#region src/hooks/use-mobile.ts
785
- var Xe = "(max-width: 767px)";
786
- function Ze() {
787
- return window.matchMedia(Xe);
785
+ var Ye = "(max-width: 767px)";
786
+ function Xe() {
787
+ return window.matchMedia(Ye);
788
788
  }
789
- function Qe(e) {
790
- let t = Ze();
789
+ function Ze(e) {
790
+ let t = Xe();
791
791
  return t.addEventListener("change", e), () => t.removeEventListener("change", e);
792
792
  }
793
- function $e() {
794
- return u.useSyncExternalStore(Qe, () => Ze().matches, () => !1);
793
+ function Qe() {
794
+ return u.useSyncExternalStore(Ze, () => Xe().matches, () => !1);
795
795
  }
796
796
  //#endregion
797
797
  //#region src/components/ui/sonner.tsx
798
- var et = ({ ...e }) => {
799
- let { theme: t = "system" } = M(), { t: n } = te();
800
- return /* @__PURE__ */ v(N, {
798
+ var $e = ({ ...e }) => {
799
+ let { theme: t = "system" } = N(), { t: n } = S();
800
+ return /* @__PURE__ */ _(P, {
801
801
  theme: t,
802
802
  className: "toaster group",
803
803
  containerAriaLabel: n("common.notifications", { defaultValue: "Notifications" }),
804
804
  icons: {
805
- success: /* @__PURE__ */ v(oe, { className: "size-4" }),
806
- info: /* @__PURE__ */ v(le, { className: "size-4" }),
807
- warning: /* @__PURE__ */ v(fe, { className: "size-4" }),
808
- error: /* @__PURE__ */ v(de, { className: "size-4" }),
809
- loading: /* @__PURE__ */ v(ue, { className: "size-4 animate-spin" })
805
+ success: /* @__PURE__ */ _(ae, { className: "size-4" }),
806
+ info: /* @__PURE__ */ _(le, { className: "size-4" }),
807
+ warning: /* @__PURE__ */ _(fe, { className: "size-4" }),
808
+ error: /* @__PURE__ */ _(de, { className: "size-4" }),
809
+ loading: /* @__PURE__ */ _(ue, { className: "size-4 animate-spin" })
810
810
  },
811
811
  style: {
812
812
  "--normal-bg": "var(--vg-popover)",
@@ -819,29 +819,29 @@ var et = ({ ...e }) => {
819
819
  };
820
820
  //#endregion
821
821
  //#region src/components/ui/tabs.tsx
822
- function tt({ className: t, ...n }) {
823
- return /* @__PURE__ */ v(F.Root, {
822
+ function et({ className: t, ...n }) {
823
+ return /* @__PURE__ */ _(I.Root, {
824
824
  "data-slot": "tabs",
825
825
  className: e("flex flex-col gap-2", t),
826
826
  ...n
827
827
  });
828
828
  }
829
- function nt({ className: t, ...n }) {
830
- return /* @__PURE__ */ v(F.List, {
829
+ function tt({ className: t, ...n }) {
830
+ return /* @__PURE__ */ _(I.List, {
831
831
  "data-slot": "tabs-list",
832
832
  className: e("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", t),
833
833
  ...n
834
834
  });
835
835
  }
836
- function rt({ className: t, ...n }) {
837
- return /* @__PURE__ */ v(F.Trigger, {
836
+ function nt({ className: t, ...n }) {
837
+ return /* @__PURE__ */ _(I.Trigger, {
838
838
  "data-slot": "tabs-trigger",
839
839
  className: e("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", t),
840
840
  ...n
841
841
  });
842
842
  }
843
- function it({ className: t, ...n }) {
844
- return /* @__PURE__ */ v(F.Content, {
843
+ function rt({ className: t, ...n }) {
844
+ return /* @__PURE__ */ _(I.Content, {
845
845
  "data-slot": "tabs-content",
846
846
  className: e("flex-1 outline-none", t),
847
847
  ...n
@@ -849,7 +849,7 @@ function it({ className: t, ...n }) {
849
849
  }
850
850
  //#endregion
851
851
  //#region src/components/ui/user-avatar.tsx
852
- function at({ givenName: e, familyName: t, name: n }) {
852
+ function it({ givenName: e, familyName: t, name: n }) {
853
853
  let r = (e ?? "").trim(), i = (t ?? "").trim();
854
854
  if (r || i) {
855
855
  let e = r ? r[0] : "", t = i.split(/\s+/).filter(Boolean), n = `${e}${t.length > 0 ? t[t.length - 1][0] : ""}`.toUpperCase();
@@ -862,22 +862,22 @@ function at({ givenName: e, familyName: t, name: n }) {
862
862
  }
863
863
  return "U";
864
864
  }
865
- function ot({ className: t, givenName: n, familyName: r, name: i, src: a, alt: o, children: s, ...c }) {
866
- let l = at({
865
+ function at({ className: t, givenName: n, familyName: r, name: i, src: a, alt: o, children: s, ...c }) {
866
+ let l = it({
867
867
  givenName: n,
868
868
  familyName: r,
869
869
  name: i
870
870
  }), u = o ?? i ?? [n, r].filter(Boolean).join(" ");
871
- return /* @__PURE__ */ y(b.Root, {
871
+ return /* @__PURE__ */ v(y.Root, {
872
872
  "data-slot": "user-avatar",
873
873
  className: e("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", t),
874
874
  ...c,
875
- children: [a && /* @__PURE__ */ v(b.Image, {
875
+ children: [a && /* @__PURE__ */ _(y.Image, {
876
876
  "data-slot": "user-avatar-image",
877
877
  src: a,
878
878
  alt: u,
879
879
  className: "aspect-square size-full object-cover"
880
- }), /* @__PURE__ */ v(b.Fallback, {
880
+ }), /* @__PURE__ */ _(y.Fallback, {
881
881
  "data-slot": "user-avatar-fallback",
882
882
  className: "flex size-full items-center justify-center",
883
883
  delayMs: a ? 600 : 0,
@@ -887,14 +887,18 @@ function ot({ className: t, givenName: n, familyName: r, name: i, src: a, alt: o
887
887
  }
888
888
  //#endregion
889
889
  //#region src/lib/corner-slot.ts
890
- var st = f(!1);
891
- function ct() {
892
- return p(st);
890
+ var ot = f(!1);
891
+ function st() {
892
+ return p(ot);
893
+ }
894
+ var ct = f("corner");
895
+ function lt() {
896
+ return p(ct);
893
897
  }
894
898
  //#endregion
895
899
  //#region src/contexts/user.context.tsx
896
- var $ = d.createContext(null);
897
- function lt({ children: e, fetchUser: t }) {
900
+ var ut = d.createContext(null);
901
+ function dt({ children: e, fetchUser: t }) {
898
902
  let [n, r] = d.useState({}), [i, a] = d.useState("loading"), [o, s] = d.useState(null), c = d.useRef(0), l = d.useCallback(() => {
899
903
  let e = ++c.current;
900
904
  t().then((t) => {
@@ -917,15 +921,15 @@ function lt({ children: e, fetchUser: t }) {
917
921
  i,
918
922
  o
919
923
  ]);
920
- return /* @__PURE__ */ v($, {
924
+ return /* @__PURE__ */ _(ut, {
921
925
  value: u,
922
926
  children: e
923
927
  });
924
928
  }
925
- function ut() {
926
- let e = d.useContext($);
929
+ function ft() {
930
+ let e = d.useContext(ut);
927
931
  if (!e) throw Error("useCurrentUser must be used within UserProvider");
928
932
  return e;
929
933
  }
930
934
  //#endregion
931
- export { je as A, Te as B, Me as C, Ie as D, Re as E, be as F, _e as G, De as H, we as I, q as J, me as K, ge as L, xe as M, ve as N, Le as O, ye as P, Se as R, ze as S, Pe as T, ke as U, Ee as V, Oe as W, L as X, z as Y, Je as _, ot as a, Ve as b, it as c, et as d, P as f, Ke as g, Ye as h, ct as i, he as j, Ne as k, nt as l, qe as m, ut as n, at as o, $e as p, pe as q, st as r, tt as s, lt as t, rt as u, Q as v, Fe as w, Be as x, X as y, Ce as z };
935
+ export { Le as A, Se as B, Be as C, Pe as D, Fe as E, ve as F, ke as G, Te as H, ye as I, me as J, Oe as K, be as L, je as M, he as N, Re as O, xe as P, R as Q, we as R, Ve as S, Me as T, Ee as U, Ce as V, De as W, q as X, pe as Y, B as Z, Je as _, lt as a, Q as b, it as c, tt as d, nt as f, Ke as g, Qe as h, ct as i, Ne as j, Ie as k, et as l, F as m, ft as n, st as o, $e as p, _e as q, ot as r, at as s, dt as t, rt as u, $ as v, ze as w, X as x, qe as y, ge as z };