fiboui 2.5.0 → 2.6.1

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/server.js CHANGED
@@ -1,27 +1,27 @@
1
- var ki = Object.defineProperty;
2
- var _i = (t, o, i) => o in t ? ki(t, o, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[o] = i;
3
- var c = (t, o, i) => _i(t, typeof o != "symbol" ? o + "" : o, i);
1
+ var _i = Object.defineProperty;
2
+ var zi = (t, o, i) => o in t ? _i(t, o, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[o] = i;
3
+ var c = (t, o, i) => zi(t, typeof o != "symbol" ? o + "" : o, i);
4
4
  import p from "react";
5
- function zi(t) {
5
+ function Si(t) {
6
6
  return !!t && typeof t == "object" && "build" in t && typeof t.build == "function";
7
7
  }
8
8
  function _o(t) {
9
- return zi(t) ? t.build() : (p.isValidElement(t), t);
9
+ return Si(t) ? t.build() : (p.isValidElement(t), t);
10
10
  }
11
11
  function zo(t) {
12
12
  return typeof t == "string" || typeof t == "number";
13
13
  }
14
- function Si(t, o) {
14
+ function Ci(t, o) {
15
15
  return p.isValidElement(t) && zo(t.key) && t.key !== "" ? t.key : `.$fibo-${o}`;
16
16
  }
17
- function Ci(t, o) {
18
- return !p.isValidElement(t) || zo(t.key) && t.key !== "" ? t : p.cloneElement(t, { key: Si(t, o) });
17
+ function Fi(t, o) {
18
+ return !p.isValidElement(t) || zo(t.key) && t.key !== "" ? t : p.cloneElement(t, { key: Ci(t, o) });
19
19
  }
20
20
  function Eo(t) {
21
21
  if (t == null)
22
22
  return [];
23
23
  const o = typeof t == "function" ? t() : t;
24
- return (Array.isArray(o) ? o : [o]).map((e, r) => Ci(_o(e), r));
24
+ return (Array.isArray(o) ? o : [o]).map((e, r) => Fi(_o(e), r));
25
25
  }
26
26
  const Ao = [
27
27
  "fadeIn",
@@ -39,12 +39,12 @@ const Ao = [
39
39
  "blur",
40
40
  "pop",
41
41
  "bounce"
42
- ], Fi = {
42
+ ], Ti = {
43
43
  fade: "fadeIn",
44
44
  scale: "scaleIn",
45
45
  blur: "blurIn"
46
46
  };
47
- function Ti(t) {
47
+ function $i(t) {
48
48
  if (!t || typeof t != "object") return !1;
49
49
  const o = t;
50
50
  return typeof o.from == "object" && o.from !== null && typeof o.to == "object" && o.to !== null;
@@ -56,13 +56,13 @@ function Bo(t) {
56
56
  return `${r}: ${n}`;
57
57
  }).join("; ");
58
58
  }
59
- function $i(t) {
59
+ function Ni(t) {
60
60
  let o = 5381;
61
61
  for (let i = 0; i < t.length; i += 1) o = (o << 5) + o ^ t.charCodeAt(i);
62
62
  return (o >>> 0).toString(36);
63
63
  }
64
- function Ni(t) {
65
- const o = Fi[t] ?? t;
64
+ function Ri(t) {
65
+ const o = Ti[t] ?? t;
66
66
  if (!Ao.includes(o))
67
67
  throw new Error(`Unknown motion preset "${t}". Use: ${Ao.join(", ")}`);
68
68
  return o;
@@ -321,77 +321,77 @@ const D = class D {
321
321
  };
322
322
  c(D, "instance");
323
323
  let H = D;
324
- const g = H.getInstance();
325
- function j() {
324
+ const m = H.getInstance();
325
+ function X() {
326
326
  H.getInstance().ensureDefaults();
327
327
  }
328
- function Zo() {
328
+ function qo() {
329
329
  return H.getInstance().getCss();
330
330
  }
331
- function Me() {
332
- const o = `<style id="fibo-dynamic-styles" data-fibo="1">${Zo().replace(/<\/style/gi, "<\\/style")}</style>`;
331
+ function We() {
332
+ const o = `<style id="fibo-dynamic-styles" data-fibo="1">${qo().replace(/<\/style/gi, "<\\/style")}</style>`;
333
333
  return typeof document > "u" && H.resetForTests(), o;
334
334
  }
335
- function We() {
335
+ function Pe() {
336
336
  H.resetForTests();
337
337
  }
338
- function qo() {
339
- return j(), p.createElement("style", {
338
+ function Jo() {
339
+ return X(), p.createElement("style", {
340
340
  id: "fibo-dynamic-styles",
341
341
  "data-fibo": "1",
342
342
  suppressHydrationWarning: !0,
343
- dangerouslySetInnerHTML: { __html: Zo() }
343
+ dangerouslySetInnerHTML: { __html: qo() }
344
344
  });
345
345
  }
346
- function Ri() {
347
- return j(), p.createElement("style", {
346
+ function Ei() {
347
+ return X(), p.createElement("style", {
348
348
  id: "fibo-motion-presets",
349
349
  "data-fibo-motion": "1",
350
350
  dangerouslySetInnerHTML: { __html: yo }
351
351
  });
352
352
  }
353
- function Pe(t, o = {}) {
353
+ function Le(t, o = {}) {
354
354
  const { styles: i = !0 } = o;
355
355
  function e() {
356
356
  const r = _o(t());
357
- return i ? p.createElement(p.Fragment, null, r, p.createElement(qo)) : p.createElement(p.Fragment, null, r);
357
+ return i ? p.createElement(p.Fragment, null, r, p.createElement(Jo)) : p.createElement(p.Fragment, null, r);
358
358
  }
359
359
  return e.displayName = "FiboPage", e;
360
360
  }
361
- function Le(t) {
361
+ function Xe(t) {
362
362
  return p.createElement(
363
363
  p.Fragment,
364
364
  null,
365
365
  _o(t),
366
- p.createElement(qo)
366
+ p.createElement(Jo)
367
367
  );
368
368
  }
369
- const Jo = {
369
+ const Qo = {
370
370
  sm: 640,
371
371
  md: 768,
372
372
  lg: 1024,
373
373
  xl: 1280
374
374
  };
375
- function Ei(t) {
376
- return t in Jo;
377
- }
378
375
  function Ai(t) {
379
- if (Ei(t))
380
- return `(min-width: ${Jo[t]}px)`;
376
+ return t in Qo;
377
+ }
378
+ function Bi(t) {
379
+ if (Ai(t))
380
+ return `(min-width: ${Qo[t]}px)`;
381
381
  const o = t.trim();
382
382
  return o.startsWith("@media") ? o.replace(/^@media\s+/, "") : o;
383
383
  }
384
- class Bi {
384
+ class Ii {
385
385
  constructor() {
386
386
  c(this, "activeEffect", null);
387
387
  }
388
388
  }
389
- const Qo = new Bi(), Mo = [Qo];
390
- function Ii() {
391
- return Mo[Mo.length - 1] ?? Qo;
392
- }
389
+ const oi = new Ii(), Mo = [oi];
393
390
  function Mi() {
394
- return Ii().activeEffect;
391
+ return Mo[Mo.length - 1] ?? oi;
392
+ }
393
+ function Wi() {
394
+ return Mi().activeEffect;
395
395
  }
396
396
  class bo {
397
397
  constructor(o) {
@@ -401,7 +401,7 @@ class bo {
401
401
  this._value = o;
402
402
  }
403
403
  get value() {
404
- const o = Mi();
404
+ const o = Wi();
405
405
  return o && o.track(this), this._value;
406
406
  }
407
407
  set value(o) {
@@ -430,52 +430,52 @@ class bo {
430
430
  }
431
431
  }
432
432
  }
433
- function Wi({ children: t }) {
433
+ function Pi({ children: t }) {
434
434
  return t();
435
435
  }
436
- function Pi({
436
+ function Li({
437
437
  children: t
438
438
  }) {
439
439
  return t();
440
440
  }
441
- function Li({
441
+ function Xi({
442
442
  children: t
443
443
  }) {
444
444
  return t();
445
445
  }
446
- function ji({ children: t }) {
446
+ function Oi({ children: t }) {
447
447
  return t;
448
448
  }
449
- function Xi({
449
+ function ji({
450
450
  children: t
451
451
  }) {
452
452
  return t;
453
453
  }
454
- function oi(t) {
454
+ function ii(t) {
455
455
  var o, i, e = "";
456
456
  if (typeof t == "string" || typeof t == "number") e += t;
457
457
  else if (typeof t == "object") if (Array.isArray(t)) {
458
458
  var r = t.length;
459
- for (o = 0; o < r; o++) t[o] && (i = oi(t[o])) && (e && (e += " "), e += i);
459
+ for (o = 0; o < r; o++) t[o] && (i = ii(t[o])) && (e && (e += " "), e += i);
460
460
  } else for (i in t) t[i] && (e && (e += " "), e += i);
461
461
  return e;
462
462
  }
463
- function Oi() {
464
- for (var t, o, i = 0, e = "", r = arguments.length; i < r; i++) (t = arguments[i]) && (o = oi(t)) && (e && (e += " "), e += o);
463
+ function Yi() {
464
+ for (var t, o, i = 0, e = "", r = arguments.length; i < r; i++) (t = arguments[i]) && (o = ii(t)) && (e && (e += " "), e += o);
465
465
  return e;
466
466
  }
467
- function Yi(t) {
467
+ function Vi(t) {
468
468
  const o = t.match(/oklch\(\s*([\d.]+)\s+([\d.]+)\s+([\d.]+)\s*\)/);
469
469
  if (!o)
470
470
  return t;
471
- const [, i, e, r] = o, n = parseFloat(i), f = parseFloat(e), s = parseFloat(r), a = f * Math.cos(s * Math.PI / 180), b = f * Math.sin(s * Math.PI / 180), l = n + 0.3963377774 * a + 0.2158037573 * b, x = n - 0.1055613458 * a - 0.0638541728 * b, d = n - 0.0894841775 * a - 1.291485548 * b, v = l * l * l, z = x * x * x, k = d * d * d, _ = 4.0767416621 * v - 3.3077115913 * z + 0.2309699292 * k, R = -1.2684380046 * v + 2.6097574011 * z - 0.3413193965 * k, $ = -0.0041960863 * v - 0.7034186147 * z + 1.707614701 * k, S = (m) => m >= 31308e-7 ? 1.055 * m ** (1 / 2.4) - 0.055 : 12.92 * m, C = Math.max(0, Math.min(1, S(_))), F = Math.max(0, Math.min(1, S(R))), M = Math.max(0, Math.min(1, S($))), W = (m) => {
471
+ const [, i, e, r] = o, n = parseFloat(i), f = parseFloat(e), s = parseFloat(r), a = f * Math.cos(s * Math.PI / 180), b = f * Math.sin(s * Math.PI / 180), l = n + 0.3963377774 * a + 0.2158037573 * b, x = n - 0.1055613458 * a - 0.0638541728 * b, d = n - 0.0894841775 * a - 1.291485548 * b, v = l * l * l, z = x * x * x, k = d * d * d, _ = 4.0767416621 * v - 3.3077115913 * z + 0.2309699292 * k, R = -1.2684380046 * v + 2.6097574011 * z - 0.3413193965 * k, $ = -0.0041960863 * v - 0.7034186147 * z + 1.707614701 * k, S = (g) => g >= 31308e-7 ? 1.055 * g ** (1 / 2.4) - 0.055 : 12.92 * g, C = Math.max(0, Math.min(1, S(_))), F = Math.max(0, Math.min(1, S(R))), M = Math.max(0, Math.min(1, S($))), W = (g) => {
472
472
  var G;
473
- const E = (G = Math.round(m * 255).toString(16)) == null ? void 0 : G.toUpperCase();
473
+ const E = (G = Math.round(g * 255).toString(16)) == null ? void 0 : G.toUpperCase();
474
474
  return E.length === 1 ? `0${E}` : E;
475
475
  };
476
476
  return `#${W(C)}${W(F)}${W(M)}`;
477
477
  }
478
- function Vi(t) {
478
+ function Di(t) {
479
479
  const o = {}, i = {}, e = t.split(`
480
480
  `);
481
481
  for (const r of e) {
@@ -484,7 +484,7 @@ function Vi(t) {
484
484
  continue;
485
485
  const f = n.match(/^--color-([a-z0-9\-]+): (oklch\([^)]+\));?$/), s = n.match(/^--color-([a-z0-9\-]+): (#[a-fA-F0-9]{3,6});?$/);
486
486
  if (f) {
487
- const [, a, b] = f, l = Yi(b);
487
+ const [, a, b] = f, l = Vi(b);
488
488
  o[l.toLowerCase()] = `bg-${a}`, i[l.toLowerCase()] = `text-${a}`;
489
489
  } else if (s) {
490
490
  const [, a, b] = s;
@@ -493,13 +493,13 @@ function Vi(t) {
493
493
  }
494
494
  return { background: o, text: i };
495
495
  }
496
- const Di = (t) => {
496
+ const Hi = (t) => {
497
497
  if (t !== void 0)
498
498
  return typeof t == "number" ? `${t}px` : t.toString();
499
499
  }, J = (t, o) => {
500
- const i = Di(o);
500
+ const i = Hi(o);
501
501
  return i === void 0 ? "" : `${t}-[${i}]`;
502
- }, Hi = `
502
+ }, Gi = `
503
503
  --color-red-50: oklch(0.971 0.013 17.38);
504
504
  --color-red-100: oklch(0.936 0.032 17.717);
505
505
  --color-red-200: oklch(0.885 0.062 18.334);
@@ -744,7 +744,7 @@ const Di = (t) => {
744
744
  --color-stone-950: oklch(0.147 0.004 49.25);
745
745
  --color-black: #000;
746
746
  --color-white: #fff;
747
- `, Gi = Vi(Hi), ii = {
747
+ `, Ui = Di(Gi), ti = {
748
748
  borderRadius: {
749
749
  0: "rounded-none",
750
750
  "0px": "rounded-none",
@@ -841,7 +841,7 @@ const Di = (t) => {
841
841
  fixed: "fixed",
842
842
  sticky: "sticky"
843
843
  }
844
- }, Ui = (t, o) => ({
844
+ }, Ki = (t, o) => ({
845
845
  // 背景色
846
846
  backgroundColor: (i) => i.backgroundColor ? [t.background[i.backgroundColor.toLowerCase()] || `bg-[${i.backgroundColor}]`] : [],
847
847
  // 文字色
@@ -850,7 +850,7 @@ const Di = (t) => {
850
850
  borderRadius: (i) => {
851
851
  if (!i.borderRadius)
852
852
  return [];
853
- const e = ii.borderRadius[i.borderRadius] || J("rounded", i.borderRadius);
853
+ const e = ti.borderRadius[i.borderRadius] || J("rounded", i.borderRadius);
854
854
  return e ? [e] : [];
855
855
  },
856
856
  // 外边距
@@ -997,7 +997,7 @@ const Di = (t) => {
997
997
  },
998
998
  // 自定义类名
999
999
  className: (i) => i.className ? [i.className] : []
1000
- }), Ki = {
1000
+ }), Zi = {
1001
1001
  backgroundColor: "backgroundColor",
1002
1002
  color: "color",
1003
1003
  borderRadius: "borderRadius",
@@ -1031,10 +1031,10 @@ const Di = (t) => {
1031
1031
  position: "position",
1032
1032
  opacity: "opacity",
1033
1033
  className: "className"
1034
- }, Zi = (t, o) => {
1035
- const i = (o == null ? void 0 : o.colorMaps) || Gi, e = (o == null ? void 0 : o.styleMaps) || ii, r = Ui(i, e), n = [], f = /* @__PURE__ */ new Set();
1034
+ }, qi = (t, o) => {
1035
+ const i = (o == null ? void 0 : o.colorMaps) || Ui, e = (o == null ? void 0 : o.styleMaps) || ti, r = Ki(i, e), n = [], f = /* @__PURE__ */ new Set();
1036
1036
  return Object.keys(t).forEach((s) => {
1037
- const a = Ki[s];
1037
+ const a = Zi[s];
1038
1038
  if (a && !f.has(a)) {
1039
1039
  const b = r[a];
1040
1040
  if (b) {
@@ -1044,23 +1044,23 @@ const Di = (t) => {
1044
1044
  }
1045
1045
  }), n.filter(Boolean).join(" ");
1046
1046
  };
1047
- function qi({ children: t }) {
1047
+ function Ji({ children: t }) {
1048
1048
  return t;
1049
1049
  }
1050
- function Ji({ children: t }) {
1050
+ function Qi({ children: t }) {
1051
1051
  return p.createElement(p.Fragment, null, t);
1052
1052
  }
1053
- function Qi({ children: t }) {
1053
+ function ot({ children: t }) {
1054
1054
  return t;
1055
1055
  }
1056
- const Wo = /* @__PURE__ */ new Map(), ot = {
1056
+ const Wo = /* @__PURE__ */ new Map(), it = {
1057
1057
  easeIn: "ease-in",
1058
1058
  easeOut: "ease-out",
1059
1059
  easeInOut: "ease-in-out",
1060
1060
  linear: "linear",
1061
1061
  ease: "ease"
1062
1062
  };
1063
- function ti(t = {}) {
1063
+ function ei(t = {}) {
1064
1064
  const o = t.stiffness ?? 170, i = t.damping ?? 26, e = t.mass ?? 1, r = `${o}:${i}:${e}`, n = Wo.get(r);
1065
1065
  if (n) return n;
1066
1066
  const f = 1 / 60, s = 1;
@@ -1080,9 +1080,9 @@ function ti(t = {}) {
1080
1080
  return Wo.set(r, z), z;
1081
1081
  }
1082
1082
  function oo(t, o) {
1083
- return t === "spring" ? ti(o) : ot[t] ?? t;
1083
+ return t === "spring" ? ei(o) : it[t] ?? t;
1084
1084
  }
1085
- const ei = [
1085
+ const ri = [
1086
1086
  // —— 2D Transitions ——
1087
1087
  "grow",
1088
1088
  "shrink",
@@ -1299,29 +1299,29 @@ const ei = [
1299
1299
  "hvr-float": "float",
1300
1300
  "hvr-sweep-to-right": "sweepToRight"
1301
1301
  };
1302
- function it(t) {
1302
+ function tt(t) {
1303
1303
  return t.replace(/[A-Z]/g, (o) => `-${o.toLowerCase()}`);
1304
1304
  }
1305
1305
  function Lo(t) {
1306
- return ei.includes(t);
1306
+ return ri.includes(t);
1307
1307
  }
1308
- function tt(t) {
1308
+ function et(t) {
1309
1309
  const o = t.trim(), i = Po[o] ?? Po[o.toLowerCase()];
1310
1310
  if (i) return i;
1311
1311
  if (Lo(o)) return o;
1312
1312
  const e = o.replace(/-([a-z])/g, (r, n) => n.toUpperCase());
1313
1313
  if (Lo(e)) return e;
1314
1314
  throw new Error(
1315
- `Unknown interaction effect "${t}". Use one of ${ei.length} presets — see INTERACTION_EFFECTS.`
1315
+ `Unknown interaction effect "${t}". Use one of ${ri.length} presets — see INTERACTION_EFFECTS.`
1316
1316
  );
1317
1317
  }
1318
- function et(t, o = !1) {
1318
+ function rt(t, o = !1) {
1319
1319
  return o ? `fibo-fx-on-group-${t}` : `fibo-fx-on-${t}`;
1320
1320
  }
1321
- function rt(t) {
1322
- return `fibo-fx-${it(t)}`;
1321
+ function nt(t) {
1322
+ return `fibo-fx-${tt(t)}`;
1323
1323
  }
1324
- const nt = `
1324
+ const ft = `
1325
1325
  @keyframes fibo-fx-pulse { 25% { transform: scale(1.1); } 75% { transform: scale(0.9); } }
1326
1326
  @keyframes fibo-fx-pulse-grow { to { transform: scale(1.1); } }
1327
1327
  @keyframes fibo-fx-pulse-shrink { to { transform: scale(0.9); } }
@@ -2614,12 +2614,12 @@ const nt = `
2614
2614
  }
2615
2615
  }
2616
2616
  `.trim();
2617
- let jo = !1;
2618
- function ft() {
2619
- if (jo) return;
2620
- jo = !0;
2617
+ let Xo = !1;
2618
+ function st() {
2619
+ if (Xo) return;
2620
+ Xo = !0;
2621
2621
  const t = H.getInstance();
2622
- t.ensureDefaults(), t.injectExtra(nt, "fibo-interaction-fx");
2622
+ t.ensureDefaults(), t.injectExtra(ft, "fibo-interaction-fx");
2623
2623
  }
2624
2624
  function no(t, o, i, e = 0) {
2625
2625
  const r = (Array.isArray(t) ? t : [t]).flatMap((s) => String(s).split(",")).map((s) => s.trim()).filter(Boolean);
@@ -2631,27 +2631,27 @@ function mo(t) {
2631
2631
  const o = { ...t };
2632
2632
  let i = !1;
2633
2633
  const e = o.background;
2634
- typeof e == "string" && e.trim() && o.backgroundColor == null && at(e) && (o.backgroundColor = e, delete o.background, i = !0);
2634
+ typeof e == "string" && e.trim() && o.backgroundColor == null && ct(e) && (o.backgroundColor = e, delete o.background, i = !0);
2635
2635
  const r = o.border;
2636
2636
  if (typeof r == "string" && r.trim()) {
2637
- const n = ct(r);
2637
+ const n = lt(r);
2638
2638
  n && (o.borderWidth == null && n.width != null && (o.borderWidth = n.width), o.borderStyle == null && n.style != null && (o.borderStyle = n.style), o.borderColor == null && n.color != null && (o.borderColor = n.color), delete o.border, i = !0);
2639
2639
  }
2640
2640
  return i ? o : t;
2641
2641
  }
2642
- const st = "translate3d(0, 0, 0)";
2643
- function Xo(t) {
2644
- return t.transform != null && String(t.transform).trim() !== "" ? t : { ...t, transform: st };
2642
+ const at = "translate3d(0, 0, 0)";
2643
+ function Oo(t) {
2644
+ return t.transform != null && String(t.transform).trim() !== "" ? t : { ...t, transform: at };
2645
2645
  }
2646
- function Oo(t, o) {
2646
+ function jo(t, o) {
2647
2647
  const i = typeof o == "number" ? `${o}px` : o;
2648
2648
  return t === "x" ? `translate3d(${i}, 0, 0)` : `translate3d(0, ${i}, 0)`;
2649
2649
  }
2650
- function at(t) {
2650
+ function ct(t) {
2651
2651
  const o = t.trim().toLowerCase();
2652
2652
  return !(!o || o.includes("gradient(") || o.includes("url(") || o.includes("image(") || o.includes("element(") || o.startsWith("repeat") || o.includes(" / "));
2653
2653
  }
2654
- function ct(t) {
2654
+ function lt(t) {
2655
2655
  const o = t.trim();
2656
2656
  if (!o) return null;
2657
2657
  const i = o.match(/^(\S+)\s+(\S+)\s+(.+)$/);
@@ -2695,7 +2695,7 @@ const Yo = /* @__PURE__ */ new Set([
2695
2695
  function So(t) {
2696
2696
  return t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
2697
2697
  }
2698
- const lt = {
2698
+ const bt = {
2699
2699
  paddingHorizontal: ["paddingLeft", "paddingRight"],
2700
2700
  paddingVertical: ["paddingTop", "paddingBottom"],
2701
2701
  paddingX: ["paddingLeft", "paddingRight"],
@@ -2727,11 +2727,11 @@ const lt = {
2727
2727
  gapX: ["columnGap"],
2728
2728
  gapY: ["rowGap"]
2729
2729
  };
2730
- function ri(t) {
2731
- const o = lt[t];
2730
+ function ni(t) {
2731
+ const o = bt[t];
2732
2732
  return o ? [...o] : null;
2733
2733
  }
2734
- function ni(t, o) {
2734
+ function fi(t, o) {
2735
2735
  if (o == null) return "";
2736
2736
  if (typeof o == "boolean") return o ? "true" : "false";
2737
2737
  if (typeof o == "number")
@@ -2739,7 +2739,7 @@ function ni(t, o) {
2739
2739
  const i = String(o);
2740
2740
  return (i === "0" || i === "0px") && Vo.has(t) ? "none" : i;
2741
2741
  }
2742
- const bt = {
2742
+ const ut = {
2743
2743
  "background-color": ["background-color"],
2744
2744
  "border-color": ["border-color"],
2745
2745
  color: ["color"],
@@ -2771,9 +2771,9 @@ class I {
2771
2771
  };
2772
2772
  }
2773
2773
  return (b) => {
2774
- const x = ri(s) ?? [s];
2774
+ const x = ni(s) ?? [s];
2775
2775
  for (const d of x)
2776
- r.set(So(d), ni(d, b));
2776
+ r.set(So(d), fi(d, b));
2777
2777
  return n;
2778
2778
  };
2779
2779
  }
@@ -2786,9 +2786,9 @@ class I {
2786
2786
  * Stamps CSS classes; sheet is fiboui-owned (not a Hover.css vendor).
2787
2787
  */
2788
2788
  effect(o) {
2789
- const i = tt(o);
2790
- return ft(), this.parentBuilder.addClassName("fibo-fx"), this.parentBuilder.addClassName(rt(i)), this.parentBuilder.addClassName(
2791
- et(this.pseudoState, this.isGroup)
2789
+ const i = et(o);
2790
+ return st(), this.parentBuilder.addClassName("fibo-fx"), this.parentBuilder.addClassName(nt(i)), this.parentBuilder.addClassName(
2791
+ rt(this.pseudoState, this.isGroup)
2792
2792
  ), this.parentBuilder.prepareSmoothInteraction([
2793
2793
  "opacity",
2794
2794
  "box-shadow",
@@ -2820,10 +2820,10 @@ class I {
2820
2820
  return this.transforms.set("scale", `scale(${o})`), this.flushTransform();
2821
2821
  }
2822
2822
  translateX(o) {
2823
- return this.transforms.set("translateX", Oo("x", o)), this.flushTransform();
2823
+ return this.transforms.set("translateX", jo("x", o)), this.flushTransform();
2824
2824
  }
2825
2825
  translateY(o) {
2826
- return this.transforms.set("translateY", Oo("y", o)), this.flushTransform();
2826
+ return this.transforms.set("translateY", jo("y", o)), this.flushTransform();
2827
2827
  }
2828
2828
  rotate(o) {
2829
2829
  return this.transforms.set("rotate", `rotate(${o}deg)`), this.flushTransform();
@@ -2873,16 +2873,16 @@ class I {
2873
2873
  return this.set("transform", [...this.transforms.values()].join(" "));
2874
2874
  }
2875
2875
  set(o, i) {
2876
- const e = bt[o];
2876
+ const e = ut[o];
2877
2877
  e && this.parentBuilder.prepareSmoothInteraction(e);
2878
- const r = g.registerPseudo(this.pseudoState, o, i, this.isGroup);
2878
+ const r = m.registerPseudo(this.pseudoState, o, i, this.isGroup);
2879
2879
  return this.parentBuilder.addClassName(r), this;
2880
2880
  }
2881
2881
  end() {
2882
2882
  return this.parentBuilder;
2883
2883
  }
2884
2884
  }
2885
- const ut = {
2885
+ const ht = {
2886
2886
  name: "material",
2887
2887
  colors: {
2888
2888
  primary: "#6750A4",
@@ -2965,7 +2965,7 @@ const ut = {
2965
2965
  lg: "0 8px 16px rgba(0,0,0,0.14)"
2966
2966
  },
2967
2967
  fontFamily: "Roboto, sans-serif"
2968
- }, ht = {
2968
+ }, xt = {
2969
2969
  name: "cupertino",
2970
2970
  colors: {
2971
2971
  primary: "#007AFF",
@@ -3047,7 +3047,7 @@ const ut = {
3047
3047
  lg: "0 4px 16px rgba(0,0,0,0.12)"
3048
3048
  },
3049
3049
  fontFamily: '-apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif'
3050
- }, xt = {
3050
+ }, pt = {
3051
3051
  name: "web",
3052
3052
  colors: {
3053
3053
  primary: "#3B82F6",
@@ -3126,7 +3126,7 @@ const ut = {
3126
3126
  lg: "0 10px 15px rgba(0,0,0,0.1)"
3127
3127
  },
3128
3128
  fontFamily: "Inter, system-ui, sans-serif"
3129
- }, pt = {
3129
+ }, dt = {
3130
3130
  name: "noir",
3131
3131
  colors: {
3132
3132
  primary: "#F4F4F6",
@@ -3220,24 +3220,24 @@ const ut = {
3220
3220
  lg: "0 30px 80px rgba(0,0,0,0.75)"
3221
3221
  },
3222
3222
  fontFamily: 'var(--font-sans-loaded, "Plus Jakarta Sans"), system-ui, -apple-system, sans-serif'
3223
- }, dt = {
3224
- material: ut,
3225
- cupertino: ht,
3226
- web: xt,
3227
- noir: pt
3223
+ }, gt = {
3224
+ material: ht,
3225
+ cupertino: xt,
3226
+ web: pt,
3227
+ noir: dt
3228
3228
  };
3229
- function gt(t) {
3229
+ function mt(t) {
3230
3230
  if (typeof t == "string") {
3231
- const o = dt[t];
3231
+ const o = gt[t];
3232
3232
  if (!o) throw new Error(`Unknown fiboui theme preset: ${t}`);
3233
3233
  return o;
3234
3234
  }
3235
3235
  return t;
3236
3236
  }
3237
- function mt(t) {
3237
+ function vt(t) {
3238
3238
  return `--fibo-text-${t}`;
3239
3239
  }
3240
- function vt(t) {
3240
+ function wt(t) {
3241
3241
  const o = t.colors, i = {
3242
3242
  "--fibo-primary": o.primary,
3243
3243
  "--fibo-on-primary": o.onPrimary,
@@ -3263,18 +3263,18 @@ function vt(t) {
3263
3263
  "--fibo-shadow-lg": t.shadows.lg
3264
3264
  };
3265
3265
  return o.primaryVariant && (i["--fibo-primary-variant"] = o.primaryVariant), o.secondaryVariant && (i["--fibo-secondary-variant"] = o.secondaryVariant), o.success && (i["--fibo-success"] = o.success), o.warning && (i["--fibo-warning"] = o.warning), o.info && (i["--fibo-info"] = o.info), o.onError && (i["--fibo-on-error"] = o.onError), o.outline && (i["--fibo-outline"] = o.outline), i["--fibo-primary-container"] = o.primaryVariant ?? o.primary, i["--fibo-on-primary-container"] = o.onPrimary, i["--fibo-secondary-container"] = o.secondaryVariant ?? o.secondary, i["--fibo-on-secondary-container"] = o.onSecondary, i["--fibo-tertiary"] = o.secondary, i["--fibo-on-tertiary"] = o.onSecondary, i["--fibo-tertiary-container"] = o.secondaryVariant ?? o.secondary, i["--fibo-on-tertiary-container"] = o.onSecondary, i["--fibo-surface-variant"] = o.surface, i["--fibo-on-surface-variant"] = o.onSurface, Object.keys(t.typography).forEach((e) => {
3266
- const r = t.typography[e], n = mt(e);
3266
+ const r = t.typography[e], n = vt(e);
3267
3267
  r.fontSize != null && (i[`${n}-size`] = String(r.fontSize)), r.fontWeight != null && (i[`${n}-weight`] = String(r.fontWeight)), r.letterSpacing != null && (i[`${n}-tracking`] = String(r.letterSpacing)), r.lineHeight != null && (i[`${n}-height`] = String(r.lineHeight)), r.color != null && (i[`${n}-color`] = String(r.color));
3268
3268
  }), i;
3269
3269
  }
3270
- function wt(t) {
3271
- return vt(t);
3272
- }
3273
3270
  function yt(t) {
3271
+ return wt(t);
3272
+ }
3273
+ function kt(t) {
3274
3274
  return `fibo-theme-${t.name || "custom"}`;
3275
3275
  }
3276
- const fi = 64, kt = `${fi}px`;
3277
- class X {
3276
+ const si = 64, _t = `${si}px`;
3277
+ class O {
3278
3278
  constructor() {
3279
3279
  /** @internal Extra DOM props forwarded to the host element. */
3280
3280
  c(this, "_props", {});
@@ -3337,7 +3337,7 @@ class X {
3337
3337
  */
3338
3338
  anchor(o) {
3339
3339
  return this.id(o), this._explicitScrollMargin || this._classNames.push(
3340
- g.register("scroll-margin-top", "var(--fibo-sticky-offset, 0px)")
3340
+ m.register("scroll-margin-top", "var(--fibo-sticky-offset, 0px)")
3341
3341
  ), this;
3342
3342
  }
3343
3343
  /**
@@ -3347,7 +3347,7 @@ class X {
3347
3347
  scrollMargin(o) {
3348
3348
  this._explicitScrollMargin = !0;
3349
3349
  const i = typeof o == "number" ? `${o}px` : o;
3350
- return this._classNames.push(g.register("scroll-margin-top", i)), this;
3350
+ return this._classNames.push(m.register("scroll-margin-top", i)), this;
3351
3351
  }
3352
3352
  /** Stamp a class onto the host. Used by PseudoStateBuilder (hashed `:hover` etc.). */
3353
3353
  addClassName(o) {
@@ -3364,26 +3364,51 @@ class X {
3364
3364
  return i && typeof i == "object" && (this.__fiboElementProps = { ...i, key: String(o) }), this;
3365
3365
  }
3366
3366
  paddingHorizontal(o) {
3367
- const i = typeof o == "number" ? `${o}px` : o, e = g.register("padding-left", i), r = g.register("padding-right", i);
3367
+ const i = typeof o == "number" ? `${o}px` : o, e = m.register("padding-left", i), r = m.register("padding-right", i);
3368
3368
  return this._classNames.push(e, r), this;
3369
3369
  }
3370
3370
  paddingVertical(o) {
3371
- const i = typeof o == "number" ? `${o}px` : o, e = g.register("padding-top", i), r = g.register("padding-bottom", i);
3371
+ const i = typeof o == "number" ? `${o}px` : o, e = m.register("padding-top", i), r = m.register("padding-bottom", i);
3372
3372
  return this._classNames.push(e, r), this;
3373
3373
  }
3374
3374
  marginHorizontal(o) {
3375
- const i = typeof o == "number" ? `${o}px` : o, e = g.register("margin-left", i), r = g.register("margin-right", i);
3375
+ const i = typeof o == "number" ? `${o}px` : o, e = m.register("margin-left", i), r = m.register("margin-right", i);
3376
3376
  return this._classNames.push(e, r), this;
3377
3377
  }
3378
3378
  marginVertical(o) {
3379
- const i = typeof o == "number" ? `${o}px` : o, e = g.register("margin-top", i), r = g.register("margin-bottom", i);
3379
+ const i = typeof o == "number" ? `${o}px` : o, e = m.register("margin-top", i), r = m.register("margin-bottom", i);
3380
3380
  return this._classNames.push(e, r), this;
3381
3381
  }
3382
+ /** Inline layout wins over a host that hardcodes flex on the element (Form, Scaffold). */
3383
+ layoutStyle(o) {
3384
+ return this._style = { ...this._style, ...o }, this;
3385
+ }
3382
3386
  flexDirection(o) {
3383
- return this._classNames.push(`flex-${o}`), this;
3387
+ return this.layoutStyle({ flexDirection: o });
3384
3388
  }
3385
3389
  alignItems(o) {
3386
- return this._classNames.push(`items-${o}`), this;
3390
+ const i = {
3391
+ start: "flex-start",
3392
+ center: "center",
3393
+ end: "flex-end",
3394
+ stretch: "stretch",
3395
+ baseline: "baseline"
3396
+ };
3397
+ return this.layoutStyle({ alignItems: i[o] });
3398
+ }
3399
+ alignSelf(o) {
3400
+ const i = {
3401
+ auto: "auto",
3402
+ start: "flex-start",
3403
+ center: "center",
3404
+ end: "flex-end",
3405
+ stretch: "stretch",
3406
+ baseline: "baseline"
3407
+ };
3408
+ return this.layoutStyle({ alignSelf: i[o] });
3409
+ }
3410
+ flexWrap(o) {
3411
+ return this.layoutStyle({ flexWrap: o });
3387
3412
  }
3388
3413
  /**
3389
3414
  * Main-axis distribution. Accepts Tailwind shortcuts (`between`) and CSS/Flutter
@@ -3391,87 +3416,92 @@ class X {
3391
3416
  */
3392
3417
  justifyContent(o) {
3393
3418
  const i = {
3394
- start: "justify-start",
3395
- center: "justify-center",
3396
- end: "justify-end",
3397
- between: "justify-between",
3398
- around: "justify-around",
3399
- evenly: "justify-evenly",
3400
- "space-between": "justify-between",
3401
- "space-around": "justify-around",
3402
- "space-evenly": "justify-evenly",
3403
- spaceBetween: "justify-between",
3404
- spaceAround: "justify-around",
3405
- spaceEvenly: "justify-evenly"
3419
+ start: "flex-start",
3420
+ center: "center",
3421
+ end: "flex-end",
3422
+ between: "space-between",
3423
+ around: "space-around",
3424
+ evenly: "space-evenly",
3425
+ "space-between": "space-between",
3426
+ "space-around": "space-around",
3427
+ "space-evenly": "space-evenly",
3428
+ spaceBetween: "space-between",
3429
+ spaceAround: "space-around",
3430
+ spaceEvenly: "space-evenly"
3406
3431
  };
3407
- return this._classNames.push(i[o] ?? `justify-${o}`), this;
3432
+ return this.layoutStyle({ justifyContent: i[o] ?? o });
3408
3433
  }
3409
3434
  flex(o) {
3410
- if (this._classNames.push("flex"), o !== void 0)
3411
- if (typeof o == "number") {
3412
- const i = g.register("flex", String(o));
3413
- this._classNames.push(i);
3414
- } else typeof o == "string" && this._classNames.push(`flex-${o}`);
3415
- return this;
3435
+ const e = o === void 0 ? void 0 : typeof o == "number" ? String(o) : {
3436
+ 1: "1 1 0%",
3437
+ auto: "1 1 auto",
3438
+ initial: "0 1 auto",
3439
+ none: "none"
3440
+ }[o] ?? o;
3441
+ return this.layoutStyle({ display: "flex", ...e !== void 0 ? { flex: e } : {} });
3416
3442
  }
3417
3443
  grid() {
3418
- return this._classNames.push("grid"), this;
3444
+ return this.layoutStyle({ display: "grid" });
3419
3445
  }
3420
3446
  inlineFlex() {
3421
- return this._classNames.push("inline-flex"), this;
3447
+ return this.layoutStyle({ display: "inline-flex" });
3422
3448
  }
3423
3449
  inlineGrid() {
3424
- return this._classNames.push("inline-grid"), this;
3450
+ return this.layoutStyle({ display: "inline-grid" });
3425
3451
  }
3426
3452
  block() {
3427
- return this._classNames.push("block"), this;
3453
+ return this.layoutStyle({ display: "block" });
3428
3454
  }
3429
3455
  inlineBlock() {
3430
- return this._classNames.push("inline-block"), this;
3456
+ return this.layoutStyle({ display: "inline-block" });
3431
3457
  }
3432
3458
  hidden() {
3433
- return this._classNames.push("hidden"), this;
3459
+ return this.layoutStyle({ display: "none" });
3434
3460
  }
3435
3461
  center() {
3436
- return this._classNames.push("flex", "items-center", "justify-center"), this;
3462
+ return this.layoutStyle({
3463
+ display: "flex",
3464
+ alignItems: "center",
3465
+ justifyContent: "center"
3466
+ });
3437
3467
  }
3438
3468
  centerX() {
3439
- return this._classNames.push("flex", "justify-center"), this;
3469
+ return this.layoutStyle({ display: "flex", justifyContent: "center" });
3440
3470
  }
3441
3471
  centerY() {
3442
- return this._classNames.push("flex", "items-center"), this;
3472
+ return this.layoutStyle({ display: "flex", alignItems: "center" });
3443
3473
  }
3444
3474
  spaceBetween() {
3445
- return this._classNames.push("justify-between"), this;
3475
+ return this.layoutStyle({ justifyContent: "space-between" });
3446
3476
  }
3447
3477
  spaceAround() {
3448
- return this._classNames.push("justify-around"), this;
3478
+ return this.layoutStyle({ justifyContent: "space-around" });
3449
3479
  }
3450
3480
  spaceEvenly() {
3451
- return this._classNames.push("justify-evenly"), this;
3481
+ return this.layoutStyle({ justifyContent: "space-evenly" });
3452
3482
  }
3453
3483
  fill() {
3454
- return this._classNames.push("w-full", "h-full"), this;
3484
+ return this.layoutStyle({ width: "100%", height: "100%" });
3455
3485
  }
3456
3486
  fillWidth() {
3457
- return this._classNames.push("w-full"), this;
3487
+ return this.layoutStyle({ width: "100%" });
3458
3488
  }
3459
3489
  fillHeight() {
3460
- return this._classNames.push("h-full"), this;
3490
+ return this.layoutStyle({ height: "100%" });
3461
3491
  }
3462
3492
  square(o) {
3463
- const i = typeof o == "number" ? `${o}px` : o, e = g.register("width", i), r = g.register("height", i);
3493
+ const i = typeof o == "number" ? `${o}px` : o, e = m.register("width", i), r = m.register("height", i);
3464
3494
  return this._classNames.push(e, r), this;
3465
3495
  }
3466
3496
  circle() {
3467
3497
  return this._classNames.push("rounded-full"), this;
3468
3498
  }
3469
3499
  opacity(o) {
3470
- const i = g.register("opacity", String(o));
3500
+ const i = m.register("opacity", String(o));
3471
3501
  return this._classNames.push(i), this;
3472
3502
  }
3473
3503
  p(o) {
3474
- const i = typeof o == "number" ? `${o}px` : o, e = g.register("padding", i);
3504
+ const i = typeof o == "number" ? `${o}px` : o, e = m.register("padding", i);
3475
3505
  return this._classNames.push(e), this;
3476
3506
  }
3477
3507
  px(o) {
@@ -3487,7 +3517,7 @@ class X {
3487
3517
  return this.paddingVertical(o);
3488
3518
  }
3489
3519
  m(o) {
3490
- const i = typeof o == "number" ? `${o}px` : o, e = g.register("margin", i);
3520
+ const i = typeof o == "number" ? `${o}px` : o, e = m.register("margin", i);
3491
3521
  return this._classNames.push(e), this;
3492
3522
  }
3493
3523
  mx(o) {
@@ -3503,15 +3533,15 @@ class X {
3503
3533
  return this.marginVertical(o);
3504
3534
  }
3505
3535
  bg(o) {
3506
- const i = typeof o == "string" && !o.startsWith("#") && !o.startsWith("rgb") ? this.resolveSemanticColor(o) : o, e = g.register("background-color", i);
3536
+ const i = typeof o == "string" && !o.startsWith("#") && !o.startsWith("rgb") ? this.resolveSemanticColor(o) : o, e = m.register("background-color", i);
3507
3537
  return this._classNames.push(e), this;
3508
3538
  }
3509
3539
  text(o) {
3510
- const i = typeof o == "string" && !o.startsWith("#") && !o.startsWith("rgb") ? this.resolveSemanticColor(o) : o, e = g.register("color", i);
3540
+ const i = typeof o == "string" && !o.startsWith("#") && !o.startsWith("rgb") ? this.resolveSemanticColor(o) : o, e = m.register("color", i);
3511
3541
  return this._classNames.push(e), this;
3512
3542
  }
3513
3543
  color(o) {
3514
- const i = typeof o == "string" && !o.startsWith("#") && !o.startsWith("rgb") ? this.resolveSemanticColor(o) : o, e = g.register("color", i);
3544
+ const i = typeof o == "string" && !o.startsWith("#") && !o.startsWith("rgb") ? this.resolveSemanticColor(o) : o, e = m.register("color", i);
3515
3545
  return this._classNames.push(e), this;
3516
3546
  }
3517
3547
  resolveSemanticColor(o) {
@@ -3544,7 +3574,7 @@ class X {
3544
3574
  }
3545
3575
  shadow(o) {
3546
3576
  if (o === null || o === "none" || o === 0 || o === "0") {
3547
- const n = g.register("box-shadow", "none");
3577
+ const n = m.register("box-shadow", "none");
3548
3578
  return this._classNames.push(n), this;
3549
3579
  }
3550
3580
  const i = {
@@ -3592,29 +3622,29 @@ class X {
3592
3622
  }
3593
3623
  };
3594
3624
  if (!o) {
3595
- const n = g.register("box-shadow", i.md);
3625
+ const n = m.register("box-shadow", i.md);
3596
3626
  return this._classNames.push(n), this;
3597
3627
  }
3598
3628
  if (typeof o == "string") {
3599
3629
  if (e(o)) {
3600
- const s = r("all", "md", o), a = g.register("box-shadow", s);
3630
+ const s = r("all", "md", o), a = m.register("box-shadow", s);
3601
3631
  return this._classNames.push(a), this;
3602
3632
  }
3603
- const n = i[o] || i.md, f = g.register("box-shadow", n);
3633
+ const n = i[o] || i.md, f = m.register("box-shadow", n);
3604
3634
  return this._classNames.push(f), this;
3605
3635
  }
3606
3636
  if (Array.isArray(o)) {
3607
3637
  const [n, f, s, a] = o;
3608
3638
  if (typeof n == "string" && e(n)) {
3609
- const x = r("all", "md", n, f), d = g.register("box-shadow", x);
3639
+ const x = r("all", "md", n, f), d = m.register("box-shadow", x);
3610
3640
  return this._classNames.push(d), this;
3611
3641
  }
3612
3642
  const b = n;
3613
3643
  if (typeof f == "string" && e(f)) {
3614
- const x = r(b, "md", f, s), d = g.register("box-shadow", x);
3644
+ const x = r(b, "md", f, s), d = m.register("box-shadow", x);
3615
3645
  return this._classNames.push(d), this;
3616
3646
  } else {
3617
- const d = r(b, f, s, a), v = g.register("box-shadow", d);
3647
+ const d = r(b, f, s, a), v = m.register("box-shadow", d);
3618
3648
  return this._classNames.push(v), this;
3619
3649
  }
3620
3650
  }
@@ -3634,7 +3664,7 @@ class X {
3634
3664
  * @example Box().padding(8).media('md', { padding: 16 }).media('(prefers-color-scheme: dark)', { backgroundColor: '#111' })
3635
3665
  */
3636
3666
  media(o, i) {
3637
- return this.registerMediaStyles(Ai(o), i), this;
3667
+ return this.registerMediaStyles(Bi(o), i), this;
3638
3668
  }
3639
3669
  registerMediaStyles(o, i) {
3640
3670
  if (!i) return;
@@ -3652,7 +3682,7 @@ class X {
3652
3682
  for (const [r, n] of Object.entries(i)) {
3653
3683
  if (n == null) continue;
3654
3684
  const f = r.replace(/[A-Z]/g, (a) => `-${a.toLowerCase()}`), s = typeof n == "number" && !e.has(r) && !e.has(f) ? `${n}px` : String(n);
3655
- this._classNames.push(g.registerMedia(o, f, s));
3685
+ this._classNames.push(m.registerMedia(o, f, s));
3656
3686
  }
3657
3687
  }
3658
3688
  sm(o) {
@@ -3669,23 +3699,23 @@ class X {
3669
3699
  }
3670
3700
  rounded(o) {
3671
3701
  if (typeof o == "number") {
3672
- const i = g.register("border-radius", `${o}px`);
3702
+ const i = m.register("border-radius", `${o}px`);
3673
3703
  this._classNames.push(i);
3674
3704
  } else if (typeof o == "string" && (o.startsWith("rounded-") || ["sm", "md", "lg", "xl", "2xl", "3xl", "full", "none"].includes(o))) {
3675
3705
  const i = o.startsWith("rounded-") ? o : `rounded-${o}`;
3676
3706
  this._classNames.push(i);
3677
3707
  } else {
3678
- const i = g.register("border-radius", o);
3708
+ const i = m.register("border-radius", o);
3679
3709
  this._classNames.push(i);
3680
3710
  }
3681
3711
  return this;
3682
3712
  }
3683
3713
  borderRadius(o) {
3684
3714
  if (typeof o == "number") {
3685
- const i = g.register("border-radius", `${o}px`);
3715
+ const i = m.register("border-radius", `${o}px`);
3686
3716
  this._classNames.push(i);
3687
3717
  } else {
3688
- const i = g.register("border-radius", o);
3718
+ const i = m.register("border-radius", o);
3689
3719
  this._classNames.push(i);
3690
3720
  }
3691
3721
  return this;
@@ -3696,48 +3726,42 @@ class X {
3696
3726
  else if (["red", "blue", "green", "gray", "white", "black", "transparent"].some((i) => o.includes(i)))
3697
3727
  this._classNames.push(`border-${o}`);
3698
3728
  else {
3699
- const i = g.register("border-color", o);
3729
+ const i = m.register("border-color", o);
3700
3730
  this._classNames.push(i);
3701
3731
  }
3702
3732
  return this;
3703
3733
  }
3704
3734
  width(o) {
3705
3735
  if (typeof o == "number") {
3706
- const i = g.register("width", `${o}px`);
3736
+ const i = m.register("width", `${o}px`);
3707
3737
  this._classNames.push(i);
3708
3738
  } else if (typeof o == "string" && (o.startsWith("w-") || o === "full" || o === "screen" || o === "min" || o === "max" || o === "fit")) {
3709
3739
  const i = o.startsWith("w-") ? o : `w-${o}`;
3710
3740
  this._classNames.push(i);
3711
3741
  } else {
3712
- const i = g.register("width", o);
3742
+ const i = m.register("width", o);
3713
3743
  this._classNames.push(i);
3714
3744
  }
3715
3745
  return this;
3716
3746
  }
3717
3747
  height(o) {
3718
3748
  if (typeof o == "number") {
3719
- const i = g.register("height", `${o}px`);
3749
+ const i = m.register("height", `${o}px`);
3720
3750
  this._classNames.push(i);
3721
3751
  } else if (typeof o == "string" && (o.startsWith("h-") || o === "full" || o === "screen" || o === "min" || o === "max" || o === "fit")) {
3722
3752
  const i = o.startsWith("h-") ? o : `h-${o}`;
3723
3753
  this._classNames.push(i);
3724
3754
  } else {
3725
- const i = g.register("height", o);
3755
+ const i = m.register("height", o);
3726
3756
  this._classNames.push(i);
3727
3757
  }
3728
3758
  return this;
3729
3759
  }
3730
3760
  gap(o) {
3731
- if (typeof o == "number") {
3732
- const i = g.register("gap", `${o}px`);
3733
- this._classNames.push(i);
3734
- } else if (typeof o == "string" && o.startsWith("gap-"))
3735
- this._classNames.push(o);
3736
- else {
3737
- const i = g.register("gap", o);
3738
- this._classNames.push(i);
3739
- }
3740
- return this;
3761
+ if (typeof o == "string" && o.startsWith("gap-"))
3762
+ return this._classNames.push(o), this;
3763
+ const i = typeof o == "number" ? `${o}px` : o;
3764
+ return this.layoutStyle({ gap: i });
3741
3765
  }
3742
3766
  clean() {
3743
3767
  return this._classNames.push(
@@ -3796,7 +3820,7 @@ class X {
3796
3820
  }
3797
3821
  weight(o) {
3798
3822
  if (typeof o == "number") {
3799
- const i = g.register("font-weight", String(o));
3823
+ const i = m.register("font-weight", String(o));
3800
3824
  this._classNames.push(i);
3801
3825
  } else {
3802
3826
  const i = {
@@ -3813,7 +3837,7 @@ class X {
3813
3837
  if (i[o])
3814
3838
  this._classNames.push(i[o]);
3815
3839
  else {
3816
- const e = g.register("font-weight", o);
3840
+ const e = m.register("font-weight", o);
3817
3841
  this._classNames.push(e);
3818
3842
  }
3819
3843
  }
@@ -3884,10 +3908,10 @@ class X {
3884
3908
  }
3885
3909
  transition(o, i, e, r) {
3886
3910
  if (this._autoEffectTransition = !1, this._effectTransitionProps = [], typeof o == "string" && i === void 0)
3887
- return this.replaceTransitionClass(g.register("transition", o)), this;
3911
+ return this.replaceTransitionClass(m.register("transition", o)), this;
3888
3912
  const n = Array.isArray(o) ? o : [o], f = oo(e || this._transitionEasing);
3889
3913
  return this.replaceTransitionClass(
3890
- g.register(
3914
+ m.register(
3891
3915
  "transition",
3892
3916
  no(n, i || this._transitionDuration, f, r || 0)
3893
3917
  )
@@ -3930,7 +3954,7 @@ class X {
3930
3954
  */
3931
3955
  _applyTransition() {
3932
3956
  this._autoEffectTransition = !1, this._effectTransitionProps = [], this.replaceTransitionClass(
3933
- g.register(
3957
+ m.register(
3934
3958
  "transition",
3935
3959
  no(
3936
3960
  this._transitionProperties,
@@ -3945,8 +3969,8 @@ class X {
3945
3969
  this._transitionClass && (this._classNames = this._classNames.filter((i) => i !== this._transitionClass)), this._transitionClass = o, this._classNames.push(o);
3946
3970
  }
3947
3971
  animate(o, i) {
3948
- j(), this._usesCssMotion = !0, this._motionClass && (this._classNames = this._classNames.filter((l) => l !== this._motionClass));
3949
- const e = Ti(o), r = (e ? o.duration : i == null ? void 0 : i.duration) ?? this._transitionDuration, n = (e ? o.delay : i == null ? void 0 : i.delay) ?? this._transitionDelay;
3972
+ X(), this._usesCssMotion = !0, this._motionClass && (this._classNames = this._classNames.filter((l) => l !== this._motionClass));
3973
+ const e = $i(o), r = (e ? o.duration : i == null ? void 0 : i.duration) ?? this._transitionDuration, n = (e ? o.delay : i == null ? void 0 : i.delay) ?? this._transitionDelay;
3950
3974
  let f = e ? o.ease : i == null ? void 0 : i.ease;
3951
3975
  const s = {
3952
3976
  stiffness: (e ? o.stiffness : i == null ? void 0 : i.stiffness) ?? void 0,
@@ -3954,10 +3978,10 @@ class X {
3954
3978
  mass: (e ? o.mass : i == null ? void 0 : i.mass) ?? void 0
3955
3979
  };
3956
3980
  if (e) {
3957
- const l = Bo(o.from), x = Bo(o.to), d = g.registerKeyframes($i(`${l}=>${x}`), l, x);
3981
+ const l = Bo(o.from), x = Bo(o.to), d = m.registerKeyframes(Ni(`${l}=>${x}`), l, x);
3958
3982
  this._motionClass = `fibo-anim ${d}`, this._props["data-fibo-anim"] = "custom";
3959
3983
  } else {
3960
- const l = Ni(o);
3984
+ const l = Ri(o);
3961
3985
  this._motionClass = `fibo-anim fibo-anim-${l}`, this._props["data-fibo-anim"] = l, (i == null ? void 0 : i.from) !== void 0 && (this._style["--fibo-from"] = typeof i.from == "number" ? `${i.from}px` : i.from), !f && l === "pop" && (f = "spring");
3962
3986
  }
3963
3987
  const a = oo(f ?? "ease", s);
@@ -3967,7 +3991,7 @@ class X {
3967
3991
  }
3968
3992
  /** CSS `linear()` spring. Works on `.animate()` and `.transition()` / `.hover()`. */
3969
3993
  spring(o) {
3970
- const i = ti(o);
3994
+ const i = ei(o);
3971
3995
  return this._transitionEasing = i, this._motionClass ? (this._style["--fibo-ease"] = i, this) : (this._applyTransition(), this);
3972
3996
  }
3973
3997
  reducedMotion(o = "reduce") {
@@ -4024,11 +4048,11 @@ class X {
4024
4048
  return o ? (o(i), this) : i;
4025
4049
  }
4026
4050
  stagger(o) {
4027
- return this._staggerMs = o, this._usesCssMotion = !0, this._style["--fibo-stagger"] = `${o}ms`, j(), this;
4051
+ return this._staggerMs = o, this._usesCssMotion = !0, this._style["--fibo-stagger"] = `${o}ms`, X(), this;
4028
4052
  }
4029
4053
  /** Scroll-reveal: IntersectionObserver toggles `.fibo-inview`. */
4030
4054
  reveal(o = "fadeUp") {
4031
- return this._reveal = typeof o == "string" ? { preset: o, once: !0 } : { preset: "fadeUp", once: !0, ...o }, this._usesCssMotion = !0, j(), this;
4055
+ return this._reveal = typeof o == "string" ? { preset: o, once: !0 } : { preset: "fadeUp", once: !0, ...o }, this._usesCssMotion = !0, X(), this;
4032
4056
  }
4033
4057
  /** Alias of `.reveal()` for scroll-triggered presets. */
4034
4058
  onScroll(o = "fadeIn") {
@@ -4036,26 +4060,26 @@ class X {
4036
4060
  }
4037
4061
  /** CSS `animation-timeline: view()` / `scroll()`; IntersectionObserver reveal is the fallback. */
4038
4062
  scrollTimeline(o = "view") {
4039
- return j(), this._classNames.push(o === "scroll" ? "fibo-scroll-timeline" : "fibo-view-timeline"), this._usesCssMotion = !0, o === "view" && !this._reveal && (this._reveal = { preset: "fadeUp", once: !0 }), this;
4063
+ return X(), this._classNames.push(o === "scroll" ? "fibo-scroll-timeline" : "fibo-view-timeline"), this._usesCssMotion = !0, o === "view" && !this._reveal && (this._reveal = { preset: "fadeUp", once: !0 }), this;
4040
4064
  }
4041
4065
  scrollProgress() {
4042
- return j(), this._scrollProgress = !0, this._classNames.push("fibo-scroll-progress"), this._usesCssMotion = !0, this;
4066
+ return X(), this._scrollProgress = !0, this._classNames.push("fibo-scroll-progress"), this._usesCssMotion = !0, this;
4043
4067
  }
4044
4068
  smoothScroll() {
4045
- return this._classNames.push(g.register("scroll-behavior", "smooth")), this;
4069
+ return this._classNames.push(m.register("scroll-behavior", "smooth")), this;
4046
4070
  }
4047
4071
  scrollSnap(o = "y") {
4048
- return j(), this._classNames.push(`fibo-snap-${o}`), this;
4072
+ return X(), this._classNames.push(`fibo-snap-${o}`), this;
4049
4073
  }
4050
4074
  scrollSnapAlign(o = "start") {
4051
- return j(), this._classNames.push(`fibo-snap-${o}`), this;
4075
+ return X(), this._classNames.push(`fibo-snap-${o}`), this;
4052
4076
  }
4053
4077
  sticky(o = 0) {
4054
4078
  if (o === !1) return this;
4055
- this._classNames.push(g.register("position", "sticky"));
4079
+ this._classNames.push(m.register("position", "sticky"));
4056
4080
  const i = o === !0 ? "0px" : typeof o == "number" ? `${o}px` : o;
4057
- this._classNames.push(g.register("top", i));
4058
- const e = o === !0 || o === 0 ? kt : typeof o == "number" ? `${Math.max(o, fi)}px` : o;
4081
+ this._classNames.push(m.register("top", i));
4082
+ const e = o === !0 || o === 0 ? _t : typeof o == "number" ? `${Math.max(o, si)}px` : o;
4059
4083
  return this.publishStickyOffset(e), this;
4060
4084
  }
4061
4085
  /**
@@ -4064,7 +4088,7 @@ class X {
4064
4088
  */
4065
4089
  publishStickyOffset(o) {
4066
4090
  const i = typeof o == "number" ? `${o}px` : o;
4067
- g.registerRoot("--fibo-sticky-offset", i), g.ensureScrollPadding();
4091
+ m.registerRoot("--fibo-sticky-offset", i), m.ensureScrollPadding();
4068
4092
  }
4069
4093
  viewTransition(o) {
4070
4094
  return this._viewTransition = o, this._style.viewTransitionName = o, this;
@@ -4098,7 +4122,7 @@ class X {
4098
4122
  }
4099
4123
  /** @internal Stamp translate3d(0,0,0) when no resting transform exists. */
4100
4124
  ensureRestTransform() {
4101
- const o = Xo(this._style);
4125
+ const o = Oo(this._style);
4102
4126
  o !== this._style && (this._style = o);
4103
4127
  }
4104
4128
  /**
@@ -4114,7 +4138,7 @@ class X {
4114
4138
  i.add("transform"), i.add("opacity"), this._effectTransitionProps = [...i], this._autoEffectTransition = !0;
4115
4139
  const e = this._transitionEasing === "ease-in-out" ? "ease-out" : this._transitionEasing, r = this._transitionDuration === 200 ? 240 : this._transitionDuration;
4116
4140
  this.replaceTransitionClass(
4117
- g.register(
4141
+ m.register(
4118
4142
  "transition",
4119
4143
  no(this._effectTransitionProps, r, e)
4120
4144
  )
@@ -4126,8 +4150,8 @@ class X {
4126
4150
  * SSR-safe: class + inline vars on first paint (no useEffect).
4127
4151
  */
4128
4152
  theme(o) {
4129
- const i = gt(o);
4130
- return this._theme = i, this.addClassName(yt(i)), this;
4153
+ const i = mt(o);
4154
+ return this._theme = i, this.addClassName(kt(i)), this;
4131
4155
  }
4132
4156
  /** Prefer dark/light system chrome for native controls under this subtree. */
4133
4157
  colorScheme(o) {
@@ -4192,12 +4216,12 @@ class X {
4192
4216
  }
4193
4217
  getClassName() {
4194
4218
  let o;
4195
- return Object.keys(this._cssStyles).length > 0 && (o = Zi(this._cssStyles) || void 0), Oi(this._classNames, o);
4219
+ return Object.keys(this._cssStyles).length > 0 && (o = qi(this._cssStyles) || void 0), Yi(this._classNames, o);
4196
4220
  }
4197
4221
  getStyle() {
4198
4222
  let o = { ...this._style, ...this._cssStyles };
4199
- if (this._smoothSurface && (o = mo(o), this._smoothNeedsRestTransform && (o = Xo(o))), this._theme && (o = {
4200
- ...wt(this._theme),
4223
+ if (this._smoothSurface && (o = mo(o), this._smoothNeedsRestTransform && (o = Oo(o))), this._theme && (o = {
4224
+ ...yt(this._theme),
4201
4225
  ...o,
4202
4226
  backgroundColor: o.backgroundColor ?? this._theme.colors.background,
4203
4227
  color: o.color ?? this._theme.colors.onBackground,
@@ -4230,7 +4254,7 @@ class X {
4230
4254
  return this._childFunction;
4231
4255
  }
4232
4256
  }
4233
- const _t = /* @__PURE__ */ new Set([
4257
+ const zt = /* @__PURE__ */ new Set([
4234
4258
  "$$typeof",
4235
4259
  "type",
4236
4260
  "props",
@@ -4243,17 +4267,17 @@ const _t = /* @__PURE__ */ new Set([
4243
4267
  "_debugTask",
4244
4268
  "_debugInfo"
4245
4269
  ]);
4246
- function zt(t) {
4270
+ function St(t) {
4247
4271
  var i;
4248
4272
  const o = (i = t._props) == null ? void 0 : i.key;
4249
4273
  if (!(o == null || o === ""))
4250
4274
  return o;
4251
4275
  }
4252
- function St(t) {
4253
- const o = t._isObserver, i = t._signals, e = t._observers, r = t._state, n = t._providers, f = zt(t), s = () => {
4276
+ function Ct(t) {
4277
+ const o = t._isObserver, i = t._signals, e = t._observers, r = t._state, n = t._providers, f = St(t), s = () => {
4254
4278
  let d = t.build();
4255
4279
  const v = t._animatedProps, z = t._animationConfig;
4256
- v && v.size > 0 && (d = p.createElement(qi, {
4280
+ v && v.size > 0 && (d = p.createElement(Ji, {
4257
4281
  key: f,
4258
4282
  animatedProps: v,
4259
4283
  animationConfig: z,
@@ -4264,7 +4288,7 @@ function St(t) {
4264
4288
  const R = t._style || {}, $ = {};
4265
4289
  for (const S of ["--fibo-dur", "--fibo-ease", "--fibo-delay", "--fibo-stagger", "--fibo-from"])
4266
4290
  R[S] != null && ($[S] = R[S]);
4267
- d = p.createElement(Ji, {
4291
+ d = p.createElement(Qi, {
4268
4292
  key: f,
4269
4293
  preset: k.preset,
4270
4294
  once: k.once,
@@ -4275,38 +4299,38 @@ function St(t) {
4275
4299
  children: d
4276
4300
  });
4277
4301
  }
4278
- t._scrollProgress && (d = p.createElement(Qi, { key: f, children: d })), t._usesCssMotion && (d = p.createElement(
4302
+ t._scrollProgress && (d = p.createElement(ot, { key: f, children: d })), t._usesCssMotion && (d = p.createElement(
4279
4303
  p.Fragment,
4280
4304
  { key: f },
4281
- p.createElement(Ri),
4305
+ p.createElement(Ei),
4282
4306
  d
4283
4307
  ));
4284
4308
  const _ = t._gesture;
4285
4309
  return _ && (d = _.wrap(d)), d;
4286
- }, a = typeof t.hasStateManagement == "function" ? t.hasStateManagement() : !!(o || i && i.size || e && e.size || r && r.size || n && n.size), b = o ? p.createElement(Wi, {
4310
+ }, a = typeof t.hasStateManagement == "function" ? t.hasStateManagement() : !!(o || i && i.size || e && e.size || r && r.size || n && n.size), b = o ? p.createElement(Pi, {
4287
4311
  key: f,
4288
4312
  children: s
4289
4313
  }) : null, l = () => b ?? s();
4290
4314
  let x = l();
4291
- return a && i && i.size > 0 ? x = p.createElement(Pi, {
4315
+ return a && i && i.size > 0 ? x = p.createElement(Li, {
4292
4316
  key: f,
4293
4317
  signals: i,
4294
4318
  children: l
4295
- }) : a && e && e.size > 0 && (x = p.createElement(Li, {
4319
+ }) : a && e && e.size > 0 && (x = p.createElement(Xi, {
4296
4320
  key: f,
4297
4321
  observables: e,
4298
4322
  children: l
4299
- })), a && r && r.size > 0 && (x = p.createElement(ji, {
4323
+ })), a && r && r.size > 0 && (x = p.createElement(Oi, {
4300
4324
  key: f,
4301
4325
  stateMap: r,
4302
4326
  children: x
4303
- })), a && n && n.size > 0 && (x = p.createElement(Xi, {
4327
+ })), a && n && n.size > 0 && (x = p.createElement(ji, {
4304
4328
  key: f,
4305
4329
  providers: n,
4306
4330
  children: x
4307
4331
  })), x;
4308
4332
  }
4309
- function Ct(t, o, i) {
4333
+ function Ft(t, o, i) {
4310
4334
  const e = function() {
4311
4335
  return o();
4312
4336
  };
@@ -4323,10 +4347,10 @@ function Ct(t, o, i) {
4323
4347
  writable: !0
4324
4348
  }), t.ref = r.ref ?? null, t.__fiboElementProps = r.props ?? {}, r._owner !== void 0 && (t._owner = r._owner), t._store = { validated: 1 };
4325
4349
  }
4326
- function O(t) {
4350
+ function j(t) {
4327
4351
  return (...o) => {
4328
- const i = new t(...o), e = t.name.replace(/Builder$/, "") || "Fibo", r = () => St(i);
4329
- return Ct(i, r, e), new Proxy(i, {
4352
+ const i = new t(...o), e = t.name.replace(/Builder$/, "") || "Fibo", r = () => Ct(i);
4353
+ return Ft(i, r, e), new Proxy(i, {
4330
4354
  get(n, f, s) {
4331
4355
  var a, b;
4332
4356
  if (f === "build")
@@ -4352,11 +4376,11 @@ function O(t) {
4352
4376
  const l = Reflect.get(n, f), x = Object.getPrototypeOf(n), d = x != null ? x.type : void 0;
4353
4377
  return typeof d != "function" || typeof l != "function" ? l : (n.__fiboType || (n.__fiboType = (v, z) => typeof v == "string" || typeof v == "number" ? (d.call(n, v), s) : l(v, z)), n.__fiboType);
4354
4378
  }
4355
- return _t.has(f) || Reflect.has(n, f) ? Reflect.get(n, f, s) : (l) => {
4356
- const d = ri(f) ?? [f];
4379
+ return zt.has(f) || Reflect.has(n, f) ? Reflect.get(n, f, s) : (l) => {
4380
+ const d = ni(f) ?? [f];
4357
4381
  for (const v of d) {
4358
- const z = So(v), k = ni(v, l);
4359
- n.className(g.register(z, k));
4382
+ const z = So(v), k = fi(v, l);
4383
+ n.className(m.register(z, k));
4360
4384
  }
4361
4385
  return s;
4362
4386
  };
@@ -4364,7 +4388,7 @@ function O(t) {
4364
4388
  });
4365
4389
  };
4366
4390
  }
4367
- class Ft extends X {
4391
+ class Tt extends O {
4368
4392
  build() {
4369
4393
  const i = [
4370
4394
  "fibo-center",
@@ -4384,8 +4408,8 @@ class Ft extends X {
4384
4408
  );
4385
4409
  }
4386
4410
  }
4387
- const je = O(Ft);
4388
- class Tt extends X {
4411
+ const Oe = j(Tt);
4412
+ class $t extends O {
4389
4413
  constructor() {
4390
4414
  super(...arguments);
4391
4415
  c(this, "_mainAxisAlignment", "start");
@@ -4447,8 +4471,8 @@ class Tt extends X {
4447
4471
  );
4448
4472
  }
4449
4473
  }
4450
- const Xe = O(Tt);
4451
- class $t extends X {
4474
+ const je = j($t);
4475
+ class Nt extends O {
4452
4476
  build() {
4453
4477
  const o = this.getClassName(), i = this.getStyle(), e = this.processChildren();
4454
4478
  return p.createElement(
@@ -4462,8 +4486,8 @@ class $t extends X {
4462
4486
  );
4463
4487
  }
4464
4488
  }
4465
- const Oe = O($t);
4466
- class Nt extends X {
4489
+ const Ye = j(Nt);
4490
+ class Rt extends O {
4467
4491
  constructor() {
4468
4492
  super(...arguments);
4469
4493
  c(this, "_mainAxisAlignment", "start");
@@ -4518,13 +4542,17 @@ class Nt extends X {
4518
4542
  );
4519
4543
  }
4520
4544
  }
4521
- const Ye = O(Nt);
4522
- class Rt extends X {
4545
+ const Ve = j(Rt);
4546
+ function Do(t) {
4547
+ return typeof t == "number" ? `${t}px` : t;
4548
+ }
4549
+ class Et extends O {
4523
4550
  constructor() {
4524
4551
  super(...arguments);
4525
4552
  c(this, "_height");
4526
4553
  c(this, "_width");
4527
- c(this, "_direction");
4554
+ c(this, "_grow");
4555
+ c(this, "_expand");
4528
4556
  }
4529
4557
  height(i) {
4530
4558
  return this._height = i, this;
@@ -4533,23 +4561,28 @@ class Rt extends X {
4533
4561
  return this._width = i, this;
4534
4562
  }
4535
4563
  vertical() {
4536
- return this._direction = "vertical", this;
4564
+ return this._expand = !0, this;
4537
4565
  }
4538
4566
  horizontal() {
4539
- return this._direction = "horizontal", this;
4567
+ return this._expand = !0, this;
4568
+ }
4569
+ /** Grow factor inside a Row or Column. Does not turn the spacer into a flex container. */
4570
+ flex(i = 1) {
4571
+ const e = typeof i == "number" ? i : Number(i);
4572
+ return this._grow = Number.isFinite(e) ? e : 1, this._expand = !0, this;
4540
4573
  }
4541
4574
  build() {
4542
- const i = this.getStyle();
4543
- this._direction === "vertical" ? (i.flex = "1", i.height = this._height ? typeof this._height == "number" ? `${this._height}px` : this._height : "auto") : this._direction === "horizontal" ? (i.flex = "1", i.width = this._width ? typeof this._width == "number" ? `${this._width}px` : this._width : "auto") : (this._height && (i.height = typeof this._height == "number" ? `${this._height}px` : this._height), this._width && (i.width = typeof this._width == "number" ? `${this._width}px` : this._width));
4544
- const e = this.getClassName();
4575
+ const i = this.getStyle(), e = this._height != null || this._width != null, r = this._expand ?? !e;
4576
+ this._height != null && (i.height = Do(this._height)), this._width != null && (i.width = Do(this._width)), r ? (i.flex = `${this._grow ?? 1} 1 0%`, i.alignSelf = i.alignSelf ?? "stretch", i.minWidth = 0, i.minHeight = 0) : i.flex = "0 0 auto";
4577
+ const n = this.getClassName();
4545
4578
  return p.createElement("div", {
4546
- className: `fibo-spacer ${e}`,
4579
+ className: `fibo-spacer ${n}`,
4547
4580
  style: i,
4548
4581
  ...this._props
4549
4582
  });
4550
4583
  }
4551
4584
  }
4552
- const Ve = O(Rt), Et = p.memo((t) => {
4585
+ const De = j(Et), At = p.memo((t) => {
4553
4586
  const { className: o, style: i, children: e, ...r } = t;
4554
4587
  return p.createElement(
4555
4588
  "div",
@@ -4561,7 +4594,7 @@ const Ve = O(Rt), Et = p.memo((t) => {
4561
4594
  ...e
4562
4595
  );
4563
4596
  });
4564
- class At extends X {
4597
+ class Bt extends O {
4565
4598
  build() {
4566
4599
  const i = [
4567
4600
  "fibo-box",
@@ -4573,10 +4606,10 @@ class At extends X {
4573
4606
  children: r,
4574
4607
  ...this._props
4575
4608
  };
4576
- return p.createElement(Et, n);
4609
+ return p.createElement(At, n);
4577
4610
  }
4578
4611
  }
4579
- const De = O(At), Bt = p.memo((t) => {
4612
+ const He = j(Bt), It = p.memo((t) => {
4580
4613
  const { text: o, subtitle: i, number: e, color: r, className: n, style: f, children: s, ...a } = t;
4581
4614
  return p.createElement(
4582
4615
  "div",
@@ -4613,7 +4646,7 @@ const De = O(At), Bt = p.memo((t) => {
4613
4646
  )
4614
4647
  );
4615
4648
  });
4616
- class It extends X {
4649
+ class Mt extends O {
4617
4650
  constructor() {
4618
4651
  super(...arguments);
4619
4652
  c(this, "_text", "");
@@ -4654,32 +4687,32 @@ class It extends X {
4654
4687
  children: this.processChildren(),
4655
4688
  ...this._props
4656
4689
  };
4657
- return p.createElement(Bt, r);
4690
+ return p.createElement(It, r);
4658
4691
  }
4659
4692
  }
4660
- const He = O(It);
4661
- function Mt({ children: t }) {
4693
+ const Ge = j(Mt);
4694
+ function Wt({ children: t }) {
4662
4695
  return p.createElement(p.Fragment, null, t);
4663
4696
  }
4664
- const Wt = "FIBO:", si = /\uE000FIBO:(\d+)\uE001/g, ai = [];
4665
- function Pt(t) {
4666
- return t.includes(Wt);
4667
- }
4697
+ const Pt = "FIBO:", ai = /\uE000FIBO:(\d+)\uE001/g, ci = [];
4668
4698
  function Lt(t) {
4699
+ return t.includes(Pt);
4700
+ }
4701
+ function Xt(t) {
4669
4702
  const o = [];
4670
- for (const i of t.matchAll(si)) {
4671
- const e = ai[Number(i[1])];
4703
+ for (const i of t.matchAll(ai)) {
4704
+ const e = ci[Number(i[1])];
4672
4705
  e && o.push(e);
4673
4706
  }
4674
4707
  return o;
4675
4708
  }
4676
- function jt(t) {
4677
- return t.replace(si, (o, i) => {
4678
- const e = ai[Number(i)];
4709
+ function Ot(t) {
4710
+ return t.replace(ai, (o, i) => {
4711
+ const e = ci[Number(i)];
4679
4712
  return e == null ? "" : String(e.value);
4680
4713
  });
4681
4714
  }
4682
- const Xt = {
4715
+ const jt = {
4683
4716
  h1: {
4684
4717
  fontSize: "var(--fibo-text-h1-size, 2.25rem)",
4685
4718
  fontWeight: "var(--fibo-text-h1-weight, 700)",
@@ -4739,17 +4772,17 @@ const Xt = {
4739
4772
  color: "var(--fibo-text-label-color, inherit)"
4740
4773
  }
4741
4774
  };
4742
- function ci(t, o) {
4775
+ function li(t, o) {
4743
4776
  return {
4744
4777
  margin: 0,
4745
4778
  overflowWrap: "anywhere",
4746
4779
  wordBreak: "break-word",
4747
4780
  maxWidth: "100%",
4748
- ...Xt[t],
4781
+ ...jt[t],
4749
4782
  ...o
4750
4783
  };
4751
4784
  }
4752
- const Ot = p.memo((t) => {
4785
+ const Yt = p.memo((t) => {
4753
4786
  const { text: o, type: i, className: e, style: r, ...n } = t, f = {
4754
4787
  h1: "h1",
4755
4788
  h2: "h2",
@@ -4765,13 +4798,13 @@ const Ot = p.memo((t) => {
4765
4798
  f[i],
4766
4799
  {
4767
4800
  className: `fibo-text fibo-text-${i} min-w-0 ${e}`,
4768
- style: ci(i, r),
4801
+ style: li(i, r),
4769
4802
  ...n
4770
4803
  },
4771
4804
  o
4772
4805
  );
4773
4806
  });
4774
- class Yt extends X {
4807
+ class Vt extends O {
4775
4808
  constructor(i = "") {
4776
4809
  super();
4777
4810
  c(this, "_text", "");
@@ -4779,9 +4812,9 @@ class Yt extends X {
4779
4812
  this.text(i);
4780
4813
  }
4781
4814
  text(i) {
4782
- if (typeof i == "string" && Pt(i)) {
4783
- this._text = () => jt(i);
4784
- for (const e of Lt(i))
4815
+ if (typeof i == "string" && Lt(i)) {
4816
+ this._text = () => Ot(i);
4817
+ for (const e of Xt(i))
4785
4818
  super.bindSignal(e);
4786
4819
  return this;
4787
4820
  }
@@ -4828,11 +4861,11 @@ class Yt extends X {
4828
4861
  };
4829
4862
  if (typeof this._text == "function") {
4830
4863
  const r = this._text;
4831
- return p.createElement(Mt, {
4864
+ return p.createElement(Wt, {
4832
4865
  compute: r,
4833
4866
  as: i[this._type],
4834
4867
  className: `fibo-text fibo-text-${this._type} min-w-0 ${this.getClassName()}`,
4835
- style: ci(this._type, this.getStyle()),
4868
+ style: li(this._type, this.getStyle()),
4836
4869
  ...this._props
4837
4870
  });
4838
4871
  }
@@ -4843,49 +4876,49 @@ class Yt extends X {
4843
4876
  style: this.getStyle(),
4844
4877
  ...this._props
4845
4878
  };
4846
- return p.createElement(Ot, e);
4879
+ return p.createElement(Yt, e);
4847
4880
  }
4848
4881
  }
4849
- const Ge = O(Yt), Vt = (t, o) => {
4882
+ const Ue = j(Vt), Dt = (t, o) => {
4850
4883
  const i = new Array(t.length + o.length);
4851
4884
  for (let e = 0; e < t.length; e++)
4852
4885
  i[e] = t[e];
4853
4886
  for (let e = 0; e < o.length; e++)
4854
4887
  i[t.length + e] = o[e];
4855
4888
  return i;
4856
- }, Dt = (t, o) => ({
4889
+ }, Ht = (t, o) => ({
4857
4890
  classGroupId: t,
4858
4891
  validator: o
4859
- }), li = (t = /* @__PURE__ */ new Map(), o = null, i) => ({
4892
+ }), bi = (t = /* @__PURE__ */ new Map(), o = null, i) => ({
4860
4893
  nextPart: t,
4861
4894
  validators: o,
4862
4895
  classGroupId: i
4863
- }), xo = "-", Do = [], Ht = "arbitrary..", Gt = (t) => {
4864
- const o = Kt(t), {
4896
+ }), xo = "-", Ho = [], Gt = "arbitrary..", Ut = (t) => {
4897
+ const o = Zt(t), {
4865
4898
  conflictingClassGroups: i,
4866
4899
  conflictingClassGroupModifiers: e
4867
4900
  } = t;
4868
4901
  return {
4869
4902
  getClassGroupId: (f) => {
4870
4903
  if (f.startsWith("[") && f.endsWith("]"))
4871
- return Ut(f);
4904
+ return Kt(f);
4872
4905
  const s = f.split(xo), a = s[0] === "" && s.length > 1 ? 1 : 0;
4873
- return bi(s, a, o);
4906
+ return ui(s, a, o);
4874
4907
  },
4875
4908
  getConflictingClassGroupIds: (f, s) => {
4876
4909
  if (s) {
4877
4910
  const a = e[f], b = i[f];
4878
- return a ? b ? Vt(b, a) : a : b || Do;
4911
+ return a ? b ? Dt(b, a) : a : b || Ho;
4879
4912
  }
4880
- return i[f] || Do;
4913
+ return i[f] || Ho;
4881
4914
  }
4882
4915
  };
4883
- }, bi = (t, o, i) => {
4916
+ }, ui = (t, o, i) => {
4884
4917
  if (t.length - o === 0)
4885
4918
  return i.classGroupId;
4886
4919
  const r = t[o], n = i.nextPart.get(r);
4887
4920
  if (n) {
4888
- const b = bi(t, o + 1, n);
4921
+ const b = ui(t, o + 1, n);
4889
4922
  if (b) return b;
4890
4923
  }
4891
4924
  const f = i.validators;
@@ -4897,17 +4930,17 @@ const Ge = O(Yt), Vt = (t, o) => {
4897
4930
  if (l.validator(s))
4898
4931
  return l.classGroupId;
4899
4932
  }
4900
- }, Ut = (t) => t.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
4933
+ }, Kt = (t) => t.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
4901
4934
  const o = t.slice(1, -1), i = o.indexOf(":"), e = o.slice(0, i);
4902
- return e ? Ht + e : void 0;
4903
- })(), Kt = (t) => {
4935
+ return e ? Gt + e : void 0;
4936
+ })(), Zt = (t) => {
4904
4937
  const {
4905
4938
  theme: o,
4906
4939
  classGroups: i
4907
4940
  } = t;
4908
- return Zt(i, o);
4909
- }, Zt = (t, o) => {
4910
- const i = li();
4941
+ return qt(i, o);
4942
+ }, qt = (t, o) => {
4943
+ const i = bi();
4911
4944
  for (const e in t) {
4912
4945
  const r = t[e];
4913
4946
  Co(r, i, e, o);
@@ -4917,43 +4950,43 @@ const Ge = O(Yt), Vt = (t, o) => {
4917
4950
  const r = t.length;
4918
4951
  for (let n = 0; n < r; n++) {
4919
4952
  const f = t[n];
4920
- qt(f, o, i, e);
4953
+ Jt(f, o, i, e);
4921
4954
  }
4922
- }, qt = (t, o, i, e) => {
4955
+ }, Jt = (t, o, i, e) => {
4923
4956
  if (typeof t == "string") {
4924
- Jt(t, o, i);
4957
+ Qt(t, o, i);
4925
4958
  return;
4926
4959
  }
4927
4960
  if (typeof t == "function") {
4928
- Qt(t, o, i, e);
4961
+ oe(t, o, i, e);
4929
4962
  return;
4930
4963
  }
4931
- oe(t, o, i, e);
4932
- }, Jt = (t, o, i) => {
4933
- const e = t === "" ? o : ui(o, t);
4964
+ ie(t, o, i, e);
4965
+ }, Qt = (t, o, i) => {
4966
+ const e = t === "" ? o : hi(o, t);
4934
4967
  e.classGroupId = i;
4935
- }, Qt = (t, o, i, e) => {
4936
- if (ie(t)) {
4968
+ }, oe = (t, o, i, e) => {
4969
+ if (te(t)) {
4937
4970
  Co(t(e), o, i, e);
4938
4971
  return;
4939
4972
  }
4940
- o.validators === null && (o.validators = []), o.validators.push(Dt(i, t));
4941
- }, oe = (t, o, i, e) => {
4973
+ o.validators === null && (o.validators = []), o.validators.push(Ht(i, t));
4974
+ }, ie = (t, o, i, e) => {
4942
4975
  const r = Object.entries(t), n = r.length;
4943
4976
  for (let f = 0; f < n; f++) {
4944
4977
  const [s, a] = r[f];
4945
- Co(a, ui(o, s), i, e);
4978
+ Co(a, hi(o, s), i, e);
4946
4979
  }
4947
- }, ui = (t, o) => {
4980
+ }, hi = (t, o) => {
4948
4981
  let i = t;
4949
4982
  const e = o.split(xo), r = e.length;
4950
4983
  for (let n = 0; n < r; n++) {
4951
4984
  const f = e[n];
4952
4985
  let s = i.nextPart.get(f);
4953
- s || (s = li(), i.nextPart.set(f, s)), i = s;
4986
+ s || (s = bi(), i.nextPart.set(f, s)), i = s;
4954
4987
  }
4955
4988
  return i;
4956
- }, ie = (t) => "isThemeGetter" in t && t.isThemeGetter === !0, te = (t) => {
4989
+ }, te = (t) => "isThemeGetter" in t && t.isThemeGetter === !0, ee = (t) => {
4957
4990
  if (t < 1)
4958
4991
  return {
4959
4992
  get: () => {
@@ -4977,13 +5010,13 @@ const Ge = O(Yt), Vt = (t, o) => {
4977
5010
  n in i ? i[n] = f : r(n, f);
4978
5011
  }
4979
5012
  };
4980
- }, ko = "!", Ho = ":", ee = [], Go = (t, o, i, e, r) => ({
5013
+ }, ko = "!", Go = ":", re = [], Uo = (t, o, i, e, r) => ({
4981
5014
  modifiers: t,
4982
5015
  hasImportantModifier: o,
4983
5016
  baseClassName: i,
4984
5017
  maybePostfixModifierPosition: e,
4985
5018
  isExternal: r
4986
- }), re = (t) => {
5019
+ }), ne = (t) => {
4987
5020
  const {
4988
5021
  prefix: o,
4989
5022
  experimentalParseClassName: i
@@ -4995,7 +5028,7 @@ const Ge = O(Yt), Vt = (t, o) => {
4995
5028
  for (let k = 0; k < l; k++) {
4996
5029
  const _ = r[k];
4997
5030
  if (f === 0 && s === 0) {
4998
- if (_ === Ho) {
5031
+ if (_ === Go) {
4999
5032
  n.push(r.slice(a, k)), a = k + 1;
5000
5033
  continue;
5001
5034
  }
@@ -5016,11 +5049,11 @@ const Ge = O(Yt), Vt = (t, o) => {
5016
5049
  x.startsWith(ko) && (d = x.slice(1), v = !0)
5017
5050
  );
5018
5051
  const z = b && b > a ? b - a : void 0;
5019
- return Go(n, v, d, z);
5052
+ return Uo(n, v, d, z);
5020
5053
  };
5021
5054
  if (o) {
5022
- const r = o + Ho, n = e;
5023
- e = (f) => f.startsWith(r) ? n(f.slice(r.length)) : Go(ee, !1, f, void 0, !0);
5055
+ const r = o + Go, n = e;
5056
+ e = (f) => f.startsWith(r) ? n(f.slice(r.length)) : Uo(re, !1, f, void 0, !0);
5024
5057
  }
5025
5058
  if (i) {
5026
5059
  const r = e;
@@ -5030,7 +5063,7 @@ const Ge = O(Yt), Vt = (t, o) => {
5030
5063
  });
5031
5064
  }
5032
5065
  return e;
5033
- }, ne = (t) => {
5066
+ }, fe = (t) => {
5034
5067
  const o = /* @__PURE__ */ new Map();
5035
5068
  return t.orderSensitiveModifiers.forEach((i, e) => {
5036
5069
  o.set(i, 1e6 + e);
@@ -5043,18 +5076,18 @@ const Ge = O(Yt), Vt = (t, o) => {
5043
5076
  }
5044
5077
  return r.length > 0 && (r.sort(), e.push(...r)), e;
5045
5078
  };
5046
- }, fe = (t) => ({
5047
- cache: te(t.cacheSize),
5048
- parseClassName: re(t),
5049
- sortModifiers: ne(t),
5050
- ...Gt(t)
5051
- }), se = /\s+/, ae = (t, o) => {
5079
+ }, se = (t) => ({
5080
+ cache: ee(t.cacheSize),
5081
+ parseClassName: ne(t),
5082
+ sortModifiers: fe(t),
5083
+ ...Ut(t)
5084
+ }), ae = /\s+/, ce = (t, o) => {
5052
5085
  const {
5053
5086
  parseClassName: i,
5054
5087
  getClassGroupId: e,
5055
5088
  getConflictingClassGroupIds: r,
5056
5089
  sortModifiers: n
5057
- } = o, f = [], s = t.trim().split(se);
5090
+ } = o, f = [], s = t.trim().split(ae);
5058
5091
  let a = "";
5059
5092
  for (let b = s.length - 1; b >= 0; b -= 1) {
5060
5093
  const l = s[b], {
@@ -5092,46 +5125,46 @@ const Ge = O(Yt), Vt = (t, o) => {
5092
5125
  a = l + (a.length > 0 ? " " + a : a);
5093
5126
  }
5094
5127
  return a;
5095
- }, ce = (...t) => {
5128
+ }, le = (...t) => {
5096
5129
  let o = 0, i, e, r = "";
5097
5130
  for (; o < t.length; )
5098
- (i = t[o++]) && (e = hi(i)) && (r && (r += " "), r += e);
5131
+ (i = t[o++]) && (e = xi(i)) && (r && (r += " "), r += e);
5099
5132
  return r;
5100
- }, hi = (t) => {
5133
+ }, xi = (t) => {
5101
5134
  if (typeof t == "string")
5102
5135
  return t;
5103
5136
  let o, i = "";
5104
5137
  for (let e = 0; e < t.length; e++)
5105
- t[e] && (o = hi(t[e])) && (i && (i += " "), i += o);
5138
+ t[e] && (o = xi(t[e])) && (i && (i += " "), i += o);
5106
5139
  return i;
5107
- }, le = (t, ...o) => {
5140
+ }, be = (t, ...o) => {
5108
5141
  let i, e, r, n;
5109
5142
  const f = (a) => {
5110
5143
  const b = o.reduce((l, x) => x(l), t());
5111
- return i = fe(b), e = i.cache.get, r = i.cache.set, n = s, s(a);
5144
+ return i = se(b), e = i.cache.get, r = i.cache.set, n = s, s(a);
5112
5145
  }, s = (a) => {
5113
5146
  const b = e(a);
5114
5147
  if (b)
5115
5148
  return b;
5116
- const l = ae(a, i);
5149
+ const l = ce(a, i);
5117
5150
  return r(a, l), l;
5118
5151
  };
5119
- return n = f, (...a) => n(ce(...a));
5120
- }, be = [], T = (t) => {
5121
- const o = (i) => i[t] || be;
5152
+ return n = f, (...a) => n(le(...a));
5153
+ }, ue = [], T = (t) => {
5154
+ const o = (i) => i[t] || ue;
5122
5155
  return o.isThemeGetter = !0, o;
5123
- }, xi = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, pi = /^\((?:(\w[\w-]*):)?(.+)\)$/i, ue = /^\d+\/\d+$/, he = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, xe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, pe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, de = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, ge = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Q = (t) => ue.test(t), y = (t) => !!t && !Number.isNaN(Number(t)), V = (t) => !!t && Number.isInteger(Number(t)), vo = (t) => t.endsWith("%") && y(t.slice(0, -1)), L = (t) => he.test(t), me = () => !0, ve = (t) => (
5156
+ }, pi = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, di = /^\((?:(\w[\w-]*):)?(.+)\)$/i, he = /^\d+\/\d+$/, xe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, pe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, de = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, ge = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, me = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Q = (t) => he.test(t), y = (t) => !!t && !Number.isNaN(Number(t)), V = (t) => !!t && Number.isInteger(Number(t)), vo = (t) => t.endsWith("%") && y(t.slice(0, -1)), L = (t) => xe.test(t), ve = () => !0, we = (t) => (
5124
5157
  // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
5125
5158
  // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
5126
5159
  // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
5127
- xe.test(t) && !pe.test(t)
5128
- ), di = () => !1, we = (t) => de.test(t), ye = (t) => ge.test(t), ke = (t) => !u(t) && !h(t), _e = (t) => io(t, vi, di), u = (t) => xi.test(t), Z = (t) => io(t, wi, ve), wo = (t) => io(t, Te, y), Uo = (t) => io(t, gi, di), ze = (t) => io(t, mi, ye), uo = (t) => io(t, yi, we), h = (t) => pi.test(t), ro = (t) => to(t, wi), Se = (t) => to(t, $e), Ko = (t) => to(t, gi), Ce = (t) => to(t, vi), Fe = (t) => to(t, mi), ho = (t) => to(t, yi, !0), io = (t, o, i) => {
5129
- const e = xi.exec(t);
5160
+ pe.test(t) && !de.test(t)
5161
+ ), gi = () => !1, ye = (t) => ge.test(t), ke = (t) => me.test(t), _e = (t) => !u(t) && !h(t), ze = (t) => io(t, wi, gi), u = (t) => pi.test(t), Z = (t) => io(t, yi, we), wo = (t) => io(t, $e, y), Ko = (t) => io(t, mi, gi), Se = (t) => io(t, vi, ke), uo = (t) => io(t, ki, ye), h = (t) => di.test(t), ro = (t) => to(t, yi), Ce = (t) => to(t, Ne), Zo = (t) => to(t, mi), Fe = (t) => to(t, wi), Te = (t) => to(t, vi), ho = (t) => to(t, ki, !0), io = (t, o, i) => {
5162
+ const e = pi.exec(t);
5130
5163
  return e ? e[1] ? o(e[1]) : i(e[2]) : !1;
5131
5164
  }, to = (t, o, i = !1) => {
5132
- const e = pi.exec(t);
5165
+ const e = di.exec(t);
5133
5166
  return e ? e[1] ? o(e[1]) : i : !1;
5134
- }, gi = (t) => t === "position" || t === "percentage", mi = (t) => t === "image" || t === "url", vi = (t) => t === "length" || t === "size" || t === "bg-size", wi = (t) => t === "length", Te = (t) => t === "number", $e = (t) => t === "family-name", yi = (t) => t === "shadow", Ne = () => {
5167
+ }, mi = (t) => t === "position" || t === "percentage", vi = (t) => t === "image" || t === "url", wi = (t) => t === "length" || t === "size" || t === "bg-size", yi = (t) => t === "length", $e = (t) => t === "number", Ne = (t) => t === "family-name", ki = (t) => t === "shadow", Re = () => {
5135
5168
  const t = T("color"), o = T("font"), i = T("text"), e = T("font-weight"), r = T("tracking"), n = T("leading"), f = T("breakpoint"), s = T("container"), a = T("spacing"), b = T("radius"), l = T("shadow"), x = T("inset-shadow"), d = T("text-shadow"), v = T("drop-shadow"), z = T("blur"), k = T("perspective"), _ = T("aspect"), R = T("ease"), $ = T("animate"), S = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], C = () => [
5136
5169
  "center",
5137
5170
  "top",
@@ -5150,13 +5183,13 @@ const Ge = O(Yt), Vt = (t, o) => {
5150
5183
  "bottom-left",
5151
5184
  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
5152
5185
  "left-bottom"
5153
- ], F = () => [...C(), h, u], M = () => ["auto", "hidden", "clip", "visible", "scroll"], W = () => ["auto", "contain", "none"], m = () => [h, u, a], E = () => [Q, "full", "auto", ...m()], G = () => [V, "none", "subgrid", h, u], Y = () => ["auto", {
5186
+ ], F = () => [...C(), h, u], M = () => ["auto", "hidden", "clip", "visible", "scroll"], W = () => ["auto", "contain", "none"], g = () => [h, u, a], E = () => [Q, "full", "auto", ...g()], G = () => [V, "none", "subgrid", h, u], Y = () => ["auto", {
5154
5187
  span: ["full", V, h, u]
5155
- }, V, h, u], U = () => [V, "auto", h, u], fo = () => ["auto", "min", "max", "fr", h, u], eo = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], q = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], P = () => ["auto", ...m()], K = () => [Q, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...m()], w = () => [t, h, u], Fo = () => [...C(), Ko, Uo, {
5188
+ }, V, h, u], U = () => [V, "auto", h, u], fo = () => ["auto", "min", "max", "fr", h, u], eo = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], q = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], P = () => ["auto", ...g()], K = () => [Q, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...g()], w = () => [t, h, u], Fo = () => [...C(), Zo, Ko, {
5156
5189
  position: [h, u]
5157
5190
  }], To = () => ["no-repeat", {
5158
5191
  repeat: ["", "x", "y", "space", "round"]
5159
- }], $o = () => ["auto", "cover", "contain", Ce, _e, {
5192
+ }], $o = () => ["auto", "cover", "contain", Fe, ze, {
5160
5193
  size: [h, u]
5161
5194
  }], po = () => [vo, ro, Z], A = () => [
5162
5195
  // Deprecated since Tailwind CSS v4.0.0
@@ -5166,14 +5199,14 @@ const Ge = O(Yt), Vt = (t, o) => {
5166
5199
  b,
5167
5200
  h,
5168
5201
  u
5169
- ], B = () => ["", y, ro, Z], so = () => ["solid", "dashed", "dotted", "double"], No = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], N = () => [y, vo, Ko, Uo], Ro = () => [
5202
+ ], B = () => ["", y, ro, Z], so = () => ["solid", "dashed", "dotted", "double"], No = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], N = () => [y, vo, Zo, Ko], Ro = () => [
5170
5203
  // Deprecated since Tailwind CSS v4.0.0
5171
5204
  "",
5172
5205
  "none",
5173
5206
  z,
5174
5207
  h,
5175
5208
  u
5176
- ], ao = () => ["none", y, h, u], co = () => ["none", y, h, u], go = () => [y, h, u], lo = () => [Q, "full", ...m()];
5209
+ ], ao = () => ["none", y, h, u], co = () => ["none", y, h, u], go = () => [y, h, u], lo = () => [Q, "full", ...g()];
5177
5210
  return {
5178
5211
  cacheSize: 500,
5179
5212
  theme: {
@@ -5181,11 +5214,11 @@ const Ge = O(Yt), Vt = (t, o) => {
5181
5214
  aspect: ["video"],
5182
5215
  blur: [L],
5183
5216
  breakpoint: [L],
5184
- color: [me],
5217
+ color: [ve],
5185
5218
  container: [L],
5186
5219
  "drop-shadow": [L],
5187
5220
  ease: ["in", "out", "in-out"],
5188
- font: [ke],
5221
+ font: [_e],
5189
5222
  "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
5190
5223
  "inset-shadow": [L],
5191
5224
  leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
@@ -5429,7 +5462,7 @@ const Ge = O(Yt), Vt = (t, o) => {
5429
5462
  * @see https://tailwindcss.com/docs/flex-basis
5430
5463
  */
5431
5464
  basis: [{
5432
- basis: [Q, "full", "auto", s, ...m()]
5465
+ basis: [Q, "full", "auto", s, ...g()]
5433
5466
  }],
5434
5467
  /**
5435
5468
  * Flex Direction
@@ -5555,21 +5588,21 @@ const Ge = O(Yt), Vt = (t, o) => {
5555
5588
  * @see https://tailwindcss.com/docs/gap
5556
5589
  */
5557
5590
  gap: [{
5558
- gap: m()
5591
+ gap: g()
5559
5592
  }],
5560
5593
  /**
5561
5594
  * Gap X
5562
5595
  * @see https://tailwindcss.com/docs/gap
5563
5596
  */
5564
5597
  "gap-x": [{
5565
- "gap-x": m()
5598
+ "gap-x": g()
5566
5599
  }],
5567
5600
  /**
5568
5601
  * Gap Y
5569
5602
  * @see https://tailwindcss.com/docs/gap
5570
5603
  */
5571
5604
  "gap-y": [{
5572
- "gap-y": m()
5605
+ "gap-y": g()
5573
5606
  }],
5574
5607
  /**
5575
5608
  * Justify Content
@@ -5644,63 +5677,63 @@ const Ge = O(Yt), Vt = (t, o) => {
5644
5677
  * @see https://tailwindcss.com/docs/padding
5645
5678
  */
5646
5679
  p: [{
5647
- p: m()
5680
+ p: g()
5648
5681
  }],
5649
5682
  /**
5650
5683
  * Padding X
5651
5684
  * @see https://tailwindcss.com/docs/padding
5652
5685
  */
5653
5686
  px: [{
5654
- px: m()
5687
+ px: g()
5655
5688
  }],
5656
5689
  /**
5657
5690
  * Padding Y
5658
5691
  * @see https://tailwindcss.com/docs/padding
5659
5692
  */
5660
5693
  py: [{
5661
- py: m()
5694
+ py: g()
5662
5695
  }],
5663
5696
  /**
5664
5697
  * Padding Start
5665
5698
  * @see https://tailwindcss.com/docs/padding
5666
5699
  */
5667
5700
  ps: [{
5668
- ps: m()
5701
+ ps: g()
5669
5702
  }],
5670
5703
  /**
5671
5704
  * Padding End
5672
5705
  * @see https://tailwindcss.com/docs/padding
5673
5706
  */
5674
5707
  pe: [{
5675
- pe: m()
5708
+ pe: g()
5676
5709
  }],
5677
5710
  /**
5678
5711
  * Padding Top
5679
5712
  * @see https://tailwindcss.com/docs/padding
5680
5713
  */
5681
5714
  pt: [{
5682
- pt: m()
5715
+ pt: g()
5683
5716
  }],
5684
5717
  /**
5685
5718
  * Padding Right
5686
5719
  * @see https://tailwindcss.com/docs/padding
5687
5720
  */
5688
5721
  pr: [{
5689
- pr: m()
5722
+ pr: g()
5690
5723
  }],
5691
5724
  /**
5692
5725
  * Padding Bottom
5693
5726
  * @see https://tailwindcss.com/docs/padding
5694
5727
  */
5695
5728
  pb: [{
5696
- pb: m()
5729
+ pb: g()
5697
5730
  }],
5698
5731
  /**
5699
5732
  * Padding Left
5700
5733
  * @see https://tailwindcss.com/docs/padding
5701
5734
  */
5702
5735
  pl: [{
5703
- pl: m()
5736
+ pl: g()
5704
5737
  }],
5705
5738
  /**
5706
5739
  * Margin
@@ -5770,7 +5803,7 @@ const Ge = O(Yt), Vt = (t, o) => {
5770
5803
  * @see https://tailwindcss.com/docs/margin#adding-space-between-children
5771
5804
  */
5772
5805
  "space-x": [{
5773
- "space-x": m()
5806
+ "space-x": g()
5774
5807
  }],
5775
5808
  /**
5776
5809
  * Space Between X Reverse
@@ -5782,7 +5815,7 @@ const Ge = O(Yt), Vt = (t, o) => {
5782
5815
  * @see https://tailwindcss.com/docs/margin#adding-space-between-children
5783
5816
  */
5784
5817
  "space-y": [{
5785
- "space-y": m()
5818
+ "space-y": g()
5786
5819
  }],
5787
5820
  /**
5788
5821
  * Space Between Y Reverse
@@ -5897,7 +5930,7 @@ const Ge = O(Yt), Vt = (t, o) => {
5897
5930
  * @see https://tailwindcss.com/docs/font-family
5898
5931
  */
5899
5932
  "font-family": [{
5900
- font: [Se, u, o]
5933
+ font: [Ce, u, o]
5901
5934
  }],
5902
5935
  /**
5903
5936
  * Font Variant Numeric
@@ -5951,7 +5984,7 @@ const Ge = O(Yt), Vt = (t, o) => {
5951
5984
  leading: [
5952
5985
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
5953
5986
  n,
5954
- ...m()
5987
+ ...g()
5955
5988
  ]
5956
5989
  }],
5957
5990
  /**
@@ -6052,7 +6085,7 @@ const Ge = O(Yt), Vt = (t, o) => {
6052
6085
  * @see https://tailwindcss.com/docs/text-indent
6053
6086
  */
6054
6087
  indent: [{
6055
- indent: m()
6088
+ indent: g()
6056
6089
  }],
6057
6090
  /**
6058
6091
  * Vertical Alignment
@@ -6152,7 +6185,7 @@ const Ge = O(Yt), Vt = (t, o) => {
6152
6185
  }, V, h, u],
6153
6186
  radial: ["", h, u],
6154
6187
  conic: [V, h, u]
6155
- }, Fe, ze]
6188
+ }, Te, Se]
6156
6189
  }],
6157
6190
  /**
6158
6191
  * Background Color
@@ -7016,21 +7049,21 @@ const Ge = O(Yt), Vt = (t, o) => {
7016
7049
  * @see https://tailwindcss.com/docs/border-spacing
7017
7050
  */
7018
7051
  "border-spacing": [{
7019
- "border-spacing": m()
7052
+ "border-spacing": g()
7020
7053
  }],
7021
7054
  /**
7022
7055
  * Border Spacing X
7023
7056
  * @see https://tailwindcss.com/docs/border-spacing
7024
7057
  */
7025
7058
  "border-spacing-x": [{
7026
- "border-spacing-x": m()
7059
+ "border-spacing-x": g()
7027
7060
  }],
7028
7061
  /**
7029
7062
  * Border Spacing Y
7030
7063
  * @see https://tailwindcss.com/docs/border-spacing
7031
7064
  */
7032
7065
  "border-spacing-y": [{
7033
- "border-spacing-y": m()
7066
+ "border-spacing-y": g()
7034
7067
  }],
7035
7068
  /**
7036
7069
  * Table Layout
@@ -7322,126 +7355,126 @@ const Ge = O(Yt), Vt = (t, o) => {
7322
7355
  * @see https://tailwindcss.com/docs/scroll-margin
7323
7356
  */
7324
7357
  "scroll-m": [{
7325
- "scroll-m": m()
7358
+ "scroll-m": g()
7326
7359
  }],
7327
7360
  /**
7328
7361
  * Scroll Margin X
7329
7362
  * @see https://tailwindcss.com/docs/scroll-margin
7330
7363
  */
7331
7364
  "scroll-mx": [{
7332
- "scroll-mx": m()
7365
+ "scroll-mx": g()
7333
7366
  }],
7334
7367
  /**
7335
7368
  * Scroll Margin Y
7336
7369
  * @see https://tailwindcss.com/docs/scroll-margin
7337
7370
  */
7338
7371
  "scroll-my": [{
7339
- "scroll-my": m()
7372
+ "scroll-my": g()
7340
7373
  }],
7341
7374
  /**
7342
7375
  * Scroll Margin Start
7343
7376
  * @see https://tailwindcss.com/docs/scroll-margin
7344
7377
  */
7345
7378
  "scroll-ms": [{
7346
- "scroll-ms": m()
7379
+ "scroll-ms": g()
7347
7380
  }],
7348
7381
  /**
7349
7382
  * Scroll Margin End
7350
7383
  * @see https://tailwindcss.com/docs/scroll-margin
7351
7384
  */
7352
7385
  "scroll-me": [{
7353
- "scroll-me": m()
7386
+ "scroll-me": g()
7354
7387
  }],
7355
7388
  /**
7356
7389
  * Scroll Margin Top
7357
7390
  * @see https://tailwindcss.com/docs/scroll-margin
7358
7391
  */
7359
7392
  "scroll-mt": [{
7360
- "scroll-mt": m()
7393
+ "scroll-mt": g()
7361
7394
  }],
7362
7395
  /**
7363
7396
  * Scroll Margin Right
7364
7397
  * @see https://tailwindcss.com/docs/scroll-margin
7365
7398
  */
7366
7399
  "scroll-mr": [{
7367
- "scroll-mr": m()
7400
+ "scroll-mr": g()
7368
7401
  }],
7369
7402
  /**
7370
7403
  * Scroll Margin Bottom
7371
7404
  * @see https://tailwindcss.com/docs/scroll-margin
7372
7405
  */
7373
7406
  "scroll-mb": [{
7374
- "scroll-mb": m()
7407
+ "scroll-mb": g()
7375
7408
  }],
7376
7409
  /**
7377
7410
  * Scroll Margin Left
7378
7411
  * @see https://tailwindcss.com/docs/scroll-margin
7379
7412
  */
7380
7413
  "scroll-ml": [{
7381
- "scroll-ml": m()
7414
+ "scroll-ml": g()
7382
7415
  }],
7383
7416
  /**
7384
7417
  * Scroll Padding
7385
7418
  * @see https://tailwindcss.com/docs/scroll-padding
7386
7419
  */
7387
7420
  "scroll-p": [{
7388
- "scroll-p": m()
7421
+ "scroll-p": g()
7389
7422
  }],
7390
7423
  /**
7391
7424
  * Scroll Padding X
7392
7425
  * @see https://tailwindcss.com/docs/scroll-padding
7393
7426
  */
7394
7427
  "scroll-px": [{
7395
- "scroll-px": m()
7428
+ "scroll-px": g()
7396
7429
  }],
7397
7430
  /**
7398
7431
  * Scroll Padding Y
7399
7432
  * @see https://tailwindcss.com/docs/scroll-padding
7400
7433
  */
7401
7434
  "scroll-py": [{
7402
- "scroll-py": m()
7435
+ "scroll-py": g()
7403
7436
  }],
7404
7437
  /**
7405
7438
  * Scroll Padding Start
7406
7439
  * @see https://tailwindcss.com/docs/scroll-padding
7407
7440
  */
7408
7441
  "scroll-ps": [{
7409
- "scroll-ps": m()
7442
+ "scroll-ps": g()
7410
7443
  }],
7411
7444
  /**
7412
7445
  * Scroll Padding End
7413
7446
  * @see https://tailwindcss.com/docs/scroll-padding
7414
7447
  */
7415
7448
  "scroll-pe": [{
7416
- "scroll-pe": m()
7449
+ "scroll-pe": g()
7417
7450
  }],
7418
7451
  /**
7419
7452
  * Scroll Padding Top
7420
7453
  * @see https://tailwindcss.com/docs/scroll-padding
7421
7454
  */
7422
7455
  "scroll-pt": [{
7423
- "scroll-pt": m()
7456
+ "scroll-pt": g()
7424
7457
  }],
7425
7458
  /**
7426
7459
  * Scroll Padding Right
7427
7460
  * @see https://tailwindcss.com/docs/scroll-padding
7428
7461
  */
7429
7462
  "scroll-pr": [{
7430
- "scroll-pr": m()
7463
+ "scroll-pr": g()
7431
7464
  }],
7432
7465
  /**
7433
7466
  * Scroll Padding Bottom
7434
7467
  * @see https://tailwindcss.com/docs/scroll-padding
7435
7468
  */
7436
7469
  "scroll-pb": [{
7437
- "scroll-pb": m()
7470
+ "scroll-pb": g()
7438
7471
  }],
7439
7472
  /**
7440
7473
  * Scroll Padding Left
7441
7474
  * @see https://tailwindcss.com/docs/scroll-padding
7442
7475
  */
7443
7476
  "scroll-pl": [{
7444
- "scroll-pl": m()
7477
+ "scroll-pl": g()
7445
7478
  }],
7446
7479
  /**
7447
7480
  * Scroll Snap Align
@@ -7601,7 +7634,7 @@ const Ge = O(Yt), Vt = (t, o) => {
7601
7634
  },
7602
7635
  orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
7603
7636
  };
7604
- }, Re = /* @__PURE__ */ le(Ne), Ee = p.memo((t) => {
7637
+ }, Ee = /* @__PURE__ */ be(Re), Ae = p.memo((t) => {
7605
7638
  const {
7606
7639
  text: o,
7607
7640
  variant: i,
@@ -7630,10 +7663,10 @@ const Ge = O(Yt), Vt = (t, o) => {
7630
7663
  const S = l === "inverse";
7631
7664
  let C = "";
7632
7665
  i === "ghost" ? C = S ? "bg-transparent text-white shadow-none border border-transparent" : "bg-transparent text-[var(--fibo-on-surface)] shadow-none border border-transparent hover:bg-[color-mix(in_srgb,var(--fibo-on-surface)_8%,transparent)]" : i === "text" ? C = S ? "bg-transparent text-white shadow-none border-none px-2" : "bg-transparent text-[var(--fibo-on-surface)] shadow-none border-none px-2 hover:bg-[color-mix(in_srgb,var(--fibo-on-surface)_8%,transparent)]" : i === "soft" ? C = "bg-[color-mix(in_srgb,var(--fibo-primary)_12%,transparent)] text-[var(--fibo-primary)] shadow-none border-none hover:bg-[color-mix(in_srgb,var(--fibo-primary)_18%,transparent)]" : i === "outline" || i === "outlined" ? C = S ? "bg-black text-white shadow-none border border-[#3b3b3b]" : "bg-transparent border-[1.5px] border-[var(--fibo-outline,rgba(0,0,0,0.12))] text-[var(--fibo-on-surface)] shadow-none hover:bg-[color-mix(in_srgb,var(--fibo-on-surface)_6%,transparent)]" : i === "solid" ? C = S ? "bg-[#f2f2f2] text-black shadow-none border border-[#f2f2f2]" : "bg-[var(--fibo-primary)] text-[var(--fibo-on-primary)] shadow-none border-none hover:opacity-90" : i === "filled" || i === "primary" ? C = "bg-[var(--fibo-primary)] text-[var(--fibo-on-primary)] shadow-sm border-none hover:opacity-90 active:opacity-100" : i === "elevated" ? C = "bg-[var(--fibo-surface)] text-[var(--fibo-primary)] shadow-md border-none hover:shadow-lg" : i === "tonal" ? C = "bg-[var(--fibo-secondary-container)] text-[var(--fibo-on-secondary-container)] shadow-sm border-none" : i === "raw" && (C = "bg-transparent border-none shadow-none p-0 h-auto gap-0 text-inherit font-inherit hover:bg-transparent", $ = ""), b === "soft" && i !== "raw" && (C += " shadow-[0_8px_20px_-6px_rgba(59,130,246,0.4)]");
7633
- const F = z || {}, M = F.padding !== void 0 || F.paddingTop !== void 0 || F.paddingBottom !== void 0 || F.paddingLeft !== void 0 || F.paddingRight !== void 0 || F.fontSize !== void 0 || F.height !== void 0, W = F.borderRadius !== void 0, m = F.fontWeight !== void 0 || e === "xs" || S, E = i === "raw" || x === "none" || S || e === "xs", G = Re(
7666
+ const F = z || {}, M = F.padding !== void 0 || F.paddingTop !== void 0 || F.paddingBottom !== void 0 || F.paddingLeft !== void 0 || F.paddingRight !== void 0 || F.fontSize !== void 0 || F.height !== void 0, W = F.borderRadius !== void 0, g = F.fontWeight !== void 0 || e === "xs" || S, E = i === "raw" || x === "none" || S || e === "xs", G = Ee(
7634
7667
  "fibo-button",
7635
7668
  "inline-flex items-center justify-center whitespace-nowrap",
7636
- m ? "" : "font-semibold",
7669
+ g ? "" : "font-semibold",
7637
7670
  // Resting scale(1) so active:scale eases instead of snapping from none.
7638
7671
  E ? "" : "scale-100 active:scale-[0.96] transform transition-transform duration-200 ease-out",
7639
7672
  f ? "cursor-not-allowed opacity-60" : "cursor-pointer",
@@ -7670,7 +7703,7 @@ const Ge = O(Yt), Vt = (t, o) => {
7670
7703
  ...Y
7671
7704
  );
7672
7705
  });
7673
- class Ae extends X {
7706
+ class Be extends O {
7674
7707
  constructor(i = "") {
7675
7708
  super();
7676
7709
  c(this, "_text", "");
@@ -7728,9 +7761,13 @@ class Ae extends X {
7728
7761
  return this._expand = i, this;
7729
7762
  }
7730
7763
  /**
7731
- * HTML button type. Named `htmlType` because builders already expose React's
7732
- * element `.type` (stampRenderable) — that property must stay the component.
7764
+ * HTML button type. `.type('submit')` is what people write inside a Form.
7765
+ * React still reads `element.type` as the component: a string sets this,
7766
+ * a props object renders the button.
7733
7767
  */
7768
+ type(i) {
7769
+ return this._htmlType = i, this;
7770
+ }
7734
7771
  htmlType(i) {
7735
7772
  return this._htmlType = i, this;
7736
7773
  }
@@ -7762,25 +7799,25 @@ class Ae extends X {
7762
7799
  ...this._props,
7763
7800
  type: this._htmlType
7764
7801
  };
7765
- return p.createElement(Ee, r);
7802
+ return p.createElement(Ae, r);
7766
7803
  }
7767
7804
  }
7768
- const Ue = O(Ae);
7805
+ const Ke = j(Be);
7769
7806
  export {
7770
- De as Box,
7771
- Ue as Button,
7772
- He as Card,
7773
- je as Center,
7774
- Xe as Column,
7775
- Oe as Container,
7776
- qo as FiboStyles,
7777
- Ri as MotionStyles,
7778
- Ye as Row,
7779
- Ve as Spacer,
7780
- Ge as Text,
7781
- We as endSsrRequest,
7782
- Zo as getCss,
7783
- Me as getStyleTag,
7784
- Pe as page,
7785
- Le as withFiboStyles
7807
+ He as Box,
7808
+ Ke as Button,
7809
+ Ge as Card,
7810
+ Oe as Center,
7811
+ je as Column,
7812
+ Ye as Container,
7813
+ Jo as FiboStyles,
7814
+ Ei as MotionStyles,
7815
+ Ve as Row,
7816
+ De as Spacer,
7817
+ Ue as Text,
7818
+ Pe as endSsrRequest,
7819
+ qo as getCss,
7820
+ We as getStyleTag,
7821
+ Le as page,
7822
+ Xe as withFiboStyles
7786
7823
  };