fiboui 2.9.4 → 2.9.5

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/content.d.ts CHANGED
@@ -473,6 +473,30 @@ type EdgeInsetsValue = {
473
473
  /** CSS right — alias of trailing in LTR */
474
474
  right?: number | string;
475
475
  };
476
+ declare const Material: {
477
+ readonly ultraThin: {
478
+ readonly blur: 20;
479
+ readonly background: "rgba(255, 255, 255, 0.35)";
480
+ };
481
+ readonly thin: {
482
+ readonly blur: 28;
483
+ readonly background: "rgba(255, 255, 255, 0.48)";
484
+ };
485
+ readonly regular: {
486
+ readonly blur: 36;
487
+ readonly background: "rgba(255, 255, 255, 0.62)";
488
+ };
489
+ readonly thick: {
490
+ readonly blur: 48;
491
+ readonly background: "rgba(255, 255, 255, 0.78)";
492
+ };
493
+ readonly ultraThick: {
494
+ readonly blur: 60;
495
+ readonly background: "rgba(255, 255, 255, 0.88)";
496
+ };
497
+ };
498
+ type MaterialKind = keyof typeof Material;
499
+ type MaterialSpec = (typeof Material)[MaterialKind];
476
500
  type SafeAreaInsetEdge = Edge | "top" | "bottom" | "leading" | "trailing" | "left" | "right";
477
501
  type SafeAreaInsetSpec = {
478
502
  edge: SafeAreaInsetEdge;
@@ -977,6 +1001,16 @@ declare abstract class FiboBuilder {
977
1001
  text(color: string | Colors): this;
978
1002
  color(value: string | Colors): this;
979
1003
  private resolveSemanticColor;
1004
+ /**
1005
+ * Backdrop blur (glass). Prefer over raw `.backdropFilter('blur(…)')`.
1006
+ * `20` → `blur(20px)`; also accepts `'20px'` or a full `blur(…)` string.
1007
+ */
1008
+ backdropBlur(radius?: number | string): this;
1009
+ /**
1010
+ * SwiftUI `Material` glass fill — blur + translucent background.
1011
+ * `Box().material(Material.ultraThin)` or `.material('regular')`.
1012
+ */
1013
+ material(kind: MaterialKind | MaterialSpec): this;
980
1014
  shadow(config?: ShadowConfig): this;
981
1015
  /**
982
1016
  * Breakpoint styles compiled to CSS `@media` (same engine as `.md()`).
package/dist/content.js CHANGED
@@ -1,6 +1,6 @@
1
- import { A as s, B as r, I as o } from "./icons-CirVDr1q.js";
2
- import { ak as n, aj as I } from "./client-lzMYg4vy.js";
3
- import { A as m, I as p, L as x, P as A, a as f, S as l } from "./index-D1oVA2Du.js";
1
+ import { A as s, B as r, I as o } from "./icons-By9BFp7V.js";
2
+ import { ak as n, aj as I } from "./client-Cc87LXic.js";
3
+ import { A as m, I as p, L as x, P as A, a as f, S as l } from "./index-BxYsYMal.js";
4
4
  export {
5
5
  m as Alert,
6
6
  s as Avatar,
package/dist/core.d.ts CHANGED
@@ -855,6 +855,30 @@ type EdgeInsetsValue = {
855
855
  /** CSS right — alias of trailing in LTR */
856
856
  right?: number | string;
857
857
  };
858
+ declare const Material: {
859
+ readonly ultraThin: {
860
+ readonly blur: 20;
861
+ readonly background: "rgba(255, 255, 255, 0.35)";
862
+ };
863
+ readonly thin: {
864
+ readonly blur: 28;
865
+ readonly background: "rgba(255, 255, 255, 0.48)";
866
+ };
867
+ readonly regular: {
868
+ readonly blur: 36;
869
+ readonly background: "rgba(255, 255, 255, 0.62)";
870
+ };
871
+ readonly thick: {
872
+ readonly blur: 48;
873
+ readonly background: "rgba(255, 255, 255, 0.78)";
874
+ };
875
+ readonly ultraThick: {
876
+ readonly blur: 60;
877
+ readonly background: "rgba(255, 255, 255, 0.88)";
878
+ };
879
+ };
880
+ type MaterialKind = keyof typeof Material;
881
+ type MaterialSpec = (typeof Material)[MaterialKind];
858
882
  type SafeAreaInsetEdge = Edge | "top" | "bottom" | "leading" | "trailing" | "left" | "right";
859
883
  type SafeAreaInsetSpec = {
860
884
  edge: SafeAreaInsetEdge;
@@ -1341,6 +1365,16 @@ declare abstract class FiboBuilder {
1341
1365
  text(color: string | Colors): this;
1342
1366
  color(value: string | Colors): this;
1343
1367
  private resolveSemanticColor;
1368
+ /**
1369
+ * Backdrop blur (glass). Prefer over raw `.backdropFilter('blur(…)')`.
1370
+ * `20` → `blur(20px)`; also accepts `'20px'` or a full `blur(…)` string.
1371
+ */
1372
+ backdropBlur(radius?: number | string): this;
1373
+ /**
1374
+ * SwiftUI `Material` glass fill — blur + translucent background.
1375
+ * `Box().material(Material.ultraThin)` or `.material('regular')`.
1376
+ */
1377
+ material(kind: MaterialKind | MaterialSpec): this;
1344
1378
  shadow(config?: ShadowConfig): this;
1345
1379
  /**
1346
1380
  * Breakpoint styles compiled to CSS `@media` (same engine as `.md()`).
package/dist/core.js CHANGED
@@ -1,5 +1,5 @@
1
- import { C as e, E as t, X as r, a6 as i, a3 as o, a4 as n, _ as l, F as u, T as S, L as c, Q as p, Z as g, O as T, n as b, B as v, P as F, R as E, D as d, G as C, S as R, a8 as f, t as m, q as I, d as P, c as y, b as O, a as x, a2 as M, Y as N, e as _, f as w, a0 as A, g as B, $ as V, a1 as D, V as L, W as U, i as h, l as q, a5 as z, U as G, o as K, h as W, N as X, r as j, H as k, s as H, M as J, I as Q, K as Y, J as Z, a7 as $, m as ss, y as as, k as es, z as ts, p as rs, j as is, A as os, u as ns, w as ls, x as us, v as Ss } from "./client-lzMYg4vy.js";
2
- import { F as ps, P as gs, T as Ts, U as bs, a as vs, c as Fs, p as Es, w as ds } from "./page-fKXx7Y-J.js";
1
+ import { C as e, E as t, X as r, a6 as i, a3 as o, a4 as n, _ as l, F as u, T as S, L as c, Q as p, Z as g, O as T, n as b, B as v, P as F, R as E, D as d, G as C, S as R, a8 as f, t as m, q as I, d as P, c as y, b as O, a as x, a2 as M, Y as N, e as _, f as w, a0 as A, g as B, $ as V, a1 as D, V as L, W as U, i as h, l as q, a5 as z, U as G, o as K, h as W, N as X, r as j, H as k, s as H, M as J, I as Q, K as Y, J as Z, a7 as $, m as ss, y as as, k as es, z as ts, p as rs, j as is, A as os, u as ns, w as ls, x as us, v as Ss } from "./client-Cc87LXic.js";
2
+ import { F as ps, P as gs, T as Ts, U as bs, a as vs, c as Fs, p as Es, w as ds } from "./page-DbndR-7r.js";
3
3
  export {
4
4
  e as ComputedSignal,
5
5
  t as Easing,
@@ -2,7 +2,7 @@ var L = Object.defineProperty;
2
2
  var j = (t, r, e) => r in t ? L(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
3
3
  var i = (t, r, e) => j(t, typeof r != "symbol" ? r + "" : r, e);
4
4
  import h from "react";
5
- import { b2 as w, b3 as E, aF as y, bc as I, a9 as R, aj as H, bd as M, b6 as N, b9 as D, b7 as $ } from "./client-lzMYg4vy.js";
5
+ import { b2 as w, b3 as E, aF as y, bd as I, a9 as R, aj as H, be as M, b6 as N, b9 as D, b7 as $ } from "./client-Cc87LXic.js";
6
6
  import { jsx as s, jsxs as v } from "react/jsx-runtime";
7
7
  function V(t) {
8
8
  if (typeof t != "string") return "";
@@ -2,7 +2,7 @@ var c = Object.defineProperty;
2
2
  var f = (s, e, t) => e in s ? c(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
3
  var i = (s, e, t) => f(s, typeof e != "symbol" ? e + "" : e, t);
4
4
  import m from "react";
5
- import { b2 as d, b3 as y, b4 as b, b5 as n, b6 as o, b7 as a, b8 as x, b9 as v } from "./client-lzMYg4vy.js";
5
+ import { b2 as d, b3 as y, b4 as b, b5 as n, b6 as o, b7 as a, b8 as x, b9 as v } from "./client-Cc87LXic.js";
6
6
  function p(s, e) {
7
7
  if (!(typeof e != "string" || !o(e)))
8
8
  for (const t of v(e))
@@ -2,8 +2,8 @@ var ae = Object.defineProperty;
2
2
  var ie = (s, r, e) => r in s ? ae(s, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[r] = e;
3
3
  var i = (s, r, e) => ie(s, typeof r != "symbol" ? r + "" : r, e);
4
4
  import t from "react";
5
- import { b2 as I, b3 as $, b6 as z, b9 as R, b7 as q, z as le, bc as Z, bA as oe } from "./client-lzMYg4vy.js";
6
- import { a as F } from "./icons-CirVDr1q.js";
5
+ import { b2 as I, b3 as $, b6 as z, b9 as R, b7 as q, z as le, bd as Z, bB as oe } from "./client-Cc87LXic.js";
6
+ import { a as F } from "./icons-By9BFp7V.js";
7
7
  function ce(s, r) {
8
8
  if (!(typeof r != "string" || !z(r)))
9
9
  for (const e of R(r))
@@ -1,49 +1,49 @@
1
1
  var w = Object.defineProperty;
2
2
  var S = (s, e, t) => e in s ? w(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
- var n = (s, e, t) => S(s, typeof e != "symbol" ? e + "" : e, t);
3
+ var r = (s, e, t) => S(s, typeof e != "symbol" ? e + "" : e, t);
4
4
  import m from "react";
5
- import { b2 as g, b3 as d, ba as N, bb as C, b7 as j, b6 as _, b9 as z } from "./client-lzMYg4vy.js";
6
- function B(s, e) {
5
+ import { b2 as g, b3 as d, ba as N, bb as C, bc as j, b7 as z, b6 as _, b9 as B } from "./client-Cc87LXic.js";
6
+ function I(s, e) {
7
7
  if (!(typeof e != "string" || !_(e)))
8
- for (const t of z(e))
8
+ for (const t of B(e))
9
9
  s.bindSignal(t);
10
10
  }
11
- function l(s, e) {
11
+ function h(s, e) {
12
12
  if (typeof e == "function") {
13
13
  try {
14
- l(s, e());
14
+ h(s, e());
15
15
  } catch {
16
16
  }
17
17
  return;
18
18
  }
19
19
  if (typeof e == "string") {
20
- B(s, e);
20
+ I(s, e);
21
21
  return;
22
22
  }
23
23
  if (Array.isArray(e))
24
- for (const t of e) l(s, t);
24
+ for (const t of e) h(s, t);
25
25
  }
26
- function I(s) {
27
- return typeof s == "string" && _(s) ? j(s) : s;
26
+ function E(s) {
27
+ return typeof s == "string" && _(s) ? z(s) : s;
28
28
  }
29
29
  function M(s, e) {
30
- const { children: t, ...r } = e, o = t !== void 0 ? t : s;
31
- return { nodes: o == null ? [] : Array.isArray(o) ? o : [o], rest: r };
30
+ const { children: t, ...n } = e, o = t !== void 0 ? t : s;
31
+ return { nodes: o == null ? [] : Array.isArray(o) ? o : [o], rest: n };
32
32
  }
33
33
  class $ extends d {
34
34
  constructor() {
35
35
  super(...arguments);
36
- n(this, "_mainAxisAlignment", "start");
36
+ r(this, "_mainAxisAlignment", "start");
37
37
  // Flutter Column / SwiftUI VStack default: center. Stretch is opt-in.
38
- n(this, "_crossAxisAlignment", "center");
39
- n(this, "_spacing");
40
- n(this, "_size");
38
+ r(this, "_crossAxisAlignment", "center");
39
+ r(this, "_spacing");
40
+ r(this, "_size");
41
41
  }
42
42
  children(t) {
43
- return l(this, t), super.children(t);
43
+ return h(this, t), super.children(t);
44
44
  }
45
45
  props(t) {
46
- return t && "children" in t && l(this, t.children), super.props(t);
46
+ return t && "children" in t && h(this, t.children), super.props(t);
47
47
  }
48
48
  mainAxisAlignment(t) {
49
49
  return this._mainAxisAlignment = t, this;
@@ -65,6 +65,13 @@ class $ extends d {
65
65
  size(t) {
66
66
  return this._size = t, this;
67
67
  }
68
+ /**
69
+ * Sugar for `.children(ForEach(data).renderItem(fn))`.
70
+ * Prefer `ForEach` when you need `.keyBy()`.
71
+ */
72
+ forEach(t, n) {
73
+ return this.children(j(t).renderItem(n));
74
+ }
68
75
  build() {
69
76
  const t = {
70
77
  start: "justify-start",
@@ -73,7 +80,7 @@ class $ extends d {
73
80
  spaceBetween: "justify-between",
74
81
  spaceAround: "justify-around",
75
82
  spaceEvenly: "justify-evenly"
76
- }, r = {
83
+ }, n = {
77
84
  start: "items-start",
78
85
  center: "items-center",
79
86
  end: "items-end",
@@ -89,11 +96,11 @@ class $ extends d {
89
96
  // min-w-0 / min-h-0: shrink inside flex/grid so nested overflow can scroll
90
97
  this.isHug() ? "w-auto self-auto" : "w-full min-w-0 min-h-0",
91
98
  t[this._mainAxisAlignment],
92
- r[this._crossAxisAlignment],
99
+ n[this._crossAxisAlignment],
93
100
  this._size ? o[this._size] : "",
94
101
  ...this._classNames
95
- ], h = this.getStyle(), { nodes: c, rest: p } = M(this.processChildren(), this._props), { className: x, style: u, ...y } = p, A = [...i, x].filter(Boolean).join(" "), b = c.map(I), a = {
96
- ...h,
102
+ ], l = this.getStyle(), { nodes: c, rest: p } = M(this.processChildren(), this._props), { className: x, style: u, ...y } = p, A = [...i, x].filter(Boolean).join(" "), b = c.map(E), a = {
103
+ ...l,
97
104
  ...u && typeof u == "object" ? u : {}
98
105
  };
99
106
  return this._spacing != null && this._spacing !== "" && (typeof this._spacing == "number" ? a.gap = `${this._spacing}px` : isNaN(Number(this._spacing)) ? a.gap = this._spacing : a.gap = `${Number(this._spacing) * 4}px`), m.createElement(
@@ -107,20 +114,20 @@ class $ extends d {
107
114
  );
108
115
  }
109
116
  }
110
- const R = g($);
117
+ const T = g($);
111
118
  function f(s) {
112
119
  return typeof s == "number" ? `${s}px` : s;
113
120
  }
114
- function E(s) {
121
+ function F(s) {
115
122
  return s && typeof s == "object" && !Array.isArray(s) ? s : {};
116
123
  }
117
124
  class H extends d {
118
125
  constructor() {
119
126
  super(...arguments);
120
- n(this, "_height");
121
- n(this, "_width");
122
- n(this, "_grow");
123
- n(this, "_expand");
127
+ r(this, "_height");
128
+ r(this, "_width");
129
+ r(this, "_grow");
130
+ r(this, "_expand");
124
131
  }
125
132
  height(t) {
126
133
  return this._height = t, this;
@@ -136,11 +143,11 @@ class H extends d {
136
143
  }
137
144
  /** Grow factor inside a Row or Column. Does not turn the spacer into a flex container. */
138
145
  flex(t = 1) {
139
- const r = typeof t == "number" ? t : Number(t);
140
- return this._grow = Number.isFinite(r) ? r : 1, this._expand = !0, this;
146
+ const n = typeof t == "number" ? t : Number(t);
147
+ return this._grow = Number.isFinite(n) ? n : 1, this._expand = !0, this;
141
148
  }
142
149
  build() {
143
- const { className: t, style: r, ...o } = this._props, i = { ...this.getStyle(), ...E(r) }, h = this._height != null || this._width != null, c = this._expand ?? !h;
150
+ const { className: t, style: n, ...o } = this._props, i = { ...this.getStyle(), ...F(n) }, l = this._height != null || this._width != null, c = this._expand ?? !l;
144
151
  this._height != null && (i.height = f(this._height)), this._width != null && (i.width = f(this._width)), c ? (i.flex = `${this._grow ?? 1} 1 0%`, i.alignSelf = i.alignSelf ?? "stretch", i.minWidth = i.minWidth ?? 0, i.minHeight = i.minHeight ?? 0) : i.flex = "0 0 auto";
145
152
  const p = ["fibo-spacer", this.getClassName(), t].filter(Boolean).join(" ");
146
153
  return m.createElement("div", {
@@ -151,8 +158,8 @@ class H extends d {
151
158
  });
152
159
  }
153
160
  }
154
- const T = g(H);
161
+ const X = g(H);
155
162
  export {
156
- R as C,
157
- T as S
163
+ T as C,
164
+ X as S
158
165
  };
@@ -2,10 +2,10 @@ var Bt = Object.defineProperty;
2
2
  var Tt = (e, r, t) => r in e ? Bt(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
3
  var n = (e, r, t) => Tt(e, typeof r != "symbol" ? r + "" : r, t);
4
4
  import s, { useSyncExternalStore as X } from "react";
5
- import { b2 as L, b3 as P, b6 as C, b9 as M, b7 as R, bq as ot, bc as _t, bg as At, bB as Lt, L as vt, aF as T, F as lt, bC as ut, bD as Pt, bE as Rt, a9 as W, aj as N } from "./client-lzMYg4vy.js";
6
- import { S as V, C as F } from "./index-C_GtMcVT.js";
7
- import { B as wt } from "./index-CtvQ20_N.js";
8
- import { B as et, I as at, a as G, A as $t } from "./icons-CirVDr1q.js";
5
+ import { b2 as L, b3 as P, b6 as C, b9 as M, b7 as R, br as ot, bd as _t, bh as At, bC as Lt, L as vt, aF as T, F as lt, bD as ut, bE as Pt, bF as Rt, a9 as W, aj as N } from "./client-Cc87LXic.js";
6
+ import { S as V, C as F } from "./index-C-hvMzQd.js";
7
+ import { B as wt } from "./index-BJnYb_kw.js";
8
+ import { B as et, I as at, a as G, A as $t } from "./icons-By9BFp7V.js";
9
9
  function $(e, r) {
10
10
  if (!(typeof r != "string" || !C(r)))
11
11
  for (const t of M(r))
@@ -59,10 +59,10 @@ const Wt = s.memo((e) => {
59
59
  header: u,
60
60
  footer: p,
61
61
  as: h,
62
- ...g
62
+ ...b
63
63
  } = e;
64
- delete g.color;
65
- const _ = Array.isArray(a) ? a : a == null ? [] : [a], m = g.onClick, b = g.onKeyDown, y = typeof m == "function", I = [
64
+ delete b.color;
65
+ const _ = Array.isArray(a) ? a : a == null ? [] : [a], m = b.onClick, g = b.onKeyDown, y = typeof m == "function", I = [
66
66
  "fibo-card",
67
67
  "rounded-[24px]",
68
68
  "transition-shadow",
@@ -81,15 +81,15 @@ const Wt = s.memo((e) => {
81
81
  return s.createElement(
82
82
  Gt(h),
83
83
  {
84
- ...g,
84
+ ...b,
85
85
  className: I,
86
86
  style: A,
87
87
  onClick: m,
88
88
  ...y ? {
89
89
  role: "button",
90
- tabIndex: g.tabIndex ?? 0,
90
+ tabIndex: b.tabIndex ?? 0,
91
91
  onKeyDown: (f) => {
92
- b == null || b(f), !f.defaultPrevented && f.target === f.currentTarget && (f.key === "Enter" || f.key === " ") && (f.preventDefault(), f.currentTarget.click());
92
+ g == null || g(f), !f.defaultPrevented && f.target === f.currentTarget && (f.key === "Enter" || f.key === " ") && (f.preventDefault(), f.currentTarget.click());
93
93
  }
94
94
  } : null
95
95
  },
@@ -175,7 +175,7 @@ class Dt extends P {
175
175
  header: u,
176
176
  footer: p,
177
177
  as: h,
178
- ...g
178
+ ...b
179
179
  } = this._props, _ = [...this._classNames, i].filter(Boolean).join(" "), m = {
180
180
  text: J(o ?? l ?? this._text),
181
181
  subtitle: J(c ?? this._subtitle),
@@ -186,7 +186,7 @@ class Dt extends P {
186
186
  accentColor: t,
187
187
  style: this.getStyle(),
188
188
  children: this.processChildren().map(jt),
189
- ...g,
189
+ ...b,
190
190
  className: _
191
191
  };
192
192
  return s.createElement(Wt, m);
@@ -236,12 +236,12 @@ const Ht = () => s.createElement(
236
236
  onPress: u,
237
237
  href: p,
238
238
  disabled: h,
239
- dense: g,
239
+ dense: b,
240
240
  onTap: _,
241
241
  className: m,
242
- style: b,
242
+ style: g,
243
243
  ...y
244
- } = e, I = b || {}, A = I.padding ?? (g ? "8px 0" : "14px 0"), w = y.onClick, E = y.onKeyDown, f = typeof u == "function" ? u : typeof _ == "function" ? _ : void 0, x = !!h, d = typeof p == "string" ? p.trim() : "", S = d && !_t(d) ? d : void 0, v = !!S && !x, k = typeof f == "function" || typeof w == "function" || v, D = k && !x, xt = typeof t == "string" ? s.createElement(
244
+ } = e, I = g || {}, A = I.padding ?? (b ? "8px 0" : "14px 0"), w = y.onClick, E = y.onKeyDown, f = typeof u == "function" ? u : typeof _ == "function" ? _ : void 0, x = !!h, d = typeof p == "string" ? p.trim() : "", S = d && !_t(d) ? d : void 0, v = !!S && !x, k = typeof f == "function" || typeof w == "function" || v, D = k && !x, xt = typeof t == "string" ? s.createElement(
245
245
  "span",
246
246
  {
247
247
  className: "fibo-list-tile-title",
@@ -389,11 +389,11 @@ class Mt extends P {
389
389
  href: u,
390
390
  disabled: p,
391
391
  dense: h,
392
- ...g
393
- } = this._props, _ = this._title !== void 0 ? this._title : o, m = this._subtitle !== void 0 ? this._subtitle : l, b = this._leading !== void 0 ? this._leading : t, y = this._trailing !== void 0 ? this._trailing : i;
394
- return typeof _ == "string" && H(this, _), typeof m == "string" && H(this, m), typeof b == "string" && H(this, b), typeof y == "string" && H(this, y), s.createElement(Kt, {
395
- ...g,
396
- leading: typeof b == "string" ? q(b) : b,
392
+ ...b
393
+ } = this._props, _ = this._title !== void 0 ? this._title : o, m = this._subtitle !== void 0 ? this._subtitle : l, g = this._leading !== void 0 ? this._leading : t, y = this._trailing !== void 0 ? this._trailing : i;
394
+ return typeof _ == "string" && H(this, _), typeof m == "string" && H(this, m), typeof g == "string" && H(this, g), typeof y == "string" && H(this, y), s.createElement(Kt, {
395
+ ...b,
396
+ leading: typeof g == "string" ? q(g) : g,
397
397
  title: typeof _ == "string" ? q(_) : _,
398
398
  subtitle: typeof m == "string" ? q(m) : m,
399
399
  trailing: typeof y == "string" ? q(y) : y,
@@ -512,9 +512,9 @@ const te = s.memo(function(r) {
512
512
  sortable: u,
513
513
  className: p,
514
514
  style: h,
515
- children: g,
515
+ children: b,
516
516
  ..._
517
- } = e, m = !!u, [b, y] = s.useState(null);
517
+ } = e, m = !!u, [g, y] = s.useState(null);
518
518
  X(
519
519
  (d) => t ? t.subscribeStructure(d) : () => {
520
520
  },
@@ -533,15 +533,15 @@ const te = s.memo(function(r) {
533
533
  standard: "16px 24px",
534
534
  relaxed: "24px 32px"
535
535
  }[l], f = t ? t.value : Array.isArray(r) ? r : [], x = s.useMemo(() => {
536
- if (!b) return f;
537
- const d = i == null ? void 0 : i[b.index];
536
+ if (!g) return f;
537
+ const d = i == null ? void 0 : i[g.index];
538
538
  if (!d || !ht(d, m)) return f;
539
- const S = b.dir === "ascending" ? 1 : -1;
539
+ const S = g.dir === "ascending" ? 1 : -1;
540
540
  return f.map((v, k) => ({ row: v, index: k })).sort((v, k) => {
541
541
  const D = Xt(ft(v.row, d), ft(k.row, d));
542
542
  return D === 0 ? v.index - k.index : S * D;
543
543
  }).map((v) => v.row);
544
- }, [f, i, b, m]);
544
+ }, [f, i, g, m]);
545
545
  return T().className(p).classNames(A).props(_).children(
546
546
  s.createElement("table", {
547
547
  style: I,
@@ -565,7 +565,7 @@ const te = s.memo(function(r) {
565
565
  cursor: v ? "pointer" : void 0
566
566
  },
567
567
  className: "text-xs font-bold text-gray-400 uppercase tracking-widest",
568
- "aria-sort": v ? (b == null ? void 0 : b.index) === S ? b.dir : "none" : void 0,
568
+ "aria-sort": v ? (g == null ? void 0 : g.index) === S ? g.dir : "none" : void 0,
569
569
  tabIndex: v ? 0 : void 0,
570
570
  onClick: v ? () => y((k) => mt(k, S)) : void 0,
571
571
  onKeyDown: v ? (k) => {
@@ -752,7 +752,7 @@ const ue = s.memo(function(r) {
752
752
  () => t ? t.structureVersion() : 0,
753
753
  () => t ? t.structureVersion() : 0
754
754
  );
755
- const p = (t ? t.value : Array.isArray(r) ? r : []).flatMap((h, g) => {
755
+ const p = (t ? t.value : Array.isArray(r) ? r : []).flatMap((h, b) => {
756
756
  if (h == null || typeof h != "object") return [];
757
757
  if (t && typeof h._id == "string" && h._id.length > 0) {
758
758
  const m = h._id;
@@ -761,13 +761,13 @@ const ue = s.memo(function(r) {
761
761
  key: m,
762
762
  list: t,
763
763
  id: m,
764
- index: g,
764
+ index: b,
765
765
  onRemove: l
766
766
  })
767
767
  ];
768
768
  }
769
- const _ = le(h, g, a);
770
- return [Nt(h, g, _, l)];
769
+ const _ = le(h, b, a);
770
+ return [Nt(h, b, _, l)];
771
771
  });
772
772
  return s.createElement(
773
773
  "div",
@@ -831,7 +831,7 @@ function it(e, r) {
831
831
  for (const t of M(r))
832
832
  e.bindSignal(t);
833
833
  }
834
- function gt(e) {
834
+ function bt(e) {
835
835
  return typeof e != "string" ? e : C(e) ? R(e) : e;
836
836
  }
837
837
  function st(e, r) {
@@ -852,11 +852,11 @@ function st(e, r) {
852
852
  function fe(e) {
853
853
  return typeof e == "string" && C(e) ? R(e) : e;
854
854
  }
855
- function bt(e) {
855
+ function gt(e) {
856
856
  return e === "success" || e === "warning" || e === "error" || e === "info";
857
857
  }
858
858
  function me(e, r) {
859
- return bt(r) ? r : bt(e) ? e : "info";
859
+ return gt(r) ? r : gt(e) ? e : "info";
860
860
  }
861
861
  function yt(e) {
862
862
  return e == null || e === !1 ? [] : Array.isArray(e) ? e : [e];
@@ -873,7 +873,7 @@ const pe = s.memo((e) => {
873
873
  action: u,
874
874
  children: p,
875
875
  ...h
876
- } = e, g = me(r, t), _ = g === "error" || g === "warning", m = typeof a == "function", b = [i, o].filter(Boolean).join(". "), y = ["fibo-banner", `fibo-banner-${g}`, l].filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), I = s.createElement(
876
+ } = e, b = me(r, t), _ = b === "error" || b === "warning", m = typeof a == "function", g = [i, o].filter(Boolean).join(". "), y = ["fibo-banner", `fibo-banner-${b}`, l].filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), I = s.createElement(
877
877
  "div",
878
878
  { key: "copy", className: "flex flex-col gap-1 min-w-0 flex-1" },
879
879
  i && s.createElement(
@@ -924,12 +924,12 @@ const pe = s.memo((e) => {
924
924
  role: _ ? "alert" : "status",
925
925
  "aria-live": _ ? "assertive" : "polite",
926
926
  "aria-atomic": !0,
927
- "aria-label": h["aria-label"] || b || void 0
927
+ "aria-label": h["aria-label"] || g || void 0
928
928
  },
929
929
  E
930
930
  );
931
931
  });
932
- class ge extends P {
932
+ class be extends P {
933
933
  constructor(t = "") {
934
934
  super();
935
935
  n(this, "_status", "info");
@@ -956,8 +956,8 @@ class ge extends P {
956
956
  build() {
957
957
  const t = {
958
958
  status: this._status,
959
- title: gt(this._title),
960
- subtitle: gt(this._subtitle),
959
+ title: bt(this._title),
960
+ subtitle: bt(this._subtitle),
961
961
  className: this.getClassName(),
962
962
  style: this.getStyle(),
963
963
  children: this.processChildren().map(fe),
@@ -966,7 +966,7 @@ class ge extends P {
966
966
  return s.createElement(pe, t);
967
967
  }
968
968
  }
969
- const Me = L(ge), be = {
969
+ const Me = L(be), ge = {
970
970
  none: "0px",
971
971
  sm: "8px",
972
972
  md: "16px",
@@ -987,7 +987,7 @@ function ve(e, r) {
987
987
  if (typeof e == "number") return ye(e);
988
988
  }
989
989
  function K(e) {
990
- return typeof e == "number" ? `${e}px` : be[e] ?? (e || "16px");
990
+ return typeof e == "number" ? `${e}px` : ge[e] ?? (e || "16px");
991
991
  }
992
992
  function we(e, r, t) {
993
993
  return r == null && t == null ? { gap: e } : {
@@ -1026,10 +1026,10 @@ const Ne = s.memo((e) => {
1026
1026
  autoFlow: u,
1027
1027
  rowGap: p,
1028
1028
  columnGap: h,
1029
- className: g,
1029
+ className: b,
1030
1030
  style: _,
1031
1031
  ...m
1032
- } = e, b = Ct(r), y = K(o), I = we(y, p, h), A = _e(i, c), w = ve(l, a);
1032
+ } = e, g = Ct(r), y = K(o), I = we(y, p, h), A = _e(i, c), w = ve(l, a);
1033
1033
  if (t === "bento") {
1034
1034
  const f = [
1035
1035
  { col: 2, row: 2 },
@@ -1046,10 +1046,10 @@ const Ne = s.memo((e) => {
1046
1046
  ..._
1047
1047
  };
1048
1048
  return s.createElement("div", {
1049
- className: ["fibo-grid", "grid", ...rt(i, "grid"), g].filter(Boolean).join(" "),
1049
+ className: ["fibo-grid", "grid", ...rt(i, "grid"), b].filter(Boolean).join(" "),
1050
1050
  style: x,
1051
1051
  ...m
1052
- }, s.Children.map(b, (d, S) => {
1052
+ }, s.Children.map(g, (d, S) => {
1053
1053
  if (Se(d))
1054
1054
  return d;
1055
1055
  const v = f[S % f.length];
@@ -1066,11 +1066,11 @@ const Ne = s.memo((e) => {
1066
1066
  ..._
1067
1067
  };
1068
1068
  return s.createElement("div", {
1069
- className: ["fibo-grid", ...rt(i, "masonry"), g].filter(Boolean).join(" "),
1069
+ className: ["fibo-grid", ...rt(i, "masonry"), b].filter(Boolean).join(" "),
1070
1070
  style: d,
1071
1071
  ...m
1072
1072
  }, s.Children.map(
1073
- b,
1073
+ g,
1074
1074
  (S, v) => s.createElement("div", {
1075
1075
  key: ut(S, v),
1076
1076
  style: { breakInside: "avoid", marginBottom: x }
@@ -1086,10 +1086,10 @@ const Ne = s.memo((e) => {
1086
1086
  ..._
1087
1087
  };
1088
1088
  return s.createElement("div", {
1089
- className: ["fibo-grid", "grid", ...rt(i, "grid"), g].filter(Boolean).join(" "),
1089
+ className: ["fibo-grid", "grid", ...rt(i, "grid"), b].filter(Boolean).join(" "),
1090
1090
  style: E,
1091
1091
  ...m
1092
- }, ...b);
1092
+ }, ...g);
1093
1093
  }), Ce = s.memo((e) => {
1094
1094
  const {
1095
1095
  children: r,
@@ -1102,7 +1102,7 @@ const Ne = s.memo((e) => {
1102
1102
  className: u,
1103
1103
  style: p,
1104
1104
  ...h
1105
- } = e, g = Ct(r), _ = [
1105
+ } = e, b = Ct(r), _ = [
1106
1106
  t ? `col-span-${t}` : "",
1107
1107
  i ? `row-span-${i}` : ""
1108
1108
  ].filter(Boolean).join(" "), m = {
@@ -1118,7 +1118,7 @@ const Ne = s.memo((e) => {
1118
1118
  className: ["fibo-grid-item", _, u].filter(Boolean).join(" "),
1119
1119
  style: m,
1120
1120
  ...h
1121
- }, ...g);
1121
+ }, ...b);
1122
1122
  });
1123
1123
  class xe extends P {
1124
1124
  constructor() {