@oxyhq/bloom 0.3.12 → 0.5.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 +133 -90
- package/lib/commonjs/bottom-sheet/index.js +341 -98
- package/lib/commonjs/bottom-sheet/index.js.map +1 -1
- package/lib/commonjs/context-menu/index.js +18 -19
- package/lib/commonjs/context-menu/index.js.map +1 -1
- package/lib/commonjs/dialog/BloomDialogProvider.js +61 -0
- package/lib/commonjs/dialog/BloomDialogProvider.js.map +1 -0
- package/lib/commonjs/dialog/BloomDialogProvider.web.js +45 -0
- package/lib/commonjs/dialog/BloomDialogProvider.web.js.map +1 -0
- package/lib/commonjs/dialog/Dialog.js +197 -100
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +194 -84
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/dialog/SheetShell.js +149 -0
- package/lib/commonjs/dialog/SheetShell.js.map +1 -0
- package/lib/commonjs/dialog/alert-store.js +116 -0
- package/lib/commonjs/dialog/alert-store.js.map +1 -0
- package/lib/commonjs/dialog/alert.js +38 -0
- package/lib/commonjs/dialog/alert.js.map +1 -0
- package/lib/commonjs/dialog/context.js +10 -2
- package/lib/commonjs/dialog/context.js.map +1 -1
- package/lib/commonjs/dialog/index.js +8 -24
- package/lib/commonjs/dialog/index.js.map +1 -1
- package/lib/commonjs/dialog/index.web.js +10 -20
- package/lib/commonjs/dialog/index.web.js.map +1 -1
- package/lib/commonjs/index.js +101 -66
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +101 -66
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/menu/index.js +21 -23
- package/lib/commonjs/menu/index.js.map +1 -1
- package/lib/commonjs/select/index.js +26 -27
- package/lib/commonjs/select/index.js.map +1 -1
- package/lib/commonjs/toast/index.js +42 -13
- package/lib/commonjs/toast/index.js.map +1 -1
- package/lib/commonjs/toast/index.web.js +19 -15
- package/lib/commonjs/toast/index.web.js.map +1 -1
- package/lib/module/bottom-sheet/index.js +341 -98
- package/lib/module/bottom-sheet/index.js.map +1 -1
- package/lib/module/context-menu/index.js +15 -16
- package/lib/module/context-menu/index.js.map +1 -1
- package/lib/module/dialog/BloomDialogProvider.js +57 -0
- package/lib/module/dialog/BloomDialogProvider.js.map +1 -0
- package/lib/module/dialog/BloomDialogProvider.web.js +41 -0
- package/lib/module/dialog/BloomDialogProvider.web.js.map +1 -0
- package/lib/module/dialog/Dialog.js +199 -87
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +195 -70
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/dialog/SheetShell.js +143 -0
- package/lib/module/dialog/SheetShell.js.map +1 -0
- package/lib/module/dialog/alert-store.js +107 -0
- package/lib/module/dialog/alert-store.js.map +1 -0
- package/lib/module/dialog/alert.js +35 -0
- package/lib/module/dialog/alert.js.map +1 -0
- package/lib/module/dialog/context.js +10 -2
- package/lib/module/dialog/context.js.map +1 -1
- package/lib/module/dialog/index.js +3 -1
- package/lib/module/dialog/index.js.map +1 -1
- package/lib/module/dialog/index.web.js +9 -7
- package/lib/module/dialog/index.web.js.map +1 -1
- package/lib/module/index.js +2 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +2 -3
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/menu/index.js +11 -13
- package/lib/module/menu/index.js.map +1 -1
- package/lib/module/select/index.js +27 -28
- package/lib/module/select/index.js.map +1 -1
- package/lib/module/toast/index.js +41 -11
- package/lib/module/toast/index.js.map +1 -1
- package/lib/module/toast/index.web.js +18 -13
- package/lib/module/toast/index.web.js.map +1 -1
- package/lib/typescript/commonjs/__tests__/Dialog.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/Dialog.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/bottom-sheet/index.d.ts +47 -1
- package/lib/typescript/commonjs/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/context-menu/index.d.ts +4 -3
- package/lib/typescript/commonjs/context-menu/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts +27 -0
- package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts +15 -0
- package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/Dialog.d.ts +37 -10
- package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +26 -10
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/SheetShell.d.ts +31 -0
- package/lib/typescript/commonjs/dialog/SheetShell.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/alert-store.d.ts +70 -0
- package/lib/typescript/commonjs/dialog/alert-store.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/alert.d.ts +27 -0
- package/lib/typescript/commonjs/dialog/alert.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/context.d.ts +7 -0
- package/lib/typescript/commonjs/dialog/context.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.d.ts +5 -2
- package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts +5 -2
- package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/types.d.ts +70 -15
- package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -3
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +3 -3
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/menu/index.d.ts +4 -4
- package/lib/typescript/commonjs/menu/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/index.d.ts +32 -3
- package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/toast/index.web.d.ts +14 -7
- package/lib/typescript/commonjs/toast/index.web.d.ts.map +1 -1
- package/lib/typescript/module/__tests__/Dialog.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/Dialog.test.d.ts.map +1 -0
- package/lib/typescript/module/bottom-sheet/index.d.ts +47 -1
- package/lib/typescript/module/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/module/context-menu/index.d.ts +4 -3
- package/lib/typescript/module/context-menu/index.d.ts.map +1 -1
- package/lib/typescript/module/dialog/BloomDialogProvider.d.ts +27 -0
- package/lib/typescript/module/dialog/BloomDialogProvider.d.ts.map +1 -0
- package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts +15 -0
- package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts.map +1 -0
- package/lib/typescript/module/dialog/Dialog.d.ts +37 -10
- package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.web.d.ts +26 -10
- package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/SheetShell.d.ts +31 -0
- package/lib/typescript/module/dialog/SheetShell.d.ts.map +1 -0
- package/lib/typescript/module/dialog/alert-store.d.ts +70 -0
- package/lib/typescript/module/dialog/alert-store.d.ts.map +1 -0
- package/lib/typescript/module/dialog/alert.d.ts +27 -0
- package/lib/typescript/module/dialog/alert.d.ts.map +1 -0
- package/lib/typescript/module/dialog/context.d.ts +7 -0
- package/lib/typescript/module/dialog/context.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.d.ts +5 -2
- package/lib/typescript/module/dialog/index.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.web.d.ts +5 -2
- package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/types.d.ts +70 -15
- package/lib/typescript/module/dialog/types.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -3
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +3 -3
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/menu/index.d.ts +4 -4
- package/lib/typescript/module/menu/index.d.ts.map +1 -1
- package/lib/typescript/module/select/index.d.ts.map +1 -1
- package/lib/typescript/module/toast/index.d.ts +32 -3
- package/lib/typescript/module/toast/index.d.ts.map +1 -1
- package/lib/typescript/module/toast/index.web.d.ts +14 -7
- package/lib/typescript/module/toast/index.web.d.ts.map +1 -1
- package/package.json +3 -14
- package/src/__tests__/BottomSheet.test.tsx +149 -2
- package/src/__tests__/Dialog.test.tsx +177 -0
- package/src/bottom-sheet/index.tsx +367 -83
- package/src/context-menu/index.tsx +12 -12
- package/src/dialog/BloomDialogProvider.tsx +61 -0
- package/src/dialog/BloomDialogProvider.web.tsx +46 -0
- package/src/dialog/Dialog.tsx +217 -64
- package/src/dialog/Dialog.web.tsx +240 -75
- package/src/dialog/SheetShell.tsx +154 -0
- package/src/dialog/alert-store.ts +126 -0
- package/src/dialog/alert.ts +42 -0
- package/src/dialog/context.ts +14 -3
- package/src/dialog/index.ts +14 -2
- package/src/dialog/index.web.ts +20 -8
- package/src/dialog/types.ts +73 -16
- package/src/index.ts +17 -3
- package/src/index.web.ts +17 -3
- package/src/menu/index.tsx +13 -17
- package/src/select/index.tsx +30 -30
- package/src/toast/index.tsx +55 -11
- package/src/toast/index.web.tsx +33 -13
- package/lib/commonjs/prompt/Prompt.js +0 -267
- package/lib/commonjs/prompt/Prompt.js.map +0 -1
- package/lib/commonjs/prompt/index.js +0 -61
- package/lib/commonjs/prompt/index.js.map +0 -1
- package/lib/module/prompt/Prompt.js +0 -250
- package/lib/module/prompt/Prompt.js.map +0 -1
- package/lib/module/prompt/index.js +0 -4
- package/lib/module/prompt/index.js.map +0 -1
- package/lib/typescript/commonjs/prompt/Prompt.d.ts +0 -42
- package/lib/typescript/commonjs/prompt/Prompt.d.ts.map +0 -1
- package/lib/typescript/commonjs/prompt/index.d.ts +0 -3
- package/lib/typescript/commonjs/prompt/index.d.ts.map +0 -1
- package/lib/typescript/module/prompt/Prompt.d.ts +0 -42
- package/lib/typescript/module/prompt/Prompt.d.ts.map +0 -1
- package/lib/typescript/module/prompt/index.d.ts +0 -3
- package/lib/typescript/module/prompt/index.d.ts.map +0 -1
- package/src/prompt/Prompt.tsx +0 -247
- package/src/prompt/index.ts +0 -13
|
@@ -54,7 +54,11 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
54
54
|
onDismissAttempt,
|
|
55
55
|
detached = false,
|
|
56
56
|
showHandle = true,
|
|
57
|
-
backdropOpacity = 0.5
|
|
57
|
+
backdropOpacity = 0.5,
|
|
58
|
+
scrollable = true,
|
|
59
|
+
manualActivation = false,
|
|
60
|
+
dynamicBackdrop = false,
|
|
61
|
+
handleComponent
|
|
58
62
|
} = props;
|
|
59
63
|
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
60
64
|
const theme = (0, _useTheme.useTheme)();
|
|
@@ -69,6 +73,16 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
69
73
|
const closeTimeoutRef = (0, _react.useRef)(null);
|
|
70
74
|
const hasClosedRef = (0, _react.useRef)(false);
|
|
71
75
|
const scrollViewRef = (0, _react.useRef)(null);
|
|
76
|
+
/**
|
|
77
|
+
* Monotonically increasing counter that identifies "the current close
|
|
78
|
+
* attempt". Bumped every time the sheet re-opens (`present()`), so any
|
|
79
|
+
* in-flight `withTiming` completion callback or fallback timer from a
|
|
80
|
+
* PREVIOUS close cycle becomes a no-op. Without this guard, a stale
|
|
81
|
+
* `runOnJS(finishClose)` from an aborted close would fire `onDismiss`
|
|
82
|
+
* and unmount the sheet immediately after the user opens it again,
|
|
83
|
+
* causing "tap to open does nothing" reports in production.
|
|
84
|
+
*/
|
|
85
|
+
const closeGenerationRef = (0, _react.useRef)(0);
|
|
72
86
|
const screenHeightSV = (0, _reactNativeReanimated.useSharedValue)(screenHeight);
|
|
73
87
|
// Keep shared value in sync when screen dimensions change (rotation/resize)
|
|
74
88
|
(0, _react.useEffect)(() => {
|
|
@@ -83,6 +97,21 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
83
97
|
const context = (0, _reactNativeReanimated.useSharedValue)({
|
|
84
98
|
y: 0
|
|
85
99
|
});
|
|
100
|
+
// Mirror of `closeGenerationRef` for worklet access. Bumped from the JS
|
|
101
|
+
// thread in lockstep with the ref so gesture worklets always see the
|
|
102
|
+
// current generation when they snapshot it on `onEnd`.
|
|
103
|
+
const closeGeneration = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
104
|
+
// Used by `manualActivation` body pan to track the touch's initial Y so
|
|
105
|
+
// it can compute downward distance for the activation decision.
|
|
106
|
+
const touchStartY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
107
|
+
|
|
108
|
+
// Refs used to mark the handle pan and the body pan as mutually
|
|
109
|
+
// simultaneous (manualActivation mode only). Without this RNGH treats them
|
|
110
|
+
// as racing gestures and a touch that begins in the handle area could be
|
|
111
|
+
// claimed by whichever recognizer activates first — leading to
|
|
112
|
+
// inconsistent drag start.
|
|
113
|
+
const bodyPanRef = (0, _react.useRef)(undefined);
|
|
114
|
+
const handlePanRef = (0, _react.useRef)(undefined);
|
|
86
115
|
useKeyboardHandler({
|
|
87
116
|
onMove: e => {
|
|
88
117
|
'worklet';
|
|
@@ -116,7 +145,20 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
116
145
|
(0, _react.useEffect)(() => {
|
|
117
146
|
renderedRef.current = rendered;
|
|
118
147
|
}, [rendered]);
|
|
119
|
-
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Commit a close. Two guards prevent stale callbacks from firing:
|
|
151
|
+
* 1. `hasClosedRef` — protects against the fallback timer AND the
|
|
152
|
+
* animation callback both racing to call us within a single close
|
|
153
|
+
* cycle.
|
|
154
|
+
* 2. `generation` — protects against a callback from a PREVIOUS close
|
|
155
|
+
* cycle firing AFTER the user reopened. If the live generation has
|
|
156
|
+
* advanced past the one captured when the close started, this
|
|
157
|
+
* callback is from a cycle that the user has implicitly cancelled
|
|
158
|
+
* by reopening — silently drop it.
|
|
159
|
+
*/
|
|
160
|
+
const finishClose = (0, _react.useCallback)(generation => {
|
|
161
|
+
if (closeGenerationRef.current !== generation) return;
|
|
120
162
|
if (hasClosedRef.current) return;
|
|
121
163
|
hasClosedRef.current = true;
|
|
122
164
|
safeClose();
|
|
@@ -129,16 +171,25 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
129
171
|
closeTimeoutRef.current = null;
|
|
130
172
|
}
|
|
131
173
|
hasClosedRef.current = false;
|
|
174
|
+
// Bump generation: any pending close-completion callback from a
|
|
175
|
+
// prior cycle (animation or fallback timer) will now no-op when
|
|
176
|
+
// it eventually fires, because its captured generation is stale.
|
|
177
|
+
closeGenerationRef.current += 1;
|
|
178
|
+
closeGeneration.value = closeGenerationRef.current;
|
|
132
179
|
opacity.value = (0, _reactNativeReanimated.withTiming)(1, {
|
|
133
180
|
duration: 250
|
|
134
181
|
});
|
|
135
182
|
translateY.value = (0, _reactNativeReanimated.withSpring)(0, SPRING_CONFIG);
|
|
136
183
|
} else if (rendered) {
|
|
184
|
+
// Capture the generation for THIS close cycle so the animation
|
|
185
|
+
// callback (running on the UI thread, scheduled back to JS) and
|
|
186
|
+
// the fallback timer agree on which cycle they belong to.
|
|
187
|
+
const generation = closeGenerationRef.current;
|
|
137
188
|
opacity.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
138
189
|
duration: 250
|
|
139
190
|
}, finished => {
|
|
140
191
|
if (finished) {
|
|
141
|
-
(0, _reactNativeReanimated.runOnJS)(finishClose)();
|
|
192
|
+
(0, _reactNativeReanimated.runOnJS)(finishClose)(generation);
|
|
142
193
|
}
|
|
143
194
|
});
|
|
144
195
|
translateY.value = (0, _reactNativeReanimated.withSpring)(screenHeight, {
|
|
@@ -146,21 +197,22 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
146
197
|
stiffness: 250
|
|
147
198
|
});
|
|
148
199
|
|
|
149
|
-
// Fallback timer to ensure close completes (especially on web
|
|
200
|
+
// Fallback timer to ensure close completes (especially on web
|
|
201
|
+
// where reanimated callbacks occasionally drop on tab blur).
|
|
150
202
|
if (closeTimeoutRef.current) {
|
|
151
203
|
clearTimeout(closeTimeoutRef.current);
|
|
152
204
|
}
|
|
153
205
|
closeTimeoutRef.current = setTimeout(() => {
|
|
154
|
-
finishClose();
|
|
206
|
+
finishClose(generation);
|
|
155
207
|
closeTimeoutRef.current = null;
|
|
156
208
|
}, 300);
|
|
157
209
|
}
|
|
158
|
-
}, [visible, rendered, finishClose]);
|
|
210
|
+
}, [visible, rendered, finishClose, screenHeight, closeGeneration, opacity, translateY]);
|
|
159
211
|
|
|
160
212
|
// On unmount: ensure pending close callbacks (e.g. consumer's `onDismiss`)
|
|
161
213
|
// still fire if the BS is yanked mid-animation by a parent re-render.
|
|
162
|
-
// Without this, `Dialog
|
|
163
|
-
// callbacks
|
|
214
|
+
// Without this, `Dialog`'s `handleDismiss` never runs and queued
|
|
215
|
+
// callbacks (post-close handlers) are silently lost.
|
|
164
216
|
// Only fires when the sheet was actually rendered (open or closing) to
|
|
165
217
|
// avoid spuriously calling onDismiss on bare unmount of a never-opened
|
|
166
218
|
// sheet. Refs are read inside the cleanup, so latest values are captured.
|
|
@@ -207,79 +259,216 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
207
259
|
}), [present, dismiss, scrollTo]);
|
|
208
260
|
const nativeGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Native(), []);
|
|
209
261
|
|
|
210
|
-
//
|
|
211
|
-
//
|
|
212
|
-
|
|
213
|
-
|
|
262
|
+
// Body pan — two strategies, switched by `manualActivation`.
|
|
263
|
+
//
|
|
264
|
+
// (1) Legacy mode (`manualActivation: false`, the bloom 0.3.x default):
|
|
265
|
+
// Pan is always active. We snapshot the scroll offset at `onStart`
|
|
266
|
+
// and gate movement on `scrollOffsetY <= 8` during the gesture.
|
|
267
|
+
// This is what current bloom consumers expect.
|
|
268
|
+
//
|
|
269
|
+
// (2) gorhom-style mode (`manualActivation: true`):
|
|
270
|
+
// Pan uses `manualActivation(true)` and only flips to active when
|
|
271
|
+
// the inner ScrollView is at the top AND the user has moved their
|
|
272
|
+
// finger downward > 8dp. In every other case it fails, so the
|
|
273
|
+
// ScrollView keeps full ownership of the touch. This is the only
|
|
274
|
+
// RNGH 2.x pattern that does not steal vertical events from the
|
|
275
|
+
// inner scroller on Android. Required for FileManagement /
|
|
276
|
+
// PhotoPicker style sheets.
|
|
277
|
+
const panGesture = (0, _react.useMemo)(() => {
|
|
278
|
+
if (manualActivation) {
|
|
279
|
+
return _reactNativeGestureHandler.Gesture.Pan().enabled(enablePanDownToClose).withRef(bodyPanRef).manualActivation(true).simultaneousWithExternalGesture(scrollViewRef, handlePanRef).onTouchesDown(e => {
|
|
280
|
+
'worklet';
|
|
214
281
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
282
|
+
const t = e.changedTouches[0];
|
|
283
|
+
if (t) touchStartY.value = t.absoluteY;
|
|
284
|
+
context.value = {
|
|
285
|
+
y: translateY.value
|
|
286
|
+
};
|
|
287
|
+
}).onTouchesMove((e, state) => {
|
|
288
|
+
'worklet';
|
|
221
289
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
} else {
|
|
237
|
-
// In normal mode, prevent overdrag - clamp to 0
|
|
238
|
-
translateY.value = 0;
|
|
239
|
-
}
|
|
240
|
-
}).onEnd(event => {
|
|
241
|
-
'worklet';
|
|
290
|
+
const t = e.changedTouches[0];
|
|
291
|
+
if (!t) return;
|
|
292
|
+
const dy = t.absoluteY - touchStartY.value;
|
|
293
|
+
const atTop = scrollOffsetY.value <= 4;
|
|
294
|
+
// Activate only when (at scroll top) AND (finger has moved
|
|
295
|
+
// downward by > 8dp). Any other motion: fail so the
|
|
296
|
+
// ScrollView claims the gesture.
|
|
297
|
+
if (atTop && dy > 8) {
|
|
298
|
+
state.activate();
|
|
299
|
+
} else if (dy < -4 || !atTop) {
|
|
300
|
+
state.fail();
|
|
301
|
+
}
|
|
302
|
+
}).onUpdate(event => {
|
|
303
|
+
'worklet';
|
|
242
304
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
velocity
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
305
|
+
if (event.translationY < 0) return;
|
|
306
|
+
const newTranslateY = context.value.y + event.translationY;
|
|
307
|
+
if (newTranslateY >= 0) {
|
|
308
|
+
translateY.value = newTranslateY;
|
|
309
|
+
}
|
|
310
|
+
}).onEnd(event => {
|
|
311
|
+
'worklet';
|
|
312
|
+
|
|
313
|
+
const velocity = event.velocityY;
|
|
314
|
+
const distance = translateY.value;
|
|
315
|
+
const closeThreshold = Math.max(140, screenHeightSV.value * 0.25);
|
|
316
|
+
const fastSwipeThreshold = 900;
|
|
317
|
+
const shouldClose = velocity > fastSwipeThreshold || distance > closeThreshold && velocity > -300;
|
|
318
|
+
if (shouldClose) {
|
|
319
|
+
// Snapshot the generation on the UI thread at the
|
|
320
|
+
// moment the close gesture commits. The completion
|
|
321
|
+
// callback only fires `finishClose` if no reopen
|
|
322
|
+
// bumped the generation in between.
|
|
323
|
+
const generation = closeGeneration.value;
|
|
324
|
+
translateY.value = (0, _reactNativeReanimated.withSpring)(screenHeightSV.value, {
|
|
325
|
+
...SPRING_CONFIG,
|
|
326
|
+
velocity
|
|
327
|
+
});
|
|
328
|
+
opacity.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
329
|
+
duration: 250
|
|
330
|
+
}, finished => {
|
|
331
|
+
if (finished) (0, _reactNativeReanimated.runOnJS)(finishClose)(generation);
|
|
332
|
+
});
|
|
333
|
+
} else {
|
|
334
|
+
translateY.value = (0, _reactNativeReanimated.withSpring)(0, {
|
|
335
|
+
...SPRING_CONFIG,
|
|
336
|
+
velocity
|
|
337
|
+
});
|
|
262
338
|
}
|
|
263
|
-
});
|
|
264
|
-
} else {
|
|
265
|
-
translateY.value = (0, _reactNativeReanimated.withSpring)(0, {
|
|
266
|
-
...SPRING_CONFIG,
|
|
267
|
-
velocity: velocity
|
|
268
339
|
});
|
|
269
340
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
341
|
+
|
|
342
|
+
// Legacy always-active pan (bloom 0.3.x behaviour).
|
|
343
|
+
return _reactNativeGestureHandler.Gesture.Pan().enabled(enablePanDownToClose).simultaneousWithExternalGesture(nativeGesture).onStart(() => {
|
|
344
|
+
'worklet';
|
|
345
|
+
|
|
346
|
+
context.value = {
|
|
347
|
+
y: translateY.value
|
|
348
|
+
};
|
|
349
|
+
allowPanClose.value = scrollOffsetY.value <= 8;
|
|
350
|
+
}).onUpdate(event => {
|
|
351
|
+
'worklet';
|
|
352
|
+
|
|
353
|
+
if (!allowPanClose.value) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
const newTranslateY = context.value.y + event.translationY;
|
|
357
|
+
// If user is scrolling down while content isn't at (or near) the top, let ScrollView handle it
|
|
358
|
+
const atTopOrNearTop = scrollOffsetY.value <= 8; // slightly larger tolerance for smoother handoff
|
|
359
|
+
if (event.translationY > 0 && !atTopOrNearTop) {
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
if (newTranslateY >= 0) {
|
|
363
|
+
translateY.value = newTranslateY;
|
|
364
|
+
} else if (detached) {
|
|
365
|
+
// Only allow overdrag (pulling up beyond top) when detached
|
|
366
|
+
translateY.value = newTranslateY * 0.3;
|
|
367
|
+
} else {
|
|
368
|
+
// In normal mode, prevent overdrag - clamp to 0
|
|
369
|
+
translateY.value = 0;
|
|
370
|
+
}
|
|
371
|
+
}).onEnd(event => {
|
|
372
|
+
'worklet';
|
|
373
|
+
|
|
374
|
+
if (!allowPanClose.value) {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
const velocity = event.velocityY;
|
|
378
|
+
const distance = translateY.value;
|
|
379
|
+
// Require a deeper pull to close (more like native bottom sheets)
|
|
380
|
+
const closeThreshold = Math.max(140, screenHeightSV.value * 0.25);
|
|
381
|
+
const fastSwipeThreshold = 900;
|
|
382
|
+
const shouldClose = velocity > fastSwipeThreshold || distance > closeThreshold && velocity > -300;
|
|
383
|
+
if (shouldClose) {
|
|
384
|
+
const generation = closeGeneration.value;
|
|
385
|
+
translateY.value = (0, _reactNativeReanimated.withSpring)(screenHeightSV.value, {
|
|
386
|
+
...SPRING_CONFIG,
|
|
387
|
+
velocity: velocity
|
|
388
|
+
});
|
|
389
|
+
opacity.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
390
|
+
duration: 250
|
|
391
|
+
}, finished => {
|
|
392
|
+
if (finished) {
|
|
393
|
+
(0, _reactNativeReanimated.runOnJS)(finishClose)(generation);
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
} else {
|
|
397
|
+
translateY.value = (0, _reactNativeReanimated.withSpring)(0, {
|
|
398
|
+
...SPRING_CONFIG,
|
|
399
|
+
velocity: velocity
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
// Shared values are stable refs; the listed deps are the only JS-side
|
|
404
|
+
// values that change the gesture's behavior. `finishClose` is stable
|
|
405
|
+
// (useCallback with stable deps).
|
|
406
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
407
|
+
}, [enablePanDownToClose, detached, manualActivation, nativeGesture, finishClose]);
|
|
408
|
+
|
|
409
|
+
// Dedicated handle pan — only built in `manualActivation` mode. Always
|
|
410
|
+
// active so users can drag the handle even while content is mid-scroll.
|
|
411
|
+
// In legacy mode the body pan already wraps the whole sheet (handle
|
|
412
|
+
// included), so no separate gesture is needed.
|
|
413
|
+
const handlePanGesture = (0, _react.useMemo)(() => {
|
|
414
|
+
if (!manualActivation) return undefined;
|
|
415
|
+
return _reactNativeGestureHandler.Gesture.Pan().enabled(enablePanDownToClose && enableHandlePanningGesture).withRef(handlePanRef).simultaneousWithExternalGesture(bodyPanRef).activeOffsetY([-8, 8]).onStart(() => {
|
|
416
|
+
'worklet';
|
|
417
|
+
|
|
418
|
+
context.value = {
|
|
419
|
+
y: translateY.value
|
|
420
|
+
};
|
|
421
|
+
}).onUpdate(event => {
|
|
422
|
+
'worklet';
|
|
423
|
+
|
|
424
|
+
const newTranslateY = context.value.y + event.translationY;
|
|
425
|
+
if (newTranslateY >= 0) {
|
|
426
|
+
translateY.value = newTranslateY;
|
|
427
|
+
} else if (detached) {
|
|
428
|
+
translateY.value = newTranslateY * 0.3;
|
|
429
|
+
} else {
|
|
430
|
+
translateY.value = 0;
|
|
431
|
+
}
|
|
432
|
+
}).onEnd(event => {
|
|
433
|
+
'worklet';
|
|
434
|
+
|
|
435
|
+
const velocity = event.velocityY;
|
|
436
|
+
const distance = translateY.value;
|
|
437
|
+
const closeThreshold = Math.max(140, screenHeightSV.value * 0.25);
|
|
438
|
+
const fastSwipeThreshold = 900;
|
|
439
|
+
const shouldClose = velocity > fastSwipeThreshold || distance > closeThreshold && velocity > -300;
|
|
440
|
+
if (shouldClose) {
|
|
441
|
+
const generation = closeGeneration.value;
|
|
442
|
+
translateY.value = (0, _reactNativeReanimated.withSpring)(screenHeightSV.value, {
|
|
443
|
+
...SPRING_CONFIG,
|
|
444
|
+
velocity
|
|
445
|
+
});
|
|
446
|
+
opacity.value = (0, _reactNativeReanimated.withTiming)(0, {
|
|
447
|
+
duration: 250
|
|
448
|
+
}, finished => {
|
|
449
|
+
if (finished) (0, _reactNativeReanimated.runOnJS)(finishClose)(generation);
|
|
450
|
+
});
|
|
451
|
+
} else {
|
|
452
|
+
translateY.value = (0, _reactNativeReanimated.withSpring)(0, {
|
|
453
|
+
...SPRING_CONFIG,
|
|
454
|
+
velocity
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
459
|
+
}, [manualActivation, enablePanDownToClose, enableHandlePanningGesture, detached, finishClose]);
|
|
276
460
|
|
|
277
461
|
// `opacity.value` drives the fade in/out (0 -> 1). `backdropOpacity` is the
|
|
278
462
|
// final dim level once fully visible. We multiply so the consumer-provided
|
|
279
|
-
// dim opacity applies smoothly across the animation.
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
463
|
+
// dim opacity applies smoothly across the animation. When
|
|
464
|
+
// `dynamicBackdrop` is enabled, the dim also fades proportionally with
|
|
465
|
+
// drag distance (iOS Photos style).
|
|
466
|
+
const backdropStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
467
|
+
const dragFactor = dynamicBackdrop ? (0, _reactNativeReanimated.interpolate)(translateY.value, [0, screenHeightSV.value * 0.4], [1, 0.3], 'clamp') : 1;
|
|
468
|
+
return {
|
|
469
|
+
opacity: opacity.value * backdropOpacity * dragFactor
|
|
470
|
+
};
|
|
471
|
+
}, [backdropOpacity, dynamicBackdrop]);
|
|
283
472
|
const sheetStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
284
473
|
const scale = (0, _reactNativeReanimated.interpolate)(translateY.value, [0, screenHeightSV.value], [1, 0.95]);
|
|
285
474
|
return {
|
|
@@ -336,6 +525,64 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
336
525
|
});
|
|
337
526
|
}, [colors.background, theme.isDark, detached]);
|
|
338
527
|
if (!rendered) return null;
|
|
528
|
+
|
|
529
|
+
// Default handle render — used when `handleComponent` is not provided.
|
|
530
|
+
const renderDefaultHandle = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
531
|
+
style: dynamicStyles.handle
|
|
532
|
+
});
|
|
533
|
+
const handleNode = showHandle ? handleComponent ? handleComponent() : renderDefaultHandle() : null;
|
|
534
|
+
|
|
535
|
+
// In `manualActivation` mode the handle gets its own gesture detector
|
|
536
|
+
// sitting in a dedicated absolutely-positioned hit area at the top of the
|
|
537
|
+
// sheet. In legacy mode the handle is rendered inline as a decorative
|
|
538
|
+
// overlay (the body pan covers the entire sheet, handle included).
|
|
539
|
+
const handleSlot = handleNode && manualActivation && handlePanGesture ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
540
|
+
gesture: handlePanGesture,
|
|
541
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
542
|
+
style: styles.handleHitArea,
|
|
543
|
+
accessible: true,
|
|
544
|
+
accessibilityRole: "adjustable",
|
|
545
|
+
children: handleNode
|
|
546
|
+
})
|
|
547
|
+
}) : handleNode;
|
|
548
|
+
|
|
549
|
+
// Inner content: scrollable wraps in Animated.ScrollView, non-scrollable
|
|
550
|
+
// renders children directly. In legacy mode the scrollview is also
|
|
551
|
+
// wrapped in the `nativeGesture` detector for scroll/pan coordination.
|
|
552
|
+
const scrollViewNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.ScrollView, {
|
|
553
|
+
ref: scrollViewRef,
|
|
554
|
+
style: [styles.scrollView, _reactNative.Platform.OS === 'web' && {
|
|
555
|
+
scrollbarWidth: 'thin',
|
|
556
|
+
scrollbarColor: `${colors.border} transparent`
|
|
557
|
+
}],
|
|
558
|
+
contentContainerStyle: dynamicStyles.scrollContent,
|
|
559
|
+
showsVerticalScrollIndicator: false,
|
|
560
|
+
keyboardShouldPersistTaps: "handled",
|
|
561
|
+
onScroll: scrollHandler,
|
|
562
|
+
scrollEventThrottle: 16,
|
|
563
|
+
...(_reactNative.Platform.OS === 'web' ? {
|
|
564
|
+
className: 'bottom-sheet-scrollview'
|
|
565
|
+
} : undefined),
|
|
566
|
+
onLayout: () => {
|
|
567
|
+
if (_reactNative.Platform.OS === 'web') {
|
|
568
|
+
createWebScrollbarStyle(colors.border);
|
|
569
|
+
}
|
|
570
|
+
},
|
|
571
|
+
children: children
|
|
572
|
+
});
|
|
573
|
+
const bodyContent = scrollable ? manualActivation
|
|
574
|
+
// In manualActivation mode the scroll view is referenced by the
|
|
575
|
+
// pan's simultaneous list directly; no wrapping native gesture.
|
|
576
|
+
? scrollViewNode
|
|
577
|
+
// Legacy mode: native gesture wraps the scroll view to coordinate
|
|
578
|
+
// with the always-active body pan.
|
|
579
|
+
: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
580
|
+
gesture: nativeGesture,
|
|
581
|
+
children: scrollViewNode
|
|
582
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
583
|
+
style: styles.nonScrollableContent,
|
|
584
|
+
children: children
|
|
585
|
+
});
|
|
339
586
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
|
|
340
587
|
visible: rendered,
|
|
341
588
|
transparent: true,
|
|
@@ -363,32 +610,7 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
363
610
|
style: [dynamicStyles.sheet, sheetMarginStyle, sheetStyle, sheetHeightStyle, style],
|
|
364
611
|
children: [backgroundComponent?.({
|
|
365
612
|
style: styles.background
|
|
366
|
-
}),
|
|
367
|
-
style: dynamicStyles.handle
|
|
368
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
369
|
-
gesture: nativeGesture,
|
|
370
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.ScrollView, {
|
|
371
|
-
ref: scrollViewRef,
|
|
372
|
-
style: [styles.scrollView, _reactNative.Platform.OS === 'web' && {
|
|
373
|
-
scrollbarWidth: 'thin',
|
|
374
|
-
scrollbarColor: `${colors.border} transparent`
|
|
375
|
-
}],
|
|
376
|
-
contentContainerStyle: dynamicStyles.scrollContent,
|
|
377
|
-
showsVerticalScrollIndicator: false,
|
|
378
|
-
keyboardShouldPersistTaps: "handled",
|
|
379
|
-
onScroll: scrollHandler,
|
|
380
|
-
scrollEventThrottle: 16,
|
|
381
|
-
...(_reactNative.Platform.OS === 'web' ? {
|
|
382
|
-
className: 'bottom-sheet-scrollview'
|
|
383
|
-
} : undefined),
|
|
384
|
-
onLayout: () => {
|
|
385
|
-
if (_reactNative.Platform.OS === 'web') {
|
|
386
|
-
createWebScrollbarStyle(colors.border);
|
|
387
|
-
}
|
|
388
|
-
},
|
|
389
|
-
children: children
|
|
390
|
-
})
|
|
391
|
-
})]
|
|
613
|
+
}), handleSlot, bodyContent]
|
|
392
614
|
})
|
|
393
615
|
})]
|
|
394
616
|
})
|
|
@@ -428,6 +650,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
428
650
|
borderTopLeftRadius: 24,
|
|
429
651
|
borderTopRightRadius: 24
|
|
430
652
|
},
|
|
653
|
+
/** Legacy (non-manualActivation) handle: decorative overlay only. */
|
|
431
654
|
handle: {
|
|
432
655
|
position: 'absolute',
|
|
433
656
|
top: 10,
|
|
@@ -438,6 +661,23 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
438
661
|
borderRadius: 3,
|
|
439
662
|
zIndex: 100
|
|
440
663
|
},
|
|
664
|
+
/**
|
|
665
|
+
* Hit area for the drag handle in `manualActivation` mode. Absolutely
|
|
666
|
+
* positioned at the top of the sheet so the area visually "floats" above
|
|
667
|
+
* the content — content scrolls up underneath it (no layout offset)
|
|
668
|
+
* while the thumb can still grab the full-width 28dp strip to drag.
|
|
669
|
+
*/
|
|
670
|
+
handleHitArea: {
|
|
671
|
+
position: 'absolute',
|
|
672
|
+
top: 0,
|
|
673
|
+
left: 0,
|
|
674
|
+
right: 0,
|
|
675
|
+
height: 28,
|
|
676
|
+
alignItems: 'center',
|
|
677
|
+
justifyContent: 'flex-start',
|
|
678
|
+
paddingTop: 6,
|
|
679
|
+
zIndex: 100
|
|
680
|
+
},
|
|
441
681
|
background: {
|
|
442
682
|
..._reactNative.StyleSheet.absoluteFillObject
|
|
443
683
|
},
|
|
@@ -446,6 +686,9 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
446
686
|
},
|
|
447
687
|
scrollContent: {
|
|
448
688
|
flexGrow: 1
|
|
689
|
+
},
|
|
690
|
+
nonScrollableContent: {
|
|
691
|
+
flex: 1
|
|
449
692
|
}
|
|
450
693
|
});
|
|
451
694
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","noopKeyboardHandler","_handlers","_deps","useKeyboardHandler","Platform","OS","moduleName","useScreenDimensions","dimensions","setDimensions","useState","Dimensions","useEffect","subscription","addEventListener","window","remove","SPRING_CONFIG","damping","stiffness","mass","BottomSheet","exports","forwardRef","props","ref","children","onDismiss","enablePanDownToClose","backgroundComponent","backdropComponent","style","enableHandlePanningGesture","onDismissAttempt","detached","showHandle","backdropOpacity","insets","useSafeAreaInsets","theme","useTheme","colors","height","screenHeight","visible","setVisible","rendered","setRendered","closeTimeoutRef","useRef","hasClosedRef","scrollViewRef","screenHeightSV","useSharedValue","value","translateY","opacity","scrollOffsetY","isScrollAtTop","allowPanClose","keyboardHeight","context","y","onMove","onEnd","safeClose","useCallback","safeCloseRef","current","renderedRef","finishClose","clearTimeout","withTiming","duration","withSpring","finished","runOnJS","setTimeout","createWebScrollbarStyle","border","removeWebScrollbarStyle","present","dismiss","scrollTo","animated","useImperativeHandle","close","expand","collapse","nativeGesture","useMemo","Gesture","Native","panGesture","Pan","enabled","simultaneousWithExternalGesture","onStart","onUpdate","event","newTranslateY","translationY","atTopOrNearTop","velocity","velocityY","distance","closeThreshold","Math","max","fastSwipeThreshold","shouldClose","backdropStyle","useAnimatedStyle","sheetStyle","scale","interpolate","transform","sheetHeightStyle","maxHeight","top","bottom","sheetMarginStyle","marginBottom","handleBackdropPress","scrollHandler","useAnimatedScrollHandler","onScroll","contentOffset","dynamicStyles","StyleSheet","create","handle","styles","backgroundColor","isDark","sheet","background","sheetDetached","sheetNormal","scrollContent","jsx","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","GestureHandlerRootView","rootView","jsxs","View","absoluteFill","backdrop","onPress","Pressable","backdropTouchable","GestureDetector","gesture","ScrollView","scrollView","scrollbarWidth","scrollbarColor","contentContainerStyle","showsVerticalScrollIndicator","keyboardShouldPersistTaps","scrollEventThrottle","className","undefined","onLayout","displayName","flex","position","overflow","maxWidth","alignSelf","marginHorizontal","left","right","borderRadius","borderTopLeftRadius","borderTopRightRadius","marginLeft","width","zIndex","absoluteFillObject","flexGrow","borderColor","document","styleElement","getElementById","SCROLLBAR_STYLE_ID","createElement","id","head","appendChild","scrollbarHoverColor","startsWith","replace","textContent","_default"],"sourceRoot":"../../../src","sources":["bottom-sheet/index.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAC,uBAAA,CAAAJ,OAAA;AASA,IAAAK,2BAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAA8C,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAI,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,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;AAE9C;AACA,MAAMkB,mBAAmB,GAAGA,CAACC,SAA0D,EAAEC,KAAgB,KAAK,CAAC,CAAC;AAChH,IAAIC,kBAAwG,GAAGH,mBAAmB;AAClI,IAAII,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,OAAOhC,OAAO,KAAK,WAAW,EAAE;EACzD,IAAI;IACA,MAAMiC,UAAU,GAAG,kCAAkC;IACrDH,kBAAkB,GAAG9B,OAAO,CAACiC,UAAU,CAAC,CAACH,kBAAkB;EAC/D,CAAC,CAAC,MAAM;IACJ;EAAA;AAER;;AAEA;AACA,SAASI,mBAAmBA,CAAA,EAAG;EAC3B,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAMC,uBAAU,CAAClB,GAAG,CAAC,QAAQ,CAAC,CAAC;EAE5E,IAAAmB,gBAAS,EAAC,MAAM;IACZ,MAAMC,YAAY,GAAGF,uBAAU,CAACG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;MAAEC;IAAO,CAAC,KAAK;MACvEN,aAAa,CAACM,MAAM,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,MAAMF,YAAY,CAACG,MAAM,CAAC,CAAC;EACtC,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOR,UAAU;AACrB;AAEA,MAAMS,aAAa,GAAG;EAClBC,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,GAAG;EACdC,IAAI,EAAE;AACV,CAAC;AA0CD,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,gBAAG,IAAAE,iBAAU,EAAC,CAACC,KAAuB,EAAEC,GAAuC,KAAK;EACjG,MAAM;IACFC,QAAQ;IACRC,SAAS;IACTC,oBAAoB,GAAG,IAAI;IAC3BC,mBAAmB;IACnBC,iBAAiB;IACjBC,KAAK;IACLC,0BAA0B,GAAG,IAAI;IACjCC,gBAAgB;IAChBC,QAAQ,GAAG,KAAK;IAChBC,UAAU,GAAG,IAAI;IACjBC,eAAe,GAAG;EACtB,CAAC,GAAGZ,KAAK;EAET,MAAMa,MAAM,GAAG,IAAAC,6CAAiB,EAAC,CAAC;EAClC,MAAMC,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAM;IAAEC;EAAO,CAAC,GAAGF,KAAK;EACxB,MAAM;IAAEG,MAAM,EAAEC;EAAa,CAAC,GAAGpC,mBAAmB,CAAC,CAAC;EACtD,MAAM,CAACqC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAnC,eAAQ,EAAC,KAAK,CAAC;EAC7C,MAAM,CAACoC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAArC,eAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;EACjD,MAAMsC,eAAe,GAAG,IAAAC,aAAM,EAAuC,IAAI,CAAC;EAC1E,MAAMC,YAAY,GAAG,IAAAD,aAAM,EAAC,KAAK,CAAC;EAClC,MAAME,aAAa,GAAG,IAAAF,aAAM,EAAsB,IAAI,CAAC;EAEvD,MAAMG,cAAc,GAAG,IAAAC,qCAAc,EAACV,YAAY,CAAC;EACnD;EACA,IAAA/B,gBAAS,EAAC,MAAM;IACZwC,cAAc,CAACE,KAAK,GAAGX,YAAY;EACvC,CAAC,EAAE,CAACA,YAAY,EAAES,cAAc,CAAC,CAAC;EAElC,MAAMG,UAAU,GAAG,IAAAF,qCAAc,EAACV,YAAY,CAAC;EAC/C,MAAMa,OAAO,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC;EACjC,MAAMI,aAAa,GAAG,IAAAJ,qCAAc,EAAC,CAAC,CAAC;EACvC,MAAMK,aAAa,GAAG,IAAAL,qCAAc,EAAC,IAAI,CAAC;EAC1C,MAAMM,aAAa,GAAG,IAAAN,qCAAc,EAAC,IAAI,CAAC;EAC1C,MAAMO,cAAc,GAAG,IAAAP,qCAAc,EAAC,CAAC,CAAC;EACxC,MAAMQ,OAAO,GAAG,IAAAR,qCAAc,EAAC;IAAES,CAAC,EAAE;EAAE,CAAC,CAAC;EAExC3D,kBAAkB,CAAC;IACf4D,MAAM,EAAGlF,CAAC,IAAK;MACX,SAAS;;MACT+E,cAAc,CAACN,KAAK,GAAGzE,CAAC,CAAC6D,MAAM;IACnC,CAAC;IACDsB,KAAK,EAAGnF,CAAC,IAAK;MACV,SAAS;;MACT+E,cAAc,CAACN,KAAK,GAAGzE,CAAC,CAAC6D,MAAM;IACnC;EACJ,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMuB,SAAS,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAChC,IAAIjC,gBAAgB,GAAG,CAAC,EAAE;MACtBN,SAAS,GAAG,CAAC;IACjB,CAAC,MAAM,IAAI,CAACM,gBAAgB,EAAE;MAC1BN,SAAS,GAAG,CAAC;IACjB;EACJ,CAAC,EAAE,CAACM,gBAAgB,EAAEN,SAAS,CAAC,CAAC;;EAEjC;EACA;EACA;EACA,MAAMwC,YAAY,GAAG,IAAAlB,aAAM,EAACgB,SAAS,CAAC;EACtC,IAAArD,gBAAS,EAAC,MAAM;IACZuD,YAAY,CAACC,OAAO,GAAGH,SAAS;EACpC,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EACf,MAAMI,WAAW,GAAG,IAAApB,aAAM,EAACH,QAAQ,CAAC;EACpC,IAAAlC,gBAAS,EAAC,MAAM;IACZyD,WAAW,CAACD,OAAO,GAAGtB,QAAQ;EAClC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,MAAMwB,WAAW,GAAG,IAAAJ,kBAAW,EAAC,MAAM;IAClC,IAAIhB,YAAY,CAACkB,OAAO,EAAE;IAC1BlB,YAAY,CAACkB,OAAO,GAAG,IAAI;IAC3BH,SAAS,CAAC,CAAC;IACXlB,WAAW,CAAC,KAAK,CAAC;EACtB,CAAC,EAAE,CAACkB,SAAS,CAAC,CAAC;EAEf,IAAArD,gBAAS,EAAC,MAAM;IACZ,IAAIgC,OAAO,EAAE;MACT,IAAII,eAAe,CAACoB,OAAO,EAAE;QACzBG,YAAY,CAACvB,eAAe,CAACoB,OAAO,CAAC;QACrCpB,eAAe,CAACoB,OAAO,GAAG,IAAI;MAClC;MACAlB,YAAY,CAACkB,OAAO,GAAG,KAAK;MAC5BZ,OAAO,CAACF,KAAK,GAAG,IAAAkB,iCAAU,EAAC,CAAC,EAAE;QAAEC,QAAQ,EAAE;MAAI,CAAC,CAAC;MAChDlB,UAAU,CAACD,KAAK,GAAG,IAAAoB,iCAAU,EAAC,CAAC,EAAEzD,aAAa,CAAC;IACnD,CAAC,MAAM,IAAI6B,QAAQ,EAAE;MACjBU,OAAO,CAACF,KAAK,GAAG,IAAAkB,iCAAU,EAAC,CAAC,EAAE;QAAEC,QAAQ,EAAE;MAAI,CAAC,EAAGE,QAAQ,IAAK;QAC3D,IAAIA,QAAQ,EAAE;UACV,IAAAC,8BAAO,EAACN,WAAW,CAAC,CAAC,CAAC;QAC1B;MACJ,CAAC,CAAC;MACFf,UAAU,CAACD,KAAK,GAAG,IAAAoB,iCAAU,EAAC/B,YAAY,EAAE;QAAE,GAAG1B,aAAa;QAAEE,SAAS,EAAE;MAAI,CAAC,CAAC;;MAEjF;MACA,IAAI6B,eAAe,CAACoB,OAAO,EAAE;QACzBG,YAAY,CAACvB,eAAe,CAACoB,OAAO,CAAC;MACzC;MACApB,eAAe,CAACoB,OAAO,GAAGS,UAAU,CAAC,MAAM;QACvCP,WAAW,CAAC,CAAC;QACbtB,eAAe,CAACoB,OAAO,GAAG,IAAI;MAClC,CAAC,EAAE,GAAG,CAAC;IACX;EACJ,CAAC,EAAE,CAACxB,OAAO,EAAEE,QAAQ,EAAEwB,WAAW,CAAC,CAAC;;EAEpC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAA1D,gBAAS,EAAC,MAAM,MAAM;IAClB,IAAIoC,eAAe,CAACoB,OAAO,EAAE;MACzBG,YAAY,CAACvB,eAAe,CAACoB,OAAO,CAAC;MACrCpB,eAAe,CAACoB,OAAO,GAAG,IAAI;IAClC;IACA,IAAIC,WAAW,CAACD,OAAO,IAAI,CAAClB,YAAY,CAACkB,OAAO,EAAE;MAC9ClB,YAAY,CAACkB,OAAO,GAAG,IAAI;MAC3BD,YAAY,CAACC,OAAO,CAAC,CAAC;IAC1B;EACJ,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAAxD,gBAAS,EAAC,MAAM;IACZ,IAAIR,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACvByE,uBAAuB,CAACrC,MAAM,CAACsC,MAAM,CAAC;IAC1C;IACA,OAAO,MAAM;MACTC,uBAAuB,CAAC,CAAC;IAC7B,CAAC;EACL,CAAC,EAAE,CAACvC,MAAM,CAACsC,MAAM,CAAC,CAAC;EAEnB,MAAME,OAAO,GAAG,IAAAf,kBAAW,EAAC,MAAM;IAC9BnB,WAAW,CAAC,IAAI,CAAC;IACjBF,UAAU,CAAC,IAAI,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EACN,MAAMqC,OAAO,GAAG,IAAAhB,kBAAW,EAAC,MAAM;IAC9BrB,UAAU,CAAC,KAAK,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMsC,QAAQ,GAAG,IAAAjB,kBAAW,EAAC,CAACJ,CAAS,EAAEsB,QAAQ,GAAG,IAAI,KAAK;IACzDjC,aAAa,CAACiB,OAAO,EAAEe,QAAQ,CAAC;MAAErB,CAAC;MAAEsB;IAAS,CAAC,CAAC;EACpD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAC,0BAAmB,EAAC5D,GAAG,EAAE,OAAO;IAC5BwD,OAAO;IACPC,OAAO;IACPI,KAAK,EAAEJ,OAAO;IACdK,MAAM,EAAEN,OAAO;IACfO,QAAQ,EAAEN,OAAO;IACjBC;EACJ,CAAC,CAAC,EAAE,CAACF,OAAO,EAAEC,OAAO,EAAEC,QAAQ,CAAC,CAAC;EAEjC,MAAMM,aAAa,GAAG,IAAAC,cAAO,EAAC,MAAMC,kCAAO,CAACC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;;EAEzD;EACA;EACA,MAAMC,UAAU,GAAG,IAAAH,cAAO,EACtB,MACIC,kCAAO,CAACG,GAAG,CAAC,CAAC,CACRC,OAAO,CAACnE,oBAAoB,CAAC,CAC7BoE,+BAA+B,CAACP,aAAa,CAAC,CAC9CQ,OAAO,CAAC,MAAM;IACX,SAAS;;IACTpC,OAAO,CAACP,KAAK,GAAG;MAAEQ,CAAC,EAAEP,UAAU,CAACD;IAAM,CAAC;IACvCK,aAAa,CAACL,KAAK,GAAGG,aAAa,CAACH,KAAK,IAAI,CAAC;EAClD,CAAC,CAAC,CACD4C,QAAQ,CAAEC,KAAK,IAAK;IACjB,SAAS;;IACT,IAAI,CAACxC,aAAa,CAACL,KAAK,EAAE;MACtB;IACJ;IACA,MAAM8C,aAAa,GAAGvC,OAAO,CAACP,KAAK,CAACQ,CAAC,GAAGqC,KAAK,CAACE,YAAY;IAC1D;IACA,MAAMC,cAAc,GAAG7C,aAAa,CAACH,KAAK,IAAI,CAAC,CAAC,CAAC;IACjD,IAAI6C,KAAK,CAACE,YAAY,GAAG,CAAC,IAAI,CAACC,cAAc,EAAE;MAC3C;IACJ;IACA,IAAIF,aAAa,IAAI,CAAC,EAAE;MACpB7C,UAAU,CAACD,KAAK,GAAG8C,aAAa;IACpC,CAAC,MAAM,IAAIlE,QAAQ,EAAE;MACjB;MACAqB,UAAU,CAACD,KAAK,GAAG8C,aAAa,GAAG,GAAG;IAC1C,CAAC,MAAM;MACH;MACA7C,UAAU,CAACD,KAAK,GAAG,CAAC;IACxB;EACJ,CAAC,CAAC,CACDU,KAAK,CAAEmC,KAAK,IAAK;IACd,SAAS;;IACT,IAAI,CAACxC,aAAa,CAACL,KAAK,EAAE;MACtB;IACJ;IACA,MAAMiD,QAAQ,GAAGJ,KAAK,CAACK,SAAS;IAChC,MAAMC,QAAQ,GAAGlD,UAAU,CAACD,KAAK;IACjC;IACA,MAAMoD,cAAc,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAExD,cAAc,CAACE,KAAK,GAAG,IAAI,CAAC;IACjE,MAAMuD,kBAAkB,GAAG,GAAG;IAC9B,MAAMC,WAAW,GACbP,QAAQ,GAAGM,kBAAkB,IAC5BJ,QAAQ,GAAGC,cAAc,IAAIH,QAAQ,GAAG,CAAC,GAAI;IAElD,IAAIO,WAAW,EAAE;MACbvD,UAAU,CAACD,KAAK,GAAG,IAAAoB,iCAAU,EAACtB,cAAc,CAACE,KAAK,EAAE;QAChD,GAAGrC,aAAa;QAChBsF,QAAQ,EAAEA;MACd,CAAC,CAAC;MACF/C,OAAO,CAACF,KAAK,GAAG,IAAAkB,iCAAU,EAAC,CAAC,EAAE;QAAEC,QAAQ,EAAE;MAAI,CAAC,EAAGE,QAAQ,IAAK;QAC3D,IAAIA,QAAQ,EAAE;UACV,IAAAC,8BAAO,EAACN,WAAW,CAAC,CAAC,CAAC;QAC1B;MACJ,CAAC,CAAC;IACN,CAAC,MAAM;MACHf,UAAU,CAACD,KAAK,GAAG,IAAAoB,iCAAU,EAAC,CAAC,EAAE;QAC7B,GAAGzD,aAAa;QAChBsF,QAAQ,EAAEA;MACd,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;EACV;EACA;EACA;EACA;EACA,CAAC3E,oBAAoB,EAAEM,QAAQ,EAAEuD,aAAa,EAAEnB,WAAW,CAC/D,CAAC;;EAED;EACA;EACA;EACA,MAAMyC,aAAa,GAAG,IAAAC,uCAAgB,EAAC,OAAO;IAC1CxD,OAAO,EAAEA,OAAO,CAACF,KAAK,GAAGlB;EAC7B,CAAC,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAEtB,MAAM6E,UAAU,GAAG,IAAAD,uCAAgB,EAAC,MAAM;IACtC,MAAME,KAAK,GAAG,IAAAC,kCAAW,EAAC5D,UAAU,CAACD,KAAK,EAAE,CAAC,CAAC,EAAEF,cAAc,CAACE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjF,OAAO;MACH8D,SAAS,EAAE,CACP;QAAE7D,UAAU,EAAEA,UAAU,CAACD,KAAK,GAAGM,cAAc,CAACN;MAAM,CAAC,EACvD;QAAE4D;MAAM,CAAC;IAEjB,CAAC;EACL,CAAC,CAAC;EAEF,MAAMG,gBAAgB,GAAG,IAAAL,uCAAgB,EAAC,OAAO;IAC7CM,SAAS,EAAElE,cAAc,CAACE,KAAK,GAAGM,cAAc,CAACN,KAAK,GAAGjB,MAAM,CAACkF,GAAG,IAAIrF,QAAQ,GAAGG,MAAM,CAACmF,MAAM,GAAG,EAAE,GAAG,CAAC;EAC5G,CAAC,CAAC,EAAE,CAACnF,MAAM,CAACkF,GAAG,EAAElF,MAAM,CAACmF,MAAM,EAAEtF,QAAQ,CAAC,CAAC;EAE1C,MAAMuF,gBAAgB,GAAG,IAAAT,uCAAgB,EAAC,MAAM;IAC5C;IACA,IAAI9E,QAAQ,EAAE;MACV,OAAO;QACHwF,YAAY,EAAE9D,cAAc,CAACN,KAAK,GAAG,CAAC,GAAG,EAAE,GAAGjB,MAAM,CAACmF,MAAM,GAAG;MAClE,CAAC;IACL;IACA,OAAO;MACHE,YAAY,EAAE;IAClB,CAAC;EACL,CAAC,EAAE,CAACrF,MAAM,CAACmF,MAAM,EAAEtF,QAAQ,CAAC,CAAC;EAE7B,MAAMyF,mBAAmB,GAAG,IAAAzD,kBAAW,EAAC,MAAM;IAC1C;IACA,IAAIjC,gBAAgB,IAAI,CAACA,gBAAgB,CAAC,CAAC,EAAE;MACzC;IACJ;IACAiD,OAAO,CAAC,CAAC;EACb,CAAC,EAAE,CAACjD,gBAAgB,EAAEiD,OAAO,CAAC,CAAC;EAE/B,MAAM0C,aAAa,GAAG,IAAAC,+CAAwB,EAAC;IAC3CC,QAAQ,EAAG3B,KAAK,IAAK;MACjB1C,aAAa,CAACH,KAAK,GAAG6C,KAAK,CAAC4B,aAAa,CAACjE,CAAC;MAC3CJ,aAAa,CAACJ,KAAK,GAAG6C,KAAK,CAAC4B,aAAa,CAACjE,CAAC,IAAI,CAAC;IACpD;EACJ,CAAC,CAAC;EAEF,MAAMkE,aAAa,GAAG,IAAAtC,cAAO,EAAC,MAAM;IAChC,OAAOuC,uBAAU,CAACC,MAAM,CAAC;MACrBC,MAAM,EAAE;QACJ,GAAGC,MAAM,CAACD,MAAM;QAChBE,eAAe,EAAE9F,KAAK,CAAC+F,MAAM,GAAG,MAAM,GAAG;MAC7C,CAAC;MACDC,KAAK,EAAE;QACH,GAAGH,MAAM,CAACG,KAAK;QACfF,eAAe,EAAE5F,MAAM,CAAC+F,UAAU;QAClC,IAAItG,QAAQ,GAAGkG,MAAM,CAACK,aAAa,GAAGL,MAAM,CAACM,WAAW;MAC5D,CAAC;MACDC,aAAa,EAAE;QACX,GAAGP,MAAM,CAACO;QACV;QACA;MACJ;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAAClG,MAAM,CAAC+F,UAAU,EAAEjG,KAAK,CAAC+F,MAAM,EAAEpG,QAAQ,CAAC,CAAC;EAE/C,IAAI,CAACY,QAAQ,EAAE,OAAO,IAAI;EAE1B,oBACI,IAAAlE,WAAA,CAAAgK,GAAA,EAACtK,YAAA,CAAAuK,KAAK;IAACjG,OAAO,EAAEE,QAAS;IAACgG,WAAW;IAACC,aAAa,EAAC,MAAM;IAACC,oBAAoB;IAACC,cAAc,EAAE/D,OAAQ;IAAAxD,QAAA,eAIpG,IAAA9C,WAAA,CAAAgK,GAAA,EAACrK,0BAAA,CAAA2K,sBAAsB;MAACnH,KAAK,EAAEqG,MAAM,CAACe,QAAS;MAAAzH,QAAA,eAC3C,IAAA9C,WAAA,CAAAwK,IAAA,EAAC9K,YAAA,CAAA+K,IAAI;QAACtH,KAAK,EAAEkG,uBAAU,CAACqB,YAAa;QAAA5H,QAAA,gBACjC,IAAA9C,WAAA,CAAAgK,GAAA,EAACpK,sBAAA,CAAAe,OAAQ,CAAC8J,IAAI;UAACtH,KAAK,EAAE,CAACqG,MAAM,CAACmB,QAAQ,EAAExC,aAAa,CAAE;UAAArF,QAAA,EAClDI,iBAAiB,GACdA,iBAAiB,CAAC;YAAE0H,OAAO,EAAE7B;UAAoB,CAAC,CAAC,gBAEnD,IAAA/I,WAAA,CAAAgK,GAAA,EAACtK,YAAA,CAAAmL,SAAS;YAAC1H,KAAK,EAAEqG,MAAM,CAACsB,iBAAkB;YAACF,OAAO,EAAE7B,mBAAoB;YAAAjG,QAAA,eACrE,IAAA9C,WAAA,CAAAgK,GAAA,EAACtK,YAAA,CAAA+K,IAAI;cAACtH,KAAK,EAAEkG,uBAAU,CAACqB;YAAa,CAAE;UAAC,CACjC;QACd,CACU,CAAC,eAEhB,IAAA1K,WAAA,CAAAgK,GAAA,EAACrK,0BAAA,CAAAoL,eAAe;UAACC,OAAO,EAAE/D,UAAW;UAAAnE,QAAA,eACjC,IAAA9C,WAAA,CAAAwK,IAAA,EAAC5K,sBAAA,CAAAe,OAAQ,CAAC8J,IAAI;YAACtH,KAAK,EAAE,CAACiG,aAAa,CAACO,KAAK,EAAEd,gBAAgB,EAAER,UAAU,EAAEI,gBAAgB,EAAEtF,KAAK,CAAE;YAAAL,QAAA,GAC9FG,mBAAmB,GAAG;cAAEE,KAAK,EAAEqG,MAAM,CAACI;YAAW,CAAC,CAAC,EAEnDrG,UAAU,iBAAI,IAAAvD,WAAA,CAAAgK,GAAA,EAACtK,YAAA,CAAA+K,IAAI;cAACtH,KAAK,EAAEiG,aAAa,CAACG;YAAO,CAAE,CAAC,eAEpD,IAAAvJ,WAAA,CAAAgK,GAAA,EAACrK,0BAAA,CAAAoL,eAAe;cAACC,OAAO,EAAEnE,aAAc;cAAA/D,QAAA,eACpC,IAAA9C,WAAA,CAAAgK,GAAA,EAACpK,sBAAA,CAAAe,OAAQ,CAACsK,UAAU;gBAChBpI,GAAG,EAAE0B,aAAc;gBACnBpB,KAAK,EAAE,CACHqG,MAAM,CAAC0B,UAAU,EACjB1J,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAK;kBACtB0J,cAAc,EAAE,MAAM;kBACtBC,cAAc,EAAE,GAAGvH,MAAM,CAACsC,MAAM;gBACpC,CAAe,CACjB;gBACFkF,qBAAqB,EAAEjC,aAAa,CAACW,aAAc;gBACnDuB,4BAA4B,EAAE,KAAM;gBACpCC,yBAAyB,EAAC,SAAS;gBACnCrC,QAAQ,EAAEF,aAAc;gBACxBwC,mBAAmB,EAAE,EAAG;gBAAA,IACnBhK,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG;kBAAEgK,SAAS,EAAE;gBAA0B,CAAC,GAAGC,SAAS;gBACjFC,QAAQ,EAAEA,CAAA,KAAM;kBACZ,IAAInK,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;oBACvByE,uBAAuB,CAACrC,MAAM,CAACsC,MAAM,CAAC;kBAC1C;gBACJ,CAAE;gBAAArD,QAAA,EAEDA;cAAQ,CACQ;YAAC,CACT,CAAC;UAAA,CACP;QAAC,CACH,CAAC;MAAA,CAChB;IAAC,CACa;EAAC,CACtB,CAAC;AAEhB,CAAC,CAAC;AAEFL,WAAW,CAACmJ,WAAW,GAAG,aAAa;AAEvC,MAAMpC,MAAM,GAAGH,uBAAU,CAACC,MAAM,CAAC;EAC7BiB,QAAQ,EAAE;IACNsB,IAAI,EAAE;EACV,CAAC;EACDlB,QAAQ,EAAE;IACN;IACA;IACAkB,IAAI,EAAE,CAAC;IACPpC,eAAe,EAAE;EACrB,CAAC;EACDqB,iBAAiB,EAAE;IACfe,IAAI,EAAE;EACV,CAAC;EACDlC,KAAK,EAAE;IACHmC,QAAQ,EAAE,UAAU;IACpBlD,MAAM,EAAE,CAAC;IACTmD,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE,GAAG;IACbC,SAAS,EAAE,QAAQ;IACnBC,gBAAgB,EAAE;EACtB,CAAC;EACDrC,aAAa,EAAE;IACXsC,IAAI,EAAE,EAAE;IACRC,KAAK,EAAE,EAAE;IACTC,YAAY,EAAE;EAClB,CAAC;EACDvC,WAAW,EAAE;IACTqC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRE,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EAC1B,CAAC;EACDhD,MAAM,EAAE;IACJuC,QAAQ,EAAE,UAAU;IACpBnD,GAAG,EAAE,EAAE;IACPwD,IAAI,EAAE,KAAK;IACXK,UAAU,EAAE,CAAC,EAAE;IACfC,KAAK,EAAE,EAAE;IACT3I,MAAM,EAAE,CAAC;IACTuI,YAAY,EAAE,CAAC;IACfK,MAAM,EAAE;EACZ,CAAC;EACD9C,UAAU,EAAE;IACR,GAAGP,uBAAU,CAACsD;EAClB,CAAC;EACDzB,UAAU,EAAE;IACRW,IAAI,EAAE;EACV,CAAC;EACD9B,aAAa,EAAE;IACX6C,QAAQ,EAAE;EACd;AACJ,CAAC,CAAC;;AAEF;AACA,MAAM1G,uBAAuB,GAAI2G,WAAmB,IAAK;EACrD,IAAIrL,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,OAAOqL,QAAQ,KAAK,WAAW,EAAE;EAE9D,IAAIC,YAAY,GAAGD,QAAQ,CAACE,cAAc,CAACC,kBAAkB,CAA4B;EAEzF,IAAI,CAACF,YAAY,EAAE;IACfA,YAAY,GAAGD,QAAQ,CAACI,aAAa,CAAC,OAAO,CAAC;IAC9CH,YAAY,CAACI,EAAE,GAAGF,kBAAkB;IACpCH,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACN,YAAY,CAAC;EAC3C;;EAEA;EACA,MAAM3B,cAAc,GAAGyB,WAAW;EAClC,MAAMS,mBAAmB,GAAGT,WAAW,CAACU,UAAU,CAAC,KAAK,CAAC,GACnDV,WAAW,CAACW,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAE;EAAA,EACvC,MAAM;EAEZT,YAAY,CAACU,WAAW,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0BrC,cAAc;AACxC;AACA;AACA;AACA,0BAA0BkC,mBAAmB;AAC7C;AACA,KAAK;AACL,CAAC;AAED,MAAML,kBAAkB,GAAG,8BAA8B;;AAEzD;AACA,MAAM7G,uBAAuB,GAAGA,CAAA,KAAM;EAClC,IAAI5E,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,OAAOqL,QAAQ,KAAK,WAAW,EAAE;EAC9DA,QAAQ,CAACE,cAAc,CAACC,kBAAkB,CAAC,EAAE7K,MAAM,CAAC,CAAC;AACzD,CAAC;AAAC,IAAAsL,QAAA,GAAAhL,OAAA,CAAA/B,OAAA,GAEa8B,WAAW","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","noopKeyboardHandler","_handlers","_deps","useKeyboardHandler","Platform","OS","moduleName","useScreenDimensions","dimensions","setDimensions","useState","Dimensions","useEffect","subscription","addEventListener","window","remove","SPRING_CONFIG","damping","stiffness","mass","BottomSheet","exports","forwardRef","props","ref","children","onDismiss","enablePanDownToClose","backgroundComponent","backdropComponent","style","enableHandlePanningGesture","onDismissAttempt","detached","showHandle","backdropOpacity","scrollable","manualActivation","dynamicBackdrop","handleComponent","insets","useSafeAreaInsets","theme","useTheme","colors","height","screenHeight","visible","setVisible","rendered","setRendered","closeTimeoutRef","useRef","hasClosedRef","scrollViewRef","closeGenerationRef","screenHeightSV","useSharedValue","value","translateY","opacity","scrollOffsetY","isScrollAtTop","allowPanClose","keyboardHeight","context","y","closeGeneration","touchStartY","bodyPanRef","undefined","handlePanRef","onMove","onEnd","safeClose","useCallback","safeCloseRef","current","renderedRef","finishClose","generation","clearTimeout","withTiming","duration","withSpring","finished","runOnJS","setTimeout","createWebScrollbarStyle","border","removeWebScrollbarStyle","present","dismiss","scrollTo","animated","useImperativeHandle","close","expand","collapse","nativeGesture","useMemo","Gesture","Native","panGesture","Pan","enabled","withRef","simultaneousWithExternalGesture","onTouchesDown","changedTouches","absoluteY","onTouchesMove","state","dy","atTop","activate","fail","onUpdate","event","translationY","newTranslateY","velocity","velocityY","distance","closeThreshold","Math","max","fastSwipeThreshold","shouldClose","onStart","atTopOrNearTop","handlePanGesture","activeOffsetY","backdropStyle","useAnimatedStyle","dragFactor","interpolate","sheetStyle","scale","transform","sheetHeightStyle","maxHeight","top","bottom","sheetMarginStyle","marginBottom","handleBackdropPress","scrollHandler","useAnimatedScrollHandler","onScroll","contentOffset","dynamicStyles","StyleSheet","create","handle","styles","backgroundColor","isDark","sheet","background","sheetDetached","sheetNormal","scrollContent","renderDefaultHandle","jsx","View","handleNode","handleSlot","GestureDetector","gesture","handleHitArea","accessible","accessibilityRole","scrollViewNode","ScrollView","scrollView","scrollbarWidth","scrollbarColor","contentContainerStyle","showsVerticalScrollIndicator","keyboardShouldPersistTaps","scrollEventThrottle","className","onLayout","bodyContent","nonScrollableContent","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","GestureHandlerRootView","rootView","jsxs","absoluteFill","backdrop","onPress","Pressable","backdropTouchable","displayName","flex","position","overflow","maxWidth","alignSelf","marginHorizontal","left","right","borderRadius","borderTopLeftRadius","borderTopRightRadius","marginLeft","width","zIndex","alignItems","justifyContent","paddingTop","absoluteFillObject","flexGrow","borderColor","document","styleElement","getElementById","SCROLLBAR_STYLE_ID","createElement","id","head","appendChild","scrollbarHoverColor","startsWith","replace","textContent","_default"],"sourceRoot":"../../../src","sources":["bottom-sheet/index.tsx"],"mappings":"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","ignoreList":[]}
|