fiboui 2.9.5 → 2.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/content.d.ts CHANGED
@@ -387,6 +387,12 @@ interface FrameSpec {
387
387
  idealHeight?: FrameSize;
388
388
  maxHeight?: FrameSize;
389
389
  alignment?: StackAlign | keyof typeof StackAlign;
390
+ /**
391
+ * Stretch the direct child to the frame slot (`width/height: 100%`).
392
+ * Default `false` — SwiftUI-like hug + `alignment`.
393
+ * Use when paint (`.bg`, border) lives on the child and should fill the frame.
394
+ */
395
+ fill?: boolean;
390
396
  }
391
397
  type ClipShapeName = "circle" | "rounded" | "square";
392
398
  interface OffsetSpec {
@@ -790,9 +796,12 @@ declare abstract class FiboBuilder {
790
796
  * maxHeight: Size.infinity,
791
797
  * alignment: StackAlign.topTrailing,
792
798
  * })
799
+ * // Child fills the slot (bg/border on the child cover the frame):
800
+ * Box().bg('red').frame({ maxWidth: Size.infinity, fill: true })
793
801
  * ```
794
802
  *
795
803
  * Chainable: each `.frame()` wraps the previous (same as SwiftUI).
804
+ * Default: child hugs + `alignment`. Pass `fill: true` to stretch the child.
796
805
  */
797
806
  frame(spec: FrameSpec): this;
798
807
  /**
package/dist/content.js CHANGED
@@ -1,6 +1,6 @@
1
- import { A as s, B as r, I as o } from "./icons-By9BFp7V.js";
2
- import { ak as n, aj as I } from "./client-Cc87LXic.js";
3
- import { A as m, I as p, L as x, P as A, a as f, S as l } from "./index-BxYsYMal.js";
1
+ import { A as s, B as r, I as o } from "./icons-uTGNZEj2.js";
2
+ import { ak as n, aj as I } from "./client-DspTEDnT.js";
3
+ import { A as m, I as p, L as x, P as A, a as f, S as l } from "./index-pxNM6-DO.js";
4
4
  export {
5
5
  m as Alert,
6
6
  s as Avatar,
package/dist/core.d.ts CHANGED
@@ -769,6 +769,12 @@ interface FrameSpec {
769
769
  idealHeight?: FrameSize;
770
770
  maxHeight?: FrameSize;
771
771
  alignment?: StackAlign | keyof typeof StackAlign;
772
+ /**
773
+ * Stretch the direct child to the frame slot (`width/height: 100%`).
774
+ * Default `false` — SwiftUI-like hug + `alignment`.
775
+ * Use when paint (`.bg`, border) lives on the child and should fill the frame.
776
+ */
777
+ fill?: boolean;
772
778
  }
773
779
  type ClipShapeName = "circle" | "rounded" | "square";
774
780
  interface OffsetSpec {
@@ -1154,9 +1160,12 @@ declare abstract class FiboBuilder {
1154
1160
  * maxHeight: Size.infinity,
1155
1161
  * alignment: StackAlign.topTrailing,
1156
1162
  * })
1163
+ * // Child fills the slot (bg/border on the child cover the frame):
1164
+ * Box().bg('red').frame({ maxWidth: Size.infinity, fill: true })
1157
1165
  * ```
1158
1166
  *
1159
1167
  * Chainable: each `.frame()` wraps the previous (same as SwiftUI).
1168
+ * Default: child hugs + `alignment`. Pass `fill: true` to stretch the child.
1160
1169
  */
1161
1170
  frame(spec: FrameSpec): this;
1162
1171
  /**
package/dist/core.js CHANGED
@@ -1,5 +1,5 @@
1
- import { C as e, E as t, X as r, a6 as i, a3 as o, a4 as n, _ as l, F as u, T as S, L as c, Q as p, Z as g, O as T, n as b, B as v, P as F, R as E, D as d, G as C, S as R, a8 as f, t as m, q as I, d as P, c as y, b as O, a as x, a2 as M, Y as N, e as _, f as w, a0 as A, g as B, $ as V, a1 as D, V as L, W as U, i as h, l as q, a5 as z, U as G, o as K, h as W, N as X, r as j, H as k, s as H, M as J, I as Q, K as Y, J as Z, a7 as $, m as ss, y as as, k as es, z as ts, p as rs, j as is, A as os, u as ns, w as ls, x as us, v as Ss } from "./client-Cc87LXic.js";
2
- import { F as ps, P as gs, T as Ts, U as bs, a as vs, c as Fs, p as Es, w as ds } from "./page-DbndR-7r.js";
1
+ import { C as e, E as t, X as r, a6 as i, a3 as o, a4 as n, _ as l, F as u, T as S, L as c, Q as p, Z as g, O as T, n as b, B as v, P as F, R as E, D as d, G as C, S as R, a8 as f, t as m, q as I, d as P, c as y, b as O, a as x, a2 as M, Y as N, e as _, f as w, a0 as A, g as B, $ as V, a1 as D, V as L, W as U, i as h, l as q, a5 as z, U as G, o as K, h as W, N as X, r as j, H as k, s as H, M as J, I as Q, K as Y, J as Z, a7 as $, m as ss, y as as, k as es, z as ts, p as rs, j as is, A as os, u as ns, w as ls, x as us, v as Ss } from "./client-DspTEDnT.js";
2
+ import { F as ps, P as gs, T as Ts, U as bs, a as vs, c as Fs, p as Es, w as ds } from "./page-CQCVouvN.js";
3
3
  export {
4
4
  e as ComputedSignal,
5
5
  t as Easing,
@@ -2,7 +2,7 @@ var L = Object.defineProperty;
2
2
  var j = (t, r, e) => r in t ? L(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
3
3
  var i = (t, r, e) => j(t, typeof r != "symbol" ? r + "" : r, e);
4
4
  import h from "react";
5
- import { b2 as w, b3 as E, aF as y, bd as I, a9 as R, aj as H, be as M, b6 as N, b9 as D, b7 as $ } from "./client-Cc87LXic.js";
5
+ import { b2 as w, b3 as E, aF as y, bd as I, a9 as R, aj as H, be as M, b6 as N, b9 as D, b7 as $ } from "./client-DspTEDnT.js";
6
6
  import { jsx as s, jsxs as v } from "react/jsx-runtime";
7
7
  function V(t) {
8
8
  if (typeof t != "string") return "";
@@ -2,10 +2,10 @@ var Bt = Object.defineProperty;
2
2
  var Tt = (e, r, t) => r in e ? Bt(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
3
  var n = (e, r, t) => Tt(e, typeof r != "symbol" ? r + "" : r, t);
4
4
  import s, { useSyncExternalStore as X } from "react";
5
- import { b2 as L, b3 as P, b6 as C, b9 as M, b7 as R, br as ot, bd as _t, bh as At, bC as Lt, L as vt, aF as T, F as lt, bD as ut, bE as Pt, bF as Rt, a9 as W, aj as N } from "./client-Cc87LXic.js";
6
- import { S as V, C as F } from "./index-C-hvMzQd.js";
7
- import { B as wt } from "./index-BJnYb_kw.js";
8
- import { B as et, I as at, a as G, A as $t } from "./icons-By9BFp7V.js";
5
+ import { b2 as L, b3 as P, b6 as C, b9 as M, b7 as R, br as ot, bd as _t, bh as At, bC as Lt, L as vt, aF as T, F as lt, bD as ut, bE as Pt, bF as Rt, a9 as W, aj as N } from "./client-DspTEDnT.js";
6
+ import { S as V, C as F } from "./index-vSLH4ZkD.js";
7
+ import { B as wt } from "./index-BK9NhRgp.js";
8
+ import { B as et, I as at, a as G, A as $t } from "./icons-uTGNZEj2.js";
9
9
  function $(e, r) {
10
10
  if (!(typeof r != "string" || !C(r)))
11
11
  for (const t of M(r))
@@ -2,7 +2,7 @@ var c = Object.defineProperty;
2
2
  var f = (s, e, t) => e in s ? c(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
3
  var i = (s, e, t) => f(s, typeof e != "symbol" ? e + "" : e, t);
4
4
  import m from "react";
5
- import { b2 as d, b3 as y, b4 as b, b5 as n, b6 as o, b7 as a, b8 as x, b9 as v } from "./client-Cc87LXic.js";
5
+ import { b2 as d, b3 as y, b4 as b, b5 as n, b6 as o, b7 as a, b8 as x, b9 as v } from "./client-DspTEDnT.js";
6
6
  function p(s, e) {
7
7
  if (!(typeof e != "string" || !o(e)))
8
8
  for (const t of v(e))
@@ -2,7 +2,7 @@ var nt = Object.defineProperty;
2
2
  var et = (n, i, t) => i in n ? nt(n, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[i] = t;
3
3
  var d = (n, i, t) => et(n, typeof i != "symbol" ? i + "" : i, t);
4
4
  import h from "react";
5
- import { b2 as T, b3 as B, b7 as $, b6 as m, b9 as A, bv as _, bw as E, bx as b, by as rt, be as ot, bz as st, bA as lt } from "./client-Cc87LXic.js";
5
+ import { b2 as T, b3 as B, b7 as $, b6 as m, b9 as A, bv as _, bw as E, bx as b, by as rt, be as ot, bz as st, bA as lt } from "./client-DspTEDnT.js";
6
6
  function at(n, i) {
7
7
  if (!(typeof i != "string" || !m(i)))
8
8
  for (const t of A(i))
@@ -2,8 +2,8 @@ var ae = Object.defineProperty;
2
2
  var ie = (s, r, e) => r in s ? ae(s, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[r] = e;
3
3
  var i = (s, r, e) => ie(s, typeof r != "symbol" ? r + "" : r, e);
4
4
  import t from "react";
5
- import { b2 as I, b3 as $, b6 as z, b9 as R, b7 as q, z as le, bd as Z, bB as oe } from "./client-Cc87LXic.js";
6
- import { a as F } from "./icons-By9BFp7V.js";
5
+ import { b2 as I, b3 as $, b6 as z, b9 as R, b7 as q, z as le, bd as Z, bB as oe } from "./client-DspTEDnT.js";
6
+ import { a as F } from "./icons-uTGNZEj2.js";
7
7
  function ce(s, r) {
8
8
  if (!(typeof r != "string" || !z(r)))
9
9
  for (const e of R(r))
@@ -2,7 +2,7 @@ var w = Object.defineProperty;
2
2
  var S = (s, e, t) => e in s ? w(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
3
  var r = (s, e, t) => S(s, typeof e != "symbol" ? e + "" : e, t);
4
4
  import m from "react";
5
- import { b2 as g, b3 as d, ba as N, bb as C, bc as j, b7 as z, b6 as _, b9 as B } from "./client-Cc87LXic.js";
5
+ import { b2 as g, b3 as d, ba as N, bb as C, bc as j, b7 as z, b6 as _, b9 as B } from "./client-DspTEDnT.js";
6
6
  function I(s, e) {
7
7
  if (!(typeof e != "string" || !_(e)))
8
8
  for (const t of B(e))
package/dist/index.d.ts CHANGED
@@ -1470,6 +1470,7 @@ export type FrameSize = number | string | Size;
1470
1470
  * ```ts
1471
1471
  * .frame({ width: 300, height: 400 })
1472
1472
  * .frame({ maxWidth: Size.infinity, maxHeight: Size.infinity, alignment: StackAlign.topTrailing })
1473
+ * .frame({ maxWidth: Size.infinity, fill: true }) // child stretches — bg/border fill the slot
1473
1474
  * ```
1474
1475
  */
1475
1476
  export interface FrameSpec {
@@ -1482,6 +1483,12 @@ export interface FrameSpec {
1482
1483
  idealHeight?: FrameSize;
1483
1484
  maxHeight?: FrameSize;
1484
1485
  alignment?: StackAlign | keyof typeof StackAlign;
1486
+ /**
1487
+ * Stretch the direct child to the frame slot (`width/height: 100%`).
1488
+ * Default `false` — SwiftUI-like hug + `alignment`.
1489
+ * Use when paint (`.bg`, border) lives on the child and should fill the frame.
1490
+ */
1491
+ fill?: boolean;
1485
1492
  }
1486
1493
  /** Resolve a frame size to a CSS length. `Size.infinity` → fill parent (`100%`). */
1487
1494
  export declare function resolveFrameSize(value: FrameSize | undefined, role: "min" | "ideal" | "max" | "fixed", axis?: "width" | "height"): string | undefined;
@@ -2056,9 +2063,12 @@ declare abstract class FiboBuilder {
2056
2063
  * maxHeight: Size.infinity,
2057
2064
  * alignment: StackAlign.topTrailing,
2058
2065
  * })
2066
+ * // Child fills the slot (bg/border on the child cover the frame):
2067
+ * Box().bg('red').frame({ maxWidth: Size.infinity, fill: true })
2059
2068
  * ```
2060
2069
  *
2061
2070
  * Chainable: each `.frame()` wraps the previous (same as SwiftUI).
2071
+ * Default: child hugs + `alignment`. Pass `fill: true` to stretch the child.
2062
2072
  */
2063
2073
  frame(spec: FrameSpec): this;
2064
2074
  /**
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  var we = Object.defineProperty;
2
2
  var Ee = (e, s, t) => s in e ? we(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t;
3
3
  var c = (e, s, t) => Ee(e, typeof s != "symbol" ? s + "" : s, t);
4
- import { bB as Ne, H as xe, I as Te, b2 as _, b3 as y, bG as qt, b7 as H, b6 as L, b9 as W, bH as Be, bd as F, br as w, bI as ft, bJ as Zt, bv as Qt, bE as Jt, bh as $e, bK as Pe, bL as Le } from "./client-Cc87LXic.js";
5
- import { dc as ha, di as da, dm as fa, dG as ma, dj as pa, dS as ga, aF as _a, dx as ya, dw as ba, dy as Sa, dz as va, dv as ka, c$ as Ca, d4 as wa, aA as Ea, d7 as Na, dn as xa, cs as Ta, aH as Ba, dh as $a, cM as Pa, aE as La, C as Aa, cx as Ra, cr as Ma, cU as Fa, ct as Ia, dK as Da, ad as Oa, cK as ja, cX as Ha, aP as Wa, aO as Va, d_ as Ga, cD as za, cu as Ua, bX as Xa, dJ as Ya, E as Ka, cp as qa, cq as Za, db as Qa, c0 as Ja, bP as to, X as eo, bN as so, aW as ro, a6 as io, a3 as no, a4 as ao, _ as oo, aQ as lo, dA as co, dB as uo, F as ho, dI as fo, dk as mo, bc as po, am as go, dV as _o, ai as yo, c2 as bo, cv as So, dE as vo, d1 as ko, cj as Co, ab as wo, ci as Eo, T as No, ak as xo, cJ as To, dH as Bo, dY as $o, cG as Po, ah as Lo, ag as Ao, af as Ro, aG as Mo, L as Fo, dD as Io, bW as Do, Q as Oo, bZ as jo, bY as Ho, cy as Wo, cT as Vo, dR as Go, da as zo, Z as Uo, cI as Xo, O as Yo, n as Ko, cF as qo, cZ as Zo, d3 as Qo, d2 as Jo, dU as tl, bR as el, cH as sl, dQ as rl, ck as il, B as nl, P as al, aB as ol, d9 as ll, dg as cl, cQ as ul, R as hl, dO as dl, dC as fl, D as ml, b_ as pl, aI as gl, a9 as _l, aa as yl, dZ as bl, dr as Sl, cw as vl, G as kl, ae as Cl, cS as wl, d5 as El, cO as Nl, cN as xl, aD as Tl, c_ as Bl, cE as $l, c1 as Pl, dP as Ll, d0 as Al, cY as Rl, dT as Ml, ac as Fl, S as Il, b$ as Dl, dd as Ol, cP as jl, dL as Hl, dM as Wl, df as Vl, bV as Gl, dp as zl, cR as Ul, dX as Xl, az as Yl, d8 as Kl, dF as ql, bU as Zl, aj as Ql, dt as Jl, dl as tc, al as ec, ds as sc, aC as rc, dq as ic, cL as nc, dN as ac, cV as oc, dW as lc, a8 as cc, af as uc, ag as hc, du as dc, cW as fc, cB as mc, d6 as pc, cz as gc, t as _c, q as yc, d as bc, c as Sc, aY as vc, b as kc, a as Cc, aT as wc, ar as Ec, a2 as Nc, Y as xc, e as Tc, bO as Bc, ay as $c, aZ as Pc, f as Lc, an as Ac, a0 as Rc, g as Mc, $ as Fc, a1 as Ic, de as Dc, ax as Oc, V as jc, W as Hc, i as Wc, be as Vc, d$ as Gc, l as zc, cg as Uc, ch as Xc, aS as Yc, au as Kc, aq as qc, at as Zc, ap as Qc, a5 as Jc, aV as tu, U as eu, bM as su, o as ru, as as iu, cn as nu, ao as au, h as ou, N as lu, cA as cu, bT as uu, aX as hu, av as du, r as fu, s as mu, e0 as pu, M as gu, bz as _u, K as yu, J as bu, b1 as Su, b0 as vu, a_ as ku, a$ as Cu, ba as wu, a7 as Eu, bb as Nu, bF as xu, aw as Tu, m as Bu, aR as $u, aM as Pu, y as Lu, aK as Au, k as Ru, aL as Mu, z as Fu, p as Iu, aN as Du, j as Ou, aJ as ju, cC as Hu, A as Wu, u as Vu, w as Gu, x as zu, v as Uu, bQ as Xu, aU as Yu, ce as Ku, c5 as qu, c4 as Zu, cc as Qu, cd as Ju, c6 as th, c7 as eh, bS as sh, c9 as rh, c8 as ih, cb as nh, cf as ah, c3 as oh, ca as lh, cm as ch, cl as uh, co as hh } from "./client-Cc87LXic.js";
6
- import { F as fh, P as mh, T as ph, U as gh, a as _h, c as yh, p as bh, w as Sh } from "./page-DbndR-7r.js";
7
- import { C as kh, a as Ch, L as wh, b as Eh, S as Nh, Z as xh } from "./index-T8F37_p4.js";
8
- import { C as Bh, S as $h } from "./index-C-hvMzQd.js";
4
+ import { bB as Ne, H as xe, I as Te, b2 as _, b3 as y, bG as qt, b7 as H, b6 as L, b9 as W, bH as Be, bd as F, br as w, bI as ft, bJ as Zt, bv as Qt, bE as Jt, bh as $e, bK as Pe, bL as Le } from "./client-DspTEDnT.js";
5
+ import { dc as ha, di as da, dm as fa, dG as ma, dj as pa, dS as ga, aF as _a, dx as ya, dw as ba, dy as Sa, dz as va, dv as ka, c$ as Ca, d4 as wa, aA as Ea, d7 as Na, dn as xa, cs as Ta, aH as Ba, dh as $a, cM as Pa, aE as La, C as Aa, cx as Ra, cr as Ma, cU as Fa, ct as Ia, dK as Da, ad as Oa, cK as ja, cX as Ha, aP as Wa, aO as Va, d_ as Ga, cD as za, cu as Ua, bX as Xa, dJ as Ya, E as Ka, cp as qa, cq as Za, db as Qa, c0 as Ja, bP as to, X as eo, bN as so, aW as ro, a6 as io, a3 as no, a4 as ao, _ as oo, aQ as lo, dA as co, dB as uo, F as ho, dI as fo, dk as mo, bc as po, am as go, dV as _o, ai as yo, c2 as bo, cv as So, dE as vo, d1 as ko, cj as Co, ab as wo, ci as Eo, T as No, ak as xo, cJ as To, dH as Bo, dY as $o, cG as Po, ah as Lo, ag as Ao, af as Ro, aG as Mo, L as Fo, dD as Io, bW as Do, Q as Oo, bZ as jo, bY as Ho, cy as Wo, cT as Vo, dR as Go, da as zo, Z as Uo, cI as Xo, O as Yo, n as Ko, cF as qo, cZ as Zo, d3 as Qo, d2 as Jo, dU as tl, bR as el, cH as sl, dQ as rl, ck as il, B as nl, P as al, aB as ol, d9 as ll, dg as cl, cQ as ul, R as hl, dO as dl, dC as fl, D as ml, b_ as pl, aI as gl, a9 as _l, aa as yl, dZ as bl, dr as Sl, cw as vl, G as kl, ae as Cl, cS as wl, d5 as El, cO as Nl, cN as xl, aD as Tl, c_ as Bl, cE as $l, c1 as Pl, dP as Ll, d0 as Al, cY as Rl, dT as Ml, ac as Fl, S as Il, b$ as Dl, dd as Ol, cP as jl, dL as Hl, dM as Wl, df as Vl, bV as Gl, dp as zl, cR as Ul, dX as Xl, az as Yl, d8 as Kl, dF as ql, bU as Zl, aj as Ql, dt as Jl, dl as tc, al as ec, ds as sc, aC as rc, dq as ic, cL as nc, dN as ac, cV as oc, dW as lc, a8 as cc, af as uc, ag as hc, du as dc, cW as fc, cB as mc, d6 as pc, cz as gc, t as _c, q as yc, d as bc, c as Sc, aY as vc, b as kc, a as Cc, aT as wc, ar as Ec, a2 as Nc, Y as xc, e as Tc, bO as Bc, ay as $c, aZ as Pc, f as Lc, an as Ac, a0 as Rc, g as Mc, $ as Fc, a1 as Ic, de as Dc, ax as Oc, V as jc, W as Hc, i as Wc, be as Vc, d$ as Gc, l as zc, cg as Uc, ch as Xc, aS as Yc, au as Kc, aq as qc, at as Zc, ap as Qc, a5 as Jc, aV as tu, U as eu, bM as su, o as ru, as as iu, cn as nu, ao as au, h as ou, N as lu, cA as cu, bT as uu, aX as hu, av as du, r as fu, s as mu, e0 as pu, M as gu, bz as _u, K as yu, J as bu, b1 as Su, b0 as vu, a_ as ku, a$ as Cu, ba as wu, a7 as Eu, bb as Nu, bF as xu, aw as Tu, m as Bu, aR as $u, aM as Pu, y as Lu, aK as Au, k as Ru, aL as Mu, z as Fu, p as Iu, aN as Du, j as Ou, aJ as ju, cC as Hu, A as Wu, u as Vu, w as Gu, x as zu, v as Uu, bQ as Xu, aU as Yu, ce as Ku, c5 as qu, c4 as Zu, cc as Qu, cd as Ju, c6 as th, c7 as eh, bS as sh, c9 as rh, c8 as ih, cb as nh, cf as ah, c3 as oh, ca as lh, cm as ch, cl as uh, co as hh } from "./client-DspTEDnT.js";
6
+ import { F as fh, P as mh, T as ph, U as gh, a as _h, c as yh, p as bh, w as Sh } from "./page-CQCVouvN.js";
7
+ import { C as kh, a as Ch, L as wh, b as Eh, S as Nh, Z as xh } from "./index-CE3dybe8.js";
8
+ import { C as Bh, S as $h } from "./index-vSLH4ZkD.js";
9
9
  import u, { useRef as N, useState as A, useLayoutEffect as U, useEffect as X } from "react";
10
- import { A as Lh, B as Ah, I as Rh } from "./icons-By9BFp7V.js";
11
- import { A as Fh, I as Ih, L as Dh, P as Oh, a as jh, S as Hh } from "./index-BxYsYMal.js";
12
- import { B as Vh } from "./index-BJnYb_kw.js";
13
- import { A as zh, B as Uh, C as Xh, c as Yh, d as Kh, G as qh, b as Zh, L as Qh, P as Jh, T as td, a as ed } from "./index-D5c1VXlN.js";
14
- import { L as rd, N as id, O as nd, l as ad, p as od, u as ld } from "./metadata-BffL-8b9.js";
10
+ import { A as Lh, B as Ah, I as Rh } from "./icons-uTGNZEj2.js";
11
+ import { A as Fh, I as Ih, L as Dh, P as Oh, a as jh, S as Hh } from "./index-pxNM6-DO.js";
12
+ import { B as Vh } from "./index-BK9NhRgp.js";
13
+ import { A as zh, B as Uh, C as Xh, c as Yh, d as Kh, G as qh, b as Zh, L as Qh, P as Jh, T as td, a as ed } from "./index-B7vkEz57.js";
14
+ import { L as rd, N as id, O as nd, l as ad, p as od, u as ld } from "./metadata-BqVnmMLq.js";
15
15
  function te() {
16
16
  const e = globalThis.window;
17
17
  return typeof e > "u" || e == null ? void 0 : e;
@@ -386,6 +386,12 @@ interface FrameSpec {
386
386
  idealHeight?: FrameSize;
387
387
  maxHeight?: FrameSize;
388
388
  alignment?: StackAlign | keyof typeof StackAlign;
389
+ /**
390
+ * Stretch the direct child to the frame slot (`width/height: 100%`).
391
+ * Default `false` — SwiftUI-like hug + `alignment`.
392
+ * Use when paint (`.bg`, border) lives on the child and should fill the frame.
393
+ */
394
+ fill?: boolean;
389
395
  }
390
396
  type ClipShapeName = "circle" | "rounded" | "square";
391
397
  interface OffsetSpec {
@@ -789,9 +795,12 @@ declare abstract class FiboBuilder {
789
795
  * maxHeight: Size.infinity,
790
796
  * alignment: StackAlign.topTrailing,
791
797
  * })
798
+ * // Child fills the slot (bg/border on the child cover the frame):
799
+ * Box().bg('red').frame({ maxWidth: Size.infinity, fill: true })
792
800
  * ```
793
801
  *
794
802
  * Chainable: each `.frame()` wraps the previous (same as SwiftUI).
803
+ * Default: child hugs + `alignment`. Pass `fill: true` to stretch the child.
795
804
  */
796
805
  frame(spec: FrameSpec): this;
797
806
  /**
@@ -1,5 +1,5 @@
1
- import { B as e } from "./index-BJnYb_kw.js";
2
- import { aA as r, aE as t, am as m, aB as x, aD as i, az as l, al as n, aC as u, ar as p, ay as h, an as T, ax as b, au as c, aq as d, at as f, ap as g, as as q, ao as B, av as C, aw as w } from "./client-Cc87LXic.js";
1
+ import { B as e } from "./index-BK9NhRgp.js";
2
+ import { aA as r, aE as t, am as m, aB as x, aD as i, az as l, al as n, aC as u, ar as p, ay as h, an as T, ax as b, au as c, aq as d, at as f, ap as g, as as q, ao as B, av as C, aw as w } from "./client-DspTEDnT.js";
3
3
  export {
4
4
  e as Button,
5
5
  r as Checkbox,
package/dist/layout.d.ts CHANGED
@@ -388,6 +388,12 @@ interface FrameSpec {
388
388
  idealHeight?: FrameSize;
389
389
  maxHeight?: FrameSize;
390
390
  alignment?: StackAlign | keyof typeof StackAlign;
391
+ /**
392
+ * Stretch the direct child to the frame slot (`width/height: 100%`).
393
+ * Default `false` — SwiftUI-like hug + `alignment`.
394
+ * Use when paint (`.bg`, border) lives on the child and should fill the frame.
395
+ */
396
+ fill?: boolean;
391
397
  }
392
398
  type ClipShapeName = "circle" | "rounded" | "square";
393
399
  interface OffsetSpec {
@@ -791,9 +797,12 @@ declare abstract class FiboBuilder {
791
797
  * maxHeight: Size.infinity,
792
798
  * alignment: StackAlign.topTrailing,
793
799
  * })
800
+ * // Child fills the slot (bg/border on the child cover the frame):
801
+ * Box().bg('red').frame({ maxWidth: Size.infinity, fill: true })
794
802
  * ```
795
803
  *
796
804
  * Chainable: each `.frame()` wraps the previous (same as SwiftUI).
805
+ * Default: child hugs + `alignment`. Pass `fill: true` to stretch the child.
797
806
  */
798
807
  frame(spec: FrameSpec): this;
799
808
  /**
package/dist/layout.js CHANGED
@@ -1,6 +1,6 @@
1
- import { C as e, a as o, L as s, b as l, S as t, Z as i } from "./index-T8F37_p4.js";
2
- import { C as d, S as c } from "./index-C-hvMzQd.js";
3
- import { ad as u, ai as C, ab as f, ah as m, a9 as b, aa as p, ae as w, ac as L, af as R, ag as V } from "./client-Cc87LXic.js";
1
+ import { C as e, a as o, L as s, b as l, S as t, Z as i } from "./index-CE3dybe8.js";
2
+ import { C as d, S as c } from "./index-vSLH4ZkD.js";
3
+ import { ad as u, ai as C, ab as f, ah as m, a9 as b, aa as p, ae as w, ac as L, af as R, ag as V } from "./client-DspTEDnT.js";
4
4
  export {
5
5
  e as Center,
6
6
  d as Column,
@@ -1,5 +1,5 @@
1
1
  import { jsx as c } from "react/jsx-runtime";
2
- import { bf as v, bd as w, bg as x, bh as O, bi as R, bj as P, bk as E, bl as g, bm as $, bn as D, bo as z, aO as A, aP as K } from "./client-Cc87LXic.js";
2
+ import { bf as v, bd as w, bg as x, bh as O, bi as R, bj as P, bk as E, bl as g, bm as $, bn as D, bo as z, aO as A, aP as K } from "./client-DspTEDnT.js";
3
3
  import { useState as M, useMemo as N, lazy as S, Suspense as j } from "react";
4
4
  function b(e) {
5
5
  const t = (typeof e == "string" ? e.trim() : "").split(/[?#]/, 1)[0];
@@ -1,5 +1,5 @@
1
- import { aP as s, aO as u, aI as o, aM as t, aK as r, aL as l, aN as L, aJ as R } from "./client-Cc87LXic.js";
2
- import { L as i, N as p, O as N, l as m, p as n, u as O } from "./metadata-BffL-8b9.js";
1
+ import { aP as s, aO as u, aI as o, aM as t, aK as r, aL as l, aN as L, aJ as R } from "./client-DspTEDnT.js";
2
+ import { L as i, N as p, O as N, l as m, p as n, u as O } from "./metadata-BqVnmMLq.js";
3
3
  export {
4
4
  s as DefaultErrorPage,
5
5
  u as DefaultLoader,
@@ -1,4 +1,4 @@
1
- import { bp as z, N as B, S as k, bq as V, br as O, _ as I, bs as W, bt as _, bu as G } from "./client-Cc87LXic.js";
1
+ import { bp as z, N as B, S as k, bq as V, br as O, _ as I, bs as W, bt as _, bu as G } from "./client-DspTEDnT.js";
2
2
  import p, { useSyncExternalStore as H } from "react";
3
3
  function J(t) {
4
4
  return typeof t == "number" ? t : t != null && typeof t == "object" && "value" in t ? Number(t.value) : Number(t);
package/dist/server.d.ts CHANGED
@@ -425,6 +425,12 @@ interface FrameSpec {
425
425
  idealHeight?: FrameSize;
426
426
  maxHeight?: FrameSize;
427
427
  alignment?: StackAlign | keyof typeof StackAlign;
428
+ /**
429
+ * Stretch the direct child to the frame slot (`width/height: 100%`).
430
+ * Default `false` — SwiftUI-like hug + `alignment`.
431
+ * Use when paint (`.bg`, border) lives on the child and should fill the frame.
432
+ */
433
+ fill?: boolean;
428
434
  }
429
435
  type ClipShapeName = "circle" | "rounded" | "square";
430
436
  interface OffsetSpec {
@@ -828,9 +834,12 @@ declare abstract class FiboBuilder {
828
834
  * maxHeight: Size.infinity,
829
835
  * alignment: StackAlign.topTrailing,
830
836
  * })
837
+ * // Child fills the slot (bg/border on the child cover the frame):
838
+ * Box().bg('red').frame({ maxWidth: Size.infinity, fill: true })
831
839
  * ```
832
840
  *
833
841
  * Chainable: each `.frame()` wraps the previous (same as SwiftUI).
842
+ * Default: child hugs + `alignment`. Pass `fill: true` to stretch the child.
834
843
  */
835
844
  frame(spec: FrameSpec): this;
836
845
  /**