fiboui 2.9.1 → 2.9.4

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.js CHANGED
@@ -1,6 +1,6 @@
1
- import { A as s, B as r, I as o } from "./icons-DS8J4SFk.js";
2
- import { ak as n, aj as I } from "./client-3NdKI2xE.js";
3
- import { A as m, I as p, L as x, P as A, a as f, S as l } from "./index-B6F3yf3H.js";
1
+ import { A as s, B as r, I as o } from "./icons-CirVDr1q.js";
2
+ import { ak as n, aj as I } from "./client-lzMYg4vy.js";
3
+ import { A as m, I as p, L as x, P as A, a as f, S as l } from "./index-D1oVA2Du.js";
4
4
  export {
5
5
  m as Alert,
6
6
  s as Avatar,
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-3NdKI2xE.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-xwU8SnoZ.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-lzMYg4vy.js";
2
+ import { F as ps, P as gs, T as Ts, U as bs, a as vs, c as Fs, p as Es, w as ds } from "./page-fKXx7Y-J.js";
3
3
  export {
4
4
  e as ComputedSignal,
5
5
  t as Easing,
@@ -2,7 +2,7 @@ var L = Object.defineProperty;
2
2
  var j = (t, r, e) => r in t ? L(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
3
3
  var i = (t, r, e) => j(t, typeof r != "symbol" ? r + "" : r, e);
4
4
  import h from "react";
5
- import { b2 as w, b3 as E, aF as y, bc as I, a9 as R, aj as H, bd as M, b6 as N, b9 as D, b7 as $ } from "./client-3NdKI2xE.js";
5
+ import { b2 as w, b3 as E, aF as y, bc as I, a9 as R, aj as H, bd as M, b6 as N, b9 as D, b7 as $ } from "./client-lzMYg4vy.js";
6
6
  import { jsx as s, jsxs as v } from "react/jsx-runtime";
7
7
  function V(t) {
8
8
  if (typeof t != "string") return "";
@@ -2,7 +2,7 @@ var 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 n = (s, e, t) => S(s, typeof e != "symbol" ? e + "" : e, t);
4
4
  import m from "react";
5
- import { b2 as g, b3 as d, ba as N, bb as C, b7 as j, b6 as _, b9 as z } from "./client-3NdKI2xE.js";
5
+ import { b2 as g, b3 as d, ba as N, bb as C, b7 as j, b6 as _, b9 as z } from "./client-lzMYg4vy.js";
6
6
  function B(s, e) {
7
7
  if (!(typeof e != "string" || !_(e)))
8
8
  for (const t of z(e))
@@ -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-3NdKI2xE.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-lzMYg4vy.js";
6
6
  function p(s, e) {
7
7
  if (!(typeof e != "string" || !o(e)))
8
8
  for (const t of v(e))
@@ -2,8 +2,8 @@ var ae = Object.defineProperty;
2
2
  var ie = (s, r, e) => r in s ? ae(s, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[r] = e;
3
3
  var i = (s, r, e) => ie(s, typeof r != "symbol" ? r + "" : r, e);
4
4
  import t from "react";
5
- import { b2 as I, b3 as $, b6 as z, b9 as R, b7 as q, z as le, bc as Z, bA as oe } from "./client-3NdKI2xE.js";
6
- import { a as F } from "./icons-DS8J4SFk.js";
5
+ import { b2 as I, b3 as $, b6 as z, b9 as R, b7 as q, z as le, bc as Z, bA as oe } from "./client-lzMYg4vy.js";
6
+ import { a as F } from "./icons-CirVDr1q.js";
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 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 z, bu as _, bv as E, bw as b, bx as rt, bd as ot, by as st, bz as lt } from "./client-3NdKI2xE.js";
5
+ import { b2 as T, b3 as B, b7 as $, b6 as m, b9 as z, bu as _, bv as E, bw as b, bx as rt, bd as ot, by as st, bz as lt } from "./client-lzMYg4vy.js";
6
6
  function at(n, i) {
7
7
  if (!(typeof i != "string" || !m(i)))
8
8
  for (const t of z(i))
@@ -2,10 +2,10 @@ var Bt = Object.defineProperty;
2
2
  var Tt = (e, r, t) => r in e ? Bt(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
3
  var n = (e, r, t) => Tt(e, typeof r != "symbol" ? r + "" : r, t);
4
4
  import s, { useSyncExternalStore as X } from "react";
5
- import { b2 as L, b3 as P, b6 as C, b9 as M, b7 as R, bq as ot, bc as _t, bg as At, bB as Lt, L as vt, aF as T, F as lt, bC as ut, bD as Pt, bE as Rt, a9 as W, aj as N } from "./client-3NdKI2xE.js";
6
- import { S as V, C as F } from "./index-BLEG6Nql.js";
7
- import { B as wt } from "./index-I-MXiId0.js";
8
- import { B as et, I as at, a as G, A as $t } from "./icons-DS8J4SFk.js";
5
+ import { b2 as L, b3 as P, b6 as C, b9 as M, b7 as R, bq as ot, bc as _t, bg as At, bB as Lt, L as vt, aF as T, F as lt, bC as ut, bD as Pt, bE as Rt, a9 as W, aj as N } from "./client-lzMYg4vy.js";
6
+ import { S as V, C as F } from "./index-C_GtMcVT.js";
7
+ import { B as wt } from "./index-CtvQ20_N.js";
8
+ import { B as et, I as at, a as G, A as $t } from "./icons-CirVDr1q.js";
9
9
  function $(e, r) {
10
10
  if (!(typeof r != "string" || !C(r)))
11
11
  for (const t of M(r))
package/dist/index.d.ts CHANGED
@@ -3129,6 +3129,13 @@ interface ScaffoldStructure {
3129
3129
  height?: string | number;
3130
3130
  visible?: boolean;
3131
3131
  };
3132
+ /** Flutter `Scaffold.bottomNavigationBar` chrome metrics. */
3133
+ bottomAppBar?: {
3134
+ position?: "static" | "sticky" | "fixed";
3135
+ height?: string | number;
3136
+ visible?: boolean;
3137
+ };
3138
+ /** @deprecated Use `bottomAppBar`. */
3132
3139
  footer?: {
3133
3140
  position?: "static" | "sticky" | "fixed";
3134
3141
  height?: string | number;
@@ -3154,7 +3161,7 @@ declare class ScaffoldBuilder extends FiboBuilder {
3154
3161
  private _customProviders;
3155
3162
  private _structure;
3156
3163
  private _headerBar?;
3157
- private _footerBar?;
3164
+ private _bottomAppBar?;
3158
3165
  private _sideBarLeft?;
3159
3166
  private _sideBarRight?;
3160
3167
  private _drawer?;
@@ -3183,7 +3190,13 @@ declare class ScaffoldBuilder extends FiboBuilder {
3183
3190
  * set, this is a no-op (explicit chrome wins).
3184
3191
  */
3185
3192
  navigationTitle(title: string | FiboChild): this;
3186
- footerBar(config: FiboChild | LayoutBarConfig): this;
3193
+ /**
3194
+ * Flutter `Scaffold.bottomNavigationBar` — typically a {@link BottomAppBar}
3195
+ * (same three zones as `AppBar`) or a `TabView` / `BottomBar` strip.
3196
+ */
3197
+ bottomAppBar(config: FiboChild | LayoutBarConfig): this;
3198
+ /** Flutter alias of `.bottomAppBar()`. */
3199
+ bottomNavigationBar(config: FiboChild | LayoutBarConfig): this;
3187
3200
  sideBarLeft(config: FiboChild | LayoutBarConfig): this;
3188
3201
  sideBarRight(config: FiboChild | LayoutBarConfig): this;
3189
3202
  /** Flutter drawer. Starts closed. Open it with `useScaffold().openDrawer()`. */
@@ -3212,7 +3225,7 @@ declare class ScaffoldBuilder extends FiboBuilder {
3212
3225
  build(): React$1.ReactElement;
3213
3226
  }
3214
3227
  export declare const Scaffold: () => StyleBuilder<ScaffoldBuilder>;
3215
- /** Where a toolbar item sits. Same three slots as Flutter's NavigationToolbar and SwiftUI's top bar. */
3228
+ /** Where a toolbar item sits. Flutter NavigationToolbar / SwiftUI top·bottom bar. */
3216
3229
  export type ToolbarPlace = "leading" | "principal" | "trailing";
3217
3230
  declare class ToolbarItemBuilder extends FiboBuilder {
3218
3231
  private _place;
@@ -3220,11 +3233,11 @@ declare class ToolbarItemBuilder extends FiboBuilder {
3220
3233
  private _onPress?;
3221
3234
  private _drawer?;
3222
3235
  private _disabled;
3223
- /** SwiftUI `.topBarLeading`. Flutter `AppBar.leading`. */
3236
+ /** SwiftUI `.topBarLeading` / `.bottomBar` leading. Flutter `AppBar.leading`. */
3224
3237
  leading(): this;
3225
- /** SwiftUI `.principal`. Flutter `AppBar.title`. */
3238
+ /** SwiftUI `.principal`. Flutter `AppBar.title` / center slot. */
3226
3239
  principal(): this;
3227
- /** SwiftUI `.topBarTrailing`. Flutter `AppBar.actions`. */
3240
+ /** SwiftUI `.topBarTrailing` / bottom trailing. Flutter `AppBar.actions`. */
3228
3241
  trailing(): this;
3229
3242
  at(place: ToolbarPlace): this;
3230
3243
  /** Hover label and accessible name. Flutter `tooltip`. */
@@ -3253,6 +3266,13 @@ declare class AppBarBuilder extends FiboBuilder {
3253
3266
  }
3254
3267
  export declare const ToolbarItem: () => StyleBuilder<ToolbarItemBuilder>;
3255
3268
  export declare const AppBar: () => StyleBuilder<AppBarBuilder>;
3269
+ declare class BottomAppBarBuilder extends FiboBuilder {
3270
+ private _items;
3271
+ /** Same contract as `AppBar().items` — zone via `ToolbarItem` place. */
3272
+ items(children: FiboChildren): this;
3273
+ build(): React$1.ReactElement;
3274
+ }
3275
+ export declare const BottomAppBar: () => StyleBuilder<BottomAppBarBuilder>;
3256
3276
  declare class HeaderBuilder extends FiboBuilder {
3257
3277
  private _height;
3258
3278
  private _sticky;
@@ -3368,6 +3388,27 @@ declare class LineBuilder extends FiboBuilder {
3368
3388
  build(): React$1.ReactElement;
3369
3389
  }
3370
3390
  export declare const Line: () => StyleBuilder<LineBuilder>;
3391
+ declare class DividerBuilder extends FiboBuilder {
3392
+ private _thickness;
3393
+ private _indent;
3394
+ private _endIndent;
3395
+ private _color;
3396
+ private _height?;
3397
+ /** Flutter `Divider.thickness` — painted line width in px. */
3398
+ thickness(value: number): this;
3399
+ /** Flutter `Divider.height` — outer box height (line is centered when taller). */
3400
+ height(value: number | string): this;
3401
+ /** Flutter `Divider.indent` — leading inset. */
3402
+ indent(value: number): this;
3403
+ /** Flutter `Divider.endIndent` — trailing inset. */
3404
+ endIndent(value: number): this;
3405
+ /** Flutter `Divider.color`. */
3406
+ color(value: string): this;
3407
+ build(): React$1.ReactElement;
3408
+ }
3409
+ export declare const Divider: () => StyleBuilder<DividerBuilder>;
3410
+ /** SwiftUI / common alias — same builder as {@link Divider}. */
3411
+ export declare const Separator: () => StyleBuilder<DividerBuilder>;
3371
3412
  /** Flutter-style handle for a mounted ScrollView — no document.querySelector. */
3372
3413
  export declare class ScrollController {
3373
3414
  private _node;
@@ -4994,6 +5035,7 @@ declare class ListItemStyleBuilder extends CssStyleStore {
4994
5035
  style(extra: React$1.CSSProperties): this;
4995
5036
  }
4996
5037
  type ListVariant$1 = "default" | "card" | "floating";
5038
+ type ListSeparator = boolean | FiboChild | ((index: number) => FiboChild);
4997
5039
  declare class ListBuilder<T = any> extends FiboBuilder {
4998
5040
  private _items;
4999
5041
  /** Plain `signal(array)`. Read on each rebuild. */
@@ -5003,6 +5045,7 @@ declare class ListBuilder<T = any> extends FiboBuilder {
5003
5045
  private _renderItem?;
5004
5046
  private _onItemPress?;
5005
5047
  private _variant;
5048
+ /** Flutter `ListView.separated` — see {@link ListBuilder.separator}. */
5006
5049
  private _separator;
5007
5050
  private _onEndReached?;
5008
5051
  private _loading;
@@ -5063,7 +5106,26 @@ declare class ListBuilder<T = any> extends FiboBuilder {
5063
5106
  */
5064
5107
  empty(content: FiboChild | (() => FiboChild)): this;
5065
5108
  variant(variant: ListVariant$1): this;
5066
- separator(show?: boolean): this;
5109
+ /**
5110
+ * Flutter `ListView.separated` — paint a widget **between** rows only
5111
+ * (never before the first or after the last). The value itself is the build:
5112
+ *
5113
+ * ```ts
5114
+ * // default Material hairline (Divider)
5115
+ * List().items(rows).separator().renderItem(…)
5116
+ *
5117
+ * // fixed custom separator (any builder / node)
5118
+ * List().items(rows).separator(Divider().indent(16).color('#ccc'))
5119
+ * List().items(rows).separator(Text('·').alignX('center'))
5120
+ * List().items(rows).separator(Row().gap(8).children([Line(), Text('OR'), Line()]))
5121
+ *
5122
+ * // build each gap — index is 0 … itemCount-2
5123
+ * List().items(rows).separator((i) =>
5124
+ * i === 2 ? Text('Section') : Divider().indent(16)
5125
+ * )
5126
+ * ```
5127
+ */
5128
+ separator(value?: ListSeparator): this;
5067
5129
  onEndReached(handler: () => void): this;
5068
5130
  loading(isLoading: boolean): this;
5069
5131
  threshold(value: number): this;
@@ -5859,14 +5921,31 @@ interface TabViewTab {
5859
5921
  value: string;
5860
5922
  label: React$1.ReactNode;
5861
5923
  child?: React$1.ReactNode;
5924
+ icon?: React$1.ReactNode;
5862
5925
  }
5926
+ type TabBarPosition = "top" | "bottom" | "none";
5863
5927
  declare class TabViewBuilder extends FiboBuilder {
5864
5928
  private _tabs;
5865
5929
  private _value?;
5866
5930
  private _onChange?;
5931
+ private _barPosition;
5932
+ private _swipe;
5933
+ private _keepAlive;
5867
5934
  tabs(items: TabViewTab[]): this;
5868
5935
  value(value: string): this;
5869
5936
  onChange(handler: (value: string) => void): this;
5937
+ /**
5938
+ * Tablist placement. Default `bottom` (Material / pairs with `BottomAppBar`).
5939
+ * `none` — panels only; put your own bar in `BottomAppBar().items(…)`.
5940
+ */
5941
+ barPosition(position: TabBarPosition): this;
5942
+ /** Horizontal drag between pages. Default true. CSS transform + snap. */
5943
+ swipe(enabled?: boolean): this;
5944
+ /**
5945
+ * Keep neighboring / all panels mounted (React.memo + Activity).
5946
+ * Default true. `false` mounts only the active tab ±1.
5947
+ */
5948
+ keepAlive(enabled?: boolean): this;
5870
5949
  build(): React$1.ReactElement;
5871
5950
  }
5872
5951
  export declare const TabView: () => StyleBuilder<TabViewBuilder>;