@oxyhq/bloom 1.11.0 → 1.13.0

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.
Files changed (41) hide show
  1. package/docs/layout.mdx +20 -29
  2. package/lib/commonjs/fab/Fab.js +0 -42
  3. package/lib/commonjs/fab/Fab.js.map +1 -1
  4. package/lib/commonjs/fab/Fab.web.js +3 -18
  5. package/lib/commonjs/fab/Fab.web.js.map +1 -1
  6. package/lib/commonjs/layout/bottom-edge.js +42 -68
  7. package/lib/commonjs/layout/bottom-edge.js.map +1 -1
  8. package/lib/commonjs/layout/index.js +0 -6
  9. package/lib/commonjs/layout/index.js.map +1 -1
  10. package/lib/commonjs/tab-bar/TabBarBase.js +6 -22
  11. package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
  12. package/lib/module/fab/Fab.js +2 -44
  13. package/lib/module/fab/Fab.js.map +1 -1
  14. package/lib/module/fab/Fab.web.js +4 -19
  15. package/lib/module/fab/Fab.web.js.map +1 -1
  16. package/lib/module/layout/bottom-edge.js +42 -67
  17. package/lib/module/layout/bottom-edge.js.map +1 -1
  18. package/lib/module/layout/index.js +1 -1
  19. package/lib/module/layout/index.js.map +1 -1
  20. package/lib/module/tab-bar/TabBarBase.js +8 -24
  21. package/lib/module/tab-bar/TabBarBase.js.map +1 -1
  22. package/lib/typescript/commonjs/fab/Fab.d.ts.map +1 -1
  23. package/lib/typescript/commonjs/fab/Fab.web.d.ts.map +1 -1
  24. package/lib/typescript/commonjs/layout/bottom-edge.d.ts +28 -40
  25. package/lib/typescript/commonjs/layout/bottom-edge.d.ts.map +1 -1
  26. package/lib/typescript/commonjs/layout/index.d.ts +1 -1
  27. package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
  28. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -1
  29. package/lib/typescript/module/fab/Fab.d.ts.map +1 -1
  30. package/lib/typescript/module/fab/Fab.web.d.ts.map +1 -1
  31. package/lib/typescript/module/layout/bottom-edge.d.ts +28 -40
  32. package/lib/typescript/module/layout/bottom-edge.d.ts.map +1 -1
  33. package/lib/typescript/module/layout/index.d.ts +1 -1
  34. package/lib/typescript/module/layout/index.d.ts.map +1 -1
  35. package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/fab/Fab.tsx +3 -41
  38. package/src/fab/Fab.web.tsx +4 -19
  39. package/src/layout/bottom-edge.tsx +49 -84
  40. package/src/layout/index.ts +1 -6
  41. package/src/tab-bar/TabBarBase.tsx +6 -31
@@ -1 +1 @@
1
- {"version":3,"names":["Children","createContext","useCallback","useContext","useEffect","useMemo","useState","Pressable","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","Animated","Extrapolation","interpolate","interpolateColor","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","useSafeAreaInsets","useHaptics","useClaimBottomEdge","windowEdgeGap","setMinimized","useMinimizeState","BAR_MARGIN","BLUR_BLEED","EXPANDED_HEIGHT","HIGHLIGHT_EXPANDED","HIGHLIGHT_FADE","HIGHLIGHT_MINIMIZED","ICON_SIZE","ITEM_GAP","ITEM_PAD_V","LABEL_FONT_SIZE","LONG_PRESS_MIN_DURATION","MINIMIZED_HEIGHT","MINIMIZED_INSET","ROW_PAD_H","SLIDE_SPRING","useTabBarTheme","jsx","_jsx","jsxs","_jsxs","BarContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","blur","maxWidth","style","viewProps","insets","width","windowWidth","minimized","progress","tabCount","Math","max","count","hasSelection","undefined","Number","isInteger","slideIndex","highlightOpacity","isDragging","lastTicked","impact","barOuterWidth","min","tick","selectIndex","index","longPressIndex","hasLongPress","value","gesture","indexAtX","x","minimizedValue","sideInset","CLAMP","barWidth","itemWidth","raw","pan","Pan","activeOffsetX","failOffsetY","onStart","event","round","onUpdate","rounded","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","barStyle","height","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","top","opacity","transform","translateX","bottomOffset","bottom","isMinimized","setIsMinimized","target","previous","constrainedWrapStyle","alignSelf","barContext","pointerEvents","styles","root","direction","intensity","position","left","right","barWrap","marginBottom","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","standaloneTheme","focused","activeGlyphStyle","proximity","abs","labelStyle","color","activeTint","inactiveTint","boxStyle","accessibilityLabel","label","state","button","itemBox","tint","size","active","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","paddingTop","overflow","fontSize","fontWeight","marginTop"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Children","createContext","useCallback","useContext","useEffect","useMemo","Pressable","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","Animated","Extrapolation","interpolate","interpolateColor","runOnJS","useAnimatedStyle","useSharedValue","withSpring","withTiming","useSafeAreaInsets","useHaptics","useClaimBottomEdge","windowEdgeGap","setMinimized","useMinimizeState","BAR_MARGIN","BLUR_BLEED","EXPANDED_HEIGHT","HIGHLIGHT_EXPANDED","HIGHLIGHT_FADE","HIGHLIGHT_MINIMIZED","ICON_SIZE","ITEM_GAP","ITEM_PAD_V","LABEL_FONT_SIZE","LONG_PRESS_MIN_DURATION","MINIMIZED_HEIGHT","MINIMIZED_INSET","ROW_PAD_H","SLIDE_SPRING","useTabBarTheme","jsx","_jsx","jsxs","_jsxs","BarContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","blur","maxWidth","style","viewProps","insets","width","windowWidth","minimized","progress","tabCount","Math","max","count","hasSelection","undefined","Number","isInteger","slideIndex","highlightOpacity","isDragging","lastTicked","impact","barOuterWidth","min","tick","selectIndex","index","longPressIndex","hasLongPress","value","gesture","indexAtX","x","minimizedValue","sideInset","CLAMP","barWidth","itemWidth","raw","pan","Pan","activeOffsetX","failOffsetY","onStart","event","round","onUpdate","rounded","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","barStyle","height","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","top","opacity","transform","translateX","bottomOffset","bottom","constrainedWrapStyle","alignSelf","barContext","pointerEvents","styles","root","direction","intensity","position","left","right","barWrap","marginBottom","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","standaloneTheme","focused","activeGlyphStyle","proximity","abs","labelStyle","color","activeTint","inactiveTint","boxStyle","accessibilityLabel","label","state","button","itemBox","tint","size","active","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","paddingTop","overflow","fontSize","fontWeight","marginTop"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Fab.d.ts","sourceRoot":"","sources":["../../../../src/fab/Fab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAoBpF,OAAO,KAAK,EAAgB,QAAQ,EAAuB,MAAM,SAAS,CAAC;AAE3E,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAkT3E,eAAO,MAAM,GAAG,sCAAqB,CAAC"}
1
+ {"version":3,"file":"Fab.d.ts","sourceRoot":"","sources":["../../../../src/fab/Fab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAoBjE,OAAO,KAAK,EAAgB,QAAQ,EAAuB,MAAM,SAAS,CAAC;AAE3E,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA4Q3E,eAAO,MAAM,GAAG,sCAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Fab.web.d.ts","sourceRoot":"","sources":["../../../../src/fab/Fab.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAgB,QAAQ,EAAuB,MAAM,SAAS,CAAC;AAE3E,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAqT3E,eAAO,MAAM,GAAG,sCAAwB,CAAC"}
1
+ {"version":3,"file":"Fab.web.d.ts","sourceRoot":"","sources":["../../../../src/fab/Fab.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAgB,QAAQ,EAAuB,MAAM,SAAS,CAAC;AAE3E,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAsS3E,eAAO,MAAM,GAAG,sCAAwB,CAAC"}
@@ -27,20 +27,27 @@
27
27
  * edge, so two surfaces at that edge overlap rather than stack; the tallest is
28
28
  * what a new surface has to clear. Summing would strand it at twice the height.
29
29
  *
30
- * ## Two numbers, because there are two questions
30
+ * ## What does NOT belong here: the collapse
31
31
  *
32
- * A surface that collapses — the tab bar minimizes 58 -> 44 on scroll occupies
33
- * less than it reserves. Readers want different halves of that:
32
+ * The tab bar minimizes 58 -> 44 on scroll, and this registry twice tried to
33
+ * publish that so a FAB could react first as a live pixel height (1.11.0), then
34
+ * as a boolean (1.12.0). Both felt wrong on a device, for the same reason, and
35
+ * the reason is structural rather than a matter of tuning:
34
36
  *
35
- * - RESERVED (`useBottomEdgeInset`) never shrinks while the claimant is
36
- * mounted. It is what must be kept permanently free: a list's bottom
37
- * padding, a toast stack's offset. Tracking the collapse here would jitter a
38
- * list's content size on every scroll and jump a toast 14px mid-display.
39
- * - LIVE (`useBottomEdgeLiveInset`) follows the collapse. It is what a surface
40
- * SITTING ON the edge wants, so it rides down with the bar instead of
41
- * leaving a hole.
37
+ * the bar animates on the UI thread, while anything reading it from here
38
+ * arrives via `runOnJS` plus two React render passes.
42
39
  *
43
- * A claimant that never collapses passes one number and both answers agree.
40
+ * So a consumer's reaction STARTS one to three frames after the bar's, and the
41
+ * delay is variable — worst exactly while scrolling, because that is when the JS
42
+ * thread is busiest. Fading instead of moving does not hide it either: the eye
43
+ * still sees two pieces of chrome change at different moments.
44
+ *
45
+ * A collapse is MOTION, and motion that must stay in lock-step with a
46
+ * reanimated animation has to travel as a shared value on the UI thread. React
47
+ * state is the wrong transport at any width, so it is not offered here at all.
48
+ * The app owns that signal — Mention drives its header, its bar and its FAB from
49
+ * one `SharedValue` through `useAnimatedStyle` — and this registry stays what it
50
+ * is good at: GEOMETRY. Where things are, not when they move.
44
51
  *
45
52
  * ## Why an external store
46
53
  *
@@ -62,15 +69,13 @@ export declare namespace BottomEdgeProvider {
62
69
  var displayName: string;
63
70
  }
64
71
  /**
65
- * How much of the bottom edge is permanently RESERVED, in px.
72
+ * How much of the bottom edge is already occupied, in px.
66
73
  *
67
- * Never shrinks while its claimant is mounted, so it is the number for anything
68
- * that must not move as the user scrolls — a list's bottom padding, a toast
69
- * stack's offset:
74
+ * Add it to whatever offset the surface would otherwise use:
70
75
  *
71
76
  * ```tsx
72
- * const reserved = useBottomEdgeInset();
73
- * <FlatList contentContainerStyle={{ paddingBottom: reserved + 12 }} />
77
+ * const occupied = useBottomEdgeInset();
78
+ * <View style={{ position: 'absolute', bottom: windowEdgeGap(insets.bottom) + occupied }} />
74
79
  * ```
75
80
  *
76
81
  * `0` outside a provider, and `0` on the first commit even inside one — a claim
@@ -80,32 +85,15 @@ export declare namespace BottomEdgeProvider {
80
85
  */
81
86
  export declare function useBottomEdgeInset(): number;
82
87
  /**
83
- * How much of the bottom edge is occupied RIGHT NOW, in px — the same number as
84
- * {@link useBottomEdgeInset} for a surface that does not collapse, and smaller
85
- * while one does.
86
- *
87
- * This is what a surface sitting ON the edge wants, so it rides down with a
88
- * minimizing tab bar rather than leaving a hole above it. It changes when the
89
- * collapse STATE changes, not per frame: a claimant reports its settled
90
- * footprint and the reader animates the difference itself, which keeps the
91
- * motion on whatever animation system that reader already uses instead of
92
- * forcing a shared one through React state.
93
- */
94
- export declare function useBottomEdgeLiveInset(): number;
95
- /**
96
- * Claim the bottom edge for as long as the caller is mounted.
88
+ * Claim `height` px of the bottom edge for as long as the caller is mounted.
97
89
  *
98
90
  * The claimant owns its own placement — claiming does not move it. It declares
99
- * the space it occupies so that everything reading the edge stays off it. Pass
100
- * the FULL footprint (the surface's height plus the gap it holds off the window
101
- * edge), which is the same number the surface positions itself with.
102
- *
103
- * `current` is what the surface occupies right now; it defaults to `reserved`,
104
- * which is correct for anything that does not collapse. A surface that shrinks
105
- * on scroll passes its live footprint as `current` and keeps `reserved` at its
106
- * full size — see the two channels above for why both are needed.
91
+ * the space it occupies so that everything reading `useBottomEdgeInset()` stays
92
+ * off it. Pass the FULL footprint (the surface's height plus the gap it holds
93
+ * off the window edge), which is the same number the surface positions itself
94
+ * with.
107
95
  *
108
96
  * A no-op outside a provider, so a surface stays usable standalone.
109
97
  */
110
- export declare function useClaimBottomEdge(reserved: number, current?: number): void;
98
+ export declare function useClaimBottomEdge(height: number): void;
111
99
  //# sourceMappingURL=bottom-edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-edge.d.ts","sourceRoot":"","sources":["../../../../src/layout/bottom-edge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AAqEf;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAGjE;yBAHe,kBAAkB;;;AAYlC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAO3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAO/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAiB,GAAG,IAAI,CASrF"}
1
+ {"version":3,"file":"bottom-edge.d.ts","sourceRoot":"","sources":["../../../../src/layout/bottom-edge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AAsDf;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAGjE;yBAHe,kBAAkB;;;AAYlC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAO3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CASvD"}
@@ -5,5 +5,5 @@
5
5
  * parked there". A surface that floats at the bottom needs both.
6
6
  */
7
7
  export { EDGE_GAP, windowEdgeGap } from './edge';
8
- export { BottomEdgeProvider, useBottomEdgeInset, useBottomEdgeLiveInset, useClaimBottomEdge, } from './bottom-edge';
8
+ export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from './bottom-edge';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarBase.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/TabBarBase.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAQL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAoBf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAiBL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AA8kB3E;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC;YAElB,WAAW;;EAGnC;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC;YAC1C,iBAAiB;;EAG/C"}
1
+ {"version":3,"file":"TabBarBase.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/TabBarBase.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAiBL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAujB3E;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC;YAElB,WAAW;;EAGnC;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC;YAC1C,iBAAiB;;EAG/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Fab.d.ts","sourceRoot":"","sources":["../../../../src/fab/Fab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAoBpF,OAAO,KAAK,EAAgB,QAAQ,EAAuB,MAAM,SAAS,CAAC;AAE3E,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAkT3E,eAAO,MAAM,GAAG,sCAAqB,CAAC"}
1
+ {"version":3,"file":"Fab.d.ts","sourceRoot":"","sources":["../../../../src/fab/Fab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAoBjE,OAAO,KAAK,EAAgB,QAAQ,EAAuB,MAAM,SAAS,CAAC;AAE3E,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA4Q3E,eAAO,MAAM,GAAG,sCAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Fab.web.d.ts","sourceRoot":"","sources":["../../../../src/fab/Fab.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAgB,QAAQ,EAAuB,MAAM,SAAS,CAAC;AAE3E,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAqT3E,eAAO,MAAM,GAAG,sCAAwB,CAAC"}
1
+ {"version":3,"file":"Fab.web.d.ts","sourceRoot":"","sources":["../../../../src/fab/Fab.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAgB,QAAQ,EAAuB,MAAM,SAAS,CAAC;AAE3E,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAsS3E,eAAO,MAAM,GAAG,sCAAwB,CAAC"}
@@ -27,20 +27,27 @@
27
27
  * edge, so two surfaces at that edge overlap rather than stack; the tallest is
28
28
  * what a new surface has to clear. Summing would strand it at twice the height.
29
29
  *
30
- * ## Two numbers, because there are two questions
30
+ * ## What does NOT belong here: the collapse
31
31
  *
32
- * A surface that collapses — the tab bar minimizes 58 -> 44 on scroll occupies
33
- * less than it reserves. Readers want different halves of that:
32
+ * The tab bar minimizes 58 -> 44 on scroll, and this registry twice tried to
33
+ * publish that so a FAB could react first as a live pixel height (1.11.0), then
34
+ * as a boolean (1.12.0). Both felt wrong on a device, for the same reason, and
35
+ * the reason is structural rather than a matter of tuning:
34
36
  *
35
- * - RESERVED (`useBottomEdgeInset`) never shrinks while the claimant is
36
- * mounted. It is what must be kept permanently free: a list's bottom
37
- * padding, a toast stack's offset. Tracking the collapse here would jitter a
38
- * list's content size on every scroll and jump a toast 14px mid-display.
39
- * - LIVE (`useBottomEdgeLiveInset`) follows the collapse. It is what a surface
40
- * SITTING ON the edge wants, so it rides down with the bar instead of
41
- * leaving a hole.
37
+ * the bar animates on the UI thread, while anything reading it from here
38
+ * arrives via `runOnJS` plus two React render passes.
42
39
  *
43
- * A claimant that never collapses passes one number and both answers agree.
40
+ * So a consumer's reaction STARTS one to three frames after the bar's, and the
41
+ * delay is variable — worst exactly while scrolling, because that is when the JS
42
+ * thread is busiest. Fading instead of moving does not hide it either: the eye
43
+ * still sees two pieces of chrome change at different moments.
44
+ *
45
+ * A collapse is MOTION, and motion that must stay in lock-step with a
46
+ * reanimated animation has to travel as a shared value on the UI thread. React
47
+ * state is the wrong transport at any width, so it is not offered here at all.
48
+ * The app owns that signal — Mention drives its header, its bar and its FAB from
49
+ * one `SharedValue` through `useAnimatedStyle` — and this registry stays what it
50
+ * is good at: GEOMETRY. Where things are, not when they move.
44
51
  *
45
52
  * ## Why an external store
46
53
  *
@@ -62,15 +69,13 @@ export declare namespace BottomEdgeProvider {
62
69
  var displayName: string;
63
70
  }
64
71
  /**
65
- * How much of the bottom edge is permanently RESERVED, in px.
72
+ * How much of the bottom edge is already occupied, in px.
66
73
  *
67
- * Never shrinks while its claimant is mounted, so it is the number for anything
68
- * that must not move as the user scrolls — a list's bottom padding, a toast
69
- * stack's offset:
74
+ * Add it to whatever offset the surface would otherwise use:
70
75
  *
71
76
  * ```tsx
72
- * const reserved = useBottomEdgeInset();
73
- * <FlatList contentContainerStyle={{ paddingBottom: reserved + 12 }} />
77
+ * const occupied = useBottomEdgeInset();
78
+ * <View style={{ position: 'absolute', bottom: windowEdgeGap(insets.bottom) + occupied }} />
74
79
  * ```
75
80
  *
76
81
  * `0` outside a provider, and `0` on the first commit even inside one — a claim
@@ -80,32 +85,15 @@ export declare namespace BottomEdgeProvider {
80
85
  */
81
86
  export declare function useBottomEdgeInset(): number;
82
87
  /**
83
- * How much of the bottom edge is occupied RIGHT NOW, in px — the same number as
84
- * {@link useBottomEdgeInset} for a surface that does not collapse, and smaller
85
- * while one does.
86
- *
87
- * This is what a surface sitting ON the edge wants, so it rides down with a
88
- * minimizing tab bar rather than leaving a hole above it. It changes when the
89
- * collapse STATE changes, not per frame: a claimant reports its settled
90
- * footprint and the reader animates the difference itself, which keeps the
91
- * motion on whatever animation system that reader already uses instead of
92
- * forcing a shared one through React state.
93
- */
94
- export declare function useBottomEdgeLiveInset(): number;
95
- /**
96
- * Claim the bottom edge for as long as the caller is mounted.
88
+ * Claim `height` px of the bottom edge for as long as the caller is mounted.
97
89
  *
98
90
  * The claimant owns its own placement — claiming does not move it. It declares
99
- * the space it occupies so that everything reading the edge stays off it. Pass
100
- * the FULL footprint (the surface's height plus the gap it holds off the window
101
- * edge), which is the same number the surface positions itself with.
102
- *
103
- * `current` is what the surface occupies right now; it defaults to `reserved`,
104
- * which is correct for anything that does not collapse. A surface that shrinks
105
- * on scroll passes its live footprint as `current` and keeps `reserved` at its
106
- * full size — see the two channels above for why both are needed.
91
+ * the space it occupies so that everything reading `useBottomEdgeInset()` stays
92
+ * off it. Pass the FULL footprint (the surface's height plus the gap it holds
93
+ * off the window edge), which is the same number the surface positions itself
94
+ * with.
107
95
  *
108
96
  * A no-op outside a provider, so a surface stays usable standalone.
109
97
  */
110
- export declare function useClaimBottomEdge(reserved: number, current?: number): void;
98
+ export declare function useClaimBottomEdge(height: number): void;
111
99
  //# sourceMappingURL=bottom-edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-edge.d.ts","sourceRoot":"","sources":["../../../../src/layout/bottom-edge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AAqEf;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAGjE;yBAHe,kBAAkB;;;AAYlC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAO3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAO/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAiB,GAAG,IAAI,CASrF"}
1
+ {"version":3,"file":"bottom-edge.d.ts","sourceRoot":"","sources":["../../../../src/layout/bottom-edge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AAsDf;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAGjE;yBAHe,kBAAkB;;;AAYlC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAO3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CASvD"}
@@ -5,5 +5,5 @@
5
5
  * parked there". A surface that floats at the bottom needs both.
6
6
  */
7
7
  export { EDGE_GAP, windowEdgeGap } from './edge';
8
- export { BottomEdgeProvider, useBottomEdgeInset, useBottomEdgeLiveInset, useClaimBottomEdge, } from './bottom-edge';
8
+ export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from './bottom-edge';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarBase.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/TabBarBase.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAQL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAoBf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAiBL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AA8kB3E;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC;YAElB,WAAW;;EAGnC;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC;YAC1C,iBAAiB;;EAG/C"}
1
+ {"version":3,"file":"TabBarBase.d.ts","sourceRoot":"","sources":["../../../../src/tab-bar/TabBarBase.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAiBL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAujB3E;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC1C,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC;YAElB,WAAW;;EAGnC;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC;YAC1C,iBAAiB;;EAG/C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "1.11.0",
3
+ "version": "1.13.0",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
6
6
  "main": "lib/commonjs/index.js",
package/src/fab/Fab.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import React, { memo, useEffect, useMemo, useRef, type ComponentType } from 'react';
1
+ import React, { memo, useMemo, type ComponentType } from 'react';
2
2
  import {
3
3
  Animated,
4
4
  Pressable,
@@ -11,7 +11,7 @@ import {
11
11
  } from 'react-native';
12
12
  import { styled } from 'react-native-css';
13
13
 
14
- import { useBottomEdgeInset, useBottomEdgeLiveInset } from '../layout/bottom-edge';
14
+ import { useBottomEdgeInset } from '../layout/bottom-edge';
15
15
  import { useTheme } from '../theme/use-theme';
16
16
  import { animation, borderRadius } from '../styles/tokens';
17
17
  import { bloomShadowStyle } from '../design-tokens/shadows';
@@ -57,16 +57,6 @@ function resolveSize(size: FabSize | number): ResolvedSize {
57
57
  return SIZE_CONFIG[size];
58
58
  }
59
59
 
60
- /**
61
- * Matches the tab bar's own `MINIMIZE_SPRING` (380ms, critically damped) closely
62
- * enough that the two read as one movement. It cannot be that exact config: the
63
- * bar animates with reanimated, which takes duration/dampingRatio, while this is
64
- * RN's Animated, which takes stiffness/damping/mass. `usePressAnimation` — and
65
- * therefore Button, Chip, Tabs, Checkbox, Radio and FrostedIconButton — is built
66
- * on RN's Animated too, so the FAB cannot switch systems on its own.
67
- */
68
- const COLLAPSE_SPRING = { stiffness: 120, damping: 22, mass: 1 } as const;
69
-
70
60
  const DEFAULT_OFFSET = 16;
71
61
  const DEFAULT_Z_INDEX = 50;
72
62
  const HIT_SLOP = { top: 8, bottom: 8, left: 8, right: 8 } as const;
@@ -83,10 +73,6 @@ const HIT_SLOP = { top: 8, bottom: 8, left: 8, right: 8 } as const;
83
73
  * lands above a floating tab bar instead of behind it. A z-index cannot fix that
84
74
  * pairing: the bar's host is the last sibling of the app shell and paints over
85
75
  * every descendant, so the FAB has to be somewhere else, not merely on top.
86
- *
87
- * It is the RESERVED inset, so this stays a static layout value. Following a
88
- * collapsing bar is a TRANSFORM (see `collapseAnim`), which costs no layout pass
89
- * and can run on the native driver while the user is mid-scroll.
90
76
  */
91
77
  function placementStyle(
92
78
  placement: FabPlacement,
@@ -172,35 +158,11 @@ const FabComponent: React.FC<FabProps> = ({
172
158
  zIndex = DEFAULT_Z_INDEX,
173
159
  }) => {
174
160
  const bottomEdgeInset = useBottomEdgeInset();
175
- const bottomEdgeLive = useBottomEdgeLiveInset();
176
161
  const theme = useTheme();
177
162
  const sizeConfig = useMemo(() => resolveSize(size), [size]);
178
163
  const isExtended = label != null && label.length > 0;
179
164
  const content = icon ?? children;
180
165
 
181
- // How far the edge's surface has collapsed below what it reserves: 0 while the
182
- // tab bar is expanded, 14 while it is minimized. Deliberately the DIFFERENCE
183
- // rather than the live inset itself — both are 0 before the registry settles
184
- // and both are equal once it has, so this stays 0 across mount and the FAB
185
- // never slides in from the window edge on its first frame. Only a real
186
- // collapse moves it.
187
- const collapse = placement === 'bottom-right' || placement === 'bottom-left'
188
- ? bottomEdgeInset - bottomEdgeLive
189
- : 0;
190
- const collapseAnim = useRef(new Animated.Value(0)).current;
191
-
192
- // An effect because RN's Animated has no declarative form — starting an
193
- // animation is imperative by construction. `useNativeDriver` is what makes this
194
- // safe to run during a scroll: the whole point of moving the follow onto a
195
- // transform is that it never touches the JS thread once started.
196
- useEffect(() => {
197
- Animated.spring(collapseAnim, {
198
- toValue: collapse,
199
- useNativeDriver: true,
200
- ...COLLAPSE_SPRING,
201
- }).start();
202
- }, [collapse, collapseAnim]);
203
-
204
166
  const { scaleAnim, onPressIn, onPressOut } = usePressAnimation(
205
167
  disabled ? undefined : animation.pressScale,
206
168
  );
@@ -274,7 +236,7 @@ const FabComponent: React.FC<FabProps> = ({
274
236
  // cost is that a caller who sets `transform` replaces the press scale
275
237
  // instead of composing with it — when the transform sat on a separate
276
238
  // wrapper node the two multiplied.
277
- { transform: [{ translateY: collapseAnim }, { scale: scaleAnim }] },
239
+ { transform: [{ scale: scaleAnim }] },
278
240
  style,
279
241
  ]}
280
242
  onPress={disabled ? undefined : onPress}
@@ -7,7 +7,7 @@ import React, {
7
7
  type MouseEvent,
8
8
  } from 'react';
9
9
 
10
- import { useBottomEdgeLiveInset } from '../layout/bottom-edge';
10
+ import { useBottomEdgeInset } from '../layout/bottom-edge';
11
11
  import { useTheme } from '../theme/use-theme';
12
12
  import { animation, borderRadius } from '../styles/tokens';
13
13
  import { pressedSurface } from '../theme/press-colors';
@@ -83,11 +83,8 @@ const BLOOM_FAB_CSS = interactiveWebCss({
83
83
  box-shadow: var(--bloom-fab-shadow);
84
84
  font-family: inherit;
85
85
  `,
86
- // `bottom` is the collapse follow (see `placementStyle`) and is deliberately
87
- // the slow one: it tracks the tab bar's 380ms minimize spring, while every
88
- // other property here is interaction feedback and wants to feel instant.
89
86
  transition:
90
- 'opacity 120ms ease, transform 120ms ease, box-shadow 160ms ease, background-color 120ms ease, bottom 380ms ease',
87
+ 'opacity 120ms ease, transform 120ms ease, box-shadow 160ms ease, background-color 120ms ease',
91
88
  // A FAB lifts on hover rather than dimming: it floats over the content, so a
92
89
  // deeper shadow is the affordance an opacity dip cannot express.
93
90
  hover: { declarations: 'box-shadow: var(--bloom-fab-shadow-hover);' },
@@ -132,16 +129,6 @@ const BLOOM_FAB_CSS = interactiveWebCss({
132
129
  * behind it. A z-index cannot fix that pairing: the bar's host is the last
133
130
  * sibling of the app shell and paints over every descendant, so the FAB has to be
134
131
  * somewhere else, not merely on top.
135
- *
136
- * It is the LIVE inset here, and `bottom` is transitioned — where the native fork
137
- * follows a collapsing bar with an Animated TRANSFORM instead. The forks differ
138
- * because the constraint does. Native must stay off the JS thread mid-scroll, so
139
- * the follow has to be a native-driver transform. On web a transform cannot carry
140
- * it: `:active` already sets `transform: scale(...)` from the shared
141
- * `interactive-web-css` rule, and an inline transform would beat that stylesheet
142
- * rule and eat the press scale — and one property cannot hold the press's 120ms
143
- * and the collapse's 380ms at once. `bottom` is a separate property with its own
144
- * duration, and it moves twice per scroll gesture rather than per frame.
145
132
  */
146
133
  function placementStyle(
147
134
  placement: FabPlacement,
@@ -210,9 +197,7 @@ const FabWebComponent: React.FC<FabProps> = ({
210
197
  type = 'button',
211
198
  }) => {
212
199
  useInteractiveWebCss(STYLE_ID, BLOOM_FAB_CSS);
213
- // LIVE, not reserved: the FAB sits ON the edge, so it rides down with a
214
- // minimizing tab bar rather than leaving a 14px hole above it.
215
- const bottomEdgeLive = useBottomEdgeLiveInset();
200
+ const bottomEdgeInset = useBottomEdgeInset();
216
201
  const theme = useTheme();
217
202
  const reactId = useId();
218
203
  const resolvedId = id ?? `bloom-fab-${reactId}`;
@@ -247,7 +232,7 @@ const FabWebComponent: React.FC<FabProps> = ({
247
232
  variantColors.foreground,
248
233
  ),
249
234
  ['--bloom-fab-press-scale' as string]: animation.pressScale,
250
- ...placementStyle(placement, offset, bottomEdgeLive),
235
+ ...placementStyle(placement, offset, bottomEdgeInset),
251
236
  };
252
237
  if (isExtended) {
253
238
  const pad = sizeConfig.diameter <= 44 ? 14 : 20;