@alfadocs/ui-kit 0.67.0 → 0.68.0

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 (90) hide show
  1. package/dist/_chunks/{ai-tools-rail-DfmewPUN.js → ai-tools-rail-CInA_1-E.js} +2 -2
  2. package/dist/_chunks/{appointment-tray-CQJ3Nbi5.js → appointment-tray-BMl89NPW.js} +2 -2
  3. package/dist/_chunks/{care-plan-card-CJei-nl9.js → care-plan-card-BwVUyUBb.js} +3 -3
  4. package/dist/_chunks/{care-plan-entry-card-EmfrbHu8.js → care-plan-entry-card-VzdQHcOL.js} +2 -2
  5. package/dist/_chunks/{color-picker-B7xsn6tX.js → color-picker-FXpItIaF.js} +171 -167
  6. package/dist/_chunks/{editable-currency-cell-renderer-BVJ04DkB.js → editable-currency-cell-renderer-DHOspPee.js} +906 -881
  7. package/dist/_chunks/{marketplace-app-shell-Bu-HD3fy.js → marketplace-app-shell-D4-T9Qzz.js} +2 -2
  8. package/dist/_chunks/{patient-shell-DrV_iekt.js → patient-shell-BfgufL_q.js} +2 -2
  9. package/dist/_chunks/{patient-summary-card-ByfIU8N0.js → patient-summary-card-hEmr4eTW.js} +2 -2
  10. package/dist/_chunks/{payment-request-card-yTjzKQCU.js → payment-request-card-CYE5vhZ0.js} +2 -2
  11. package/dist/_chunks/{rich-text-editor-BOQr5lHx.js → rich-text-editor-VawKN1FI.js} +884 -801
  12. package/dist/_chunks/{scroll-area-eccd_Uf-.js → scroll-area-5wNK0Cyz.js} +3 -3
  13. package/dist/_chunks/{sidebar-CGjIk_FQ.js → sidebar-DaB4ulxH.js} +344 -340
  14. package/dist/_chunks/{transaction-chip-BrW8P50O.js → transaction-chip-DK84XCBU.js} +31 -18
  15. package/dist/agent-catalog.json +1 -1
  16. package/dist/components/ai-tools-rail/index.js +1 -1
  17. package/dist/components/appointment-card/index.js +1 -1
  18. package/dist/components/care-plan-card/index.js +1 -1
  19. package/dist/components/care-plan-entry-card/index.js +1 -1
  20. package/dist/components/color-picker/index.js +1 -1
  21. package/dist/components/data-table/data-table.d.ts +1 -1
  22. package/dist/components/data-table/filters/date-range-filter.d.ts +1 -1
  23. package/dist/components/data-table/index.js +1 -1
  24. package/dist/components/data-table/toolbar.d.ts +4 -1
  25. package/dist/components/patient-summary-card/index.js +1 -1
  26. package/dist/components/payment-card/index.js +1 -1
  27. package/dist/components/rich-text-editor/index.js +1 -1
  28. package/dist/components/rich-text-editor/rich-text-editor.d.ts +15 -0
  29. package/dist/components/scroll-area/index.js +1 -1
  30. package/dist/components/sidebar/index.js +1 -1
  31. package/dist/components/transaction-chip/index.js +1 -1
  32. package/dist/i18n/locales/ar.d.ts +6 -1
  33. package/dist/i18n/locales/ar.js +8 -3
  34. package/dist/i18n/locales/de.d.ts +6 -1
  35. package/dist/i18n/locales/de.js +8 -3
  36. package/dist/i18n/locales/el.d.ts +6 -1
  37. package/dist/i18n/locales/el.js +8 -3
  38. package/dist/i18n/locales/en.d.ts +6 -1
  39. package/dist/i18n/locales/en.js +8 -3
  40. package/dist/i18n/locales/es.d.ts +6 -1
  41. package/dist/i18n/locales/es.js +8 -3
  42. package/dist/i18n/locales/fr.d.ts +6 -1
  43. package/dist/i18n/locales/fr.js +8 -3
  44. package/dist/i18n/locales/hi.d.ts +6 -1
  45. package/dist/i18n/locales/hi.js +8 -3
  46. package/dist/i18n/locales/it.d.ts +6 -1
  47. package/dist/i18n/locales/it.js +8 -3
  48. package/dist/i18n/locales/ja.d.ts +6 -1
  49. package/dist/i18n/locales/ja.js +8 -3
  50. package/dist/i18n/locales/nl.d.ts +6 -1
  51. package/dist/i18n/locales/nl.js +8 -3
  52. package/dist/i18n/locales/pl.d.ts +6 -1
  53. package/dist/i18n/locales/pl.js +8 -3
  54. package/dist/i18n/locales/pt.d.ts +6 -1
  55. package/dist/i18n/locales/pt.js +8 -3
  56. package/dist/i18n/locales/ro.d.ts +6 -1
  57. package/dist/i18n/locales/ro.js +8 -3
  58. package/dist/i18n/locales/ru.d.ts +6 -1
  59. package/dist/i18n/locales/ru.js +8 -3
  60. package/dist/i18n/locales/sq.d.ts +6 -1
  61. package/dist/i18n/locales/sq.js +8 -3
  62. package/dist/i18n/locales/sv.d.ts +6 -1
  63. package/dist/i18n/locales/sv.js +8 -3
  64. package/dist/i18n/locales/tr.d.ts +6 -1
  65. package/dist/i18n/locales/tr.js +8 -3
  66. package/dist/i18n/locales/zh.d.ts +6 -1
  67. package/dist/i18n/locales/zh.js +8 -3
  68. package/dist/index.js +14 -14
  69. package/dist/locales/ar.json +8 -3
  70. package/dist/locales/de.json +8 -3
  71. package/dist/locales/el.json +8 -3
  72. package/dist/locales/en.json +8 -3
  73. package/dist/locales/es.json +8 -3
  74. package/dist/locales/fr.json +8 -3
  75. package/dist/locales/hi.json +8 -3
  76. package/dist/locales/it.json +8 -3
  77. package/dist/locales/ja.json +8 -3
  78. package/dist/locales/nl.json +8 -3
  79. package/dist/locales/pl.json +8 -3
  80. package/dist/locales/pt.json +8 -3
  81. package/dist/locales/ro.json +8 -3
  82. package/dist/locales/ru.json +8 -3
  83. package/dist/locales/sq.json +8 -3
  84. package/dist/locales/sv.json +8 -3
  85. package/dist/locales/tr.json +8 -3
  86. package/dist/locales/zh.json +8 -3
  87. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  88. package/dist/patterns/patient-shell/index.js +1 -1
  89. package/dist/tokens.css +1 -1
  90. package/package.json +1 -1
@@ -1,53 +1,53 @@
1
- import { jsx as s, jsxs as c, Fragment as $ } from "react/jsx-runtime";
2
- import { forwardRef as g, useState as P, useEffect as W, useCallback as J, useRef as U, useMemo as O, useId as is, useContext as Q, createContext as ss } from "react";
3
- import * as R from "@radix-ui/react-dialog";
1
+ import { jsx as s, jsxs as u, Fragment as q } from "react/jsx-runtime";
2
+ import { forwardRef as g, useState as R, useEffect as U, useCallback as ss, useRef as $, useMemo as O, useId as is, useContext as Z, createContext as W } from "react";
3
+ import * as B from "@radix-ui/react-dialog";
4
4
  import * as K from "@radix-ui/react-collapsible";
5
5
  import * as E from "@radix-ui/react-accordion";
6
6
  import * as b from "@radix-ui/react-tooltip";
7
- import { a as ns } from "./accordion-9lJSMMsZ.js";
7
+ import { a as ts } from "./accordion-9lJSMMsZ.js";
8
8
  import { Slot as os } from "@radix-ui/react-slot";
9
9
  import { c as T } from "./index-D2ZczOXr.js";
10
- import { useTranslation as B } from "react-i18next";
11
- import { u as ts } from "./use-edge-resize-ZnGG7gyO.js";
12
- import { c as ls } from "./compose-refs-C0k0tdqF.js";
13
- import { u as cs } from "./registry-nPAVE19X.js";
14
- import { X as us } from "./x-CCcI3eJp.js";
15
- import { c as q } from "./createLucideIcon-CrFbzy84.js";
16
- import { G as ms } from "./grip-vertical-Dlg0_k5C.js";
10
+ import { useTranslation as D } from "react-i18next";
11
+ import { u as ls } from "./use-edge-resize-ZnGG7gyO.js";
12
+ import { c as cs } from "./compose-refs-C0k0tdqF.js";
13
+ import { u as us } from "./registry-nPAVE19X.js";
14
+ import { X as ms } from "./x-CCcI3eJp.js";
15
+ import { c as X } from "./createLucideIcon-CrFbzy84.js";
16
+ import { G as vs } from "./grip-vertical-Dlg0_k5C.js";
17
17
  import { C as H } from "./chevron-right-BrpYejk0.js";
18
- import { S as vs } from "./star-vav0SJ9e.js";
18
+ import { S as fs } from "./star-vav0SJ9e.js";
19
19
  /**
20
20
  * @license lucide-react v1.8.0 - ISC
21
21
  *
22
22
  * This source code is licensed under the ISC license.
23
23
  * See the LICENSE file in the root directory of this source tree.
24
24
  */
25
- const fs = [
25
+ const ps = [
26
26
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
27
27
  ["path", { d: "M9 3v18", key: "fh3hqa" }],
28
28
  ["path", { d: "m16 15-3-3 3-3", key: "14y99z" }]
29
- ], ps = q("panel-left-close", fs);
29
+ ], gs = X("panel-left-close", ps);
30
30
  /**
31
31
  * @license lucide-react v1.8.0 - ISC
32
32
  *
33
33
  * This source code is licensed under the ISC license.
34
34
  * See the LICENSE file in the root directory of this source tree.
35
35
  */
36
- const gs = [
36
+ const bs = [
37
37
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
38
38
  ["path", { d: "M9 3v18", key: "fh3hqa" }],
39
39
  ["path", { d: "m14 9 3 3-3 3", key: "8010ee" }]
40
- ], bs = q("panel-left-open", gs);
40
+ ], hs = X("panel-left-open", bs);
41
41
  /**
42
42
  * @license lucide-react v1.8.0 - ISC
43
43
  *
44
44
  * This source code is licensed under the ISC license.
45
45
  * See the LICENSE file in the root directory of this source tree.
46
46
  */
47
- const hs = [
47
+ const xs = [
48
48
  ["path", { d: "M16 7h6v6", key: "box55l" }],
49
49
  ["path", { d: "m22 7-8.5 8.5-5-5L2 17", key: "1t1m79" }]
50
- ], xs = q("trending-up", hs), ys = {
50
+ ], ys = X("trending-up", xs), ws = {
51
51
  id: "sidebar",
52
52
  capabilities: ["expand"],
53
53
  state: {
@@ -78,11 +78,11 @@ const hs = [
78
78
  description: "Each Sidebar.Item emits its key as data-nav-id."
79
79
  }
80
80
  }
81
- }, G = ss({
81
+ }, G = W({
82
82
  mode: "expanded",
83
83
  density: "default"
84
- }), y = () => Q(G), es = "ui.sidebar.state";
85
- function ws(e) {
84
+ }), y = () => Z(G), es = "ui.sidebar.state";
85
+ function Ns(e) {
86
86
  if (typeof window > "u") return e;
87
87
  try {
88
88
  const a = window.localStorage.getItem(es);
@@ -91,14 +91,14 @@ function ws(e) {
91
91
  }
92
92
  return e;
93
93
  }
94
- function Ns(e) {
94
+ function zs(e) {
95
95
  if (!(typeof window > "u"))
96
96
  try {
97
97
  window.localStorage.setItem(es, e);
98
98
  } catch {
99
99
  }
100
100
  }
101
- const X = T(
101
+ const J = T(
102
102
  [
103
103
  "ds:flex ds:flex-col",
104
104
  // Sidebar sits at the page background in light mode (white-on-white
@@ -144,7 +144,7 @@ const X = T(
144
144
  },
145
145
  defaultVariants: { mode: "expanded", density: "default" }
146
146
  }
147
- ), zs = 192, Ss = 384, js = 248, ks = [
147
+ ), Ss = 192, js = 384, Cs = 248, ks = [
148
148
  "ds:absolute ds:[inset-block:0] ds:end-0 ds:z-[2]",
149
149
  "ds:w-[var(--resizable-handle-size)]",
150
150
  "ds:cursor-col-resize ds:select-none ds:touch-none",
@@ -158,63 +158,63 @@ const X = T(
158
158
  "ds:before:[inset-block:0]",
159
159
  "ds:before:[inline-size:var(--min-target-size)]",
160
160
  "ds:before:[inset-inline:calc(0px_-_(var(--min-target-size)_-_var(--resizable-handle-size))_/_2)]"
161
- ].join(" "), Cs = g(
161
+ ].join(" "), Ts = g(
162
162
  ({
163
163
  state: e,
164
164
  defaultState: a = "expanded",
165
165
  onStateChange: r,
166
- density: i = "default",
167
- open: n,
168
- onOpenChange: t,
169
- resizable: l = !1,
170
- "aria-label": o,
171
- className: u,
172
- children: f,
173
- id: p,
166
+ density: n = "default",
167
+ open: t,
168
+ onOpenChange: l,
169
+ resizable: o = !1,
170
+ "aria-label": i,
171
+ className: m,
172
+ children: p,
173
+ id: f,
174
174
  ...h
175
- }, N) => {
176
- const { t: x } = B(), d = e !== void 0, [w, z] = P(
177
- () => d ? e : ws(a)
178
- ), v = d ? e : w;
179
- W(() => {
180
- d || Ns(w);
181
- }, [w, d]);
182
- const S = J(
183
- (C) => {
184
- d || z(C), r == null || r(C);
175
+ }, w) => {
176
+ const { t: x } = D(), d = e !== void 0, [N, z] = R(
177
+ () => d ? e : Ns(a)
178
+ ), c = d ? e : N;
179
+ U(() => {
180
+ d || zs(N);
181
+ }, [N, d]);
182
+ const S = ss(
183
+ (k) => {
184
+ d || z(k), r == null || r(k);
185
185
  },
186
186
  [d, r]
187
- ), j = o ?? x("navigation.sidebar.label"), k = U(v);
188
- W(() => {
189
- k.current = v;
190
- }, [v]);
187
+ ), j = i ?? x("navigation.sidebar.label"), C = $(c);
188
+ U(() => {
189
+ C.current = c;
190
+ }, [c]);
191
191
  const F = O(
192
192
  () => ({
193
- getIsCollapsed: () => k.current !== "expanded",
193
+ getIsCollapsed: () => C.current !== "expanded",
194
194
  toggleCollapsed: () => {
195
- const C = k.current === "expanded" ? "icon" : "expanded";
196
- S(C);
195
+ const k = C.current === "expanded" ? "icon" : "expanded";
196
+ S(k);
197
197
  }
198
198
  }),
199
199
  [S]
200
200
  );
201
- cs(ys, F, p);
202
- const D = U(null), A = O(() => ls(N, D), [N]), { separatorProps: L, isResizing: _ } = ts({
201
+ us(ws, F, f);
202
+ const A = $(null), _ = O(() => cs(w, A), [w]), { separatorProps: M, isResizing: P } = ls({
203
203
  edge: "inline-end",
204
- targetRef: D,
204
+ targetRef: A,
205
205
  cssProperty: "--sidebar-modern-expanded-size",
206
- minSize: zs,
207
- maxSize: Ss,
208
- defaultSize: js,
209
- disabled: !l || v !== "expanded"
210
- }), M = l && v === "expanded";
211
- return v === "overlay" ? /* @__PURE__ */ s(
206
+ minSize: Ss,
207
+ maxSize: js,
208
+ defaultSize: Cs,
209
+ disabled: !o || c !== "expanded"
210
+ }), L = o && c === "expanded";
211
+ return c === "overlay" ? /* @__PURE__ */ s(
212
212
  G.Provider,
213
213
  {
214
- value: { mode: "overlay", density: i, transitionTo: S },
215
- children: /* @__PURE__ */ s(R.Root, { open: n, onOpenChange: t, children: /* @__PURE__ */ c(R.Portal, { children: [
214
+ value: { mode: "overlay", density: n, transitionTo: S },
215
+ children: /* @__PURE__ */ s(B.Root, { open: t, onOpenChange: l, children: /* @__PURE__ */ u(B.Portal, { children: [
216
216
  /* @__PURE__ */ s(
217
- R.Overlay,
217
+ B.Overlay,
218
218
  {
219
219
  className: [
220
220
  "ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]",
@@ -225,38 +225,38 @@ const X = T(
225
225
  ].join(" ")
226
226
  }
227
227
  ),
228
- /* @__PURE__ */ c(
229
- R.Content,
228
+ /* @__PURE__ */ u(
229
+ B.Content,
230
230
  {
231
231
  "aria-label": j,
232
232
  className: [
233
233
  "ds:fixed ds:z-[var(--z-modal)]",
234
234
  "ds:inset-inline-start-0 ds:inset-block-start-0",
235
235
  "ds:h-dvh",
236
- X({ mode: "overlay", density: i }),
236
+ J({ mode: "overlay", density: n }),
237
237
  "ds:shadow-[var(--shadow-xl)]",
238
238
  "ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out",
239
239
  "ds:data-[state=open]:slide-in-from-left ds:data-[state=closed]:slide-out-to-left",
240
240
  "ds:rtl:data-[state=open]:slide-in-from-right ds:rtl:data-[state=closed]:slide-out-to-right",
241
241
  "ds:motion-reduce:animate-none",
242
242
  "ds:focus:outline-none",
243
- u ?? ""
243
+ m ?? ""
244
244
  ].filter(Boolean).join(" "),
245
245
  children: [
246
246
  /* @__PURE__ */ s(
247
247
  "nav",
248
248
  {
249
- ref: A,
250
- id: p,
249
+ ref: _,
250
+ id: f,
251
251
  "aria-label": j,
252
252
  "data-component": "sidebar",
253
- "data-component-id": p,
253
+ "data-component-id": f,
254
254
  className: "ds:flex ds:flex-col ds:h-full",
255
255
  ...h,
256
- children: f
256
+ children: p
257
257
  }
258
258
  ),
259
- /* @__PURE__ */ s(R.Close, { asChild: !0, children: /* @__PURE__ */ s(
259
+ /* @__PURE__ */ s(B.Close, { asChild: !0, children: /* @__PURE__ */ s(
260
260
  "button",
261
261
  {
262
262
  type: "button",
@@ -270,7 +270,7 @@ const X = T(
270
270
  "ds:focus-visible:outline-solid ds:focus-visible:outline-[var(--ring)]",
271
271
  "ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
272
272
  ].join(" "),
273
- children: /* @__PURE__ */ s(us, { "aria-hidden": "true", className: "ds:size-4" })
273
+ children: /* @__PURE__ */ s(ms, { "aria-hidden": "true", className: "ds:size-4" })
274
274
  }
275
275
  ) })
276
276
  ]
@@ -281,32 +281,32 @@ const X = T(
281
281
  ) : /* @__PURE__ */ s(
282
282
  G.Provider,
283
283
  {
284
- value: { mode: v, density: i, transitionTo: S },
285
- children: /* @__PURE__ */ s(b.Provider, { delayDuration: 300, children: /* @__PURE__ */ c(
284
+ value: { mode: c, density: n, transitionTo: S },
285
+ children: /* @__PURE__ */ s(b.Provider, { delayDuration: 300, children: /* @__PURE__ */ u(
286
286
  "nav",
287
287
  {
288
- ref: A,
289
- id: p,
288
+ ref: _,
289
+ id: f,
290
290
  "aria-label": j,
291
291
  "data-component": "sidebar",
292
- "data-component-id": p,
293
- "data-mode": v,
294
- "data-density": i,
295
- "data-resizing": _ ? "" : void 0,
292
+ "data-component-id": f,
293
+ "data-mode": c,
294
+ "data-density": n,
295
+ "data-resizing": P ? "" : void 0,
296
296
  className: [
297
- X({ mode: v, density: i }),
298
- i === "compact" ? "ds:density-compact" : "",
299
- u ?? ""
297
+ J({ mode: c, density: n }),
298
+ n === "compact" ? "ds:density-compact" : "",
299
+ m ?? ""
300
300
  ].filter(Boolean).join(" "),
301
301
  ...h,
302
302
  children: [
303
- f,
304
- M ? /* @__PURE__ */ s(
303
+ p,
304
+ L ? /* @__PURE__ */ s(
305
305
  "div",
306
306
  {
307
- ...L,
307
+ ...M,
308
308
  "aria-label": x("navigation.sidebar.resize"),
309
- "data-resizing": _ ? "" : void 0,
309
+ "data-resizing": P ? "" : void 0,
310
310
  className: ks
311
311
  }
312
312
  ) : null
@@ -317,9 +317,9 @@ const X = T(
317
317
  );
318
318
  }
319
319
  );
320
- Cs.displayName = "Sidebar";
321
- const Ts = g(({ className: e, ...a }, r) => {
322
- const { mode: i } = y();
320
+ Ts.displayName = "Sidebar";
321
+ const Is = g(({ className: e, ...a }, r) => {
322
+ const { mode: n } = y();
323
323
  return /* @__PURE__ */ s(
324
324
  "div",
325
325
  {
@@ -329,7 +329,7 @@ const Ts = g(({ className: e, ...a }, r) => {
329
329
  "ds:min-h-[var(--min-target-size)]",
330
330
  // Icon-rail is 64px — shrink horizontal padding so a 44×44
331
331
  // control fits centred inside the header.
332
- i === "icon" ? "ds:justify-center ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]" : "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
332
+ n === "icon" ? "ds:justify-center ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]" : "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
333
333
  "ds:py-[var(--spacing-sm)]",
334
334
  // Hairline border + downward chrome shadow cast the header as a
335
335
  // sticky top band above the scrolling body.
@@ -341,8 +341,8 @@ const Ts = g(({ className: e, ...a }, r) => {
341
341
  }
342
342
  );
343
343
  });
344
- Ts.displayName = "SidebarHeader";
345
- const Is = g(
344
+ Is.displayName = "SidebarHeader";
345
+ const Bs = g(
346
346
  ({ className: e, ...a }, r) => /* @__PURE__ */ s(
347
347
  "div",
348
348
  {
@@ -357,9 +357,9 @@ const Is = g(
357
357
  }
358
358
  )
359
359
  );
360
- Is.displayName = "SidebarBody";
360
+ Bs.displayName = "SidebarBody";
361
361
  const Rs = g(({ className: e, ...a }, r) => {
362
- const { mode: i } = y();
362
+ const { mode: n } = y();
363
363
  return /* @__PURE__ */ s(
364
364
  "div",
365
365
  {
@@ -368,7 +368,7 @@ const Rs = g(({ className: e, ...a }, r) => {
368
368
  "ds:relative ds:flex ds:items-center ds:gap-[var(--spacing-xs)]",
369
369
  // Icon-rail is 64px — two 44×44 controls can't sit side-by-side,
370
370
  // so switch to a vertical stack and let each row self-centre.
371
- i === "icon" ? "ds:flex-col ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]" : "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
371
+ n === "icon" ? "ds:flex-col ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]" : "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
372
372
  "ds:min-h-[var(--min-target-size)]",
373
373
  "ds:py-[var(--spacing-sm)]",
374
374
  // Hairline border + upward chrome shadow cast the footer as a
@@ -382,7 +382,7 @@ const Rs = g(({ className: e, ...a }, r) => {
382
382
  );
383
383
  });
384
384
  Rs.displayName = "SidebarFooter";
385
- const Bs = [
385
+ const Ds = [
386
386
  "ds:group/section-label ds:flex ds:w-full ds:items-center",
387
387
  "type-eyebrow",
388
388
  "ds:text-[var(--muted-foreground)]",
@@ -392,7 +392,7 @@ const Bs = [
392
392
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
393
393
  "ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
394
394
  "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
395
- ].join(" "), Y = [
395
+ ].join(" "), Q = [
396
396
  "ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center",
397
397
  "ds:size-4",
398
398
  "ds:text-[var(--accent)]",
@@ -402,22 +402,22 @@ const Bs = [
402
402
  label: e,
403
403
  icon: a,
404
404
  collapsible: r = !0,
405
- defaultOpen: i = !0,
406
- open: n,
407
- onOpenChange: t,
408
- className: l,
409
- children: o,
410
- ...u
411
- }, f) => {
412
- const { mode: p } = y(), h = p === "icon", N = r && !h && !!e, x = [
405
+ defaultOpen: n = !0,
406
+ open: t,
407
+ onOpenChange: l,
408
+ className: o,
409
+ children: i,
410
+ ...m
411
+ }, p) => {
412
+ const { mode: f } = y(), h = f === "icon", w = r && !h && !!e, x = [
413
413
  "ds:flex ds:flex-col",
414
414
  "ds:gap-[var(--spacing-xs)]",
415
415
  "ds:mt-[var(--spacing-sm)]",
416
- l ?? ""
416
+ o ?? ""
417
417
  ].filter(Boolean).join(" ");
418
- if (!N)
419
- return /* @__PURE__ */ c("div", { ref: f, className: x, ...u, children: [
420
- !!e || !!a ? /* @__PURE__ */ c(
418
+ if (!w)
419
+ return /* @__PURE__ */ u("div", { ref: p, className: x, ...m, children: [
420
+ !!e || !!a ? /* @__PURE__ */ u(
421
421
  "span",
422
422
  {
423
423
  className: [
@@ -429,12 +429,12 @@ const Bs = [
429
429
  h && !a ? "ds:sr-only" : ""
430
430
  ].filter(Boolean).join(" "),
431
431
  children: [
432
- a ? /* @__PURE__ */ s("span", { "aria-hidden": "true", className: Y, children: a }) : null,
432
+ a ? /* @__PURE__ */ s("span", { "aria-hidden": "true", className: Q, children: a }) : null,
433
433
  e ? /* @__PURE__ */ s("span", { className: h ? "ds:sr-only" : "", children: e }) : null
434
434
  ]
435
435
  }
436
436
  ) : null,
437
- o
437
+ i
438
438
  ] });
439
439
  const d = "section";
440
440
  return /* @__PURE__ */ s(
@@ -442,13 +442,13 @@ const Bs = [
442
442
  {
443
443
  type: "single",
444
444
  collapsible: !0,
445
- defaultValue: n === void 0 && i ? d : void 0,
446
- value: n === void 0 ? void 0 : n ? d : "",
447
- onValueChange: t ? (w) => t(w === d) : void 0,
445
+ defaultValue: t === void 0 && n ? d : void 0,
446
+ value: t === void 0 ? void 0 : t ? d : "",
447
+ onValueChange: l ? (N) => l(N === d) : void 0,
448
448
  asChild: !0,
449
- children: /* @__PURE__ */ s("div", { ref: f, className: x, ...u, children: /* @__PURE__ */ c(E.Item, { value: d, children: [
450
- /* @__PURE__ */ s(E.Header, { className: "ds:flex", children: /* @__PURE__ */ c(E.Trigger, { className: Bs, children: [
451
- a ? /* @__PURE__ */ s("span", { "aria-hidden": "true", className: Y, children: a }) : null,
449
+ children: /* @__PURE__ */ s("div", { ref: p, className: x, ...m, children: /* @__PURE__ */ u(E.Item, { value: d, children: [
450
+ /* @__PURE__ */ s(E.Header, { className: "ds:flex", children: /* @__PURE__ */ u(E.Trigger, { className: Ds, children: [
451
+ a ? /* @__PURE__ */ s("span", { "aria-hidden": "true", className: Q, children: a }) : null,
452
452
  /* @__PURE__ */ s("span", { className: "ds:flex-1 ds:text-start", children: e }),
453
453
  /* @__PURE__ */ s(
454
454
  H,
@@ -459,11 +459,11 @@ const Bs = [
459
459
  )
460
460
  ] }) }),
461
461
  /* @__PURE__ */ s(
462
- ns,
462
+ ts,
463
463
  {
464
464
  "aria-label": e,
465
465
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:[&>div]:contents",
466
- children: o
466
+ children: i
467
467
  }
468
468
  )
469
469
  ] }) })
@@ -472,7 +472,7 @@ const Bs = [
472
472
  }
473
473
  );
474
474
  as.displayName = "SidebarSection";
475
- const Ds = [
475
+ const As = [
476
476
  "ds:group ds:flex ds:w-full ds:items-center ds:gap-[var(--spacing-sm)]",
477
477
  "ds:min-h-[var(--min-target-size)]",
478
478
  "ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]",
@@ -483,29 +483,29 @@ const Ds = [
483
483
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
484
484
  "ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
485
485
  "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
486
- ].join(" "), As = g(
486
+ ].join(" "), _s = g(
487
487
  ({
488
488
  label: e,
489
489
  icon: a,
490
490
  children: r,
491
- className: i,
492
- defaultOpen: n,
493
- open: t,
494
- onOpenChange: l,
495
- ...o
496
- }, u) => {
497
- const { mode: f } = y();
498
- return /* @__PURE__ */ c(
491
+ className: n,
492
+ defaultOpen: t,
493
+ open: l,
494
+ onOpenChange: o,
495
+ ...i
496
+ }, m) => {
497
+ const { mode: p } = y();
498
+ return /* @__PURE__ */ u(
499
499
  K.Root,
500
500
  {
501
- ref: u,
502
- defaultOpen: n,
503
- open: t,
504
- onOpenChange: l,
505
- className: i,
506
- ...o,
501
+ ref: m,
502
+ defaultOpen: t,
503
+ open: l,
504
+ onOpenChange: o,
505
+ className: n,
506
+ ...i,
507
507
  children: [
508
- /* @__PURE__ */ c(K.Trigger, { className: Ds, children: [
508
+ /* @__PURE__ */ u(K.Trigger, { className: As, children: [
509
509
  a ? /* @__PURE__ */ s(
510
510
  "span",
511
511
  {
@@ -519,12 +519,12 @@ const Ds = [
519
519
  {
520
520
  className: [
521
521
  "ds:flex-1 ds:text-start",
522
- f === "icon" ? "ds:sr-only" : ""
522
+ p === "icon" ? "ds:sr-only" : ""
523
523
  ].join(" "),
524
524
  children: e
525
525
  }
526
526
  ),
527
- f !== "icon" ? /* @__PURE__ */ s(
527
+ p !== "icon" ? /* @__PURE__ */ s(
528
528
  H,
529
529
  {
530
530
  "aria-hidden": "true",
@@ -549,8 +549,8 @@ const Ds = [
549
549
  );
550
550
  }
551
551
  );
552
- As.displayName = "SidebarGroup";
553
- const _s = T(
552
+ _s.displayName = "SidebarGroup";
553
+ const Ps = T(
554
554
  [
555
555
  // Every row is a pin-hover parent so inline pin / reorder affordances can
556
556
  // fade in on hover of the whole row — keep `group/item` on this selector.
@@ -611,56 +611,55 @@ const _s = T(
611
611
  isActive: !1
612
612
  }
613
613
  }
614
- ), rs = g(
614
+ ), rs = W(null), ds = g(
615
615
  ({
616
616
  asChild: e = !1,
617
617
  isActive: a = !1,
618
618
  isPinned: r = !1,
619
- onPinChange: i,
620
- pinLabel: n,
621
- className: t,
622
- children: l,
623
- "aria-label": o,
624
- ...u
625
- }, f) => {
626
- const { mode: p, density: h } = y(), N = e ? os : "a", x = i !== void 0 && p !== "icon", d = /* @__PURE__ */ s(
627
- N,
619
+ onPinChange: n,
620
+ pinLabel: t,
621
+ className: l,
622
+ children: o,
623
+ "aria-label": i,
624
+ ...m
625
+ }, p) => {
626
+ const { mode: f, density: h } = y(), w = e ? os : "a", x = n !== void 0 && f !== "icon", [d, N] = R(null), z = f === "icon" && i != null && d ? `${i}, ${d}` : i, c = /* @__PURE__ */ s(
627
+ w,
628
628
  {
629
- ref: f,
629
+ ref: p,
630
630
  "aria-current": a ? "page" : void 0,
631
- "aria-label": o,
632
- className: _s({
633
- mode: p,
631
+ "aria-label": z,
632
+ className: Ps({
633
+ mode: f,
634
634
  density: h,
635
635
  isActive: a,
636
- className: x ? "ds:flex-1 ds:min-w-0" : t
636
+ className: x ? "ds:flex-1 ds:min-w-0" : l
637
637
  }),
638
- ...u,
639
- children: l
638
+ ...m,
639
+ children: o
640
640
  }
641
- ), w = x ? /* @__PURE__ */ c(
641
+ ), S = x ? /* @__PURE__ */ u(
642
642
  "div",
643
643
  {
644
644
  className: [
645
645
  "ds:group/item ds:flex ds:items-center ds:gap-[var(--spacing-2xs)]",
646
- t ?? ""
646
+ l ?? ""
647
647
  ].filter(Boolean).join(" "),
648
648
  children: [
649
- d,
649
+ c,
650
650
  /* @__PURE__ */ s(
651
- Z,
651
+ Y,
652
652
  {
653
653
  isPinned: r,
654
- label: n ?? o ?? "",
655
- onPinChange: i
654
+ label: t ?? i ?? "",
655
+ onPinChange: n
656
656
  }
657
657
  )
658
658
  ]
659
659
  }
660
- ) : d;
661
- return p === "icon" && o ? /* @__PURE__ */ c(b.Root, { children: [
662
- /* @__PURE__ */ s(b.Trigger, { asChild: !0, children: w }),
663
- /* @__PURE__ */ s(b.Portal, { children: /* @__PURE__ */ c(
660
+ ) : c, j = f === "icon" && i ? /* @__PURE__ */ u(b.Root, { children: [
661
+ /* @__PURE__ */ s(b.Trigger, { asChild: !0, children: S }),
662
+ /* @__PURE__ */ s(b.Portal, { children: /* @__PURE__ */ u(
664
663
  b.Content,
665
664
  {
666
665
  side: "right",
@@ -673,19 +672,20 @@ const _s = T(
673
672
  "ds:animate-in ds:fade-in ds:zoom-in-95 ds:motion-reduce:animate-none"
674
673
  ].join(" "),
675
674
  children: [
676
- o,
675
+ i,
677
676
  /* @__PURE__ */ s(b.Arrow, { className: "ds:fill-[var(--foreground)]" })
678
677
  ]
679
678
  }
680
679
  ) })
681
- ] }) : w;
680
+ ] }) : S;
681
+ return /* @__PURE__ */ s(rs.Provider, { value: N, children: j });
682
682
  }
683
683
  );
684
- rs.displayName = "SidebarItem";
685
- const Es = g(({ className: e, children: a, ...r }, i) => /* @__PURE__ */ s(
684
+ ds.displayName = "SidebarItem";
685
+ const Es = g(({ className: e, children: a, ...r }, n) => /* @__PURE__ */ s(
686
686
  "span",
687
687
  {
688
- ref: i,
688
+ ref: n,
689
689
  "aria-hidden": "true",
690
690
  className: [
691
691
  "ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center",
@@ -704,17 +704,17 @@ const Es = g(({ className: e, children: a, ...r }, i) => /* @__PURE__ */ s(
704
704
  }
705
705
  ));
706
706
  Es.displayName = "SidebarItemIcon";
707
- const Ps = g(({ className: e, children: a, ...r }, i) => {
708
- const { mode: n } = y();
707
+ const Hs = g(({ className: e, children: a, ...r }, n) => {
708
+ const { mode: t } = y();
709
709
  return /* @__PURE__ */ s(
710
710
  "span",
711
711
  {
712
- ref: i,
712
+ ref: n,
713
713
  className: [
714
714
  "ds:flex-1",
715
715
  "ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap ds:break-normal",
716
716
  "ds:text-start",
717
- n === "icon" ? "ds:sr-only" : "",
717
+ t === "icon" ? "ds:sr-only" : "",
718
718
  e ?? ""
719
719
  ].filter(Boolean).join(" "),
720
720
  ...r,
@@ -722,18 +722,22 @@ const Ps = g(({ className: e, children: a, ...r }, i) => {
722
722
  }
723
723
  );
724
724
  });
725
- Ps.displayName = "SidebarItemLabel";
726
- const Hs = g(({ className: e, children: a, ...r }, i) => {
727
- const { mode: n } = y(), t = n === "icon";
728
- return /* @__PURE__ */ s(
725
+ Hs.displayName = "SidebarItemLabel";
726
+ const Fs = g(({ className: e, children: a, ...r }, n) => {
727
+ const { mode: t } = y(), l = t === "icon", o = Z(rs);
728
+ return U(() => {
729
+ if (!o || !l) return;
730
+ const i = a == null || a === !1 ? null : String(a).trim() || null;
731
+ return o(i), () => o(null);
732
+ }, [o, a, l]), /* @__PURE__ */ s(
729
733
  "span",
730
734
  {
731
- ref: i,
732
- "aria-hidden": t ? "true" : void 0,
735
+ ref: n,
736
+ "aria-hidden": l ? "true" : void 0,
733
737
  className: [
734
738
  "ds:inline-flex ds:items-center ds:justify-center",
735
739
  "ds:font-[var(--font-weight-semibold)]",
736
- t ? [
740
+ l ? [
737
741
  "ds:absolute ds:top-[2px] ds:end-[2px]",
738
742
  "ds:min-w-0 ds:size-[10px] ds:ps-0 ds:pe-0",
739
743
  "ds:rounded-[var(--radius-full)]",
@@ -754,8 +758,8 @@ const Hs = g(({ className: e, children: a, ...r }, i) => {
754
758
  }
755
759
  );
756
760
  });
757
- Hs.displayName = "SidebarItemBadge";
758
- const Fs = T(
761
+ Fs.displayName = "SidebarItemBadge";
762
+ const Ms = T(
759
763
  [
760
764
  "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
761
765
  "ds:min-h-[var(--min-target-size)]",
@@ -768,16 +772,16 @@ const Fs = T(
768
772
  "ds:forced-colors:focus-visible:outline-[CanvasText]",
769
773
  "ds:no-underline"
770
774
  ].join(" ")
771
- ), Ls = g(({ logo: e, name: a, showChevron: r = !0, className: i, ...n }, t) => {
772
- const { mode: l } = y(), o = l !== "icon";
773
- return /* @__PURE__ */ c(
775
+ ), Ls = g(({ logo: e, name: a, showChevron: r = !0, className: n, ...t }, l) => {
776
+ const { mode: o } = y(), i = o !== "icon";
777
+ return /* @__PURE__ */ u(
774
778
  "button",
775
779
  {
776
- ref: t,
780
+ ref: l,
777
781
  type: "button",
778
782
  "aria-label": a,
779
- className: [Fs(), i].filter(Boolean).join(" "),
780
- ...n,
783
+ className: [Ms(), n].filter(Boolean).join(" "),
784
+ ...t,
781
785
  children: [
782
786
  /* @__PURE__ */ s(
783
787
  "span",
@@ -787,7 +791,7 @@ const Fs = T(
787
791
  children: e
788
792
  }
789
793
  ),
790
- o ? /* @__PURE__ */ c($, { children: [
794
+ i ? /* @__PURE__ */ u(q, { children: [
791
795
  /* @__PURE__ */ s("span", { className: "ds:truncate ds:flex-1 ds:text-start ds:max-w-[var(--header-workspace-max-inline-size)]", children: a }),
792
796
  r ? /* @__PURE__ */ s(
793
797
  H,
@@ -802,7 +806,7 @@ const Fs = T(
802
806
  );
803
807
  });
804
808
  Ls.displayName = "SidebarWorkspaceSwitcher";
805
- const Ms = T(
809
+ const Vs = T(
806
810
  [
807
811
  "ds:flex ds:items-center ds:justify-center ds:gap-[var(--spacing-xs)]",
808
812
  "ds:min-h-[var(--min-target-size)]",
@@ -825,17 +829,17 @@ const Ms = T(
825
829
  },
826
830
  defaultVariants: { mode: "expanded" }
827
831
  }
828
- ), Vs = g(({ icon: e, label: a, shortcut: r, className: i, ...n }, t) => {
829
- const { mode: l } = y(), o = l !== "icon";
830
- return /* @__PURE__ */ c(
832
+ ), Ks = g(({ icon: e, label: a, shortcut: r, className: n, ...t }, l) => {
833
+ const { mode: o } = y(), i = o !== "icon";
834
+ return /* @__PURE__ */ u(
831
835
  "button",
832
836
  {
833
- ref: t,
837
+ ref: l,
834
838
  type: "button",
835
839
  "aria-label": a,
836
840
  "aria-keyshortcuts": r,
837
- className: [Ms({ mode: l }), i].filter(Boolean).join(" "),
838
- ...n,
841
+ className: [Vs({ mode: o }), n].filter(Boolean).join(" "),
842
+ ...t,
839
843
  children: [
840
844
  /* @__PURE__ */ s(
841
845
  "span",
@@ -845,7 +849,7 @@ const Ms = T(
845
849
  children: e
846
850
  }
847
851
  ),
848
- o ? /* @__PURE__ */ c($, { children: [
852
+ i ? /* @__PURE__ */ u(q, { children: [
849
853
  /* @__PURE__ */ s("span", { className: "ds:truncate", children: a }),
850
854
  r ? /* @__PURE__ */ s("kbd", { className: "ds:ms-auto ds:text-[length:var(--font-size-xs)] ds:font-[family-name:var(--font-mono)] ds:opacity-80", children: r }) : null
851
855
  ] }) : null
@@ -853,8 +857,8 @@ const Ms = T(
853
857
  }
854
858
  );
855
859
  });
856
- Vs.displayName = "SidebarPrimaryAction";
857
- const Ks = [
860
+ Ks.displayName = "SidebarPrimaryAction";
861
+ const Us = [
858
862
  "ds:inline-flex ds:items-center ds:justify-center ds:shrink-0",
859
863
  "ds:size-6 ds:rounded-[var(--radius-sm)]",
860
864
  // Lift above the Sidebar's opt-in resize handle (z-[2]). When `resizable`,
@@ -878,25 +882,25 @@ const Ks = [
878
882
  "ds:forced-colors:focus-visible:outline-[CanvasText]",
879
883
  "ds:transition-[color,opacity,background-color] ds:duration-[var(--animation-duration)]",
880
884
  "ds:motion-reduce:transition-none"
881
- ].join(" "), Z = g(
882
- ({ isPinned: e, onPinChange: a, label: r, className: i, onClick: n, ...t }, l) => {
883
- const { t: o } = B(), { mode: u } = y();
884
- if (u === "icon") return null;
885
- const f = e ? o("navigation.sidebar.unpinItem", "Unpin {{label}}", { label: r }) : o("navigation.sidebar.pinItem", "Pin {{label}}", { label: r });
885
+ ].join(" "), Y = g(
886
+ ({ isPinned: e, onPinChange: a, label: r, className: n, onClick: t, ...l }, o) => {
887
+ const { t: i } = D(), { mode: m } = y();
888
+ if (m === "icon") return null;
889
+ const p = e ? i("navigation.sidebar.unpinItem", "Unpin {{label}}", { label: r }) : i("navigation.sidebar.pinItem", "Pin {{label}}", { label: r });
886
890
  return /* @__PURE__ */ s(
887
891
  "button",
888
892
  {
889
- ref: l,
893
+ ref: o,
890
894
  type: "button",
891
- "aria-label": f,
895
+ "aria-label": p,
892
896
  "aria-pressed": e,
893
- className: [Ks, i].filter(Boolean).join(" "),
894
- onClick: (p) => {
895
- p.preventDefault(), p.stopPropagation(), a == null || a(!e), n == null || n(p);
897
+ className: [Us, n].filter(Boolean).join(" "),
898
+ onClick: (f) => {
899
+ f.preventDefault(), f.stopPropagation(), a == null || a(!e), t == null || t(f);
896
900
  },
897
- ...t,
901
+ ...l,
898
902
  children: /* @__PURE__ */ s(
899
- vs,
903
+ fs,
900
904
  {
901
905
  "aria-hidden": "true",
902
906
  className: "ds:size-4",
@@ -907,24 +911,24 @@ const Ks = [
907
911
  );
908
912
  }
909
913
  );
910
- Z.displayName = "SidebarPinButton";
911
- const ds = ss(null), Us = () => Q(ds), Os = g(
912
- ({ heading: e, emptyMessage: a, onReorder: r, className: i, children: n, ...t }, l) => {
913
- const { t: o } = B(), u = e ?? o("navigation.sidebar.favorites", "Favourites"), f = Array.isArray(n) ? n.filter(Boolean) : n ? [n] : [], p = f.length, h = p > 0, [N, x] = P(null), [d, w] = P(""), z = U(!1), v = J((j) => {
914
- z.current = !z.current, w(z.current ? j : `${j}​`);
914
+ Y.displayName = "SidebarPinButton";
915
+ const ns = W(null), $s = () => Z(ns), Os = g(
916
+ ({ heading: e, emptyMessage: a, onReorder: r, className: n, children: t, ...l }, o) => {
917
+ const { t: i } = D(), m = e ?? i("navigation.sidebar.favorites", "Favourites"), p = Array.isArray(t) ? t.filter(Boolean) : t ? [t] : [], f = p.length, h = f > 0, [w, x] = R(null), [d, N] = R(""), z = $(!1), c = ss((j) => {
918
+ z.current = !z.current, N(z.current ? j : `${j}​`);
915
919
  }, []), S = O(
916
- () => ({ onReorder: r, count: p, dragSource: N, setDragSource: x, announce: v }),
917
- [r, p, N, v]
920
+ () => ({ onReorder: r, count: f, dragSource: w, setDragSource: x, announce: c }),
921
+ [r, f, w, c]
918
922
  );
919
- return !h && !a ? null : /* @__PURE__ */ s(ds.Provider, { value: S, children: /* @__PURE__ */ c(
923
+ return !h && !a ? null : /* @__PURE__ */ s(ns.Provider, { value: S, children: /* @__PURE__ */ u(
920
924
  as,
921
925
  {
922
- ref: l,
923
- label: u,
924
- className: i,
925
- ...t,
926
+ ref: o,
927
+ label: m,
928
+ className: n,
929
+ ...l,
926
930
  children: [
927
- h ? f : /* @__PURE__ */ s("p", { className: "ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] type-meta ds:text-[color:var(--muted-foreground)]", children: a }),
931
+ h ? p : /* @__PURE__ */ s("p", { className: "ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] type-meta ds:text-[color:var(--muted-foreground)]", children: a }),
928
932
  /* @__PURE__ */ s("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: d })
929
933
  ]
930
934
  }
@@ -951,7 +955,7 @@ const Gs = T(
951
955
  },
952
956
  defaultVariants: { dragging: !1, dropTarget: !1 }
953
957
  }
954
- ), $s = [
958
+ ), qs = [
955
959
  "ds:inline-flex ds:items-center ds:justify-center ds:shrink-0",
956
960
  "ds:size-6 ds:rounded-[var(--radius-sm)]",
957
961
  "ds:cursor-grab ds:active:cursor-grabbing",
@@ -965,93 +969,93 @@ const Gs = T(
965
969
  "ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
966
970
  "ds:forced-colors:focus-visible:outline-[CanvasText]",
967
971
  "ds:transition-[color,opacity,background-color] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
968
- ].join(" "), qs = g(
972
+ ].join(" "), Zs = g(
969
973
  ({
970
974
  index: e,
971
975
  isActive: a = !1,
972
976
  asChild: r = !1,
973
- reorderLabel: i,
974
- isPinned: n = !1,
975
- onPinChange: t,
976
- pinLabel: l,
977
- "aria-label": o,
978
- className: u,
979
- children: f,
980
- ...p
977
+ reorderLabel: n,
978
+ isPinned: t = !1,
979
+ onPinChange: l,
980
+ pinLabel: o,
981
+ "aria-label": i,
982
+ className: m,
983
+ children: p,
984
+ ...f
981
985
  }, h) => {
982
- const { t: N } = B(), { mode: x } = y(), d = Us(), [w, z] = P(!1), v = !!(d != null && d.onReorder) && x !== "icon", S = i ?? o ?? "", j = is(), k = (m, I) => {
986
+ const { t: w } = D(), { mode: x } = y(), d = $s(), [N, z] = R(!1), c = !!(d != null && d.onReorder) && x !== "icon", S = n ?? i ?? "", j = is(), C = (v, I) => {
983
987
  if (!(d != null && d.onReorder)) return;
984
988
  const V = Math.max(0, Math.min(d.count - 1, I));
985
- V !== m && (d.onReorder(m, V), d.announce(
986
- N(
989
+ V !== v && (d.onReorder(v, V), d.announce(
990
+ w(
987
991
  "navigation.sidebar.reorderAnnounce",
988
992
  "{{label}} moved to position {{to}} of {{total}}",
989
993
  { label: S, to: V + 1, total: d.count }
990
994
  )
991
995
  ));
992
- }, F = (m) => {
993
- v && (m.altKey && m.key === "ArrowUp" ? (m.preventDefault(), k(e, e - 1)) : m.altKey && m.key === "ArrowDown" ? (m.preventDefault(), k(e, e + 1)) : m.key === "Home" && m.altKey ? (m.preventDefault(), k(e, 0)) : m.key === "End" && m.altKey && (m.preventDefault(), k(e, d.count - 1)));
994
- }, D = (m) => {
995
- v && (d == null || d.setDragSource(e), m.dataTransfer && (m.dataTransfer.effectAllowed = "move", m.dataTransfer.setData("ds:text/plain", String(e))));
996
- }, A = () => {
996
+ }, F = (v) => {
997
+ c && (v.altKey && v.key === "ArrowUp" ? (v.preventDefault(), C(e, e - 1)) : v.altKey && v.key === "ArrowDown" ? (v.preventDefault(), C(e, e + 1)) : v.key === "Home" && v.altKey ? (v.preventDefault(), C(e, 0)) : v.key === "End" && v.altKey && (v.preventDefault(), C(e, d.count - 1)));
998
+ }, A = (v) => {
999
+ c && (d == null || d.setDragSource(e), v.dataTransfer && (v.dataTransfer.effectAllowed = "move", v.dataTransfer.setData("ds:text/plain", String(e))));
1000
+ }, _ = () => {
997
1001
  d == null || d.setDragSource(null), z(!1);
998
- }, L = (m) => {
999
- !v || (d == null ? void 0 : d.dragSource) === null || (m.preventDefault(), m.dataTransfer && (m.dataTransfer.dropEffect = "move"), z(!0));
1000
- }, _ = () => z(!1), M = (m) => {
1001
- if (!v) return;
1002
- m.preventDefault();
1002
+ }, M = (v) => {
1003
+ !c || (d == null ? void 0 : d.dragSource) === null || (v.preventDefault(), v.dataTransfer && (v.dataTransfer.dropEffect = "move"), z(!0));
1004
+ }, P = () => z(!1), L = (v) => {
1005
+ if (!c) return;
1006
+ v.preventDefault();
1003
1007
  const I = d == null ? void 0 : d.dragSource;
1004
- z(!1), !(I == null || I === e) && k(I, e);
1005
- }, C = (d == null ? void 0 : d.dragSource) === e;
1006
- return /* @__PURE__ */ c(
1008
+ z(!1), !(I == null || I === e) && C(I, e);
1009
+ }, k = (d == null ? void 0 : d.dragSource) === e;
1010
+ return /* @__PURE__ */ u(
1007
1011
  "div",
1008
1012
  {
1009
1013
  className: Gs({
1010
- dragging: C,
1011
- dropTarget: w && !C
1014
+ dragging: k,
1015
+ dropTarget: N && !k
1012
1016
  }),
1013
- draggable: v || void 0,
1014
- onDragStart: v ? D : void 0,
1015
- onDragEnd: v ? A : void 0,
1016
- onDragOver: L,
1017
- onDragLeave: _,
1018
- onDrop: M,
1017
+ draggable: c || void 0,
1018
+ onDragStart: c ? A : void 0,
1019
+ onDragEnd: c ? _ : void 0,
1020
+ onDragOver: M,
1021
+ onDragLeave: P,
1022
+ onDrop: L,
1019
1023
  children: [
1020
1024
  /* @__PURE__ */ s(
1021
- rs,
1025
+ ds,
1022
1026
  {
1023
1027
  ref: h,
1024
1028
  isActive: a,
1025
1029
  asChild: r,
1026
- "aria-label": o,
1027
- "aria-describedby": v ? j : void 0,
1028
- draggable: v ? !1 : void 0,
1029
- className: [v ? "ds:flex-1 ds:min-w-0" : "", u ?? ""].filter(Boolean).join(" "),
1030
- ...p,
1031
- children: f
1030
+ "aria-label": i,
1031
+ "aria-describedby": c ? j : void 0,
1032
+ draggable: c ? !1 : void 0,
1033
+ className: [c ? "ds:flex-1 ds:min-w-0" : "", m ?? ""].filter(Boolean).join(" "),
1034
+ ...f,
1035
+ children: p
1032
1036
  }
1033
1037
  ),
1034
- v ? /* @__PURE__ */ s(
1038
+ c ? /* @__PURE__ */ s(
1035
1039
  "button",
1036
1040
  {
1037
1041
  type: "button",
1038
1042
  id: j,
1039
- "aria-label": N(
1043
+ "aria-label": w(
1040
1044
  "navigation.sidebar.reorderHandle",
1041
1045
  "Reorder {{label}}. Press Alt + Up or Alt + Down to move.",
1042
1046
  { label: S }
1043
1047
  ),
1044
- className: $s,
1048
+ className: qs,
1045
1049
  onKeyDown: F,
1046
- children: /* @__PURE__ */ s(ms, { "aria-hidden": "true", className: "ds:size-4" })
1050
+ children: /* @__PURE__ */ s(vs, { "aria-hidden": "true", className: "ds:size-4" })
1047
1051
  }
1048
1052
  ) : null,
1049
- t && x !== "icon" ? /* @__PURE__ */ s(
1050
- Z,
1053
+ l && x !== "icon" ? /* @__PURE__ */ s(
1054
+ Y,
1051
1055
  {
1052
- isPinned: n,
1053
- label: l ?? o ?? "",
1054
- onPinChange: t
1056
+ isPinned: t,
1057
+ label: o ?? i ?? "",
1058
+ onPinChange: l
1055
1059
  }
1056
1060
  ) : null
1057
1061
  ]
@@ -1059,8 +1063,8 @@ const Gs = T(
1059
1063
  );
1060
1064
  }
1061
1065
  );
1062
- qs.displayName = "SidebarFavoriteItem";
1063
- const Zs = T(
1066
+ Zs.displayName = "SidebarFavoriteItem";
1067
+ const Ws = T(
1064
1068
  [
1065
1069
  "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
1066
1070
  "ds:min-h-[var(--min-target-size)]",
@@ -1073,16 +1077,16 @@ const Zs = T(
1073
1077
  "ds:forced-colors:focus-visible:outline-[CanvasText]",
1074
1078
  "ds:no-underline"
1075
1079
  ].join(" ")
1076
- ), Ws = g(({ avatar: e, name: a, subtitle: r, subtitleLabel: i, className: n, ...t }, l) => {
1077
- const { mode: o } = y(), u = o !== "icon", f = typeof r == "string" ? r : i;
1078
- return /* @__PURE__ */ c(
1080
+ ), Xs = g(({ avatar: e, name: a, subtitle: r, subtitleLabel: n, className: t, ...l }, o) => {
1081
+ const { mode: i } = y(), m = i !== "icon", p = typeof r == "string" ? r : n;
1082
+ return /* @__PURE__ */ u(
1079
1083
  "button",
1080
1084
  {
1081
- ref: l,
1085
+ ref: o,
1082
1086
  type: "button",
1083
- "aria-label": f ? `${a}, ${f}` : a,
1084
- className: [Zs(), n].filter(Boolean).join(" "),
1085
- ...t,
1087
+ "aria-label": p ? `${a}, ${p}` : a,
1088
+ className: [Ws(), t].filter(Boolean).join(" "),
1089
+ ...l,
1086
1090
  children: [
1087
1091
  /* @__PURE__ */ s(
1088
1092
  "span",
@@ -1092,7 +1096,7 @@ const Zs = T(
1092
1096
  children: e
1093
1097
  }
1094
1098
  ),
1095
- u ? /* @__PURE__ */ c("span", { className: "ds:flex-1 ds:min-w-0 ds:text-start", children: [
1099
+ m ? /* @__PURE__ */ u("span", { className: "ds:flex-1 ds:min-w-0 ds:text-start", children: [
1096
1100
  /* @__PURE__ */ s("span", { className: "ds:block ds:truncate type-label", children: a }),
1097
1101
  r ? typeof r == "string" ? /* @__PURE__ */ s("span", { className: "ds:block ds:truncate type-meta ds:text-[color:var(--muted-foreground)]", children: r }) : /* @__PURE__ */ s("span", { className: "ds:flex ds:items-center ds:gap-[length:var(--spacing-xs)] ds:min-w-0 type-meta ds:text-[color:var(--muted-foreground)]", children: r }) : null
1098
1102
  ] }) : null
@@ -1100,8 +1104,8 @@ const Zs = T(
1100
1104
  }
1101
1105
  );
1102
1106
  });
1103
- Ws.displayName = "SidebarProfilePill";
1104
- const Xs = [
1107
+ Xs.displayName = "SidebarProfilePill";
1108
+ const Ys = [
1105
1109
  "ds:inline-flex ds:items-center ds:justify-center ds:shrink-0",
1106
1110
  "ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)]",
1107
1111
  "ds:rounded-[var(--radius-sm)]",
@@ -1111,29 +1115,29 @@ const Xs = [
1111
1115
  "ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
1112
1116
  "ds:forced-colors:focus-visible:outline-[CanvasText]",
1113
1117
  "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
1114
- ].join(" "), Ys = g(({ className: e, "aria-label": a, onClick: r, ...i }, n) => {
1115
- const { t } = B(), { mode: l, transitionTo: o } = y();
1116
- if (l === "overlay") return null;
1117
- const u = l === "expanded", f = a ?? (u ? t("navigation.sidebar.collapse", "Collapse sidebar") : t("navigation.sidebar.expand", "Expand sidebar")), p = /* @__PURE__ */ s(
1118
+ ].join(" "), Js = g(({ className: e, "aria-label": a, onClick: r, ...n }, t) => {
1119
+ const { t: l } = D(), { mode: o, transitionTo: i } = y();
1120
+ if (o === "overlay") return null;
1121
+ const m = o === "expanded", p = a ?? (m ? l("navigation.sidebar.collapse", "Collapse sidebar") : l("navigation.sidebar.expand", "Expand sidebar")), f = /* @__PURE__ */ s(
1118
1122
  "button",
1119
1123
  {
1120
- ref: n,
1124
+ ref: t,
1121
1125
  type: "button",
1122
- "aria-label": f,
1123
- "aria-expanded": u,
1126
+ "aria-label": p,
1127
+ "aria-expanded": m,
1124
1128
  onClick: (h) => {
1125
- o == null || o(u ? "icon" : "expanded"), r == null || r(h);
1129
+ i == null || i(m ? "icon" : "expanded"), r == null || r(h);
1126
1130
  },
1127
- className: [Xs, e].filter(Boolean).join(" "),
1128
- ...i,
1129
- children: u ? /* @__PURE__ */ s(
1130
- ps,
1131
+ className: [Ys, e].filter(Boolean).join(" "),
1132
+ ...n,
1133
+ children: m ? /* @__PURE__ */ s(
1134
+ gs,
1131
1135
  {
1132
1136
  "aria-hidden": "true",
1133
1137
  className: "ds:size-4 ds:rtl:-scale-x-100"
1134
1138
  }
1135
1139
  ) : /* @__PURE__ */ s(
1136
- bs,
1140
+ hs,
1137
1141
  {
1138
1142
  "aria-hidden": "true",
1139
1143
  className: "ds:size-4 ds:rtl:-scale-x-100"
@@ -1141,12 +1145,12 @@ const Xs = [
1141
1145
  )
1142
1146
  }
1143
1147
  );
1144
- return /* @__PURE__ */ c(b.Root, { children: [
1145
- /* @__PURE__ */ s(b.Trigger, { asChild: !0, children: p }),
1146
- /* @__PURE__ */ s(b.Portal, { children: /* @__PURE__ */ c(
1148
+ return /* @__PURE__ */ u(b.Root, { children: [
1149
+ /* @__PURE__ */ s(b.Trigger, { asChild: !0, children: f }),
1150
+ /* @__PURE__ */ s(b.Portal, { children: /* @__PURE__ */ u(
1147
1151
  b.Content,
1148
1152
  {
1149
- side: l === "icon" ? "right" : "top",
1153
+ side: o === "icon" ? "right" : "top",
1150
1154
  sideOffset: 6,
1151
1155
  className: [
1152
1156
  "ds:z-[var(--z-tooltip)] ds:max-w-[16rem]",
@@ -1156,15 +1160,15 @@ const Xs = [
1156
1160
  "ds:animate-in ds:fade-in ds:zoom-in-95 ds:motion-reduce:animate-none"
1157
1161
  ].join(" "),
1158
1162
  children: [
1159
- f,
1163
+ p,
1160
1164
  /* @__PURE__ */ s(b.Arrow, { className: "ds:fill-[var(--foreground)]" })
1161
1165
  ]
1162
1166
  }
1163
1167
  ) })
1164
1168
  ] });
1165
1169
  });
1166
- Ys.displayName = "SidebarCollapseTrigger";
1167
- const Js = T(
1170
+ Js.displayName = "SidebarCollapseTrigger";
1171
+ const Qs = T(
1168
1172
  [
1169
1173
  "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
1170
1174
  "ds:rounded-[var(--radius-md)]",
@@ -1195,18 +1199,18 @@ const Js = T(
1195
1199
  },
1196
1200
  defaultVariants: { mode: "expanded" }
1197
1201
  }
1198
- ), Qs = g(({ title: e, description: a, icon: r, className: i, ...n }, t) => {
1199
- const { mode: l } = y(), o = l === "icon", u = (
1202
+ ), se = g(({ title: e, description: a, icon: r, className: n, ...t }, l) => {
1203
+ const { mode: o } = y(), i = o === "icon", m = (
1200
1204
  // aria-label only in icon mode (where the copy is hidden) — in
1201
1205
  // expanded mode the accessible name comes from the visible contents
1202
1206
  // so the description isn't excluded from it.
1203
- /* @__PURE__ */ c(
1207
+ /* @__PURE__ */ u(
1204
1208
  "a",
1205
1209
  {
1206
- ref: t,
1207
- "aria-label": o ? e : void 0,
1208
- className: Js({ mode: l, className: i }),
1209
- ...n,
1210
+ ref: l,
1211
+ "aria-label": i ? e : void 0,
1212
+ className: Qs({ mode: o, className: n }),
1213
+ ...t,
1210
1214
  children: [
1211
1215
  /* @__PURE__ */ s(
1212
1216
  "span",
@@ -1217,11 +1221,11 @@ const Js = T(
1217
1221
  "ds:rounded-[var(--radius-sm)]",
1218
1222
  "ds:bg-[var(--accent)] ds:text-[var(--accent-foreground)]"
1219
1223
  ].join(" "),
1220
- children: r ?? /* @__PURE__ */ s(xs, { className: "ds:size-4" })
1224
+ children: r ?? /* @__PURE__ */ s(ys, { className: "ds:size-4" })
1221
1225
  }
1222
1226
  ),
1223
- o ? null : /* @__PURE__ */ c($, { children: [
1224
- /* @__PURE__ */ c("span", { className: "ds:flex-1 ds:min-w-0 ds:text-start", children: [
1227
+ i ? null : /* @__PURE__ */ u(q, { children: [
1228
+ /* @__PURE__ */ u("span", { className: "ds:flex-1 ds:min-w-0 ds:text-start", children: [
1225
1229
  /* @__PURE__ */ s("span", { className: "ds:block ds:line-clamp-2 type-label", children: e }),
1226
1230
  a ? (
1227
1231
  // Foreground (not muted) on the tinted surface — the gradient
@@ -1241,9 +1245,9 @@ const Js = T(
1241
1245
  }
1242
1246
  )
1243
1247
  );
1244
- return o ? /* @__PURE__ */ c(b.Root, { children: [
1245
- /* @__PURE__ */ s(b.Trigger, { asChild: !0, children: u }),
1246
- /* @__PURE__ */ s(b.Portal, { children: /* @__PURE__ */ c(
1248
+ return i ? /* @__PURE__ */ u(b.Root, { children: [
1249
+ /* @__PURE__ */ s(b.Trigger, { asChild: !0, children: m }),
1250
+ /* @__PURE__ */ s(b.Portal, { children: /* @__PURE__ */ u(
1247
1251
  b.Content,
1248
1252
  {
1249
1253
  side: "right",
@@ -1261,29 +1265,29 @@ const Js = T(
1261
1265
  ]
1262
1266
  }
1263
1267
  ) })
1264
- ] }) : u;
1268
+ ] }) : m;
1265
1269
  });
1266
- Qs.displayName = "SidebarUpgradeChip";
1270
+ se.displayName = "SidebarUpgradeChip";
1267
1271
  export {
1268
- Cs as S,
1269
- Is as a,
1270
- Ys as b,
1271
- qs as c,
1272
+ Ts as S,
1273
+ Bs as a,
1274
+ Js as b,
1275
+ Zs as c,
1272
1276
  Os as d,
1273
1277
  Rs as e,
1274
- As as f,
1275
- Ts as g,
1276
- rs as h,
1277
- Hs as i,
1278
+ _s as f,
1279
+ Is as g,
1280
+ ds as h,
1281
+ Fs as i,
1278
1282
  Es as j,
1279
- Ps as k,
1280
- Z as l,
1281
- Vs as m,
1282
- Ws as n,
1283
+ Hs as k,
1284
+ Y as l,
1285
+ Ks as m,
1286
+ Xs as n,
1283
1287
  as as o,
1284
- Qs as p,
1288
+ se as p,
1285
1289
  Ls as q,
1286
- ys as s,
1290
+ ws as s,
1287
1291
  y as u
1288
1292
  };
1289
- //# sourceMappingURL=sidebar-CGjIk_FQ.js.map
1293
+ //# sourceMappingURL=sidebar-DaB4ulxH.js.map