@opencxh/ui-kit 3.178.0 → 3.179.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.
package/dist/index.js CHANGED
@@ -1,21 +1,21 @@
1
- import { jsxs as c, jsx as e, Fragment as $e } from "react/jsx-runtime";
2
- import le, { forwardRef as be, useState as B, useLayoutEffect as yt, useRef as se, useEffect as Z, createContext as tt, useId as Nt, useMemo as ge, useContext as wt, useCallback as de, Component as kt } from "react";
3
- import { clsx as Ct } from "clsx";
4
- import * as St from "lucide-react";
5
- import { X as Se, ChevronDown as Le, ExternalLink as Et, Search as Ie, ChevronRight as Oe, Sparkles as Tt, ArrowUpRight as rt, ImageOff as zt, ChevronLeft as Ee, Pencil as Mt, Calendar as At, Check as Ke, ChevronUp as Dt, Ellipsis as _t, ChevronDownIcon as $t, FileText as je, HardDrive as We, ArrowLeft as Lt, FolderPlus as It, Upload as Ot, Folder as Ge, Trash2 as Pt, Plus as jt, Loader2 as Rt, VideoOff as Ft, User as Bt, MicOff as Ht, Mic as qt } from "lucide-react";
6
- import qe from "dompurify";
7
- import Ut from "react-markdown";
8
- import Vt from "remark-gfm";
1
+ import { jsxs as c, jsx as e, Fragment as Le } from "react/jsx-runtime";
2
+ import le, { forwardRef as be, useState as B, useLayoutEffect as kt, useRef as se, useEffect as Q, createContext as rt, useId as Ct, useMemo as ge, useContext as St, useCallback as de, Component as Et } from "react";
3
+ import { clsx as Tt } from "clsx";
4
+ import * as Mt from "lucide-react";
5
+ import { X as Se, ChevronDown as Ie, ExternalLink as zt, Search as Oe, ChevronRight as Pe, Sparkles as At, ArrowUpRight as nt, ImageOff as Dt, ChevronLeft as Ee, Pencil as _t, Calendar as $t, Check as We, ChevronUp as Lt, Ellipsis as It, ChevronDownIcon as Ot, FileText as Re, HardDrive as Ge, ArrowLeft as Pt, FolderPlus as jt, Upload as Rt, Folder as Je, Trash2 as Ft, Plus as Bt, Loader2 as Ht, VideoOff as qt, User as Ut, MicOff as Vt, Mic as Kt } from "lucide-react";
6
+ import Ue from "dompurify";
7
+ import Wt from "react-markdown";
8
+ import Gt from "remark-gfm";
9
9
  function d(...t) {
10
- return Ct(t);
10
+ return Tt(t);
11
11
  }
12
- function os(t) {
12
+ function is(t) {
13
13
  return (r, n) => t[r]?.[n] || "";
14
14
  }
15
- function cs(t) {
15
+ function ds(t) {
16
16
  return (r) => t[r] || "";
17
17
  }
18
- const Kt = {
18
+ const Jt = {
19
19
  primary: "bg-accent text-accent-fg hover:bg-accent-hover disabled:bg-surface-hover",
20
20
  secondary: "bg-surface-sunk text-text-strong hover:bg-surface-hover disabled:bg-surface-hover",
21
21
  // No resting fill, so no disabled fill either — a greyed-out plate where
@@ -28,7 +28,7 @@ const Kt = {
28
28
  success: "bg-success text-text-inverse hover:opacity-90 disabled:bg-surface-hover",
29
29
  warning: "bg-warning text-text-inverse hover:opacity-90 disabled:bg-surface-hover",
30
30
  "danger-solid": "bg-danger text-text-inverse hover:opacity-90 disabled:bg-surface-hover"
31
- }, Wt = {
31
+ }, Yt = {
32
32
  xs: "h-control-xs px-2 text-xs",
33
33
  sm: "h-control-sm px-3 text-sm",
34
34
  md: "h-control-md px-4 text-sm",
@@ -36,7 +36,7 @@ const Kt = {
36
36
  xl: "h-control-xl px-6 text-base",
37
37
  "2xl": "h-control-2xl px-6 text-base",
38
38
  full: "h-control-md px-4 text-sm"
39
- }, Gt = {
39
+ }, Xt = {
40
40
  xs: "h-control-xs w-6",
41
41
  sm: "h-control-sm w-7",
42
42
  md: "h-control-md w-8",
@@ -75,8 +75,8 @@ const Kt = {
75
75
  "focus-visible:outline-none focus-visible:focus-ring",
76
76
  "disabled:cursor-not-allowed disabled:border-border-subtle",
77
77
  "disabled:text-text-disabled",
78
- Kt[t],
79
- o ? Gt[r] : Wt[r],
78
+ Jt[t],
79
+ o ? Xt[r] : Yt[r],
80
80
  (n || r === "full") && "w-full",
81
81
  s && "cursor-wait",
82
82
  i
@@ -102,7 +102,7 @@ const Kt = {
102
102
  }
103
103
  );
104
104
  ae.displayName = "Button";
105
- const is = ({
105
+ const us = ({
106
106
  children: t,
107
107
  size: r = "md",
108
108
  orientation: n = "horizontal",
@@ -133,12 +133,12 @@ const is = ({
133
133
  );
134
134
  return /* @__PURE__ */ e("div", { className: l, role: "group", children: t });
135
135
  };
136
- function Jt(t) {
136
+ function Zt(t) {
137
137
  if (!t) return;
138
- const r = t.split(/[-_ ]/).filter(Boolean).map((s) => s.charAt(0).toUpperCase() + s.slice(1)).join(""), n = St[r];
138
+ const r = t.split(/[-_ ]/).filter(Boolean).map((s) => s.charAt(0).toUpperCase() + s.slice(1)).join(""), n = Mt[r];
139
139
  return typeof n == "function" || typeof n == "object" && n !== null ? n : void 0;
140
140
  }
141
- const Yt = {
141
+ const Qt = {
142
142
  primary: "text-text",
143
143
  secondary: "text-text-muted",
144
144
  accent: "text-accent",
@@ -148,7 +148,7 @@ const Yt = {
148
148
  info: "text-info-fg",
149
149
  neutral: "text-text-subtle",
150
150
  current: "text-current"
151
- }, Q = ({
151
+ }, Z = ({
152
152
  icon: t,
153
153
  size: r = "md",
154
154
  color: n = "current",
@@ -158,9 +158,9 @@ const Yt = {
158
158
  "aria-label": o,
159
159
  ...u
160
160
  }) => {
161
- const i = typeof r == "number" ? r : Xt(r), p = d(
161
+ const i = typeof r == "number" ? r : er(r), p = d(
162
162
  "inline-block shrink-0",
163
- Yt[n],
163
+ Qt[n],
164
164
  s && [
165
165
  "cursor-pointer rounded-sm transition-opacity duration-fast ease-out hover:opacity-80",
166
166
  "focus-visible:outline-none focus-visible:focus-ring"
@@ -182,7 +182,7 @@ const Yt = {
182
182
  };
183
183
  return /* @__PURE__ */ e(t, { ...m });
184
184
  };
185
- function Xt(t) {
185
+ function er(t) {
186
186
  return {
187
187
  xs: 12,
188
188
  sm: 14,
@@ -193,7 +193,7 @@ function Xt(t) {
193
193
  }
194
194
  function Te(t, r, { gap: n = 6, matchWidth: s = !1, placement: a = "bottom-start" } = {}) {
195
195
  const [l, o] = B({});
196
- return yt(() => {
196
+ return kt(() => {
197
197
  if (!t) return;
198
198
  const u = () => {
199
199
  const i = r.current;
@@ -206,7 +206,7 @@ function Te(t, r, { gap: n = 6, matchWidth: s = !1, placement: a = "bottom-start
206
206
  };
207
207
  }, [t, r, n, s, a]), l;
208
208
  }
209
- const nt = ({
209
+ const st = ({
210
210
  trigger: t,
211
211
  children: r,
212
212
  placement: n = "bottom-start",
@@ -217,7 +217,7 @@ const nt = ({
217
217
  triggerLabel: u
218
218
  }) => {
219
219
  const [i, p] = B(!1), m = se(null), f = se(null), g = Te(i, f, { placement: n });
220
- Z(() => {
220
+ Q(() => {
221
221
  if (!i) return;
222
222
  const v = (C) => {
223
223
  m.current && !m.current.contains(C.target) && p(!1);
@@ -263,29 +263,29 @@ const nt = ({
263
263
  }
264
264
  )
265
265
  ] });
266
- }, Qt = {
266
+ }, tr = {
267
267
  none: "hover:bg-surface-sunk hover:text-text",
268
268
  default: "bg-surface-sunk text-text-muted hover:text-text",
269
269
  muted: "bg-surface-sunk text-text-subtle hover:text-text",
270
270
  outline: "text-text-muted ring-1 ring-inset ring-border-strong hover:bg-surface-hover hover:text-text",
271
271
  warning: "bg-warning-soft text-warning-fg",
272
272
  danger: "bg-danger-soft text-danger-fg"
273
- }, Zt = (t) => d(
273
+ }, rr = (t) => d(
274
274
  // A button's default cursor is an arrow, so it has to be asked for.
275
275
  "inline-flex cursor-pointer select-none items-center text-sm font-medium",
276
276
  t.size === "sm" ? "h-control-sm" : "h-control-md",
277
277
  "transition-colors duration-fast ease-out",
278
278
  t.shape === "pill" ? "rounded-full" : "rounded-md",
279
279
  // Picking a value outranks whatever the value happens to mean.
280
- t.active ? "bg-info-soft text-info-fg" : Qt[t.tone ?? "default"],
280
+ t.active ? "bg-info-soft text-info-fg" : tr[t.tone ?? "default"],
281
281
  t.className
282
- ), er = (t) => d(
282
+ ), nr = (t) => d(
283
283
  "inline-flex items-center gap-1.5 pl-3",
284
284
  t.shape === "pill" ? "rounded-full" : "rounded-md",
285
285
  t.withClear ? "pr-1.5" : "pr-3",
286
286
  "focus-visible:outline-none focus-visible:focus-ring"
287
287
  );
288
- function tr({
288
+ function sr({
289
289
  label: t,
290
290
  icon: r,
291
291
  tone: n = "default",
@@ -301,11 +301,11 @@ function tr({
301
301
  title: g,
302
302
  className: b
303
303
  }) {
304
- const w = l && !!p, v = s === "pill" ? "rounded-full" : "rounded-md", h = Zt({ active: l, tone: n, shape: s, size: a, className: b }), C = /* @__PURE__ */ c($e, { children: [
304
+ const w = l && !!p, v = s === "pill" ? "rounded-full" : "rounded-md", h = rr({ active: l, tone: n, shape: s, size: a, className: b }), C = /* @__PURE__ */ c(Le, { children: [
305
305
  r,
306
306
  t,
307
- o && /* @__PURE__ */ e(Q, { icon: Le, size: "xs" })
308
- ] }), k = er({ shape: s, withClear: w }), P = w && /* @__PURE__ */ e(
307
+ o && /* @__PURE__ */ e(Z, { icon: Ie, size: "xs" })
308
+ ] }), k = nr({ shape: s, withClear: w }), P = w && /* @__PURE__ */ e(
309
309
  "button",
310
310
  {
311
311
  type: "button",
@@ -315,12 +315,12 @@ function tr({
315
315
  "inline-flex h-full items-center pr-3 focus-visible:outline-none focus-visible:focus-ring",
316
316
  v
317
317
  ),
318
- children: /* @__PURE__ */ e(Q, { icon: Se, size: "xs" })
318
+ children: /* @__PURE__ */ e(Z, { icon: Se, size: "xs" })
319
319
  }
320
320
  );
321
321
  return u ? /* @__PURE__ */ c("span", { className: h, title: g, children: [
322
322
  /* @__PURE__ */ e(
323
- nt,
323
+ st,
324
324
  {
325
325
  trigger: C,
326
326
  rootClassName: "h-full",
@@ -335,13 +335,13 @@ function tr({
335
335
  P
336
336
  ] }) : /* @__PURE__ */ e("button", { type: "button", title: g, onClick: f, className: d(h, k), children: C });
337
337
  }
338
- const rr = {
338
+ const ar = {
339
339
  xs: "text-xs",
340
340
  sm: "text-sm",
341
341
  md: "text-base",
342
342
  lg: "text-md",
343
343
  xl: "text-lg"
344
- }, nr = {
344
+ }, lr = {
345
345
  primary: "text-text hover:text-info-fg hover:underline",
346
346
  info: "text-info-fg hover:underline",
347
347
  secondary: "text-text-muted hover:text-text",
@@ -350,7 +350,7 @@ const rr = {
350
350
  success: "text-success-fg hover:underline",
351
351
  warning: "text-warning-fg hover:underline",
352
352
  error: "text-danger-fg hover:underline"
353
- }, sr = {
353
+ }, or = {
354
354
  primary: "bg-accent-soft",
355
355
  accent: "bg-accent-soft",
356
356
  secondary: "bg-surface-hover",
@@ -359,7 +359,7 @@ const rr = {
359
359
  warning: "bg-warning-soft",
360
360
  error: "bg-danger-soft",
361
361
  info: "bg-info-soft"
362
- }, ds = ({
362
+ }, ms = ({
363
363
  variant: t = "default",
364
364
  size: r = "md",
365
365
  color: n = "primary",
@@ -376,13 +376,13 @@ const rr = {
376
376
  "inline-flex items-center gap-1 underline-offset-2",
377
377
  "transition-colors duration-fast ease-out",
378
378
  "focus-visible:outline-none focus-visible:focus-ring",
379
- rr[r],
380
- !s && nr[n],
379
+ ar[r],
380
+ !s && lr[n],
381
381
  t === "subtle" && "no-underline opacity-70 hover:opacity-100",
382
382
  t === "underline" && "underline decoration-1 hover:decoration-2",
383
383
  t === "button" && [
384
384
  "h-control-md rounded-md px-3 font-semibold no-underline hover:no-underline",
385
- sr[n]
385
+ or[n]
386
386
  ],
387
387
  s && "pointer-events-none cursor-not-allowed text-text-disabled opacity-50",
388
388
  l
@@ -395,13 +395,13 @@ const rr = {
395
395
  };
396
396
  return /* @__PURE__ */ c("a", { className: g, ...b, children: [
397
397
  o,
398
- f && /* @__PURE__ */ e(Et, { className: "size-icon-sm shrink-0", "aria-hidden": !0 })
398
+ f && /* @__PURE__ */ e(zt, { className: "size-icon-sm shrink-0", "aria-hidden": !0 })
399
399
  ] });
400
- }, ar = {
400
+ }, cr = {
401
401
  sm: "h-control-sm px-3 text-sm",
402
402
  md: "h-control-md px-3 text-sm"
403
403
  };
404
- function lr({
404
+ function ir({
405
405
  options: t,
406
406
  value: r,
407
407
  onChange: n,
@@ -438,7 +438,7 @@ function lr({
438
438
  "transition-colors duration-fast ease-out",
439
439
  "focus-visible:outline-none focus-visible:focus-ring",
440
440
  l && "min-w-0 flex-1",
441
- ar[s],
441
+ cr[s],
442
442
  p ? "bg-surface text-text font-medium shadow-sm" : "text-text-muted hover:text-text"
443
443
  ),
444
444
  children: i.label
@@ -449,15 +449,15 @@ function lr({
449
449
  }
450
450
  );
451
451
  }
452
- const or = {
452
+ const dr = {
453
453
  primary: "bg-accent text-accent-fg hover:bg-accent-hover",
454
454
  secondary: "border border-border bg-surface text-text hover:bg-surface-hover",
455
455
  outline: "border border-accent-border text-accent hover:bg-accent-soft"
456
- }, cr = {
456
+ }, ur = {
457
457
  sm: "h-control-sm w-7",
458
458
  md: "h-control-md w-8"
459
459
  };
460
- function st({
460
+ function at({
461
461
  label: t,
462
462
  onClick: r,
463
463
  variant: n = "primary",
@@ -489,7 +489,7 @@ function st({
489
489
  }
490
490
  ),
491
491
  f && /* @__PURE__ */ e(
492
- nt,
492
+ st,
493
493
  {
494
494
  placement: i,
495
495
  disabled: m,
@@ -502,14 +502,14 @@ function st({
502
502
  className: d(
503
503
  "inline-flex items-center justify-center rounded-md rounded-l-none",
504
504
  "transition-colors duration-fast ease-out",
505
- or[n],
506
- cr[s],
505
+ dr[n],
506
+ ur[s],
507
507
  m && "cursor-not-allowed opacity-50"
508
508
  ),
509
- children: /* @__PURE__ */ e(Le, { className: "size-icon-md" })
509
+ children: /* @__PURE__ */ e(Ie, { className: "size-icon-md" })
510
510
  }
511
511
  ),
512
- children: (g) => /* @__PURE__ */ e($e, { children: l.map((b) => /* @__PURE__ */ c(
512
+ children: (g) => /* @__PURE__ */ e(Le, { children: l.map((b) => /* @__PURE__ */ c(
513
513
  "button",
514
514
  {
515
515
  type: "button",
@@ -534,7 +534,7 @@ function st({
534
534
  ] })
535
535
  );
536
536
  }
537
- const us = ({
537
+ const fs = ({
538
538
  commands: t,
539
539
  isOpen: r,
540
540
  onClose: n,
@@ -545,9 +545,9 @@ const us = ({
545
545
  const [o, u] = B(""), [i, p] = B(a || []), [m, f] = B(l || 0), g = se(null), b = se(null), v = (i.length ? t.find((h) => h.id === i[0])?.subCommands || [] : t).filter(
546
546
  (h) => h.label.toLowerCase().includes(o.toLowerCase())
547
547
  );
548
- return Z(() => {
548
+ return Q(() => {
549
549
  r || (u(""), p(a || []), f(l || 0));
550
- }, [r, a, l]), Z(() => {
550
+ }, [r, a, l]), Q(() => {
551
551
  const h = (C) => {
552
552
  if (r) {
553
553
  if (C.key === "Escape")
@@ -567,12 +567,12 @@ const us = ({
567
567
  }
568
568
  };
569
569
  return document.addEventListener("keydown", h), () => document.removeEventListener("keydown", h);
570
- }, [r, n, v, m, i]), Z(() => {
570
+ }, [r, n, v, m, i]), Q(() => {
571
571
  const h = (C) => {
572
572
  g.current && !g.current.contains(C.target) && n();
573
573
  };
574
574
  return r && document.addEventListener("mousedown", h), () => document.removeEventListener("mousedown", h);
575
- }, [r, n]), Z(() => {
575
+ }, [r, n]), Q(() => {
576
576
  if (!r) return;
577
577
  b.current?.querySelector(`[data-index="${m}"]`)?.scrollIntoView({ block: "nearest" });
578
578
  }, [m, r]), r ? /* @__PURE__ */ e("div", { className: "fixed inset-0 z-modal flex items-center justify-center bg-scrim", children: /* @__PURE__ */ c(
@@ -582,7 +582,7 @@ const us = ({
582
582
  ref: g,
583
583
  children: [
584
584
  /* @__PURE__ */ c("div", { className: "flex items-center gap-2 px-3 flex-shrink-0", children: [
585
- /* @__PURE__ */ e(Ie, { className: "w-4 h-4 text-text-muted shrink-0" }),
585
+ /* @__PURE__ */ e(Oe, { className: "w-4 h-4 text-text-muted shrink-0" }),
586
586
  /* @__PURE__ */ e(
587
587
  "input",
588
588
  {
@@ -613,7 +613,7 @@ const us = ({
613
613
  children: [
614
614
  h.icon && /* @__PURE__ */ e("span", { className: "mr-3", children: h.icon }),
615
615
  /* @__PURE__ */ e("span", { className: "flex-grow", children: h.label }),
616
- h.subCommands && /* @__PURE__ */ e("span", { className: "text-text-muted", children: /* @__PURE__ */ e(Oe, { className: "w-4 h-4" }) })
616
+ h.subCommands && /* @__PURE__ */ e("span", { className: "text-text-muted", children: /* @__PURE__ */ e(Pe, { className: "w-4 h-4" }) })
617
617
  ]
618
618
  },
619
619
  h.id
@@ -638,7 +638,13 @@ const us = ({
638
638
  ]
639
639
  }
640
640
  ) }) : null;
641
- }, ir = /<[a-z][\s\S]*>/i, dr = [
641
+ }, lt = [
642
+ "[&_[data-mention-id]]:bg-info-soft",
643
+ "[&_[data-mention-id]]:text-info-fg",
644
+ "[&_[data-mention-id]]:font-semibold",
645
+ "[&_[data-mention-id]]:px-1",
646
+ "[&_[data-mention-id]]:rounded-md"
647
+ ].join(" "), _e = "data-mention-id", mr = /<[a-z][\s\S]*>/i, fr = [
642
648
  "[&_p]:my-1.5 [&_p:first-child]:mt-0 [&_p:last-child]:mb-0 [&_p]:leading-relaxed",
643
649
  "[&_a]:text-accent [&_a]:underline [&_a]:underline-offset-2",
644
650
  "[&_strong]:font-semibold [&_em]:italic",
@@ -652,8 +658,10 @@ const us = ({
652
658
  "[&_pre_code]:bg-transparent [&_pre_code]:p-0",
653
659
  "[&_table]:my-1.5 [&_table]:w-full [&_table]:border-collapse [&_table]:text-xs",
654
660
  "[&_th]:border [&_th]:border-border [&_th]:px-2 [&_th]:py-1 [&_th]:text-left [&_th]:font-semibold",
655
- "[&_td]:border [&_td]:border-border [&_td]:px-2 [&_td]:py-1"
656
- ].join(" "), ur = {
661
+ "[&_td]:border [&_td]:border-border [&_td]:px-2 [&_td]:py-1",
662
+ // A mention chip is stored as a bare `data-mention-id` span, so its look lives here.
663
+ lt
664
+ ].join(" "), hr = {
657
665
  p: (t) => /* @__PURE__ */ e("p", { className: "my-1.5 leading-relaxed first:mt-0 last:mb-0", ...t }),
658
666
  a: (t) => /* @__PURE__ */ e(
659
667
  "a",
@@ -684,42 +692,42 @@ const us = ({
684
692
  th: (t) => /* @__PURE__ */ e("th", { className: "border border-border px-2 py-1 text-left font-semibold", ...t }),
685
693
  td: (t) => /* @__PURE__ */ e("td", { className: "border border-border px-2 py-1", ...t })
686
694
  };
687
- function ze({ text: t, className: r, as: n }) {
695
+ function Me({ text: t, className: r, as: n }) {
688
696
  const s = t ?? "";
689
- return (n ? n === "html" : ir.test(s)) ? /* @__PURE__ */ e(
697
+ return (n ? n === "html" : mr.test(s)) ? /* @__PURE__ */ e(
690
698
  "div",
691
699
  {
692
- className: d("break-words", dr, r),
700
+ className: d("break-words", fr, r),
693
701
  dangerouslySetInnerHTML: {
694
- __html: qe.sanitize(s, { ADD_ATTR: ["target", "rel"] })
702
+ __html: Ue.sanitize(s, { ADD_ATTR: ["target", "rel", _e] })
695
703
  }
696
704
  }
697
- ) : /* @__PURE__ */ e("div", { className: d("break-words", r), children: /* @__PURE__ */ e(Ut, { remarkPlugins: [Vt], components: ur, children: s }) });
705
+ ) : /* @__PURE__ */ e("div", { className: d("break-words", r), children: /* @__PURE__ */ e(Wt, { remarkPlugins: [Gt], components: hr, children: s }) });
698
706
  }
699
- const mr = {
707
+ const xr = {
700
708
  info: "text-info-fg",
701
709
  success: "text-success-fg",
702
710
  warning: "text-warning-fg",
703
711
  destructive: "text-danger-fg"
704
- }, fr = {
712
+ }, gr = {
705
713
  info: "bg-info-soft border-info-border",
706
714
  success: "bg-success-soft border-success-border",
707
715
  warning: "bg-warning-soft border-warning-border",
708
716
  destructive: "bg-danger-soft border-danger-border"
709
- }, hr = {
717
+ }, br = {
710
718
  1: "grid-cols-1",
711
719
  2: "grid-cols-2",
712
720
  3: "grid-cols-3",
713
721
  4: "grid-cols-4"
714
722
  };
715
- function xr({ block: t }) {
723
+ function pr({ block: t }) {
716
724
  switch (t.type) {
717
725
  case "heading":
718
726
  return t.level === 1 ? /* @__PURE__ */ e("h1", { className: "text-2xl font-semibold tracking-tight text-text", children: t.text }) : t.level === 2 ? /* @__PURE__ */ e("h2", { className: "pt-2 text-base font-semibold tracking-tight text-text", children: t.text }) : /* @__PURE__ */ e("h3", { className: "pt-1 text-sm font-semibold text-text", children: t.text });
719
727
  case "paragraph":
720
- return /* @__PURE__ */ e(ze, { as: "markdown", text: t.text, className: "text-sm text-text" });
728
+ return /* @__PURE__ */ e(Me, { as: "markdown", text: t.text, className: "text-sm text-text" });
721
729
  case "quote":
722
- return /* @__PURE__ */ e("blockquote", { className: "border-l-2 border-border pl-3.5", children: /* @__PURE__ */ e(ze, { as: "markdown", text: t.text, className: "text-sm text-text-muted" }) });
730
+ return /* @__PURE__ */ e("blockquote", { className: "border-l-2 border-border pl-3.5", children: /* @__PURE__ */ e(Me, { as: "markdown", text: t.text, className: "text-sm text-text-muted" }) });
723
731
  case "code":
724
732
  return /* @__PURE__ */ e("pre", { className: "overflow-x-auto rounded-lg bg-surface-sunk p-3 text-xs", children: /* @__PURE__ */ e("code", { className: "font-mono", children: t.text }) });
725
733
  case "divider":
@@ -738,7 +746,7 @@ function xr({ block: t }) {
738
746
  n.lead,
739
747
  " "
740
748
  ] }),
741
- /* @__PURE__ */ e(ze, { as: "markdown", text: n.text, className: "inline" })
749
+ /* @__PURE__ */ e(Me, { as: "markdown", text: n.text, className: "inline" })
742
750
  ] }, s))
743
751
  }
744
752
  );
@@ -772,13 +780,13 @@ function xr({ block: t }) {
772
780
  t.caption && /* @__PURE__ */ e("figcaption", { className: "pt-2 text-xs italic text-text-subtle", children: t.caption })
773
781
  ] });
774
782
  case "kpi":
775
- return /* @__PURE__ */ e("div", { className: d("grid gap-3", hr[t.items.length] ?? "grid-cols-4"), children: t.items.map((r, n) => /* @__PURE__ */ c("div", { className: "rounded-lg bg-surface-sunk px-4 py-3.5", children: [
783
+ return /* @__PURE__ */ e("div", { className: d("grid gap-3", br[t.items.length] ?? "grid-cols-4"), children: t.items.map((r, n) => /* @__PURE__ */ c("div", { className: "rounded-lg bg-surface-sunk px-4 py-3.5", children: [
776
784
  /* @__PURE__ */ e(
777
785
  "div",
778
786
  {
779
787
  className: d(
780
788
  "text-2xl font-semibold tracking-tight",
781
- r.tone ? mr[r.tone] : "text-text"
789
+ r.tone ? xr[r.tone] : "text-text"
782
790
  ),
783
791
  children: r.value
784
792
  }
@@ -786,15 +794,15 @@ function xr({ block: t }) {
786
794
  /* @__PURE__ */ e("div", { className: "pt-0.5 text-xs text-text-muted", children: r.label })
787
795
  ] }, n)) });
788
796
  case "callout":
789
- return /* @__PURE__ */ c("div", { className: d("rounded-lg border px-4 py-3", fr[t.tone]), children: [
797
+ return /* @__PURE__ */ c("div", { className: d("rounded-lg border px-4 py-3", gr[t.tone]), children: [
790
798
  t.title && /* @__PURE__ */ e("div", { className: "pb-0.5 text-sm font-semibold text-text", children: t.title }),
791
- /* @__PURE__ */ e(ze, { as: "markdown", text: t.text, className: "text-sm text-text" })
799
+ /* @__PURE__ */ e(Me, { as: "markdown", text: t.text, className: "text-sm text-text" })
792
800
  ] });
793
801
  default:
794
802
  return null;
795
803
  }
796
804
  }
797
- function ms({ blocks: t, runtime: r = "inert", className: n }) {
805
+ function hs({ blocks: t, runtime: r = "inert", className: n }) {
798
806
  return r !== "inert" ? /* @__PURE__ */ c(
799
807
  "div",
800
808
  {
@@ -811,11 +819,11 @@ function ms({ blocks: t, runtime: r = "inert", className: n }) {
811
819
  ] })
812
820
  ]
813
821
  }
814
- ) : /* @__PURE__ */ e("article", { className: d("flex flex-col gap-4", n), children: t.map((s, a) => /* @__PURE__ */ e(xr, { block: s }, s.block_id ?? a)) });
822
+ ) : /* @__PURE__ */ e("article", { className: d("flex flex-col gap-4", n), children: t.map((s, a) => /* @__PURE__ */ e(pr, { block: s }, s.block_id ?? a)) });
815
823
  }
816
- function fs({
824
+ function xs({
817
825
  title: t,
818
- icon: r = /* @__PURE__ */ e(Tt, { className: "size-icon-md", "aria-hidden": !0 }),
826
+ icon: r = /* @__PURE__ */ e(At, { className: "size-icon-md", "aria-hidden": !0 }),
819
827
  action: n,
820
828
  children: s,
821
829
  className: a,
@@ -841,53 +849,53 @@ function fs({
841
849
  }
842
850
  );
843
851
  }
844
- const gr = 5;
845
- function br(t) {
852
+ const vr = 5;
853
+ function yr(t) {
846
854
  let r = 2166136261;
847
855
  for (let n = 0; n < t.length; n++)
848
856
  r ^= t.charCodeAt(n), r = Math.imul(r, 16777619);
849
857
  return r >>> 0;
850
858
  }
851
- function at(t) {
859
+ function ot(t) {
852
860
  const r = (t ?? "").trim().toLowerCase();
853
- return r ? br(r) % gr + 1 : 1;
861
+ return r ? yr(r) % vr + 1 : 1;
854
862
  }
855
- const pr = {
863
+ const Nr = {
856
864
  1: "bg-cat-1-soft text-cat-1-fg",
857
865
  2: "bg-cat-2-soft text-cat-2-fg",
858
866
  3: "bg-cat-3-soft text-cat-3-fg",
859
867
  4: "bg-cat-4-soft text-cat-4-fg",
860
868
  5: "bg-cat-5-soft text-cat-5-fg"
861
- }, vr = {
869
+ }, wr = {
862
870
  1: "bg-cat-1",
863
871
  2: "bg-cat-2",
864
872
  3: "bg-cat-3",
865
873
  4: "bg-cat-4",
866
874
  5: "bg-cat-5"
867
875
  };
868
- function lt(t) {
869
- return pr[at(t)];
876
+ function ct(t) {
877
+ return Nr[ot(t)];
870
878
  }
871
- function hs(t) {
872
- return vr[at(t)];
879
+ function gs(t) {
880
+ return wr[ot(t)];
873
881
  }
874
- const yr = {
882
+ const kr = {
875
883
  default: "bg-avatar text-avatar-fg",
876
884
  in: "bg-avatar-in text-avatar-in-fg",
877
885
  out: "bg-accent text-accent-fg",
878
886
  note: "bg-avatar-note text-avatar-note-fg"
879
- }, Nr = {
887
+ }, Cr = {
880
888
  xs: "w-5 h-5 text-xs",
881
889
  sm: "w-6 h-6 text-xs",
882
890
  md: "w-7 h-7 text-base",
883
891
  lg: "w-9 h-9 text-sm"
884
892
  };
885
- function wr(t) {
893
+ function Sr(t) {
886
894
  if (!t) return "?";
887
895
  const r = t.trim().split(/[^\p{L}\p{N}]+/u).filter(Boolean);
888
896
  return r.length >= 2 ? (r[0][0] + r[1][0]).toUpperCase() : r.length === 1 ? r[0].slice(0, 2).toUpperCase() : "?";
889
897
  }
890
- const ot = ({
898
+ const it = ({
891
899
  name: t,
892
900
  src: r,
893
901
  tone: n = "default",
@@ -902,8 +910,8 @@ const ot = ({
902
910
  "inline-flex items-center justify-center rounded-full overflow-hidden shrink-0 font-semibold select-none",
903
911
  // `identity` is seeded on the name, so the same person keeps their colour
904
912
  // wherever they appear; the fixed tones stay as they were.
905
- n === "identity" ? lt(t) : yr[n],
906
- Nr[s],
913
+ n === "identity" ? ct(t) : kr[n],
914
+ Cr[s],
907
915
  a
908
916
  );
909
917
  return r && !o ? /* @__PURE__ */ e(
@@ -915,8 +923,8 @@ const ot = ({
915
923
  className: d(i, "object-cover"),
916
924
  onError: () => u(!0)
917
925
  }
918
- ) : /* @__PURE__ */ e("span", { className: i, title: l ?? t, "aria-label": t, children: wr(t) });
919
- }, Je = "ring-surface", kr = "ring-surface-accent", xs = ({
926
+ ) : /* @__PURE__ */ e("span", { className: i, title: l ?? t, "aria-label": t, children: Sr(t) });
927
+ }, Ye = "ring-surface", Er = "ring-surface-accent", bs = ({
920
928
  people: t,
921
929
  max: r = 4,
922
930
  size: n = "sm",
@@ -926,7 +934,7 @@ const ot = ({
926
934
  const a = t.slice(0, r), l = t.length - a.length;
927
935
  return /* @__PURE__ */ c("span", { className: d("inline-flex items-center", s), children: [
928
936
  a.map((o, u) => /* @__PURE__ */ e(
929
- ot,
937
+ it,
930
938
  {
931
939
  name: o.name,
932
940
  src: o.src,
@@ -934,7 +942,7 @@ const ot = ({
934
942
  title: o.name ? o.seen === !1 ? `${o.name} — nog niet gelezen` : o.name : void 0,
935
943
  className: d(
936
944
  u > 0 && "-ml-2",
937
- o.owner ? kr : Je,
945
+ o.owner ? Er : Ye,
938
946
  o.seen === !1 && "opacity-40"
939
947
  )
940
948
  },
@@ -948,7 +956,7 @@ const ot = ({
948
956
  // in the row rather than a gap at the end of it.
949
957
  "inline-flex items-center justify-center rounded-full shrink-0 -ml-2 font-semibold bg-avatar text-avatar-fg",
950
958
  n === "xs" ? "w-5 h-5 text-xs" : n === "md" ? "w-7 h-7 text-xs" : n === "lg" ? "w-9 h-9 text-xs" : "w-6 h-6 text-xs",
951
- Je
959
+ Ye
952
960
  ),
953
961
  children: [
954
962
  "+",
@@ -957,18 +965,18 @@ const ot = ({
957
965
  }
958
966
  )
959
967
  ] });
960
- }, Cr = {
968
+ }, Tr = {
961
969
  neutral: "bg-surface-sunk",
962
970
  out: "bg-bubble-out-soft",
963
971
  note: "bg-note-soft",
964
972
  assistant: "bg-assistant-soft"
965
- }, Sr = {
973
+ }, Mr = {
966
974
  neutral: "text-text",
967
975
  out: "text-text",
968
976
  note: "text-note",
969
977
  assistant: "text-text"
970
978
  };
971
- function gs({
979
+ function ps({
972
980
  avatar: t,
973
981
  title: r,
974
982
  context: n,
@@ -985,7 +993,7 @@ function gs({
985
993
  /* @__PURE__ */ c(
986
994
  "div",
987
995
  {
988
- className: d("min-w-0 flex-1 overflow-hidden rounded-lg px-4 py-3.5", Cr[l]),
996
+ className: d("min-w-0 flex-1 overflow-hidden rounded-lg px-4 py-3.5", Tr[l]),
989
997
  children: [
990
998
  /* @__PURE__ */ c("div", { className: "flex items-baseline gap-2", children: [
991
999
  /* @__PURE__ */ e(
@@ -994,7 +1002,7 @@ function gs({
994
1002
  className: d(
995
1003
  "min-w-0 truncate text-md font-semibold",
996
1004
  !n && "flex-1",
997
- Sr[l]
1005
+ Mr[l]
998
1006
  ),
999
1007
  children: r
1000
1008
  }
@@ -1014,15 +1022,15 @@ function gs({
1014
1022
  u
1015
1023
  ] });
1016
1024
  }
1017
- const bs = "hover:bg-surface-track";
1018
- function ps({
1025
+ const vs = "hover:bg-surface-track";
1026
+ function ys({
1019
1027
  name: t,
1020
1028
  src: r,
1021
1029
  tone: n = "in"
1022
1030
  }) {
1023
- return /* @__PURE__ */ e(ot, { name: t, src: r, tone: n, size: "sm" });
1031
+ return /* @__PURE__ */ e(it, { name: t, src: r, tone: n, size: "sm" });
1024
1032
  }
1025
- function vs({
1033
+ function Ns({
1026
1034
  icon: t,
1027
1035
  tone: r = "neutral",
1028
1036
  title: n
@@ -1035,17 +1043,17 @@ function vs({
1035
1043
  "grid size-avatar-md shrink-0 place-items-center rounded-full",
1036
1044
  r === "assistant" ? "bg-assistant-soft text-assistant" : "bg-surface-track text-text-muted"
1037
1045
  ),
1038
- children: /* @__PURE__ */ e(Q, { icon: t, size: "sm", color: "current" })
1046
+ children: /* @__PURE__ */ e(Z, { icon: t, size: "sm", color: "current" })
1039
1047
  }
1040
1048
  );
1041
1049
  }
1042
- function ys({ children: t, className: r }) {
1050
+ function ws({ children: t, className: r }) {
1043
1051
  return /* @__PURE__ */ e("div", { className: d("flex items-center gap-2.5 rounded-md bg-surface px-3 py-2.5", r), children: t });
1044
1052
  }
1045
- function Ns({ icon: t, text: r, time: n, joinUrl: s, joinLabel: a }) {
1046
- const l = Jt(t);
1053
+ function ks({ icon: t, text: r, time: n, joinUrl: s, joinLabel: a }) {
1054
+ const l = Zt(t);
1047
1055
  return /* @__PURE__ */ c("div", { className: "flex items-center gap-2 py-1.5 pl-10.5 text-xs text-text-subtle", children: [
1048
- l && /* @__PURE__ */ e(Q, { icon: l, size: "sm", color: "current" }),
1056
+ l && /* @__PURE__ */ e(Z, { icon: l, size: "sm", color: "current" }),
1049
1057
  /* @__PURE__ */ e("span", { className: "min-w-0 truncate", children: r }),
1050
1058
  /* @__PURE__ */ e("span", { "aria-hidden": !0, className: "shrink-0 text-text-disabled", children: "·" }),
1051
1059
  /* @__PURE__ */ e("span", { className: "shrink-0 tabular-nums", children: n }),
@@ -1059,49 +1067,49 @@ function Ns({ icon: t, text: r, time: n, joinUrl: s, joinLabel: a }) {
1059
1067
  children: [
1060
1068
  a ?? "Join",
1061
1069
  " ",
1062
- /* @__PURE__ */ e(Q, { icon: rt, size: "xs" })
1070
+ /* @__PURE__ */ e(Z, { icon: nt, size: "xs" })
1063
1071
  ]
1064
1072
  }
1065
1073
  )
1066
1074
  ] });
1067
1075
  }
1068
- const Me = {
1076
+ const ze = {
1069
1077
  mail: { fg: "text-channel-mail-fg", bg: "bg-channel-mail-soft" },
1070
1078
  wa: { fg: "text-channel-whatsapp-fg", bg: "bg-channel-whatsapp-soft" },
1071
1079
  chat: { fg: "text-channel-chat-fg", bg: "bg-channel-chat-soft" },
1072
1080
  tel: { fg: "text-channel-phone-fg", bg: "bg-channel-phone-soft" },
1073
1081
  note: { fg: "text-channel-note-fg", bg: "bg-channel-note-soft" }
1074
- }, Er = {
1082
+ }, zr = {
1075
1083
  sm: "size-avatar-xs rounded-sm text-xs",
1076
1084
  md: "size-avatar-sm rounded-md text-xs",
1077
1085
  lg: "size-avatar-lg rounded-md text-base"
1078
1086
  };
1079
- function ws({
1087
+ function Cs({
1080
1088
  channel: t,
1081
1089
  children: r,
1082
1090
  size: n = "md",
1083
1091
  className: s,
1084
1092
  title: a
1085
1093
  }) {
1086
- const l = t in Me ? Me[t] : void 0;
1094
+ const l = t in ze ? ze[t] : void 0;
1087
1095
  return /* @__PURE__ */ e(
1088
1096
  "span",
1089
1097
  {
1090
1098
  title: a,
1091
1099
  className: d(
1092
1100
  "inline-flex shrink-0 items-center justify-center font-bold",
1093
- Er[n],
1101
+ zr[n],
1094
1102
  // An undeclared channel used to collapse onto the neutral "note" tone,
1095
1103
  // which is also what a real internal note looks like. Deriving from the
1096
1104
  // key keeps it distinguishable and keeps `note` meaning `note`.
1097
- l ? d(l.fg, l.bg) : t ? lt(t) : d(Me.note.fg, Me.note.bg),
1105
+ l ? d(l.fg, l.bg) : t ? ct(t) : d(ze.note.fg, ze.note.bg),
1098
1106
  s
1099
1107
  ),
1100
1108
  children: r
1101
1109
  }
1102
1110
  );
1103
1111
  }
1104
- const ks = ({
1112
+ const Ss = ({
1105
1113
  src: t,
1106
1114
  alt: r,
1107
1115
  size: n = "md",
@@ -1160,7 +1168,7 @@ const ks = ({
1160
1168
  "absolute inset-0 flex items-center justify-center",
1161
1169
  "text-text-muted"
1162
1170
  ), O = /* @__PURE__ */ e("div", { className: "animate-pulse", children: /* @__PURE__ */ e("div", { className: "w-6 h-6 bg-surface-hover rounded" }) }), H = /* @__PURE__ */ c("div", { className: "text-center", children: [
1163
- /* @__PURE__ */ e(Q, { icon: zt, size: "lg", className: "mx-auto mb-1" }),
1171
+ /* @__PURE__ */ e(Z, { icon: Dt, size: "lg", className: "mx-auto mb-1" }),
1164
1172
  /* @__PURE__ */ e("span", { className: "text-xs", children: "Failed to load" })
1165
1173
  ] });
1166
1174
  return /* @__PURE__ */ c("div", { className: F, children: [
@@ -1178,28 +1186,28 @@ const ks = ({
1178
1186
  w && l && /* @__PURE__ */ e("div", { className: I, children: i || O }),
1179
1187
  h && o && /* @__PURE__ */ e("div", { className: I, children: p || H })
1180
1188
  ] });
1181
- }, Tr = {
1189
+ }, Ar = {
1182
1190
  default: "text-text",
1183
1191
  urgent: "text-danger-fg",
1184
1192
  success: "text-success-fg"
1185
1193
  };
1186
- function Cs({ value: t, label: r, tone: n = "default", className: s, ...a }) {
1194
+ function Es({ value: t, label: r, tone: n = "default", className: s, ...a }) {
1187
1195
  return /* @__PURE__ */ c("div", { className: d("rounded-xl bg-editor px-4 py-3.5", s), ...a, children: [
1188
- /* @__PURE__ */ e("div", { className: d("text-2xl font-semibold", Tr[n]), children: t }),
1196
+ /* @__PURE__ */ e("div", { className: d("text-2xl font-semibold", Ar[n]), children: t }),
1189
1197
  /* @__PURE__ */ e("div", { className: "pt-0.5 text-xs text-text-muted", children: r })
1190
1198
  ] });
1191
1199
  }
1192
- const zr = {
1200
+ const Dr = {
1193
1201
  sm: "size-checkbox-sm",
1194
1202
  md: "size-checkbox",
1195
1203
  lg: "size-checkbox-lg",
1196
1204
  full: "size-checkbox"
1197
- }, Mr = {
1205
+ }, _r = {
1198
1206
  sm: "min-h-control-sm",
1199
1207
  md: "min-h-control-md",
1200
1208
  lg: "min-h-control-lg",
1201
1209
  full: "min-h-control-md"
1202
- }, Ar = {
1210
+ }, $r = {
1203
1211
  sm: "text-sm",
1204
1212
  md: "text-base",
1205
1213
  lg: "text-md",
@@ -1226,7 +1234,7 @@ const zr = {
1226
1234
  return le.useEffect(() => {
1227
1235
  w.current && (w.current.indeterminate = a);
1228
1236
  }, [a]), /* @__PURE__ */ c("div", { className: d("flex flex-col", l), children: [
1229
- /* @__PURE__ */ c("div", { className: d("flex items-center gap-3", Mr[s]), children: [
1237
+ /* @__PURE__ */ c("div", { className: d("flex items-center gap-3", _r[s]), children: [
1230
1238
  /* @__PURE__ */ e(
1231
1239
  "input",
1232
1240
  {
@@ -1243,7 +1251,7 @@ const zr = {
1243
1251
  "transition-colors duration-fast ease-out",
1244
1252
  "focus-visible:outline-none focus-visible:focus-ring",
1245
1253
  "disabled:cursor-not-allowed disabled:bg-surface-hover",
1246
- zr[s],
1254
+ Dr[s],
1247
1255
  b ? "border-danger-border" : "border-border-strong",
1248
1256
  u
1249
1257
  ),
@@ -1258,7 +1266,7 @@ const zr = {
1258
1266
  className: d(
1259
1267
  "cursor-pointer",
1260
1268
  b ? "text-danger-fg" : "text-text",
1261
- Ar[s],
1269
+ $r[s],
1262
1270
  o
1263
1271
  ),
1264
1272
  children: t
@@ -1272,7 +1280,7 @@ const zr = {
1272
1280
  }
1273
1281
  );
1274
1282
  we.displayName = "Checkbox";
1275
- function Ss({
1283
+ function Ts({
1276
1284
  icon: t,
1277
1285
  onClick: r,
1278
1286
  children: n
@@ -1295,7 +1303,7 @@ function Ss({
1295
1303
  }
1296
1304
  );
1297
1305
  }
1298
- function Es({
1306
+ function Ms({
1299
1307
  items: t,
1300
1308
  getRowKey: r,
1301
1309
  variant: n = "divided",
@@ -1337,9 +1345,9 @@ function Es({
1337
1345
  S.preventDefault();
1338
1346
  const q = X.indexOf(document.activeElement), N = S.key === "Home" ? 0 : S.key === "End" ? X.length - 1 : S.key === "ArrowDown" ? (q + 1) % X.length : (q - 1 + X.length) % X.length;
1339
1347
  X[N]?.focus();
1340
- }, $ = (S, z) => r ? r(S, z) : z, T = (S) => k.includes(S), L = (S, z) => {
1341
- P && P(z ? [...k, S] : k.filter((X) => X !== S));
1342
- }, M = (S) => P?.(S ? [...t] : []), ce = d(
1348
+ }, $ = (S, M) => r ? r(S, M) : M, T = (S) => k.includes(S), L = (S, M) => {
1349
+ P && P(M ? [...k, S] : k.filter((X) => X !== S));
1350
+ }, z = (S) => P?.(S ? [...t] : []), ce = d(
1343
1351
  "flex flex-col",
1344
1352
  // With a selection open the list has a dock at its foot. Sticky can only
1345
1353
  // park at the bottom of its own box, so on a list shorter than the window
@@ -1352,12 +1360,12 @@ function Es({
1352
1360
  U
1353
1361
  );
1354
1362
  if (O)
1355
- return /* @__PURE__ */ e("div", { className: ce, children: Array.from({ length: H }).map((S, z) => /* @__PURE__ */ c(
1363
+ return /* @__PURE__ */ e("div", { className: ce, children: Array.from({ length: H }).map((S, M) => /* @__PURE__ */ c(
1356
1364
  "div",
1357
1365
  {
1358
1366
  className: d(
1359
1367
  "flex animate-pulse items-center gap-3 px-4 py-2",
1360
- n === "divided" && z > 0 && "border-t border-border-subtle"
1368
+ n === "divided" && M > 0 && "border-t border-border-subtle"
1361
1369
  ),
1362
1370
  children: [
1363
1371
  /* @__PURE__ */ e("span", { className: "size-tile-sm shrink-0 rounded-md bg-surface-hover" }),
@@ -1366,12 +1374,12 @@ function Es({
1366
1374
  /* @__PURE__ */ e("span", { className: "h-3 w-8 shrink-0 rounded-sm bg-surface-hover" })
1367
1375
  ]
1368
1376
  },
1369
- `skeleton-${z}`
1377
+ `skeleton-${M}`
1370
1378
  )) });
1371
1379
  if (t.length === 0 && I)
1372
1380
  return /* @__PURE__ */ e("div", { className: ce, children: I });
1373
- const ie = t.length > 0 && k.length === t.length, G = k.length > 0 && !ie, K = (S, z, X) => {
1374
- const q = i?.(S, z) ?? !1, N = p?.(S, z) ?? !1, R = m?.(S, z) ?? !1, re = C && T(S);
1381
+ const ie = t.length > 0 && k.length === t.length, G = k.length > 0 && !ie, K = (S, M, X) => {
1382
+ const q = i?.(S, M) ?? !1, N = p?.(S, M) ?? !1, R = m?.(S, M) ?? !1, re = C && T(S);
1375
1383
  return /* @__PURE__ */ c(
1376
1384
  "li",
1377
1385
  {
@@ -1380,10 +1388,10 @@ function Es({
1380
1388
  tabIndex: 0,
1381
1389
  "data-list-row": "",
1382
1390
  "aria-current": q || void 0,
1383
- onClick: () => o(S, z),
1384
- onFocus: () => u?.(z),
1391
+ onClick: () => o(S, M),
1392
+ onFocus: () => u?.(M),
1385
1393
  onKeyDown: (oe) => {
1386
- oe.key !== "Enter" && oe.key !== " " || (oe.preventDefault(), o(S, z));
1394
+ oe.key !== "Enter" && oe.key !== " " || (oe.preventDefault(), o(S, M));
1387
1395
  }
1388
1396
  } : {},
1389
1397
  className: d(
@@ -1417,12 +1425,12 @@ function Es({
1417
1425
  className: "mt-2 size-1.5 shrink-0 self-start rounded-full bg-border-strong"
1418
1426
  }
1419
1427
  ),
1420
- s && /* @__PURE__ */ e("span", { className: "shrink-0", children: s(S, z) }),
1421
- /* @__PURE__ */ e("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: a ? a(S, z) : String(S) }),
1422
- l && /* @__PURE__ */ e("span", { className: "shrink-0 text-xs text-text-subtle", children: l(S, z) })
1428
+ s && /* @__PURE__ */ e("span", { className: "shrink-0", children: s(S, M) }),
1429
+ /* @__PURE__ */ e("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: a ? a(S, M) : String(S) }),
1430
+ l && /* @__PURE__ */ e("span", { className: "shrink-0 text-xs text-text-subtle", children: l(S, M) })
1423
1431
  ]
1424
1432
  },
1425
- $(S, z)
1433
+ $(S, M)
1426
1434
  );
1427
1435
  }, j = (() => {
1428
1436
  if (!f)
@@ -1432,10 +1440,10 @@ function Es({
1432
1440
  const R = f(q, N);
1433
1441
  S.has(R) || S.set(R, []), S.get(R)?.push({ item: q, index: N });
1434
1442
  });
1435
- const z = g ?? [];
1443
+ const M = g ?? [];
1436
1444
  return [
1437
- ...z.filter((q) => S.has(q.id)),
1438
- ...[...S.keys()].filter((q) => !z.some((N) => N.id === q)).map((q) => ({ id: q }))
1445
+ ...M.filter((q) => S.has(q.id)),
1446
+ ...[...S.keys()].filter((q) => !M.some((N) => N.id === q)).map((q) => ({ id: q }))
1439
1447
  ].flatMap((q, N) => {
1440
1448
  const R = S.get(q.id) ?? [], re = v && W[q.id], oe = q.title ?? q.id, pe = q.count ?? R.length, ye = /* @__PURE__ */ e(
1441
1449
  "li",
@@ -1456,9 +1464,9 @@ function Es({
1456
1464
  children: b ? b(
1457
1465
  q,
1458
1466
  R.map((he) => he.item)
1459
- ) : /* @__PURE__ */ c($e, { children: [
1467
+ ) : /* @__PURE__ */ c(Le, { children: [
1460
1468
  v && /* @__PURE__ */ e(
1461
- Oe,
1469
+ Pe,
1462
1470
  {
1463
1471
  "aria-hidden": !0,
1464
1472
  className: d(
@@ -1484,7 +1492,7 @@ function Es({
1484
1492
  );
1485
1493
  return re ? [ye] : [
1486
1494
  ye,
1487
- ...R.map(({ item: he, index: xe }, Pe) => K(he, xe, Pe === 0))
1495
+ ...R.map(({ item: he, index: xe }, je) => K(he, xe, je === 0))
1488
1496
  ];
1489
1497
  });
1490
1498
  })();
@@ -1505,7 +1513,7 @@ function Es({
1505
1513
  {
1506
1514
  checked: ie,
1507
1515
  indeterminate: G,
1508
- onChange: (S) => M(S.target.checked),
1516
+ onChange: (S) => z(S.target.checked),
1509
1517
  "aria-label": "Alles selecteren"
1510
1518
  }
1511
1519
  ) }),
@@ -1535,7 +1543,7 @@ function Es({
1535
1543
  ] }) })
1536
1544
  ] });
1537
1545
  }
1538
- function Ts({
1546
+ function zs({
1539
1547
  side: t,
1540
1548
  continued: r = !1,
1541
1549
  tone: n = "default",
@@ -1568,7 +1576,7 @@ function Ts({
1568
1576
  }
1569
1577
  );
1570
1578
  }
1571
- function zs({ icon: t, label: r, unset: n, className: s }) {
1579
+ function As({ icon: t, label: r, unset: n, className: s }) {
1572
1580
  return /* @__PURE__ */ c(
1573
1581
  "span",
1574
1582
  {
@@ -1584,11 +1592,11 @@ function zs({ icon: t, label: r, unset: n, className: s }) {
1584
1592
  }
1585
1593
  );
1586
1594
  }
1587
- function Ms() {
1595
+ function Ds() {
1588
1596
  return /* @__PURE__ */ e("span", { "aria-hidden": !0, className: "shrink-0 text-text-disabled", children: "·" });
1589
1597
  }
1590
1598
  const fe = ({ className: t }) => /* @__PURE__ */ e("span", { className: d("block rounded-xs bg-surface-hover", t) });
1591
- function Dr({
1599
+ function Lr({
1592
1600
  shape: t,
1593
1601
  rows: r,
1594
1602
  columns: n
@@ -1655,7 +1663,7 @@ function Dr({
1655
1663
  ] });
1656
1664
  }
1657
1665
  }
1658
- const _r = {
1666
+ const Ir = {
1659
1667
  text: 2,
1660
1668
  table: 8,
1661
1669
  list: 6,
@@ -1663,7 +1671,7 @@ const _r = {
1663
1671
  menu: 4,
1664
1672
  cards: 2
1665
1673
  };
1666
- function Ue({
1674
+ function Ve({
1667
1675
  variant: t = "page",
1668
1676
  shape: r,
1669
1677
  rows: n,
@@ -1674,10 +1682,10 @@ function Ue({
1674
1682
  tableColumns: u,
1675
1683
  tableRows: i
1676
1684
  }) {
1677
- const p = r ?? (o ? "table" : "text"), m = n ?? i ?? _r[p], f = s ?? u ?? (p === "cards" ? 3 : 6), g = /* @__PURE__ */ e("div", { className: d("w-full animate-pulse", l), "aria-hidden": !0, children: a ?? /* @__PURE__ */ e(Dr, { shape: p, rows: m, columns: f }) });
1685
+ const p = r ?? (o ? "table" : "text"), m = n ?? i ?? Ir[p], f = s ?? u ?? (p === "cards" ? 3 : 6), g = /* @__PURE__ */ e("div", { className: d("w-full animate-pulse", l), "aria-hidden": !0, children: a ?? /* @__PURE__ */ e(Lr, { shape: p, rows: m, columns: f }) });
1678
1686
  return t === "inline" ? g : /* @__PURE__ */ e("main", { className: "flex-1 bg-surface p-6", children: g });
1679
1687
  }
1680
- const $r = ({
1688
+ const Or = ({
1681
1689
  surface: t = !1,
1682
1690
  title: r,
1683
1691
  subtitle: n,
@@ -1692,9 +1700,9 @@ const $r = ({
1692
1700
  onTitleChange: f
1693
1701
  }) => {
1694
1702
  const [g, b] = B(!1), [w, v] = B(r), h = se(null);
1695
- Z(() => {
1703
+ Q(() => {
1696
1704
  v(r);
1697
- }, [r]), Z(() => {
1705
+ }, [r]), Q(() => {
1698
1706
  g && h.current && (h.current.focus(), h.current.select());
1699
1707
  }, [g]);
1700
1708
  const C = () => {
@@ -1726,7 +1734,7 @@ const $r = ({
1726
1734
  {
1727
1735
  variant: "ghost",
1728
1736
  onClick: p,
1729
- leftIcon: /* @__PURE__ */ e(Q, { icon: Ee, size: "md" }),
1737
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Ee, size: "md" }),
1730
1738
  iconOnly: !0
1731
1739
  }
1732
1740
  ),
@@ -1757,7 +1765,7 @@ const $r = ({
1757
1765
  ),
1758
1766
  n && /* @__PURE__ */ e("span", { className: "shrink-0 text-base text-text-muted truncate", children: n }),
1759
1767
  m && /* @__PURE__ */ e(
1760
- Mt,
1768
+ _t,
1761
1769
  {
1762
1770
  size: 15,
1763
1771
  onClick: C,
@@ -1783,7 +1791,7 @@ const $r = ({
1783
1791
  ] }) }),
1784
1792
  a.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap sm:flex-nowrap gap-2 sm:gap-3", children: a.map(
1785
1793
  (D) => D.render ? /* @__PURE__ */ e(le.Fragment, { children: D.render() }, D.id) : D.splitOptions && D.splitOptions.length > 0 ? /* @__PURE__ */ e(
1786
- st,
1794
+ at,
1787
1795
  {
1788
1796
  label: D.label,
1789
1797
  onClick: D.onClick,
@@ -1812,11 +1820,11 @@ const $r = ({
1812
1820
  ]
1813
1821
  }
1814
1822
  );
1815
- }, Lr = {
1823
+ }, Pr = {
1816
1824
  none: "",
1817
1825
  sm: "px-3 pb-3 pt-1",
1818
1826
  md: "px-5 pb-5 pt-1.5"
1819
- }, As = ({
1827
+ }, _s = ({
1820
1828
  title: t,
1821
1829
  subtitle: r,
1822
1830
  meta: n,
@@ -1835,7 +1843,7 @@ const $r = ({
1835
1843
  contentClassName: v,
1836
1844
  children: h
1837
1845
  }) => {
1838
- const C = p ? /* @__PURE__ */ e(Ue, { variant: "inline", shape: m }) : f ? /* @__PURE__ */ e("div", { className: "flex flex-col items-center justify-center py-12", children: f }) : h;
1846
+ const C = p ? /* @__PURE__ */ e(Ve, { variant: "inline", shape: m }) : f ? /* @__PURE__ */ e("div", { className: "flex flex-col items-center justify-center py-12", children: f }) : h;
1839
1847
  return /* @__PURE__ */ c(
1840
1848
  "div",
1841
1849
  {
@@ -1849,7 +1857,7 @@ const $r = ({
1849
1857
  ),
1850
1858
  children: [
1851
1859
  /* @__PURE__ */ e(
1852
- $r,
1860
+ Or,
1853
1861
  {
1854
1862
  surface: u,
1855
1863
  title: t,
@@ -1868,7 +1876,7 @@ const $r = ({
1868
1876
  {
1869
1877
  className: d(
1870
1878
  b && "min-h-0 flex-1 overflow-y-auto",
1871
- Lr[g],
1879
+ Pr[g],
1872
1880
  v
1873
1881
  ),
1874
1882
  children: C
@@ -1883,7 +1891,7 @@ const $r = ({
1883
1891
  className: n
1884
1892
  }) => t.length === 0 ? null : /* @__PURE__ */ e("div", { className: d("flex flex-wrap items-center gap-2", n), children: t.map(
1885
1893
  (s) => s.render ? /* @__PURE__ */ e(le.Fragment, { children: s.render() }, s.id) : s.splitOptions && s.splitOptions.length > 0 ? /* @__PURE__ */ e(
1886
- st,
1894
+ at,
1887
1895
  {
1888
1896
  label: s.label,
1889
1897
  onClick: s.onClick,
@@ -1906,32 +1914,32 @@ const $r = ({
1906
1914
  },
1907
1915
  s.id
1908
1916
  )
1909
- ) }), Ir = {
1917
+ ) }), jr = {
1910
1918
  none: "p-0",
1911
1919
  sm: "p-2",
1912
1920
  md: "px-5 py-4",
1913
1921
  lg: "p-6"
1914
- }, Ds = ({
1922
+ }, $s = ({
1915
1923
  actions: t = [],
1916
1924
  onBack: r,
1917
1925
  backLabel: n = "Back",
1918
1926
  className: s,
1919
1927
  padding: a = "md",
1920
1928
  children: l
1921
- }) => /* @__PURE__ */ c("div", { className: d("flex items-center gap-2", Ir[a], s), children: [
1929
+ }) => /* @__PURE__ */ c("div", { className: d("flex items-center gap-2", jr[a], s), children: [
1922
1930
  r && /* @__PURE__ */ e(
1923
1931
  ae,
1924
1932
  {
1925
1933
  variant: "secondary",
1926
1934
  onClick: r,
1927
1935
  "aria-label": n,
1928
- leftIcon: /* @__PURE__ */ e(Q, { icon: Ee, size: "sm" }),
1936
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Ee, size: "sm" }),
1929
1937
  iconOnly: !0
1930
1938
  }
1931
1939
  ),
1932
1940
  l && /* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: l }),
1933
1941
  /* @__PURE__ */ e(ke, { actions: t, className: d(!l && "ml-auto") })
1934
- ] }), _s = ({
1942
+ ] }), Ls = ({
1935
1943
  label: t,
1936
1944
  meta: r,
1937
1945
  action: n,
@@ -1941,7 +1949,7 @@ const $r = ({
1941
1949
  r && /* @__PURE__ */ e("span", { className: "min-w-0 flex-1 truncate text-right text-xs tabular-nums text-text-subtle", children: r }),
1942
1950
  n && /* @__PURE__ */ e("span", { className: "ml-auto shrink-0", children: n })
1943
1951
  ] });
1944
- function $s({
1952
+ function Is({
1945
1953
  label: t,
1946
1954
  trailing: r,
1947
1955
  align: n = "center",
@@ -1955,11 +1963,11 @@ function $s({
1955
1963
  r && /* @__PURE__ */ e("span", { className: "shrink-0", children: r })
1956
1964
  ] });
1957
1965
  }
1958
- const ct = tt(null), Ls = ct.Provider;
1959
- function Or() {
1960
- return wt(ct);
1966
+ const dt = rt(null), Os = dt.Provider;
1967
+ function Rr() {
1968
+ return St(dt);
1961
1969
  }
1962
- function Is() {
1970
+ function Ps() {
1963
1971
  const [t, r] = B(null), n = ge(
1964
1972
  () => ({
1965
1973
  setTrail: (s, a) => r((l) => a ? { ownerId: s, entry: a } : l && l.ownerId !== s ? l : null)
@@ -1968,13 +1976,13 @@ function Is() {
1968
1976
  );
1969
1977
  return { trail: t?.entry ?? null, api: n };
1970
1978
  }
1971
- const Pr = {
1979
+ const Fr = {
1972
1980
  none: "",
1973
1981
  sm: "px-3 py-3",
1974
1982
  // Matches the frame header's own horizontal padding, so content lines up
1975
1983
  // with the title above it.
1976
1984
  md: "px-5 py-4"
1977
- }, Os = ({
1985
+ }, js = ({
1978
1986
  children: t,
1979
1987
  actions: r = [],
1980
1988
  secondaryActions: n = [],
@@ -1988,7 +1996,7 @@ const Pr = {
1988
1996
  className: m,
1989
1997
  contentClassName: f
1990
1998
  }) => {
1991
- const g = Or(), b = Nt(), w = se(a);
1999
+ const g = Rr(), b = Ct(), w = se(a);
1992
2000
  w.current = a;
1993
2001
  const v = !!a, h = se(r);
1994
2002
  h.current = r;
@@ -2011,7 +2019,7 @@ const Pr = {
2011
2019
  secondaryActions: C.current.map(F("secondary"))
2012
2020
  };
2013
2021
  }, [P]);
2014
- Z(() => {
2022
+ Q(() => {
2015
2023
  if (g && !(!v && !o && !D))
2016
2024
  return g.setTrail(b, {
2017
2025
  title: o,
@@ -2036,7 +2044,7 @@ const Pr = {
2036
2044
  variant: "ghost",
2037
2045
  onClick: () => w.current?.(),
2038
2046
  "aria-label": l,
2039
- leftIcon: /* @__PURE__ */ e(Q, { icon: Ee, size: "sm" }),
2047
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Ee, size: "sm" }),
2040
2048
  iconOnly: !0
2041
2049
  }
2042
2050
  ),
@@ -2046,7 +2054,7 @@ const Pr = {
2046
2054
  r.length > 0 && /* @__PURE__ */ e(ke, { actions: r })
2047
2055
  ] })
2048
2056
  ] }),
2049
- /* @__PURE__ */ e("div", { className: d("flex-1", Pr[p], f), children: u ? /* @__PURE__ */ e(Ue, { variant: "inline", shape: i }) : t }),
2057
+ /* @__PURE__ */ e("div", { className: d("flex-1", Fr[p], f), children: u ? /* @__PURE__ */ e(Ve, { variant: "inline", shape: i }) : t }),
2050
2058
  Y && /* @__PURE__ */ c("div", { className: "sticky bottom-0 z-10 flex shrink-0 items-center gap-2 border-t border-border bg-surface px-5 py-3", children: [
2051
2059
  n.length > 0 && /* @__PURE__ */ e(ke, { actions: n, defaultVariant: "ghost" }),
2052
2060
  r.length > 0 && /* @__PURE__ */ e(ke, { actions: r, className: "ml-auto" })
@@ -2054,7 +2062,7 @@ const Pr = {
2054
2062
  ] })
2055
2063
  );
2056
2064
  };
2057
- function Ps({
2065
+ function Rs({
2058
2066
  label: t,
2059
2067
  description: r,
2060
2068
  control: n,
@@ -2081,7 +2089,7 @@ function Ps({
2081
2089
  }
2082
2090
  );
2083
2091
  }
2084
- function js({
2092
+ function Fs({
2085
2093
  icon: t,
2086
2094
  title: r,
2087
2095
  description: n,
@@ -2091,7 +2099,7 @@ function js({
2091
2099
  }) {
2092
2100
  return /* @__PURE__ */ c("section", { className: d("flex flex-col gap-2", l), children: [
2093
2101
  /* @__PURE__ */ c("div", { className: "flex items-start gap-2", children: [
2094
- t && /* @__PURE__ */ e(Q, { icon: t, size: "md", color: "secondary", className: "mt-0.5" }),
2102
+ t && /* @__PURE__ */ e(Z, { icon: t, size: "md", color: "secondary", className: "mt-0.5" }),
2095
2103
  /* @__PURE__ */ c("div", { className: "min-w-0 flex-1", children: [
2096
2104
  /* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-text", children: r }),
2097
2105
  n && /* @__PURE__ */ e("p", { className: "text-xs text-text-muted", children: n })
@@ -2101,7 +2109,7 @@ function js({
2101
2109
  /* @__PURE__ */ e("div", { className: d("flex flex-col", t && "pl-6"), children: a })
2102
2110
  ] });
2103
2111
  }
2104
- function Rs({ label: t, dotColor: r, onClick: n, className: s }) {
2112
+ function Bs({ label: t, dotColor: r, onClick: n, className: s }) {
2105
2113
  return /* @__PURE__ */ c(
2106
2114
  "button",
2107
2115
  {
@@ -2121,12 +2129,12 @@ function Rs({ label: t, dotColor: r, onClick: n, className: s }) {
2121
2129
  }
2122
2130
  ),
2123
2131
  /* @__PURE__ */ e("span", { className: "min-w-0 truncate", children: t }),
2124
- /* @__PURE__ */ e(Q, { icon: rt, size: "xs", className: "opacity-70" })
2132
+ /* @__PURE__ */ e(Z, { icon: nt, size: "xs", className: "opacity-70" })
2125
2133
  ]
2126
2134
  }
2127
2135
  );
2128
2136
  }
2129
- const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }), Rr = () => /* @__PURE__ */ e(Q, { icon: Ee, size: "md", color: "current" }), Fr = () => /* @__PURE__ */ e(Q, { icon: Oe, size: "md", color: "current" }), Be = be(
2137
+ const Br = () => /* @__PURE__ */ e(Z, { icon: $t, size: "md", color: "current" }), Hr = () => /* @__PURE__ */ e(Z, { icon: Ee, size: "md", color: "current" }), qr = () => /* @__PURE__ */ e(Z, { icon: Pe, size: "md", color: "current" }), He = be(
2130
2138
  ({
2131
2139
  value: t,
2132
2140
  onChange: r,
@@ -2141,7 +2149,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2141
2149
  withTime: m = !1
2142
2150
  }, f) => {
2143
2151
  const [g, b] = B(!1), [w, v] = B(() => t || /* @__PURE__ */ new Date()), h = se(null), C = se(null), k = Te(g, C);
2144
- Z(() => {
2152
+ Q(() => {
2145
2153
  const y = (x) => {
2146
2154
  h.current && !h.current.contains(x.target) && b(!1);
2147
2155
  };
@@ -2162,7 +2170,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2162
2170
  const y = w.getFullYear(), x = w.getMonth(), E = new Date(y, x, 1), $ = new Date(E);
2163
2171
  $.setDate($.getDate() - E.getDay());
2164
2172
  const T = [], L = new Date($);
2165
- for (let M = 0; M < 42; M++)
2173
+ for (let z = 0; z < 42; z++)
2166
2174
  T.push(new Date(L)), L.setDate(L.getDate() + 1);
2167
2175
  return T;
2168
2176
  }, _ = (y) => {
@@ -2230,7 +2238,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2230
2238
  onClick: () => !s && b(!g),
2231
2239
  disabled: s,
2232
2240
  className: "absolute inset-y-0 right-0 flex items-center pr-3 text-text-muted hover:text-text-muted",
2233
- children: /* @__PURE__ */ e(jr, {})
2241
+ children: /* @__PURE__ */ e(Br, {})
2234
2242
  }
2235
2243
  )
2236
2244
  ] }),
@@ -2241,13 +2249,13 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2241
2249
  className: "fixed z-overlay overflow-auto rounded-lg border border-border bg-surface p-4 shadow-overlay min-w-panel",
2242
2250
  children: [
2243
2251
  /* @__PURE__ */ c("div", { className: "flex items-center justify-between mb-4", children: [
2244
- /* @__PURE__ */ e("button", { onClick: I, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(Rr, {}) }),
2252
+ /* @__PURE__ */ e("button", { onClick: I, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(Hr, {}) }),
2245
2253
  /* @__PURE__ */ c("h3", { className: "text-sm font-medium text-text", children: [
2246
2254
  W[w.getMonth()],
2247
2255
  " ",
2248
2256
  w.getFullYear()
2249
2257
  ] }),
2250
- /* @__PURE__ */ e("button", { onClick: O, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(Fr, {}) })
2258
+ /* @__PURE__ */ e("button", { onClick: O, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(qr, {}) })
2251
2259
  ] }),
2252
2260
  /* @__PURE__ */ e("div", { className: "grid grid-cols-7 gap-1 mb-2", children: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map((y) => /* @__PURE__ */ e("div", { className: "text-xs font-medium text-text-muted text-center py-1", children: y }, y)) }),
2253
2261
  /* @__PURE__ */ e("div", { className: "grid grid-cols-7 gap-1", children: te.map((y, x) => {
@@ -2297,7 +2305,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2297
2305
  )
2298
2306
  ] });
2299
2307
  }
2300
- ), it = be(
2308
+ ), ut = be(
2301
2309
  ({
2302
2310
  value: t,
2303
2311
  onValueChange: r,
@@ -2322,7 +2330,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2322
2330
  l
2323
2331
  ),
2324
2332
  children: [
2325
- /* @__PURE__ */ e(Q, { icon: Ie, size: "md", color: "current", className: "shrink-0" }),
2333
+ /* @__PURE__ */ e(Z, { icon: Oe, size: "md", color: "current", className: "shrink-0" }),
2326
2334
  /* @__PURE__ */ e(
2327
2335
  "input",
2328
2336
  {
@@ -2354,15 +2362,15 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2354
2362
  "aria-label": a,
2355
2363
  onClick: () => r(""),
2356
2364
  className: "grid size-4 shrink-0 cursor-pointer place-items-center rounded-xs text-text-subtle transition-colors duration-fast ease-out hover:text-text focus-visible:outline-none focus-visible:focus-ring",
2357
- children: /* @__PURE__ */ e(Q, { icon: Se, size: "sm", color: "current" })
2365
+ children: /* @__PURE__ */ e(Z, { icon: Se, size: "sm", color: "current" })
2358
2366
  }
2359
2367
  ) : n && /* @__PURE__ */ e("span", { className: "shrink-0 text-xs text-text-subtle", children: n })
2360
2368
  ]
2361
2369
  }
2362
2370
  )
2363
2371
  );
2364
- it.displayName = "SearchField";
2365
- const Br = ({
2372
+ ut.displayName = "SearchField";
2373
+ const Ur = ({
2366
2374
  trigger: t,
2367
2375
  options: r,
2368
2376
  value: n,
@@ -2378,7 +2386,7 @@ const Br = ({
2378
2386
  "button[data-option-value]:not(:disabled)"
2379
2387
  ) ?? []
2380
2388
  );
2381
- Z(() => {
2389
+ Q(() => {
2382
2390
  p && Y()[0]?.focus();
2383
2391
  }, [p, Y]);
2384
2392
  const F = (y) => {
@@ -2389,21 +2397,21 @@ const Br = ({
2389
2397
  const $ = E.indexOf(document.activeElement), T = y.key === "Home" ? 0 : y.key === "End" ? E.length - 1 : y.key === "ArrowDown" ? ($ + 1) % E.length : ($ - 1 + E.length) % E.length;
2390
2398
  E[T]?.focus();
2391
2399
  };
2392
- Z(() => {
2400
+ Q(() => {
2393
2401
  const y = (x) => {
2394
2402
  v.current && (!v.current.contains(x.target) || C.current && !C.current.contains(x.target)) && (m(!1), g(null), D.current && (clearTimeout(D.current), D.current = null));
2395
2403
  };
2396
2404
  return p && document.addEventListener("mousedown", y), () => {
2397
2405
  document.removeEventListener("mousedown", y);
2398
2406
  };
2399
- }, [p]), Z(() => {
2407
+ }, [p]), Q(() => {
2400
2408
  const y = (x) => {
2401
2409
  x.key === "Escape" && (m(!1), g(null), h.current?.focus(), D.current && (clearTimeout(D.current), D.current = null));
2402
2410
  };
2403
2411
  return p && document.addEventListener("keydown", y), () => {
2404
2412
  document.removeEventListener("keydown", y);
2405
2413
  };
2406
- }, [p]), Z(() => {
2414
+ }, [p]), Q(() => {
2407
2415
  if (f && v.current) {
2408
2416
  const y = v.current.querySelector(
2409
2417
  `[data-option-value="${f}"]`
@@ -2416,7 +2424,7 @@ const Br = ({
2416
2424
  });
2417
2425
  }
2418
2426
  }
2419
- }, [f]), Z(() => () => {
2427
+ }, [f]), Q(() => () => {
2420
2428
  D.current && clearTimeout(D.current);
2421
2429
  }, []);
2422
2430
  const _ = (y) => {
@@ -2501,7 +2509,7 @@ const Br = ({
2501
2509
  ] })
2502
2510
  ] }),
2503
2511
  /* @__PURE__ */ c("div", { className: "flex items-center space-x-2", children: [
2504
- u && n === y.value && /* @__PURE__ */ e(Ke, { className: "size-icon-md shrink-0 text-success-fg", "aria-hidden": !0 }),
2512
+ u && n === y.value && /* @__PURE__ */ e(We, { className: "size-icon-md shrink-0 text-success-fg", "aria-hidden": !0 }),
2505
2513
  E && /* @__PURE__ */ e("span", { className: "text-text-muted text-xs", children: "▶" })
2506
2514
  ] })
2507
2515
  ]
@@ -2533,7 +2541,7 @@ const Br = ({
2533
2541
  },
2534
2542
  `divider-${L}`
2535
2543
  );
2536
- const M = typeof n == "object" && n[y.value] && n[y.value].includes(T.value) || n === T.value;
2544
+ const z = typeof n == "object" && n[y.value] && n[y.value].includes(T.value) || n === T.value;
2537
2545
  return /* @__PURE__ */ c(
2538
2546
  "button",
2539
2547
  {
@@ -2553,8 +2561,8 @@ const Br = ({
2553
2561
  T.description && /* @__PURE__ */ e("span", { className: "text-xs text-text-muted", children: T.description })
2554
2562
  ] })
2555
2563
  ] }),
2556
- u && M && /* @__PURE__ */ e(
2557
- Ke,
2564
+ u && z && /* @__PURE__ */ e(
2565
+ We,
2558
2566
  {
2559
2567
  className: "size-icon-md shrink-0 text-success-fg",
2560
2568
  "aria-hidden": !0
@@ -2586,29 +2594,29 @@ const Br = ({
2586
2594
  ]
2587
2595
  }
2588
2596
  );
2589
- }, Fs = (t) => (r) => t(r instanceof Date ? r : null), Bs = (t) => (r) => t(typeof r == "string" ? r : ""), Hs = (t) => (r) => t(Array.isArray(r) ? r : typeof r == "string" && r ? [r] : []), Hr = {
2597
+ }, Hs = (t) => (r) => t(r instanceof Date ? r : null), qs = (t) => (r) => t(typeof r == "string" ? r : ""), Us = (t) => (r) => t(Array.isArray(r) ? r : typeof r == "string" && r ? [r] : []), Vr = {
2590
2598
  none: "px-0",
2591
2599
  sm: "px-2",
2592
2600
  md: "px-3.5",
2593
2601
  lg: "px-5"
2594
- }, qr = {
2602
+ }, Kr = {
2595
2603
  sm: "h-row-lg",
2596
2604
  md: "h-row-xl",
2597
2605
  lg: "h-14"
2598
- }, Ur = 8, Ye = ["62%", "44%", "74%", "52%", "68%", "48%", "80%", "56%"];
2599
- function Vr(t, r) {
2606
+ }, Wr = 8, Xe = ["62%", "44%", "74%", "52%", "68%", "48%", "80%", "56%"];
2607
+ function Gr(t, r) {
2600
2608
  if (r <= 7) return Array.from({ length: r }, (l, o) => o);
2601
2609
  const s = [.../* @__PURE__ */ new Set([0, r - 1, t - 1, t, t + 1])].filter((l) => l >= 0 && l < r).sort((l, o) => l - o), a = [];
2602
2610
  return s.forEach((l, o) => {
2603
2611
  o > 0 && l - s[o - 1] > 1 && a.push("gap"), a.push(l);
2604
2612
  }), a;
2605
2613
  }
2606
- const Kr = (t) => {
2614
+ const Jr = (t) => {
2607
2615
  const r = Array.isArray(t.value) ? t.value : t.value != null && t.value !== "" && t.value !== "all" ? [t.value] : [];
2608
2616
  if (t.type === "date") {
2609
2617
  const o = t.value instanceof Date;
2610
2618
  return /* @__PURE__ */ e(
2611
- Be,
2619
+ He,
2612
2620
  {
2613
2621
  value: t.value,
2614
2622
  onChange: (u) => t.onChange(u),
@@ -2625,7 +2633,7 @@ const Kr = (t) => {
2625
2633
  );
2626
2634
  }, l = r.length > 0;
2627
2635
  return /* @__PURE__ */ e(
2628
- tr,
2636
+ sr,
2629
2637
  {
2630
2638
  tone: "outline",
2631
2639
  caret: !0,
@@ -2655,7 +2663,7 @@ const Kr = (t) => {
2655
2663
  )) })
2656
2664
  }
2657
2665
  );
2658
- }, Xe = ({
2666
+ }, Ze = ({
2659
2667
  data: t,
2660
2668
  columns: r,
2661
2669
  loading: n = !1,
@@ -2688,7 +2696,7 @@ const Kr = (t) => {
2688
2696
  const [te, W] = B(""), y = l !== void 0, x = y ? l : te, E = o ?? W, [$, T] = B({
2689
2697
  column: null,
2690
2698
  direction: null
2691
- }), [L, M] = B({
2699
+ }), [L, z] = B({
2692
2700
  page: 0,
2693
2701
  pageSize: b
2694
2702
  }), ce = se(null), ie = ge(() => {
@@ -2719,8 +2727,8 @@ const Kr = (t) => {
2719
2727
  },
2720
2728
  [r]
2721
2729
  ), S = de((A) => {
2722
- M((J) => ({ ...J, page: A }));
2723
- }, []), z = de(
2730
+ z((J) => ({ ...J, page: A }));
2731
+ }, []), M = de(
2724
2732
  (A, J) => {
2725
2733
  if (!k) return;
2726
2734
  const ne = P(A, 0);
@@ -2733,10 +2741,10 @@ const Kr = (t) => {
2733
2741
  },
2734
2742
  [K, k]
2735
2743
  );
2736
- Z(() => {
2737
- M((A) => ({ ...A, page: 0 }));
2738
- }, []), Z(() => {
2739
- M((A) => ({ ...A, page: 0 }));
2744
+ Q(() => {
2745
+ z((A) => ({ ...A, page: 0 }));
2746
+ }, []), Q(() => {
2747
+ z((A) => ({ ...A, page: 0 }));
2740
2748
  }, []);
2741
2749
  const q = G.length, N = Math.ceil(q / L.pageSize), R = L.page * L.pageSize + 1, re = Math.min(R + L.pageSize - 1, q), oe = K.length > 0 && K.every((A) => {
2742
2750
  const J = P(A, 0);
@@ -2744,7 +2752,7 @@ const Kr = (t) => {
2744
2752
  }), pe = K.some((A) => {
2745
2753
  const J = P(A, 0);
2746
2754
  return C.some((ne, ue) => P(ne, ue) === J);
2747
- }), ye = Hr[I], he = U ? "bg-surface-sunk" : "bg-surface", xe = d("text-text", ye), Pe = s || u.length > 0 || i.length > 0 || !!p, gt = ge(() => {
2755
+ }), ye = Vr[I], he = U ? "bg-surface-sunk" : "bg-surface", xe = d("text-text", ye), je = s || u.length > 0 || i.length > 0 || !!p, vt = ge(() => {
2748
2756
  const A = K.map((ee, V) => ({ row: ee, index: V }));
2749
2757
  if (!m) return [{ group: null, rows: A }];
2750
2758
  const J = /* @__PURE__ */ new Map();
@@ -2757,11 +2765,11 @@ const Kr = (t) => {
2757
2765
  ...ne.filter((ee) => J.has(ee.id)),
2758
2766
  ...[...J.keys()].filter((ee) => !ne.some((V) => V.id === ee)).map((ee) => ({ id: ee }))
2759
2767
  ].map((ee) => ({ group: ee, rows: J.get(ee.id) ?? [] }));
2760
- }, [K, m, f]), bt = r.length + (h ? 1 : 0) + (w.length > 0 ? 1 : 0), Ve = g && q > 0, pt = Ve || Y !== void 0;
2768
+ }, [K, m, f]), yt = r.length + (h ? 1 : 0) + (w.length > 0 ? 1 : 0), Ke = g && q > 0, Nt = Ke || Y !== void 0;
2761
2769
  return /* @__PURE__ */ c("div", { className: d("flex min-w-0 flex-col", O), children: [
2762
- Pe && /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-2 pb-3", children: [
2770
+ je && /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-2 pb-3", children: [
2763
2771
  s && /* @__PURE__ */ e(
2764
- it,
2772
+ ut,
2765
2773
  {
2766
2774
  value: x,
2767
2775
  onValueChange: E,
@@ -2769,7 +2777,7 @@ const Kr = (t) => {
2769
2777
  containerClassName: "w-full sm:w-66"
2770
2778
  }
2771
2779
  ),
2772
- u.map((A) => /* @__PURE__ */ e(Kr, { ...A }, A.id)),
2780
+ u.map((A) => /* @__PURE__ */ e(Jr, { ...A }, A.id)),
2773
2781
  p,
2774
2782
  i.length > 0 && /* @__PURE__ */ e(ke, { actions: i, className: "ml-auto" })
2775
2783
  ] }),
@@ -2806,9 +2814,9 @@ const Kr = (t) => {
2806
2814
  children: /* @__PURE__ */ c("div", { className: "flex items-center gap-1.5", children: [
2807
2815
  A.headerCell ? A.headerCell() : A.header,
2808
2816
  A.sortable && /* @__PURE__ */ e(
2809
- Q,
2817
+ Z,
2810
2818
  {
2811
- icon: $.column === A.id && $.direction === "desc" ? Le : Dt,
2819
+ icon: $.column === A.id && $.direction === "desc" ? Ie : Lt,
2812
2820
  size: "xs",
2813
2821
  className: d(
2814
2822
  "transition-opacity duration-fast ease-out",
@@ -2822,7 +2830,7 @@ const Kr = (t) => {
2822
2830
  )),
2823
2831
  w.length > 0 && /* @__PURE__ */ e("th", { className: d(xe, "w-10"), children: /* @__PURE__ */ e("span", { className: "sr-only", children: "Actions" }) })
2824
2832
  ] }) }),
2825
- /* @__PURE__ */ e("tbody", { children: n ? Array.from({ length: Ur }).map((A, J) => /* @__PURE__ */ c(
2833
+ /* @__PURE__ */ e("tbody", { children: n ? Array.from({ length: Wr }).map((A, J) => /* @__PURE__ */ c(
2826
2834
  "tr",
2827
2835
  {
2828
2836
  className: "animate-pulse border-t border-border-subtle",
@@ -2839,7 +2847,7 @@ const Kr = (t) => {
2839
2847
  {
2840
2848
  className: "block h-3 rounded-xs bg-surface-hover",
2841
2849
  style: {
2842
- width: Ye[(J + ue) % Ye.length]
2850
+ width: Xe[(J + ue) % Xe.length]
2843
2851
  }
2844
2852
  }
2845
2853
  )
@@ -2860,12 +2868,12 @@ const Kr = (t) => {
2860
2868
  ),
2861
2869
  children: D || "No data available"
2862
2870
  }
2863
- ) }) : gt.flatMap((A) => [
2871
+ ) }) : vt.flatMap((A) => [
2864
2872
  ...A.group ? [
2865
2873
  /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e(
2866
2874
  "td",
2867
2875
  {
2868
- colSpan: bt,
2876
+ colSpan: yt,
2869
2877
  className: d(
2870
2878
  // A caption over its rows, not a second column strip:
2871
2879
  // same surface as the rows, no rules, count on the right.
@@ -2887,7 +2895,7 @@ const Kr = (t) => {
2887
2895
  "tr",
2888
2896
  {
2889
2897
  className: d(
2890
- qr[F],
2898
+ Kr[F],
2891
2899
  // Hairline above every row, including the first: it is
2892
2900
  // what separates the body from the column strip.
2893
2901
  "border-t border-border-subtle",
@@ -2907,7 +2915,7 @@ const Kr = (t) => {
2907
2915
  checked: ee,
2908
2916
  onClick: (V) => V.stopPropagation(),
2909
2917
  onChange: (V) => {
2910
- V.stopPropagation(), z(J, V.target.checked);
2918
+ V.stopPropagation(), M(J, V.target.checked);
2911
2919
  },
2912
2920
  "aria-label": "Select row"
2913
2921
  }
@@ -2930,10 +2938,10 @@ const Kr = (t) => {
2930
2938
  );
2931
2939
  }),
2932
2940
  w.length > 0 && /* @__PURE__ */ e("td", { className: xe, children: /* @__PURE__ */ e(
2933
- Br,
2941
+ Ur,
2934
2942
  {
2935
2943
  className: "rounded-md",
2936
- trigger: /* @__PURE__ */ e("span", { className: "grid size-7 place-items-center text-text-subtle", children: /* @__PURE__ */ e(Q, { icon: _t, size: "md", color: "current" }) }),
2944
+ trigger: /* @__PURE__ */ e("span", { className: "grid size-7 place-items-center text-text-subtle", children: /* @__PURE__ */ e(Z, { icon: It, size: "md", color: "current" }) }),
2937
2945
  options: w.map((V) => ({
2938
2946
  value: V.id,
2939
2947
  label: V.label,
@@ -2941,7 +2949,7 @@ const Kr = (t) => {
2941
2949
  disabled: V.disabled?.(J)
2942
2950
  })),
2943
2951
  onSelect: (V) => {
2944
- const ve = w.find((vt) => vt.id === V);
2952
+ const ve = w.find((wt) => wt.id === V);
2945
2953
  ve && ve.onClick(J, ne);
2946
2954
  },
2947
2955
  placement: "bottom-end"
@@ -2954,9 +2962,9 @@ const Kr = (t) => {
2954
2962
  })
2955
2963
  ]) })
2956
2964
  ] }) }),
2957
- pt && /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-3 px-1 pt-3 text-xs text-text-muted", children: [
2965
+ Nt && /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-3 px-1 pt-3 text-xs text-text-muted", children: [
2958
2966
  /* @__PURE__ */ e("span", { className: "min-w-0 flex-1", children: Y ?? `Showing ${R}–${re} of ${q}` }),
2959
- Ve && /* @__PURE__ */ c("div", { className: "flex items-center gap-0.5", children: [
2967
+ Ke && /* @__PURE__ */ c("div", { className: "flex items-center gap-0.5", children: [
2960
2968
  /* @__PURE__ */ e(
2961
2969
  ae,
2962
2970
  {
@@ -2966,10 +2974,10 @@ const Kr = (t) => {
2966
2974
  "aria-label": "Previous page",
2967
2975
  onClick: () => S(L.page - 1),
2968
2976
  disabled: L.page === 0,
2969
- children: /* @__PURE__ */ e(Q, { icon: Ee, size: "md", color: "current" })
2977
+ children: /* @__PURE__ */ e(Z, { icon: Ee, size: "md", color: "current" })
2970
2978
  }
2971
2979
  ),
2972
- Vr(L.page, N).map(
2980
+ Gr(L.page, N).map(
2973
2981
  (A, J) => A === "gap" ? /* @__PURE__ */ e("span", { className: "px-1 text-text-subtle", children: "…" }, `gap-${J}`) : /* @__PURE__ */ e(
2974
2982
  "button",
2975
2983
  {
@@ -2996,13 +3004,13 @@ const Kr = (t) => {
2996
3004
  "aria-label": "Next page",
2997
3005
  onClick: () => S(L.page + 1),
2998
3006
  disabled: L.page >= N - 1,
2999
- children: /* @__PURE__ */ e(Q, { icon: Oe, size: "md", color: "current" })
3007
+ children: /* @__PURE__ */ e(Z, { icon: Pe, size: "md", color: "current" })
3000
3008
  }
3001
3009
  )
3002
3010
  ] })
3003
3011
  ] })
3004
3012
  ] });
3005
- }, Wr = {
3013
+ }, Yr = {
3006
3014
  default: "bg-surface-hover text-text",
3007
3015
  primary: "bg-accent-soft text-accent",
3008
3016
  secondary: "bg-surface-hover text-text-muted",
@@ -3012,11 +3020,11 @@ const Kr = (t) => {
3012
3020
  info: "bg-info-soft text-info-fg",
3013
3021
  // Internal-note amber. Never for customer-visible content.
3014
3022
  note: "bg-note-soft text-note"
3015
- }, Gr = {
3023
+ }, Xr = {
3016
3024
  sm: "px-2 py-0.5 text-xs",
3017
3025
  md: "px-2.5 py-1 text-sm",
3018
3026
  lg: "px-3 py-1.5 text-base"
3019
- }, Jr = {
3027
+ }, Zr = {
3020
3028
  default: "bg-surface-hover",
3021
3029
  primary: "bg-accent",
3022
3030
  secondary: "bg-surface-hover",
@@ -3026,7 +3034,7 @@ const Kr = (t) => {
3026
3034
  info: "bg-info",
3027
3035
  note: "bg-note"
3028
3036
  };
3029
- function Yr({
3037
+ function Qr({
3030
3038
  variant: t = "default",
3031
3039
  size: r = "md",
3032
3040
  dot: n = !1,
@@ -3042,13 +3050,13 @@ function Yr({
3042
3050
  {
3043
3051
  className: d(
3044
3052
  "inline-flex items-center font-medium rounded-full",
3045
- Wr[t],
3046
- Gr[r],
3053
+ Yr[t],
3054
+ Xr[r],
3047
3055
  o
3048
3056
  ),
3049
3057
  ...i,
3050
3058
  children: [
3051
- n && /* @__PURE__ */ e("span", { className: d("w-2 h-2 rounded-full mr-1.5", Jr[t]) }),
3059
+ n && /* @__PURE__ */ e("span", { className: d("w-2 h-2 rounded-full mr-1.5", Zr[t]) }),
3052
3060
  s && /* @__PURE__ */ e("span", { className: d("flex-shrink-0", u && "mr-1"), children: s }),
3053
3061
  u,
3054
3062
  a && l && /* @__PURE__ */ e(
@@ -3057,14 +3065,14 @@ function Yr({
3057
3065
  onClick: l,
3058
3066
  className: "ml-1.5 flex-shrink-0 hover:opacity-70 transition-opacity",
3059
3067
  "aria-label": "Remove badge",
3060
- children: /* @__PURE__ */ e(Q, { icon: Se, size: "xs", color: "current" })
3068
+ children: /* @__PURE__ */ e(Z, { icon: Se, size: "xs", color: "current" })
3061
3069
  }
3062
3070
  )
3063
3071
  ]
3064
3072
  }
3065
3073
  );
3066
3074
  }
3067
- function Xr(t) {
3075
+ function en(t) {
3068
3076
  const { id: r, header: n, accessor: s, label: a, tone: l, visible: o, width: u, sortable: i, align: p } = t;
3069
3077
  return {
3070
3078
  id: r,
@@ -3072,14 +3080,14 @@ function Xr(t) {
3072
3080
  accessor: (m) => a(s(m), m),
3073
3081
  cell: (m, f) => {
3074
3082
  const g = s(f);
3075
- return o && !o(g, f) ? null : /* @__PURE__ */ e(Yr, { variant: l ? l(g, f) : "default", size: "sm", children: a(g, f) });
3083
+ return o && !o(g, f) ? null : /* @__PURE__ */ e(Qr, { variant: l ? l(g, f) : "default", size: "sm", children: a(g, f) });
3076
3084
  },
3077
3085
  width: u,
3078
3086
  sortable: i,
3079
3087
  align: p
3080
3088
  };
3081
3089
  }
3082
- function qs(t) {
3090
+ function Vs(t) {
3083
3091
  const {
3084
3092
  id: r,
3085
3093
  header: n,
@@ -3091,7 +3099,7 @@ function qs(t) {
3091
3099
  width: i,
3092
3100
  sortable: p
3093
3101
  } = t;
3094
- return Xr({
3102
+ return en({
3095
3103
  id: r,
3096
3104
  header: n,
3097
3105
  accessor: (m) => !!s(m),
@@ -3101,7 +3109,7 @@ function qs(t) {
3101
3109
  sortable: p
3102
3110
  });
3103
3111
  }
3104
- function Us(t) {
3112
+ function Ks(t) {
3105
3113
  const {
3106
3114
  id: r,
3107
3115
  header: n,
@@ -3125,19 +3133,19 @@ function Us(t) {
3125
3133
  sortable: p
3126
3134
  };
3127
3135
  }
3128
- const Qr = {
3136
+ const tn = {
3129
3137
  xs: "text-xs",
3130
3138
  sm: "text-sm",
3131
3139
  md: "text-base",
3132
3140
  lg: "text-md",
3133
3141
  xl: "text-lg"
3134
- }, Zr = {
3142
+ }, rn = {
3135
3143
  light: "font-normal",
3136
3144
  normal: "font-normal",
3137
3145
  medium: "font-medium",
3138
3146
  semibold: "font-semibold",
3139
3147
  bold: "font-bold"
3140
- }, en = {
3148
+ }, nn = {
3141
3149
  primary: "text-text",
3142
3150
  secondary: "text-text-muted",
3143
3151
  accent: "text-accent",
@@ -3148,12 +3156,12 @@ const Qr = {
3148
3156
  neutral: "text-text",
3149
3157
  current: "text-current",
3150
3158
  muted: "text-text-subtle"
3151
- }, tn = {
3159
+ }, sn = {
3152
3160
  left: "text-left",
3153
3161
  center: "text-center",
3154
3162
  right: "text-right",
3155
3163
  justify: "text-justify"
3156
- }, rn = {
3164
+ }, an = {
3157
3165
  tight: "leading-tight",
3158
3166
  normal: "leading-normal",
3159
3167
  relaxed: "leading-relaxed"
@@ -3172,20 +3180,20 @@ const Qr = {
3172
3180
  children: f,
3173
3181
  ...g
3174
3182
  }) => {
3175
- const b = p || nn(t), w = t === "caption", v = t === "label", h = t === "code", C = d(
3183
+ const b = p || ln(t), w = t === "caption", v = t === "label", h = t === "code", C = d(
3176
3184
  "font-sans",
3177
3185
  // Variant — caption and label pin their own size/weight
3178
3186
  w && "text-xs text-text-subtle",
3179
3187
  v && "text-xs font-semibold uppercase tracking-label text-text-subtle",
3180
3188
  h && "font-mono text-sm rounded-sm bg-surface-hover px-1 py-0.5",
3181
3189
  // Size — only where the variant does not pin it
3182
- !w && !v && !h && Qr[r],
3190
+ !w && !v && !h && tn[r],
3183
3191
  // Weight — label owns its weight
3184
- !v && Zr[n],
3185
- en[s],
3186
- tn[a],
3192
+ !v && rn[n],
3193
+ nn[s],
3194
+ sn[a],
3187
3195
  // Line height only overrides the body variant
3188
- t === "body" && rn[i],
3196
+ t === "body" && an[i],
3189
3197
  o && "italic",
3190
3198
  u && "underline",
3191
3199
  l && "truncate",
@@ -3193,7 +3201,7 @@ const Qr = {
3193
3201
  );
3194
3202
  return /* @__PURE__ */ e(b, { className: C, ...g, children: f });
3195
3203
  };
3196
- function nn(t) {
3204
+ function ln(t) {
3197
3205
  return {
3198
3206
  body: "p",
3199
3207
  caption: "span",
@@ -3201,13 +3209,13 @@ function nn(t) {
3201
3209
  code: "code"
3202
3210
  }[t] || "p";
3203
3211
  }
3204
- function sn(t, r) {
3212
+ function on(t, r) {
3205
3213
  return r.split(".").reduce(
3206
3214
  (n, s) => n && typeof n == "object" && s in n ? n[s] : void 0,
3207
3215
  t
3208
3216
  );
3209
3217
  }
3210
- const Vs = ({
3218
+ const Ws = ({
3211
3219
  groups: t,
3212
3220
  data: r,
3213
3221
  size: n = "md",
@@ -3230,7 +3238,7 @@ const Vs = ({
3230
3238
  return g ? g.label : String(m || "-");
3231
3239
  }, u = de(
3232
3240
  (m) => {
3233
- const f = sn(r, m.name);
3241
+ const f = on(r, m.name);
3234
3242
  if (m.type === "array") {
3235
3243
  const b = f;
3236
3244
  return !b || b.length === 0 ? /* @__PURE__ */ e(me, { variant: "body", size: "sm", className: "text-text-muted", children: "Geen items" }) : /* @__PURE__ */ e("div", { className: "space-y-3", children: b.map((w, v) => /* @__PURE__ */ c("div", { className: "p-4 border border-border rounded-xl space-y-3", children: [
@@ -3373,7 +3381,7 @@ const Vs = ({
3373
3381
  );
3374
3382
  return /* @__PURE__ */ e("div", { className: p, children: /* @__PURE__ */ e("div", { className: "space-y-8", children: t.map(i) }) });
3375
3383
  };
3376
- class Ks extends kt {
3384
+ class Gs extends Et {
3377
3385
  constructor() {
3378
3386
  super(...arguments), this.state = {
3379
3387
  hasError: !1,
@@ -3401,8 +3409,8 @@ class Ks extends kt {
3401
3409
  ] }) : this.props.children;
3402
3410
  }
3403
3411
  }
3404
- const Re = /* @__PURE__ */ new Map();
3405
- function Ws({
3412
+ const Fe = /* @__PURE__ */ new Map();
3413
+ function Js({
3406
3414
  identifier: t,
3407
3415
  resourceLoader: r,
3408
3416
  framework: n = "react",
@@ -3412,14 +3420,14 @@ function Ws({
3412
3420
  className: o
3413
3421
  }) {
3414
3422
  const u = se(null), [i, p] = B(null), [, m] = B(0), f = se(null), g = se(r);
3415
- g.current = r, Z(() => {
3416
- if (Re.has(t)) return;
3423
+ g.current = r, Q(() => {
3424
+ if (Fe.has(t)) return;
3417
3425
  let C = !0;
3418
3426
  return (async () => {
3419
3427
  try {
3420
3428
  const P = await g.current();
3421
3429
  if (!C) return;
3422
- Re.set(t, P), m((D) => D + 1);
3430
+ Fe.set(t, P), m((D) => D + 1);
3423
3431
  } catch (P) {
3424
3432
  console.error(`[FederatedResource] Load failed: ${t}`, P), C && p(t);
3425
3433
  }
@@ -3427,8 +3435,8 @@ function Ws({
3427
3435
  C = !1;
3428
3436
  };
3429
3437
  }, [t]);
3430
- const b = Re.get(t) ?? null, w = !b && i === t, v = !b && !w, h = b ? n === "react" && (b.component || b.default) || b : null;
3431
- return Z(() => {
3438
+ const b = Fe.get(t) ?? null, w = !b && i === t, v = !b && !w, h = b ? n === "react" && (b.component || b.default) || b : null;
3439
+ return Q(() => {
3432
3440
  if (!h || n === "react") return;
3433
3441
  const C = u.current;
3434
3442
  if (C) {
@@ -3443,7 +3451,7 @@ function Ws({
3443
3451
  };
3444
3452
  }
3445
3453
  }
3446
- }, [h, n, l]), Z(() => {
3454
+ }, [h, n, l]), Q(() => {
3447
3455
  n === "svelte" && f.current && f.current.$set?.(l);
3448
3456
  }, [l, n]), /* @__PURE__ */ c("div", { ref: u, className: o, style: { display: "contents" }, children: [
3449
3457
  v && s,
@@ -3451,11 +3459,11 @@ function Ws({
3451
3459
  n === "react" && h && /* @__PURE__ */ e(h, { ...l })
3452
3460
  ] });
3453
3461
  }
3454
- const an = {
3462
+ const cn = {
3455
3463
  neutral: "bg-surface-hover text-text-muted",
3456
3464
  success: "bg-success-soft text-success-fg"
3457
3465
  };
3458
- function Gs({
3466
+ function Ys({
3459
3467
  icon: t,
3460
3468
  tone: r = "neutral",
3461
3469
  title: n,
@@ -3480,7 +3488,7 @@ function Gs({
3480
3488
  {
3481
3489
  className: d(
3482
3490
  "flex size-disc items-center justify-center rounded-full text-2xl",
3483
- an[r]
3491
+ cn[r]
3484
3492
  ),
3485
3493
  children: t
3486
3494
  }
@@ -3492,7 +3500,7 @@ function Gs({
3492
3500
  }
3493
3501
  );
3494
3502
  }
3495
- function Js({ children: t, className: r, ...n }) {
3503
+ function Xs({ children: t, className: r, ...n }) {
3496
3504
  return /* @__PURE__ */ e(
3497
3505
  "kbd",
3498
3506
  {
@@ -3505,14 +3513,14 @@ function Js({ children: t, className: r, ...n }) {
3505
3513
  }
3506
3514
  );
3507
3515
  }
3508
- const ln = {
3516
+ const dn = {
3509
3517
  sm: "h-1",
3510
3518
  md: "h-1.5"
3511
- }, on = {
3519
+ }, un = {
3512
3520
  accent: "bg-accent",
3513
3521
  success: "bg-success"
3514
3522
  };
3515
- function Ys({
3523
+ function Zs({
3516
3524
  value: t,
3517
3525
  variant: r = "accent",
3518
3526
  size: n = "md",
@@ -3529,7 +3537,7 @@ function Ys({
3529
3537
  "aria-valuemax": 100,
3530
3538
  className: d(
3531
3539
  "w-full overflow-hidden rounded-full bg-surface-hover",
3532
- ln[n],
3540
+ dn[n],
3533
3541
  s
3534
3542
  ),
3535
3543
  ...a,
@@ -3538,7 +3546,7 @@ function Ys({
3538
3546
  {
3539
3547
  className: d(
3540
3548
  "h-full rounded-full transition-[width] duration-300 ease-out",
3541
- on[r]
3549
+ un[r]
3542
3550
  ),
3543
3551
  style: { width: `${l}%` }
3544
3552
  }
@@ -3546,25 +3554,25 @@ function Ys({
3546
3554
  }
3547
3555
  );
3548
3556
  }
3549
- const cn = {
3557
+ const mn = {
3550
3558
  xs: "h-3 w-3",
3551
3559
  sm: "h-4 w-4",
3552
3560
  md: "h-6 w-6",
3553
3561
  lg: "h-8 w-8",
3554
3562
  xl: "h-12 w-12"
3555
- }, dn = {
3563
+ }, fn = {
3556
3564
  primary: "text-accent",
3557
3565
  secondary: "text-text-muted",
3558
3566
  white: "text-white",
3559
3567
  current: "text-current"
3560
- }, un = {
3568
+ }, hn = {
3561
3569
  xs: "text-xs",
3562
3570
  sm: "text-sm",
3563
3571
  md: "text-sm",
3564
3572
  lg: "text-base",
3565
3573
  xl: "text-lg"
3566
3574
  };
3567
- function Xs({
3575
+ function Qs({
3568
3576
  size: t = "md",
3569
3577
  variant: r = "primary",
3570
3578
  label: n = "Loading...",
@@ -3581,7 +3589,7 @@ function Xs({
3581
3589
  /* @__PURE__ */ c(
3582
3590
  "svg",
3583
3591
  {
3584
- className: d("animate-spin", cn[t], dn[r]),
3592
+ className: d("animate-spin", mn[t], fn[r]),
3585
3593
  fill: "none",
3586
3594
  viewBox: "0 0 24 24",
3587
3595
  "aria-hidden": !s,
@@ -3609,13 +3617,13 @@ function Xs({
3609
3617
  ]
3610
3618
  }
3611
3619
  ),
3612
- s && /* @__PURE__ */ e("span", { className: d("text-text-muted", un[t]), children: n }),
3620
+ s && /* @__PURE__ */ e("span", { className: d("text-text-muted", hn[t]), children: n }),
3613
3621
  !s && /* @__PURE__ */ e("span", { className: "sr-only", children: n })
3614
3622
  ]
3615
3623
  }
3616
3624
  );
3617
3625
  }
3618
- const mn = {
3626
+ const xn = {
3619
3627
  neutral: "bg-text-disabled",
3620
3628
  accent: "bg-accent",
3621
3629
  success: "bg-success",
@@ -3629,7 +3637,7 @@ const mn = {
3629
3637
  "cat-4": "bg-cat-4",
3630
3638
  "cat-5": "bg-cat-5"
3631
3639
  };
3632
- function Qs({
3640
+ function ea({
3633
3641
  tone: t = "neutral",
3634
3642
  shape: r = "round",
3635
3643
  pulse: n = !1,
@@ -3645,14 +3653,14 @@ function Qs({
3645
3653
  className: d(
3646
3654
  "inline-block size-dot shrink-0",
3647
3655
  r === "round" ? "rounded-full" : "rounded-sm",
3648
- mn[t],
3656
+ xn[t],
3649
3657
  n && "animate-pulse",
3650
3658
  a
3651
3659
  )
3652
3660
  }
3653
3661
  );
3654
3662
  }
3655
- function Zs({
3663
+ function ta({
3656
3664
  steps: t,
3657
3665
  current: r,
3658
3666
  variant: n = "numbered",
@@ -3692,7 +3700,7 @@ function Zs({
3692
3700
  i < t.length - 1 && /* @__PURE__ */ e("span", { className: "h-px w-8 bg-border-strong" })
3693
3701
  ] }, u)) });
3694
3702
  }
3695
- const fn = /* @__PURE__ */ new Set([
3703
+ const gn = /* @__PURE__ */ new Set([
3696
3704
  "name",
3697
3705
  "given-name",
3698
3706
  "family-name",
@@ -3727,7 +3735,7 @@ const fn = /* @__PURE__ */ new Set([
3727
3735
  "one-time-code"
3728
3736
  ]);
3729
3737
  function Qe(t) {
3730
- return t && fn.has(t) ? { autoComplete: t } : {
3738
+ return t && gn.has(t) ? { autoComplete: t } : {
3731
3739
  autoComplete: "off",
3732
3740
  // 1Password
3733
3741
  "data-1p-ignore": "true",
@@ -3739,12 +3747,12 @@ function Qe(t) {
3739
3747
  "data-form-type": "other"
3740
3748
  };
3741
3749
  }
3742
- const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCase(), xn = {
3750
+ const De = (t) => t == null ? "" : String(t), bn = (t) => De(t).trim().toLowerCase(), pn = {
3743
3751
  sm: "h-control-sm px-3 text-sm",
3744
3752
  md: "h-control-md px-3 text-sm",
3745
3753
  lg: "h-control-lg px-3 text-base",
3746
3754
  full: "h-control-md w-full px-3 text-sm"
3747
- }, Ae = hn, _e = be(
3755
+ }, Ae = bn, $e = be(
3748
3756
  ({
3749
3757
  label: t,
3750
3758
  helperText: r,
@@ -3774,23 +3782,23 @@ const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCa
3774
3782
  return document.addEventListener("mousedown", j), () => document.removeEventListener("mousedown", j);
3775
3783
  }, []);
3776
3784
  const x = le.useCallback(
3777
- (j, S) => j.some((z) => Ae(z.value) === Ae(S) || Ae(z.label) === Ae(S)),
3785
+ (j, S) => j.some((M) => Ae(M.value) === Ae(S) || Ae(M.label) === Ae(S)),
3778
3786
  []
3779
3787
  ), E = le.useCallback(
3780
3788
  (j, S) => {
3781
- const z = [...j], X = (q) => {
3789
+ const M = [...j], X = (q) => {
3782
3790
  const N = De(q).trim();
3783
- N && (x(z, N) || z.push({ value: N, label: N }));
3791
+ N && (x(M, N) || M.push({ value: N, label: N }));
3784
3792
  };
3785
- return Array.isArray(S) ? S.forEach(X) : X(S), z;
3793
+ return Array.isArray(S) ? S.forEach(X) : X(S), M;
3786
3794
  },
3787
3795
  [x]
3788
3796
  );
3789
3797
  le.useEffect(() => {
3790
3798
  y((j) => {
3791
3799
  const S = [...o];
3792
- return j.forEach((z) => {
3793
- !x(S, z.value) && !x(S, z.label) && S.push(z);
3800
+ return j.forEach((M) => {
3801
+ !x(S, M.value) && !x(S, M.label) && S.push(M);
3794
3802
  }), E(S, w);
3795
3803
  });
3796
3804
  }, [o, w, E, x]);
@@ -3799,25 +3807,25 @@ const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCa
3799
3807
  [w]
3800
3808
  ), T = (j) => {
3801
3809
  if (b) {
3802
- const S = Array.isArray($) ? $ : [], z = S.includes(j) ? S.filter((X) => X !== j) : [...S, j];
3803
- v?.(z);
3810
+ const S = Array.isArray($) ? $ : [], M = S.includes(j) ? S.filter((X) => X !== j) : [...S, j];
3811
+ v?.(M);
3804
3812
  } else
3805
3813
  v?.(j), _(!1), O("");
3806
- }, L = b ? null : W.find((j) => j.value === $), M = b ? W.filter((j) => Array.isArray($) && $.includes(j.value)) : [], ce = g && I ? W.filter(
3814
+ }, L = b ? null : W.find((j) => j.value === $), z = b ? W.filter((j) => Array.isArray($) && $.includes(j.value)) : [], ce = g && I ? W.filter(
3807
3815
  (j) => j.label.toLowerCase().includes(I.toLowerCase())
3808
3816
  ) : W, ie = !!h && !!g && !!I.trim() && !x(W, I), G = (j) => {
3809
3817
  const S = j.trim();
3810
3818
  if (!S) return;
3811
- const z = C?.(S) ?? {
3819
+ const M = C?.(S) ?? {
3812
3820
  value: S,
3813
3821
  label: S
3814
3822
  };
3815
- if (x(W, z.value) || x(W, z.label)) {
3816
- T(z.value), O(""), b || _(!1);
3823
+ if (x(W, M.value) || x(W, M.label)) {
3824
+ T(M.value), O(""), b || _(!1);
3817
3825
  return;
3818
3826
  }
3819
- y((X) => [...X, z]), T(z.value), O(""), b || _(!1);
3820
- }, K = () => b ? M.length > 0 ? M.map((j) => j.label).join(", ") : u || "Select options" : L?.label || u || "Select an option";
3827
+ y((X) => [...X, M]), T(M.value), O(""), b || _(!1);
3828
+ }, K = () => b ? z.length > 0 ? z.map((j) => j.label).join(", ") : u || "Select options" : L?.label || u || "Select an option";
3821
3829
  return /* @__PURE__ */ c(
3822
3830
  "div",
3823
3831
  {
@@ -3852,14 +3860,14 @@ const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCa
3852
3860
  "focus-visible:outline-none focus-visible:focus-ring",
3853
3861
  "disabled:cursor-not-allowed disabled:bg-surface-hover disabled:text-text-disabled",
3854
3862
  "bg-surface",
3855
- xn[s],
3863
+ pn[s],
3856
3864
  Y ? "border-danger-border text-danger-fg focus-visible:focus-ring" : "border-border-strong text-text",
3857
3865
  m
3858
3866
  ),
3859
3867
  children: [
3860
3868
  /* @__PURE__ */ e("span", { className: "truncate flex-1 min-w-0", children: K() }),
3861
3869
  /* @__PURE__ */ e(
3862
- $t,
3870
+ Ot,
3863
3871
  {
3864
3872
  size: 16,
3865
3873
  className: d(
@@ -3958,13 +3966,13 @@ const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCa
3958
3966
  );
3959
3967
  }
3960
3968
  );
3961
- _e.displayName = "Select";
3962
- const gn = {
3969
+ $e.displayName = "Select";
3970
+ const vn = {
3963
3971
  sm: "h-control-sm px-3 text-sm",
3964
3972
  md: "h-control-md px-3 text-base",
3965
3973
  lg: "h-control-lg px-3 text-base",
3966
3974
  full: "h-control-md px-3 text-base"
3967
- }, dt = "mb-1.5 block text-sm font-medium", ut = "block w-full rounded-tile border bg-surface-input text-text transition-colors duration-fast ease-out placeholder:text-text-subtle focus-visible:outline-none focus-visible:focus-ring disabled:cursor-not-allowed disabled:bg-surface-hover disabled:text-text-disabled", mt = (t) => t ? "border-danger-border bg-danger-soft" : "border-border-strong", Ce = be(
3975
+ }, mt = "mb-1.5 block text-sm font-medium", ft = "block w-full rounded-tile border bg-surface-input text-text transition-colors duration-fast ease-out placeholder:text-text-subtle focus-visible:outline-none focus-visible:focus-ring disabled:cursor-not-allowed disabled:bg-surface-hover disabled:text-text-disabled", ht = (t) => t ? "border-danger-border bg-danger-soft" : "border-border-strong", Ce = be(
3968
3976
  ({
3969
3977
  label: t,
3970
3978
  helperText: r,
@@ -3987,7 +3995,7 @@ const gn = {
3987
3995
  {
3988
3996
  htmlFor: v,
3989
3997
  className: d(
3990
- dt,
3998
+ mt,
3991
3999
  h ? "text-danger-fg" : "text-text-muted",
3992
4000
  p
3993
4001
  ),
@@ -4004,11 +4012,11 @@ const gn = {
4004
4012
  "aria-invalid": h || void 0,
4005
4013
  "aria-describedby": C,
4006
4014
  className: d(
4007
- ut,
4008
- gn[s],
4015
+ ft,
4016
+ vn[s],
4009
4017
  l && "pl-9",
4010
4018
  (o || u) && "pr-9",
4011
- mt(h),
4019
+ ht(h),
4012
4020
  m
4013
4021
  ),
4014
4022
  ...g
@@ -4034,7 +4042,7 @@ const gn = {
4034
4042
  }
4035
4043
  );
4036
4044
  Ce.displayName = "TextField";
4037
- function bn({
4045
+ function yn({
4038
4046
  value: t,
4039
4047
  onChange: r,
4040
4048
  onListFolders: n,
@@ -4045,7 +4053,7 @@ function bn({
4045
4053
  showTemplate: u = !0
4046
4054
  }) {
4047
4055
  const [i, p] = B([]);
4048
- Z(() => {
4056
+ Q(() => {
4049
4057
  let f = !0;
4050
4058
  return Promise.resolve(n?.()).then((g) => {
4051
4059
  f && g && p(g.data ?? []);
@@ -4057,7 +4065,7 @@ function bn({
4057
4065
  const m = t ?? {};
4058
4066
  return /* @__PURE__ */ c("div", { className: "flex flex-col gap-2", children: [
4059
4067
  /* @__PURE__ */ e(
4060
- _e,
4068
+ $e,
4061
4069
  {
4062
4070
  size: a,
4063
4071
  fullWidth: !0,
@@ -4079,7 +4087,7 @@ function bn({
4079
4087
  )
4080
4088
  ] });
4081
4089
  }
4082
- const pn = tt(null), ea = ({ items: t, activeTab: r, onTabChange: n, className: s }) => {
4090
+ const Nn = rt(null), ra = ({ items: t, activeTab: r, onTabChange: n, className: s }) => {
4083
4091
  const [a, l] = B(t[0]?.id || ""), o = r || a, u = (i) => {
4084
4092
  n ? n(i) : l(i);
4085
4093
  };
@@ -4112,7 +4120,7 @@ const pn = tt(null), ea = ({ items: t, activeTab: r, onTabChange: n, className:
4112
4120
  },
4113
4121
  i.id
4114
4122
  )) }) });
4115
- }, vn = ({
4123
+ }, wn = ({
4116
4124
  items: t,
4117
4125
  defaultTab: r,
4118
4126
  activeTab: n,
@@ -4169,7 +4177,7 @@ const pn = tt(null), ea = ({ items: t, activeTab: r, onTabChange: n, className:
4169
4177
  F
4170
4178
  );
4171
4179
  };
4172
- return /* @__PURE__ */ e(pn.Provider, { value: f, children: /* @__PURE__ */ c("div", { children: [
4180
+ return /* @__PURE__ */ e(Nn.Provider, { value: f, children: /* @__PURE__ */ c("div", { children: [
4173
4181
  /* @__PURE__ */ e("div", { className: b, role: "tablist", children: t.map((v) => /* @__PURE__ */ e(
4174
4182
  "button",
4175
4183
  {
@@ -4198,14 +4206,14 @@ const pn = tt(null), ea = ({ items: t, activeTab: r, onTabChange: n, className:
4198
4206
  }
4199
4207
  )
4200
4208
  ] }) });
4201
- }, yn = {
4209
+ }, kn = {
4202
4210
  sm: "max-w-md",
4203
4211
  md: "max-w-lg",
4204
4212
  lg: "max-w-2xl",
4205
4213
  xl: "max-w-4xl",
4206
4214
  full: "max-w-full mx-4"
4207
4215
  };
4208
- function ft({
4216
+ function xt({
4209
4217
  open: t,
4210
4218
  onClose: r,
4211
4219
  title: n,
@@ -4219,13 +4227,13 @@ function ft({
4219
4227
  showCloseButton: m = !0
4220
4228
  }) {
4221
4229
  const f = se(null), g = se(null);
4222
- Z(() => {
4230
+ Q(() => {
4223
4231
  if (!t || !l) return;
4224
4232
  const w = (v) => {
4225
4233
  v.key === "Escape" && r();
4226
4234
  };
4227
4235
  return document.addEventListener("keydown", w), () => document.removeEventListener("keydown", w);
4228
- }, [t, l, r]), Z(() => (t ? (g.current = document.activeElement, f.current && f.current.focus(), document.body.style.overflow = "hidden") : (g.current && g.current.focus(), document.body.style.overflow = ""), () => {
4236
+ }, [t, l, r]), Q(() => (t ? (g.current = document.activeElement, f.current && f.current.focus(), document.body.style.overflow = "hidden") : (g.current && g.current.focus(), document.body.style.overflow = ""), () => {
4229
4237
  document.body.style.overflow = "";
4230
4238
  }), [t]);
4231
4239
  const b = (w) => {
@@ -4247,7 +4255,7 @@ function ft({
4247
4255
  className: d(
4248
4256
  "relative w-full bg-surface rounded-lg shadow-modal",
4249
4257
  "focus:outline-none",
4250
- yn[s],
4258
+ kn[s],
4251
4259
  o
4252
4260
  ),
4253
4261
  role: "dialog",
@@ -4263,7 +4271,7 @@ function ft({
4263
4271
  onClick: r,
4264
4272
  className: "p-1 text-text-muted hover:text-text transition-colors",
4265
4273
  "aria-label": "Close modal",
4266
- children: /* @__PURE__ */ e(Q, { icon: Se, size: "lg", color: "current" })
4274
+ children: /* @__PURE__ */ e(Z, { icon: Se, size: "lg", color: "current" })
4267
4275
  }
4268
4276
  )
4269
4277
  ] }),
@@ -4275,7 +4283,7 @@ function ft({
4275
4283
  }
4276
4284
  ) : null;
4277
4285
  }
4278
- const Nn = ({
4286
+ const Cn = ({
4279
4287
  value: t,
4280
4288
  onChange: r,
4281
4289
  label: n,
@@ -4318,9 +4326,9 @@ const Nn = ({
4318
4326
  }
4319
4327
  }
4320
4328
  }, [k, u, I, h]);
4321
- Z(() => {
4329
+ Q(() => {
4322
4330
  g && $();
4323
- }, [g, $]), Z(() => {
4331
+ }, [g, $]), Q(() => {
4324
4332
  g && h && T();
4325
4333
  }, [g, h, T]);
4326
4334
  const L = async (N) => {
@@ -4346,7 +4354,7 @@ const Nn = ({
4346
4354
  _(!1);
4347
4355
  }
4348
4356
  }
4349
- }, M = async (N) => {
4357
+ }, z = async (N) => {
4350
4358
  const R = N.target.files?.[0];
4351
4359
  if (!(!R || !h)) {
4352
4360
  _(!0);
@@ -4419,7 +4427,7 @@ const Nn = ({
4419
4427
  }, S = () => {
4420
4428
  const N = k.split("/").filter((R) => R !== "");
4421
4429
  N.pop(), N.length === 0 ? P("/") : P(`${N.join("/")}/`);
4422
- }, z = ge(() => {
4430
+ }, M = ge(() => {
4423
4431
  const N = K.folders.map((R) => ({
4424
4432
  id: `folder-${R}`,
4425
4433
  name: R,
@@ -4438,9 +4446,9 @@ const Nn = ({
4438
4446
  accessor: "name",
4439
4447
  cell: (N, R) => /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
4440
4448
  /* @__PURE__ */ e(
4441
- Q,
4449
+ Z,
4442
4450
  {
4443
- icon: R.type === "folder" ? Ge : je,
4451
+ icon: R.type === "folder" ? Je : Re,
4444
4452
  size: "sm",
4445
4453
  color: R.type === "folder" ? "warning" : "secondary"
4446
4454
  }
@@ -4481,7 +4489,7 @@ const Nn = ({
4481
4489
  header: "Mount Name",
4482
4490
  accessor: "name",
4483
4491
  cell: (N) => /* @__PURE__ */ c("div", { className: "flex items-center gap-2 font-medium", children: [
4484
- /* @__PURE__ */ e(Q, { icon: We, size: "sm", color: "primary" }),
4492
+ /* @__PURE__ */ e(Z, { icon: Ge, size: "sm", color: "primary" }),
4485
4493
  /* @__PURE__ */ e("span", { children: N })
4486
4494
  ] })
4487
4495
  },
@@ -4507,20 +4515,20 @@ const Nn = ({
4507
4515
  ),
4508
4516
  children: [
4509
4517
  /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: /* @__PURE__ */ e(
4510
- Q,
4518
+ Z,
4511
4519
  {
4512
- icon: H ? je : We,
4520
+ icon: H ? Re : Ge,
4513
4521
  color: H ? "primary" : "secondary"
4514
4522
  }
4515
4523
  ) }),
4516
4524
  /* @__PURE__ */ e("div", { className: "flex-grow truncate", children: H ? /* @__PURE__ */ e("span", { className: "text-sm text-text font-medium", children: H.name }) : /* @__PURE__ */ e("span", { className: "text-sm text-text-muted", children: s }) }),
4517
- H && !l && /* @__PURE__ */ e("button", { onClick: G, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(Q, { icon: Se, size: "xs" }) })
4525
+ H && !l && /* @__PURE__ */ e("button", { onClick: G, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(Z, { icon: Se, size: "xs" }) })
4518
4526
  ]
4519
4527
  }
4520
4528
  ),
4521
4529
  a && /* @__PURE__ */ e(me, { variant: "body", size: "xs", className: "text-danger-fg", children: a }),
4522
4530
  /* @__PURE__ */ e(
4523
- ft,
4531
+ xt,
4524
4532
  {
4525
4533
  open: g,
4526
4534
  onClose: () => {
@@ -4529,14 +4537,14 @@ const Nn = ({
4529
4537
  title: h ? `Explorer: ${h.name}` : "Select Storage Mount",
4530
4538
  size: "lg",
4531
4539
  children: /* @__PURE__ */ e(
4532
- vn,
4540
+ wn,
4533
4541
  {
4534
4542
  variant: "pills",
4535
4543
  items: [
4536
4544
  {
4537
4545
  id: "remote",
4538
4546
  label: "Platform Storage",
4539
- content: /* @__PURE__ */ e("div", { className: "space-y-4", children: h ? /* @__PURE__ */ c($e, { children: [
4547
+ content: /* @__PURE__ */ e("div", { className: "space-y-4", children: h ? /* @__PURE__ */ c(Le, { children: [
4540
4548
  /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-2", children: [
4541
4549
  /* @__PURE__ */ e(
4542
4550
  ae,
@@ -4545,7 +4553,7 @@ const Nn = ({
4545
4553
  onClick: () => {
4546
4554
  k && k !== "/" ? S() : C(null);
4547
4555
  },
4548
- leftIcon: /* @__PURE__ */ e(Q, { icon: Lt, size: "xs" }),
4556
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Pt, size: "xs" }),
4549
4557
  children: k ? "Back" : "Back to Mounts"
4550
4558
  }
4551
4559
  ),
@@ -4556,7 +4564,7 @@ const Nn = ({
4556
4564
  placeholder: "Search...",
4557
4565
  value: I,
4558
4566
  onChange: (N) => O(N.target.value),
4559
- startIcon: /* @__PURE__ */ e(Ie, { size: 14 }),
4567
+ startIcon: /* @__PURE__ */ e(Oe, { size: 14 }),
4560
4568
  fullWidth: !0
4561
4569
  }
4562
4570
  ) }),
@@ -4566,7 +4574,7 @@ const Nn = ({
4566
4574
  {
4567
4575
  variant: "outline",
4568
4576
  onClick: () => W(!0),
4569
- leftIcon: /* @__PURE__ */ e(Q, { icon: It, size: "xs" }),
4577
+ leftIcon: /* @__PURE__ */ e(Z, { icon: jt, size: "xs" }),
4570
4578
  children: "New Folder"
4571
4579
  }
4572
4580
  ),
@@ -4575,7 +4583,7 @@ const Nn = ({
4575
4583
  {
4576
4584
  variant: "primary",
4577
4585
  onClick: () => E.current?.click(),
4578
- leftIcon: /* @__PURE__ */ e(Q, { icon: Ot, size: "xs" }),
4586
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Rt, size: "xs" }),
4579
4587
  loading: F,
4580
4588
  children: "Upload"
4581
4589
  }
@@ -4586,14 +4594,14 @@ const Nn = ({
4586
4594
  type: "file",
4587
4595
  className: "hidden",
4588
4596
  ref: E,
4589
- onChange: M,
4597
+ onChange: z,
4590
4598
  accept: o
4591
4599
  }
4592
4600
  )
4593
4601
  ] })
4594
4602
  ] }),
4595
4603
  te && /* @__PURE__ */ c("div", { className: "flex items-center gap-2 p-3 bg-surface-sunk rounded-lg border border-border", children: [
4596
- /* @__PURE__ */ e(Q, { icon: Ge, size: "sm", color: "warning" }),
4604
+ /* @__PURE__ */ e(Z, { icon: Je, size: "sm", color: "warning" }),
4597
4605
  /* @__PURE__ */ e(
4598
4606
  Ce,
4599
4607
  {
@@ -4607,9 +4615,9 @@ const Nn = ({
4607
4615
  /* @__PURE__ */ e(ae, { variant: "ghost", onClick: () => W(!1), children: "Cancel" })
4608
4616
  ] }),
4609
4617
  /* @__PURE__ */ e("div", { className: "max-h-100 overflow-auto rounded-lg border border-border", children: /* @__PURE__ */ e(
4610
- Xe,
4618
+ Ze,
4611
4619
  {
4612
- data: z,
4620
+ data: M,
4613
4621
  columns: X,
4614
4622
  loading: F,
4615
4623
  emptyContent: "This folder is empty",
@@ -4617,7 +4625,7 @@ const Nn = ({
4617
4625
  }
4618
4626
  ) })
4619
4627
  ] }) : /* @__PURE__ */ e("div", { className: "max-h-100 overflow-auto rounded-lg border border-border", children: /* @__PURE__ */ e(
4620
- Xe,
4628
+ Ze,
4621
4629
  {
4622
4630
  data: w,
4623
4631
  columns: q,
@@ -4631,7 +4639,7 @@ const Nn = ({
4631
4639
  id: "local",
4632
4640
  label: "Local File",
4633
4641
  content: /* @__PURE__ */ e("div", { className: "space-y-6", children: /* @__PURE__ */ c("div", { className: "flex flex-col items-center justify-center py-12 border-2 border-dashed border-border rounded-xl bg-surface-sunk/50", children: [
4634
- /* @__PURE__ */ e("div", { className: "p-4 bg-accent-soft rounded-full mb-4", children: /* @__PURE__ */ e(Q, { icon: je, size: "xl", color: "primary" }) }),
4642
+ /* @__PURE__ */ e("div", { className: "p-4 bg-accent-soft rounded-full mb-4", children: /* @__PURE__ */ e(Z, { icon: Re, size: "xl", color: "primary" }) }),
4635
4643
  /* @__PURE__ */ e(me, { variant: "label", size: "lg", weight: "semibold", children: "Select a file from your computer" }),
4636
4644
  /* @__PURE__ */ c(
4637
4645
  me,
@@ -4676,12 +4684,12 @@ const Nn = ({
4676
4684
  }
4677
4685
  )
4678
4686
  ] });
4679
- }, wn = {
4687
+ }, Sn = {
4680
4688
  sm: "px-3 py-1.5 text-sm",
4681
4689
  md: "px-3 py-2 text-base",
4682
4690
  lg: "px-3 py-2 text-md",
4683
4691
  full: "px-3 py-2 text-md"
4684
- }, He = be(
4692
+ }, qe = be(
4685
4693
  ({
4686
4694
  label: t,
4687
4695
  helperText: r,
@@ -4703,7 +4711,7 @@ const Nn = ({
4703
4711
  {
4704
4712
  htmlFor: w,
4705
4713
  className: d(
4706
- dt,
4714
+ mt,
4707
4715
  v ? "text-danger-fg" : "text-text-muted",
4708
4716
  u
4709
4717
  ),
@@ -4720,10 +4728,10 @@ const Nn = ({
4720
4728
  "aria-invalid": v || void 0,
4721
4729
  "aria-describedby": h,
4722
4730
  className: d(
4723
- ut,
4731
+ ft,
4724
4732
  "resize-y leading-relaxed",
4725
- wn[s],
4726
- mt(v),
4733
+ Sn[s],
4734
+ ht(v),
4727
4735
  i
4728
4736
  ),
4729
4737
  ...f
@@ -4748,14 +4756,14 @@ const Nn = ({
4748
4756
  ] });
4749
4757
  }
4750
4758
  );
4751
- He.displayName = "TextArea";
4752
- function Ze(t, r) {
4759
+ qe.displayName = "TextArea";
4760
+ function et(t, r) {
4753
4761
  return r.split(".").reduce(
4754
4762
  (n, s) => n && typeof n == "object" && s in n ? n[s] : void 0,
4755
4763
  t
4756
4764
  );
4757
4765
  }
4758
- function kn(t, r, n) {
4766
+ function En(t, r, n) {
4759
4767
  const s = r.split("."), a = Array.isArray(t) ? [...t] : { ...t };
4760
4768
  let l = a;
4761
4769
  for (let o = 0; o < s.length - 1; o++) {
@@ -4764,7 +4772,7 @@ function kn(t, r, n) {
4764
4772
  }
4765
4773
  return l[s[s.length - 1]] = n, a;
4766
4774
  }
4767
- function Cn(t, r) {
4775
+ function Tn(t, r) {
4768
4776
  const n = r.split("."), s = Array.isArray(t) ? [...t] : { ...t };
4769
4777
  let a = s;
4770
4778
  for (let l = 0; l < n.length - 1; l++) {
@@ -4774,7 +4782,7 @@ function Cn(t, r) {
4774
4782
  }
4775
4783
  return delete a[n[n.length - 1]], s;
4776
4784
  }
4777
- function Sn({
4785
+ function Mn({
4778
4786
  title: t,
4779
4787
  description: r,
4780
4788
  className: n,
@@ -4788,7 +4796,7 @@ function Sn({
4788
4796
  /* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: s })
4789
4797
  ] });
4790
4798
  }
4791
- const ta = ({
4799
+ const na = ({
4792
4800
  groups: t,
4793
4801
  data: r,
4794
4802
  onSubmit: n,
@@ -4810,7 +4818,7 @@ const ta = ({
4810
4818
  (x) => `${k}-${String(x).replace(/\./g, "-")}`,
4811
4819
  [k]
4812
4820
  ), [D, Y] = B({}), [F, _] = B({});
4813
- Z(() => {
4821
+ Q(() => {
4814
4822
  r && C({ ...r });
4815
4823
  }, [r]);
4816
4824
  const I = de(
@@ -4826,20 +4834,20 @@ const ta = ({
4826
4834
  return `${T.label} must be an array.`;
4827
4835
  if (Array.isArray(E) && T.arrayFields) {
4828
4836
  const L = [];
4829
- let M = !1;
4837
+ let z = !1;
4830
4838
  if (E.forEach((ce, ie) => {
4831
4839
  const G = {};
4832
4840
  for (const K of T.arrayFields) {
4833
4841
  const j = ce?.[K.name];
4834
4842
  if (K.required && (j == null || j === ""))
4835
- G[K.name] = `${K.label} is required`, M = !0;
4843
+ G[K.name] = `${K.label} is required`, z = !0;
4836
4844
  else if (K.validator) {
4837
4845
  const S = K.validator(j, ce);
4838
- S && (G[K.name] = S, M = !0);
4846
+ S && (G[K.name] = S, z = !0);
4839
4847
  }
4840
4848
  }
4841
4849
  L[ie] = G;
4842
- }), M)
4850
+ }), z)
4843
4851
  return JSON.stringify(L);
4844
4852
  }
4845
4853
  }
@@ -4848,11 +4856,11 @@ const ta = ({
4848
4856
  [t]
4849
4857
  ), O = de(
4850
4858
  (x, E) => {
4851
- let $ = kn(h, x, E);
4852
- t.flatMap((M) => M.items).find((M) => M.name === x)?.removeIfEmpty && (E == null || E === "") && ($ = Cn($, x)), C($), _((M) => ({ ...M, [x]: !0 }));
4859
+ let $ = En(h, x, E);
4860
+ t.flatMap((z) => z.items).find((z) => z.name === x)?.removeIfEmpty && (E == null || E === "") && ($ = Tn($, x)), C($), _((z) => ({ ...z, [x]: !0 }));
4853
4861
  const L = I(x, E, $);
4854
- Y((M) => ({
4855
- ...M,
4862
+ Y((z) => ({
4863
+ ...z,
4856
4864
  [x]: L || ""
4857
4865
  })), a?.($, x);
4858
4866
  },
@@ -4864,12 +4872,12 @@ const ta = ({
4864
4872
  for (const L of $) {
4865
4873
  if (L.hidden || L.conditional && !L.conditional(h))
4866
4874
  continue;
4867
- const M = I(
4875
+ const z = I(
4868
4876
  L.name,
4869
- Ze(h, L.name),
4877
+ et(h, L.name),
4870
4878
  h
4871
4879
  );
4872
- M && (E[L.name] = M);
4880
+ z && (E[L.name] = z);
4873
4881
  }
4874
4882
  if (o) {
4875
4883
  const L = o(h);
@@ -4883,7 +4891,7 @@ const ta = ({
4883
4891
  [h, t, I, o, l, n, g]
4884
4892
  ), U = de(
4885
4893
  (x) => {
4886
- const E = Ze(h, x.name), $ = F[x.name] ? D[x.name] : void 0, T = x.disabled || g, L = {
4894
+ const E = et(h, x.name), $ = F[x.name] ? D[x.name] : void 0, T = x.disabled || g, L = {
4887
4895
  // Ties the field to the `<label>` the group wrapper renders; without it
4888
4896
  // labels are unassociated — screen readers announce nothing, clicking a
4889
4897
  // label focuses nothing, and tests cannot find a field by its label.
@@ -4906,7 +4914,7 @@ const ta = ({
4906
4914
  Ce,
4907
4915
  {
4908
4916
  ...L,
4909
- onChange: (M) => O(x.name, M.target.value),
4917
+ onChange: (z) => O(x.name, z.target.value),
4910
4918
  type: x.textType || x.type,
4911
4919
  ...Qe(x.autocomplete),
4912
4920
  error: $,
@@ -4915,10 +4923,10 @@ const ta = ({
4915
4923
  );
4916
4924
  case "textarea":
4917
4925
  return /* @__PURE__ */ e(
4918
- He,
4926
+ qe,
4919
4927
  {
4920
4928
  ...L,
4921
- onChange: (M) => O(x.name, M.target.value),
4929
+ onChange: (z) => O(x.name, z.target.value),
4922
4930
  rows: x.rows ?? 4,
4923
4931
  error: $,
4924
4932
  size: f
@@ -4926,13 +4934,13 @@ const ta = ({
4926
4934
  );
4927
4935
  case "select":
4928
4936
  return /* @__PURE__ */ e(
4929
- _e,
4937
+ $e,
4930
4938
  {
4931
4939
  ...L,
4932
- onChange: (M) => O(x.name, M),
4933
- options: (x.options || []).map((M) => ({
4934
- ...M,
4935
- value: String(M.value)
4940
+ onChange: (z) => O(x.name, z),
4941
+ options: (x.options || []).map((z) => ({
4942
+ ...z,
4943
+ value: String(z.value)
4936
4944
  })),
4937
4945
  searchable: x.searchable,
4938
4946
  multiple: x.multiple,
@@ -4946,14 +4954,14 @@ const ta = ({
4946
4954
  // open to learn what the choices even are.
4947
4955
  case "segmented":
4948
4956
  return /* @__PURE__ */ e(
4949
- lr,
4957
+ ir,
4950
4958
  {
4951
4959
  "aria-label": x.label,
4952
4960
  value: E == null ? "" : String(E),
4953
- onChange: (M) => O(x.name, M),
4954
- options: (x.options || []).map((M) => ({
4955
- value: String(M.value),
4956
- label: M.label
4961
+ onChange: (z) => O(x.name, z),
4962
+ options: (x.options || []).map((z) => ({
4963
+ value: String(z.value),
4964
+ label: z.label
4957
4965
  })),
4958
4966
  size: f === "sm" ? "sm" : "md",
4959
4967
  className: x.disabled ? "pointer-events-none opacity-50" : void 0
@@ -4966,12 +4974,12 @@ const ta = ({
4966
4974
  ...L,
4967
4975
  label: x.label,
4968
4976
  checked: !!E,
4969
- onChange: (M) => O(x.name, M.target.checked),
4977
+ onChange: (z) => O(x.name, z.target.checked),
4970
4978
  size: f
4971
4979
  }
4972
4980
  );
4973
4981
  case "radio":
4974
- return /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: x.options?.map((M) => /* @__PURE__ */ c(
4982
+ return /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: x.options?.map((z) => /* @__PURE__ */ c(
4975
4983
  "label",
4976
4984
  {
4977
4985
  className: "flex cursor-pointer items-center gap-3 text-base text-text",
@@ -4981,67 +4989,67 @@ const ta = ({
4981
4989
  {
4982
4990
  type: "radio",
4983
4991
  name: x.name,
4984
- value: M.value,
4985
- checked: E === M.value,
4986
- onChange: () => O(x.name, M.value),
4987
- disabled: T || M.disabled,
4992
+ value: z.value,
4993
+ checked: E === z.value,
4994
+ onChange: () => O(x.name, z.value),
4995
+ disabled: T || z.disabled,
4988
4996
  className: "size-checkbox shrink-0 rounded-xs border border-border-strong bg-surface-input accent-accent focus-visible:outline-none focus-visible:focus-ring"
4989
4997
  }
4990
4998
  ),
4991
- M.label
4999
+ z.label
4992
5000
  ]
4993
5001
  },
4994
- M.value
5002
+ z.value
4995
5003
  )) });
4996
5004
  case "date":
4997
5005
  return /* @__PURE__ */ e(
4998
- Be,
5006
+ He,
4999
5007
  {
5000
5008
  ...L,
5001
5009
  value: E ? new Date(E) : null,
5002
- onChange: (M) => O(x.name, M),
5010
+ onChange: (z) => O(x.name, z),
5003
5011
  size: f
5004
5012
  }
5005
5013
  );
5006
5014
  case "file":
5007
5015
  return /* @__PURE__ */ e(
5008
- Nn,
5016
+ Cn,
5009
5017
  {
5010
5018
  ...L,
5011
5019
  value: E,
5012
- onChange: (M) => O(x.name, M),
5020
+ onChange: (z) => O(x.name, z),
5013
5021
  error: $,
5014
- onListFiles: (M) => v?.http.invoke({
5022
+ onListFiles: (z) => v?.http.invoke({
5015
5023
  method: "POST",
5016
5024
  action: "storage.file.list",
5017
- body: M
5025
+ body: z
5018
5026
  }),
5019
5027
  onListMounts: () => v?.http.invoke({
5020
5028
  method: "GET",
5021
5029
  action: "storage.mount"
5022
5030
  }),
5023
- onUploadFile: (M) => v?.http.invoke({
5031
+ onUploadFile: (z) => v?.http.invoke({
5024
5032
  method: "POST",
5025
5033
  action: "storage.file.upload",
5026
- body: M
5034
+ body: z
5027
5035
  }),
5028
- onDownloadFile: (M) => v?.http.invoke({
5036
+ onDownloadFile: (z) => v?.http.invoke({
5029
5037
  method: "GET",
5030
- action: `storage.file.${M}.download`
5038
+ action: `storage.file.${z}.download`
5031
5039
  }),
5032
- onRegisterFile: (M) => v?.http.invoke({
5040
+ onRegisterFile: (z) => v?.http.invoke({
5033
5041
  method: "POST",
5034
5042
  action: "storage.file.folder",
5035
- body: M
5043
+ body: z
5036
5044
  })
5037
5045
  }
5038
5046
  );
5039
5047
  case "folder":
5040
5048
  return /* @__PURE__ */ e(
5041
- bn,
5049
+ yn,
5042
5050
  {
5043
5051
  value: E || {},
5044
- onChange: (M) => O(x.name, M),
5052
+ onChange: (z) => O(x.name, z),
5045
5053
  onListFolders: () => v?.http.invoke({
5046
5054
  method: "GET",
5047
5055
  action: "storage.mount"
@@ -5054,12 +5062,12 @@ const ta = ({
5054
5062
  case "custom":
5055
5063
  return x.customComponent?.({
5056
5064
  value: E,
5057
- onChange: (M) => O(x.name, M),
5065
+ onChange: (z) => O(x.name, z),
5058
5066
  error: $,
5059
5067
  disabled: T
5060
5068
  });
5061
5069
  case "array": {
5062
- const M = E || [];
5070
+ const z = E || [];
5063
5071
  let ce = [];
5064
5072
  if (typeof $ == "string" && $.startsWith("["))
5065
5073
  try {
@@ -5067,37 +5075,37 @@ const ta = ({
5067
5075
  } catch {
5068
5076
  }
5069
5077
  const ie = () => {
5070
- O(x.name, [...M, {}]);
5078
+ O(x.name, [...z, {}]);
5071
5079
  }, G = (j) => {
5072
5080
  O(
5073
5081
  x.name,
5074
- M.filter((S, z) => z !== j)
5082
+ z.filter((S, M) => M !== j)
5075
5083
  );
5076
- }, K = (j, S, z) => {
5077
- const X = [...M];
5084
+ }, K = (j, S, M) => {
5085
+ const X = [...z];
5078
5086
  X[j] = {
5079
5087
  ...X[j],
5080
- [S]: z
5088
+ [S]: M
5081
5089
  }, O(x.name, X);
5082
5090
  };
5083
5091
  return /* @__PURE__ */ c("div", { className: "flex flex-col gap-2", children: [
5084
- M.map((j, S) => /* @__PURE__ */ c("div", { className: "flex items-start gap-2", children: [
5085
- /* @__PURE__ */ e("div", { className: "grid flex-1 gap-2 sm:grid-cols-2", children: x.arrayFields?.map((z) => {
5086
- const X = ce?.[S]?.[z.name];
5092
+ z.map((j, S) => /* @__PURE__ */ c("div", { className: "flex items-start gap-2", children: [
5093
+ /* @__PURE__ */ e("div", { className: "grid flex-1 gap-2 sm:grid-cols-2", children: x.arrayFields?.map((M) => {
5094
+ const X = ce?.[S]?.[M.name];
5087
5095
  return /* @__PURE__ */ c("div", { className: "flex flex-col gap-1", children: [
5088
5096
  S === 0 && /* @__PURE__ */ c("label", { className: "block text-xs font-semibold uppercase tracking-label text-text-subtle", children: [
5089
- z.label,
5090
- z.required && /* @__PURE__ */ e("span", { className: "ml-1 text-danger-fg", children: "*" })
5097
+ M.label,
5098
+ M.required && /* @__PURE__ */ e("span", { className: "ml-1 text-danger-fg", children: "*" })
5091
5099
  ] }),
5092
5100
  (() => {
5093
5101
  const q = {
5094
- value: j?.[z.name] || "",
5102
+ value: j?.[M.name] || "",
5095
5103
  disabled: T,
5096
- required: z.required,
5097
- placeholder: z.placeholder,
5098
- ...z.fieldProps
5104
+ required: M.required,
5105
+ placeholder: M.placeholder,
5106
+ ...M.fieldProps
5099
5107
  };
5100
- switch (z.type) {
5108
+ switch (M.type) {
5101
5109
  case "text":
5102
5110
  case "email":
5103
5111
  case "password":
@@ -5110,43 +5118,43 @@ const ta = ({
5110
5118
  ...q,
5111
5119
  onChange: (N) => K(
5112
5120
  S,
5113
- z.name,
5121
+ M.name,
5114
5122
  N.target.value
5115
5123
  ),
5116
- type: z.textType || z.type,
5117
- ...Qe(z.autocomplete),
5124
+ type: M.textType || M.type,
5125
+ ...Qe(M.autocomplete),
5118
5126
  error: X,
5119
5127
  size: f
5120
5128
  }
5121
5129
  );
5122
5130
  case "textarea":
5123
5131
  return /* @__PURE__ */ e(
5124
- He,
5132
+ qe,
5125
5133
  {
5126
5134
  ...q,
5127
5135
  onChange: (N) => K(
5128
5136
  S,
5129
- z.name,
5137
+ M.name,
5130
5138
  N.target.value
5131
5139
  ),
5132
- rows: z.rows ?? 4,
5140
+ rows: M.rows ?? 4,
5133
5141
  error: X,
5134
5142
  size: f
5135
5143
  }
5136
5144
  );
5137
5145
  case "select":
5138
5146
  return /* @__PURE__ */ e(
5139
- _e,
5147
+ $e,
5140
5148
  {
5141
5149
  ...q,
5142
- onChange: (N) => K(S, z.name, N),
5143
- options: (z.options || []).map((N) => ({
5150
+ onChange: (N) => K(S, M.name, N),
5151
+ options: (M.options || []).map((N) => ({
5144
5152
  ...N,
5145
5153
  value: String(N.value)
5146
5154
  })),
5147
- searchable: z.searchable,
5148
- multiple: z.multiple,
5149
- allowCreate: z.allowCreate,
5155
+ searchable: M.searchable,
5156
+ multiple: M.multiple,
5157
+ allowCreate: M.allowCreate,
5150
5158
  error: X,
5151
5159
  size: f
5152
5160
  }
@@ -5156,17 +5164,17 @@ const ta = ({
5156
5164
  we,
5157
5165
  {
5158
5166
  ...q,
5159
- checked: !!j?.[z.name],
5167
+ checked: !!j?.[M.name],
5160
5168
  onChange: (N) => K(
5161
5169
  S,
5162
- z.name,
5170
+ M.name,
5163
5171
  N.target.checked
5164
5172
  ),
5165
5173
  size: f
5166
5174
  }
5167
5175
  );
5168
5176
  case "radio":
5169
- return /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: z.options?.map((N) => /* @__PURE__ */ c(
5177
+ return /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: M.options?.map((N) => /* @__PURE__ */ c(
5170
5178
  "label",
5171
5179
  {
5172
5180
  className: "flex cursor-pointer items-center gap-2 text-base text-text",
@@ -5175,12 +5183,12 @@ const ta = ({
5175
5183
  "input",
5176
5184
  {
5177
5185
  type: "radio",
5178
- name: `${x.name}.${S}.${z.name}`,
5186
+ name: `${x.name}.${S}.${M.name}`,
5179
5187
  value: N.value,
5180
- checked: j?.[z.name] === N.value,
5188
+ checked: j?.[M.name] === N.value,
5181
5189
  onChange: () => K(
5182
5190
  S,
5183
- z.name,
5191
+ M.name,
5184
5192
  N.value
5185
5193
  ),
5186
5194
  disabled: T || N.disabled,
@@ -5193,33 +5201,33 @@ const ta = ({
5193
5201
  N.value
5194
5202
  )) });
5195
5203
  case "date": {
5196
- const N = j?.[z.name];
5204
+ const N = j?.[M.name];
5197
5205
  return /* @__PURE__ */ e(
5198
- Be,
5206
+ He,
5199
5207
  {
5200
5208
  ...q,
5201
5209
  value: N ? new Date(N) : null,
5202
- onChange: (R) => K(S, z.name, R),
5210
+ onChange: (R) => K(S, M.name, R),
5203
5211
  size: f
5204
5212
  }
5205
5213
  );
5206
5214
  }
5207
5215
  case "custom":
5208
- return z.customComponent?.({
5209
- value: j?.[z.name],
5210
- onChange: (N) => K(S, z.name, N),
5216
+ return M.customComponent?.({
5217
+ value: j?.[M.name],
5218
+ onChange: (N) => K(S, M.name, N),
5211
5219
  error: X,
5212
5220
  disabled: T
5213
5221
  });
5214
5222
  default:
5215
5223
  return /* @__PURE__ */ c("p", { children: [
5216
5224
  "Unsupported field type in array: ",
5217
- z.type
5225
+ M.type
5218
5226
  ] });
5219
5227
  }
5220
5228
  })(),
5221
5229
  X && /* @__PURE__ */ e("p", { className: "text-xs text-danger-fg", children: X })
5222
- ] }, z.name);
5230
+ ] }, M.name);
5223
5231
  }) }),
5224
5232
  /* @__PURE__ */ e(
5225
5233
  ae,
@@ -5232,7 +5240,7 @@ const ta = ({
5232
5240
  onClick: () => G(S),
5233
5241
  disabled: T,
5234
5242
  className: d("shrink-0", S === 0 && "mt-5"),
5235
- children: /* @__PURE__ */ e(Pt, { className: "size-icon-md" })
5243
+ children: /* @__PURE__ */ e(Ft, { className: "size-icon-md" })
5236
5244
  }
5237
5245
  )
5238
5246
  ] }, S)),
@@ -5241,7 +5249,7 @@ const ta = ({
5241
5249
  {
5242
5250
  type: "button",
5243
5251
  variant: "secondary",
5244
- leftIcon: /* @__PURE__ */ e(jt, { className: "size-icon-sm" }),
5252
+ leftIcon: /* @__PURE__ */ e(Bt, { className: "size-icon-sm" }),
5245
5253
  onClick: ie,
5246
5254
  disabled: T,
5247
5255
  children: [
@@ -5278,7 +5286,7 @@ const ta = ({
5278
5286
  // form *is* the page now, so a panel around each section would be a
5279
5287
  // second surface on top of the one it already sits on.
5280
5288
  /* @__PURE__ */ e(
5281
- Sn,
5289
+ Mn,
5282
5290
  {
5283
5291
  title: x.title,
5284
5292
  description: x.description,
@@ -5362,7 +5370,7 @@ const ta = ({
5362
5370
  ] })
5363
5371
  ] });
5364
5372
  };
5365
- function ra({
5373
+ function sa({
5366
5374
  label: t,
5367
5375
  value: r,
5368
5376
  onChange: n,
@@ -5379,8 +5387,8 @@ function ra({
5379
5387
  const g = se(null), [b, w] = B(null), v = async (h) => {
5380
5388
  if (!h) return;
5381
5389
  w(null);
5382
- const C = await Tn(h, s);
5383
- if (a && En(C) > a) {
5390
+ const C = await An(h, s);
5391
+ if (a && zn(C) > a) {
5384
5392
  w(f);
5385
5393
  return;
5386
5394
  }
@@ -5439,11 +5447,11 @@ function ra({
5439
5447
  )
5440
5448
  ] });
5441
5449
  }
5442
- function En(t) {
5450
+ function zn(t) {
5443
5451
  const r = t.slice(t.indexOf(",") + 1), n = r.endsWith("==") ? 2 : r.endsWith("=") ? 1 : 0;
5444
5452
  return Math.floor(r.length * 3 / 4) - n;
5445
5453
  }
5446
- function Tn(t, r) {
5454
+ function An(t, r) {
5447
5455
  return new Promise((n, s) => {
5448
5456
  const a = new FileReader();
5449
5457
  a.onload = () => {
@@ -5461,20 +5469,20 @@ function Tn(t, r) {
5461
5469
  }, a.onerror = s, a.readAsDataURL(t);
5462
5470
  });
5463
5471
  }
5464
- function zn(t) {
5472
+ function Dn(t) {
5465
5473
  const r = [];
5466
- return t.querySelectorAll("[data-mention-id]").forEach((n) => {
5467
- const s = n.getAttribute("data-mention-id");
5474
+ return t.querySelectorAll(`[${_e}]`).forEach((n) => {
5475
+ const s = n.getAttribute(_e);
5468
5476
  s && r.push(s);
5469
- }), { text: t.innerText ?? "", mentions: r };
5477
+ }), { text: t.innerText ?? "", mentions: r, html: gt(t.innerHTML) };
5470
5478
  }
5471
- function Mn(t) {
5472
- return qe.sanitize(t.replace(/\n/g, "<br>"));
5479
+ function _n(t) {
5480
+ return Ue.sanitize(t.replace(/\n/g, "<br>"));
5473
5481
  }
5474
- function An(t) {
5475
- return qe.sanitize(t, { ADD_ATTR: ["data-mention-id", "contenteditable"] });
5482
+ function gt(t) {
5483
+ return Ue.sanitize(t, { ADD_ATTR: [_e, "contenteditable"] });
5476
5484
  }
5477
- const Dn = be(
5485
+ const $n = be(
5478
5486
  ({ initialContent: t, onChange: r, people: n, placeholder: s, onSubmit: a, autoFocus: l, className: o }, u) => {
5479
5487
  const i = se(null), [p, m] = B(null), [f, g] = B(null), [b, w] = B(0), v = ge(() => ({ current: f }), [f]), h = ge(() => {
5480
5488
  if (p === null) return [];
@@ -5482,8 +5490,8 @@ const Dn = be(
5482
5490
  return n.filter((I) => I.name.toLowerCase().includes(_)).slice(0, 8);
5483
5491
  }, [n, p]), C = Te(h.length > 0, v, { gap: 4 }), k = de(() => {
5484
5492
  if (!i.current) return;
5485
- const { text: _, mentions: I } = zn(i.current);
5486
- r(_, I);
5493
+ const { text: _, mentions: I, html: O } = Dn(i.current);
5494
+ r(_, I, O);
5487
5495
  }, [r]), P = de(() => {
5488
5496
  m(null), g(null), w(0);
5489
5497
  }, []);
@@ -5501,16 +5509,16 @@ const Dn = be(
5501
5509
  U.appendChild(document.createTextNode(W)), y < te.length - 1 && U.appendChild(document.createElement("br"));
5502
5510
  }), H.insertNode(U), H.collapse(!1), O.removeAllRanges(), O.addRange(H);
5503
5511
  } else
5504
- I.innerHTML += Mn(_);
5512
+ I.innerHTML += _n(_);
5505
5513
  k();
5506
5514
  },
5507
5515
  clear: () => {
5508
5516
  i.current && (i.current.innerHTML = "", P(), k());
5509
5517
  },
5510
5518
  focus: () => i.current?.focus()
5511
- })), Z(() => {
5512
- !i.current || !t || (i.current.innerHTML = An(t), k());
5513
- }, [t, k]), Z(() => {
5519
+ })), Q(() => {
5520
+ !i.current || !t || (i.current.innerHTML = gt(t), k());
5521
+ }, [t, k]), Q(() => {
5514
5522
  l && (window.matchMedia?.("(max-width: 767px)").matches || i.current?.focus());
5515
5523
  }, [l]);
5516
5524
  const D = de((_) => {
@@ -5533,7 +5541,7 @@ const Dn = be(
5533
5541
  if (!I) return;
5534
5542
  f.deleteContents();
5535
5543
  const O = document.createElement("span");
5536
- O.textContent = `@${_.name}`, O.setAttribute("data-mention-id", _.id), O.setAttribute("contenteditable", "false"), O.className = "bg-beta-container text-info-fg font-semibold px-1 rounded-md";
5544
+ O.textContent = `@${_.name}`, O.setAttribute("data-mention-id", _.id), O.setAttribute("contenteditable", "false");
5537
5545
  const H = document.createTextNode(" ");
5538
5546
  f.insertNode(H), f.insertNode(O);
5539
5547
  const U = document.createRange();
@@ -5587,6 +5595,7 @@ const Dn = be(
5587
5595
  className: d(
5588
5596
  "block w-full min-h-16 rounded-lg p-3 text-sm",
5589
5597
  "border-border text-text focus:outline-none",
5598
+ lt,
5590
5599
  "empty:before:content-[attr(data-placeholder)] empty:before:text-text-subtle",
5591
5600
  o
5592
5601
  ),
@@ -5622,25 +5631,25 @@ const Dn = be(
5622
5631
  ] });
5623
5632
  }
5624
5633
  );
5625
- Dn.displayName = "MentionComposer";
5626
- const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(Ie, { ...t, strokeWidth: 1.5, "aria-hidden": !0 }), $n = (t) => /* @__PURE__ */ e(Le, { ...t, strokeWidth: 1.5, "aria-hidden": !0 }), Ln = {
5634
+ $n.displayName = "MentionComposer";
5635
+ const Ne = (...t) => t.filter(Boolean).join(" "), Ln = (t) => /* @__PURE__ */ e(Oe, { ...t, strokeWidth: 1.5, "aria-hidden": !0 }), In = (t) => /* @__PURE__ */ e(Ie, { ...t, strokeWidth: 1.5, "aria-hidden": !0 }), On = {
5627
5636
  sm: "h-control-sm px-3 text-sm",
5628
5637
  md: "h-control-md px-3 text-base",
5629
5638
  lg: "h-control-lg px-3 text-base",
5630
5639
  full: "h-control-md w-full px-3 text-base"
5631
- }, Fe = {
5640
+ }, Be = {
5632
5641
  sm: "h-4 w-4",
5633
5642
  md: "h-5 w-5",
5634
5643
  lg: "h-6 w-6",
5635
5644
  full: "h-6 w-6"
5636
- }, In = be(
5645
+ }, Pn = be(
5637
5646
  ({
5638
5647
  label: t,
5639
5648
  helperText: r,
5640
5649
  error: n,
5641
5650
  size: s = "md",
5642
5651
  fullWidth: a = !1,
5643
- startIcon: l = /* @__PURE__ */ e(_n, {}),
5652
+ startIcon: l = /* @__PURE__ */ e(Ln, {}),
5644
5653
  loading: o = !1,
5645
5654
  containerClassName: u,
5646
5655
  labelClassName: i,
@@ -5656,7 +5665,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5656
5665
  ...k
5657
5666
  }, P) => {
5658
5667
  const D = m || `searchfield-${Math.random().toString(36).substr(2, 9)}`, Y = !!n, F = se(null), _ = se(null), [I, O] = B(h || ""), [H, U] = B(!1), [te, W] = B(!1), [y, x] = B(!1);
5659
- Z(() => {
5668
+ Q(() => {
5660
5669
  h !== void 0 && O(h);
5661
5670
  }, [h]);
5662
5671
  const E = ge(() => {
@@ -5666,7 +5675,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5666
5675
  (K) => String(K.label).toLowerCase().includes(G)
5667
5676
  );
5668
5677
  }, [I, f, v, y]);
5669
- Z(() => {
5678
+ Q(() => {
5670
5679
  if (!g || !I) {
5671
5680
  W(!1);
5672
5681
  return;
@@ -5684,7 +5693,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5684
5693
  return () => {
5685
5694
  clearTimeout(G), W(!1);
5686
5695
  };
5687
- }, [I, w, g]), Z(() => {
5696
+ }, [I, w, g]), Q(() => {
5688
5697
  const G = (K) => {
5689
5698
  F.current && !F.current.contains(K.target) && U(!1);
5690
5699
  };
@@ -5697,7 +5706,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5697
5706
  O(G.label), U(!1), x(!1), b && b(G.value);
5698
5707
  }, L = () => {
5699
5708
  (f.length > 0 || g) && (U(!0), x(!1));
5700
- }, M = o || te, ce = H && (E.length > 0 || M), ie = ge(() => P || _, [P]);
5709
+ }, z = o || te, ce = H && (E.length > 0 || z), ie = ge(() => P || _, [P]);
5701
5710
  return /* @__PURE__ */ c(
5702
5711
  "div",
5703
5712
  {
@@ -5722,7 +5731,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5722
5731
  }
5723
5732
  ),
5724
5733
  /* @__PURE__ */ c("div", { className: "relative", children: [
5725
- l && /* @__PURE__ */ e("div", { className: "absolute left-0 pl-3 flex items-center pointer-events-none h-full", children: /* @__PURE__ */ e("span", { className: Ne("text-text-muted", Fe[s]), children: l }) }),
5734
+ l && /* @__PURE__ */ e("div", { className: "absolute left-0 pl-3 flex items-center pointer-events-none h-full", children: /* @__PURE__ */ e("span", { className: Ne("text-text-muted", Be[s]), children: l }) }),
5726
5735
  /* @__PURE__ */ e(
5727
5736
  "input",
5728
5737
  {
@@ -5737,7 +5746,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5737
5746
  "placeholder:text-text-subtle focus-visible:outline-none focus-visible:focus-ring",
5738
5747
  "disabled:cursor-not-allowed disabled:bg-surface-hover disabled:text-text-disabled",
5739
5748
  // Size styles
5740
- Ln[s],
5749
+ On[s],
5741
5750
  // Icon padding
5742
5751
  l ? "pl-10" : "",
5743
5752
  "pr-10",
@@ -5749,17 +5758,17 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5749
5758
  ...k
5750
5759
  }
5751
5760
  ),
5752
- /* @__PURE__ */ e("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center", children: M || o ? (
5761
+ /* @__PURE__ */ e("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center", children: z || o ? (
5753
5762
  // Loading Spinner
5754
- /* @__PURE__ */ e(Rt, { className: Ne("animate-spin text-info-fg", Fe[s]), "aria-hidden": !0 })
5763
+ /* @__PURE__ */ e(Ht, { className: Ne("animate-spin text-info-fg", Be[s]), "aria-hidden": !0 })
5755
5764
  ) : (
5756
5765
  // Dropdown Chevron
5757
5766
  /* @__PURE__ */ e(
5758
- $n,
5767
+ In,
5759
5768
  {
5760
5769
  className: Ne(
5761
5770
  "text-text-muted cursor-pointer transition-transform",
5762
- Fe[s],
5771
+ Be[s],
5763
5772
  H ? "rotate-180" : "rotate-0"
5764
5773
  ),
5765
5774
  onClick: () => {
@@ -5778,7 +5787,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5778
5787
  children: G.label
5779
5788
  },
5780
5789
  G.value
5781
- )) : /* @__PURE__ */ e("li", { className: "px-4 py-2 text-text-muted", children: M || o ? "Zoeken op afstand..." : "Geen resultaten gevonden." }) }),
5790
+ )) : /* @__PURE__ */ e("li", { className: "px-4 py-2 text-text-muted", children: z || o ? "Zoeken op afstand..." : "Geen resultaten gevonden." }) }),
5782
5791
  (n || r) && /* @__PURE__ */ e("p", { className: Ne("mt-1 text-xs", Y ? "text-danger-fg" : "text-text-muted"), children: n || r }),
5783
5792
  g && /* @__PURE__ */ c("p", { className: "mt-2 text-xs text-success-fg", children: [
5784
5793
  "Huidige zoekterm (niet-gedebounced): ",
@@ -5789,8 +5798,8 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5789
5798
  );
5790
5799
  }
5791
5800
  );
5792
- In.displayName = "SearchableTextField";
5793
- const On = be(
5801
+ Pn.displayName = "SearchableTextField";
5802
+ const jn = be(
5794
5803
  ({ checked: t, onChange: r, label: n, disabled: s = !1, className: a, ...l }, o) => {
5795
5804
  const u = /* @__PURE__ */ e(
5796
5805
  "span",
@@ -5843,25 +5852,25 @@ const On = be(
5843
5852
  );
5844
5853
  }
5845
5854
  );
5846
- On.displayName = "Switch";
5847
- const Pn = [
5855
+ jn.displayName = "Switch";
5856
+ const Rn = [
5848
5857
  { upTo: 1, cols: "grid-cols-1" },
5849
5858
  { upTo: 2, cols: "grid-cols-1 @[22rem]:grid-cols-2" },
5850
5859
  { upTo: 4, cols: "grid-cols-1 @[18rem]:grid-cols-2" },
5851
5860
  { upTo: 9, cols: "grid-cols-2 @[26rem]:grid-cols-3" }
5852
- ], jn = "grid-cols-2 @[26rem]:grid-cols-3 @[40rem]:grid-cols-4";
5853
- function Rn(t) {
5854
- return Pn.find((r) => t <= r.upTo)?.cols ?? jn;
5861
+ ], Fn = "grid-cols-2 @[26rem]:grid-cols-3 @[40rem]:grid-cols-4";
5862
+ function Bn(t) {
5863
+ return Rn.find((r) => t <= r.upTo)?.cols ?? Fn;
5855
5864
  }
5856
- function Fn(t, r) {
5865
+ function Hn(t, r) {
5857
5866
  const n = r ?? t;
5858
5867
  if (t <= n) return { shown: t, hidden: 0 };
5859
5868
  const s = Math.max(0, n - 1);
5860
5869
  return { shown: s, hidden: t - s };
5861
5870
  }
5862
- function na({ tiles: t, pinned: r, maxStrip: n, className: s }) {
5871
+ function aa({ tiles: t, pinned: r, maxStrip: n, className: s }) {
5863
5872
  if (r) {
5864
- const { shown: a, hidden: l } = Fn(t.length, n), o = t.slice(0, a);
5873
+ const { shown: a, hidden: l } = Hn(t.length, n), o = t.slice(0, a);
5865
5874
  return /* @__PURE__ */ c("div", { className: d("@container flex h-full min-h-0 flex-col gap-2", s), children: [
5866
5875
  /* @__PURE__ */ e("div", { className: "min-h-0 flex-1", children: r }),
5867
5876
  t.length > 0 && // Fixed height as a share of the pane, with a floor so the strip
@@ -5880,14 +5889,14 @@ function na({ tiles: t, pinned: r, maxStrip: n, className: s }) {
5880
5889
  {
5881
5890
  className: d(
5882
5891
  "@container grid h-full min-h-0 auto-rows-fr gap-2",
5883
- Rn(t.length),
5892
+ Bn(t.length),
5884
5893
  s
5885
5894
  ),
5886
5895
  children: t.map((a, l) => /* @__PURE__ */ e("div", { className: "min-h-0 min-w-0", children: a }, l))
5887
5896
  }
5888
5897
  );
5889
5898
  }
5890
- function sa({
5899
+ function la({
5891
5900
  name: t,
5892
5901
  avatarUrl: r,
5893
5902
  muted: n,
@@ -5914,23 +5923,23 @@ function sa({
5914
5923
  alt: t,
5915
5924
  className: "aspect-square w-[38%] max-w-16 min-w-6 rounded-full object-cover"
5916
5925
  }
5917
- ) : /* @__PURE__ */ e("div", { className: "flex aspect-square w-[38%] max-w-16 min-w-6 items-center justify-center rounded-full bg-video-surface-strong", children: a ? /* @__PURE__ */ e(Ft, { className: "w-1/2 h-1/2" }) : /* @__PURE__ */ e(Bt, { className: "w-1/2 h-1/2" }) }) }),
5926
+ ) : /* @__PURE__ */ e("div", { className: "flex aspect-square w-[38%] max-w-16 min-w-6 items-center justify-center rounded-full bg-video-surface-strong", children: a ? /* @__PURE__ */ e(qt, { className: "w-1/2 h-1/2" }) : /* @__PURE__ */ e(Ut, { className: "w-1/2 h-1/2" }) }) }),
5918
5927
  /* @__PURE__ */ c("div", { className: "absolute inset-x-2 bottom-2 flex w-fit max-w-[calc(100%-1rem)] items-center gap-1.5 rounded bg-video-overlay px-1.5 py-1 text-xs text-white", children: [
5919
- n ? /* @__PURE__ */ e(Ht, { className: "size-3 shrink-0" }) : /* @__PURE__ */ e(qt, { className: "size-3 shrink-0" }),
5928
+ n ? /* @__PURE__ */ e(Vt, { className: "size-3 shrink-0" }) : /* @__PURE__ */ e(Kt, { className: "size-3 shrink-0" }),
5920
5929
  /* @__PURE__ */ e("span", { className: "hidden truncate @[9rem]:inline", children: t })
5921
5930
  ] })
5922
5931
  ]
5923
5932
  }
5924
5933
  );
5925
5934
  }
5926
- function aa({
5935
+ function oa({
5927
5936
  attach: t,
5928
5937
  active: r = !0,
5929
5938
  mirrored: n = !1,
5930
5939
  className: s
5931
5940
  }) {
5932
5941
  const a = se(null);
5933
- return Z(() => {
5942
+ return Q(() => {
5934
5943
  if (!r || !a.current) return;
5935
5944
  const l = t(a.current);
5936
5945
  return () => {
@@ -5948,7 +5957,7 @@ function aa({
5948
5957
  }
5949
5958
  );
5950
5959
  }
5951
- const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht = ({ item: t, isSelectedHandler: r, onClick: n, depth: s = 0 }) => {
5960
+ const qn = () => /* @__PURE__ */ e(Ve, { variant: "inline", shape: "menu" }), bt = ({ item: t, isSelectedHandler: r, onClick: n, depth: s = 0 }) => {
5952
5961
  const a = !!(t.children && t.children.length > 0), l = r ? r(t.path) : !1;
5953
5962
  if (a)
5954
5963
  return /* @__PURE__ */ c("li", { children: [
@@ -5965,7 +5974,7 @@ const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht
5965
5974
  }
5966
5975
  ),
5967
5976
  /* @__PURE__ */ e("ul", { className: "flex flex-col gap-px", children: t.children?.map((i, p) => /* @__PURE__ */ e(
5968
- ht,
5977
+ bt,
5969
5978
  {
5970
5979
  item: i,
5971
5980
  isSelectedHandler: r,
@@ -6055,7 +6064,7 @@ const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht
6055
6064
  ]
6056
6065
  }
6057
6066
  ) });
6058
- }, la = ({
6067
+ }, ca = ({
6059
6068
  items: t,
6060
6069
  isSelectedHandler: r,
6061
6070
  onClick: n,
@@ -6063,12 +6072,12 @@ const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht
6063
6072
  loading: a = !1
6064
6073
  }) => a ? /* @__PURE__ */ c("nav", { className: "flex h-full min-h-0 shrink-0 flex-col", children: [
6065
6074
  s && /* @__PURE__ */ e("div", { className: "pb-4", children: s }),
6066
- /* @__PURE__ */ e(Bn, {})
6075
+ /* @__PURE__ */ e(qn, {})
6067
6076
  ] }) : /* @__PURE__ */ c("nav", { className: "flex h-full min-h-0 shrink-0 flex-col", children: [
6068
6077
  s && /* @__PURE__ */ e("div", { className: "pb-4", children: s }),
6069
6078
  /* @__PURE__ */ e("ul", { className: "flex min-h-0 flex-1 flex-col gap-px overflow-y-auto", children: t.map(
6070
6079
  (l, o) => !l.path && !l.label && !l.children ? /* @__PURE__ */ e("li", { "aria-hidden": !0, className: "h-4" }, o) : /* @__PURE__ */ e(
6071
- ht,
6080
+ bt,
6072
6081
  {
6073
6082
  item: l,
6074
6083
  isSelectedHandler: r,
@@ -6078,7 +6087,7 @@ const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht
6078
6087
  )
6079
6088
  ) })
6080
6089
  ] });
6081
- function oa({
6090
+ function ia({
6082
6091
  open: t,
6083
6092
  title: r,
6084
6093
  description: n,
@@ -6090,7 +6099,7 @@ function oa({
6090
6099
  onCancel: i
6091
6100
  }) {
6092
6101
  return /* @__PURE__ */ e(
6093
- ft,
6102
+ xt,
6094
6103
  {
6095
6104
  open: t,
6096
6105
  onClose: i,
@@ -6112,7 +6121,7 @@ function oa({
6112
6121
  }
6113
6122
  );
6114
6123
  }
6115
- const Hn = {
6124
+ const Un = {
6116
6125
  none: "p-0",
6117
6126
  xs: "p-1",
6118
6127
  sm: "p-2",
@@ -6120,7 +6129,7 @@ const Hn = {
6120
6129
  lg: "p-6",
6121
6130
  xl: "p-8",
6122
6131
  "2xl": "p-12"
6123
- }, qn = {
6132
+ }, Vn = {
6124
6133
  none: "m-0",
6125
6134
  xs: "m-1",
6126
6135
  sm: "m-2",
@@ -6128,7 +6137,7 @@ const Hn = {
6128
6137
  lg: "m-6",
6129
6138
  xl: "m-8",
6130
6139
  "2xl": "m-12"
6131
- }, Un = {
6140
+ }, Kn = {
6132
6141
  none: "",
6133
6142
  primary: "bg-accent text-accent-fg",
6134
6143
  secondary: "bg-surface-hover",
@@ -6144,26 +6153,26 @@ const Hn = {
6144
6153
  backdrop: "bg-page",
6145
6154
  editor: "bg-surface",
6146
6155
  input: "bg-surface-input"
6147
- }, Vn = {
6156
+ }, Wn = {
6148
6157
  none: "rounded-none",
6149
6158
  sm: "rounded-sm",
6150
6159
  md: "rounded-md",
6151
6160
  lg: "rounded-lg",
6152
6161
  xl: "rounded-xl",
6153
6162
  full: "rounded-full"
6154
- }, Kn = {
6163
+ }, Gn = {
6155
6164
  none: "shadow-none",
6156
6165
  sm: "shadow-none",
6157
6166
  md: "shadow-overlay",
6158
6167
  lg: "shadow-overlay",
6159
6168
  xl: "shadow-modal",
6160
6169
  "2xl": "shadow-modal"
6161
- }, Wn = {
6170
+ }, Jn = {
6162
6171
  none: "border-0",
6163
6172
  sm: "border",
6164
6173
  md: "border-2",
6165
6174
  lg: "border-4"
6166
- }, Gn = {
6175
+ }, Yn = {
6167
6176
  primary: "border-accent-border",
6168
6177
  secondary: "border-border",
6169
6178
  accent: "border-accent-border",
@@ -6173,7 +6182,7 @@ const Hn = {
6173
6182
  info: "border-info-border",
6174
6183
  neutral: "border-border-subtle",
6175
6184
  white: "border-border-subtle"
6176
- }, xt = be(
6185
+ }, pt = be(
6177
6186
  ({
6178
6187
  padding: t,
6179
6188
  margin: r,
@@ -6190,13 +6199,13 @@ const Hn = {
6190
6199
  {
6191
6200
  ref: m,
6192
6201
  className: d(
6193
- t && Hn[t],
6194
- r && qn[r],
6195
- n && Un[n],
6196
- s && Vn[s],
6197
- a && Kn[a],
6198
- l && Wn[l],
6199
- o && Gn[o],
6202
+ t && Un[t],
6203
+ r && Vn[r],
6204
+ n && Kn[n],
6205
+ s && Wn[s],
6206
+ a && Gn[a],
6207
+ l && Jn[l],
6208
+ o && Yn[o],
6200
6209
  u
6201
6210
  ),
6202
6211
  ...p,
@@ -6204,11 +6213,11 @@ const Hn = {
6204
6213
  }
6205
6214
  )
6206
6215
  );
6207
- xt.displayName = "Box";
6208
- const ca = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(xt, { background: "module", radius: "lg", shadow: "none", border: "sm", borderColor: "neutral", ...n, children: [
6216
+ pt.displayName = "Box";
6217
+ const da = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(pt, { background: "module", radius: "lg", shadow: "none", border: "sm", borderColor: "neutral", ...n, children: [
6209
6218
  r && /* @__PURE__ */ e("span", { className: "mb-2 block text-sm font-semibold text-text", children: r }),
6210
6219
  t
6211
- ] }), Jn = {
6220
+ ] }), Xn = {
6212
6221
  xs: "text-xs",
6213
6222
  sm: "text-sm",
6214
6223
  md: "text-base",
@@ -6217,13 +6226,13 @@ const ca = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(xt, { backgrou
6217
6226
  "2xl": "text-2xl",
6218
6227
  "3xl": "text-3xl",
6219
6228
  "4xl": "text-3xl"
6220
- }, Yn = {
6229
+ }, Zn = {
6221
6230
  light: "font-normal",
6222
6231
  normal: "font-normal",
6223
6232
  medium: "font-medium",
6224
6233
  semibold: "font-semibold",
6225
6234
  bold: "font-bold"
6226
- }, Xn = {
6235
+ }, Qn = {
6227
6236
  primary: "text-text",
6228
6237
  secondary: "text-text-muted",
6229
6238
  accent: "text-accent",
@@ -6233,11 +6242,11 @@ const ca = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(xt, { backgrou
6233
6242
  info: "text-info-fg",
6234
6243
  neutral: "text-text",
6235
6244
  current: "text-current"
6236
- }, Qn = {
6245
+ }, es = {
6237
6246
  left: "text-left",
6238
6247
  center: "text-center",
6239
6248
  right: "text-right"
6240
- }, ia = ({
6249
+ }, ua = ({
6241
6250
  level: t = 1,
6242
6251
  size: r,
6243
6252
  weight: n = "semibold",
@@ -6250,16 +6259,16 @@ const ca = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(xt, { backgrou
6250
6259
  }) => {
6251
6260
  const p = `h${t}`, m = d(
6252
6261
  "font-sans text-pretty",
6253
- Jn[r || Zn(t)],
6254
- Yn[n],
6255
- Xn[s],
6256
- Qn[a],
6262
+ Xn[r || ts(t)],
6263
+ Zn[n],
6264
+ Qn[s],
6265
+ es[a],
6257
6266
  l && "truncate",
6258
6267
  o
6259
6268
  );
6260
6269
  return /* @__PURE__ */ e(p, { className: m, ...i, children: u });
6261
6270
  };
6262
- function Zn(t) {
6271
+ function ts(t) {
6263
6272
  return {
6264
6273
  1: "2xl",
6265
6274
  2: "xl",
@@ -6269,111 +6278,111 @@ function Zn(t) {
6269
6278
  6: "md"
6270
6279
  }[t] || "md";
6271
6280
  }
6272
- const et = ["cat-1", "cat-2", "cat-3", "cat-4", "cat-5"];
6273
- function da(t) {
6281
+ const tt = ["cat-1", "cat-2", "cat-3", "cat-4", "cat-5"];
6282
+ function ma(t) {
6274
6283
  let r = 0;
6275
6284
  for (let n = 0; n < t.length; n++) r = r * 31 + t.charCodeAt(n) >>> 0;
6276
- return et[r % et.length];
6285
+ return tt[r % tt.length];
6277
6286
  }
6278
6287
  export {
6279
- ps as ActivityAvatar,
6280
- vs as ActivityGlyph,
6281
- gs as ActivityRow,
6282
- ms as ArtifactView,
6283
- fs as AssistantCard,
6284
- ot as Avatar,
6285
- xs as AvatarStack,
6286
- Yr as Badge,
6287
- xt as Box,
6288
+ ys as ActivityAvatar,
6289
+ Ns as ActivityGlyph,
6290
+ ps as ActivityRow,
6291
+ hs as ArtifactView,
6292
+ xs as AssistantCard,
6293
+ it as Avatar,
6294
+ bs as AvatarStack,
6295
+ Qr as Badge,
6296
+ pt as Box,
6288
6297
  ae as Button,
6289
- is as ButtonGroup,
6290
- ca as Card,
6291
- ws as ChannelBadge,
6298
+ us as ButtonGroup,
6299
+ da as Card,
6300
+ Cs as ChannelBadge,
6292
6301
  we as Checkbox,
6293
- us as CommandPalette,
6294
- oa as ConfirmDialog,
6295
- Ue as ContentLoading,
6296
- Be as DatePicker,
6297
- Br as Dropdown,
6298
- Gs as EmptyState,
6299
- Ks as ErrorBoundary,
6300
- Ws as FederatedResource,
6301
- tr as FilterChip,
6302
- bn as FolderSelect,
6303
- ta as Form,
6304
- Sn as FormSection,
6305
- ia as Heading,
6306
- gr as IDENTITY_TONE_COUNT,
6307
- Q as Icon,
6308
- ks as Image,
6309
- ra as ImageField,
6310
- Js as Kbd,
6311
- Cs as KpiCard,
6312
- ds as Link,
6313
- Es as List,
6314
- Ss as ListBulkAction,
6315
- na as MeetingGrid,
6316
- Dn as MentionComposer,
6317
- Ts as MessageBubble,
6318
- Ms as MetaSeparator,
6319
- zs as MetaValue,
6320
- ft as Modal,
6321
- As as Page,
6322
- $r as PageHeader,
6323
- Ds as PageToolbar,
6302
+ fs as CommandPalette,
6303
+ ia as ConfirmDialog,
6304
+ Ve as ContentLoading,
6305
+ He as DatePicker,
6306
+ Ur as Dropdown,
6307
+ Ys as EmptyState,
6308
+ Gs as ErrorBoundary,
6309
+ Js as FederatedResource,
6310
+ sr as FilterChip,
6311
+ yn as FolderSelect,
6312
+ na as Form,
6313
+ Mn as FormSection,
6314
+ ua as Heading,
6315
+ vr as IDENTITY_TONE_COUNT,
6316
+ Z as Icon,
6317
+ Ss as Image,
6318
+ sa as ImageField,
6319
+ Xs as Kbd,
6320
+ Es as KpiCard,
6321
+ ms as Link,
6322
+ Ms as List,
6323
+ Ts as ListBulkAction,
6324
+ aa as MeetingGrid,
6325
+ $n as MentionComposer,
6326
+ zs as MessageBubble,
6327
+ Ds as MetaSeparator,
6328
+ As as MetaValue,
6329
+ xt as Modal,
6330
+ _s as Page,
6331
+ Or as PageHeader,
6332
+ $s as PageToolbar,
6324
6333
  ke as PageToolbarActions,
6325
- sa as ParticipantTile,
6326
- nt as Popover,
6327
- Ys as ProgressBar,
6328
- ze as RichText,
6329
- ys as RowCard,
6330
- it as SearchField,
6331
- In as SearchableTextField,
6332
- _s as SectionCaption,
6333
- $s as SectionDivider,
6334
- lr as SegmentedToggle,
6335
- _e as Select,
6336
- Ls as SettingsFrameProvider,
6337
- Os as SettingsPage,
6338
- Ps as SettingsRow,
6339
- js as SettingsSection,
6340
- la as SidebarMenu,
6341
- Rs as SourceChip,
6342
- Xs as Spinner,
6343
- st as SplitButton,
6344
- Qs as StatusDot,
6345
- Zs as StepIndicator,
6346
- Nn as StorageInput,
6347
- On as Switch,
6348
- ea as TabBar,
6349
- Xe as Table,
6350
- vn as Tabs,
6334
+ la as ParticipantTile,
6335
+ st as Popover,
6336
+ Zs as ProgressBar,
6337
+ Me as RichText,
6338
+ ws as RowCard,
6339
+ ut as SearchField,
6340
+ Pn as SearchableTextField,
6341
+ Ls as SectionCaption,
6342
+ Is as SectionDivider,
6343
+ ir as SegmentedToggle,
6344
+ $e as Select,
6345
+ Os as SettingsFrameProvider,
6346
+ js as SettingsPage,
6347
+ Rs as SettingsRow,
6348
+ Fs as SettingsSection,
6349
+ ca as SidebarMenu,
6350
+ Bs as SourceChip,
6351
+ Qs as Spinner,
6352
+ at as SplitButton,
6353
+ ea as StatusDot,
6354
+ ta as StepIndicator,
6355
+ Cn as StorageInput,
6356
+ jn as Switch,
6357
+ ra as TabBar,
6358
+ Ze as Table,
6359
+ wn as Tabs,
6351
6360
  me as Text,
6352
- He as TextArea,
6361
+ qe as TextArea,
6353
6362
  Ce as TextField,
6354
- Ns as TimelineEvent,
6355
- aa as VideoSurface,
6356
- Vs as View,
6363
+ ks as TimelineEvent,
6364
+ oa as VideoSurface,
6365
+ Ws as View,
6357
6366
  Qe as autofillProps,
6358
- Xr as badgeColumn,
6359
- qs as booleanBadgeColumn,
6360
- bs as cardActionClass,
6361
- da as catTone,
6367
+ en as badgeColumn,
6368
+ Vs as booleanBadgeColumn,
6369
+ vs as cardActionClass,
6370
+ ma as catTone,
6362
6371
  d as cn,
6363
- cs as createSizes,
6364
- os as createVariants,
6365
- Fs as dateFilterHandler,
6366
- hs as identityDotClass,
6367
- lt as identityPlateClass,
6368
- at as identityTone,
6369
- Us as labelsColumn,
6370
- Hs as multiSelectFilterHandler,
6371
- hn as normalizeText,
6372
- Jt as resolveLucideIcon,
6373
- Bs as selectFilterHandler,
6372
+ ds as createSizes,
6373
+ is as createVariants,
6374
+ Hs as dateFilterHandler,
6375
+ gs as identityDotClass,
6376
+ ct as identityPlateClass,
6377
+ ot as identityTone,
6378
+ Ks as labelsColumn,
6379
+ Us as multiSelectFilterHandler,
6380
+ bn as normalizeText,
6381
+ Zt as resolveLucideIcon,
6382
+ qs as selectFilterHandler,
6374
6383
  De as text,
6375
6384
  Te as useAnchoredPosition,
6376
- Or as useSettingsFrame,
6377
- Is as useSettingsFrameHost
6385
+ Rr as useSettingsFrame,
6386
+ Ps as useSettingsFrameHost
6378
6387
  };
6379
6388
  //# sourceMappingURL=index.js.map