@leonardaustin/ui 0.8.0 → 0.9.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
@@ -7954,10 +7954,51 @@ function Wa({ className: e, size: t = "md" }) {
7954
7954
  });
7955
7955
  }
7956
7956
  //#endregion
7957
+ //#region src/lib/layout.ts
7958
+ function Ga(e, t, n, r) {
7959
+ let i = typeof t == "object" ? t : { base: t }, a = { [`--ui-${e}-base`]: n(i.base ?? r) };
7960
+ for (let t of [
7961
+ "sm",
7962
+ "md",
7963
+ "lg",
7964
+ "xl"
7965
+ ]) a[`--ui-${e}-${t}`] = i[t] === void 0 ? "initial" : n(i[t]);
7966
+ return a;
7967
+ }
7968
+ function Ka(e) {
7969
+ return typeof e == "number" ? `repeat(${e}, minmax(0, 1fr))` : e;
7970
+ }
7971
+ function qa(e = 0, t, n) {
7972
+ return {
7973
+ "--ui-gap": `calc(var(--spacing) * ${e})`,
7974
+ "--ui-gap-x": t === void 0 ? "initial" : `calc(var(--spacing) * ${t})`,
7975
+ "--ui-gap-y": n === void 0 ? "initial" : `calc(var(--spacing) * ${n})`
7976
+ };
7977
+ }
7978
+ function Ja(e) {
7979
+ return e === "start" || e === "end" ? `flex-${e}` : e;
7980
+ }
7981
+ function Ya(e) {
7982
+ return e === "between" || e === "around" || e === "evenly" ? `space-${e}` : Ja(e);
7983
+ }
7984
+ //#endregion
7957
7985
  //#region src/components/ui/MetadataGrid.tsx
7958
- function Ga({ items: e, labelWidth: n = "100px", className: r }) {
7959
- return /* @__PURE__ */ _("div", {
7960
- className: G("gap-x-3 gap-y-2 text-xs", r),
7986
+ function Xa({ items: e, labelWidth: n = "100px", layout: r = "inline", columns: i = 1, gap: a = 3, className: o }) {
7987
+ return r === "stacked" ? /* @__PURE__ */ _("dl", {
7988
+ className: G("ui-grid text-xs", o),
7989
+ style: {
7990
+ ...Ga("columns", i, Ka, 1),
7991
+ ...qa(a)
7992
+ },
7993
+ children: e.map((e) => /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("dt", {
7994
+ className: "text-text-tertiary font-label",
7995
+ children: e.label
7996
+ }), /* @__PURE__ */ _("dd", {
7997
+ className: G((typeof e.value == "string" || typeof e.value == "number") && "text-text-primary font-data"),
7998
+ children: e.value
7999
+ })] }, e.label))
8000
+ }) : /* @__PURE__ */ _("div", {
8001
+ className: G("gap-x-3 gap-y-2 text-xs", o),
7961
8002
  style: {
7962
8003
  display: "grid",
7963
8004
  gridTemplateColumns: `${n} 1fr`
@@ -7973,7 +8014,7 @@ function Ga({ items: e, labelWidth: n = "100px", className: r }) {
7973
8014
  }
7974
8015
  //#endregion
7975
8016
  //#region src/components/ui/MetricCard.tsx
7976
- function Ka({ label: e, value: t, sub: n, trend: r, bar: i, icon: a, iconColor: o, className: s }) {
8017
+ function Za({ label: e, value: t, sub: n, trend: r, bar: i, icon: a, iconColor: o, className: s }) {
7977
8018
  let c = r?.tone === "positive" ? "text-green" : r?.tone === "negative" ? "text-red" : "text-text-tertiary";
7978
8019
  return /* @__PURE__ */ v("div", {
7979
8020
  className: G("bg-bg-secondary border-border relative overflow-hidden rounded-md border p-3", s),
@@ -8013,7 +8054,7 @@ function Ka({ label: e, value: t, sub: n, trend: r, bar: i, icon: a, iconColor:
8013
8054
  }
8014
8055
  //#endregion
8015
8056
  //#region src/components/ui/OAuthButton.tsx
8016
- function qa() {
8057
+ function Qa() {
8017
8058
  return /* @__PURE__ */ v("svg", {
8018
8059
  className: "h-3.5 w-3.5",
8019
8060
  viewBox: "0 0 24 24",
@@ -8038,7 +8079,7 @@ function qa() {
8038
8079
  ]
8039
8080
  });
8040
8081
  }
8041
- function Ja() {
8082
+ function $a() {
8042
8083
  return /* @__PURE__ */ _("svg", {
8043
8084
  className: "h-3.5 w-3.5",
8044
8085
  viewBox: "0 0 24 24",
@@ -8047,25 +8088,25 @@ function Ja() {
8047
8088
  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" })
8048
8089
  });
8049
8090
  }
8050
- var Ya = {
8091
+ var eo = {
8051
8092
  github: "GitHub",
8052
8093
  google: "Google"
8053
- }, Xa = {
8054
- github: Ja,
8055
- google: qa
8094
+ }, to = {
8095
+ github: $a,
8096
+ google: Qa
8056
8097
  };
8057
- function Za({ provider: e, children: t, ...n }) {
8058
- let r = Xa[e];
8098
+ function no({ provider: e, children: t, ...n }) {
8099
+ let r = to[e];
8059
8100
  return /* @__PURE__ */ v(fn, {
8060
8101
  variant: "secondary",
8061
8102
  size: "md",
8062
8103
  ...n,
8063
- children: [/* @__PURE__ */ _(r, {}), t ?? Ya[e]]
8104
+ children: [/* @__PURE__ */ _(r, {}), t ?? eo[e]]
8064
8105
  });
8065
8106
  }
8066
8107
  //#endregion
8067
8108
  //#region src/components/ui/PageHeader.tsx
8068
- function Qa({ title: e, subtitle: t, actions: n, className: r, eyebrow: i, headingLevel: a = 1, wrap: o = !1 }) {
8109
+ function ro({ title: e, subtitle: t, actions: n, className: r, eyebrow: i, headingLevel: a = 1, wrap: o = !1 }) {
8069
8110
  let s = `h${a}`;
8070
8111
  return /* @__PURE__ */ v("div", {
8071
8112
  className: G("flex items-center justify-between gap-3", o && "flex-wrap", r),
@@ -8093,7 +8134,7 @@ function Qa({ title: e, subtitle: t, actions: n, className: r, eyebrow: i, headi
8093
8134
  }
8094
8135
  //#endregion
8095
8136
  //#region src/components/ui/PageSection.tsx
8096
- function $a({ title: e, description: t, actions: n, children: r, as: i = "h2", className: a, headerClassName: o, contentClassName: s }) {
8137
+ function io({ title: e, description: t, actions: n, children: r, as: i = "h2", className: a, headerClassName: o, contentClassName: s }) {
8097
8138
  return /* @__PURE__ */ v("section", {
8098
8139
  className: G("space-y-4", a),
8099
8140
  children: [(e || t || n) && /* @__PURE__ */ v("div", {
@@ -8119,7 +8160,7 @@ function $a({ title: e, description: t, actions: n, children: r, as: i = "h2", c
8119
8160
  }
8120
8161
  //#endregion
8121
8162
  //#region src/components/ui/PaginationBar.tsx
8122
- var eo = [
8163
+ var ao = [
8123
8164
  {
8124
8165
  value: "10",
8125
8166
  label: "10 per page"
@@ -8133,7 +8174,7 @@ var eo = [
8133
8174
  label: "50 per page"
8134
8175
  }
8135
8176
  ];
8136
- function to({ page: e, pageSize: t, total: n, pageSizeOptions: r = eo, onPageChange: i, onPageSizeChange: a, className: o }) {
8177
+ function oo({ page: e, pageSize: t, total: n, pageSizeOptions: r = ao, onPageChange: i, onPageSizeChange: a, className: o }) {
8137
8178
  let s = Math.ceil(n / t), c = Math.min((e - 1) * t + 1, n), l = Math.min(e * t, n);
8138
8179
  return /* @__PURE__ */ v("div", {
8139
8180
  className: G("flex items-center justify-between", o),
@@ -8164,7 +8205,7 @@ function to({ page: e, pageSize: t, total: n, pageSizeOptions: r = eo, onPageCha
8164
8205
  }
8165
8206
  //#endregion
8166
8207
  //#region src/components/ui/useFieldControl.ts
8167
- function no({ id: e, error: t, hint: n, describedBy: r, invalid: i, required: a }) {
8208
+ function so({ id: e, error: t, hint: n, describedBy: r, invalid: i, required: a }) {
8168
8209
  let o = u(), s = c(Ln), l = e ?? s?.id ?? o, d = t ? `${l}-error` : void 0, f = n ? `${l}-hint` : void 0;
8169
8210
  return {
8170
8211
  inputId: l,
@@ -8177,8 +8218,8 @@ function no({ id: e, error: t, hint: n, describedBy: r, invalid: i, required: a
8177
8218
  }
8178
8219
  //#endregion
8179
8220
  //#region src/components/ui/PasswordInput.tsx
8180
- var ro = a(({ label: e, error: t, className: n, id: r, hint: i, controlSize: a, required: o, "aria-describedby": s, "aria-invalid": c, ...l }, u) => {
8181
- let d = no({
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({
8182
8223
  id: r,
8183
8224
  error: t,
8184
8225
  hint: i,
@@ -8230,8 +8271,8 @@ var ro = a(({ label: e, error: t, className: n, id: r, hint: i, controlSize: a,
8230
8271
  ]
8231
8272
  });
8232
8273
  });
8233
- ro.displayName = "PasswordInput";
8234
- var io = Object.freeze([
8274
+ co.displayName = "PasswordInput";
8275
+ var lo = Object.freeze([
8235
8276
  {
8236
8277
  label: "At least 8 characters",
8237
8278
  test: (e) => e.length >= 8
@@ -8249,12 +8290,12 @@ var io = Object.freeze([
8249
8290
  test: (e) => /\d/.test(e)
8250
8291
  }
8251
8292
  ]);
8252
- function ao(e, t = io) {
8293
+ function uo(e, t = lo) {
8253
8294
  return t.every((t) => t.test(e));
8254
8295
  }
8255
8296
  //#endregion
8256
8297
  //#region src/components/ui/PasswordRequirements.tsx
8257
- function oo({ password: e, requirements: t = io, showWhenEmpty: n = !1, className: r }) {
8298
+ function fo({ password: e, requirements: t = lo, showWhenEmpty: n = !1, className: r }) {
8258
8299
  return !n && e.length === 0 ? null : /* @__PURE__ */ _("ul", {
8259
8300
  "aria-label": "Password requirements",
8260
8301
  className: G("space-y-1", r),
@@ -8281,7 +8322,7 @@ function oo({ password: e, requirements: t = io, showWhenEmpty: n = !1, classNam
8281
8322
  }
8282
8323
  //#endregion
8283
8324
  //#region src/components/ui/ProfileHeader.tsx
8284
- function so({ name: e, subtitle: t, badge: n, meta: r, action: i, className: a }) {
8325
+ function po({ name: e, subtitle: t, badge: n, meta: r, action: i, className: a }) {
8285
8326
  return /* @__PURE__ */ v("div", {
8286
8327
  className: G("flex items-start gap-4", a),
8287
8328
  children: [
@@ -8329,7 +8370,7 @@ function so({ name: e, subtitle: t, badge: n, meta: r, action: i, className: a }
8329
8370
  }
8330
8371
  //#endregion
8331
8372
  //#region src/components/ui/ProseContent.tsx
8332
- function co({ children: e, className: t }) {
8373
+ function mo({ children: e, className: t }) {
8333
8374
  return /* @__PURE__ */ _("div", {
8334
8375
  className: G("ui-prose", t),
8335
8376
  children: e
@@ -8337,21 +8378,21 @@ function co({ children: e, className: t }) {
8337
8378
  }
8338
8379
  //#endregion
8339
8380
  //#region src/lib/qrCode.ts
8340
- var lo = class extends RangeError {
8381
+ var ho = class extends RangeError {
8341
8382
  constructor() {
8342
8383
  super("Text is too long to encode as a QR code"), this.name = "QrCapacityError";
8343
8384
  }
8344
- }, uo = {
8385
+ }, go = {
8345
8386
  L: 0,
8346
8387
  M: 1,
8347
8388
  Q: 2,
8348
8389
  H: 3
8349
- }, fo = {
8390
+ }, _o = {
8350
8391
  L: 1,
8351
8392
  M: 0,
8352
8393
  Q: 3,
8353
8394
  H: 2
8354
- }, po = [
8395
+ }, vo = [
8355
8396
  [
8356
8397
  -1,
8357
8398
  7,
@@ -8524,7 +8565,7 @@ var lo = class extends RangeError {
8524
8565
  30,
8525
8566
  30
8526
8567
  ]
8527
- ], mo = [
8568
+ ], yo = [
8528
8569
  [
8529
8570
  -1,
8530
8571
  1,
@@ -8698,7 +8739,7 @@ var lo = class extends RangeError {
8698
8739
  81
8699
8740
  ]
8700
8741
  ];
8701
- function ho(e) {
8742
+ function bo(e) {
8702
8743
  let t = (16 * e + 128) * e + 64;
8703
8744
  if (e >= 2) {
8704
8745
  let n = Math.floor(e / 7) + 2;
@@ -8706,43 +8747,43 @@ function ho(e) {
8706
8747
  }
8707
8748
  return t;
8708
8749
  }
8709
- function go(e, t) {
8710
- let n = uo[t];
8711
- return Math.floor(ho(e) / 8) - po[n][e] * mo[n][e];
8750
+ function xo(e, t) {
8751
+ let n = go[t];
8752
+ return Math.floor(bo(e) / 8) - vo[n][e] * yo[n][e];
8712
8753
  }
8713
- function _o(e) {
8754
+ function So(e) {
8714
8755
  if (e === 1) return [];
8715
8756
  let t = Math.floor(e / 7) + 2, n = Math.floor((e * 8 + t * 3 + 5) / (t * 4 - 4)) * 2, r = [6];
8716
8757
  for (let i = e * 4 + 17 - 7; r.length < t; i -= n) r.splice(1, 0, i);
8717
8758
  return r;
8718
8759
  }
8719
- function vo(e, t) {
8760
+ function Co(e, t) {
8720
8761
  let n = 0;
8721
8762
  for (let r = 7; r >= 0; r--) n = n << 1 ^ (n >>> 7) * 285, n ^= (t >>> r & 1) * e;
8722
8763
  return n;
8723
8764
  }
8724
- function yo(e) {
8765
+ function wo(e) {
8725
8766
  let t = Array(e).fill(0);
8726
8767
  t[e - 1] = 1;
8727
8768
  let n = 1;
8728
8769
  for (let r = 0; r < e; r++) {
8729
- for (let e = 0; e < t.length; e++) t[e] = vo(t[e], n), e + 1 < t.length && (t[e] ^= t[e + 1]);
8730
- n = vo(n, 2);
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);
8731
8772
  }
8732
8773
  return t;
8733
8774
  }
8734
- function bo(e, t) {
8775
+ function To(e, t) {
8735
8776
  let n = Array(t.length).fill(0);
8736
8777
  for (let r of e) {
8737
8778
  let e = r ^ n.shift();
8738
8779
  n.push(0), t.forEach((t, r) => {
8739
- n[r] ^= vo(t, e);
8780
+ n[r] ^= Co(t, e);
8740
8781
  });
8741
8782
  }
8742
8783
  return n;
8743
8784
  }
8744
- function xo(e, t, n) {
8745
- let r = go(t, n) * 8, i = [], a = (e, t) => {
8785
+ function Eo(e, t, n) {
8786
+ let r = xo(t, n) * 8, i = [], a = (e, t) => {
8746
8787
  for (let n = t - 1; n >= 0; n--) i.push(e >>> n & 1);
8747
8788
  };
8748
8789
  a(4, 4), a(e.length, t <= 9 ? 8 : 16);
@@ -8753,12 +8794,12 @@ function xo(e, t, n) {
8753
8794
  for (let e = 0; e < i.length; e += 8) o.push(i.slice(e, e + 8).reduce((e, t) => e << 1 | t));
8754
8795
  return o;
8755
8796
  }
8756
- function So(e, t, n) {
8757
- let r = uo[n], i = mo[r][t], a = po[r][t], o = Math.floor(ho(t) / 8), s = i - o % i, c = Math.floor(o / i), l = yo(a), u = [];
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 = [];
8758
8799
  for (let t = 0, n = 0; t < i; t++) {
8759
8800
  let r = c - a + (t < s ? 0 : 1), i = e.slice(n, n + r);
8760
8801
  n += r;
8761
- let o = bo(i, l);
8802
+ let o = To(i, l);
8762
8803
  t < s && i.push(0), u.push(i.concat(o));
8763
8804
  }
8764
8805
  let d = [];
@@ -8767,7 +8808,7 @@ function So(e, t, n) {
8767
8808
  });
8768
8809
  return d;
8769
8810
  }
8770
- var Co = class {
8811
+ var Oo = class {
8771
8812
  size;
8772
8813
  modules;
8773
8814
  isFunction;
@@ -8778,7 +8819,7 @@ var Co = class {
8778
8819
  this.modules[t][e] = n, this.isFunction[t][e] = !0;
8779
8820
  }
8780
8821
  };
8781
- function wo(e, t) {
8822
+ function ko(e, t) {
8782
8823
  let { size: n } = e;
8783
8824
  for (let t = 0; t < n; t++) e.setFunction(6, t, t % 2 == 0), e.setFunction(t, 6, t % 2 == 0);
8784
8825
  for (let [t, r] of [
@@ -8791,15 +8832,15 @@ function wo(e, t) {
8791
8832
  let c = Math.max(Math.abs(a), Math.abs(i));
8792
8833
  e.setFunction(o, s, c !== 2 && c !== 4);
8793
8834
  }
8794
- let r = _o(t), i = r.length - 1;
8835
+ let r = So(t), i = r.length - 1;
8795
8836
  r.forEach((t, n) => {
8796
8837
  r.forEach((r, a) => {
8797
8838
  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);
8798
8839
  });
8799
- }), To(e, "M", 0), Eo(e, t);
8840
+ }), Ao(e, "M", 0), jo(e, t);
8800
8841
  }
8801
- function To(e, t, n) {
8802
- let r = fo[t] << 3 | n, i = r;
8842
+ function Ao(e, t, n) {
8843
+ let r = _o[t] << 3 | n, i = r;
8803
8844
  for (let e = 0; e < 10; e++) i = i << 1 ^ (i >>> 9) * 1335;
8804
8845
  let a = (r << 10 | i) ^ 21522, o = (e) => (a >>> e & 1) != 0, { size: s } = e;
8805
8846
  for (let t = 0; t <= 5; t++) e.setFunction(8, t, o(t));
@@ -8809,7 +8850,7 @@ function To(e, t, n) {
8809
8850
  for (let t = 8; t < 15; t++) e.setFunction(8, s - 15 + t, o(t));
8810
8851
  e.setFunction(8, s - 8, !0);
8811
8852
  }
8812
- function Eo(e, t) {
8853
+ function jo(e, t) {
8813
8854
  if (t < 7) return;
8814
8855
  let n = t;
8815
8856
  for (let e = 0; e < 12; e++) n = n << 1 ^ (n >>> 11) * 7973;
@@ -8819,7 +8860,7 @@ function Eo(e, t) {
8819
8860
  e.setFunction(i, a, n), e.setFunction(a, i, n);
8820
8861
  }
8821
8862
  }
8822
- function Do(e, t) {
8863
+ function Mo(e, t) {
8823
8864
  let { size: n } = e, r = 0;
8824
8865
  for (let i = n - 1; i >= 1; i -= 2) {
8825
8866
  i === 6 && (i = 5);
@@ -8833,7 +8874,7 @@ function Do(e, t) {
8833
8874
  }
8834
8875
  }
8835
8876
  }
8836
- var Oo = [
8877
+ var No = [
8837
8878
  (e, t) => (e + t) % 2 == 0,
8838
8879
  (e, t) => t % 2 == 0,
8839
8880
  (e) => e % 3 == 0,
@@ -8843,10 +8884,10 @@ var Oo = [
8843
8884
  (e, t) => (e * t % 2 + e * t % 3) % 2 == 0,
8844
8885
  (e, t) => ((e + t) % 2 + e * t % 3) % 2 == 0
8845
8886
  ];
8846
- function ko(e, t) {
8847
- for (let n = 0; n < e.size; n++) for (let r = 0; r < e.size; r++) !e.isFunction[n][r] && Oo[t](r, n) && (e.modules[n][r] = !e.modules[n][r]);
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]);
8848
8889
  }
8849
- var Ao = [[
8890
+ var Fo = [[
8850
8891
  !0,
8851
8892
  !1,
8852
8893
  !0,
@@ -8871,12 +8912,12 @@ var Ao = [[
8871
8912
  !1,
8872
8913
  !0
8873
8914
  ]];
8874
- function jo(e) {
8915
+ function Io(e) {
8875
8916
  let t = e.length, n = (t, n, r) => r ? e[t][n] : e[n][t], r = 0;
8876
8917
  for (let e of [!1, !0]) for (let i = 0; i < t; i++) {
8877
8918
  let a = 1;
8878
8919
  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);
8879
- for (let a = 0; a + 11 <= t; a++) for (let t of Ao) t.every((t, r) => n(a + r, i, e) === t) && (r += 40);
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);
8880
8921
  }
8881
8922
  for (let n = 0; n < t - 1; n++) for (let i = 0; i < t - 1; i++) {
8882
8923
  let t = e[n][i];
@@ -8885,20 +8926,20 @@ function jo(e) {
8885
8926
  let i = e.reduce((e, t) => e + t.filter(Boolean).length, 0) * 100 / (t * t);
8886
8927
  return r += Math.floor(Math.abs(i - 50) / 5) * 10, r;
8887
8928
  }
8888
- function Mo(e, t = "M") {
8889
- if (!Object.hasOwn(uo, t)) throw RangeError(`Invalid QR error correction level "${t}"; expected L, M, Q or H`);
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`);
8890
8931
  let n = new TextEncoder().encode(e), r = 1;
8891
- for (; r <= 40 && !(4 + (r <= 9 ? 8 : 16) + n.length * 8 <= go(r, t) * 8); r++);
8892
- if (r > 40) throw new lo();
8893
- let i = So(xo(n, r, t), r, t), a = new Co(r * 4 + 17);
8894
- wo(a, r), Do(a, i);
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);
8895
8936
  let o = 0, s = Infinity;
8896
8937
  for (let e = 0; e < 8; e++) {
8897
- ko(a, e), To(a, t, e);
8898
- let n = jo(a.modules);
8899
- n < s && (s = n, o = e), ko(a, 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);
8900
8941
  }
8901
- return ko(a, o), To(a, t, o), {
8942
+ return Po(a, o), Ao(a, t, o), {
8902
8943
  size: a.size,
8903
8944
  version: r,
8904
8945
  modules: a.modules
@@ -8906,13 +8947,13 @@ function Mo(e, t = "M") {
8906
8947
  }
8907
8948
  //#endregion
8908
8949
  //#region src/components/ui/QrCode.tsx
8909
- function No({ value: e, errorCorrection: t = "M", size: n = 160, margin: r = 4, "aria-label": i = "QR code", fallback: a = null, className: o }) {
8950
+ function Ro({ value: e, errorCorrection: t = "M", size: n = 160, margin: r = 4, "aria-label": i = "QR code", fallback: a = null, className: o }) {
8910
8951
  let s = p(() => {
8911
8952
  if (!e) return null;
8912
8953
  try {
8913
- return Mo(e, t);
8954
+ return Lo(e, t);
8914
8955
  } catch (e) {
8915
- if (e instanceof lo) return "too-long";
8956
+ if (e instanceof ho) return "too-long";
8916
8957
  throw e;
8917
8958
  }
8918
8959
  }, [e, t]);
@@ -8946,7 +8987,7 @@ function No({ value: e, errorCorrection: t = "M", size: n = 160, margin: r = 4,
8946
8987
  }
8947
8988
  //#endregion
8948
8989
  //#region src/components/ui/SearchInput.tsx
8949
- function Po({ value: e, onChange: t, placeholder: n = "Search...", className: r }) {
8990
+ function zo({ value: e, onChange: t, placeholder: n = "Search...", className: r }) {
8950
8991
  return /* @__PURE__ */ v("div", {
8951
8992
  className: G("relative", r),
8952
8993
  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", {
@@ -8960,8 +9001,8 @@ function Po({ value: e, onChange: t, placeholder: n = "Search...", className: r
8960
9001
  }
8961
9002
  //#endregion
8962
9003
  //#region src/components/ui/Select.tsx
8963
- var Fo = 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) => {
8964
- let f = no({
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({
8965
9006
  id: i,
8966
9007
  error: t,
8967
9008
  hint: a,
@@ -9009,10 +9050,10 @@ var Fo = a(({ label: e, error: t, options: n, className: r, id: i, hint: a, cont
9009
9050
  ]
9010
9051
  });
9011
9052
  });
9012
- Fo.displayName = "Select";
9053
+ Bo.displayName = "Select";
9013
9054
  //#endregion
9014
9055
  //#region src/components/ui/SettingRow.tsx
9015
- function Io({ label: e, description: t, action: n, className: r }) {
9056
+ function Vo({ label: e, description: t, action: n, className: r }) {
9016
9057
  return /* @__PURE__ */ v("div", {
9017
9058
  className: G("border-border flex items-center justify-between border-b py-3", r),
9018
9059
  children: [/* @__PURE__ */ v("div", {
@@ -9032,7 +9073,7 @@ function Io({ label: e, description: t, action: n, className: r }) {
9032
9073
  }
9033
9074
  //#endregion
9034
9075
  //#region src/components/ui/SideSheet.tsx
9035
- function Lo({ open: e, onClose: t, title: n, children: r, footer: i, side: a = "right", widthClassName: o = "w-[360px]", className: s, contentClassName: c }) {
9076
+ function Ho({ open: e, onClose: t, title: n, children: r, footer: i, side: a = "right", widthClassName: o = "w-[360px]", className: s, contentClassName: c }) {
9036
9077
  let u = an(), d = m(null);
9037
9078
  return ft(d, e), l(() => {
9038
9079
  if (!e) return;
@@ -9086,41 +9127,41 @@ function Lo({ open: e, onClose: t, title: n, children: r, footer: i, side: a = "
9086
9127
  }
9087
9128
  //#endregion
9088
9129
  //#region src/components/ui/SplitPaneLayout.tsx
9089
- function Ro({ children: e, direction: t = "row", className: n }) {
9130
+ function Uo({ children: e, direction: t = "row", className: n }) {
9090
9131
  return /* @__PURE__ */ _("div", {
9091
9132
  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),
9092
9133
  children: e
9093
9134
  });
9094
9135
  }
9095
- function zo({ children: e, className: t }) {
9136
+ function Wo({ children: e, className: t }) {
9096
9137
  return /* @__PURE__ */ _("div", {
9097
9138
  className: G("flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden", t),
9098
9139
  children: e
9099
9140
  });
9100
9141
  }
9101
- var Bo = Object.assign(Ro, { Main: zo }), Vo = {
9142
+ var Go = Object.assign(Uo, { Main: Wo }), Ko = {
9102
9143
  active: "bg-green",
9103
9144
  inactive: "bg-text-tertiary",
9104
9145
  pending: "bg-yellow animate-pulse-subtle",
9105
9146
  error: "bg-red"
9106
- }, Ho = {
9147
+ }, qo = {
9107
9148
  active: "text-green",
9108
9149
  inactive: "text-text-tertiary",
9109
9150
  pending: "text-yellow",
9110
9151
  error: "text-red"
9111
9152
  };
9112
- function Uo({ status: e, label: t, className: n }) {
9153
+ function Jo({ status: e, label: t, className: n }) {
9113
9154
  return /* @__PURE__ */ v("span", {
9114
9155
  className: G("inline-flex items-center gap-1.5", n),
9115
- children: [/* @__PURE__ */ _("span", { className: G("h-2 w-2 rounded-full", Vo[e]) }), t && /* @__PURE__ */ _("span", {
9116
- className: G("text-xs", Ho[e]),
9156
+ children: [/* @__PURE__ */ _("span", { className: G("h-2 w-2 rounded-full", Ko[e]) }), t && /* @__PURE__ */ _("span", {
9157
+ className: G("text-xs", qo[e]),
9117
9158
  children: t
9118
9159
  })]
9119
9160
  });
9120
9161
  }
9121
9162
  //#endregion
9122
9163
  //#region src/components/ui/StepProgress.tsx
9123
- function Wo({ steps: e, currentStep: t, className: n }) {
9164
+ function Yo({ steps: e, currentStep: t, className: n }) {
9124
9165
  return /* @__PURE__ */ _("div", {
9125
9166
  className: G("flex items-center justify-between", n),
9126
9167
  children: e.map((n, r) => /* @__PURE__ */ v("div", {
@@ -9147,7 +9188,7 @@ function Wo({ steps: e, currentStep: t, className: n }) {
9147
9188
  }
9148
9189
  //#endregion
9149
9190
  //#region src/components/ui/Tabs.tsx
9150
- function Go({ tabs: e, defaultTab: t, value: n, onChange: r, className: i }) {
9191
+ function Xo({ tabs: e, defaultTab: t, value: n, onChange: r, className: i }) {
9151
9192
  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);
9152
9193
  function d(e) {
9153
9194
  n === void 0 && o(e), r?.(e);
@@ -9186,8 +9227,8 @@ function Go({ tabs: e, defaultTab: t, value: n, onChange: r, className: i }) {
9186
9227
  }
9187
9228
  //#endregion
9188
9229
  //#region src/components/ui/Textarea.tsx
9189
- var Ko = 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) => {
9190
- let m = no({
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({
9191
9232
  id: o,
9192
9233
  error: t,
9193
9234
  hint: s,
@@ -9238,11 +9279,11 @@ var Ko = a(({ label: e, error: t, showCount: n, maxLength: r, value: i, classNam
9238
9279
  ]
9239
9280
  });
9240
9281
  });
9241
- Ko.displayName = "Textarea";
9282
+ Zo.displayName = "Textarea";
9242
9283
  //#endregion
9243
9284
  //#region src/components/ui/TextInput.tsx
9244
- 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) => {
9245
- let p = no({
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({
9246
9287
  id: i,
9247
9288
  error: t,
9248
9289
  hint: o,
@@ -9291,10 +9332,10 @@ var qo = a(({ label: e, error: t, icon: n, className: r, id: i, readOnly: a, hin
9291
9332
  ]
9292
9333
  });
9293
9334
  });
9294
- qo.displayName = "TextInput";
9335
+ Qo.displayName = "TextInput";
9295
9336
  //#endregion
9296
9337
  //#region src/components/ui/Timeline.tsx
9297
- function Jo({ items: e, className: t }) {
9338
+ function $o({ items: e, className: t }) {
9298
9339
  return /* @__PURE__ */ _("div", {
9299
9340
  className: G("space-y-0", t),
9300
9341
  children: e.map((t, n) => /* @__PURE__ */ v("div", {
@@ -9317,16 +9358,16 @@ function Jo({ items: e, className: t }) {
9317
9358
  }
9318
9359
  //#endregion
9319
9360
  //#region src/components/ui/Tooltip.tsx
9320
- var Yo = {
9361
+ var es = {
9321
9362
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
9322
9363
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
9323
9364
  left: "right-full top-1/2 -translate-y-1/2 mr-2",
9324
9365
  right: "left-full top-1/2 -translate-y-1/2 ml-2"
9325
9366
  };
9326
- function Xo(e, t) {
9367
+ function ts(e, t) {
9327
9368
  return e ? `${e} ${t}` : t;
9328
9369
  }
9329
- function Zo({ content: e, placement: t = "top", children: r }) {
9370
+ function ns({ content: e, placement: t = "top", children: r }) {
9330
9371
  let [i, a] = h(!1), s = u();
9331
9372
  return /* @__PURE__ */ v("div", {
9332
9373
  className: "relative inline-flex",
@@ -9334,9 +9375,9 @@ function Zo({ content: e, placement: t = "top", children: r }) {
9334
9375
  onMouseLeave: () => a(!1),
9335
9376
  onFocus: () => a(!0),
9336
9377
  onBlur: () => a(!1),
9337
- children: [o(r) ? n(r, { "aria-describedby": Xo(r.props["aria-describedby"], s) }) : r, i && /* @__PURE__ */ _("div", {
9378
+ children: [o(r) ? n(r, { "aria-describedby": ts(r.props["aria-describedby"], s) }) : r, i && /* @__PURE__ */ _("div", {
9338
9379
  id: s,
9339
- 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", Yo[t]),
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]),
9340
9381
  role: "tooltip",
9341
9382
  children: e
9342
9383
  })]
@@ -9344,7 +9385,7 @@ function Zo({ content: e, placement: t = "top", children: r }) {
9344
9385
  }
9345
9386
  //#endregion
9346
9387
  //#region src/components/ui/Toolbar.tsx
9347
- function Qo({ start: e, end: t, children: n, className: r, startClassName: i, endClassName: a }) {
9388
+ function rs({ start: e, end: t, children: n, className: r, startClassName: i, endClassName: a }) {
9348
9389
  return /* @__PURE__ */ v("div", {
9349
9390
  className: G("flex items-center justify-between gap-3", r),
9350
9391
  children: [/* @__PURE__ */ _("div", {
@@ -9358,7 +9399,7 @@ function Qo({ start: e, end: t, children: n, className: r, startClassName: i, en
9358
9399
  }
9359
9400
  //#endregion
9360
9401
  //#region src/components/ui/UploadDropzone.tsx
9361
- var $o = 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) {
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) {
9362
9403
  let h = m(null);
9363
9404
  d(p, () => h.current, []);
9364
9405
  let g = u(), y = `${c ?? g}-description`;
@@ -9405,15 +9446,15 @@ var $o = a(function({ title: e = "Drag and drop files here, or click to browse",
9405
9446
  })
9406
9447
  ]
9407
9448
  });
9408
- }), es = r({ theme: "dark" });
9449
+ }), as = r({ theme: "dark" });
9409
9450
  //#endregion
9410
9451
  //#region src/hooks/useTheme.ts
9411
- function ts() {
9412
- return c(es);
9452
+ function os() {
9453
+ return c(as);
9413
9454
  }
9414
9455
  //#endregion
9415
9456
  //#region src/lib/formatDate.ts
9416
- var ns = [
9457
+ var ss = [
9417
9458
  "Jan",
9418
9459
  "Feb",
9419
9460
  "Mar",
@@ -9427,21 +9468,21 @@ var ns = [
9427
9468
  "Nov",
9428
9469
  "Dec"
9429
9470
  ];
9430
- function rs(e) {
9471
+ function cs(e) {
9431
9472
  return (/* @__PURE__ */ new Date(e + "T00:00:00")).toLocaleDateString("en-US", {
9432
9473
  month: "short",
9433
9474
  day: "numeric",
9434
9475
  year: "numeric"
9435
9476
  });
9436
9477
  }
9437
- function is(e) {
9478
+ function ls(e) {
9438
9479
  return (/* @__PURE__ */ new Date(e + "T00:00:00")).toLocaleDateString("en-US", {
9439
9480
  month: "long",
9440
9481
  day: "numeric",
9441
9482
  year: "numeric"
9442
9483
  });
9443
9484
  }
9444
- function as(e, t = /* @__PURE__ */ new Date()) {
9485
+ function us(e, t = /* @__PURE__ */ new Date()) {
9445
9486
  let n = t.getTime() - e.getTime(), r = Math.floor(n / 1e3);
9446
9487
  if (r < 60) return "just now";
9447
9488
  let i = Math.floor(r / 60);
@@ -9449,18 +9490,18 @@ function as(e, t = /* @__PURE__ */ new Date()) {
9449
9490
  let a = Math.floor(i / 60);
9450
9491
  if (a < 24) return `${a}h ago`;
9451
9492
  if (Math.floor(a / 24) === 1) return "yesterday";
9452
- let o = `${ns[e.getMonth()]} ${e.getDate()}`;
9493
+ let o = `${ss[e.getMonth()]} ${e.getDate()}`;
9453
9494
  return e.getFullYear() === t.getFullYear() ? o : `${o}, ${e.getFullYear()}`;
9454
9495
  }
9455
9496
  //#endregion
9456
9497
  //#region src/providers/SettingsProvider.tsx
9457
- var os = {
9498
+ var ds = {
9458
9499
  "archivo-expanded": "\"Archivo\", \"Arial Black\", \"Avenir Next Condensed\", \"HelveticaNeue-CondensedBold\", system-ui, sans-serif",
9459
9500
  inter: "\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, sans-serif",
9460
9501
  "jetbrains-mono": "\"JetBrains Mono\", Menlo, Monaco, Consolas, monospace",
9461
9502
  "pt-serif": "\"PT Serif\", Georgia, ui-serif, Cambria, \"Times New Roman\", Times, serif",
9462
9503
  system: "system-ui, -apple-system, BlinkMacSystemFont, sans-serif"
9463
- }, ss = {
9504
+ }, fs = {
9464
9505
  purple: {
9465
9506
  base: "#7C5CFC",
9466
9507
  hover: "#6B4AEB",
@@ -9517,43 +9558,43 @@ var os = {
9517
9558
  muted: "rgba(99,102,241,0.15)",
9518
9559
  subtle: "rgba(99,102,241,0.08)"
9519
9560
  }
9520
- }, cs = "leonardaustin-ui-settings", ls = new Set(Object.keys(ss)), us = new Set(Object.keys(Ot)), ds = new Set(Object.keys(os)), fs = new Set([
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([
9521
9562
  "light",
9522
9563
  "dark",
9523
9564
  "system"
9524
9565
  ]);
9525
- function ps(e, t, n, r) {
9566
+ function vs(e, t, n, r) {
9526
9567
  return typeof e != "number" || !isFinite(e) ? r : Math.min(n, Math.max(t, e));
9527
9568
  }
9528
- function ms(e) {
9569
+ function ys(e) {
9529
9570
  let t = {};
9530
- if (ls.has(e.accentColor) && (t.accentColor = e.accentColor), fs.has(e.colorMode) && (t.colorMode = e.colorMode), us.has(e.preferredDarkTheme) && !Ct(e.preferredDarkTheme) && (t.preferredDarkTheme = e.preferredDarkTheme), us.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 = ps(e.sidebarWidth, 160, 400, 220)), e.themeOverrides && typeof e.themeOverrides == "object") {
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") {
9531
9572
  let n = {};
9532
9573
  for (let [t, r] of Object.entries(e.themeOverrides)) {
9533
- if (!us.has(t) || !r || typeof r != "object") continue;
9574
+ if (!hs.has(t) || !r || typeof r != "object") continue;
9534
9575
  let e = r, i = Ot[t];
9535
9576
  n[t] = {
9536
- uiFont: ds.has(e.uiFont) ? e.uiFont : i.uiFont,
9537
- headingFont: ds.has(e.headingFont) ? e.headingFont : i.headingFont,
9538
- proseFont: ds.has(e.proseFont) ? e.proseFont : i.proseFont,
9539
- controlFont: ds.has(e.controlFont) ? e.controlFont : i.controlFont,
9540
- labelFont: ds.has(e.labelFont) ? e.labelFont : i.labelFont,
9541
- navigationFont: ds.has(e.navigationFont) ? e.navigationFont : i.navigationFont,
9542
- dataFont: ds.has(e.dataFont) ? e.dataFont : i.dataFont,
9543
- codeFont: ds.has(e.codeFont) ? e.codeFont : i.codeFont,
9544
- fontSize: ps(e.fontSize, 11, 18, i.fontSize),
9545
- borderRadius: ps(e.borderRadius, 0, 16, i.borderRadius),
9546
- borderWidth: ps(e.borderWidth, 1, 3, i.borderWidth),
9547
- tracking: ps(e.tracking, 0, .3, i.tracking),
9548
- lineHeight: ps(e.lineHeight, 1.2, 2, i.lineHeight),
9549
- density: ps(e.density, .18, .32, i.density)
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)
9550
9591
  };
9551
9592
  }
9552
9593
  t.themeOverrides = n;
9553
9594
  }
9554
9595
  return t;
9555
9596
  }
9556
- var hs = {
9597
+ var bs = {
9557
9598
  accentColor: "purple",
9558
9599
  sidebarCollapsed: !1,
9559
9600
  sidebarWidth: 220,
@@ -9563,35 +9604,35 @@ var hs = {
9563
9604
  preferredLightTheme: "light",
9564
9605
  themeOverrides: {}
9565
9606
  };
9566
- function gs(e, t) {
9607
+ function xs(e, t) {
9567
9608
  let n = {
9568
- ...hs,
9569
- ...ms(t ?? {})
9609
+ ...bs,
9610
+ ...ys(t ?? {})
9570
9611
  };
9571
9612
  if (typeof localStorage > "u") return n;
9572
9613
  try {
9573
9614
  let t = localStorage.getItem(e);
9574
9615
  if (t) return {
9575
9616
  ...n,
9576
- ...ms(JSON.parse(t))
9617
+ ...ys(JSON.parse(t))
9577
9618
  };
9578
9619
  } catch (e) {
9579
9620
  console.warn("[SettingsProvider] Failed to load settings:", e);
9580
9621
  }
9581
9622
  return n;
9582
9623
  }
9583
- function _s(e, t) {
9624
+ function Ss(e, t) {
9584
9625
  let n = Ot[e] ?? Ot.dark;
9585
9626
  return t[e] ? {
9586
9627
  ...n,
9587
9628
  ...t[e]
9588
9629
  } : n;
9589
9630
  }
9590
- function vs(e, t) {
9631
+ function Cs(e, t) {
9591
9632
  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;
9592
9633
  }
9593
- function ys({ children: e, storageKey: t = cs, initialSettings: n, forcedTheme: r }) {
9594
- let [i, a] = h(() => gs(t, n)), [o, c] = h(() => typeof window < "u" && window.matchMedia("(prefers-color-scheme: dark)").matches);
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);
9595
9636
  l(() => {
9596
9637
  if (typeof window > "u") return;
9597
9638
  let e = window.matchMedia("(prefers-color-scheme: dark)"), t = (e) => c(e.matches);
@@ -9603,9 +9644,9 @@ function ys({ children: e, storageKey: t = cs, initialSettings: n, forcedTheme:
9603
9644
  i.preferredDarkTheme,
9604
9645
  i.preferredLightTheme,
9605
9646
  o
9606
- ]), [d, f] = h(() => _s(u, i.themeOverrides));
9647
+ ]), [d, f] = h(() => Ss(u, i.themeOverrides));
9607
9648
  l(() => {
9608
- f(_s(u, i.themeOverrides));
9649
+ f(Ss(u, i.themeOverrides));
9609
9650
  }, [u]);
9610
9651
  let m = s((e) => {
9611
9652
  a((n) => {
@@ -9622,15 +9663,15 @@ function ys({ children: e, storageKey: t = cs, initialSettings: n, forcedTheme:
9622
9663
  });
9623
9664
  }, [t]);
9624
9665
  l(() => {
9625
- let e = document.documentElement, t = ss[i.accentColor];
9666
+ let e = document.documentElement, t = fs[i.accentColor];
9626
9667
  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);
9627
9668
  }, [i.accentColor]), l(() => {
9628
9669
  document.documentElement.classList.toggle("reduced-motion", i.reducedMotion);
9629
9670
  }, [i.reducedMotion]), l(() => {
9630
9671
  let e = document.documentElement, t = d.borderRadius;
9631
- e.style.fontSize = `${d.fontSize / 13 * 100}%`, e.style.setProperty("--font-ui", os[d.uiFont]), e.style.setProperty("--font-heading", os[d.headingFont]), e.style.setProperty("--font-prose", os[d.proseFont]), e.style.setProperty("--font-control", os[d.controlFont]), e.style.setProperty("--font-label", os[d.labelFont]), e.style.setProperty("--font-navigation", os[d.navigationFont]), e.style.setProperty("--font-data", os[d.dataFont]), e.style.setProperty("--font-code", os[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`);
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`);
9632
9673
  }, [d]);
9633
- let g = p(() => _s(u, i.themeOverrides), [u, i.themeOverrides]), v = u in i.themeOverrides, y = !vs(d, g), b = s(() => {
9674
+ let g = p(() => Ss(u, i.themeOverrides), [u, i.themeOverrides]), v = u in i.themeOverrides, y = !Cs(d, g), b = s(() => {
9634
9675
  m({ themeOverrides: {
9635
9676
  ...i.themeOverrides,
9636
9677
  [u]: { ...d }
@@ -9754,7 +9795,7 @@ function ys({ children: e, storageKey: t = cs, initialSettings: n, forcedTheme:
9754
9795
  }
9755
9796
  //#endregion
9756
9797
  //#region src/providers/ThemeProvider.tsx
9757
- var bs = {
9798
+ var Ts = {
9758
9799
  dark: "",
9759
9800
  light: "theme-light",
9760
9801
  lightInverted: "theme-light-inverted",
@@ -9764,23 +9805,23 @@ var bs = {
9764
9805
  cyberBrutalLight: "theme-cyber-brutal-light",
9765
9806
  hashiTheme: "theme-hashi"
9766
9807
  };
9767
- function xs({ children: e }) {
9808
+ function Es({ children: e }) {
9768
9809
  let { resolvedTheme: t } = c(Mt);
9769
9810
  return l(() => {
9770
9811
  let e = document.documentElement;
9771
- Object.values(bs).forEach((t) => {
9812
+ Object.values(Ts).forEach((t) => {
9772
9813
  t && e.classList.remove(t);
9773
9814
  });
9774
- let n = bs[t];
9815
+ let n = Ts[t];
9775
9816
  n && e.classList.add(n);
9776
- }, [t]), /* @__PURE__ */ _(es.Provider, {
9817
+ }, [t]), /* @__PURE__ */ _(as.Provider, {
9777
9818
  value: { theme: t },
9778
9819
  children: e
9779
9820
  });
9780
9821
  }
9781
9822
  //#endregion
9782
9823
  //#region src/components/ui/FormField.tsx
9783
- function Ss({ id: e, label: t, hint: n, error: r, required: i, optionalLabel: a, children: o, className: s, ...c }) {
9824
+ function Ds({ id: e, label: t, hint: n, error: r, required: i, optionalLabel: a, children: o, className: s, ...c }) {
9784
9825
  let l = u(), d = e ?? l, f = n ? `${d}-hint` : void 0, p = r ? `${d}-error` : void 0, m = {
9785
9826
  id: d,
9786
9827
  "aria-describedby": Rn(f, p),
@@ -9825,13 +9866,13 @@ function Ss({ id: e, label: t, hint: n, error: r, required: i, optionalLabel: a,
9825
9866
  })
9826
9867
  });
9827
9868
  }
9828
- function Cs({ className: e, ...t }) {
9869
+ function Os({ className: e, ...t }) {
9829
9870
  return /* @__PURE__ */ _("p", {
9830
9871
  ...t,
9831
9872
  className: G("text-text-secondary text-xs", e)
9832
9873
  });
9833
9874
  }
9834
- function ws({ className: e, ...t }) {
9875
+ function ks({ className: e, ...t }) {
9835
9876
  return /* @__PURE__ */ _("p", {
9836
9877
  ...t,
9837
9878
  className: G("text-red text-xs", e)
@@ -9839,7 +9880,7 @@ function ws({ className: e, ...t }) {
9839
9880
  }
9840
9881
  //#endregion
9841
9882
  //#region src/components/ui/Fieldset.tsx
9842
- function Ts({ id: e, legend: t, hint: n, error: r, children: i, className: a, "aria-describedby": o, ...s }) {
9883
+ function As({ id: e, legend: t, hint: n, error: r, children: i, className: a, "aria-describedby": o, ...s }) {
9843
9884
  let c = u(), l = e ?? c, d = n ? `${l}-hint` : void 0, f = r ? `${l}-error` : void 0, p = Rn(o, d, f);
9844
9885
  return /* @__PURE__ */ v("fieldset", {
9845
9886
  ...s,
@@ -9873,7 +9914,7 @@ function Ts({ id: e, legend: t, hint: n, error: r, children: i, className: a, "a
9873
9914
  }
9874
9915
  //#endregion
9875
9916
  //#region src/components/ui/Radio.tsx
9876
- var Es = a(({ label: e, description: t, controlSize: n, className: r, id: i, "aria-describedby": a, "aria-invalid": o, ...s }, l) => {
9917
+ var js = a(({ label: e, description: t, controlSize: n, className: r, id: i, "aria-describedby": a, "aria-invalid": o, ...s }, l) => {
9877
9918
  let d = u(), f = an(n), p = c(Ln), m = i ?? p?.id ?? d, h = t ? `${m}-description` : void 0;
9878
9919
  return /* @__PURE__ */ v("label", {
9879
9920
  className: G("ui-choice flex items-start gap-2.5", r),
@@ -9896,14 +9937,14 @@ var Es = a(({ label: e, description: t, controlSize: n, className: r, id: i, "ar
9896
9937
  })]
9897
9938
  });
9898
9939
  });
9899
- Es.displayName = "Radio";
9900
- function Ds({ name: e, id: t, options: n, value: r, onChange: i, required: a, disabled: o, controlSize: s, ...c }) {
9940
+ js.displayName = "Radio";
9941
+ function Ms({ name: e, id: t, options: n, value: r, onChange: i, required: a, disabled: o, controlSize: s, ...c }) {
9901
9942
  let l = u(), d = t ?? l;
9902
- return /* @__PURE__ */ _(Ts, {
9943
+ return /* @__PURE__ */ _(As, {
9903
9944
  ...c,
9904
9945
  id: d,
9905
9946
  disabled: o,
9906
- children: n.map((t, n) => /* @__PURE__ */ _(Es, {
9947
+ children: n.map((t, n) => /* @__PURE__ */ _(js, {
9907
9948
  id: `${d}-${n}`,
9908
9949
  name: e ?? d,
9909
9950
  value: t.value,
@@ -9917,17 +9958,17 @@ function Ds({ name: e, id: t, options: n, value: r, onChange: i, required: a, di
9917
9958
  }, t.value))
9918
9959
  });
9919
9960
  }
9920
- var Os = Object.assign(Es, { Group: Ds }), ks = {
9961
+ var Ns = Object.assign(js, { Group: Ms }), Ps = {
9921
9962
  pending: "Pending",
9922
9963
  uploading: "Uploading",
9923
9964
  processing: "Processing",
9924
9965
  ready: "Ready",
9925
9966
  error: "Upload failed"
9926
9967
  };
9927
- function As(e) {
9968
+ function Fs(e) {
9928
9969
  return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(1)} MB`;
9929
9970
  }
9930
- function js({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, onRetry: a, onRemove: o, onDownload: s, downloadHref: c, actionsDisabled: l, className: u, ...d }) {
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 }) {
9931
9972
  return /* @__PURE__ */ v("li", {
9932
9973
  ...d,
9933
9974
  className: G("ui-attachment-item border-border flex items-center justify-between gap-3 rounded-md border p-3", u),
@@ -9940,7 +9981,7 @@ function js({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, o
9940
9981
  }),
9941
9982
  t !== void 0 && /* @__PURE__ */ _("p", {
9942
9983
  className: "text-text-tertiary text-2xs",
9943
- children: As(t)
9984
+ children: Fs(t)
9944
9985
  }),
9945
9986
  /* @__PURE__ */ v("div", {
9946
9987
  role: "status",
@@ -9949,7 +9990,7 @@ function js({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, o
9949
9990
  children: [
9950
9991
  e,
9951
9992
  ": ",
9952
- i ?? r ?? ks[n]
9993
+ i ?? r ?? Ps[n]
9953
9994
  ]
9954
9995
  })
9955
9996
  ]
@@ -9991,7 +10032,7 @@ function js({ name: e, size: t, status: n = "ready", statusLabel: r, error: i, o
9991
10032
  })]
9992
10033
  });
9993
10034
  }
9994
- function Ms({ children: e, className: t, "aria-label": n = "Attachments", ...r }) {
10035
+ function Ls({ children: e, className: t, "aria-label": n = "Attachments", ...r }) {
9995
10036
  return /* @__PURE__ */ _("ul", {
9996
10037
  ...r,
9997
10038
  "aria-label": n,
@@ -10001,7 +10042,7 @@ function Ms({ children: e, className: t, "aria-label": n = "Attachments", ...r }
10001
10042
  }
10002
10043
  //#endregion
10003
10044
  //#region src/lib/dateParts.ts
10004
- function Ns(e, { required: t = !1, minYear: n = 1900, maxYear: r = 2100 } = {}) {
10045
+ function Rs(e, { required: t = !1, minYear: n = 1900, maxYear: r = 2100 } = {}) {
10005
10046
  let i = [
10006
10047
  e.day,
10007
10048
  e.month,
@@ -10031,10 +10072,10 @@ function Ns(e, { required: t = !1, minYear: n = 1900, maxYear: r = 2100 } = {})
10031
10072
  }
10032
10073
  //#endregion
10033
10074
  //#region src/components/ui/DatePartsInput.tsx
10034
- function Ps({ 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 }) {
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 }) {
10035
10076
  let y = u(), b = m({}), [x, S] = h(!1);
10036
10077
  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");
10037
- let C = Ns(e, {
10078
+ let C = Rs(e, {
10038
10079
  required: c,
10039
10080
  minYear: p,
10040
10081
  maxYear: g
@@ -10083,7 +10124,7 @@ function Ps({ value: e, onChange: t, label: n, hint: r, error: i, id: a, name: o
10083
10124
  "year"
10084
10125
  ].map((n) => /* @__PURE__ */ v("div", {
10085
10126
  className: "ui-date-part",
10086
- children: [/* @__PURE__ */ _(qo, {
10127
+ children: [/* @__PURE__ */ _(Qo, {
10087
10128
  inputMode: "numeric",
10088
10129
  "data-1p-ignore": "true",
10089
10130
  ...f?.[n],
@@ -10150,7 +10191,7 @@ function Ps({ value: e, onChange: t, label: n, hint: r, error: i, id: a, name: o
10150
10191
  }
10151
10192
  //#endregion
10152
10193
  //#region src/components/ui/Skeleton.tsx
10153
- function Fs({ className: e, width: t, height: n, style: r, ...i }) {
10194
+ function Bs({ className: e, width: t, height: n, style: r, ...i }) {
10154
10195
  return /* @__PURE__ */ _("div", {
10155
10196
  ...i,
10156
10197
  "aria-hidden": "true",
@@ -10164,7 +10205,7 @@ function Fs({ className: e, width: t, height: n, style: r, ...i }) {
10164
10205
  }
10165
10206
  //#endregion
10166
10207
  //#region src/components/ui/NavTabs.tsx
10167
- function Is({ items: e, activeKey: t, renderLink: n, className: r, "aria-label": i = "Sections", ...a }) {
10208
+ function Vs({ items: e, activeKey: t, renderLink: n, className: r, "aria-label": i = "Sections", ...a }) {
10168
10209
  return /* @__PURE__ */ _("nav", {
10169
10210
  ...a,
10170
10211
  "aria-label": i,
@@ -10188,7 +10229,7 @@ function Is({ items: e, activeKey: t, renderLink: n, className: r, "aria-label":
10188
10229
  }
10189
10230
  //#endregion
10190
10231
  //#region src/components/ui/CharacterCount.tsx
10191
- function Ls({ value: e, maxLength: t, announcementDelay: n = 1e3, className: r, ...i }) {
10232
+ function Hs({ value: e, maxLength: t, announcementDelay: n = 1e3, className: r, ...i }) {
10192
10233
  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);
10193
10234
  return l(() => {
10194
10235
  let e = setTimeout(() => u(s), n);
@@ -10210,7 +10251,7 @@ function Ls({ value: e, maxLength: t, announcementDelay: n = 1e3, className: r,
10210
10251
  }
10211
10252
  //#endregion
10212
10253
  //#region src/providers/ControlSizeProvider.tsx
10213
- function Rs({ size: e, children: t }) {
10254
+ function Us({ size: e, children: t }) {
10214
10255
  return /* @__PURE__ */ _(rn.Provider, {
10215
10256
  value: e,
10216
10257
  children: t
@@ -10218,7 +10259,7 @@ function Rs({ size: e, children: t }) {
10218
10259
  }
10219
10260
  //#endregion
10220
10261
  //#region src/components/ui/ProgressBar.tsx
10221
- var zs = 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) {
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) {
10222
10263
  let f = u(), p = s ?? f;
10223
10264
  if (!Number.isFinite(n) || !Number.isFinite(r) || r <= n) throw RangeError("ProgressBar requires a finite max greater than min");
10224
10265
  if (t !== void 0 && !Number.isFinite(t)) throw RangeError("ProgressBar value must be finite");
@@ -10255,4 +10296,138 @@ var zs = a(function({ label: e, value: t, min: n = 0, max: r = 100, color: i = "
10255
10296
  });
10256
10297
  });
10257
10298
  //#endregion
10258
- export { qn as Alert, Pn as AppShell, He as AreaChart, js as AttachmentItem, Ms 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, Ls as CharacterCount, zn as Checkbox, $i as CodeInput, Hn as ColumnPicker, ea as Combobox, vt as CommandPalette, Rs as ControlSizeProvider, Ai as DEFAULT_CALENDAR_LABELS, mt as DEFAULT_COMMAND_PALETTE_SHORTCUT, ta as DangerZone, Ps 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, ws as FieldError, Cs as FieldHint, Ts as Fieldset, Bn as FilterButton, Va as FilterDropdown, Ss as FormField, Ha as Kbd, Wa as LoadingSpinner, Ga as MetadataGrid, Ka as MetricCard, bt as MobileDrawer, Is as NavTabs, Za as OAuthButton, Qa as PageHeader, $a as PageSection, Un as Pagination, to as PaginationBar, ro as PasswordInput, oo as PasswordRequirements, so as ProfileHeader, zs as ProgressBar, co as ProseContent, lo as QrCapacityError, No as QrCode, Je as RadarChart, Ye as RadialBarChart, Os as Radio, ji as RadioPill, Gn as ResourceTable, Po as SearchInput, pn as SectionHeader, Fo as Select, xn as SelectDropdown, Io as SettingRow, Mt as SettingsContext, ys as SettingsProvider, Lo as SideSheet, $t as Sidebar, Fs as Skeleton, Sn as Slider, Xe as SparkLine, Bo as SplitPaneLayout, rt as StackedBarChart, Uo as StatusDot, Wo as StepProgress, Tn as THEME_MENU_EVENT, Go as Tabs, qo as TextInput, Ko as Textarea, es as ThemeContext, On as ThemeMenu, Cn as ThemePreview, xs as ThemeProvider, Jo as Timeline, Bt as ToastProvider, wn as Toggle, Qo as Toolbar, Zo as Tooltip, Mn as TopBar, $o 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, io as defaultPasswordRequirements, dr as differenceInDays, Mo as encodeQrCode, Ur as expandAvailabilityRules, kt as fontOptions, is as formatDateLong, rs as formatDateShort, Mr as formatRangeTitle, as 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, ao 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, ts as useTheme, zt as useToast };
10299
+ //#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 }) {
10301
+ return i(e ?? "div", {
10302
+ ...s,
10303
+ className: G("ui-stack", a),
10304
+ style: {
10305
+ ...qa(t),
10306
+ "--ui-align": Ja(n),
10307
+ "--ui-justify": Ya(r),
10308
+ ...o
10309
+ }
10310
+ });
10311
+ }
10312
+ //#endregion
10313
+ //#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 }) {
10315
+ return i(e ?? "div", {
10316
+ ...f,
10317
+ className: G("ui-inline", u),
10318
+ style: {
10319
+ ...qa(t, n, r),
10320
+ "--ui-align": Ja(a),
10321
+ "--ui-justify": Ya(o),
10322
+ "--ui-wrap": s ? "wrap" : "nowrap",
10323
+ "--ui-display": c ? "inline-flex" : "flex",
10324
+ ...Ga("direction", l ? {
10325
+ base: "column",
10326
+ [l]: "row"
10327
+ } : "row", (e) => e, "row"),
10328
+ ...d
10329
+ }
10330
+ });
10331
+ }
10332
+ //#endregion
10333
+ //#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 }) {
10335
+ return i(e ?? "div", {
10336
+ ...u,
10337
+ className: G("ui-grid", c),
10338
+ style: {
10339
+ ...qa(n, r, a),
10340
+ ...Ga("columns", t, Ka, 1),
10341
+ "--ui-align": o,
10342
+ "--ui-justify": s,
10343
+ ...l
10344
+ }
10345
+ });
10346
+ }
10347
+ //#endregion
10348
+ //#region src/components/ui/GridItem.tsx
10349
+ function Js({ as: e, span: t = 1, className: n, style: r, ...a }) {
10350
+ return i(e ?? "div", {
10351
+ ...a,
10352
+ className: G("ui-grid-item", n),
10353
+ style: {
10354
+ ...Ga("span", t, (e) => `span ${e} / span ${e}`, 1),
10355
+ ...r
10356
+ }
10357
+ });
10358
+ }
10359
+ //#endregion
10360
+ //#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 }) {
10362
+ return /* @__PURE__ */ _("div", {
10363
+ ...a,
10364
+ className: G("ui-table-wrap", a?.className, i),
10365
+ style: {
10366
+ maxHeight: r,
10367
+ ...r ? { overflow: "auto" } : {},
10368
+ ...a?.style
10369
+ },
10370
+ children: /* @__PURE__ */ v("table", {
10371
+ ...c,
10372
+ className: G("ui-table", n && "ui-table-sticky", o),
10373
+ children: [e != null && /* @__PURE__ */ _("caption", {
10374
+ className: G(t && "sr-only"),
10375
+ children: e
10376
+ }), s]
10377
+ })
10378
+ });
10379
+ }
10380
+ function Xs({ className: e, ...t }) {
10381
+ return /* @__PURE__ */ _("thead", {
10382
+ ...t,
10383
+ className: G("ui-table-head", e)
10384
+ });
10385
+ }
10386
+ function Zs({ className: e, ...t }) {
10387
+ return /* @__PURE__ */ _("tbody", {
10388
+ ...t,
10389
+ className: G("ui-table-body", e)
10390
+ });
10391
+ }
10392
+ function Qs({ selected: e, interactive: t = !1, className: n, ...r }) {
10393
+ return /* @__PURE__ */ _("tr", {
10394
+ ...r,
10395
+ "aria-selected": e ?? r["aria-selected"],
10396
+ className: G("ui-table-row", t && "ui-table-interactive", n)
10397
+ });
10398
+ }
10399
+ function $s({ numeric: e = !1, align: t, sort: n, scope: r = "col", className: i, style: a, ...o }) {
10400
+ return /* @__PURE__ */ _("th", {
10401
+ ...o,
10402
+ scope: r,
10403
+ "aria-sort": n ?? o["aria-sort"],
10404
+ className: G("ui-table-header-cell", e && "ui-table-numeric", i),
10405
+ style: {
10406
+ ...t ? { textAlign: t } : {},
10407
+ ...a
10408
+ }
10409
+ });
10410
+ }
10411
+ function ec({ numeric: e = !1, align: t, nowrap: n = !1, className: r, style: i, ...a }) {
10412
+ return /* @__PURE__ */ _("td", {
10413
+ ...a,
10414
+ className: G("ui-table-cell", e && "ui-table-numeric", n && "ui-table-nowrap", r),
10415
+ style: {
10416
+ ...t ? { textAlign: t } : {},
10417
+ ...i
10418
+ }
10419
+ });
10420
+ }
10421
+ function tc({ colSpan: e, children: t, className: n, ...r }) {
10422
+ return /* @__PURE__ */ _("tr", {
10423
+ ...r,
10424
+ className: G("ui-table-empty-row", n),
10425
+ children: /* @__PURE__ */ _("td", {
10426
+ colSpan: e,
10427
+ className: "ui-table-empty-cell",
10428
+ children: t
10429
+ })
10430
+ });
10431
+ }
10432
+ //#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 };