@opencxh/ui-kit 3.178.0 → 3.180.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 Ee } 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 Te, 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 ds(t) {
13
13
  return (r, n) => t[r]?.[n] || "";
14
14
  }
15
- function cs(t) {
15
+ function us(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 ms = ({
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,
@@ -191,9 +191,9 @@ function Xt(t) {
191
191
  xl: 24
192
192
  }[t];
193
193
  }
194
- function Te(t, r, { gap: n = 6, matchWidth: s = !1, placement: a = "bottom-start" } = {}) {
194
+ function Me(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",
@@ -216,8 +216,8 @@ const nt = ({
216
216
  disabled: o = !1,
217
217
  triggerLabel: u
218
218
  }) => {
219
- const [i, p] = B(!1), m = se(null), f = se(null), g = Te(i, f, { placement: n });
220
- Z(() => {
219
+ const [i, p] = B(!1), m = se(null), f = se(null), g = Me(i, f, { placement: n });
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(Ee, { 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
+ }, fs = ({
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(Ee, { 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 hs = ({
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,16 +658,26 @@ 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(" ");
665
+ function hr(t, r) {
666
+ if (!t?.startsWith("mailto:")) return !1;
667
+ const n = typeof r == "string" ? r : null;
668
+ return n !== null && t === `mailto:${n}`;
669
+ }
670
+ const xr = {
657
671
  p: (t) => /* @__PURE__ */ e("p", { className: "my-1.5 leading-relaxed first:mt-0 last:mb-0", ...t }),
658
- a: (t) => /* @__PURE__ */ e(
672
+ a: ({ href: t, children: r, ...n }) => hr(t, r) ? /* @__PURE__ */ e(Ee, { children: r }) : /* @__PURE__ */ e(
659
673
  "a",
660
674
  {
661
675
  className: "text-accent underline underline-offset-2 hover:opacity-80",
662
676
  target: "_blank",
663
677
  rel: "noopener noreferrer",
664
- ...t
678
+ href: t,
679
+ ...n,
680
+ children: r
665
681
  }
666
682
  ),
667
683
  strong: (t) => /* @__PURE__ */ e("strong", { className: "font-semibold", ...t }),
@@ -686,33 +702,33 @@ const us = ({
686
702
  };
687
703
  function ze({ text: t, className: r, as: n }) {
688
704
  const s = t ?? "";
689
- return (n ? n === "html" : ir.test(s)) ? /* @__PURE__ */ e(
705
+ return (n ? n === "html" : mr.test(s)) ? /* @__PURE__ */ e(
690
706
  "div",
691
707
  {
692
- className: d("break-words", dr, r),
708
+ className: d("break-words", fr, r),
693
709
  dangerouslySetInnerHTML: {
694
- __html: qe.sanitize(s, { ADD_ATTR: ["target", "rel"] })
710
+ __html: Ue.sanitize(s, { ADD_ATTR: ["target", "rel", $e] })
695
711
  }
696
712
  }
697
- ) : /* @__PURE__ */ e("div", { className: d("break-words", r), children: /* @__PURE__ */ e(Ut, { remarkPlugins: [Vt], components: ur, children: s }) });
713
+ ) : /* @__PURE__ */ e("div", { className: d("break-words", r), children: /* @__PURE__ */ e(Wt, { remarkPlugins: [Gt], components: xr, children: s }) });
698
714
  }
699
- const mr = {
715
+ const gr = {
700
716
  info: "text-info-fg",
701
717
  success: "text-success-fg",
702
718
  warning: "text-warning-fg",
703
719
  destructive: "text-danger-fg"
704
- }, fr = {
720
+ }, br = {
705
721
  info: "bg-info-soft border-info-border",
706
722
  success: "bg-success-soft border-success-border",
707
723
  warning: "bg-warning-soft border-warning-border",
708
724
  destructive: "bg-danger-soft border-danger-border"
709
- }, hr = {
725
+ }, pr = {
710
726
  1: "grid-cols-1",
711
727
  2: "grid-cols-2",
712
728
  3: "grid-cols-3",
713
729
  4: "grid-cols-4"
714
730
  };
715
- function xr({ block: t }) {
731
+ function vr({ block: t }) {
716
732
  switch (t.type) {
717
733
  case "heading":
718
734
  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 });
@@ -772,13 +788,13 @@ function xr({ block: t }) {
772
788
  t.caption && /* @__PURE__ */ e("figcaption", { className: "pt-2 text-xs italic text-text-subtle", children: t.caption })
773
789
  ] });
774
790
  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: [
791
+ return /* @__PURE__ */ e("div", { className: d("grid gap-3", pr[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
792
  /* @__PURE__ */ e(
777
793
  "div",
778
794
  {
779
795
  className: d(
780
796
  "text-2xl font-semibold tracking-tight",
781
- r.tone ? mr[r.tone] : "text-text"
797
+ r.tone ? gr[r.tone] : "text-text"
782
798
  ),
783
799
  children: r.value
784
800
  }
@@ -786,7 +802,7 @@ function xr({ block: t }) {
786
802
  /* @__PURE__ */ e("div", { className: "pt-0.5 text-xs text-text-muted", children: r.label })
787
803
  ] }, n)) });
788
804
  case "callout":
789
- return /* @__PURE__ */ c("div", { className: d("rounded-lg border px-4 py-3", fr[t.tone]), children: [
805
+ return /* @__PURE__ */ c("div", { className: d("rounded-lg border px-4 py-3", br[t.tone]), children: [
790
806
  t.title && /* @__PURE__ */ e("div", { className: "pb-0.5 text-sm font-semibold text-text", children: t.title }),
791
807
  /* @__PURE__ */ e(ze, { as: "markdown", text: t.text, className: "text-sm text-text" })
792
808
  ] });
@@ -794,7 +810,7 @@ function xr({ block: t }) {
794
810
  return null;
795
811
  }
796
812
  }
797
- function ms({ blocks: t, runtime: r = "inert", className: n }) {
813
+ function xs({ blocks: t, runtime: r = "inert", className: n }) {
798
814
  return r !== "inert" ? /* @__PURE__ */ c(
799
815
  "div",
800
816
  {
@@ -811,11 +827,11 @@ function ms({ blocks: t, runtime: r = "inert", className: n }) {
811
827
  ] })
812
828
  ]
813
829
  }
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)) });
830
+ ) : /* @__PURE__ */ e("article", { className: d("flex flex-col gap-4", n), children: t.map((s, a) => /* @__PURE__ */ e(vr, { block: s }, s.block_id ?? a)) });
815
831
  }
816
- function fs({
832
+ function gs({
817
833
  title: t,
818
- icon: r = /* @__PURE__ */ e(Tt, { className: "size-icon-md", "aria-hidden": !0 }),
834
+ icon: r = /* @__PURE__ */ e(At, { className: "size-icon-md", "aria-hidden": !0 }),
819
835
  action: n,
820
836
  children: s,
821
837
  className: a,
@@ -841,53 +857,53 @@ function fs({
841
857
  }
842
858
  );
843
859
  }
844
- const gr = 5;
845
- function br(t) {
860
+ const yr = 5;
861
+ function Nr(t) {
846
862
  let r = 2166136261;
847
863
  for (let n = 0; n < t.length; n++)
848
864
  r ^= t.charCodeAt(n), r = Math.imul(r, 16777619);
849
865
  return r >>> 0;
850
866
  }
851
- function at(t) {
867
+ function ot(t) {
852
868
  const r = (t ?? "").trim().toLowerCase();
853
- return r ? br(r) % gr + 1 : 1;
869
+ return r ? Nr(r) % yr + 1 : 1;
854
870
  }
855
- const pr = {
871
+ const wr = {
856
872
  1: "bg-cat-1-soft text-cat-1-fg",
857
873
  2: "bg-cat-2-soft text-cat-2-fg",
858
874
  3: "bg-cat-3-soft text-cat-3-fg",
859
875
  4: "bg-cat-4-soft text-cat-4-fg",
860
876
  5: "bg-cat-5-soft text-cat-5-fg"
861
- }, vr = {
877
+ }, kr = {
862
878
  1: "bg-cat-1",
863
879
  2: "bg-cat-2",
864
880
  3: "bg-cat-3",
865
881
  4: "bg-cat-4",
866
882
  5: "bg-cat-5"
867
883
  };
868
- function lt(t) {
869
- return pr[at(t)];
884
+ function ct(t) {
885
+ return wr[ot(t)];
870
886
  }
871
- function hs(t) {
872
- return vr[at(t)];
887
+ function bs(t) {
888
+ return kr[ot(t)];
873
889
  }
874
- const yr = {
890
+ const Cr = {
875
891
  default: "bg-avatar text-avatar-fg",
876
892
  in: "bg-avatar-in text-avatar-in-fg",
877
893
  out: "bg-accent text-accent-fg",
878
894
  note: "bg-avatar-note text-avatar-note-fg"
879
- }, Nr = {
895
+ }, Sr = {
880
896
  xs: "w-5 h-5 text-xs",
881
897
  sm: "w-6 h-6 text-xs",
882
898
  md: "w-7 h-7 text-base",
883
899
  lg: "w-9 h-9 text-sm"
884
900
  };
885
- function wr(t) {
901
+ function Er(t) {
886
902
  if (!t) return "?";
887
903
  const r = t.trim().split(/[^\p{L}\p{N}]+/u).filter(Boolean);
888
904
  return r.length >= 2 ? (r[0][0] + r[1][0]).toUpperCase() : r.length === 1 ? r[0].slice(0, 2).toUpperCase() : "?";
889
905
  }
890
- const ot = ({
906
+ const it = ({
891
907
  name: t,
892
908
  src: r,
893
909
  tone: n = "default",
@@ -902,8 +918,8 @@ const ot = ({
902
918
  "inline-flex items-center justify-center rounded-full overflow-hidden shrink-0 font-semibold select-none",
903
919
  // `identity` is seeded on the name, so the same person keeps their colour
904
920
  // wherever they appear; the fixed tones stay as they were.
905
- n === "identity" ? lt(t) : yr[n],
906
- Nr[s],
921
+ n === "identity" ? ct(t) : Cr[n],
922
+ Sr[s],
907
923
  a
908
924
  );
909
925
  return r && !o ? /* @__PURE__ */ e(
@@ -915,8 +931,8 @@ const ot = ({
915
931
  className: d(i, "object-cover"),
916
932
  onError: () => u(!0)
917
933
  }
918
- ) : /* @__PURE__ */ e("span", { className: i, title: l ?? t, "aria-label": t, children: wr(t) });
919
- }, Je = "ring-surface", kr = "ring-surface-accent", xs = ({
934
+ ) : /* @__PURE__ */ e("span", { className: i, title: l ?? t, "aria-label": t, children: Er(t) });
935
+ }, Ye = "ring-surface", Tr = "ring-surface-accent", ps = ({
920
936
  people: t,
921
937
  max: r = 4,
922
938
  size: n = "sm",
@@ -926,7 +942,7 @@ const ot = ({
926
942
  const a = t.slice(0, r), l = t.length - a.length;
927
943
  return /* @__PURE__ */ c("span", { className: d("inline-flex items-center", s), children: [
928
944
  a.map((o, u) => /* @__PURE__ */ e(
929
- ot,
945
+ it,
930
946
  {
931
947
  name: o.name,
932
948
  src: o.src,
@@ -934,7 +950,7 @@ const ot = ({
934
950
  title: o.name ? o.seen === !1 ? `${o.name} — nog niet gelezen` : o.name : void 0,
935
951
  className: d(
936
952
  u > 0 && "-ml-2",
937
- o.owner ? kr : Je,
953
+ o.owner ? Tr : Ye,
938
954
  o.seen === !1 && "opacity-40"
939
955
  )
940
956
  },
@@ -948,7 +964,7 @@ const ot = ({
948
964
  // in the row rather than a gap at the end of it.
949
965
  "inline-flex items-center justify-center rounded-full shrink-0 -ml-2 font-semibold bg-avatar text-avatar-fg",
950
966
  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
967
+ Ye
952
968
  ),
953
969
  children: [
954
970
  "+",
@@ -957,18 +973,18 @@ const ot = ({
957
973
  }
958
974
  )
959
975
  ] });
960
- }, Cr = {
976
+ }, Mr = {
961
977
  neutral: "bg-surface-sunk",
962
978
  out: "bg-bubble-out-soft",
963
979
  note: "bg-note-soft",
964
980
  assistant: "bg-assistant-soft"
965
- }, Sr = {
981
+ }, zr = {
966
982
  neutral: "text-text",
967
983
  out: "text-text",
968
984
  note: "text-note",
969
985
  assistant: "text-text"
970
986
  };
971
- function gs({
987
+ function vs({
972
988
  avatar: t,
973
989
  title: r,
974
990
  context: n,
@@ -985,7 +1001,7 @@ function gs({
985
1001
  /* @__PURE__ */ c(
986
1002
  "div",
987
1003
  {
988
- className: d("min-w-0 flex-1 overflow-hidden rounded-lg px-4 py-3.5", Cr[l]),
1004
+ className: d("min-w-0 flex-1 overflow-hidden rounded-lg px-4 py-3.5", Mr[l]),
989
1005
  children: [
990
1006
  /* @__PURE__ */ c("div", { className: "flex items-baseline gap-2", children: [
991
1007
  /* @__PURE__ */ e(
@@ -994,7 +1010,7 @@ function gs({
994
1010
  className: d(
995
1011
  "min-w-0 truncate text-md font-semibold",
996
1012
  !n && "flex-1",
997
- Sr[l]
1013
+ zr[l]
998
1014
  ),
999
1015
  children: r
1000
1016
  }
@@ -1014,15 +1030,15 @@ function gs({
1014
1030
  u
1015
1031
  ] });
1016
1032
  }
1017
- const bs = "hover:bg-surface-track";
1018
- function ps({
1033
+ const ys = "hover:bg-surface-track";
1034
+ function Ns({
1019
1035
  name: t,
1020
1036
  src: r,
1021
1037
  tone: n = "in"
1022
1038
  }) {
1023
- return /* @__PURE__ */ e(ot, { name: t, src: r, tone: n, size: "sm" });
1039
+ return /* @__PURE__ */ e(it, { name: t, src: r, tone: n, size: "sm" });
1024
1040
  }
1025
- function vs({
1041
+ function ws({
1026
1042
  icon: t,
1027
1043
  tone: r = "neutral",
1028
1044
  title: n
@@ -1035,17 +1051,17 @@ function vs({
1035
1051
  "grid size-avatar-md shrink-0 place-items-center rounded-full",
1036
1052
  r === "assistant" ? "bg-assistant-soft text-assistant" : "bg-surface-track text-text-muted"
1037
1053
  ),
1038
- children: /* @__PURE__ */ e(Q, { icon: t, size: "sm", color: "current" })
1054
+ children: /* @__PURE__ */ e(Z, { icon: t, size: "sm", color: "current" })
1039
1055
  }
1040
1056
  );
1041
1057
  }
1042
- function ys({ children: t, className: r }) {
1058
+ function ks({ children: t, className: r }) {
1043
1059
  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
1060
  }
1045
- function Ns({ icon: t, text: r, time: n, joinUrl: s, joinLabel: a }) {
1046
- const l = Jt(t);
1061
+ function Cs({ icon: t, text: r, time: n, joinUrl: s, joinLabel: a }) {
1062
+ const l = Zt(t);
1047
1063
  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" }),
1064
+ l && /* @__PURE__ */ e(Z, { icon: l, size: "sm", color: "current" }),
1049
1065
  /* @__PURE__ */ e("span", { className: "min-w-0 truncate", children: r }),
1050
1066
  /* @__PURE__ */ e("span", { "aria-hidden": !0, className: "shrink-0 text-text-disabled", children: "·" }),
1051
1067
  /* @__PURE__ */ e("span", { className: "shrink-0 tabular-nums", children: n }),
@@ -1059,49 +1075,49 @@ function Ns({ icon: t, text: r, time: n, joinUrl: s, joinLabel: a }) {
1059
1075
  children: [
1060
1076
  a ?? "Join",
1061
1077
  " ",
1062
- /* @__PURE__ */ e(Q, { icon: rt, size: "xs" })
1078
+ /* @__PURE__ */ e(Z, { icon: nt, size: "xs" })
1063
1079
  ]
1064
1080
  }
1065
1081
  )
1066
1082
  ] });
1067
1083
  }
1068
- const Me = {
1084
+ const Ae = {
1069
1085
  mail: { fg: "text-channel-mail-fg", bg: "bg-channel-mail-soft" },
1070
1086
  wa: { fg: "text-channel-whatsapp-fg", bg: "bg-channel-whatsapp-soft" },
1071
1087
  chat: { fg: "text-channel-chat-fg", bg: "bg-channel-chat-soft" },
1072
1088
  tel: { fg: "text-channel-phone-fg", bg: "bg-channel-phone-soft" },
1073
1089
  note: { fg: "text-channel-note-fg", bg: "bg-channel-note-soft" }
1074
- }, Er = {
1090
+ }, Ar = {
1075
1091
  sm: "size-avatar-xs rounded-sm text-xs",
1076
1092
  md: "size-avatar-sm rounded-md text-xs",
1077
1093
  lg: "size-avatar-lg rounded-md text-base"
1078
1094
  };
1079
- function ws({
1095
+ function Ss({
1080
1096
  channel: t,
1081
1097
  children: r,
1082
1098
  size: n = "md",
1083
1099
  className: s,
1084
1100
  title: a
1085
1101
  }) {
1086
- const l = t in Me ? Me[t] : void 0;
1102
+ const l = t in Ae ? Ae[t] : void 0;
1087
1103
  return /* @__PURE__ */ e(
1088
1104
  "span",
1089
1105
  {
1090
1106
  title: a,
1091
1107
  className: d(
1092
1108
  "inline-flex shrink-0 items-center justify-center font-bold",
1093
- Er[n],
1109
+ Ar[n],
1094
1110
  // An undeclared channel used to collapse onto the neutral "note" tone,
1095
1111
  // which is also what a real internal note looks like. Deriving from the
1096
1112
  // 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),
1113
+ l ? d(l.fg, l.bg) : t ? ct(t) : d(Ae.note.fg, Ae.note.bg),
1098
1114
  s
1099
1115
  ),
1100
1116
  children: r
1101
1117
  }
1102
1118
  );
1103
1119
  }
1104
- const ks = ({
1120
+ const Es = ({
1105
1121
  src: t,
1106
1122
  alt: r,
1107
1123
  size: n = "md",
@@ -1160,7 +1176,7 @@ const ks = ({
1160
1176
  "absolute inset-0 flex items-center justify-center",
1161
1177
  "text-text-muted"
1162
1178
  ), 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" }),
1179
+ /* @__PURE__ */ e(Z, { icon: Dt, size: "lg", className: "mx-auto mb-1" }),
1164
1180
  /* @__PURE__ */ e("span", { className: "text-xs", children: "Failed to load" })
1165
1181
  ] });
1166
1182
  return /* @__PURE__ */ c("div", { className: F, children: [
@@ -1178,28 +1194,28 @@ const ks = ({
1178
1194
  w && l && /* @__PURE__ */ e("div", { className: I, children: i || O }),
1179
1195
  h && o && /* @__PURE__ */ e("div", { className: I, children: p || H })
1180
1196
  ] });
1181
- }, Tr = {
1197
+ }, Dr = {
1182
1198
  default: "text-text",
1183
1199
  urgent: "text-danger-fg",
1184
1200
  success: "text-success-fg"
1185
1201
  };
1186
- function Cs({ value: t, label: r, tone: n = "default", className: s, ...a }) {
1202
+ function Ts({ value: t, label: r, tone: n = "default", className: s, ...a }) {
1187
1203
  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 }),
1204
+ /* @__PURE__ */ e("div", { className: d("text-2xl font-semibold", Dr[n]), children: t }),
1189
1205
  /* @__PURE__ */ e("div", { className: "pt-0.5 text-xs text-text-muted", children: r })
1190
1206
  ] });
1191
1207
  }
1192
- const zr = {
1208
+ const _r = {
1193
1209
  sm: "size-checkbox-sm",
1194
1210
  md: "size-checkbox",
1195
1211
  lg: "size-checkbox-lg",
1196
1212
  full: "size-checkbox"
1197
- }, Mr = {
1213
+ }, $r = {
1198
1214
  sm: "min-h-control-sm",
1199
1215
  md: "min-h-control-md",
1200
1216
  lg: "min-h-control-lg",
1201
1217
  full: "min-h-control-md"
1202
- }, Ar = {
1218
+ }, Lr = {
1203
1219
  sm: "text-sm",
1204
1220
  md: "text-base",
1205
1221
  lg: "text-md",
@@ -1226,7 +1242,7 @@ const zr = {
1226
1242
  return le.useEffect(() => {
1227
1243
  w.current && (w.current.indeterminate = a);
1228
1244
  }, [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: [
1245
+ /* @__PURE__ */ c("div", { className: d("flex items-center gap-3", $r[s]), children: [
1230
1246
  /* @__PURE__ */ e(
1231
1247
  "input",
1232
1248
  {
@@ -1243,7 +1259,7 @@ const zr = {
1243
1259
  "transition-colors duration-fast ease-out",
1244
1260
  "focus-visible:outline-none focus-visible:focus-ring",
1245
1261
  "disabled:cursor-not-allowed disabled:bg-surface-hover",
1246
- zr[s],
1262
+ _r[s],
1247
1263
  b ? "border-danger-border" : "border-border-strong",
1248
1264
  u
1249
1265
  ),
@@ -1258,7 +1274,7 @@ const zr = {
1258
1274
  className: d(
1259
1275
  "cursor-pointer",
1260
1276
  b ? "text-danger-fg" : "text-text",
1261
- Ar[s],
1277
+ Lr[s],
1262
1278
  o
1263
1279
  ),
1264
1280
  children: t
@@ -1272,7 +1288,7 @@ const zr = {
1272
1288
  }
1273
1289
  );
1274
1290
  we.displayName = "Checkbox";
1275
- function Ss({
1291
+ function Ms({
1276
1292
  icon: t,
1277
1293
  onClick: r,
1278
1294
  children: n
@@ -1295,7 +1311,7 @@ function Ss({
1295
1311
  }
1296
1312
  );
1297
1313
  }
1298
- function Es({
1314
+ function zs({
1299
1315
  items: t,
1300
1316
  getRowKey: r,
1301
1317
  variant: n = "divided",
@@ -1337,9 +1353,9 @@ function Es({
1337
1353
  S.preventDefault();
1338
1354
  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
1355
  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(
1356
+ }, $ = (S, M) => r ? r(S, M) : M, T = (S) => k.includes(S), L = (S, M) => {
1357
+ P && P(M ? [...k, S] : k.filter((X) => X !== S));
1358
+ }, z = (S) => P?.(S ? [...t] : []), ce = d(
1343
1359
  "flex flex-col",
1344
1360
  // With a selection open the list has a dock at its foot. Sticky can only
1345
1361
  // park at the bottom of its own box, so on a list shorter than the window
@@ -1352,12 +1368,12 @@ function Es({
1352
1368
  U
1353
1369
  );
1354
1370
  if (O)
1355
- return /* @__PURE__ */ e("div", { className: ce, children: Array.from({ length: H }).map((S, z) => /* @__PURE__ */ c(
1371
+ return /* @__PURE__ */ e("div", { className: ce, children: Array.from({ length: H }).map((S, M) => /* @__PURE__ */ c(
1356
1372
  "div",
1357
1373
  {
1358
1374
  className: d(
1359
1375
  "flex animate-pulse items-center gap-3 px-4 py-2",
1360
- n === "divided" && z > 0 && "border-t border-border-subtle"
1376
+ n === "divided" && M > 0 && "border-t border-border-subtle"
1361
1377
  ),
1362
1378
  children: [
1363
1379
  /* @__PURE__ */ e("span", { className: "size-tile-sm shrink-0 rounded-md bg-surface-hover" }),
@@ -1366,12 +1382,12 @@ function Es({
1366
1382
  /* @__PURE__ */ e("span", { className: "h-3 w-8 shrink-0 rounded-sm bg-surface-hover" })
1367
1383
  ]
1368
1384
  },
1369
- `skeleton-${z}`
1385
+ `skeleton-${M}`
1370
1386
  )) });
1371
1387
  if (t.length === 0 && I)
1372
1388
  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);
1389
+ const ie = t.length > 0 && k.length === t.length, G = k.length > 0 && !ie, K = (S, M, X) => {
1390
+ const q = i?.(S, M) ?? !1, N = p?.(S, M) ?? !1, R = m?.(S, M) ?? !1, re = C && T(S);
1375
1391
  return /* @__PURE__ */ c(
1376
1392
  "li",
1377
1393
  {
@@ -1380,10 +1396,10 @@ function Es({
1380
1396
  tabIndex: 0,
1381
1397
  "data-list-row": "",
1382
1398
  "aria-current": q || void 0,
1383
- onClick: () => o(S, z),
1384
- onFocus: () => u?.(z),
1399
+ onClick: () => o(S, M),
1400
+ onFocus: () => u?.(M),
1385
1401
  onKeyDown: (oe) => {
1386
- oe.key !== "Enter" && oe.key !== " " || (oe.preventDefault(), o(S, z));
1402
+ oe.key !== "Enter" && oe.key !== " " || (oe.preventDefault(), o(S, M));
1387
1403
  }
1388
1404
  } : {},
1389
1405
  className: d(
@@ -1417,12 +1433,12 @@ function Es({
1417
1433
  className: "mt-2 size-1.5 shrink-0 self-start rounded-full bg-border-strong"
1418
1434
  }
1419
1435
  ),
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) })
1436
+ s && /* @__PURE__ */ e("span", { className: "shrink-0", children: s(S, M) }),
1437
+ /* @__PURE__ */ e("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: a ? a(S, M) : String(S) }),
1438
+ l && /* @__PURE__ */ e("span", { className: "shrink-0 text-xs text-text-subtle", children: l(S, M) })
1423
1439
  ]
1424
1440
  },
1425
- $(S, z)
1441
+ $(S, M)
1426
1442
  );
1427
1443
  }, j = (() => {
1428
1444
  if (!f)
@@ -1432,10 +1448,10 @@ function Es({
1432
1448
  const R = f(q, N);
1433
1449
  S.has(R) || S.set(R, []), S.get(R)?.push({ item: q, index: N });
1434
1450
  });
1435
- const z = g ?? [];
1451
+ const M = g ?? [];
1436
1452
  return [
1437
- ...z.filter((q) => S.has(q.id)),
1438
- ...[...S.keys()].filter((q) => !z.some((N) => N.id === q)).map((q) => ({ id: q }))
1453
+ ...M.filter((q) => S.has(q.id)),
1454
+ ...[...S.keys()].filter((q) => !M.some((N) => N.id === q)).map((q) => ({ id: q }))
1439
1455
  ].flatMap((q, N) => {
1440
1456
  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
1457
  "li",
@@ -1456,9 +1472,9 @@ function Es({
1456
1472
  children: b ? b(
1457
1473
  q,
1458
1474
  R.map((he) => he.item)
1459
- ) : /* @__PURE__ */ c($e, { children: [
1475
+ ) : /* @__PURE__ */ c(Ee, { children: [
1460
1476
  v && /* @__PURE__ */ e(
1461
- Oe,
1477
+ Pe,
1462
1478
  {
1463
1479
  "aria-hidden": !0,
1464
1480
  className: d(
@@ -1484,7 +1500,7 @@ function Es({
1484
1500
  );
1485
1501
  return re ? [ye] : [
1486
1502
  ye,
1487
- ...R.map(({ item: he, index: xe }, Pe) => K(he, xe, Pe === 0))
1503
+ ...R.map(({ item: he, index: xe }, je) => K(he, xe, je === 0))
1488
1504
  ];
1489
1505
  });
1490
1506
  })();
@@ -1505,7 +1521,7 @@ function Es({
1505
1521
  {
1506
1522
  checked: ie,
1507
1523
  indeterminate: G,
1508
- onChange: (S) => M(S.target.checked),
1524
+ onChange: (S) => z(S.target.checked),
1509
1525
  "aria-label": "Alles selecteren"
1510
1526
  }
1511
1527
  ) }),
@@ -1535,7 +1551,7 @@ function Es({
1535
1551
  ] }) })
1536
1552
  ] });
1537
1553
  }
1538
- function Ts({
1554
+ function As({
1539
1555
  side: t,
1540
1556
  continued: r = !1,
1541
1557
  tone: n = "default",
@@ -1568,7 +1584,7 @@ function Ts({
1568
1584
  }
1569
1585
  );
1570
1586
  }
1571
- function zs({ icon: t, label: r, unset: n, className: s }) {
1587
+ function Ds({ icon: t, label: r, unset: n, className: s }) {
1572
1588
  return /* @__PURE__ */ c(
1573
1589
  "span",
1574
1590
  {
@@ -1584,11 +1600,11 @@ function zs({ icon: t, label: r, unset: n, className: s }) {
1584
1600
  }
1585
1601
  );
1586
1602
  }
1587
- function Ms() {
1603
+ function _s() {
1588
1604
  return /* @__PURE__ */ e("span", { "aria-hidden": !0, className: "shrink-0 text-text-disabled", children: "·" });
1589
1605
  }
1590
1606
  const fe = ({ className: t }) => /* @__PURE__ */ e("span", { className: d("block rounded-xs bg-surface-hover", t) });
1591
- function Dr({
1607
+ function Ir({
1592
1608
  shape: t,
1593
1609
  rows: r,
1594
1610
  columns: n
@@ -1655,7 +1671,7 @@ function Dr({
1655
1671
  ] });
1656
1672
  }
1657
1673
  }
1658
- const _r = {
1674
+ const Or = {
1659
1675
  text: 2,
1660
1676
  table: 8,
1661
1677
  list: 6,
@@ -1663,7 +1679,7 @@ const _r = {
1663
1679
  menu: 4,
1664
1680
  cards: 2
1665
1681
  };
1666
- function Ue({
1682
+ function Ve({
1667
1683
  variant: t = "page",
1668
1684
  shape: r,
1669
1685
  rows: n,
@@ -1674,10 +1690,10 @@ function Ue({
1674
1690
  tableColumns: u,
1675
1691
  tableRows: i
1676
1692
  }) {
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 }) });
1693
+ const p = r ?? (o ? "table" : "text"), m = n ?? i ?? Or[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(Ir, { shape: p, rows: m, columns: f }) });
1678
1694
  return t === "inline" ? g : /* @__PURE__ */ e("main", { className: "flex-1 bg-surface p-6", children: g });
1679
1695
  }
1680
- const $r = ({
1696
+ const Pr = ({
1681
1697
  surface: t = !1,
1682
1698
  title: r,
1683
1699
  subtitle: n,
@@ -1692,9 +1708,9 @@ const $r = ({
1692
1708
  onTitleChange: f
1693
1709
  }) => {
1694
1710
  const [g, b] = B(!1), [w, v] = B(r), h = se(null);
1695
- Z(() => {
1711
+ Q(() => {
1696
1712
  v(r);
1697
- }, [r]), Z(() => {
1713
+ }, [r]), Q(() => {
1698
1714
  g && h.current && (h.current.focus(), h.current.select());
1699
1715
  }, [g]);
1700
1716
  const C = () => {
@@ -1726,7 +1742,7 @@ const $r = ({
1726
1742
  {
1727
1743
  variant: "ghost",
1728
1744
  onClick: p,
1729
- leftIcon: /* @__PURE__ */ e(Q, { icon: Ee, size: "md" }),
1745
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Te, size: "md" }),
1730
1746
  iconOnly: !0
1731
1747
  }
1732
1748
  ),
@@ -1757,7 +1773,7 @@ const $r = ({
1757
1773
  ),
1758
1774
  n && /* @__PURE__ */ e("span", { className: "shrink-0 text-base text-text-muted truncate", children: n }),
1759
1775
  m && /* @__PURE__ */ e(
1760
- Mt,
1776
+ _t,
1761
1777
  {
1762
1778
  size: 15,
1763
1779
  onClick: C,
@@ -1783,7 +1799,7 @@ const $r = ({
1783
1799
  ] }) }),
1784
1800
  a.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap sm:flex-nowrap gap-2 sm:gap-3", children: a.map(
1785
1801
  (D) => D.render ? /* @__PURE__ */ e(le.Fragment, { children: D.render() }, D.id) : D.splitOptions && D.splitOptions.length > 0 ? /* @__PURE__ */ e(
1786
- st,
1802
+ at,
1787
1803
  {
1788
1804
  label: D.label,
1789
1805
  onClick: D.onClick,
@@ -1812,11 +1828,11 @@ const $r = ({
1812
1828
  ]
1813
1829
  }
1814
1830
  );
1815
- }, Lr = {
1831
+ }, jr = {
1816
1832
  none: "",
1817
1833
  sm: "px-3 pb-3 pt-1",
1818
1834
  md: "px-5 pb-5 pt-1.5"
1819
- }, As = ({
1835
+ }, $s = ({
1820
1836
  title: t,
1821
1837
  subtitle: r,
1822
1838
  meta: n,
@@ -1835,7 +1851,7 @@ const $r = ({
1835
1851
  contentClassName: v,
1836
1852
  children: h
1837
1853
  }) => {
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;
1854
+ 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
1855
  return /* @__PURE__ */ c(
1840
1856
  "div",
1841
1857
  {
@@ -1849,7 +1865,7 @@ const $r = ({
1849
1865
  ),
1850
1866
  children: [
1851
1867
  /* @__PURE__ */ e(
1852
- $r,
1868
+ Pr,
1853
1869
  {
1854
1870
  surface: u,
1855
1871
  title: t,
@@ -1868,7 +1884,7 @@ const $r = ({
1868
1884
  {
1869
1885
  className: d(
1870
1886
  b && "min-h-0 flex-1 overflow-y-auto",
1871
- Lr[g],
1887
+ jr[g],
1872
1888
  v
1873
1889
  ),
1874
1890
  children: C
@@ -1883,7 +1899,7 @@ const $r = ({
1883
1899
  className: n
1884
1900
  }) => t.length === 0 ? null : /* @__PURE__ */ e("div", { className: d("flex flex-wrap items-center gap-2", n), children: t.map(
1885
1901
  (s) => s.render ? /* @__PURE__ */ e(le.Fragment, { children: s.render() }, s.id) : s.splitOptions && s.splitOptions.length > 0 ? /* @__PURE__ */ e(
1886
- st,
1902
+ at,
1887
1903
  {
1888
1904
  label: s.label,
1889
1905
  onClick: s.onClick,
@@ -1906,32 +1922,32 @@ const $r = ({
1906
1922
  },
1907
1923
  s.id
1908
1924
  )
1909
- ) }), Ir = {
1925
+ ) }), Rr = {
1910
1926
  none: "p-0",
1911
1927
  sm: "p-2",
1912
1928
  md: "px-5 py-4",
1913
1929
  lg: "p-6"
1914
- }, Ds = ({
1930
+ }, Ls = ({
1915
1931
  actions: t = [],
1916
1932
  onBack: r,
1917
1933
  backLabel: n = "Back",
1918
1934
  className: s,
1919
1935
  padding: a = "md",
1920
1936
  children: l
1921
- }) => /* @__PURE__ */ c("div", { className: d("flex items-center gap-2", Ir[a], s), children: [
1937
+ }) => /* @__PURE__ */ c("div", { className: d("flex items-center gap-2", Rr[a], s), children: [
1922
1938
  r && /* @__PURE__ */ e(
1923
1939
  ae,
1924
1940
  {
1925
1941
  variant: "secondary",
1926
1942
  onClick: r,
1927
1943
  "aria-label": n,
1928
- leftIcon: /* @__PURE__ */ e(Q, { icon: Ee, size: "sm" }),
1944
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Te, size: "sm" }),
1929
1945
  iconOnly: !0
1930
1946
  }
1931
1947
  ),
1932
1948
  l && /* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: l }),
1933
1949
  /* @__PURE__ */ e(ke, { actions: t, className: d(!l && "ml-auto") })
1934
- ] }), _s = ({
1950
+ ] }), Is = ({
1935
1951
  label: t,
1936
1952
  meta: r,
1937
1953
  action: n,
@@ -1941,7 +1957,7 @@ const $r = ({
1941
1957
  r && /* @__PURE__ */ e("span", { className: "min-w-0 flex-1 truncate text-right text-xs tabular-nums text-text-subtle", children: r }),
1942
1958
  n && /* @__PURE__ */ e("span", { className: "ml-auto shrink-0", children: n })
1943
1959
  ] });
1944
- function $s({
1960
+ function Os({
1945
1961
  label: t,
1946
1962
  trailing: r,
1947
1963
  align: n = "center",
@@ -1955,11 +1971,11 @@ function $s({
1955
1971
  r && /* @__PURE__ */ e("span", { className: "shrink-0", children: r })
1956
1972
  ] });
1957
1973
  }
1958
- const ct = tt(null), Ls = ct.Provider;
1959
- function Or() {
1960
- return wt(ct);
1974
+ const dt = rt(null), Ps = dt.Provider;
1975
+ function Fr() {
1976
+ return St(dt);
1961
1977
  }
1962
- function Is() {
1978
+ function js() {
1963
1979
  const [t, r] = B(null), n = ge(
1964
1980
  () => ({
1965
1981
  setTrail: (s, a) => r((l) => a ? { ownerId: s, entry: a } : l && l.ownerId !== s ? l : null)
@@ -1968,13 +1984,13 @@ function Is() {
1968
1984
  );
1969
1985
  return { trail: t?.entry ?? null, api: n };
1970
1986
  }
1971
- const Pr = {
1987
+ const Br = {
1972
1988
  none: "",
1973
1989
  sm: "px-3 py-3",
1974
1990
  // Matches the frame header's own horizontal padding, so content lines up
1975
1991
  // with the title above it.
1976
1992
  md: "px-5 py-4"
1977
- }, Os = ({
1993
+ }, Rs = ({
1978
1994
  children: t,
1979
1995
  actions: r = [],
1980
1996
  secondaryActions: n = [],
@@ -1988,7 +2004,7 @@ const Pr = {
1988
2004
  className: m,
1989
2005
  contentClassName: f
1990
2006
  }) => {
1991
- const g = Or(), b = Nt(), w = se(a);
2007
+ const g = Fr(), b = Ct(), w = se(a);
1992
2008
  w.current = a;
1993
2009
  const v = !!a, h = se(r);
1994
2010
  h.current = r;
@@ -2011,7 +2027,7 @@ const Pr = {
2011
2027
  secondaryActions: C.current.map(F("secondary"))
2012
2028
  };
2013
2029
  }, [P]);
2014
- Z(() => {
2030
+ Q(() => {
2015
2031
  if (g && !(!v && !o && !D))
2016
2032
  return g.setTrail(b, {
2017
2033
  title: o,
@@ -2036,7 +2052,7 @@ const Pr = {
2036
2052
  variant: "ghost",
2037
2053
  onClick: () => w.current?.(),
2038
2054
  "aria-label": l,
2039
- leftIcon: /* @__PURE__ */ e(Q, { icon: Ee, size: "sm" }),
2055
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Te, size: "sm" }),
2040
2056
  iconOnly: !0
2041
2057
  }
2042
2058
  ),
@@ -2046,7 +2062,7 @@ const Pr = {
2046
2062
  r.length > 0 && /* @__PURE__ */ e(ke, { actions: r })
2047
2063
  ] })
2048
2064
  ] }),
2049
- /* @__PURE__ */ e("div", { className: d("flex-1", Pr[p], f), children: u ? /* @__PURE__ */ e(Ue, { variant: "inline", shape: i }) : t }),
2065
+ /* @__PURE__ */ e("div", { className: d("flex-1", Br[p], f), children: u ? /* @__PURE__ */ e(Ve, { variant: "inline", shape: i }) : t }),
2050
2066
  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
2067
  n.length > 0 && /* @__PURE__ */ e(ke, { actions: n, defaultVariant: "ghost" }),
2052
2068
  r.length > 0 && /* @__PURE__ */ e(ke, { actions: r, className: "ml-auto" })
@@ -2054,7 +2070,7 @@ const Pr = {
2054
2070
  ] })
2055
2071
  );
2056
2072
  };
2057
- function Ps({
2073
+ function Fs({
2058
2074
  label: t,
2059
2075
  description: r,
2060
2076
  control: n,
@@ -2081,7 +2097,7 @@ function Ps({
2081
2097
  }
2082
2098
  );
2083
2099
  }
2084
- function js({
2100
+ function Bs({
2085
2101
  icon: t,
2086
2102
  title: r,
2087
2103
  description: n,
@@ -2091,7 +2107,7 @@ function js({
2091
2107
  }) {
2092
2108
  return /* @__PURE__ */ c("section", { className: d("flex flex-col gap-2", l), children: [
2093
2109
  /* @__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" }),
2110
+ t && /* @__PURE__ */ e(Z, { icon: t, size: "md", color: "secondary", className: "mt-0.5" }),
2095
2111
  /* @__PURE__ */ c("div", { className: "min-w-0 flex-1", children: [
2096
2112
  /* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-text", children: r }),
2097
2113
  n && /* @__PURE__ */ e("p", { className: "text-xs text-text-muted", children: n })
@@ -2101,7 +2117,7 @@ function js({
2101
2117
  /* @__PURE__ */ e("div", { className: d("flex flex-col", t && "pl-6"), children: a })
2102
2118
  ] });
2103
2119
  }
2104
- function Rs({ label: t, dotColor: r, onClick: n, className: s }) {
2120
+ function Hs({ label: t, dotColor: r, onClick: n, className: s }) {
2105
2121
  return /* @__PURE__ */ c(
2106
2122
  "button",
2107
2123
  {
@@ -2121,12 +2137,12 @@ function Rs({ label: t, dotColor: r, onClick: n, className: s }) {
2121
2137
  }
2122
2138
  ),
2123
2139
  /* @__PURE__ */ e("span", { className: "min-w-0 truncate", children: t }),
2124
- /* @__PURE__ */ e(Q, { icon: rt, size: "xs", className: "opacity-70" })
2140
+ /* @__PURE__ */ e(Z, { icon: nt, size: "xs", className: "opacity-70" })
2125
2141
  ]
2126
2142
  }
2127
2143
  );
2128
2144
  }
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(
2145
+ const Hr = () => /* @__PURE__ */ e(Z, { icon: $t, size: "md", color: "current" }), qr = () => /* @__PURE__ */ e(Z, { icon: Te, size: "md", color: "current" }), Ur = () => /* @__PURE__ */ e(Z, { icon: Pe, size: "md", color: "current" }), He = be(
2130
2146
  ({
2131
2147
  value: t,
2132
2148
  onChange: r,
@@ -2140,8 +2156,8 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2140
2156
  format: p = "MM/dd/yyyy",
2141
2157
  withTime: m = !1
2142
2158
  }, f) => {
2143
- const [g, b] = B(!1), [w, v] = B(() => t || /* @__PURE__ */ new Date()), h = se(null), C = se(null), k = Te(g, C);
2144
- Z(() => {
2159
+ const [g, b] = B(!1), [w, v] = B(() => t || /* @__PURE__ */ new Date()), h = se(null), C = se(null), k = Me(g, C);
2160
+ Q(() => {
2145
2161
  const y = (x) => {
2146
2162
  h.current && !h.current.contains(x.target) && b(!1);
2147
2163
  };
@@ -2162,7 +2178,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2162
2178
  const y = w.getFullYear(), x = w.getMonth(), E = new Date(y, x, 1), $ = new Date(E);
2163
2179
  $.setDate($.getDate() - E.getDay());
2164
2180
  const T = [], L = new Date($);
2165
- for (let M = 0; M < 42; M++)
2181
+ for (let z = 0; z < 42; z++)
2166
2182
  T.push(new Date(L)), L.setDate(L.getDate() + 1);
2167
2183
  return T;
2168
2184
  }, _ = (y) => {
@@ -2230,7 +2246,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2230
2246
  onClick: () => !s && b(!g),
2231
2247
  disabled: s,
2232
2248
  className: "absolute inset-y-0 right-0 flex items-center pr-3 text-text-muted hover:text-text-muted",
2233
- children: /* @__PURE__ */ e(jr, {})
2249
+ children: /* @__PURE__ */ e(Hr, {})
2234
2250
  }
2235
2251
  )
2236
2252
  ] }),
@@ -2241,13 +2257,13 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2241
2257
  className: "fixed z-overlay overflow-auto rounded-lg border border-border bg-surface p-4 shadow-overlay min-w-panel",
2242
2258
  children: [
2243
2259
  /* @__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, {}) }),
2260
+ /* @__PURE__ */ e("button", { onClick: I, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(qr, {}) }),
2245
2261
  /* @__PURE__ */ c("h3", { className: "text-sm font-medium text-text", children: [
2246
2262
  W[w.getMonth()],
2247
2263
  " ",
2248
2264
  w.getFullYear()
2249
2265
  ] }),
2250
- /* @__PURE__ */ e("button", { onClick: O, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(Fr, {}) })
2266
+ /* @__PURE__ */ e("button", { onClick: O, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(Ur, {}) })
2251
2267
  ] }),
2252
2268
  /* @__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
2269
  /* @__PURE__ */ e("div", { className: "grid grid-cols-7 gap-1", children: te.map((y, x) => {
@@ -2297,7 +2313,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2297
2313
  )
2298
2314
  ] });
2299
2315
  }
2300
- ), it = be(
2316
+ ), ut = be(
2301
2317
  ({
2302
2318
  value: t,
2303
2319
  onValueChange: r,
@@ -2322,7 +2338,7 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2322
2338
  l
2323
2339
  ),
2324
2340
  children: [
2325
- /* @__PURE__ */ e(Q, { icon: Ie, size: "md", color: "current", className: "shrink-0" }),
2341
+ /* @__PURE__ */ e(Z, { icon: Oe, size: "md", color: "current", className: "shrink-0" }),
2326
2342
  /* @__PURE__ */ e(
2327
2343
  "input",
2328
2344
  {
@@ -2354,15 +2370,15 @@ const jr = () => /* @__PURE__ */ e(Q, { icon: At, size: "md", color: "current" }
2354
2370
  "aria-label": a,
2355
2371
  onClick: () => r(""),
2356
2372
  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" })
2373
+ children: /* @__PURE__ */ e(Z, { icon: Se, size: "sm", color: "current" })
2358
2374
  }
2359
2375
  ) : n && /* @__PURE__ */ e("span", { className: "shrink-0 text-xs text-text-subtle", children: n })
2360
2376
  ]
2361
2377
  }
2362
2378
  )
2363
2379
  );
2364
- it.displayName = "SearchField";
2365
- const Br = ({
2380
+ ut.displayName = "SearchField";
2381
+ const Vr = ({
2366
2382
  trigger: t,
2367
2383
  options: r,
2368
2384
  value: n,
@@ -2373,12 +2389,12 @@ const Br = ({
2373
2389
  showCheck: u = !0,
2374
2390
  header: i
2375
2391
  }) => {
2376
- const [p, m] = B(!1), [f, g] = B(null), [b, w] = B({ top: 0, left: 0 }), v = se(null), h = se(null), C = se(null), k = se(null), P = Te(p, h, { placement: a }), D = se(null), Y = () => Array.from(
2392
+ const [p, m] = B(!1), [f, g] = B(null), [b, w] = B({ top: 0, left: 0 }), v = se(null), h = se(null), C = se(null), k = se(null), P = Me(p, h, { placement: a }), D = se(null), Y = () => Array.from(
2377
2393
  k.current?.querySelectorAll(
2378
2394
  "button[data-option-value]:not(:disabled)"
2379
2395
  ) ?? []
2380
2396
  );
2381
- Z(() => {
2397
+ Q(() => {
2382
2398
  p && Y()[0]?.focus();
2383
2399
  }, [p, Y]);
2384
2400
  const F = (y) => {
@@ -2389,21 +2405,21 @@ const Br = ({
2389
2405
  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
2406
  E[T]?.focus();
2391
2407
  };
2392
- Z(() => {
2408
+ Q(() => {
2393
2409
  const y = (x) => {
2394
2410
  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
2411
  };
2396
2412
  return p && document.addEventListener("mousedown", y), () => {
2397
2413
  document.removeEventListener("mousedown", y);
2398
2414
  };
2399
- }, [p]), Z(() => {
2415
+ }, [p]), Q(() => {
2400
2416
  const y = (x) => {
2401
2417
  x.key === "Escape" && (m(!1), g(null), h.current?.focus(), D.current && (clearTimeout(D.current), D.current = null));
2402
2418
  };
2403
2419
  return p && document.addEventListener("keydown", y), () => {
2404
2420
  document.removeEventListener("keydown", y);
2405
2421
  };
2406
- }, [p]), Z(() => {
2422
+ }, [p]), Q(() => {
2407
2423
  if (f && v.current) {
2408
2424
  const y = v.current.querySelector(
2409
2425
  `[data-option-value="${f}"]`
@@ -2416,7 +2432,7 @@ const Br = ({
2416
2432
  });
2417
2433
  }
2418
2434
  }
2419
- }, [f]), Z(() => () => {
2435
+ }, [f]), Q(() => () => {
2420
2436
  D.current && clearTimeout(D.current);
2421
2437
  }, []);
2422
2438
  const _ = (y) => {
@@ -2501,7 +2517,7 @@ const Br = ({
2501
2517
  ] })
2502
2518
  ] }),
2503
2519
  /* @__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 }),
2520
+ u && n === y.value && /* @__PURE__ */ e(We, { className: "size-icon-md shrink-0 text-success-fg", "aria-hidden": !0 }),
2505
2521
  E && /* @__PURE__ */ e("span", { className: "text-text-muted text-xs", children: "▶" })
2506
2522
  ] })
2507
2523
  ]
@@ -2533,7 +2549,7 @@ const Br = ({
2533
2549
  },
2534
2550
  `divider-${L}`
2535
2551
  );
2536
- const M = typeof n == "object" && n[y.value] && n[y.value].includes(T.value) || n === T.value;
2552
+ const z = typeof n == "object" && n[y.value] && n[y.value].includes(T.value) || n === T.value;
2537
2553
  return /* @__PURE__ */ c(
2538
2554
  "button",
2539
2555
  {
@@ -2553,8 +2569,8 @@ const Br = ({
2553
2569
  T.description && /* @__PURE__ */ e("span", { className: "text-xs text-text-muted", children: T.description })
2554
2570
  ] })
2555
2571
  ] }),
2556
- u && M && /* @__PURE__ */ e(
2557
- Ke,
2572
+ u && z && /* @__PURE__ */ e(
2573
+ We,
2558
2574
  {
2559
2575
  className: "size-icon-md shrink-0 text-success-fg",
2560
2576
  "aria-hidden": !0
@@ -2586,29 +2602,29 @@ const Br = ({
2586
2602
  ]
2587
2603
  }
2588
2604
  );
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 = {
2605
+ }, qs = (t) => (r) => t(r instanceof Date ? r : null), Us = (t) => (r) => t(typeof r == "string" ? r : ""), Vs = (t) => (r) => t(Array.isArray(r) ? r : typeof r == "string" && r ? [r] : []), Kr = {
2590
2606
  none: "px-0",
2591
2607
  sm: "px-2",
2592
2608
  md: "px-3.5",
2593
2609
  lg: "px-5"
2594
- }, qr = {
2610
+ }, Wr = {
2595
2611
  sm: "h-row-lg",
2596
2612
  md: "h-row-xl",
2597
2613
  lg: "h-14"
2598
- }, Ur = 8, Ye = ["62%", "44%", "74%", "52%", "68%", "48%", "80%", "56%"];
2599
- function Vr(t, r) {
2614
+ }, Gr = 8, Xe = ["62%", "44%", "74%", "52%", "68%", "48%", "80%", "56%"];
2615
+ function Jr(t, r) {
2600
2616
  if (r <= 7) return Array.from({ length: r }, (l, o) => o);
2601
2617
  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
2618
  return s.forEach((l, o) => {
2603
2619
  o > 0 && l - s[o - 1] > 1 && a.push("gap"), a.push(l);
2604
2620
  }), a;
2605
2621
  }
2606
- const Kr = (t) => {
2622
+ const Yr = (t) => {
2607
2623
  const r = Array.isArray(t.value) ? t.value : t.value != null && t.value !== "" && t.value !== "all" ? [t.value] : [];
2608
2624
  if (t.type === "date") {
2609
2625
  const o = t.value instanceof Date;
2610
2626
  return /* @__PURE__ */ e(
2611
- Be,
2627
+ He,
2612
2628
  {
2613
2629
  value: t.value,
2614
2630
  onChange: (u) => t.onChange(u),
@@ -2625,7 +2641,7 @@ const Kr = (t) => {
2625
2641
  );
2626
2642
  }, l = r.length > 0;
2627
2643
  return /* @__PURE__ */ e(
2628
- tr,
2644
+ sr,
2629
2645
  {
2630
2646
  tone: "outline",
2631
2647
  caret: !0,
@@ -2655,7 +2671,7 @@ const Kr = (t) => {
2655
2671
  )) })
2656
2672
  }
2657
2673
  );
2658
- }, Xe = ({
2674
+ }, Ze = ({
2659
2675
  data: t,
2660
2676
  columns: r,
2661
2677
  loading: n = !1,
@@ -2688,7 +2704,7 @@ const Kr = (t) => {
2688
2704
  const [te, W] = B(""), y = l !== void 0, x = y ? l : te, E = o ?? W, [$, T] = B({
2689
2705
  column: null,
2690
2706
  direction: null
2691
- }), [L, M] = B({
2707
+ }), [L, z] = B({
2692
2708
  page: 0,
2693
2709
  pageSize: b
2694
2710
  }), ce = se(null), ie = ge(() => {
@@ -2719,8 +2735,8 @@ const Kr = (t) => {
2719
2735
  },
2720
2736
  [r]
2721
2737
  ), S = de((A) => {
2722
- M((J) => ({ ...J, page: A }));
2723
- }, []), z = de(
2738
+ z((J) => ({ ...J, page: A }));
2739
+ }, []), M = de(
2724
2740
  (A, J) => {
2725
2741
  if (!k) return;
2726
2742
  const ne = P(A, 0);
@@ -2733,10 +2749,10 @@ const Kr = (t) => {
2733
2749
  },
2734
2750
  [K, k]
2735
2751
  );
2736
- Z(() => {
2737
- M((A) => ({ ...A, page: 0 }));
2738
- }, []), Z(() => {
2739
- M((A) => ({ ...A, page: 0 }));
2752
+ Q(() => {
2753
+ z((A) => ({ ...A, page: 0 }));
2754
+ }, []), Q(() => {
2755
+ z((A) => ({ ...A, page: 0 }));
2740
2756
  }, []);
2741
2757
  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
2758
  const J = P(A, 0);
@@ -2744,7 +2760,7 @@ const Kr = (t) => {
2744
2760
  }), pe = K.some((A) => {
2745
2761
  const J = P(A, 0);
2746
2762
  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(() => {
2763
+ }), ye = Kr[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
2764
  const A = K.map((ee, V) => ({ row: ee, index: V }));
2749
2765
  if (!m) return [{ group: null, rows: A }];
2750
2766
  const J = /* @__PURE__ */ new Map();
@@ -2757,11 +2773,11 @@ const Kr = (t) => {
2757
2773
  ...ne.filter((ee) => J.has(ee.id)),
2758
2774
  ...[...J.keys()].filter((ee) => !ne.some((V) => V.id === ee)).map((ee) => ({ id: ee }))
2759
2775
  ].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;
2776
+ }, [K, m, f]), yt = r.length + (h ? 1 : 0) + (w.length > 0 ? 1 : 0), Ke = g && q > 0, Nt = Ke || Y !== void 0;
2761
2777
  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: [
2778
+ je && /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-2 pb-3", children: [
2763
2779
  s && /* @__PURE__ */ e(
2764
- it,
2780
+ ut,
2765
2781
  {
2766
2782
  value: x,
2767
2783
  onValueChange: E,
@@ -2769,7 +2785,7 @@ const Kr = (t) => {
2769
2785
  containerClassName: "w-full sm:w-66"
2770
2786
  }
2771
2787
  ),
2772
- u.map((A) => /* @__PURE__ */ e(Kr, { ...A }, A.id)),
2788
+ u.map((A) => /* @__PURE__ */ e(Yr, { ...A }, A.id)),
2773
2789
  p,
2774
2790
  i.length > 0 && /* @__PURE__ */ e(ke, { actions: i, className: "ml-auto" })
2775
2791
  ] }),
@@ -2806,9 +2822,9 @@ const Kr = (t) => {
2806
2822
  children: /* @__PURE__ */ c("div", { className: "flex items-center gap-1.5", children: [
2807
2823
  A.headerCell ? A.headerCell() : A.header,
2808
2824
  A.sortable && /* @__PURE__ */ e(
2809
- Q,
2825
+ Z,
2810
2826
  {
2811
- icon: $.column === A.id && $.direction === "desc" ? Le : Dt,
2827
+ icon: $.column === A.id && $.direction === "desc" ? Ie : Lt,
2812
2828
  size: "xs",
2813
2829
  className: d(
2814
2830
  "transition-opacity duration-fast ease-out",
@@ -2822,7 +2838,7 @@ const Kr = (t) => {
2822
2838
  )),
2823
2839
  w.length > 0 && /* @__PURE__ */ e("th", { className: d(xe, "w-10"), children: /* @__PURE__ */ e("span", { className: "sr-only", children: "Actions" }) })
2824
2840
  ] }) }),
2825
- /* @__PURE__ */ e("tbody", { children: n ? Array.from({ length: Ur }).map((A, J) => /* @__PURE__ */ c(
2841
+ /* @__PURE__ */ e("tbody", { children: n ? Array.from({ length: Gr }).map((A, J) => /* @__PURE__ */ c(
2826
2842
  "tr",
2827
2843
  {
2828
2844
  className: "animate-pulse border-t border-border-subtle",
@@ -2839,7 +2855,7 @@ const Kr = (t) => {
2839
2855
  {
2840
2856
  className: "block h-3 rounded-xs bg-surface-hover",
2841
2857
  style: {
2842
- width: Ye[(J + ue) % Ye.length]
2858
+ width: Xe[(J + ue) % Xe.length]
2843
2859
  }
2844
2860
  }
2845
2861
  )
@@ -2860,12 +2876,12 @@ const Kr = (t) => {
2860
2876
  ),
2861
2877
  children: D || "No data available"
2862
2878
  }
2863
- ) }) : gt.flatMap((A) => [
2879
+ ) }) : vt.flatMap((A) => [
2864
2880
  ...A.group ? [
2865
2881
  /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e(
2866
2882
  "td",
2867
2883
  {
2868
- colSpan: bt,
2884
+ colSpan: yt,
2869
2885
  className: d(
2870
2886
  // A caption over its rows, not a second column strip:
2871
2887
  // same surface as the rows, no rules, count on the right.
@@ -2887,7 +2903,7 @@ const Kr = (t) => {
2887
2903
  "tr",
2888
2904
  {
2889
2905
  className: d(
2890
- qr[F],
2906
+ Wr[F],
2891
2907
  // Hairline above every row, including the first: it is
2892
2908
  // what separates the body from the column strip.
2893
2909
  "border-t border-border-subtle",
@@ -2907,7 +2923,7 @@ const Kr = (t) => {
2907
2923
  checked: ee,
2908
2924
  onClick: (V) => V.stopPropagation(),
2909
2925
  onChange: (V) => {
2910
- V.stopPropagation(), z(J, V.target.checked);
2926
+ V.stopPropagation(), M(J, V.target.checked);
2911
2927
  },
2912
2928
  "aria-label": "Select row"
2913
2929
  }
@@ -2930,10 +2946,10 @@ const Kr = (t) => {
2930
2946
  );
2931
2947
  }),
2932
2948
  w.length > 0 && /* @__PURE__ */ e("td", { className: xe, children: /* @__PURE__ */ e(
2933
- Br,
2949
+ Vr,
2934
2950
  {
2935
2951
  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" }) }),
2952
+ 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
2953
  options: w.map((V) => ({
2938
2954
  value: V.id,
2939
2955
  label: V.label,
@@ -2941,7 +2957,7 @@ const Kr = (t) => {
2941
2957
  disabled: V.disabled?.(J)
2942
2958
  })),
2943
2959
  onSelect: (V) => {
2944
- const ve = w.find((vt) => vt.id === V);
2960
+ const ve = w.find((wt) => wt.id === V);
2945
2961
  ve && ve.onClick(J, ne);
2946
2962
  },
2947
2963
  placement: "bottom-end"
@@ -2954,9 +2970,9 @@ const Kr = (t) => {
2954
2970
  })
2955
2971
  ]) })
2956
2972
  ] }) }),
2957
- pt && /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-3 px-1 pt-3 text-xs text-text-muted", children: [
2973
+ Nt && /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-3 px-1 pt-3 text-xs text-text-muted", children: [
2958
2974
  /* @__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: [
2975
+ Ke && /* @__PURE__ */ c("div", { className: "flex items-center gap-0.5", children: [
2960
2976
  /* @__PURE__ */ e(
2961
2977
  ae,
2962
2978
  {
@@ -2966,10 +2982,10 @@ const Kr = (t) => {
2966
2982
  "aria-label": "Previous page",
2967
2983
  onClick: () => S(L.page - 1),
2968
2984
  disabled: L.page === 0,
2969
- children: /* @__PURE__ */ e(Q, { icon: Ee, size: "md", color: "current" })
2985
+ children: /* @__PURE__ */ e(Z, { icon: Te, size: "md", color: "current" })
2970
2986
  }
2971
2987
  ),
2972
- Vr(L.page, N).map(
2988
+ Jr(L.page, N).map(
2973
2989
  (A, J) => A === "gap" ? /* @__PURE__ */ e("span", { className: "px-1 text-text-subtle", children: "…" }, `gap-${J}`) : /* @__PURE__ */ e(
2974
2990
  "button",
2975
2991
  {
@@ -2996,13 +3012,13 @@ const Kr = (t) => {
2996
3012
  "aria-label": "Next page",
2997
3013
  onClick: () => S(L.page + 1),
2998
3014
  disabled: L.page >= N - 1,
2999
- children: /* @__PURE__ */ e(Q, { icon: Oe, size: "md", color: "current" })
3015
+ children: /* @__PURE__ */ e(Z, { icon: Pe, size: "md", color: "current" })
3000
3016
  }
3001
3017
  )
3002
3018
  ] })
3003
3019
  ] })
3004
3020
  ] });
3005
- }, Wr = {
3021
+ }, Xr = {
3006
3022
  default: "bg-surface-hover text-text",
3007
3023
  primary: "bg-accent-soft text-accent",
3008
3024
  secondary: "bg-surface-hover text-text-muted",
@@ -3012,11 +3028,11 @@ const Kr = (t) => {
3012
3028
  info: "bg-info-soft text-info-fg",
3013
3029
  // Internal-note amber. Never for customer-visible content.
3014
3030
  note: "bg-note-soft text-note"
3015
- }, Gr = {
3031
+ }, Zr = {
3016
3032
  sm: "px-2 py-0.5 text-xs",
3017
3033
  md: "px-2.5 py-1 text-sm",
3018
3034
  lg: "px-3 py-1.5 text-base"
3019
- }, Jr = {
3035
+ }, Qr = {
3020
3036
  default: "bg-surface-hover",
3021
3037
  primary: "bg-accent",
3022
3038
  secondary: "bg-surface-hover",
@@ -3026,7 +3042,7 @@ const Kr = (t) => {
3026
3042
  info: "bg-info",
3027
3043
  note: "bg-note"
3028
3044
  };
3029
- function Yr({
3045
+ function en({
3030
3046
  variant: t = "default",
3031
3047
  size: r = "md",
3032
3048
  dot: n = !1,
@@ -3042,13 +3058,13 @@ function Yr({
3042
3058
  {
3043
3059
  className: d(
3044
3060
  "inline-flex items-center font-medium rounded-full",
3045
- Wr[t],
3046
- Gr[r],
3061
+ Xr[t],
3062
+ Zr[r],
3047
3063
  o
3048
3064
  ),
3049
3065
  ...i,
3050
3066
  children: [
3051
- n && /* @__PURE__ */ e("span", { className: d("w-2 h-2 rounded-full mr-1.5", Jr[t]) }),
3067
+ n && /* @__PURE__ */ e("span", { className: d("w-2 h-2 rounded-full mr-1.5", Qr[t]) }),
3052
3068
  s && /* @__PURE__ */ e("span", { className: d("flex-shrink-0", u && "mr-1"), children: s }),
3053
3069
  u,
3054
3070
  a && l && /* @__PURE__ */ e(
@@ -3057,14 +3073,14 @@ function Yr({
3057
3073
  onClick: l,
3058
3074
  className: "ml-1.5 flex-shrink-0 hover:opacity-70 transition-opacity",
3059
3075
  "aria-label": "Remove badge",
3060
- children: /* @__PURE__ */ e(Q, { icon: Se, size: "xs", color: "current" })
3076
+ children: /* @__PURE__ */ e(Z, { icon: Se, size: "xs", color: "current" })
3061
3077
  }
3062
3078
  )
3063
3079
  ]
3064
3080
  }
3065
3081
  );
3066
3082
  }
3067
- function Xr(t) {
3083
+ function tn(t) {
3068
3084
  const { id: r, header: n, accessor: s, label: a, tone: l, visible: o, width: u, sortable: i, align: p } = t;
3069
3085
  return {
3070
3086
  id: r,
@@ -3072,14 +3088,14 @@ function Xr(t) {
3072
3088
  accessor: (m) => a(s(m), m),
3073
3089
  cell: (m, f) => {
3074
3090
  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) });
3091
+ return o && !o(g, f) ? null : /* @__PURE__ */ e(en, { variant: l ? l(g, f) : "default", size: "sm", children: a(g, f) });
3076
3092
  },
3077
3093
  width: u,
3078
3094
  sortable: i,
3079
3095
  align: p
3080
3096
  };
3081
3097
  }
3082
- function qs(t) {
3098
+ function Ks(t) {
3083
3099
  const {
3084
3100
  id: r,
3085
3101
  header: n,
@@ -3091,7 +3107,7 @@ function qs(t) {
3091
3107
  width: i,
3092
3108
  sortable: p
3093
3109
  } = t;
3094
- return Xr({
3110
+ return tn({
3095
3111
  id: r,
3096
3112
  header: n,
3097
3113
  accessor: (m) => !!s(m),
@@ -3101,7 +3117,7 @@ function qs(t) {
3101
3117
  sortable: p
3102
3118
  });
3103
3119
  }
3104
- function Us(t) {
3120
+ function Ws(t) {
3105
3121
  const {
3106
3122
  id: r,
3107
3123
  header: n,
@@ -3125,19 +3141,19 @@ function Us(t) {
3125
3141
  sortable: p
3126
3142
  };
3127
3143
  }
3128
- const Qr = {
3144
+ const rn = {
3129
3145
  xs: "text-xs",
3130
3146
  sm: "text-sm",
3131
3147
  md: "text-base",
3132
3148
  lg: "text-md",
3133
3149
  xl: "text-lg"
3134
- }, Zr = {
3150
+ }, nn = {
3135
3151
  light: "font-normal",
3136
3152
  normal: "font-normal",
3137
3153
  medium: "font-medium",
3138
3154
  semibold: "font-semibold",
3139
3155
  bold: "font-bold"
3140
- }, en = {
3156
+ }, sn = {
3141
3157
  primary: "text-text",
3142
3158
  secondary: "text-text-muted",
3143
3159
  accent: "text-accent",
@@ -3148,12 +3164,12 @@ const Qr = {
3148
3164
  neutral: "text-text",
3149
3165
  current: "text-current",
3150
3166
  muted: "text-text-subtle"
3151
- }, tn = {
3167
+ }, an = {
3152
3168
  left: "text-left",
3153
3169
  center: "text-center",
3154
3170
  right: "text-right",
3155
3171
  justify: "text-justify"
3156
- }, rn = {
3172
+ }, ln = {
3157
3173
  tight: "leading-tight",
3158
3174
  normal: "leading-normal",
3159
3175
  relaxed: "leading-relaxed"
@@ -3172,20 +3188,20 @@ const Qr = {
3172
3188
  children: f,
3173
3189
  ...g
3174
3190
  }) => {
3175
- const b = p || nn(t), w = t === "caption", v = t === "label", h = t === "code", C = d(
3191
+ const b = p || on(t), w = t === "caption", v = t === "label", h = t === "code", C = d(
3176
3192
  "font-sans",
3177
3193
  // Variant — caption and label pin their own size/weight
3178
3194
  w && "text-xs text-text-subtle",
3179
3195
  v && "text-xs font-semibold uppercase tracking-label text-text-subtle",
3180
3196
  h && "font-mono text-sm rounded-sm bg-surface-hover px-1 py-0.5",
3181
3197
  // Size — only where the variant does not pin it
3182
- !w && !v && !h && Qr[r],
3198
+ !w && !v && !h && rn[r],
3183
3199
  // Weight — label owns its weight
3184
- !v && Zr[n],
3185
- en[s],
3186
- tn[a],
3200
+ !v && nn[n],
3201
+ sn[s],
3202
+ an[a],
3187
3203
  // Line height only overrides the body variant
3188
- t === "body" && rn[i],
3204
+ t === "body" && ln[i],
3189
3205
  o && "italic",
3190
3206
  u && "underline",
3191
3207
  l && "truncate",
@@ -3193,7 +3209,7 @@ const Qr = {
3193
3209
  );
3194
3210
  return /* @__PURE__ */ e(b, { className: C, ...g, children: f });
3195
3211
  };
3196
- function nn(t) {
3212
+ function on(t) {
3197
3213
  return {
3198
3214
  body: "p",
3199
3215
  caption: "span",
@@ -3201,13 +3217,13 @@ function nn(t) {
3201
3217
  code: "code"
3202
3218
  }[t] || "p";
3203
3219
  }
3204
- function sn(t, r) {
3220
+ function cn(t, r) {
3205
3221
  return r.split(".").reduce(
3206
3222
  (n, s) => n && typeof n == "object" && s in n ? n[s] : void 0,
3207
3223
  t
3208
3224
  );
3209
3225
  }
3210
- const Vs = ({
3226
+ const Gs = ({
3211
3227
  groups: t,
3212
3228
  data: r,
3213
3229
  size: n = "md",
@@ -3230,7 +3246,7 @@ const Vs = ({
3230
3246
  return g ? g.label : String(m || "-");
3231
3247
  }, u = de(
3232
3248
  (m) => {
3233
- const f = sn(r, m.name);
3249
+ const f = cn(r, m.name);
3234
3250
  if (m.type === "array") {
3235
3251
  const b = f;
3236
3252
  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 +3389,7 @@ const Vs = ({
3373
3389
  );
3374
3390
  return /* @__PURE__ */ e("div", { className: p, children: /* @__PURE__ */ e("div", { className: "space-y-8", children: t.map(i) }) });
3375
3391
  };
3376
- class Ks extends kt {
3392
+ class Js extends Et {
3377
3393
  constructor() {
3378
3394
  super(...arguments), this.state = {
3379
3395
  hasError: !1,
@@ -3401,8 +3417,8 @@ class Ks extends kt {
3401
3417
  ] }) : this.props.children;
3402
3418
  }
3403
3419
  }
3404
- const Re = /* @__PURE__ */ new Map();
3405
- function Ws({
3420
+ const Fe = /* @__PURE__ */ new Map();
3421
+ function Ys({
3406
3422
  identifier: t,
3407
3423
  resourceLoader: r,
3408
3424
  framework: n = "react",
@@ -3412,14 +3428,14 @@ function Ws({
3412
3428
  className: o
3413
3429
  }) {
3414
3430
  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;
3431
+ g.current = r, Q(() => {
3432
+ if (Fe.has(t)) return;
3417
3433
  let C = !0;
3418
3434
  return (async () => {
3419
3435
  try {
3420
3436
  const P = await g.current();
3421
3437
  if (!C) return;
3422
- Re.set(t, P), m((D) => D + 1);
3438
+ Fe.set(t, P), m((D) => D + 1);
3423
3439
  } catch (P) {
3424
3440
  console.error(`[FederatedResource] Load failed: ${t}`, P), C && p(t);
3425
3441
  }
@@ -3427,8 +3443,8 @@ function Ws({
3427
3443
  C = !1;
3428
3444
  };
3429
3445
  }, [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(() => {
3446
+ const b = Fe.get(t) ?? null, w = !b && i === t, v = !b && !w, h = b ? n === "react" && (b.component || b.default) || b : null;
3447
+ return Q(() => {
3432
3448
  if (!h || n === "react") return;
3433
3449
  const C = u.current;
3434
3450
  if (C) {
@@ -3443,7 +3459,7 @@ function Ws({
3443
3459
  };
3444
3460
  }
3445
3461
  }
3446
- }, [h, n, l]), Z(() => {
3462
+ }, [h, n, l]), Q(() => {
3447
3463
  n === "svelte" && f.current && f.current.$set?.(l);
3448
3464
  }, [l, n]), /* @__PURE__ */ c("div", { ref: u, className: o, style: { display: "contents" }, children: [
3449
3465
  v && s,
@@ -3451,11 +3467,11 @@ function Ws({
3451
3467
  n === "react" && h && /* @__PURE__ */ e(h, { ...l })
3452
3468
  ] });
3453
3469
  }
3454
- const an = {
3470
+ const dn = {
3455
3471
  neutral: "bg-surface-hover text-text-muted",
3456
3472
  success: "bg-success-soft text-success-fg"
3457
3473
  };
3458
- function Gs({
3474
+ function Xs({
3459
3475
  icon: t,
3460
3476
  tone: r = "neutral",
3461
3477
  title: n,
@@ -3480,7 +3496,7 @@ function Gs({
3480
3496
  {
3481
3497
  className: d(
3482
3498
  "flex size-disc items-center justify-center rounded-full text-2xl",
3483
- an[r]
3499
+ dn[r]
3484
3500
  ),
3485
3501
  children: t
3486
3502
  }
@@ -3492,7 +3508,7 @@ function Gs({
3492
3508
  }
3493
3509
  );
3494
3510
  }
3495
- function Js({ children: t, className: r, ...n }) {
3511
+ function Zs({ children: t, className: r, ...n }) {
3496
3512
  return /* @__PURE__ */ e(
3497
3513
  "kbd",
3498
3514
  {
@@ -3505,14 +3521,14 @@ function Js({ children: t, className: r, ...n }) {
3505
3521
  }
3506
3522
  );
3507
3523
  }
3508
- const ln = {
3524
+ const un = {
3509
3525
  sm: "h-1",
3510
3526
  md: "h-1.5"
3511
- }, on = {
3527
+ }, mn = {
3512
3528
  accent: "bg-accent",
3513
3529
  success: "bg-success"
3514
3530
  };
3515
- function Ys({
3531
+ function Qs({
3516
3532
  value: t,
3517
3533
  variant: r = "accent",
3518
3534
  size: n = "md",
@@ -3529,7 +3545,7 @@ function Ys({
3529
3545
  "aria-valuemax": 100,
3530
3546
  className: d(
3531
3547
  "w-full overflow-hidden rounded-full bg-surface-hover",
3532
- ln[n],
3548
+ un[n],
3533
3549
  s
3534
3550
  ),
3535
3551
  ...a,
@@ -3538,7 +3554,7 @@ function Ys({
3538
3554
  {
3539
3555
  className: d(
3540
3556
  "h-full rounded-full transition-[width] duration-300 ease-out",
3541
- on[r]
3557
+ mn[r]
3542
3558
  ),
3543
3559
  style: { width: `${l}%` }
3544
3560
  }
@@ -3546,25 +3562,25 @@ function Ys({
3546
3562
  }
3547
3563
  );
3548
3564
  }
3549
- const cn = {
3565
+ const fn = {
3550
3566
  xs: "h-3 w-3",
3551
3567
  sm: "h-4 w-4",
3552
3568
  md: "h-6 w-6",
3553
3569
  lg: "h-8 w-8",
3554
3570
  xl: "h-12 w-12"
3555
- }, dn = {
3571
+ }, hn = {
3556
3572
  primary: "text-accent",
3557
3573
  secondary: "text-text-muted",
3558
3574
  white: "text-white",
3559
3575
  current: "text-current"
3560
- }, un = {
3576
+ }, xn = {
3561
3577
  xs: "text-xs",
3562
3578
  sm: "text-sm",
3563
3579
  md: "text-sm",
3564
3580
  lg: "text-base",
3565
3581
  xl: "text-lg"
3566
3582
  };
3567
- function Xs({
3583
+ function ea({
3568
3584
  size: t = "md",
3569
3585
  variant: r = "primary",
3570
3586
  label: n = "Loading...",
@@ -3581,7 +3597,7 @@ function Xs({
3581
3597
  /* @__PURE__ */ c(
3582
3598
  "svg",
3583
3599
  {
3584
- className: d("animate-spin", cn[t], dn[r]),
3600
+ className: d("animate-spin", fn[t], hn[r]),
3585
3601
  fill: "none",
3586
3602
  viewBox: "0 0 24 24",
3587
3603
  "aria-hidden": !s,
@@ -3609,13 +3625,13 @@ function Xs({
3609
3625
  ]
3610
3626
  }
3611
3627
  ),
3612
- s && /* @__PURE__ */ e("span", { className: d("text-text-muted", un[t]), children: n }),
3628
+ s && /* @__PURE__ */ e("span", { className: d("text-text-muted", xn[t]), children: n }),
3613
3629
  !s && /* @__PURE__ */ e("span", { className: "sr-only", children: n })
3614
3630
  ]
3615
3631
  }
3616
3632
  );
3617
3633
  }
3618
- const mn = {
3634
+ const gn = {
3619
3635
  neutral: "bg-text-disabled",
3620
3636
  accent: "bg-accent",
3621
3637
  success: "bg-success",
@@ -3629,7 +3645,7 @@ const mn = {
3629
3645
  "cat-4": "bg-cat-4",
3630
3646
  "cat-5": "bg-cat-5"
3631
3647
  };
3632
- function Qs({
3648
+ function ta({
3633
3649
  tone: t = "neutral",
3634
3650
  shape: r = "round",
3635
3651
  pulse: n = !1,
@@ -3645,14 +3661,14 @@ function Qs({
3645
3661
  className: d(
3646
3662
  "inline-block size-dot shrink-0",
3647
3663
  r === "round" ? "rounded-full" : "rounded-sm",
3648
- mn[t],
3664
+ gn[t],
3649
3665
  n && "animate-pulse",
3650
3666
  a
3651
3667
  )
3652
3668
  }
3653
3669
  );
3654
3670
  }
3655
- function Zs({
3671
+ function ra({
3656
3672
  steps: t,
3657
3673
  current: r,
3658
3674
  variant: n = "numbered",
@@ -3692,7 +3708,7 @@ function Zs({
3692
3708
  i < t.length - 1 && /* @__PURE__ */ e("span", { className: "h-px w-8 bg-border-strong" })
3693
3709
  ] }, u)) });
3694
3710
  }
3695
- const fn = /* @__PURE__ */ new Set([
3711
+ const bn = /* @__PURE__ */ new Set([
3696
3712
  "name",
3697
3713
  "given-name",
3698
3714
  "family-name",
@@ -3727,7 +3743,7 @@ const fn = /* @__PURE__ */ new Set([
3727
3743
  "one-time-code"
3728
3744
  ]);
3729
3745
  function Qe(t) {
3730
- return t && fn.has(t) ? { autoComplete: t } : {
3746
+ return t && bn.has(t) ? { autoComplete: t } : {
3731
3747
  autoComplete: "off",
3732
3748
  // 1Password
3733
3749
  "data-1p-ignore": "true",
@@ -3739,12 +3755,12 @@ function Qe(t) {
3739
3755
  "data-form-type": "other"
3740
3756
  };
3741
3757
  }
3742
- const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCase(), xn = {
3758
+ const _e = (t) => t == null ? "" : String(t), pn = (t) => _e(t).trim().toLowerCase(), vn = {
3743
3759
  sm: "h-control-sm px-3 text-sm",
3744
3760
  md: "h-control-md px-3 text-sm",
3745
3761
  lg: "h-control-lg px-3 text-base",
3746
3762
  full: "h-control-md w-full px-3 text-sm"
3747
- }, Ae = hn, _e = be(
3763
+ }, De = pn, Le = be(
3748
3764
  ({
3749
3765
  label: t,
3750
3766
  helperText: r,
@@ -3766,7 +3782,7 @@ const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCa
3766
3782
  onCreateOption: C,
3767
3783
  ...k
3768
3784
  }, P) => {
3769
- const D = f || `select-${Math.random().toString(36).substr(2, 9)}`, Y = !!n, [F, _] = le.useState(!1), [I, O] = le.useState(""), H = le.useRef(null), U = le.useRef(null), te = Te(F, U, { matchWidth: !0 }), [W, y] = le.useState(o);
3785
+ const D = f || `select-${Math.random().toString(36).substr(2, 9)}`, Y = !!n, [F, _] = le.useState(!1), [I, O] = le.useState(""), H = le.useRef(null), U = le.useRef(null), te = Me(F, U, { matchWidth: !0 }), [W, y] = le.useState(o);
3770
3786
  le.useImperativeHandle(P, () => H.current), le.useEffect(() => {
3771
3787
  const j = (S) => {
3772
3788
  H.current && !H.current.contains(S.target) && _(!1);
@@ -3774,50 +3790,50 @@ const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCa
3774
3790
  return document.addEventListener("mousedown", j), () => document.removeEventListener("mousedown", j);
3775
3791
  }, []);
3776
3792
  const x = le.useCallback(
3777
- (j, S) => j.some((z) => Ae(z.value) === Ae(S) || Ae(z.label) === Ae(S)),
3793
+ (j, S) => j.some((M) => De(M.value) === De(S) || De(M.label) === De(S)),
3778
3794
  []
3779
3795
  ), E = le.useCallback(
3780
3796
  (j, S) => {
3781
- const z = [...j], X = (q) => {
3782
- const N = De(q).trim();
3783
- N && (x(z, N) || z.push({ value: N, label: N }));
3797
+ const M = [...j], X = (q) => {
3798
+ const N = _e(q).trim();
3799
+ N && (x(M, N) || M.push({ value: N, label: N }));
3784
3800
  };
3785
- return Array.isArray(S) ? S.forEach(X) : X(S), z;
3801
+ return Array.isArray(S) ? S.forEach(X) : X(S), M;
3786
3802
  },
3787
3803
  [x]
3788
3804
  );
3789
3805
  le.useEffect(() => {
3790
3806
  y((j) => {
3791
3807
  const S = [...o];
3792
- return j.forEach((z) => {
3793
- !x(S, z.value) && !x(S, z.label) && S.push(z);
3808
+ return j.forEach((M) => {
3809
+ !x(S, M.value) && !x(S, M.label) && S.push(M);
3794
3810
  }), E(S, w);
3795
3811
  });
3796
3812
  }, [o, w, E, x]);
3797
3813
  const $ = le.useMemo(
3798
- () => Array.isArray(w) ? w.map(De) : w == null ? void 0 : De(w),
3814
+ () => Array.isArray(w) ? w.map(_e) : w == null ? void 0 : _e(w),
3799
3815
  [w]
3800
3816
  ), T = (j) => {
3801
3817
  if (b) {
3802
- const S = Array.isArray($) ? $ : [], z = S.includes(j) ? S.filter((X) => X !== j) : [...S, j];
3803
- v?.(z);
3818
+ const S = Array.isArray($) ? $ : [], M = S.includes(j) ? S.filter((X) => X !== j) : [...S, j];
3819
+ v?.(M);
3804
3820
  } else
3805
3821
  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(
3822
+ }, L = b ? null : W.find((j) => j.value === $), z = b ? W.filter((j) => Array.isArray($) && $.includes(j.value)) : [], ce = g && I ? W.filter(
3807
3823
  (j) => j.label.toLowerCase().includes(I.toLowerCase())
3808
3824
  ) : W, ie = !!h && !!g && !!I.trim() && !x(W, I), G = (j) => {
3809
3825
  const S = j.trim();
3810
3826
  if (!S) return;
3811
- const z = C?.(S) ?? {
3827
+ const M = C?.(S) ?? {
3812
3828
  value: S,
3813
3829
  label: S
3814
3830
  };
3815
- if (x(W, z.value) || x(W, z.label)) {
3816
- T(z.value), O(""), b || _(!1);
3831
+ if (x(W, M.value) || x(W, M.label)) {
3832
+ T(M.value), O(""), b || _(!1);
3817
3833
  return;
3818
3834
  }
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";
3835
+ y((X) => [...X, M]), T(M.value), O(""), b || _(!1);
3836
+ }, K = () => b ? z.length > 0 ? z.map((j) => j.label).join(", ") : u || "Select options" : L?.label || u || "Select an option";
3821
3837
  return /* @__PURE__ */ c(
3822
3838
  "div",
3823
3839
  {
@@ -3852,14 +3868,14 @@ const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCa
3852
3868
  "focus-visible:outline-none focus-visible:focus-ring",
3853
3869
  "disabled:cursor-not-allowed disabled:bg-surface-hover disabled:text-text-disabled",
3854
3870
  "bg-surface",
3855
- xn[s],
3871
+ vn[s],
3856
3872
  Y ? "border-danger-border text-danger-fg focus-visible:focus-ring" : "border-border-strong text-text",
3857
3873
  m
3858
3874
  ),
3859
3875
  children: [
3860
3876
  /* @__PURE__ */ e("span", { className: "truncate flex-1 min-w-0", children: K() }),
3861
3877
  /* @__PURE__ */ e(
3862
- $t,
3878
+ Ot,
3863
3879
  {
3864
3880
  size: 16,
3865
3881
  className: d(
@@ -3958,13 +3974,13 @@ const De = (t) => t == null ? "" : String(t), hn = (t) => De(t).trim().toLowerCa
3958
3974
  );
3959
3975
  }
3960
3976
  );
3961
- _e.displayName = "Select";
3962
- const gn = {
3977
+ Le.displayName = "Select";
3978
+ const yn = {
3963
3979
  sm: "h-control-sm px-3 text-sm",
3964
3980
  md: "h-control-md px-3 text-base",
3965
3981
  lg: "h-control-lg px-3 text-base",
3966
3982
  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(
3983
+ }, 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
3984
  ({
3969
3985
  label: t,
3970
3986
  helperText: r,
@@ -3987,7 +4003,7 @@ const gn = {
3987
4003
  {
3988
4004
  htmlFor: v,
3989
4005
  className: d(
3990
- dt,
4006
+ mt,
3991
4007
  h ? "text-danger-fg" : "text-text-muted",
3992
4008
  p
3993
4009
  ),
@@ -4004,11 +4020,11 @@ const gn = {
4004
4020
  "aria-invalid": h || void 0,
4005
4021
  "aria-describedby": C,
4006
4022
  className: d(
4007
- ut,
4008
- gn[s],
4023
+ ft,
4024
+ yn[s],
4009
4025
  l && "pl-9",
4010
4026
  (o || u) && "pr-9",
4011
- mt(h),
4027
+ ht(h),
4012
4028
  m
4013
4029
  ),
4014
4030
  ...g
@@ -4034,7 +4050,7 @@ const gn = {
4034
4050
  }
4035
4051
  );
4036
4052
  Ce.displayName = "TextField";
4037
- function bn({
4053
+ function Nn({
4038
4054
  value: t,
4039
4055
  onChange: r,
4040
4056
  onListFolders: n,
@@ -4045,7 +4061,7 @@ function bn({
4045
4061
  showTemplate: u = !0
4046
4062
  }) {
4047
4063
  const [i, p] = B([]);
4048
- Z(() => {
4064
+ Q(() => {
4049
4065
  let f = !0;
4050
4066
  return Promise.resolve(n?.()).then((g) => {
4051
4067
  f && g && p(g.data ?? []);
@@ -4057,7 +4073,7 @@ function bn({
4057
4073
  const m = t ?? {};
4058
4074
  return /* @__PURE__ */ c("div", { className: "flex flex-col gap-2", children: [
4059
4075
  /* @__PURE__ */ e(
4060
- _e,
4076
+ Le,
4061
4077
  {
4062
4078
  size: a,
4063
4079
  fullWidth: !0,
@@ -4079,7 +4095,7 @@ function bn({
4079
4095
  )
4080
4096
  ] });
4081
4097
  }
4082
- const pn = tt(null), ea = ({ items: t, activeTab: r, onTabChange: n, className: s }) => {
4098
+ const wn = rt(null), na = ({ items: t, activeTab: r, onTabChange: n, className: s }) => {
4083
4099
  const [a, l] = B(t[0]?.id || ""), o = r || a, u = (i) => {
4084
4100
  n ? n(i) : l(i);
4085
4101
  };
@@ -4112,7 +4128,7 @@ const pn = tt(null), ea = ({ items: t, activeTab: r, onTabChange: n, className:
4112
4128
  },
4113
4129
  i.id
4114
4130
  )) }) });
4115
- }, vn = ({
4131
+ }, kn = ({
4116
4132
  items: t,
4117
4133
  defaultTab: r,
4118
4134
  activeTab: n,
@@ -4169,7 +4185,7 @@ const pn = tt(null), ea = ({ items: t, activeTab: r, onTabChange: n, className:
4169
4185
  F
4170
4186
  );
4171
4187
  };
4172
- return /* @__PURE__ */ e(pn.Provider, { value: f, children: /* @__PURE__ */ c("div", { children: [
4188
+ return /* @__PURE__ */ e(wn.Provider, { value: f, children: /* @__PURE__ */ c("div", { children: [
4173
4189
  /* @__PURE__ */ e("div", { className: b, role: "tablist", children: t.map((v) => /* @__PURE__ */ e(
4174
4190
  "button",
4175
4191
  {
@@ -4198,14 +4214,14 @@ const pn = tt(null), ea = ({ items: t, activeTab: r, onTabChange: n, className:
4198
4214
  }
4199
4215
  )
4200
4216
  ] }) });
4201
- }, yn = {
4217
+ }, Cn = {
4202
4218
  sm: "max-w-md",
4203
4219
  md: "max-w-lg",
4204
4220
  lg: "max-w-2xl",
4205
4221
  xl: "max-w-4xl",
4206
4222
  full: "max-w-full mx-4"
4207
4223
  };
4208
- function ft({
4224
+ function xt({
4209
4225
  open: t,
4210
4226
  onClose: r,
4211
4227
  title: n,
@@ -4219,13 +4235,13 @@ function ft({
4219
4235
  showCloseButton: m = !0
4220
4236
  }) {
4221
4237
  const f = se(null), g = se(null);
4222
- Z(() => {
4238
+ Q(() => {
4223
4239
  if (!t || !l) return;
4224
4240
  const w = (v) => {
4225
4241
  v.key === "Escape" && r();
4226
4242
  };
4227
4243
  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 = ""), () => {
4244
+ }, [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
4245
  document.body.style.overflow = "";
4230
4246
  }), [t]);
4231
4247
  const b = (w) => {
@@ -4247,7 +4263,7 @@ function ft({
4247
4263
  className: d(
4248
4264
  "relative w-full bg-surface rounded-lg shadow-modal",
4249
4265
  "focus:outline-none",
4250
- yn[s],
4266
+ Cn[s],
4251
4267
  o
4252
4268
  ),
4253
4269
  role: "dialog",
@@ -4263,7 +4279,7 @@ function ft({
4263
4279
  onClick: r,
4264
4280
  className: "p-1 text-text-muted hover:text-text transition-colors",
4265
4281
  "aria-label": "Close modal",
4266
- children: /* @__PURE__ */ e(Q, { icon: Se, size: "lg", color: "current" })
4282
+ children: /* @__PURE__ */ e(Z, { icon: Se, size: "lg", color: "current" })
4267
4283
  }
4268
4284
  )
4269
4285
  ] }),
@@ -4275,7 +4291,7 @@ function ft({
4275
4291
  }
4276
4292
  ) : null;
4277
4293
  }
4278
- const Nn = ({
4294
+ const Sn = ({
4279
4295
  value: t,
4280
4296
  onChange: r,
4281
4297
  label: n,
@@ -4318,9 +4334,9 @@ const Nn = ({
4318
4334
  }
4319
4335
  }
4320
4336
  }, [k, u, I, h]);
4321
- Z(() => {
4337
+ Q(() => {
4322
4338
  g && $();
4323
- }, [g, $]), Z(() => {
4339
+ }, [g, $]), Q(() => {
4324
4340
  g && h && T();
4325
4341
  }, [g, h, T]);
4326
4342
  const L = async (N) => {
@@ -4346,7 +4362,7 @@ const Nn = ({
4346
4362
  _(!1);
4347
4363
  }
4348
4364
  }
4349
- }, M = async (N) => {
4365
+ }, z = async (N) => {
4350
4366
  const R = N.target.files?.[0];
4351
4367
  if (!(!R || !h)) {
4352
4368
  _(!0);
@@ -4419,7 +4435,7 @@ const Nn = ({
4419
4435
  }, S = () => {
4420
4436
  const N = k.split("/").filter((R) => R !== "");
4421
4437
  N.pop(), N.length === 0 ? P("/") : P(`${N.join("/")}/`);
4422
- }, z = ge(() => {
4438
+ }, M = ge(() => {
4423
4439
  const N = K.folders.map((R) => ({
4424
4440
  id: `folder-${R}`,
4425
4441
  name: R,
@@ -4438,9 +4454,9 @@ const Nn = ({
4438
4454
  accessor: "name",
4439
4455
  cell: (N, R) => /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
4440
4456
  /* @__PURE__ */ e(
4441
- Q,
4457
+ Z,
4442
4458
  {
4443
- icon: R.type === "folder" ? Ge : je,
4459
+ icon: R.type === "folder" ? Je : Re,
4444
4460
  size: "sm",
4445
4461
  color: R.type === "folder" ? "warning" : "secondary"
4446
4462
  }
@@ -4481,7 +4497,7 @@ const Nn = ({
4481
4497
  header: "Mount Name",
4482
4498
  accessor: "name",
4483
4499
  cell: (N) => /* @__PURE__ */ c("div", { className: "flex items-center gap-2 font-medium", children: [
4484
- /* @__PURE__ */ e(Q, { icon: We, size: "sm", color: "primary" }),
4500
+ /* @__PURE__ */ e(Z, { icon: Ge, size: "sm", color: "primary" }),
4485
4501
  /* @__PURE__ */ e("span", { children: N })
4486
4502
  ] })
4487
4503
  },
@@ -4507,20 +4523,20 @@ const Nn = ({
4507
4523
  ),
4508
4524
  children: [
4509
4525
  /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: /* @__PURE__ */ e(
4510
- Q,
4526
+ Z,
4511
4527
  {
4512
- icon: H ? je : We,
4528
+ icon: H ? Re : Ge,
4513
4529
  color: H ? "primary" : "secondary"
4514
4530
  }
4515
4531
  ) }),
4516
4532
  /* @__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" }) })
4533
+ H && !l && /* @__PURE__ */ e("button", { onClick: G, className: "p-1 hover:bg-surface-hover rounded", children: /* @__PURE__ */ e(Z, { icon: Se, size: "xs" }) })
4518
4534
  ]
4519
4535
  }
4520
4536
  ),
4521
4537
  a && /* @__PURE__ */ e(me, { variant: "body", size: "xs", className: "text-danger-fg", children: a }),
4522
4538
  /* @__PURE__ */ e(
4523
- ft,
4539
+ xt,
4524
4540
  {
4525
4541
  open: g,
4526
4542
  onClose: () => {
@@ -4529,14 +4545,14 @@ const Nn = ({
4529
4545
  title: h ? `Explorer: ${h.name}` : "Select Storage Mount",
4530
4546
  size: "lg",
4531
4547
  children: /* @__PURE__ */ e(
4532
- vn,
4548
+ kn,
4533
4549
  {
4534
4550
  variant: "pills",
4535
4551
  items: [
4536
4552
  {
4537
4553
  id: "remote",
4538
4554
  label: "Platform Storage",
4539
- content: /* @__PURE__ */ e("div", { className: "space-y-4", children: h ? /* @__PURE__ */ c($e, { children: [
4555
+ content: /* @__PURE__ */ e("div", { className: "space-y-4", children: h ? /* @__PURE__ */ c(Ee, { children: [
4540
4556
  /* @__PURE__ */ c("div", { className: "flex flex-wrap items-center gap-2", children: [
4541
4557
  /* @__PURE__ */ e(
4542
4558
  ae,
@@ -4545,7 +4561,7 @@ const Nn = ({
4545
4561
  onClick: () => {
4546
4562
  k && k !== "/" ? S() : C(null);
4547
4563
  },
4548
- leftIcon: /* @__PURE__ */ e(Q, { icon: Lt, size: "xs" }),
4564
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Pt, size: "xs" }),
4549
4565
  children: k ? "Back" : "Back to Mounts"
4550
4566
  }
4551
4567
  ),
@@ -4556,7 +4572,7 @@ const Nn = ({
4556
4572
  placeholder: "Search...",
4557
4573
  value: I,
4558
4574
  onChange: (N) => O(N.target.value),
4559
- startIcon: /* @__PURE__ */ e(Ie, { size: 14 }),
4575
+ startIcon: /* @__PURE__ */ e(Oe, { size: 14 }),
4560
4576
  fullWidth: !0
4561
4577
  }
4562
4578
  ) }),
@@ -4566,7 +4582,7 @@ const Nn = ({
4566
4582
  {
4567
4583
  variant: "outline",
4568
4584
  onClick: () => W(!0),
4569
- leftIcon: /* @__PURE__ */ e(Q, { icon: It, size: "xs" }),
4585
+ leftIcon: /* @__PURE__ */ e(Z, { icon: jt, size: "xs" }),
4570
4586
  children: "New Folder"
4571
4587
  }
4572
4588
  ),
@@ -4575,7 +4591,7 @@ const Nn = ({
4575
4591
  {
4576
4592
  variant: "primary",
4577
4593
  onClick: () => E.current?.click(),
4578
- leftIcon: /* @__PURE__ */ e(Q, { icon: Ot, size: "xs" }),
4594
+ leftIcon: /* @__PURE__ */ e(Z, { icon: Rt, size: "xs" }),
4579
4595
  loading: F,
4580
4596
  children: "Upload"
4581
4597
  }
@@ -4586,14 +4602,14 @@ const Nn = ({
4586
4602
  type: "file",
4587
4603
  className: "hidden",
4588
4604
  ref: E,
4589
- onChange: M,
4605
+ onChange: z,
4590
4606
  accept: o
4591
4607
  }
4592
4608
  )
4593
4609
  ] })
4594
4610
  ] }),
4595
4611
  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" }),
4612
+ /* @__PURE__ */ e(Z, { icon: Je, size: "sm", color: "warning" }),
4597
4613
  /* @__PURE__ */ e(
4598
4614
  Ce,
4599
4615
  {
@@ -4607,9 +4623,9 @@ const Nn = ({
4607
4623
  /* @__PURE__ */ e(ae, { variant: "ghost", onClick: () => W(!1), children: "Cancel" })
4608
4624
  ] }),
4609
4625
  /* @__PURE__ */ e("div", { className: "max-h-100 overflow-auto rounded-lg border border-border", children: /* @__PURE__ */ e(
4610
- Xe,
4626
+ Ze,
4611
4627
  {
4612
- data: z,
4628
+ data: M,
4613
4629
  columns: X,
4614
4630
  loading: F,
4615
4631
  emptyContent: "This folder is empty",
@@ -4617,7 +4633,7 @@ const Nn = ({
4617
4633
  }
4618
4634
  ) })
4619
4635
  ] }) : /* @__PURE__ */ e("div", { className: "max-h-100 overflow-auto rounded-lg border border-border", children: /* @__PURE__ */ e(
4620
- Xe,
4636
+ Ze,
4621
4637
  {
4622
4638
  data: w,
4623
4639
  columns: q,
@@ -4631,7 +4647,7 @@ const Nn = ({
4631
4647
  id: "local",
4632
4648
  label: "Local File",
4633
4649
  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" }) }),
4650
+ /* @__PURE__ */ e("div", { className: "p-4 bg-accent-soft rounded-full mb-4", children: /* @__PURE__ */ e(Z, { icon: Re, size: "xl", color: "primary" }) }),
4635
4651
  /* @__PURE__ */ e(me, { variant: "label", size: "lg", weight: "semibold", children: "Select a file from your computer" }),
4636
4652
  /* @__PURE__ */ c(
4637
4653
  me,
@@ -4676,12 +4692,12 @@ const Nn = ({
4676
4692
  }
4677
4693
  )
4678
4694
  ] });
4679
- }, wn = {
4695
+ }, En = {
4680
4696
  sm: "px-3 py-1.5 text-sm",
4681
4697
  md: "px-3 py-2 text-base",
4682
4698
  lg: "px-3 py-2 text-md",
4683
4699
  full: "px-3 py-2 text-md"
4684
- }, He = be(
4700
+ }, qe = be(
4685
4701
  ({
4686
4702
  label: t,
4687
4703
  helperText: r,
@@ -4703,7 +4719,7 @@ const Nn = ({
4703
4719
  {
4704
4720
  htmlFor: w,
4705
4721
  className: d(
4706
- dt,
4722
+ mt,
4707
4723
  v ? "text-danger-fg" : "text-text-muted",
4708
4724
  u
4709
4725
  ),
@@ -4720,10 +4736,10 @@ const Nn = ({
4720
4736
  "aria-invalid": v || void 0,
4721
4737
  "aria-describedby": h,
4722
4738
  className: d(
4723
- ut,
4739
+ ft,
4724
4740
  "resize-y leading-relaxed",
4725
- wn[s],
4726
- mt(v),
4741
+ En[s],
4742
+ ht(v),
4727
4743
  i
4728
4744
  ),
4729
4745
  ...f
@@ -4748,14 +4764,14 @@ const Nn = ({
4748
4764
  ] });
4749
4765
  }
4750
4766
  );
4751
- He.displayName = "TextArea";
4752
- function Ze(t, r) {
4767
+ qe.displayName = "TextArea";
4768
+ function et(t, r) {
4753
4769
  return r.split(".").reduce(
4754
4770
  (n, s) => n && typeof n == "object" && s in n ? n[s] : void 0,
4755
4771
  t
4756
4772
  );
4757
4773
  }
4758
- function kn(t, r, n) {
4774
+ function Tn(t, r, n) {
4759
4775
  const s = r.split("."), a = Array.isArray(t) ? [...t] : { ...t };
4760
4776
  let l = a;
4761
4777
  for (let o = 0; o < s.length - 1; o++) {
@@ -4764,7 +4780,7 @@ function kn(t, r, n) {
4764
4780
  }
4765
4781
  return l[s[s.length - 1]] = n, a;
4766
4782
  }
4767
- function Cn(t, r) {
4783
+ function Mn(t, r) {
4768
4784
  const n = r.split("."), s = Array.isArray(t) ? [...t] : { ...t };
4769
4785
  let a = s;
4770
4786
  for (let l = 0; l < n.length - 1; l++) {
@@ -4774,7 +4790,7 @@ function Cn(t, r) {
4774
4790
  }
4775
4791
  return delete a[n[n.length - 1]], s;
4776
4792
  }
4777
- function Sn({
4793
+ function zn({
4778
4794
  title: t,
4779
4795
  description: r,
4780
4796
  className: n,
@@ -4788,7 +4804,7 @@ function Sn({
4788
4804
  /* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: s })
4789
4805
  ] });
4790
4806
  }
4791
- const ta = ({
4807
+ const sa = ({
4792
4808
  groups: t,
4793
4809
  data: r,
4794
4810
  onSubmit: n,
@@ -4810,7 +4826,7 @@ const ta = ({
4810
4826
  (x) => `${k}-${String(x).replace(/\./g, "-")}`,
4811
4827
  [k]
4812
4828
  ), [D, Y] = B({}), [F, _] = B({});
4813
- Z(() => {
4829
+ Q(() => {
4814
4830
  r && C({ ...r });
4815
4831
  }, [r]);
4816
4832
  const I = de(
@@ -4826,20 +4842,20 @@ const ta = ({
4826
4842
  return `${T.label} must be an array.`;
4827
4843
  if (Array.isArray(E) && T.arrayFields) {
4828
4844
  const L = [];
4829
- let M = !1;
4845
+ let z = !1;
4830
4846
  if (E.forEach((ce, ie) => {
4831
4847
  const G = {};
4832
4848
  for (const K of T.arrayFields) {
4833
4849
  const j = ce?.[K.name];
4834
4850
  if (K.required && (j == null || j === ""))
4835
- G[K.name] = `${K.label} is required`, M = !0;
4851
+ G[K.name] = `${K.label} is required`, z = !0;
4836
4852
  else if (K.validator) {
4837
4853
  const S = K.validator(j, ce);
4838
- S && (G[K.name] = S, M = !0);
4854
+ S && (G[K.name] = S, z = !0);
4839
4855
  }
4840
4856
  }
4841
4857
  L[ie] = G;
4842
- }), M)
4858
+ }), z)
4843
4859
  return JSON.stringify(L);
4844
4860
  }
4845
4861
  }
@@ -4848,11 +4864,11 @@ const ta = ({
4848
4864
  [t]
4849
4865
  ), O = de(
4850
4866
  (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 }));
4867
+ let $ = Tn(h, x, E);
4868
+ t.flatMap((z) => z.items).find((z) => z.name === x)?.removeIfEmpty && (E == null || E === "") && ($ = Mn($, x)), C($), _((z) => ({ ...z, [x]: !0 }));
4853
4869
  const L = I(x, E, $);
4854
- Y((M) => ({
4855
- ...M,
4870
+ Y((z) => ({
4871
+ ...z,
4856
4872
  [x]: L || ""
4857
4873
  })), a?.($, x);
4858
4874
  },
@@ -4864,12 +4880,12 @@ const ta = ({
4864
4880
  for (const L of $) {
4865
4881
  if (L.hidden || L.conditional && !L.conditional(h))
4866
4882
  continue;
4867
- const M = I(
4883
+ const z = I(
4868
4884
  L.name,
4869
- Ze(h, L.name),
4885
+ et(h, L.name),
4870
4886
  h
4871
4887
  );
4872
- M && (E[L.name] = M);
4888
+ z && (E[L.name] = z);
4873
4889
  }
4874
4890
  if (o) {
4875
4891
  const L = o(h);
@@ -4883,7 +4899,7 @@ const ta = ({
4883
4899
  [h, t, I, o, l, n, g]
4884
4900
  ), U = de(
4885
4901
  (x) => {
4886
- const E = Ze(h, x.name), $ = F[x.name] ? D[x.name] : void 0, T = x.disabled || g, L = {
4902
+ const E = et(h, x.name), $ = F[x.name] ? D[x.name] : void 0, T = x.disabled || g, L = {
4887
4903
  // Ties the field to the `<label>` the group wrapper renders; without it
4888
4904
  // labels are unassociated — screen readers announce nothing, clicking a
4889
4905
  // label focuses nothing, and tests cannot find a field by its label.
@@ -4906,7 +4922,7 @@ const ta = ({
4906
4922
  Ce,
4907
4923
  {
4908
4924
  ...L,
4909
- onChange: (M) => O(x.name, M.target.value),
4925
+ onChange: (z) => O(x.name, z.target.value),
4910
4926
  type: x.textType || x.type,
4911
4927
  ...Qe(x.autocomplete),
4912
4928
  error: $,
@@ -4915,10 +4931,10 @@ const ta = ({
4915
4931
  );
4916
4932
  case "textarea":
4917
4933
  return /* @__PURE__ */ e(
4918
- He,
4934
+ qe,
4919
4935
  {
4920
4936
  ...L,
4921
- onChange: (M) => O(x.name, M.target.value),
4937
+ onChange: (z) => O(x.name, z.target.value),
4922
4938
  rows: x.rows ?? 4,
4923
4939
  error: $,
4924
4940
  size: f
@@ -4926,13 +4942,13 @@ const ta = ({
4926
4942
  );
4927
4943
  case "select":
4928
4944
  return /* @__PURE__ */ e(
4929
- _e,
4945
+ Le,
4930
4946
  {
4931
4947
  ...L,
4932
- onChange: (M) => O(x.name, M),
4933
- options: (x.options || []).map((M) => ({
4934
- ...M,
4935
- value: String(M.value)
4948
+ onChange: (z) => O(x.name, z),
4949
+ options: (x.options || []).map((z) => ({
4950
+ ...z,
4951
+ value: String(z.value)
4936
4952
  })),
4937
4953
  searchable: x.searchable,
4938
4954
  multiple: x.multiple,
@@ -4946,14 +4962,14 @@ const ta = ({
4946
4962
  // open to learn what the choices even are.
4947
4963
  case "segmented":
4948
4964
  return /* @__PURE__ */ e(
4949
- lr,
4965
+ ir,
4950
4966
  {
4951
4967
  "aria-label": x.label,
4952
4968
  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
4969
+ onChange: (z) => O(x.name, z),
4970
+ options: (x.options || []).map((z) => ({
4971
+ value: String(z.value),
4972
+ label: z.label
4957
4973
  })),
4958
4974
  size: f === "sm" ? "sm" : "md",
4959
4975
  className: x.disabled ? "pointer-events-none opacity-50" : void 0
@@ -4966,12 +4982,12 @@ const ta = ({
4966
4982
  ...L,
4967
4983
  label: x.label,
4968
4984
  checked: !!E,
4969
- onChange: (M) => O(x.name, M.target.checked),
4985
+ onChange: (z) => O(x.name, z.target.checked),
4970
4986
  size: f
4971
4987
  }
4972
4988
  );
4973
4989
  case "radio":
4974
- return /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: x.options?.map((M) => /* @__PURE__ */ c(
4990
+ return /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: x.options?.map((z) => /* @__PURE__ */ c(
4975
4991
  "label",
4976
4992
  {
4977
4993
  className: "flex cursor-pointer items-center gap-3 text-base text-text",
@@ -4981,67 +4997,67 @@ const ta = ({
4981
4997
  {
4982
4998
  type: "radio",
4983
4999
  name: x.name,
4984
- value: M.value,
4985
- checked: E === M.value,
4986
- onChange: () => O(x.name, M.value),
4987
- disabled: T || M.disabled,
5000
+ value: z.value,
5001
+ checked: E === z.value,
5002
+ onChange: () => O(x.name, z.value),
5003
+ disabled: T || z.disabled,
4988
5004
  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
5005
  }
4990
5006
  ),
4991
- M.label
5007
+ z.label
4992
5008
  ]
4993
5009
  },
4994
- M.value
5010
+ z.value
4995
5011
  )) });
4996
5012
  case "date":
4997
5013
  return /* @__PURE__ */ e(
4998
- Be,
5014
+ He,
4999
5015
  {
5000
5016
  ...L,
5001
5017
  value: E ? new Date(E) : null,
5002
- onChange: (M) => O(x.name, M),
5018
+ onChange: (z) => O(x.name, z),
5003
5019
  size: f
5004
5020
  }
5005
5021
  );
5006
5022
  case "file":
5007
5023
  return /* @__PURE__ */ e(
5008
- Nn,
5024
+ Sn,
5009
5025
  {
5010
5026
  ...L,
5011
5027
  value: E,
5012
- onChange: (M) => O(x.name, M),
5028
+ onChange: (z) => O(x.name, z),
5013
5029
  error: $,
5014
- onListFiles: (M) => v?.http.invoke({
5030
+ onListFiles: (z) => v?.http.invoke({
5015
5031
  method: "POST",
5016
5032
  action: "storage.file.list",
5017
- body: M
5033
+ body: z
5018
5034
  }),
5019
5035
  onListMounts: () => v?.http.invoke({
5020
5036
  method: "GET",
5021
5037
  action: "storage.mount"
5022
5038
  }),
5023
- onUploadFile: (M) => v?.http.invoke({
5039
+ onUploadFile: (z) => v?.http.invoke({
5024
5040
  method: "POST",
5025
5041
  action: "storage.file.upload",
5026
- body: M
5042
+ body: z
5027
5043
  }),
5028
- onDownloadFile: (M) => v?.http.invoke({
5044
+ onDownloadFile: (z) => v?.http.invoke({
5029
5045
  method: "GET",
5030
- action: `storage.file.${M}.download`
5046
+ action: `storage.file.${z}.download`
5031
5047
  }),
5032
- onRegisterFile: (M) => v?.http.invoke({
5048
+ onRegisterFile: (z) => v?.http.invoke({
5033
5049
  method: "POST",
5034
5050
  action: "storage.file.folder",
5035
- body: M
5051
+ body: z
5036
5052
  })
5037
5053
  }
5038
5054
  );
5039
5055
  case "folder":
5040
5056
  return /* @__PURE__ */ e(
5041
- bn,
5057
+ Nn,
5042
5058
  {
5043
5059
  value: E || {},
5044
- onChange: (M) => O(x.name, M),
5060
+ onChange: (z) => O(x.name, z),
5045
5061
  onListFolders: () => v?.http.invoke({
5046
5062
  method: "GET",
5047
5063
  action: "storage.mount"
@@ -5054,12 +5070,12 @@ const ta = ({
5054
5070
  case "custom":
5055
5071
  return x.customComponent?.({
5056
5072
  value: E,
5057
- onChange: (M) => O(x.name, M),
5073
+ onChange: (z) => O(x.name, z),
5058
5074
  error: $,
5059
5075
  disabled: T
5060
5076
  });
5061
5077
  case "array": {
5062
- const M = E || [];
5078
+ const z = E || [];
5063
5079
  let ce = [];
5064
5080
  if (typeof $ == "string" && $.startsWith("["))
5065
5081
  try {
@@ -5067,37 +5083,37 @@ const ta = ({
5067
5083
  } catch {
5068
5084
  }
5069
5085
  const ie = () => {
5070
- O(x.name, [...M, {}]);
5086
+ O(x.name, [...z, {}]);
5071
5087
  }, G = (j) => {
5072
5088
  O(
5073
5089
  x.name,
5074
- M.filter((S, z) => z !== j)
5090
+ z.filter((S, M) => M !== j)
5075
5091
  );
5076
- }, K = (j, S, z) => {
5077
- const X = [...M];
5092
+ }, K = (j, S, M) => {
5093
+ const X = [...z];
5078
5094
  X[j] = {
5079
5095
  ...X[j],
5080
- [S]: z
5096
+ [S]: M
5081
5097
  }, O(x.name, X);
5082
5098
  };
5083
5099
  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];
5100
+ z.map((j, S) => /* @__PURE__ */ c("div", { className: "flex items-start gap-2", children: [
5101
+ /* @__PURE__ */ e("div", { className: "grid flex-1 gap-2 sm:grid-cols-2", children: x.arrayFields?.map((M) => {
5102
+ const X = ce?.[S]?.[M.name];
5087
5103
  return /* @__PURE__ */ c("div", { className: "flex flex-col gap-1", children: [
5088
5104
  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: "*" })
5105
+ M.label,
5106
+ M.required && /* @__PURE__ */ e("span", { className: "ml-1 text-danger-fg", children: "*" })
5091
5107
  ] }),
5092
5108
  (() => {
5093
5109
  const q = {
5094
- value: j?.[z.name] || "",
5110
+ value: j?.[M.name] || "",
5095
5111
  disabled: T,
5096
- required: z.required,
5097
- placeholder: z.placeholder,
5098
- ...z.fieldProps
5112
+ required: M.required,
5113
+ placeholder: M.placeholder,
5114
+ ...M.fieldProps
5099
5115
  };
5100
- switch (z.type) {
5116
+ switch (M.type) {
5101
5117
  case "text":
5102
5118
  case "email":
5103
5119
  case "password":
@@ -5110,43 +5126,43 @@ const ta = ({
5110
5126
  ...q,
5111
5127
  onChange: (N) => K(
5112
5128
  S,
5113
- z.name,
5129
+ M.name,
5114
5130
  N.target.value
5115
5131
  ),
5116
- type: z.textType || z.type,
5117
- ...Qe(z.autocomplete),
5132
+ type: M.textType || M.type,
5133
+ ...Qe(M.autocomplete),
5118
5134
  error: X,
5119
5135
  size: f
5120
5136
  }
5121
5137
  );
5122
5138
  case "textarea":
5123
5139
  return /* @__PURE__ */ e(
5124
- He,
5140
+ qe,
5125
5141
  {
5126
5142
  ...q,
5127
5143
  onChange: (N) => K(
5128
5144
  S,
5129
- z.name,
5145
+ M.name,
5130
5146
  N.target.value
5131
5147
  ),
5132
- rows: z.rows ?? 4,
5148
+ rows: M.rows ?? 4,
5133
5149
  error: X,
5134
5150
  size: f
5135
5151
  }
5136
5152
  );
5137
5153
  case "select":
5138
5154
  return /* @__PURE__ */ e(
5139
- _e,
5155
+ Le,
5140
5156
  {
5141
5157
  ...q,
5142
- onChange: (N) => K(S, z.name, N),
5143
- options: (z.options || []).map((N) => ({
5158
+ onChange: (N) => K(S, M.name, N),
5159
+ options: (M.options || []).map((N) => ({
5144
5160
  ...N,
5145
5161
  value: String(N.value)
5146
5162
  })),
5147
- searchable: z.searchable,
5148
- multiple: z.multiple,
5149
- allowCreate: z.allowCreate,
5163
+ searchable: M.searchable,
5164
+ multiple: M.multiple,
5165
+ allowCreate: M.allowCreate,
5150
5166
  error: X,
5151
5167
  size: f
5152
5168
  }
@@ -5156,17 +5172,17 @@ const ta = ({
5156
5172
  we,
5157
5173
  {
5158
5174
  ...q,
5159
- checked: !!j?.[z.name],
5175
+ checked: !!j?.[M.name],
5160
5176
  onChange: (N) => K(
5161
5177
  S,
5162
- z.name,
5178
+ M.name,
5163
5179
  N.target.checked
5164
5180
  ),
5165
5181
  size: f
5166
5182
  }
5167
5183
  );
5168
5184
  case "radio":
5169
- return /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: z.options?.map((N) => /* @__PURE__ */ c(
5185
+ return /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: M.options?.map((N) => /* @__PURE__ */ c(
5170
5186
  "label",
5171
5187
  {
5172
5188
  className: "flex cursor-pointer items-center gap-2 text-base text-text",
@@ -5175,12 +5191,12 @@ const ta = ({
5175
5191
  "input",
5176
5192
  {
5177
5193
  type: "radio",
5178
- name: `${x.name}.${S}.${z.name}`,
5194
+ name: `${x.name}.${S}.${M.name}`,
5179
5195
  value: N.value,
5180
- checked: j?.[z.name] === N.value,
5196
+ checked: j?.[M.name] === N.value,
5181
5197
  onChange: () => K(
5182
5198
  S,
5183
- z.name,
5199
+ M.name,
5184
5200
  N.value
5185
5201
  ),
5186
5202
  disabled: T || N.disabled,
@@ -5193,33 +5209,33 @@ const ta = ({
5193
5209
  N.value
5194
5210
  )) });
5195
5211
  case "date": {
5196
- const N = j?.[z.name];
5212
+ const N = j?.[M.name];
5197
5213
  return /* @__PURE__ */ e(
5198
- Be,
5214
+ He,
5199
5215
  {
5200
5216
  ...q,
5201
5217
  value: N ? new Date(N) : null,
5202
- onChange: (R) => K(S, z.name, R),
5218
+ onChange: (R) => K(S, M.name, R),
5203
5219
  size: f
5204
5220
  }
5205
5221
  );
5206
5222
  }
5207
5223
  case "custom":
5208
- return z.customComponent?.({
5209
- value: j?.[z.name],
5210
- onChange: (N) => K(S, z.name, N),
5224
+ return M.customComponent?.({
5225
+ value: j?.[M.name],
5226
+ onChange: (N) => K(S, M.name, N),
5211
5227
  error: X,
5212
5228
  disabled: T
5213
5229
  });
5214
5230
  default:
5215
5231
  return /* @__PURE__ */ c("p", { children: [
5216
5232
  "Unsupported field type in array: ",
5217
- z.type
5233
+ M.type
5218
5234
  ] });
5219
5235
  }
5220
5236
  })(),
5221
5237
  X && /* @__PURE__ */ e("p", { className: "text-xs text-danger-fg", children: X })
5222
- ] }, z.name);
5238
+ ] }, M.name);
5223
5239
  }) }),
5224
5240
  /* @__PURE__ */ e(
5225
5241
  ae,
@@ -5232,7 +5248,7 @@ const ta = ({
5232
5248
  onClick: () => G(S),
5233
5249
  disabled: T,
5234
5250
  className: d("shrink-0", S === 0 && "mt-5"),
5235
- children: /* @__PURE__ */ e(Pt, { className: "size-icon-md" })
5251
+ children: /* @__PURE__ */ e(Ft, { className: "size-icon-md" })
5236
5252
  }
5237
5253
  )
5238
5254
  ] }, S)),
@@ -5241,7 +5257,7 @@ const ta = ({
5241
5257
  {
5242
5258
  type: "button",
5243
5259
  variant: "secondary",
5244
- leftIcon: /* @__PURE__ */ e(jt, { className: "size-icon-sm" }),
5260
+ leftIcon: /* @__PURE__ */ e(Bt, { className: "size-icon-sm" }),
5245
5261
  onClick: ie,
5246
5262
  disabled: T,
5247
5263
  children: [
@@ -5278,7 +5294,7 @@ const ta = ({
5278
5294
  // form *is* the page now, so a panel around each section would be a
5279
5295
  // second surface on top of the one it already sits on.
5280
5296
  /* @__PURE__ */ e(
5281
- Sn,
5297
+ zn,
5282
5298
  {
5283
5299
  title: x.title,
5284
5300
  description: x.description,
@@ -5362,7 +5378,7 @@ const ta = ({
5362
5378
  ] })
5363
5379
  ] });
5364
5380
  };
5365
- function ra({
5381
+ function aa({
5366
5382
  label: t,
5367
5383
  value: r,
5368
5384
  onChange: n,
@@ -5379,8 +5395,8 @@ function ra({
5379
5395
  const g = se(null), [b, w] = B(null), v = async (h) => {
5380
5396
  if (!h) return;
5381
5397
  w(null);
5382
- const C = await Tn(h, s);
5383
- if (a && En(C) > a) {
5398
+ const C = await Dn(h, s);
5399
+ if (a && An(C) > a) {
5384
5400
  w(f);
5385
5401
  return;
5386
5402
  }
@@ -5439,11 +5455,11 @@ function ra({
5439
5455
  )
5440
5456
  ] });
5441
5457
  }
5442
- function En(t) {
5458
+ function An(t) {
5443
5459
  const r = t.slice(t.indexOf(",") + 1), n = r.endsWith("==") ? 2 : r.endsWith("=") ? 1 : 0;
5444
5460
  return Math.floor(r.length * 3 / 4) - n;
5445
5461
  }
5446
- function Tn(t, r) {
5462
+ function Dn(t, r) {
5447
5463
  return new Promise((n, s) => {
5448
5464
  const a = new FileReader();
5449
5465
  a.onload = () => {
@@ -5461,29 +5477,29 @@ function Tn(t, r) {
5461
5477
  }, a.onerror = s, a.readAsDataURL(t);
5462
5478
  });
5463
5479
  }
5464
- function zn(t) {
5480
+ function _n(t) {
5465
5481
  const r = [];
5466
- return t.querySelectorAll("[data-mention-id]").forEach((n) => {
5467
- const s = n.getAttribute("data-mention-id");
5482
+ return t.querySelectorAll(`[${$e}]`).forEach((n) => {
5483
+ const s = n.getAttribute($e);
5468
5484
  s && r.push(s);
5469
- }), { text: t.innerText ?? "", mentions: r };
5485
+ }), { text: t.innerText ?? "", mentions: r, html: gt(t.innerHTML) };
5470
5486
  }
5471
- function Mn(t) {
5472
- return qe.sanitize(t.replace(/\n/g, "<br>"));
5487
+ function $n(t) {
5488
+ return Ue.sanitize(t.replace(/\n/g, "<br>"));
5473
5489
  }
5474
- function An(t) {
5475
- return qe.sanitize(t, { ADD_ATTR: ["data-mention-id", "contenteditable"] });
5490
+ function gt(t) {
5491
+ return Ue.sanitize(t, { ADD_ATTR: [$e, "contenteditable"] });
5476
5492
  }
5477
- const Dn = be(
5493
+ const Ln = be(
5478
5494
  ({ initialContent: t, onChange: r, people: n, placeholder: s, onSubmit: a, autoFocus: l, className: o }, u) => {
5479
5495
  const i = se(null), [p, m] = B(null), [f, g] = B(null), [b, w] = B(0), v = ge(() => ({ current: f }), [f]), h = ge(() => {
5480
5496
  if (p === null) return [];
5481
5497
  const _ = p.toLowerCase();
5482
5498
  return n.filter((I) => I.name.toLowerCase().includes(_)).slice(0, 8);
5483
- }, [n, p]), C = Te(h.length > 0, v, { gap: 4 }), k = de(() => {
5499
+ }, [n, p]), C = Me(h.length > 0, v, { gap: 4 }), k = de(() => {
5484
5500
  if (!i.current) return;
5485
- const { text: _, mentions: I } = zn(i.current);
5486
- r(_, I);
5501
+ const { text: _, mentions: I, html: O } = _n(i.current);
5502
+ r(_, I, O);
5487
5503
  }, [r]), P = de(() => {
5488
5504
  m(null), g(null), w(0);
5489
5505
  }, []);
@@ -5501,16 +5517,16 @@ const Dn = be(
5501
5517
  U.appendChild(document.createTextNode(W)), y < te.length - 1 && U.appendChild(document.createElement("br"));
5502
5518
  }), H.insertNode(U), H.collapse(!1), O.removeAllRanges(), O.addRange(H);
5503
5519
  } else
5504
- I.innerHTML += Mn(_);
5520
+ I.innerHTML += $n(_);
5505
5521
  k();
5506
5522
  },
5507
5523
  clear: () => {
5508
5524
  i.current && (i.current.innerHTML = "", P(), k());
5509
5525
  },
5510
5526
  focus: () => i.current?.focus()
5511
- })), Z(() => {
5512
- !i.current || !t || (i.current.innerHTML = An(t), k());
5513
- }, [t, k]), Z(() => {
5527
+ })), Q(() => {
5528
+ !i.current || !t || (i.current.innerHTML = gt(t), k());
5529
+ }, [t, k]), Q(() => {
5514
5530
  l && (window.matchMedia?.("(max-width: 767px)").matches || i.current?.focus());
5515
5531
  }, [l]);
5516
5532
  const D = de((_) => {
@@ -5533,7 +5549,7 @@ const Dn = be(
5533
5549
  if (!I) return;
5534
5550
  f.deleteContents();
5535
5551
  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";
5552
+ O.textContent = `@${_.name}`, O.setAttribute("data-mention-id", _.id), O.setAttribute("contenteditable", "false");
5537
5553
  const H = document.createTextNode(" ");
5538
5554
  f.insertNode(H), f.insertNode(O);
5539
5555
  const U = document.createRange();
@@ -5587,6 +5603,7 @@ const Dn = be(
5587
5603
  className: d(
5588
5604
  "block w-full min-h-16 rounded-lg p-3 text-sm",
5589
5605
  "border-border text-text focus:outline-none",
5606
+ lt,
5590
5607
  "empty:before:content-[attr(data-placeholder)] empty:before:text-text-subtle",
5591
5608
  o
5592
5609
  ),
@@ -5622,25 +5639,25 @@ const Dn = be(
5622
5639
  ] });
5623
5640
  }
5624
5641
  );
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 = {
5642
+ Ln.displayName = "MentionComposer";
5643
+ const Ne = (...t) => t.filter(Boolean).join(" "), In = (t) => /* @__PURE__ */ e(Oe, { ...t, strokeWidth: 1.5, "aria-hidden": !0 }), On = (t) => /* @__PURE__ */ e(Ie, { ...t, strokeWidth: 1.5, "aria-hidden": !0 }), Pn = {
5627
5644
  sm: "h-control-sm px-3 text-sm",
5628
5645
  md: "h-control-md px-3 text-base",
5629
5646
  lg: "h-control-lg px-3 text-base",
5630
5647
  full: "h-control-md w-full px-3 text-base"
5631
- }, Fe = {
5648
+ }, Be = {
5632
5649
  sm: "h-4 w-4",
5633
5650
  md: "h-5 w-5",
5634
5651
  lg: "h-6 w-6",
5635
5652
  full: "h-6 w-6"
5636
- }, In = be(
5653
+ }, jn = be(
5637
5654
  ({
5638
5655
  label: t,
5639
5656
  helperText: r,
5640
5657
  error: n,
5641
5658
  size: s = "md",
5642
5659
  fullWidth: a = !1,
5643
- startIcon: l = /* @__PURE__ */ e(_n, {}),
5660
+ startIcon: l = /* @__PURE__ */ e(In, {}),
5644
5661
  loading: o = !1,
5645
5662
  containerClassName: u,
5646
5663
  labelClassName: i,
@@ -5656,7 +5673,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5656
5673
  ...k
5657
5674
  }, P) => {
5658
5675
  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(() => {
5676
+ Q(() => {
5660
5677
  h !== void 0 && O(h);
5661
5678
  }, [h]);
5662
5679
  const E = ge(() => {
@@ -5666,7 +5683,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5666
5683
  (K) => String(K.label).toLowerCase().includes(G)
5667
5684
  );
5668
5685
  }, [I, f, v, y]);
5669
- Z(() => {
5686
+ Q(() => {
5670
5687
  if (!g || !I) {
5671
5688
  W(!1);
5672
5689
  return;
@@ -5684,7 +5701,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5684
5701
  return () => {
5685
5702
  clearTimeout(G), W(!1);
5686
5703
  };
5687
- }, [I, w, g]), Z(() => {
5704
+ }, [I, w, g]), Q(() => {
5688
5705
  const G = (K) => {
5689
5706
  F.current && !F.current.contains(K.target) && U(!1);
5690
5707
  };
@@ -5697,7 +5714,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5697
5714
  O(G.label), U(!1), x(!1), b && b(G.value);
5698
5715
  }, L = () => {
5699
5716
  (f.length > 0 || g) && (U(!0), x(!1));
5700
- }, M = o || te, ce = H && (E.length > 0 || M), ie = ge(() => P || _, [P]);
5717
+ }, z = o || te, ce = H && (E.length > 0 || z), ie = ge(() => P || _, [P]);
5701
5718
  return /* @__PURE__ */ c(
5702
5719
  "div",
5703
5720
  {
@@ -5722,7 +5739,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5722
5739
  }
5723
5740
  ),
5724
5741
  /* @__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 }) }),
5742
+ 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
5743
  /* @__PURE__ */ e(
5727
5744
  "input",
5728
5745
  {
@@ -5737,7 +5754,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5737
5754
  "placeholder:text-text-subtle focus-visible:outline-none focus-visible:focus-ring",
5738
5755
  "disabled:cursor-not-allowed disabled:bg-surface-hover disabled:text-text-disabled",
5739
5756
  // Size styles
5740
- Ln[s],
5757
+ Pn[s],
5741
5758
  // Icon padding
5742
5759
  l ? "pl-10" : "",
5743
5760
  "pr-10",
@@ -5749,17 +5766,17 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5749
5766
  ...k
5750
5767
  }
5751
5768
  ),
5752
- /* @__PURE__ */ e("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center", children: M || o ? (
5769
+ /* @__PURE__ */ e("div", { className: "absolute inset-y-0 right-0 pr-3 flex items-center", children: z || o ? (
5753
5770
  // Loading Spinner
5754
- /* @__PURE__ */ e(Rt, { className: Ne("animate-spin text-info-fg", Fe[s]), "aria-hidden": !0 })
5771
+ /* @__PURE__ */ e(Ht, { className: Ne("animate-spin text-info-fg", Be[s]), "aria-hidden": !0 })
5755
5772
  ) : (
5756
5773
  // Dropdown Chevron
5757
5774
  /* @__PURE__ */ e(
5758
- $n,
5775
+ On,
5759
5776
  {
5760
5777
  className: Ne(
5761
5778
  "text-text-muted cursor-pointer transition-transform",
5762
- Fe[s],
5779
+ Be[s],
5763
5780
  H ? "rotate-180" : "rotate-0"
5764
5781
  ),
5765
5782
  onClick: () => {
@@ -5778,7 +5795,7 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5778
5795
  children: G.label
5779
5796
  },
5780
5797
  G.value
5781
- )) : /* @__PURE__ */ e("li", { className: "px-4 py-2 text-text-muted", children: M || o ? "Zoeken op afstand..." : "Geen resultaten gevonden." }) }),
5798
+ )) : /* @__PURE__ */ e("li", { className: "px-4 py-2 text-text-muted", children: z || o ? "Zoeken op afstand..." : "Geen resultaten gevonden." }) }),
5782
5799
  (n || r) && /* @__PURE__ */ e("p", { className: Ne("mt-1 text-xs", Y ? "text-danger-fg" : "text-text-muted"), children: n || r }),
5783
5800
  g && /* @__PURE__ */ c("p", { className: "mt-2 text-xs text-success-fg", children: [
5784
5801
  "Huidige zoekterm (niet-gedebounced): ",
@@ -5789,8 +5806,8 @@ const Ne = (...t) => t.filter(Boolean).join(" "), _n = (t) => /* @__PURE__ */ e(
5789
5806
  );
5790
5807
  }
5791
5808
  );
5792
- In.displayName = "SearchableTextField";
5793
- const On = be(
5809
+ jn.displayName = "SearchableTextField";
5810
+ const Rn = be(
5794
5811
  ({ checked: t, onChange: r, label: n, disabled: s = !1, className: a, ...l }, o) => {
5795
5812
  const u = /* @__PURE__ */ e(
5796
5813
  "span",
@@ -5843,25 +5860,25 @@ const On = be(
5843
5860
  );
5844
5861
  }
5845
5862
  );
5846
- On.displayName = "Switch";
5847
- const Pn = [
5863
+ Rn.displayName = "Switch";
5864
+ const Fn = [
5848
5865
  { upTo: 1, cols: "grid-cols-1" },
5849
5866
  { upTo: 2, cols: "grid-cols-1 @[22rem]:grid-cols-2" },
5850
5867
  { upTo: 4, cols: "grid-cols-1 @[18rem]:grid-cols-2" },
5851
5868
  { 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;
5869
+ ], Bn = "grid-cols-2 @[26rem]:grid-cols-3 @[40rem]:grid-cols-4";
5870
+ function Hn(t) {
5871
+ return Fn.find((r) => t <= r.upTo)?.cols ?? Bn;
5855
5872
  }
5856
- function Fn(t, r) {
5873
+ function qn(t, r) {
5857
5874
  const n = r ?? t;
5858
5875
  if (t <= n) return { shown: t, hidden: 0 };
5859
5876
  const s = Math.max(0, n - 1);
5860
5877
  return { shown: s, hidden: t - s };
5861
5878
  }
5862
- function na({ tiles: t, pinned: r, maxStrip: n, className: s }) {
5879
+ function la({ tiles: t, pinned: r, maxStrip: n, className: s }) {
5863
5880
  if (r) {
5864
- const { shown: a, hidden: l } = Fn(t.length, n), o = t.slice(0, a);
5881
+ const { shown: a, hidden: l } = qn(t.length, n), o = t.slice(0, a);
5865
5882
  return /* @__PURE__ */ c("div", { className: d("@container flex h-full min-h-0 flex-col gap-2", s), children: [
5866
5883
  /* @__PURE__ */ e("div", { className: "min-h-0 flex-1", children: r }),
5867
5884
  t.length > 0 && // Fixed height as a share of the pane, with a floor so the strip
@@ -5880,14 +5897,14 @@ function na({ tiles: t, pinned: r, maxStrip: n, className: s }) {
5880
5897
  {
5881
5898
  className: d(
5882
5899
  "@container grid h-full min-h-0 auto-rows-fr gap-2",
5883
- Rn(t.length),
5900
+ Hn(t.length),
5884
5901
  s
5885
5902
  ),
5886
5903
  children: t.map((a, l) => /* @__PURE__ */ e("div", { className: "min-h-0 min-w-0", children: a }, l))
5887
5904
  }
5888
5905
  );
5889
5906
  }
5890
- function sa({
5907
+ function oa({
5891
5908
  name: t,
5892
5909
  avatarUrl: r,
5893
5910
  muted: n,
@@ -5914,23 +5931,23 @@ function sa({
5914
5931
  alt: t,
5915
5932
  className: "aspect-square w-[38%] max-w-16 min-w-6 rounded-full object-cover"
5916
5933
  }
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" }) }) }),
5934
+ ) : /* @__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
5935
  /* @__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" }),
5936
+ n ? /* @__PURE__ */ e(Vt, { className: "size-3 shrink-0" }) : /* @__PURE__ */ e(Kt, { className: "size-3 shrink-0" }),
5920
5937
  /* @__PURE__ */ e("span", { className: "hidden truncate @[9rem]:inline", children: t })
5921
5938
  ] })
5922
5939
  ]
5923
5940
  }
5924
5941
  );
5925
5942
  }
5926
- function aa({
5943
+ function ca({
5927
5944
  attach: t,
5928
5945
  active: r = !0,
5929
5946
  mirrored: n = !1,
5930
5947
  className: s
5931
5948
  }) {
5932
5949
  const a = se(null);
5933
- return Z(() => {
5950
+ return Q(() => {
5934
5951
  if (!r || !a.current) return;
5935
5952
  const l = t(a.current);
5936
5953
  return () => {
@@ -5948,7 +5965,7 @@ function aa({
5948
5965
  }
5949
5966
  );
5950
5967
  }
5951
- const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht = ({ item: t, isSelectedHandler: r, onClick: n, depth: s = 0 }) => {
5968
+ const Un = () => /* @__PURE__ */ e(Ve, { variant: "inline", shape: "menu" }), bt = ({ item: t, isSelectedHandler: r, onClick: n, depth: s = 0 }) => {
5952
5969
  const a = !!(t.children && t.children.length > 0), l = r ? r(t.path) : !1;
5953
5970
  if (a)
5954
5971
  return /* @__PURE__ */ c("li", { children: [
@@ -5965,7 +5982,7 @@ const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht
5965
5982
  }
5966
5983
  ),
5967
5984
  /* @__PURE__ */ e("ul", { className: "flex flex-col gap-px", children: t.children?.map((i, p) => /* @__PURE__ */ e(
5968
- ht,
5985
+ bt,
5969
5986
  {
5970
5987
  item: i,
5971
5988
  isSelectedHandler: r,
@@ -6055,7 +6072,7 @@ const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht
6055
6072
  ]
6056
6073
  }
6057
6074
  ) });
6058
- }, la = ({
6075
+ }, ia = ({
6059
6076
  items: t,
6060
6077
  isSelectedHandler: r,
6061
6078
  onClick: n,
@@ -6063,12 +6080,12 @@ const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht
6063
6080
  loading: a = !1
6064
6081
  }) => a ? /* @__PURE__ */ c("nav", { className: "flex h-full min-h-0 shrink-0 flex-col", children: [
6065
6082
  s && /* @__PURE__ */ e("div", { className: "pb-4", children: s }),
6066
- /* @__PURE__ */ e(Bn, {})
6083
+ /* @__PURE__ */ e(Un, {})
6067
6084
  ] }) : /* @__PURE__ */ c("nav", { className: "flex h-full min-h-0 shrink-0 flex-col", children: [
6068
6085
  s && /* @__PURE__ */ e("div", { className: "pb-4", children: s }),
6069
6086
  /* @__PURE__ */ e("ul", { className: "flex min-h-0 flex-1 flex-col gap-px overflow-y-auto", children: t.map(
6070
6087
  (l, o) => !l.path && !l.label && !l.children ? /* @__PURE__ */ e("li", { "aria-hidden": !0, className: "h-4" }, o) : /* @__PURE__ */ e(
6071
- ht,
6088
+ bt,
6072
6089
  {
6073
6090
  item: l,
6074
6091
  isSelectedHandler: r,
@@ -6078,7 +6095,7 @@ const Bn = () => /* @__PURE__ */ e(Ue, { variant: "inline", shape: "menu" }), ht
6078
6095
  )
6079
6096
  ) })
6080
6097
  ] });
6081
- function oa({
6098
+ function da({
6082
6099
  open: t,
6083
6100
  title: r,
6084
6101
  description: n,
@@ -6090,7 +6107,7 @@ function oa({
6090
6107
  onCancel: i
6091
6108
  }) {
6092
6109
  return /* @__PURE__ */ e(
6093
- ft,
6110
+ xt,
6094
6111
  {
6095
6112
  open: t,
6096
6113
  onClose: i,
@@ -6112,7 +6129,7 @@ function oa({
6112
6129
  }
6113
6130
  );
6114
6131
  }
6115
- const Hn = {
6132
+ const Vn = {
6116
6133
  none: "p-0",
6117
6134
  xs: "p-1",
6118
6135
  sm: "p-2",
@@ -6120,7 +6137,7 @@ const Hn = {
6120
6137
  lg: "p-6",
6121
6138
  xl: "p-8",
6122
6139
  "2xl": "p-12"
6123
- }, qn = {
6140
+ }, Kn = {
6124
6141
  none: "m-0",
6125
6142
  xs: "m-1",
6126
6143
  sm: "m-2",
@@ -6128,7 +6145,7 @@ const Hn = {
6128
6145
  lg: "m-6",
6129
6146
  xl: "m-8",
6130
6147
  "2xl": "m-12"
6131
- }, Un = {
6148
+ }, Wn = {
6132
6149
  none: "",
6133
6150
  primary: "bg-accent text-accent-fg",
6134
6151
  secondary: "bg-surface-hover",
@@ -6144,26 +6161,26 @@ const Hn = {
6144
6161
  backdrop: "bg-page",
6145
6162
  editor: "bg-surface",
6146
6163
  input: "bg-surface-input"
6147
- }, Vn = {
6164
+ }, Gn = {
6148
6165
  none: "rounded-none",
6149
6166
  sm: "rounded-sm",
6150
6167
  md: "rounded-md",
6151
6168
  lg: "rounded-lg",
6152
6169
  xl: "rounded-xl",
6153
6170
  full: "rounded-full"
6154
- }, Kn = {
6171
+ }, Jn = {
6155
6172
  none: "shadow-none",
6156
6173
  sm: "shadow-none",
6157
6174
  md: "shadow-overlay",
6158
6175
  lg: "shadow-overlay",
6159
6176
  xl: "shadow-modal",
6160
6177
  "2xl": "shadow-modal"
6161
- }, Wn = {
6178
+ }, Yn = {
6162
6179
  none: "border-0",
6163
6180
  sm: "border",
6164
6181
  md: "border-2",
6165
6182
  lg: "border-4"
6166
- }, Gn = {
6183
+ }, Xn = {
6167
6184
  primary: "border-accent-border",
6168
6185
  secondary: "border-border",
6169
6186
  accent: "border-accent-border",
@@ -6173,7 +6190,7 @@ const Hn = {
6173
6190
  info: "border-info-border",
6174
6191
  neutral: "border-border-subtle",
6175
6192
  white: "border-border-subtle"
6176
- }, xt = be(
6193
+ }, pt = be(
6177
6194
  ({
6178
6195
  padding: t,
6179
6196
  margin: r,
@@ -6190,13 +6207,13 @@ const Hn = {
6190
6207
  {
6191
6208
  ref: m,
6192
6209
  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],
6210
+ t && Vn[t],
6211
+ r && Kn[r],
6212
+ n && Wn[n],
6213
+ s && Gn[s],
6214
+ a && Jn[a],
6215
+ l && Yn[l],
6216
+ o && Xn[o],
6200
6217
  u
6201
6218
  ),
6202
6219
  ...p,
@@ -6204,11 +6221,11 @@ const Hn = {
6204
6221
  }
6205
6222
  )
6206
6223
  );
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: [
6224
+ pt.displayName = "Box";
6225
+ const ua = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(pt, { background: "module", radius: "lg", shadow: "none", border: "sm", borderColor: "neutral", ...n, children: [
6209
6226
  r && /* @__PURE__ */ e("span", { className: "mb-2 block text-sm font-semibold text-text", children: r }),
6210
6227
  t
6211
- ] }), Jn = {
6228
+ ] }), Zn = {
6212
6229
  xs: "text-xs",
6213
6230
  sm: "text-sm",
6214
6231
  md: "text-base",
@@ -6217,13 +6234,13 @@ const ca = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(xt, { backgrou
6217
6234
  "2xl": "text-2xl",
6218
6235
  "3xl": "text-3xl",
6219
6236
  "4xl": "text-3xl"
6220
- }, Yn = {
6237
+ }, Qn = {
6221
6238
  light: "font-normal",
6222
6239
  normal: "font-normal",
6223
6240
  medium: "font-medium",
6224
6241
  semibold: "font-semibold",
6225
6242
  bold: "font-bold"
6226
- }, Xn = {
6243
+ }, es = {
6227
6244
  primary: "text-text",
6228
6245
  secondary: "text-text-muted",
6229
6246
  accent: "text-accent",
@@ -6233,11 +6250,11 @@ const ca = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(xt, { backgrou
6233
6250
  info: "text-info-fg",
6234
6251
  neutral: "text-text",
6235
6252
  current: "text-current"
6236
- }, Qn = {
6253
+ }, ts = {
6237
6254
  left: "text-left",
6238
6255
  center: "text-center",
6239
6256
  right: "text-right"
6240
- }, ia = ({
6257
+ }, ma = ({
6241
6258
  level: t = 1,
6242
6259
  size: r,
6243
6260
  weight: n = "semibold",
@@ -6250,16 +6267,16 @@ const ca = ({ children: t, title: r, ...n }) => /* @__PURE__ */ c(xt, { backgrou
6250
6267
  }) => {
6251
6268
  const p = `h${t}`, m = d(
6252
6269
  "font-sans text-pretty",
6253
- Jn[r || Zn(t)],
6254
- Yn[n],
6255
- Xn[s],
6256
- Qn[a],
6270
+ Zn[r || rs(t)],
6271
+ Qn[n],
6272
+ es[s],
6273
+ ts[a],
6257
6274
  l && "truncate",
6258
6275
  o
6259
6276
  );
6260
6277
  return /* @__PURE__ */ e(p, { className: m, ...i, children: u });
6261
6278
  };
6262
- function Zn(t) {
6279
+ function rs(t) {
6263
6280
  return {
6264
6281
  1: "2xl",
6265
6282
  2: "xl",
@@ -6269,111 +6286,111 @@ function Zn(t) {
6269
6286
  6: "md"
6270
6287
  }[t] || "md";
6271
6288
  }
6272
- const et = ["cat-1", "cat-2", "cat-3", "cat-4", "cat-5"];
6273
- function da(t) {
6289
+ const tt = ["cat-1", "cat-2", "cat-3", "cat-4", "cat-5"];
6290
+ function fa(t) {
6274
6291
  let r = 0;
6275
6292
  for (let n = 0; n < t.length; n++) r = r * 31 + t.charCodeAt(n) >>> 0;
6276
- return et[r % et.length];
6293
+ return tt[r % tt.length];
6277
6294
  }
6278
6295
  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,
6296
+ Ns as ActivityAvatar,
6297
+ ws as ActivityGlyph,
6298
+ vs as ActivityRow,
6299
+ xs as ArtifactView,
6300
+ gs as AssistantCard,
6301
+ it as Avatar,
6302
+ ps as AvatarStack,
6303
+ en as Badge,
6304
+ pt as Box,
6288
6305
  ae as Button,
6289
- is as ButtonGroup,
6290
- ca as Card,
6291
- ws as ChannelBadge,
6306
+ ms as ButtonGroup,
6307
+ ua as Card,
6308
+ Ss as ChannelBadge,
6292
6309
  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,
6310
+ hs as CommandPalette,
6311
+ da as ConfirmDialog,
6312
+ Ve as ContentLoading,
6313
+ He as DatePicker,
6314
+ Vr as Dropdown,
6315
+ Xs as EmptyState,
6316
+ Js as ErrorBoundary,
6317
+ Ys as FederatedResource,
6318
+ sr as FilterChip,
6319
+ Nn as FolderSelect,
6320
+ sa as Form,
6321
+ zn as FormSection,
6322
+ ma as Heading,
6323
+ yr as IDENTITY_TONE_COUNT,
6324
+ Z as Icon,
6325
+ Es as Image,
6326
+ aa as ImageField,
6327
+ Zs as Kbd,
6328
+ Ts as KpiCard,
6329
+ fs as Link,
6330
+ zs as List,
6331
+ Ms as ListBulkAction,
6332
+ la as MeetingGrid,
6333
+ Ln as MentionComposer,
6334
+ As as MessageBubble,
6335
+ _s as MetaSeparator,
6336
+ Ds as MetaValue,
6337
+ xt as Modal,
6338
+ $s as Page,
6339
+ Pr as PageHeader,
6340
+ Ls as PageToolbar,
6324
6341
  ke as PageToolbarActions,
6325
- sa as ParticipantTile,
6326
- nt as Popover,
6327
- Ys as ProgressBar,
6342
+ oa as ParticipantTile,
6343
+ st as Popover,
6344
+ Qs as ProgressBar,
6328
6345
  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,
6346
+ ks as RowCard,
6347
+ ut as SearchField,
6348
+ jn as SearchableTextField,
6349
+ Is as SectionCaption,
6350
+ Os as SectionDivider,
6351
+ ir as SegmentedToggle,
6352
+ Le as Select,
6353
+ Ps as SettingsFrameProvider,
6354
+ Rs as SettingsPage,
6355
+ Fs as SettingsRow,
6356
+ Bs as SettingsSection,
6357
+ ia as SidebarMenu,
6358
+ Hs as SourceChip,
6359
+ ea as Spinner,
6360
+ at as SplitButton,
6361
+ ta as StatusDot,
6362
+ ra as StepIndicator,
6363
+ Sn as StorageInput,
6364
+ Rn as Switch,
6365
+ na as TabBar,
6366
+ Ze as Table,
6367
+ kn as Tabs,
6351
6368
  me as Text,
6352
- He as TextArea,
6369
+ qe as TextArea,
6353
6370
  Ce as TextField,
6354
- Ns as TimelineEvent,
6355
- aa as VideoSurface,
6356
- Vs as View,
6371
+ Cs as TimelineEvent,
6372
+ ca as VideoSurface,
6373
+ Gs as View,
6357
6374
  Qe as autofillProps,
6358
- Xr as badgeColumn,
6359
- qs as booleanBadgeColumn,
6360
- bs as cardActionClass,
6361
- da as catTone,
6375
+ tn as badgeColumn,
6376
+ Ks as booleanBadgeColumn,
6377
+ ys as cardActionClass,
6378
+ fa as catTone,
6362
6379
  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,
6374
- De as text,
6375
- Te as useAnchoredPosition,
6376
- Or as useSettingsFrame,
6377
- Is as useSettingsFrameHost
6380
+ us as createSizes,
6381
+ ds as createVariants,
6382
+ qs as dateFilterHandler,
6383
+ bs as identityDotClass,
6384
+ ct as identityPlateClass,
6385
+ ot as identityTone,
6386
+ Ws as labelsColumn,
6387
+ Vs as multiSelectFilterHandler,
6388
+ pn as normalizeText,
6389
+ Zt as resolveLucideIcon,
6390
+ Us as selectFilterHandler,
6391
+ _e as text,
6392
+ Me as useAnchoredPosition,
6393
+ Fr as useSettingsFrame,
6394
+ js as useSettingsFrameHost
6378
6395
  };
6379
6396
  //# sourceMappingURL=index.js.map