@tamagui/sheet 3.0.0-beta.922.1 → 3.0.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 (190) hide show
  1. package/dist/cjs/Sheet.cjs +48 -16
  2. package/dist/cjs/Sheet.native.cjs +46 -17
  3. package/dist/cjs/Sheet.native.js +46 -17
  4. package/dist/cjs/Sheet.native.js.map +1 -1
  5. package/dist/cjs/SheetDragSurface.cjs +50 -0
  6. package/dist/{jsx/GestureDetectorWrapper.native.js → cjs/SheetDragSurface.native.cjs} +24 -12
  7. package/dist/cjs/{GestureDetectorWrapper.native.js → SheetDragSurface.native.js} +25 -11
  8. package/dist/cjs/SheetDragSurface.native.js.map +1 -0
  9. package/dist/cjs/SheetImplementationCustom.cjs +41 -58
  10. package/dist/cjs/SheetImplementationCustom.native.cjs +43 -59
  11. package/dist/cjs/SheetImplementationCustom.native.js +43 -59
  12. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  13. package/dist/cjs/SheetScrollView.cjs +15 -3
  14. package/dist/cjs/SheetScrollView.native.cjs +17 -4
  15. package/dist/cjs/SheetScrollView.native.js +17 -4
  16. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  17. package/dist/cjs/nativeSheet.cjs +3 -59
  18. package/dist/cjs/nativeSheet.native.cjs +70 -58
  19. package/dist/cjs/nativeSheet.native.js +70 -58
  20. package/dist/cjs/nativeSheet.native.js.map +1 -1
  21. package/dist/cjs/stableViewportHeight.cjs +27 -0
  22. package/dist/cjs/stableViewportHeight.native.cjs +29 -0
  23. package/dist/cjs/stableViewportHeight.native.js +31 -0
  24. package/dist/cjs/stableViewportHeight.native.js.map +1 -0
  25. package/dist/cjs/useSheetOffscreenSize.cjs +3 -1
  26. package/dist/cjs/useSheetOffscreenSize.native.cjs +3 -2
  27. package/dist/cjs/useSheetOffscreenSize.native.js +3 -2
  28. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
  29. package/dist/cjs/useSheetOpenState.cjs +13 -6
  30. package/dist/cjs/useSheetOpenState.native.cjs +15 -5
  31. package/dist/cjs/useSheetOpenState.native.js +15 -5
  32. package/dist/cjs/useSheetOpenState.native.js.map +1 -1
  33. package/dist/cjs/useSheetProviderProps.cjs +5 -94
  34. package/dist/cjs/useSheetProviderProps.native.cjs +5 -103
  35. package/dist/cjs/useSheetProviderProps.native.js +5 -103
  36. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  37. package/dist/cjs/useSheetState.cjs +120 -0
  38. package/dist/cjs/useSheetState.native.cjs +131 -0
  39. package/dist/cjs/useSheetState.native.js +133 -0
  40. package/dist/cjs/useSheetState.native.js.map +1 -0
  41. package/dist/esm/Sheet.mjs +48 -15
  42. package/dist/esm/Sheet.mjs.map +1 -1
  43. package/dist/esm/Sheet.native.js +46 -17
  44. package/dist/esm/Sheet.native.js.map +1 -1
  45. package/dist/esm/SheetDragSurface.mjs +25 -0
  46. package/dist/esm/SheetDragSurface.mjs.map +1 -0
  47. package/dist/esm/SheetDragSurface.native.js +34 -0
  48. package/dist/esm/SheetDragSurface.native.js.map +1 -0
  49. package/dist/esm/SheetImplementationCustom.mjs +39 -56
  50. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  51. package/dist/esm/SheetImplementationCustom.native.js +41 -57
  52. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  53. package/dist/esm/SheetScrollView.mjs +16 -4
  54. package/dist/esm/SheetScrollView.mjs.map +1 -1
  55. package/dist/esm/SheetScrollView.native.js +18 -5
  56. package/dist/esm/SheetScrollView.native.js.map +1 -1
  57. package/dist/esm/nativeSheet.mjs +3 -60
  58. package/dist/esm/nativeSheet.mjs.map +1 -1
  59. package/dist/esm/nativeSheet.native.js +70 -58
  60. package/dist/esm/nativeSheet.native.js.map +1 -1
  61. package/dist/esm/stableViewportHeight.mjs +8 -0
  62. package/dist/esm/stableViewportHeight.mjs.map +1 -0
  63. package/dist/esm/stableViewportHeight.native.js +8 -0
  64. package/dist/esm/stableViewportHeight.native.js.map +1 -0
  65. package/dist/esm/useKeyboardControllerSheet.native.js +0 -5
  66. package/dist/esm/useSheetOffscreenSize.mjs +3 -1
  67. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -1
  68. package/dist/esm/useSheetOffscreenSize.native.js +3 -2
  69. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
  70. package/dist/esm/useSheetOpenState.mjs +14 -7
  71. package/dist/esm/useSheetOpenState.mjs.map +1 -1
  72. package/dist/esm/useSheetOpenState.native.js +16 -6
  73. package/dist/esm/useSheetOpenState.native.js.map +1 -1
  74. package/dist/esm/useSheetProviderProps.mjs +5 -88
  75. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  76. package/dist/esm/useSheetProviderProps.native.js +5 -97
  77. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  78. package/dist/esm/useSheetState.mjs +95 -0
  79. package/dist/esm/useSheetState.mjs.map +1 -0
  80. package/dist/esm/useSheetState.native.js +104 -0
  81. package/dist/esm/useSheetState.native.js.map +1 -0
  82. package/dist/jsx/Sheet.mjs +48 -15
  83. package/dist/jsx/Sheet.mjs.map +1 -1
  84. package/dist/jsx/Sheet.native.cjs +46 -17
  85. package/dist/jsx/Sheet.native.js +46 -17
  86. package/dist/jsx/Sheet.native.js.map +1 -1
  87. package/dist/jsx/SheetDragSurface.mjs +25 -0
  88. package/dist/jsx/SheetDragSurface.mjs.map +1 -0
  89. package/dist/{cjs/GestureDetectorWrapper.native.cjs → jsx/SheetDragSurface.native.cjs} +24 -10
  90. package/dist/jsx/{GestureDetectorWrapper.native.cjs → SheetDragSurface.native.js} +26 -10
  91. package/dist/jsx/SheetDragSurface.native.js.map +1 -0
  92. package/dist/jsx/SheetImplementationCustom.mjs +39 -56
  93. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  94. package/dist/jsx/SheetImplementationCustom.native.cjs +43 -59
  95. package/dist/jsx/SheetImplementationCustom.native.js +43 -59
  96. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  97. package/dist/jsx/SheetScrollView.mjs +16 -4
  98. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  99. package/dist/jsx/SheetScrollView.native.cjs +17 -4
  100. package/dist/jsx/SheetScrollView.native.js +17 -4
  101. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  102. package/dist/jsx/nativeSheet.mjs +3 -60
  103. package/dist/jsx/nativeSheet.mjs.map +1 -1
  104. package/dist/jsx/nativeSheet.native.cjs +70 -58
  105. package/dist/jsx/nativeSheet.native.js +70 -58
  106. package/dist/jsx/nativeSheet.native.js.map +1 -1
  107. package/dist/jsx/stableViewportHeight.mjs +8 -0
  108. package/dist/jsx/stableViewportHeight.mjs.map +1 -0
  109. package/dist/jsx/stableViewportHeight.native.cjs +29 -0
  110. package/dist/jsx/stableViewportHeight.native.js +31 -0
  111. package/dist/jsx/stableViewportHeight.native.js.map +1 -0
  112. package/dist/jsx/useSheetOffscreenSize.mjs +3 -1
  113. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -1
  114. package/dist/jsx/useSheetOffscreenSize.native.cjs +3 -2
  115. package/dist/jsx/useSheetOffscreenSize.native.js +3 -2
  116. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
  117. package/dist/jsx/useSheetOpenState.mjs +14 -7
  118. package/dist/jsx/useSheetOpenState.mjs.map +1 -1
  119. package/dist/jsx/useSheetOpenState.native.cjs +15 -5
  120. package/dist/jsx/useSheetOpenState.native.js +15 -5
  121. package/dist/jsx/useSheetOpenState.native.js.map +1 -1
  122. package/dist/jsx/useSheetProviderProps.mjs +5 -88
  123. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  124. package/dist/jsx/useSheetProviderProps.native.cjs +5 -103
  125. package/dist/jsx/useSheetProviderProps.native.js +5 -103
  126. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  127. package/dist/jsx/useSheetState.mjs +95 -0
  128. package/dist/jsx/useSheetState.mjs.map +1 -0
  129. package/dist/jsx/useSheetState.native.cjs +131 -0
  130. package/dist/jsx/useSheetState.native.js +133 -0
  131. package/dist/jsx/useSheetState.native.js.map +1 -0
  132. package/package.json +27 -22
  133. package/src/Sheet.tsx +45 -18
  134. package/src/SheetDragSurface.native.tsx +42 -0
  135. package/src/SheetDragSurface.tsx +40 -0
  136. package/src/SheetImplementationCustom.tsx +67 -92
  137. package/src/SheetScrollView.tsx +26 -4
  138. package/src/nativeSheet.native.tsx +110 -0
  139. package/src/nativeSheet.ts +16 -0
  140. package/src/stableViewportHeight.native.ts +9 -0
  141. package/src/stableViewportHeight.ts +15 -0
  142. package/src/types.tsx +44 -1
  143. package/src/useSheetOffscreenSize.tsx +3 -7
  144. package/src/useSheetOpenState.tsx +18 -8
  145. package/src/useSheetProviderProps.tsx +18 -149
  146. package/src/useSheetScrollViewGestures.native.ts +4 -1
  147. package/src/useSheetState.tsx +139 -0
  148. package/types/Sheet.d.ts +71 -167
  149. package/types/Sheet.d.ts.map +1 -1
  150. package/types/SheetDragSurface.d.ts +11 -0
  151. package/types/SheetDragSurface.d.ts.map +1 -0
  152. package/types/SheetDragSurface.native.d.ts +11 -0
  153. package/types/SheetDragSurface.native.d.ts.map +1 -0
  154. package/types/SheetImplementationCustom.d.ts +1 -2
  155. package/types/SheetImplementationCustom.d.ts.map +1 -1
  156. package/types/SheetScrollView.d.ts +3 -3
  157. package/types/SheetScrollView.d.ts.map +1 -1
  158. package/types/nativeSheet.d.ts +8 -9
  159. package/types/nativeSheet.d.ts.map +1 -1
  160. package/types/nativeSheet.native.d.ts +4 -0
  161. package/types/nativeSheet.native.d.ts.map +1 -0
  162. package/types/stableViewportHeight.d.ts +12 -0
  163. package/types/stableViewportHeight.d.ts.map +1 -0
  164. package/types/stableViewportHeight.native.d.ts +6 -0
  165. package/types/stableViewportHeight.native.d.ts.map +1 -0
  166. package/types/types.d.ts +34 -1
  167. package/types/types.d.ts.map +1 -1
  168. package/types/useSheetOffscreenSize.d.ts +1 -1
  169. package/types/useSheetOffscreenSize.d.ts.map +1 -1
  170. package/types/useSheetOpenState.d.ts +3 -1
  171. package/types/useSheetOpenState.d.ts.map +1 -1
  172. package/types/useSheetProviderProps.d.ts +15 -13
  173. package/types/useSheetProviderProps.d.ts.map +1 -1
  174. package/types/useSheetScrollViewGestures.native.d.ts +1 -1
  175. package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
  176. package/types/useSheetState.d.ts +26 -0
  177. package/types/useSheetState.d.ts.map +1 -0
  178. package/dist/cjs/GestureDetectorWrapper.cjs +0 -44
  179. package/dist/cjs/GestureDetectorWrapper.native.js.map +0 -1
  180. package/dist/esm/GestureDetectorWrapper.mjs +0 -25
  181. package/dist/esm/GestureDetectorWrapper.mjs.map +0 -1
  182. package/dist/esm/GestureDetectorWrapper.native.js +0 -26
  183. package/dist/esm/GestureDetectorWrapper.native.js.map +0 -1
  184. package/dist/jsx/GestureDetectorWrapper.mjs +0 -25
  185. package/dist/jsx/GestureDetectorWrapper.mjs.map +0 -1
  186. package/dist/jsx/GestureDetectorWrapper.native.js.map +0 -1
  187. package/src/GestureDetectorWrapper.tsx +0 -38
  188. package/src/nativeSheet.tsx +0 -86
  189. package/types/GestureDetectorWrapper.d.ts +0 -14
  190. package/types/GestureDetectorWrapper.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SheetImplementationCustom.native.js","names":[],"sources":["jsx/SheetImplementationCustom.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SheetImplementationCustom_exports = {};\n__export(SheetImplementationCustom_exports, {\n\tSheetImplementationCustom: () => SheetImplementationCustom,\n\tisSheetOverlayComponent: () => isSheetOverlayComponent\n});\nmodule.exports = __toCommonJS(SheetImplementationCustom_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_animate_presence = require(\"@tamagui/animate-presence\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_portal = require(\"@tamagui/portal\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_react_native = require(\"react-native\");\nvar import_contexts = require(\"./contexts\");\nvar import_constants2 = require(\"./constants\");\nvar import_GestureDetectorWrapper = require(\"./GestureDetectorWrapper\");\nvar import_gestureState = require(\"./gestureState\");\nvar import_GestureSheetContext = require(\"./GestureSheetContext\");\nvar import_helpers = require(\"./helpers\");\nvar import_keyboardAvoidance = require(\"./keyboardAvoidance\");\nvar import_webViewport = require(\"./webViewport\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_useGestureHandlerPan = require(\"./useGestureHandlerPan\");\nvar import_useKeyboardControllerSheet = require(\"./useKeyboardControllerSheet\");\nvar import_useSafeAreaInsets = require(\"./useSafeAreaInsets\");\nvar import_useSheetOpenState = require(\"./useSheetOpenState\");\nvar import_useSheetProviderProps = require(\"./useSheetProviderProps\");\nvar hiddenSize = 10000.1;\nvar rnghRootStyleOpen = {\n\twidth: \"100%\",\n\theight: \"100%\"\n};\nvar rnghRootStyleClosed = {\n\twidth: \"100%\",\n\theight: 0\n};\nvar sheetEscapeLayers = [];\nvar relativeDimensionTo = import_constants.isWeb ? \"window\" : \"screen\";\nfunction getStableViewportHeight() {\n\tif (import_constants.isWeb && typeof window !== \"undefined\") return (0, import_webViewport.getStableLayoutViewportHeight)();\n\treturn import_react_native.Dimensions.get(relativeDimensionTo).height;\n}\nvar SheetImplementationCustom = (0, import_core.createRefComponent)(function SheetImplementationCustom2(props, forwardedRef) {\n\tvar parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);\n\tvar safeAreaInsets = (0, import_useSafeAreaInsets.useSafeAreaInsets)();\n\tvar _safeAreaInsets_top;\n\tvar safeAreaTopInset = (_safeAreaInsets_top = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _safeAreaInsets_top !== void 0 ? _safeAreaInsets_top : 0;\n\tvar { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition } = props;\n\tvar state = (0, import_useSheetOpenState.useSheetOpenState)(props);\n\tvar providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state);\n\tvar { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;\n\tvar { open, controller, isHidden } = state;\n\tvar openRef = import_react.default.useRef(open);\n\topenRef.current = open;\n\tvar sheetRef = import_react.default.useRef(void 0);\n\tvar ref = (0, import_compose_refs.useComposedRefs)(forwardedRef, sheetRef, providerProps.contentRef);\n\tvar animationDriver = (0, import_core.useAnimationDriver)();\n\tvar transitionConfig = (function() {\n\t\tvar _animationDriver_animations;\n\t\tif (transitionConfigProp) return transitionConfigProp;\n\t\tvar [animationProp, animationPropConfig] = !transition ? [] : Array.isArray(transition) ? transition : [transition];\n\t\tvar namedConfig = animationProp && ((_animationDriver_animations = animationDriver.animations) === null || _animationDriver_animations === void 0 ? void 0 : _animationDriver_animations[animationProp]);\n\t\tif (namedConfig) {\n\t\t\tif (typeof namedConfig === \"string\") return animationPropConfig !== null && animationPropConfig !== void 0 ? animationPropConfig : null;\n\t\t\treturn {\n\t\t\t\t...namedConfig,\n\t\t\t\t...animationPropConfig\n\t\t\t};\n\t\t}\n\t\treturn null;\n\t})();\n\tvar [isShowingInnerSheet, setIsShowingInnerSheet] = import_react.default.useState(false);\n\tvar shouldHideParentSheet = !import_constants.isWeb && modal && isShowingInnerSheet && (0, import_portal.needsPortalRepropagation)();\n\tvar sheetInsideSheet = import_react.default.useContext(import_contexts.SheetInsideSheetContext);\n\tvar onInnerSheet = import_react.default.useCallback(function(hasChild) {\n\t\tsetIsShowingInnerSheet(hasChild);\n\t}, []);\n\tvar { keyboardHeight, isKeyboardVisible, dismissKeyboard, pauseKeyboardHandler, flushPendingHide } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({ enabled: Boolean(moveOnKeyboardChange) });\n\tvar stableFrameSize = import_react.default.useRef(frameSize);\n\timport_react.default.useEffect(function() {\n\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t}, [open, frameSize]);\n\tvar isWebKbSheet = import_constants.isWeb && hasFit && moveOnKeyboardChange;\n\tvar isNativeKbFitSheet = !import_constants.isWeb && hasFit && Boolean(moveOnKeyboardChange);\n\tvar preKeyboardFrameSize = import_react.default.useRef(0);\n\timport_react.default.useEffect(function() {\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\tvar effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;\n\tvar effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;\n\tvar positions = import_react.default.useMemo(function() {\n\t\treturn snapPoints.map(function(point) {\n\t\t\treturn getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);\n\t\t});\n\t}, [\n\t\teffScreenSize,\n\t\teffectiveFrameSize,\n\t\tsnapPoints,\n\t\tsnapPointsMode\n\t]);\n\tvar [isDragging, setIsDragging_] = import_react.default.useState(false);\n\tvar isDraggingRef = import_react.default.useRef(false);\n\tvar setIsDragging = import_react.default.useCallback(function(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\tvar activePositionsRef = import_react.default.useRef(positions);\n\tvar activePositions = import_react.default.useMemo(function() {\n\t\tif (isDragging || isDraggingRef.current) return activePositionsRef.current;\n\t\tvar result;\n\t\tif (!isKeyboardVisible || keyboardHeight <= 0) result = positions;\n\t\telse result = positions.map(function(p) {\n\t\t\treturn (0, import_keyboardAvoidance.getKeyboardAdjustedSheetY)({\n\t\t\t\tsheetY: p,\n\t\t\t\tscreenSize: effScreenSize,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardHeight,\n\t\t\t\tshouldTranslate: true,\n\t\t\t\tsafeAreaTop: import_constants.isWeb ? (0, import_webViewport.getWebVisualViewportOffsetTop)() : safeAreaTopInset\n\t\t\t});\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\tvar keyboardOccludedHeight = (0, import_keyboardAvoidance.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\tvar keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;\n\tvar _animationDriver_View;\n\tvar AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : import_core.View;\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tif (!(sheetInsideSheet && open)) return;\n\t\tsheetInsideSheet(true);\n\t\treturn function() {\n\t\t\tsheetInsideSheet(false);\n\t\t};\n\t}, [sheetInsideSheet, open]);\n\tvar nextParentContext = import_react.default.useMemo(function() {\n\t\treturn { zIndex };\n\t}, [zIndex]);\n\tvar startPosition = (0, import_core.useDidFinishSSR)() && screenSize ? screenSize : hiddenSize;\n\tvar animatedNumber = (0, import_core.useAnimatedNumber)(startPosition);\n\tvar at = import_react.default.useRef(startPosition);\n\tvar hasntMeasured = at.current === hiddenSize;\n\tvar [disableAnimation, setDisableAnimation] = (0, import_react.useState)(hasntMeasured);\n\tvar skipAdaptAnimation = import_react.default.useRef(false);\n\tif (controller === null || controller === void 0 ? void 0 : controller.skipNextAnimation) skipAdaptAnimation.current = true;\n\tvar hasScrollView = import_react.default.useRef(false);\n\tvar lastPositionIndexRef = import_react.default.useRef(-1);\n\tvar pendingTransitionRef = import_react.default.useRef(null);\n\tvar emitTransition = (0, import_core.useEvent)(function(phase, event, finished) {\n\t\tvar _controller_onTransition;\n\t\tvar e = {\n\t\t\tphase,\n\t\t\tcause: event.cause,\n\t\t\tposition: event.position\n\t\t};\n\t\tif (phase === \"end\") e.finished = finished;\n\t\tonTransition === null || onTransition === void 0 || onTransition(e);\n\t\tcontroller === null || controller === void 0 || (_controller_onTransition = controller.onTransition) == null || _controller_onTransition.call(controller, e);\n\t});\n\tvar syncAnimatedPosition = (0, import_core.useEvent)(function(value) {\n\t\tat.current = value;\n\t\tscrollBridge.paneY = value;\n\t\tvar minY = activePositions[0];\n\t\tvar wasAtTop = scrollBridge.isAtTop;\n\t\tvar nowAtTop = value <= minY + 5;\n\t\tif (wasAtTop === nowAtTop) return;\n\t\tscrollBridge.isAtTop = nowAtTop;\n\t\tif (nowAtTop) {\n\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\tif (scrollBridge.lockScrollAtTop) {\n\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\t\tvar _scrollBridge_forceScrollTo;\n\t\t\t\t\t(_scrollBridge_forceScrollTo = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo === void 0 || _scrollBridge_forceScrollTo.call(scrollBridge, 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\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false, 0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\tvar _scrollBridge_forceScrollTo1;\n\t\t\t\t(_scrollBridge_forceScrollTo1 = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo1 === void 0 || _scrollBridge_forceScrollTo1.call(scrollBridge, 0);\n\t\t\t\tscrollBridge.y = 0;\n\t\t\t}\n\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t} else {\n\t\t\tvar _scrollBridge_setScrollEnabled2;\n\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t(_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 || _scrollBridge_setScrollEnabled2.call(scrollBridge, false);\n\t\t}\n\t});\n\tvar setAnimatedPositionDirect = (0, import_core.useEvent)(function(value) {\n\t\tsyncAnimatedPosition(value);\n\t\tanimatedNumber.setValue(value, { type: \"direct\" });\n\t});\n\tvar getAnimatedPosition = (0, import_core.useEvent)(function() {\n\t\tvar 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\tvar animateTo = (0, import_core.useEvent)(function(position2, animationOverride) {\n\t\tif (frameSize === 0) return;\n\t\tvar closeTarget = import_constants.isWeb ? Math.max(effScreenSize, (0, import_webViewport.getMaxViewportHeight)()) : effScreenSize;\n\t\tvar isDismissPosition = dismissOnSnapToBottom && position2 === activePositions.length - 1;\n\t\tvar isOpenAnimation = position2 !== -1 && !isHidden && !isDismissPosition;\n\t\tvar toValue = isOpenAnimation ? activePositions[position2] : closeTarget;\n\t\tif (at.current === toValue) {\n\t\t\tif (isDismissPosition) {\n\t\t\t\tif (pendingTransitionRef.current) {\n\t\t\t\t\temitTransition(\"end\", pendingTransitionRef.current, false);\n\t\t\t\t\tpendingTransitionRef.current = null;\n\t\t\t\t}\n\t\t\t\tstopSpring();\n\t\t\t\tvar event = {\n\t\t\t\t\tcause: \"close\",\n\t\t\t\t\tposition: toValue\n\t\t\t\t};\n\t\t\t\tlastPositionIndexRef.current = -1;\n\t\t\t\temitTransition(\"start\", event);\n\t\t\t\tsyncAnimatedPosition(toValue);\n\t\t\t\tsetIsFullyClosed(true);\n\t\t\t\temitTransition(\"end\", event, true);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tat.current = toValue;\n\t\tvar cause = !isOpenAnimation ? \"close\" : lastPositionIndexRef.current < 0 ? \"open\" : \"snap\";\n\t\tlastPositionIndexRef.current = isOpenAnimation ? position2 : -1;\n\t\tvar event1 = {\n\t\t\tcause,\n\t\t\tposition: toValue\n\t\t};\n\t\tif (pendingTransitionRef.current) {\n\t\t\temitTransition(\"end\", pendingTransitionRef.current, false);\n\t\t\tpendingTransitionRef.current = null;\n\t\t}\n\t\tstopSpring();\n\t\tvar animationCompleteCallback = function() {\n\t\t\tif (at.current !== toValue) return;\n\t\t\tsyncAnimatedPosition(toValue);\n\t\t\tpendingTransitionRef.current = null;\n\t\t\tif (!isOpenAnimation && !openRef.current) setIsFullyClosed(true);\n\t\t\temitTransition(\"end\", event1, true);\n\t\t};\n\t\tpendingTransitionRef.current = event1;\n\t\temitTransition(\"start\", event1);\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\tvar resolvedConfig = animationOverride || {\n\t\t\ttype: \"spring\",\n\t\t\t...transitionConfig\n\t\t};\n\t\tvar springConfig = !resolvedConfig.type || resolvedConfig.type === \"spring\" ? {\n\t\t\trestDisplacementThreshold: 1,\n\t\t\trestSpeedThreshold: 10,\n\t\t\tenergyThreshold: 1e-5,\n\t\t\t...resolvedConfig\n\t\t} : resolvedConfig;\n\t\tanimatedNumber.setValue(toValue, springConfig, animationCompleteCallback);\n\t});\n\t(0, import_constants.useIsomorphicLayoutEffect)(\n\t\tfunction() {\n\t\t\tif (hasntMeasured && screenSize && frameSize) {\n\t\t\t\tat.current = screenSize;\n\t\t\t\tanimatedNumber.setValue(screenSize, {\n\t\t\t\t\ttype: \"timing\",\n\t\t\t\t\tduration: 0\n\t\t\t\t}, function() {\n\t\t\t\t\tsyncAnimatedPosition(screenSize);\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tsetDisableAnimation(false);\n\t\t\t\t\t}, 10);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (disableAnimation) return;\n\t\t\tif (isDraggingRef.current) return;\n\t\t\tif (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;\n\t\t\tanimateTo(position);\n\t\t\tif (position === -1) {\n\t\t\t\tscrollBridge.scrollLock = false;\n\t\t\t\tscrollBridge.scrollStartY = -1;\n\t\t\t}\n\t\t\tif (open && position >= 0) {\n\t\t\t\tvar isTopPosition = position === 0;\n\t\t\t\tscrollBridge.isAtTop = isTopPosition;\n\t\t\t\tif (isTopPosition) {\n\t\t\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t\t\t} else {\n\t\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\t\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// NOTE: effScreenSize/effectiveFrameSize are intentionally NOT deps. With the\n\t\t// spacer approach the frame's position target is frozen across keyboard\n\t\t// open/close (same stable baseline), so it must NOT re-animate — keyboard\n\t\t// avoidance is the bottom spacer + scroll, not a frame move.\n\t\t[\n\t\t\thasntMeasured,\n\t\t\tdisableAnimation,\n\t\t\tisHidden,\n\t\t\tframeSize,\n\t\t\tscreenSize,\n\t\t\topen,\n\t\t\tposition\n\t\t]\n\t);\n\tvar _props_disableDrag;\n\tvar disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller === null || controller === void 0 ? void 0 : controller.disableDrag;\n\t(0, import_core.useThemeName)();\n\tvar [blockPan, setBlockPan] = import_react.default.useState(false);\n\tvar panResponder = import_react.default.useMemo(function() {\n\t\tif (disableDrag) return;\n\t\tif (!frameSize) return;\n\t\tif (isShowingInnerSheet) return;\n\t\tvar minY = activePositions[0];\n\t\tscrollBridge.paneMinY = minY;\n\t\tvar startY = at.current;\n\t\tfunction setPanning(val) {\n\t\t\tsetIsDragging(val);\n\t\t}\n\t\tvar release = function(param) {\n\t\t\tvar { vy } = param;\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\tvar currentPos = at.current;\n\t\t\tvar end = currentPos + frameSize * vy * .2;\n\t\t\tvar closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({\n\t\t\t\tpositions: activePositions,\n\t\t\t\tprojectedEnd: end,\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: import_constants.isWeb\n\t\t\t});\n\t\t\tsetPosition(closestPoint);\n\t\t\tanimateTo(closestPoint);\n\t\t};\n\t\tvar finish = function(_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\tvar previouslyScrolling = false;\n\t\tvar onMoveShouldSet = function(e, param) {\n\t\t\tvar { dy } = param;\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\tvar isScrolled = scrollBridge.y !== 0;\n\t\t\t\t\tvar isDraggingUp = dy < 0;\n\t\t\t\t\tvar 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\tvar granted = getShouldSet();\n\t\t\tif (granted) scrollBridge.setParentDragging(true);\n\t\t\treturn granted;\n\t\t};\n\t\tvar grant = function() {\n\t\t\tsetPanning(true);\n\t\t\tstopSpring();\n\t\t\tstartY = getAnimatedPosition();\n\t\t};\n\t\tvar isExternalDrag = false;\n\t\tscrollBridge.startPanDrag = function() {\n\t\t\tisExternalDrag = true;\n\t\t\tgrant();\n\t\t};\n\t\tscrollBridge.drag = function(dy) {\n\t\t\tif (!isExternalDrag) {\n\t\t\t\tisExternalDrag = true;\n\t\t\t\tgrant();\n\t\t\t}\n\t\t\tvar to = dy + startY;\n\t\t\tsetAnimatedPositionDirect((0, import_helpers.resisted)(to, minY));\n\t\t};\n\t\tscrollBridge.release = release;\n\t\tscrollBridge.snapToPosition = function(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 import_react_native.PanResponder.create({\n\t\t\tonMoveShouldSetPanResponder: onMoveShouldSet,\n\t\t\tonPanResponderTerminationRequest: function() {\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tonPanResponderGrant: grant,\n\t\t\tonPanResponderMove: function(_e, param) {\n\t\t\t\tvar { dy } = param;\n\t\t\t\tvar toFull = dy + startY;\n\t\t\t\tvar to = (0, import_helpers.resisted)(toFull, 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\timport_react.default.useEffect(function() {\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\tvar wasDragging = import_react.default.useRef(false);\n\timport_react.default.useEffect(function() {\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\timport_react.default.useEffect(function() {\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\timport_react.default.useEffect(function() {\n\t\tif (!import_constants.isWeb || !modal || !open || shouldHideParentSheet) return;\n\t\tvar layer = {};\n\t\tsheetEscapeLayers.push(layer);\n\t\tvar onKeyDown = function(event) {\n\t\t\tif (event.key === \"Escape\") {\n\t\t\t\tif (sheetEscapeLayers[sheetEscapeLayers.length - 1] === layer) state.setOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener(\"keydown\", onKeyDown);\n\t\treturn function() {\n\t\t\tvar index = sheetEscapeLayers.indexOf(layer);\n\t\t\tif (index > -1) sheetEscapeLayers.splice(index, 1);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeyDown);\n\t\t};\n\t}, [\n\t\tmodal,\n\t\topen,\n\t\tshouldHideParentSheet,\n\t\tstate.setOpen\n\t]);\n\tvar { panGesture, panGestureRef, gestureHandlerEnabled } = (0, import_useGestureHandlerPan.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: import_helpers.resisted,\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\tvar ignoreLayoutForKeyboard = (0, import_core.useEvent)(function() {\n\t\treturn import_constants.isWeb && moveOnKeyboardChange && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;\n\t});\n\tvar handleAnimationViewLayout = (0, import_core.useEvent)(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (!open && stableFrameSize.current !== 0) return;\n\t\tvar layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;\n\t\tif (ignoreLayoutForKeyboard() && frameSize > 0) return;\n\t\tvar next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;\n\t\tif (!next) return;\n\t\tsetFrameSize(Math.round(next));\n\t});\n\tvar handleMaxContentViewLayout = import_react.default.useCallback(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (ignoreLayoutForKeyboard() && screenSize > 0) return;\n\t\tvar next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, getStableViewportHeight());\n\t\tif (!next) return;\n\t\tsetMaxContentSize(Math.round(next));\n\t}, [ignoreLayoutForKeyboard, screenSize]);\n\tvar getAnimatedNumberStyle = import_react.default.useCallback(function(val) {\n\t\t\"worklet\";\n\t\treturn { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };\n\t}, [frameSize]);\n\tvar animatedStyle = (0, import_core.useAnimatedNumberStyle)(animatedNumber, getAnimatedNumberStyle);\n\tvar [isFullyClosed, setIsFullyClosed] = import_react.default.useState(false);\n\tif (open && isFullyClosed) setIsFullyClosed(false);\n\tvar hasEverOpened = import_react.default.useRef(open);\n\tif (open) hasEverOpened.current = true;\n\tvar isVisuallyActive = open || hasEverOpened.current && !isFullyClosed;\n\tvar applyHidden = shouldHideParentSheet || isFullyClosed && !disableHideWhenClosed;\n\tvar forcedContentHeight = hasFit ? void 0 : snapPointsMode === \"percent\" ? `${maxSnapPoint}${import_constants.isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tvar setHasScrollView = import_react.default.useCallback(function(val) {\n\t\thasScrollView.current = val;\n\t}, []);\n\tvar animatedPositionValue = import_react.default.useMemo(function() {\n\t\tvar _activePositions_;\n\t\treturn {\n\t\t\tvalue: animatedNumber,\n\t\t\tscreenSize: effScreenSize,\n\t\t\tframeSize,\n\t\t\tsnapOffsets: activePositions,\n\t\t\tminY: (_activePositions_ = activePositions[0]) !== null && _activePositions_ !== void 0 ? _activePositions_ : 0\n\t\t};\n\t}, [\n\t\tanimatedNumber,\n\t\teffScreenSize,\n\t\tframeSize,\n\t\tactivePositions\n\t]);\n\tvar { overlayChildren, animatedChildren } = import_react.default.useMemo(function() {\n\t\treturn partitionSheetChildren(props.children);\n\t}, [props.children]);\n\tvar contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.LayoutMeasurementController, {\n\t\tdisable: !open,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.ParentSheetContext.Provider, {\n\t\t\tvalue: nextParentContext,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.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__ */ (0, import_jsx_runtime.jsx)(import_GestureSheetContext.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: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_SheetContext.SheetAnimatedPositionContext.Provider, {\n\t\t\t\t\t\tvalue: animatedPositionValue,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetOverlayLayerContext.Provider, {\n\t\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {\n\t\t\t\t\t\t\t\t\tcustom: { open },\n\t\t\t\t\t\t\t\t\tchildren: shouldHideParentSheet || !open ? null : overlayChildren\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsnapPointsMode !== \"percent\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\t\t\tpointerEvents: \"none\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonLayout: handleMaxContentViewLayout\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AnimatedView, {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tonLayout: handleAnimationViewLayout,\n\t\t\t\t\t\t\t\ttransition: isDragging || disableAnimation ? null : transition,\n\t\t\t\t\t\t\t\tdisableClassName: true,\n\t\t\t\t\t\t\t\tstyle: [{\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tzIndex,\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\theight: forcedContentHeight,\n\t\t\t\t\t\t\t\t\tminHeight: forcedContentHeight,\n\t\t\t\t\t\t\t\t\t...applyHidden && { display: \"none\" },\n\t\t\t\t\t\t\t\t\t...(shouldHideParentSheet || !open) && { pointerEvents: \"none\" }\n\t\t\t\t\t\t\t\t}, animatedStyle],\n\t\t\t\t\t\t\t\tchildren: gestureHandlerEnabled && panGesture ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_GestureDetectorWrapper.GestureDetectorWrapper, {\n\t\t\t\t\t\t\t\t\tgesture: panGesture,\n\t\t\t\t\t\t\t\t\tstyle: { flex: 1 },\n\t\t\t\t\t\t\t\t\tchildren: animatedChildren\n\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {\n\t\t\t\t\t\t\t\t\t...panResponder === null || panResponder === void 0 ? void 0 : panResponder.panHandlers,\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\t\theight: \"100%\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: animatedChildren\n\t\t\t\t\t\t\t\t})\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\tif ((0, import_portal.needsPortalRepropagation)()) {\n\t\tvar adaptContext = (0, import_adapt.useAdaptContext)();\n\t\tcontents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.ProvideAdaptContext, {\n\t\t\t...adaptContext,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_useSafeAreaInsets.SafeAreaInsetsContext.Provider, {\n\t\t\t\tvalue: safeAreaInsets,\n\t\t\t\tchildren: contents\n\t\t\t})\n\t\t});\n\t}\n\tvar shouldMountChildren = unmountChildrenWhenHidden ? !isFullyClosed : true;\n\tif (modal) {\n\t\tvar RNGHRoot = (0, import_gestureState.getGestureHandlerState)().RootView;\n\t\tvar mountedContents = shouldMountChildren ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContainerComponent, { children: contents }) : null;\n\t\tvar modalContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {\n\t\t\tstackZIndex: zIndex,\n\t\t\thidden: !isVisuallyActive,\n\t\t\t...portalProps,\n\t\t\tchildren: mountedContents && RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.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 (import_constants.isWeb) return modalContents;\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, {\n\t\t\tvalue: onInnerSheet,\n\t\t\tchildren: modalContents\n\t\t});\n\t}\n\treturn contents;\n});\nfunction isSheetOverlayComponent(type) {\n\tvar staticConfig = type === null || type === void 0 ? void 0 : type.staticConfig;\n\twhile (staticConfig) {\n\t\tif (staticConfig[import_constants2.SHEET_OVERLAY_MARKER]) return true;\n\t\tstaticConfig = staticConfig.parentStaticConfig;\n\t}\n\treturn false;\n}\nfunction partitionSheetChildren(children) {\n\tvar overlayChildren = [];\n\tvar animatedChildren = [];\n\timport_react.default.Children.forEach(children, function(child) {\n\t\tif (!/* @__PURE__ */ import_react.default.isValidElement(child)) {\n\t\t\tanimatedChildren.push(child);\n\t\t\treturn;\n\t\t}\n\t\tif (isSheetOverlayComponent(child.type)) {\n\t\t\toverlayChildren.push(child);\n\t\t\treturn;\n\t\t}\n\t\tanimatedChildren.push(child);\n\t});\n\treturn {\n\t\toverlayChildren,\n\t\tanimatedChildren\n\t};\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\tvar pct = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;\n\t\t\tif (Number.isNaN(pct)) {\n\t\t\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains an invalid percentage string\", \"Use \\\"fit\\\", a pixel number, or a percentage such as \\\"50%\\\"\", \"snapPoint\", point));\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn Math.round(screenSize - pct * screenSize);\n\t\t}\n\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains an unsupported mixed-mode value\", \"Use \\\"fit\\\", a pixel number, or a percentage such as \\\"50%\\\"\", \"snapPoint\", point));\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\tvar pct1 = Math.min(100, Math.max(0, Number(point))) / 100;\n\tif (Number.isNaN(pct1)) {\n\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains a value that cannot be converted to a percentage\", \"Use a numeric percentage such as 50\", \"snapPoint\", point));\n\t\treturn 0;\n\t}\n\treturn Math.round(screenSize - pct1 * screenSize);\n}\n//# sourceMappingURL=SheetImplementationCustom.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"SheetImplementationCustom.native.js","names":[],"sources":["jsx/SheetImplementationCustom.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SheetImplementationCustom_exports = {};\n__export(SheetImplementationCustom_exports, {\n\tSheetImplementationCustom: () => SheetImplementationCustom,\n\tisSheetOverlayComponent: () => isSheetOverlayComponent\n});\nmodule.exports = __toCommonJS(SheetImplementationCustom_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_animate_presence = require(\"@tamagui/animate-presence\");\nvar import_transitionResolver = require(\"@tamagui/animation-helpers/transitionResolver\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_portal = require(\"@tamagui/portal\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_contexts = require(\"./contexts\");\nvar import_constants2 = require(\"./constants\");\nvar import_gestureState = require(\"./gestureState\");\nvar import_SheetDragSurface = require(\"./SheetDragSurface\");\nvar import_stableViewportHeight = require(\"./stableViewportHeight\");\nvar import_GestureSheetContext = require(\"./GestureSheetContext\");\nvar import_helpers = require(\"./helpers\");\nvar import_keyboardAvoidance = require(\"./keyboardAvoidance\");\nvar import_webViewport = require(\"./webViewport\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_useGestureHandlerPan = require(\"./useGestureHandlerPan\");\nvar import_useKeyboardControllerSheet = require(\"./useKeyboardControllerSheet\");\nvar import_useSafeAreaInsets = require(\"./useSafeAreaInsets\");\nvar import_useSheetOpenState = require(\"./useSheetOpenState\");\nvar import_useSheetProviderProps = require(\"./useSheetProviderProps\");\nvar hiddenSize = 10000.1;\nvar rnghRootStyleOpen = {\n\twidth: \"100%\",\n\theight: \"100%\"\n};\nvar rnghRootStyleClosed = {\n\twidth: \"100%\",\n\theight: 0\n};\nvar sheetEscapeLayers = [];\nvar SheetImplementationCustom = (0, import_core.createRefComponent)(function SheetImplementationCustom2(props, forwardedRef) {\n\tvar parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);\n\tvar safeAreaInsets = (0, import_useSafeAreaInsets.useSafeAreaInsets)();\n\tvar _safeAreaInsets_top;\n\tvar safeAreaTopInset = (_safeAreaInsets_top = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _safeAreaInsets_top !== void 0 ? _safeAreaInsets_top : 0;\n\tvar { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition } = props;\n\tvar state = (0, import_useSheetOpenState.useSheetOpenState)(props);\n\tvar providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state);\n\tvar { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;\n\tvar { open, controller, isHidden } = state;\n\tvar openRef = import_react.default.useRef(open);\n\topenRef.current = open;\n\tvar sheetRef = import_react.default.useRef(void 0);\n\tvar ref = (0, import_compose_refs.useComposedRefs)(forwardedRef, sheetRef, providerProps.contentRef);\n\tvar animationDriver = (0, import_core.useAnimationDriver)();\n\tvar transitionConfig = (function() {\n\t\tvar _getTransitionResolver, _resolved_all;\n\t\tif (transitionConfigProp) return transitionConfigProp;\n\t\tvar resolved = transition ? (_getTransitionResolver = (0, import_transitionResolver.getTransitionResolver)()) === null || _getTransitionResolver === void 0 ? void 0 : _getTransitionResolver.resolve(transition, { animations: animationDriver.animations }) : null;\n\t\tvar timing = resolved === null || resolved === void 0 ? void 0 : (_resolved_all = resolved.all) === null || _resolved_all === void 0 ? void 0 : _resolved_all.timing;\n\t\tif (!timing) return null;\n\t\tif (timing.kind === \"timing\") return {\n\t\t\ttype: \"timing\",\n\t\t\tduration: timing.durationMs\n\t\t};\n\t\treturn {\n\t\t\ttype: \"spring\",\n\t\t\tstiffness: timing.stiffness,\n\t\t\tdamping: timing.damping,\n\t\t\tmass: timing.mass\n\t\t};\n\t})();\n\tvar [isShowingInnerSheet, setIsShowingInnerSheet] = import_react.default.useState(false);\n\tvar shouldHideParentSheet = !import_constants.isWeb && modal && isShowingInnerSheet && (0, import_portal.needsPortalRepropagation)();\n\tvar sheetInsideSheet = import_react.default.useContext(import_contexts.SheetInsideSheetContext);\n\tvar onInnerSheet = import_react.default.useCallback(function(hasChild) {\n\t\tsetIsShowingInnerSheet(hasChild);\n\t}, []);\n\tvar { keyboardHeight, isKeyboardVisible, dismissKeyboard, pauseKeyboardHandler, flushPendingHide } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({ enabled: Boolean(moveOnKeyboardChange) });\n\tvar stableFrameSize = import_react.default.useRef(frameSize);\n\timport_react.default.useEffect(function() {\n\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t}, [open, frameSize]);\n\tvar isWebKbSheet = import_constants.isWeb && hasFit && moveOnKeyboardChange;\n\tvar isNativeKbFitSheet = !import_constants.isWeb && hasFit && Boolean(moveOnKeyboardChange);\n\tvar preKeyboardFrameSize = import_react.default.useRef(0);\n\timport_react.default.useEffect(function() {\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\tvar effScreenSize = isWebKbSheet ? (0, import_stableViewportHeight.getStableViewportHeight)() : screenSize;\n\tvar effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;\n\tvar positions = import_react.default.useMemo(function() {\n\t\treturn snapPoints.map(function(point) {\n\t\t\treturn getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);\n\t\t});\n\t}, [\n\t\teffScreenSize,\n\t\teffectiveFrameSize,\n\t\tsnapPoints,\n\t\tsnapPointsMode\n\t]);\n\tvar [isDragging, setIsDragging_] = import_react.default.useState(false);\n\tvar isDraggingRef = import_react.default.useRef(false);\n\tvar setIsDragging = import_react.default.useCallback(function(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\tvar activePositionsRef = import_react.default.useRef(positions);\n\tvar activePositions = import_react.default.useMemo(function() {\n\t\tif (isDragging || isDraggingRef.current) return activePositionsRef.current;\n\t\tvar result;\n\t\tif (!isKeyboardVisible || keyboardHeight <= 0) result = positions;\n\t\telse result = positions.map(function(p) {\n\t\t\treturn (0, import_keyboardAvoidance.getKeyboardAdjustedSheetY)({\n\t\t\t\tsheetY: p,\n\t\t\t\tscreenSize: effScreenSize,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardHeight,\n\t\t\t\tshouldTranslate: true,\n\t\t\t\tsafeAreaTop: import_constants.isWeb ? (0, import_webViewport.getWebVisualViewportOffsetTop)() : safeAreaTopInset\n\t\t\t});\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\tvar keyboardOccludedHeight = (0, import_keyboardAvoidance.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\tvar keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;\n\tvar _animationDriver_View;\n\tvar AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : import_core.View;\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tif (!(sheetInsideSheet && open)) return;\n\t\tsheetInsideSheet(true);\n\t\treturn function() {\n\t\t\tsheetInsideSheet(false);\n\t\t};\n\t}, [sheetInsideSheet, open]);\n\tvar nextParentContext = import_react.default.useMemo(function() {\n\t\treturn { zIndex };\n\t}, [zIndex]);\n\tvar startPosition = (0, import_core.useDidFinishSSR)() && screenSize ? screenSize : hiddenSize;\n\tvar animatedNumber = (0, import_core.useAnimatedNumber)(startPosition);\n\tvar at = import_react.default.useRef(startPosition);\n\tvar hasntMeasured = at.current === hiddenSize;\n\tvar [disableAnimation, setDisableAnimation] = (0, import_react.useState)(hasntMeasured);\n\tvar skipAdaptAnimation = import_react.default.useRef(false);\n\tif (controller === null || controller === void 0 ? void 0 : controller.skipNextAnimation) skipAdaptAnimation.current = true;\n\tvar hasScrollView = import_react.default.useRef(false);\n\tvar lastPositionIndexRef = import_react.default.useRef(-1);\n\tvar pendingTransitionRef = import_react.default.useRef(null);\n\tvar emitTransition = (0, import_core.useEvent)(function(phase, event, finished) {\n\t\tvar _controller_onTransition;\n\t\tvar e = {\n\t\t\tphase,\n\t\t\tcause: event.cause,\n\t\t\tposition: event.position\n\t\t};\n\t\tif (phase === \"end\") e.finished = finished;\n\t\tonTransition === null || onTransition === void 0 || onTransition(e);\n\t\tcontroller === null || controller === void 0 || (_controller_onTransition = controller.onTransition) == null || _controller_onTransition.call(controller, e);\n\t});\n\tvar syncAnimatedPosition = (0, import_core.useEvent)(function(value) {\n\t\tat.current = value;\n\t\tscrollBridge.paneY = value;\n\t\tvar minY = activePositions[0];\n\t\tvar wasAtTop = scrollBridge.isAtTop;\n\t\tvar nowAtTop = value <= minY + 5;\n\t\tif (wasAtTop === nowAtTop) return;\n\t\tscrollBridge.isAtTop = nowAtTop;\n\t\tif (nowAtTop) {\n\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\tif (scrollBridge.lockScrollAtTop) {\n\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\t\tvar _scrollBridge_forceScrollTo;\n\t\t\t\t\t(_scrollBridge_forceScrollTo = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo === void 0 || _scrollBridge_forceScrollTo.call(scrollBridge, 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\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false, 0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\tvar _scrollBridge_forceScrollTo1;\n\t\t\t\t(_scrollBridge_forceScrollTo1 = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo1 === void 0 || _scrollBridge_forceScrollTo1.call(scrollBridge, 0);\n\t\t\t\tscrollBridge.y = 0;\n\t\t\t}\n\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t} else {\n\t\t\tvar _scrollBridge_setScrollEnabled2;\n\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t(_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 || _scrollBridge_setScrollEnabled2.call(scrollBridge, false);\n\t\t}\n\t});\n\tvar setAnimatedPositionDirect = (0, import_core.useEvent)(function(value) {\n\t\tsyncAnimatedPosition(value);\n\t\tanimatedNumber.setValue(value, { type: \"direct\" });\n\t});\n\tvar getAnimatedPosition = (0, import_core.useEvent)(function() {\n\t\tvar 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\tvar animateTo = (0, import_core.useEvent)(function(position2, animationOverride) {\n\t\tif (frameSize === 0) return;\n\t\tvar closeTarget = import_constants.isWeb ? Math.max(effScreenSize, (0, import_webViewport.getMaxViewportHeight)()) : effScreenSize;\n\t\tvar isDismissPosition = dismissOnSnapToBottom && position2 === activePositions.length - 1;\n\t\tvar isOpenAnimation = position2 !== -1 && !isHidden && !isDismissPosition;\n\t\tvar toValue = isOpenAnimation ? activePositions[position2] : closeTarget;\n\t\tif (at.current === toValue) {\n\t\t\tif (isDismissPosition) {\n\t\t\t\tif (pendingTransitionRef.current) {\n\t\t\t\t\temitTransition(\"end\", pendingTransitionRef.current, false);\n\t\t\t\t\tpendingTransitionRef.current = null;\n\t\t\t\t}\n\t\t\t\tstopSpring();\n\t\t\t\tvar event = {\n\t\t\t\t\tcause: \"close\",\n\t\t\t\t\tposition: toValue\n\t\t\t\t};\n\t\t\t\tlastPositionIndexRef.current = -1;\n\t\t\t\temitTransition(\"start\", event);\n\t\t\t\tsyncAnimatedPosition(toValue);\n\t\t\t\tsetIsFullyClosed(true);\n\t\t\t\temitTransition(\"end\", event, true);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tat.current = toValue;\n\t\tvar cause = !isOpenAnimation ? \"close\" : lastPositionIndexRef.current < 0 ? \"open\" : \"snap\";\n\t\tlastPositionIndexRef.current = isOpenAnimation ? position2 : -1;\n\t\tvar event1 = {\n\t\t\tcause,\n\t\t\tposition: toValue\n\t\t};\n\t\tif (pendingTransitionRef.current) {\n\t\t\temitTransition(\"end\", pendingTransitionRef.current, false);\n\t\t\tpendingTransitionRef.current = null;\n\t\t}\n\t\tstopSpring();\n\t\tvar animationCompleteCallback = function() {\n\t\t\tif (at.current !== toValue) return;\n\t\t\tsyncAnimatedPosition(toValue);\n\t\t\tpendingTransitionRef.current = null;\n\t\t\tif (!isOpenAnimation && !openRef.current) setIsFullyClosed(true);\n\t\t\temitTransition(\"end\", event1, true);\n\t\t};\n\t\tpendingTransitionRef.current = event1;\n\t\temitTransition(\"start\", event1);\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\tvar resolvedConfig = animationOverride || {\n\t\t\ttype: \"spring\",\n\t\t\t...transitionConfig\n\t\t};\n\t\tvar springConfig = !resolvedConfig.type || resolvedConfig.type === \"spring\" ? {\n\t\t\trestDisplacementThreshold: 1,\n\t\t\trestSpeedThreshold: 10,\n\t\t\tenergyThreshold: 1e-5,\n\t\t\t...resolvedConfig\n\t\t} : resolvedConfig;\n\t\tanimatedNumber.setValue(toValue, springConfig, animationCompleteCallback);\n\t});\n\t(0, import_constants.useIsomorphicLayoutEffect)(\n\t\tfunction() {\n\t\t\tif (hasntMeasured && screenSize && frameSize) {\n\t\t\t\tat.current = screenSize;\n\t\t\t\tanimatedNumber.setValue(screenSize, { type: \"direct\" });\n\t\t\t\tsyncAnimatedPosition(screenSize);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tsetDisableAnimation(false);\n\t\t\t\t}, 10);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (disableAnimation) return;\n\t\t\tif (isDraggingRef.current) return;\n\t\t\tif (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;\n\t\t\tanimateTo(position);\n\t\t\tif (position === -1) {\n\t\t\t\tscrollBridge.scrollLock = false;\n\t\t\t\tscrollBridge.scrollStartY = -1;\n\t\t\t}\n\t\t\tif (open && position >= 0) {\n\t\t\t\tvar isTopPosition = position === 0;\n\t\t\t\tscrollBridge.isAtTop = isTopPosition;\n\t\t\t\tif (isTopPosition) {\n\t\t\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t\t\t} else {\n\t\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\t\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// NOTE: effScreenSize/effectiveFrameSize are intentionally NOT deps. With the\n\t\t// spacer approach the frame's position target is frozen across keyboard\n\t\t// open/close (same stable baseline), so it must NOT re-animate — keyboard\n\t\t// avoidance is the bottom spacer + scroll, not a frame move.\n\t\t[\n\t\t\thasntMeasured,\n\t\t\tdisableAnimation,\n\t\t\tisHidden,\n\t\t\tframeSize,\n\t\t\tscreenSize,\n\t\t\topen,\n\t\t\tposition\n\t\t]\n\t);\n\tvar _props_disableDrag;\n\tvar disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller === null || controller === void 0 ? void 0 : controller.disableDrag;\n\t(0, import_core.useThemeName)();\n\tvar [blockPan, setBlockPan] = import_react.default.useState(false);\n\tvar panConfig = import_react.default.useMemo(function() {\n\t\tif (disableDrag) return null;\n\t\tif (!frameSize) return null;\n\t\tif (isShowingInnerSheet) return null;\n\t\tvar minY = activePositions[0];\n\t\tscrollBridge.paneMinY = minY;\n\t\tvar startY = at.current;\n\t\tfunction setPanning(val) {\n\t\t\tsetIsDragging(val);\n\t\t}\n\t\tvar release = function(param) {\n\t\t\tvar { vy } = param;\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\tvar currentPos = at.current;\n\t\t\tvar end = currentPos + frameSize * vy * .2;\n\t\t\tvar closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({\n\t\t\t\tpositions: activePositions,\n\t\t\t\tprojectedEnd: end,\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: import_constants.isWeb\n\t\t\t});\n\t\t\tsetPosition(closestPoint);\n\t\t\tanimateTo(closestPoint);\n\t\t};\n\t\tvar finish = function(_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\tvar previouslyScrolling = false;\n\t\tvar onMoveShouldSet = function(e, param) {\n\t\t\tvar { dy } = param;\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\tvar isScrolled = scrollBridge.y !== 0;\n\t\t\t\t\tvar isDraggingUp = dy < 0;\n\t\t\t\t\tvar 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\tvar granted = getShouldSet();\n\t\t\tif (granted) scrollBridge.setParentDragging(true);\n\t\t\treturn granted;\n\t\t};\n\t\tvar grant = function() {\n\t\t\tsetPanning(true);\n\t\t\tstopSpring();\n\t\t\tstartY = getAnimatedPosition();\n\t\t};\n\t\tvar isExternalDrag = false;\n\t\tscrollBridge.startPanDrag = function() {\n\t\t\tisExternalDrag = true;\n\t\t\tgrant();\n\t\t};\n\t\tscrollBridge.drag = function(dy) {\n\t\t\tif (!isExternalDrag) {\n\t\t\t\tisExternalDrag = true;\n\t\t\t\tgrant();\n\t\t\t}\n\t\t\tvar to = dy + startY;\n\t\t\tsetAnimatedPositionDirect((0, import_helpers.resisted)(to, minY));\n\t\t};\n\t\tscrollBridge.release = release;\n\t\tscrollBridge.snapToPosition = function(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 {\n\t\t\tonMoveShouldSetPanResponder: onMoveShouldSet,\n\t\t\tonPanResponderTerminationRequest: function() {\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tonPanResponderGrant: grant,\n\t\t\tonPanResponderMove: function(_e, param) {\n\t\t\t\tvar { dy } = param;\n\t\t\t\tvar toFull = dy + startY;\n\t\t\t\tvar to = (0, import_helpers.resisted)(toFull, 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\timport_react.default.useEffect(function() {\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\tvar wasDragging = import_react.default.useRef(false);\n\timport_react.default.useEffect(function() {\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\timport_react.default.useEffect(function() {\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\timport_react.default.useEffect(function() {\n\t\tif (!import_constants.isWeb || !modal || !open || shouldHideParentSheet) return;\n\t\tvar layer = {};\n\t\tsheetEscapeLayers.push(layer);\n\t\tvar onKeyDown = function(event) {\n\t\t\tif (event.key === \"Escape\") {\n\t\t\t\tif (sheetEscapeLayers[sheetEscapeLayers.length - 1] === layer) state.setOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener(\"keydown\", onKeyDown);\n\t\treturn function() {\n\t\t\tvar index = sheetEscapeLayers.indexOf(layer);\n\t\t\tif (index > -1) sheetEscapeLayers.splice(index, 1);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeyDown);\n\t\t};\n\t}, [\n\t\tmodal,\n\t\topen,\n\t\tshouldHideParentSheet,\n\t\tstate.setOpen\n\t]);\n\tvar { panGesture, panGestureRef, gestureHandlerEnabled } = (0, import_useGestureHandlerPan.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: import_helpers.resisted,\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\tvar ignoreLayoutForKeyboard = (0, import_core.useEvent)(function() {\n\t\treturn import_constants.isWeb && moveOnKeyboardChange && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;\n\t});\n\tvar handleAnimationViewLayout = (0, import_core.useEvent)(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (!open && stableFrameSize.current !== 0) return;\n\t\tvar layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;\n\t\tif (ignoreLayoutForKeyboard() && frameSize > 0) return;\n\t\tvar next = modal ? Math.min(layoutHeight, (0, import_stableViewportHeight.getStableViewportHeight)()) : layoutHeight;\n\t\tif (!next) return;\n\t\tsetFrameSize(Math.round(next));\n\t});\n\tvar handleMaxContentViewLayout = import_react.default.useCallback(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (ignoreLayoutForKeyboard() && screenSize > 0) return;\n\t\tvar next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, (0, import_stableViewportHeight.getStableViewportHeight)());\n\t\tif (!next) return;\n\t\tsetMaxContentSize(Math.round(next));\n\t}, [ignoreLayoutForKeyboard, screenSize]);\n\tvar getAnimatedNumberStyle = import_react.default.useCallback(function(val) {\n\t\t\"worklet\";\n\t\treturn { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };\n\t}, [frameSize]);\n\tvar animatedStyle = (0, import_core.useAnimatedNumberStyle)(animatedNumber, getAnimatedNumberStyle);\n\tvar [isFullyClosed, setIsFullyClosed] = import_react.default.useState(false);\n\tif (open && isFullyClosed) setIsFullyClosed(false);\n\tvar hasEverOpened = import_react.default.useRef(open);\n\tif (open) hasEverOpened.current = true;\n\tvar isVisuallyActive = open || hasEverOpened.current && !isFullyClosed;\n\tvar applyHidden = shouldHideParentSheet || isFullyClosed && !disableHideWhenClosed;\n\tvar forcedContentHeight = hasFit ? void 0 : snapPointsMode === \"percent\" ? `${maxSnapPoint}${import_constants.isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tvar setHasScrollView = import_react.default.useCallback(function(val) {\n\t\thasScrollView.current = val;\n\t}, []);\n\tvar animatedPositionValue = import_react.default.useMemo(function() {\n\t\tvar _activePositions_;\n\t\treturn {\n\t\t\tvalue: animatedNumber,\n\t\t\tscreenSize: effScreenSize,\n\t\t\tframeSize,\n\t\t\tsnapOffsets: activePositions,\n\t\t\tminY: (_activePositions_ = activePositions[0]) !== null && _activePositions_ !== void 0 ? _activePositions_ : 0\n\t\t};\n\t}, [\n\t\tanimatedNumber,\n\t\teffScreenSize,\n\t\tframeSize,\n\t\tactivePositions\n\t]);\n\tvar { overlayChildren, animatedChildren } = import_react.default.useMemo(function() {\n\t\treturn partitionSheetChildren(props.children);\n\t}, [props.children]);\n\tvar contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.LayoutMeasurementController, {\n\t\tdisable: !open,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.ParentSheetContext.Provider, {\n\t\t\tvalue: nextParentContext,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.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__ */ (0, import_jsx_runtime.jsx)(import_GestureSheetContext.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: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_SheetContext.SheetAnimatedPositionContext.Provider, {\n\t\t\t\t\t\tvalue: animatedPositionValue,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetOverlayLayerContext.Provider, {\n\t\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {\n\t\t\t\t\t\t\t\t\tcustom: { open },\n\t\t\t\t\t\t\t\t\tchildren: shouldHideParentSheet || !open ? null : overlayChildren\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsnapPointsMode !== \"percent\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\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\tinset: 0,\n\t\t\t\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\t\t\t\tonLayout: handleMaxContentViewLayout\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AnimatedView, {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tonLayout: handleAnimationViewLayout,\n\t\t\t\t\t\t\t\ttransition: isDragging || disableAnimation ? null : transition,\n\t\t\t\t\t\t\t\tdisableClassName: true,\n\t\t\t\t\t\t\t\tstyle: [{\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tzIndex,\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\theight: forcedContentHeight,\n\t\t\t\t\t\t\t\t\tminHeight: forcedContentHeight,\n\t\t\t\t\t\t\t\t\t...applyHidden && { display: \"none\" },\n\t\t\t\t\t\t\t\t\t...(shouldHideParentSheet || !open) && { pointerEvents: \"none\" }\n\t\t\t\t\t\t\t\t}, animatedStyle],\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetDragSurface.SheetDragSurface, {\n\t\t\t\t\t\t\t\t\tgestureHandlerEnabled,\n\t\t\t\t\t\t\t\t\tpanGesture,\n\t\t\t\t\t\t\t\t\tpanConfig,\n\t\t\t\t\t\t\t\t\tchildren: animatedChildren\n\t\t\t\t\t\t\t\t})\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\tif ((0, import_portal.needsPortalRepropagation)()) {\n\t\tvar adaptContext = (0, import_adapt.useAdaptContext)();\n\t\tcontents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.ProvideAdaptContext, {\n\t\t\t...adaptContext,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_useSafeAreaInsets.SafeAreaInsetsContext.Provider, {\n\t\t\t\tvalue: safeAreaInsets,\n\t\t\t\tchildren: contents\n\t\t\t})\n\t\t});\n\t}\n\tvar shouldMountChildren = unmountChildrenWhenHidden ? !isFullyClosed : true;\n\tif (modal) {\n\t\tif (!shouldMountChildren) return null;\n\t\tvar RNGHRoot = (0, import_gestureState.getGestureHandlerState)().RootView;\n\t\tvar mountedContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContainerComponent, { children: contents });\n\t\tvar modalContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {\n\t\t\tstackZIndex: zIndex,\n\t\t\thidden: !isVisuallyActive,\n\t\t\t...portalProps,\n\t\t\tchildren: RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.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 (import_constants.isWeb) return modalContents;\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, {\n\t\t\tvalue: onInnerSheet,\n\t\t\tchildren: modalContents\n\t\t});\n\t}\n\treturn contents;\n});\nfunction isSheetOverlayComponent(type) {\n\tvar staticConfig = type === null || type === void 0 ? void 0 : type.staticConfig;\n\twhile (staticConfig) {\n\t\tif (staticConfig[import_constants2.SHEET_OVERLAY_MARKER]) return true;\n\t\tstaticConfig = staticConfig.parentStaticConfig;\n\t}\n\treturn false;\n}\nfunction partitionSheetChildren(children) {\n\tvar overlayChildren = [];\n\tvar animatedChildren = [];\n\timport_react.default.Children.forEach(children, function(child) {\n\t\tif (!/* @__PURE__ */ import_react.default.isValidElement(child)) {\n\t\t\tanimatedChildren.push(child);\n\t\t\treturn;\n\t\t}\n\t\tif (isSheetOverlayComponent(child.type)) {\n\t\t\toverlayChildren.push(child);\n\t\t\treturn;\n\t\t}\n\t\tanimatedChildren.push(child);\n\t});\n\treturn {\n\t\toverlayChildren,\n\t\tanimatedChildren\n\t};\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\tvar pct = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;\n\t\t\tif (Number.isNaN(pct)) {\n\t\t\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains an invalid percentage string\", \"Use \\\"fit\\\", a pixel number, or a percentage such as \\\"50%\\\"\", \"snapPoint\", point));\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn Math.round(screenSize - pct * screenSize);\n\t\t}\n\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains an unsupported mixed-mode value\", \"Use \\\"fit\\\", a pixel number, or a percentage such as \\\"50%\\\"\", \"snapPoint\", point));\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\tvar pct1 = Math.min(100, Math.max(0, Number(point))) / 100;\n\tif (Number.isNaN(pct1)) {\n\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains a value that cannot be converted to a percentage\", \"Use a numeric percentage such as 50\", \"snapPoint\", point));\n\t\treturn 0;\n\t}\n\treturn Math.round(screenSize - pct1 * screenSize);\n}\n//# sourceMappingURL=SheetImplementationCustom.js.map\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { composeRefs } from "@tamagui/compose-refs";
2
- import { View, createStyledHOC, isWeb, style } from "@tamagui/core";
2
+ import { View, createRefComponent, createStyledHOC, isWeb } from "@tamagui/core";
3
3
  import { ScrollView } from "@tamagui/scroll-view";
4
4
  import { useControllableState } from "@tamagui/use-controllable-state";
5
5
  import React, { useEffect, useRef, useState } from "react";
@@ -11,9 +11,10 @@ import { MIN_KEYBOARD_HEIGHT, getStableLayoutViewportHeight, getWebKeyboardBotto
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
12
 
13
13
  const SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
14
- const sheetContentStyle = style({ minHeight: "100%" });
15
- const SheetScrollView = createStyledHOC(ScrollView, ({ scope, children, onScroll, scrollEnabled: scrollEnabledProp, style: style2, ...props }, ref) => {
14
+ const sheetContentStyle = { minHeight: "100%" };
15
+ const SheetScrollViewCustom = createRefComponent(({ scope, children, onScroll, scrollEnabled: scrollEnabledProp, style, ...props }, ref) => {
16
16
  const context = useSheetContext(scope);
17
+ if (context.onlyShowContainer) throw new Error("Custom Sheet scrolling requires a custom Sheet");
17
18
  const gestureContext = useGestureSheetContext();
18
19
  const { scrollBridge, setHasScrollView, hasFit, screenSize } = context;
19
20
  const keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
@@ -37,7 +38,7 @@ const SheetScrollView = createStyledHOC(ScrollView, ({ scope, children, onScroll
37
38
  height: frozenFrameHeight,
38
39
  maxHeight: frozenFrameHeight
39
40
  } : null;
40
- const scrollViewStyle = [...Array.isArray(style2) ? style2 : [style2], keyboardFrozenOverride];
41
+ const scrollViewStyle = [...Array.isArray(style) ? style : [style], keyboardFrozenOverride];
41
42
  const panGestureRef = gestureContext?.panGestureRef;
42
43
  const { ScrollView: RNGHScrollView } = getGestureHandlerState();
43
44
  const useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;
@@ -282,6 +283,17 @@ const SheetScrollView = createStyledHOC(ScrollView, ({ scope, children, onScroll
282
283
  style: scrollViewStyle,
283
284
  children: contentWrapper
284
285
  });
286
+ });
287
+ const SheetScrollView = createStyledHOC(ScrollView, ({ scope, ...props }, ref) => {
288
+ const context = useSheetContext(scope);
289
+ return context.onlyShowContainer ? /* @__PURE__ */ jsx(ScrollView, {
290
+ ...props,
291
+ ref
292
+ }) : /* @__PURE__ */ jsx(SheetScrollViewCustom, {
293
+ ...props,
294
+ scope,
295
+ ref
296
+ });
285
297
  }, {
286
298
  disableTheme: true,
287
299
  displayName: SHEET_SCROLL_VIEW_NAME
@@ -1 +1 @@
1
- {"version":3,"file":"SheetScrollView.js","names":[],"sources":["jsx/SheetScrollView.js"],"sourcesContent":["import { composeRefs } from \"@tamagui/compose-refs\";\nimport { createStyledHOC, isWeb, style, View } from \"@tamagui/core\";\nimport { ScrollView } from \"@tamagui/scroll-view\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useGestureSheetContext } from \"./GestureSheetContext\";\nimport { getGestureHandlerState, isGestureHandlerEnabled } from \"./gestureState\";\nimport { useSheetContext } from \"./SheetContext\";\nimport { useSheetScrollViewGestures } from \"./useSheetScrollViewGestures\";\nimport {\n getStableLayoutViewportHeight,\n getWebKeyboardBottomInset,\n getWebKeyboardResizeHeight,\n isEditableElement,\n MIN_KEYBOARD_HEIGHT\n} from \"./webViewport\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst SHEET_SCROLL_VIEW_NAME = \"SheetScrollView\";\nconst sheetContentStyle = style({ minHeight: \"100%\" });\nconst SheetScrollView = createStyledHOC(\n ScrollView,\n ({\n scope,\n children,\n onScroll,\n scrollEnabled: scrollEnabledProp,\n style: style2,\n ...props\n }, ref) => {\n const context = useSheetContext(scope);\n const gestureContext = useGestureSheetContext();\n const { scrollBridge, setHasScrollView, hasFit, screenSize } = context;\n const keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);\n const isKeyboardVisible = context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;\n const [scrollEnabled] = useControllableState({\n prop: scrollEnabledProp,\n defaultProp: true\n });\n const scrollRef = React.useRef(null);\n const [hasScrollableContent, setHasScrollableContent] = useState(true);\n const parentHeight = useRef(0);\n const contentHeight = useRef(0);\n const frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);\n const fitSizingProps = hasFit ? {\n flex: void 0,\n height: void 0,\n maxHeight: screenSize || void 0\n } : { flex: 1 };\n const contentContainerStyle = hasFit ? void 0 : sheetContentStyle;\n const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? { height: frozenFrameHeight, maxHeight: frozenFrameHeight } : null;\n const scrollViewStyle = [\n ...Array.isArray(style2) ? style2 : [style2],\n keyboardFrozenOverride\n ];\n const panGestureRef = gestureContext?.panGestureRef;\n const { ScrollView: RNGHScrollView } = getGestureHandlerState();\n const useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;\n const currentScrollOffset = useRef(0);\n const lastEmittedScrollOffset = useRef(0);\n const lockedScrollY = useRef(0);\n const focusedInputScrollFrame = useRef(0);\n const setScrollEnabled = (next, lockTo) => {\n if (!next) {\n const lockY = lockTo ?? scrollBridge.scrollLockY ?? currentScrollOffset.current;\n if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {\n return;\n }\n scrollBridge.enabled = false;\n lockedScrollY.current = lockY;\n scrollBridge.scrollLockY = lockY;\n if (currentScrollOffset.current !== lockY) {\n scrollRef.current?.scrollTo?.({ x: 0, y: lockY, animated: false });\n currentScrollOffset.current = lockY;\n }\n } else {\n if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {\n return;\n }\n scrollBridge.enabled = true;\n lockedScrollY.current = currentScrollOffset.current;\n scrollBridge.scrollLockY = void 0;\n }\n };\n const forceScrollTo = (y) => {\n scrollRef.current?.scrollTo?.({ x: 0, y, animated: false });\n currentScrollOffset.current = y;\n };\n const emitManualScroll = React.useCallback(\n (node, y) => {\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.({\n nativeEvent: {\n contentOffset: {\n x: node.scrollLeft,\n y\n },\n contentSize: {\n height: node.scrollHeight,\n width: node.scrollWidth\n },\n layoutMeasurement: {\n height: node.offsetHeight,\n width: node.offsetWidth\n }\n },\n timeStamp: Date.now()\n });\n },\n [onScroll, scrollBridge]\n );\n const scrollFocusedInputClearOfKeyboard = React.useCallback(() => {\n if (!isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {\n return;\n }\n const node = scrollRef.current?.getScrollableNode();\n const active = document.activeElement;\n if (!node || !active || !isEditableElement(active) || !node.contains(active)) {\n return;\n }\n const keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());\n if (keyboardHeight <= 0) return;\n const activeRect = active.getBoundingClientRect();\n const nodeRect = node.getBoundingClientRect();\n const margin = 12;\n const keyboardTop = getStableLayoutViewportHeight() - keyboardHeight;\n const visibleTop = nodeRect.top + margin;\n const visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;\n let nextScrollTop = node.scrollTop;\n if (activeRect.bottom > visibleBottom) {\n nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);\n } else if (activeRect.top < visibleTop) {\n nextScrollTop -= Math.ceil(visibleTop - activeRect.top);\n }\n const maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);\n nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));\n if (nextScrollTop === node.scrollTop) return;\n node.scrollTop = nextScrollTop;\n currentScrollOffset.current = nextScrollTop;\n scrollBridge.y = nextScrollTop;\n if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;\n }, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);\n const scheduleFocusedInputScroll = React.useCallback(() => {\n if (!isWeb || !hasFit) return;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n focusedInputScrollFrame.current = requestAnimationFrame(() => {\n scrollFocusedInputClearOfKeyboard();\n focusedInputScrollFrame.current = requestAnimationFrame(\n scrollFocusedInputClearOfKeyboard\n );\n });\n }, [hasFit, scrollFocusedInputClearOfKeyboard]);\n useEffect(() => {\n if (!isWeb || !hasFit) return;\n scheduleFocusedInputScroll();\n window.addEventListener(\"focusin\", scheduleFocusedInputScroll);\n window.visualViewport?.addEventListener(\"resize\", scheduleFocusedInputScroll);\n return () => {\n cancelAnimationFrame(focusedInputScrollFrame.current);\n window.removeEventListener(\"focusin\", scheduleFocusedInputScroll);\n window.visualViewport?.removeEventListener(\"resize\", scheduleFocusedInputScroll);\n };\n }, [hasFit, scheduleFocusedInputScroll]);\n useEffect(() => {\n setHasScrollView(true);\n if (isGestureHandlerEnabled()) {\n scrollBridge.setScrollEnabled = setScrollEnabled;\n scrollBridge.forceScrollTo = forceScrollTo;\n }\n return () => {\n setHasScrollView(false);\n scrollBridge.setScrollEnabled = void 0;\n scrollBridge.forceScrollTo = void 0;\n };\n }, []);\n const updateScrollable = () => {\n if (parentHeight.current && contentHeight.current) {\n setHasScrollableContent(contentHeight.current > parentHeight.current);\n }\n };\n const recordFitHeight = (height) => {\n parentHeight.current = height;\n };\n useEffect(() => {\n scrollBridge.hasScrollableContent = hasScrollableContent;\n }, [hasScrollableContent]);\n const gestureProps = useSheetScrollViewGestures({\n scrollRef,\n scrollBridge,\n hasScrollableContent,\n scrollEnabled,\n setScrollEnabled,\n onManualScroll: emitManualScroll\n });\n const contentWrapper = /* @__PURE__ */ jsxs(\n View,\n {\n onLayout: (e) => {\n const height = Math.floor(e.nativeEvent.layout.height);\n if (height !== contentHeight.current) {\n contentHeight.current = height;\n updateScrollable();\n if (keyboardOccludedHeight > 0) {\n scheduleFocusedInputScroll();\n }\n }\n },\n children: [\n children,\n keyboardOccludedHeight > 0 && /* @__PURE__ */ jsx(\n View,\n {\n \"data-sheet-keyboard-scroll-pad\": true,\n height: keyboardOccludedHeight,\n width: \"100%\"\n }\n )\n ]\n }\n );\n if (useRNGHScrollView && RNGHScrollView && panGestureRef) {\n const RNGHComponent = RNGHScrollView;\n return /* @__PURE__ */ jsx(\n RNGHComponent,\n {\n ref: composeRefs(scrollRef, ref),\n style: [fitSizingProps, ...scrollViewStyle],\n scrollEventThrottle: 1,\n scrollEnabled,\n simultaneousHandlers: [panGestureRef],\n onLayout: (e) => {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n onScroll: (e) => {\n const { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n if (scrollBridge.scrollLockY !== void 0) {\n if (y !== scrollBridge.scrollLockY) {\n scrollRef.current?.scrollTo?.({\n x: 0,\n y: scrollBridge.scrollLockY,\n animated: false\n });\n }\n currentScrollOffset.current = scrollBridge.scrollLockY;\n scrollBridge.y = scrollBridge.scrollLockY;\n if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {\n lastEmittedScrollOffset.current = scrollBridge.scrollLockY;\n onScroll?.({\n ...e,\n nativeEvent: {\n ...e.nativeEvent,\n contentOffset: {\n ...e.nativeEvent.contentOffset,\n y: scrollBridge.scrollLockY\n }\n }\n });\n }\n return;\n }\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.(e);\n },\n contentContainerStyle,\n bounces: false,\n keyboardShouldPersistTaps: \"always\",\n keyboardDismissMode: \"none\",\n ...props,\n children: contentWrapper\n }\n );\n }\n return /* @__PURE__ */ jsx(\n ScrollView,\n {\n ...fitSizingProps,\n onLayout: (e) => {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n ref: composeRefs(scrollRef, ref),\n scrollEventThrottle: 1,\n className: \"_ovs-contain\",\n scrollEnabled,\n onScroll: (e) => {\n const { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.(e);\n },\n contentContainerStyle,\n ...gestureProps,\n ...props,\n style: scrollViewStyle,\n children: contentWrapper\n }\n );\n },\n {\n disableTheme: true,\n displayName: SHEET_SCROLL_VIEW_NAME\n }\n);\nexport {\n SheetScrollView\n};\n//# sourceMappingURL=SheetScrollView.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"SheetScrollView.js","names":[],"sources":["jsx/SheetScrollView.js"],"sourcesContent":["import { composeRefs } from \"@tamagui/compose-refs\";\nimport {\n createRefComponent,\n createStyledHOC,\n isWeb,\n View\n} from \"@tamagui/core\";\nimport { ScrollView } from \"@tamagui/scroll-view\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useGestureSheetContext } from \"./GestureSheetContext\";\nimport { getGestureHandlerState, isGestureHandlerEnabled } from \"./gestureState\";\nimport { useSheetContext } from \"./SheetContext\";\nimport { useSheetScrollViewGestures } from \"./useSheetScrollViewGestures\";\nimport {\n getStableLayoutViewportHeight,\n getWebKeyboardBottomInset,\n getWebKeyboardResizeHeight,\n isEditableElement,\n MIN_KEYBOARD_HEIGHT\n} from \"./webViewport\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst SHEET_SCROLL_VIEW_NAME = \"SheetScrollView\";\nconst sheetContentStyle = { minHeight: \"100%\" };\nconst SheetScrollViewCustom = createRefComponent(\n ({\n scope,\n children,\n onScroll,\n scrollEnabled: scrollEnabledProp,\n style,\n ...props\n }, ref) => {\n const context = useSheetContext(scope);\n if (context.onlyShowContainer)\n throw new Error(\"Custom Sheet scrolling requires a custom Sheet\");\n const gestureContext = useGestureSheetContext();\n const { scrollBridge, setHasScrollView, hasFit, screenSize } = context;\n const keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);\n const isKeyboardVisible = context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;\n const [scrollEnabled] = useControllableState({\n prop: scrollEnabledProp,\n defaultProp: true\n });\n const scrollRef = React.useRef(null);\n const [hasScrollableContent, setHasScrollableContent] = useState(true);\n const parentHeight = useRef(0);\n const contentHeight = useRef(0);\n const frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);\n const fitSizingProps = hasFit ? {\n flex: void 0,\n height: void 0,\n maxHeight: screenSize || void 0\n } : { flex: 1 };\n const contentContainerStyle = hasFit ? void 0 : sheetContentStyle;\n const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? { height: frozenFrameHeight, maxHeight: frozenFrameHeight } : null;\n const scrollViewStyle = [\n ...Array.isArray(style) ? style : [style],\n keyboardFrozenOverride\n ];\n const panGestureRef = gestureContext?.panGestureRef;\n const { ScrollView: RNGHScrollView } = getGestureHandlerState();\n const useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;\n const currentScrollOffset = useRef(0);\n const lastEmittedScrollOffset = useRef(0);\n const lockedScrollY = useRef(0);\n const focusedInputScrollFrame = useRef(0);\n const setScrollEnabled = (next, lockTo) => {\n if (!next) {\n const lockY = lockTo ?? scrollBridge.scrollLockY ?? currentScrollOffset.current;\n if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {\n return;\n }\n scrollBridge.enabled = false;\n lockedScrollY.current = lockY;\n scrollBridge.scrollLockY = lockY;\n if (currentScrollOffset.current !== lockY) {\n scrollRef.current?.scrollTo?.({ x: 0, y: lockY, animated: false });\n currentScrollOffset.current = lockY;\n }\n } else {\n if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {\n return;\n }\n scrollBridge.enabled = true;\n lockedScrollY.current = currentScrollOffset.current;\n scrollBridge.scrollLockY = void 0;\n }\n };\n const forceScrollTo = (y) => {\n scrollRef.current?.scrollTo?.({ x: 0, y, animated: false });\n currentScrollOffset.current = y;\n };\n const emitManualScroll = React.useCallback(\n (node, y) => {\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.({\n nativeEvent: {\n contentOffset: {\n x: node.scrollLeft,\n y\n },\n contentSize: {\n height: node.scrollHeight,\n width: node.scrollWidth\n },\n layoutMeasurement: {\n height: node.offsetHeight,\n width: node.offsetWidth\n }\n },\n timeStamp: Date.now()\n });\n },\n [onScroll, scrollBridge]\n );\n const scrollFocusedInputClearOfKeyboard = React.useCallback(() => {\n if (!isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {\n return;\n }\n const node = scrollRef.current?.getScrollableNode();\n const active = document.activeElement;\n if (!node || !active || !isEditableElement(active) || !node.contains(active)) {\n return;\n }\n const keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());\n if (keyboardHeight <= 0) return;\n const activeRect = active.getBoundingClientRect();\n const nodeRect = node.getBoundingClientRect();\n const margin = 12;\n const keyboardTop = getStableLayoutViewportHeight() - keyboardHeight;\n const visibleTop = nodeRect.top + margin;\n const visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;\n let nextScrollTop = node.scrollTop;\n if (activeRect.bottom > visibleBottom) {\n nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);\n } else if (activeRect.top < visibleTop) {\n nextScrollTop -= Math.ceil(visibleTop - activeRect.top);\n }\n const maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);\n nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));\n if (nextScrollTop === node.scrollTop) return;\n node.scrollTop = nextScrollTop;\n currentScrollOffset.current = nextScrollTop;\n scrollBridge.y = nextScrollTop;\n if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;\n }, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);\n const scheduleFocusedInputScroll = React.useCallback(() => {\n if (!isWeb || !hasFit) return;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n focusedInputScrollFrame.current = requestAnimationFrame(() => {\n scrollFocusedInputClearOfKeyboard();\n focusedInputScrollFrame.current = requestAnimationFrame(\n scrollFocusedInputClearOfKeyboard\n );\n });\n }, [hasFit, scrollFocusedInputClearOfKeyboard]);\n useEffect(() => {\n if (!isWeb || !hasFit) return;\n scheduleFocusedInputScroll();\n window.addEventListener(\"focusin\", scheduleFocusedInputScroll);\n window.visualViewport?.addEventListener(\"resize\", scheduleFocusedInputScroll);\n return () => {\n cancelAnimationFrame(focusedInputScrollFrame.current);\n window.removeEventListener(\"focusin\", scheduleFocusedInputScroll);\n window.visualViewport?.removeEventListener(\"resize\", scheduleFocusedInputScroll);\n };\n }, [hasFit, scheduleFocusedInputScroll]);\n useEffect(() => {\n setHasScrollView(true);\n if (isGestureHandlerEnabled()) {\n scrollBridge.setScrollEnabled = setScrollEnabled;\n scrollBridge.forceScrollTo = forceScrollTo;\n }\n return () => {\n setHasScrollView(false);\n scrollBridge.setScrollEnabled = void 0;\n scrollBridge.forceScrollTo = void 0;\n };\n }, []);\n const updateScrollable = () => {\n if (parentHeight.current && contentHeight.current) {\n setHasScrollableContent(contentHeight.current > parentHeight.current);\n }\n };\n const recordFitHeight = (height) => {\n parentHeight.current = height;\n };\n useEffect(() => {\n scrollBridge.hasScrollableContent = hasScrollableContent;\n }, [hasScrollableContent]);\n const gestureProps = useSheetScrollViewGestures({\n scrollRef,\n scrollBridge,\n hasScrollableContent,\n scrollEnabled,\n setScrollEnabled,\n onManualScroll: emitManualScroll\n });\n const contentWrapper = /* @__PURE__ */ jsxs(\n View,\n {\n onLayout: (e) => {\n const height = Math.floor(e.nativeEvent.layout.height);\n if (height !== contentHeight.current) {\n contentHeight.current = height;\n updateScrollable();\n if (keyboardOccludedHeight > 0) {\n scheduleFocusedInputScroll();\n }\n }\n },\n children: [\n children,\n keyboardOccludedHeight > 0 && /* @__PURE__ */ jsx(\n View,\n {\n \"data-sheet-keyboard-scroll-pad\": true,\n height: keyboardOccludedHeight,\n width: \"100%\"\n }\n )\n ]\n }\n );\n if (useRNGHScrollView && RNGHScrollView && panGestureRef) {\n const RNGHComponent = RNGHScrollView;\n return /* @__PURE__ */ jsx(\n RNGHComponent,\n {\n ref: composeRefs(scrollRef, ref),\n style: [fitSizingProps, ...scrollViewStyle],\n scrollEventThrottle: 1,\n scrollEnabled,\n simultaneousHandlers: [panGestureRef],\n onLayout: (e) => {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n onScroll: (e) => {\n const { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n if (scrollBridge.scrollLockY !== void 0) {\n if (y !== scrollBridge.scrollLockY) {\n scrollRef.current?.scrollTo?.({\n x: 0,\n y: scrollBridge.scrollLockY,\n animated: false\n });\n }\n currentScrollOffset.current = scrollBridge.scrollLockY;\n scrollBridge.y = scrollBridge.scrollLockY;\n if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {\n lastEmittedScrollOffset.current = scrollBridge.scrollLockY;\n onScroll?.({\n ...e,\n nativeEvent: {\n ...e.nativeEvent,\n contentOffset: {\n ...e.nativeEvent.contentOffset,\n y: scrollBridge.scrollLockY\n }\n }\n });\n }\n return;\n }\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.(e);\n },\n contentContainerStyle,\n bounces: false,\n keyboardShouldPersistTaps: \"always\",\n keyboardDismissMode: \"none\",\n ...props,\n children: contentWrapper\n }\n );\n }\n return /* @__PURE__ */ jsx(\n ScrollView,\n {\n ...fitSizingProps,\n onLayout: (e) => {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n ref: composeRefs(scrollRef, ref),\n scrollEventThrottle: 1,\n className: \"_ovs-contain\",\n scrollEnabled,\n onScroll: (e) => {\n const { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll?.(e);\n },\n contentContainerStyle,\n ...gestureProps,\n ...props,\n style: scrollViewStyle,\n children: contentWrapper\n }\n );\n }\n);\nconst SheetScrollView = createStyledHOC(\n ScrollView,\n ({ scope, ...props }, ref) => {\n const context = useSheetContext(scope);\n return context.onlyShowContainer ? /* @__PURE__ */ jsx(ScrollView, { ...props, ref }) : /* @__PURE__ */ jsx(SheetScrollViewCustom, { ...props, scope, ref });\n },\n {\n disableTheme: true,\n displayName: SHEET_SCROLL_VIEW_NAME\n }\n);\nexport {\n SheetScrollView\n};\n//# sourceMappingURL=SheetScrollView.js.map\n"],"mappings":"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"}
@@ -41,10 +41,11 @@ var import_SheetContext = require("./SheetContext.native.js");
41
41
  var import_useSheetScrollViewGestures = require("./useSheetScrollViewGestures.native.js");
42
42
  var import_webViewport = require("./webViewport.native.js");
43
43
  var SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
44
- var sheetContentStyle = (0, import_core.style)({ minHeight: "100%" });
45
- var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.ScrollView, function(param, ref) {
46
- var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, style: _$style, ...props } = param;
44
+ var sheetContentStyle = { minHeight: "100%" };
45
+ var SheetScrollViewCustom = (0, import_core.createRefComponent)(function(param, ref) {
46
+ var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, style, ...props } = param;
47
47
  var context = (0, import_SheetContext.useSheetContext)(scope);
48
+ if (context.onlyShowContainer) throw new Error("Custom Sheet scrolling requires a custom Sheet");
48
49
  var gestureContext = (0, import_GestureSheetContext.useGestureSheetContext)();
49
50
  var { scrollBridge, setHasScrollView, hasFit, screenSize } = context;
50
51
  var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
@@ -68,7 +69,7 @@ var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.Scroll
68
69
  height: frozenFrameHeight,
69
70
  maxHeight: frozenFrameHeight
70
71
  } : null;
71
- var scrollViewStyle = [...Array.isArray(_$style) ? _$style : [_$style], keyboardFrozenOverride];
72
+ var scrollViewStyle = [...Array.isArray(style) ? style : [style], keyboardFrozenOverride];
72
73
  var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;
73
74
  var { ScrollView: RNGHScrollView } = (0, import_gestureState.getGestureHandlerState)();
74
75
  var useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;
@@ -320,6 +321,18 @@ var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.Scroll
320
321
  style: scrollViewStyle,
321
322
  children: contentWrapper
322
323
  });
324
+ });
325
+ var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.ScrollView, function(param, ref) {
326
+ var { scope, ...props } = param;
327
+ var context = (0, import_SheetContext.useSheetContext)(scope);
328
+ return context.onlyShowContainer ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {
329
+ ...props,
330
+ ref
331
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetScrollViewCustom, {
332
+ ...props,
333
+ scope,
334
+ ref
335
+ });
323
336
  }, {
324
337
  disableTheme: true,
325
338
  displayName: SHEET_SCROLL_VIEW_NAME
@@ -41,10 +41,11 @@ var import_SheetContext = require("./SheetContext.native.js");
41
41
  var import_useSheetScrollViewGestures = require("./useSheetScrollViewGestures.native.js");
42
42
  var import_webViewport = require("./webViewport.native.js");
43
43
  var SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
44
- var sheetContentStyle = (0, import_core.style)({ minHeight: "100%" });
45
- var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.ScrollView, function(param, ref) {
46
- var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, style: _$style, ...props } = param;
44
+ var sheetContentStyle = { minHeight: "100%" };
45
+ var SheetScrollViewCustom = (0, import_core.createRefComponent)(function(param, ref) {
46
+ var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, style, ...props } = param;
47
47
  var context = (0, import_SheetContext.useSheetContext)(scope);
48
+ if (context.onlyShowContainer) throw new Error("Custom Sheet scrolling requires a custom Sheet");
48
49
  var gestureContext = (0, import_GestureSheetContext.useGestureSheetContext)();
49
50
  var { scrollBridge, setHasScrollView, hasFit, screenSize } = context;
50
51
  var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
@@ -68,7 +69,7 @@ var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.Scroll
68
69
  height: frozenFrameHeight,
69
70
  maxHeight: frozenFrameHeight
70
71
  } : null;
71
- var scrollViewStyle = [...Array.isArray(_$style) ? _$style : [_$style], keyboardFrozenOverride];
72
+ var scrollViewStyle = [...Array.isArray(style) ? style : [style], keyboardFrozenOverride];
72
73
  var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;
73
74
  var { ScrollView: RNGHScrollView } = (0, import_gestureState.getGestureHandlerState)();
74
75
  var useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;
@@ -320,6 +321,18 @@ var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.Scroll
320
321
  style: scrollViewStyle,
321
322
  children: contentWrapper
322
323
  });
324
+ });
325
+ var SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.ScrollView, function(param, ref) {
326
+ var { scope, ...props } = param;
327
+ var context = (0, import_SheetContext.useSheetContext)(scope);
328
+ return context.onlyShowContainer ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {
329
+ ...props,
330
+ ref
331
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetScrollViewCustom, {
332
+ ...props,
333
+ scope,
334
+ ref
335
+ });
323
336
  }, {
324
337
  disableTheme: true,
325
338
  displayName: SHEET_SCROLL_VIEW_NAME
@@ -1 +1 @@
1
- {"version":3,"file":"SheetScrollView.native.js","names":[],"sources":["jsx/SheetScrollView.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SheetScrollView_exports = {};\n__export(SheetScrollView_exports, {\n SheetScrollView: () => SheetScrollView\n});\nmodule.exports = __toCommonJS(SheetScrollView_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_core = require(\"@tamagui/core\");\nvar import_scroll_view = require(\"@tamagui/scroll-view\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_GestureSheetContext = require(\"./GestureSheetContext\");\nvar import_gestureState = require(\"./gestureState\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_useSheetScrollViewGestures = require(\"./useSheetScrollViewGestures\");\nvar import_webViewport = require(\"./webViewport\");\nvar SHEET_SCROLL_VIEW_NAME = \"SheetScrollView\";\nvar sheetContentStyle = (0, import_core.style)({\n minHeight: \"100%\"\n});\nvar SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.ScrollView, function(param, ref) {\n var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, style: _$style, ...props } = param;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n var gestureContext = (0, import_GestureSheetContext.useGestureSheetContext)();\n var { scrollBridge, setHasScrollView, hasFit, screenSize } = context;\n var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);\n var isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;\n var [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({\n prop: scrollEnabledProp,\n defaultProp: true\n });\n var scrollRef = import_react.default.useRef(null);\n var [hasScrollableContent, setHasScrollableContent] = (0, import_react.useState)(true);\n var parentHeight = (0, import_react.useRef)(0);\n var contentHeight = (0, import_react.useRef)(0);\n var frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);\n var fitSizingProps = hasFit ? {\n flex: void 0,\n height: void 0,\n maxHeight: screenSize || void 0\n } : {\n flex: 1\n };\n var contentContainerStyle = hasFit ? void 0 : sheetContentStyle;\n var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {\n height: frozenFrameHeight,\n maxHeight: frozenFrameHeight\n } : null;\n var scrollViewStyle = [\n ...Array.isArray(_$style) ? _$style : [\n _$style\n ],\n keyboardFrozenOverride\n ];\n var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;\n var { ScrollView: RNGHScrollView } = (0, import_gestureState.getGestureHandlerState)();\n var useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;\n var currentScrollOffset = (0, import_react.useRef)(0);\n var lastEmittedScrollOffset = (0, import_react.useRef)(0);\n var lockedScrollY = (0, import_react.useRef)(0);\n var focusedInputScrollFrame = (0, import_react.useRef)(0);\n var setScrollEnabled = function(next, lockTo) {\n if (!next) {\n var _ref;\n var lockY = (_ref = lockTo !== null && lockTo !== void 0 ? lockTo : scrollBridge.scrollLockY) !== null && _ref !== void 0 ? _ref : currentScrollOffset.current;\n if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {\n return;\n }\n scrollBridge.enabled = false;\n lockedScrollY.current = lockY;\n scrollBridge.scrollLockY = lockY;\n if (currentScrollOffset.current !== lockY) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y: lockY,\n animated: false\n });\n currentScrollOffset.current = lockY;\n }\n } else {\n if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {\n return;\n }\n scrollBridge.enabled = true;\n lockedScrollY.current = currentScrollOffset.current;\n scrollBridge.scrollLockY = void 0;\n }\n };\n var forceScrollTo = function(y) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y,\n animated: false\n });\n currentScrollOffset.current = y;\n };\n var emitManualScroll = import_react.default.useCallback(function(node, y) {\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll({\n nativeEvent: {\n contentOffset: {\n x: node.scrollLeft,\n y\n },\n contentSize: {\n height: node.scrollHeight,\n width: node.scrollWidth\n },\n layoutMeasurement: {\n height: node.offsetHeight,\n width: node.offsetWidth\n }\n },\n timeStamp: Date.now()\n });\n }, [\n onScroll,\n scrollBridge\n ]);\n var scrollFocusedInputClearOfKeyboard = import_react.default.useCallback(function() {\n var _scrollRef_current;\n if (!import_core.isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {\n return;\n }\n var node = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.getScrollableNode();\n var active = document.activeElement;\n if (!node || !active || !(0, import_webViewport.isEditableElement)(active) || !node.contains(active)) {\n return;\n }\n var keyboardHeight = Math.max(keyboardOccludedHeight, (0, import_webViewport.getWebKeyboardBottomInset)());\n if (keyboardHeight <= 0) return;\n var activeRect = active.getBoundingClientRect();\n var nodeRect = node.getBoundingClientRect();\n var margin = 12;\n var keyboardTop = (0, import_webViewport.getStableLayoutViewportHeight)() - keyboardHeight;\n var visibleTop = nodeRect.top + margin;\n var visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;\n var nextScrollTop = node.scrollTop;\n if (activeRect.bottom > visibleBottom) {\n nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);\n } else if (activeRect.top < visibleTop) {\n nextScrollTop -= Math.ceil(visibleTop - activeRect.top);\n }\n var maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);\n nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));\n if (nextScrollTop === node.scrollTop) return;\n node.scrollTop = nextScrollTop;\n currentScrollOffset.current = nextScrollTop;\n scrollBridge.y = nextScrollTop;\n if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;\n }, [\n hasFit,\n isKeyboardVisible,\n keyboardOccludedHeight,\n scrollBridge\n ]);\n var scheduleFocusedInputScroll = import_react.default.useCallback(function() {\n if (!import_core.isWeb || !hasFit) return;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n focusedInputScrollFrame.current = requestAnimationFrame(function() {\n scrollFocusedInputClearOfKeyboard();\n focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);\n });\n }, [\n hasFit,\n scrollFocusedInputClearOfKeyboard\n ]);\n (0, import_react.useEffect)(function() {\n var _window_visualViewport;\n if (!import_core.isWeb || !hasFit) return;\n scheduleFocusedInputScroll();\n window.addEventListener(\"focusin\", scheduleFocusedInputScroll);\n (_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener(\"resize\", scheduleFocusedInputScroll);\n return function() {\n var _window_visualViewport2;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n window.removeEventListener(\"focusin\", scheduleFocusedInputScroll);\n (_window_visualViewport2 = window.visualViewport) === null || _window_visualViewport2 === void 0 ? void 0 : _window_visualViewport2.removeEventListener(\"resize\", scheduleFocusedInputScroll);\n };\n }, [\n hasFit,\n scheduleFocusedInputScroll\n ]);\n (0, import_react.useEffect)(function() {\n setHasScrollView(true);\n if ((0, import_gestureState.isGestureHandlerEnabled)()) {\n scrollBridge.setScrollEnabled = setScrollEnabled;\n scrollBridge.forceScrollTo = forceScrollTo;\n }\n return function() {\n setHasScrollView(false);\n scrollBridge.setScrollEnabled = void 0;\n scrollBridge.forceScrollTo = void 0;\n };\n }, []);\n var updateScrollable = function() {\n if (parentHeight.current && contentHeight.current) {\n setHasScrollableContent(contentHeight.current > parentHeight.current);\n }\n };\n var recordFitHeight = function(height) {\n parentHeight.current = height;\n };\n (0, import_react.useEffect)(function() {\n scrollBridge.hasScrollableContent = hasScrollableContent;\n }, [\n hasScrollableContent\n ]);\n var gestureProps = (0, import_useSheetScrollViewGestures.useSheetScrollViewGestures)({\n scrollRef,\n scrollBridge,\n hasScrollableContent,\n scrollEnabled,\n setScrollEnabled,\n onManualScroll: emitManualScroll\n });\n var contentWrapper = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_core.View, {\n onLayout: function(e) {\n var height = Math.floor(e.nativeEvent.layout.height);\n if (height !== contentHeight.current) {\n contentHeight.current = height;\n updateScrollable();\n if (keyboardOccludedHeight > 0) {\n scheduleFocusedInputScroll();\n }\n }\n },\n children: [\n children,\n keyboardOccludedHeight > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\n \"data-sheet-keyboard-scroll-pad\": true,\n height: keyboardOccludedHeight,\n width: \"100%\"\n })\n ]\n });\n if (useRNGHScrollView && RNGHScrollView && panGestureRef) {\n var RNGHComponent = RNGHScrollView;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHComponent, {\n ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),\n style: [\n fitSizingProps,\n ...scrollViewStyle\n ],\n scrollEventThrottle: 1,\n scrollEnabled,\n simultaneousHandlers: [\n panGestureRef\n ],\n onLayout: function(e) {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n onScroll: function(e) {\n var { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n if (scrollBridge.scrollLockY !== void 0) {\n if (y !== scrollBridge.scrollLockY) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y: scrollBridge.scrollLockY,\n animated: false\n });\n }\n currentScrollOffset.current = scrollBridge.scrollLockY;\n scrollBridge.y = scrollBridge.scrollLockY;\n if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {\n lastEmittedScrollOffset.current = scrollBridge.scrollLockY;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll({\n ...e,\n nativeEvent: {\n ...e.nativeEvent,\n contentOffset: {\n ...e.nativeEvent.contentOffset,\n y: scrollBridge.scrollLockY\n }\n }\n });\n }\n return;\n }\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n },\n contentContainerStyle,\n bounces: false,\n keyboardShouldPersistTaps: \"always\",\n keyboardDismissMode: \"none\",\n ...props,\n children: contentWrapper\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {\n ...fitSizingProps,\n onLayout: function(e) {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),\n scrollEventThrottle: 1,\n className: \"_ovs-contain\",\n scrollEnabled,\n onScroll: function(e) {\n var { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n },\n contentContainerStyle,\n ...gestureProps,\n ...props,\n style: scrollViewStyle,\n children: contentWrapper\n });\n}, {\n disableTheme: true,\n displayName: SHEET_SCROLL_VIEW_NAME\n});\n//# sourceMappingURL=SheetScrollView.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"SheetScrollView.native.js","names":[],"sources":["jsx/SheetScrollView.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SheetScrollView_exports = {};\n__export(SheetScrollView_exports, {\n SheetScrollView: () => SheetScrollView\n});\nmodule.exports = __toCommonJS(SheetScrollView_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_core = require(\"@tamagui/core\");\nvar import_scroll_view = require(\"@tamagui/scroll-view\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_GestureSheetContext = require(\"./GestureSheetContext\");\nvar import_gestureState = require(\"./gestureState\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_useSheetScrollViewGestures = require(\"./useSheetScrollViewGestures\");\nvar import_webViewport = require(\"./webViewport\");\nvar SHEET_SCROLL_VIEW_NAME = \"SheetScrollView\";\nvar sheetContentStyle = {\n minHeight: \"100%\"\n};\nvar SheetScrollViewCustom = (0, import_core.createRefComponent)(function(param, ref) {\n var { scope, children, onScroll, scrollEnabled: scrollEnabledProp, style, ...props } = param;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n if (context.onlyShowContainer) throw new Error(\"Custom Sheet scrolling requires a custom Sheet\");\n var gestureContext = (0, import_GestureSheetContext.useGestureSheetContext)();\n var { scrollBridge, setHasScrollView, hasFit, screenSize } = context;\n var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);\n var isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;\n var [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({\n prop: scrollEnabledProp,\n defaultProp: true\n });\n var scrollRef = import_react.default.useRef(null);\n var [hasScrollableContent, setHasScrollableContent] = (0, import_react.useState)(true);\n var parentHeight = (0, import_react.useRef)(0);\n var contentHeight = (0, import_react.useRef)(0);\n var frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);\n var fitSizingProps = hasFit ? {\n flex: void 0,\n height: void 0,\n maxHeight: screenSize || void 0\n } : {\n flex: 1\n };\n var contentContainerStyle = hasFit ? void 0 : sheetContentStyle;\n var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {\n height: frozenFrameHeight,\n maxHeight: frozenFrameHeight\n } : null;\n var scrollViewStyle = [\n ...Array.isArray(style) ? style : [\n style\n ],\n keyboardFrozenOverride\n ];\n var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;\n var { ScrollView: RNGHScrollView } = (0, import_gestureState.getGestureHandlerState)();\n var useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;\n var currentScrollOffset = (0, import_react.useRef)(0);\n var lastEmittedScrollOffset = (0, import_react.useRef)(0);\n var lockedScrollY = (0, import_react.useRef)(0);\n var focusedInputScrollFrame = (0, import_react.useRef)(0);\n var setScrollEnabled = function(next, lockTo) {\n if (!next) {\n var _ref;\n var lockY = (_ref = lockTo !== null && lockTo !== void 0 ? lockTo : scrollBridge.scrollLockY) !== null && _ref !== void 0 ? _ref : currentScrollOffset.current;\n if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {\n return;\n }\n scrollBridge.enabled = false;\n lockedScrollY.current = lockY;\n scrollBridge.scrollLockY = lockY;\n if (currentScrollOffset.current !== lockY) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y: lockY,\n animated: false\n });\n currentScrollOffset.current = lockY;\n }\n } else {\n if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {\n return;\n }\n scrollBridge.enabled = true;\n lockedScrollY.current = currentScrollOffset.current;\n scrollBridge.scrollLockY = void 0;\n }\n };\n var forceScrollTo = function(y) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y,\n animated: false\n });\n currentScrollOffset.current = y;\n };\n var emitManualScroll = import_react.default.useCallback(function(node, y) {\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll({\n nativeEvent: {\n contentOffset: {\n x: node.scrollLeft,\n y\n },\n contentSize: {\n height: node.scrollHeight,\n width: node.scrollWidth\n },\n layoutMeasurement: {\n height: node.offsetHeight,\n width: node.offsetWidth\n }\n },\n timeStamp: Date.now()\n });\n }, [\n onScroll,\n scrollBridge\n ]);\n var scrollFocusedInputClearOfKeyboard = import_react.default.useCallback(function() {\n var _scrollRef_current;\n if (!import_core.isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {\n return;\n }\n var node = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.getScrollableNode();\n var active = document.activeElement;\n if (!node || !active || !(0, import_webViewport.isEditableElement)(active) || !node.contains(active)) {\n return;\n }\n var keyboardHeight = Math.max(keyboardOccludedHeight, (0, import_webViewport.getWebKeyboardBottomInset)());\n if (keyboardHeight <= 0) return;\n var activeRect = active.getBoundingClientRect();\n var nodeRect = node.getBoundingClientRect();\n var margin = 12;\n var keyboardTop = (0, import_webViewport.getStableLayoutViewportHeight)() - keyboardHeight;\n var visibleTop = nodeRect.top + margin;\n var visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;\n var nextScrollTop = node.scrollTop;\n if (activeRect.bottom > visibleBottom) {\n nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);\n } else if (activeRect.top < visibleTop) {\n nextScrollTop -= Math.ceil(visibleTop - activeRect.top);\n }\n var maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);\n nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));\n if (nextScrollTop === node.scrollTop) return;\n node.scrollTop = nextScrollTop;\n currentScrollOffset.current = nextScrollTop;\n scrollBridge.y = nextScrollTop;\n if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;\n }, [\n hasFit,\n isKeyboardVisible,\n keyboardOccludedHeight,\n scrollBridge\n ]);\n var scheduleFocusedInputScroll = import_react.default.useCallback(function() {\n if (!import_core.isWeb || !hasFit) return;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n focusedInputScrollFrame.current = requestAnimationFrame(function() {\n scrollFocusedInputClearOfKeyboard();\n focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);\n });\n }, [\n hasFit,\n scrollFocusedInputClearOfKeyboard\n ]);\n (0, import_react.useEffect)(function() {\n var _window_visualViewport;\n if (!import_core.isWeb || !hasFit) return;\n scheduleFocusedInputScroll();\n window.addEventListener(\"focusin\", scheduleFocusedInputScroll);\n (_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener(\"resize\", scheduleFocusedInputScroll);\n return function() {\n var _window_visualViewport2;\n cancelAnimationFrame(focusedInputScrollFrame.current);\n window.removeEventListener(\"focusin\", scheduleFocusedInputScroll);\n (_window_visualViewport2 = window.visualViewport) === null || _window_visualViewport2 === void 0 ? void 0 : _window_visualViewport2.removeEventListener(\"resize\", scheduleFocusedInputScroll);\n };\n }, [\n hasFit,\n scheduleFocusedInputScroll\n ]);\n (0, import_react.useEffect)(function() {\n setHasScrollView(true);\n if ((0, import_gestureState.isGestureHandlerEnabled)()) {\n scrollBridge.setScrollEnabled = setScrollEnabled;\n scrollBridge.forceScrollTo = forceScrollTo;\n }\n return function() {\n setHasScrollView(false);\n scrollBridge.setScrollEnabled = void 0;\n scrollBridge.forceScrollTo = void 0;\n };\n }, []);\n var updateScrollable = function() {\n if (parentHeight.current && contentHeight.current) {\n setHasScrollableContent(contentHeight.current > parentHeight.current);\n }\n };\n var recordFitHeight = function(height) {\n parentHeight.current = height;\n };\n (0, import_react.useEffect)(function() {\n scrollBridge.hasScrollableContent = hasScrollableContent;\n }, [\n hasScrollableContent\n ]);\n var gestureProps = (0, import_useSheetScrollViewGestures.useSheetScrollViewGestures)({\n scrollRef,\n scrollBridge,\n hasScrollableContent,\n scrollEnabled,\n setScrollEnabled,\n onManualScroll: emitManualScroll\n });\n var contentWrapper = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_core.View, {\n onLayout: function(e) {\n var height = Math.floor(e.nativeEvent.layout.height);\n if (height !== contentHeight.current) {\n contentHeight.current = height;\n updateScrollable();\n if (keyboardOccludedHeight > 0) {\n scheduleFocusedInputScroll();\n }\n }\n },\n children: [\n children,\n keyboardOccludedHeight > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\n \"data-sheet-keyboard-scroll-pad\": true,\n height: keyboardOccludedHeight,\n width: \"100%\"\n })\n ]\n });\n if (useRNGHScrollView && RNGHScrollView && panGestureRef) {\n var RNGHComponent = RNGHScrollView;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHComponent, {\n ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),\n style: [\n fitSizingProps,\n ...scrollViewStyle\n ],\n scrollEventThrottle: 1,\n scrollEnabled,\n simultaneousHandlers: [\n panGestureRef\n ],\n onLayout: function(e) {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n onScroll: function(e) {\n var { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n if (scrollBridge.scrollLockY !== void 0) {\n if (y !== scrollBridge.scrollLockY) {\n var _scrollRef_current_scrollTo, _scrollRef_current;\n (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {\n x: 0,\n y: scrollBridge.scrollLockY,\n animated: false\n });\n }\n currentScrollOffset.current = scrollBridge.scrollLockY;\n scrollBridge.y = scrollBridge.scrollLockY;\n if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {\n lastEmittedScrollOffset.current = scrollBridge.scrollLockY;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll({\n ...e,\n nativeEvent: {\n ...e.nativeEvent,\n contentOffset: {\n ...e.nativeEvent.contentOffset,\n y: scrollBridge.scrollLockY\n }\n }\n });\n }\n return;\n }\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n },\n contentContainerStyle,\n bounces: false,\n keyboardShouldPersistTaps: \"always\",\n keyboardDismissMode: \"none\",\n ...props,\n children: contentWrapper\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {\n ...fitSizingProps,\n onLayout: function(e) {\n recordFitHeight(Math.ceil(e.nativeEvent.layout.height));\n updateScrollable();\n },\n ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),\n scrollEventThrottle: 1,\n className: \"_ovs-contain\",\n scrollEnabled,\n onScroll: function(e) {\n var { y } = e.nativeEvent.contentOffset;\n currentScrollOffset.current = y;\n scrollBridge.y = y;\n if (y > 0) scrollBridge.scrollStartY = -1;\n lastEmittedScrollOffset.current = y;\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n },\n contentContainerStyle,\n ...gestureProps,\n ...props,\n style: scrollViewStyle,\n children: contentWrapper\n });\n});\nvar SheetScrollView = (0, import_core.createStyledHOC)(import_scroll_view.ScrollView, function(param, ref) {\n var { scope, ...props } = param;\n var context = (0, import_SheetContext.useSheetContext)(scope);\n return context.onlyShowContainer ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {\n ...props,\n ref\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetScrollViewCustom, {\n ...props,\n scope,\n ref\n });\n}, {\n disableTheme: true,\n displayName: SHEET_SCROLL_VIEW_NAME\n});\n//# sourceMappingURL=SheetScrollView.js.map\n"],"mappings":"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"}