@oxyhq/bloom 1.9.2 → 1.10.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 +79 -0
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js +14 -4
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/commonjs/fab/Fab.js +12 -3
- package/lib/commonjs/fab/Fab.js.map +1 -1
- package/lib/commonjs/fab/Fab.web.js +12 -4
- package/lib/commonjs/fab/Fab.web.js.map +1 -1
- package/lib/commonjs/index.js +137 -101
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +137 -101
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/layout/bottom-edge.js +148 -0
- package/lib/commonjs/layout/bottom-edge.js.map +1 -0
- package/lib/commonjs/layout/edge.js +67 -0
- package/lib/commonjs/layout/edge.js.map +1 -0
- package/lib/commonjs/layout/index.js +38 -0
- package/lib/commonjs/layout/index.js.map +1 -0
- package/lib/commonjs/provider/BloomProvider.js +5 -2
- package/lib/commonjs/provider/BloomProvider.js.map +1 -1
- package/lib/commonjs/tab-bar/TabBarBase.js +11 -1
- package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
- package/lib/commonjs/tab-bar/shared.js +0 -22
- package/lib/commonjs/tab-bar/shared.js.map +1 -1
- package/lib/commonjs/tab-bar/use-footprint.js +17 -8
- package/lib/commonjs/tab-bar/use-footprint.js.map +1 -1
- package/lib/commonjs/toast/Positioner.js +6 -1
- package/lib/commonjs/toast/Positioner.js.map +1 -1
- package/lib/commonjs/toast/container-geometry.js +19 -13
- package/lib/commonjs/toast/container-geometry.js.map +1 -1
- package/lib/module/bottom-sheet/BottomSheetBase.js +14 -4
- package/lib/module/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/module/fab/Fab.js +12 -3
- package/lib/module/fab/Fab.js.map +1 -1
- package/lib/module/fab/Fab.web.js +12 -4
- package/lib/module/fab/Fab.web.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/layout/bottom-edge.js +141 -0
- package/lib/module/layout/bottom-edge.js.map +1 -0
- package/lib/module/layout/edge.js +62 -0
- package/lib/module/layout/edge.js.map +1 -0
- package/lib/module/layout/index.js +11 -0
- package/lib/module/layout/index.js.map +1 -0
- package/lib/module/provider/BloomProvider.js +5 -2
- package/lib/module/provider/BloomProvider.js.map +1 -1
- package/lib/module/tab-bar/TabBarBase.js +12 -2
- package/lib/module/tab-bar/TabBarBase.js.map +1 -1
- package/lib/module/tab-bar/shared.js +0 -21
- package/lib/module/tab-bar/shared.js.map +1 -1
- package/lib/module/tab-bar/use-footprint.js +18 -9
- package/lib/module/tab-bar/use-footprint.js.map +1 -1
- package/lib/module/toast/Positioner.js +6 -1
- package/lib/module/toast/Positioner.js.map +1 -1
- package/lib/module/toast/container-geometry.js +20 -13
- package/lib/module/toast/container-geometry.js.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/BottomSheetBase.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/index.d.ts +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +1 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/layout/bottom-edge.d.ts +77 -0
- package/lib/typescript/commonjs/layout/bottom-edge.d.ts.map +1 -0
- package/lib/typescript/commonjs/layout/edge.d.ts +56 -0
- package/lib/typescript/commonjs/layout/edge.d.ts.map +1 -0
- package/lib/typescript/commonjs/layout/index.d.ts +9 -0
- package/lib/typescript/commonjs/layout/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/provider/BloomProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/shared.d.ts +0 -9
- package/lib/typescript/commonjs/tab-bar/shared.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/use-footprint.d.ts +11 -7
- package/lib/typescript/commonjs/tab-bar/use-footprint.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/Positioner.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/container-geometry.d.ts +14 -5
- package/lib/typescript/commonjs/toast/container-geometry.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/BottomSheetBase.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/index.d.ts +1 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +1 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/layout/bottom-edge.d.ts +77 -0
- package/lib/typescript/module/layout/bottom-edge.d.ts.map +1 -0
- package/lib/typescript/module/layout/edge.d.ts +56 -0
- package/lib/typescript/module/layout/edge.d.ts.map +1 -0
- package/lib/typescript/module/layout/index.d.ts +9 -0
- package/lib/typescript/module/layout/index.d.ts.map +1 -0
- package/lib/typescript/module/provider/BloomProvider.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/shared.d.ts +0 -9
- package/lib/typescript/module/tab-bar/shared.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/use-footprint.d.ts +11 -7
- package/lib/typescript/module/tab-bar/use-footprint.d.ts.map +1 -1
- package/lib/typescript/module/toast/Positioner.d.ts.map +1 -1
- package/lib/typescript/module/toast/container-geometry.d.ts +14 -5
- package/lib/typescript/module/toast/container-geometry.d.ts.map +1 -1
- package/package.json +15 -1
- package/src/__tests__/support/collision-fixture-barrel.ts +20 -0
- package/src/__tests__/support/constructed-style-sheets.ts +68 -0
- package/src/__tests__/support/press-host.ts +30 -0
- package/src/__tests__/support/rendered-style.ts +99 -0
- package/src/__tests__/support/unread-hook-fixture.ts +33 -0
- package/src/bottom-sheet/BottomSheetBase.tsx +14 -4
- package/src/fab/Fab.tsx +16 -3
- package/src/fab/Fab.web.tsx +16 -4
- package/src/index.ts +7 -0
- package/src/index.web.ts +7 -0
- package/src/layout/bottom-edge.tsx +162 -0
- package/src/layout/edge.ts +59 -0
- package/src/layout/index.ts +8 -0
- package/src/provider/BloomProvider.tsx +11 -1
- package/src/tab-bar/TabBarBase.tsx +11 -2
- package/src/tab-bar/shared.ts +0 -20
- package/src/tab-bar/use-footprint.ts +18 -9
- package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +7682 -0
- package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
- package/src/toast/Positioner.tsx +5 -0
- package/src/toast/container-geometry.ts +20 -8
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BottomEdgeProvider = BottomEdgeProvider;
|
|
7
|
+
exports.useBottomEdgeInset = useBottomEdgeInset;
|
|
8
|
+
exports.useClaimBottomEdge = useClaimBottomEdge;
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
/**
|
|
12
|
+
* The bottom edge's OCCUPANCY — how much of it is already claimed by a floating
|
|
13
|
+
* surface, so the next surface can stack above it instead of underneath it.
|
|
14
|
+
*
|
|
15
|
+
* ## The problem
|
|
16
|
+
*
|
|
17
|
+
* `windowEdgeGap` tells a surface where the window edge is. It cannot tell it
|
|
18
|
+
* that a tab bar is already parked there. Nothing could, so nothing did: Bloom's
|
|
19
|
+
* `Fab` anchored itself 16px off the edge and landed squarely behind the
|
|
20
|
+
* floating tab bar, and every app that hit it patched around Bloom instead —
|
|
21
|
+
* Mention grew a `BottomBarAwareFab` that read `useTabBarFootprint()` and lifted
|
|
22
|
+
* the FAB by hand, on web only, leaving native broken across seven screens.
|
|
23
|
+
*
|
|
24
|
+
* A z-index cannot rescue that placement either. The tab bar host is the last
|
|
25
|
+
* sibling of the app shell, so it paints above every descendant regardless of
|
|
26
|
+
* what they claim; the FAB has to be somewhere ELSE, not merely on top.
|
|
27
|
+
*
|
|
28
|
+
* ## The model
|
|
29
|
+
*
|
|
30
|
+
* A surface that parks at the bottom edge CLAIMS its footprint. A surface that
|
|
31
|
+
* wants to avoid it READS the total and offsets itself. Neither one imports the
|
|
32
|
+
* other, so a consumer composes them in any combination — a tab bar with no FAB,
|
|
33
|
+
* a FAB with no tab bar, both, or a third surface written later — and the
|
|
34
|
+
* geometry still resolves.
|
|
35
|
+
*
|
|
36
|
+
* Claims combine with MAX, not sum. Every claim is measured from the same window
|
|
37
|
+
* edge, so two surfaces at that edge overlap rather than stack; the tallest is
|
|
38
|
+
* what a new surface has to clear. Summing would strand it at twice the height.
|
|
39
|
+
*
|
|
40
|
+
* ## Why an external store
|
|
41
|
+
*
|
|
42
|
+
* The claim set is mutable state living outside React. Reading it in a memoized
|
|
43
|
+
* position is exactly the stale-read the React Compiler produces, so it is read
|
|
44
|
+
* through `useSyncExternalStore` and never touched directly. The store is
|
|
45
|
+
* created per provider (not at module scope) so tests, and any app mounting two
|
|
46
|
+
* roots, stay isolated from each other.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
function createBottomEdgeStore() {
|
|
50
|
+
const claims = new Map();
|
|
51
|
+
const listeners = new Set();
|
|
52
|
+
let inset = 0;
|
|
53
|
+
const recompute = () => {
|
|
54
|
+
let next = 0;
|
|
55
|
+
for (const height of claims.values()) {
|
|
56
|
+
if (height > next) next = height;
|
|
57
|
+
}
|
|
58
|
+
// Bail before notifying: a re-registration at an unchanged height (every
|
|
59
|
+
// render of a claimant whose footprint did not move) must not re-render
|
|
60
|
+
// every reader.
|
|
61
|
+
if (next === inset) return;
|
|
62
|
+
inset = next;
|
|
63
|
+
for (const listener of listeners) listener();
|
|
64
|
+
};
|
|
65
|
+
return {
|
|
66
|
+
subscribe(onChange) {
|
|
67
|
+
listeners.add(onChange);
|
|
68
|
+
return () => {
|
|
69
|
+
listeners.delete(onChange);
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
getInset: () => inset,
|
|
73
|
+
claim(id, height) {
|
|
74
|
+
if (claims.get(id) === height) return;
|
|
75
|
+
claims.set(id, height);
|
|
76
|
+
recompute();
|
|
77
|
+
},
|
|
78
|
+
release(id) {
|
|
79
|
+
if (!claims.delete(id)) return;
|
|
80
|
+
recompute();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
const BottomEdgeContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Wrap the app once — `BloomProvider` already does. Rendering a second one
|
|
88
|
+
* scopes a nested subtree to its own claims, which is a real (if rare) thing to
|
|
89
|
+
* want: a bottom-edge surface inside a full-screen modal should not be offset by
|
|
90
|
+
* the tab bar the modal is covering.
|
|
91
|
+
*/
|
|
92
|
+
function BottomEdgeProvider({
|
|
93
|
+
children
|
|
94
|
+
}) {
|
|
95
|
+
const [store] = (0, _react.useState)(createBottomEdgeStore);
|
|
96
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(BottomEdgeContext.Provider, {
|
|
97
|
+
value: store,
|
|
98
|
+
children: children
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
BottomEdgeProvider.displayName = 'BottomEdgeProvider';
|
|
102
|
+
|
|
103
|
+
// Stable module-scope identities for the no-provider path. Fresh closures here
|
|
104
|
+
// would resubscribe `useSyncExternalStore` on every render.
|
|
105
|
+
const NO_SUBSCRIPTION = () => () => {};
|
|
106
|
+
const NO_INSET = () => 0;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* How much of the bottom edge is already occupied, in px.
|
|
110
|
+
*
|
|
111
|
+
* Add it to whatever offset the surface would otherwise use:
|
|
112
|
+
*
|
|
113
|
+
* ```tsx
|
|
114
|
+
* const occupied = useBottomEdgeInset();
|
|
115
|
+
* <View style={{ position: 'absolute', bottom: windowEdgeGap(insets.bottom) + occupied }} />
|
|
116
|
+
* ```
|
|
117
|
+
*
|
|
118
|
+
* `0` outside a provider, and `0` on the first commit even inside one — a claim
|
|
119
|
+
* registers in an effect, so a reader mounted in the same commit as its claimant
|
|
120
|
+
* settles one frame later. That is a layout offset rather than a measurement, so
|
|
121
|
+
* the settle is invisible in practice; nothing here waits on a real layout pass.
|
|
122
|
+
*/
|
|
123
|
+
function useBottomEdgeInset() {
|
|
124
|
+
const store = (0, _react.useContext)(BottomEdgeContext);
|
|
125
|
+
return (0, _react.useSyncExternalStore)(store?.subscribe ?? NO_SUBSCRIPTION, store?.getInset ?? NO_INSET, store?.getInset ?? NO_INSET);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Claim `height` px of the bottom edge for as long as the caller is mounted.
|
|
130
|
+
*
|
|
131
|
+
* The claimant owns its own placement — claiming does not move it. It declares
|
|
132
|
+
* the space it occupies so that everything reading `useBottomEdgeInset()` stays
|
|
133
|
+
* off it. Pass the FULL footprint (the surface's height plus the gap it holds
|
|
134
|
+
* off the window edge), which is the same number the surface positions itself
|
|
135
|
+
* with.
|
|
136
|
+
*
|
|
137
|
+
* A no-op outside a provider, so a surface stays usable standalone.
|
|
138
|
+
*/
|
|
139
|
+
function useClaimBottomEdge(height) {
|
|
140
|
+
const store = (0, _react.useContext)(BottomEdgeContext);
|
|
141
|
+
const id = (0, _react.useId)();
|
|
142
|
+
(0, _react.useEffect)(() => {
|
|
143
|
+
if (!store) return;
|
|
144
|
+
store.claim(id, height);
|
|
145
|
+
return () => store.release(id);
|
|
146
|
+
}, [store, id, height]);
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=bottom-edge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_jsxRuntime","createBottomEdgeStore","claims","Map","listeners","Set","inset","recompute","next","height","values","listener","subscribe","onChange","add","delete","getInset","claim","id","get","set","release","BottomEdgeContext","createContext","BottomEdgeProvider","children","store","useState","jsx","Provider","value","displayName","NO_SUBSCRIPTION","NO_INSET","useBottomEdgeInset","useContext","useSyncExternalStore","useClaimBottomEdge","useId","useEffect"],"sourceRoot":"../../../src","sources":["layout/bottom-edge.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EDGE_GAP = void 0;
|
|
7
|
+
exports.windowEdgeGap = windowEdgeGap;
|
|
8
|
+
/**
|
|
9
|
+
* How far a floating surface sits from a window edge.
|
|
10
|
+
*
|
|
11
|
+
* ## The rule this file encodes
|
|
12
|
+
*
|
|
13
|
+
* A floating surface CLEARS THE OS'S RESERVED BAND IN FULL. The safe-area inset
|
|
14
|
+
* is the space the platform has reserved for its own affordance — the iOS home
|
|
15
|
+
* indicator, the Android gesture handle — and a surface that sits inside it is
|
|
16
|
+
* sitting on top of a system control.
|
|
17
|
+
*
|
|
18
|
+
* Bloom used to answer this question three times, differently:
|
|
19
|
+
*
|
|
20
|
+
* - a detached `BottomSheet` `insets.bottom + 16`
|
|
21
|
+
* - the toast stack `bottom > 0 ? bottom + 8 : 16`
|
|
22
|
+
* - the floating tab bar `max(bottom - 16, 12)`
|
|
23
|
+
*
|
|
24
|
+
* The tab bar was the only one that SUBTRACTED, and subtracting is what put it
|
|
25
|
+
* on the Android gesture handle: a gesture-navigation device reserves ~24dp, the
|
|
26
|
+
* bar absorbed 16 of it, hit its own 12dp floor, and landed inside the band with
|
|
27
|
+
* the handle drawn through it. The other two were never reachable by that bug
|
|
28
|
+
* because they add.
|
|
29
|
+
*
|
|
30
|
+
* One function now answers it for all three, and the additive `gap` reproduces
|
|
31
|
+
* the sheet and the toast exactly — only the tab bar moves.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Breathing room from a window edge where the platform reserves nothing at all
|
|
36
|
+
* (web, a browser with no visual viewport inset, an Android device with the
|
|
37
|
+
* gesture bar hidden).
|
|
38
|
+
*
|
|
39
|
+
* It is also the FLOOR for every surface: a small-but-nonzero inset must never
|
|
40
|
+
* pull a surface closer to the edge than a device reporting no inset would.
|
|
41
|
+
*/
|
|
42
|
+
const EDGE_GAP = exports.EDGE_GAP = 16;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The distance a floating surface holds off a window edge, given that edge's
|
|
46
|
+
* safe-area inset.
|
|
47
|
+
*
|
|
48
|
+
* `gap` is the surface's own breathing room ON TOP of the reserved band, not an
|
|
49
|
+
* allowance to spend inside it — a bigger `gap` floats the surface further from
|
|
50
|
+
* the affordance, never closer. Pass `0` for a surface that should hug the safe
|
|
51
|
+
* area (the tab bar), a positive number for one that should stand clear of it (a
|
|
52
|
+
* detached sheet, a toast stack).
|
|
53
|
+
*
|
|
54
|
+
* ```ts
|
|
55
|
+
* windowEdgeGap(insets.bottom) // 34pt iOS · 24dp Android · 16 web
|
|
56
|
+
* windowEdgeGap(insets.bottom, 16) // 50pt iOS · 40dp Android · 16 web
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* Anything laying out AROUND such a surface wants its total footprint (this gap
|
|
60
|
+
* plus the surface's own height) and must get it from the surface — never by
|
|
61
|
+
* adding `insets.bottom` to a hardcoded height, which double-counts the inset
|
|
62
|
+
* because the inset is already folded in here.
|
|
63
|
+
*/
|
|
64
|
+
function windowEdgeGap(inset, gap = 0) {
|
|
65
|
+
return Math.max(inset + gap, EDGE_GAP);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=edge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EDGE_GAP","exports","windowEdgeGap","inset","gap","Math","max"],"sourceRoot":"../../../src","sources":["layout/edge.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,EAAE;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,aAAaA,CAACC,KAAa,EAAEC,GAAG,GAAG,CAAC,EAAU;EAC5D,OAAOC,IAAI,CAACC,GAAG,CAACH,KAAK,GAAGC,GAAG,EAAEJ,QAAQ,CAAC;AACxC","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "BottomEdgeProvider", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _bottomEdge.BottomEdgeProvider;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "EDGE_GAP", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _edge.EDGE_GAP;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "useBottomEdgeInset", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _bottomEdge.useBottomEdgeInset;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "useClaimBottomEdge", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _bottomEdge.useClaimBottomEdge;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "windowEdgeGap", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _edge.windowEdgeGap;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
var _edge = require("./edge.js");
|
|
37
|
+
var _bottomEdge = require("./bottom-edge.js");
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_edge","require","_bottomEdge"],"sourceRoot":"../../../src","sources":["layout/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BloomProvider = BloomProvider;
|
|
7
7
|
var _blurTarget = require("../glass/blur-target.js");
|
|
8
|
+
var _bottomEdge = require("../layout/bottom-edge.js");
|
|
8
9
|
var _index = require("../image-resolver/index.js");
|
|
9
10
|
var _useHaptics = require("../hooks/use-haptics.js");
|
|
10
11
|
var _context = require("../tab-bar/context.js");
|
|
@@ -65,8 +66,10 @@ function BloomProvider({
|
|
|
65
66
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useHaptics.BloomHapticsProvider, {
|
|
66
67
|
enabled: haptics,
|
|
67
68
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blurTarget.GlassBlurTargetProvider, {
|
|
68
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
69
|
-
children:
|
|
69
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomEdge.BottomEdgeProvider, {
|
|
70
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.TabBarMinimizeProvider, {
|
|
71
|
+
children: children
|
|
72
|
+
})
|
|
70
73
|
})
|
|
71
74
|
})
|
|
72
75
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blurTarget","require","_index","_useHaptics","_context","_theme","_context2","_index2","_jsxRuntime","BloomProvider","children","imageResolver","haptics","themeProps","jsx","ImageResolverProvider","value","BloomThemeProvider","ScrollRestorationProvider","adapter","expoRouterScrollAdapter","BloomHapticsProvider","enabled","GlassBlurTargetProvider","TabBarMinimizeProvider","displayName"],"sourceRoot":"../../../src","sources":["provider/BloomProvider.tsx"],"mappings":";;;;;;AAmCA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,
|
|
1
|
+
{"version":3,"names":["_blurTarget","require","_bottomEdge","_index","_useHaptics","_context","_theme","_context2","_index2","_jsxRuntime","BloomProvider","children","imageResolver","haptics","themeProps","jsx","ImageResolverProvider","value","BloomThemeProvider","ScrollRestorationProvider","adapter","expoRouterScrollAdapter","BloomHapticsProvider","enabled","GlassBlurTargetProvider","BottomEdgeProvider","TabBarMinimizeProvider","displayName"],"sourceRoot":"../../../src","sources":["provider/BloomProvider.tsx"],"mappings":";;;;;;AAmCA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAAgE,IAAAQ,WAAA,GAAAR,OAAA;AA1ChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaO,SAASS,aAAaA,CAAC;EAC5BC,QAAQ;EACRC,aAAa;EACbC,OAAO,GAAG,IAAI;EACd,GAAGC;AACe,CAAC,EAAE;EACrB;IAAA;IACE;IACA;IACA,IAAAL,WAAA,CAAAM,GAAA,EAACZ,MAAA,CAAAa,qBAAqB;MAACC,KAAK,EAAEL,aAAa,IAAI,IAAK;MAAAD,QAAA,eAClD,IAAAF,WAAA,CAAAM,GAAA,EAACT,MAAA,CAAAY,kBAAkB;QAAA,GAAKJ,UAAU;QAAAH,QAAA,eAChC,IAAAF,WAAA,CAAAM,GAAA,EAACR,SAAA,CAAAY,yBAAyB;UAACC,OAAO,EAAEC,+BAAwB;UAAAV,QAAA,eAC1D,IAAAF,WAAA,CAAAM,GAAA,EAACX,WAAA,CAAAkB,oBAAoB;YAACC,OAAO,EAAEV,OAAQ;YAAAF,QAAA,eAYrC,IAAAF,WAAA,CAAAM,GAAA,EAACf,WAAA,CAAAwB,uBAAuB;cAAAb,QAAA,eAQtB,IAAAF,WAAA,CAAAM,GAAA,EAACb,WAAA,CAAAuB,kBAAkB;gBAAAd,QAAA,eACjB,IAAAF,WAAA,CAAAM,GAAA,EAACV,QAAA,CAAAqB,sBAAsB;kBAAAf,QAAA,EAAEA;gBAAQ,CAAyB;cAAC,CACzC;YAAC,CACE;UAAC,CACN;QAAC,CACE;MAAC,CACV;IAAC,CACA;EAAC;AAE5B;AAEAD,aAAa,CAACiB,WAAW,GAAG,eAAe","ignoreList":[]}
|
|
@@ -11,6 +11,8 @@ var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
|
11
11
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
12
12
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
13
13
|
var _useHaptics = require("../hooks/use-haptics.js");
|
|
14
|
+
var _bottomEdge = require("../layout/bottom-edge.js");
|
|
15
|
+
var _edge = require("../layout/edge.js");
|
|
14
16
|
var _context = require("./context.js");
|
|
15
17
|
var _shared = require("./shared.js");
|
|
16
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -307,7 +309,15 @@ function TabBarBody({
|
|
|
307
309
|
|
|
308
310
|
// Shared with `useTabBarFootprint`, so a consumer accounting for the bar in
|
|
309
311
|
// its own layout can never drift from where the bar actually sits.
|
|
310
|
-
const bottomOffset = (0,
|
|
312
|
+
const bottomOffset = (0, _edge.windowEdgeGap)(insets.bottom);
|
|
313
|
+
|
|
314
|
+
// Publish what the bar occupies so anything else at this edge stacks above it
|
|
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);
|
|
311
321
|
|
|
312
322
|
// How centring and the animated inset compose: centring is STATIC and belongs
|
|
313
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","_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","tabBarBottomGap","bottom","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":";;;;;;;AAeA,IAAAA,MAAA,GAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAWA,IAAAK,2BAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AAEA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AAmBkB,IAAAW,WAAA,GAAAX,OAAA;AAAA,SAAAI,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AA/DlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;;AAmBA,MAAMkB,UAAU,gBAAG,IAAAC,oBAAa,EAAyB,IAAI,CAAC;AAO9D;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAAC;EAClBC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC,WAAW;EACXC,aAAa;EACbC,gBAAgB;EAChBC,KAAK,EAAEC,cAAc;EACrBC,OAAO,GAAG,IAAI;EACdC,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,KAAK;EACL,GAAGC;AACY,CAAC,EAAE;EAClB,MAAMC,MAAM,GAAG,IAAAC,6CAAiB,EAAC,CAAC;EAClC,MAAM;IAAEC,KAAK,EAAEC;EAAY,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACpD,MAAMC,SAAS,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EACpC,MAAMC,QAAQ,GAAGF,SAAS,CAACE,QAAQ;EACnC,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACC,eAAQ,CAACC,KAAK,CAACvB,QAAQ,CAAC,EAAE,CAAC,CAAC;;EAEtD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMwB,YAAY,GAChBvB,WAAW,KAAKwB,SAAS,IACxBC,MAAM,CAACC,SAAS,CAAC1B,WAAW,CAAC,IAAIA,WAAW,IAAI,CAAC,IAAIA,WAAW,GAAGkB,QAAS;EAE/E,MAAMS,UAAU,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EACpC;EACA;EACA;EACA,MAAMC,gBAAgB,GAAG,IAAAD,qCAAc,EAACL,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;EAC7D,MAAMO,UAAU,GAAG,IAAAF,qCAAc,EAAC,KAAK,CAAC;EACxC,MAAMG,UAAU,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC,CAAC;EACrC,MAAMzB,KAAK,GAAG,IAAA6B,sBAAc,EAAC5B,cAAc,CAAC;EAC5C,MAAM6B,MAAM,GAAG,IAAAC,sBAAU,EAAC,CAAC;;EAE3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,aAAa,GACjB5B,QAAQ,KAAKiB,SAAS,GAClBX,WAAW,GAAGuB,kBAAU,GAAG,CAAC,GAC5BjB,IAAI,CAACkB,GAAG,CAACxB,WAAW,GAAGuB,kBAAU,GAAG,CAAC,EAAE7B,QAAQ,CAAC;;EAEtD;EACA;EACA;EACA;EACA,MAAM+B,IAAI,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC7B,IAAIlC,OAAO,EAAE4B,MAAM,CAAC,OAAO,CAAC;EAC9B,CAAC,EAAE,CAAC5B,OAAO,EAAE4B,MAAM,CAAC,CAAC;;EAErB;EACA;EACA,MAAMO,WAAW,GAAG,IAAAD,kBAAW,EAAEE,KAAa,IAAKxC,aAAa,GAAGwC,KAAK,CAAC,EAAE,CAACxC,aAAa,CAAC,CAAC;;EAE3F;EACA;EACA,MAAMyC,cAAc,GAAG,IAAAH,kBAAW,EAC/BE,KAAa,IAAKvC,gBAAgB,GAAGuC,KAAK,CAAC,EAC5C,CAACvC,gBAAgB,CACnB,CAAC;EACD,MAAMyC,YAAY,GAAGzC,gBAAgB,KAAKsB,SAAS;;EAEnD;EACA;EACA;EACA;EACA;EACA;EACA,IAAAoB,gBAAS,EAAC,MAAM;IACd,IAAI5C,WAAW,KAAKwB,SAAS,EAAE;IAC/B;IACA,IAAIM,UAAU,CAACe,KAAK,EAAE;IACtB,IAAI,CAACtB,YAAY,EAAE;MACjB;MACA;MACA;MACA;MACA;MACA;MACAM,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtD;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACApB,UAAU,CAACkB,KAAK,GACdhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAG7C,WAAW,GAAG,IAAAgD,iCAAU,EAAChD,WAAW,EAAEiD,oBAAY,CAAC;IACpFpB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;EACxD,CAAC,EAAE,CAAC/C,WAAW,EAAEuB,YAAY,EAAEI,UAAU,EAAEE,gBAAgB,EAAEC,UAAU,CAAC,CAAC;;EAEzE;EACA;EACA;EACA;EACA;EACA,MAAMoB,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,MAAMC,QAAQ,GAAGA,CAACC,CAAS,EAAEC,cAAsB,KAAK;MACtD,SAAS;;MACT,MAAMC,SAAS,GAAG,IAAAC,kCAAW,EAC3BF,cAAc,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAEG,uBAAe,CAAC,EACpBC,oCAAa,CAACC,KAChB,CAAC;MACD;MACA;MACA;MACA;MACA;MACA;MACA,MAAMC,QAAQ,GAAGzB,aAAa,GAAGoB,SAAS,GAAG,CAAC;MAC9C,MAAMM,SAAS,GAAG,CAACD,QAAQ,GAAGE,iBAAS,GAAG,CAAC,IAAI5C,QAAQ;MACvD,MAAM6C,GAAG,GAAG,CAACV,CAAC,GAAGS,iBAAS,IAAID,SAAS,GAAG,GAAG;MAC7C,OAAO1C,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAACC,GAAG,CAAC2C,GAAG,EAAE,CAAC,CAAC,EAAE7C,QAAQ,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,MAAM8C,GAAG,GAAGC,kCAAO,CAACC,GAAG,CAAC,CAAC,CACtBC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtBC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACtBC,OAAO,CAAEC,KAAK,IAAK;MAClBxC,UAAU,CAACe,KAAK,GAAG,IAAI;MACvB;MACA;MACA;MACA;MACA;MACA,IAAIhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,EAAE;QAChClB,UAAU,CAACkB,KAAK,GAAGO,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC;MACtD;MACAhB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtDhB,UAAU,CAACc,KAAK,GAAG1B,IAAI,CAACoD,KAAK,CAAC5C,UAAU,CAACkB,KAAK,CAAC;MAC/C;MACA,IAAA2B,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CACD0D,QAAQ,CAAEH,KAAK,IAAK;MACnB,MAAM7B,KAAK,GAAGW,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC;MAC/ClB,UAAU,CAACkB,KAAK,GAAGJ,KAAK;MAExB,MAAMiC,OAAO,GAAGvD,IAAI,CAACoD,KAAK,CAAC9B,KAAK,CAAC;MACjC,IAAIiC,OAAO,KAAK3C,UAAU,CAACc,KAAK,EAAE;QAChCd,UAAU,CAACc,KAAK,GAAG6B,OAAO;QAC1B,IAAAC,8BAAO,EAACrC,IAAI,CAAC,CAAC,CAAC;MACjB;IACF,CAAC,CAAC,CACDsC,UAAU,CAAC,MAAM;MAChB;MACA;MACA,IAAI,CAAC9C,UAAU,CAACe,KAAK,EAAE;QACrB;MACF;MACA,MAAM6B,OAAO,GAAGvD,IAAI,CAACoD,KAAK,CAAC5C,UAAU,CAACkB,KAAK,CAAC;MAC5ClB,UAAU,CAACkB,KAAK,GAAG,IAAAG,iCAAU,EAAC0B,OAAO,EAAEzB,oBAAY,CAAC;MACpD,IAAA0B,8BAAO,EAACnC,WAAW,CAAC,CAACkC,OAAO,CAAC;MAC7B5C,UAAU,CAACe,KAAK,GAAG,KAAK;IAC1B,CAAC,CAAC;IAEJ,MAAMgC,GAAG,GAAGZ,kCAAO,CAACa,GAAG,CAAC;IACtB;IACA;IAAA,CACCC,WAAW,CAAC,EAAE,CAAC,CACfC,WAAW,CAAC,GAAG,CAAC,CAChBC,KAAK,CAAC,CAACX,KAAK,EAAEY,OAAO,KAAK;MACzB,IAAI,CAACA,OAAO,EAAE;QACZ;MACF;MACA,MAAMzC,KAAK,GAAGtB,IAAI,CAACoD,KAAK,CAACnB,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC,CAAC;MAC3D;MACA;MACAlB,UAAU,CAACkB,KAAK,GACdhB,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAGJ,KAAK,GAAG,IAAAO,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;MACxEpB,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MACtD,IAAAyB,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;MAC1B,IAAA4D,8BAAO,EAACnC,WAAW,CAAC,CAACC,KAAK,CAAC;IAC7B,CAAC,CAAC;IAEJ,IAAI,CAACE,YAAY,EAAE,OAAOsB,kCAAO,CAACkB,IAAI,CAACnB,GAAG,EAAEa,GAAG,CAAC;;IAEhD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMO,SAAS,GAAGnB,kCAAO,CAACoB,SAAS,CAAC,CAAC,CAClCC,WAAW,CAACC,+BAAuB,CAAC,CACpClB,OAAO,CAAEC,KAAK,IAAK;MAClB,IAAAK,8BAAO,EAACjC,cAAc,CAAC,CAACvB,IAAI,CAACoD,KAAK,CAACnB,QAAQ,CAACkB,KAAK,CAACjB,CAAC,EAAEpC,QAAQ,CAAC4B,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC;IAEJ,OAAOoB,kCAAO,CAACkB,IAAI,CAACnB,GAAG,EAAEa,GAAG,EAAEO,SAAS,CAAC;EAC1C,CAAC,EAAE,CACDjD,aAAa,EACbjB,QAAQ,EACRsB,WAAW,EACXG,YAAY,EACZD,cAAc,EACdJ,IAAI,EACJR,UAAU,EACVC,UAAU,EACVJ,UAAU,EACVE,gBAAgB,EAChBd,SAAS,EACTE,QAAQ,CACT,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMuE,QAAQ,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACtC,MAAMC,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMkC,KAAK,GAAG,IAAArC,kCAAW,EAACvC,QAAQ,CAAC4B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEY,uBAAe,CAAC,EAAEC,oCAAa,CAACC,KAAK,CAAC;IAC5F,OAAO;MAAE+B,MAAM;MAAEI,UAAU,EAAED,KAAK;MAAEE,WAAW,EAAEF;IAAM,CAAC;EAC1D,CAAC,EAAE,CAAC5E,QAAQ,CAAC,CAAC;;EAEd;EACA;EACA;EACA,MAAM+E,UAAU,GAAG,IAAAP,uCAAgB,EAAC,MAAM;IACxC,MAAMC,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD,OAAO;MAAEsC,YAAY,EAAEP,MAAM,GAAG;IAAE,CAAC;EACrC,CAAC,EAAE,CAACzE,QAAQ,CAAC,CAAC;;EAEd;EACA;EACA,MAAMiF,cAAc,GAAG,IAAAT,uCAAgB,EAAC,MAAM;IAC5C,MAAMU,SAAS,GAAG,IAAA3C,kCAAW,EAC3BvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC8C,uBAAe,EAAEC,wBAAgB,CAAC,EACnClC,oCAAa,CAACC,KAChB,CAAC;IACD,MAAM+B,MAAM,GAAG,IAAAlC,kCAAW,EACxBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACuD,0BAAkB,EAAEC,2BAAmB,CAAC,EACzC3C,oCAAa,CAACC,KAChB,CAAC;IACD,MAAMJ,SAAS,GAAG,IAAAC,kCAAW,EAC3BvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAEY,uBAAe,CAAC,EACpBC,oCAAa,CAACC,KAChB,CAAC;IACD;IACA;IACA,MAAMC,QAAQ,GAAGzB,aAAa,GAAGoB,SAAS,GAAG,CAAC;IAC9C,MAAMM,SAAS,GAAG,CAACD,QAAQ,GAAGE,iBAAS,GAAG,CAAC,IAAI5C,QAAQ;IACvD,OAAO;MACLwE,MAAM;MACN9E,KAAK,EAAEiD,SAAS;MAChBoC,YAAY,EAAEP,MAAM,GAAG,CAAC;MACxBY,GAAG,EAAE,CAACH,SAAS,GAAGT,MAAM,IAAI,CAAC;MAC7B;MACA;MACA;MACA;MACAa,OAAO,EAAE1E,gBAAgB,CAACgB,KAAK;MAC/B2D,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE3C,iBAAS,GAAGD,SAAS,GAAGlC,UAAU,CAACkB;MAAM,CAAC;IACtE,CAAC;EACH,CAAC,EAAE,CAAC5B,QAAQ,EAAEU,UAAU,EAAEE,gBAAgB,EAAEM,aAAa,EAAEjB,QAAQ,CAAC,CAAC;;EAErE;EACA;EACA,MAAMwF,YAAY,GAAG,IAAAC,mBAAa,EAACjG,MAAM,CAACkG,MAAM,CAAC;;EAEjD;EACA;EACA;EACA;EACA;EACA;EACA,IAAAC,8BAAkB,EAACH,YAAY,GAAGf,uBAAe,CAAC;;EAElD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMmB,oBAAsC,GAC1CvG,QAAQ,KAAKiB,SAAS,GAAG,IAAI,GAAG;IAAEZ,KAAK,EAAEuB,aAAa;IAAE4E,SAAS,EAAE;EAAS,CAAC;EAC/E,MAAMC,UAAU,GAAG,IAAA7D,cAAO,EACxB,OAAO;IAAExB,UAAU;IAAEE,gBAAgB;IAAEC,UAAU;IAAE3B,KAAK;IAAEH,WAAW;IAAEwC;EAAY,CAAC,CAAC,EACrF,CAACb,UAAU,EAAEE,gBAAgB,EAAEC,UAAU,EAAE3B,KAAK,EAAEH,WAAW,EAAEwC,WAAW,CAC5E,CAAC;EAED,oBACE,IAAAlE,WAAA,CAAA2I,IAAA,EAACrJ,YAAA,CAAAsJ,IAAI;IAAA,GAAKzG,SAAS;IAAE0G,aAAa,EAAC,UAAU;IAAC3G,KAAK,EAAE,CAAC4G,MAAM,CAACC,IAAI,EAAE7G,KAAK,CAAE;IAAAT,QAAA,GASvEO,IAAI,KAAK,KAAK,iBACb,IAAAhC,WAAA,CAAAgJ,GAAA,EAACxH,IAAI;MACHyH,SAAS,EAAC,QAAQ;MAClBC,SAAS,EAAE,OAAOlH,IAAI,KAAK,QAAQ,GAAGA,IAAI,CAACkH,SAAS,GAAGhG,SAAU;MACjEhB,KAAK,EAAE;QACLiH,QAAQ,EAAE,UAAU;QACpBC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRf,MAAM,EAAE,CAAC;QACTlB,MAAM,EAAEgB,YAAY,GAAGf,uBAAe,GAAGiC;MAC3C;IAAE,CACH,CACF,eACD,IAAAtJ,WAAA,CAAAgJ,GAAA,EAAC1J,YAAA,CAAAsJ,IAAI;MAACC,aAAa,EAAC,UAAU;MAAC3G,KAAK,EAAE,CAAC4G,MAAM,CAACS,OAAO,EAAE;QAAEC,YAAY,EAAEpB;MAAa,CAAC,EAAEI,oBAAoB,CAAE;MAAA/G,QAAA,eAC3G,IAAAzB,WAAA,CAAAgJ,GAAA,EAACzJ,0BAAA,CAAAkK,eAAe;QAAC7E,OAAO,EAAEA,OAAQ;QAAAnD,QAAA,eAChC,IAAAzB,WAAA,CAAA2I,IAAA,EAACnJ,sBAAA,CAAAmB,OAAQ,CAACiI,IAAI;UAAC1G,KAAK,EAAEgF,QAAS;UAAAzF,QAAA,gBAC7B,IAAAzB,WAAA,CAAAgJ,GAAA,EAACzH,OAAO;YAACM,KAAK,EAAEA,KAAM;YAACK,KAAK,EAAEwF;UAAW,CAAE,CAAC,eAC5C,IAAA1H,WAAA,CAAAgJ,GAAA,EAACxJ,sBAAA,CAAAmB,OAAQ,CAACiI,IAAI;YACZ1G,KAAK,EAAE,CAAC4G,MAAM,CAACY,SAAS,EAAE;cAAEC,eAAe,EAAE9H,KAAK,CAAC6H;YAAU,CAAC,EAAE9B,cAAc;UAAE,CACjF,CAAC,eACF,IAAA5H,WAAA,CAAAgJ,GAAA,EAAC1J,YAAA,CAAAsJ,IAAI;YAACgB,iBAAiB,EAAC,SAAS;YAAC1H,KAAK,EAAE4G,MAAM,CAACe,OAAQ;YAAApI,QAAA,eACtD,IAAAzB,WAAA,CAAAgJ,GAAA,EAAC5H,UAAU,CAAC0I,QAAQ;cAACvF,KAAK,EAAEmE,UAAW;cAAAjH,QAAA,EAAEA;YAAQ,CAAsB;UAAC,CACpE,CAAC;QAAA,CACM;MAAC,CACD;IAAC,CACd,CAAC;EAAA,CACH,CAAC;AAEX;AAMA;AACA,SAASsI,gBAAgBA,CAAC;EACxBC,KAAK;EACLC,IAAI;EACJ9F,KAAK;EACL+F,SAAS;EACTC,OAAO;EACPjI,KAAK;EACL,GAAGkI;AACkB,CAAC,EAAE;EACxB,MAAM3H,SAAS,GAAG,IAAAC,yBAAgB,EAAC,CAAC;EACpC,MAAMC,QAAQ,GAAGF,SAAS,CAACE,QAAQ;EACnC,MAAM0H,GAAG,GAAG,IAAAC,iBAAU,EAAClJ,UAAU,CAAC;EAClC;EACA,MAAMmJ,eAAe,GAAG,IAAA7G,sBAAc,EAAC,CAAC;EACxC,MAAM7B,KAAK,GAAGwI,GAAG,EAAExI,KAAK,IAAI0I,eAAe;EAC3C,MAAMlH,UAAU,GAAGgH,GAAG,EAAEhH,UAAU;EAClC,MAAME,gBAAgB,GAAG8G,GAAG,EAAE9G,gBAAgB;EAC9C;EACA;EACA,MAAMiH,OAAO,GAAGN,SAAS,IAAKG,GAAG,EAAE3I,WAAW,KAAKyC,KAAM;;EAEzD;EACA;EACA;EACA;EACA;EACA,IAAAG,gBAAS,EAAC,MAAM;IACd,IAAI4F,SAAS,KAAKhH,SAAS,IAAI,CAACgH,SAAS,IAAI,CAACG,GAAG,EAAE;IACnD,IAAIA,GAAG,CAAC7G,UAAU,CAACe,KAAK,EAAE;IAC1B8F,GAAG,CAAChH,UAAU,CAACkB,KAAK,GAAG,IAAAG,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;EACxD,CAAC,EAAE,CAACuF,SAAS,EAAE/F,KAAK,EAAEkG,GAAG,CAAC,CAAC;;EAE3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMI,gBAAgB,GAAG,IAAAtD,uCAAgB,EAAC,MAAM;IAC9C,IAAI,CAAC9D,UAAU,IAAI,CAACE,gBAAgB,EAAE,OAAO;MAAE0E,OAAO,EAAEuC,OAAO,GAAG,CAAC,GAAG;IAAE,CAAC;IACzE,MAAME,SAAS,GAAG,CAAC,GAAG7H,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAAC8H,GAAG,CAACtH,UAAU,CAACkB,KAAK,GAAGJ,KAAK,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO;MAAE8D,OAAO,EAAE1E,gBAAgB,CAACgB,KAAK,GAAGmG;IAAU,CAAC;EACxD,CAAC,EAAE,CAACrH,UAAU,EAAEE,gBAAgB,EAAEY,KAAK,EAAEqG,OAAO,CAAC,CAAC;EAElD,MAAMI,UAAU,GAAG,IAAAzD,uCAAgB,EAAC,MAAM;IACxC,MAAMc,OAAO,GAAG,IAAA/C,kCAAW,EAACvC,QAAQ,CAAC4B,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEa,oCAAa,CAACC,KAAK,CAAC;IAClF,IAAI,CAAChC,UAAU,IAAI,CAACE,gBAAgB,EAAE;MACpC,OAAO;QAAE0E,OAAO;QAAE4C,KAAK,EAAEL,OAAO,GAAG3I,KAAK,CAACiJ,UAAU,GAAGjJ,KAAK,CAACkJ;MAAa,CAAC;IAC5E;IACA;IACA;IACA,MAAML,SAAS,GAAG,CAAC,GAAG7H,IAAI,CAACkB,GAAG,CAAClB,IAAI,CAAC8H,GAAG,CAACtH,UAAU,CAACkB,KAAK,GAAGJ,KAAK,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO;MACL8D,OAAO;MACP4C,KAAK,EAAE,IAAAG,uCAAgB,EACrBzH,gBAAgB,CAACgB,KAAK,GAAGmG,SAAS,EAClC,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC7I,KAAK,CAACkJ,YAAY,EAAElJ,KAAK,CAACiJ,UAAU,CACvC;IACF,CAAC;EACH,CAAC,EAAE,CAACnI,QAAQ,EAAEU,UAAU,EAAEE,gBAAgB,EAAEY,KAAK,EAAEqG,OAAO,EAAE3I,KAAK,CAAC,CAAC;;EAEnE;EACA;EACA;EACA,MAAMoJ,QAAQ,GAAG,IAAA9D,uCAAgB,EAC/B,OAAO;IACLC,MAAM,EAAE,IAAAlC,kCAAW,EACjBvC,QAAQ,CAAC4B,KAAK,EACd,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACuD,0BAAkB,EAAEC,2BAAmB,CAAC,EACzC3C,oCAAa,CAACC,KAChB;EACF,CAAC,CAAC,EACF,CAAC1C,QAAQ,CACX,CAAC;EAED,oBACE,IAAA3C,WAAA,CAAAgJ,GAAA,EAAC1J,YAAA,CAAA4L;EACC;EACA;EAAA;IACAtB,iBAAiB,EAAC;IAClB;IACA;IACA;IAAA;IACA,iBAAeY,OAAQ;IACvBW,kBAAkB,EAAElB,IAAI,CAACmB,KAAM;IAAA,GAC3BhB,cAAc;IAClBD,OAAO,EAAGnE,KAAK,IAAK;MAClB;MACA;MACA,IAAIqE,GAAG,EAAE;QACP;QACA;QACAA,GAAG,CAAChH,UAAU,CAACkB,KAAK,GAClB8F,GAAG,CAAC9G,gBAAgB,CAACgB,KAAK,KAAK,CAAC,GAAGJ,KAAK,GAAG,IAAAO,iCAAU,EAACP,KAAK,EAAEQ,oBAAY,CAAC;QAC5E0F,GAAG,CAAC9G,gBAAgB,CAACgB,KAAK,GAAG,IAAAC,iCAAU,EAAC,CAAC,EAAEC,sBAAc,CAAC;MAC5D;MACA,IAAAyB,qBAAY,EAACzD,SAAS,EAAE,CAAC,CAAC;MAC1B;MACA;MACA;MACA,IAAIyH,SAAS,KAAKhH,SAAS,EAAEmH,GAAG,EAAEnG,WAAW,CAACC,KAAK,CAAC;MACpDgG,OAAO,GAAGnE,KAAK,CAAC;IAClB;IACA;IACA;IACA;IAAA;IACA9D,KAAK,EACH,OAAOA,KAAK,KAAK,UAAU,GACtBmJ,KAAK,IAAK,CAACvC,MAAM,CAACwC,MAAM,EAAEpJ,KAAK,CAACmJ,KAAK,CAAC,CAAC,GACxC,CAACvC,MAAM,CAACwC,MAAM,EAAEpJ,KAAK,CAC1B;IAAAT,QAAA,eAED,IAAAzB,WAAA,CAAA2I,IAAA,EAACnJ,sBAAA,CAAAmB,OAAQ,CAACiI,IAAI;MAAC1G,KAAK,EAAE,CAAC4G,MAAM,CAACyC,OAAO,EAAEN,QAAQ,CAAE;MAAAxJ,QAAA,gBAI/C,IAAAzB,WAAA,CAAA2I,IAAA,EAACrJ,YAAA,CAAAsJ,IAAI;QAAAnH,QAAA,gBACH,IAAAzB,WAAA,CAAAgJ,GAAA,EAACgB,KAAK;UAACC,IAAI,EAAEA,IAAK;UAACuB,IAAI,EAAE3J,KAAK,CAACkJ,YAAa;UAACU,IAAI,EAAEC,iBAAU;UAACC,MAAM,EAAE;QAAM,CAAE,CAAC,eAC/E,IAAA3L,WAAA,CAAAgJ,GAAA,EAACxJ,sBAAA,CAAAmB,OAAQ,CAACiI,IAAI;UAAC1G,KAAK,EAAE,CAAC0J,uBAAU,CAACC,YAAY,EAAE/C,MAAM,CAACgD,UAAU,EAAErB,gBAAgB,CAAE;UAAAhJ,QAAA,eACnF,IAAAzB,WAAA,CAAAgJ,GAAA,EAACgB,KAAK;YAACC,IAAI,EAAEA,IAAK;YAACuB,IAAI,EAAE3J,KAAK,CAACiJ,UAAW;YAACW,IAAI,EAAEC,iBAAU;YAACC,MAAM;UAAA,CAAE;QAAC,CACxD,CAAC;MAAA,CACZ,CAAC,eAEP,IAAA3L,WAAA,CAAAgJ,GAAA,EAACxJ,sBAAA,CAAAmB,OAAQ,CAACoL,IAAI;QAACC,aAAa,EAAE,CAAE;QAAC9J,KAAK,EAAE,CAAC4G,MAAM,CAACsC,KAAK,EAAER,UAAU,CAAE;QAAAnJ,QAAA,EAChEwI,IAAI,CAACmB;MAAK,CACE,CAAC;IAAA,CACH;EAAC,CACP,CAAC;AAEhB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASa,YAAYA,CAC1B1K,OAA0C,EAC1CC,IAAyC,EACzC;EACA,MAAM0K,MAAM,GAAIC,KAAkB,iBAAK,IAAAnM,WAAA,CAAAgJ,GAAA,EAAC1H,UAAU;IAAA,GAAK6K,KAAK;IAAE5K,OAAO,EAAEA,OAAQ;IAACC,IAAI,EAAEA;EAAK,CAAE,CAAC;EAC9F0K,MAAM,CAACE,WAAW,GAAG,QAAQ;EAC7B,OAAOF,MAAM;AACf;;AAEA;AACO,SAASG,kBAAkBA,CAACrC,KAAsC,EAAE;EACzE,MAAMsC,YAAY,GAAIH,KAAwB,iBAAK,IAAAnM,WAAA,CAAAgJ,GAAA,EAACe,gBAAgB;IAAA,GAAKoC,KAAK;IAAEnC,KAAK,EAAEA;EAAM,CAAE,CAAC;EAChGsC,YAAY,CAACF,WAAW,GAAG,cAAc;EACzC,OAAOE,YAAY;AACrB;AAEA,MAAMxD,MAAM,GAAG8C,uBAAU,CAACW,MAAM,CAAC;EAC/BxD,IAAI,EAAE;IACJ;IACA;IACA;IACA;IACA;IACA;IACAI,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRf,MAAM,EAAE;EACV,CAAC;EACDiB,OAAO,EAAE;IACPiD,gBAAgB,EAAE1I;EACpB,CAAC;EACD4F,SAAS,EAAE;IACTP,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPqD,WAAW,EAAE;EACf,CAAC;EACD5C,OAAO,EAAE;IACP6C,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAErH;EACrB,CAAC;EACD8F,MAAM,EAAE;IACNoB,IAAI,EAAE,CAAC;IACPE,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACDvB,OAAO,EAAE;IACP9C,SAAS,EAAE,SAAS;IACpBmE,UAAU,EAAE,QAAQ;IACpBG,UAAU,EAAEC,kBAAU;IACtBC,QAAQ,EAAE;EACZ,CAAC;EACDnB,UAAU,EAAE;IACVc,UAAU,EAAE,QAAQ;IACpBE,cAAc,EAAE;EAClB,CAAC;EACD1B,KAAK,EAAE;IACL8B,QAAQ,EAAEC,uBAAe;IACzBC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAEC;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.SLIDE_SPRING = exports.ROW_PAD_H = exports.MINIMIZED_INSET = exports.MINIMIZED_HEIGHT = exports.LONG_PRESS_MIN_DURATION = exports.LABEL_HEIGHT = exports.LABEL_FONT_SIZE = exports.LABEL_BLOCK = exports.ITEM_PAD_V = exports.ITEM_GAP = exports.ICON_SIZE = exports.HIGHLIGHT_MINIMIZED = exports.HIGHLIGHT_FADE = exports.HIGHLIGHT_EXPANDED = exports.EXPANDED_HEIGHT = exports.BLUR_BLEED = exports.BAR_MARGIN = void 0;
|
|
7
7
|
exports.resolveTabBarTheme = resolveTabBarTheme;
|
|
8
|
-
exports.tabBarBottomGap = tabBarBottomGap;
|
|
9
8
|
exports.useTabBarTheme = useTabBarTheme;
|
|
10
9
|
var _react = require("react");
|
|
11
10
|
var _colorUtils = require("../theme/color-utils.js");
|
|
@@ -55,27 +54,6 @@ const BLUR_BLEED = exports.BLUR_BLEED = 44;
|
|
|
55
54
|
/** Label type size. Small by design — the icon carries the meaning. */
|
|
56
55
|
const LABEL_FONT_SIZE = exports.LABEL_FONT_SIZE = 9.5;
|
|
57
56
|
|
|
58
|
-
/**
|
|
59
|
-
* How much of the bottom safe-area inset the bar's own gap absorbs. The pill
|
|
60
|
-
* already floats clear of the content, so sitting the FULL inset below it
|
|
61
|
-
* strands it in the middle of the screen on a home-indicator device.
|
|
62
|
-
*/
|
|
63
|
-
const SAFE_AREA_ABSORBED = 16;
|
|
64
|
-
/** Gap floor, for a device (or a browser) reporting no bottom inset at all. */
|
|
65
|
-
const MIN_BOTTOM_GAP = 12;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Vertical gap between the bottom of the pill and the bottom of the window.
|
|
69
|
-
*
|
|
70
|
-
* The safe-area inset is folded in HERE, which is why anything accounting for
|
|
71
|
-
* the bar in its own layout must go through `useTabBarFootprint` (which derives
|
|
72
|
-
* its number from this same function) rather than adding `insets.bottom` to a
|
|
73
|
-
* hardcoded height — that double-counts the inset.
|
|
74
|
-
*/
|
|
75
|
-
function tabBarBottomGap(bottomInset) {
|
|
76
|
-
return Math.max(bottomInset - SAFE_AREA_ABSORBED, MIN_BOTTOM_GAP);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
57
|
/**
|
|
80
58
|
* Slide spring: interruptible by design — rapid tab-hopping retargets with
|
|
81
59
|
* preserved velocity. Slight under-damping gives the pill a tiny settle, safe
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_colorUtils","_useTheme","EXPANDED_HEIGHT","exports","MINIMIZED_HEIGHT","MINIMIZED_INSET","BAR_MARGIN","ROW_PAD_H","LABEL_HEIGHT","ICON_SIZE","ITEM_GAP","LABEL_BLOCK","ITEM_PAD_V","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","BLUR_BLEED","LABEL_FONT_SIZE","
|
|
1
|
+
{"version":3,"names":["_react","require","_colorUtils","_useTheme","EXPANDED_HEIGHT","exports","MINIMIZED_HEIGHT","MINIMIZED_INSET","BAR_MARGIN","ROW_PAD_H","LABEL_HEIGHT","ICON_SIZE","ITEM_GAP","LABEL_BLOCK","ITEM_PAD_V","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","BLUR_BLEED","LABEL_FONT_SIZE","SLIDE_SPRING","duration","dampingRatio","HIGHLIGHT_FADE","LONG_PRESS_MIN_DURATION","resolveTabBarTheme","colors","overrides","activeTint","text","inactiveTint","textSecondary","highlight","contrast50","glassTint","withAlpha","background","solidFallback","backgroundSecondary","useTabBarTheme","useTheme","useMemo"],"sourceRoot":"../../../src","sources":["tab-bar/shared.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useTabBarFootprint = useTabBarFootprint;
|
|
7
7
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
8
|
+
var _edge = require("../layout/edge.js");
|
|
8
9
|
var _shared = require("./shared.js");
|
|
9
10
|
/**
|
|
10
11
|
* How much room the floating bar physically takes at the bottom of the window.
|
|
@@ -35,15 +36,19 @@ var _shared = require("./shared.js");
|
|
|
35
36
|
* const footprint = useTabBarFootprint();
|
|
36
37
|
*
|
|
37
38
|
* <Animated.ScrollView contentContainerStyle={{ paddingBottom: footprint + 12 }} />
|
|
38
|
-
* <Fab style={{ position: 'absolute', right: 16, bottom: footprint }} />
|
|
39
39
|
* ```
|
|
40
40
|
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
41
|
+
* A FAB no longer needs this hook at all — `Fab` reads the bottom edge's
|
|
42
|
+
* occupancy itself (see `layout/bottom-edge`), which is what the bar publishes
|
|
43
|
+
* this exact number to. Reach for the hook when laying out something that is not
|
|
44
|
+
* a Bloom surface.
|
|
45
|
+
*
|
|
46
|
+
* The value ALREADY INCLUDES the bottom safe-area inset — `windowEdgeGap` clears
|
|
47
|
+
* the OS's reserved band in full — so this is measured from the true window
|
|
48
|
+
* edge, not from the safe area. Never write `footprint + insets.bottom`: that
|
|
49
|
+
* counts the home indicator twice and strands a visible band of dead space under
|
|
50
|
+
* every list. Whatever you add on top is your own clearance, never the inset a
|
|
51
|
+
* second time.
|
|
47
52
|
*
|
|
48
53
|
* It is the EXPANDED height, deliberately. The bar minimizes while scrolling
|
|
49
54
|
* down and re-expands on the way up, so measuring the minimized height would
|
|
@@ -51,6 +56,10 @@ var _shared = require("./shared.js");
|
|
|
51
56
|
*/
|
|
52
57
|
function useTabBarFootprint() {
|
|
53
58
|
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
54
|
-
|
|
59
|
+
// Gap 0: the bar hugs the safe area, the tightest any Bloom surface floats. It
|
|
60
|
+
// is a compact pill, not a panel, and a detached-sheet-sized gap under it would
|
|
61
|
+
// strand it mid-screen. It used to ABSORB 16px of the inset and clamp at a 12px
|
|
62
|
+
// floor, which is how it ended up drawn through the Android gesture handle.
|
|
63
|
+
return (0, _edge.windowEdgeGap)(insets.bottom) + _shared.EXPANDED_HEIGHT;
|
|
55
64
|
}
|
|
56
65
|
//# sourceMappingURL=use-footprint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeSafeAreaContext","require","_shared","useTabBarFootprint","insets","useSafeAreaInsets","
|
|
1
|
+
{"version":3,"names":["_reactNativeSafeAreaContext","require","_edge","_shared","useTabBarFootprint","insets","useSafeAreaInsets","windowEdgeGap","bottom","EXPANDED_HEIGHT"],"sourceRoot":"../../../src","sources":["tab-bar/use-footprint.ts"],"mappings":";;;;;;AAaA,IAAAA,2BAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,kBAAkBA,CAAA,EAAW;EAC3C,MAAMC,MAAM,GAAG,IAAAC,6CAAiB,EAAC,CAAC;EAClC;EACA;EACA;EACA;EACA,OAAO,IAAAC,mBAAa,EAACF,MAAM,CAACG,MAAM,CAAC,GAAGC,uBAAe;AACvD","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.Positioner = void 0;
|
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
10
|
+
var _bottomEdge = require("../layout/bottom-edge.js");
|
|
10
11
|
var _context = require("./context.js");
|
|
11
12
|
var _containerGeometry = require("./container-geometry.js");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -72,13 +73,17 @@ const Positioner = ({
|
|
|
72
73
|
} = (0, _context.useDynamicToastContext)();
|
|
73
74
|
const insets = React.useContext(_reactNativeSafeAreaContext.SafeAreaInsetsContext) ?? FALLBACK_INSETS;
|
|
74
75
|
const resolvedPosition = position ?? 'bottom-center';
|
|
76
|
+
// Whatever already owns the bottom edge — a floating tab bar, typically. The
|
|
77
|
+
// stack stacks above it instead of on it.
|
|
78
|
+
const bottomEdgeInset = (0, _bottomEdge.useBottomEdgeInset)();
|
|
75
79
|
const insetValues = (0, _containerGeometry.getInsetValues)({
|
|
76
80
|
position: resolvedPosition,
|
|
77
81
|
offset,
|
|
78
82
|
safeAreaInsets: {
|
|
79
83
|
top: insets.top,
|
|
80
84
|
bottom: insets.bottom
|
|
81
|
-
}
|
|
85
|
+
},
|
|
86
|
+
bottomEdgeInset
|
|
82
87
|
});
|
|
83
88
|
const handleOutsidePress = React.useCallback(() => {
|
|
84
89
|
if (isExpanded) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_context","_containerGeometry","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FALLBACK_INSETS","initialWindowMetrics","insets","top","bottom","left","right","ANDROID_ELEVATION","androidElevationStyle","Platform","OS","elevation","Positioner","children","position","style","offset","gap","visibleToasts","useToastContext","isExpanded","collapse","toastHeights","useDynamicToastContext","useContext","SafeAreaInsetsContext","resolvedPosition","insetValues","getInsetValues","safeAreaInsets","handleOutsidePress","useCallback","shouldAllowCollapse","hasChildren","Children","count","jsxs","Fragment","jsx","Pressable","calculateOutsidePressableArea","onPress","View","getContainerStyle","pointerEvents","exports","displayName"],"sourceRoot":"../../../src","sources":["toast/Positioner.tsx"],"mappings":";;;;;;AAqBA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,2BAAA,GAAAF,OAAA;AAKA,IAAAG,
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_bottomEdge","_context","_containerGeometry","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FALLBACK_INSETS","initialWindowMetrics","insets","top","bottom","left","right","ANDROID_ELEVATION","androidElevationStyle","Platform","OS","elevation","Positioner","children","position","style","offset","gap","visibleToasts","useToastContext","isExpanded","collapse","toastHeights","useDynamicToastContext","useContext","SafeAreaInsetsContext","resolvedPosition","bottomEdgeInset","useBottomEdgeInset","insetValues","getInsetValues","safeAreaInsets","handleOutsidePress","useCallback","shouldAllowCollapse","hasChildren","Children","count","jsxs","Fragment","jsx","Pressable","calculateOutsidePressableArea","onPress","View","getContainerStyle","pointerEvents","exports","displayName"],"sourceRoot":"../../../src","sources":["toast/Positioner.tsx"],"mappings":"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","ignoreList":[]}
|