@tamagui/sheet 2.3.3 → 2.4.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.
Files changed (52) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/SheetImplementationCustom.cjs +42 -29
  3. package/dist/cjs/SheetImplementationCustom.native.js +46 -33
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  5. package/dist/cjs/SheetScrollView.cjs +64 -22
  6. package/dist/cjs/SheetScrollView.native.js +66 -23
  7. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  8. package/dist/cjs/useGestureHandlerPan.cjs +61 -8
  9. package/dist/cjs/useGestureHandlerPan.native.js +64 -8
  10. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  11. package/dist/cjs/useSheetScrollViewGestures.cjs +13 -3
  12. package/dist/esm/SheetImplementationCustom.mjs +43 -32
  13. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  14. package/dist/esm/SheetImplementationCustom.native.js +47 -36
  15. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  16. package/dist/esm/SheetScrollView.mjs +64 -22
  17. package/dist/esm/SheetScrollView.mjs.map +1 -1
  18. package/dist/esm/SheetScrollView.native.js +66 -23
  19. package/dist/esm/SheetScrollView.native.js.map +1 -1
  20. package/dist/esm/useGestureHandlerPan.mjs +62 -9
  21. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  22. package/dist/esm/useGestureHandlerPan.native.js +65 -9
  23. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  24. package/dist/esm/useSheetScrollViewGestures.mjs +13 -3
  25. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  26. package/dist/jsx/SheetImplementationCustom.mjs +43 -32
  27. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  28. package/dist/jsx/SheetImplementationCustom.native.js +46 -33
  29. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  30. package/dist/jsx/SheetScrollView.mjs +64 -22
  31. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  32. package/dist/jsx/SheetScrollView.native.js +66 -23
  33. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  34. package/dist/jsx/useGestureHandlerPan.mjs +62 -9
  35. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  36. package/dist/jsx/useGestureHandlerPan.native.js +64 -8
  37. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  38. package/dist/jsx/useSheetScrollViewGestures.mjs +13 -3
  39. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  40. package/package.json +20 -20
  41. package/src/SheetImplementationCustom.tsx +79 -47
  42. package/src/SheetScrollView.tsx +61 -13
  43. package/src/types.tsx +3 -0
  44. package/src/useGestureHandlerPan.tsx +64 -10
  45. package/src/useSheetScrollViewGestures.ts +17 -2
  46. package/types/SheetImplementationCustom.d.ts.map +1 -1
  47. package/types/SheetScrollView.d.ts.map +1 -1
  48. package/types/types.d.ts +1 -0
  49. package/types/types.d.ts.map +1 -1
  50. package/types/useGestureHandlerPan.d.ts.map +1 -1
  51. package/types/useSheetScrollViewGestures.d.ts +2 -1
  52. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
@@ -74,8 +74,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
74
74
  } = state;
75
75
  const openRef = React.useRef(open);
76
76
  openRef.current = open;
77
- const sheetRef = React.useRef(void 0);
78
- const ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef);
77
+ const ref = useComposedRefs(forwardedRef, React.useRef(void 0), providerProps.contentRef);
79
78
  const {
80
79
  animationDriver
81
80
  } = useConfiguration();
@@ -109,6 +108,11 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
109
108
  if (open && frameSize) stableFrameSize.current = frameSize;
110
109
  }, [open, frameSize]);
111
110
  const isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;
111
+ const isNativeKbFitSheet = !isWeb && hasFit && Boolean(moveOnKeyboardChange);
112
+ const preKeyboardFrameSize = React.useRef(0);
113
+ React.useEffect(() => {
114
+ if (isNativeKbFitSheet && open && !isKeyboardVisible && frameSize > 0) preKeyboardFrameSize.current = frameSize;
115
+ }, [isNativeKbFitSheet, open, isKeyboardVisible, frameSize]);
112
116
  const effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;
113
117
  const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
114
118
  const positions = React.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize)), [effScreenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
@@ -142,11 +146,10 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
142
146
  screenSize: effScreenSize,
143
147
  sheetY: position >= 0 ? activePositions[position] : void 0
144
148
  });
145
- const keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;
149
+ const keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;
146
150
  const {
147
151
  useAnimatedNumber,
148
- useAnimatedNumberStyle,
149
- useAnimatedNumberReaction
152
+ useAnimatedNumberStyle
150
153
  } = animationDriver;
151
154
  const AnimatedView = animationDriver.View ?? View;
152
155
  useIsomorphicLayoutEffect(() => {
@@ -168,30 +171,46 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
168
171
  if (controller?.skipNextAnimation) skipAdaptAnimation.current = true;
169
172
  const hasScrollView = React.useRef(false);
170
173
  const opacityFallbackTimer = React.useRef(null);
171
- useAnimatedNumberReaction({
172
- value: animatedNumber,
173
- hostRef: sheetRef
174
- }, React.useCallback(value => {
174
+ const syncAnimatedPosition = useEvent(value => {
175
175
  at.current = value;
176
176
  scrollBridge.paneY = value;
177
177
  const minY = activePositions[0];
178
178
  const wasAtTop = scrollBridge.isAtTop;
179
179
  const nowAtTop = value <= minY + 5;
180
- if (wasAtTop !== nowAtTop) {
181
- scrollBridge.isAtTop = nowAtTop;
182
- if (nowAtTop) {
180
+ if (wasAtTop === nowAtTop) return;
181
+ scrollBridge.isAtTop = nowAtTop;
182
+ if (nowAtTop) {
183
+ if (scrollBridge.lockScrollAtTop) {
183
184
  if (scrollBridge.y > 0) {
184
185
  scrollBridge.forceScrollTo?.(0);
185
186
  scrollBridge.y = 0;
186
187
  }
187
- scrollBridge.scrollLockY = void 0;
188
- scrollBridge.setScrollEnabled?.(true);
189
- } else {
190
188
  scrollBridge.scrollLockY = 0;
191
- scrollBridge.setScrollEnabled?.(false);
189
+ scrollBridge.setScrollEnabled?.(false, 0);
190
+ return;
191
+ }
192
+ if (scrollBridge.y > 0) {
193
+ scrollBridge.forceScrollTo?.(0);
194
+ scrollBridge.y = 0;
192
195
  }
196
+ scrollBridge.scrollLockY = void 0;
197
+ scrollBridge.setScrollEnabled?.(true);
198
+ } else {
199
+ scrollBridge.scrollLockY = 0;
200
+ scrollBridge.setScrollEnabled?.(false);
193
201
  }
194
- }, [animationDriver, activePositions]));
202
+ });
203
+ const setAnimatedPositionDirect = useEvent(value => {
204
+ syncAnimatedPosition(value);
205
+ animatedNumber.setValue(value, {
206
+ type: "direct"
207
+ });
208
+ });
209
+ const getAnimatedPosition = useEvent(() => {
210
+ const value = animatedNumber.getValue();
211
+ syncAnimatedPosition(value);
212
+ return value;
213
+ });
195
214
  function stopSpring() {
196
215
  animatedNumber.stop();
197
216
  if (scrollBridge.onFinishAnimate) {
@@ -212,6 +231,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
212
231
  opacityFallbackTimer.current = null;
213
232
  }
214
233
  const animationCompleteCallback = () => {
234
+ syncAnimatedPosition(toValue);
215
235
  if (opacityFallbackTimer.current) {
216
236
  clearTimeout(opacityFallbackTimer.current);
217
237
  opacityFallbackTimer.current = null;
@@ -248,6 +268,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
248
268
  type: "timing",
249
269
  duration: 0
250
270
  }, () => {
271
+ syncAnimatedPosition(screenSize);
251
272
  setTimeout(() => {
252
273
  setDisableAnimation(false);
253
274
  }, 10);
@@ -346,7 +367,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
346
367
  const grant = () => {
347
368
  setPanning(true);
348
369
  stopSpring();
349
- startY = at.current;
370
+ startY = getAnimatedPosition();
350
371
  };
351
372
  let isExternalDrag = false;
352
373
  scrollBridge.startPanDrag = () => {
@@ -358,10 +379,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
358
379
  isExternalDrag = true;
359
380
  grant();
360
381
  }
361
- const to = dy + startY;
362
- animatedNumber.setValue(resisted(to, minY), {
363
- type: "direct"
364
- });
382
+ setAnimatedPositionDirect(resisted(dy + startY, minY));
365
383
  };
366
384
  scrollBridge.release = release;
367
385
  scrollBridge.snapToPosition = positionIndex => {
@@ -379,9 +397,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
379
397
  }) => {
380
398
  const to = resisted(dy + startY, minY);
381
399
  if (to <= minY) scrollBridge.setParentDragging(false);else scrollBridge.setParentDragging(true);
382
- animatedNumber.setValue(to, {
383
- type: "direct"
384
- });
400
+ setAnimatedPositionDirect(to);
385
401
  },
386
402
  onPanResponderEnd: finish,
387
403
  onPanResponderTerminate: finish,
@@ -426,16 +442,11 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
426
442
  stopSpring,
427
443
  scrollBridge,
428
444
  setIsDragging,
429
- getCurrentPosition: () => at.current,
445
+ getCurrentPosition: getAnimatedPosition,
430
446
  resisted,
431
447
  disableDrag,
432
448
  isShowingInnerSheet,
433
- setAnimatedPosition: val => {
434
- at.current = val;
435
- animatedNumber.setValue(val, {
436
- type: "direct"
437
- });
438
- },
449
+ setAnimatedPosition: setAnimatedPositionDirect,
439
450
  dismissOnSnapToBottom,
440
451
  snapPointsMode,
441
452
  isKeyboardVisible,
@@ -1 +1 @@
1
- {"version":3,"names":["AnimatePresence","useComposedRefs","isWeb","useIsomorphicLayoutEffect","LayoutMeasurementController","View","useConfiguration","useDidFinishSSR","useEvent","useThemeName","Portal","needsPortalRepropagation","React","useState","Dimensions","PanResponder","View$1","ParentSheetContext","SheetInsideSheetContext","GestureDetectorWrapper","getGestureHandlerState","GestureSheetProvider","resisted","getKeyboardAdjustedSheetY","getKeyboardOccludedHeight","getSheetReleasePosition","MIN_KEYBOARD_HEIGHT","getMaxViewportHeight","getStableLayoutViewportHeight","getWebKeyboardResizeHeight","getWebVisualViewportOffsetTop","SheetProvider","useGestureHandlerPan","useKeyboardControllerSheet","useSafeAreaInsets","useSheetOpenState","useSheetProviderProps","jsx","jsxs","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","sheetHiddenStyleSheet","relativeDimensionTo","getStableViewportHeight","window","get","SheetImplementationCustom","forwardRef","SheetImplementationCustom2","props","forwardedRef","parentSheet","useContext","safeAreaTopInset","top","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","overlayComponent","setOverlayComponent","providerProps","onOverlayComponent","frameSize","setFrameSize","dismissOnSnapToBottom","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","sheetRef","ref","contentRef","animationDriver","Error","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","sheetInsideSheet","onInnerSheet","useCallback","hasChild","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","enabled","Boolean","stableFrameSize","useEffect","isWebKbSheet","effScreenSize","effectiveFrameSize","positions","useMemo","map","point","getYPositions","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","p","sheetY","shouldTranslate","safeAreaTop","keyboardOccludedHeight","keyboardStableFrameHeight","useAnimatedNumber","useAnimatedNumberStyle","useAnimatedNumberReaction","AnimatedView","nextParentContext","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","value","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","y","forceScrollTo","scrollLockY","setScrollEnabled","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","closeTarget","Math","max","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","disableDrag","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","document","createElement","head","appendChild","innerText","release","vy","setParentDragging","isExternalDrag","previouslyScrolling","currentPos","closestPoint","projectedEnd","currentPosition","finish","_e","state2","dragAt","dy","onMoveShouldSet","e","getShouldSet","target","handleRef","scrollNodeTouched","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","startPanDrag","drag","to","snapToPosition","positionIndex","create","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onPanResponderGrant","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","getCurrentPosition","setAnimatedPosition","ignoreLayoutForKeyboard","handleAnimationViewLayout","layoutHeight","nativeEvent","layout","next","min","round","handleMaxContentViewLayout","animatedStyle","transform","translateY","opacity","forcedContentHeight","setHasScrollView","contents","disable","children","Provider","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","minHeight","gesture","flex","panHandlers","shouldMountChildren","RNGHRoot","RootView","mountedContents","modalContents","stackZIndex","mode","endsWith","pct2","Number","slice","isNaN","console","warn","pct"],"sources":["SheetImplementationCustom.mjs"],"sourcesContent":["import { AnimatePresence } from \"@tamagui/animate-presence\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { LayoutMeasurementController, View, useConfiguration, useDidFinishSSR, useEvent, useThemeName } from \"@tamagui/core\";\nimport { Portal, needsPortalRepropagation } from \"@tamagui/portal\";\nimport React, { useState } from \"react\";\nimport { Dimensions, PanResponder, View as View$1 } from \"react-native-web\";\nimport { ParentSheetContext, SheetInsideSheetContext } from \"./contexts\";\nimport { GestureDetectorWrapper } from \"./GestureDetectorWrapper\";\nimport { getGestureHandlerState } from \"./gestureState\";\nimport { GestureSheetProvider } from \"./GestureSheetContext\";\nimport { resisted } from \"./helpers\";\nimport { getKeyboardAdjustedSheetY, getKeyboardOccludedHeight, getSheetReleasePosition } from \"./keyboardAvoidance\";\nimport { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop } from \"./webViewport\";\nimport { SheetProvider } from \"./SheetContext\";\nimport { useGestureHandlerPan } from \"./useGestureHandlerPan\";\nimport { useKeyboardControllerSheet } from \"./useKeyboardControllerSheet\";\nimport { useSafeAreaInsets } from \"./useSafeAreaInsets\";\nimport { useSheetOpenState } from \"./useSheetOpenState\";\nimport { useSheetProviderProps } from \"./useSheetProviderProps\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n\nconst hiddenSize = 10000.1;\nconst rnghRootStyleOpen = {\n\twidth: \"100%\",\n\theight: \"100%\"\n};\nconst rnghRootStyleClosed = {\n\twidth: \"100%\",\n\theight: 0\n};\nlet sheetHiddenStyleSheet = null;\nconst relativeDimensionTo = isWeb ? \"window\" : \"screen\";\nfunction getStableViewportHeight() {\n\tif (isWeb && typeof window !== \"undefined\") return getStableLayoutViewportHeight();\n\treturn Dimensions.get(relativeDimensionTo).height;\n}\nconst SheetImplementationCustom = React.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {\n\tconst parentSheet = React.useContext(ParentSheetContext);\n\tconst safeAreaTopInset = useSafeAreaInsets()?.top ?? 0;\n\tconst { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, portalProps, containerComponent: ContainerComponent = React.Fragment, onAnimationComplete } = props;\n\tconst state = useSheetOpenState(props);\n\tconst [overlayComponent, setOverlayComponent] = React.useState(null);\n\tconst providerProps = useSheetProviderProps(props, state, { onOverlayComponent: setOverlayComponent });\n\tconst { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;\n\tconst { open, controller, isHidden } = state;\n\tconst openRef = React.useRef(open);\n\topenRef.current = open;\n\tconst sheetRef = React.useRef(void 0);\n\tconst ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef);\n\tconst { animationDriver } = useConfiguration();\n\tif (!animationDriver) throw new Error(`Sheet requires an animation driver to be set`);\n\tconst transitionConfig = (() => {\n\t\tif (transitionConfigProp) return transitionConfigProp;\n\t\tconst [animationProp, animationPropConfig] = !transition ? [] : Array.isArray(transition) ? transition : [transition];\n\t\tif (animationProp && animationDriver.animations?.[animationProp]) return {\n\t\t\t...animationDriver.animations[animationProp],\n\t\t\t...animationPropConfig\n\t\t};\n\t\treturn null;\n\t})();\n\tconst [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(false);\n\tconst shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet && needsPortalRepropagation();\n\tconst sheetInsideSheet = React.useContext(SheetInsideSheetContext);\n\tconst onInnerSheet = React.useCallback((hasChild) => {\n\t\tsetIsShowingInnerSheet(hasChild);\n\t}, []);\n\tconst { keyboardHeight, isKeyboardVisible, dismissKeyboard, pauseKeyboardHandler, flushPendingHide } = useKeyboardControllerSheet({ enabled: Boolean(moveOnKeyboardChange) });\n\tconst stableFrameSize = React.useRef(frameSize);\n\tReact.useEffect(() => {\n\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t}, [open, frameSize]);\n\tconst isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;\n\tconst effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;\n\tconst effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;\n\tconst positions = React.useMemo(() => snapPoints.map((point) => getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize)), [\n\t\teffScreenSize,\n\t\teffectiveFrameSize,\n\t\tsnapPoints,\n\t\tsnapPointsMode\n\t]);\n\tconst [isDragging, setIsDragging_] = React.useState(false);\n\tconst isDraggingRef = React.useRef(false);\n\tconst setIsDragging = React.useCallback((val) => {\n\t\tisDraggingRef.current = val;\n\t\tpauseKeyboardHandler.current = val;\n\t\tsetIsDragging_(val);\n\t\tif (!val) flushPendingHide();\n\t}, [pauseKeyboardHandler, flushPendingHide]);\n\tconst activePositionsRef = React.useRef(positions);\n\tconst activePositions = React.useMemo(() => {\n\t\tif (isDragging || isDraggingRef.current) return activePositionsRef.current;\n\t\tlet result;\n\t\tif (!isKeyboardVisible || keyboardHeight <= 0) result = positions;\n\t\telse result = positions.map((p) => getKeyboardAdjustedSheetY({\n\t\t\tsheetY: p,\n\t\t\tscreenSize: effScreenSize,\n\t\t\tisKeyboardVisible,\n\t\t\tkeyboardHeight,\n\t\t\tshouldTranslate: true,\n\t\t\tsafeAreaTop: isWeb ? getWebVisualViewportOffsetTop() : safeAreaTopInset\n\t\t}));\n\t\tactivePositionsRef.current = result;\n\t\treturn result;\n\t}, [\n\t\tpositions,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\teffScreenSize,\n\t\tisDragging,\n\t\tsafeAreaTopInset\n\t]);\n\tconst keyboardOccludedHeight = getKeyboardOccludedHeight({\n\t\tframeSize: effectiveFrameSize,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\tscreenSize: effScreenSize,\n\t\tsheetY: position >= 0 ? activePositions[position] : void 0\n\t});\n\tconst keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;\n\tconst { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver;\n\tconst AnimatedView = animationDriver.View ?? View;\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!(sheetInsideSheet && open)) return;\n\t\tsheetInsideSheet(true);\n\t\treturn () => {\n\t\t\tsheetInsideSheet(false);\n\t\t};\n\t}, [sheetInsideSheet, open]);\n\tconst nextParentContext = React.useMemo(() => ({ zIndex }), [zIndex]);\n\tconst startPosition = useDidFinishSSR() && screenSize ? screenSize : hiddenSize;\n\tconst animatedNumber = useAnimatedNumber(startPosition);\n\tconst at = React.useRef(startPosition);\n\tconst hasntMeasured = at.current === hiddenSize;\n\tconst [disableAnimation, setDisableAnimation] = useState(hasntMeasured);\n\tconst skipAdaptAnimation = React.useRef(false);\n\tif (controller?.skipNextAnimation) skipAdaptAnimation.current = true;\n\tconst hasScrollView = React.useRef(false);\n\tconst opacityFallbackTimer = React.useRef(null);\n\tuseAnimatedNumberReaction({\n\t\tvalue: animatedNumber,\n\t\thostRef: sheetRef\n\t}, React.useCallback((value) => {\n\t\tat.current = value;\n\t\tscrollBridge.paneY = value;\n\t\tconst minY = activePositions[0];\n\t\tconst wasAtTop = scrollBridge.isAtTop;\n\t\tconst nowAtTop = value <= minY + 5;\n\t\tif (wasAtTop !== nowAtTop) {\n\t\t\tscrollBridge.isAtTop = nowAtTop;\n\t\t\tif (nowAtTop) {\n\t\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\t\tscrollBridge.forceScrollTo?.(0);\n\t\t\t\t\tscrollBridge.y = 0;\n\t\t\t\t}\n\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\tscrollBridge.setScrollEnabled?.(true);\n\t\t\t} else {\n\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\tscrollBridge.setScrollEnabled?.(false);\n\t\t\t}\n\t\t}\n\t}, [animationDriver, activePositions]));\n\tfunction stopSpring() {\n\t\tanimatedNumber.stop();\n\t\tif (scrollBridge.onFinishAnimate) {\n\t\t\tscrollBridge.onFinishAnimate();\n\t\t\tscrollBridge.onFinishAnimate = void 0;\n\t\t}\n\t}\n\tconst animateTo = useEvent((position2, animationOverride) => {\n\t\tif (frameSize === 0) return;\n\t\tconst closeTarget = isWeb ? Math.max(effScreenSize, getMaxViewportHeight()) : effScreenSize;\n\t\tlet toValue = isHidden || position2 === -1 ? closeTarget : activePositions[position2];\n\t\tif (at.current === toValue) return;\n\t\tat.current = toValue;\n\t\tstopSpring();\n\t\tconst isOpenAnimation = position2 !== -1 && !isHidden;\n\t\tif (opacityFallbackTimer.current) {\n\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\topacityFallbackTimer.current = null;\n\t\t}\n\t\tconst animationCompleteCallback = () => {\n\t\t\tif (opacityFallbackTimer.current) {\n\t\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\t\topacityFallbackTimer.current = null;\n\t\t\t}\n\t\t\tif (!isOpenAnimation && !openRef.current) setOpacity(0);\n\t\t\tonAnimationComplete?.({ open: isOpenAnimation });\n\t\t\tcontroller?.onAnimationComplete?.({ open: isOpenAnimation });\n\t\t};\n\t\tif (!isOpenAnimation) opacityFallbackTimer.current = setTimeout(() => {\n\t\t\topacityFallbackTimer.current = null;\n\t\t\tif (!openRef.current) setOpacity(0);\n\t\t}, 1e3);\n\t\tif (skipAdaptAnimation.current) {\n\t\t\tskipAdaptAnimation.current = false;\n\t\t\tanimatedNumber.setValue(toValue, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, animationCompleteCallback);\n\t\t\treturn;\n\t\t}\n\t\tanimatedNumber.setValue(toValue, animationOverride || {\n\t\t\ttype: \"spring\",\n\t\t\t...transitionConfig\n\t\t}, animationCompleteCallback);\n\t});\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (hasntMeasured && screenSize && frameSize) {\n\t\t\tat.current = screenSize;\n\t\t\tanimatedNumber.setValue(screenSize, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, () => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetDisableAnimation(false);\n\t\t\t\t}, 10);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (disableAnimation) return;\n\t\tif (isDraggingRef.current) return;\n\t\tif (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;\n\t\tanimateTo(position);\n\t\tif (position === -1) {\n\t\t\tscrollBridge.scrollLock = false;\n\t\t\tscrollBridge.scrollStartY = -1;\n\t\t}\n\t\tif (open && position >= 0) {\n\t\t\tconst isTopPosition = position === 0;\n\t\t\tscrollBridge.isAtTop = isTopPosition;\n\t\t\tif (isTopPosition) {\n\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\tscrollBridge.setScrollEnabled?.(true);\n\t\t\t} else {\n\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\tscrollBridge.setScrollEnabled?.(false);\n\t\t\t}\n\t\t}\n\t}, [\n\t\thasntMeasured,\n\t\tdisableAnimation,\n\t\tisHidden,\n\t\tframeSize,\n\t\tscreenSize,\n\t\topen,\n\t\tposition\n\t]);\n\tconst disableDrag = props.disableDrag ?? controller?.disableDrag;\n\tuseThemeName();\n\tconst [blockPan, setBlockPan] = React.useState(false);\n\tconst panResponder = React.useMemo(() => {\n\t\tif (disableDrag) return;\n\t\tif (!frameSize) return;\n\t\tif (isShowingInnerSheet) return;\n\t\tconst minY = activePositions[0];\n\t\tscrollBridge.paneMinY = minY;\n\t\tlet startY = at.current;\n\t\tfunction setPanning(val) {\n\t\t\tsetIsDragging(val);\n\t\t\tif (!sheetHiddenStyleSheet) {\n\t\t\t\tsheetHiddenStyleSheet = document.createElement(\"style\");\n\t\t\t\tif (typeof document.head !== \"undefined\") document.head.appendChild(sheetHiddenStyleSheet);\n\t\t\t}\n\t\t\tif (!val) sheetHiddenStyleSheet.innerText = \"\";\n\t\t\telse sheetHiddenStyleSheet.innerText = \":root * { user-select: none !important; -webkit-user-select: none !important; }\";\n\t\t}\n\t\tconst release = ({ vy }) => {\n\t\t\tscrollBridge.setParentDragging(false);\n\t\t\tif (scrollBridge.scrollLock) return;\n\t\t\tisExternalDrag = false;\n\t\t\tpreviouslyScrolling = false;\n\t\t\tsetPanning(false);\n\t\t\tconst currentPos = at.current;\n\t\t\tconst closestPoint = getSheetReleasePosition({\n\t\t\t\tpositions: activePositions,\n\t\t\t\tprojectedEnd: currentPos + frameSize * vy * .2,\n\t\t\t\tcurrentPosition: currentPos,\n\t\t\t\tframeSize,\n\t\t\t\tdismissOnSnapToBottom,\n\t\t\t\tsnapPointsMode,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tisWeb\n\t\t\t});\n\t\t\tsetPosition(closestPoint);\n\t\t\tanimateTo(closestPoint);\n\t\t};\n\t\tconst finish = (_e, state2) => {\n\t\t\trelease({\n\t\t\t\tvy: state2.vy,\n\t\t\t\tdragAt: state2.dy\n\t\t\t});\n\t\t};\n\t\tlet previouslyScrolling = false;\n\t\tconst onMoveShouldSet = (e, { dy }) => {\n\t\t\tfunction getShouldSet() {\n\t\t\t\tif (e.target === providerProps.handleRef.current) return true;\n\t\t\t\tif (scrollBridge.scrollNodeTouched) return false;\n\t\t\t\tif (scrollBridge.hasScrollableContent === true) {\n\t\t\t\t\tif (scrollBridge.scrollLock) return false;\n\t\t\t\t\tconst isScrolled = scrollBridge.y !== 0;\n\t\t\t\t\tconst isDraggingUp = dy < 0;\n\t\t\t\t\tconst isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;\n\t\t\t\t\tif (isScrolled) return false;\n\t\t\t\t\tif (isNearTop) {\n\t\t\t\t\t\tif (hasScrollView.current && isDraggingUp) return false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn Math.abs(dy) > 10;\n\t\t\t}\n\t\t\tconst granted = getShouldSet();\n\t\t\tif (granted) scrollBridge.setParentDragging(true);\n\t\t\treturn granted;\n\t\t};\n\t\tconst grant = () => {\n\t\t\tsetPanning(true);\n\t\t\tstopSpring();\n\t\t\tstartY = at.current;\n\t\t};\n\t\tlet isExternalDrag = false;\n\t\tscrollBridge.startPanDrag = () => {\n\t\t\tisExternalDrag = true;\n\t\t\tgrant();\n\t\t};\n\t\tscrollBridge.drag = (dy) => {\n\t\t\tif (!isExternalDrag) {\n\t\t\t\tisExternalDrag = true;\n\t\t\t\tgrant();\n\t\t\t}\n\t\t\tconst to = dy + startY;\n\t\t\tanimatedNumber.setValue(resisted(to, minY), { type: \"direct\" });\n\t\t};\n\t\tscrollBridge.release = release;\n\t\tscrollBridge.snapToPosition = (positionIndex) => {\n\t\t\tisExternalDrag = false;\n\t\t\tsetPanning(false);\n\t\t\tsetPosition(positionIndex);\n\t\t\tanimateTo(positionIndex);\n\t\t};\n\t\treturn PanResponder.create({\n\t\t\tonMoveShouldSetPanResponder: onMoveShouldSet,\n\t\t\tonPanResponderTerminationRequest: () => false,\n\t\t\tonPanResponderGrant: grant,\n\t\t\tonPanResponderMove: (_e, { dy }) => {\n\t\t\t\tconst to = resisted(dy + startY, minY);\n\t\t\t\tif (to <= minY) scrollBridge.setParentDragging(false);\n\t\t\t\telse scrollBridge.setParentDragging(true);\n\t\t\t\tanimatedNumber.setValue(to, { type: \"direct\" });\n\t\t\t},\n\t\t\tonPanResponderEnd: finish,\n\t\t\tonPanResponderTerminate: finish,\n\t\t\tonPanResponderRelease: finish\n\t\t});\n\t}, [\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tanimateTo,\n\t\tframeSize,\n\t\tactivePositions,\n\t\tsetPosition,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode\n\t]);\n\tReact.useEffect(() => {\n\t\tif (isDragging || isHidden || !open || disableAnimation) return;\n\t\tif (!frameSize || !screenSize) return;\n\t\tanimateTo(position, {\n\t\t\ttype: \"timing\",\n\t\t\tduration: 250\n\t\t});\n\t}, [isKeyboardVisible, keyboardHeight]);\n\tconst wasDragging = React.useRef(false);\n\tReact.useEffect(() => {\n\t\tif (isDragging) {\n\t\t\twasDragging.current = true;\n\t\t\treturn;\n\t\t}\n\t\tif (!wasDragging.current) return;\n\t\twasDragging.current = false;\n\t\tif (!frameSize || !screenSize || isHidden || !open) return;\n\t\tanimateTo(position);\n\t}, [isDragging]);\n\tReact.useEffect(() => {\n\t\tif (!open && isKeyboardVisible) {\n\t\t\tdismissKeyboard();\n\t\t\tpauseKeyboardHandler.current = false;\n\t\t\tflushPendingHide();\n\t\t}\n\t}, [open]);\n\tconst { panGesture, panGestureRef, gestureHandlerEnabled } = useGestureHandlerPan({\n\t\tpositions: activePositions,\n\t\tframeSize,\n\t\tsetPosition,\n\t\tanimateTo,\n\t\tstopSpring,\n\t\tscrollBridge,\n\t\tsetIsDragging,\n\t\tgetCurrentPosition: () => at.current,\n\t\tresisted,\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tsetAnimatedPosition: (val) => {\n\t\t\tat.current = val;\n\t\t\tanimatedNumber.setValue(val, { type: \"direct\" });\n\t\t},\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode,\n\t\tisKeyboardVisible,\n\t\tpauseKeyboardHandler\n\t});\n\tconst ignoreLayoutForKeyboard = useEvent(() => isWeb && moveOnKeyboardChange && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT);\n\tconst handleAnimationViewLayout = useEvent((e) => {\n\t\tif (!open && stableFrameSize.current !== 0) return;\n\t\tconst layoutHeight = e.nativeEvent?.layout.height;\n\t\tif (ignoreLayoutForKeyboard() && frameSize > 0) return;\n\t\tconst next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;\n\t\tif (!next) return;\n\t\tsetFrameSize(Math.round(next));\n\t});\n\tconst handleMaxContentViewLayout = React.useCallback((e) => {\n\t\tif (ignoreLayoutForKeyboard() && screenSize > 0) return;\n\t\tconst next = Math.min(e.nativeEvent?.layout.height, getStableViewportHeight());\n\t\tif (!next) return;\n\t\tsetMaxContentSize(Math.round(next));\n\t}, [ignoreLayoutForKeyboard, screenSize]);\n\tconst animatedStyle = useAnimatedNumberStyle(animatedNumber, React.useCallback((val) => {\n\t\t\"worklet\";\n\t\treturn { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };\n\t}, [frameSize]));\n\tconst [opacity, setOpacity] = React.useState(open ? 1 : 0);\n\tif (open && opacity === 0) {\n\t\tsetOpacity(1);\n\t\tif (opacityFallbackTimer.current) {\n\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\topacityFallbackTimer.current = null;\n\t\t}\n\t}\n\tconst forcedContentHeight = hasFit ? void 0 : snapPointsMode === \"percent\" ? `${maxSnapPoint}${isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tconst setHasScrollView = React.useCallback((val) => {\n\t\thasScrollView.current = val;\n\t}, []);\n\tlet contents = /* @__PURE__ */ jsx(LayoutMeasurementController, {\n\t\tdisable: !open,\n\t\tchildren: /* @__PURE__ */ jsx(ParentSheetContext.Provider, {\n\t\t\tvalue: nextParentContext,\n\t\t\tchildren: /* @__PURE__ */ jsx(SheetProvider, {\n\t\t\t\t...providerProps,\n\t\t\t\tkeyboardOccludedHeight,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardStableFrameHeight,\n\t\t\t\tsetHasScrollView,\n\t\t\t\tchildren: /* @__PURE__ */ jsxs(GestureSheetProvider, {\n\t\t\t\t\tisDragging,\n\t\t\t\t\tblockPan,\n\t\t\t\t\tsetBlockPan,\n\t\t\t\t\tpanGesture,\n\t\t\t\t\tpanGestureRef,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ jsx(AnimatePresence, {\n\t\t\t\t\t\t\tcustom: { open },\n\t\t\t\t\t\t\tchildren: shouldHideParentSheet || !open ? null : overlayComponent\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tsnapPointsMode !== \"percent\" && /* @__PURE__ */ jsx(View$1, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\t\tpointerEvents: \"none\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonLayout: handleMaxContentViewLayout\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ jsx(AnimatedView, {\n\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\tonLayout: handleAnimationViewLayout,\n\t\t\t\t\t\t\ttransition: isDragging || disableAnimation ? null : transition,\n\t\t\t\t\t\t\tdisableClassName: true,\n\t\t\t\t\t\t\tstyle: [{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tzIndex,\n\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\theight: forcedContentHeight,\n\t\t\t\t\t\t\t\tminHeight: forcedContentHeight,\n\t\t\t\t\t\t\t\topacity: !shouldHideParentSheet ? opacity : 0,\n\t\t\t\t\t\t\t\t...(shouldHideParentSheet || !open) && { pointerEvents: \"none\" }\n\t\t\t\t\t\t\t}, animatedStyle],\n\t\t\t\t\t\t\tchildren: gestureHandlerEnabled && panGesture ? /* @__PURE__ */ jsx(GestureDetectorWrapper, {\n\t\t\t\t\t\t\t\tgesture: panGesture,\n\t\t\t\t\t\t\t\tstyle: { flex: 1 },\n\t\t\t\t\t\t\t\tchildren: props.children\n\t\t\t\t\t\t\t}) : /* @__PURE__ */ jsx(View$1, {\n\t\t\t\t\t\t\t\t...panResponder?.panHandlers,\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\theight: \"100%\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: props.children\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t});\n\tconst shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true;\n\tif (modal) {\n\t\tconst RNGHRoot = getGestureHandlerState().RootView;\n\t\tconst mountedContents = shouldMountChildren ? /* @__PURE__ */ jsx(ContainerComponent, { children: contents }) : null;\n\t\tconst modalContents = /* @__PURE__ */ jsx(Portal, {\n\t\t\tstackZIndex: zIndex,\n\t\t\t...portalProps,\n\t\t\tchildren: mountedContents && RNGHRoot ? /* @__PURE__ */ jsx(RNGHRoot, {\n\t\t\t\tstyle: open ? rnghRootStyleOpen : rnghRootStyleClosed,\n\t\t\t\tchildren: mountedContents\n\t\t\t}) : mountedContents\n\t\t});\n\t\tif (isWeb) return modalContents;\n\t\treturn /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, {\n\t\t\tvalue: onInnerSheet,\n\t\t\tchildren: modalContents\n\t\t});\n\t}\n\treturn contents;\n});\nfunction getYPositions(mode, point, screenSize, frameSize) {\n\tif (!screenSize || !frameSize) return 0;\n\tif (mode === \"mixed\") {\n\t\tif (typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\t\tif (point === \"fit\") return screenSize - Math.min(screenSize, frameSize);\n\t\tif (point.endsWith(\"%\")) {\n\t\t\tconst pct2 = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;\n\t\t\tif (Number.isNaN(pct2)) {\n\t\t\t\tconsole.warn(\"Invalid snapPoint percentage string\");\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn Math.round(screenSize - pct2 * screenSize);\n\t\t}\n\t\tconsole.warn(\"Invalid snapPoint unknown value\");\n\t\treturn 0;\n\t}\n\tif (mode === \"fit\") {\n\t\tif (point === 0) return screenSize;\n\t\treturn screenSize - Math.min(screenSize, frameSize);\n\t}\n\tif (mode === \"constant\" && typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\tconst pct = Math.min(100, Math.max(0, Number(point))) / 100;\n\tif (Number.isNaN(pct)) {\n\t\tconsole.warn(\"Invalid snapPoint percentage\");\n\t\treturn 0;\n\t}\n\treturn Math.round(screenSize - pct * screenSize);\n}\n\nexport { SheetImplementationCustom };"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AnimatePresence","useComposedRefs","isWeb","useIsomorphicLayoutEffect","LayoutMeasurementController","View","useConfiguration","useDidFinishSSR","useEvent","useThemeName","Portal","needsPortalRepropagation","React","useState","Dimensions","PanResponder","View$1","ParentSheetContext","SheetInsideSheetContext","GestureDetectorWrapper","getGestureHandlerState","GestureSheetProvider","resisted","getKeyboardAdjustedSheetY","getKeyboardOccludedHeight","getSheetReleasePosition","MIN_KEYBOARD_HEIGHT","getMaxViewportHeight","getStableLayoutViewportHeight","getWebKeyboardResizeHeight","getWebVisualViewportOffsetTop","SheetProvider","useGestureHandlerPan","useKeyboardControllerSheet","useSafeAreaInsets","useSheetOpenState","useSheetProviderProps","jsx","jsxs","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","sheetHiddenStyleSheet","relativeDimensionTo","getStableViewportHeight","window","get","SheetImplementationCustom","forwardRef","SheetImplementationCustom2","props","forwardedRef","parentSheet","useContext","safeAreaTopInset","top","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","overlayComponent","setOverlayComponent","providerProps","onOverlayComponent","frameSize","setFrameSize","dismissOnSnapToBottom","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","ref","contentRef","animationDriver","Error","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","sheetInsideSheet","onInnerSheet","useCallback","hasChild","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","enabled","Boolean","stableFrameSize","useEffect","isWebKbSheet","isNativeKbFitSheet","preKeyboardFrameSize","effScreenSize","effectiveFrameSize","positions","useMemo","map","point","getYPositions","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","p","sheetY","shouldTranslate","safeAreaTop","keyboardOccludedHeight","keyboardStableFrameHeight","useAnimatedNumber","useAnimatedNumberStyle","AnimatedView","nextParentContext","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","syncAnimatedPosition","value","paneY","minY","wasAtTop","isAtTop","nowAtTop","lockScrollAtTop","y","forceScrollTo","scrollLockY","setScrollEnabled","setAnimatedPositionDirect","setValue","type","getAnimatedPosition","getValue","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","closeTarget","Math","max","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","setOpacity","setTimeout","duration","scrollLock","scrollStartY","isTopPosition","disableDrag","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","document","createElement","head","appendChild","innerText","release","vy","setParentDragging","isExternalDrag","previouslyScrolling","currentPos","closestPoint","projectedEnd","currentPosition","finish","_e","state2","dragAt","dy","onMoveShouldSet","e","getShouldSet","target","handleRef","scrollNodeTouched","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","startPanDrag","drag","snapToPosition","positionIndex","create","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onPanResponderGrant","onPanResponderMove","to","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","getCurrentPosition","setAnimatedPosition","ignoreLayoutForKeyboard","handleAnimationViewLayout","layoutHeight","nativeEvent","layout","next","min","round","handleMaxContentViewLayout","animatedStyle","transform","translateY","opacity","forcedContentHeight","setHasScrollView","contents","disable","children","Provider","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","minHeight","gesture","flex","panHandlers","shouldMountChildren","RNGHRoot","RootView","mountedContents","modalContents","stackZIndex","mode","endsWith","pct2","Number","slice","isNaN","console","warn","pct"],"sources":["SheetImplementationCustom.mjs"],"sourcesContent":["import { AnimatePresence } from \"@tamagui/animate-presence\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { LayoutMeasurementController, View, useConfiguration, useDidFinishSSR, useEvent, useThemeName } from \"@tamagui/core\";\nimport { Portal, needsPortalRepropagation } from \"@tamagui/portal\";\nimport React, { useState } from \"react\";\nimport { Dimensions, PanResponder, View as View$1 } from \"react-native-web\";\nimport { ParentSheetContext, SheetInsideSheetContext } from \"./contexts\";\nimport { GestureDetectorWrapper } from \"./GestureDetectorWrapper\";\nimport { getGestureHandlerState } from \"./gestureState\";\nimport { GestureSheetProvider } from \"./GestureSheetContext\";\nimport { resisted } from \"./helpers\";\nimport { getKeyboardAdjustedSheetY, getKeyboardOccludedHeight, getSheetReleasePosition } from \"./keyboardAvoidance\";\nimport { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop } from \"./webViewport\";\nimport { SheetProvider } from \"./SheetContext\";\nimport { useGestureHandlerPan } from \"./useGestureHandlerPan\";\nimport { useKeyboardControllerSheet } from \"./useKeyboardControllerSheet\";\nimport { useSafeAreaInsets } from \"./useSafeAreaInsets\";\nimport { useSheetOpenState } from \"./useSheetOpenState\";\nimport { useSheetProviderProps } from \"./useSheetProviderProps\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n\nconst hiddenSize = 10000.1;\nconst rnghRootStyleOpen = {\n\twidth: \"100%\",\n\theight: \"100%\"\n};\nconst rnghRootStyleClosed = {\n\twidth: \"100%\",\n\theight: 0\n};\nlet sheetHiddenStyleSheet = null;\nconst relativeDimensionTo = isWeb ? \"window\" : \"screen\";\nfunction getStableViewportHeight() {\n\tif (isWeb && typeof window !== \"undefined\") return getStableLayoutViewportHeight();\n\treturn Dimensions.get(relativeDimensionTo).height;\n}\nconst SheetImplementationCustom = React.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {\n\tconst parentSheet = React.useContext(ParentSheetContext);\n\tconst safeAreaTopInset = useSafeAreaInsets()?.top ?? 0;\n\tconst { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, portalProps, containerComponent: ContainerComponent = React.Fragment, onAnimationComplete } = props;\n\tconst state = useSheetOpenState(props);\n\tconst [overlayComponent, setOverlayComponent] = React.useState(null);\n\tconst providerProps = useSheetProviderProps(props, state, { onOverlayComponent: setOverlayComponent });\n\tconst { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;\n\tconst { open, controller, isHidden } = state;\n\tconst openRef = React.useRef(open);\n\topenRef.current = open;\n\tconst ref = useComposedRefs(forwardedRef, React.useRef(void 0), providerProps.contentRef);\n\tconst { animationDriver } = useConfiguration();\n\tif (!animationDriver) throw new Error(`Sheet requires an animation driver to be set`);\n\tconst transitionConfig = (() => {\n\t\tif (transitionConfigProp) return transitionConfigProp;\n\t\tconst [animationProp, animationPropConfig] = !transition ? [] : Array.isArray(transition) ? transition : [transition];\n\t\tif (animationProp && animationDriver.animations?.[animationProp]) return {\n\t\t\t...animationDriver.animations[animationProp],\n\t\t\t...animationPropConfig\n\t\t};\n\t\treturn null;\n\t})();\n\tconst [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(false);\n\tconst shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet && needsPortalRepropagation();\n\tconst sheetInsideSheet = React.useContext(SheetInsideSheetContext);\n\tconst onInnerSheet = React.useCallback((hasChild) => {\n\t\tsetIsShowingInnerSheet(hasChild);\n\t}, []);\n\tconst { keyboardHeight, isKeyboardVisible, dismissKeyboard, pauseKeyboardHandler, flushPendingHide } = useKeyboardControllerSheet({ enabled: Boolean(moveOnKeyboardChange) });\n\tconst stableFrameSize = React.useRef(frameSize);\n\tReact.useEffect(() => {\n\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t}, [open, frameSize]);\n\tconst isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;\n\tconst isNativeKbFitSheet = !isWeb && hasFit && Boolean(moveOnKeyboardChange);\n\tconst preKeyboardFrameSize = React.useRef(0);\n\tReact.useEffect(() => {\n\t\tif (isNativeKbFitSheet && open && !isKeyboardVisible && frameSize > 0) preKeyboardFrameSize.current = frameSize;\n\t}, [\n\t\tisNativeKbFitSheet,\n\t\topen,\n\t\tisKeyboardVisible,\n\t\tframeSize\n\t]);\n\tconst effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;\n\tconst effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;\n\tconst positions = React.useMemo(() => snapPoints.map((point) => getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize)), [\n\t\teffScreenSize,\n\t\teffectiveFrameSize,\n\t\tsnapPoints,\n\t\tsnapPointsMode\n\t]);\n\tconst [isDragging, setIsDragging_] = React.useState(false);\n\tconst isDraggingRef = React.useRef(false);\n\tconst setIsDragging = React.useCallback((val) => {\n\t\tisDraggingRef.current = val;\n\t\tpauseKeyboardHandler.current = val;\n\t\tsetIsDragging_(val);\n\t\tif (!val) flushPendingHide();\n\t}, [pauseKeyboardHandler, flushPendingHide]);\n\tconst activePositionsRef = React.useRef(positions);\n\tconst activePositions = React.useMemo(() => {\n\t\tif (isDragging || isDraggingRef.current) return activePositionsRef.current;\n\t\tlet result;\n\t\tif (!isKeyboardVisible || keyboardHeight <= 0) result = positions;\n\t\telse result = positions.map((p) => getKeyboardAdjustedSheetY({\n\t\t\tsheetY: p,\n\t\t\tscreenSize: effScreenSize,\n\t\t\tisKeyboardVisible,\n\t\t\tkeyboardHeight,\n\t\t\tshouldTranslate: true,\n\t\t\tsafeAreaTop: isWeb ? getWebVisualViewportOffsetTop() : safeAreaTopInset\n\t\t}));\n\t\tactivePositionsRef.current = result;\n\t\treturn result;\n\t}, [\n\t\tpositions,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\teffScreenSize,\n\t\tisDragging,\n\t\tsafeAreaTopInset\n\t]);\n\tconst keyboardOccludedHeight = getKeyboardOccludedHeight({\n\t\tframeSize: effectiveFrameSize,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\tscreenSize: effScreenSize,\n\t\tsheetY: position >= 0 ? activePositions[position] : void 0\n\t});\n\tconst keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;\n\tconst { useAnimatedNumber, useAnimatedNumberStyle } = animationDriver;\n\tconst AnimatedView = animationDriver.View ?? View;\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (!(sheetInsideSheet && open)) return;\n\t\tsheetInsideSheet(true);\n\t\treturn () => {\n\t\t\tsheetInsideSheet(false);\n\t\t};\n\t}, [sheetInsideSheet, open]);\n\tconst nextParentContext = React.useMemo(() => ({ zIndex }), [zIndex]);\n\tconst startPosition = useDidFinishSSR() && screenSize ? screenSize : hiddenSize;\n\tconst animatedNumber = useAnimatedNumber(startPosition);\n\tconst at = React.useRef(startPosition);\n\tconst hasntMeasured = at.current === hiddenSize;\n\tconst [disableAnimation, setDisableAnimation] = useState(hasntMeasured);\n\tconst skipAdaptAnimation = React.useRef(false);\n\tif (controller?.skipNextAnimation) skipAdaptAnimation.current = true;\n\tconst hasScrollView = React.useRef(false);\n\tconst opacityFallbackTimer = React.useRef(null);\n\tconst syncAnimatedPosition = useEvent((value) => {\n\t\tat.current = value;\n\t\tscrollBridge.paneY = value;\n\t\tconst minY = activePositions[0];\n\t\tconst wasAtTop = scrollBridge.isAtTop;\n\t\tconst nowAtTop = value <= minY + 5;\n\t\tif (wasAtTop === nowAtTop) return;\n\t\tscrollBridge.isAtTop = nowAtTop;\n\t\tif (nowAtTop) {\n\t\t\tif (scrollBridge.lockScrollAtTop) {\n\t\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\t\tscrollBridge.forceScrollTo?.(0);\n\t\t\t\t\tscrollBridge.y = 0;\n\t\t\t\t}\n\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\tscrollBridge.setScrollEnabled?.(false, 0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\tscrollBridge.forceScrollTo?.(0);\n\t\t\t\tscrollBridge.y = 0;\n\t\t\t}\n\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\tscrollBridge.setScrollEnabled?.(true);\n\t\t} else {\n\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\tscrollBridge.setScrollEnabled?.(false);\n\t\t}\n\t});\n\tconst setAnimatedPositionDirect = useEvent((value) => {\n\t\tsyncAnimatedPosition(value);\n\t\tanimatedNumber.setValue(value, { type: \"direct\" });\n\t});\n\tconst getAnimatedPosition = useEvent(() => {\n\t\tconst value = animatedNumber.getValue();\n\t\tsyncAnimatedPosition(value);\n\t\treturn value;\n\t});\n\tfunction stopSpring() {\n\t\tanimatedNumber.stop();\n\t\tif (scrollBridge.onFinishAnimate) {\n\t\t\tscrollBridge.onFinishAnimate();\n\t\t\tscrollBridge.onFinishAnimate = void 0;\n\t\t}\n\t}\n\tconst animateTo = useEvent((position2, animationOverride) => {\n\t\tif (frameSize === 0) return;\n\t\tconst closeTarget = isWeb ? Math.max(effScreenSize, getMaxViewportHeight()) : effScreenSize;\n\t\tlet toValue = isHidden || position2 === -1 ? closeTarget : activePositions[position2];\n\t\tif (at.current === toValue) return;\n\t\tat.current = toValue;\n\t\tstopSpring();\n\t\tconst isOpenAnimation = position2 !== -1 && !isHidden;\n\t\tif (opacityFallbackTimer.current) {\n\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\topacityFallbackTimer.current = null;\n\t\t}\n\t\tconst animationCompleteCallback = () => {\n\t\t\tsyncAnimatedPosition(toValue);\n\t\t\tif (opacityFallbackTimer.current) {\n\t\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\t\topacityFallbackTimer.current = null;\n\t\t\t}\n\t\t\tif (!isOpenAnimation && !openRef.current) setOpacity(0);\n\t\t\tonAnimationComplete?.({ open: isOpenAnimation });\n\t\t\tcontroller?.onAnimationComplete?.({ open: isOpenAnimation });\n\t\t};\n\t\tif (!isOpenAnimation) opacityFallbackTimer.current = setTimeout(() => {\n\t\t\topacityFallbackTimer.current = null;\n\t\t\tif (!openRef.current) setOpacity(0);\n\t\t}, 1e3);\n\t\tif (skipAdaptAnimation.current) {\n\t\t\tskipAdaptAnimation.current = false;\n\t\t\tanimatedNumber.setValue(toValue, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, animationCompleteCallback);\n\t\t\treturn;\n\t\t}\n\t\tanimatedNumber.setValue(toValue, animationOverride || {\n\t\t\ttype: \"spring\",\n\t\t\t...transitionConfig\n\t\t}, animationCompleteCallback);\n\t});\n\tuseIsomorphicLayoutEffect(() => {\n\t\tif (hasntMeasured && screenSize && frameSize) {\n\t\t\tat.current = screenSize;\n\t\t\tanimatedNumber.setValue(screenSize, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, () => {\n\t\t\t\tsyncAnimatedPosition(screenSize);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetDisableAnimation(false);\n\t\t\t\t}, 10);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (disableAnimation) return;\n\t\tif (isDraggingRef.current) return;\n\t\tif (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;\n\t\tanimateTo(position);\n\t\tif (position === -1) {\n\t\t\tscrollBridge.scrollLock = false;\n\t\t\tscrollBridge.scrollStartY = -1;\n\t\t}\n\t\tif (open && position >= 0) {\n\t\t\tconst isTopPosition = position === 0;\n\t\t\tscrollBridge.isAtTop = isTopPosition;\n\t\t\tif (isTopPosition) {\n\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\tscrollBridge.setScrollEnabled?.(true);\n\t\t\t} else {\n\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\tscrollBridge.setScrollEnabled?.(false);\n\t\t\t}\n\t\t}\n\t}, [\n\t\thasntMeasured,\n\t\tdisableAnimation,\n\t\tisHidden,\n\t\tframeSize,\n\t\tscreenSize,\n\t\topen,\n\t\tposition\n\t]);\n\tconst disableDrag = props.disableDrag ?? controller?.disableDrag;\n\tuseThemeName();\n\tconst [blockPan, setBlockPan] = React.useState(false);\n\tconst panResponder = React.useMemo(() => {\n\t\tif (disableDrag) return;\n\t\tif (!frameSize) return;\n\t\tif (isShowingInnerSheet) return;\n\t\tconst minY = activePositions[0];\n\t\tscrollBridge.paneMinY = minY;\n\t\tlet startY = at.current;\n\t\tfunction setPanning(val) {\n\t\t\tsetIsDragging(val);\n\t\t\tif (!sheetHiddenStyleSheet) {\n\t\t\t\tsheetHiddenStyleSheet = document.createElement(\"style\");\n\t\t\t\tif (typeof document.head !== \"undefined\") document.head.appendChild(sheetHiddenStyleSheet);\n\t\t\t}\n\t\t\tif (!val) sheetHiddenStyleSheet.innerText = \"\";\n\t\t\telse sheetHiddenStyleSheet.innerText = \":root * { user-select: none !important; -webkit-user-select: none !important; }\";\n\t\t}\n\t\tconst release = ({ vy }) => {\n\t\t\tscrollBridge.setParentDragging(false);\n\t\t\tif (scrollBridge.scrollLock) return;\n\t\t\tisExternalDrag = false;\n\t\t\tpreviouslyScrolling = false;\n\t\t\tsetPanning(false);\n\t\t\tconst currentPos = at.current;\n\t\t\tconst closestPoint = getSheetReleasePosition({\n\t\t\t\tpositions: activePositions,\n\t\t\t\tprojectedEnd: currentPos + frameSize * vy * .2,\n\t\t\t\tcurrentPosition: currentPos,\n\t\t\t\tframeSize,\n\t\t\t\tdismissOnSnapToBottom,\n\t\t\t\tsnapPointsMode,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tisWeb\n\t\t\t});\n\t\t\tsetPosition(closestPoint);\n\t\t\tanimateTo(closestPoint);\n\t\t};\n\t\tconst finish = (_e, state2) => {\n\t\t\trelease({\n\t\t\t\tvy: state2.vy,\n\t\t\t\tdragAt: state2.dy\n\t\t\t});\n\t\t};\n\t\tlet previouslyScrolling = false;\n\t\tconst onMoveShouldSet = (e, { dy }) => {\n\t\t\tfunction getShouldSet() {\n\t\t\t\tif (e.target === providerProps.handleRef.current) return true;\n\t\t\t\tif (scrollBridge.scrollNodeTouched) return false;\n\t\t\t\tif (scrollBridge.hasScrollableContent === true) {\n\t\t\t\t\tif (scrollBridge.scrollLock) return false;\n\t\t\t\t\tconst isScrolled = scrollBridge.y !== 0;\n\t\t\t\t\tconst isDraggingUp = dy < 0;\n\t\t\t\t\tconst isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;\n\t\t\t\t\tif (isScrolled) return false;\n\t\t\t\t\tif (isNearTop) {\n\t\t\t\t\t\tif (hasScrollView.current && isDraggingUp) return false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn Math.abs(dy) > 10;\n\t\t\t}\n\t\t\tconst granted = getShouldSet();\n\t\t\tif (granted) scrollBridge.setParentDragging(true);\n\t\t\treturn granted;\n\t\t};\n\t\tconst grant = () => {\n\t\t\tsetPanning(true);\n\t\t\tstopSpring();\n\t\t\tstartY = getAnimatedPosition();\n\t\t};\n\t\tlet isExternalDrag = false;\n\t\tscrollBridge.startPanDrag = () => {\n\t\t\tisExternalDrag = true;\n\t\t\tgrant();\n\t\t};\n\t\tscrollBridge.drag = (dy) => {\n\t\t\tif (!isExternalDrag) {\n\t\t\t\tisExternalDrag = true;\n\t\t\t\tgrant();\n\t\t\t}\n\t\t\tsetAnimatedPositionDirect(resisted(dy + startY, minY));\n\t\t};\n\t\tscrollBridge.release = release;\n\t\tscrollBridge.snapToPosition = (positionIndex) => {\n\t\t\tisExternalDrag = false;\n\t\t\tsetPanning(false);\n\t\t\tsetPosition(positionIndex);\n\t\t\tanimateTo(positionIndex);\n\t\t};\n\t\treturn PanResponder.create({\n\t\t\tonMoveShouldSetPanResponder: onMoveShouldSet,\n\t\t\tonPanResponderTerminationRequest: () => false,\n\t\t\tonPanResponderGrant: grant,\n\t\t\tonPanResponderMove: (_e, { dy }) => {\n\t\t\t\tconst to = resisted(dy + startY, minY);\n\t\t\t\tif (to <= minY) scrollBridge.setParentDragging(false);\n\t\t\t\telse scrollBridge.setParentDragging(true);\n\t\t\t\tsetAnimatedPositionDirect(to);\n\t\t\t},\n\t\t\tonPanResponderEnd: finish,\n\t\t\tonPanResponderTerminate: finish,\n\t\t\tonPanResponderRelease: finish\n\t\t});\n\t}, [\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tanimateTo,\n\t\tframeSize,\n\t\tactivePositions,\n\t\tsetPosition,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode\n\t]);\n\tReact.useEffect(() => {\n\t\tif (isDragging || isHidden || !open || disableAnimation) return;\n\t\tif (!frameSize || !screenSize) return;\n\t\tanimateTo(position, {\n\t\t\ttype: \"timing\",\n\t\t\tduration: 250\n\t\t});\n\t}, [isKeyboardVisible, keyboardHeight]);\n\tconst wasDragging = React.useRef(false);\n\tReact.useEffect(() => {\n\t\tif (isDragging) {\n\t\t\twasDragging.current = true;\n\t\t\treturn;\n\t\t}\n\t\tif (!wasDragging.current) return;\n\t\twasDragging.current = false;\n\t\tif (!frameSize || !screenSize || isHidden || !open) return;\n\t\tanimateTo(position);\n\t}, [isDragging]);\n\tReact.useEffect(() => {\n\t\tif (!open && isKeyboardVisible) {\n\t\t\tdismissKeyboard();\n\t\t\tpauseKeyboardHandler.current = false;\n\t\t\tflushPendingHide();\n\t\t}\n\t}, [open]);\n\tconst { panGesture, panGestureRef, gestureHandlerEnabled } = useGestureHandlerPan({\n\t\tpositions: activePositions,\n\t\tframeSize,\n\t\tsetPosition,\n\t\tanimateTo,\n\t\tstopSpring,\n\t\tscrollBridge,\n\t\tsetIsDragging,\n\t\tgetCurrentPosition: getAnimatedPosition,\n\t\tresisted,\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tsetAnimatedPosition: setAnimatedPositionDirect,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode,\n\t\tisKeyboardVisible,\n\t\tpauseKeyboardHandler\n\t});\n\tconst ignoreLayoutForKeyboard = useEvent(() => isWeb && moveOnKeyboardChange && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT);\n\tconst handleAnimationViewLayout = useEvent((e) => {\n\t\tif (!open && stableFrameSize.current !== 0) return;\n\t\tconst layoutHeight = e.nativeEvent?.layout.height;\n\t\tif (ignoreLayoutForKeyboard() && frameSize > 0) return;\n\t\tconst next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;\n\t\tif (!next) return;\n\t\tsetFrameSize(Math.round(next));\n\t});\n\tconst handleMaxContentViewLayout = React.useCallback((e) => {\n\t\tif (ignoreLayoutForKeyboard() && screenSize > 0) return;\n\t\tconst next = Math.min(e.nativeEvent?.layout.height, getStableViewportHeight());\n\t\tif (!next) return;\n\t\tsetMaxContentSize(Math.round(next));\n\t}, [ignoreLayoutForKeyboard, screenSize]);\n\tconst animatedStyle = useAnimatedNumberStyle(animatedNumber, React.useCallback((val) => {\n\t\t\"worklet\";\n\t\treturn { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };\n\t}, [frameSize]));\n\tconst [opacity, setOpacity] = React.useState(open ? 1 : 0);\n\tif (open && opacity === 0) {\n\t\tsetOpacity(1);\n\t\tif (opacityFallbackTimer.current) {\n\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\topacityFallbackTimer.current = null;\n\t\t}\n\t}\n\tconst forcedContentHeight = hasFit ? void 0 : snapPointsMode === \"percent\" ? `${maxSnapPoint}${isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tconst setHasScrollView = React.useCallback((val) => {\n\t\thasScrollView.current = val;\n\t}, []);\n\tlet contents = /* @__PURE__ */ jsx(LayoutMeasurementController, {\n\t\tdisable: !open,\n\t\tchildren: /* @__PURE__ */ jsx(ParentSheetContext.Provider, {\n\t\t\tvalue: nextParentContext,\n\t\t\tchildren: /* @__PURE__ */ jsx(SheetProvider, {\n\t\t\t\t...providerProps,\n\t\t\t\tkeyboardOccludedHeight,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardStableFrameHeight,\n\t\t\t\tsetHasScrollView,\n\t\t\t\tchildren: /* @__PURE__ */ jsxs(GestureSheetProvider, {\n\t\t\t\t\tisDragging,\n\t\t\t\t\tblockPan,\n\t\t\t\t\tsetBlockPan,\n\t\t\t\t\tpanGesture,\n\t\t\t\t\tpanGestureRef,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ jsx(AnimatePresence, {\n\t\t\t\t\t\t\tcustom: { open },\n\t\t\t\t\t\t\tchildren: shouldHideParentSheet || !open ? null : overlayComponent\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tsnapPointsMode !== \"percent\" && /* @__PURE__ */ jsx(View$1, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\t\tpointerEvents: \"none\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonLayout: handleMaxContentViewLayout\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ jsx(AnimatedView, {\n\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\tonLayout: handleAnimationViewLayout,\n\t\t\t\t\t\t\ttransition: isDragging || disableAnimation ? null : transition,\n\t\t\t\t\t\t\tdisableClassName: true,\n\t\t\t\t\t\t\tstyle: [{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tzIndex,\n\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\theight: forcedContentHeight,\n\t\t\t\t\t\t\t\tminHeight: forcedContentHeight,\n\t\t\t\t\t\t\t\topacity: !shouldHideParentSheet ? opacity : 0,\n\t\t\t\t\t\t\t\t...(shouldHideParentSheet || !open) && { pointerEvents: \"none\" }\n\t\t\t\t\t\t\t}, animatedStyle],\n\t\t\t\t\t\t\tchildren: gestureHandlerEnabled && panGesture ? /* @__PURE__ */ jsx(GestureDetectorWrapper, {\n\t\t\t\t\t\t\t\tgesture: panGesture,\n\t\t\t\t\t\t\t\tstyle: { flex: 1 },\n\t\t\t\t\t\t\t\tchildren: props.children\n\t\t\t\t\t\t\t}) : /* @__PURE__ */ jsx(View$1, {\n\t\t\t\t\t\t\t\t...panResponder?.panHandlers,\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\theight: \"100%\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: props.children\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t});\n\tconst shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true;\n\tif (modal) {\n\t\tconst RNGHRoot = getGestureHandlerState().RootView;\n\t\tconst mountedContents = shouldMountChildren ? /* @__PURE__ */ jsx(ContainerComponent, { children: contents }) : null;\n\t\tconst modalContents = /* @__PURE__ */ jsx(Portal, {\n\t\t\tstackZIndex: zIndex,\n\t\t\t...portalProps,\n\t\t\tchildren: mountedContents && RNGHRoot ? /* @__PURE__ */ jsx(RNGHRoot, {\n\t\t\t\tstyle: open ? rnghRootStyleOpen : rnghRootStyleClosed,\n\t\t\t\tchildren: mountedContents\n\t\t\t}) : mountedContents\n\t\t});\n\t\tif (isWeb) return modalContents;\n\t\treturn /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, {\n\t\t\tvalue: onInnerSheet,\n\t\t\tchildren: modalContents\n\t\t});\n\t}\n\treturn contents;\n});\nfunction getYPositions(mode, point, screenSize, frameSize) {\n\tif (!screenSize || !frameSize) return 0;\n\tif (mode === \"mixed\") {\n\t\tif (typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\t\tif (point === \"fit\") return screenSize - Math.min(screenSize, frameSize);\n\t\tif (point.endsWith(\"%\")) {\n\t\t\tconst pct2 = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;\n\t\t\tif (Number.isNaN(pct2)) {\n\t\t\t\tconsole.warn(\"Invalid snapPoint percentage string\");\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn Math.round(screenSize - pct2 * screenSize);\n\t\t}\n\t\tconsole.warn(\"Invalid snapPoint unknown value\");\n\t\treturn 0;\n\t}\n\tif (mode === \"fit\") {\n\t\tif (point === 0) return screenSize;\n\t\treturn screenSize - Math.min(screenSize, frameSize);\n\t}\n\tif (mode === \"constant\" && typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\tconst pct = Math.min(100, Math.max(0, Number(point))) / 100;\n\tif (Number.isNaN(pct)) {\n\t\tconsole.warn(\"Invalid snapPoint percentage\");\n\t\treturn 0;\n\t}\n\treturn Math.round(screenSize - pct * screenSize);\n}\n\nexport { SheetImplementationCustom };"],"mappings":"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","ignoreList":[]}
@@ -76,8 +76,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
76
76
  } = state;
77
77
  var openRef = React.useRef(open);
78
78
  openRef.current = open;
79
- var sheetRef = React.useRef(void 0);
80
- var ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef);
79
+ var ref = useComposedRefs(forwardedRef, React.useRef(void 0), providerProps.contentRef);
81
80
  var {
82
81
  animationDriver
83
82
  } = useConfiguration();
@@ -112,6 +111,11 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
112
111
  if (open && frameSize) stableFrameSize.current = frameSize;
113
112
  }, [open, frameSize]);
114
113
  var isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;
114
+ var isNativeKbFitSheet = !isWeb && hasFit && Boolean(moveOnKeyboardChange);
115
+ var preKeyboardFrameSize = React.useRef(0);
116
+ React.useEffect(function () {
117
+ if (isNativeKbFitSheet && open && !isKeyboardVisible && frameSize > 0) preKeyboardFrameSize.current = frameSize;
118
+ }, [isNativeKbFitSheet, open, isKeyboardVisible, frameSize]);
115
119
  var effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;
116
120
  var effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
117
121
  var positions = React.useMemo(function () {
@@ -151,11 +155,10 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
151
155
  screenSize: effScreenSize,
152
156
  sheetY: position >= 0 ? activePositions[position] : void 0
153
157
  });
154
- var keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;
158
+ var keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;
155
159
  var {
156
160
  useAnimatedNumber,
157
- useAnimatedNumberStyle,
158
- useAnimatedNumberReaction
161
+ useAnimatedNumberStyle
159
162
  } = animationDriver;
160
163
  var _animationDriver_View;
161
164
  var AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : View;
@@ -180,33 +183,51 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
180
183
  if (controller === null || controller === void 0 ? void 0 : controller.skipNextAnimation) skipAdaptAnimation.current = true;
181
184
  var hasScrollView = React.useRef(false);
182
185
  var opacityFallbackTimer = React.useRef(null);
183
- useAnimatedNumberReaction({
184
- value: animatedNumber,
185
- hostRef: sheetRef
186
- }, React.useCallback(function (value) {
186
+ var syncAnimatedPosition = useEvent(function (value) {
187
187
  at.current = value;
188
188
  scrollBridge.paneY = value;
189
189
  var minY = activePositions[0];
190
190
  var wasAtTop = scrollBridge.isAtTop;
191
191
  var nowAtTop = value <= minY + 5;
192
- if (wasAtTop !== nowAtTop) {
193
- scrollBridge.isAtTop = nowAtTop;
194
- if (nowAtTop) {
195
- var _scrollBridge_setScrollEnabled;
192
+ if (wasAtTop === nowAtTop) return;
193
+ scrollBridge.isAtTop = nowAtTop;
194
+ if (nowAtTop) {
195
+ var _scrollBridge_setScrollEnabled;
196
+ if (scrollBridge.lockScrollAtTop) {
197
+ var _scrollBridge_setScrollEnabled1;
196
198
  if (scrollBridge.y > 0) {
197
199
  var _scrollBridge_forceScrollTo;
198
200
  (_scrollBridge_forceScrollTo = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo === void 0 || _scrollBridge_forceScrollTo.call(scrollBridge, 0);
199
201
  scrollBridge.y = 0;
200
202
  }
201
- scrollBridge.scrollLockY = void 0;
202
- (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);
203
- } else {
204
- var _scrollBridge_setScrollEnabled1;
205
203
  scrollBridge.scrollLockY = 0;
206
- (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false);
204
+ (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false, 0);
205
+ return;
207
206
  }
207
+ if (scrollBridge.y > 0) {
208
+ var _scrollBridge_forceScrollTo1;
209
+ (_scrollBridge_forceScrollTo1 = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo1 === void 0 || _scrollBridge_forceScrollTo1.call(scrollBridge, 0);
210
+ scrollBridge.y = 0;
211
+ }
212
+ scrollBridge.scrollLockY = void 0;
213
+ (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);
214
+ } else {
215
+ var _scrollBridge_setScrollEnabled2;
216
+ scrollBridge.scrollLockY = 0;
217
+ (_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 || _scrollBridge_setScrollEnabled2.call(scrollBridge, false);
208
218
  }
209
- }, [animationDriver, activePositions]));
219
+ });
220
+ var setAnimatedPositionDirect = useEvent(function (value) {
221
+ syncAnimatedPosition(value);
222
+ animatedNumber.setValue(value, {
223
+ type: "direct"
224
+ });
225
+ });
226
+ var getAnimatedPosition = useEvent(function () {
227
+ var value = animatedNumber.getValue();
228
+ syncAnimatedPosition(value);
229
+ return value;
230
+ });
210
231
  function stopSpring() {
211
232
  animatedNumber.stop();
212
233
  if (scrollBridge.onFinishAnimate) {
@@ -228,6 +249,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
228
249
  }
229
250
  var animationCompleteCallback = function () {
230
251
  var _controller_onAnimationComplete;
252
+ syncAnimatedPosition(toValue);
231
253
  if (opacityFallbackTimer.current) {
232
254
  clearTimeout(opacityFallbackTimer.current);
233
255
  opacityFallbackTimer.current = null;
@@ -264,6 +286,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
264
286
  type: "timing",
265
287
  duration: 0
266
288
  }, function () {
289
+ syncAnimatedPosition(screenSize);
267
290
  setTimeout(function () {
268
291
  setDisableAnimation(false);
269
292
  }, 10);
@@ -362,7 +385,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
362
385
  var grant = function () {
363
386
  setPanning(true);
364
387
  stopSpring();
365
- startY = at.current;
388
+ startY = getAnimatedPosition();
366
389
  };
367
390
  var isExternalDrag = false;
368
391
  scrollBridge.startPanDrag = function () {
@@ -374,10 +397,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
374
397
  isExternalDrag = true;
375
398
  grant();
376
399
  }
377
- var to = dy + startY;
378
- animatedNumber.setValue(resisted(to, minY), {
379
- type: "direct"
380
- });
400
+ setAnimatedPositionDirect(resisted(dy + startY, minY));
381
401
  };
382
402
  scrollBridge.release = release;
383
403
  scrollBridge.snapToPosition = function (positionIndex) {
@@ -398,9 +418,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
398
418
  } = param;
399
419
  var to = resisted(dy + startY, minY);
400
420
  if (to <= minY) scrollBridge.setParentDragging(false);else scrollBridge.setParentDragging(true);
401
- animatedNumber.setValue(to, {
402
- type: "direct"
403
- });
421
+ setAnimatedPositionDirect(to);
404
422
  },
405
423
  onPanResponderEnd: finish,
406
424
  onPanResponderTerminate: finish,
@@ -445,18 +463,11 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
445
463
  stopSpring,
446
464
  scrollBridge,
447
465
  setIsDragging,
448
- getCurrentPosition: function () {
449
- return at.current;
450
- },
466
+ getCurrentPosition: getAnimatedPosition,
451
467
  resisted,
452
468
  disableDrag,
453
469
  isShowingInnerSheet,
454
- setAnimatedPosition: function (val) {
455
- at.current = val;
456
- animatedNumber.setValue(val, {
457
- type: "direct"
458
- });
459
- },
470
+ setAnimatedPosition: setAnimatedPositionDirect,
460
471
  dismissOnSnapToBottom,
461
472
  snapPointsMode,
462
473
  isKeyboardVisible,