@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.
Files changed (92) hide show
  1. package/README.md +213 -16
  2. package/dist/badge-locale-Bij94NwL.cjs +1 -0
  3. package/dist/{badge-locale-CoEEv7s5.js → badge-locale-Du41PpLA.js} +183 -231
  4. package/dist/bento/bento-command-palette.d.ts +47 -12
  5. package/dist/bento/bento-command-palette.d.ts.map +1 -1
  6. package/dist/bento/bento-form-section.d.ts +7 -1
  7. package/dist/bento/bento-form-section.d.ts.map +1 -1
  8. package/dist/bento/bento-inline-edit.d.ts.map +1 -1
  9. package/dist/bento/bento-nav-rail.d.ts.map +1 -1
  10. package/dist/bento/bento-nav.d.ts +10 -2
  11. package/dist/bento/bento-nav.d.ts.map +1 -1
  12. package/dist/bento/bento-section-chrome.d.ts +5 -0
  13. package/dist/bento/bento-section-chrome.d.ts.map +1 -1
  14. package/dist/bento/bento-status-marker.d.ts.map +1 -1
  15. package/dist/bento/bento-tile.d.ts.map +1 -1
  16. package/dist/bento/index.d.ts +1 -1
  17. package/dist/bento/index.d.ts.map +1 -1
  18. package/dist/bento.cjs +1 -1
  19. package/dist/bento.es.js +464 -404
  20. package/dist/{breadcrumb.context-KQut7j8U.js → breadcrumb.context-BssgEydx.js} +229 -220
  21. package/dist/breadcrumb.context-DLsiMS59.cjs +1 -0
  22. package/dist/components/app-switcher.d.ts.map +1 -1
  23. package/dist/components/badge-colorful.d.ts +9 -0
  24. package/dist/components/badge-colorful.d.ts.map +1 -1
  25. package/dist/components/login/login.d.ts.map +1 -1
  26. package/dist/components/router/index.d.ts +1 -1
  27. package/dist/components/router/index.d.ts.map +1 -1
  28. package/dist/components/router/sub.page.d.ts.map +1 -1
  29. package/dist/components/startup-first/startup-first.d.ts.map +1 -1
  30. package/dist/components/ui/floating-formulas-bg.d.ts.map +1 -1
  31. package/dist/components/ui/glass-card.d.ts +10 -5
  32. package/dist/components/ui/glass-card.d.ts.map +1 -1
  33. package/dist/components/ui/icon-picker-dialog.d.ts.map +1 -1
  34. package/dist/components/ui/index.d.ts +6 -4
  35. package/dist/components/ui/index.d.ts.map +1 -1
  36. package/dist/components/ui/navigation-menu.d.ts +14 -0
  37. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  38. package/dist/components/ui/pulse-ring.d.ts.map +1 -1
  39. package/dist/components/ui/resizable.d.ts.map +1 -1
  40. package/dist/components/ui/sidebar.d.ts.map +1 -1
  41. package/dist/components/ui/sonner.d.ts +12 -0
  42. package/dist/components/ui/sonner.d.ts.map +1 -1
  43. package/dist/components/ui/stepper.d.ts.map +1 -1
  44. package/dist/components/ui/viglet-assistant.d.ts +60 -0
  45. package/dist/components/ui/viglet-assistant.d.ts.map +1 -0
  46. package/dist/components/ui/viglet-avatar.d.ts +42 -0
  47. package/dist/components/ui/viglet-avatar.d.ts.map +1 -0
  48. package/dist/exports.json +24 -5
  49. package/dist/floating-formulas-bg.cjs +1 -1
  50. package/dist/floating-formulas-bg.es.js +56 -55
  51. package/dist/hooks/index.d.ts +1 -0
  52. package/dist/hooks/index.d.ts.map +1 -1
  53. package/dist/hooks/use-assistant-notifications.d.ts +15 -0
  54. package/dist/hooks/use-assistant-notifications.d.ts.map +1 -0
  55. package/dist/i18n/index.d.ts +74 -0
  56. package/dist/i18n/index.d.ts.map +1 -1
  57. package/dist/i18n/locales/en/assistant.json.d.ts +22 -0
  58. package/dist/i18n/locales/en/bento.json.d.ts +3 -1
  59. package/dist/i18n/locales/en/common.json.d.ts +6 -1
  60. package/dist/i18n/locales/en/language.json.d.ts +8 -0
  61. package/dist/i18n/locales/pt/assistant.json.d.ts +22 -0
  62. package/dist/i18n/locales/pt/bento.json.d.ts +3 -1
  63. package/dist/i18n/locales/pt/common.json.d.ts +6 -1
  64. package/dist/i18n/locales/pt/language.json.d.ts +8 -0
  65. package/dist/i18n.cjs +1 -1
  66. package/dist/i18n.es.js +478 -2
  67. package/dist/index.cjs +1 -1
  68. package/dist/index.d.ts +0 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.es.js +1311 -698
  71. package/dist/loading-provider-B6-R2ONB.cjs +1 -0
  72. package/dist/{loading-provider-BWWhhfEn.js → loading-provider-E3fbcekM.js} +24 -23
  73. package/dist/router.cjs +1 -1
  74. package/dist/router.es.js +4 -4
  75. package/dist/{user.context-D1PxP4D4.js → user.context-CPmUBBLa.js} +97 -87
  76. package/dist/user.context-xsJgPpcO.cjs +1 -0
  77. package/dist/utils-Fk5jmzzb.js +41 -0
  78. package/dist/utils-Oagwe_oa.cjs +1 -0
  79. package/dist/viglet-design-system.css +1 -1
  80. package/dist/vite/boot-loader.d.ts +33 -2
  81. package/dist/vite/boot-loader.d.ts.map +1 -1
  82. package/dist/vite.cjs +16 -5
  83. package/dist/vite.es.js +27 -14
  84. package/docs/BENTO-AUTHORING.md +20 -2
  85. package/docs/reference/grounds.dc.html +9 -9
  86. package/package.json +4 -3
  87. package/dist/badge-locale-hQyWhAKe.cjs +0 -7
  88. package/dist/breadcrumb.context-Vwc3lAlf.cjs +0 -1
  89. package/dist/i18n-DD3rQOWi.js +0 -426
  90. package/dist/i18n-DrBq-qJJ.cjs +0 -1
  91. package/dist/loading-provider-CmeMqLGk.cjs +0 -1
  92. package/dist/user.context-B9vIBzY5.cjs +0 -1
package/dist/bento.es.js CHANGED
@@ -1,37 +1,38 @@
1
1
  "use client";
2
- import { A as e, D as t, E as n, F as r, M as i, U as a, _ as o, a as s, f as c, g as l, h as u, i as d, k as f, l as p, m, o as h, s as g, u as _, x as v } from "./badge-locale-CoEEv7s5.js";
3
- import { c as y, l as b, n as x, o as S, r as C, s as w } from "./user.context-D1PxP4D4.js";
4
- import { i as T, t as E } from "./loading-provider-BWWhhfEn.js";
2
+ import { t as e } from "./utils-Fk5jmzzb.js";
3
+ import { A as t, D as n, E as r, F as i, M as a, _ as o, a as s, f as c, g as l, h as u, i as d, k as f, l as p, m, o as h, s as g, u as _, x as v } from "./badge-locale-Du41PpLA.js";
4
+ import { l as y, n as b, o as x, r as S, s as C, u as w } from "./user.context-CPmUBBLa.js";
5
+ import { i as T, t as E } from "./loading-provider-E3fbcekM.js";
5
6
  import { Children as D, createContext as O, isValidElement as k, useContext as A, useEffect as j, useMemo as M, useRef as N, useState as P, useSyncExternalStore as ee } from "react";
6
7
  import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
7
8
  import { useTranslation as R } from "react-i18next";
8
- import { IconAdjustmentsHorizontal as z, IconAlertTriangle as te, IconArrowBackUp as B, IconArrowLeft as ne, IconArrowRight as re, IconArrowUp as V, IconBuildingCommunity as ie, IconBuildingSkyscraper as ae, IconChevronRight as H, IconDeviceFloppy as U, IconDotsVertical as oe, IconExternalLink as se, IconGripVertical as ce, IconHome as le, IconKeyboard as ue, IconLogout as de, IconPalette as fe, IconPlus as pe, IconSearch as me, IconSparkles as W, IconTrash as he, IconUserCircle as ge, IconUsers as _e, IconX as G } from "@tabler/icons-react";
9
- import { Icon as K } from "@iconify/react";
10
- import { Link as q, useLocation as ve, useNavigate as J } from "react-router-dom";
11
- import { DndContext as ye, KeyboardSensor as be, PointerSensor as xe, closestCenter as Se, useSensor as Ce, useSensors as we } from "@dnd-kit/core";
12
- import { SortableContext as Te, arrayMove as Ee, rectSortingStrategy as De, useSortable as Oe } from "@dnd-kit/sortable";
13
- import { CSS as ke } from "@dnd-kit/utilities";
9
+ import { IconAdjustmentsHorizontal as z, IconAlertTriangle as te, IconArrowBackUp as B, IconArrowLeft as ne, IconArrowRight as re, IconArrowUp as ie, IconBuildingCommunity as ae, IconBuildingSkyscraper as oe, IconChevronRight as V, IconDeviceFloppy as H, IconDotsVertical as se, IconExternalLink as ce, IconGripVertical as le, IconHome as ue, IconKeyboard as de, IconLayoutGrid as fe, IconLogout as pe, IconPalette as me, IconPlus as he, IconSearch as ge, IconSparkles as U, IconTrash as _e, IconUserCircle as ve, IconUsers as ye, IconX as W } from "@tabler/icons-react";
10
+ import { Icon as G } from "@iconify/react";
11
+ import { Link as K, useLocation as be, useNavigate as q } from "react-router-dom";
12
+ import { DndContext as xe, KeyboardSensor as Se, PointerSensor as Ce, closestCenter as we, useSensor as Te, useSensors as Ee } from "@dnd-kit/core";
13
+ import { SortableContext as De, arrayMove as Oe, rectSortingStrategy as ke, useSortable as Ae } from "@dnd-kit/sortable";
14
+ import { CSS as je } from "@dnd-kit/utilities";
14
15
  //#region src/bento/bento-actions-menu.tsx
15
- var Ae = {
16
+ var Me = {
16
17
  default: "",
17
18
  destructive: "bento-item-danger"
18
19
  };
19
- function je({ actions: e, triggerLabel: t }) {
20
- let { t: r } = R();
21
- return e.length === 0 ? null : /* @__PURE__ */ L(c, { children: [/* @__PURE__ */ I(n, {
20
+ function Ne({ actions: e, triggerLabel: t }) {
21
+ let { t: n } = R();
22
+ return e.length === 0 ? null : /* @__PURE__ */ L(c, { children: [/* @__PURE__ */ I(r, {
22
23
  asChild: !0,
23
24
  children: /* @__PURE__ */ I("button", {
24
25
  type: "button",
25
- "aria-label": t ?? r("forms.formActions.moreActions", { defaultValue: "More actions" }),
26
+ "aria-label": t ?? n("forms.formActions.moreActions", { defaultValue: "More actions" }),
26
27
  className: "bento-tile-clickable inline-flex h-9 w-9 items-center justify-center rounded-full border border-border/60 bg-card/60 text-muted-foreground backdrop-blur transition-colors duration-200 hover:text-foreground",
27
- children: /* @__PURE__ */ I(oe, { size: 18 })
28
+ children: /* @__PURE__ */ I(se, { size: 18 })
28
29
  })
29
30
  }), /* @__PURE__ */ I(m, {
30
31
  align: "end",
31
32
  sideOffset: 8,
32
33
  className: "bento-dropdown min-w-44 p-1.5",
33
34
  children: e.map((e) => {
34
- let t = e.icon, n = Ae[e.tone ?? "default"];
35
+ let t = e.icon, n = Me[e.tone ?? "default"];
35
36
  return /* @__PURE__ */ L(l, {
36
37
  onSelect: e.onSelect,
37
38
  disabled: e.disabled,
@@ -43,7 +44,7 @@ function je({ actions: e, triggerLabel: t }) {
43
44
  }
44
45
  //#endregion
45
46
  //#region src/bento/bento-tones.ts
46
- var Y = {
47
+ var J = {
47
48
  blue: "bento-tone-blue",
48
49
  indigo: "bento-tone-indigo",
49
50
  violet: "bento-tone-violet",
@@ -51,15 +52,15 @@ var Y = {
51
52
  amber: "bento-tone-amber",
52
53
  rose: "bento-tone-rose",
53
54
  slate: "bento-tone-slate"
54
- }, Me = Object.keys(Y);
55
- function X(e) {
56
- return `bento-chip ${Y[e] ?? Y.slate}`;
55
+ }, Pe = Object.keys(J);
56
+ function Y(e) {
57
+ return `bento-chip ${J[e] ?? J.slate}`;
57
58
  }
58
59
  //#endregion
59
60
  //#region src/bento/bento-count-tile.tsx
60
- function Ne({ to: e, icon: t, tone: n, label: r, count: i, span: a }) {
61
+ function Fe({ to: e, icon: t, tone: n, label: r, count: i, span: a }) {
61
62
  let o = /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I("span", {
62
- className: `grid h-9 w-9 place-items-center rounded-2xl text-white shadow-md ${X(n)}`,
63
+ className: `grid h-9 w-9 place-items-center rounded-2xl text-white shadow-md ${Y(n)}`,
63
64
  children: /* @__PURE__ */ I(t, { size: 18 })
64
65
  }), /* @__PURE__ */ L("div", { children: [/* @__PURE__ */ I("div", {
65
66
  className: "text-3xl font-semibold tabular-nums tracking-tight",
@@ -68,7 +69,7 @@ function Ne({ to: e, icon: t, tone: n, label: r, count: i, span: a }) {
68
69
  className: "text-[11px] uppercase tracking-wider text-muted-foreground",
69
70
  children: r
70
71
  })] })] }), s = `bento-tile bento-glass group relative flex flex-col justify-between overflow-hidden p-4 ${a}${e ? " bento-tile-clickable" : ""}`;
71
- return e ? /* @__PURE__ */ I(q, {
72
+ return e ? /* @__PURE__ */ I(K, {
72
73
  to: e,
73
74
  className: s,
74
75
  children: o
@@ -79,34 +80,34 @@ function Ne({ to: e, icon: t, tone: n, label: r, count: i, span: a }) {
79
80
  }
80
81
  //#endregion
81
82
  //#region src/bento/bento-empty-state.tsx
82
- function Pe({ icon: e = W, tone: t = "indigo", title: n, description: r, action: i, align: o = "center", className: s }) {
83
- let c = X(t), l = o === "center";
83
+ function Ie({ icon: t = U, tone: n = "indigo", title: r, description: i, action: a, align: o = "center", className: s }) {
84
+ let c = Y(n), l = o === "center";
84
85
  return /* @__PURE__ */ L("div", {
85
- className: a("bento-tile bento-glass flex flex-col gap-3 rounded-3xl p-8", l ? "items-center text-center" : "items-start text-left", s),
86
+ className: e("bento-tile bento-glass flex flex-col gap-3 rounded-3xl p-8", l ? "items-center text-center" : "items-start text-left", s),
86
87
  children: [
87
88
  /* @__PURE__ */ I("span", {
88
89
  className: `grid h-12 w-12 place-items-center rounded-2xl ${c} text-white shadow-md`,
89
- children: /* @__PURE__ */ I(e, { size: 24 })
90
+ children: /* @__PURE__ */ I(t, { size: 24 })
90
91
  }),
91
92
  /* @__PURE__ */ I("div", {
92
93
  className: "text-lg font-semibold tracking-tight",
93
- children: n
94
- }),
95
- r && /* @__PURE__ */ I("p", {
96
- className: a("max-w-md text-sm text-muted-foreground", l && "mx-auto"),
97
94
  children: r
98
95
  }),
99
- i && /* @__PURE__ */ I("div", {
100
- className: a("mt-1", l && "mx-auto"),
96
+ i && /* @__PURE__ */ I("p", {
97
+ className: e("max-w-md text-sm text-muted-foreground", l && "mx-auto"),
101
98
  children: i
99
+ }),
100
+ a && /* @__PURE__ */ I("div", {
101
+ className: e("mt-1", l && "mx-auto"),
102
+ children: a
102
103
  })
103
104
  ]
104
105
  });
105
106
  }
106
107
  //#endregion
107
108
  //#region src/bento/bento-hero.tsx
108
- function Z({ to: e, children: t }) {
109
- return /* @__PURE__ */ L(q, {
109
+ function X({ to: e, children: t }) {
110
+ return /* @__PURE__ */ L(K, {
110
111
  to: e,
111
112
  className: "inline-flex items-center gap-1 hover:text-foreground",
112
113
  children: [/* @__PURE__ */ I(ne, {
@@ -115,8 +116,8 @@ function Z({ to: e, children: t }) {
115
116
  }), t]
116
117
  });
117
118
  }
118
- function Q({ eyebrow: e, backTo: t, backLabel: n, title: r, subtitle: i, leading: a, trailing: o }) {
119
- let s = e ?? (t == null ? null : /* @__PURE__ */ I(Z, {
119
+ function Z({ eyebrow: e, backTo: t, backLabel: n, title: r, subtitle: i, leading: a, trailing: o }) {
120
+ let s = e ?? (t == null ? null : /* @__PURE__ */ I(X, {
120
121
  to: t,
121
122
  children: n
122
123
  }));
@@ -156,11 +157,11 @@ function Q({ eyebrow: e, backTo: t, backLabel: n, title: r, subtitle: i, leading
156
157
  }
157
158
  //#endregion
158
159
  //#region src/bento/bento-hero-icon-picker.tsx
159
- function Fe({ value: e, onChange: t, onClear: n, defaultIcon: r, tone: i, title: a, description: o, readOnly: s = !1 }) {
160
+ function Le({ value: e, onChange: t, onClear: n, defaultIcon: r, tone: i, title: a, description: o, readOnly: s = !1 }) {
160
161
  let { t: c } = R(), [l, u] = P(!1);
161
162
  return s ? /* @__PURE__ */ I("span", {
162
- className: `grid h-12 w-12 place-items-center rounded-2xl ${X(i)} text-white shadow-md`,
163
- children: e ? /* @__PURE__ */ I(K, {
163
+ className: `grid h-12 w-12 place-items-center rounded-2xl ${Y(i)} text-white shadow-md`,
164
+ children: e ? /* @__PURE__ */ I(G, {
164
165
  icon: e,
165
166
  className: "size-6 text-white"
166
167
  }) : /* @__PURE__ */ I(r, { size: 24 })
@@ -171,13 +172,13 @@ function Fe({ value: e, onChange: t, onClear: n, defaultIcon: r, tone: i, title:
171
172
  type: "button",
172
173
  onClick: () => u(!0),
173
174
  "aria-label": c("forms.iconPicker.chooseAnIcon"),
174
- className: `group/icon relative grid h-12 w-12 cursor-pointer place-items-center overflow-hidden rounded-2xl ${X(i)} text-white shadow-md outline-none transition-all duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] hover:scale-105 focus-visible:ring-2 focus-visible:ring-ring active:scale-95`,
175
- children: [e ? /* @__PURE__ */ I(K, {
175
+ className: `group/icon relative grid h-12 w-12 cursor-pointer place-items-center overflow-hidden rounded-2xl ${Y(i)} text-white shadow-md outline-none transition-all duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] hover:scale-105 focus-visible:ring-2 focus-visible:ring-ring active:scale-95`,
176
+ children: [e ? /* @__PURE__ */ I(G, {
176
177
  icon: e,
177
178
  className: "size-6 text-white"
178
179
  }) : /* @__PURE__ */ I(r, { size: 24 }), /* @__PURE__ */ I("span", {
179
180
  className: "pointer-events-none absolute inset-0 grid place-items-center bg-black/40 opacity-0 transition-opacity duration-200 group-hover/icon:opacity-100",
180
- children: /* @__PURE__ */ I(fe, { className: "size-5 text-white" })
181
+ children: /* @__PURE__ */ I(me, { className: "size-5 text-white" })
181
182
  })]
182
183
  }),
183
184
  e && n && /* @__PURE__ */ I("button", {
@@ -188,7 +189,7 @@ function Fe({ value: e, onChange: t, onClear: n, defaultIcon: r, tone: i, title:
188
189
  "aria-label": c("forms.common.remove"),
189
190
  title: c("forms.common.remove"),
190
191
  className: "absolute -right-1.5 -top-1.5 grid h-5 w-5 cursor-pointer place-items-center rounded-full border border-border/60 bg-card/90 text-foreground opacity-0 shadow-md backdrop-blur transition-opacity duration-200 bento-clear focus-visible:opacity-100 group-hover:opacity-100",
191
- children: /* @__PURE__ */ I(G, { size: 12 })
192
+ children: /* @__PURE__ */ I(W, { size: 12 })
192
193
  }),
193
194
  /* @__PURE__ */ I(y, {
194
195
  open: l,
@@ -204,102 +205,102 @@ function Fe({ value: e, onChange: t, onClear: n, defaultIcon: r, tone: i, title:
204
205
  }
205
206
  //#endregion
206
207
  //#region src/bento/bento-inline-edit.tsx
207
- function Ie({ value: e, onSave: t, multiline: n = !1, placeholder: r, className: i = "", ariaLabel: a, autoFocus: o = !1, readOnly: s = !1, commitOnChange: c = !1 }) {
208
- let { t: l } = R(), [u, d] = P(o), [f, m] = P(e), [h, g] = P(!1), _ = N(null), [v, y] = P(e);
209
- !u && e !== v && (y(e), m(e)), j(() => {
210
- u && _.current && (_.current.focus(), _.current.select());
211
- }, [u]);
212
- async function b() {
213
- let n = f.trim();
214
- if (n === e) {
215
- d(!1);
208
+ function Re({ value: t, onSave: n, multiline: r = !1, placeholder: i, className: a, ariaLabel: o, autoFocus: s = !1, readOnly: c = !1, commitOnChange: l = !1 }) {
209
+ let { t: u } = R(), [d, f] = P(s), [m, h] = P(t), [g, _] = P(!1), v = N(null), [y, b] = P(t);
210
+ !d && t !== y && (b(t), h(t)), j(() => {
211
+ d && v.current && (v.current.focus(), v.current.select());
212
+ }, [d]);
213
+ async function x() {
214
+ let e = m.trim();
215
+ if (e === t) {
216
+ f(!1);
216
217
  return;
217
218
  }
218
- if (!n && !r) {
219
- m(e), d(!1);
219
+ if (!e && !i) {
220
+ h(t), f(!1);
220
221
  return;
221
222
  }
222
- g(!0);
223
+ _(!0);
223
224
  try {
224
- await t(n);
225
+ await n(e);
225
226
  } catch {
226
- m(e);
227
+ h(t);
227
228
  } finally {
228
- g(!1), d(!1);
229
+ _(!1), f(!1);
229
230
  }
230
231
  }
231
- function x() {
232
- m(e), d(!1);
232
+ function S() {
233
+ h(t), f(!1);
233
234
  }
234
- function S(e) {
235
- m(e), c && t(e);
235
+ function C(e) {
236
+ h(e), l && n(e);
236
237
  }
237
- let C = !e;
238
- if (s) return /* @__PURE__ */ I("span", {
239
- className: `block w-full ${i}`,
240
- "aria-label": a,
241
- children: e || /* @__PURE__ */ I("span", {
238
+ let w = !t;
239
+ if (c) return /* @__PURE__ */ I("span", {
240
+ className: e("block w-full", a),
241
+ "aria-label": o,
242
+ children: t || /* @__PURE__ */ I("span", {
242
243
  className: "text-muted-foreground/80",
243
- children: r ?? "—"
244
+ children: i ?? "—"
244
245
  })
245
246
  });
246
- let w = `w-full bg-transparent outline-none border-b transition-colors duration-200 ${i}`, T = `${w} cursor-text rounded-sm ${C ? "border-dashed border-border/70 hover:border-foreground/40" : "border-transparent hover:border-border/60 focus-visible:border-border/80"} ${h ? "opacity-60" : ""}`, E = `${w} bento-editing`;
247
- if (!u) return /* @__PURE__ */ I("button", {
247
+ let T = "w-full bg-transparent outline-none border-b transition-colors duration-200", E = e(T, "cursor-text rounded-sm", w ? "border-dashed border-border/70 hover:border-foreground/40" : "border-transparent hover:border-border/60 focus-visible:border-border/80", g && "opacity-60"), D = e(T, "bento-editing");
248
+ if (!d) return /* @__PURE__ */ I("button", {
248
249
  type: "button",
249
- onClick: () => d(!0),
250
- className: `${T} text-left`,
251
- "aria-label": a ?? l("forms.formActions.edit"),
252
- disabled: h,
253
- children: e || /* @__PURE__ */ I("span", {
250
+ onClick: () => f(!0),
251
+ className: e(E, "text-left", a),
252
+ "aria-label": o ?? u("forms.formActions.edit"),
253
+ disabled: g,
254
+ children: t || /* @__PURE__ */ I("span", {
254
255
  className: "text-muted-foreground/80",
255
- children: r ?? "—"
256
+ children: i ?? "—"
256
257
  })
257
258
  });
258
- function D(e) {
259
+ function O(e) {
259
260
  if (e.key === "Escape") {
260
- e.preventDefault(), x();
261
+ e.preventDefault(), S();
261
262
  return;
262
263
  }
263
- e.key === "Enter" && (!n || e.metaKey || e.ctrlKey) && (e.preventDefault(), b());
264
+ e.key === "Enter" && (!r || e.metaKey || e.ctrlKey) && (e.preventDefault(), x());
264
265
  }
265
- return n ? /* @__PURE__ */ I("textarea", {
266
- ref: _,
267
- value: f,
268
- onChange: (e) => S(e.target.value),
269
- onBlur: b,
270
- onKeyDown: D,
271
- placeholder: r,
272
- "aria-label": a,
266
+ return r ? /* @__PURE__ */ I("textarea", {
267
+ ref: v,
268
+ value: m,
269
+ onChange: (e) => C(e.target.value),
270
+ onBlur: x,
271
+ onKeyDown: O,
272
+ placeholder: i,
273
+ "aria-label": o,
273
274
  rows: 3,
274
- className: `${E} resize-none py-0.5 leading-snug`
275
+ className: e(D, "resize-none py-0.5 leading-snug", a)
275
276
  }) : /* @__PURE__ */ I(p, {
276
- ref: _,
277
- value: f,
278
- onChange: (e) => S(e.target.value),
279
- onBlur: b,
280
- onKeyDown: D,
281
- placeholder: r,
282
- "aria-label": a,
283
- className: `${E} h-auto px-0 py-0 shadow-none focus-visible:ring-0`
277
+ ref: v,
278
+ value: m,
279
+ onChange: (e) => C(e.target.value),
280
+ onBlur: x,
281
+ onKeyDown: O,
282
+ placeholder: i,
283
+ "aria-label": o,
284
+ className: e(D, "h-auto px-0 py-0 shadow-none focus-visible:ring-0", a)
284
285
  });
285
286
  }
286
287
  //#endregion
287
288
  //#region src/bento/bento-status-marker.tsx
288
- function Le({ titleMissing: e, dirty: t, className: n }) {
289
- let { t: r } = R();
290
- if (!e && !t) return null;
291
- let i = "inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[10px] font-medium normal-case leading-none tracking-normal";
292
- return e ? /* @__PURE__ */ L("span", {
293
- className: `${i} bento-status bento-status-error ${n ?? ""}`,
294
- children: [/* @__PURE__ */ I(te, { className: "size-3" }), r("bento.saveBar.titleRequired", { defaultValue: "Title required" })]
289
+ function ze({ titleMissing: t, dirty: n, className: r }) {
290
+ let { t: i } = R();
291
+ if (!t && !n) return null;
292
+ let a = "inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[10px] font-medium normal-case leading-none tracking-normal";
293
+ return t ? /* @__PURE__ */ L("span", {
294
+ className: e(a, "bento-status bento-status-error", r),
295
+ children: [/* @__PURE__ */ I(te, { className: "size-3" }), i("bento.saveBar.titleRequired", { defaultValue: "Title required" })]
295
296
  }) : /* @__PURE__ */ L("span", {
296
- className: `${i} bento-status bento-status-warn ${n ?? ""}`,
297
- children: [/* @__PURE__ */ I("span", { className: "h-1.5 w-1.5 rounded-full bento-status-dot bento-pulse" }), r("bento.saveBar.unsaved", { defaultValue: "Unsaved changes" })]
297
+ className: e(a, "bento-status bento-status-warn", r),
298
+ children: [/* @__PURE__ */ I("span", { className: "h-1.5 w-1.5 rounded-full bento-status-dot bento-pulse" }), i("bento.saveBar.unsaved", { defaultValue: "Unsaved changes" })]
298
299
  });
299
300
  }
300
301
  //#endregion
301
302
  //#region src/bento/bento-scroll-fade.ts
302
- function Re(e) {
303
+ function Be(e) {
303
304
  j(() => {
304
305
  let t = e.current;
305
306
  if (!t) return;
@@ -317,17 +318,17 @@ function Re(e) {
317
318
  }
318
319
  //#endregion
319
320
  //#region src/bento/bento-entity-shell.tsx
320
- function ze(e, t) {
321
+ function Ve(e, t) {
321
322
  let n = {};
322
323
  for (let r of Object.keys(e)) Object.assign(n, { [r]: t[r] });
323
324
  return n;
324
325
  }
325
- function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i, icon: a, tone: o, formId: s, feature: c, hasStatus: l = !1, hideIcon: u = !1, readOnly: d = !1, autosaveOnly: f = !1, badge: p, notice: m, onUpdate: h, onDelete: g, extraActions: v, children: y }) {
326
- let { t: b } = R(), x = J(), [C, w] = P(!1), [E, D] = P({
326
+ function He({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i, icon: a, tone: o, formId: s, feature: c, hasStatus: l = !1, hideIcon: u = !1, readOnly: d = !1, autosaveOnly: f = !1, badge: p, notice: m, onUpdate: h, onDelete: g, extraActions: v, children: y }) {
327
+ let { t: b } = R(), S = q(), [C, w] = P(!1), [E, D] = P({
327
328
  isDirty: !1,
328
329
  isSubmitting: !1
329
330
  }), O = N(null);
330
- Re(O);
331
+ Be(O);
331
332
  let k = {
332
333
  title: e.title ?? "",
333
334
  description: e.description ?? "",
@@ -345,15 +346,15 @@ function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
345
346
  await h({
346
347
  ...e,
347
348
  ...n
348
- }), S.success(b("forms.common.updated", {
349
+ }), x.success(b("forms.common.updated", {
349
350
  name: r,
350
351
  feature: c
351
352
  }));
352
353
  } catch (e) {
353
354
  console.error("Failed to update entity field", e), j((e) => ({
354
355
  ...e,
355
- ...ze(n, k)
356
- })), S.error(b("forms.common.notUpdated", {
356
+ ...Ve(n, k)
357
+ })), x.error(b("forms.common.notUpdated", {
357
358
  name: k.title || r,
358
359
  feature: c
359
360
  }));
@@ -362,15 +363,15 @@ function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
362
363
  async function te() {
363
364
  if (g) {
364
365
  try {
365
- await g() ? (S.success(b("forms.common.deleted", {
366
+ await g() ? (x.success(b("forms.common.deleted", {
366
367
  name: A.title,
367
368
  feature: c
368
- })), x(i)) : S.error(b("forms.common.notDeleted", {
369
+ })), S(i)) : x.error(b("forms.common.notDeleted", {
369
370
  name: A.title,
370
371
  feature: c
371
372
  }));
372
373
  } catch (e) {
373
- console.error("Failed to delete entity", e), S.error(b("forms.common.notDeleted", {
374
+ console.error("Failed to delete entity", e), x.error(b("forms.common.notDeleted", {
374
375
  name: A.title,
375
376
  feature: c
376
377
  }));
@@ -378,25 +379,25 @@ function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
378
379
  w(!1);
379
380
  }
380
381
  }
381
- let B = A.enabled === 1, ne = !d, re = !(f && !t), V = !A.title.trim(), ie = !t && !E.isDirty, ae = V || ie, H = [...v ?? [], ...g && !d ? [{
382
+ let B = A.enabled === 1, ne = !d, re = !(f && !t), ie = !A.title.trim(), ae = !t && !E.isDirty, oe = ie || ae, V = [...v ?? [], ...g && !d ? [{
382
383
  label: b("forms.formActions.delete"),
383
- icon: he,
384
+ icon: _e,
384
385
  tone: "destructive",
385
386
  onSelect: () => w(!0)
386
387
  }] : []];
387
388
  return /* @__PURE__ */ L(F, { children: [
388
- /* @__PURE__ */ I(Q, {
389
+ /* @__PURE__ */ I(Z, {
389
390
  eyebrow: /* @__PURE__ */ L("span", {
390
391
  className: "inline-flex items-center gap-2",
391
- children: [/* @__PURE__ */ I(Z, {
392
+ children: [/* @__PURE__ */ I(X, {
392
393
  to: i,
393
394
  children: r
394
- }), !d && /* @__PURE__ */ I(Le, {
395
- titleMissing: V,
395
+ }), !d && /* @__PURE__ */ I(ze, {
396
+ titleMissing: ie,
396
397
  dirty: t || E.isDirty
397
398
  })]
398
399
  }),
399
- leading: /* @__PURE__ */ I(Fe, {
400
+ leading: /* @__PURE__ */ I(Le, {
400
401
  value: A.icon,
401
402
  onChange: (e) => z({ icon: e }),
402
403
  onClear: () => z({ icon: null }),
@@ -406,7 +407,7 @@ function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
406
407
  description: A.description,
407
408
  readOnly: d || u
408
409
  }),
409
- title: /* @__PURE__ */ I(Ie, {
410
+ title: /* @__PURE__ */ I(Re, {
410
411
  value: A.title,
411
412
  onSave: (e) => z({ title: e }),
412
413
  placeholder: n,
@@ -416,7 +417,7 @@ function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
416
417
  commitOnChange: t,
417
418
  readOnly: d
418
419
  }),
419
- subtitle: /* @__PURE__ */ I(Ie, {
420
+ subtitle: /* @__PURE__ */ I(Re, {
420
421
  value: A.description,
421
422
  onSave: (e) => z({ description: e }),
422
423
  multiline: !0,
@@ -434,14 +435,14 @@ function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
434
435
  form: s,
435
436
  size: "sm",
436
437
  loading: E.isSubmitting,
437
- disabled: ae,
438
- children: [/* @__PURE__ */ I(U, { className: "size-4" }), b("forms.formActions.saveChanges")]
438
+ disabled: oe,
439
+ children: [/* @__PURE__ */ I(H, { className: "size-4" }), b("forms.formActions.saveChanges")]
439
440
  }), /* @__PURE__ */ L(_, {
440
441
  type: "button",
441
442
  size: "sm",
442
443
  variant: "outline",
443
- onClick: () => x(i),
444
- children: [/* @__PURE__ */ I(G, { className: "size-4" }), b("forms.formActions.cancel")]
444
+ onClick: () => S(i),
445
+ children: [/* @__PURE__ */ I(W, { className: "size-4" }), b("forms.formActions.cancel")]
445
446
  })]
446
447
  }),
447
448
  p,
@@ -456,7 +457,7 @@ function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
456
457
  className: `bento-tile-clickable flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[10px] uppercase tracking-wider transition-colors duration-200 ${B ? "bento-status bento-status-on" : "border-border bg-muted text-muted-foreground hover:bg-muted/80"}`,
457
458
  children: [/* @__PURE__ */ I("span", { className: `h-1.5 w-1.5 rounded-full ${B ? "bento-status-dot bento-pulse" : "bg-muted-foreground/60"}` }), B ? b("common.active", { defaultValue: "Active" }) : b("common.idle", { defaultValue: "Idle" })]
458
459
  })),
459
- !t && H.length > 0 && /* @__PURE__ */ I(je, { actions: H })
460
+ !t && V.length > 0 && /* @__PURE__ */ I(Ne, { actions: V })
460
461
  ] })
461
462
  }),
462
463
  /* @__PURE__ */ I("div", {
@@ -484,16 +485,16 @@ function Be({ entity: e, isNew: t, headlineFallback: n, eyebrow: r, listRoute: i
484
485
  }
485
486
  //#endregion
486
487
  //#region src/bento/bento-layout.ts
487
- var Ve = {
488
+ var Ue = {
488
489
  LARGE: "col-span-2 row-span-2 md:col-span-2 md:row-span-2 lg:col-span-2 lg:row-span-2",
489
490
  MEDIUM: "col-span-2 row-span-1 md:col-span-2 md:row-span-1 lg:col-span-2 lg:row-span-1",
490
491
  SMALL: "col-span-1 row-span-1"
491
- }, He = {
492
+ }, We = {
492
493
  SMALL: "MEDIUM",
493
494
  MEDIUM: "LARGE",
494
495
  LARGE: "SMALL"
495
496
  };
496
- function Ue(e, t, n) {
497
+ function Ge(e, t, n) {
497
498
  if (!n || n.length === 0) return e.map((e, n) => ({
498
499
  item: e,
499
500
  key: t(e),
@@ -514,7 +515,7 @@ function Ue(e, t, n) {
514
515
  emphasis: i.get(t) ?? "MEDIUM"
515
516
  }));
516
517
  }
517
- function We(e) {
518
+ function Ke(e) {
518
519
  return e.map((e, t) => ({
519
520
  itemId: e.key,
520
521
  emphasis: e.emphasis,
@@ -523,9 +524,9 @@ function We(e) {
523
524
  }
524
525
  //#endregion
525
526
  //#region src/bento/bento-entity-tile.tsx
526
- function Ge({ to: e, emphasis: t, featured: n, defaultIcon: r, icon: i, tone: a = "indigo", title: o, description: s, meta: c, enabled: l, hasStatus: u = !1, viewTransitionName: d }) {
527
- let { t: f } = R(), p = X(a), m = t ?? (n ? "LARGE" : "MEDIUM"), h = m === "LARGE", g = m === "SMALL", _ = Ve[m], v = l === 1, y = h ? "p-6 md:p-7" : g ? "p-4" : "p-5", b = h ? "h-14 w-14" : g ? "h-8 w-8" : "h-9 w-9", x = h ? 28 : g ? 16 : 18, S = h ? "text-xl md:text-2xl" : g ? "text-sm" : "text-base md:text-lg";
528
- return /* @__PURE__ */ L(q, {
527
+ function qe({ to: e, emphasis: t, featured: n, defaultIcon: r, icon: i, tone: a = "indigo", title: o, description: s, meta: c, enabled: l, hasStatus: u = !1, viewTransitionName: d }) {
528
+ let { t: f } = R(), p = Y(a), m = t ?? (n ? "LARGE" : "MEDIUM"), h = m === "LARGE", g = m === "SMALL", _ = Ue[m], v = l === 1, y = h ? "p-6 md:p-7" : g ? "p-4" : "p-5", b = h ? "h-14 w-14" : g ? "h-8 w-8" : "h-9 w-9", x = h ? 28 : g ? 16 : 18, S = h ? "text-xl md:text-2xl" : g ? "text-sm" : "text-base md:text-lg";
529
+ return /* @__PURE__ */ L(K, {
529
530
  to: e,
530
531
  className: `bento-tile bento-tile-clickable bento-glass group relative flex flex-col ${h ? "gap-5" : "gap-4"} overflow-hidden ${y} ${_}`,
531
532
  style: d ? { viewTransitionName: d } : void 0,
@@ -541,7 +542,7 @@ function Ge({ to: e, emphasis: t, featured: n, defaultIcon: r, icon: i, tone: a
541
542
  className: "relative z-1 flex items-center justify-between",
542
543
  children: [/* @__PURE__ */ I("span", {
543
544
  className: `grid place-items-center rounded-2xl ${p} text-white shadow-md ${b}`,
544
- children: i ? /* @__PURE__ */ I(K, {
545
+ children: i ? /* @__PURE__ */ I(G, {
545
546
  icon: i,
546
547
  className: h ? "size-7 text-white" : "size-4.5 text-white"
547
548
  }) : /* @__PURE__ */ I(r, { size: x })
@@ -572,55 +573,55 @@ function Ge({ to: e, emphasis: t, featured: n, defaultIcon: r, icon: i, tone: a
572
573
  }
573
574
  //#endregion
574
575
  //#region src/bento/bento-list-page.tsx
575
- var Ke = "bento-grid grid auto-rows-[minmax(140px,auto)] grid-cols-2 gap-4 md:grid-cols-4 md:gap-5 lg:grid-cols-6";
576
- function qe({ items: e, error: t, tryAgainUrl: n, listId: r, eyebrow: i, backTo: a, backLabel: o, heroIcon: s, title: c, subtitle: l, tone: u = "indigo", headerAction: d, newRoute: f, newLabel: p, newSubtitle: m, hideNew: h = !1, itemKey: g, renderTile: _, emptyTitle: v, emptyDescription: y, layout: x }) {
577
- let { t: S } = R(), C = X(u), [w, T] = P(!1), D = M(() => Ue(e ?? [], g, x?.data?.entries), [
576
+ var Je = "bento-grid grid auto-rows-[minmax(140px,auto)] grid-cols-2 gap-4 md:grid-cols-4 md:gap-5 lg:grid-cols-6";
577
+ function Ye({ items: e, error: t, tryAgainUrl: n, listId: r, eyebrow: i, backTo: a, backLabel: o, heroIcon: s, title: c, subtitle: l, tone: u = "indigo", headerAction: d, newRoute: f, newLabel: p, newSubtitle: m, hideNew: h = !1, itemKey: g, renderTile: _, emptyTitle: v, emptyDescription: y, layout: b }) {
578
+ let { t: x } = R(), S = Y(u), [C, T] = P(!1), D = M(() => Ge(e ?? [], g, b?.data?.entries), [
578
579
  e,
579
580
  g,
580
- x?.data?.entries
581
- ]), O = !!r && !!x && (e?.length ?? 0) > 0;
581
+ b?.data?.entries
582
+ ]), O = !!r && !!b && (e?.length ?? 0) > 0;
582
583
  return /* @__PURE__ */ L(E, {
583
584
  checkIsNotUndefined: e,
584
585
  error: t ?? null,
585
586
  tryAgainUrl: n,
586
587
  children: [
587
- /* @__PURE__ */ I(Q, {
588
+ /* @__PURE__ */ I(Z, {
588
589
  eyebrow: i,
589
590
  backTo: a,
590
591
  backLabel: o,
591
592
  leading: /* @__PURE__ */ I("span", {
592
- className: `grid h-12 w-12 place-items-center rounded-2xl ${C} text-white shadow-md`,
593
+ className: `grid h-12 w-12 place-items-center rounded-2xl ${S} text-white shadow-md`,
593
594
  children: /* @__PURE__ */ I(s, { size: 24 })
594
595
  }),
595
596
  title: c,
596
597
  subtitle: l
597
598
  }),
598
- (d || O && !w) && /* @__PURE__ */ L("div", {
599
+ (d || O && !C) && /* @__PURE__ */ L("div", {
599
600
  className: "mb-4 flex flex-wrap items-center gap-2",
600
- children: [d, O && !w && /* @__PURE__ */ L(b, {
601
+ children: [d, O && !C && /* @__PURE__ */ L(w, {
601
602
  variant: "outline",
602
603
  size: "sm",
603
604
  onClick: () => T(!0),
604
605
  className: "ml-auto gap-2",
605
- children: [/* @__PURE__ */ I(z, { size: 16 }), S("bento.layout.customize", { defaultValue: "Customize layout" })]
606
+ children: [/* @__PURE__ */ I(z, { size: 16 }), x("bento.layout.customize", { defaultValue: "Customize layout" })]
606
607
  })]
607
608
  }),
608
- w && r && x ? /* @__PURE__ */ I(Xe, {
609
- layout: x,
609
+ C && r && b ? /* @__PURE__ */ I(Qe, {
610
+ layout: b,
610
611
  resolved: D,
611
- canEditGlobal: x?.data?.canEditGlobal ?? !1,
612
- isCustomized: x?.data?.source === "USER",
612
+ canEditGlobal: b?.data?.canEditGlobal ?? !1,
613
+ isCustomized: b?.data?.source === "USER",
613
614
  renderTile: _,
614
- chip: C,
615
+ chip: S,
615
616
  hideNew: h,
616
617
  newRoute: f,
617
618
  newLabel: p,
618
619
  newSubtitle: m,
619
620
  onClose: () => T(!1)
620
- }) : /* @__PURE__ */ I(Ye, {
621
+ }) : /* @__PURE__ */ I(Ze, {
621
622
  resolved: D,
622
623
  renderTile: _,
623
- chip: C,
624
+ chip: S,
624
625
  hideNew: h,
625
626
  newRoute: f,
626
627
  newLabel: p,
@@ -632,16 +633,16 @@ function qe({ items: e, error: t, tryAgainUrl: n, listId: r, eyebrow: i, backTo:
632
633
  ]
633
634
  });
634
635
  }
635
- function Je({ items: e, error: t, tryAgainUrl: n, tone: r = "indigo", newRoute: i, newLabel: a, newSubtitle: o, hideNew: s = !1, itemKey: c, renderTile: l, emptyTitle: u, emptyDescription: d }) {
636
- let f = X(r);
636
+ function Xe({ items: e, error: t, tryAgainUrl: n, tone: r = "indigo", newRoute: i, newLabel: a, newSubtitle: o, hideNew: s = !1, itemKey: c, renderTile: l, emptyTitle: u, emptyDescription: d }) {
637
+ let f = Y(r);
637
638
  return /* @__PURE__ */ I(E, {
638
639
  checkIsNotUndefined: e,
639
640
  error: t ?? null,
640
641
  tryAgainUrl: n,
641
642
  children: /* @__PURE__ */ L("div", {
642
- className: Ke,
643
+ className: Je,
643
644
  children: [
644
- !s && i && a ? /* @__PURE__ */ I(et, {
645
+ !s && i && a ? /* @__PURE__ */ I(nt, {
645
646
  route: i,
646
647
  label: a,
647
648
  subtitle: o,
@@ -651,7 +652,7 @@ function Je({ items: e, error: t, tryAgainUrl: n, tone: r = "indigo", newRoute:
651
652
  className: "contents",
652
653
  children: l(e)
653
654
  }, c(e))),
654
- e?.length === 0 && /* @__PURE__ */ I(tt, {
655
+ e?.length === 0 && /* @__PURE__ */ I(rt, {
655
656
  title: u,
656
657
  description: d
657
658
  })
@@ -659,30 +660,30 @@ function Je({ items: e, error: t, tryAgainUrl: n, tone: r = "indigo", newRoute:
659
660
  })
660
661
  });
661
662
  }
662
- function Ye({ resolved: e, renderTile: t, chip: n, hideNew: r, newRoute: i, newLabel: o, newSubtitle: s, isEmpty: c, emptyTitle: l, emptyDescription: u }) {
663
- let d = e.some((e) => e.emphasis === "SMALL");
663
+ function Ze({ resolved: t, renderTile: n, chip: r, hideNew: i, newRoute: a, newLabel: o, newSubtitle: s, isEmpty: c, emptyTitle: l, emptyDescription: u }) {
664
+ let d = t.some((e) => e.emphasis === "SMALL");
664
665
  return /* @__PURE__ */ L("div", {
665
- className: a(Ke, d && "grid-flow-dense"),
666
+ className: e(Je, d && "grid-flow-dense"),
666
667
  children: [
667
- !r && /* @__PURE__ */ I(et, {
668
- route: i,
668
+ !i && /* @__PURE__ */ I(nt, {
669
+ route: a,
669
670
  label: o,
670
671
  subtitle: s,
671
- chip: n
672
+ chip: r
672
673
  }),
673
- e.map(({ item: e, key: n, emphasis: r }) => /* @__PURE__ */ I("span", {
674
+ t.map(({ item: e, key: t, emphasis: r }) => /* @__PURE__ */ I("span", {
674
675
  className: "contents",
675
- children: t(e, r)
676
- }, n)),
677
- c && /* @__PURE__ */ I(tt, {
676
+ children: n(e, r)
677
+ }, t)),
678
+ c && /* @__PURE__ */ I(rt, {
678
679
  title: l,
679
680
  description: u
680
681
  })
681
682
  ]
682
683
  });
683
684
  }
684
- function Xe({ layout: e, resolved: t, canEditGlobal: n, isCustomized: r, renderTile: i, chip: o, hideNew: s, newRoute: c, newLabel: l, newSubtitle: u, onClose: d }) {
685
- let { t: f } = R(), [p, m] = P(t), h = e.saving ?? !1, [g, _] = P(!1), v = (e) => async () => {
685
+ function Qe({ layout: t, resolved: n, canEditGlobal: r, isCustomized: i, renderTile: a, chip: o, hideNew: s, newRoute: c, newLabel: l, newSubtitle: u, onClose: d }) {
686
+ let { t: f } = R(), [p, m] = P(n), h = t.saving ?? !1, [g, _] = P(!1), v = (e) => async () => {
686
687
  if (e) {
687
688
  _(!1);
688
689
  try {
@@ -691,21 +692,21 @@ function Xe({ layout: e, resolved: t, canEditGlobal: n, isCustomized: r, renderT
691
692
  console.error("Failed to save the bento layout", e), _(!0);
692
693
  }
693
694
  }
694
- }, y = we(Ce(xe, { activationConstraint: { distance: 8 } }), Ce(be));
695
- function x(e) {
695
+ }, y = Ee(Te(Ce, { activationConstraint: { distance: 8 } }), Te(Se));
696
+ function b(e) {
696
697
  let { active: t, over: n } = e;
697
698
  !n || t.id === n.id || m((e) => {
698
699
  let r = e.findIndex((e) => e.key === t.id), i = e.findIndex((e) => e.key === n.id);
699
- return r < 0 || i < 0 ? e : Ee(e, r, i);
700
+ return r < 0 || i < 0 ? e : Oe(e, r, i);
700
701
  });
701
702
  }
702
- function S(e, t) {
703
+ function x(e, t) {
703
704
  m((n) => n.map((n) => n.key === e ? {
704
705
  ...n,
705
706
  emphasis: t
706
707
  } : n));
707
708
  }
708
- let C = M(() => We(p), [p]), w = p.some((e) => e.emphasis === "SMALL");
709
+ let S = M(() => Ke(p), [p]), C = p.some((e) => e.emphasis === "SMALL");
709
710
  return /* @__PURE__ */ L("div", { children: [/* @__PURE__ */ L("div", {
710
711
  className: "mb-4 flex flex-wrap items-center gap-2 rounded-2xl border border-border/60 bg-card/40 p-3 backdrop-blur-md",
711
712
  children: [
@@ -713,36 +714,36 @@ function Xe({ layout: e, resolved: t, canEditGlobal: n, isCustomized: r, renderT
713
714
  className: "mr-auto text-sm text-muted-foreground",
714
715
  children: f("bento.layout.editHint", { defaultValue: "Drag tiles to reorder · tap the size button to resize" })
715
716
  }),
716
- r && e.onReset && /* @__PURE__ */ L(b, {
717
+ i && t.onReset && /* @__PURE__ */ L(w, {
717
718
  variant: "ghost",
718
719
  size: "sm",
719
720
  className: "gap-2",
720
721
  disabled: h,
721
- onClick: v(e.onReset),
722
+ onClick: v(t.onReset),
722
723
  children: [/* @__PURE__ */ I(B, { size: 16 }), f("bento.layout.reset", { defaultValue: "Reset to default" })]
723
724
  }),
724
- n && e.onSaveGlobal && /* @__PURE__ */ L(b, {
725
+ r && t.onSaveGlobal && /* @__PURE__ */ L(w, {
725
726
  variant: "outline",
726
727
  size: "sm",
727
728
  className: "gap-2",
728
729
  disabled: h,
729
- onClick: v(() => e.onSaveGlobal?.(C)),
730
- children: [/* @__PURE__ */ I(_e, { size: 16 }), f("bento.layout.saveGlobal", { defaultValue: "Set as default for everyone" })]
730
+ onClick: v(() => t.onSaveGlobal?.(S)),
731
+ children: [/* @__PURE__ */ I(ye, { size: 16 }), f("bento.layout.saveGlobal", { defaultValue: "Set as default for everyone" })]
731
732
  }),
732
- /* @__PURE__ */ L(b, {
733
+ /* @__PURE__ */ L(w, {
733
734
  variant: "ghost",
734
735
  size: "sm",
735
736
  className: "gap-2",
736
737
  disabled: h,
737
738
  onClick: d,
738
- children: [/* @__PURE__ */ I(G, { size: 16 }), f("common.cancel", { defaultValue: "Cancel" })]
739
+ children: [/* @__PURE__ */ I(W, { size: 16 }), f("common.cancel", { defaultValue: "Cancel" })]
739
740
  }),
740
- /* @__PURE__ */ L(b, {
741
+ /* @__PURE__ */ L(w, {
741
742
  size: "sm",
742
743
  className: "gap-2",
743
744
  disabled: h,
744
- onClick: v(() => e.onSave(C)),
745
- children: [/* @__PURE__ */ I(U, { size: 16 }), f("bento.layout.save", { defaultValue: "Save layout" })]
745
+ onClick: v(() => t.onSave(S)),
746
+ children: [/* @__PURE__ */ I(H, { size: 16 }), f("bento.layout.save", { defaultValue: "Save layout" })]
746
747
  }),
747
748
  g && /* @__PURE__ */ I("p", {
748
749
  role: "alert",
@@ -750,35 +751,35 @@ function Xe({ layout: e, resolved: t, canEditGlobal: n, isCustomized: r, renderT
750
751
  children: f("bento.layout.saveFailed", { defaultValue: "The layout could not be saved. Nothing has changed — try again." })
751
752
  })
752
753
  ]
753
- }), /* @__PURE__ */ I(ye, {
754
+ }), /* @__PURE__ */ I(xe, {
754
755
  sensors: y,
755
- collisionDetection: Se,
756
- onDragEnd: x,
757
- children: /* @__PURE__ */ I(Te, {
756
+ collisionDetection: we,
757
+ onDragEnd: b,
758
+ children: /* @__PURE__ */ I(De, {
758
759
  items: p.map((e) => e.key),
759
- strategy: De,
760
+ strategy: ke,
760
761
  children: /* @__PURE__ */ L("div", {
761
- className: a(Ke, w && "grid-flow-dense"),
762
- children: [!s && /* @__PURE__ */ I(et, {
762
+ className: e(Je, C && "grid-flow-dense"),
763
+ children: [!s && /* @__PURE__ */ I(nt, {
763
764
  route: c,
764
765
  label: l,
765
766
  subtitle: u,
766
767
  chip: o
767
- }), p.map(({ item: e, key: t, emphasis: n }) => /* @__PURE__ */ I($e, {
768
+ }), p.map(({ item: e, key: t, emphasis: n }) => /* @__PURE__ */ I(tt, {
768
769
  id: t,
769
770
  emphasis: n,
770
- onSetEmphasis: (e) => S(t, e),
771
- children: i(e, n)
771
+ onSetEmphasis: (e) => x(t, e),
772
+ children: a(e, n)
772
773
  }, t))]
773
774
  })
774
775
  })
775
776
  })] });
776
777
  }
777
- var Ze = [
778
+ var $e = [
778
779
  "SMALL",
779
780
  "MEDIUM",
780
781
  "LARGE"
781
- ], Qe = {
782
+ ], et = {
782
783
  SMALL: {
783
784
  key: "bento.layout.size.small",
784
785
  def: "Small"
@@ -792,9 +793,9 @@ var Ze = [
792
793
  def: "Large"
793
794
  }
794
795
  };
795
- function $e({ id: e, emphasis: t, onSetEmphasis: n, children: r }) {
796
- let { t: i } = R(), { attributes: o, listeners: s, setNodeRef: c, transform: l, transition: u, isDragging: d } = Oe({ id: e }), f = {
797
- transform: ke.Translate.toString(l),
796
+ function tt({ id: t, emphasis: n, onSetEmphasis: r, children: i }) {
797
+ let { t: a } = R(), { attributes: o, listeners: s, setNodeRef: c, transform: l, transition: u, isDragging: d } = Ae({ id: t }), f = {
798
+ transform: je.Translate.toString(l),
798
799
  transition: u,
799
800
  opacity: d ? .6 : 1,
800
801
  zIndex: d ? 50 : void 0
@@ -802,35 +803,35 @@ function $e({ id: e, emphasis: t, onSetEmphasis: n, children: r }) {
802
803
  return /* @__PURE__ */ L("div", {
803
804
  ref: c,
804
805
  style: f,
805
- className: a("relative h-full", Ve[t]),
806
+ className: e("relative h-full", Ue[n]),
806
807
  children: [/* @__PURE__ */ I("div", {
807
808
  className: "pointer-events-none h-full select-none [&>*]:h-full [&>*]:w-full",
808
- children: r
809
+ children: i
809
810
  }), /* @__PURE__ */ L("div", {
810
811
  className: "absolute right-2 top-2 z-10 flex items-center gap-1",
811
812
  children: [/* @__PURE__ */ I("div", {
812
813
  role: "group",
813
- "aria-label": i("bento.layout.sizeGroup", { defaultValue: "Tile size" }),
814
+ "aria-label": a("bento.layout.sizeGroup", { defaultValue: "Tile size" }),
814
815
  className: "flex items-center gap-0.5 rounded-full border border-border/60 bg-background/80 p-0.5 shadow-sm backdrop-blur",
815
- children: Ze.map((e) => {
816
- let r = e === t, o = i(Qe[e].key, { defaultValue: Qe[e].def });
816
+ children: $e.map((t) => {
817
+ let i = t === n, o = a(et[t].key, { defaultValue: et[t].def });
817
818
  return /* @__PURE__ */ I("button", {
818
819
  type: "button",
819
- onClick: () => n(e),
820
- "aria-pressed": r,
820
+ onClick: () => r(t),
821
+ "aria-pressed": i,
821
822
  "aria-label": o,
822
823
  title: o,
823
- className: a("grid h-6 w-6 place-items-center rounded-full text-[11px] font-semibold uppercase transition-colors", r ? "bg-primary text-primary-foreground shadow" : "text-muted-foreground hover:bg-muted"),
824
+ className: e("grid h-6 w-6 place-items-center rounded-full text-[11px] font-semibold uppercase transition-colors", i ? "bg-primary text-primary-foreground shadow" : "text-muted-foreground hover:bg-muted"),
824
825
  children: o.charAt(0)
825
- }, e);
826
+ }, t);
826
827
  })
827
828
  }), /* @__PURE__ */ I("button", {
828
829
  type: "button",
829
830
  ...o,
830
831
  ...s,
831
- "aria-label": i("bento.layout.dragToReorder", { defaultValue: "Drag to reorder" }),
832
+ "aria-label": a("bento.layout.dragToReorder", { defaultValue: "Drag to reorder" }),
832
833
  className: "grid h-7 w-7 cursor-grab place-items-center rounded-full border border-border/60 bg-background/80 shadow-sm backdrop-blur hover:bg-background active:cursor-grabbing",
833
- children: /* @__PURE__ */ I(ce, {
834
+ children: /* @__PURE__ */ I(le, {
834
835
  size: 14,
835
836
  className: "text-muted-foreground"
836
837
  })
@@ -838,16 +839,16 @@ function $e({ id: e, emphasis: t, onSetEmphasis: n, children: r }) {
838
839
  })]
839
840
  });
840
841
  }
841
- function et({ route: e, label: t, subtitle: n, chip: r }) {
842
+ function nt({ route: e, label: t, subtitle: n, chip: r }) {
842
843
  let { t: i } = R();
843
- return /* @__PURE__ */ L(q, {
844
+ return /* @__PURE__ */ L(K, {
844
845
  to: e,
845
846
  className: "bento-tile bento-tile-clickable col-span-2 row-span-1 flex flex-col gap-3 rounded-3xl border-2 border-dashed border-border/60 bg-card/30 p-5 backdrop-blur-md bento-new-tile hover:bg-card/50 md:col-span-2 md:row-span-1 lg:col-span-2 lg:row-span-1",
846
847
  children: [/* @__PURE__ */ L("div", {
847
848
  className: "flex items-center gap-3",
848
849
  children: [/* @__PURE__ */ I("span", {
849
850
  className: `bento-pulse grid h-10 w-10 place-items-center rounded-2xl ${r} text-white shadow-md`,
850
- children: /* @__PURE__ */ I(pe, { size: 20 })
851
+ children: /* @__PURE__ */ I(he, { size: 20 })
851
852
  }), /* @__PURE__ */ I("span", {
852
853
  className: "text-[11px] uppercase tracking-wider text-muted-foreground",
853
854
  children: i("forms.formActions.new", { defaultValue: "New" })
@@ -864,9 +865,9 @@ function et({ route: e, label: t, subtitle: n, chip: r }) {
864
865
  })] })]
865
866
  });
866
867
  }
867
- function tt({ title: e, description: t }) {
868
- return /* @__PURE__ */ I(Pe, {
869
- icon: W,
868
+ function rt({ title: e, description: t }) {
869
+ return /* @__PURE__ */ I(Ie, {
870
+ icon: U,
870
871
  title: e,
871
872
  description: t,
872
873
  align: "start",
@@ -875,7 +876,7 @@ function tt({ title: e, description: t }) {
875
876
  }
876
877
  //#endregion
877
878
  //#region src/bento/bento-save-bar.tsx
878
- function nt({ title: e, badges: t, actions: n, onCancel: r, loading: i, disabled: a, dirty: o, titleMissing: s }) {
879
+ function Q({ title: e, badges: t, actions: n, onCancel: r, loading: i, disabled: a, dirty: o, titleMissing: s }) {
879
880
  let { t: c } = R();
880
881
  return /* @__PURE__ */ L("div", {
881
882
  className: "bento-glass flex items-center justify-between gap-4 rounded-2xl px-4 py-3 shadow-md backdrop-blur-xl",
@@ -886,7 +887,7 @@ function nt({ title: e, badges: t, actions: n, onCancel: r, loading: i, disabled
886
887
  className: "truncate text-base font-semibold tracking-tight md:text-lg",
887
888
  children: e
888
889
  }),
889
- /* @__PURE__ */ I(Le, {
890
+ /* @__PURE__ */ I(ze, {
890
891
  titleMissing: s,
891
892
  dirty: o
892
893
  }),
@@ -902,29 +903,29 @@ function nt({ title: e, badges: t, actions: n, onCancel: r, loading: i, disabled
902
903
  size: "sm",
903
904
  loading: i,
904
905
  disabled: a,
905
- children: [/* @__PURE__ */ I(U, { className: "size-4" }), c("forms.formActions.saveChanges")]
906
+ children: [/* @__PURE__ */ I(H, { className: "size-4" }), c("forms.formActions.saveChanges")]
906
907
  }), r && /* @__PURE__ */ L(_, {
907
908
  type: "button",
908
909
  variant: "outline",
909
910
  size: "sm",
910
911
  onClick: r,
911
- children: [/* @__PURE__ */ I(G, { className: "size-4" }), c("forms.formActions.cancel")]
912
+ children: [/* @__PURE__ */ I(W, { className: "size-4" }), c("forms.formActions.cancel")]
912
913
  })] })
913
914
  })]
914
915
  });
915
916
  }
916
- function rt({ children: e }) {
917
+ function it({ children: e }) {
917
918
  return /* @__PURE__ */ I("span", {
918
919
  className: "rounded-full border border-border/60 bg-card/50 px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground backdrop-blur",
919
920
  children: e
920
921
  });
921
922
  }
922
- nt.Badge = rt;
923
+ Q.Badge = it;
923
924
  //#endregion
924
925
  //#region src/bento/bento-scroll-save-bar.tsx
925
- function it(e) {
926
+ function at(e) {
926
927
  let t = N(null);
927
- return Re(t), /* @__PURE__ */ L(F, { children: [
928
+ return Be(t), /* @__PURE__ */ L(F, { children: [
928
929
  /* @__PURE__ */ I("div", {
929
930
  ref: t,
930
931
  "aria-hidden": !0,
@@ -936,16 +937,16 @@ function it(e) {
936
937
  }),
937
938
  /* @__PURE__ */ I("div", {
938
939
  className: "bento-fade-in fixed inset-x-0 top-20 z-20 mx-auto w-full max-w-7xl px-4 md:px-8",
939
- children: /* @__PURE__ */ I(nt, { ...e })
940
+ children: /* @__PURE__ */ I(Q, { ...e })
940
941
  })
941
942
  ] });
942
943
  }
943
944
  //#endregion
944
945
  //#region src/bento/bento-form-hero.tsx
945
- function at({ eyebrow: e, backTo: t, backLabel: n, leading: r, title: i, subtitle: a, trailing: o, onCancel: s, actions: c, loading: l, dirty: u, titleMissing: d, saveDisabled: f, stickyTitle: p, stickyBadges: m }) {
946
+ function ot({ eyebrow: e, backTo: t, backLabel: n, leading: r, title: i, subtitle: a, trailing: o, onCancel: s, actions: c, loading: l, dirty: u, titleMissing: d, saveDisabled: f, stickyTitle: p, stickyBadges: m }) {
946
947
  let { t: h } = R(), g = f ?? (!!d || !u);
947
- return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Q, {
948
- eyebrow: t === void 0 ? e : /* @__PURE__ */ I(Z, {
948
+ return /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(Z, {
949
+ eyebrow: t === void 0 ? e : /* @__PURE__ */ I(X, {
949
950
  to: t,
950
951
  children: n
951
952
  }),
@@ -959,16 +960,16 @@ function at({ eyebrow: e, backTo: t, backLabel: n, leading: r, title: i, subtitl
959
960
  size: "sm",
960
961
  loading: l,
961
962
  disabled: g,
962
- children: [/* @__PURE__ */ I(U, { className: "size-4" }), h("forms.formActions.saveChanges")]
963
+ children: [/* @__PURE__ */ I(H, { className: "size-4" }), h("forms.formActions.saveChanges")]
963
964
  }), /* @__PURE__ */ L(_, {
964
965
  type: "button",
965
966
  variant: "outline",
966
967
  size: "sm",
967
968
  onClick: s,
968
- children: [/* @__PURE__ */ I(G, { className: "size-4" }), h("forms.formActions.cancel")]
969
+ children: [/* @__PURE__ */ I(W, { className: "size-4" }), h("forms.formActions.cancel")]
969
970
  })] })
970
971
  }), o] })
971
- }), /* @__PURE__ */ I(it, {
972
+ }), /* @__PURE__ */ I(at, {
972
973
  title: p,
973
974
  badges: m,
974
975
  actions: c,
@@ -981,58 +982,58 @@ function at({ eyebrow: e, backTo: t, backLabel: n, leading: r, title: i, subtitl
981
982
  }
982
983
  //#endregion
983
984
  //#region src/bento/bento-form-section.tsx
984
- function ot({ icon: e, tone: t, title: n, description: r, children: i, trailing: a, as: o = "h2" }) {
985
+ function st({ icon: t, tone: n, title: r, description: i, children: a, trailing: o, as: s = "h2", className: c }) {
985
986
  return /* @__PURE__ */ L("section", {
986
- className: "bento-tile bento-glass relative flex flex-col gap-5 overflow-hidden rounded-3xl p-5 md:p-6",
987
+ className: e("bento-tile bento-glass relative flex flex-col gap-5 overflow-hidden rounded-3xl p-5 md:p-6", c),
987
988
  children: [/* @__PURE__ */ L("header", {
988
989
  className: "flex items-start justify-between gap-3",
989
990
  children: [/* @__PURE__ */ L("div", {
990
991
  className: "flex items-center gap-3",
991
992
  children: [/* @__PURE__ */ I("span", {
992
- className: `grid h-10 w-10 place-items-center rounded-2xl text-white shadow-md ${X(t)}`,
993
- children: /* @__PURE__ */ I(e, { size: 20 })
993
+ className: `grid h-10 w-10 place-items-center rounded-2xl text-white shadow-md ${Y(n)}`,
994
+ children: /* @__PURE__ */ I(t, { size: 20 })
994
995
  }), /* @__PURE__ */ L("div", {
995
996
  className: "flex flex-col gap-0.5",
996
- children: [/* @__PURE__ */ I(o, {
997
+ children: [/* @__PURE__ */ I(s, {
997
998
  className: "text-base font-semibold tracking-tight md:text-lg",
998
- children: n
999
- }), r && /* @__PURE__ */ I("p", {
1000
- className: "text-sm text-muted-foreground",
1001
999
  children: r
1000
+ }), i && /* @__PURE__ */ I("p", {
1001
+ className: "text-sm text-muted-foreground",
1002
+ children: i
1002
1003
  })]
1003
1004
  })]
1004
- }), a && /* @__PURE__ */ I("div", {
1005
+ }), o && /* @__PURE__ */ I("div", {
1005
1006
  className: "shrink-0",
1006
- children: a
1007
+ children: o
1007
1008
  })]
1008
1009
  }), /* @__PURE__ */ I("div", {
1009
1010
  className: "flex flex-col gap-5",
1010
- children: i
1011
+ children: a
1011
1012
  })]
1012
1013
  });
1013
1014
  }
1014
1015
  //#endregion
1015
1016
  //#region src/bento/bento-panel.tsx
1016
- function st({ children: e, className: t, contentClassName: n }) {
1017
+ function ct({ children: t, className: n, contentClassName: r }) {
1017
1018
  return /* @__PURE__ */ I("div", {
1018
- className: a("bento-glass rounded-2xl shadow-md", t),
1019
+ className: e("bento-glass rounded-2xl shadow-md", n),
1019
1020
  children: /* @__PURE__ */ I("div", {
1020
- className: n,
1021
- children: e
1021
+ className: r,
1022
+ children: t
1022
1023
  })
1023
1024
  });
1024
1025
  }
1025
1026
  //#endregion
1026
1027
  //#region src/bento/bento-back-to-top.tsx
1027
- var ct = 480;
1028
- function lt(e) {
1028
+ var lt = 480;
1029
+ function ut(e) {
1029
1030
  return window.addEventListener("scroll", e, { passive: !0 }), () => window.removeEventListener("scroll", e);
1030
1031
  }
1031
- function ut() {
1032
- return window.scrollY > ct;
1033
- }
1034
1032
  function dt() {
1035
- let { t: e } = R(), t = ee(lt, ut, () => !1);
1033
+ return window.scrollY > lt;
1034
+ }
1035
+ function ft() {
1036
+ let { t: e } = R(), t = ee(ut, dt, () => !1);
1036
1037
  return /* @__PURE__ */ I("button", {
1037
1038
  type: "button",
1038
1039
  "aria-label": e("bento.backToTop", { defaultValue: "Back to top" }),
@@ -1042,22 +1043,62 @@ function dt() {
1042
1043
  behavior: "smooth"
1043
1044
  }),
1044
1045
  className: `fixed bottom-6 right-6 z-40 grid h-11 w-11 place-items-center rounded-full border border-border/60 bg-card/80 text-foreground shadow-lg backdrop-blur-xl transition-all duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] hover:-translate-y-0.5 hover:shadow-xl active:scale-95 ${t ? "translate-y-0 scale-100 opacity-100" : "pointer-events-none translate-y-4 scale-90 opacity-0"}`,
1045
- children: /* @__PURE__ */ I(V, { size: 18 })
1046
+ children: /* @__PURE__ */ I(ie, { size: 18 })
1046
1047
  });
1047
1048
  }
1048
1049
  //#endregion
1049
1050
  //#region src/bento/bento-nav.ts
1050
- function ft(e) {
1051
+ function pt(e) {
1051
1052
  return e.bentoRoute ?? e.fallbackRoute;
1052
1053
  }
1053
1054
  //#endregion
1054
1055
  //#region src/bento/bento-command-palette.tsx
1055
- function pt({ open: n, onOpenChange: i, items: a }) {
1056
- let { t: o } = R(), s = J(), [c, l] = P(""), [u, d] = P(0), p = N(null), m = M(() => {
1057
- let e = c.trim().toLowerCase(), t = a.map((e) => ({
1056
+ function mt({ label: e, children: t }) {
1057
+ return e ? /* @__PURE__ */ L("div", {
1058
+ role: "group",
1059
+ "aria-label": e,
1060
+ children: [/* @__PURE__ */ I("p", {
1061
+ className: "px-3 pt-2 pb-1 text-xs font-medium text-muted-foreground",
1062
+ children: e
1063
+ }), t]
1064
+ }) : /* @__PURE__ */ I(F, { children: t });
1065
+ }
1066
+ function ht({ index: e, active: t, icon: n, label: r, description: i, trailing: a, onActivate: o, onChoose: s }) {
1067
+ return /* @__PURE__ */ L("button", {
1068
+ type: "button",
1069
+ id: `bento-palette-opt-${e}`,
1070
+ "data-index": e,
1071
+ role: "option",
1072
+ "aria-selected": t ? "true" : "false",
1073
+ onMouseEnter: o,
1074
+ onClick: s,
1075
+ className: `flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-sm transition-colors ${t ? "bg-accent text-accent-foreground" : "text-foreground"}`,
1076
+ children: [
1077
+ n && /* @__PURE__ */ I(n, {
1078
+ size: 18,
1079
+ className: "shrink-0 text-muted-foreground"
1080
+ }),
1081
+ /* @__PURE__ */ L("span", {
1082
+ className: "flex-1 truncate",
1083
+ children: [r, i && /* @__PURE__ */ I("span", {
1084
+ className: "ml-2 text-muted-foreground",
1085
+ children: i
1086
+ })]
1087
+ }),
1088
+ a ?? (t && /* @__PURE__ */ I(re, {
1089
+ "aria-hidden": !0,
1090
+ size: 15,
1091
+ className: "shrink-0 text-muted-foreground"
1092
+ }))
1093
+ ]
1094
+ });
1095
+ }
1096
+ function gt({ open: e, onOpenChange: r, items: a, group: o, onQueryChange: s }) {
1097
+ let { t: c } = R(), l = q(), [u, d] = P(""), [p, m] = P(0), h = N(null), g = M(() => {
1098
+ let e = u.trim().toLowerCase(), t = a.map((e) => ({
1058
1099
  item: e,
1059
- label: o(e.titleKey),
1060
- description: o(e.descriptionKey)
1100
+ label: c(e.titleKey),
1101
+ description: c(e.descriptionKey)
1061
1102
  }));
1062
1103
  if (!e) return t;
1063
1104
  let n = [], r = [];
@@ -1065,45 +1106,57 @@ function pt({ open: n, onOpenChange: i, items: a }) {
1065
1106
  return [...n, ...r];
1066
1107
  }, [
1067
1108
  a,
1068
- c,
1069
- o
1070
- ]), [h, g] = P(n);
1071
- n !== h && (g(n), n && (l(""), d(0)));
1072
- let _ = m.length === 0 ? 0 : m.length - 1;
1073
- u > _ && d(_), j(() => {
1074
- (p.current?.querySelector(`[data-index="${u}"]`))?.scrollIntoView({ block: "nearest" });
1109
+ u,
1110
+ c
1111
+ ]), _ = M(() => [...g.map((e) => ({
1112
+ kind: "nav",
1113
+ entry: e
1114
+ })), ...(o?.items ?? []).map((e) => ({
1115
+ kind: "supplied",
1116
+ item: e
1117
+ }))], [g, o]), v = N(s);
1118
+ j(() => {
1119
+ v.current = s;
1120
+ }), j(() => {
1121
+ v.current?.(u);
1075
1122
  }, [u]);
1076
- function v(e) {
1077
- i(!1), s(ft(e));
1123
+ let [y, b] = P(e);
1124
+ e !== y && (b(e), e && (d(""), m(0)));
1125
+ let x = _.length === 0 ? 0 : _.length - 1;
1126
+ p > x && m(x), j(() => {
1127
+ (h.current?.querySelector(`[data-index="${p}"]`))?.scrollIntoView({ block: "nearest" });
1128
+ }, [p]);
1129
+ function S(e) {
1130
+ r(!1), e.kind === "nav" ? l(pt(e.entry.item)) : o?.onSelect(e.item);
1078
1131
  }
1079
- function y(e) {
1080
- if (e.key === "ArrowDown") e.preventDefault(), d((e) => m.length === 0 ? 0 : (e + 1) % m.length);
1081
- else if (e.key === "ArrowUp") e.preventDefault(), d((e) => m.length === 0 ? 0 : (e - 1 + m.length) % m.length);
1132
+ function C(e) {
1133
+ if (e.key === "ArrowDown") e.preventDefault(), m((e) => _.length === 0 ? 0 : (e + 1) % _.length);
1134
+ else if (e.key === "ArrowUp") e.preventDefault(), m((e) => _.length === 0 ? 0 : (e - 1 + _.length) % _.length);
1082
1135
  else if (e.key === "Enter") {
1083
1136
  e.preventDefault();
1084
- let t = m[u];
1085
- t && v(t.item);
1137
+ let t = _[p];
1138
+ t && S(t);
1086
1139
  }
1087
1140
  }
1088
- return /* @__PURE__ */ I(t, {
1089
- open: n,
1090
- onOpenChange: i,
1141
+ return /* @__PURE__ */ I(n, {
1142
+ open: e,
1143
+ onOpenChange: r,
1091
1144
  children: /* @__PURE__ */ L(f, {
1092
1145
  showCloseButton: !1,
1093
1146
  className: "top-[15%] max-w-xl translate-y-0 gap-0 overflow-hidden p-0",
1094
- onKeyDown: y,
1147
+ onKeyDown: C,
1095
1148
  children: [
1096
- /* @__PURE__ */ I(r, {
1149
+ /* @__PURE__ */ I(i, {
1097
1150
  className: "sr-only",
1098
- children: o("bento.palette.title", { defaultValue: "Command palette" })
1151
+ children: c("bento.palette.title", { defaultValue: "Command palette" })
1099
1152
  }),
1100
- /* @__PURE__ */ I(e, {
1153
+ /* @__PURE__ */ I(t, {
1101
1154
  className: "sr-only",
1102
- children: o("bento.palette.description", { defaultValue: "Search and jump to any area" })
1155
+ children: c("bento.palette.description", { defaultValue: "Search and jump to any area" })
1103
1156
  }),
1104
1157
  /* @__PURE__ */ L("div", {
1105
1158
  className: "flex items-center gap-3 border-b border-border/60 px-4",
1106
- children: [/* @__PURE__ */ I(me, {
1159
+ children: [/* @__PURE__ */ I(ge, {
1107
1160
  size: 18,
1108
1161
  className: "shrink-0 text-muted-foreground"
1109
1162
  }), /* @__PURE__ */ I("input", {
@@ -1112,57 +1165,62 @@ function pt({ open: n, onOpenChange: i, items: a }) {
1112
1165
  role: "combobox",
1113
1166
  "aria-expanded": "true",
1114
1167
  "aria-controls": "bento-palette-list",
1115
- "aria-activedescendant": m[u] ? `bento-palette-opt-${u}` : void 0,
1116
- value: c,
1117
- onChange: (e) => l(e.target.value),
1118
- placeholder: o("bento.palette.placeholder", { defaultValue: "Search areas…" }),
1168
+ "aria-activedescendant": _[p] ? `bento-palette-opt-${p}` : void 0,
1169
+ value: u,
1170
+ onChange: (e) => d(e.target.value),
1171
+ placeholder: c("bento.palette.placeholder", { defaultValue: "Search areas…" }),
1119
1172
  className: "h-12 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground"
1120
1173
  })]
1121
1174
  }),
1122
1175
  /* @__PURE__ */ L("div", {
1123
- ref: p,
1176
+ ref: h,
1124
1177
  id: "bento-palette-list",
1125
1178
  role: "listbox",
1126
- "aria-label": o("bento.palette.title", { defaultValue: "Command palette" }),
1179
+ "aria-label": c("bento.palette.title", { defaultValue: "Command palette" }),
1127
1180
  className: "max-h-80 overflow-y-auto p-2",
1128
- children: [m.length === 0 && /* @__PURE__ */ I("p", {
1129
- className: "px-3 py-6 text-center text-sm text-muted-foreground",
1130
- children: o("bento.palette.noResults", { defaultValue: "No matches" })
1131
- }), m.map(({ item: e, label: t }, n) => {
1132
- let r = !e.bentoRoute, i = n === u, a = e.icon;
1133
- return /* @__PURE__ */ L("button", {
1134
- type: "button",
1135
- id: `bento-palette-opt-${n}`,
1136
- "data-index": n,
1137
- role: "option",
1138
- "aria-selected": i ? "true" : "false",
1139
- onMouseEnter: () => d(n),
1140
- onClick: () => v(e),
1141
- className: `flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left text-sm transition-colors ${i ? "bg-accent text-accent-foreground" : "text-foreground"}`,
1142
- children: [
1143
- /* @__PURE__ */ I(a, {
1144
- size: 18,
1145
- className: "shrink-0 text-muted-foreground"
1146
- }),
1147
- /* @__PURE__ */ I("span", {
1148
- className: "flex-1 truncate",
1149
- children: t
1150
- }),
1151
- r ? /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(se, {
1181
+ children: [
1182
+ _.length === 0 && !o?.pending && /* @__PURE__ */ I("p", {
1183
+ className: "px-3 py-6 text-center text-sm text-muted-foreground",
1184
+ children: c("bento.palette.noResults", { defaultValue: "No matches" })
1185
+ }),
1186
+ /* @__PURE__ */ I(mt, {
1187
+ label: o && g.length > 0 ? c("bento.palette.areas", { defaultValue: "Areas" }) : void 0,
1188
+ children: g.map(({ item: e, label: t }, n) => /* @__PURE__ */ I(ht, {
1189
+ index: n,
1190
+ active: n === p,
1191
+ icon: e.icon,
1192
+ label: t,
1193
+ onActivate: () => m(n),
1194
+ onChoose: () => S(_[n]),
1195
+ trailing: e.bentoRoute ? void 0 : /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(ce, {
1152
1196
  "aria-hidden": !0,
1153
1197
  size: 15,
1154
1198
  className: "shrink-0 text-muted-foreground/70"
1155
1199
  }), /* @__PURE__ */ I("span", {
1156
1200
  className: "sr-only",
1157
- children: o("bento.palette.opensConsole", { defaultValue: "Opens in console" })
1158
- })] }) : i && /* @__PURE__ */ I(re, {
1159
- "aria-hidden": !0,
1160
- size: 15,
1161
- className: "shrink-0 text-muted-foreground"
1162
- })
1163
- ]
1164
- }, e.id);
1165
- })]
1201
+ children: c("bento.palette.opensConsole", { defaultValue: "Opens in console" })
1202
+ })] })
1203
+ }, e.id))
1204
+ }),
1205
+ o && /* @__PURE__ */ L(mt, {
1206
+ label: o.label,
1207
+ children: [o.items.map((e, t) => {
1208
+ let n = g.length + t;
1209
+ return /* @__PURE__ */ I(ht, {
1210
+ index: n,
1211
+ active: n === p,
1212
+ icon: e.icon,
1213
+ label: e.label,
1214
+ description: e.description,
1215
+ onActivate: () => m(n),
1216
+ onChoose: () => S(_[n])
1217
+ }, e.id);
1218
+ }), o.pending && /* @__PURE__ */ I("p", {
1219
+ className: "px-3 py-2.5 text-sm text-muted-foreground",
1220
+ children: c("bento.palette.searching", { defaultValue: "Searching…" })
1221
+ })]
1222
+ })
1223
+ ]
1166
1224
  })
1167
1225
  ]
1168
1226
  })
@@ -1170,7 +1228,7 @@ function pt({ open: n, onOpenChange: i, items: a }) {
1170
1228
  }
1171
1229
  //#endregion
1172
1230
  //#region src/bento/bento-shortcuts-dialog.tsx
1173
- function mt({ open: n, onOpenChange: a, isMac: o }) {
1231
+ function _t({ open: e, onOpenChange: r, isMac: o }) {
1174
1232
  let { t: s } = R(), c = o ? "⌘" : "Ctrl", l = [{
1175
1233
  heading: s("bento.shortcuts.global", { defaultValue: "Global" }),
1176
1234
  rows: [{
@@ -1197,18 +1255,18 @@ function mt({ open: n, onOpenChange: a, isMac: o }) {
1197
1255
  }
1198
1256
  ]
1199
1257
  }];
1200
- return /* @__PURE__ */ I(t, {
1201
- open: n,
1202
- onOpenChange: a,
1258
+ return /* @__PURE__ */ I(n, {
1259
+ open: e,
1260
+ onOpenChange: r,
1203
1261
  children: /* @__PURE__ */ L(f, {
1204
1262
  className: "max-w-md",
1205
- children: [/* @__PURE__ */ L(i, { children: [/* @__PURE__ */ L(r, {
1263
+ children: [/* @__PURE__ */ L(a, { children: [/* @__PURE__ */ L(i, {
1206
1264
  className: "flex items-center gap-2",
1207
- children: [/* @__PURE__ */ I(ue, {
1265
+ children: [/* @__PURE__ */ I(de, {
1208
1266
  size: 20,
1209
1267
  className: "bento-accent-icon"
1210
1268
  }), s("bento.shortcuts.title", { defaultValue: "Keyboard shortcuts" })]
1211
- }), /* @__PURE__ */ I(e, { children: s("bento.shortcuts.description", { defaultValue: "Move around Turing without leaving the keyboard." }) })] }), /* @__PURE__ */ I("div", {
1269
+ }), /* @__PURE__ */ I(t, { children: s("bento.shortcuts.description", { defaultValue: "Move around without leaving the keyboard." }) })] }), /* @__PURE__ */ I("div", {
1212
1270
  className: "flex flex-col gap-5",
1213
1271
  children: l.map((e) => /* @__PURE__ */ L("section", { children: [/* @__PURE__ */ I("h3", {
1214
1272
  className: "mb-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",
@@ -1235,23 +1293,24 @@ function mt({ open: n, onOpenChange: a, isMac: o }) {
1235
1293
  }
1236
1294
  //#endregion
1237
1295
  //#region src/bento/bento-nav-rail.tsx
1238
- function ht(e, t) {
1296
+ var vt = fe;
1297
+ function yt(e, t) {
1239
1298
  return e === t || e.startsWith(`${t}/`);
1240
1299
  }
1241
- function gt(e, t) {
1242
- return t.section.areaRoute && ht(e, t.section.areaRoute) ? !0 : t.items.some((t) => t.bentoRoute && ht(e, t.bentoRoute));
1300
+ function bt(e, t) {
1301
+ return t.section.areaRoute && yt(e, t.section.areaRoute) ? !0 : t.items.some((t) => t.bentoRoute && yt(e, t.bentoRoute));
1243
1302
  }
1244
- function _t({ groups: e, homeRoute: t, homeAliases: n, homeLabel: r }) {
1245
- let { t: i } = R(), { pathname: a } = ve(), o = M(() => e.filter((e) => e.section.areaRoute), [e]), s = a === t || (n?.includes(a) ?? !1);
1303
+ function xt({ groups: e, homeRoute: t, homeAliases: n, homeLabel: r }) {
1304
+ let { t: i } = R(), { pathname: a } = be(), o = M(() => e.filter((e) => !!e.section.areaRoute), [e]), s = a === t || (n?.includes(a) ?? !1);
1246
1305
  return /* @__PURE__ */ I(h, {
1247
1306
  delayDuration: 200,
1248
1307
  children: /* @__PURE__ */ L("nav", {
1249
1308
  "aria-label": i("bento.nav.label", { defaultValue: "Primary" }),
1250
1309
  className: "fixed inset-y-0 left-0 z-40 hidden w-16 flex-col items-center gap-1 overflow-y-auto overflow-x-hidden border-r border-border/40 bg-background/55 pt-20 pb-4 backdrop-blur-xl backdrop-saturate-150 md:flex",
1251
1310
  children: [
1252
- /* @__PURE__ */ I(vt, {
1311
+ /* @__PURE__ */ I(St, {
1253
1312
  to: t,
1254
- icon: le,
1313
+ icon: ue,
1255
1314
  label: r ?? i("home.title", { defaultValue: "Home" }),
1256
1315
  active: s
1257
1316
  }),
@@ -1259,20 +1318,20 @@ function _t({ groups: e, homeRoute: t, homeAliases: n, homeLabel: r }) {
1259
1318
  "aria-hidden": !0,
1260
1319
  className: "my-1 h-px w-6 bg-border/60"
1261
1320
  }),
1262
- o.map((e) => /* @__PURE__ */ I(vt, {
1321
+ o.map((e) => /* @__PURE__ */ I(St, {
1263
1322
  to: e.section.areaRoute,
1264
- icon: e.section.icon,
1265
- label: i(e.section.labelKey),
1266
- active: gt(a, e)
1323
+ icon: e.section.icon ?? vt,
1324
+ label: e.section.labelKey ? i(e.section.labelKey) : e.section.id,
1325
+ active: bt(a, e)
1267
1326
  }, e.section.id))
1268
1327
  ]
1269
1328
  })
1270
1329
  });
1271
1330
  }
1272
- function vt({ to: e, icon: t, label: n, active: r }) {
1331
+ function St({ to: e, icon: t, label: n, active: r }) {
1273
1332
  return /* @__PURE__ */ L(d, { children: [/* @__PURE__ */ I(g, {
1274
1333
  asChild: !0,
1275
- children: /* @__PURE__ */ I(q, {
1334
+ children: /* @__PURE__ */ I(K, {
1276
1335
  to: e,
1277
1336
  "aria-label": n,
1278
1337
  "aria-current": r ? "page" : void 0,
@@ -1286,18 +1345,18 @@ function vt({ to: e, icon: t, label: n, active: r }) {
1286
1345
  }
1287
1346
  //#endregion
1288
1347
  //#region src/bento/bento-user-menu.tsx
1289
- function yt({ accountRoute: e, logoutUrl: t, organizationsRoute: r, tenantAdminRoute: i, onOpenShortcuts: a, onReplayTour: s }) {
1290
- let { user: d, status: f } = x(), { t: p } = R(), h = J(), g = `${d.firstName ?? ""} ${d.lastName ?? ""}`.trim() || d.username || "";
1348
+ function Ct({ accountRoute: e, logoutUrl: t, organizationsRoute: n, tenantAdminRoute: i, onOpenShortcuts: a, onReplayTour: s }) {
1349
+ let { user: d, status: f } = b(), { t: p } = R(), h = q(), g = `${d.firstName ?? ""} ${d.lastName ?? ""}`.trim() || d.username || "";
1291
1350
  return f === "loading" ? /* @__PURE__ */ I("div", {
1292
1351
  className: "h-9 w-9 rounded-full bg-muted/40",
1293
1352
  "aria-hidden": !0
1294
- }) : /* @__PURE__ */ L(c, { children: [/* @__PURE__ */ I(n, {
1353
+ }) : /* @__PURE__ */ L(c, { children: [/* @__PURE__ */ I(r, {
1295
1354
  asChild: !0,
1296
1355
  children: /* @__PURE__ */ I("button", {
1297
1356
  type: "button",
1298
1357
  title: g || d.username,
1299
1358
  className: "bento-tile-clickable cursor-pointer rounded-full p-0.5 ring-1 ring-border/60 outline-none transition-shadow duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] bento-ring hover:ring-2 focus-visible:ring-2 focus-visible:ring-ring",
1300
- children: /* @__PURE__ */ I(C, {
1359
+ children: /* @__PURE__ */ I(S, {
1301
1360
  givenName: d.firstName,
1302
1361
  familyName: d.lastName,
1303
1362
  name: g || d.username,
@@ -1316,7 +1375,7 @@ function yt({ accountRoute: e, logoutUrl: t, organizationsRoute: r, tenantAdminR
1316
1375
  className: "flex items-center gap-3 rounded-xl px-2 py-2 text-left text-sm",
1317
1376
  children: [/* @__PURE__ */ I("span", {
1318
1377
  className: "rounded-full p-0.5 ring-1 ring-border/60",
1319
- children: /* @__PURE__ */ I(C, {
1378
+ children: /* @__PURE__ */ I(S, {
1320
1379
  givenName: d.firstName,
1321
1380
  familyName: d.lastName,
1322
1381
  name: g || d.username,
@@ -1340,27 +1399,27 @@ function yt({ accountRoute: e, logoutUrl: t, organizationsRoute: r, tenantAdminR
1340
1399
  /* @__PURE__ */ L(l, {
1341
1400
  onSelect: () => h(e),
1342
1401
  className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
1343
- children: [/* @__PURE__ */ I(ge, { size: 18 }), p("nav.account")]
1402
+ children: [/* @__PURE__ */ I(ve, { size: 18 }), p("nav.account")]
1344
1403
  }),
1345
- r && /* @__PURE__ */ L(l, {
1346
- onSelect: () => h(r),
1404
+ n && /* @__PURE__ */ L(l, {
1405
+ onSelect: () => h(n),
1347
1406
  className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
1348
- children: [/* @__PURE__ */ I(ie, { size: 18 }), p("nav.organizations", { defaultValue: "Organizations" })]
1407
+ children: [/* @__PURE__ */ I(ae, { size: 18 }), p("nav.organizations", { defaultValue: "Organizations" })]
1349
1408
  }),
1350
1409
  i && /* @__PURE__ */ L(l, {
1351
1410
  onSelect: () => h(i),
1352
1411
  className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
1353
- children: [/* @__PURE__ */ I(ae, { size: 18 }), p("nav.tenantAdmin", { defaultValue: "Tenant administration" })]
1412
+ children: [/* @__PURE__ */ I(oe, { size: 18 }), p("nav.tenantAdmin", { defaultValue: "Tenant administration" })]
1354
1413
  })
1355
1414
  ] }),
1356
1415
  (a || s) && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I(v, { className: "my-1.5 bg-border/50" }), /* @__PURE__ */ L(u, { children: [s && /* @__PURE__ */ L(l, {
1357
1416
  onSelect: () => s(),
1358
1417
  className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
1359
- children: [/* @__PURE__ */ I(W, { size: 18 }), p("bento.tour.replay", { defaultValue: "Take the tour" })]
1418
+ children: [/* @__PURE__ */ I(U, { size: 18 }), p("bento.tour.replay", { defaultValue: "Take the tour" })]
1360
1419
  }), a && /* @__PURE__ */ L(l, {
1361
1420
  onSelect: () => a(),
1362
1421
  className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2",
1363
- children: [/* @__PURE__ */ I(ue, { size: 18 }), p("bento.shortcuts.title", { defaultValue: "Keyboard shortcuts" })]
1422
+ children: [/* @__PURE__ */ I(de, { size: 18 }), p("bento.shortcuts.title", { defaultValue: "Keyboard shortcuts" })]
1364
1423
  })] })] }),
1365
1424
  /* @__PURE__ */ I(v, { className: "my-1.5 bg-border/50" }),
1366
1425
  /* @__PURE__ */ L(l, {
@@ -1368,24 +1427,24 @@ function yt({ accountRoute: e, logoutUrl: t, organizationsRoute: r, tenantAdminR
1368
1427
  globalThis.location.href = t;
1369
1428
  },
1370
1429
  className: "bento-dropdown-item cursor-pointer gap-2 px-3 py-2 bento-item-danger",
1371
- children: [/* @__PURE__ */ I(de, { size: 18 }), p("nav.logOut")]
1430
+ children: [/* @__PURE__ */ I(pe, { size: 18 }), p("nav.logOut")]
1372
1431
  })
1373
1432
  ]
1374
1433
  })] });
1375
1434
  }
1376
1435
  //#endregion
1377
1436
  //#region src/bento/bento-section-chrome.tsx
1378
- var bt = O("console");
1379
- function xt({ chrome: e, children: t }) {
1380
- return /* @__PURE__ */ I(bt.Provider, {
1437
+ var wt = O("console");
1438
+ function Tt({ chrome: e, children: t }) {
1439
+ return /* @__PURE__ */ I(wt.Provider, {
1381
1440
  value: e,
1382
1441
  children: t
1383
1442
  });
1384
1443
  }
1385
- function St() {
1386
- return A(bt);
1444
+ function Et() {
1445
+ return A(wt);
1387
1446
  }
1388
- var Ct = {
1447
+ var Dt = {
1389
1448
  blue: "blue",
1390
1449
  violet: "violet",
1391
1450
  emerald: "emerald",
@@ -1396,29 +1455,30 @@ var Ct = {
1396
1455
  orange: "amber"
1397
1456
  };
1398
1457
  function $({ variant: e = "blue", defaultOpen: t, className: n, children: r }) {
1399
- let i = A(bt), a, o;
1458
+ let i = A(wt), a, o;
1400
1459
  return i === "bento" && D.forEach(r, (e) => {
1401
1460
  if (!k(e)) return;
1402
1461
  let { type: t } = e;
1403
- t === w.Header || t === w.StaticHeader ? a = e.props : t === w.Content && (o = e.props.children);
1404
- }), i === "bento" && a ? /* @__PURE__ */ I(ot, {
1462
+ t === C.Header || t === C.StaticHeader ? a = e.props : t === C.Content && (o = e.props.children);
1463
+ }), i === "bento" && a ? /* @__PURE__ */ I(st, {
1405
1464
  icon: a.icon,
1406
- tone: Ct[e] ?? "blue",
1465
+ tone: Dt[e] ?? "blue",
1407
1466
  title: a.title,
1408
1467
  description: a.description,
1468
+ className: n,
1409
1469
  children: o
1410
- }) : /* @__PURE__ */ I(w, {
1470
+ }) : /* @__PURE__ */ I(C, {
1411
1471
  variant: e,
1412
1472
  defaultOpen: t,
1413
1473
  className: n,
1414
1474
  children: r
1415
1475
  });
1416
1476
  }
1417
- $.Header = w.Header, $.StaticHeader = w.StaticHeader, $.Content = w.Content;
1477
+ $.Header = C.Header, $.StaticHeader = C.StaticHeader, $.Content = C.Content;
1418
1478
  //#endregion
1419
1479
  //#region src/bento/bento-section.tsx
1420
- var wt = "bento-grid grid auto-rows-[minmax(140px,auto)] grid-cols-2 gap-4 md:grid-cols-4 md:gap-5 lg:grid-cols-6";
1421
- function Tt({ eyebrow: e, title: t, description: n, titleHref: r, children: i, gridClassName: a = wt }) {
1480
+ var Ot = "bento-grid grid auto-rows-[minmax(140px,auto)] grid-cols-2 gap-4 md:grid-cols-4 md:gap-5 lg:grid-cols-6";
1481
+ function kt({ eyebrow: e, title: t, description: n, titleHref: r, children: i, gridClassName: a = Ot }) {
1422
1482
  let o = /* @__PURE__ */ I("h2", {
1423
1483
  className: "text-xl font-semibold tracking-tight md:text-2xl",
1424
1484
  children: t
@@ -1432,10 +1492,10 @@ function Tt({ eyebrow: e, title: t, description: n, titleHref: r, children: i, g
1432
1492
  className: "text-xs uppercase tracking-[0.18em] text-muted-foreground",
1433
1493
  children: e
1434
1494
  }),
1435
- r ? /* @__PURE__ */ L(q, {
1495
+ r ? /* @__PURE__ */ L(K, {
1436
1496
  to: r,
1437
1497
  className: "group inline-flex w-fit items-center gap-1 text-foreground transition-colors hover:text-primary",
1438
- children: [o, /* @__PURE__ */ I(H, {
1498
+ children: [o, /* @__PURE__ */ I(V, {
1439
1499
  size: 20,
1440
1500
  className: "text-muted-foreground transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] group-hover:translate-x-1"
1441
1501
  })]
@@ -1453,22 +1513,22 @@ function Tt({ eyebrow: e, title: t, description: n, titleHref: r, children: i, g
1453
1513
  }
1454
1514
  //#endregion
1455
1515
  //#region src/bento/bento-tile.tsx
1456
- function Et({ to: e, onClick: t, disabled: n = !1, disabledHint: r, icon: i, tone: a, eyebrow: o, title: s, span: c, featured: l = !1, children: u }) {
1457
- let d = !n && !!(e || t), f = l ? "h-14 w-14 rounded-2xl" : "h-9 w-9 rounded-2xl", p = l ? 28 : 18, m = l ? "text-xl font-semibold tracking-tight md:text-2xl" : "text-base font-semibold tracking-tight md:text-lg", h = /* @__PURE__ */ L(F, { children: [
1458
- l && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I("div", {
1516
+ function At({ to: t, onClick: n, disabled: r = !1, disabledHint: i, icon: a, tone: o, eyebrow: s, title: c, span: l, featured: u = !1, children: d }) {
1517
+ let f = !r && !!(t || n), p = u ? "h-14 w-14 rounded-2xl" : "h-9 w-9 rounded-2xl", m = u ? 28 : 18, h = u ? "text-xl font-semibold tracking-tight md:text-2xl" : "text-base font-semibold tracking-tight md:text-lg", g = /* @__PURE__ */ L(F, { children: [
1518
+ u && /* @__PURE__ */ L(F, { children: [/* @__PURE__ */ I("div", {
1459
1519
  "aria-hidden": !0,
1460
- className: `pointer-events-none absolute -bottom-10 -right-10 h-64 w-64 rounded-full ${X(a)} opacity-40 blur-2xl dark:opacity-50`
1520
+ className: `pointer-events-none absolute -bottom-10 -right-10 h-64 w-64 rounded-full ${Y(o)} opacity-40 blur-2xl dark:opacity-50`
1461
1521
  }), /* @__PURE__ */ I("div", {
1462
1522
  "aria-hidden": !0,
1463
- className: `pointer-events-none absolute right-12 top-1/3 h-32 w-32 rounded-full ${X(a)} bento-chip-tr opacity-20 blur-2xl dark:opacity-30`
1523
+ className: `pointer-events-none absolute right-12 top-1/3 h-32 w-32 rounded-full ${Y(o)} bento-chip-tr opacity-20 blur-2xl dark:opacity-30`
1464
1524
  })] }),
1465
1525
  /* @__PURE__ */ L("div", {
1466
1526
  className: "relative z-1 flex items-center justify-between",
1467
1527
  children: [/* @__PURE__ */ I("span", {
1468
- className: `grid place-items-center ${X(a)} text-white shadow-md ${f}`,
1469
- children: /* @__PURE__ */ I(i, { size: p })
1470
- }), d && /* @__PURE__ */ I(H, {
1471
- size: l ? 18 : 16,
1528
+ className: `grid place-items-center ${Y(o)} text-white shadow-md ${p}`,
1529
+ children: /* @__PURE__ */ I(a, { size: m })
1530
+ }), f && /* @__PURE__ */ I(V, {
1531
+ size: u ? 18 : 16,
1472
1532
  className: "text-muted-foreground transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] group-hover:translate-x-1"
1473
1533
  })]
1474
1534
  }),
@@ -1477,37 +1537,37 @@ function Et({ to: e, onClick: t, disabled: n = !1, disabledHint: r, icon: i, ton
1477
1537
  children: [
1478
1538
  /* @__PURE__ */ I("div", {
1479
1539
  className: "text-[11px] uppercase tracking-wider text-muted-foreground",
1480
- children: o
1540
+ children: s
1481
1541
  }),
1482
1542
  /* @__PURE__ */ I("div", {
1483
- className: `mt-0.5 ${m}`,
1484
- children: s
1543
+ className: `mt-0.5 ${h}`,
1544
+ children: c
1485
1545
  }),
1486
- u && /* @__PURE__ */ I("div", {
1546
+ d && /* @__PURE__ */ I("div", {
1487
1547
  className: "mt-2",
1488
- children: u
1548
+ children: d
1489
1549
  })
1490
1550
  ]
1491
1551
  })
1492
- ] }), g = `bento-tile bento-glass group relative flex flex-col ${l ? "gap-5" : "gap-4"} overflow-hidden text-left ${l ? "p-6 md:p-7" : "p-5"} ${c}${d ? " bento-tile-clickable" : ""}${n ? " cursor-not-allowed opacity-60" : ""}`;
1493
- return n ? /* @__PURE__ */ I("div", {
1494
- className: g,
1552
+ ] }), _ = `bento-tile bento-glass group relative flex flex-col ${u ? "gap-5" : "gap-4"} overflow-hidden text-left ${u ? "p-6 md:p-7" : "p-5"} ${l}${f ? " bento-tile-clickable" : ""}${r ? " cursor-not-allowed opacity-60" : ""}`;
1553
+ return r ? /* @__PURE__ */ I("div", {
1554
+ className: _,
1495
1555
  "aria-disabled": "true",
1496
- title: r,
1497
- children: h
1498
- }) : e ? /* @__PURE__ */ I(q, {
1499
- to: e,
1500
- className: g,
1501
- children: h
1502
- }) : t ? /* @__PURE__ */ I("button", {
1556
+ title: i,
1557
+ children: g
1558
+ }) : t ? /* @__PURE__ */ I(K, {
1559
+ to: t,
1560
+ className: _,
1561
+ children: g
1562
+ }) : n ? /* @__PURE__ */ I("button", {
1503
1563
  type: "button",
1504
- onClick: t,
1505
- className: `${g} w-full`,
1506
- children: h
1564
+ onClick: n,
1565
+ className: e("w-full", _),
1566
+ children: g
1507
1567
  }) : /* @__PURE__ */ I("div", {
1508
- className: g,
1509
- children: h
1568
+ className: _,
1569
+ children: g
1510
1570
  });
1511
1571
  }
1512
1572
  //#endregion
1513
- export { $ as AdaptiveSectionCard, He as BENTO_EMPHASIS_NEXT, Ve as BENTO_EMPHASIS_SPAN, Me as BENTO_TONES, Y as BENTO_TONE_CLASS, je as BentoActionsMenu, Z as BentoBackLink, dt as BentoBackToTop, pt as BentoCommandPalette, Ne as BentoCountTile, Pe as BentoEmptyState, Be as BentoEntityShell, Ge as BentoEntityTile, at as BentoFormHero, ot as BentoFormSection, Q as BentoHero, Fe as BentoHeroIconPicker, Ie as BentoInlineEdit, qe as BentoListPage, _t as BentoNavRail, st as BentoPanel, nt as BentoSaveBar, it as BentoScrollSaveBar, Tt as BentoSection, mt as BentoShortcutsDialog, Le as BentoStatusMarker, Et as BentoTile, Je as BentoTileGrid, yt as BentoUserMenu, xt as SectionCardChromeProvider, X as bentoChipClass, ft as bentoNavTarget, Ue as resolveBentoLayout, We as toBentoLayoutEntries, Re as useBentoScrollFade, St as useSectionChrome };
1573
+ export { $ as AdaptiveSectionCard, We as BENTO_EMPHASIS_NEXT, Ue as BENTO_EMPHASIS_SPAN, Pe as BENTO_TONES, J as BENTO_TONE_CLASS, Ne as BentoActionsMenu, X as BentoBackLink, ft as BentoBackToTop, gt as BentoCommandPalette, Fe as BentoCountTile, Ie as BentoEmptyState, He as BentoEntityShell, qe as BentoEntityTile, ot as BentoFormHero, st as BentoFormSection, Z as BentoHero, Le as BentoHeroIconPicker, Re as BentoInlineEdit, Ye as BentoListPage, xt as BentoNavRail, ct as BentoPanel, Q as BentoSaveBar, at as BentoScrollSaveBar, kt as BentoSection, _t as BentoShortcutsDialog, ze as BentoStatusMarker, At as BentoTile, Xe as BentoTileGrid, Ct as BentoUserMenu, Tt as SectionCardChromeProvider, Y as bentoChipClass, pt as bentoNavTarget, Ge as resolveBentoLayout, Ke as toBentoLayoutEntries, Be as useBentoScrollFade, Et as useSectionChrome };