@oxyhq/bloom 1.12.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.
- package/docs/layout.mdx +21 -35
- package/lib/commonjs/fab/Fab.js +4 -55
- package/lib/commonjs/fab/Fab.js.map +1 -1
- package/lib/commonjs/fab/Fab.web.js +1 -29
- package/lib/commonjs/fab/Fab.web.js.map +1 -1
- package/lib/commonjs/layout/bottom-edge.js +47 -92
- package/lib/commonjs/layout/bottom-edge.js.map +1 -1
- package/lib/commonjs/layout/index.js +0 -6
- package/lib/commonjs/layout/index.js.map +1 -1
- package/lib/commonjs/tab-bar/TabBarBase.js +6 -22
- package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
- package/lib/module/fab/Fab.js +6 -57
- package/lib/module/fab/Fab.js.map +1 -1
- package/lib/module/fab/Fab.web.js +2 -30
- package/lib/module/fab/Fab.web.js.map +1 -1
- package/lib/module/layout/bottom-edge.js +47 -91
- package/lib/module/layout/bottom-edge.js.map +1 -1
- package/lib/module/layout/index.js +1 -1
- package/lib/module/layout/index.js.map +1 -1
- package/lib/module/tab-bar/TabBarBase.js +8 -24
- package/lib/module/tab-bar/TabBarBase.js.map +1 -1
- package/lib/typescript/commonjs/fab/Fab.d.ts.map +1 -1
- package/lib/typescript/commonjs/fab/Fab.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/layout/bottom-edge.d.ts +31 -57
- package/lib/typescript/commonjs/layout/bottom-edge.d.ts.map +1 -1
- package/lib/typescript/commonjs/layout/index.d.ts +1 -1
- package/lib/typescript/commonjs/layout/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -1
- package/lib/typescript/module/fab/Fab.d.ts.map +1 -1
- package/lib/typescript/module/fab/Fab.web.d.ts.map +1 -1
- package/lib/typescript/module/layout/bottom-edge.d.ts +31 -57
- package/lib/typescript/module/layout/bottom-edge.d.ts.map +1 -1
- package/lib/typescript/module/layout/index.d.ts +1 -1
- package/lib/typescript/module/layout/index.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/fab/Fab.tsx +4 -57
- package/src/fab/Fab.web.tsx +2 -31
- package/src/layout/bottom-edge.tsx +54 -108
- package/src/layout/index.ts +1 -6
- package/src/tab-bar/TabBarBase.tsx +6 -28
|
@@ -311,29 +311,13 @@ function TabBarBody({
|
|
|
311
311
|
// its own layout can never drift from where the bar actually sits.
|
|
312
312
|
const bottomOffset = (0, _edge.windowEdgeGap)(insets.bottom);
|
|
313
313
|
|
|
314
|
-
// Whether the bar has settled into its minimized size, as REACT state.
|
|
315
|
-
//
|
|
316
|
-
// Reacting on `target` rather than on `progress` is what keeps this cheap:
|
|
317
|
-
// `target` is the binary 0/1 the minimize spring is heading for, so this fires
|
|
318
|
-
// twice per scroll gesture instead of once per frame. Crossing `progress > 0.5`
|
|
319
|
-
// would work too and would cost the same, but it would report the change
|
|
320
|
-
// halfway through the animation rather than when it was decided.
|
|
321
|
-
const [isMinimized, setIsMinimized] = (0, _react.useState)(false);
|
|
322
|
-
(0, _reactNativeReanimated.useAnimatedReaction)(() => minimized.target.value, (target, previous) => {
|
|
323
|
-
if (target !== previous) (0, _reactNativeReanimated.runOnJS)(setIsMinimized)(target === 1);
|
|
324
|
-
}, [minimized]);
|
|
325
|
-
|
|
326
314
|
// Publish what the bar occupies so anything else at this edge stacks above it
|
|
327
|
-
// rather than behind it. Same
|
|
328
|
-
//
|
|
329
|
-
// where the bar actually sits.
|
|
330
|
-
//
|
|
331
|
-
//
|
|
332
|
-
|
|
333
|
-
// space (a list's bottom padding, a toast) must keep room for the full pill or
|
|
334
|
-
// it would jitter on every scroll. The collapse travels as its own STATE — see
|
|
335
|
-
// `layout/bottom-edge` for why it is a boolean and not the live height.
|
|
336
|
-
(0, _bottomEdge.useClaimBottomEdge)(bottomOffset + _shared.EXPANDED_HEIGHT, isMinimized);
|
|
315
|
+
// rather than behind it. Same number `useTabBarFootprint` reports, derived from
|
|
316
|
+
// the same two values, so a consumer reading either can never disagree with
|
|
317
|
+
// where the bar actually sits. The EXPANDED height on purpose: the bar
|
|
318
|
+
// minimizes on scroll and re-expands, so claiming the minimized height would
|
|
319
|
+
// drop a FAB onto the pill the moment the user scrolled back up.
|
|
320
|
+
(0, _bottomEdge.useClaimBottomEdge)(bottomOffset + _shared.EXPANDED_HEIGHT);
|
|
337
321
|
|
|
338
322
|
// How centring and the animated inset compose: centring is STATIC and belongs
|
|
339
323
|
// to the wrap, the inset stays ANIMATED on the pill inside it. The wrap is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useHaptics","_bottomEdge","_edge","_context","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BarContext","createContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","blur","maxWidth","style","viewProps","insets","useSafeAreaInsets","width","windowWidth","useWindowDimensions","minimized","useMinimizeState","progress","tabCount","Math","max","Children","count","hasSelection","undefined","Number","isInteger","slideIndex","useSharedValue","highlightOpacity","isDragging","lastTicked","useTabBarTheme","impact","useHaptics","barOuterWidth","BAR_MARGIN","min","tick","useCallback","selectIndex","index","longPressIndex","hasLongPress","useEffect","value","withTiming","HIGHLIGHT_FADE","withSpring","SLIDE_SPRING","gesture","useMemo","indexAtX","x","minimizedValue","sideInset","interpolate","MINIMIZED_INSET","Extrapolation","CLAMP","barWidth","itemWidth","ROW_PAD_H","raw","pan","Gesture","Pan","activeOffsetX","failOffsetY","onStart","event","round","setMinimized","onUpdate","rounded","runOnJS","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","LONG_PRESS_MIN_DURATION","barStyle","useAnimatedStyle","height","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","top","opacity","transform","translateX","bottomOffset","windowEdgeGap","bottom","isMinimized","setIsMinimized","useState","useAnimatedReaction","target","previous","useClaimBottomEdge","constrainedWrapStyle","alignSelf","barContext","jsxs","View","pointerEvents","styles","root","jsx","direction","intensity","position","left","right","BLUR_BLEED","barWrap","marginBottom","GestureDetector","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","useContext","standaloneTheme","focused","activeGlyphStyle","proximity","abs","labelStyle","color","activeTint","inactiveTint","interpolateColor","boxStyle","Pressable","accessibilityLabel","label","state","button","itemBox","tint","size","ICON_SIZE","active","StyleSheet","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","paddingTop","ITEM_PAD_V","overflow","fontSize","LABEL_FONT_SIZE","fontWeight","marginTop","ITEM_GAP"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useHaptics","_bottomEdge","_edge","_context","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BarContext","createContext","TabBarBody","Surface","Blur","children","activeIndex","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","blur","maxWidth","style","viewProps","insets","useSafeAreaInsets","width","windowWidth","useWindowDimensions","minimized","useMinimizeState","progress","tabCount","Math","max","Children","count","hasSelection","undefined","Number","isInteger","slideIndex","useSharedValue","highlightOpacity","isDragging","lastTicked","useTabBarTheme","impact","useHaptics","barOuterWidth","BAR_MARGIN","min","tick","useCallback","selectIndex","index","longPressIndex","hasLongPress","useEffect","value","withTiming","HIGHLIGHT_FADE","withSpring","SLIDE_SPRING","gesture","useMemo","indexAtX","x","minimizedValue","sideInset","interpolate","MINIMIZED_INSET","Extrapolation","CLAMP","barWidth","itemWidth","ROW_PAD_H","raw","pan","Gesture","Pan","activeOffsetX","failOffsetY","onStart","event","round","setMinimized","onUpdate","rounded","runOnJS","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","LONG_PRESS_MIN_DURATION","barStyle","useAnimatedStyle","height","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","top","opacity","transform","translateX","bottomOffset","windowEdgeGap","bottom","useClaimBottomEdge","constrainedWrapStyle","alignSelf","barContext","jsxs","View","pointerEvents","styles","root","jsx","direction","intensity","position","left","right","BLUR_BLEED","barWrap","marginBottom","GestureDetector","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","useContext","standaloneTheme","focused","activeGlyphStyle","proximity","abs","labelStyle","color","activeTint","inactiveTint","interpolateColor","boxStyle","Pressable","accessibilityLabel","label","state","button","itemBox","tint","size","ICON_SIZE","active","StyleSheet","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","paddingTop","ITEM_PAD_V","overflow","fontSize","LABEL_FONT_SIZE","fontWeight","marginTop","ITEM_GAP"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/fab/Fab.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { memo,
|
|
3
|
+
import React, { memo, useMemo } from 'react';
|
|
4
4
|
import { Animated, Pressable, Text, View } from 'react-native';
|
|
5
5
|
import { styled } from 'react-native-css';
|
|
6
|
-
import {
|
|
6
|
+
import { useBottomEdgeInset } from "../layout/bottom-edge.js";
|
|
7
7
|
import { useTheme } from "../theme/use-theme.js";
|
|
8
8
|
import { animation, borderRadius } from "../styles/tokens.js";
|
|
9
9
|
import { bloomShadowStyle } from '../design-tokens/shadows';
|
|
@@ -50,23 +50,6 @@ function resolveSize(size) {
|
|
|
50
50
|
}
|
|
51
51
|
return SIZE_CONFIG[size];
|
|
52
52
|
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* How long the FAB takes to leave when the bottom edge collapses.
|
|
56
|
-
*
|
|
57
|
-
* A DURATION, not a spring matched to the tab bar's — because the FAB is not
|
|
58
|
-
* trying to stay level with the bar any more. It tried: an earlier version rode
|
|
59
|
-
* the bar down by the 14px it shrank, and on a device the two visibly did not
|
|
60
|
-
* move together. The bar animates on the UI thread while this component learns
|
|
61
|
-
* about the collapse through `runOnJS` plus two React renders, so it starts one
|
|
62
|
-
* to three frames late — worst exactly while scrolling, which is the only time
|
|
63
|
-
* it happens. No spring config fixes a variable start delay.
|
|
64
|
-
*
|
|
65
|
-
* Fading is what makes that latency invisible: there is no spatial relationship
|
|
66
|
-
* left to violate, so nothing betrays the few frames. Slightly quicker than the
|
|
67
|
-
* bar's 380ms minimize, so the FAB is gone before the eye goes looking for it.
|
|
68
|
-
*/
|
|
69
|
-
const COLLAPSE_FADE_MS = 200;
|
|
70
53
|
const DEFAULT_OFFSET = 16;
|
|
71
54
|
const DEFAULT_Z_INDEX = 50;
|
|
72
55
|
const HIT_SLOP = {
|
|
@@ -88,10 +71,6 @@ const HIT_SLOP = {
|
|
|
88
71
|
* lands above a floating tab bar instead of behind it. A z-index cannot fix that
|
|
89
72
|
* pairing: the bar's host is the last sibling of the app shell and paints over
|
|
90
73
|
* every descendant, so the FAB has to be somewhere else, not merely on top.
|
|
91
|
-
*
|
|
92
|
-
* It is the RESERVED inset, so this stays a static layout value — it does not
|
|
93
|
-
* shrink when the bar collapses. The FAB fades out instead of chasing the bar
|
|
94
|
-
* down; see `COLLAPSE_FADE_MS` for why chasing it does not work.
|
|
95
74
|
*/
|
|
96
75
|
function placementStyle(placement, offset, bottomEdgeInset) {
|
|
97
76
|
if (placement === 'static') return {};
|
|
@@ -158,34 +137,10 @@ const FabComponent = ({
|
|
|
158
137
|
zIndex = DEFAULT_Z_INDEX
|
|
159
138
|
}) => {
|
|
160
139
|
const bottomEdgeInset = useBottomEdgeInset();
|
|
161
|
-
// The FAB belongs to the chrome: when the chrome retracts, so does it.
|
|
162
|
-
const bottomEdgeCollapsed = useBottomEdgeCollapsed();
|
|
163
140
|
const theme = useTheme();
|
|
164
141
|
const sizeConfig = useMemo(() => resolveSize(size), [size]);
|
|
165
142
|
const isExtended = label != null && label.length > 0;
|
|
166
143
|
const content = icon ?? children;
|
|
167
|
-
|
|
168
|
-
// Only a FAB anchored to the BOTTOM edge is affected by the bottom edge
|
|
169
|
-
// collapsing; a top-placed or consumer-placed one is not.
|
|
170
|
-
const hidesOnCollapse = placement === 'bottom-right' || placement === 'bottom-left';
|
|
171
|
-
const hidden = hidesOnCollapse && bottomEdgeCollapsed;
|
|
172
|
-
const fade = useRef(new Animated.Value(1)).current;
|
|
173
|
-
|
|
174
|
-
// An effect because RN's Animated has no declarative form — starting an
|
|
175
|
-
// animation is imperative by construction. `opacity` is native-drivable, so
|
|
176
|
-
// once started this never touches the JS thread again, which matters: it runs
|
|
177
|
-
// while the user is mid-scroll.
|
|
178
|
-
// The disabled dim rides on the SAME value rather than a second static
|
|
179
|
-
// `opacity` in the style array: two opacity entries would mean the later one
|
|
180
|
-
// silently wins, so a disabled FAB would either not dim or not fade.
|
|
181
|
-
const restingOpacity = disabled ? 0.5 : 1;
|
|
182
|
-
useEffect(() => {
|
|
183
|
-
Animated.timing(fade, {
|
|
184
|
-
toValue: hidden ? 0 : restingOpacity,
|
|
185
|
-
duration: COLLAPSE_FADE_MS,
|
|
186
|
-
useNativeDriver: true
|
|
187
|
-
}).start();
|
|
188
|
-
}, [hidden, restingOpacity, fade]);
|
|
189
144
|
const {
|
|
190
145
|
scaleAnim,
|
|
191
146
|
onPressIn,
|
|
@@ -242,8 +197,8 @@ const FabComponent = ({
|
|
|
242
197
|
className: className,
|
|
243
198
|
style: [placementStyle(placement, offset, bottomEdgeInset), {
|
|
244
199
|
zIndex
|
|
245
|
-
}, containerStyle, {
|
|
246
|
-
opacity:
|
|
200
|
+
}, containerStyle, disabled && {
|
|
201
|
+
opacity: 0.5
|
|
247
202
|
}, pressed && !disabled && {
|
|
248
203
|
backgroundColor: pressedBackground
|
|
249
204
|
},
|
|
@@ -256,14 +211,8 @@ const FabComponent = ({
|
|
|
256
211
|
transform: [{
|
|
257
212
|
scale: scaleAnim
|
|
258
213
|
}]
|
|
259
|
-
}, style]
|
|
260
|
-
|
|
261
|
-
// invisible target that still takes a tap is worse than a visible one.
|
|
262
|
-
,
|
|
263
|
-
pointerEvents: hidden ? 'none' : 'auto',
|
|
264
|
-
accessibilityElementsHidden: hidden,
|
|
265
|
-
importantForAccessibility: hidden ? 'no-hide-descendants' : 'auto',
|
|
266
|
-
onPress: disabled || hidden ? undefined : onPress,
|
|
214
|
+
}, style],
|
|
215
|
+
onPress: disabled ? undefined : onPress,
|
|
267
216
|
onPressIn: handlePressIn,
|
|
268
217
|
onPressOut: handlePressOut,
|
|
269
218
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","
|
|
1
|
+
{"version":3,"names":["React","memo","useMemo","Animated","Pressable","Text","View","styled","useBottomEdgeInset","useTheme","animation","borderRadius","bloomShadowStyle","pressedSurface","usePressAnimation","useInteractionState","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","DEFAULT_OFFSET","DEFAULT_Z_INDEX","HIT_SLOP","top","bottom","left","right","placementStyle","placement","offset","bottomEdgeInset","style","position","FabPressable","StyledPressable","className","AnimatedPressable","createAnimatedComponent","FabComponent","onPress","icon","children","label","variant","disabled","accessibilityLabel","accessibilityHint","labelStyle","testID","zIndex","theme","sizeConfig","isExtended","length","content","scaleAnim","onPressIn","onPressOut","undefined","pressScale","state","pressed","onIn","onPressedIn","onOut","onPressedOut","resolvedColors","resolveVariant","colors","pressedBackground","background","foreground","containerStyle","base","alignItems","justifyContent","flexDirection","backgroundColor","full","height","paddingHorizontal","gap","width","shadow","labelTextStyle","fontWeight","color","handlePressIn","handlePressOut","opacity","transform","scale","hitSlop","accessibilityRole","accessibilityState","numberOfLines","secondary","secondaryForeground","tertiary","tertiaryForeground","card","text","primary","primaryForeground","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { memo, useCallback, useId, useMemo } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { useBottomEdgeInset } from "../layout/bottom-edge.js";
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
6
|
import { animation, borderRadius } from "../styles/tokens.js";
|
|
7
7
|
import { pressedSurface } from "../theme/press-colors.js";
|
|
@@ -76,10 +76,7 @@ const BLOOM_FAB_CSS = interactiveWebCss({
|
|
|
76
76
|
box-shadow: var(--bloom-fab-shadow);
|
|
77
77
|
font-family: inherit;
|
|
78
78
|
`,
|
|
79
|
-
|
|
80
|
-
// is the collapse's number — the dim is imperceptibly slower for it, and one
|
|
81
|
-
// property cannot hold two durations.
|
|
82
|
-
transition: 'opacity 200ms ease, transform 120ms ease, box-shadow 160ms ease, background-color 120ms ease',
|
|
79
|
+
transition: 'opacity 120ms ease, transform 120ms ease, box-shadow 160ms ease, background-color 120ms ease',
|
|
83
80
|
// A FAB lifts on hover rather than dimming: it floats over the content, so a
|
|
84
81
|
// deeper shadow is the affordance an opacity dip cannot express.
|
|
85
82
|
hover: {
|
|
@@ -126,16 +123,6 @@ const BLOOM_FAB_CSS = interactiveWebCss({
|
|
|
126
123
|
* behind it. A z-index cannot fix that pairing: the bar's host is the last
|
|
127
124
|
* sibling of the app shell and paints over every descendant, so the FAB has to be
|
|
128
125
|
* somewhere else, not merely on top.
|
|
129
|
-
*
|
|
130
|
-
* It is the LIVE inset here, and `bottom` is transitioned — where the native fork
|
|
131
|
-
* follows a collapsing bar with an Animated TRANSFORM instead. The forks differ
|
|
132
|
-
* because the constraint does. Native must stay off the JS thread mid-scroll, so
|
|
133
|
-
* the follow has to be a native-driver transform. On web a transform cannot carry
|
|
134
|
-
* it: `:active` already sets `transform: scale(...)` from the shared
|
|
135
|
-
* `interactive-web-css` rule, and an inline transform would beat that stylesheet
|
|
136
|
-
* rule and eat the press scale — and one property cannot hold the press's 120ms
|
|
137
|
-
* and the collapse's 380ms at once. `bottom` is a separate property with its own
|
|
138
|
-
* duration, and it moves twice per scroll gesture rather than per frame.
|
|
139
126
|
*/
|
|
140
127
|
function placementStyle(placement, offset, bottomEdgeInset) {
|
|
141
128
|
if (placement === 'static') return {};
|
|
@@ -214,12 +201,6 @@ const FabWebComponent = ({
|
|
|
214
201
|
}) => {
|
|
215
202
|
useInteractiveWebCss(STYLE_ID, BLOOM_FAB_CSS);
|
|
216
203
|
const bottomEdgeInset = useBottomEdgeInset();
|
|
217
|
-
// The FAB belongs to the chrome: when the chrome retracts, so does it. Only a
|
|
218
|
-
// BOTTOM-anchored FAB is affected by the bottom edge collapsing.
|
|
219
|
-
const bottomEdgeCollapsed = useBottomEdgeCollapsed();
|
|
220
|
-
// A faded-out FAB must not be tabbable, clickable or announced — an invisible
|
|
221
|
-
// target that still takes a click is worse than a visible one.
|
|
222
|
-
const hidden = bottomEdgeCollapsed && (placement === 'bottom-right' || placement === 'bottom-left');
|
|
223
204
|
const theme = useTheme();
|
|
224
205
|
const reactId = useId();
|
|
225
206
|
const resolvedId = id ?? `bloom-fab-${reactId}`;
|
|
@@ -250,13 +231,6 @@ const FabWebComponent = ({
|
|
|
250
231
|
['--bloom-fab-press-scale']: animation.pressScale,
|
|
251
232
|
...placementStyle(placement, offset, bottomEdgeInset)
|
|
252
233
|
};
|
|
253
|
-
// Only while HIDDEN, so the `:disabled { opacity }` rule still owns the
|
|
254
|
-
// dim the rest of the time — an inline opacity would beat that stylesheet
|
|
255
|
-
// rule unconditionally and a disabled FAB would stop dimming.
|
|
256
|
-
if (hidden) {
|
|
257
|
-
base.opacity = 0;
|
|
258
|
-
base.pointerEvents = 'none';
|
|
259
|
-
}
|
|
260
234
|
if (isExtended) {
|
|
261
235
|
const pad = sizeConfig.diameter <= 44 ? 14 : 20;
|
|
262
236
|
base.paddingLeft = pad;
|
|
@@ -295,8 +269,6 @@ const FabWebComponent = ({
|
|
|
295
269
|
onClick: handleClick,
|
|
296
270
|
disabled: disabled,
|
|
297
271
|
"aria-disabled": disabled || undefined,
|
|
298
|
-
"aria-hidden": hidden || undefined,
|
|
299
|
-
tabIndex: hidden ? -1 : undefined,
|
|
300
272
|
"aria-label": ariaLabel,
|
|
301
273
|
title: title ?? accessibilityHint,
|
|
302
274
|
"data-testid": testID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useCallback","useId","useMemo","
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useId","useMemo","useBottomEdgeInset","useTheme","animation","borderRadius","pressedSurface","interactiveWebCss","useInteractiveWebCss","flattenWebStyle","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","DEFAULT_OFFSET","DEFAULT_Z_INDEX","STYLE_ID","BLOOM_FAB_CSS","selector","varPrefix","base","transition","hover","declarations","pressDeclarations","outlineOffset","placementStyle","placement","offset","bottomEdgeInset","style","position","isBottom","bottom","marginTop","top","alignSelf","marginRight","marginLeft","resolveVariant","variant","c","background","secondary","foreground","secondaryForeground","ring","tertiary","tertiaryForeground","card","text","primary","primaryForeground","FabWebComponent","onPress","onClick","icon","children","label","disabled","accessibilityLabel","ariaLabelProp","accessibilityHint","labelStyle","className","testID","zIndex","id","title","type","theme","reactId","resolvedId","sizeConfig","isExtended","length","content","variantColors","colors","restShadow","shadow","hoverShadow","containerStyle","color","full","height","fontWeight","pressScale","pad","paddingLeft","paddingRight","width","handleClick","event","preventDefault","ariaLabel","composedClassName","concat","join","resolvedStyle","resolvedLabelStyle","undefined","display","alignItems","justifyContent","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,32 +29,27 @@
|
|
|
29
29
|
* edge, so two surfaces at that edge overlap rather than stack; the tallest is
|
|
30
30
|
* what a new surface has to clear. Summing would strand it at twice the height.
|
|
31
31
|
*
|
|
32
|
-
* ##
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* few frames of latency are imperceptible. That is why the channel is a state and
|
|
54
|
-
* not a geometry: it is the shape of signal that survives the trip to the JS
|
|
55
|
-
* thread. Anything that genuinely must track the collapse per-frame has to read
|
|
56
|
-
* the tab bar's own shared value on the UI thread instead — React state is the
|
|
57
|
-
* wrong transport for it, at any width.
|
|
32
|
+
* ## What does NOT belong here: the collapse
|
|
33
|
+
*
|
|
34
|
+
* The tab bar minimizes 58 -> 44 on scroll, and this registry twice tried to
|
|
35
|
+
* publish that so a FAB could react — first as a live pixel height (1.11.0), then
|
|
36
|
+
* as a boolean (1.12.0). Both felt wrong on a device, for the same reason, and
|
|
37
|
+
* the reason is structural rather than a matter of tuning:
|
|
38
|
+
*
|
|
39
|
+
* the bar animates on the UI thread, while anything reading it from here
|
|
40
|
+
* arrives via `runOnJS` plus two React render passes.
|
|
41
|
+
*
|
|
42
|
+
* So a consumer's reaction STARTS one to three frames after the bar's, and the
|
|
43
|
+
* delay is variable — worst exactly while scrolling, because that is when the JS
|
|
44
|
+
* thread is busiest. Fading instead of moving does not hide it either: the eye
|
|
45
|
+
* still sees two pieces of chrome change at different moments.
|
|
46
|
+
*
|
|
47
|
+
* A collapse is MOTION, and motion that must stay in lock-step with a
|
|
48
|
+
* reanimated animation has to travel as a shared value on the UI thread. React
|
|
49
|
+
* state is the wrong transport at any width, so it is not offered here at all.
|
|
50
|
+
* The app owns that signal — Mention drives its header, its bar and its FAB from
|
|
51
|
+
* one `SharedValue` through `useAnimatedStyle` — and this registry stays what it
|
|
52
|
+
* is good at: GEOMETRY. Where things are, not when they move.
|
|
58
53
|
*
|
|
59
54
|
* ## Why an external store
|
|
60
55
|
*
|
|
@@ -69,25 +64,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
69
64
|
function createBottomEdgeStore() {
|
|
70
65
|
const claims = new Map();
|
|
71
66
|
const listeners = new Set();
|
|
72
|
-
let
|
|
73
|
-
let collapsed = false;
|
|
67
|
+
let inset = 0;
|
|
74
68
|
const recompute = () => {
|
|
75
|
-
let
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
// at this edge just retracted" is still the signal a reader wants, and it is
|
|
79
|
-
// the safe direction — a FAB that fades when it did not strictly have to
|
|
80
|
-
// beats one that stays put over a bar that left.
|
|
81
|
-
let nextCollapsed = false;
|
|
82
|
-
for (const claim of claims.values()) {
|
|
83
|
-
if (claim.reserved > nextReserved) nextReserved = claim.reserved;
|
|
84
|
-
if (claim.collapsed) nextCollapsed = true;
|
|
69
|
+
let next = 0;
|
|
70
|
+
for (const height of claims.values()) {
|
|
71
|
+
if (height > next) next = height;
|
|
85
72
|
}
|
|
86
|
-
// Bail before notifying: a re-registration at an unchanged
|
|
87
|
-
// render of a claimant
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
73
|
+
// Bail before notifying: a re-registration at an unchanged height (every
|
|
74
|
+
// render of a claimant whose footprint did not move) must not re-render
|
|
75
|
+
// every reader.
|
|
76
|
+
if (next === inset) return;
|
|
77
|
+
inset = next;
|
|
91
78
|
for (const listener of listeners) listener();
|
|
92
79
|
};
|
|
93
80
|
return {
|
|
@@ -97,15 +84,10 @@ function createBottomEdgeStore() {
|
|
|
97
84
|
listeners.delete(onChange);
|
|
98
85
|
};
|
|
99
86
|
},
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (existing?.reserved === nextReserved && existing.collapsed === nextCollapsed) return;
|
|
105
|
-
claims.set(id, {
|
|
106
|
-
reserved: nextReserved,
|
|
107
|
-
collapsed: nextCollapsed
|
|
108
|
-
});
|
|
87
|
+
getInset: () => inset,
|
|
88
|
+
claim(id, height) {
|
|
89
|
+
if (claims.get(id) === height) return;
|
|
90
|
+
claims.set(id, height);
|
|
109
91
|
recompute();
|
|
110
92
|
},
|
|
111
93
|
release(id) {
|
|
@@ -137,18 +119,15 @@ BottomEdgeProvider.displayName = 'BottomEdgeProvider';
|
|
|
137
119
|
// would resubscribe `useSyncExternalStore` on every render.
|
|
138
120
|
const NO_SUBSCRIPTION = () => () => {};
|
|
139
121
|
const NO_INSET = () => 0;
|
|
140
|
-
const NO_COLLAPSE = () => false;
|
|
141
122
|
|
|
142
123
|
/**
|
|
143
|
-
* How much of the bottom edge is
|
|
124
|
+
* How much of the bottom edge is already occupied, in px.
|
|
144
125
|
*
|
|
145
|
-
*
|
|
146
|
-
* that must not move as the user scrolls — a list's bottom padding, a toast
|
|
147
|
-
* stack's offset:
|
|
126
|
+
* Add it to whatever offset the surface would otherwise use:
|
|
148
127
|
*
|
|
149
128
|
* ```tsx
|
|
150
|
-
* const
|
|
151
|
-
* <
|
|
129
|
+
* const occupied = useBottomEdgeInset();
|
|
130
|
+
* <View style={{ position: 'absolute', bottom: windowEdgeGap(insets.bottom) + occupied }} />
|
|
152
131
|
* ```
|
|
153
132
|
*
|
|
154
133
|
* `0` outside a provider, and `0` on the first commit even inside one — a claim
|
|
@@ -158,50 +137,27 @@ const NO_COLLAPSE = () => false;
|
|
|
158
137
|
*/
|
|
159
138
|
export function useBottomEdgeInset() {
|
|
160
139
|
const store = useContext(BottomEdgeContext);
|
|
161
|
-
return useSyncExternalStore(store?.subscribe ?? NO_SUBSCRIPTION, store?.
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Whether the surface owning the bottom edge is currently COLLAPSED — the tab
|
|
166
|
-
* bar minimized on scroll.
|
|
167
|
-
*
|
|
168
|
-
* A boolean rather than a live height, on purpose: see the note at the top of
|
|
169
|
-
* this file. A reader should FADE or otherwise change state on it, never try to
|
|
170
|
-
* stay geometrically locked to the collapsing surface — that lock is what a
|
|
171
|
-
* React-state channel cannot deliver, because the surface animates on the UI
|
|
172
|
-
* thread and this arrives one to three frames later.
|
|
173
|
-
*
|
|
174
|
-
* ```tsx
|
|
175
|
-
* const collapsed = useBottomEdgeCollapsed();
|
|
176
|
-
* // fade out; do not chase the bar's new top edge
|
|
177
|
-
* ```
|
|
178
|
-
*
|
|
179
|
-
* `false` outside a provider.
|
|
180
|
-
*/
|
|
181
|
-
export function useBottomEdgeCollapsed() {
|
|
182
|
-
const store = useContext(BottomEdgeContext);
|
|
183
|
-
return useSyncExternalStore(store?.subscribe ?? NO_SUBSCRIPTION, store?.getCollapsed ?? NO_COLLAPSE, store?.getCollapsed ?? NO_COLLAPSE);
|
|
140
|
+
return useSyncExternalStore(store?.subscribe ?? NO_SUBSCRIPTION, store?.getInset ?? NO_INSET, store?.getInset ?? NO_INSET);
|
|
184
141
|
}
|
|
185
142
|
|
|
186
143
|
/**
|
|
187
|
-
* Claim the bottom edge for as long as the caller is mounted.
|
|
144
|
+
* Claim `height` px of the bottom edge for as long as the caller is mounted.
|
|
188
145
|
*
|
|
189
146
|
* The claimant owns its own placement — claiming does not move it. It declares
|
|
190
|
-
* the space it occupies so that everything reading
|
|
191
|
-
* the FULL footprint (the surface's height plus the gap it holds
|
|
192
|
-
* edge), which is the same number the surface positions itself
|
|
193
|
-
*
|
|
194
|
-
* permanently free, and the collapse is reported separately by `collapsed`.
|
|
147
|
+
* the space it occupies so that everything reading `useBottomEdgeInset()` stays
|
|
148
|
+
* off it. Pass the FULL footprint (the surface's height plus the gap it holds
|
|
149
|
+
* off the window edge), which is the same number the surface positions itself
|
|
150
|
+
* with.
|
|
195
151
|
*
|
|
196
152
|
* A no-op outside a provider, so a surface stays usable standalone.
|
|
197
153
|
*/
|
|
198
|
-
export function useClaimBottomEdge(
|
|
154
|
+
export function useClaimBottomEdge(height) {
|
|
199
155
|
const store = useContext(BottomEdgeContext);
|
|
200
156
|
const id = useId();
|
|
201
157
|
useEffect(() => {
|
|
202
158
|
if (!store) return;
|
|
203
|
-
store.claim(id,
|
|
159
|
+
store.claim(id, height);
|
|
204
160
|
return () => store.release(id);
|
|
205
|
-
}, [store, id,
|
|
161
|
+
}, [store, id, height]);
|
|
206
162
|
}
|
|
207
163
|
//# sourceMappingURL=bottom-edge.js.map
|