@oxyhq/bloom 1.10.1 → 1.12.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 +40 -3
- package/lib/commonjs/fab/Fab.js +55 -4
- package/lib/commonjs/fab/Fab.js.map +1 -1
- package/lib/commonjs/fab/Fab.web.js +29 -1
- package/lib/commonjs/fab/Fab.web.js.map +1 -1
- package/lib/commonjs/layout/bottom-edge.js +93 -26
- package/lib/commonjs/layout/bottom-edge.js.map +1 -1
- package/lib/commonjs/layout/index.js +6 -0
- package/lib/commonjs/layout/index.js.map +1 -1
- package/lib/commonjs/tab-bar/TabBarBase.js +22 -6
- package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
- package/lib/module/fab/Fab.js +57 -6
- package/lib/module/fab/Fab.js.map +1 -1
- package/lib/module/fab/Fab.web.js +30 -2
- package/lib/module/fab/Fab.web.js.map +1 -1
- package/lib/module/layout/bottom-edge.js +92 -26
- 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 +24 -8
- 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 +58 -10
- 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 +58 -10
- 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 +57 -4
- package/src/fab/Fab.web.tsx +31 -2
- package/src/layout/bottom-edge.tsx +109 -33
- package/src/layout/index.ts +6 -1
- package/src/tab-bar/TabBarBase.tsx +28 -6
|
@@ -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","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","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":[]}
|
package/lib/module/fab/Fab.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { memo, useMemo } from 'react';
|
|
3
|
+
import React, { memo, useEffect, useMemo, useRef } from 'react';
|
|
4
4
|
import { Animated, Pressable, Text, View } from 'react-native';
|
|
5
5
|
import { styled } from 'react-native-css';
|
|
6
|
-
import { useBottomEdgeInset } from "../layout/bottom-edge.js";
|
|
6
|
+
import { useBottomEdgeCollapsed, 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,6 +50,23 @@ 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;
|
|
53
70
|
const DEFAULT_OFFSET = 16;
|
|
54
71
|
const DEFAULT_Z_INDEX = 50;
|
|
55
72
|
const HIT_SLOP = {
|
|
@@ -71,6 +88,10 @@ const HIT_SLOP = {
|
|
|
71
88
|
* lands above a floating tab bar instead of behind it. A z-index cannot fix that
|
|
72
89
|
* pairing: the bar's host is the last sibling of the app shell and paints over
|
|
73
90
|
* 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.
|
|
74
95
|
*/
|
|
75
96
|
function placementStyle(placement, offset, bottomEdgeInset) {
|
|
76
97
|
if (placement === 'static') return {};
|
|
@@ -137,10 +158,34 @@ const FabComponent = ({
|
|
|
137
158
|
zIndex = DEFAULT_Z_INDEX
|
|
138
159
|
}) => {
|
|
139
160
|
const bottomEdgeInset = useBottomEdgeInset();
|
|
161
|
+
// The FAB belongs to the chrome: when the chrome retracts, so does it.
|
|
162
|
+
const bottomEdgeCollapsed = useBottomEdgeCollapsed();
|
|
140
163
|
const theme = useTheme();
|
|
141
164
|
const sizeConfig = useMemo(() => resolveSize(size), [size]);
|
|
142
165
|
const isExtended = label != null && label.length > 0;
|
|
143
166
|
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]);
|
|
144
189
|
const {
|
|
145
190
|
scaleAnim,
|
|
146
191
|
onPressIn,
|
|
@@ -197,8 +242,8 @@ const FabComponent = ({
|
|
|
197
242
|
className: className,
|
|
198
243
|
style: [placementStyle(placement, offset, bottomEdgeInset), {
|
|
199
244
|
zIndex
|
|
200
|
-
}, containerStyle,
|
|
201
|
-
opacity:
|
|
245
|
+
}, containerStyle, {
|
|
246
|
+
opacity: fade
|
|
202
247
|
}, pressed && !disabled && {
|
|
203
248
|
backgroundColor: pressedBackground
|
|
204
249
|
},
|
|
@@ -211,8 +256,14 @@ const FabComponent = ({
|
|
|
211
256
|
transform: [{
|
|
212
257
|
scale: scaleAnim
|
|
213
258
|
}]
|
|
214
|
-
}, style]
|
|
215
|
-
|
|
259
|
+
}, style]
|
|
260
|
+
// A FAB that has faded out must not be pressable or reachable — an
|
|
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,
|
|
216
267
|
onPressIn: handlePressIn,
|
|
217
268
|
onPressOut: handlePressOut,
|
|
218
269
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
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":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,OAAO,QAA4B,OAAO;
|
|
1
|
+
{"version":3,"names":["React","memo","useEffect","useMemo","useRef","Animated","Pressable","Text","View","styled","useBottomEdgeCollapsed","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","COLLAPSE_FADE_MS","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","bottomEdgeCollapsed","theme","sizeConfig","isExtended","length","content","hidesOnCollapse","hidden","fade","Value","current","restingOpacity","timing","toValue","duration","useNativeDriver","start","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","pointerEvents","accessibilityElementsHidden","importantForAccessibility","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 { useBottomEdgeInset } from "../layout/bottom-edge.js";
|
|
4
|
+
import { useBottomEdgeCollapsed, 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,7 +76,10 @@ const BLOOM_FAB_CSS = interactiveWebCss({
|
|
|
76
76
|
box-shadow: var(--bloom-fab-shadow);
|
|
77
77
|
font-family: inherit;
|
|
78
78
|
`,
|
|
79
|
-
|
|
79
|
+
// `opacity` carries two things: the disabled dim and the collapse fade. 200ms
|
|
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',
|
|
80
83
|
// A FAB lifts on hover rather than dimming: it floats over the content, so a
|
|
81
84
|
// deeper shadow is the affordance an opacity dip cannot express.
|
|
82
85
|
hover: {
|
|
@@ -123,6 +126,16 @@ const BLOOM_FAB_CSS = interactiveWebCss({
|
|
|
123
126
|
* behind it. A z-index cannot fix that pairing: the bar's host is the last
|
|
124
127
|
* sibling of the app shell and paints over every descendant, so the FAB has to be
|
|
125
128
|
* 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.
|
|
126
139
|
*/
|
|
127
140
|
function placementStyle(placement, offset, bottomEdgeInset) {
|
|
128
141
|
if (placement === 'static') return {};
|
|
@@ -201,6 +214,12 @@ const FabWebComponent = ({
|
|
|
201
214
|
}) => {
|
|
202
215
|
useInteractiveWebCss(STYLE_ID, BLOOM_FAB_CSS);
|
|
203
216
|
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');
|
|
204
223
|
const theme = useTheme();
|
|
205
224
|
const reactId = useId();
|
|
206
225
|
const resolvedId = id ?? `bloom-fab-${reactId}`;
|
|
@@ -231,6 +250,13 @@ const FabWebComponent = ({
|
|
|
231
250
|
['--bloom-fab-press-scale']: animation.pressScale,
|
|
232
251
|
...placementStyle(placement, offset, bottomEdgeInset)
|
|
233
252
|
};
|
|
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
|
+
}
|
|
234
260
|
if (isExtended) {
|
|
235
261
|
const pad = sizeConfig.diameter <= 44 ? 14 : 20;
|
|
236
262
|
base.paddingLeft = pad;
|
|
@@ -269,6 +295,8 @@ const FabWebComponent = ({
|
|
|
269
295
|
onClick: handleClick,
|
|
270
296
|
disabled: disabled,
|
|
271
297
|
"aria-disabled": disabled || undefined,
|
|
298
|
+
"aria-hidden": hidden || undefined,
|
|
299
|
+
tabIndex: hidden ? -1 : undefined,
|
|
272
300
|
"aria-label": ariaLabel,
|
|
273
301
|
title: title ?? accessibilityHint,
|
|
274
302
|
"data-testid": testID,
|
|
@@ -1 +1 @@
|
|
|
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":";;AAAA,OAAOA,KAAK,IACVC,IAAI,EACJC,WAAW,EACXC,KAAK,EACLC,OAAO,QAGF,OAAO;AAEd,SAASC,kBAAkB,QAAQ,0BAAuB;
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useId","useMemo","useBottomEdgeCollapsed","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","bottomEdgeCollapsed","hidden","theme","reactId","resolvedId","sizeConfig","isExtended","length","content","variantColors","colors","restShadow","shadow","hoverShadow","containerStyle","color","full","height","fontWeight","pressScale","opacity","pointerEvents","pad","paddingLeft","paddingRight","width","handleClick","event","preventDefault","ariaLabel","composedClassName","concat","join","resolvedStyle","resolvedLabelStyle","undefined","tabIndex","display","alignItems","justifyContent","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,6 +29,33 @@
|
|
|
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
|
+
* ## A size and a state, because they travel differently
|
|
33
|
+
*
|
|
34
|
+
* A surface that collapses — the tab bar minimizes 58 -> 44 on scroll — publishes
|
|
35
|
+
* two things, and only one of them is a measurement:
|
|
36
|
+
*
|
|
37
|
+
* - RESERVED (`useBottomEdgeInset`) never shrinks while the claimant is
|
|
38
|
+
* mounted. It is what must be kept permanently free: a list's bottom
|
|
39
|
+
* padding, a toast stack's offset. Shrinking it on collapse would jitter a
|
|
40
|
+
* list's content size on every scroll and jump a toast 14px mid-display,
|
|
41
|
+
* because the bar re-expands the instant the user scrolls back up.
|
|
42
|
+
* - COLLAPSED (`useBottomEdgeCollapsed`) is a boolean, deliberately, and this
|
|
43
|
+
* is the part that was learned the hard way. It first shipped as a live
|
|
44
|
+
* PIXEL height so a FAB could ride down with the bar — and it felt broken on
|
|
45
|
+
* a device. The bar animates on the UI thread; a React consumer learns about
|
|
46
|
+
* the change through `runOnJS` plus two render passes, so its motion STARTS
|
|
47
|
+
* one to three frames late, worst exactly while scrolling because that is
|
|
48
|
+
* when the JS thread is busiest. No spring config fixes a variable start
|
|
49
|
+
* delay.
|
|
50
|
+
*
|
|
51
|
+
* Two things moving together betray that lag; a state change does not. A reader
|
|
52
|
+
* that FADES on this boolean has no spatial relationship to violate, so the same
|
|
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.
|
|
58
|
+
*
|
|
32
59
|
* ## Why an external store
|
|
33
60
|
*
|
|
34
61
|
* The claim set is mutable state living outside React. Reading it in a memoized
|
|
@@ -42,17 +69,25 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
42
69
|
function createBottomEdgeStore() {
|
|
43
70
|
const claims = new Map();
|
|
44
71
|
const listeners = new Set();
|
|
45
|
-
let
|
|
72
|
+
let reserved = 0;
|
|
73
|
+
let collapsed = false;
|
|
46
74
|
const recompute = () => {
|
|
47
|
-
let
|
|
48
|
-
|
|
49
|
-
|
|
75
|
+
let nextReserved = 0;
|
|
76
|
+
// ANY claimant collapsing collapses the edge. With the one floating bar this
|
|
77
|
+
// is written for the two readings coincide; where they would not, "something
|
|
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;
|
|
50
85
|
}
|
|
51
|
-
// Bail before notifying: a re-registration at an unchanged
|
|
52
|
-
// render of a claimant
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
86
|
+
// Bail before notifying: a re-registration at an unchanged footprint (every
|
|
87
|
+
// render of a claimant that did not move) must not re-render every reader.
|
|
88
|
+
if (nextReserved === reserved && nextCollapsed === collapsed) return;
|
|
89
|
+
reserved = nextReserved;
|
|
90
|
+
collapsed = nextCollapsed;
|
|
56
91
|
for (const listener of listeners) listener();
|
|
57
92
|
};
|
|
58
93
|
return {
|
|
@@ -62,10 +97,15 @@ function createBottomEdgeStore() {
|
|
|
62
97
|
listeners.delete(onChange);
|
|
63
98
|
};
|
|
64
99
|
},
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
claims.
|
|
100
|
+
getReserved: () => reserved,
|
|
101
|
+
getCollapsed: () => collapsed,
|
|
102
|
+
claim(id, nextReserved, nextCollapsed) {
|
|
103
|
+
const existing = claims.get(id);
|
|
104
|
+
if (existing?.reserved === nextReserved && existing.collapsed === nextCollapsed) return;
|
|
105
|
+
claims.set(id, {
|
|
106
|
+
reserved: nextReserved,
|
|
107
|
+
collapsed: nextCollapsed
|
|
108
|
+
});
|
|
69
109
|
recompute();
|
|
70
110
|
},
|
|
71
111
|
release(id) {
|
|
@@ -97,15 +137,18 @@ BottomEdgeProvider.displayName = 'BottomEdgeProvider';
|
|
|
97
137
|
// would resubscribe `useSyncExternalStore` on every render.
|
|
98
138
|
const NO_SUBSCRIPTION = () => () => {};
|
|
99
139
|
const NO_INSET = () => 0;
|
|
140
|
+
const NO_COLLAPSE = () => false;
|
|
100
141
|
|
|
101
142
|
/**
|
|
102
|
-
* How much of the bottom edge is
|
|
143
|
+
* How much of the bottom edge is permanently RESERVED, in px.
|
|
103
144
|
*
|
|
104
|
-
*
|
|
145
|
+
* Never shrinks while its claimant is mounted, so it is the number for anything
|
|
146
|
+
* that must not move as the user scrolls — a list's bottom padding, a toast
|
|
147
|
+
* stack's offset:
|
|
105
148
|
*
|
|
106
149
|
* ```tsx
|
|
107
|
-
* const
|
|
108
|
-
* <
|
|
150
|
+
* const reserved = useBottomEdgeInset();
|
|
151
|
+
* <FlatList contentContainerStyle={{ paddingBottom: reserved + 12 }} />
|
|
109
152
|
* ```
|
|
110
153
|
*
|
|
111
154
|
* `0` outside a provider, and `0` on the first commit even inside one — a claim
|
|
@@ -115,27 +158,50 @@ const NO_INSET = () => 0;
|
|
|
115
158
|
*/
|
|
116
159
|
export function useBottomEdgeInset() {
|
|
117
160
|
const store = useContext(BottomEdgeContext);
|
|
118
|
-
return useSyncExternalStore(store?.subscribe ?? NO_SUBSCRIPTION, store?.
|
|
161
|
+
return useSyncExternalStore(store?.subscribe ?? NO_SUBSCRIPTION, store?.getReserved ?? NO_INSET, store?.getReserved ?? NO_INSET);
|
|
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);
|
|
119
184
|
}
|
|
120
185
|
|
|
121
186
|
/**
|
|
122
|
-
* Claim
|
|
187
|
+
* Claim the bottom edge for as long as the caller is mounted.
|
|
123
188
|
*
|
|
124
189
|
* The claimant owns its own placement — claiming does not move it. It declares
|
|
125
|
-
* the space it occupies so that everything reading
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
190
|
+
* the space it occupies so that everything reading the edge stays off it. Pass
|
|
191
|
+
* the FULL footprint (the surface's height plus the gap it holds off the window
|
|
192
|
+
* edge), which is the same number the surface positions itself with, and keep it
|
|
193
|
+
* at the surface's FULL size even while collapsed: `reserved` is what must stay
|
|
194
|
+
* permanently free, and the collapse is reported separately by `collapsed`.
|
|
129
195
|
*
|
|
130
196
|
* A no-op outside a provider, so a surface stays usable standalone.
|
|
131
197
|
*/
|
|
132
|
-
export function useClaimBottomEdge(
|
|
198
|
+
export function useClaimBottomEdge(reserved, collapsed = false) {
|
|
133
199
|
const store = useContext(BottomEdgeContext);
|
|
134
200
|
const id = useId();
|
|
135
201
|
useEffect(() => {
|
|
136
202
|
if (!store) return;
|
|
137
|
-
store.claim(id,
|
|
203
|
+
store.claim(id, reserved, collapsed);
|
|
138
204
|
return () => store.release(id);
|
|
139
|
-
}, [store, id,
|
|
205
|
+
}, [store, id, reserved, collapsed]);
|
|
140
206
|
}
|
|
141
207
|
//# sourceMappingURL=bottom-edge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","useEffect","useId","useState","useSyncExternalStore","jsx","_jsx","createBottomEdgeStore","claims","Map","listeners","Set","
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useEffect","useId","useState","useSyncExternalStore","jsx","_jsx","createBottomEdgeStore","claims","Map","listeners","Set","reserved","collapsed","recompute","nextReserved","nextCollapsed","claim","values","listener","subscribe","onChange","add","delete","getReserved","getCollapsed","id","existing","get","set","release","BottomEdgeContext","BottomEdgeProvider","children","store","Provider","value","displayName","NO_SUBSCRIPTION","NO_INSET","NO_COLLAPSE","useBottomEdgeInset","useBottomEdgeCollapsed","useClaimBottomEdge"],"sourceRoot":"../../../src","sources":["layout/bottom-edge.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
* parked there". A surface that floats at the bottom needs both.
|
|
8
8
|
*/
|
|
9
9
|
export { EDGE_GAP, windowEdgeGap } from "./edge.js";
|
|
10
|
-
export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from "./bottom-edge.js";
|
|
10
|
+
export { BottomEdgeProvider, useBottomEdgeInset, useBottomEdgeCollapsed, useClaimBottomEdge } from "./bottom-edge.js";
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EDGE_GAP","windowEdgeGap","BottomEdgeProvider","useBottomEdgeInset","useClaimBottomEdge"],"sourceRoot":"../../../src","sources":["layout/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,aAAa,QAAQ,WAAQ;AAChD,
|
|
1
|
+
{"version":3,"names":["EDGE_GAP","windowEdgeGap","BottomEdgeProvider","useBottomEdgeInset","useBottomEdgeCollapsed","useClaimBottomEdge"],"sourceRoot":"../../../src","sources":["layout/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,aAAa,QAAQ,WAAQ;AAChD,SACEC,kBAAkB,EAClBC,kBAAkB,EAClBC,sBAAsB,EACtBC,kBAAkB,QACb,kBAAe","ignoreList":[]}
|