fiboui 2.8.1 → 2.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -108,9 +108,20 @@ export declare class Signal<T> implements Subscribable<T> {
108
108
  private _value;
109
109
  private listeners;
110
110
  private effects;
111
+ private readonly _initial;
111
112
  constructor(_value: T);
112
113
  get value(): T;
113
114
  set value(newValue: T);
115
+ /** Replace the value. Same notify path as `.value = next`. */
116
+ set(next: T): this;
117
+ /**
118
+ * Write a value, or an updater `(prev) => next`.
119
+ * Function-valued signals should use `.set()` / `.value =` so the function is stored, not called.
120
+ * Not named `update`: `listSignal.update(id, patch)` is the item patch.
121
+ */
122
+ change(next: T | ((prev: T) => T)): this;
123
+ /** Restore the value passed to `signal(initial)`. */
124
+ reset(): this;
114
125
  subscribe(listener: Listener<T>): Unsubscribe;
115
126
  subscribeEffect(effect: Effect): void;
116
127
  unsubscribeEffect(effect: Effect): void;
@@ -978,6 +989,11 @@ declare abstract class FiboBuilder {
978
989
  justifyContent(justify: "start" | "center" | "end" | "between" | "around" | "evenly" | "space-between" | "space-around" | "space-evenly" | "spaceBetween" | "spaceAround" | "spaceEvenly"): this;
979
990
  /** True when flexDirection is column / column-reverse (default is row). */
980
991
  protected isVerticalFlex(): boolean;
992
+ /**
993
+ * Both screen axes. `.align(Align.center)` and `.align('center')` do the same.
994
+ * `between` packs the main axis and starts the cross axis.
995
+ */
996
+ align(alignment: AlignAxis): this;
981
997
  /**
982
998
  * Horizontal (screen X) alignment. Same meaning on Row and Column:
983
999
  * left / center / right of the container — not “main axis”.
@@ -1046,6 +1062,13 @@ declare abstract class FiboBuilder {
1046
1062
  rounded(value: string | number): this;
1047
1063
  borderRadius(value: string | number): this;
1048
1064
  borderColor(value: string): this;
1065
+ /**
1066
+ * A passed size is a lock: `min-*` plus `flex-shrink: 0`, so a flex parent
1067
+ * (the Scaffold body) cannot divide the viewport across these children.
1068
+ * `400`, `'320px'`, `Size.full`, and `Space.md` all count. `flex(1)` afterwards
1069
+ * opts back into sharing space.
1070
+ */
1071
+ private lockAxis;
1049
1072
  width(value: string | number): this;
1050
1073
  paint(property: string, value: string): this;
1051
1074
  height(value: string | number): this;
@@ -2441,6 +2464,499 @@ export declare class PluginManager implements FiboContext {
2441
2464
  getTopbarActions(): (() => FiboBuilder)[];
2442
2465
  getOverlays(): (() => FiboBuilder)[];
2443
2466
  }
2467
+ /** `.animate(Motion.fadeIn)`. Preset list lives in `motionCss`. */
2468
+ export declare const Motion: {
2469
+ readonly pop: "pop";
2470
+ readonly blur: "blur";
2471
+ readonly fadeIn: "fadeIn";
2472
+ readonly fadeOut: "fadeOut";
2473
+ readonly fade: "fade";
2474
+ readonly slideUp: "slideUp";
2475
+ readonly slideDown: "slideDown";
2476
+ readonly slideLeft: "slideLeft";
2477
+ readonly slideRight: "slideRight";
2478
+ readonly scaleIn: "scaleIn";
2479
+ readonly scaleOut: "scaleOut";
2480
+ readonly scale: "scale";
2481
+ readonly blurIn: "blurIn";
2482
+ readonly blurOut: "blurOut";
2483
+ readonly bounce: "bounce";
2484
+ };
2485
+ export type Motion = (typeof Motion)[keyof typeof Motion];
2486
+ /** `.hover(h => h.effect(Effect.sweepToRight))`. */
2487
+ declare const Effect$1: {
2488
+ readonly pop: "pop";
2489
+ readonly push: "push";
2490
+ readonly trim: "trim";
2491
+ readonly fade: "fade";
2492
+ readonly rotate: "rotate";
2493
+ readonly grow: "grow";
2494
+ readonly shrink: "shrink";
2495
+ readonly pulse: "pulse";
2496
+ readonly pulseGrow: "pulseGrow";
2497
+ readonly pulseShrink: "pulseShrink";
2498
+ readonly bounceIn: "bounceIn";
2499
+ readonly bounceOut: "bounceOut";
2500
+ readonly growRotate: "growRotate";
2501
+ readonly float: "float";
2502
+ readonly sink: "sink";
2503
+ readonly bob: "bob";
2504
+ readonly hang: "hang";
2505
+ readonly skew: "skew";
2506
+ readonly skewForward: "skewForward";
2507
+ readonly skewBackward: "skewBackward";
2508
+ readonly wobbleHorizontal: "wobbleHorizontal";
2509
+ readonly wobbleVertical: "wobbleVertical";
2510
+ readonly wobbleToBottomRight: "wobbleToBottomRight";
2511
+ readonly wobbleToTopRight: "wobbleToTopRight";
2512
+ readonly wobbleTop: "wobbleTop";
2513
+ readonly wobbleBottom: "wobbleBottom";
2514
+ readonly wobbleSkew: "wobbleSkew";
2515
+ readonly buzz: "buzz";
2516
+ readonly buzzOut: "buzzOut";
2517
+ readonly forward: "forward";
2518
+ readonly backward: "backward";
2519
+ readonly nudge: "nudge";
2520
+ readonly backPulse: "backPulse";
2521
+ readonly sweepToRight: "sweepToRight";
2522
+ readonly sweepToLeft: "sweepToLeft";
2523
+ readonly sweepToBottom: "sweepToBottom";
2524
+ readonly sweepToTop: "sweepToTop";
2525
+ readonly bounceToRight: "bounceToRight";
2526
+ readonly bounceToLeft: "bounceToLeft";
2527
+ readonly bounceToBottom: "bounceToBottom";
2528
+ readonly bounceToTop: "bounceToTop";
2529
+ readonly radialOut: "radialOut";
2530
+ readonly radialIn: "radialIn";
2531
+ readonly rectangleIn: "rectangleIn";
2532
+ readonly rectangleOut: "rectangleOut";
2533
+ readonly shutterInHorizontal: "shutterInHorizontal";
2534
+ readonly shutterOutHorizontal: "shutterOutHorizontal";
2535
+ readonly shutterInVertical: "shutterInVertical";
2536
+ readonly shutterOutVertical: "shutterOutVertical";
2537
+ readonly iconBack: "iconBack";
2538
+ readonly iconForward: "iconForward";
2539
+ readonly iconDown: "iconDown";
2540
+ readonly iconUp: "iconUp";
2541
+ readonly iconSpin: "iconSpin";
2542
+ readonly iconDrop: "iconDrop";
2543
+ readonly iconFade: "iconFade";
2544
+ readonly iconFloatAway: "iconFloatAway";
2545
+ readonly iconSinkAway: "iconSinkAway";
2546
+ readonly iconGrow: "iconGrow";
2547
+ readonly iconShrink: "iconShrink";
2548
+ readonly iconPulse: "iconPulse";
2549
+ readonly iconPulseGrow: "iconPulseGrow";
2550
+ readonly iconPulseShrink: "iconPulseShrink";
2551
+ readonly iconPush: "iconPush";
2552
+ readonly iconPop: "iconPop";
2553
+ readonly iconBounce: "iconBounce";
2554
+ readonly iconRotate: "iconRotate";
2555
+ readonly iconGrowRotate: "iconGrowRotate";
2556
+ readonly iconFloat: "iconFloat";
2557
+ readonly iconSink: "iconSink";
2558
+ readonly iconBob: "iconBob";
2559
+ readonly iconHang: "iconHang";
2560
+ readonly iconWobbleHorizontal: "iconWobbleHorizontal";
2561
+ readonly iconWobbleVertical: "iconWobbleVertical";
2562
+ readonly iconBuzz: "iconBuzz";
2563
+ readonly iconBuzzOut: "iconBuzzOut";
2564
+ readonly borderFade: "borderFade";
2565
+ readonly hollow: "hollow";
2566
+ readonly rippleOut: "rippleOut";
2567
+ readonly rippleIn: "rippleIn";
2568
+ readonly outlineOut: "outlineOut";
2569
+ readonly outlineIn: "outlineIn";
2570
+ readonly roundCorners: "roundCorners";
2571
+ readonly underlineFromLeft: "underlineFromLeft";
2572
+ readonly underlineFromCenter: "underlineFromCenter";
2573
+ readonly underlineFromRight: "underlineFromRight";
2574
+ readonly reveal: "reveal";
2575
+ readonly underlineReveal: "underlineReveal";
2576
+ readonly overlineFromLeft: "overlineFromLeft";
2577
+ readonly overlineFromCenter: "overlineFromCenter";
2578
+ readonly overlineFromRight: "overlineFromRight";
2579
+ readonly overlineReveal: "overlineReveal";
2580
+ readonly shadowGrow: "shadowGrow";
2581
+ readonly shadowFloat: "shadowFloat";
2582
+ readonly shadowGlow: "shadowGlow";
2583
+ readonly shadowRadial: "shadowRadial";
2584
+ readonly boxShadowOutset: "boxShadowOutset";
2585
+ readonly boxShadowInset: "boxShadowInset";
2586
+ readonly lift: "lift";
2587
+ readonly glow: "glow";
2588
+ readonly bubbleTop: "bubbleTop";
2589
+ readonly bubbleRight: "bubbleRight";
2590
+ readonly bubbleBottom: "bubbleBottom";
2591
+ readonly bubbleLeft: "bubbleLeft";
2592
+ readonly bubbleFloatTop: "bubbleFloatTop";
2593
+ readonly bubbleFloatRight: "bubbleFloatRight";
2594
+ readonly bubbleFloatBottom: "bubbleFloatBottom";
2595
+ readonly bubbleFloatLeft: "bubbleFloatLeft";
2596
+ readonly curlTopLeft: "curlTopLeft";
2597
+ readonly curlTopRight: "curlTopRight";
2598
+ readonly curlBottomRight: "curlBottomRight";
2599
+ readonly curlBottomLeft: "curlBottomLeft";
2600
+ };
2601
+ type Effect$1 = (typeof Effect$1)[keyof typeof Effect$1];
2602
+ export declare const Align: {
2603
+ readonly start: "start";
2604
+ readonly center: "center";
2605
+ readonly end: "end";
2606
+ readonly stretch: "stretch";
2607
+ readonly baseline: "baseline";
2608
+ readonly between: "between";
2609
+ readonly around: "around";
2610
+ readonly evenly: "evenly";
2611
+ };
2612
+ export type Align = (typeof Align)[keyof typeof Align];
2613
+ /** Words `.width()` / `.height()` already accept. A number or `'320px'` skips this. */
2614
+ export declare const Size: {
2615
+ readonly full: "full";
2616
+ readonly screen: "screen";
2617
+ readonly fit: "fit";
2618
+ readonly min: "min";
2619
+ readonly max: "max";
2620
+ };
2621
+ export type Size = (typeof Size)[keyof typeof Size];
2622
+ /** Theme spacing. `.padding(Space.md)`, `.gap(Space.sm)`, `.height(Space.xl)`. */
2623
+ export declare const Space: {
2624
+ readonly xs: "var(--fibo-space-xs)";
2625
+ readonly sm: "var(--fibo-space-sm)";
2626
+ readonly md: "var(--fibo-space-md)";
2627
+ readonly lg: "var(--fibo-space-lg)";
2628
+ readonly xl: "var(--fibo-space-xl)";
2629
+ };
2630
+ export type Space = (typeof Space)[keyof typeof Space];
2631
+ /** Theme radii. `.borderRadius(Radius.md)`. */
2632
+ export declare const Radius: {
2633
+ readonly xs: "var(--fibo-radius-xs)";
2634
+ readonly sm: "var(--fibo-radius-sm)";
2635
+ readonly md: "var(--fibo-radius-md)";
2636
+ readonly lg: "var(--fibo-radius-lg)";
2637
+ readonly xl: "var(--fibo-radius-xl)";
2638
+ readonly full: "var(--fibo-radius-full)";
2639
+ };
2640
+ export type Radius = (typeof Radius)[keyof typeof Radius];
2641
+ /**
2642
+ * Theme colors. `.bg(Color.primary)` and `.color(Color.onSurface)` resolve to
2643
+ * `--fibo-*`. A hex, `rgb()`, or any other string still paints as-is.
2644
+ */
2645
+ export declare const Color: {
2646
+ readonly primary: "var(--fibo-primary)";
2647
+ readonly onPrimary: "var(--fibo-on-primary)";
2648
+ readonly primaryContainer: "var(--fibo-primary-container)";
2649
+ readonly onPrimaryContainer: "var(--fibo-on-primary-container)";
2650
+ readonly secondary: "var(--fibo-secondary)";
2651
+ readonly onSecondary: "var(--fibo-on-secondary)";
2652
+ readonly secondaryContainer: "var(--fibo-secondary-container)";
2653
+ readonly onSecondaryContainer: "var(--fibo-on-secondary-container)";
2654
+ readonly tertiary: "var(--fibo-tertiary)";
2655
+ readonly onTertiary: "var(--fibo-on-tertiary)";
2656
+ readonly background: "var(--fibo-background)";
2657
+ readonly onBackground: "var(--fibo-on-background)";
2658
+ readonly surface: "var(--fibo-surface)";
2659
+ readonly onSurface: "var(--fibo-on-surface)";
2660
+ readonly error: "var(--fibo-error)";
2661
+ readonly onError: "var(--fibo-on-error)";
2662
+ readonly outline: "var(--fibo-outline)";
2663
+ };
2664
+ export type Color = (typeof Color)[keyof typeof Color];
2665
+ /** Scroll direction for `.horizontal()` / `.vertical()`, or pass the word itself. */
2666
+ export declare const Axis: {
2667
+ readonly horizontal: "horizontal";
2668
+ readonly vertical: "vertical";
2669
+ };
2670
+ export type Axis = (typeof Axis)[keyof typeof Axis];
2671
+ /** `.scrollbar(Bar.hidden)`. */
2672
+ export declare const Bar: {
2673
+ readonly hidden: "hidden";
2674
+ readonly visible: "visible";
2675
+ readonly auto: "auto";
2676
+ };
2677
+ export type Bar = (typeof Bar)[keyof typeof Bar];
2678
+ export declare const FlexDirection: {
2679
+ readonly row: "row";
2680
+ readonly column: "column";
2681
+ readonly rowReverse: "row-reverse";
2682
+ readonly columnReverse: "column-reverse";
2683
+ };
2684
+ export type FlexDirection = (typeof FlexDirection)[keyof typeof FlexDirection];
2685
+ export declare const TextDirection: {
2686
+ readonly ltr: "ltr";
2687
+ readonly rtl: "rtl";
2688
+ };
2689
+ export type TextDirection = (typeof TextDirection)[keyof typeof TextDirection];
2690
+ export declare const AxisSize: {
2691
+ readonly min: "min";
2692
+ readonly max: "max";
2693
+ };
2694
+ export type AxisSize = (typeof AxisSize)[keyof typeof AxisSize];
2695
+ export declare const Clip: {
2696
+ readonly none: "none";
2697
+ readonly hardEdge: "hardEdge";
2698
+ readonly antiAlias: "antiAlias";
2699
+ };
2700
+ export type Clip = (typeof Clip)[keyof typeof Clip];
2701
+ export declare const StackAlign: {
2702
+ readonly center: "center";
2703
+ readonly top: "top";
2704
+ readonly bottom: "bottom";
2705
+ readonly left: "left";
2706
+ readonly right: "right";
2707
+ readonly topLeft: "topLeft";
2708
+ readonly topRight: "topRight";
2709
+ readonly bottomLeft: "bottomLeft";
2710
+ readonly bottomRight: "bottomRight";
2711
+ };
2712
+ export type StackAlign = (typeof StackAlign)[keyof typeof StackAlign];
2713
+ export declare const Theme: {
2714
+ readonly material: "material";
2715
+ readonly cupertino: "cupertino";
2716
+ readonly web: "web";
2717
+ readonly noir: "noir";
2718
+ };
2719
+ export type Theme = (typeof Theme)[keyof typeof Theme];
2720
+ export declare const Scheme: {
2721
+ readonly light: "light";
2722
+ readonly dark: "dark";
2723
+ readonly system: "system";
2724
+ readonly lightDark: "light dark";
2725
+ };
2726
+ export type Scheme = (typeof Scheme)[keyof typeof Scheme];
2727
+ export declare const TextRole: {
2728
+ readonly h1: "h1";
2729
+ readonly h2: "h2";
2730
+ readonly h3: "h3";
2731
+ readonly h4: "h4";
2732
+ readonly h5: "h5";
2733
+ readonly h6: "h6";
2734
+ readonly body: "body";
2735
+ readonly caption: "caption";
2736
+ readonly label: "label";
2737
+ };
2738
+ export type TextRole = (typeof TextRole)[keyof typeof TextRole];
2739
+ export declare const TextAlign: {
2740
+ readonly left: "left";
2741
+ readonly center: "center";
2742
+ readonly right: "right";
2743
+ readonly justify: "justify";
2744
+ readonly start: "start";
2745
+ readonly end: "end";
2746
+ };
2747
+ export type TextAlign = (typeof TextAlign)[keyof typeof TextAlign];
2748
+ /** Theme-facing weights. `.fontWeight(Weight.bold)` or `.fontWeight(700)`. */
2749
+ export declare const Weight: {
2750
+ readonly thin: "100";
2751
+ readonly light: "300";
2752
+ readonly regular: "400";
2753
+ readonly medium: "500";
2754
+ readonly semibold: "600";
2755
+ readonly bold: "700";
2756
+ readonly black: "900";
2757
+ };
2758
+ export type Weight = (typeof Weight)[keyof typeof Weight];
2759
+ export declare const ButtonSize: {
2760
+ readonly xs: "xs";
2761
+ readonly sm: "sm";
2762
+ readonly md: "md";
2763
+ readonly lg: "lg";
2764
+ };
2765
+ export type ButtonSize = (typeof ButtonSize)[keyof typeof ButtonSize];
2766
+ export declare const ButtonShape: {
2767
+ readonly default: "default";
2768
+ readonly pill: "pill";
2769
+ readonly square: "square";
2770
+ readonly rect: "rect";
2771
+ readonly rounded: "rounded";
2772
+ readonly sharp: "sharp";
2773
+ };
2774
+ export type ButtonShape = (typeof ButtonShape)[keyof typeof ButtonShape];
2775
+ export declare const ButtonTone: {
2776
+ readonly default: "default";
2777
+ readonly inverse: "inverse";
2778
+ };
2779
+ export type ButtonTone = (typeof ButtonTone)[keyof typeof ButtonTone];
2780
+ export declare const ButtonType: {
2781
+ readonly button: "button";
2782
+ readonly submit: "submit";
2783
+ readonly reset: "reset";
2784
+ };
2785
+ export type ButtonType = (typeof ButtonType)[keyof typeof ButtonType];
2786
+ export declare const FieldType: {
2787
+ readonly text: "text";
2788
+ readonly password: "password";
2789
+ readonly email: "email";
2790
+ readonly number: "number";
2791
+ readonly tel: "tel";
2792
+ };
2793
+ export type FieldType = (typeof FieldType)[keyof typeof FieldType];
2794
+ export declare const FieldVariant: {
2795
+ readonly filled: "filled";
2796
+ readonly outlined: "outlined";
2797
+ };
2798
+ export type FieldVariant = (typeof FieldVariant)[keyof typeof FieldVariant];
2799
+ export declare const Resize: {
2800
+ readonly none: "none";
2801
+ readonly vertical: "vertical";
2802
+ readonly horizontal: "horizontal";
2803
+ readonly both: "both";
2804
+ };
2805
+ export type Resize = (typeof Resize)[keyof typeof Resize];
2806
+ export declare const ListVariant: {
2807
+ readonly default: "default";
2808
+ readonly card: "card";
2809
+ readonly floating: "floating";
2810
+ };
2811
+ export type ListVariant = (typeof ListVariant)[keyof typeof ListVariant];
2812
+ export declare const GridVariant: {
2813
+ readonly standard: "standard";
2814
+ readonly masonry: "masonry";
2815
+ readonly bento: "bento";
2816
+ };
2817
+ export type GridVariant = (typeof GridVariant)[keyof typeof GridVariant];
2818
+ export declare const TableVariant: {
2819
+ readonly default: "default";
2820
+ readonly clean: "clean";
2821
+ };
2822
+ export type TableVariant = (typeof TableVariant)[keyof typeof TableVariant];
2823
+ export declare const BadgeVariant: {
2824
+ readonly neutral: "neutral";
2825
+ readonly accent: "accent";
2826
+ readonly outline: "outline";
2827
+ readonly glass: "glass";
2828
+ readonly solid: "solid";
2829
+ readonly dot: "dot";
2830
+ };
2831
+ export type BadgeVariant = (typeof BadgeVariant)[keyof typeof BadgeVariant];
2832
+ export declare const Intent: {
2833
+ readonly none: "none";
2834
+ readonly success: "success";
2835
+ readonly warning: "warning";
2836
+ readonly error: "error";
2837
+ readonly info: "info";
2838
+ };
2839
+ export type Intent = (typeof Intent)[keyof typeof Intent];
2840
+ export declare const Fit: {
2841
+ readonly cover: "cover";
2842
+ readonly contain: "contain";
2843
+ readonly fill: "fill";
2844
+ readonly none: "none";
2845
+ readonly scaleDown: "scale-down";
2846
+ };
2847
+ export type Fit = (typeof Fit)[keyof typeof Fit];
2848
+ export declare const Ease: {
2849
+ readonly linear: "linear";
2850
+ readonly ease: "ease";
2851
+ readonly easeIn: "ease-in";
2852
+ readonly easeOut: "ease-out";
2853
+ readonly easeInOut: "ease-in-out";
2854
+ readonly spring: "spring";
2855
+ };
2856
+ export type Ease = (typeof Ease)[keyof typeof Ease];
2857
+ export declare const Curve: {
2858
+ readonly linear: "linear";
2859
+ readonly easeIn: "easeIn";
2860
+ readonly easeOut: "easeOut";
2861
+ readonly easeInOut: "easeInOut";
2862
+ readonly spring: "spring";
2863
+ };
2864
+ export type Curve = (typeof Curve)[keyof typeof Curve];
2865
+ export declare const Snap: {
2866
+ readonly start: "start";
2867
+ readonly center: "center";
2868
+ readonly end: "end";
2869
+ };
2870
+ export type Snap = (typeof Snap)[keyof typeof Snap];
2871
+ export declare const SnapAxis: {
2872
+ readonly x: "x";
2873
+ readonly y: "y";
2874
+ readonly both: "both";
2875
+ };
2876
+ export type SnapAxis = (typeof SnapAxis)[keyof typeof SnapAxis];
2877
+ export declare const Timeline: {
2878
+ readonly view: "view";
2879
+ readonly scroll: "scroll";
2880
+ };
2881
+ export type Timeline = (typeof Timeline)[keyof typeof Timeline];
2882
+ export declare const ReducedMotion: {
2883
+ readonly reduce: "reduce";
2884
+ readonly never: "never";
2885
+ };
2886
+ export type ReducedMotion = (typeof ReducedMotion)[keyof typeof ReducedMotion];
2887
+ export declare const Shadow: {
2888
+ readonly none: "none";
2889
+ readonly soft: "soft";
2890
+ readonly sm: "sm";
2891
+ readonly md: "md";
2892
+ readonly lg: "lg";
2893
+ };
2894
+ export type Shadow = (typeof Shadow)[keyof typeof Shadow];
2895
+ export declare const Position: {
2896
+ readonly static: "static";
2897
+ readonly sticky: "sticky";
2898
+ readonly fixed: "fixed";
2899
+ };
2900
+ export type Position = (typeof Position)[keyof typeof Position];
2901
+ export declare const Mode: {
2902
+ readonly side: "side";
2903
+ readonly over: "over";
2904
+ };
2905
+ export type Mode = (typeof Mode)[keyof typeof Mode];
2906
+ export declare const Behavior: {
2907
+ readonly fixed: "fixed";
2908
+ readonly scroll: "scroll";
2909
+ };
2910
+ export type Behavior = (typeof Behavior)[keyof typeof Behavior];
2911
+ export declare const Side: {
2912
+ readonly start: "start";
2913
+ readonly end: "end";
2914
+ };
2915
+ export type Side = (typeof Side)[keyof typeof Side];
2916
+ export declare const Place: {
2917
+ readonly leading: "leading";
2918
+ readonly principal: "principal";
2919
+ readonly trailing: "trailing";
2920
+ };
2921
+ export type Place = (typeof Place)[keyof typeof Place];
2922
+ export declare const FormMethod: {
2923
+ readonly get: "get";
2924
+ readonly post: "post";
2925
+ };
2926
+ export type FormMethod = (typeof FormMethod)[keyof typeof FormMethod];
2927
+ export declare const Trend: {
2928
+ readonly up: "up";
2929
+ readonly down: "down";
2930
+ readonly neutral: "neutral";
2931
+ };
2932
+ export type Trend = (typeof Trend)[keyof typeof Trend];
2933
+ export declare const Stroke: {
2934
+ readonly butt: "butt";
2935
+ readonly round: "round";
2936
+ readonly square: "square";
2937
+ };
2938
+ export type Stroke = (typeof Stroke)[keyof typeof Stroke];
2939
+ export declare const Join: {
2940
+ readonly miter: "miter";
2941
+ readonly round: "round";
2942
+ readonly bevel: "bevel";
2943
+ };
2944
+ export type Join = (typeof Join)[keyof typeof Join];
2945
+ export declare const Scale: {
2946
+ readonly small: "small";
2947
+ readonly medium: "medium";
2948
+ readonly large: "large";
2949
+ };
2950
+ export type Scale = (typeof Scale)[keyof typeof Scale];
2951
+ export declare const Density: {
2952
+ readonly small: "small";
2953
+ readonly medium: "medium";
2954
+ readonly large: "large";
2955
+ };
2956
+ export type Density = Scale;
2957
+ export declare function isSizeWord(value: string): value is Size;
2958
+ /** CSS length a size word locks to, so a flex parent cannot squash it. */
2959
+ export declare function sizeWordCss(word: string, axis: "width" | "height"): string | undefined;
2444
2960
  interface FiboThemeContextValue {
2445
2961
  theme: FiboTheme;
2446
2962
  themeName: string;
@@ -29671,7 +30187,7 @@ export declare const Avatar: () => AvatarBuilder & LogicalAxes & {
29671
30187
  colorRendering: (value: import("csstype").Property.ColorRendering | undefined) => AvatarBuilder & LogicalAxes & /*elided*/ any & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
29672
30188
  glyphOrientationVertical: (value: import("csstype").Property.GlyphOrientationVertical | undefined) => AvatarBuilder & LogicalAxes & /*elided*/ any & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
29673
30189
  } & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
29674
- type BadgeVariant = "neutral" | "accent" | "outline" | "glass" | "solid" | "dot";
30190
+ type BadgeVariant$1 = "neutral" | "accent" | "outline" | "glass" | "solid" | "dot";
29675
30191
  type BadgeIntent = "none" | "success" | "warning" | "error" | "info";
29676
30192
  type BadgeShape = "pill" | "rounded";
29677
30193
  declare class BadgeBuilder extends FiboBuilder {
@@ -29682,7 +30198,7 @@ declare class BadgeBuilder extends FiboBuilder {
29682
30198
  private _shape;
29683
30199
  text(value: string): this;
29684
30200
  icon(icon: React$1.ReactNode): this;
29685
- variant(variant: BadgeVariant): this;
30201
+ variant(variant: BadgeVariant$1): this;
29686
30202
  intent(intent: BadgeIntent): this;
29687
30203
  shape(shape: BadgeShape): this;
29688
30204
  build(): React$1.ReactElement;
@@ -30550,6 +31066,7 @@ type TextTruncation = "clip" | "ellipsis" | "head" | "middle" | "tail";
30550
31066
  type TextCase = "uppercase" | "lowercase" | "capitalize" | "none";
30551
31067
  declare class TextBuilder extends FiboBuilder {
30552
31068
  private _text;
31069
+ private _live;
30553
31070
  private _nodes?;
30554
31071
  private _type;
30555
31072
  private _lineLimit?;
@@ -49924,12 +50441,13 @@ export declare const MapView: () => MapViewBuilder & LogicalAxes & {
49924
50441
  glyphOrientationVertical: (value: import("csstype").Property.GlyphOrientationVertical | undefined) => MapViewBuilder & LogicalAxes & /*elided*/ any & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
49925
50442
  } & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
49926
50443
  type ExtendedButtonVariant = ButtonVariant | "ghost" | "soft" | "outline" | "text" | "raw" | "solid";
49927
- type ButtonSize = "xs" | "sm" | "md" | "lg";
49928
- type ButtonShape = "default" | "pill" | "square" | "rect" | "rounded" | "sharp";
49929
- type ButtonTone = "default" | "inverse";
50444
+ type ButtonSize$1 = "xs" | "sm" | "md" | "lg";
50445
+ type ButtonShape$1 = "default" | "pill" | "square" | "rect" | "rounded" | "sharp";
50446
+ type ButtonTone$1 = "default" | "inverse";
49930
50447
  type ButtonMotion = "default" | "none";
49931
50448
  declare class ButtonBuilder extends FiboBuilder {
49932
50449
  private _text;
50450
+ private _live;
49933
50451
  private _variant;
49934
50452
  private _size;
49935
50453
  private _onPress?;
@@ -49948,14 +50466,14 @@ declare class ButtonBuilder extends FiboBuilder {
49948
50466
  children(children: FiboChildren): this;
49949
50467
  variant(variant: ExtendedButtonVariant): this;
49950
50468
  clean(): this;
49951
- size(size: ButtonSize): this;
50469
+ size(size: ButtonSize$1): this;
49952
50470
  onPress(handler: () => void): this;
49953
50471
  onHover(handler: () => void): this;
49954
50472
  disabled(value?: boolean): this;
49955
50473
  icon(icon: React$1.ReactNode): this;
49956
- shape(value: ButtonShape): this;
50474
+ shape(value: ButtonShape$1): this;
49957
50475
  shadow(value: "none" | "soft"): this;
49958
- tone(value: ButtonTone): this;
50476
+ tone(value: ButtonTone$1): this;
49959
50477
  motion(value: ButtonMotion): this;
49960
50478
  expand(value?: boolean): this;
49961
50479
  /**
@@ -83319,7 +83837,7 @@ declare class ListItemStyleBuilder extends CssStyleStore {
83319
83837
  css(property: string, value: string | number): this;
83320
83838
  style(extra: React$1.CSSProperties): this;
83321
83839
  }
83322
- type ListVariant = "default" | "card" | "floating";
83840
+ type ListVariant$1 = "default" | "card" | "floating";
83323
83841
  declare class ListBuilder<T = any> extends FiboBuilder {
83324
83842
  private _items;
83325
83843
  /** Live source (`listSignal` / `signal`). Read on each rebuild. */
@@ -83386,7 +83904,7 @@ declare class ListBuilder<T = any> extends FiboBuilder {
83386
83904
  * ```
83387
83905
  */
83388
83906
  empty(content: FiboChild | (() => FiboChild)): this;
83389
- variant(variant: ListVariant): this;
83907
+ variant(variant: ListVariant$1): this;
83390
83908
  separator(show?: boolean): this;
83391
83909
  onEndReached(handler: () => void): this;
83392
83910
  loading(isLoading: boolean): this;
@@ -97325,7 +97843,7 @@ export declare const ListTile: () => ListTileBuilder & LogicalAxes & {
97325
97843
  colorRendering: (value: import("csstype").Property.ColorRendering | undefined) => ListTileBuilder & LogicalAxes & /*elided*/ any & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
97326
97844
  glyphOrientationVertical: (value: import("csstype").Property.GlyphOrientationVertical | undefined) => ListTileBuilder & LogicalAxes & /*elided*/ any & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
97327
97845
  } & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
97328
- type TableVariant = "default" | "clean";
97846
+ type TableVariant$1 = "default" | "clean";
97329
97847
  type TableDensity = "compact" | "standard" | "relaxed";
97330
97848
  interface TableColumn<T = any> {
97331
97849
  header: string;
@@ -97348,7 +97866,7 @@ declare class TableBuilder<T = any> extends FiboBuilder {
97348
97866
  private _sortable;
97349
97867
  data(items: T[] | BindableSignal<T[]>): this;
97350
97868
  columns(cols: TableColumn<T>[]): this;
97351
- variant(variant: TableVariant): this;
97869
+ variant(variant: TableVariant$1): this;
97352
97870
  density(density: TableDensity): this;
97353
97871
  striped(enable?: boolean): this;
97354
97872
  width(value: string | number): this;
@@ -100831,7 +101349,7 @@ export declare const Collapse: () => CollapseBuilder & LogicalAxes & {
100831
101349
  colorRendering: (value: import("csstype").Property.ColorRendering | undefined) => CollapseBuilder & LogicalAxes & /*elided*/ any & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
100832
101350
  glyphOrientationVertical: (value: import("csstype").Property.GlyphOrientationVertical | undefined) => CollapseBuilder & LogicalAxes & /*elided*/ any & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
100833
101351
  } & React$1.ReactElement<any, string | React$1.JSXElementConstructor<any>>;
100834
- type GridVariant = "standard" | "masonry" | "bento";
101352
+ type GridVariant$1 = "standard" | "masonry" | "bento";
100835
101353
  type GridGap = "none" | "sm" | "md" | "lg" | "xl" | number;
100836
101354
  type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
100837
101355
  type GridAutoFlow = "row" | "column" | "dense";
@@ -100851,7 +101369,7 @@ declare class GridBuilder extends FiboBuilder {
100851
101369
  private _templateColumns?;
100852
101370
  private _templateRows?;
100853
101371
  private _autoFlow?;
100854
- variant(v: GridVariant): this;
101372
+ variant(v: GridVariant$1): this;
100855
101373
  columns(cols: GridCols | ResponsiveCols): this;
100856
101374
  rows(count: number): this;
100857
101375
  gap(g: GridGap): this;
@@ -121199,6 +121717,7 @@ export declare function clearPersistedState(key: string, storage?: StorageAdapte
121199
121717
  export declare function getPersistedState<T>(key: string, storage?: StorageAdapter): T | null;
121200
121718
 
121201
121719
  export {
121720
+ Effect$1 as Effect,
121202
121721
  Image$1 as Image,
121203
121722
  ScrollToOptions$1 as ScrollToOptions,
121204
121723
  Store as ReactiveStore,