@oxyhq/bloom 1.12.0 → 1.14.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/README.md +1 -1
- package/docs/avatar.mdx +46 -5
- package/docs/index.mdx +1 -1
- package/docs/layout.mdx +21 -35
- package/docs/tab-bar.mdx +35 -0
- package/lib/commonjs/avatar/Avatar.js +24 -8
- package/lib/commonjs/avatar/Avatar.js.map +1 -1
- package/lib/commonjs/avatar/AvatarRing.js +13 -12
- package/lib/commonjs/avatar/AvatarRing.js.map +1 -1
- package/lib/commonjs/avatar/index.js +19 -0
- package/lib/commonjs/avatar/index.js.map +1 -1
- package/lib/commonjs/avatar/resolve-shape.js +43 -0
- package/lib/commonjs/avatar/resolve-shape.js.map +1 -0
- package/lib/commonjs/avatar/shape-paths.js +174 -0
- package/lib/commonjs/avatar/shape-paths.js.map +1 -0
- 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 +59 -29
- package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
- package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js +5 -0
- package/lib/commonjs/tab-bar/expo-router/RouterTabBar.js.map +1 -1
- package/lib/module/avatar/Avatar.js +24 -8
- package/lib/module/avatar/Avatar.js.map +1 -1
- package/lib/module/avatar/AvatarRing.js +13 -12
- package/lib/module/avatar/AvatarRing.js.map +1 -1
- package/lib/module/avatar/index.js +1 -0
- package/lib/module/avatar/index.js.map +1 -1
- package/lib/module/avatar/resolve-shape.js +40 -0
- package/lib/module/avatar/resolve-shape.js.map +1 -0
- package/lib/module/avatar/shape-paths.js +170 -0
- package/lib/module/avatar/shape-paths.js.map +1 -0
- 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 +60 -30
- package/lib/module/tab-bar/TabBarBase.js.map +1 -1
- package/lib/module/tab-bar/expo-router/RouterTabBar.js +5 -0
- package/lib/module/tab-bar/expo-router/RouterTabBar.js.map +1 -1
- package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar/AvatarRing.d.ts +4 -3
- package/lib/typescript/commonjs/avatar/AvatarRing.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar/index.d.ts +3 -1
- package/lib/typescript/commonjs/avatar/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar/resolve-shape.d.ts +17 -0
- package/lib/typescript/commonjs/avatar/resolve-shape.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar/shape-paths.d.ts +27 -0
- package/lib/typescript/commonjs/avatar/shape-paths.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar/types.d.ts +30 -3
- package/lib/typescript/commonjs/avatar/types.d.ts.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/commonjs/tab-bar/expo-router/RouterTabBar.d.ts +5 -0
- package/lib/typescript/commonjs/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/types.d.ts +36 -5
- package/lib/typescript/commonjs/tab-bar/types.d.ts.map +1 -1
- package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/module/avatar/AvatarRing.d.ts +4 -3
- package/lib/typescript/module/avatar/AvatarRing.d.ts.map +1 -1
- package/lib/typescript/module/avatar/index.d.ts +3 -1
- package/lib/typescript/module/avatar/index.d.ts.map +1 -1
- package/lib/typescript/module/avatar/resolve-shape.d.ts +17 -0
- package/lib/typescript/module/avatar/resolve-shape.d.ts.map +1 -0
- package/lib/typescript/module/avatar/shape-paths.d.ts +27 -0
- package/lib/typescript/module/avatar/shape-paths.d.ts.map +1 -0
- package/lib/typescript/module/avatar/types.d.ts +30 -3
- package/lib/typescript/module/avatar/types.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/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts +5 -0
- package/lib/typescript/module/tab-bar/expo-router/RouterTabBar.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/types.d.ts +36 -5
- package/lib/typescript/module/tab-bar/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/avatar/Avatar.tsx +27 -10
- package/src/avatar/AvatarRing.tsx +21 -14
- package/src/avatar/index.ts +7 -0
- package/src/avatar/resolve-shape.ts +33 -0
- package/src/avatar/shape-paths.ts +150 -0
- package/src/avatar/types.ts +32 -3
- 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 +74 -37
- package/src/tab-bar/expo-router/RouterTabBar.tsx +5 -0
- package/src/tab-bar/types.ts +36 -5
- package/src/__tests__/support/collision-fixture-barrel.ts +0 -20
- package/src/__tests__/support/constructed-style-sheets.ts +0 -68
- package/src/__tests__/support/press-host.ts +0 -30
- package/src/__tests__/support/rendered-style.ts +0 -99
- package/src/__tests__/support/unread-hook-fixture.ts +0 -33
- package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +0 -7682
- package/src/theme/__tests__/fixtures/color-engine-golden.json +0 -1
|
@@ -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
|
|
@@ -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","inset","recompute","next","height","values","listener","subscribe","onChange","add","delete","getInset","claim","id","get","set","release","BottomEdgeContext","BottomEdgeProvider","children","store","Provider","value","displayName","NO_SUBSCRIPTION","NO_INSET","useBottomEdgeInset","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,
|
|
10
|
+
export { BottomEdgeProvider, useBottomEdgeInset, useClaimBottomEdge } from "./bottom-edge.js";
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EDGE_GAP","windowEdgeGap","BottomEdgeProvider","useBottomEdgeInset","
|
|
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,SAASC,kBAAkB,EAAEC,kBAAkB,EAAEC,kBAAkB,QAAQ,kBAAe","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* react-native-screens, so this file is safe in a web bundle and in a
|
|
16
16
|
* consumer's type-check.
|
|
17
17
|
*/
|
|
18
|
-
import { Children, createContext, useCallback, useContext, useEffect, useMemo
|
|
18
|
+
import { Children, createContext, useCallback, useContext, useEffect, useMemo } from 'react';
|
|
19
19
|
import { Pressable, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
20
20
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
21
21
|
import Animated, { Extrapolation, interpolate, interpolateColor, runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
|
|
@@ -42,6 +42,7 @@ function TabBarBody({
|
|
|
42
42
|
Blur,
|
|
43
43
|
children,
|
|
44
44
|
activeIndex,
|
|
45
|
+
activeProgress,
|
|
45
46
|
onIndexChange,
|
|
46
47
|
onIndexLongPress,
|
|
47
48
|
theme: themeOverrides,
|
|
@@ -121,6 +122,28 @@ function TabBarBody({
|
|
|
121
122
|
// a legitimate effect (external-system sync), the same shape `Tabs` uses for
|
|
122
123
|
// its underline. The focus-driven path is handled per-button instead — see
|
|
123
124
|
// `TabBarButtonBody`.
|
|
125
|
+
// DRIVEN path: a pager owns the highlight's position and writes it every
|
|
126
|
+
// frame, so the position is COPIED rather than sprung — a spring chasing a
|
|
127
|
+
// per-frame value lags behind the finger, which is the whole thing this path
|
|
128
|
+
// exists to avoid.
|
|
129
|
+
//
|
|
130
|
+
// `useAnimatedReaction` cannot be called conditionally, so an unsupplied
|
|
131
|
+
// `activeProgress` is stood in for by a shared value nothing ever writes and
|
|
132
|
+
// the reaction returns early. `driven` changing flips the identity of `source`
|
|
133
|
+
// too, and both are in the deps array, so the reaction re-registers either
|
|
134
|
+
// way.
|
|
135
|
+
//
|
|
136
|
+
// Scrubbing still wins: a finger on the BAR is a direct manipulation of the
|
|
137
|
+
// bar and must not be fought by the pager's settle animation.
|
|
138
|
+
// (Deps: see the CRITICAL note below.)
|
|
139
|
+
const idleProgress = useSharedValue(0);
|
|
140
|
+
const driven = activeProgress !== undefined;
|
|
141
|
+
const source = activeProgress ?? idleProgress;
|
|
142
|
+
useAnimatedReaction(() => source.value, value => {
|
|
143
|
+
if (!driven) return;
|
|
144
|
+
if (isDragging.value) return;
|
|
145
|
+
slideIndex.value = value;
|
|
146
|
+
}, [source, driven, isDragging, slideIndex]);
|
|
124
147
|
useEffect(() => {
|
|
125
148
|
if (activeIndex === undefined) return;
|
|
126
149
|
// While scrubbing the finger owns the highlight; never fight it.
|
|
@@ -141,9 +164,16 @@ function TabBarBody({
|
|
|
141
164
|
// stale index would animate out of a position the user never saw, and would
|
|
142
165
|
// light up every tab in between on the way. Interrupted mid-fade it is
|
|
143
166
|
// still on screen, so from there it slides as it always does.
|
|
144
|
-
|
|
167
|
+
//
|
|
168
|
+
// On the DRIVEN path this effect keeps owning visibility and gives up the
|
|
169
|
+
// position: the driver is already writing `slideIndex` every frame, and a
|
|
170
|
+
// spring started here would drag the capsule across the bar between two of
|
|
171
|
+
// its writes.
|
|
172
|
+
if (!driven) {
|
|
173
|
+
slideIndex.value = highlightOpacity.value === 0 ? activeIndex : withSpring(activeIndex, SLIDE_SPRING);
|
|
174
|
+
}
|
|
145
175
|
highlightOpacity.value = withTiming(1, HIGHLIGHT_FADE);
|
|
146
|
-
}, [activeIndex, hasSelection, slideIndex, highlightOpacity, isDragging]);
|
|
176
|
+
}, [activeIndex, hasSelection, driven, slideIndex, highlightOpacity, isDragging]);
|
|
147
177
|
|
|
148
178
|
// Scrubbing: the highlight tracks the finger 1:1 while dragging (no spring —
|
|
149
179
|
// it must feel attached), haptic ticks fire on boundary crossings, and
|
|
@@ -209,7 +239,14 @@ function TabBarBody({
|
|
|
209
239
|
const index = Math.round(indexAtX(event.x, progress.value));
|
|
210
240
|
// Same rule as the controlled path above: appear at the tapped tab when
|
|
211
241
|
// hidden, slide to it when already on screen.
|
|
212
|
-
|
|
242
|
+
//
|
|
243
|
+
// A tap is a discrete writer, so on the DRIVEN path it stands down like
|
|
244
|
+
// the others and the driver carries the highlight to the tapped tab.
|
|
245
|
+
// The scrub is the one gesture that does not: a finger dragging the
|
|
246
|
+
// pill is manipulating the bar itself, not asking for a page.
|
|
247
|
+
if (!driven) {
|
|
248
|
+
slideIndex.value = highlightOpacity.value === 0 ? index : withSpring(index, SLIDE_SPRING);
|
|
249
|
+
}
|
|
213
250
|
highlightOpacity.value = withTiming(1, HIGHLIGHT_FADE);
|
|
214
251
|
setMinimized(minimized, 0);
|
|
215
252
|
runOnJS(selectIndex)(index);
|
|
@@ -229,7 +266,7 @@ function TabBarBody({
|
|
|
229
266
|
runOnJS(longPressIndex)(Math.round(indexAtX(event.x, progress.value)));
|
|
230
267
|
});
|
|
231
268
|
return Gesture.Race(pan, tap, longPress);
|
|
232
|
-
}, [barOuterWidth, tabCount, selectIndex, hasLongPress, longPressIndex, tick, isDragging, lastTicked, slideIndex, highlightOpacity, minimized, progress]);
|
|
269
|
+
}, [barOuterWidth, tabCount, selectIndex, hasLongPress, longPressIndex, tick, driven, isDragging, lastTicked, slideIndex, highlightOpacity, minimized, progress]);
|
|
233
270
|
|
|
234
271
|
// CRITICAL — every shared value and every scalar a mapper READS must appear
|
|
235
272
|
// in its dependency array. On web WITHOUT the react-native-worklets babel
|
|
@@ -304,29 +341,13 @@ function TabBarBody({
|
|
|
304
341
|
// its own layout can never drift from where the bar actually sits.
|
|
305
342
|
const bottomOffset = windowEdgeGap(insets.bottom);
|
|
306
343
|
|
|
307
|
-
// Whether the bar has settled into its minimized size, as REACT state.
|
|
308
|
-
//
|
|
309
|
-
// Reacting on `target` rather than on `progress` is what keeps this cheap:
|
|
310
|
-
// `target` is the binary 0/1 the minimize spring is heading for, so this fires
|
|
311
|
-
// twice per scroll gesture instead of once per frame. Crossing `progress > 0.5`
|
|
312
|
-
// would work too and would cost the same, but it would report the change
|
|
313
|
-
// halfway through the animation rather than when it was decided.
|
|
314
|
-
const [isMinimized, setIsMinimized] = useState(false);
|
|
315
|
-
useAnimatedReaction(() => minimized.target.value, (target, previous) => {
|
|
316
|
-
if (target !== previous) runOnJS(setIsMinimized)(target === 1);
|
|
317
|
-
}, [minimized]);
|
|
318
|
-
|
|
319
344
|
// Publish what the bar occupies so anything else at this edge stacks above it
|
|
320
|
-
// rather than behind it. Same
|
|
321
|
-
//
|
|
322
|
-
// where the bar actually sits.
|
|
323
|
-
//
|
|
324
|
-
//
|
|
325
|
-
|
|
326
|
-
// space (a list's bottom padding, a toast) must keep room for the full pill or
|
|
327
|
-
// it would jitter on every scroll. The collapse travels as its own STATE — see
|
|
328
|
-
// `layout/bottom-edge` for why it is a boolean and not the live height.
|
|
329
|
-
useClaimBottomEdge(bottomOffset + EXPANDED_HEIGHT, isMinimized);
|
|
345
|
+
// rather than behind it. Same number `useTabBarFootprint` reports, derived from
|
|
346
|
+
// the same two values, so a consumer reading either can never disagree with
|
|
347
|
+
// where the bar actually sits. The EXPANDED height on purpose: the bar
|
|
348
|
+
// minimizes on scroll and re-expands, so claiming the minimized height would
|
|
349
|
+
// drop a FAB onto the pill the moment the user scrolled back up.
|
|
350
|
+
useClaimBottomEdge(bottomOffset + EXPANDED_HEIGHT);
|
|
330
351
|
|
|
331
352
|
// How centring and the animated inset compose: centring is STATIC and belongs
|
|
332
353
|
// to the wrap, the inset stays ANIMATED on the pill inside it. The wrap is
|
|
@@ -349,8 +370,9 @@ function TabBarBody({
|
|
|
349
370
|
isDragging,
|
|
350
371
|
theme,
|
|
351
372
|
activeIndex,
|
|
373
|
+
driven,
|
|
352
374
|
selectIndex
|
|
353
|
-
}), [slideIndex, highlightOpacity, isDragging, theme, activeIndex, selectIndex]);
|
|
375
|
+
}), [slideIndex, highlightOpacity, isDragging, theme, activeIndex, driven, selectIndex]);
|
|
354
376
|
return /*#__PURE__*/_jsxs(View, {
|
|
355
377
|
...viewProps,
|
|
356
378
|
pointerEvents: "box-none",
|
|
@@ -424,6 +446,10 @@ function TabBarButtonBody({
|
|
|
424
446
|
useEffect(() => {
|
|
425
447
|
if (isFocused === undefined || !isFocused || !bar) return;
|
|
426
448
|
if (bar.isDragging.value) return;
|
|
449
|
+
// A driver owns the position — see `TabBarProps.activeProgress`. It is
|
|
450
|
+
// already tracking this same focus change; springing from here as well would
|
|
451
|
+
// be a second writer on one shared value.
|
|
452
|
+
if (bar.driven) return;
|
|
427
453
|
bar.slideIndex.value = withSpring(index, SLIDE_SPRING);
|
|
428
454
|
}, [isFocused, index, bar]);
|
|
429
455
|
|
|
@@ -485,8 +511,12 @@ function TabBarButtonBody({
|
|
|
485
511
|
// for assistive-technology activation (VoiceOver) and keyboard focus.
|
|
486
512
|
if (bar) {
|
|
487
513
|
// Appear at the tab when hidden, slide to it when visible — the same
|
|
488
|
-
// rule the tap gesture and the controlled path follow.
|
|
489
|
-
|
|
514
|
+
// rule the tap gesture and the controlled path follow. Skipped on the
|
|
515
|
+
// driven path, where the position belongs to the driver and this
|
|
516
|
+
// press will reach it as an ordinary selection.
|
|
517
|
+
if (!bar.driven) {
|
|
518
|
+
bar.slideIndex.value = bar.highlightOpacity.value === 0 ? index : withSpring(index, SLIDE_SPRING);
|
|
519
|
+
}
|
|
490
520
|
bar.highlightOpacity.value = withTiming(1, HIGHLIGHT_FADE);
|
|
491
521
|
}
|
|
492
522
|
setMinimized(minimized, 0);
|
|
@@ -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","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","activeProgress","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","idleProgress","driven","source","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":[]}
|
|
@@ -19,6 +19,11 @@ import { TabBar, TabBarButton } from '../index';
|
|
|
19
19
|
* by each trigger's own focus (see `RouterTabBarButton`), which is what keeps it
|
|
20
20
|
* correct through deep links, back gestures and any other programmatic
|
|
21
21
|
* navigation. Setting both would put two writers on one shared value.
|
|
22
|
+
*
|
|
23
|
+
* `activeProgress` is NOT omitted, and that is not an oversight. It answers a
|
|
24
|
+
* different question — where the highlight is, not whether there is one — so a
|
|
25
|
+
* router-focused bar whose screens are PAGED can pass it and keep the focus
|
|
26
|
+
* path for selection. See `TabBarProps.activeProgress`.
|
|
22
27
|
*/
|
|
23
28
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TabBar","TabBarButton","jsx","_jsx","RouterTabBar","asChild","_asChild","props","displayName","RouterTabBarButton","item","index","href","_href"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/RouterTabBar.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,MAAM,EAAEC,YAAY,QAAQ,UAAU;;AAG/C;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["TabBar","TabBarButton","jsx","_jsx","RouterTabBar","asChild","_asChild","props","displayName","RouterTabBarButton","item","index","href","_href"],"sourceRoot":"../../../../src","sources":["tab-bar/expo-router/RouterTabBar.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,MAAM,EAAEC,YAAY,QAAQ,UAAU;;AAG/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,SAAAC,GAAA,IAAAC,IAAA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAC;EAC3B;EACA;EACA;EACAC,OAAO,EAAEC,QAAQ;EACjB,GAAGC;AACc,CAAC,EAAE;EACpB,oBAAOJ,IAAA,CAACH,MAAM;IAAA,GAAKO;EAAK,CAAG,CAAC;AAC9B;AAEAH,YAAY,CAACI,WAAW,GAAG,cAAc;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,IAAI;EACJC,KAAK;EACL;EACA;EACA;EACAC,IAAI,EAAEC,KAAK;EACX,GAAGN;AACoB,CAAC,EAAE;EAC1B,oBAAOJ,IAAA,CAACF,YAAY;IAAA,GAAKM,KAAK;IAAEG,IAAI,EAAEA,IAAK;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC9D;AAEAF,kBAAkB,CAACD,WAAW,GAAG,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAa/D,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAa/D,OAAO,KAAK,EAAE,WAAW,EAAqC,MAAM,SAAS,CAAC;AAuZ9E,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ResolvedAvatarShape } from './resolve-shape';
|
|
3
|
+
import type { AvatarRingGradientDirection } from './types';
|
|
3
4
|
/**
|
|
4
5
|
* Size of the box the ring occupies. With `gap === 0` the ring overlays the
|
|
5
6
|
* avatar edge and the box equals the avatar size (footprint unchanged). With
|
|
@@ -11,8 +12,8 @@ export declare function getRingOuterSize(size: number, width: number, gap: numbe
|
|
|
11
12
|
interface AvatarRingProps {
|
|
12
13
|
/** Avatar diameter in px (the inner content size, before any gap). */
|
|
13
14
|
size: number;
|
|
14
|
-
/**
|
|
15
|
-
shape:
|
|
15
|
+
/** The avatar's resolved outline, or `null` for a circle. */
|
|
16
|
+
shape: ResolvedAvatarShape;
|
|
16
17
|
/** Solid ring: one color. Gradient ring: 2+ colors. */
|
|
17
18
|
colors: string | string[];
|
|
18
19
|
/** Ring stroke width in px. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarRing.d.ts","sourceRoot":"","sources":["../../../../src/avatar/AvatarRing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AvatarRing.d.ts","sourceRoot":"","sources":["../../../../src/avatar/AvatarRing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAK7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAO3D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,UAAU,eAAe;IACvB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,KAAK,EAAE,mBAAmB,CAAC;IAC3B,uDAAuD;IACvD,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,iBAAiB,EAAE,2BAA2B,CAAC;CAChD;AAkID,eAAO,MAAM,UAAU,6CAA4B,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { Avatar } from './Avatar';
|
|
2
2
|
export { AvatarPlaceholderProvider } from './context';
|
|
3
3
|
export type { AvatarPlaceholderConfig } from './context';
|
|
4
|
-
export type { AvatarProps, AvatarShape, AvatarRingConfig, AvatarRingGradientDirection, } from './types';
|
|
4
|
+
export type { AvatarProps, AvatarShape, AvatarShapePath, AvatarRingConfig, AvatarRingGradientDirection, } from './types';
|
|
5
5
|
export { defaultAvatarSource } from './default-avatar';
|
|
6
|
+
export { AVATAR_SHAPE_PATHS, AVATAR_SHAPE_LABELS, NAMED_SHAPE_VIEW_BOX, } from './shape-paths';
|
|
7
|
+
export type { AvatarShapeName } from './shape-paths';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|