@leonardaustin/ui 0.9.0 → 0.10.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
@@ -3,19 +3,19 @@ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
3
3
  import { Accessibility as y, AlertTriangle as b, ArrowDown as x, ArrowLeft as S, ArrowUp as C, BookOpen as w, Calendar as T, Check as E, CheckCircle2 as D, ChevronDown as O, ChevronLeft as k, ChevronRight as A, ChevronsUpDown as j, Columns3 as M, Eye as N, EyeOff as P, Inbox as F, Info as I, Loader2 as L, LogOut as R, Menu as ee, Minus as te, Monitor as ne, Moon as re, Palette as z, PanelLeft as ie, PanelLeftDashed as ae, Search as B, Settings as oe, Sun as se, UploadCloud as ce, X as V, XCircle as le, Zap as ue } from "lucide-react";
4
4
  import { createPortal as H } from "react-dom";
5
5
  //#region src/lib/cn.ts
6
- function de(e) {
6
+ function U(e) {
7
7
  if (typeof e == "string" || typeof e == "number" || typeof e == "bigint") return String(e);
8
8
  if (!e || typeof e != "object") return "";
9
9
  let t = "";
10
10
  if (Array.isArray(e)) for (let n of e) {
11
11
  if (!n) continue;
12
- let e = de(n);
12
+ let e = U(n);
13
13
  e && (t = t ? `${t} ${e}` : e);
14
14
  }
15
15
  else for (let n in e) e[n] && (t = t ? `${t} ${n}` : n);
16
16
  return t;
17
17
  }
18
- var U = new Set([
18
+ var de = new Set([
19
19
  "block",
20
20
  "contents",
21
21
  "flex",
@@ -120,7 +120,7 @@ var U = new Set([
120
120
  "border-solid"
121
121
  ]);
122
122
  function G(...e) {
123
- return be(de(e));
123
+ return be(U(e));
124
124
  }
125
125
  function be(e) {
126
126
  let t = [], n = /* @__PURE__ */ new Map();
@@ -168,7 +168,7 @@ function we(e) {
168
168
  if (n) return [...ge[n]];
169
169
  let r = De(e);
170
170
  if (r) return [..._e[r]];
171
- if (U.has(e)) return ["display"];
171
+ if (de.has(e)) return ["display"];
172
172
  if (e === "absolute" || e === "fixed" || e === "relative" || e === "static" || e === "sticky") return ["position"];
173
173
  if (e === "visible" || e === "invisible" || e === "collapse") return ["visibility"];
174
174
  if (e === "border-collapse") return ["border-collapse"];
@@ -2947,7 +2947,7 @@ function On({ className: e, respondToOpenEvent: t = !0 }) {
2947
2947
  window.removeEventListener("resize", x), window.removeEventListener("scroll", x, !0);
2948
2948
  };
2949
2949
  }, [n, x]);
2950
- let { colorMode: C, setColorMode: w, preferredDarkTheme: T, preferredLightTheme: E, accentColor: D, setAccentColor: O, fontSize: k, setFontSize: A, uiFont: j, setUiFont: M, headingFont: N, setHeadingFont: P, proseFont: F, setProseFont: I, codeFont: L, setCodeFont: R, borderRadius: ee, setBorderRadius: te, borderWidth: ne, setBorderWidth: re, tracking: ie, setTracking: ae, lineHeight: B, setLineHeight: oe, density: se, setDensity: ce, reducedMotion: V, setReducedMotion: le, saveThemeCustomization: ue, resetThemeCustomization: de, hasThemeOverrides: U, isCustomized: W, resolvedTheme: fe } = f;
2950
+ let { colorMode: C, setColorMode: w, preferredDarkTheme: T, preferredLightTheme: E, accentColor: D, setAccentColor: O, fontSize: k, setFontSize: A, uiFont: j, setUiFont: M, headingFont: N, setHeadingFont: P, proseFont: F, setProseFont: I, codeFont: L, setCodeFont: R, borderRadius: ee, setBorderRadius: te, borderWidth: ne, setBorderWidth: re, tracking: ie, setTracking: ae, lineHeight: B, setLineHeight: oe, density: se, setDensity: ce, reducedMotion: V, setReducedMotion: le, saveThemeCustomization: ue, resetThemeCustomization: U, hasThemeOverrides: de, isCustomized: W, resolvedTheme: fe } = f;
2951
2951
  return /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("button", {
2952
2952
  ref: u,
2953
2953
  onClick: S,
@@ -3143,9 +3143,9 @@ function On({ className: e, respondToOpenEvent: t = !0 }) {
3143
3143
  }), /* @__PURE__ */ _(fn, {
3144
3144
  variant: "secondary",
3145
3145
  size: "sm",
3146
- disabled: !U && !W,
3146
+ disabled: !de && !W,
3147
3147
  onClick: () => {
3148
- de(), y("info", "Reset to theme defaults");
3148
+ U(), y("info", "Reset to theme defaults");
3149
3149
  },
3150
3150
  children: "Reset"
3151
3151
  })]
@@ -4361,18 +4361,54 @@ function Xr(e) {
4361
4361
  }
4362
4362
  };
4363
4363
  }
4364
+ function Zr(e, t, n, r, i = !0) {
4365
+ let a = Math.max(5, t), o = (e) => Array.from({ length: Math.ceil((e.max - e.min) / a) }, (t, n) => e.min + n * a);
4366
+ if (!i) return {
4367
+ reference: void 0,
4368
+ axes: e.map(({ day: e, bounds: t }) => ({
4369
+ day: e,
4370
+ bounds: t,
4371
+ minutes: o(t),
4372
+ matchesReference: !1
4373
+ }))
4374
+ };
4375
+ let s = Xr(n.timeZone), c = /* @__PURE__ */ new Map(), l = e.map(({ day: e, bounds: t }) => {
4376
+ let i = s.toDateKey(e), a = c.get(i);
4377
+ if (a) return a;
4378
+ let l = o(t), u = l.map((t) => s.dateAtMinutes(e, t)), d = u.map((e) => Or(e, n)), f = Dr(n.locale ?? "en-GB", {
4379
+ timeZone: n.timeZone,
4380
+ timeZoneName: "short"
4381
+ }), p = new Set(u.map((e) => f.formatToParts(e).find((e) => e.type === "timeZoneName")?.value)), m = t.max - t.min === r.max - r.min && p.size === 1, h = {
4382
+ day: e,
4383
+ bounds: t,
4384
+ minutes: l,
4385
+ signature: JSON.stringify([t.max - t.min, d]),
4386
+ regular: m
4387
+ };
4388
+ return c.set(i, h), h;
4389
+ }), u = /* @__PURE__ */ new Map(), d = [...c.values()].filter((e) => e.regular);
4390
+ for (let e of d) u.set(e.signature, (u.get(e.signature) ?? 0) + 1);
4391
+ let f = d.reduce((e, t) => !e || u.get(t.signature) > u.get(e.signature) || u.get(t.signature) === u.get(e.signature) && t.day < e.day ? t : e, void 0);
4392
+ return {
4393
+ reference: f,
4394
+ axes: l.map((e) => ({
4395
+ ...e,
4396
+ matchesReference: !!f && e.signature === f.signature
4397
+ }))
4398
+ };
4399
+ }
4364
4400
  //#endregion
4365
4401
  //#region src/components/ui/calendar/context.ts
4366
- var Zr = r(null);
4367
- function Qr() {
4368
- let e = c(Zr);
4402
+ var Qr = r(null);
4403
+ function $r() {
4404
+ let e = c(Qr);
4369
4405
  if (!e) throw Error("Calendar views must render inside <Calendar>");
4370
4406
  return e;
4371
4407
  }
4372
4408
  //#endregion
4373
4409
  //#region src/components/ui/calendar/AgendaView.tsx
4374
- function $r({ days: e, events: t, availability: n, label: r }) {
4375
- let i = Qr(), { daySegment: a, eventsOnDay: o, getFormatter: s, isAllDayLike: c, isSameDay: l, toDateKey: u } = i.dates, d = s(i.locale, {
4410
+ function ei({ days: e, events: t, availability: n, label: r }) {
4411
+ let i = $r(), { daySegment: a, eventsOnDay: o, getFormatter: s, isAllDayLike: c, isSameDay: l, toDateKey: u } = i.dates, d = s(i.locale, {
4376
4412
  weekday: "long",
4377
4413
  day: "numeric",
4378
4414
  month: "long"
@@ -4413,10 +4449,10 @@ function $r({ days: e, events: t, availability: n, label: r }) {
4413
4449
  children: i.labels.noEvents
4414
4450
  }) : /* @__PURE__ */ _("ul", {
4415
4451
  className: "divide-border divide-y border-border border-b",
4416
- children: r.map((e) => /* @__PURE__ */ _("li", { children: e.type === "event" ? /* @__PURE__ */ _(ei, {
4452
+ children: r.map((e) => /* @__PURE__ */ _("li", { children: e.type === "event" ? /* @__PURE__ */ _(ti, {
4417
4453
  event: e.value,
4418
4454
  resources: f(e.value.resourceId)
4419
- }) : /* @__PURE__ */ _(ti, {
4455
+ }) : /* @__PURE__ */ _(ni, {
4420
4456
  block: e.value,
4421
4457
  resources: f(e.value.resourceId)
4422
4458
  }) }, `${e.type}:${e.value.id}`))
@@ -4425,8 +4461,8 @@ function $r({ days: e, events: t, availability: n, label: r }) {
4425
4461
  })
4426
4462
  });
4427
4463
  }
4428
- function ei({ event: e, resources: t }) {
4429
- let n = Qr(), { isAllDayLike: r } = n.dates, i = n.statusLabel(e), a = r(e) ? n.labels.allDay : kr(e.start, e.end, n);
4464
+ function ti({ event: e, resources: t }) {
4465
+ let n = $r(), { isAllDayLike: r } = n.dates, i = n.statusLabel(e), a = r(e) ? n.labels.allDay : kr(e.start, e.end, n);
4430
4466
  return /* @__PURE__ */ v("div", {
4431
4467
  role: "button",
4432
4468
  tabIndex: 0,
@@ -4473,8 +4509,8 @@ function ei({ event: e, resources: t }) {
4473
4509
  ]
4474
4510
  });
4475
4511
  }
4476
- function ti({ block: e, resources: t }) {
4477
- let n = Qr(), r = e.kind ?? "available", i = r === "available" ? n.labels.available : n.labels.unavailable, a = n.hasBlockClick;
4512
+ function ni({ block: e, resources: t }) {
4513
+ let n = $r(), r = e.kind ?? "available", i = r === "available" ? n.labels.available : n.labels.unavailable, a = n.hasBlockClick;
4478
4514
  return /* @__PURE__ */ v("div", {
4479
4515
  role: a ? "button" : void 0,
4480
4516
  tabIndex: a ? 0 : void 0,
@@ -4506,12 +4542,12 @@ function ti({ block: e, resources: t }) {
4506
4542
  }
4507
4543
  //#endregion
4508
4544
  //#region src/components/ui/calendar/MonthView.tsx
4509
- var ni = 96, ri = 224;
4510
- function ii(e) {
4545
+ var ri = 96, ii = 224;
4546
+ function ai(e) {
4511
4547
  return `${e.type}:${e.value.id}`;
4512
4548
  }
4513
- function ai({ date: e, events: t, availability: n, label: r }) {
4514
- let i = Qr(), { addDays: a, daySegment: o, differenceInDays: c, eventsOnDay: u, formatLongDate: d, fromDateKey: g, getFormatter: y, getMonthWeeks: b, isAllDayLike: x, isSameDay: S, shiftRangeDays: C, toDateKey: w } = i.dates, T = p(() => b(e, i.weekStartsOn), [
4549
+ function oi({ date: e, events: t, availability: n, label: r }) {
4550
+ let i = $r(), { addDays: a, daySegment: o, differenceInDays: c, eventsOnDay: u, formatLongDate: d, fromDateKey: g, getFormatter: y, getMonthWeeks: b, isAllDayLike: x, isSameDay: S, shiftRangeDays: C, toDateKey: w } = i.dates, T = p(() => b(e, i.weekStartsOn), [
4515
4551
  e,
4516
4552
  i.weekStartsOn,
4517
4553
  b
@@ -4565,8 +4601,8 @@ function ai({ date: e, events: t, availability: n, label: r }) {
4565
4601
  u,
4566
4602
  o,
4567
4603
  w
4568
- ]), ue = y(i.locale, { weekday: "short" }), de = i.monthMaxEvents ?? (ne ? Math.max(1, Math.floor((Math.max(ne / T.length, ni) - 28) / 20)) : 3);
4569
- function U(e) {
4604
+ ]), ue = y(i.locale, { weekday: "short" }), U = i.monthMaxEvents ?? (ne ? Math.max(1, Math.floor((Math.max(ne / T.length, ri) - 28) / 20)) : 3);
4605
+ function de(e) {
4570
4606
  let t = w(e);
4571
4607
  k(t), requestAnimationFrame(() => {
4572
4608
  E.current?.querySelector(`[data-cal-date="${t}"]`)?.focus();
@@ -4583,11 +4619,11 @@ function ai({ date: e, events: t, availability: n, label: r }) {
4583
4619
  if (e.key in n) {
4584
4620
  e.preventDefault();
4585
4621
  let r = a(t, n[e.key]);
4586
- B.some((e) => S(e, r)) && U(r);
4622
+ B.some((e) => S(e, r)) && de(r);
4587
4623
  } else if (e.key === "Home" || e.key === "End") {
4588
4624
  e.preventDefault();
4589
4625
  let n = (i.dates.weekday(t) - i.weekStartsOn + 7) % 7;
4590
- U(a(t, e.key === "Home" ? -n : 6 - n));
4626
+ de(a(t, e.key === "Home" ? -n : 6 - n));
4591
4627
  } else (e.key === "Enter" || e.key === " ") && (e.preventDefault(), i.openDay(t));
4592
4628
  }
4593
4629
  function fe(e) {
@@ -4619,7 +4655,7 @@ function ai({ date: e, events: t, availability: n, label: r }) {
4619
4655
  if (!t || e.pointerId !== t.pointerId) return;
4620
4656
  if (!t.started) {
4621
4657
  if (Math.hypot(e.clientX - t.startX, e.clientY - t.startY) < 4) return;
4622
- t.started = !0, L(ii(t.item));
4658
+ t.started = !0, L(ai(t.item));
4623
4659
  }
4624
4660
  let n = document.elementFromPoint(e.clientX, e.clientY)?.closest("[data-cal-date]"), r = n && E.current?.contains(n) ? n.dataset.calDate ?? null : null;
4625
4661
  t.overKey = r ?? void 0, F(r);
@@ -4672,7 +4708,7 @@ function ai({ date: e, events: t, availability: n, label: r }) {
4672
4708
  }, "pointer");
4673
4709
  }
4674
4710
  let ye = (e, t) => {
4675
- let n = ii(e), r = e.value.placeholder ? {
4711
+ let n = ai(e), r = e.value.placeholder ? {
4676
4712
  "aria-hidden": !0,
4677
4713
  "data-placeholder": !0
4678
4714
  } : {
@@ -4743,7 +4779,7 @@ function ai({ date: e, events: t, availability: n, label: r }) {
4743
4779
  role: "row",
4744
4780
  className: "grid min-h-24 flex-1 grid-cols-7",
4745
4781
  children: e.map((e) => {
4746
- let t = w(e), n = le.get(t), r = n?.items ?? [], a = Math.max(1, de), o = r.length > a, s = o ? r.slice(0, a - 1) : r, c = t === oe, l = i.dates.parts(e).month !== ae, u = i.hasAvailability && i.shadeOutsideAvailability && !n?.hasAvailable;
4782
+ let t = w(e), n = le.get(t), r = n?.items ?? [], a = Math.max(1, U), o = r.length > a, s = o ? r.slice(0, a - 1) : r, c = t === oe, l = i.dates.parts(e).month !== ae, u = i.hasAvailability && i.shadeOutsideAvailability && !n?.hasAvailable;
4747
4783
  return /* @__PURE__ */ v("div", {
4748
4784
  role: "gridcell",
4749
4785
  tabIndex: t === ce ? 0 : -1,
@@ -4777,7 +4813,7 @@ function ai({ date: e, events: t, availability: n, label: r }) {
4777
4813
  onClick: (e) => {
4778
4814
  let n = e.currentTarget.closest("[data-cal-date]")?.getBoundingClientRect();
4779
4815
  if (n) {
4780
- let e = Math.max(n.width, ri);
4816
+ let e = Math.max(n.width, ii);
4781
4817
  N({
4782
4818
  top: Math.max(8, n.top),
4783
4819
  left: Math.max(8, Math.min(n.left, window.innerWidth - e - 8)),
@@ -4820,8 +4856,8 @@ function ai({ date: e, events: t, availability: n, label: r }) {
4820
4856
  }
4821
4857
  //#endregion
4822
4858
  //#region src/components/ui/calendar/items.tsx
4823
- function oi({ event: e, style: t, resizeEdge: n, compact: r, dense: i, continuesBefore: a, continuesAfter: o, dragging: s, onKeyDown: c, onClick: l }) {
4824
- let u = Qr(), d = u.canEditEvent(e), f = e.allDay ? u.labels.allDay : kr(e.start, e.end, u), { display: p } = u, m = p.status ? u.statusLabel(e) : void 0, h = [p.time && f, m].filter(Boolean).join(" · "), y = !!e.placeholder, b = u.renderEvent?.(e, {
4859
+ function si({ event: e, style: t, resizeEdge: n, compact: r, dense: i, continuesBefore: a, continuesAfter: o, dragging: s, onKeyDown: c, onClick: l }) {
4860
+ let u = $r(), d = u.canEditEvent(e), f = e.allDay ? u.labels.allDay : kr(e.start, e.end, u), { display: p } = u, m = p.status ? u.statusLabel(e) : void 0, h = [p.time && f, m].filter(Boolean).join(" · "), y = !!e.placeholder, b = u.renderEvent?.(e, {
4825
4861
  view: u.view,
4826
4862
  compact: r,
4827
4863
  timeLabel: f,
@@ -4852,7 +4888,7 @@ function oi({ event: e, style: t, resizeEdge: n, compact: r, dense: i, continues
4852
4888
  }), h && /* @__PURE__ */ _("span", {
4853
4889
  className: "ui-cal-meta font-mono",
4854
4890
  children: h
4855
- })] }) : /* @__PURE__ */ _(si, {
4891
+ })] }) : /* @__PURE__ */ _(ci, {
4856
4892
  event: e,
4857
4893
  compact: r,
4858
4894
  timeLabel: p.time ? f : void 0,
@@ -4867,7 +4903,7 @@ function oi({ event: e, style: t, resizeEdge: n, compact: r, dense: i, continues
4867
4903
  })]
4868
4904
  });
4869
4905
  }
4870
- function si({ event: e, compact: t, timeLabel: n, statusLabel: r, description: i, badge: a }) {
4906
+ function ci({ event: e, compact: t, timeLabel: n, statusLabel: r, description: i, badge: a }) {
4871
4907
  return t ? /* @__PURE__ */ v("div", {
4872
4908
  className: "flex min-w-0 items-center gap-1",
4873
4909
  children: [/* @__PURE__ */ v("span", {
@@ -4905,8 +4941,8 @@ function si({ event: e, compact: t, timeLabel: n, statusLabel: r, description: i
4905
4941
  })
4906
4942
  ] });
4907
4943
  }
4908
- function ci({ block: e, style: t, resizeEdge: n, continuesAfter: r, dragging: i, onKeyDown: a, onClick: o }) {
4909
- let s = Qr(), c = s.editLayer === "availability", l = c && s.canEditBlock(e), u = e.kind ?? "available", d = e.label ?? (u === "available" ? s.labels.available : s.labels.unavailable), f = c && !e.placeholder && (l || s.hasBlockClick);
4944
+ function li({ block: e, style: t, resizeEdge: n, continuesAfter: r, dragging: i, onKeyDown: a, onClick: o }) {
4945
+ let s = $r(), c = s.editLayer === "availability", l = c && s.canEditBlock(e), u = e.kind ?? "available", d = e.label ?? (u === "available" ? s.labels.available : s.labels.unavailable), f = c && !e.placeholder && (l || s.hasBlockClick);
4910
4946
  return u === "available" && !c && !s.display.availableBlocks ? null : /* @__PURE__ */ v("div", {
4911
4947
  role: f ? "button" : void 0,
4912
4948
  tabIndex: f ? 0 : void 0,
@@ -4942,8 +4978,8 @@ function ci({ block: e, style: t, resizeEdge: n, continuesAfter: r, dragging: i,
4942
4978
  ]
4943
4979
  });
4944
4980
  }
4945
- function li({ draft: e, invalid: t, style: n }) {
4946
- let r = Qr(), i = e.target === "event" ? e.event.title : e.target === "availability" ? e.availability.label ?? r.labels.available : void 0;
4981
+ function ui({ draft: e, invalid: t, style: n }) {
4982
+ let r = $r(), i = e.target === "event" ? e.event.title : e.target === "availability" ? e.availability.label ?? r.labels.available : void 0;
4947
4983
  return /* @__PURE__ */ v("div", {
4948
4984
  className: "ui-cal-ghost",
4949
4985
  "data-invalid": t ? !0 : void 0,
@@ -4967,8 +5003,8 @@ function li({ draft: e, invalid: t, style: n }) {
4967
5003
  }
4968
5004
  //#endregion
4969
5005
  //#region src/components/ui/calendar/useGridInteraction.ts
4970
- var ui = 4, di = 10, fi = 36;
4971
- function pi(e, t, n, r, i) {
5006
+ var di = 4, fi = 10, pi = 36;
5007
+ function mi(e, t, n, r, i) {
4972
5008
  let a = zr(e.value.resourceId).length > 0, o = {
4973
5009
  action: t,
4974
5010
  start: n.start,
@@ -4987,11 +5023,11 @@ function pi(e, t, n, r, i) {
4987
5023
  ...o
4988
5024
  };
4989
5025
  }
4990
- function mi(e, t) {
5026
+ function hi(e, t) {
4991
5027
  return t.target === "selection" ? !1 : Jr(e.value, t) && (t.resourceId === void 0 || t.resourceId === t.previousResourceId);
4992
5028
  }
4993
- function hi({ axis: e, columns: t, pxPerMinute: n, scrollRef: r, events: i, blocks: a, initialColumn: o }) {
4994
- let s = Qr(), { addMinutes: c, computeNudgeRange: u, dateAtMinutes: d, differenceInDays: p, shiftRangeDays: g } = s.dates, [_, v] = h(null), [y, b] = h(null), x = m(null), S = m({
5029
+ function gi({ axis: e, columns: t, pxPerMinute: n, scrollRef: r, events: i, blocks: a, initialColumn: o }) {
5030
+ let s = $r(), { addMinutes: c, computeNudgeRange: u, dateAtMinutes: d, differenceInDays: p, shiftRangeDays: g } = s.dates, [_, v] = h(null), [y, b] = h(null), x = m(null), S = m({
4995
5031
  ctx: s,
4996
5032
  columns: t,
4997
5033
  axis: e,
@@ -5057,12 +5093,12 @@ function hi({ axis: e, columns: t, pxPerMinute: n, scrollRef: r, events: i, bloc
5057
5093
  if (!r) return;
5058
5094
  e.hover = r.index;
5059
5095
  let a = n[r.index], c = i(e.item.value, a.day, T(r.el, e.lastX, e.lastY), e.grabOffset, o, t.dayBounds(a.day));
5060
- l = pi(e.item, "move", c, s.resourceId, a.resourceId);
5096
+ l = mi(e.item, "move", c, s.resourceId, a.resourceId);
5061
5097
  } else if (e.kind === "resize" && e.item) {
5062
5098
  let t = w(e.origin);
5063
5099
  if (!t) return;
5064
5100
  let n = a(e.item.value, s.day, T(t, e.lastX, e.lastY), o, c);
5065
- l = pi(e.item, "resize", {
5101
+ l = mi(e.item, "resize", {
5066
5102
  start: e.item.value.start,
5067
5103
  end: n
5068
5104
  }, s.resourceId, s.resourceId);
@@ -5077,7 +5113,7 @@ function hi({ axis: e, columns: t, pxPerMinute: n, scrollRef: r, events: i, bloc
5077
5113
  let t = r.current;
5078
5114
  if (!t || !e.started) return;
5079
5115
  let n = t.getBoundingClientRect(), i = 0, a = 0;
5080
- if (e.lastY < n.top + fi ? a = -1 : e.lastY > n.bottom - fi && (a = 1), e.lastX < n.left + fi ? i = -1 : e.lastX > n.right - fi && (i = 1), !i && !a) {
5116
+ if (e.lastY < n.top + pi ? a = -1 : e.lastY > n.bottom - pi && (a = 1), e.lastX < n.left + pi ? i = -1 : e.lastX > n.right - pi && (i = 1), !i && !a) {
5081
5117
  e.frame = void 0;
5082
5118
  return;
5083
5119
  }
@@ -5090,7 +5126,7 @@ function hi({ axis: e, columns: t, pxPerMinute: n, scrollRef: r, events: i, bloc
5090
5126
  if (a && (x.current = null, a.cleanup(), a.frame && cancelAnimationFrame(a.frame), v(null), e)) {
5091
5127
  if (a.started) {
5092
5128
  let e = a.current;
5093
- if (!e || a.item && mi(a.item, e.draft)) return;
5129
+ if (!e || a.item && hi(a.item, e.draft)) return;
5094
5130
  t.commit(e.draft, "pointer");
5095
5131
  return;
5096
5132
  }
@@ -5152,11 +5188,11 @@ function hi({ axis: e, columns: t, pxPerMinute: n, scrollRef: r, events: i, bloc
5152
5188
  let n = Math.hypot(e.clientX - t.startX, e.clientY - t.startY);
5153
5189
  if (!t.started) {
5154
5190
  if (t.pointerType === "touch") {
5155
- n > di && (t.moved = !0);
5191
+ n > fi && (t.moved = !0);
5156
5192
  return;
5157
5193
  }
5158
- if (t.kind === "click" || n < ui) {
5159
- n >= ui && (t.moved = !0);
5194
+ if (t.kind === "click" || n < di) {
5195
+ n >= di && (t.moved = !0);
5160
5196
  return;
5161
5197
  }
5162
5198
  t.started = !0, r.current?.setPointerCapture?.(t.pointerId);
@@ -5215,17 +5251,17 @@ function hi({ axis: e, columns: t, pxPerMinute: n, scrollRef: r, events: i, bloc
5215
5251
  if (n.shiftKey) {
5216
5252
  let t = c(d.end, e);
5217
5253
  if (t.getTime() - d.start.getTime() < C * 6e4) return;
5218
- v = pi(f, "resize", {
5254
+ v = mi(f, "resize", {
5219
5255
  start: d.start,
5220
5256
  end: t
5221
5257
  }, _.resourceId, _.resourceId);
5222
- } else v = pi(f, "move", u(d, e, s.dayBounds(d.start)), _.resourceId, _.resourceId);
5258
+ } else v = mi(f, "move", u(d, e, s.dayBounds(d.start)), _.resourceId, _.resourceId);
5223
5259
  } else if (h.includes(n.key) && !n.shiftKey) {
5224
5260
  let e = t[l + (n.key === h[0] ? -1 : 1)];
5225
5261
  if (!e) return;
5226
- v = pi(f, "move", g(d, p(e.day, _.day)), _.resourceId, e.resourceId);
5262
+ v = mi(f, "move", g(d, p(e.day, _.day)), _.resourceId, e.resourceId);
5227
5263
  }
5228
- v && (n.preventDefault(), !mi(f, v) && s.commit(v, "keyboard") && j(o));
5264
+ v && (n.preventDefault(), !hi(f, v) && s.commit(v, "keyboard") && j(o));
5229
5265
  }
5230
5266
  function N(e) {
5231
5267
  if (e.target !== e.currentTarget || y) return;
@@ -5355,12 +5391,12 @@ function hi({ axis: e, columns: t, pxPerMinute: n, scrollRef: r, events: i, bloc
5355
5391
  }
5356
5392
  //#endregion
5357
5393
  //#region src/components/ui/calendar/TimeGrid.tsx
5358
- var gi = 22, _i = 3, vi = 18, yi = 36;
5359
- function bi(e) {
5394
+ var _i = 22, vi = 3, yi = 18, bi = 36;
5395
+ function xi(e) {
5360
5396
  let t = e.querySelector(".ui-cal-head")?.offsetHeight ?? 0;
5361
5397
  return (e.clientHeight - t) / 2;
5362
5398
  }
5363
- function xi(e, t, n, r, i) {
5399
+ function Si(e, t, n, r, i) {
5364
5400
  let a = i(e.start, e.end, t);
5365
5401
  return a ? a.endMinute <= n && a.startMinute < n ? "before" : a.startMinute >= r ? "after" : {
5366
5402
  item: e,
@@ -5370,8 +5406,8 @@ function xi(e, t, n, r, i) {
5370
5406
  continuesAfter: a.continuesAfter || a.endMinute > r
5371
5407
  } : null;
5372
5408
  }
5373
- function Si({ days: e, events: t, availability: n, label: r }) {
5374
- let i = Qr(), { daySegment: a, formatLongDate: o, getFormatter: s, isAllDayLike: c, isSameDay: d, minutesOfDay: g, toDateKey: y } = i.dates, { bounds: b, resources: x, hourHeight: S } = i, C = S / 60, w = m(null), T = u(), [E, D] = h(!1), O = p(() => e.flatMap((e) => x.length ? x.map((t) => ({
5409
+ function Ci({ days: e, events: t, availability: n, label: r }) {
5410
+ let i = $r(), { daySegment: a, formatLongDate: o, getFormatter: s, isAllDayLike: c, isSameDay: d, minutesOfDay: g, toDateKey: y } = i.dates, { bounds: b, resources: x, hourHeight: S } = i, C = S / 60, w = m(null), T = u(), [E, D] = h(!1), O = p(() => e.flatMap((e) => x.length ? x.map((t) => ({
5375
5411
  key: `${y(e)}|${t.id}`,
5376
5412
  day: e,
5377
5413
  bounds: i.dates.dayBounds(e, i.bounds),
@@ -5386,7 +5422,7 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5386
5422
  y,
5387
5423
  i.dates,
5388
5424
  i.bounds
5389
- ]), k = p(() => new Map(t.map((e) => [e.id, e])), [t]), A = p(() => new Map(n.map((e) => [e.id, e])), [n]), j = O.findIndex((e) => d(e.day, i.now)), M = hi({
5425
+ ]), k = p(() => new Map(t.map((e) => [e.id, e])), [t]), A = p(() => new Map(n.map((e) => [e.id, e])), [n]), j = O.findIndex((e) => d(e.day, i.now)), M = gi({
5390
5426
  axis: "y",
5391
5427
  columns: O,
5392
5428
  pxPerMinute: C,
@@ -5395,12 +5431,12 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5395
5431
  blocks: A,
5396
5432
  initialColumn: Math.max(0, j)
5397
5433
  }), { drag: N, cursor: P } = M, F = i.editLayer === "availability", I = p(() => {
5398
- let e = t.filter((e) => !c(e)), r = vi / C;
5434
+ let e = t.filter((e) => !c(e)), r = yi / C;
5399
5435
  return O.map((t) => {
5400
5436
  let o = t.bounds ?? i.bounds, s = 0, c = 0, l = [];
5401
5437
  for (let n of e) {
5402
5438
  if (!Br(n.resourceId, t.resourceId, { emptyMatchesAll: !1 })) continue;
5403
- let e = xi(n, t.day, o.min, o.max, a);
5439
+ let e = Si(n, t.day, o.min, o.max, a);
5404
5440
  e === "before" ? s++ : e === "after" ? c++ : e && l.push(e);
5405
5441
  }
5406
5442
  let u = Lr(l.map((e) => ({
@@ -5410,7 +5446,7 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5410
5446
  })), r), d = [];
5411
5447
  for (let e of n) {
5412
5448
  if (!Br(e.resourceId, t.resourceId, { emptyMatchesAll: !0 })) continue;
5413
- let n = xi(e, t.day, o.min, o.max, a);
5449
+ let n = Si(e, t.day, o.min, o.max, a);
5414
5450
  n && typeof n == "object" && d.push(n);
5415
5451
  }
5416
5452
  let f = F ? Lr(d.map((e) => ({
@@ -5470,12 +5506,12 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5470
5506
  O,
5471
5507
  a,
5472
5508
  c
5473
- ]), R = E ? L.count : Math.min(L.count, _i), ee = L.runs.filter((e) => (L.lanes.get(e.id) ?? 0) >= R).length, te = m(C), ne = m(null);
5509
+ ]), R = E ? L.count : Math.min(L.count, vi), ee = L.runs.filter((e) => (L.lanes.get(e.id) ?? 0) >= R).length, te = m(C), ne = m(null);
5474
5510
  l(() => {
5475
5511
  let e = w.current;
5476
5512
  if (!e) return;
5477
5513
  let t = () => {
5478
- ne.current = (e.scrollTop + bi(e)) / te.current;
5514
+ ne.current = (e.scrollTop + xi(e)) / te.current;
5479
5515
  };
5480
5516
  return e.addEventListener("scroll", t, { passive: !0 }), () => e.removeEventListener("scroll", t);
5481
5517
  }, []), f(() => {
@@ -5483,7 +5519,7 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5483
5519
  if (!e || te.current === C) return;
5484
5520
  te.current = C;
5485
5521
  let t = ne.current;
5486
- t !== null && (e.scrollTop = Math.max(0, t * C - bi(e)));
5522
+ t !== null && (e.scrollTop = Math.max(0, t * C - xi(e)));
5487
5523
  }, [C]);
5488
5524
  let re = m(null), z = i.scrollToMinute, { dates: ie, timeZone: ae, now: B } = i, oe = i.scrollAlign;
5489
5525
  l(() => {
@@ -5491,7 +5527,7 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5491
5527
  if (!t || re.current === i.view) return;
5492
5528
  re.current = i.view;
5493
5529
  let n = e.find((e) => d(e, B)) ?? e[0], r = ae ? ie.minutesOfDay(ie.wallDateAtMinutes(n, z ?? 480)) : z ?? 480, a = ie.dayBounds(n, b), o = t.querySelector(".ui-cal-head"), s = () => {
5494
- let e = oe === "center" ? bi(t) : 8;
5530
+ let e = oe === "center" ? xi(t) : 8;
5495
5531
  t.scrollTop = Math.max(0, (r - a.min) * C - e);
5496
5532
  };
5497
5533
  if (s(), typeof ResizeObserver > "u") return;
@@ -5526,35 +5562,56 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5526
5562
  ae,
5527
5563
  B
5528
5564
  ]);
5529
- let se = e.length > 1, ce = x.length > 0, V = i.timeZone ? 72 : 0, le = i.timeZone ? Math.max(ce ? i.resourceMinWidth : 0, 180) : ce ? i.resourceMinWidth : 44, ue = Math.max(...O.map((e) => (e.bounds?.max ?? b.max) - (e.bounds?.min ?? b.min))) * C, H = {
5565
+ let se = e.length > 1, ce = x.length > 0, V = !!i.timeZone && i.sharedTimeAxis, le = p(() => Zr(O.map((e) => ({
5566
+ day: e.day,
5567
+ bounds: e.bounds ?? i.bounds
5568
+ })), i.slotLabelInterval, {
5569
+ timeZone: i.timeZone,
5570
+ locale: i.locale,
5571
+ hour12: i.hour12
5572
+ }, i.bounds, V), [
5573
+ O,
5574
+ i.slotLabelInterval,
5575
+ i.timeZone,
5576
+ i.locale,
5577
+ i.hour12,
5578
+ i.bounds,
5579
+ V
5580
+ ]), ue = le.reference, H = le.axes.map((e) => !!i.timeZone && (!V || !e.matchesReference)), U = ue ? s(i.locale, { timeZoneName: "short" }).formatToParts(i.dates.dateAtMinutes(ue.day, ue.bounds.min)).find((e) => e.type === "timeZoneName")?.value : void 0, de = H.some(Boolean) ? Math.max(ce ? i.resourceMinWidth : 0, 180) : ce ? i.resourceMinWidth : 44, W = Math.max(...O.map((e) => (e.bounds?.max ?? b.max) - (e.bounds?.min ?? b.min))) * C, fe = {
5530
5581
  "--cal-hour": `${S}px`,
5531
5582
  "--cal-offset": `${-(b.min % 60 * C)}px`,
5532
- height: ue
5533
- }, de = [], U = Math.max(5, i.slotLabelInterval);
5534
- for (let e = Math.ceil(b.min / U) * U; e < b.max; e += U) e > b.min && de.push(e);
5535
- let W = s(i.locale, { weekday: "short" }), fe = g(i.now), pe = i.nowIndicator, me = N?.draft, he = me && (me.target === "selection" ? me.resourceId : me.resourceIds), ge = "";
5583
+ height: W
5584
+ }, pe = ue?.bounds ?? b, me = [], he = Math.max(5, i.slotLabelInterval);
5585
+ for (let e = Math.ceil(pe.min / he) * he; e < pe.max; e += he) e > pe.min && me.push(e);
5586
+ let ge = s(i.locale, { weekday: "short" }), _e = g(i.now), ve = i.nowIndicator, ye = N?.draft, be = ye && (ye.target === "selection" ? ye.resourceId : ye.resourceIds), xe = "";
5536
5587
  if (P) {
5537
5588
  let e = O[P.column];
5538
5589
  if (e) {
5539
5590
  let t = e.resourceId ? i.resourceById.get(e.resourceId) : void 0;
5540
- ge = `${o(e.day, i.locale)}, ${i.timeZone ? Or(i.dates.dateAtMinutes(e.day, P.start), i) : gr(P.start)} to ${i.timeZone ? Or(i.dates.dateAtMinutes(e.day, P.end), i) : gr(P.end)}${t ? `, ${t.title}` : ""}`;
5591
+ xe = `${o(e.day, i.locale)}, ${i.timeZone ? Or(i.dates.dateAtMinutes(e.day, P.start), i) : gr(P.start)} to ${i.timeZone ? Or(i.dates.dateAtMinutes(e.day, P.end), i) : gr(P.end)}${t ? `, ${t.title}` : ""}`;
5541
5592
  }
5542
5593
  }
5543
5594
  return /* @__PURE__ */ _("div", {
5544
5595
  ref: w,
5545
5596
  "data-cal-drag": N?.draft.action,
5546
5597
  className: "ui-cal-scroll relative min-h-0 flex-1 overflow-auto",
5598
+ style: i.timeZone && !ue ? { "--cal-gutter": "0px" } : void 0,
5547
5599
  children: /* @__PURE__ */ v("div", {
5548
5600
  className: "flex min-h-full flex-col",
5549
- style: { minWidth: `calc(var(--cal-gutter) + ${O.length * le}px)` },
5601
+ style: { minWidth: `calc(var(--cal-gutter) + ${O.length * de}px)` },
5550
5602
  children: [/* @__PURE__ */ v("div", {
5551
5603
  className: "ui-cal-head border-border border-b",
5552
5604
  children: [
5553
5605
  se && /* @__PURE__ */ v("div", {
5554
5606
  className: "flex",
5555
- children: [/* @__PURE__ */ _("div", { className: "ui-cal-corner" }), e.map((e) => /* @__PURE__ */ _(Ci, {
5607
+ children: [/* @__PURE__ */ _("div", {
5608
+ className: U ? "ui-cal-corner text-text-tertiary flex items-center justify-center text-2xs" : "ui-cal-corner",
5609
+ title: U ? i.timeZone : void 0,
5610
+ "aria-label": U ? i.timeZone : void 0,
5611
+ children: U
5612
+ }), e.map((e) => /* @__PURE__ */ _(wi, {
5556
5613
  day: e,
5557
- weekday: W.format(e),
5614
+ weekday: ge.format(e),
5558
5615
  isToday: d(e, i.now),
5559
5616
  grow: ce ? x.length : 1,
5560
5617
  onOpen: () => i.openDay(e),
@@ -5563,7 +5620,12 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5563
5620
  }),
5564
5621
  ce && /* @__PURE__ */ v("div", {
5565
5622
  className: "flex",
5566
- children: [/* @__PURE__ */ _("div", { className: "ui-cal-corner" }), O.map((e, t) => /* @__PURE__ */ _(wi, {
5623
+ children: [/* @__PURE__ */ _("div", {
5624
+ className: U && !se ? "ui-cal-corner text-text-tertiary flex items-center justify-center text-2xs" : "ui-cal-corner",
5625
+ title: !se && U ? i.timeZone : void 0,
5626
+ "aria-label": !se && U ? i.timeZone : void 0,
5627
+ children: se ? void 0 : U
5628
+ }), O.map((e, t) => /* @__PURE__ */ _(Ti, {
5567
5629
  resource: i.resourceById.get(e.resourceId ?? ""),
5568
5630
  sub: t % x.length !== 0
5569
5631
  }, e.key))]
@@ -5572,7 +5634,7 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5572
5634
  className: "border-border flex border-t",
5573
5635
  children: [/* @__PURE__ */ v("div", {
5574
5636
  className: "ui-cal-corner text-text-tertiary flex flex-col items-end justify-center gap-0.5 pr-2 text-2xs",
5575
- children: [/* @__PURE__ */ _("span", { children: i.labels.allDay }), L.count > _i && /* @__PURE__ */ _("button", {
5637
+ children: [/* @__PURE__ */ _("span", { children: i.labels.allDay }), L.count > vi && /* @__PURE__ */ _("button", {
5576
5638
  type: "button",
5577
5639
  className: "text-accent cursor-pointer hover:underline",
5578
5640
  "aria-expanded": E,
@@ -5581,19 +5643,19 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5581
5643
  })]
5582
5644
  }), /* @__PURE__ */ _("div", {
5583
5645
  className: "relative flex-1",
5584
- style: { height: R * gi + 4 },
5646
+ style: { height: R * _i + 4 },
5585
5647
  children: L.runs.map((e) => {
5586
5648
  let t = L.lanes.get(e.id) ?? 0;
5587
5649
  if (t >= R) return null;
5588
5650
  let n = O[e.start], r = O[e.end - 1];
5589
- return /* @__PURE__ */ _(oi, {
5651
+ return /* @__PURE__ */ _(si, {
5590
5652
  event: e.event,
5591
5653
  compact: !0,
5592
5654
  continuesBefore: !!n && a(e.event.start, e.event.end, n.day)?.continuesBefore,
5593
5655
  continuesAfter: !!r && a(e.event.start, e.event.end, r.day)?.continuesAfter,
5594
5656
  style: {
5595
- top: t * gi + 2,
5596
- height: gi - 3,
5657
+ top: t * _i + 2,
5658
+ height: _i - 3,
5597
5659
  left: `calc(${e.start / O.length * 100}% + 2px)`,
5598
5660
  width: `calc(${(e.end - e.start) / O.length * 100}% - 4px)`,
5599
5661
  justifyContent: "center"
@@ -5609,15 +5671,30 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5609
5671
  ]
5610
5672
  }), /* @__PURE__ */ v("div", {
5611
5673
  className: "flex flex-1",
5612
- children: [/* @__PURE__ */ _("div", {
5674
+ children: [/* @__PURE__ */ v("div", {
5613
5675
  className: "ui-cal-gutter relative",
5614
- style: { height: ue },
5676
+ style: { height: W },
5615
5677
  "aria-hidden": "true",
5616
- children: !i.timeZone && de.map((e) => /* @__PURE__ */ _("span", {
5617
- className: "text-text-tertiary font-mono absolute right-2 -translate-y-1/2 text-2xs",
5618
- style: { top: (e - b.min) * C },
5619
- children: Ar(e, i)
5620
- }, e))
5678
+ children: [
5679
+ U && !se && !ce && /* @__PURE__ */ _("span", {
5680
+ className: "text-text-tertiary absolute top-0 right-2 text-2xs",
5681
+ "aria-hidden": "true",
5682
+ children: U
5683
+ }),
5684
+ ue && me.map((e) => {
5685
+ let t = i.dates.parts(i.dates.dateAtMinutes(ue.day, e));
5686
+ return /* @__PURE__ */ _("span", {
5687
+ className: "text-text-tertiary font-mono absolute right-2 -translate-y-1/2 text-2xs",
5688
+ style: { top: (e - ue.bounds.min) * C },
5689
+ children: Ar(t.hour * 60 + t.minute, i)
5690
+ }, e);
5691
+ }),
5692
+ !i.timeZone && me.map((e) => /* @__PURE__ */ _("span", {
5693
+ className: "text-text-tertiary font-mono absolute right-2 -translate-y-1/2 text-2xs",
5694
+ style: { top: (e - b.min) * C },
5695
+ children: Ar(e, i)
5696
+ }, e))
5697
+ ]
5621
5698
  }), /* @__PURE__ */ v("div", {
5622
5699
  role: "group",
5623
5700
  "aria-roledescription": "time grid",
@@ -5625,7 +5702,7 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5625
5702
  "aria-describedby": T,
5626
5703
  tabIndex: 0,
5627
5704
  className: "ui-cal-lines ui-cal-surface relative flex flex-1 select-none focus-visible:outline-none",
5628
- style: H,
5705
+ style: fe,
5629
5706
  onPointerDown: M.onPointerDown,
5630
5707
  onFocus: M.onGridFocus,
5631
5708
  onBlur: M.onGridBlur,
@@ -5639,21 +5716,21 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5639
5716
  /* @__PURE__ */ _("span", {
5640
5717
  className: "sr-only",
5641
5718
  "aria-live": "polite",
5642
- children: ge
5719
+ children: xe
5643
5720
  }),
5644
5721
  O.map((e, t) => {
5645
- let n = I[t], r = e.bounds ?? i.bounds, o = i.timeZone ? Array.from({ length: Math.ceil((r.max - r.min) / U) }, (e, t) => r.min + t * U) : [], s = d(e.day, i.now), c = ce && t % x.length !== 0;
5722
+ let n = I[t], r = e.bounds ?? i.bounds, o = H[t] ? 72 : 0, s = H[t] ? le.axes[t].minutes : [], c = d(e.day, i.now), l = ce && t % x.length !== 0;
5646
5723
  return /* @__PURE__ */ v("div", {
5647
5724
  "data-cal-col": t,
5648
- "data-today": s || void 0,
5649
- "data-subcol": c || void 0,
5725
+ "data-today": c || void 0,
5726
+ "data-subcol": l || void 0,
5650
5727
  className: "ui-cal-col flex-1",
5651
5728
  style: {
5652
- minWidth: le,
5729
+ minWidth: de,
5653
5730
  height: (r.max - r.min) * C
5654
5731
  },
5655
5732
  children: [
5656
- o.map((t) => /* @__PURE__ */ _("span", {
5733
+ s.map((t) => /* @__PURE__ */ _("span", {
5657
5734
  className: "ui-cal-zone-label",
5658
5735
  style: { top: (t - r.min) * C },
5659
5736
  "aria-hidden": "true",
@@ -5671,7 +5748,7 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5671
5748
  }, `o${e}`)),
5672
5749
  n.blocks.map((e) => {
5673
5750
  let a = n.blockLayout?.get(e.item.id);
5674
- return /* @__PURE__ */ _(ci, {
5751
+ return /* @__PURE__ */ _(li, {
5675
5752
  block: e.item,
5676
5753
  resizeEdge: "bottom",
5677
5754
  continuesAfter: e.continuesAfter,
@@ -5679,8 +5756,8 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5679
5756
  style: {
5680
5757
  top: (e.start - r.min) * C,
5681
5758
  height: Math.max((e.end - e.start) * C, 4),
5682
- left: a ? `calc(${a.column / a.columns * 100}% + ${V * (1 - a.column / a.columns) + 1}px)` : V,
5683
- width: a ? `calc(${a.span / a.columns * 100}% - ${V * a.span / a.columns + 4}px)` : V ? `calc(100% - ${V}px)` : "100%"
5759
+ left: a ? `calc(${a.column / a.columns * 100}% + ${o * (1 - a.column / a.columns) + 1}px)` : o,
5760
+ width: a ? `calc(${a.span / a.columns * 100}% - ${o * a.span / a.columns + 4}px)` : o ? `calc(100% - ${o}px)` : "100%"
5684
5761
  },
5685
5762
  onKeyDown: (n) => M.onItemKeyDown(n, "availability", e.item.id, t),
5686
5763
  onClick: (t) => {
@@ -5689,13 +5766,13 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5689
5766
  }, e.item.id);
5690
5767
  }),
5691
5768
  /* @__PURE__ */ _("div", {
5692
- style: V ? { left: V } : void 0,
5769
+ style: o ? { left: o } : void 0,
5693
5770
  className: G("absolute inset-0", F && "ui-cal-muted-layer"),
5694
5771
  children: n.placed.map((e) => {
5695
- let a = n.layout.get(e.item.id), o = Math.max((e.end - e.start) * C, vi);
5696
- return /* @__PURE__ */ _(oi, {
5772
+ let a = n.layout.get(e.item.id), o = Math.max((e.end - e.start) * C, yi);
5773
+ return /* @__PURE__ */ _(si, {
5697
5774
  event: e.item,
5698
- compact: o < yi,
5775
+ compact: o < bi,
5699
5776
  resizeEdge: "bottom",
5700
5777
  continuesBefore: e.continuesBefore,
5701
5778
  continuesAfter: e.continuesAfter,
@@ -5725,21 +5802,21 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5725
5802
  "data-cal-ignore": !0,
5726
5803
  children: i.labels.later(n.later)
5727
5804
  }),
5728
- s && pe && fe >= r.min && fe <= r.max && /* @__PURE__ */ _("div", {
5805
+ c && ve && _e >= r.min && _e <= r.max && /* @__PURE__ */ _("div", {
5729
5806
  className: "ui-cal-now",
5730
5807
  "data-axis": "y",
5731
- "data-dot": !c || void 0,
5732
- style: { top: (fe - r.min) * C }
5808
+ "data-dot": !l || void 0,
5809
+ style: { top: (_e - r.min) * C }
5733
5810
  }),
5734
- me && Br(he, e.resourceId, { emptyMatchesAll: !0 }) && (() => {
5735
- let t = xi(me, e.day, r.min, r.max, a);
5736
- return !t || typeof t != "object" ? null : /* @__PURE__ */ _(li, {
5737
- draft: me,
5811
+ ye && Br(be, e.resourceId, { emptyMatchesAll: !0 }) && (() => {
5812
+ let t = Si(ye, e.day, r.min, r.max, a);
5813
+ return !t || typeof t != "object" ? null : /* @__PURE__ */ _(ui, {
5814
+ draft: ye,
5738
5815
  invalid: N?.invalid,
5739
5816
  style: {
5740
5817
  top: (t.start - r.min) * C + 1,
5741
- height: Math.max((t.end - t.start) * C - 2, vi),
5742
- left: V + 1,
5818
+ height: Math.max((t.end - t.start) * C - 2, yi),
5819
+ left: o + 1,
5743
5820
  right: 4
5744
5821
  }
5745
5822
  });
@@ -5748,7 +5825,7 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5748
5825
  "data-cal-cursor": !0,
5749
5826
  className: "ui-cal-cursor",
5750
5827
  style: {
5751
- left: V,
5828
+ left: o,
5752
5829
  right: 0,
5753
5830
  top: (P.start - r.min) * C,
5754
5831
  height: (P.end - P.start) * C
@@ -5763,8 +5840,8 @@ function Si({ days: e, events: t, availability: n, label: r }) {
5763
5840
  })
5764
5841
  });
5765
5842
  }
5766
- function Ci({ day: e, weekday: t, isToday: n, grow: r, bordered: i, onOpen: a }) {
5767
- let o = Qr();
5843
+ function wi({ day: e, weekday: t, isToday: n, grow: r, bordered: i, onOpen: a }) {
5844
+ let o = $r();
5768
5845
  return /* @__PURE__ */ _("div", {
5769
5846
  className: G("flex min-w-0 items-center justify-center py-1.5", i && "border-border border-l"),
5770
5847
  style: { flex: `${r} 1 0` },
@@ -5784,8 +5861,8 @@ function Ci({ day: e, weekday: t, isToday: n, grow: r, bordered: i, onOpen: a })
5784
5861
  })
5785
5862
  });
5786
5863
  }
5787
- function wi({ resource: e, sub: t }) {
5788
- let n = Qr();
5864
+ function Ti({ resource: e, sub: t }) {
5865
+ let n = $r();
5789
5866
  return /* @__PURE__ */ v("div", {
5790
5867
  className: G("border-border flex min-w-0 flex-1 items-center gap-1.5 border-l px-2 py-1.5", t && "ui-cal-subhead"),
5791
5868
  style: { minWidth: n.resourceMinWidth },
@@ -5807,8 +5884,8 @@ function wi({ resource: e, sub: t }) {
5807
5884
  }
5808
5885
  //#endregion
5809
5886
  //#region src/components/ui/calendar/TimelineView.tsx
5810
- var Ti = 34, Ei = 4, Di = 28;
5811
- function Oi(e, t, n, r, i) {
5887
+ var Ei = 34, Di = 4, Oi = 28;
5888
+ function ki(e, t, n, r, i) {
5812
5889
  let a = i(e.start, e.end, t);
5813
5890
  return !a || a.endMinute <= n || a.startMinute >= r ? null : {
5814
5891
  item: e,
@@ -5818,8 +5895,8 @@ function Oi(e, t, n, r, i) {
5818
5895
  continuesAfter: a.continuesAfter || a.endMinute > r
5819
5896
  };
5820
5897
  }
5821
- function ki({ day: e, events: t, availability: n, label: r }) {
5822
- let i = Qr(), { daySegment: a, isSameDay: o, minutesOfDay: s } = i.dates, c = i.dayBounds(e), d = m(null), f = i.resources.length === 0 && t.length === 0 && n.length === 0, [g, y] = h(0);
5898
+ function Ai({ day: e, events: t, availability: n, label: r }) {
5899
+ let i = $r(), { daySegment: a, isSameDay: o, minutesOfDay: s } = i.dates, c = i.dayBounds(e), d = m(null), f = i.resources.length === 0 && t.length === 0 && n.length === 0, [g, y] = h(0);
5823
5900
  l(() => {
5824
5901
  let e = d.current;
5825
5902
  if (!e || typeof ResizeObserver > "u") return;
@@ -5850,7 +5927,7 @@ function ki({ day: e, events: t, availability: n, label: r }) {
5850
5927
  D,
5851
5928
  T,
5852
5929
  e
5853
- ]), j = hi({
5930
+ ]), j = gi({
5854
5931
  axis: "x",
5855
5932
  columns: k,
5856
5933
  pxPerMinute: S,
@@ -5859,13 +5936,13 @@ function ki({ day: e, events: t, availability: n, label: r }) {
5859
5936
  blocks: p(() => new Map(n.map((e) => [e.id, e])), [n]),
5860
5937
  initialColumn: 0
5861
5938
  }), { drag: M, cursor: N } = j, P = i.editLayer === "availability", F = p(() => {
5862
- let r = Di / S;
5939
+ let r = Oi / S;
5863
5940
  return k.map((o) => {
5864
- let s = t.filter((e) => Br(e.resourceId, o.resourceId, { emptyMatchesAll: !1 })).map((t) => Oi(t, e, c.min, c.max, a)).filter((e) => e !== null), l = Rr(s.map((e) => ({
5941
+ let s = t.filter((e) => Br(e.resourceId, o.resourceId, { emptyMatchesAll: !1 })).map((t) => ki(t, e, c.min, c.max, a)).filter((e) => e !== null), l = Rr(s.map((e) => ({
5865
5942
  id: e.item.id,
5866
5943
  start: e.start,
5867
5944
  end: Math.max(e.end, e.start + r)
5868
- }))), u = n.filter((e) => Br(e.resourceId, o.resourceId, { emptyMatchesAll: !0 })).map((t) => Oi(t, e, c.min, c.max, a)).filter((e) => e !== null), d = P ? Rr(u.map((e) => ({
5945
+ }))), u = n.filter((e) => Br(e.resourceId, o.resourceId, { emptyMatchesAll: !0 })).map((t) => ki(t, e, c.min, c.max, a)).filter((e) => e !== null), d = P ? Rr(u.map((e) => ({
5869
5946
  id: e.item.id,
5870
5947
  start: e.start,
5871
5948
  end: Math.max(e.end, e.start + r)
@@ -5986,7 +6063,7 @@ function ki({ day: e, events: t, availability: n, label: r }) {
5986
6063
  }), !n && t.resources.map((t) => {
5987
6064
  let n = se++, r = F[n], o = k[n];
5988
6065
  if (!r || !o) return null;
5989
- let s = r.laneCount * Ti + Ei * 2;
6066
+ let s = r.laneCount * Ei + Di * 2;
5990
6067
  return /* @__PURE__ */ v("div", {
5991
6068
  className: "border-border flex border-b",
5992
6069
  children: [/* @__PURE__ */ v("div", {
@@ -6026,7 +6103,7 @@ function ki({ day: e, events: t, availability: n, label: r }) {
6026
6103
  }, `o${e}`)),
6027
6104
  r.blocks.map((e) => {
6028
6105
  let t = r.blockLanes?.lanes.get(e.item.id);
6029
- return /* @__PURE__ */ _(ci, {
6106
+ return /* @__PURE__ */ _(li, {
6030
6107
  block: e.item,
6031
6108
  resizeEdge: "right",
6032
6109
  continuesAfter: e.continuesAfter,
@@ -6034,8 +6111,8 @@ function ki({ day: e, events: t, availability: n, label: r }) {
6034
6111
  style: {
6035
6112
  left: (e.start - c.min) * S,
6036
6113
  width: Math.max((e.end - e.start) * S, 4),
6037
- top: t === void 0 ? 0 : Ei + t * Ti,
6038
- height: t === void 0 ? "100%" : Ti - 3
6114
+ top: t === void 0 ? 0 : Di + t * Ei,
6115
+ height: t === void 0 ? "100%" : Ei - 3
6039
6116
  },
6040
6117
  onKeyDown: (t) => j.onItemKeyDown(t, "availability", e.item.id, n),
6041
6118
  onClick: (t) => {
@@ -6047,7 +6124,7 @@ function ki({ day: e, events: t, availability: n, label: r }) {
6047
6124
  className: G("absolute inset-0", P && "ui-cal-muted-layer"),
6048
6125
  children: r.placed.map((e) => {
6049
6126
  let t = r.lanes.lanes.get(e.item.id) ?? 0;
6050
- return /* @__PURE__ */ _(oi, {
6127
+ return /* @__PURE__ */ _(si, {
6051
6128
  event: e.item,
6052
6129
  compact: !1,
6053
6130
  dense: !0,
@@ -6057,9 +6134,9 @@ function ki({ day: e, events: t, availability: n, label: r }) {
6057
6134
  dragging: M?.itemId === e.item.id,
6058
6135
  style: {
6059
6136
  left: (e.start - c.min) * S + 1,
6060
- width: Math.max((e.end - e.start) * S, Di) - 2,
6061
- top: Ei + t * Ti,
6062
- height: Ti - 3,
6137
+ width: Math.max((e.end - e.start) * S, Oi) - 2,
6138
+ top: Di + t * Ei,
6139
+ height: Ei - 3,
6063
6140
  justifyContent: "center"
6064
6141
  },
6065
6142
  onKeyDown: (t) => j.onItemKeyDown(t, "event", e.item.id, n),
@@ -6075,15 +6152,15 @@ function ki({ day: e, events: t, availability: n, label: r }) {
6075
6152
  style: { left: (ne - c.min) * S }
6076
6153
  }),
6077
6154
  z && Br(ie, o.resourceId, { emptyMatchesAll: !0 }) && (() => {
6078
- let t = Oi(z, e, c.min, c.max, a);
6079
- return t ? /* @__PURE__ */ _(li, {
6155
+ let t = ki(z, e, c.min, c.max, a);
6156
+ return t ? /* @__PURE__ */ _(ui, {
6080
6157
  draft: z,
6081
6158
  invalid: M?.invalid,
6082
6159
  style: {
6083
6160
  left: (t.start - c.min) * S + 1,
6084
- width: Math.max((t.end - t.start) * S - 2, Di),
6085
- top: Ei,
6086
- bottom: Ei
6161
+ width: Math.max((t.end - t.start) * S - 2, Oi),
6162
+ top: Di,
6163
+ bottom: Di
6087
6164
  }
6088
6165
  }) : null;
6089
6166
  })(),
@@ -6109,7 +6186,7 @@ function ki({ day: e, events: t, availability: n, label: r }) {
6109
6186
  }
6110
6187
  //#endregion
6111
6188
  //#region src/components/ui/calendar/types.ts
6112
- var Ai = {
6189
+ var ji = {
6113
6190
  today: "Today",
6114
6191
  previous: "Previous",
6115
6192
  next: "Next",
@@ -6146,7 +6223,7 @@ var Ai = {
6146
6223
  };
6147
6224
  //#endregion
6148
6225
  //#region src/components/ui/RadioPill.tsx
6149
- function ji({ options: e, value: t, onChange: n, disabled: r, className: i, "aria-label": a }) {
6226
+ function Mi({ options: e, value: t, onChange: n, disabled: r, className: i, "aria-label": a }) {
6150
6227
  return /* @__PURE__ */ _("div", {
6151
6228
  role: "radiogroup",
6152
6229
  "aria-label": a,
@@ -6163,25 +6240,25 @@ function ji({ options: e, value: t, onChange: n, disabled: r, className: i, "ari
6163
6240
  }
6164
6241
  //#endregion
6165
6242
  //#region src/components/ui/Calendar.tsx
6166
- var Mi = [
6243
+ var Ni = [
6167
6244
  "day",
6168
6245
  "threeDay",
6169
6246
  "week",
6170
6247
  "month",
6171
6248
  "agenda"
6172
6249
  ];
6173
- function Ni() {
6250
+ function Pi() {
6174
6251
  return /* @__PURE__ */ new Date();
6175
6252
  }
6176
- function Pi(e) {
6177
- let [t, n] = h(Ni);
6253
+ function Fi(e) {
6254
+ let [t, n] = h(Pi);
6178
6255
  return l(() => {
6179
6256
  if (e) return;
6180
- let t = setInterval(() => n(Ni()), 3e4);
6257
+ let t = setInterval(() => n(Pi()), 3e4);
6181
6258
  return () => clearInterval(t);
6182
6259
  }, [e]), e ?? t;
6183
6260
  }
6184
- function Fi(e) {
6261
+ function Ii(e) {
6185
6262
  let [t, n] = h(null);
6186
6263
  return l(() => {
6187
6264
  let t = e.current;
@@ -6192,38 +6269,38 @@ function Fi(e) {
6192
6269
  return r.observe(t), () => r.disconnect();
6193
6270
  }, [e]), t;
6194
6271
  }
6195
- var Ii = /* @__PURE__ */ new Set();
6196
- function Li(e) {
6272
+ var Li = /* @__PURE__ */ new Set();
6273
+ function Ri(e) {
6197
6274
  let t = !1;
6198
6275
  try {
6199
6276
  t = process.env.NODE_ENV !== "production";
6200
6277
  } catch {}
6201
- !t || Ii.has(e) || (Ii.add(e), console.warn(`[Calendar] ${e}`));
6278
+ !t || Li.has(e) || (Li.add(e), console.warn(`[Calendar] ${e}`));
6202
6279
  }
6203
- function Ri(e, t, n) {
6280
+ function zi(e, t, n) {
6204
6281
  try {
6205
6282
  return hr(t);
6206
6283
  } catch {
6207
- return Li(`Invalid ${e} "${t}", expected HH:mm; using the default.`), n;
6284
+ return Ri(`Invalid ${e} "${t}", expected HH:mm; using the default.`), n;
6208
6285
  }
6209
6286
  }
6210
- function zi({ events: e = [], availability: t, resources: n = [], view: r, defaultView: i = "week", onViewChange: a, views: o = Mi, date: s, defaultDate: c, onDateChange: d, onRangeChange: g, weekStartsOn: y = 1, workWeekDays: b, agendaDays: x = 7, slotMinTime: S = "07:00", slotMaxTime: C = "20:00", slotDuration: w = 15, slotLabelInterval: T = 60, hourHeight: E = 48, timelineHourWidth: D = 96, resourceMinWidth: O = 120, scrollToTime: j, scrollAlign: M = "start", now: N, nowIndicator: P = !0, editLayer: F = "events", readOnly: I = !1, selectable: R, clickCreateDuration: ee = 30, shadeOutsideAvailability: te = !0, onCreate: ne, onEventClick: re, onEventChange: z, onAvailabilityClick: ie, onAvailabilityChange: ae, validate: B, onInvalidChange: oe, onDateClick: se, renderEvent: ce, monthMaxEvents: V, agendaShowAvailability: le = !0, display: ue, narrowView: H = "day", narrowWidth: de = 640, locale: U = "en-GB", timeZone: W, hour12: fe = !1, labels: pe, toolbar: me = !0, toolbarActions: he, loading: ge = !1, className: _e, "aria-label": ve }) {
6211
- let ye = p(() => Xr(W), [W]), { addDays: be, formatLongDate: xe, formatRangeTitle: Se, getVisibleDays: Ce, minutesOfDay: we, shiftDate: Te } = ye, Ee = m(null), De = u(), Oe = Pi(N), ke = Fi(Ee), [Ae, je] = h(i), [Me, Ne] = h(() => c ?? Ni()), Pe = r ?? Ae, Fe = s ?? Me, K = (e) => {
6212
- r === void 0 && je(e), a?.(e);
6213
- }, Ie = (e) => {
6214
- s === void 0 && Ne(e), d?.(e);
6215
- }, Le = ke !== null && ke < de && H !== !1 && xr(Pe) && Pe !== "day" && H ? H : Pe, q = p(() => ({
6216
- ...Ai,
6217
- ...pe,
6287
+ function Bi({ events: e = [], availability: t, resources: n = [], view: r, defaultView: i = "week", onViewChange: a, views: o = Ni, date: s, defaultDate: c, onDateChange: d, onRangeChange: g, weekStartsOn: y = 1, workWeekDays: b, agendaDays: x = 7, slotMinTime: S = "07:00", slotMaxTime: C = "20:00", slotDuration: w = 15, slotLabelInterval: T = 60, sharedTimeAxis: E = !1, hourHeight: D = 48, timelineHourWidth: O = 96, resourceMinWidth: j = 120, scrollToTime: M, scrollAlign: N = "start", now: P, nowIndicator: F = !0, editLayer: I = "events", readOnly: R = !1, selectable: ee, clickCreateDuration: te = 30, shadeOutsideAvailability: ne = !0, onCreate: re, onEventClick: z, onEventChange: ie, onAvailabilityClick: ae, onAvailabilityChange: B, validate: oe, onInvalidChange: se, onDateClick: ce, renderEvent: V, monthMaxEvents: le, agendaShowAvailability: ue = !0, display: H, narrowView: U = "day", narrowWidth: de = 640, locale: W = "en-GB", timeZone: fe, hour12: pe = !1, labels: me, toolbar: he = !0, toolbarActions: ge, loading: _e = !1, className: ve, "aria-label": ye }) {
6288
+ let be = p(() => Xr(fe), [fe]), { addDays: xe, formatLongDate: Se, formatRangeTitle: Ce, getVisibleDays: we, minutesOfDay: Te, shiftDate: Ee } = be, De = m(null), Oe = u(), ke = Fi(P), Ae = Ii(De), [je, Me] = h(i), [Ne, Pe] = h(() => c ?? Pi()), Fe = r ?? je, K = s ?? Ne, Ie = (e) => {
6289
+ r === void 0 && Me(e), a?.(e);
6290
+ }, Le = (e) => {
6291
+ s === void 0 && Pe(e), d?.(e);
6292
+ }, q = Ae !== null && Ae < de && U !== !1 && xr(Fe) && Fe !== "day" && U ? U : Fe, Re = p(() => ({
6293
+ ...ji,
6294
+ ...me,
6218
6295
  views: {
6219
- ...Ai.views,
6220
- ...pe?.views
6296
+ ...ji.views,
6297
+ ...me?.views
6221
6298
  },
6222
6299
  status: {
6223
- ...Ai.status,
6224
- ...pe?.status
6300
+ ...ji.status,
6301
+ ...me?.status
6225
6302
  }
6226
- }), [pe]), Re = p(() => ({
6303
+ }), [me]), ze = p(() => ({
6227
6304
  weekStartsOn: y,
6228
6305
  workWeekDays: b,
6229
6306
  agendaDays: x
@@ -6231,127 +6308,128 @@ function zi({ events: e = [], availability: t, resources: n = [], view: r, defau
6231
6308
  y,
6232
6309
  b,
6233
6310
  x
6234
- ]), ze = Fe.getTime(), J = p(() => Ce(Le, new Date(ze), Re), [
6235
- Le,
6311
+ ]), J = K.getTime(), Be = p(() => we(q, new Date(J), ze), [
6312
+ q,
6313
+ J,
6236
6314
  ze,
6237
- Re,
6238
- Ce
6239
- ]), Be = J[0], Ve = be(J[J.length - 1], 1), He = Be.getTime(), Ue = Ve.getTime(), We = m(g);
6315
+ we
6316
+ ]), Ve = Be[0], He = xe(Be[Be.length - 1], 1), Ue = Ve.getTime(), We = He.getTime(), Ge = m(g);
6240
6317
  f(() => {
6241
- We.current = g;
6318
+ Ge.current = g;
6242
6319
  }), l(() => {
6243
- We.current?.({
6244
- start: new Date(He),
6245
- end: new Date(Ue),
6246
- view: Le
6320
+ Ge.current?.({
6321
+ start: new Date(Ue),
6322
+ end: new Date(We),
6323
+ view: q
6247
6324
  });
6248
6325
  }, [
6249
- He,
6250
6326
  Ue,
6251
- Le
6327
+ We,
6328
+ q
6252
6329
  ]);
6253
- let Ge = p(() => e.filter((e) => Nr(e.start.getTime(), Math.max(e.end.getTime(), e.start.getTime() + 1), He, Ue)), [
6330
+ let Ke = p(() => e.filter((e) => Nr(e.start.getTime(), Math.max(e.end.getTime(), e.start.getTime() + 1), Ue, We)), [
6254
6331
  e,
6255
- He,
6256
- Ue
6257
- ]), Ke = p(() => (t ?? []).filter((e) => Nr(e.start.getTime(), e.end.getTime(), He, Ue)), [
6332
+ Ue,
6333
+ We
6334
+ ]), qe = p(() => (t ?? []).filter((e) => Nr(e.start.getTime(), e.end.getTime(), Ue, We)), [
6258
6335
  t,
6259
- He,
6260
- Ue
6261
- ]), qe = Ri("slotMinTime", S, 0), Je = Ri("slotMaxTime", C, 1440);
6262
- Je <= qe && Li(`slotMaxTime "${C}" must be after slotMinTime "${S}"; showing the whole day.`);
6263
- let Ye = p(() => Je > qe ? {
6264
- min: qe,
6265
- max: Je
6336
+ Ue,
6337
+ We
6338
+ ]), Je = zi("slotMinTime", S, 0), Ye = zi("slotMaxTime", C, 1440);
6339
+ Ye <= Je && Ri(`slotMaxTime "${C}" must be after slotMinTime "${S}"; showing the whole day.`);
6340
+ let Xe = p(() => Ye > Je ? {
6341
+ min: Je,
6342
+ max: Ye
6266
6343
  } : {
6267
6344
  min: 0,
6268
6345
  max: 1440
6269
- }, [qe, Je]), Xe = Math.max(1, Math.round(w)), Y;
6270
- if (j) Y = Ri("scrollToTime", j, Ye.min);
6346
+ }, [Je, Ye]), Y = Math.max(1, Math.round(w)), Ze;
6347
+ if (M) Ze = zi("scrollToTime", M, Xe.min);
6271
6348
  else {
6272
- let e = Ke.filter((e) => (e.kind ?? "available") === "available").map((e) => W ? ye.parts(e.start).hour * 60 + ye.parts(e.start).minute : we(e.start)).filter((e) => e >= Ye.min && e < Ye.max);
6273
- e.length && (Y = Math.min(...e));
6349
+ let e = qe.filter((e) => (e.kind ?? "available") === "available").map((e) => fe ? be.parts(e.start).hour * 60 + be.parts(e.start).minute : Te(e.start)).filter((e) => e >= Xe.min && e < Xe.max);
6350
+ e.length && (Ze = Math.min(...e));
6274
6351
  }
6275
- let Ze = p(() => new Map(n.map((e) => [e.id, e])), [n]), Qe = Se(Le, Fe, {
6276
- ...Re,
6277
- locale: U
6278
- }), $e = {
6279
- locale: U,
6280
- hour12: fe,
6281
- timeZone: W
6282
- }, et = (e) => Ze.get(zr(e)[0] ?? ""), tt = (e) => {
6283
- let t = zr(e).map((e) => Ze.get(e)?.title).filter(Boolean);
6352
+ let Qe = p(() => new Map(n.map((e) => [e.id, e])), [n]), $e = Ce(q, K, {
6353
+ ...ze,
6354
+ locale: W
6355
+ }), et = {
6356
+ locale: W,
6357
+ hour12: pe,
6358
+ timeZone: fe
6359
+ }, tt = (e) => Qe.get(zr(e)[0] ?? ""), nt = (e) => {
6360
+ let t = zr(e).map((e) => Qe.get(e)?.title).filter(Boolean);
6284
6361
  return t.length ? `, ${t.join(", ")}` : "";
6285
- }, nt = (e) => e.status && e.status !== "confirmed" ? q.status[e.status] : void 0, rt = (e) => {
6286
- let t = B?.(e);
6362
+ }, rt = (e) => e.status && e.status !== "confirmed" ? Re.status[e.status] : void 0, it = (e) => {
6363
+ let t = oe?.(e);
6287
6364
  return typeof t == "string" && t ? t : void 0;
6288
- }, it = {
6289
- view: Le,
6290
- dates: ye,
6291
- timeZone: W,
6292
- dayBounds: (e) => ye.dayBounds(e, Ye),
6293
- locale: U,
6294
- hour12: fe,
6365
+ }, X = {
6366
+ view: q,
6367
+ dates: be,
6368
+ timeZone: fe,
6369
+ dayBounds: (e) => be.dayBounds(e, Xe),
6370
+ locale: W,
6371
+ hour12: pe,
6295
6372
  weekStartsOn: y,
6296
- now: Oe,
6297
- nowIndicator: P,
6298
- labels: q,
6299
- itemHelpId: De,
6373
+ now: ke,
6374
+ nowIndicator: F,
6375
+ labels: Re,
6376
+ itemHelpId: Oe,
6300
6377
  resources: n,
6301
- resourceById: Ze,
6302
- step: Xe,
6303
- bounds: Ye,
6304
- hourHeight: E,
6378
+ resourceById: Qe,
6379
+ step: Y,
6380
+ bounds: Xe,
6381
+ hourHeight: D,
6305
6382
  slotLabelInterval: T,
6306
- timelineHourWidth: D,
6307
- resourceMinWidth: O,
6308
- editLayer: F,
6309
- selectable: !I && !!ne && (R ?? !0),
6310
- clickCreateDuration: ee,
6383
+ sharedTimeAxis: E,
6384
+ timelineHourWidth: O,
6385
+ resourceMinWidth: j,
6386
+ editLayer: I,
6387
+ selectable: !R && !!re && (ee ?? !0),
6388
+ clickCreateDuration: te,
6311
6389
  hasAvailability: t !== void 0,
6312
- shadeOutsideAvailability: te,
6313
- monthMaxEvents: V,
6314
- agendaShowAvailability: le,
6390
+ shadeOutsideAvailability: ne,
6391
+ monthMaxEvents: le,
6392
+ agendaShowAvailability: ue,
6315
6393
  display: {
6316
- time: ue?.time ?? !0,
6317
- description: ue?.description ?? !0,
6318
- status: ue?.status ?? !0,
6319
- badge: ue?.badge ?? !0,
6320
- blockLabels: ue?.blockLabels ?? !0,
6321
- availableBlocks: ue?.availableBlocks ?? !0
6394
+ time: H?.time ?? !0,
6395
+ description: H?.description ?? !0,
6396
+ status: H?.status ?? !0,
6397
+ badge: H?.badge ?? !0,
6398
+ blockLabels: H?.blockLabels ?? !0,
6399
+ availableBlocks: H?.availableBlocks ?? !0
6322
6400
  },
6323
- scrollToMinute: Y,
6324
- scrollAlign: M,
6325
- canEditEvent: (e) => !e.placeholder && !I && !!z && F === "events" && (e.editable ?? e.status !== "cancelled"),
6326
- canEditBlock: (e) => !e.placeholder && !I && !!ae && F === "availability" && e.editable !== !1,
6327
- eventColor: (e) => e.color ?? et(e.resourceId)?.color ?? "accent",
6328
- blockColor: (e) => e.color ?? et(e.resourceId)?.color ?? ((e.kind ?? "available") === "available" ? "green" : "gray"),
6329
- statusLabel: nt,
6401
+ scrollToMinute: Ze,
6402
+ scrollAlign: N,
6403
+ canEditEvent: (e) => !e.placeholder && !R && !!ie && I === "events" && (e.editable ?? e.status !== "cancelled"),
6404
+ canEditBlock: (e) => !e.placeholder && !R && !!B && I === "availability" && e.editable !== !1,
6405
+ eventColor: (e) => e.color ?? tt(e.resourceId)?.color ?? "accent",
6406
+ blockColor: (e) => e.color ?? tt(e.resourceId)?.color ?? ((e.kind ?? "available") === "available" ? "green" : "gray"),
6407
+ statusLabel: rt,
6330
6408
  describeEvent: (e) => {
6331
- let t = e.allDay ? `${xe(e.start, U)}, ${q.allDay}` : `${xe(e.start, U)}, ${kr(e.start, e.end, $e)}`, n = nt(e);
6409
+ let t = e.allDay ? `${Se(e.start, W)}, ${Re.allDay}` : `${Se(e.start, W)}, ${kr(e.start, e.end, et)}`, n = rt(e);
6332
6410
  return [
6333
6411
  e.title,
6334
6412
  t,
6335
6413
  n,
6336
6414
  e.badge,
6337
6415
  e.description
6338
- ].filter(Boolean).join(", ").concat(tt(e.resourceId));
6416
+ ].filter(Boolean).join(", ").concat(nt(e.resourceId));
6339
6417
  },
6340
6418
  describeBlock: (e) => [
6341
- (e.kind ?? "available") === "available" ? q.available : q.unavailable,
6419
+ (e.kind ?? "available") === "available" ? Re.available : Re.unavailable,
6342
6420
  e.label,
6343
- `${xe(e.start, U)}, ${kr(e.start, e.end, $e)}`
6344
- ].filter(Boolean).join(", ").concat(tt(e.resourceId)),
6345
- renderEvent: ce,
6346
- hasEventClick: !!re,
6347
- hasBlockClick: !!ie,
6348
- clickEvent: (e) => re?.(e),
6349
- clickBlock: (e) => ie?.(e),
6350
- check: rt,
6421
+ `${Se(e.start, W)}, ${kr(e.start, e.end, et)}`
6422
+ ].filter(Boolean).join(", ").concat(nt(e.resourceId)),
6423
+ renderEvent: V,
6424
+ hasEventClick: !!z,
6425
+ hasBlockClick: !!ae,
6426
+ clickEvent: (e) => z?.(e),
6427
+ clickBlock: (e) => ae?.(e),
6428
+ check: it,
6351
6429
  commit: (e, t) => {
6352
- let n = rt(e);
6353
- if (n) return oe?.(e, n), !1;
6354
- if (e.target === "selection") ne?.({
6430
+ let n = it(e);
6431
+ if (n) return se?.(e, n), !1;
6432
+ if (e.target === "selection") re?.({
6355
6433
  start: e.start,
6356
6434
  end: e.end,
6357
6435
  allDay: e.allDay,
@@ -6363,72 +6441,78 @@ function zi({ events: e = [], availability: t, resources: n = [], view: r, defau
6363
6441
  ...e,
6364
6442
  source: t
6365
6443
  };
6366
- delete n.target, e.target === "event" ? z?.(n) : ae?.(n);
6444
+ delete n.target, e.target === "event" ? ie?.(n) : B?.(n);
6367
6445
  }
6368
6446
  return !0;
6369
6447
  },
6370
6448
  openDay: (e) => {
6371
- if (se) {
6372
- se(e);
6449
+ if (ce) {
6450
+ ce(e);
6373
6451
  return;
6374
6452
  }
6375
- Ie(e), Le !== "day" && Le !== "timeline" && K("day");
6453
+ Le(e), q !== "day" && q !== "timeline" && Ie("day");
6376
6454
  }
6377
- }, X = o.map((e) => ({
6455
+ }, at = o.map((e) => ({
6378
6456
  value: e,
6379
- label: q.views[e]
6380
- })), at = ve ?? Qe, ot = JSON.stringify([
6381
- W,
6382
- J.map((e) => e.getTime()),
6383
- Ye.min,
6384
- Ye.max,
6385
- Xe,
6457
+ label: Re.views[e]
6458
+ })), ot = ye ?? $e, st = JSON.stringify([
6459
+ fe,
6460
+ Be.map((e) => e.getTime()),
6461
+ Xe.min,
6462
+ Xe.max,
6463
+ Y,
6386
6464
  n.map((e) => e.id)
6387
- ]), st;
6388
- return st = Le === "month" ? /* @__PURE__ */ _(ai, {
6389
- date: Fe,
6390
- events: Ge,
6391
- availability: Ke,
6392
- label: at
6393
- }, W) : Le === "agenda" ? /* @__PURE__ */ _($r, {
6394
- days: J,
6395
- events: Ge.filter((e) => !e.placeholder),
6396
- availability: Ke.filter((e) => !e.placeholder),
6397
- label: at
6398
- }, W) : Le === "timeline" ? /* @__PURE__ */ _(ki, {
6399
- day: J[0],
6400
- events: Ge,
6401
- availability: Ke,
6402
- label: at
6403
- }, ot) : /* @__PURE__ */ _(Si, {
6404
- days: J,
6405
- events: Ge,
6406
- availability: Ke,
6407
- label: at
6408
- }, ot), /* @__PURE__ */ _(Zr.Provider, {
6409
- value: it,
6465
+ ]), ct;
6466
+ return ct = q === "month" ? /* @__PURE__ */ _(oi, {
6467
+ date: K,
6468
+ events: Ke,
6469
+ availability: qe,
6470
+ label: ot
6471
+ }, fe) : q === "agenda" ? /* @__PURE__ */ _(ei, {
6472
+ days: Be,
6473
+ events: Ke.filter((e) => !e.placeholder),
6474
+ availability: qe.filter((e) => !e.placeholder),
6475
+ label: ot
6476
+ }, fe) : q === "timeline" ? /* @__PURE__ */ _(Ai, {
6477
+ day: Be[0],
6478
+ events: Ke,
6479
+ availability: qe,
6480
+ label: ot
6481
+ }, st) : /* @__PURE__ */ _(Ci, {
6482
+ days: Be,
6483
+ events: Ke,
6484
+ availability: qe,
6485
+ label: ot
6486
+ }, st), /* @__PURE__ */ _(Qr.Provider, {
6487
+ value: X,
6410
6488
  children: /* @__PURE__ */ v("div", {
6411
- ref: Ee,
6412
- "data-time-zone": W,
6489
+ ref: De,
6490
+ "data-time-zone": fe,
6491
+ "data-shared-axis": E && fe && [
6492
+ "day",
6493
+ "threeDay",
6494
+ "workWeek",
6495
+ "week"
6496
+ ].includes(q) ? !0 : void 0,
6413
6497
  role: "region",
6414
- "aria-label": ve ?? Qe,
6415
- "aria-busy": ge || void 0,
6416
- className: G("ui-cal relative flex h-full min-h-0 flex-col overflow-hidden", _e),
6498
+ "aria-label": ye ?? $e,
6499
+ "aria-busy": _e || void 0,
6500
+ className: G("ui-cal relative flex h-full min-h-0 flex-col overflow-hidden", ve),
6417
6501
  children: [
6418
6502
  /* @__PURE__ */ _("span", {
6419
- id: De,
6503
+ id: Oe,
6420
6504
  className: "sr-only",
6421
- children: q.itemHelp
6505
+ children: Re.itemHelp
6422
6506
  }),
6423
- me && /* @__PURE__ */ v("div", {
6507
+ he && /* @__PURE__ */ v("div", {
6424
6508
  className: "ui-cal-noprint border-border flex flex-wrap items-center justify-between gap-2 border-b px-3 py-2",
6425
6509
  children: [/* @__PURE__ */ v("div", {
6426
6510
  className: "flex min-w-0 items-center gap-2",
6427
6511
  children: [
6428
6512
  /* @__PURE__ */ _(fn, {
6429
6513
  size: "sm",
6430
- onClick: () => Ie(Oe),
6431
- children: q.today
6514
+ onClick: () => Le(ke),
6515
+ children: Re.today
6432
6516
  }),
6433
6517
  /* @__PURE__ */ v("div", {
6434
6518
  className: "flex items-center",
@@ -6436,45 +6520,45 @@ function zi({ events: e = [], availability: t, resources: n = [], view: r, defau
6436
6520
  variant: "icon",
6437
6521
  size: "sm",
6438
6522
  icon: k,
6439
- "aria-label": q.previous,
6440
- onClick: () => Ie(Te(Le, Fe, -1, Re))
6523
+ "aria-label": Re.previous,
6524
+ onClick: () => Le(Ee(q, K, -1, ze))
6441
6525
  }), /* @__PURE__ */ _(fn, {
6442
6526
  variant: "icon",
6443
6527
  size: "sm",
6444
6528
  icon: A,
6445
- "aria-label": q.next,
6446
- onClick: () => Ie(Te(Le, Fe, 1, Re))
6529
+ "aria-label": Re.next,
6530
+ onClick: () => Le(Ee(q, K, 1, ze))
6447
6531
  })]
6448
6532
  }),
6449
6533
  /* @__PURE__ */ _("h2", {
6450
6534
  className: "text-text-primary truncate text-sm font-semibold",
6451
6535
  "aria-live": "polite",
6452
- children: Qe
6536
+ children: $e
6453
6537
  })
6454
6538
  ]
6455
6539
  }), /* @__PURE__ */ v("div", {
6456
6540
  className: "flex items-center gap-1.5",
6457
- children: [he, o.length > 1 && (ke === null || ke >= o.length * 80 + 420 ? /* @__PURE__ */ _(ji, {
6458
- "aria-label": q.view,
6459
- options: X,
6460
- value: Pe,
6461
- onChange: K
6541
+ children: [ge, o.length > 1 && (Ae === null || Ae >= o.length * 80 + 420 ? /* @__PURE__ */ _(Mi, {
6542
+ "aria-label": Re.view,
6543
+ options: at,
6544
+ value: Fe,
6545
+ onChange: Ie
6462
6546
  }) : /* @__PURE__ */ _(xn, {
6463
6547
  className: "w-28",
6464
6548
  size: "sm",
6465
- options: X,
6466
- value: Pe,
6467
- onChange: (e) => K(e)
6549
+ options: at,
6550
+ value: Fe,
6551
+ onChange: (e) => Ie(e)
6468
6552
  }))]
6469
6553
  })]
6470
6554
  }),
6471
- st,
6472
- ge && /* @__PURE__ */ v("div", {
6555
+ ct,
6556
+ _e && /* @__PURE__ */ v("div", {
6473
6557
  className: "ui-cal-loading",
6474
6558
  role: "status",
6475
6559
  children: [/* @__PURE__ */ _(L, { className: "text-accent h-6 w-6 animate-spin" }), /* @__PURE__ */ _("span", {
6476
6560
  className: "sr-only",
6477
- children: q.loading
6561
+ children: Re.loading
6478
6562
  })]
6479
6563
  })
6480
6564
  ]
@@ -6483,7 +6567,7 @@ function zi({ events: e = [], availability: t, resources: n = [], view: r, defau
6483
6567
  }
6484
6568
  //#endregion
6485
6569
  //#region src/components/ui/CalendarGrid.tsx
6486
- var Bi = [
6570
+ var Vi = [
6487
6571
  "Mo",
6488
6572
  "Tu",
6489
6573
  "We",
@@ -6491,7 +6575,7 @@ var Bi = [
6491
6575
  "Fr",
6492
6576
  "Sa",
6493
6577
  "Su"
6494
- ], Vi = [
6578
+ ], Hi = [
6495
6579
  "January",
6496
6580
  "February",
6497
6581
  "March",
@@ -6505,24 +6589,24 @@ var Bi = [
6505
6589
  "November",
6506
6590
  "December"
6507
6591
  ];
6508
- function Hi(e, t, n) {
6592
+ function Ui(e, t, n) {
6509
6593
  let r = Z(e, n), i = Z(t, n);
6510
6594
  return r.year === i.year && r.month === i.month && r.day === i.day;
6511
6595
  }
6512
- function Ui(e, t, n) {
6596
+ function Wi(e, t, n) {
6513
6597
  if (!t || !n) return !1;
6514
6598
  let r = e.getTime(), i = Math.min(t.getTime(), n.getTime()), a = Math.max(t.getTime(), n.getTime());
6515
6599
  return r > i && r < a;
6516
6600
  }
6517
- function Wi(e, t) {
6601
+ function Gi(e, t) {
6518
6602
  return new Date(e, t + 1, 0).getDate();
6519
6603
  }
6520
- function Gi(e, t) {
6604
+ function Ki(e, t) {
6521
6605
  let n = new Date(e, t, 1).getDay();
6522
6606
  return n === 0 ? 6 : n - 1;
6523
6607
  }
6524
- function Ki({ year: e, month: t, timeZone: n, selected: r, rangeStart: i, rangeEnd: a, hoverDate: o, onSelect: s, onMonthChange: c, onHover: l, minDate: u, maxDate: d }) {
6525
- let f = Wi(e, t), p = Gi(e, t), g = /* @__PURE__ */ new Date(), y = m(null), [b, x] = h(null);
6608
+ function qi({ year: e, month: t, timeZone: n, selected: r, rangeStart: i, rangeEnd: a, hoverDate: o, onSelect: s, onMonthChange: c, onHover: l, minDate: u, maxDate: d }) {
6609
+ let f = Gi(e, t), p = Ki(e, t), g = /* @__PURE__ */ new Date(), y = m(null), [b, x] = h(null);
6526
6610
  function S() {
6527
6611
  return b !== null && b >= 1 && b <= f ? b : r && Z(r, n).year === e && Z(r, n).month - 1 === t ? Z(r, n).day : i && Z(i, n).year === e && Z(i, n).month - 1 === t ? Z(i, n).day : Z(g, n).year === e && Z(g, n).month - 1 === t ? Z(g, n).day : 1;
6528
6612
  }
@@ -6574,7 +6658,7 @@ function Ki({ year: e, month: t, timeZone: n, selected: r, rangeStart: i, rangeE
6574
6658
  className: "text-text-primary text-xs font-semibold",
6575
6659
  "aria-live": "polite",
6576
6660
  children: [
6577
- Vi[t],
6661
+ Hi[t],
6578
6662
  " ",
6579
6663
  e
6580
6664
  ]
@@ -6589,7 +6673,7 @@ function Ki({ year: e, month: t, timeZone: n, selected: r, rangeStart: i, rangeE
6589
6673
  ]
6590
6674
  }), /* @__PURE__ */ v("div", {
6591
6675
  className: "grid grid-cols-7 gap-0",
6592
- children: [Bi.map((e) => /* @__PURE__ */ _("div", {
6676
+ children: [Vi.map((e) => /* @__PURE__ */ _("div", {
6593
6677
  className: "text-text-tertiary text-2xs flex h-8 items-center justify-center font-medium",
6594
6678
  children: e
6595
6679
  }, e)), D.map((c, f) => {
@@ -6602,13 +6686,13 @@ function Ki({ year: e, month: t, timeZone: n, selected: r, rangeStart: i, rangeE
6602
6686
  minute: 0,
6603
6687
  second: 0,
6604
6688
  millisecond: 0
6605
- }, n), m = Hi(p, g, n), h = r ? Hi(p, r, n) : !1, v = i ? Hi(p, i, n) : !1, y = a ? Hi(p, a, n) : !1, b = Ui(p, i ?? null, a ?? o ?? null), x = u && p < u || d && p > d;
6689
+ }, n), m = Ui(p, g, n), h = r ? Ui(p, r, n) : !1, v = i ? Ui(p, i, n) : !1, y = a ? Ui(p, a, n) : !1, b = Wi(p, i ?? null, a ?? o ?? null), x = u && p < u || d && p > d;
6606
6690
  return /* @__PURE__ */ _("button", {
6607
6691
  type: "button",
6608
6692
  "data-day": c,
6609
6693
  disabled: !!x,
6610
6694
  tabIndex: c === C ? 0 : -1,
6611
- "aria-label": `${Vi[t]} ${c}, ${e}`,
6695
+ "aria-label": `${Hi[t]} ${c}, ${e}`,
6612
6696
  "aria-current": m ? "date" : void 0,
6613
6697
  onClick: () => s(p),
6614
6698
  onKeyDown: (e) => w(e, c),
@@ -6623,7 +6707,7 @@ function Ki({ year: e, month: t, timeZone: n, selected: r, rangeStart: i, rangeE
6623
6707
  }
6624
6708
  //#endregion
6625
6709
  //#region src/components/ui/Card.tsx
6626
- function qi({ children: e, className: t, header: n, footer: r, as: i = "div", flush: a = !1, bodyClassName: o, ...s }) {
6710
+ function Ji({ children: e, className: t, header: n, footer: r, as: i = "div", flush: a = !1, bodyClassName: o, ...s }) {
6627
6711
  let c = an();
6628
6712
  return /* @__PURE__ */ v(i, {
6629
6713
  ...s,
@@ -6648,16 +6732,16 @@ function qi({ children: e, className: t, header: n, footer: r, as: i = "div", fl
6648
6732
  }
6649
6733
  //#endregion
6650
6734
  //#region src/lib/codeInput.ts
6651
- function Ji(e, t) {
6735
+ function Yi(e, t) {
6652
6736
  let n = e.replace(/\D/g, "").slice(0, t);
6653
6737
  return Array.from({ length: t }, (e, t) => n[t] ?? "");
6654
6738
  }
6655
- function Yi(e, t, n) {
6739
+ function Xi(e, t, n) {
6656
6740
  if (!t || e.length <= t.length) return e;
6657
6741
  let r = e.length - t.length, i = n ?? e.length;
6658
6742
  return i - r >= 0 ? e.slice(i - r, i) : e.slice(-r);
6659
6743
  }
6660
- function Xi(e, t, n) {
6744
+ function Zi(e, t, n) {
6661
6745
  let r = e.length, i = n.match(RegExp(`(?<!\\d)\\d{${r}}(?!\\d)`));
6662
6746
  if (i) return {
6663
6747
  slots: i[0].split(""),
@@ -6677,7 +6761,7 @@ function Xi(e, t, n) {
6677
6761
  focus: Math.min(t + a.length, r - 1)
6678
6762
  };
6679
6763
  }
6680
- function Zi(e, t, n, r) {
6764
+ function Qi(e, t, n, r) {
6681
6765
  if (n === "") {
6682
6766
  let n = [...e];
6683
6767
  return n[t] = "", {
@@ -6685,9 +6769,9 @@ function Zi(e, t, n, r) {
6685
6769
  focus: t
6686
6770
  };
6687
6771
  }
6688
- return Xi(e, t, Yi(n, e[t], r));
6772
+ return Zi(e, t, Xi(n, e[t], r));
6689
6773
  }
6690
- function Qi(e, t) {
6774
+ function $i(e, t) {
6691
6775
  let n = e[t] ? t : t - 1;
6692
6776
  if (n < 0) return null;
6693
6777
  let r = [...e];
@@ -6698,15 +6782,15 @@ function Qi(e, t) {
6698
6782
  }
6699
6783
  //#endregion
6700
6784
  //#region src/components/ui/CodeInput.tsx
6701
- function $i({ value: e, onChange: t, onComplete: n, length: r = 6, error: i, invalid: a, disabled: o, autoFocus: s, name: c, "aria-label": l = "Verification code", className: d }) {
6702
- let f = m([]), p = u(), g = a || !!i, [y, b] = h(() => Ji(e, r)), [x, S] = h({
6785
+ function ea({ value: e, onChange: t, onComplete: n, length: r = 6, error: i, invalid: a, disabled: o, autoFocus: s, name: c, "aria-label": l = "Verification code", className: d }) {
6786
+ let f = m([]), p = u(), g = a || !!i, [y, b] = h(() => Yi(e, r)), [x, S] = h({
6703
6787
  value: e,
6704
6788
  length: r
6705
6789
  });
6706
6790
  (x.value !== e || x.length !== r) && (S({
6707
6791
  value: e,
6708
6792
  length: r
6709
- }), (y.length !== r || y.join("") !== e) && b(Ji(e, r)));
6793
+ }), (y.length !== r || y.join("") !== e) && b(Yi(e, r)));
6710
6794
  function C(e) {
6711
6795
  let t = f.current[Math.max(0, Math.min(e, r - 1))];
6712
6796
  t?.focus(), t?.select();
@@ -6718,7 +6802,7 @@ function $i({ value: e, onChange: t, onComplete: n, length: r = 6, error: i, inv
6718
6802
  t(r), e.slots.every(Boolean) && n?.(r), C(e.focus);
6719
6803
  }
6720
6804
  function T(e, t) {
6721
- t.key === "Backspace" ? (t.preventDefault(), w(Qi(y, e))) : t.key === "ArrowLeft" ? (t.preventDefault(), C(e - 1)) : t.key === "ArrowRight" && (t.preventDefault(), C(e + 1));
6805
+ t.key === "Backspace" ? (t.preventDefault(), w($i(y, e))) : t.key === "ArrowLeft" ? (t.preventDefault(), C(e - 1)) : t.key === "ArrowRight" && (t.preventDefault(), C(e + 1));
6722
6806
  }
6723
6807
  return /* @__PURE__ */ v("div", {
6724
6808
  className: G("flex flex-col gap-1.5", d),
@@ -6741,10 +6825,10 @@ function $i({ value: e, onChange: t, onComplete: n, length: r = 6, error: i, inv
6741
6825
  "aria-describedby": i ? p : void 0,
6742
6826
  value: e,
6743
6827
  onFocus: (e) => e.target.select(),
6744
- onChange: (e) => w(Zi(y, t, e.target.value, e.target.selectionStart)),
6828
+ onChange: (e) => w(Qi(y, t, e.target.value, e.target.selectionStart)),
6745
6829
  onKeyDown: (e) => T(t, e),
6746
6830
  onPaste: (e) => {
6747
- e.preventDefault(), w(Xi(y, t, e.clipboardData.getData("text")));
6831
+ e.preventDefault(), w(Zi(y, t, e.clipboardData.getData("text")));
6748
6832
  },
6749
6833
  className: G("bg-bg-secondary text-text-primary h-10 w-10 rounded-md border text-center font-mono text-sm", "transition-colors duration-[100ms]", "focus:border-accent focus:outline-none", "disabled:cursor-not-allowed disabled:opacity-40", g ? "border-red" : "border-border")
6750
6834
  }, t))
@@ -6766,8 +6850,8 @@ function $i({ value: e, onChange: t, onComplete: n, length: r = 6, error: i, inv
6766
6850
  }
6767
6851
  //#endregion
6768
6852
  //#region src/components/ui/Combobox.tsx
6769
- function ea({ options: e, value: t, onChange: n, onOptionChange: r, placeholder: i = "Select...", label: a, className: o, controlSize: c, id: l, name: d, disabled: f, "aria-label": p, "aria-describedby": g, "aria-invalid": y, query: b, onQueryChange: x, filterOptions: S = !0, selectedOption: C, renderOption: w, loading: T = !1, loadingMessage: D = "Loading results…", error: k, onRetry: A, emptyMessage: j = "No results", footer: M }) {
6770
- let N = an(c), [P, F] = h(!1), [I, L] = h(""), [R, ee] = h(0), [te, ne] = h(() => e.find((e) => e.value === t)), re = m(null), z = m(null), ie = m(null), ae = u(), oe = l ?? `${ae}-search`, se = `${ae}-label`, ce = `${ae}-selected`, V = `${ae}-listbox`, le = b ?? I, ue = e.find((e) => e.value === t) ?? (C?.value === t ? C : void 0) ?? (te?.value === t ? te : void 0), H = S ? e.filter((e) => e.label.toLowerCase().includes(le.toLowerCase())) : e, de = Math.min(R, Math.max(H.length - 1, 0)), U = H[de], W = P && !f;
6853
+ function ta({ options: e, value: t, onChange: n, onOptionChange: r, placeholder: i = "Select...", label: a, className: o, controlSize: c, id: l, name: d, disabled: f, "aria-label": p, "aria-describedby": g, "aria-invalid": y, query: b, onQueryChange: x, filterOptions: S = !0, selectedOption: C, renderOption: w, loading: T = !1, loadingMessage: D = "Loading results…", error: k, onRetry: A, emptyMessage: j = "No results", footer: M }) {
6854
+ let N = an(c), [P, F] = h(!1), [I, L] = h(""), [R, ee] = h(0), [te, ne] = h(() => e.find((e) => e.value === t)), re = m(null), z = m(null), ie = m(null), ae = u(), oe = l ?? `${ae}-search`, se = `${ae}-label`, ce = `${ae}-selected`, V = `${ae}-listbox`, le = b ?? I, ue = e.find((e) => e.value === t) ?? (C?.value === t ? C : void 0) ?? (te?.value === t ? te : void 0), H = S ? e.filter((e) => e.label.toLowerCase().includes(le.toLowerCase())) : e, U = Math.min(R, Math.max(H.length - 1, 0)), de = H[U], W = P && !f;
6771
6855
  function fe(e) {
6772
6856
  b === void 0 && L(e), x?.(e), ee(0);
6773
6857
  }
@@ -6782,10 +6866,10 @@ function ea({ options: e, value: t, onChange: n, onOptionChange: r, placeholder:
6782
6866
  "End"
6783
6867
  ].includes(e.key)) {
6784
6868
  e.preventDefault();
6785
- let t = e.key === "ArrowUp" || e.key === "End" ? -1 : 1, n = e.key === "Home" ? 0 : e.key === "End" ? H.length - 1 : de + t;
6869
+ let t = e.key === "ArrowUp" || e.key === "End" ? -1 : 1, n = e.key === "Home" ? 0 : e.key === "End" ? H.length - 1 : U + t;
6786
6870
  for (; n >= 0 && n < H.length && H[n].disabled;) n += t;
6787
6871
  n >= 0 && n < H.length && ee(n);
6788
- } else e.key === "Enter" ? (e.preventDefault(), U && pe(U)) : e.key === "Escape" && (e.preventDefault(), e.stopPropagation(), F(!1), z.current?.focus());
6872
+ } else e.key === "Enter" ? (e.preventDefault(), de && pe(de)) : e.key === "Escape" && (e.preventDefault(), e.stopPropagation(), F(!1), z.current?.focus());
6789
6873
  }
6790
6874
  jt(W, s(() => F(!1), []), [re]);
6791
6875
  function he() {
@@ -6861,7 +6945,7 @@ function ea({ options: e, value: t, onChange: n, onOptionChange: r, placeholder:
6861
6945
  "aria-label": p ?? (a ? `Search ${a}` : "Search options"),
6862
6946
  "aria-expanded": "true",
6863
6947
  "aria-controls": V,
6864
- "aria-activedescendant": U && !U.disabled ? `${V}-${de}` : void 0,
6948
+ "aria-activedescendant": de && !de.disabled ? `${V}-${U}` : void 0,
6865
6949
  "aria-autocomplete": "list",
6866
6950
  "aria-describedby": g,
6867
6951
  "aria-invalid": y,
@@ -6903,7 +6987,7 @@ function ea({ options: e, value: t, onChange: n, onOptionChange: r, placeholder:
6903
6987
  onMouseEnter: () => {
6904
6988
  e.disabled || ee(n);
6905
6989
  },
6906
- className: G("font-control flex w-full items-center gap-2 px-3 py-1.5 text-xs", "transition-colors duration-[100ms]", e.disabled ? "text-text-disabled cursor-not-allowed" : "cursor-pointer", !e.disabled && (n === de ? "bg-accent-muted text-accent" : e.value === t ? "text-accent" : "text-text-secondary hover:text-text-primary hover:bg-bg-hover")),
6990
+ className: G("font-control flex w-full items-center gap-2 px-3 py-1.5 text-xs", "transition-colors duration-[100ms]", e.disabled ? "text-text-disabled cursor-not-allowed" : "cursor-pointer", !e.disabled && (n === U ? "bg-accent-muted text-accent" : e.value === t ? "text-accent" : "text-text-secondary hover:text-text-primary hover:bg-bg-hover")),
6907
6991
  children: [/* @__PURE__ */ _("span", {
6908
6992
  className: "flex-1",
6909
6993
  children: w ? w(e) : e.label
@@ -6931,7 +7015,7 @@ function ea({ options: e, value: t, onChange: n, onOptionChange: r, placeholder:
6931
7015
  }
6932
7016
  //#endregion
6933
7017
  //#region src/components/ui/DangerZone.tsx
6934
- function ta({ title: e = "Danger Zone", description: t, children: n, className: r }) {
7018
+ function na({ title: e = "Danger Zone", description: t, children: n, className: r }) {
6935
7019
  return /* @__PURE__ */ v("div", {
6936
7020
  className: G("border-border mt-8 border-t pt-6", r),
6937
7021
  children: [
@@ -6949,7 +7033,7 @@ function ta({ title: e = "Danger Zone", description: t, children: n, className:
6949
7033
  }
6950
7034
  //#endregion
6951
7035
  //#region src/components/ui/DatePicker.tsx
6952
- function na(e) {
7036
+ function ra(e) {
6953
7037
  return `${[
6954
7038
  "Jan",
6955
7039
  "Feb",
@@ -6965,7 +7049,7 @@ function na(e) {
6965
7049
  "Dec"
6966
7050
  ][e.getMonth()]} ${e.getDate()}, ${e.getFullYear()}`;
6967
7051
  }
6968
- function ra({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, placeholder: a = "Select date...", format: o }) {
7052
+ function ia({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, placeholder: a = "Select date...", format: o }) {
6969
7053
  let c = an(e), [l, u] = h(!1), d = m(null), f = m(null), p = bn(l, d, f), g = Z(r ?? /* @__PURE__ */ new Date(), n), [y, b] = h(g.year), [x, S] = h(g.month - 1);
6970
7054
  jt(l, s(() => u(!1), []), [d]);
6971
7055
  function C(e) {
@@ -6995,7 +7079,7 @@ function ra({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, plac
6995
7079
  day: "numeric",
6996
7080
  month: "short",
6997
7081
  year: "numeric"
6998
- }).format(r) : na(r) : /* @__PURE__ */ _("span", {
7082
+ }).format(r) : ra(r) : /* @__PURE__ */ _("span", {
6999
7083
  className: "text-text-disabled",
7000
7084
  children: a
7001
7085
  })
@@ -7006,7 +7090,7 @@ function ra({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, plac
7006
7090
  role: "dialog",
7007
7091
  "aria-label": "Choose date",
7008
7092
  className: G("bg-bg-tertiary border-border-strong animate-scale-in absolute left-0 z-[100] rounded-md border p-3 shadow-lg", p ? "bottom-full mb-1" : "top-full mt-1"),
7009
- children: /* @__PURE__ */ _(Ki, {
7093
+ children: /* @__PURE__ */ _(qi, {
7010
7094
  timeZone: n,
7011
7095
  year: y,
7012
7096
  month: x,
@@ -7023,7 +7107,7 @@ function ra({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, plac
7023
7107
  }
7024
7108
  //#endregion
7025
7109
  //#region src/components/ui/DateRangePicker.tsx
7026
- var ia = [
7110
+ var aa = [
7027
7111
  "Jan",
7028
7112
  "Feb",
7029
7113
  "Mar",
@@ -7037,13 +7121,13 @@ var ia = [
7037
7121
  "Nov",
7038
7122
  "Dec"
7039
7123
  ];
7040
- function aa(e) {
7041
- return `${ia[e.getMonth()]} ${e.getDate()}, ${e.getFullYear()}`;
7042
- }
7043
7124
  function oa(e) {
7044
- return e.start && e.end ? `${aa(e.start)} – ${aa(e.end)}` : e.start ? aa(e.start) : "";
7125
+ return `${aa[e.getMonth()]} ${e.getDate()}, ${e.getFullYear()}`;
7126
+ }
7127
+ function sa(e) {
7128
+ return e.start && e.end ? `${oa(e.start)} – ${oa(e.end)}` : e.start ? oa(e.start) : "";
7045
7129
  }
7046
- function sa({ controlSize: e, label: t, value: n, onChange: r, placeholder: i = "Select date range..." }) {
7130
+ function ca({ controlSize: e, label: t, value: n, onChange: r, placeholder: i = "Select date range..." }) {
7047
7131
  let a = an(e), [o, c] = h(!1), l = m(null), u = m(null), d = bn(o, l, u), f = /* @__PURE__ */ new Date(), [p, g] = h(n.start?.getFullYear() ?? f.getFullYear()), [y, b] = h(n.start?.getMonth() ?? f.getMonth()), [x, S] = h(null), [C, w] = h("start"), [E, D] = h(n.start), [O, k] = h(n.end);
7048
7132
  jt(o, s(() => c(!1), []), [l]);
7049
7133
  let A = y === 11 ? p + 1 : p, j = y === 11 ? 0 : y + 1;
@@ -7062,7 +7146,7 @@ function sa({ controlSize: e, label: t, value: n, onChange: r, placeholder: i =
7062
7146
  function F() {
7063
7147
  y === 11 ? (g(p + 1), b(0)) : b(y + 1);
7064
7148
  }
7065
- let I = n.start || n.end ? oa(n) : "";
7149
+ let I = n.start || n.end ? sa(n) : "";
7066
7150
  return /* @__PURE__ */ v("div", {
7067
7151
  className: "flex flex-col gap-1.5",
7068
7152
  ref: l,
@@ -7121,7 +7205,7 @@ function sa({ controlSize: e, label: t, value: n, onChange: r, placeholder: i =
7121
7205
  ]
7122
7206
  }), /* @__PURE__ */ v("div", {
7123
7207
  className: "flex gap-4",
7124
- children: [/* @__PURE__ */ _(Ki, {
7208
+ children: [/* @__PURE__ */ _(qi, {
7125
7209
  year: p,
7126
7210
  month: y,
7127
7211
  rangeStart: E,
@@ -7132,7 +7216,7 @@ function sa({ controlSize: e, label: t, value: n, onChange: r, placeholder: i =
7132
7216
  g(e), b(t);
7133
7217
  },
7134
7218
  onHover: S
7135
- }), /* @__PURE__ */ _(Ki, {
7219
+ }), /* @__PURE__ */ _(qi, {
7136
7220
  year: A,
7137
7221
  month: j,
7138
7222
  rangeStart: E,
@@ -7152,7 +7236,7 @@ function sa({ controlSize: e, label: t, value: n, onChange: r, placeholder: i =
7152
7236
  }
7153
7237
  //#endregion
7154
7238
  //#region src/components/ui/DateTimePicker.tsx
7155
- var ca = [
7239
+ var la = [
7156
7240
  "Jan",
7157
7241
  "Feb",
7158
7242
  "Mar",
@@ -7166,7 +7250,7 @@ var ca = [
7166
7250
  "Nov",
7167
7251
  "Dec"
7168
7252
  ];
7169
- function la(e) {
7253
+ function ua(e) {
7170
7254
  return e === 0 ? {
7171
7255
  hour12: 12,
7172
7256
  period: "AM"
@@ -7181,10 +7265,10 @@ function la(e) {
7181
7265
  period: "PM"
7182
7266
  };
7183
7267
  }
7184
- function ua(e, t) {
7268
+ function da(e, t) {
7185
7269
  return t === "AM" ? e === 12 ? 0 : e : e === 12 ? 12 : e + 12;
7186
7270
  }
7187
- function da(e, t) {
7271
+ function fa(e, t) {
7188
7272
  if (t) return new Intl.DateTimeFormat("en-GB", {
7189
7273
  timeZone: t,
7190
7274
  day: "numeric",
@@ -7195,20 +7279,20 @@ function da(e, t) {
7195
7279
  timeZoneName: "short",
7196
7280
  hourCycle: "h23"
7197
7281
  }).format(e);
7198
- let n = ca[e.getMonth()], r = e.getDate(), i = e.getFullYear(), { hour12: a, period: o } = la(e.getHours());
7282
+ let n = la[e.getMonth()], r = e.getDate(), i = e.getFullYear(), { hour12: a, period: o } = ua(e.getHours());
7199
7283
  return `${n} ${r}, ${i} ${a}:${String(e.getMinutes()).padStart(2, "0")} ${o}`;
7200
7284
  }
7201
- function fa(e) {
7285
+ function pa(e) {
7202
7286
  return String(e).padStart(2, "0");
7203
7287
  }
7204
- function pa(e) {
7205
- return /* @__PURE__ */ _(ma, { ...e }, e.timeZone ?? "browser-local");
7288
+ function ma(e) {
7289
+ return /* @__PURE__ */ _(ha, { ...e }, e.timeZone ?? "browser-local");
7206
7290
  }
7207
- function ma({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, placeholder: a = "Select date & time..." }) {
7208
- let o = an(e), [c, l] = h(!1), [d, f] = h(null), [p, g] = h(!1), [y, b] = h("reject"), x = u(), S = m(null), C = m(null), w = bn(c, S, C), E = Z(r ?? /* @__PURE__ */ new Date(), n), D = r ? la(Z(r, n).hour) : {
7291
+ function ha({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, placeholder: a = "Select date & time..." }) {
7292
+ let o = an(e), [c, l] = h(!1), [d, f] = h(null), [p, g] = h(!1), [y, b] = h("reject"), x = u(), S = m(null), C = m(null), w = bn(c, S, C), E = Z(r ?? /* @__PURE__ */ new Date(), n), D = r ? ua(Z(r, n).hour) : {
7209
7293
  hour12: 12,
7210
7294
  period: "PM"
7211
- }, [O, k] = h(E.year), [A, j] = h(E.month - 1), [M, N] = h(String(D.hour12)), [P, F] = h(r ? fa(Z(r, n).minute) : "00"), [I, L] = h(D.period), [R, ee] = h(r);
7295
+ }, [O, k] = h(E.year), [A, j] = h(E.month - 1), [M, N] = h(String(D.hour12)), [P, F] = h(r ? pa(Z(r, n).minute) : "00"), [I, L] = h(D.period), [R, ee] = h(r);
7212
7296
  jt(c, s(() => l(!1), []), [S]);
7213
7297
  function te(e) {
7214
7298
  ee(e);
@@ -7221,7 +7305,7 @@ function ma({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, plac
7221
7305
  }
7222
7306
  function re() {
7223
7307
  if (!R) return;
7224
- let e = Math.max(1, Math.min(12, parseInt(M, 10) || 12)), t = Math.max(0, Math.min(59, parseInt(P, 10) || 0)), a = ua(e, I), o = {
7308
+ let e = Math.max(1, Math.min(12, parseInt(M, 10) || 12)), t = Math.max(0, Math.min(59, parseInt(P, 10) || 0)), a = da(e, I), o = {
7225
7309
  ...Z(R, n),
7226
7310
  hour: a,
7227
7311
  minute: t,
@@ -7248,8 +7332,8 @@ function ma({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, plac
7248
7332
  function z() {
7249
7333
  if (!c && r) {
7250
7334
  k(Z(r, n).year), j(Z(r, n).month - 1), ee(r);
7251
- let e = la(Z(r, n).hour);
7252
- N(String(e.hour12)), L(e.period), F(fa(Z(r, n).minute));
7335
+ let e = ua(Z(r, n).hour);
7336
+ N(String(e.hour12)), L(e.period), F(pa(Z(r, n).minute));
7253
7337
  }
7254
7338
  f(null);
7255
7339
  let e = !1;
@@ -7276,7 +7360,7 @@ function ma({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, plac
7276
7360
  "aria-haspopup": "dialog",
7277
7361
  "aria-expanded": c,
7278
7362
  className: G("ui-sized-control flex h-7 w-full cursor-pointer items-center rounded-md text-xs", "bg-bg-secondary border-border text-text-primary border", "hover:bg-bg-hover hover:border-border-strong", "transition-colors duration-[100ms]", "px-2 pr-7"),
7279
- children: r ? da(r, n) : /* @__PURE__ */ _("span", {
7363
+ children: r ? fa(r, n) : /* @__PURE__ */ _("span", {
7280
7364
  className: "text-text-disabled",
7281
7365
  children: a
7282
7366
  })
@@ -7288,7 +7372,7 @@ function ma({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, plac
7288
7372
  "aria-label": "Choose date and time",
7289
7373
  className: G("bg-bg-tertiary border-border-strong animate-scale-in absolute left-0 z-[100] rounded-md border p-3 shadow-lg", w ? "bottom-full mb-1" : "top-full mt-1"),
7290
7374
  children: [
7291
- /* @__PURE__ */ _(Ki, {
7375
+ /* @__PURE__ */ _(qi, {
7292
7376
  timeZone: n,
7293
7377
  year: O,
7294
7378
  month: A,
@@ -7401,8 +7485,8 @@ function ma({ controlSize: e, label: t, timeZone: n, value: r, onChange: i, plac
7401
7485
  }
7402
7486
  //#endregion
7403
7487
  //#region src/components/ui/DetailPanel.tsx
7404
- var ha = 360, ga = 260, _a = 700;
7405
- function va({ open: e, onClose: t, title: n, children: r, className: i, resizable: a = !0, defaultWidth: o = ha, minWidth: c = ga, maxWidth: u = _a }) {
7488
+ var ga = 360, _a = 260, va = 700;
7489
+ function ya({ open: e, onClose: t, title: n, children: r, className: i, resizable: a = !0, defaultWidth: o = ga, minWidth: c = _a, maxWidth: u = va }) {
7406
7490
  let [d, f] = h(o), p = m(!1), g = m(0), y = m(0);
7407
7491
  l(() => {
7408
7492
  if (!e) return;
@@ -7453,37 +7537,37 @@ function va({ open: e, onClose: t, title: n, children: r, className: i, resizabl
7453
7537
  })
7454
7538
  });
7455
7539
  }
7456
- function ya(e, t) {
7540
+ function ba(e, t) {
7457
7541
  let n = /^\s*(\d*\.?\d+)(px|rem)\s*$/.exec(e);
7458
7542
  if (!n) return 8;
7459
7543
  let r = Number(n[1]), i = n[2] === "rem" ? r * t : r;
7460
7544
  return Number.isFinite(i) && i >= 0 ? i * 2 : 8;
7461
7545
  }
7462
- function ba(e, t, [n, r], [i, a], [o, s], c) {
7546
+ function xa(e, t, [n, r], [i, a], [o, s], c) {
7463
7547
  let [l, u] = r - n <= s - o - c * 2 ? [n, r] : [i, a], d = t + (o + c - l), f = t + (s - c - u);
7464
7548
  return f < d && (f = d), d = Math.min(d, 0), f = Math.max(f, 0), Math.min(f, Math.max(d, e));
7465
7549
  }
7466
- function xa(e, t, n, r, i, a) {
7550
+ function Sa(e, t, n, r, i, a) {
7467
7551
  return {
7468
- x: ba(e.x, t.x, [n.left, n.right], [r.left, r.right], [i.left, i.right], a),
7469
- y: ba(e.y, t.y, [n.top, n.bottom], [r.top, r.bottom], [i.top, i.bottom], a)
7552
+ x: xa(e.x, t.x, [n.left, n.right], [r.left, r.right], [i.left, i.right], a),
7553
+ y: xa(e.y, t.y, [n.top, n.bottom], [r.top, r.bottom], [i.top, i.bottom], a)
7470
7554
  };
7471
7555
  }
7472
- function Sa({ x: e, y: t }) {
7556
+ function Ca({ x: e, y: t }) {
7473
7557
  return e === 0 && t === 0 ? "" : `${e}px ${t}px`;
7474
7558
  }
7475
7559
  //#endregion
7476
7560
  //#region src/components/ui/Dialog.tsx
7477
- var Ca = {
7561
+ var wa = {
7478
7562
  sm: "max-w-[400px]",
7479
7563
  md: "max-w-[576px]",
7480
7564
  lg: "max-w-[768px]",
7481
7565
  xl: "max-w-[1024px]"
7482
- }, wa = "(min-width: 48rem)", Ta = "a[href], button, input, select, textarea, label, summary, [contenteditable]:not([contenteditable=\"false\"]), [role=\"button\"], [role=\"link\"], [tabindex]:not([tabindex=\"-1\"])", Ea = {
7566
+ }, Ta = "(min-width: 48rem)", Ea = "a[href], button, input, select, textarea, label, summary, [contenteditable]:not([contenteditable=\"false\"]), [role=\"button\"], [role=\"link\"], [tabindex]:not([tabindex=\"-1\"])", Da = {
7483
7567
  x: 0,
7484
7568
  y: 0
7485
7569
  };
7486
- function Da(e) {
7570
+ function Oa(e) {
7487
7571
  let t = e.getBoundingClientRect();
7488
7572
  return {
7489
7573
  left: t.left,
@@ -7492,19 +7576,19 @@ function Da(e) {
7492
7576
  bottom: t.top + e.clientHeight
7493
7577
  };
7494
7578
  }
7495
- var Oa = {
7579
+ var ka = {
7496
7580
  top: "bottom",
7497
7581
  bottom: "top",
7498
7582
  left: "right",
7499
7583
  right: "left"
7500
7584
  };
7501
- function ka(e, t) {
7585
+ function Aa(e, t) {
7502
7586
  return {
7503
7587
  x: e.x + t.x,
7504
7588
  y: e.y + t.y
7505
7589
  };
7506
7590
  }
7507
- function Aa(e, t) {
7591
+ function ja(e, t) {
7508
7592
  let n = t.getBoundingClientRect();
7509
7593
  return {
7510
7594
  left: n.left + e.offsetLeft - t.scrollLeft,
@@ -7513,65 +7597,65 @@ function Aa(e, t) {
7513
7597
  height: e.offsetHeight
7514
7598
  };
7515
7599
  }
7516
- function ja(e, t) {
7600
+ function Ma(e, t) {
7517
7601
  if (!(e instanceof HTMLElement) || !e.isConnected) return null;
7518
7602
  let n = e.ownerDocument;
7519
7603
  return e === n.body || e === n.documentElement || t.contains(e) ? null : e.getClientRects().length > 0 ? e : null;
7520
7604
  }
7521
- function Ma(e) {
7522
- return e.ownerDocument.defaultView?.matchMedia(wa).matches ?? !1;
7523
- }
7524
7605
  function Na(e) {
7606
+ return e.ownerDocument.defaultView?.matchMedia(Ta).matches ?? !1;
7607
+ }
7608
+ function Pa(e) {
7525
7609
  let t = e.ownerDocument.defaultView;
7526
- return t ? ya(t.getComputedStyle(e).getPropertyValue("--spacing"), parseFloat(t.getComputedStyle(e.ownerDocument.documentElement).fontSize)) : 8;
7610
+ return t ? ba(t.getComputedStyle(e).getPropertyValue("--spacing"), parseFloat(t.getComputedStyle(e.ownerDocument.documentElement).fontSize)) : 8;
7527
7611
  }
7528
- function Pa({ open: e, draggable: t, remember: n, placement: r, anchorRef: i }, a, o) {
7529
- let s = m(Ea), c = m(Ea), l = m(8), u = m(null), d = m(null), p = m(!1), h = e && t;
7612
+ function Fa({ open: e, draggable: t, remember: n, placement: r, anchorRef: i }, a, o) {
7613
+ let s = m(Da), c = m(Da), l = m(8), u = m(null), d = m(null), p = m(!1), h = e && t;
7530
7614
  f(() => {
7531
7615
  let f = a.current, m = h ? o.current : null, g = f?.parentElement, _ = f?.ownerDocument.defaultView, v = r !== "center";
7532
7616
  (!n || !t) && (d.current = null);
7533
7617
  let y = n && m !== null;
7534
7618
  if (!e || !f || !g || !_ || !m && !v) return;
7535
- let b = v ? ja(f.ownerDocument.activeElement, f) : null, x = () => v ? ja(i?.current, f) ?? ja(b, f) : null, S = () => ka(c.current, m ? s.current : Ea), C = () => {
7536
- f.style.translate = Sa(S());
7619
+ let b = v ? Ma(f.ownerDocument.activeElement, f) : null, x = () => v ? Ma(i?.current, f) ?? Ma(b, f) : null, S = () => Aa(c.current, m ? s.current : Da), C = () => {
7620
+ f.style.translate = Ca(S());
7537
7621
  }, w = () => {
7538
- let e = Aa(f, g);
7622
+ let e = ja(f, g);
7539
7623
  if (p.current && d.current) {
7540
7624
  c.current = {
7541
7625
  x: d.current.left - e.left,
7542
7626
  y: d.current.top - e.top
7543
- }, s.current = Ea, f.dataset.placement = "remembered", f.style.transformOrigin = "";
7627
+ }, s.current = Da, f.dataset.placement = "remembered", f.style.transformOrigin = "";
7544
7628
  return;
7545
7629
  }
7546
- let t = Ma(f) ? x() : null, n = v && t ? yn(r, t.getBoundingClientRect(), {
7630
+ let t = Na(f) ? x() : null, n = v && t ? yn(r, t.getBoundingClientRect(), {
7547
7631
  size: {
7548
7632
  width: e.width,
7549
7633
  height: e.height
7550
7634
  },
7551
- bounds: Da(g),
7635
+ bounds: Oa(g),
7552
7636
  margin: l.current,
7553
7637
  gap: l.current
7554
7638
  }) : null;
7555
7639
  c.current = n ? {
7556
7640
  x: n.left - e.left,
7557
7641
  y: n.top - e.top
7558
- } : Ea, f.dataset.placement = n?.side ?? "center", f.style.transformOrigin = n ? Oa[n.side] : "";
7642
+ } : Da, f.dataset.placement = n?.side ?? "center", f.style.transformOrigin = n ? ka[n.side] : "";
7559
7643
  }, T = () => {
7560
7644
  let e = s.current;
7561
7645
  if (!m || !p.current && e.x === 0 && e.y === 0) return;
7562
- let t = S(), n = xa(t, t, f.getBoundingClientRect(), m.getBoundingClientRect(), Da(g), l.current);
7646
+ let t = S(), n = Sa(t, t, f.getBoundingClientRect(), m.getBoundingClientRect(), Oa(g), l.current);
7563
7647
  if (s.current = {
7564
7648
  x: n.x - c.current.x,
7565
7649
  y: n.y - c.current.y
7566
7650
  }, C(), p.current) {
7567
- let e = Aa(f, g);
7651
+ let e = ja(f, g);
7568
7652
  d.current = {
7569
7653
  left: e.left + n.x,
7570
7654
  top: e.top + n.y
7571
7655
  };
7572
7656
  }
7573
7657
  }, E = () => {
7574
- l.current = Na(f), Ma(f) || (u.current = null, s.current = Ea, p.current = !1, d.current = null), u.current || w(), C(), T();
7658
+ l.current = Pa(f), Na(f) || (u.current = null, s.current = Da, p.current = !1, d.current = null), u.current || w(), C(), T();
7575
7659
  }, D = 0, O = () => {
7576
7660
  D ||= _.requestAnimationFrame(() => {
7577
7661
  D = 0, E();
@@ -7583,7 +7667,7 @@ function Pa({ open: e, draggable: t, remember: n, placement: r, anchorRef: i },
7583
7667
  capture: !0,
7584
7668
  passive: !0
7585
7669
  }), f.addEventListener("animationend", k), A?.observe(f), () => {
7586
- _.cancelAnimationFrame(D), _.removeEventListener("resize", O), _.removeEventListener("scroll", O, { capture: !0 }), f.removeEventListener("animationend", k), A?.disconnect(), u.current = null, c.current = Ea, s.current = Ea, p.current = !1, f.style.translate = "", f.style.transformOrigin = "", delete f.dataset.placement;
7670
+ _.cancelAnimationFrame(D), _.removeEventListener("resize", O), _.removeEventListener("scroll", O, { capture: !0 }), f.removeEventListener("animationend", k), A?.disconnect(), u.current = null, c.current = Da, s.current = Da, p.current = !1, f.style.translate = "", f.style.transformOrigin = "", delete f.dataset.placement;
7587
7671
  };
7588
7672
  }, [
7589
7673
  e,
@@ -7598,40 +7682,40 @@ function Pa({ open: e, draggable: t, remember: n, placement: r, anchorRef: i },
7598
7682
  let g = (e) => {
7599
7683
  let t = a.current, n = e.currentTarget, r = t?.parentElement;
7600
7684
  if (!t || !r || e.button !== 0 || !e.isPrimary) return;
7601
- let i = e.target.closest(Ta);
7602
- i && n.contains(i) || !Ma(t) || (e.preventDefault(), n.setPointerCapture(e.pointerId), u.current = {
7685
+ let i = e.target.closest(Ea);
7686
+ i && n.contains(i) || !Na(t) || (e.preventDefault(), n.setPointerCapture(e.pointerId), u.current = {
7603
7687
  pointerId: e.pointerId,
7604
7688
  startX: e.clientX,
7605
7689
  startY: e.clientY,
7606
- origin: ka(c.current, s.current),
7690
+ origin: Aa(c.current, s.current),
7607
7691
  dialog: t.getBoundingClientRect(),
7608
7692
  handle: n.getBoundingClientRect(),
7609
- bounds: Da(r),
7693
+ bounds: Oa(r),
7610
7694
  margin: l.current,
7611
7695
  moved: !1
7612
7696
  });
7613
7697
  }, _ = (e) => {
7614
7698
  let t = u.current, n = a.current;
7615
7699
  if (!t || t.pointerId !== e.pointerId || !n) return;
7616
- let r = xa({
7700
+ let r = Sa({
7617
7701
  x: t.origin.x + e.clientX - t.startX,
7618
7702
  y: t.origin.y + e.clientY - t.startY
7619
7703
  }, t.origin, t.dialog, t.handle, t.bounds, t.margin);
7620
7704
  t.moved ||= r.x !== t.origin.x || r.y !== t.origin.y, s.current = {
7621
7705
  x: r.x - c.current.x,
7622
7706
  y: r.y - c.current.y
7623
- }, n.style.translate = Sa(r);
7707
+ }, n.style.translate = Ca(r);
7624
7708
  }, v = (e) => {
7625
7709
  let t = u.current;
7626
7710
  if (t?.pointerId !== e.pointerId) return;
7627
7711
  u.current = null;
7628
7712
  let r = a.current, i = r?.parentElement;
7629
7713
  if (!n || !t.moved || !r || !i) return;
7630
- let o = ka(c.current, s.current), l = Aa(r, i);
7714
+ let o = Aa(c.current, s.current), l = ja(r, i);
7631
7715
  d.current = {
7632
7716
  left: l.left + o.x,
7633
7717
  top: l.top + o.y
7634
- }, c.current = o, s.current = Ea, p.current = !0, r.dataset.placement = "remembered", r.style.transformOrigin = "";
7718
+ }, c.current = o, s.current = Da, p.current = !0, r.dataset.placement = "remembered", r.style.transformOrigin = "";
7635
7719
  };
7636
7720
  if (h) return {
7637
7721
  onPointerDown: g,
@@ -7641,13 +7725,13 @@ function Pa({ open: e, draggable: t, remember: n, placement: r, anchorRef: i },
7641
7725
  onLostPointerCapture: v
7642
7726
  };
7643
7727
  }
7644
- function Fa({ open: e, onClose: t, title: n, children: r, footer: i, className: a, size: o = "sm", draggable: s = !1, rememberPosition: c = !1, placement: d = "center", anchorRef: f, role: p = "dialog", description: h, "aria-label": g, "aria-describedby": y, initialFocusRef: b, returnFocusRef: x, busy: S = !1, closeOnEscape: C = !0, closeOnOverlayClick: w = !0, hideCloseButton: T = !1 }) {
7728
+ function Ia({ open: e, onClose: t, title: n, children: r, footer: i, className: a, size: o = "sm", draggable: s = !1, rememberPosition: c = !1, placement: d = "center", anchorRef: f, role: p = "dialog", description: h, "aria-label": g, "aria-describedby": y, initialFocusRef: b, returnFocusRef: x, busy: S = !1, closeOnEscape: C = !0, closeOnOverlayClick: w = !0, hideCloseButton: T = !1 }) {
7645
7729
  let E = an(), D = m(null), O = m(null), k = u(), A = u();
7646
7730
  ft(D, e, {
7647
7731
  initialFocusRef: b,
7648
7732
  returnFocusRef: x
7649
7733
  });
7650
- let j = Pa({
7734
+ let j = Fa({
7651
7735
  open: e,
7652
7736
  draggable: s,
7653
7737
  remember: c,
@@ -7679,7 +7763,7 @@ function Fa({ open: e, onClose: t, title: n, children: r, footer: i, className:
7679
7763
  "aria-hidden": "true"
7680
7764
  }), /* @__PURE__ */ v("div", {
7681
7765
  ref: D,
7682
- className: G(`relative z-50 mx-1 mb-8 flex w-full ${Ca[o]} flex-col`, "bg-bg-secondary border-border rounded-lg border", "animate-scale-in shadow-lg", a),
7766
+ className: G(`relative z-50 mx-1 mb-8 flex w-full ${wa[o]} flex-col`, "bg-bg-secondary border-border rounded-lg border", "animate-scale-in shadow-lg", a),
7683
7767
  role: p,
7684
7768
  tabIndex: -1,
7685
7769
  "aria-busy": S || void 0,
@@ -7729,7 +7813,7 @@ function Fa({ open: e, onClose: t, title: n, children: r, footer: i, className:
7729
7813
  }
7730
7814
  //#endregion
7731
7815
  //#region src/components/ui/DialogActions.tsx
7732
- function Ia({ onCancel: e, onConfirm: t, cancelLabel: n = "Cancel", confirmLabel: r = "Confirm", confirmVariant: i = "primary", className: a, busy: o = !1, busyLabel: s = "Working…", cancelRef: c, confirmRef: l, confirmDisabled: u = !1 }) {
7816
+ function La({ onCancel: e, onConfirm: t, cancelLabel: n = "Cancel", confirmLabel: r = "Confirm", confirmVariant: i = "primary", className: a, busy: o = !1, busyLabel: s = "Working…", cancelRef: c, confirmRef: l, confirmDisabled: u = !1 }) {
7733
7817
  return /* @__PURE__ */ v("div", {
7734
7818
  className: G("flex justify-end gap-2", a),
7735
7819
  "aria-busy": o || void 0,
@@ -7758,7 +7842,7 @@ function Ia({ onCancel: e, onConfirm: t, cancelLabel: n = "Cancel", confirmLabel
7758
7842
  }
7759
7843
  //#endregion
7760
7844
  //#region src/components/ui/DividerLabel.tsx
7761
- function La({ children: e, className: t }) {
7845
+ function Ra({ children: e, className: t }) {
7762
7846
  return /* @__PURE__ */ v("div", {
7763
7847
  className: G("my-6 flex items-center gap-3", t),
7764
7848
  children: [
@@ -7773,7 +7857,7 @@ function La({ children: e, className: t }) {
7773
7857
  }
7774
7858
  //#endregion
7775
7859
  //#region src/components/ui/DropdownMenu.tsx
7776
- function Ra({ trigger: e, items: t, align: n = "right" }) {
7860
+ function za({ trigger: e, items: t, align: n = "right" }) {
7777
7861
  let [r, i] = h(!1), [a, o] = h({
7778
7862
  top: 0,
7779
7863
  left: 0,
@@ -7854,7 +7938,7 @@ function Ra({ trigger: e, items: t, align: n = "right" }) {
7854
7938
  }
7855
7939
  //#endregion
7856
7940
  //#region src/components/ui/EmptyState.tsx
7857
- function za({ icon: e, title: t, description: n, action: r, className: i }) {
7941
+ function Ba({ icon: e, title: t, description: n, action: r, className: i }) {
7858
7942
  return /* @__PURE__ */ v("div", {
7859
7943
  className: G("flex flex-col items-center justify-center px-4 py-12", i),
7860
7944
  children: [
@@ -7879,7 +7963,7 @@ function za({ icon: e, title: t, description: n, action: r, className: i }) {
7879
7963
  }
7880
7964
  //#endregion
7881
7965
  //#region src/components/ui/ErrorBoundary.tsx
7882
- var Ba = class extends e {
7966
+ var Va = class extends e {
7883
7967
  state = {
7884
7968
  hasError: !1,
7885
7969
  error: null
@@ -7921,8 +8005,8 @@ var Ba = class extends e {
7921
8005
  };
7922
8006
  //#endregion
7923
8007
  //#region src/components/ui/FilterDropdown.tsx
7924
- function Va({ icon: e, children: t, items: n, align: r, className: i }) {
7925
- return /* @__PURE__ */ _(Ra, {
8008
+ function Ha({ icon: e, children: t, items: n, align: r, className: i }) {
8009
+ return /* @__PURE__ */ _(za, {
7926
8010
  align: r,
7927
8011
  trigger: /* @__PURE__ */ _(Bn, {
7928
8012
  icon: e,
@@ -7934,7 +8018,7 @@ function Va({ icon: e, children: t, items: n, align: r, className: i }) {
7934
8018
  }
7935
8019
  //#endregion
7936
8020
  //#region src/components/ui/Kbd.tsx
7937
- function Ha({ children: e, className: t }) {
8021
+ function Ua({ children: e, className: t }) {
7938
8022
  return /* @__PURE__ */ _("kbd", {
7939
8023
  className: G("text-2xs inline-flex items-center px-1.5 py-0.5 font-mono font-medium", "bg-bg-tertiary text-text-secondary border-border rounded border", t),
7940
8024
  children: e
@@ -7942,20 +8026,20 @@ function Ha({ children: e, className: t }) {
7942
8026
  }
7943
8027
  //#endregion
7944
8028
  //#region src/components/ui/LoadingSpinner.tsx
7945
- var Ua = {
8029
+ var Wa = {
7946
8030
  sm: "w-4 h-4",
7947
8031
  md: "w-6 h-6",
7948
8032
  lg: "w-8 h-8"
7949
8033
  };
7950
- function Wa({ className: e, size: t = "md" }) {
8034
+ function Ga({ className: e, size: t = "md" }) {
7951
8035
  return /* @__PURE__ */ _("div", {
7952
8036
  className: G("flex min-h-[200px] items-center justify-center", e),
7953
- children: /* @__PURE__ */ _(L, { className: G("text-accent animate-spin", Ua[t]) })
8037
+ children: /* @__PURE__ */ _(L, { className: G("text-accent animate-spin", Wa[t]) })
7954
8038
  });
7955
8039
  }
7956
8040
  //#endregion
7957
8041
  //#region src/lib/layout.ts
7958
- function Ga(e, t, n, r) {
8042
+ function Ka(e, t, n, r) {
7959
8043
  let i = typeof t == "object" ? t : { base: t }, a = { [`--ui-${e}-base`]: n(i.base ?? r) };
7960
8044
  for (let t of [
7961
8045
  "sm",
@@ -7965,30 +8049,30 @@ function Ga(e, t, n, r) {
7965
8049
  ]) a[`--ui-${e}-${t}`] = i[t] === void 0 ? "initial" : n(i[t]);
7966
8050
  return a;
7967
8051
  }
7968
- function Ka(e) {
8052
+ function qa(e) {
7969
8053
  return typeof e == "number" ? `repeat(${e}, minmax(0, 1fr))` : e;
7970
8054
  }
7971
- function qa(e = 0, t, n) {
8055
+ function Ja(e = 0, t, n) {
7972
8056
  return {
7973
8057
  "--ui-gap": `calc(var(--spacing) * ${e})`,
7974
8058
  "--ui-gap-x": t === void 0 ? "initial" : `calc(var(--spacing) * ${t})`,
7975
8059
  "--ui-gap-y": n === void 0 ? "initial" : `calc(var(--spacing) * ${n})`
7976
8060
  };
7977
8061
  }
7978
- function Ja(e) {
8062
+ function Ya(e) {
7979
8063
  return e === "start" || e === "end" ? `flex-${e}` : e;
7980
8064
  }
7981
- function Ya(e) {
7982
- return e === "between" || e === "around" || e === "evenly" ? `space-${e}` : Ja(e);
8065
+ function Xa(e) {
8066
+ return e === "between" || e === "around" || e === "evenly" ? `space-${e}` : Ya(e);
7983
8067
  }
7984
8068
  //#endregion
7985
8069
  //#region src/components/ui/MetadataGrid.tsx
7986
- function Xa({ items: e, labelWidth: n = "100px", layout: r = "inline", columns: i = 1, gap: a = 3, className: o }) {
8070
+ function Za({ items: e, labelWidth: n = "100px", layout: r = "inline", columns: i = 1, gap: a = 3, className: o }) {
7987
8071
  return r === "stacked" ? /* @__PURE__ */ _("dl", {
7988
8072
  className: G("ui-grid text-xs", o),
7989
8073
  style: {
7990
- ...Ga("columns", i, Ka, 1),
7991
- ...qa(a)
8074
+ ...Ka("columns", i, qa, 1),
8075
+ ...Ja(a)
7992
8076
  },
7993
8077
  children: e.map((e) => /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("dt", {
7994
8078
  className: "text-text-tertiary font-label",
@@ -8014,7 +8098,7 @@ function Xa({ items: e, labelWidth: n = "100px", layout: r = "inline", columns:
8014
8098
  }
8015
8099
  //#endregion
8016
8100
  //#region src/components/ui/MetricCard.tsx
8017
- function Za({ label: e, value: t, sub: n, trend: r, bar: i, icon: a, iconColor: o, className: s }) {
8101
+ function Qa({ label: e, value: t, sub: n, trend: r, bar: i, icon: a, iconColor: o, className: s }) {
8018
8102
  let c = r?.tone === "positive" ? "text-green" : r?.tone === "negative" ? "text-red" : "text-text-tertiary";
8019
8103
  return /* @__PURE__ */ v("div", {
8020
8104
  className: G("bg-bg-secondary border-border relative overflow-hidden rounded-md border p-3", s),
@@ -8054,7 +8138,7 @@ function Za({ label: e, value: t, sub: n, trend: r, bar: i, icon: a, iconColor:
8054
8138
  }
8055
8139
  //#endregion
8056
8140
  //#region src/components/ui/OAuthButton.tsx
8057
- function Qa() {
8141
+ function $a() {
8058
8142
  return /* @__PURE__ */ v("svg", {
8059
8143
  className: "h-3.5 w-3.5",
8060
8144
  viewBox: "0 0 24 24",
@@ -8079,7 +8163,7 @@ function Qa() {
8079
8163
  ]
8080
8164
  });
8081
8165
  }
8082
- function $a() {
8166
+ function eo() {
8083
8167
  return /* @__PURE__ */ _("svg", {
8084
8168
  className: "h-3.5 w-3.5",
8085
8169
  viewBox: "0 0 24 24",
@@ -8088,25 +8172,25 @@ function $a() {
8088
8172
  children: /* @__PURE__ */ _("path", { d: "M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" })
8089
8173
  });
8090
8174
  }
8091
- var eo = {
8175
+ var to = {
8092
8176
  github: "GitHub",
8093
8177
  google: "Google"
8094
- }, to = {
8095
- github: $a,
8096
- google: Qa
8178
+ }, no = {
8179
+ github: eo,
8180
+ google: $a
8097
8181
  };
8098
- function no({ provider: e, children: t, ...n }) {
8099
- let r = to[e];
8182
+ function ro({ provider: e, children: t, ...n }) {
8183
+ let r = no[e];
8100
8184
  return /* @__PURE__ */ v(fn, {
8101
8185
  variant: "secondary",
8102
8186
  size: "md",
8103
8187
  ...n,
8104
- children: [/* @__PURE__ */ _(r, {}), t ?? eo[e]]
8188
+ children: [/* @__PURE__ */ _(r, {}), t ?? to[e]]
8105
8189
  });
8106
8190
  }
8107
8191
  //#endregion
8108
8192
  //#region src/components/ui/PageHeader.tsx
8109
- function ro({ title: e, subtitle: t, actions: n, className: r, eyebrow: i, headingLevel: a = 1, wrap: o = !1 }) {
8193
+ function io({ title: e, subtitle: t, actions: n, className: r, eyebrow: i, headingLevel: a = 1, wrap: o = !1 }) {
8110
8194
  let s = `h${a}`;
8111
8195
  return /* @__PURE__ */ v("div", {
8112
8196
  className: G("flex items-center justify-between gap-3", o && "flex-wrap", r),
@@ -8134,7 +8218,7 @@ function ro({ title: e, subtitle: t, actions: n, className: r, eyebrow: i, headi
8134
8218
  }
8135
8219
  //#endregion
8136
8220
  //#region src/components/ui/PageSection.tsx
8137
- function io({ title: e, description: t, actions: n, children: r, as: i = "h2", className: a, headerClassName: o, contentClassName: s }) {
8221
+ function ao({ title: e, description: t, actions: n, children: r, as: i = "h2", className: a, headerClassName: o, contentClassName: s }) {
8138
8222
  return /* @__PURE__ */ v("section", {
8139
8223
  className: G("space-y-4", a),
8140
8224
  children: [(e || t || n) && /* @__PURE__ */ v("div", {
@@ -8160,7 +8244,7 @@ function io({ title: e, description: t, actions: n, children: r, as: i = "h2", c
8160
8244
  }
8161
8245
  //#endregion
8162
8246
  //#region src/components/ui/PaginationBar.tsx
8163
- var ao = [
8247
+ var oo = [
8164
8248
  {
8165
8249
  value: "10",
8166
8250
  label: "10 per page"
@@ -8174,7 +8258,7 @@ var ao = [
8174
8258
  label: "50 per page"
8175
8259
  }
8176
8260
  ];
8177
- function oo({ page: e, pageSize: t, total: n, pageSizeOptions: r = ao, onPageChange: i, onPageSizeChange: a, className: o }) {
8261
+ function so({ page: e, pageSize: t, total: n, pageSizeOptions: r = oo, onPageChange: i, onPageSizeChange: a, className: o }) {
8178
8262
  let s = Math.ceil(n / t), c = Math.min((e - 1) * t + 1, n), l = Math.min(e * t, n);
8179
8263
  return /* @__PURE__ */ v("div", {
8180
8264
  className: G("flex items-center justify-between", o),
@@ -8205,7 +8289,7 @@ function oo({ page: e, pageSize: t, total: n, pageSizeOptions: r = ao, onPageCha
8205
8289
  }
8206
8290
  //#endregion
8207
8291
  //#region src/components/ui/useFieldControl.ts
8208
- function so({ id: e, error: t, hint: n, describedBy: r, invalid: i, required: a }) {
8292
+ function co({ id: e, error: t, hint: n, describedBy: r, invalid: i, required: a }) {
8209
8293
  let o = u(), s = c(Ln), l = e ?? s?.id ?? o, d = t ? `${l}-error` : void 0, f = n ? `${l}-hint` : void 0;
8210
8294
  return {
8211
8295
  inputId: l,
@@ -8218,8 +8302,8 @@ function so({ id: e, error: t, hint: n, describedBy: r, invalid: i, required: a
8218
8302
  }
8219
8303
  //#endregion
8220
8304
  //#region src/components/ui/PasswordInput.tsx
8221
- var co = a(({ label: e, error: t, className: n, id: r, hint: i, controlSize: a, required: o, "aria-describedby": s, "aria-invalid": c, ...l }, u) => {
8222
- let d = so({
8305
+ var lo = a(({ label: e, error: t, className: n, id: r, hint: i, controlSize: a, required: o, "aria-describedby": s, "aria-invalid": c, ...l }, u) => {
8306
+ let d = co({
8223
8307
  id: r,
8224
8308
  error: t,
8225
8309
  hint: i,
@@ -8271,8 +8355,8 @@ var co = a(({ label: e, error: t, className: n, id: r, hint: i, controlSize: a,
8271
8355
  ]
8272
8356
  });
8273
8357
  });
8274
- co.displayName = "PasswordInput";
8275
- var lo = Object.freeze([
8358
+ lo.displayName = "PasswordInput";
8359
+ var uo = Object.freeze([
8276
8360
  {
8277
8361
  label: "At least 8 characters",
8278
8362
  test: (e) => e.length >= 8
@@ -8290,12 +8374,12 @@ var lo = Object.freeze([
8290
8374
  test: (e) => /\d/.test(e)
8291
8375
  }
8292
8376
  ]);
8293
- function uo(e, t = lo) {
8377
+ function fo(e, t = uo) {
8294
8378
  return t.every((t) => t.test(e));
8295
8379
  }
8296
8380
  //#endregion
8297
8381
  //#region src/components/ui/PasswordRequirements.tsx
8298
- function fo({ password: e, requirements: t = lo, showWhenEmpty: n = !1, className: r }) {
8382
+ function po({ password: e, requirements: t = uo, showWhenEmpty: n = !1, className: r }) {
8299
8383
  return !n && e.length === 0 ? null : /* @__PURE__ */ _("ul", {
8300
8384
  "aria-label": "Password requirements",
8301
8385
  className: G("space-y-1", r),
@@ -8322,7 +8406,7 @@ function fo({ password: e, requirements: t = lo, showWhenEmpty: n = !1, classNam
8322
8406
  }
8323
8407
  //#endregion
8324
8408
  //#region src/components/ui/ProfileHeader.tsx
8325
- function po({ name: e, subtitle: t, badge: n, meta: r, action: i, className: a }) {
8409
+ function mo({ name: e, subtitle: t, badge: n, meta: r, action: i, className: a }) {
8326
8410
  return /* @__PURE__ */ v("div", {
8327
8411
  className: G("flex items-start gap-4", a),
8328
8412
  children: [
@@ -8370,7 +8454,7 @@ function po({ name: e, subtitle: t, badge: n, meta: r, action: i, className: a }
8370
8454
  }
8371
8455
  //#endregion
8372
8456
  //#region src/components/ui/ProseContent.tsx
8373
- function mo({ children: e, className: t }) {
8457
+ function ho({ children: e, className: t }) {
8374
8458
  return /* @__PURE__ */ _("div", {
8375
8459
  className: G("ui-prose", t),
8376
8460
  children: e
@@ -8378,21 +8462,21 @@ function mo({ children: e, className: t }) {
8378
8462
  }
8379
8463
  //#endregion
8380
8464
  //#region src/lib/qrCode.ts
8381
- var ho = class extends RangeError {
8465
+ var go = class extends RangeError {
8382
8466
  constructor() {
8383
8467
  super("Text is too long to encode as a QR code"), this.name = "QrCapacityError";
8384
8468
  }
8385
- }, go = {
8469
+ }, _o = {
8386
8470
  L: 0,
8387
8471
  M: 1,
8388
8472
  Q: 2,
8389
8473
  H: 3
8390
- }, _o = {
8474
+ }, vo = {
8391
8475
  L: 1,
8392
8476
  M: 0,
8393
8477
  Q: 3,
8394
8478
  H: 2
8395
- }, vo = [
8479
+ }, yo = [
8396
8480
  [
8397
8481
  -1,
8398
8482
  7,
@@ -8565,7 +8649,7 @@ var ho = class extends RangeError {
8565
8649
  30,
8566
8650
  30
8567
8651
  ]
8568
- ], yo = [
8652
+ ], bo = [
8569
8653
  [
8570
8654
  -1,
8571
8655
  1,
@@ -8739,7 +8823,7 @@ var ho = class extends RangeError {
8739
8823
  81
8740
8824
  ]
8741
8825
  ];
8742
- function bo(e) {
8826
+ function xo(e) {
8743
8827
  let t = (16 * e + 128) * e + 64;
8744
8828
  if (e >= 2) {
8745
8829
  let n = Math.floor(e / 7) + 2;
@@ -8747,43 +8831,43 @@ function bo(e) {
8747
8831
  }
8748
8832
  return t;
8749
8833
  }
8750
- function xo(e, t) {
8751
- let n = go[t];
8752
- return Math.floor(bo(e) / 8) - vo[n][e] * yo[n][e];
8834
+ function So(e, t) {
8835
+ let n = _o[t];
8836
+ return Math.floor(xo(e) / 8) - yo[n][e] * bo[n][e];
8753
8837
  }
8754
- function So(e) {
8838
+ function Co(e) {
8755
8839
  if (e === 1) return [];
8756
8840
  let t = Math.floor(e / 7) + 2, n = Math.floor((e * 8 + t * 3 + 5) / (t * 4 - 4)) * 2, r = [6];
8757
8841
  for (let i = e * 4 + 17 - 7; r.length < t; i -= n) r.splice(1, 0, i);
8758
8842
  return r;
8759
8843
  }
8760
- function Co(e, t) {
8844
+ function wo(e, t) {
8761
8845
  let n = 0;
8762
8846
  for (let r = 7; r >= 0; r--) n = n << 1 ^ (n >>> 7) * 285, n ^= (t >>> r & 1) * e;
8763
8847
  return n;
8764
8848
  }
8765
- function wo(e) {
8849
+ function To(e) {
8766
8850
  let t = Array(e).fill(0);
8767
8851
  t[e - 1] = 1;
8768
8852
  let n = 1;
8769
8853
  for (let r = 0; r < e; r++) {
8770
- for (let e = 0; e < t.length; e++) t[e] = Co(t[e], n), e + 1 < t.length && (t[e] ^= t[e + 1]);
8771
- n = Co(n, 2);
8854
+ for (let e = 0; e < t.length; e++) t[e] = wo(t[e], n), e + 1 < t.length && (t[e] ^= t[e + 1]);
8855
+ n = wo(n, 2);
8772
8856
  }
8773
8857
  return t;
8774
8858
  }
8775
- function To(e, t) {
8859
+ function Eo(e, t) {
8776
8860
  let n = Array(t.length).fill(0);
8777
8861
  for (let r of e) {
8778
8862
  let e = r ^ n.shift();
8779
8863
  n.push(0), t.forEach((t, r) => {
8780
- n[r] ^= Co(t, e);
8864
+ n[r] ^= wo(t, e);
8781
8865
  });
8782
8866
  }
8783
8867
  return n;
8784
8868
  }
8785
- function Eo(e, t, n) {
8786
- let r = xo(t, n) * 8, i = [], a = (e, t) => {
8869
+ function Do(e, t, n) {
8870
+ let r = So(t, n) * 8, i = [], a = (e, t) => {
8787
8871
  for (let n = t - 1; n >= 0; n--) i.push(e >>> n & 1);
8788
8872
  };
8789
8873
  a(4, 4), a(e.length, t <= 9 ? 8 : 16);
@@ -8794,12 +8878,12 @@ function Eo(e, t, n) {
8794
8878
  for (let e = 0; e < i.length; e += 8) o.push(i.slice(e, e + 8).reduce((e, t) => e << 1 | t));
8795
8879
  return o;
8796
8880
  }
8797
- function Do(e, t, n) {
8798
- let r = go[n], i = yo[r][t], a = vo[r][t], o = Math.floor(bo(t) / 8), s = i - o % i, c = Math.floor(o / i), l = wo(a), u = [];
8881
+ function Oo(e, t, n) {
8882
+ let r = _o[n], i = bo[r][t], a = yo[r][t], o = Math.floor(xo(t) / 8), s = i - o % i, c = Math.floor(o / i), l = To(a), u = [];
8799
8883
  for (let t = 0, n = 0; t < i; t++) {
8800
8884
  let r = c - a + (t < s ? 0 : 1), i = e.slice(n, n + r);
8801
8885
  n += r;
8802
- let o = To(i, l);
8886
+ let o = Eo(i, l);
8803
8887
  t < s && i.push(0), u.push(i.concat(o));
8804
8888
  }
8805
8889
  let d = [];
@@ -8808,7 +8892,7 @@ function Do(e, t, n) {
8808
8892
  });
8809
8893
  return d;
8810
8894
  }
8811
- var Oo = class {
8895
+ var ko = class {
8812
8896
  size;
8813
8897
  modules;
8814
8898
  isFunction;
@@ -8819,7 +8903,7 @@ var Oo = class {
8819
8903
  this.modules[t][e] = n, this.isFunction[t][e] = !0;
8820
8904
  }
8821
8905
  };
8822
- function ko(e, t) {
8906
+ function Ao(e, t) {
8823
8907
  let { size: n } = e;
8824
8908
  for (let t = 0; t < n; t++) e.setFunction(6, t, t % 2 == 0), e.setFunction(t, 6, t % 2 == 0);
8825
8909
  for (let [t, r] of [
@@ -8832,15 +8916,15 @@ function ko(e, t) {
8832
8916
  let c = Math.max(Math.abs(a), Math.abs(i));
8833
8917
  e.setFunction(o, s, c !== 2 && c !== 4);
8834
8918
  }
8835
- let r = So(t), i = r.length - 1;
8919
+ let r = Co(t), i = r.length - 1;
8836
8920
  r.forEach((t, n) => {
8837
8921
  r.forEach((r, a) => {
8838
8922
  if (!(n === 0 && a === 0 || n === 0 && a === i || n === i && a === 0)) for (let n = -2; n <= 2; n++) for (let i = -2; i <= 2; i++) e.setFunction(t + i, r + n, Math.max(Math.abs(i), Math.abs(n)) !== 1);
8839
8923
  });
8840
- }), Ao(e, "M", 0), jo(e, t);
8924
+ }), jo(e, "M", 0), Mo(e, t);
8841
8925
  }
8842
- function Ao(e, t, n) {
8843
- let r = _o[t] << 3 | n, i = r;
8926
+ function jo(e, t, n) {
8927
+ let r = vo[t] << 3 | n, i = r;
8844
8928
  for (let e = 0; e < 10; e++) i = i << 1 ^ (i >>> 9) * 1335;
8845
8929
  let a = (r << 10 | i) ^ 21522, o = (e) => (a >>> e & 1) != 0, { size: s } = e;
8846
8930
  for (let t = 0; t <= 5; t++) e.setFunction(8, t, o(t));
@@ -8850,7 +8934,7 @@ function Ao(e, t, n) {
8850
8934
  for (let t = 8; t < 15; t++) e.setFunction(8, s - 15 + t, o(t));
8851
8935
  e.setFunction(8, s - 8, !0);
8852
8936
  }
8853
- function jo(e, t) {
8937
+ function Mo(e, t) {
8854
8938
  if (t < 7) return;
8855
8939
  let n = t;
8856
8940
  for (let e = 0; e < 12; e++) n = n << 1 ^ (n >>> 11) * 7973;
@@ -8860,7 +8944,7 @@ function jo(e, t) {
8860
8944
  e.setFunction(i, a, n), e.setFunction(a, i, n);
8861
8945
  }
8862
8946
  }
8863
- function Mo(e, t) {
8947
+ function No(e, t) {
8864
8948
  let { size: n } = e, r = 0;
8865
8949
  for (let i = n - 1; i >= 1; i -= 2) {
8866
8950
  i === 6 && (i = 5);
@@ -8874,7 +8958,7 @@ function Mo(e, t) {
8874
8958
  }
8875
8959
  }
8876
8960
  }
8877
- var No = [
8961
+ var Po = [
8878
8962
  (e, t) => (e + t) % 2 == 0,
8879
8963
  (e, t) => t % 2 == 0,
8880
8964
  (e) => e % 3 == 0,
@@ -8884,10 +8968,10 @@ var No = [
8884
8968
  (e, t) => (e * t % 2 + e * t % 3) % 2 == 0,
8885
8969
  (e, t) => ((e + t) % 2 + e * t % 3) % 2 == 0
8886
8970
  ];
8887
- function Po(e, t) {
8888
- for (let n = 0; n < e.size; n++) for (let r = 0; r < e.size; r++) !e.isFunction[n][r] && No[t](r, n) && (e.modules[n][r] = !e.modules[n][r]);
8971
+ function Fo(e, t) {
8972
+ for (let n = 0; n < e.size; n++) for (let r = 0; r < e.size; r++) !e.isFunction[n][r] && Po[t](r, n) && (e.modules[n][r] = !e.modules[n][r]);
8889
8973
  }
8890
- var Fo = [[
8974
+ var Io = [[
8891
8975
  !0,
8892
8976
  !1,
8893
8977
  !0,
@@ -8912,12 +8996,12 @@ var Fo = [[
8912
8996
  !1,
8913
8997
  !0
8914
8998
  ]];
8915
- function Io(e) {
8999
+ function Lo(e) {
8916
9000
  let t = e.length, n = (t, n, r) => r ? e[t][n] : e[n][t], r = 0;
8917
9001
  for (let e of [!1, !0]) for (let i = 0; i < t; i++) {
8918
9002
  let a = 1;
8919
9003
  for (let o = 1; o <= t; o++) o < t && n(o, i, e) === n(o - 1, i, e) ? a++ : (a >= 5 && (r += 3 + (a - 5)), a = 1);
8920
- for (let a = 0; a + 11 <= t; a++) for (let t of Fo) t.every((t, r) => n(a + r, i, e) === t) && (r += 40);
9004
+ for (let a = 0; a + 11 <= t; a++) for (let t of Io) t.every((t, r) => n(a + r, i, e) === t) && (r += 40);
8921
9005
  }
8922
9006
  for (let n = 0; n < t - 1; n++) for (let i = 0; i < t - 1; i++) {
8923
9007
  let t = e[n][i];
@@ -8926,20 +9010,20 @@ function Io(e) {
8926
9010
  let i = e.reduce((e, t) => e + t.filter(Boolean).length, 0) * 100 / (t * t);
8927
9011
  return r += Math.floor(Math.abs(i - 50) / 5) * 10, r;
8928
9012
  }
8929
- function Lo(e, t = "M") {
8930
- if (!Object.hasOwn(go, t)) throw RangeError(`Invalid QR error correction level "${t}"; expected L, M, Q or H`);
9013
+ function Ro(e, t = "M") {
9014
+ if (!Object.hasOwn(_o, t)) throw RangeError(`Invalid QR error correction level "${t}"; expected L, M, Q or H`);
8931
9015
  let n = new TextEncoder().encode(e), r = 1;
8932
- for (; r <= 40 && !(4 + (r <= 9 ? 8 : 16) + n.length * 8 <= xo(r, t) * 8); r++);
8933
- if (r > 40) throw new ho();
8934
- let i = Do(Eo(n, r, t), r, t), a = new Oo(r * 4 + 17);
8935
- ko(a, r), Mo(a, i);
9016
+ for (; r <= 40 && !(4 + (r <= 9 ? 8 : 16) + n.length * 8 <= So(r, t) * 8); r++);
9017
+ if (r > 40) throw new go();
9018
+ let i = Oo(Do(n, r, t), r, t), a = new ko(r * 4 + 17);
9019
+ Ao(a, r), No(a, i);
8936
9020
  let o = 0, s = Infinity;
8937
9021
  for (let e = 0; e < 8; e++) {
8938
- Po(a, e), Ao(a, t, e);
8939
- let n = Io(a.modules);
8940
- n < s && (s = n, o = e), Po(a, e);
9022
+ Fo(a, e), jo(a, t, e);
9023
+ let n = Lo(a.modules);
9024
+ n < s && (s = n, o = e), Fo(a, e);
8941
9025
  }
8942
- return Po(a, o), Ao(a, t, o), {
9026
+ return Fo(a, o), jo(a, t, o), {
8943
9027
  size: a.size,
8944
9028
  version: r,
8945
9029
  modules: a.modules
@@ -8947,13 +9031,13 @@ function Lo(e, t = "M") {
8947
9031
  }
8948
9032
  //#endregion
8949
9033
  //#region src/components/ui/QrCode.tsx
8950
- function Ro({ value: e, errorCorrection: t = "M", size: n = 160, margin: r = 4, "aria-label": i = "QR code", fallback: a = null, className: o }) {
9034
+ function zo({ value: e, errorCorrection: t = "M", size: n = 160, margin: r = 4, "aria-label": i = "QR code", fallback: a = null, className: o }) {
8951
9035
  let s = p(() => {
8952
9036
  if (!e) return null;
8953
9037
  try {
8954
- return Lo(e, t);
9038
+ return Ro(e, t);
8955
9039
  } catch (e) {
8956
- if (e instanceof ho) return "too-long";
9040
+ if (e instanceof go) return "too-long";
8957
9041
  throw e;
8958
9042
  }
8959
9043
  }, [e, t]);
@@ -8987,7 +9071,7 @@ function Ro({ value: e, errorCorrection: t = "M", size: n = 160, margin: r = 4,
8987
9071
  }
8988
9072
  //#endregion
8989
9073
  //#region src/components/ui/SearchInput.tsx
8990
- function zo({ value: e, onChange: t, placeholder: n = "Search...", className: r }) {
9074
+ function Bo({ value: e, onChange: t, placeholder: n = "Search...", className: r }) {
8991
9075
  return /* @__PURE__ */ v("div", {
8992
9076
  className: G("relative", r),
8993
9077
  children: [/* @__PURE__ */ _(B, { className: "text-text-tertiary absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2" }), /* @__PURE__ */ _("input", {
@@ -9001,8 +9085,8 @@ function zo({ value: e, onChange: t, placeholder: n = "Search...", className: r
9001
9085
  }
9002
9086
  //#endregion
9003
9087
  //#region src/components/ui/Select.tsx
9004
- var Bo = a(({ label: e, error: t, options: n, className: r, id: i, hint: a, controlSize: o, required: s, "aria-describedby": c, "aria-invalid": l, ...u }, d) => {
9005
- let f = so({
9088
+ var Vo = a(({ label: e, error: t, options: n, className: r, id: i, hint: a, controlSize: o, required: s, "aria-describedby": c, "aria-invalid": l, ...u }, d) => {
9089
+ let f = co({
9006
9090
  id: i,
9007
9091
  error: t,
9008
9092
  hint: a,
@@ -9050,10 +9134,10 @@ var Bo = a(({ label: e, error: t, options: n, className: r, id: i, hint: a, cont
9050
9134
  ]
9051
9135
  });
9052
9136
  });
9053
- Bo.displayName = "Select";
9137
+ Vo.displayName = "Select";
9054
9138
  //#endregion
9055
9139
  //#region src/components/ui/SettingRow.tsx
9056
- function Vo({ label: e, description: t, action: n, className: r }) {
9140
+ function Ho({ label: e, description: t, action: n, className: r }) {
9057
9141
  return /* @__PURE__ */ v("div", {
9058
9142
  className: G("border-border flex items-center justify-between border-b py-3", r),
9059
9143
  children: [/* @__PURE__ */ v("div", {
@@ -9073,7 +9157,7 @@ function Vo({ label: e, description: t, action: n, className: r }) {
9073
9157
  }
9074
9158
  //#endregion
9075
9159
  //#region src/components/ui/SideSheet.tsx
9076
- function Ho({ open: e, onClose: t, title: n, children: r, footer: i, side: a = "right", widthClassName: o = "w-[360px]", className: s, contentClassName: c }) {
9160
+ function Uo({ open: e, onClose: t, title: n, children: r, footer: i, side: a = "right", widthClassName: o = "w-[360px]", className: s, contentClassName: c }) {
9077
9161
  let u = an(), d = m(null);
9078
9162
  return ft(d, e), l(() => {
9079
9163
  if (!e) return;
@@ -9127,41 +9211,41 @@ function Ho({ open: e, onClose: t, title: n, children: r, footer: i, side: a = "
9127
9211
  }
9128
9212
  //#endregion
9129
9213
  //#region src/components/ui/SplitPaneLayout.tsx
9130
- function Uo({ children: e, direction: t = "row", className: n }) {
9214
+ function Wo({ children: e, direction: t = "row", className: n }) {
9131
9215
  return /* @__PURE__ */ _("div", {
9132
9216
  className: G("-m-4 md:-m-6", "flex h-[calc(100vh-var(--topbar-height)-var(--bottomnav-height))] gap-0 md:h-[calc(100vh-var(--topbar-height))]", t === "column" && "flex-col", n),
9133
9217
  children: e
9134
9218
  });
9135
9219
  }
9136
- function Wo({ children: e, className: t }) {
9220
+ function Go({ children: e, className: t }) {
9137
9221
  return /* @__PURE__ */ _("div", {
9138
9222
  className: G("flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden", t),
9139
9223
  children: e
9140
9224
  });
9141
9225
  }
9142
- var Go = Object.assign(Uo, { Main: Wo }), Ko = {
9226
+ var Ko = Object.assign(Wo, { Main: Go }), qo = {
9143
9227
  active: "bg-green",
9144
9228
  inactive: "bg-text-tertiary",
9145
9229
  pending: "bg-yellow animate-pulse-subtle",
9146
9230
  error: "bg-red"
9147
- }, qo = {
9231
+ }, Jo = {
9148
9232
  active: "text-green",
9149
9233
  inactive: "text-text-tertiary",
9150
9234
  pending: "text-yellow",
9151
9235
  error: "text-red"
9152
9236
  };
9153
- function Jo({ status: e, label: t, className: n }) {
9237
+ function Yo({ status: e, label: t, className: n }) {
9154
9238
  return /* @__PURE__ */ v("span", {
9155
9239
  className: G("inline-flex items-center gap-1.5", n),
9156
- children: [/* @__PURE__ */ _("span", { className: G("h-2 w-2 rounded-full", Ko[e]) }), t && /* @__PURE__ */ _("span", {
9157
- className: G("text-xs", qo[e]),
9240
+ children: [/* @__PURE__ */ _("span", { className: G("h-2 w-2 rounded-full", qo[e]) }), t && /* @__PURE__ */ _("span", {
9241
+ className: G("text-xs", Jo[e]),
9158
9242
  children: t
9159
9243
  })]
9160
9244
  });
9161
9245
  }
9162
9246
  //#endregion
9163
9247
  //#region src/components/ui/StepProgress.tsx
9164
- function Yo({ steps: e, currentStep: t, className: n }) {
9248
+ function Xo({ steps: e, currentStep: t, className: n }) {
9165
9249
  return /* @__PURE__ */ _("div", {
9166
9250
  className: G("flex items-center justify-between", n),
9167
9251
  children: e.map((n, r) => /* @__PURE__ */ v("div", {
@@ -9188,7 +9272,7 @@ function Yo({ steps: e, currentStep: t, className: n }) {
9188
9272
  }
9189
9273
  //#endregion
9190
9274
  //#region src/components/ui/Tabs.tsx
9191
- function Xo({ tabs: e, defaultTab: t, value: n, onChange: r, className: i }) {
9275
+ function Zo({ tabs: e, defaultTab: t, value: n, onChange: r, className: i }) {
9192
9276
  let [a, o] = h(t || e[0]?.key), s = n ?? a, c = e.some((e) => e.key === s) ? s : e[0]?.key, l = e.find((e) => e.key === c);
9193
9277
  function d(e) {
9194
9278
  n === void 0 && o(e), r?.(e);
@@ -9227,8 +9311,8 @@ function Xo({ tabs: e, defaultTab: t, value: n, onChange: r, className: i }) {
9227
9311
  }
9228
9312
  //#endregion
9229
9313
  //#region src/components/ui/Textarea.tsx
9230
- var Zo = a(({ label: e, error: t, showCount: n, maxLength: r, value: i, className: a, id: o, hint: s, controlSize: c, required: l, "aria-describedby": u, "aria-invalid": d, ...f }, p) => {
9231
- let m = so({
9314
+ var Qo = a(({ label: e, error: t, showCount: n, maxLength: r, value: i, className: a, id: o, hint: s, controlSize: c, required: l, "aria-describedby": u, "aria-invalid": d, ...f }, p) => {
9315
+ let m = co({
9232
9316
  id: o,
9233
9317
  error: t,
9234
9318
  hint: s,
@@ -9279,11 +9363,11 @@ var Zo = a(({ label: e, error: t, showCount: n, maxLength: r, value: i, classNam
9279
9363
  ]
9280
9364
  });
9281
9365
  });
9282
- Zo.displayName = "Textarea";
9366
+ Qo.displayName = "Textarea";
9283
9367
  //#endregion
9284
9368
  //#region src/components/ui/TextInput.tsx
9285
- var Qo = a(({ label: e, error: t, icon: n, className: r, id: i, readOnly: a, hint: o, controlSize: s, required: c, "aria-describedby": l, "aria-invalid": u, ...d }, f) => {
9286
- let p = so({
9369
+ var $o = a(({ label: e, error: t, icon: n, className: r, id: i, readOnly: a, hint: o, controlSize: s, required: c, "aria-describedby": l, "aria-invalid": u, ...d }, f) => {
9370
+ let p = co({
9287
9371
  id: i,
9288
9372
  error: t,
9289
9373
  hint: o,
@@ -9332,10 +9416,10 @@ var Qo = a(({ label: e, error: t, icon: n, className: r, id: i, readOnly: a, hin
9332
9416
  ]
9333
9417
  });
9334
9418
  });
9335
- Qo.displayName = "TextInput";
9419
+ $o.displayName = "TextInput";
9336
9420
  //#endregion
9337
9421
  //#region src/components/ui/Timeline.tsx
9338
- function $o({ items: e, className: t }) {
9422
+ function es({ items: e, className: t }) {
9339
9423
  return /* @__PURE__ */ _("div", {
9340
9424
  className: G("space-y-0", t),
9341
9425
  children: e.map((t, n) => /* @__PURE__ */ v("div", {
@@ -9358,16 +9442,16 @@ function $o({ items: e, className: t }) {
9358
9442
  }
9359
9443
  //#endregion
9360
9444
  //#region src/components/ui/Tooltip.tsx
9361
- var es = {
9445
+ var ts = {
9362
9446
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
9363
9447
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
9364
9448
  left: "right-full top-1/2 -translate-y-1/2 mr-2",
9365
9449
  right: "left-full top-1/2 -translate-y-1/2 ml-2"
9366
9450
  };
9367
- function ts(e, t) {
9451
+ function ns(e, t) {
9368
9452
  return e ? `${e} ${t}` : t;
9369
9453
  }
9370
- function ns({ content: e, placement: t = "top", children: r }) {
9454
+ function rs({ content: e, placement: t = "top", children: r }) {
9371
9455
  let [i, a] = h(!1), s = u();
9372
9456
  return /* @__PURE__ */ v("div", {
9373
9457
  className: "relative inline-flex",
@@ -9375,9 +9459,9 @@ function ns({ content: e, placement: t = "top", children: r }) {
9375
9459
  onMouseLeave: () => a(!1),
9376
9460
  onFocus: () => a(!0),
9377
9461
  onBlur: () => a(!1),
9378
- children: [o(r) ? n(r, { "aria-describedby": ts(r.props["aria-describedby"], s) }) : r, i && /* @__PURE__ */ _("div", {
9462
+ children: [o(r) ? n(r, { "aria-describedby": ns(r.props["aria-describedby"], s) }) : r, i && /* @__PURE__ */ _("div", {
9379
9463
  id: s,
9380
- className: G("text-2xs absolute z-50 px-2 py-1 font-medium whitespace-nowrap", "bg-bg-tertiary text-text-primary border-border rounded border shadow-md", "animate-fade-in pointer-events-none", es[t]),
9464
+ className: G("text-2xs absolute z-50 px-2 py-1 font-medium whitespace-nowrap", "bg-bg-tertiary text-text-primary border-border rounded border shadow-md", "animate-fade-in pointer-events-none", ts[t]),
9381
9465
  role: "tooltip",
9382
9466
  children: e
9383
9467
  })]
@@ -9385,7 +9469,7 @@ function ns({ content: e, placement: t = "top", children: r }) {
9385
9469
  }
9386
9470
  //#endregion
9387
9471
  //#region src/components/ui/Toolbar.tsx
9388
- function rs({ start: e, end: t, children: n, className: r, startClassName: i, endClassName: a }) {
9472
+ function is({ start: e, end: t, children: n, className: r, startClassName: i, endClassName: a }) {
9389
9473
  return /* @__PURE__ */ v("div", {
9390
9474
  className: G("flex items-center justify-between gap-3", r),
9391
9475
  children: [/* @__PURE__ */ _("div", {
@@ -9399,7 +9483,7 @@ function rs({ start: e, end: t, children: n, className: r, startClassName: i, en
9399
9483
  }
9400
9484
  //#endregion
9401
9485
  //#region src/components/ui/UploadDropzone.tsx
9402
- var is = a(function({ title: e = "Drag and drop files here, or click to browse", description: t, icon: n, multiple: r, disabled: i, onChange: a, onFilesChange: o, className: s, id: c, "aria-describedby": l, ...f }, p) {
9486
+ var as = a(function({ title: e = "Drag and drop files here, or click to browse", description: t, icon: n, multiple: r, disabled: i, onChange: a, onFilesChange: o, className: s, id: c, "aria-describedby": l, ...f }, p) {
9403
9487
  let h = m(null);
9404
9488
  d(p, () => h.current, []);
9405
9489
  let g = u(), y = `${c ?? g}-description`;
@@ -9446,15 +9530,15 @@ var is = a(function({ title: e = "Drag and drop files here, or click to browse",
9446
9530
  })
9447
9531
  ]
9448
9532
  });
9449
- }), as = r({ theme: "dark" });
9533
+ }), os = r({ theme: "dark" });
9450
9534
  //#endregion
9451
9535
  //#region src/hooks/useTheme.ts
9452
- function os() {
9453
- return c(as);
9536
+ function ss() {
9537
+ return c(os);
9454
9538
  }
9455
9539
  //#endregion
9456
9540
  //#region src/lib/formatDate.ts
9457
- var ss = [
9541
+ var cs = [
9458
9542
  "Jan",
9459
9543
  "Feb",
9460
9544
  "Mar",
@@ -9468,21 +9552,21 @@ var ss = [
9468
9552
  "Nov",
9469
9553
  "Dec"
9470
9554
  ];
9471
- function cs(e) {
9555
+ function ls(e) {
9472
9556
  return (/* @__PURE__ */ new Date(e + "T00:00:00")).toLocaleDateString("en-US", {
9473
9557
  month: "short",
9474
9558
  day: "numeric",
9475
9559
  year: "numeric"
9476
9560
  });
9477
9561
  }
9478
- function ls(e) {
9562
+ function us(e) {
9479
9563
  return (/* @__PURE__ */ new Date(e + "T00:00:00")).toLocaleDateString("en-US", {
9480
9564
  month: "long",
9481
9565
  day: "numeric",
9482
9566
  year: "numeric"
9483
9567
  });
9484
9568
  }
9485
- function us(e, t = /* @__PURE__ */ new Date()) {
9569
+ function ds(e, t = /* @__PURE__ */ new Date()) {
9486
9570
  let n = t.getTime() - e.getTime(), r = Math.floor(n / 1e3);
9487
9571
  if (r < 60) return "just now";
9488
9572
  let i = Math.floor(r / 60);
@@ -9490,18 +9574,18 @@ function us(e, t = /* @__PURE__ */ new Date()) {
9490
9574
  let a = Math.floor(i / 60);
9491
9575
  if (a < 24) return `${a}h ago`;
9492
9576
  if (Math.floor(a / 24) === 1) return "yesterday";
9493
- let o = `${ss[e.getMonth()]} ${e.getDate()}`;
9577
+ let o = `${cs[e.getMonth()]} ${e.getDate()}`;
9494
9578
  return e.getFullYear() === t.getFullYear() ? o : `${o}, ${e.getFullYear()}`;
9495
9579
  }
9496
9580
  //#endregion
9497
9581
  //#region src/providers/SettingsProvider.tsx
9498
- var ds = {
9582
+ var fs = {
9499
9583
  "archivo-expanded": "\"Archivo\", \"Arial Black\", \"Avenir Next Condensed\", \"HelveticaNeue-CondensedBold\", system-ui, sans-serif",
9500
9584
  inter: "\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, sans-serif",
9501
9585
  "jetbrains-mono": "\"JetBrains Mono\", Menlo, Monaco, Consolas, monospace",
9502
9586
  "pt-serif": "\"PT Serif\", Georgia, ui-serif, Cambria, \"Times New Roman\", Times, serif",
9503
9587
  system: "system-ui, -apple-system, BlinkMacSystemFont, sans-serif"
9504
- }, fs = {
9588
+ }, ps = {
9505
9589
  purple: {
9506
9590
  base: "#7C5CFC",
9507
9591
  hover: "#6B4AEB",
@@ -9558,43 +9642,43 @@ var ds = {
9558
9642
  muted: "rgba(99,102,241,0.15)",
9559
9643
  subtle: "rgba(99,102,241,0.08)"
9560
9644
  }
9561
- }, ps = "leonardaustin-ui-settings", ms = new Set(Object.keys(fs)), hs = new Set(Object.keys(Ot)), gs = new Set(Object.keys(ds)), _s = new Set([
9645
+ }, ms = "leonardaustin-ui-settings", hs = new Set(Object.keys(ps)), gs = new Set(Object.keys(Ot)), _s = new Set(Object.keys(fs)), vs = new Set([
9562
9646
  "light",
9563
9647
  "dark",
9564
9648
  "system"
9565
9649
  ]);
9566
- function vs(e, t, n, r) {
9650
+ function ys(e, t, n, r) {
9567
9651
  return typeof e != "number" || !isFinite(e) ? r : Math.min(n, Math.max(t, e));
9568
9652
  }
9569
- function ys(e) {
9653
+ function bs(e) {
9570
9654
  let t = {};
9571
- if (ms.has(e.accentColor) && (t.accentColor = e.accentColor), _s.has(e.colorMode) && (t.colorMode = e.colorMode), hs.has(e.preferredDarkTheme) && !Ct(e.preferredDarkTheme) && (t.preferredDarkTheme = e.preferredDarkTheme), hs.has(e.preferredLightTheme) && Ct(e.preferredLightTheme) && (t.preferredLightTheme = e.preferredLightTheme), typeof e.sidebarCollapsed == "boolean" && (t.sidebarCollapsed = e.sidebarCollapsed), typeof e.reducedMotion == "boolean" && (t.reducedMotion = e.reducedMotion), typeof e.sidebarWidth == "number" && (t.sidebarWidth = vs(e.sidebarWidth, 160, 400, 220)), e.themeOverrides && typeof e.themeOverrides == "object") {
9655
+ if (hs.has(e.accentColor) && (t.accentColor = e.accentColor), vs.has(e.colorMode) && (t.colorMode = e.colorMode), gs.has(e.preferredDarkTheme) && !Ct(e.preferredDarkTheme) && (t.preferredDarkTheme = e.preferredDarkTheme), gs.has(e.preferredLightTheme) && Ct(e.preferredLightTheme) && (t.preferredLightTheme = e.preferredLightTheme), typeof e.sidebarCollapsed == "boolean" && (t.sidebarCollapsed = e.sidebarCollapsed), typeof e.reducedMotion == "boolean" && (t.reducedMotion = e.reducedMotion), typeof e.sidebarWidth == "number" && (t.sidebarWidth = ys(e.sidebarWidth, 160, 400, 220)), e.themeOverrides && typeof e.themeOverrides == "object") {
9572
9656
  let n = {};
9573
9657
  for (let [t, r] of Object.entries(e.themeOverrides)) {
9574
- if (!hs.has(t) || !r || typeof r != "object") continue;
9658
+ if (!gs.has(t) || !r || typeof r != "object") continue;
9575
9659
  let e = r, i = Ot[t];
9576
9660
  n[t] = {
9577
- uiFont: gs.has(e.uiFont) ? e.uiFont : i.uiFont,
9578
- headingFont: gs.has(e.headingFont) ? e.headingFont : i.headingFont,
9579
- proseFont: gs.has(e.proseFont) ? e.proseFont : i.proseFont,
9580
- controlFont: gs.has(e.controlFont) ? e.controlFont : i.controlFont,
9581
- labelFont: gs.has(e.labelFont) ? e.labelFont : i.labelFont,
9582
- navigationFont: gs.has(e.navigationFont) ? e.navigationFont : i.navigationFont,
9583
- dataFont: gs.has(e.dataFont) ? e.dataFont : i.dataFont,
9584
- codeFont: gs.has(e.codeFont) ? e.codeFont : i.codeFont,
9585
- fontSize: vs(e.fontSize, 11, 18, i.fontSize),
9586
- borderRadius: vs(e.borderRadius, 0, 16, i.borderRadius),
9587
- borderWidth: vs(e.borderWidth, 1, 3, i.borderWidth),
9588
- tracking: vs(e.tracking, 0, .3, i.tracking),
9589
- lineHeight: vs(e.lineHeight, 1.2, 2, i.lineHeight),
9590
- density: vs(e.density, .18, .32, i.density)
9661
+ uiFont: _s.has(e.uiFont) ? e.uiFont : i.uiFont,
9662
+ headingFont: _s.has(e.headingFont) ? e.headingFont : i.headingFont,
9663
+ proseFont: _s.has(e.proseFont) ? e.proseFont : i.proseFont,
9664
+ controlFont: _s.has(e.controlFont) ? e.controlFont : i.controlFont,
9665
+ labelFont: _s.has(e.labelFont) ? e.labelFont : i.labelFont,
9666
+ navigationFont: _s.has(e.navigationFont) ? e.navigationFont : i.navigationFont,
9667
+ dataFont: _s.has(e.dataFont) ? e.dataFont : i.dataFont,
9668
+ codeFont: _s.has(e.codeFont) ? e.codeFont : i.codeFont,
9669
+ fontSize: ys(e.fontSize, 11, 18, i.fontSize),
9670
+ borderRadius: ys(e.borderRadius, 0, 16, i.borderRadius),
9671
+ borderWidth: ys(e.borderWidth, 1, 3, i.borderWidth),
9672
+ tracking: ys(e.tracking, 0, .3, i.tracking),
9673
+ lineHeight: ys(e.lineHeight, 1.2, 2, i.lineHeight),
9674
+ density: ys(e.density, .18, .32, i.density)
9591
9675
  };
9592
9676
  }
9593
9677
  t.themeOverrides = n;
9594
9678
  }
9595
9679
  return t;
9596
9680
  }
9597
- var bs = {
9681
+ var xs = {
9598
9682
  accentColor: "purple",
9599
9683
  sidebarCollapsed: !1,
9600
9684
  sidebarWidth: 220,
@@ -9604,35 +9688,35 @@ var bs = {
9604
9688
  preferredLightTheme: "light",
9605
9689
  themeOverrides: {}
9606
9690
  };
9607
- function xs(e, t) {
9691
+ function Ss(e, t) {
9608
9692
  let n = {
9609
- ...bs,
9610
- ...ys(t ?? {})
9693
+ ...xs,
9694
+ ...bs(t ?? {})
9611
9695
  };
9612
9696
  if (typeof localStorage > "u") return n;
9613
9697
  try {
9614
9698
  let t = localStorage.getItem(e);
9615
9699
  if (t) return {
9616
9700
  ...n,
9617
- ...ys(JSON.parse(t))
9701
+ ...bs(JSON.parse(t))
9618
9702
  };
9619
9703
  } catch (e) {
9620
9704
  console.warn("[SettingsProvider] Failed to load settings:", e);
9621
9705
  }
9622
9706
  return n;
9623
9707
  }
9624
- function Ss(e, t) {
9708
+ function Cs(e, t) {
9625
9709
  let n = Ot[e] ?? Ot.dark;
9626
9710
  return t[e] ? {
9627
9711
  ...n,
9628
9712
  ...t[e]
9629
9713
  } : n;
9630
9714
  }
9631
- function Cs(e, t) {
9715
+ function ws(e, t) {
9632
9716
  return e.uiFont === t.uiFont && e.headingFont === t.headingFont && e.proseFont === t.proseFont && e.controlFont === t.controlFont && e.labelFont === t.labelFont && e.navigationFont === t.navigationFont && e.dataFont === t.dataFont && e.codeFont === t.codeFont && e.fontSize === t.fontSize && e.borderRadius === t.borderRadius && e.borderWidth === t.borderWidth && e.tracking === t.tracking && e.lineHeight === t.lineHeight && e.density === t.density;
9633
9717
  }
9634
- function ws({ children: e, storageKey: t = ps, initialSettings: n, forcedTheme: r }) {
9635
- let [i, a] = h(() => xs(t, n)), [o, c] = h(() => typeof window < "u" && window.matchMedia("(prefers-color-scheme: dark)").matches);
9718
+ function Ts({ children: e, storageKey: t = ms, initialSettings: n, forcedTheme: r }) {
9719
+ let [i, a] = h(() => Ss(t, n)), [o, c] = h(() => typeof window < "u" && window.matchMedia("(prefers-color-scheme: dark)").matches);
9636
9720
  l(() => {
9637
9721
  if (typeof window > "u") return;
9638
9722
  let e = window.matchMedia("(prefers-color-scheme: dark)"), t = (e) => c(e.matches);
@@ -9644,9 +9728,9 @@ function ws({ children: e, storageKey: t = ps, initialSettings: n, forcedTheme:
9644
9728
  i.preferredDarkTheme,
9645
9729
  i.preferredLightTheme,
9646
9730
  o
9647
- ]), [d, f] = h(() => Ss(u, i.themeOverrides));
9731
+ ]), [d, f] = h(() => Cs(u, i.themeOverrides));
9648
9732
  l(() => {
9649
- f(Ss(u, i.themeOverrides));
9733
+ f(Cs(u, i.themeOverrides));
9650
9734
  }, [u]);
9651
9735
  let m = s((e) => {
9652
9736
  a((n) => {
@@ -9663,15 +9747,15 @@ function ws({ children: e, storageKey: t = ps, initialSettings: n, forcedTheme:
9663
9747
  });
9664
9748
  }, [t]);
9665
9749
  l(() => {
9666
- let e = document.documentElement, t = fs[i.accentColor];
9750
+ let e = document.documentElement, t = ps[i.accentColor];
9667
9751
  e.style.setProperty("--accent", t.base), e.style.setProperty("--accent-hover", t.hover), e.style.setProperty("--accent-active", t.active), e.style.setProperty("--accent-muted", t.muted), e.style.setProperty("--accent-subtle", t.subtle);
9668
9752
  }, [i.accentColor]), l(() => {
9669
9753
  document.documentElement.classList.toggle("reduced-motion", i.reducedMotion);
9670
9754
  }, [i.reducedMotion]), l(() => {
9671
9755
  let e = document.documentElement, t = d.borderRadius;
9672
- e.style.fontSize = `${d.fontSize / 13 * 100}%`, e.style.setProperty("--font-ui", ds[d.uiFont]), e.style.setProperty("--font-heading", ds[d.headingFont]), e.style.setProperty("--font-prose", ds[d.proseFont]), e.style.setProperty("--font-control", ds[d.controlFont]), e.style.setProperty("--font-label", ds[d.labelFont]), e.style.setProperty("--font-navigation", ds[d.navigationFont]), e.style.setProperty("--font-data", ds[d.dataFont]), e.style.setProperty("--font-code", ds[d.codeFont]), e.style.setProperty("--ui-radius", t === 0 ? "0" : `${Math.round(t * 2 / 3)}px`), e.style.setProperty("--ui-radius-md", t === 0 ? "0" : `${t}px`), e.style.setProperty("--ui-radius-lg", t === 0 ? "0" : `${Math.round(t * 4 / 3)}px`), e.style.setProperty("--ui-radius-xl", t === 0 ? "0" : `${t * 2}px`), e.style.setProperty("--ui-border-width", `${d.borderWidth}px`), e.style.setProperty("--ui-tracking", `${d.tracking}em`), e.style.setProperty("--ui-line-height", String(d.lineHeight)), e.style.setProperty("--ui-density", `${d.density}rem`);
9756
+ e.style.fontSize = `${d.fontSize / 13 * 100}%`, e.style.setProperty("--font-ui", fs[d.uiFont]), e.style.setProperty("--font-heading", fs[d.headingFont]), e.style.setProperty("--font-prose", fs[d.proseFont]), e.style.setProperty("--font-control", fs[d.controlFont]), e.style.setProperty("--font-label", fs[d.labelFont]), e.style.setProperty("--font-navigation", fs[d.navigationFont]), e.style.setProperty("--font-data", fs[d.dataFont]), e.style.setProperty("--font-code", fs[d.codeFont]), e.style.setProperty("--ui-radius", t === 0 ? "0" : `${Math.round(t * 2 / 3)}px`), e.style.setProperty("--ui-radius-md", t === 0 ? "0" : `${t}px`), e.style.setProperty("--ui-radius-lg", t === 0 ? "0" : `${Math.round(t * 4 / 3)}px`), e.style.setProperty("--ui-radius-xl", t === 0 ? "0" : `${t * 2}px`), e.style.setProperty("--ui-border-width", `${d.borderWidth}px`), e.style.setProperty("--ui-tracking", `${d.tracking}em`), e.style.setProperty("--ui-line-height", String(d.lineHeight)), e.style.setProperty("--ui-density", `${d.density}rem`);
9673
9757
  }, [d]);
9674
- let g = p(() => Ss(u, i.themeOverrides), [u, i.themeOverrides]), v = u in i.themeOverrides, y = !Cs(d, g), b = s(() => {
9758
+ let g = p(() => Cs(u, i.themeOverrides), [u, i.themeOverrides]), v = u in i.themeOverrides, y = !ws(d, g), b = s(() => {
9675
9759
  m({ themeOverrides: {
9676
9760
  ...i.themeOverrides,
9677
9761
  [u]: { ...d }
@@ -9795,7 +9879,7 @@ function ws({ children: e, storageKey: t = ps, initialSettings: n, forcedTheme:
9795
9879
  }
9796
9880
  //#endregion
9797
9881
  //#region src/providers/ThemeProvider.tsx
9798
- var Ts = {
9882
+ var Es = {
9799
9883
  dark: "",
9800
9884
  light: "theme-light",
9801
9885
  lightInverted: "theme-light-inverted",
@@ -9805,23 +9889,23 @@ var Ts = {
9805
9889
  cyberBrutalLight: "theme-cyber-brutal-light",
9806
9890
  hashiTheme: "theme-hashi"
9807
9891
  };
9808
- function Es({ children: e }) {
9892
+ function Ds({ children: e }) {
9809
9893
  let { resolvedTheme: t } = c(Mt);
9810
9894
  return l(() => {
9811
9895
  let e = document.documentElement;
9812
- Object.values(Ts).forEach((t) => {
9896
+ Object.values(Es).forEach((t) => {
9813
9897
  t && e.classList.remove(t);
9814
9898
  });
9815
- let n = Ts[t];
9899
+ let n = Es[t];
9816
9900
  n && e.classList.add(n);
9817
- }, [t]), /* @__PURE__ */ _(as.Provider, {
9901
+ }, [t]), /* @__PURE__ */ _(os.Provider, {
9818
9902
  value: { theme: t },
9819
9903
  children: e
9820
9904
  });
9821
9905
  }
9822
9906
  //#endregion
9823
9907
  //#region src/components/ui/FormField.tsx
9824
- function Ds({ id: e, label: t, hint: n, error: r, required: i, optionalLabel: a, children: o, className: s, ...c }) {
9908
+ function Os({ id: e, label: t, hint: n, error: r, required: i, optionalLabel: a, children: o, className: s, ...c }) {
9825
9909
  let l = u(), d = e ?? l, f = n ? `${d}-hint` : void 0, p = r ? `${d}-error` : void 0, m = {
9826
9910
  id: d,
9827
9911
  "aria-describedby": Rn(f, p),
@@ -9866,13 +9950,13 @@ function Ds({ id: e, label: t, hint: n, error: r, required: i, optionalLabel: a,
9866
9950
  })
9867
9951
  });
9868
9952
  }
9869
- function Os({ className: e, ...t }) {
9953
+ function ks({ className: e, ...t }) {
9870
9954
  return /* @__PURE__ */ _("p", {
9871
9955
  ...t,
9872
9956
  className: G("text-text-secondary text-xs", e)
9873
9957
  });
9874
9958
  }
9875
- function ks({ className: e, ...t }) {
9959
+ function As({ className: e, ...t }) {
9876
9960
  return /* @__PURE__ */ _("p", {
9877
9961
  ...t,
9878
9962
  className: G("text-red text-xs", e)
@@ -9880,7 +9964,7 @@ function ks({ className: e, ...t }) {
9880
9964
  }
9881
9965
  //#endregion
9882
9966
  //#region src/components/ui/Fieldset.tsx
9883
- function As({ id: e, legend: t, hint: n, error: r, children: i, className: a, "aria-describedby": o, ...s }) {
9967
+ function js({ id: e, legend: t, hint: n, error: r, children: i, className: a, "aria-describedby": o, ...s }) {
9884
9968
  let c = u(), l = e ?? c, d = n ? `${l}-hint` : void 0, f = r ? `${l}-error` : void 0, p = Rn(o, d, f);
9885
9969
  return /* @__PURE__ */ v("fieldset", {
9886
9970
  ...s,
@@ -9914,7 +9998,7 @@ function As({ id: e, legend: t, hint: n, error: r, children: i, className: a, "a
9914
9998
  }
9915
9999
  //#endregion
9916
10000
  //#region src/components/ui/Radio.tsx
9917
- var js = a(({ label: e, description: t, controlSize: n, className: r, id: i, "aria-describedby": a, "aria-invalid": o, ...s }, l) => {
10001
+ var Ms = a(({ label: e, description: t, controlSize: n, className: r, id: i, "aria-describedby": a, "aria-invalid": o, ...s }, l) => {
9918
10002
  let d = u(), f = an(n), p = c(Ln), m = i ?? p?.id ?? d, h = t ? `${m}-description` : void 0;
9919
10003
  return /* @__PURE__ */ v("label", {
9920
10004
  className: G("ui-choice flex items-start gap-2.5", r),
@@ -9937,14 +10021,14 @@ var js = a(({ label: e, description: t, controlSize: n, className: r, id: i, "ar
9937
10021
  })]
9938
10022
  });
9939
10023
  });
9940
- js.displayName = "Radio";
9941
- function Ms({ name: e, id: t, options: n, value: r, onChange: i, required: a, disabled: o, controlSize: s, ...c }) {
10024
+ Ms.displayName = "Radio";
10025
+ function Ns({ name: e, id: t, options: n, value: r, onChange: i, required: a, disabled: o, controlSize: s, ...c }) {
9942
10026
  let l = u(), d = t ?? l;
9943
- return /* @__PURE__ */ _(As, {
10027
+ return /* @__PURE__ */ _(js, {
9944
10028
  ...c,
9945
10029
  id: d,
9946
10030
  disabled: o,
9947
- children: n.map((t, n) => /* @__PURE__ */ _(js, {
10031
+ children: n.map((t, n) => /* @__PURE__ */ _(Ms, {
9948
10032
  id: `${d}-${n}`,
9949
10033
  name: e ?? d,
9950
10034
  value: t.value,
@@ -9958,17 +10042,17 @@ function Ms({ name: e, id: t, options: n, value: r, onChange: i, required: a, di
9958
10042
  }, t.value))
9959
10043
  });
9960
10044
  }
9961
- var Ns = Object.assign(js, { Group: Ms }), Ps = {
10045
+ var Ps = Object.assign(Ms, { Group: Ns }), Fs = {
9962
10046
  pending: "Pending",
9963
10047
  uploading: "Uploading",
9964
10048
  processing: "Processing",
9965
10049
  ready: "Ready",
9966
10050
  error: "Upload failed"
9967
10051
  };
9968
- function Fs(e) {
10052
+ function Is(e) {
9969
10053
  return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(1)} MB`;
9970
10054
  }
9971
- function Is({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, onRetry: a, onRemove: o, onDownload: s, downloadHref: c, actionsDisabled: l, className: u, ...d }) {
10055
+ function Ls({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, onRetry: a, onRemove: o, onDownload: s, downloadHref: c, actionsDisabled: l, className: u, ...d }) {
9972
10056
  return /* @__PURE__ */ v("li", {
9973
10057
  ...d,
9974
10058
  className: G("ui-attachment-item border-border flex items-center justify-between gap-3 rounded-md border p-3", u),
@@ -9981,7 +10065,7 @@ function Is({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, o
9981
10065
  }),
9982
10066
  t !== void 0 && /* @__PURE__ */ _("p", {
9983
10067
  className: "text-text-tertiary text-2xs",
9984
- children: Fs(t)
10068
+ children: Is(t)
9985
10069
  }),
9986
10070
  /* @__PURE__ */ v("div", {
9987
10071
  role: "status",
@@ -9990,7 +10074,7 @@ function Is({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, o
9990
10074
  children: [
9991
10075
  e,
9992
10076
  ": ",
9993
- i ?? r ?? Ps[n]
10077
+ i ?? r ?? Fs[n]
9994
10078
  ]
9995
10079
  })
9996
10080
  ]
@@ -10032,7 +10116,7 @@ function Is({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, o
10032
10116
  })]
10033
10117
  });
10034
10118
  }
10035
- function Ls({ children: e, className: t, "aria-label": n = "Attachments", ...r }) {
10119
+ function Rs({ children: e, className: t, "aria-label": n = "Attachments", ...r }) {
10036
10120
  return /* @__PURE__ */ _("ul", {
10037
10121
  ...r,
10038
10122
  "aria-label": n,
@@ -10042,7 +10126,7 @@ function Ls({ children: e, className: t, "aria-label": n = "Attachments", ...r }
10042
10126
  }
10043
10127
  //#endregion
10044
10128
  //#region src/lib/dateParts.ts
10045
- function Rs(e, { required: t = !1, minYear: n = 1900, maxYear: r = 2100 } = {}) {
10129
+ function zs(e, { required: t = !1, minYear: n = 1900, maxYear: r = 2100 } = {}) {
10046
10130
  let i = [
10047
10131
  e.day,
10048
10132
  e.month,
@@ -10072,10 +10156,10 @@ function Rs(e, { required: t = !1, minYear: n = 1900, maxYear: r = 2100 } = {})
10072
10156
  }
10073
10157
  //#endregion
10074
10158
  //#region src/components/ui/DatePartsInput.tsx
10075
- function zs({ value: e, onChange: t, label: n, hint: r, error: i, id: a, name: o, disabled: s, required: c, className: d, inputProps: f, minYear: p = 1900, maxYear: g = 2100 }) {
10159
+ function Bs({ value: e, onChange: t, label: n, hint: r, error: i, id: a, name: o, disabled: s, required: c, className: d, inputProps: f, minYear: p = 1900, maxYear: g = 2100 }) {
10076
10160
  let y = u(), b = m({}), [x, S] = h(!1);
10077
10161
  if (!Number.isInteger(p) || !Number.isInteger(g) || p < 1 || g > 9999 || p > g) throw RangeError("DatePartsInput requires year bounds between 1 and 9999, with minYear <= maxYear");
10078
- let C = Rs(e, {
10162
+ let C = zs(e, {
10079
10163
  required: c,
10080
10164
  minYear: p,
10081
10165
  maxYear: g
@@ -10124,7 +10208,7 @@ function zs({ value: e, onChange: t, label: n, hint: r, error: i, id: a, name: o
10124
10208
  "year"
10125
10209
  ].map((n) => /* @__PURE__ */ v("div", {
10126
10210
  className: "ui-date-part",
10127
- children: [/* @__PURE__ */ _(Qo, {
10211
+ children: [/* @__PURE__ */ _($o, {
10128
10212
  inputMode: "numeric",
10129
10213
  "data-1p-ignore": "true",
10130
10214
  ...f?.[n],
@@ -10191,7 +10275,7 @@ function zs({ value: e, onChange: t, label: n, hint: r, error: i, id: a, name: o
10191
10275
  }
10192
10276
  //#endregion
10193
10277
  //#region src/components/ui/Skeleton.tsx
10194
- function Bs({ className: e, width: t, height: n, style: r, ...i }) {
10278
+ function Vs({ className: e, width: t, height: n, style: r, ...i }) {
10195
10279
  return /* @__PURE__ */ _("div", {
10196
10280
  ...i,
10197
10281
  "aria-hidden": "true",
@@ -10205,7 +10289,7 @@ function Bs({ className: e, width: t, height: n, style: r, ...i }) {
10205
10289
  }
10206
10290
  //#endregion
10207
10291
  //#region src/components/ui/NavTabs.tsx
10208
- function Vs({ items: e, activeKey: t, renderLink: n, className: r, "aria-label": i = "Sections", ...a }) {
10292
+ function Hs({ items: e, activeKey: t, renderLink: n, className: r, "aria-label": i = "Sections", ...a }) {
10209
10293
  return /* @__PURE__ */ _("nav", {
10210
10294
  ...a,
10211
10295
  "aria-label": i,
@@ -10229,7 +10313,7 @@ function Vs({ items: e, activeKey: t, renderLink: n, className: r, "aria-label":
10229
10313
  }
10230
10314
  //#endregion
10231
10315
  //#region src/components/ui/CharacterCount.tsx
10232
- function Hs({ value: e, maxLength: t, announcementDelay: n = 1e3, className: r, ...i }) {
10316
+ function Us({ value: e, maxLength: t, announcementDelay: n = 1e3, className: r, ...i }) {
10233
10317
  let a = t - e.length, o = Math.abs(a), s = `${o} ${o === 1 ? "character" : "characters"} ${a < 0 ? "over the limit" : "remaining"}`, [c, u] = h(s);
10234
10318
  return l(() => {
10235
10319
  let e = setTimeout(() => u(s), n);
@@ -10251,7 +10335,7 @@ function Hs({ value: e, maxLength: t, announcementDelay: n = 1e3, className: r,
10251
10335
  }
10252
10336
  //#endregion
10253
10337
  //#region src/providers/ControlSizeProvider.tsx
10254
- function Us({ size: e, children: t }) {
10338
+ function Ws({ size: e, children: t }) {
10255
10339
  return /* @__PURE__ */ _(rn.Provider, {
10256
10340
  value: e,
10257
10341
  children: t
@@ -10259,7 +10343,7 @@ function Us({ size: e, children: t }) {
10259
10343
  }
10260
10344
  //#endregion
10261
10345
  //#region src/components/ui/ProgressBar.tsx
10262
- var Ws = a(function({ label: e, value: t, min: n = 0, max: r = 100, color: i = "accent", striped: a = !1, animated: o = !1, id: s, className: c, ...l }, d) {
10346
+ var Gs = a(function({ label: e, value: t, min: n = 0, max: r = 100, color: i = "accent", striped: a = !1, animated: o = !1, id: s, className: c, ...l }, d) {
10263
10347
  let f = u(), p = s ?? f;
10264
10348
  if (!Number.isFinite(n) || !Number.isFinite(r) || r <= n) throw RangeError("ProgressBar requires a finite max greater than min");
10265
10349
  if (t !== void 0 && !Number.isFinite(t)) throw RangeError("ProgressBar value must be finite");
@@ -10297,31 +10381,31 @@ var Ws = a(function({ label: e, value: t, min: n = 0, max: r = 100, color: i = "
10297
10381
  });
10298
10382
  //#endregion
10299
10383
  //#region src/components/ui/Stack.tsx
10300
- function Gs({ as: e, gap: t = 0, align: n = "stretch", justify: r = "start", className: a, style: o, ...s }) {
10384
+ function Ks({ as: e, gap: t = 0, align: n = "stretch", justify: r = "start", className: a, style: o, ...s }) {
10301
10385
  return i(e ?? "div", {
10302
10386
  ...s,
10303
10387
  className: G("ui-stack", a),
10304
10388
  style: {
10305
- ...qa(t),
10306
- "--ui-align": Ja(n),
10307
- "--ui-justify": Ya(r),
10389
+ ...Ja(t),
10390
+ "--ui-align": Ya(n),
10391
+ "--ui-justify": Xa(r),
10308
10392
  ...o
10309
10393
  }
10310
10394
  });
10311
10395
  }
10312
10396
  //#endregion
10313
10397
  //#region src/components/ui/Inline.tsx
10314
- function Ks({ as: e, gap: t = 0, gapX: n, gapY: r, align: a = "stretch", justify: o = "start", wrap: s = !1, inline: c = !1, stackBelow: l, className: u, style: d, ...f }) {
10398
+ function qs({ as: e, gap: t = 0, gapX: n, gapY: r, align: a = "stretch", justify: o = "start", wrap: s = !1, inline: c = !1, stackBelow: l, className: u, style: d, ...f }) {
10315
10399
  return i(e ?? "div", {
10316
10400
  ...f,
10317
10401
  className: G("ui-inline", u),
10318
10402
  style: {
10319
- ...qa(t, n, r),
10320
- "--ui-align": Ja(a),
10321
- "--ui-justify": Ya(o),
10403
+ ...Ja(t, n, r),
10404
+ "--ui-align": Ya(a),
10405
+ "--ui-justify": Xa(o),
10322
10406
  "--ui-wrap": s ? "wrap" : "nowrap",
10323
10407
  "--ui-display": c ? "inline-flex" : "flex",
10324
- ...Ga("direction", l ? {
10408
+ ...Ka("direction", l ? {
10325
10409
  base: "column",
10326
10410
  [l]: "row"
10327
10411
  } : "row", (e) => e, "row"),
@@ -10331,13 +10415,13 @@ function Ks({ as: e, gap: t = 0, gapX: n, gapY: r, align: a = "stretch", justify
10331
10415
  }
10332
10416
  //#endregion
10333
10417
  //#region src/components/ui/Grid.tsx
10334
- function qs({ as: e, columns: t = 1, gap: n = 0, gapX: r, gapY: a, align: o = "stretch", justify: s = "stretch", className: c, style: l, ...u }) {
10418
+ function Js({ as: e, columns: t = 1, gap: n = 0, gapX: r, gapY: a, align: o = "stretch", justify: s = "stretch", className: c, style: l, ...u }) {
10335
10419
  return i(e ?? "div", {
10336
10420
  ...u,
10337
10421
  className: G("ui-grid", c),
10338
10422
  style: {
10339
- ...qa(n, r, a),
10340
- ...Ga("columns", t, Ka, 1),
10423
+ ...Ja(n, r, a),
10424
+ ...Ka("columns", t, qa, 1),
10341
10425
  "--ui-align": o,
10342
10426
  "--ui-justify": s,
10343
10427
  ...l
@@ -10346,19 +10430,19 @@ function qs({ as: e, columns: t = 1, gap: n = 0, gapX: r, gapY: a, align: o = "s
10346
10430
  }
10347
10431
  //#endregion
10348
10432
  //#region src/components/ui/GridItem.tsx
10349
- function Js({ as: e, span: t = 1, className: n, style: r, ...a }) {
10433
+ function Ys({ as: e, span: t = 1, className: n, style: r, ...a }) {
10350
10434
  return i(e ?? "div", {
10351
10435
  ...a,
10352
10436
  className: G("ui-grid-item", n),
10353
10437
  style: {
10354
- ...Ga("span", t, (e) => `span ${e} / span ${e}`, 1),
10438
+ ...Ka("span", t, (e) => `span ${e} / span ${e}`, 1),
10355
10439
  ...r
10356
10440
  }
10357
10441
  });
10358
10442
  }
10359
10443
  //#endregion
10360
10444
  //#region src/components/tables/Table.tsx
10361
- function Ys({ caption: e, captionHidden: t = !1, stickyHeader: n = !1, maxHeight: r, wrapperClassName: i, wrapperProps: a, className: o, children: s, ...c }) {
10445
+ function Xs({ caption: e, captionHidden: t = !1, stickyHeader: n = !1, maxHeight: r, wrapperClassName: i, wrapperProps: a, className: o, children: s, ...c }) {
10362
10446
  return /* @__PURE__ */ _("div", {
10363
10447
  ...a,
10364
10448
  className: G("ui-table-wrap", a?.className, i),
@@ -10377,26 +10461,26 @@ function Ys({ caption: e, captionHidden: t = !1, stickyHeader: n = !1, maxHeight
10377
10461
  })
10378
10462
  });
10379
10463
  }
10380
- function Xs({ className: e, ...t }) {
10464
+ function Zs({ className: e, ...t }) {
10381
10465
  return /* @__PURE__ */ _("thead", {
10382
10466
  ...t,
10383
10467
  className: G("ui-table-head", e)
10384
10468
  });
10385
10469
  }
10386
- function Zs({ className: e, ...t }) {
10470
+ function Qs({ className: e, ...t }) {
10387
10471
  return /* @__PURE__ */ _("tbody", {
10388
10472
  ...t,
10389
10473
  className: G("ui-table-body", e)
10390
10474
  });
10391
10475
  }
10392
- function Qs({ selected: e, interactive: t = !1, className: n, ...r }) {
10476
+ function $s({ selected: e, interactive: t = !1, className: n, ...r }) {
10393
10477
  return /* @__PURE__ */ _("tr", {
10394
10478
  ...r,
10395
10479
  "aria-selected": e ?? r["aria-selected"],
10396
10480
  className: G("ui-table-row", t && "ui-table-interactive", n)
10397
10481
  });
10398
10482
  }
10399
- function $s({ numeric: e = !1, align: t, sort: n, scope: r = "col", className: i, style: a, ...o }) {
10483
+ function ec({ numeric: e = !1, align: t, sort: n, scope: r = "col", className: i, style: a, ...o }) {
10400
10484
  return /* @__PURE__ */ _("th", {
10401
10485
  ...o,
10402
10486
  scope: r,
@@ -10408,7 +10492,7 @@ function $s({ numeric: e = !1, align: t, sort: n, scope: r = "col", className: i
10408
10492
  }
10409
10493
  });
10410
10494
  }
10411
- function ec({ numeric: e = !1, align: t, nowrap: n = !1, className: r, style: i, ...a }) {
10495
+ function tc({ numeric: e = !1, align: t, nowrap: n = !1, className: r, style: i, ...a }) {
10412
10496
  return /* @__PURE__ */ _("td", {
10413
10497
  ...a,
10414
10498
  className: G("ui-table-cell", e && "ui-table-numeric", n && "ui-table-nowrap", r),
@@ -10418,7 +10502,7 @@ function ec({ numeric: e = !1, align: t, nowrap: n = !1, className: r, style: i,
10418
10502
  }
10419
10503
  });
10420
10504
  }
10421
- function tc({ colSpan: e, children: t, className: n, ...r }) {
10505
+ function nc({ colSpan: e, children: t, className: n, ...r }) {
10422
10506
  return /* @__PURE__ */ _("tr", {
10423
10507
  ...r,
10424
10508
  className: G("ui-table-empty-row", n),
@@ -10430,4 +10514,4 @@ function tc({ colSpan: e, children: t, className: n, ...r }) {
10430
10514
  });
10431
10515
  }
10432
10516
  //#endregion
10433
- export { qn as Alert, Pn as AppShell, He as AreaChart, Is as AttachmentItem, Ls as AttachmentList, Jn as AuthCard, Fn as AuthLayout, Yn as AuthorByline, Lt as Avatar, In as BackLink, Qn as Badge, Ge as BarChart, ut as BottomNav, tn as Breadcrumbs, fn as Button, pt as COMMAND_PALETTE_EVENT, zi as Calendar, Ki as CalendarGrid, qi as Card, Hs as CharacterCount, zn as Checkbox, $i as CodeInput, Hn as ColumnPicker, ea as Combobox, vt as CommandPalette, Us as ControlSizeProvider, Ai as DEFAULT_CALENDAR_LABELS, mt as DEFAULT_COMMAND_PALETTE_SHORTCUT, ta as DangerZone, zs as DatePartsInput, ra as DatePicker, sa as DateRangePicker, pa as DateTimePicker, va as DetailPanel, Fa as Dialog, Ia as DialogActions, La as DividerLabel, qe as DonutChart, Ra as DropdownMenu, za as EmptyState, Ba as ErrorBoundary, ks as FieldError, Os as FieldHint, As as Fieldset, Bn as FilterButton, Va as FilterDropdown, Ds as FormField, qs as Grid, Js as GridItem, Ks as Inline, Ha as Kbd, Wa as LoadingSpinner, Xa as MetadataGrid, Za as MetricCard, bt as MobileDrawer, Vs as NavTabs, no as OAuthButton, ro as PageHeader, io as PageSection, Un as Pagination, oo as PaginationBar, co as PasswordInput, fo as PasswordRequirements, po as ProfileHeader, Ws as ProgressBar, mo as ProseContent, ho as QrCapacityError, Ro as QrCode, Je as RadarChart, Ye as RadialBarChart, Ns as Radio, ji as RadioPill, Gn as ResourceTable, zo as SearchInput, pn as SectionHeader, Bo as Select, xn as SelectDropdown, Vo as SettingRow, Mt as SettingsContext, ws as SettingsProvider, Ho as SideSheet, $t as Sidebar, Bs as Skeleton, Sn as Slider, Xe as SparkLine, Go as SplitPaneLayout, Gs as Stack, rt as StackedBarChart, Jo as StatusDot, Yo as StepProgress, Tn as THEME_MENU_EVENT, Ys as Table, Zs as TableBody, ec as TableCell, tc as TableEmptyRow, Xs as TableHead, $s as TableHeaderCell, Qs as TableRow, Xo as Tabs, Qo as TextInput, Zo as Textarea, as as ThemeContext, On as ThemeMenu, Cn as ThemePreview, Es as ThemeProvider, $o as Timeline, Bt as ToastProvider, wn as Toggle, rs as Toolbar, ns as Tooltip, Mn as TopBar, is as UploadDropzone, ot as VerticalBarChart, At as accentItems, Q as addDays, or as addMinutes, sr as addMonths, tr as calendarDateFromParts, Z as calendarDateParts, G as cn, Xr as createCalendarDateMath, Tt as darkThemes, mr as dateAtMinutes, lo as defaultPasswordRequirements, dr as differenceInDays, Lo as encodeQrCode, Ur as expandAvailabilityRules, kt as fontOptions, ls as formatDateLong, cs as formatDateShort, Mr as formatRangeTitle, us as formatRelative, Or as formatTime, gr as formatTimeOfDay, kr as formatTimeRange, vr as fromDateKey, Hr as getActiveResourceIds, wr as getViewRange, Sr as getVisibleDays, ct as handleAppShellNavigate, Yr as isAllDayLike, st as isAppShellPathActive, Ct as isLightTheme, ur as isSameDay, xr as isTimeGridView, Lr as layoutOverlaps, wt as lightThemes, gt as matchesCommandPaletteShortcut, uo as meetsPasswordRequirements, fr as minutesOfDay, lt as navigateToPath, ht as openCommandPalette, En as openThemeMenu, hr as parseTime, Nr as rangesOverlap, Tr as shiftDate, br as snapDate, yr as snapMinutes, Wn as sortRows, ar as startOfDay, lr as startOfMonth, cr as startOfWeek, Ot as themeDefaults, xt as themeItems, _r as toDateKey, nn as useApplyTheme, an as useControlSize, jt as useDismiss, ft as useFocusTrap, Nt as useSettings, os as useTheme, zt as useToast };
10517
+ export { qn as Alert, Pn as AppShell, He as AreaChart, Ls as AttachmentItem, Rs as AttachmentList, Jn as AuthCard, Fn as AuthLayout, Yn as AuthorByline, Lt as Avatar, In as BackLink, Qn as Badge, Ge as BarChart, ut as BottomNav, tn as Breadcrumbs, fn as Button, pt as COMMAND_PALETTE_EVENT, Bi as Calendar, qi as CalendarGrid, Ji as Card, Us as CharacterCount, zn as Checkbox, ea as CodeInput, Hn as ColumnPicker, ta as Combobox, vt as CommandPalette, Ws as ControlSizeProvider, ji as DEFAULT_CALENDAR_LABELS, mt as DEFAULT_COMMAND_PALETTE_SHORTCUT, na as DangerZone, Bs as DatePartsInput, ia as DatePicker, ca as DateRangePicker, ma as DateTimePicker, ya as DetailPanel, Ia as Dialog, La as DialogActions, Ra as DividerLabel, qe as DonutChart, za as DropdownMenu, Ba as EmptyState, Va as ErrorBoundary, As as FieldError, ks as FieldHint, js as Fieldset, Bn as FilterButton, Ha as FilterDropdown, Os as FormField, Js as Grid, Ys as GridItem, qs as Inline, Ua as Kbd, Ga as LoadingSpinner, Za as MetadataGrid, Qa as MetricCard, bt as MobileDrawer, Hs as NavTabs, ro as OAuthButton, io as PageHeader, ao as PageSection, Un as Pagination, so as PaginationBar, lo as PasswordInput, po as PasswordRequirements, mo as ProfileHeader, Gs as ProgressBar, ho as ProseContent, go as QrCapacityError, zo as QrCode, Je as RadarChart, Ye as RadialBarChart, Ps as Radio, Mi as RadioPill, Gn as ResourceTable, Bo as SearchInput, pn as SectionHeader, Vo as Select, xn as SelectDropdown, Ho as SettingRow, Mt as SettingsContext, Ts as SettingsProvider, Uo as SideSheet, $t as Sidebar, Vs as Skeleton, Sn as Slider, Xe as SparkLine, Ko as SplitPaneLayout, Ks as Stack, rt as StackedBarChart, Yo as StatusDot, Xo as StepProgress, Tn as THEME_MENU_EVENT, Xs as Table, Qs as TableBody, tc as TableCell, nc as TableEmptyRow, Zs as TableHead, ec as TableHeaderCell, $s as TableRow, Zo as Tabs, $o as TextInput, Qo as Textarea, os as ThemeContext, On as ThemeMenu, Cn as ThemePreview, Ds as ThemeProvider, es as Timeline, Bt as ToastProvider, wn as Toggle, is as Toolbar, rs as Tooltip, Mn as TopBar, as as UploadDropzone, ot as VerticalBarChart, At as accentItems, Q as addDays, or as addMinutes, sr as addMonths, tr as calendarDateFromParts, Z as calendarDateParts, G as cn, Xr as createCalendarDateMath, Tt as darkThemes, mr as dateAtMinutes, uo as defaultPasswordRequirements, dr as differenceInDays, Ro as encodeQrCode, Ur as expandAvailabilityRules, kt as fontOptions, us as formatDateLong, ls as formatDateShort, Mr as formatRangeTitle, ds as formatRelative, Or as formatTime, gr as formatTimeOfDay, kr as formatTimeRange, vr as fromDateKey, Hr as getActiveResourceIds, wr as getViewRange, Sr as getVisibleDays, ct as handleAppShellNavigate, Yr as isAllDayLike, st as isAppShellPathActive, Ct as isLightTheme, ur as isSameDay, xr as isTimeGridView, Lr as layoutOverlaps, wt as lightThemes, gt as matchesCommandPaletteShortcut, fo as meetsPasswordRequirements, fr as minutesOfDay, lt as navigateToPath, ht as openCommandPalette, En as openThemeMenu, hr as parseTime, Nr as rangesOverlap, Tr as shiftDate, br as snapDate, yr as snapMinutes, Wn as sortRows, ar as startOfDay, lr as startOfMonth, cr as startOfWeek, Ot as themeDefaults, xt as themeItems, _r as toDateKey, nn as useApplyTheme, an as useControlSize, jt as useDismiss, ft as useFocusTrap, Nt as useSettings, ss as useTheme, zt as useToast };