@hanzogui/sheet 7.3.0 → 8.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 (229) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/controller/index.cjs +2 -0
  3. package/controller/index.d.ts +5 -0
  4. package/controller/index.js +2 -0
  5. package/controller/index.native.cjs +2 -0
  6. package/controller/index.native.js +2 -0
  7. package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -1
  8. package/dist/cjs/SheetImplementationCustom.cjs +137 -74
  9. package/dist/cjs/SheetImplementationCustom.native.js +162 -83
  10. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  11. package/dist/cjs/SheetScrollView.cjs +155 -34
  12. package/dist/cjs/SheetScrollView.native.js +160 -35
  13. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  14. package/dist/cjs/createSheet.cjs +7 -3
  15. package/dist/cjs/createSheet.native.js +7 -3
  16. package/dist/cjs/createSheet.native.js.map +1 -1
  17. package/dist/cjs/gestureState.cjs +13 -2
  18. package/dist/cjs/gestureState.native.js +14 -2
  19. package/dist/cjs/gestureState.native.js.map +1 -1
  20. package/dist/cjs/index.cjs +12 -1
  21. package/dist/cjs/index.native.js +11 -0
  22. package/dist/cjs/index.native.js.map +1 -1
  23. package/dist/cjs/keyboardAvoidance.cjs +93 -0
  24. package/dist/cjs/keyboardAvoidance.native.js +99 -0
  25. package/dist/cjs/keyboardAvoidance.native.js.map +1 -0
  26. package/dist/cjs/nativeSheet.cjs +3 -0
  27. package/dist/cjs/nativeSheet.native.js +3 -0
  28. package/dist/cjs/nativeSheet.native.js.map +1 -1
  29. package/dist/cjs/setupGestureHandler.cjs +9 -6
  30. package/dist/cjs/setupGestureHandler.native.js +11 -6
  31. package/dist/cjs/setupGestureHandler.native.js.map +1 -1
  32. package/dist/cjs/useGestureHandlerPan.cjs +86 -18
  33. package/dist/cjs/useGestureHandlerPan.native.js +91 -18
  34. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  35. package/dist/cjs/useKeyboardControllerSheet.cjs +68 -6
  36. package/dist/cjs/useSafeAreaInsets.cjs +44 -0
  37. package/dist/cjs/useSafeAreaInsets.native.js +48 -0
  38. package/dist/cjs/useSafeAreaInsets.native.js.map +1 -0
  39. package/dist/cjs/useSheetProviderProps.cjs +1 -1
  40. package/dist/cjs/useSheetProviderProps.native.js +1 -1
  41. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  42. package/dist/cjs/useSheetScrollViewGestures.cjs +30 -5
  43. package/dist/cjs/useSheetScrollViewGestures.native.js +4 -0
  44. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
  45. package/dist/cjs/webViewport.cjs +75 -0
  46. package/dist/cjs/webViewport.native.js +81 -0
  47. package/dist/cjs/webViewport.native.js.map +1 -0
  48. package/dist/esm/GestureDetectorWrapper.mjs.map +1 -1
  49. package/dist/esm/GestureDetectorWrapper.native.js.map +1 -1
  50. package/dist/esm/SheetImplementationCustom.mjs +143 -84
  51. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  52. package/dist/esm/SheetImplementationCustom.native.js +173 -102
  53. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  54. package/dist/esm/SheetScrollView.mjs +157 -36
  55. package/dist/esm/SheetScrollView.mjs.map +1 -1
  56. package/dist/esm/SheetScrollView.native.js +162 -37
  57. package/dist/esm/SheetScrollView.native.js.map +1 -1
  58. package/dist/esm/createSheet.mjs +9 -6
  59. package/dist/esm/createSheet.mjs.map +1 -1
  60. package/dist/esm/createSheet.native.js +19 -15
  61. package/dist/esm/createSheet.native.js.map +1 -1
  62. package/dist/esm/gestureState.mjs +13 -2
  63. package/dist/esm/gestureState.mjs.map +1 -1
  64. package/dist/esm/gestureState.native.js +14 -2
  65. package/dist/esm/gestureState.native.js.map +1 -1
  66. package/dist/esm/index.js +2 -0
  67. package/dist/esm/index.js.map +1 -1
  68. package/dist/esm/index.mjs +2 -0
  69. package/dist/esm/index.mjs.map +1 -1
  70. package/dist/esm/index.native.js +2 -0
  71. package/dist/esm/index.native.js.map +1 -1
  72. package/dist/esm/keyboardAvoidance.mjs +66 -0
  73. package/dist/esm/keyboardAvoidance.mjs.map +1 -0
  74. package/dist/esm/keyboardAvoidance.native.js +69 -0
  75. package/dist/esm/keyboardAvoidance.native.js.map +1 -0
  76. package/dist/esm/nativeSheet.mjs +3 -0
  77. package/dist/esm/nativeSheet.mjs.map +1 -1
  78. package/dist/esm/nativeSheet.native.js +3 -0
  79. package/dist/esm/nativeSheet.native.js.map +1 -1
  80. package/dist/esm/setupGestureHandler.mjs +9 -6
  81. package/dist/esm/setupGestureHandler.mjs.map +1 -1
  82. package/dist/esm/setupGestureHandler.native.js +11 -6
  83. package/dist/esm/setupGestureHandler.native.js.map +1 -1
  84. package/dist/esm/useGestureHandlerPan.mjs +87 -19
  85. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  86. package/dist/esm/useGestureHandlerPan.native.js +92 -19
  87. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  88. package/dist/esm/useKeyboardControllerSheet.mjs +69 -7
  89. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  90. package/dist/esm/useSafeAreaInsets.mjs +7 -0
  91. package/dist/esm/useSafeAreaInsets.mjs.map +1 -0
  92. package/dist/esm/useSafeAreaInsets.native.js +8 -0
  93. package/dist/esm/useSafeAreaInsets.native.js.map +1 -0
  94. package/dist/esm/useSheetProviderProps.mjs +1 -1
  95. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  96. package/dist/esm/useSheetProviderProps.native.js +1 -1
  97. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  98. package/dist/esm/useSheetScrollViewGestures.mjs +30 -5
  99. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  100. package/dist/esm/useSheetScrollViewGestures.native.js +4 -0
  101. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
  102. package/dist/esm/webViewport.mjs +43 -0
  103. package/dist/esm/webViewport.mjs.map +1 -0
  104. package/dist/esm/webViewport.native.js +46 -0
  105. package/dist/esm/webViewport.native.js.map +1 -0
  106. package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -1
  107. package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -1
  108. package/dist/jsx/SheetImplementationCustom.mjs +143 -84
  109. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  110. package/dist/jsx/SheetImplementationCustom.native.js +162 -83
  111. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  112. package/dist/jsx/SheetScrollView.mjs +157 -36
  113. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  114. package/dist/jsx/SheetScrollView.native.js +160 -35
  115. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  116. package/dist/jsx/createSheet.mjs +9 -6
  117. package/dist/jsx/createSheet.mjs.map +1 -1
  118. package/dist/jsx/createSheet.native.js +7 -3
  119. package/dist/jsx/createSheet.native.js.map +1 -1
  120. package/dist/jsx/gestureState.mjs +13 -2
  121. package/dist/jsx/gestureState.mjs.map +1 -1
  122. package/dist/jsx/gestureState.native.js +14 -2
  123. package/dist/jsx/gestureState.native.js.map +1 -1
  124. package/dist/jsx/index.js +2 -0
  125. package/dist/jsx/index.js.map +1 -1
  126. package/dist/jsx/index.mjs +2 -0
  127. package/dist/jsx/index.mjs.map +1 -1
  128. package/dist/jsx/index.native.js +11 -0
  129. package/dist/jsx/index.native.js.map +1 -1
  130. package/dist/jsx/keyboardAvoidance.mjs +66 -0
  131. package/dist/jsx/keyboardAvoidance.mjs.map +1 -0
  132. package/dist/jsx/keyboardAvoidance.native.js +99 -0
  133. package/dist/jsx/keyboardAvoidance.native.js.map +1 -0
  134. package/dist/jsx/nativeSheet.mjs +3 -0
  135. package/dist/jsx/nativeSheet.mjs.map +1 -1
  136. package/dist/jsx/nativeSheet.native.js +3 -0
  137. package/dist/jsx/nativeSheet.native.js.map +1 -1
  138. package/dist/jsx/setupGestureHandler.mjs +9 -6
  139. package/dist/jsx/setupGestureHandler.mjs.map +1 -1
  140. package/dist/jsx/setupGestureHandler.native.js +11 -6
  141. package/dist/jsx/setupGestureHandler.native.js.map +1 -1
  142. package/dist/jsx/useGestureHandlerPan.mjs +87 -19
  143. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  144. package/dist/jsx/useGestureHandlerPan.native.js +91 -18
  145. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  146. package/dist/jsx/useKeyboardControllerSheet.mjs +69 -7
  147. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  148. package/dist/jsx/useSafeAreaInsets.mjs +7 -0
  149. package/dist/jsx/useSafeAreaInsets.mjs.map +1 -0
  150. package/dist/jsx/useSafeAreaInsets.native.js +48 -0
  151. package/dist/jsx/useSafeAreaInsets.native.js.map +1 -0
  152. package/dist/jsx/useSheetProviderProps.mjs +1 -1
  153. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  154. package/dist/jsx/useSheetProviderProps.native.js +1 -1
  155. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  156. package/dist/jsx/useSheetScrollViewGestures.mjs +30 -5
  157. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  158. package/dist/jsx/useSheetScrollViewGestures.native.js +4 -0
  159. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
  160. package/dist/jsx/webViewport.mjs +43 -0
  161. package/dist/jsx/webViewport.mjs.map +1 -0
  162. package/dist/jsx/webViewport.native.js +81 -0
  163. package/dist/jsx/webViewport.native.js.map +1 -0
  164. package/next.md +78 -0
  165. package/package.json +30 -48
  166. package/setup-gesture-handler/index.cjs +2 -0
  167. package/setup-gesture-handler/index.js +2 -0
  168. package/setup-gesture-handler/index.native.cjs +2 -0
  169. package/setup-gesture-handler/index.native.js +2 -0
  170. package/src/GestureDetectorWrapper.tsx +0 -3
  171. package/src/SheetImplementationCustom.tsx +387 -127
  172. package/src/SheetScrollView.tsx +195 -22
  173. package/src/createSheet.tsx +20 -7
  174. package/src/gestureState.ts +22 -2
  175. package/src/index.ts +4 -0
  176. package/src/keyboardAvoidance.ts +121 -0
  177. package/src/nativeSheet.tsx +8 -1
  178. package/src/setupGestureHandler.ts +14 -5
  179. package/src/types.tsx +20 -1
  180. package/src/useGestureHandlerPan.tsx +94 -35
  181. package/src/useKeyboardControllerSheet.ts +127 -10
  182. package/src/useSafeAreaInsets.native.ts +29 -0
  183. package/src/useSafeAreaInsets.ts +19 -0
  184. package/src/useSheetProviderProps.tsx +12 -1
  185. package/src/useSheetScrollViewGestures.native.ts +4 -0
  186. package/src/useSheetScrollViewGestures.ts +52 -5
  187. package/src/webViewport.ts +100 -0
  188. package/test/keyboardAvoidance.test.ts +269 -0
  189. package/tsconfig.json +57 -0
  190. package/types/GestureDetectorWrapper.d.ts +1 -1
  191. package/types/GestureDetectorWrapper.d.ts.map +1 -1
  192. package/types/GestureSheetContext.d.ts +1 -1
  193. package/types/GestureSheetContext.d.ts.map +1 -1
  194. package/types/Sheet.d.ts +6 -5
  195. package/types/Sheet.d.ts.map +1 -1
  196. package/types/SheetContext.d.ts +5 -2
  197. package/types/SheetContext.d.ts.map +1 -1
  198. package/types/SheetController.d.ts +1 -2
  199. package/types/SheetController.d.ts.map +1 -1
  200. package/types/SheetImplementationCustom.d.ts +1 -0
  201. package/types/SheetImplementationCustom.d.ts.map +1 -1
  202. package/types/SheetScrollView.d.ts.map +1 -1
  203. package/types/createSheet.d.ts +13 -12
  204. package/types/createSheet.d.ts.map +1 -1
  205. package/types/gestureState.d.ts.map +1 -1
  206. package/types/index.d.ts +1 -0
  207. package/types/index.d.ts.map +1 -1
  208. package/types/keyboardAvoidance.d.ts +26 -0
  209. package/types/keyboardAvoidance.d.ts.map +1 -0
  210. package/types/nativeSheet.d.ts.map +1 -1
  211. package/types/setupGestureHandler.d.ts.map +1 -1
  212. package/types/types.d.ts +10 -1
  213. package/types/types.d.ts.map +1 -1
  214. package/types/useGestureHandlerPan.d.ts +4 -1
  215. package/types/useGestureHandlerPan.d.ts.map +1 -1
  216. package/types/useKeyboardControllerSheet.d.ts +14 -3
  217. package/types/useKeyboardControllerSheet.d.ts.map +1 -1
  218. package/types/useSafeAreaInsets.d.ts +10 -0
  219. package/types/useSafeAreaInsets.d.ts.map +1 -0
  220. package/types/useSafeAreaInsets.native.d.ts +20 -0
  221. package/types/useSafeAreaInsets.native.d.ts.map +1 -0
  222. package/types/useSheetProviderProps.d.ts +3 -0
  223. package/types/useSheetProviderProps.d.ts.map +1 -1
  224. package/types/useSheetScrollViewGestures.d.ts +2 -1
  225. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  226. package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
  227. package/types/webViewport.d.ts +36 -0
  228. package/types/webViewport.d.ts.map +1 -0
  229. package/LICENSE +0 -42
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","ProvideAdaptContext","useAdaptContext","AnimatePresence","useComposedRefs","isWeb","useIsomorphicLayoutEffect","LayoutMeasurementController","View","GuiView","useConfiguration","useDidFinishSSR","useEvent","useThemeName","getSafeArea","needsPortalRepropagation","Portal","React","useState","Dimensions","PanResponder","ParentSheetContext","SheetInsideSheetContext","GestureDetectorWrapper","GestureSheetProvider","resisted","SheetProvider","useGestureHandlerPan","useKeyboardControllerSheet","useSheetOpenState","useSheetProviderProps","hiddenSize","_cachedSafeAreaTop","getSafeAreaTopInset","getInsets","top","relativeDimensionTo","SheetImplementationCustom","forwardRef","SheetImplementationCustom2","props","forwardedRef","parentSheet","useContext","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","overlayComponent","setOverlayComponent","providerProps","onOverlayComponent","frameSize","setFrameSize","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","sheetRef","ref","contentRef","animationDriver","Error","_animationDriver_animations","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","sheetInsideSheet","onInnerSheet","useCallback","hasChild","stableFrameSize","useEffect","effectiveFrameSize","positions","useMemo","map","point","getYPositions","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","enabled","Boolean","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","safeAreaTop","p","Math","max","useAnimatedNumber","useAnimatedNumberStyle","useAnimatedNumberReaction","_animationDriver_View","AnimatedView","nextParentContext","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","value","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","_scrollBridge_setScrollEnabled","y","_scrollBridge_forceScrollTo","forceScrollTo","call","scrollLockY","setScrollEnabled","_scrollBridge_setScrollEnabled1","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","_controller_onAnimationComplete","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","_props_disableDrag","disableDrag","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","release","param","vy","setParentDragging","isExternalDrag","previouslyScrolling","end","closestPoint","dist","Number","POSITIVE_INFINITY","i","length","curDist","finish","_e","state2","dragAt","dy","onMoveShouldSet","e","getShouldSet","target","handleRef","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","drag","to","snapToPosition","positionIndex","create","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","getCurrentPosition","setAnimatedPosition","handleAnimationViewLayout","_e_nativeEvent","layoutHeight","nativeEvent","layout","height","next","min","get","handleMaxContentViewLayout","animatedStyle","transform","translateY","opacity","forcedContentHeight","setHasScrollView","contents","disable","children","Provider","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","width","minHeight","gesture","flex","panHandlers","shouldMountChildren","modalContents","stackZIndex","mode","endsWith","pct","slice","isNaN","console","warn","round","pct1"],"sources":["../../src/SheetImplementationCustom.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAqBC,KAAA,2BAAuB;AACrD,SAASC,mBAAA,EAAAC,eAAuB;AAChC,SAASC,eAAA,QAAuB;AAChC,SAASC,eAAO,gCAAiC;AACjD,SAAAC,KAAA,EAAAC,yBAAA;AAAA,SACEC,2BAAA,EAAAC,IAAA,IAAAC,OAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,QAAA,EAAAC,YAAA;AAAA,SACAC,WAAQ;AAAA,SACRC,wBAAA,EAAAC,MAAA;AAAA,OACAC,KAAA,IAAAC,QAAA;AAAA,SACAC,UAAA,EAAAC,YAAA,EAAAZ,IAAA;AAAA,SACAa,kBAAA,EAAAC,uBAAA;AAAA,SACKC,sBAAA;AACP,SAASC,oBAAmB;AAC5B,SAASC,QAAA,6BAA0B;AACnC,SAAOC,aAAS,kCAAgB;AAOhC,SAASC,oBAAY,QAAc,kCAAY;AAC/C,SAASC,0BAAoB,gDAA+B;AAC5D,SAASC,iBAAA,uCAA8B;AACvC,SAASC,qBAAA,QAA4B;AACrC,IAAAC,UAAS;AACT,IAAAC,kBAAS;AAET,SAASC,oBAAA;EACT,IAAAD,kBAAS,oBAAkCA,kBAAA;EAC3CA,kBAAS,GAAAlB,WAAA,CAAyB,EAAAoB,SAAA,GAAAC,GAAA;EAClC,OAAAH,kBAAS;AAwrBG;AAtrBZ,IAAAI,mBAAmB,GAAA/B,KAAA;AAGnB,IAAIgC,yBAAA,kBAAApB,KAAA,CAAAqB,UAAA,UAAAC,2BAAAC,KAAA,EAAAC,YAAA;EACJ,IAAAC,WAAS,GAAAzB,KAAA,CAAA0B,UAA8B,CAAAtB,kBAAA;EACrC;IAAIuB,UAAA;IAAAC,gBAAuB,EAAWC,oBAAO;IAAAC,KAAA;IAAAC,MAAA,GAAAN,WAAA,CAAAM,MAAA;IAAAC,oBAAA;IAAAC,yBAAA;IAAAC,WAAA;IAAAC,kBAAA,EAAAC,kBAAA,GAAApC,KAAA,CAAAqC,QAAA;IAAAC;EAAA,IAAAf,KAAA;EAE7C,IAAAgB,KAAA,GAAA3B,iBAAqB,CAAAW,KAAY,CAAE;EACnC,KAAAiB,gBAAO,EAAAC,mBAAA,IAAAzC,KAAA,CAAAC,QAAA;EACT,IAAAyC,aAAA,GAAA7B,qBAAA,CAAAU,KAAA,EAAAgB,KAAA;IAAAI,kBAAA,EAAAF;EAAA;EAEA,IAAI;IAAAG,SAAA;IAAAC,YAAiD;IAAAC,UAAA;IAAAC,cAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC,WAAA;IAAAC,YAAA;IAAAC,UAAA;IAAAC,iBAAA;IAAAC;EAAA,IAAAZ,aAAA;EAGrD;IAAMa,IAAA;IAAAC,UAAA;IAAAC;EAAsB,IAAQlB,KAAA;EAE7B,IAAAmB,OAAM,GAAA1D,KAAA,CAAA2D,MAAA,CAAAJ,IAAA;EAAkCG,OAC7C,CAAAE,OAAS,GAAAL,IAAA;EACP,IAAAM,QAAM,GAAA7D,KAAA,CAAA2D,MAAc,MAAM;EAE1B,IAAAG,GAAA,GAAM3E,eAAA,CAAAqC,YAAA,EAAAqC,QAAA,EAAAnB,aAAA,CAAAqB,UAAA;EAAA;IACJC;EAAA,IAAAvE,gBAAA;EAAA,KACAuE,eAAA,QAAkB,IAAAC,KAAA;EAAA,IAAArC,gBACV;IAAA,IACRsC,2BAAqB;IAAS,IAC9BrC,oBAAA,SAAuBA,oBAAA;IAAA,IACvB,CAAAsC,aAAA,EAAAC,mBAA4B,KAAAzC,UAAA,QAAA0C,KAAA,CAAAC,OAAA,CAAA3C,UAAA,IAAAA,UAAA,IAAAA,UAAA;IAAA,IAC5BwC,aAAA,MAAAD,2BAAA,GAAAF,eAAA,CAAAO,UAAA,cAAAL,2BAAA,uBAAAA,2BAAA,CAAAC,aAAA;MAAA,GACAH,eAAA,CAAAO,UAAoB,CAAAJ,aAAA,CAAqB;MAAM,GAC/CC;IAAA;IAGF,WAAM;EACN;EAEA,KAAAI,mBAAM,EAAgBC,sBAAsB,IAAAzE,KAAO,CAAAC,QAAO;EAAA,IAAAyE,qBACpC,IAAAtF,KAAA,IAAA0C,KAAA,IAAA0C,mBAAA,IAAA1E,wBAAA;EAAA,IACrB6E,gBAAA,GAAA3E,KAAA,CAAA0B,UAAA,CAAArB,uBAAA;EACD,IAAAuE,YAAM,GAAA5E,KAAA,CAAA6E,WAAA,WAAAC,QAAA;IAAAL,sBACJ,CAAAK,QAAA;EAAA,KACA;EAAA,IAAAC,eACA,GAAA/E,KAAA,CAAA2D,MAAA,CAAAf,SAAA;EAAA5C,KACA,CAAAgF,SAAA;IAAA,IACAzB,IAAA,IAAAX,SAAA,EAAAmC,eAAA,CAAAnB,OAAA,GAAAhB,SAAA;EAAA,IAAAW,IACA,EAAAX,SAAA;EAAA,IAAAqC,kBACA,GAAA1B,IAAA,GAAAX,SAAA,GAAAmC,eAAA,CAAAnB,OAAA,IAAAhB,SAAA;EAAA,IAAAsC,SACA,GAAAlF,KAAA,CAAAmF,OAAA;IAAA,OACArC,UAAA,CAAAsC,GAAA,WAAAC,KAAA;MAAA,OACAC,aAAA,CAAAvC,cAAA,EAAAsC,KAAA,EAAAjC,UAAA,EAAA6B,kBAAA;IAAA;EACA,GACF,CACA7B,UAAQ,EACR6B,kBAAgB,EAChBnC,UAAQ,EAERC,cAAM,CACN;EAGA;IAAAwC,cAAQ;IAAAC,iBAAoB;IAAAC,eAAiB;IAAAC,oBAAA;IAAAC;EAAA,IAAAhF,0BAAA;IAAAiF,OAAA,GAAAxG,KAAA,IAAAyG,OAAA,CAAA7D,oBAAA;EAAA;EAE7C,KAAA8D,UAAK,EAAAC,cAAiB,IAAA/F,KAAA,CAAAC,QAAA;EACpB,IAAA+F,aAAU,GAAAhG,KAAM,CAAA2D,MAAA;EAA8C,IAChEsC,aAAA,GAAAjG,KAAA,CAAA6E,WAAA,WAAAqB,GAAA;IAEAF,aAAM,CAAApC,OAAA,GAAAsC,GAAA;IAEJR,oBAAI,CAAA9B,OAAA,GAAsBsC,GAAA;IACxBH,cAAO,CAAAG,GAAA;IAAA,IACT,CAAAA,GAAA,EAAAP,gBAAA;EAEA,IAAAD,oBAAO,EAAAC,gBAAe;EAOtB,IAAAQ,kBAAI,GAAAnG,KAAiB,CAAA2D,MAAA,CAAAuB,SAAgB;EACnC,IAAAkB,eAAO,GAAApG,KAAA,CAAAmF,OAAA;IAAA,IAAAW,UACF,IAAAE,aAAgB,CAAApC,OAAW,SAAAuC,kBAAuB,CAAAvC,OAAA;IAAA,IAAAyC,MACrD;IAAG,KAAAb,iBACL,IAAAD,cAAA,OAAAc,MAAA,GAAAnB,SAAA,MACF;MAEA,IAAAoB,WAAO,GAAAlH,KAAA,OAAA4B,mBAAA;MAAAqF,MACN,GAAAnB,SAAA,CAAAE,GAAA,WAAAmB,CAAA;QAKH,IAAAnD,UAAO,IAAAmD,CAAA,IAAAnD,UAAqB,SAAAmD,CAAA;QAE5B,OAAMC,IAAA,CAAAC,GAAA,CAAAH,WAAA,EAAAC,CACJ,GAAChB,cAAS;MAEZ;IACA;IACEY,kBAAA,CAAAvC,OAAA,GAAuByC,MAAQ;IAAA,OAC5BA,MAAA;EAGL,IAEAnB,SAAM,EAEJM,iBAAY,EACVD,cAAA,EAA0BnC,UAC5B,EAAA0C,UACE,CAIJ;EAEA;IAAAY,iBAAkB;IAAAC,sBAAM;IAAAC;EAAA,IAAA5C,eAAA;EAAA,IAAA6C,qBAET;EAAA,IAAAC,YAAK,GACd,CAAAD,qBAAc,GAAA7C,eAAuB,CAAAzE,IAAA,MAAY,QAAAsH,qBAAkB,cAAAA,qBAAA,GAAArH,OAAA;EAAAH,yBACrE;IAAA,IACF,EAACsF,gBAAY,IAAApB,IAAA;IAA8CoB,gBAC7D;IAKA,mBAAM;MAAAA,gBACJ;IAAA;EACA,IAAAA,gBACA,EAAApB,IAAA;EAAA,IAAAwD,iBACA,GAAA/G,KAAA,CAAAmF,OAAA;IAAA,OACA;MAAApD;IAAA;EAAA,GACF,CAAAA,MAAI;EAA2B,IAAAiF,aACnB,GAAAtH,eAAiB,MAAA0D,UAAA,GAAoBA,UAAA,GAAAtC,UAAA;EAAA,IAChDmG,cAAA,GAAAP,iBAAA,CAAAM,aAAA;EAED,IAAAE,EAAA,GAAMlH,KAAC,CAAA2D,MAAA,CAAYqD,aAAA,CAAc;EAMjC,IAAAG,aAAM,GAAAD,EAAA,CAAAtD,OAAgB,KAAM9C,UAAY;EACxC,KAAAsG,gBAAM,EAAAC,mBAAsB,IAAApH,QAAA,CAAAkH,aAAA;EAAA,IAAAG,kBACR,GAAAtH,KAAA,CAAA2D,MAAA;EAChB,IAAAH,UAAA,SAAc,IAAAA,UAAU,uBAAAA,UAAA,CAAA+D,iBAAA,EAAAD,kBAAA,CAAA1D,OAAA;EACxB,IAAA4D,aAAA,GAAAxH,KAAA,CAAA2D,MAAqB,MAAU;EAC/B,IAAA8D,oBAAe,GAAGzH,KAAA,CAAA2D,MAAA;EAGlBiD,yBAAU;IACRc,KAAA,EAAAT,cAAA;IAAiBU,OACnB,EAAA9D;EAAA,GAAA7D,KACF,CAAA6E,WAAA,WAAA6C,KAAA;IAAAR,EAAA,CAAAtD,OACC,GAAA8D,KAAA;IAAsCvE,YACzC,CAAAyE,KAAA,GAAAF,KAAA;IAYA,IAAAG,IAAM,GAAAzB,eAAA,GAAqB;IAC3B,IAAA0B,QAAM,GAAA3E,YAAkB,CAAA4E,OAAM;IAI5B,IAAAC,QAAI,GAAAN,KAAA,IAAcG,IAAA;IAElB,IAAAC,QAAI,KAAAE,QAAA;MACJ7E,YAAK,CAAA4E,OAAA,GAAAC,QAAqB;MACxB,IAAAA,QAAA,EAAS;QAAA,IACXC,8BAAO;QACL,IAAA9E,YAAM,CAAA+E,CAAA,MAAc;UACpB,IAAAC,2BAAwB;UAItB,CAAAA,2BAAuB,GAAAhF,YAAY,CAAAiF,aAAO,cAAAD,2BAAA,eAAAA,2BAAA,CAAAE,IAAA,CAAAlF,YAAA;UAC1CA,YAAO,CAAA+E,CAAA,GAAK;QAAmC;QAChD/E,YACH,CAAAmF,WAAA;QACA,CAAAL,8BAA6B,GAAA9E,YAAA,CAAAoF,gBAAA,cAAAN,8BAAA,eAAAA,8BAAA,CAAAI,IAAA,CAAAlF,YAAA;MAC7B;QACF,IAAIqF,+BAA8B;QAElCrF,YAAQ,CAAAmF,WAAA,GAAmB;QAE3B,CAAAE,+BAAsB,GAAArF,YAAwB,CAAAoF,gBAAA,cAAAC,+BAAA,eAAAA,+BAAA,CAAAH,IAAA,CAAAlF,YAAA;MAE9C;IACE;EACA,IAAAa,eAAA,EAAAoC,eAAqB;EACrB,SAAAqC,UAAaA,CAAA;IACXxB,cAAA,CAAAyB,IAAA;IAAsB,IACxBvF,YAAA,CAAAwF,eAAA;MAAAxF,YACE,CAAAwF,eAAuB;MAE3BxF,YAAM,CAAAwF,eAAoB,QAAM;IAAA;EACvB;EACL,IAAAC,SACF,GAAAjJ,QAAA,WAAAkJ,SAAA,EAAAC,iBAAA;IAAA,IACAlG,SAAO;IAAA,IACTmG,OAAA,GAAAtF,QAAA,IAAAoF,SAAA,UAAAzF,UAAA,GAAAgD,eAAA,CAAAyC,SAAA;IAEA,IAAA3B,EAAA,CAAAtD,OAAM,KAAAmF,OAAY;IAClB7B,EAAA,CAAAtD,OAAM,GAAAmF,OAAA;IACNN,UAAM;IACN,IAAAO,eAAiB,GAAAH,SAAO,WAAa,CAAApF,QAAA;IACrC,IAAAgE,oBAAsB,CAAA7D,OAAG;MACzBqF,YAAO,CAAAxB,oBAAkB,CAAA7D,OAAA;MAGzB6D,oBAAM,CAAA7D,OAAqB,OAAM;IACjC;IACE,IAAAsF,yBAAmB,YAAAA,CAAA,EAAU;MAAA,IAC/BC,+BAAA;MAEA,IAAA1B,oBAAsB,CAAA7D,OAAM;QAG5BqF,YAAM,CAAAxB,oBAAuB,CAAA7D,OAAM,CAA6C;QAEhF6D,oBAAA,CAAA7D,OAAA;MAAA;MACE,KACEoF,eAAO,KAAAtF,OAAA,CAAAE,OAAA,EAAAwF,UAAA;MAAA9G,mBACE,aAAAA,mBAAA,eAAAA,mBAAA;QAAAiB,IAAA,EAAAyF;MAAA;MAAAxF,UACX,aAAAA,UAAA,gBAAA2F,+BAAA,GAAA3F,UAAA,CAAAlB,mBAAA,aAAA6G,+BAAA,CAAAd,IAAA,CAAA7E,UAAA;QAAAD,IAAA,EAAAyF;MAAA;IAAA;IACM,KAAAA,eACO,EAAAvB,oBAAA,CAAA7D,OAAA,GAAAyF,UAAA;MACT5B,oBAAa,CAAA7D,OAAA;MACb,KAAAF,OAAA,CAAAE,OAAa,EAAAwF,UAAQ;IAGrB;IACA,IAAA9B,kBAAM,CAAA1D,OAAW;MACjB0D,kBAAM,CAAA1D,OAAW,QAAS;MAC1BqD,cAAI,CAAAqC,QAAA,CAAaP,OAAA;QACfQ,IAAA;QAGAC,QAAA;MAGE,GAAAN,yBAAiB;MACf;IACA;IAAiBjC,cACnB,CAAAqC,QAAA,CAAAP,OAAA,EAAAD,iBAAA;MACAS,IAAA;MACA,GAAA3H;IAAoC,GAAAsH,yBAC/B;EACL;EACA7J,yBAAA,CAAa;IAAwB,IAAA8H,aACvC,IAAA/D,UAAA,IAAAR,SAAA;MAAAsE,EAAA,CAAAtD,OACF,GAAAR,UAAA;MAAA6D,cACF,CAAAqC,QAAA,CAAAlG,UAAA;QAAAmG,IACA,EAAC;QAAgCC,QACnC;MAAA,CACF;QAEAH,UAAS,aAAa;UACpBhC,mBAAe,MAAK;QACpB,MAAI;MACF;MACA;IAA+B;IACjC,IACFD,gBAAA;IAEA,KAAAxE,SAAM,KAAAQ,UAAqB,IAACK,QAAkB,IAAA0D,aAAA,KAA4B5D,IAAA;IACxEqF,SAAI,CAAA3F,QAAA;IAEJ,IAAAA,QAAI,MAAU;MAEdE,YAAO,CAAAsG,UAAY,QAAS;MAE5BtG,YAAG,CAAAuG,YAAU;IACb;IAEA,IAAAnG,IAAA,IAAMN,QAAA;MAGN,IAAA0G,aAAI,GAAA1G,QAAqB;MACvBE,YAAA,CAAA4E,OAAa,GAAA4B,aAAA;MACb,IAAAA,aAAA;QAA+B,IACjC1B,8BAAA;QAEA9E,YAAM,CAAAmF,WAAA;QACJ,CAAAL,8BAAyB,GAAA9E,YAAS,CAAAoF,gBAAA,cAAAN,8BAAA,eAAAA,8BAAA,CAAAI,IAAA,CAAAlF,YAAA;MAChC;QACA,IAAAqF,+BAAqB;QAAUrF,YACjC,CAAAmF,WAAA;QAIA,CAAAE,+BAAyB,GAAArF,YAAiB,CAAAoF,gBAAA,cAAAC,+BAAA,eAAAA,+BAAA,CAAAH,IAAA,CAAAlF,YAAA;MACxC;IAAY;EAEd,IAGAgE,aAAA,EAA2DC,gBAC7D,EAGA3D,QAAI,EACFb,SAAA,EACEQ,UAAA,EAEAG,IAAA,EACEN,QAAA,CAAY;EACd,IAAA2G,kBACK;EAAA,IAAAC,WACT,IAAAD,kBAAA,GAAArI,KAAA,CAAAsI,WAAA,cAAAD,kBAAA,cAAAA,kBAAA,GAAApG,UAAA,aAAAA,UAAA,uBAAAA,UAAA,CAAAqG,WAAA;EAGAjK,YAAI;EACF,KAAAkK,QAAA,EAAAC,WAAmB,IAAA/J,KAAA,CAAUC,QAAA;EAC7B,IAAA+J,YAAA,GAAAhK,KAAe,CAAAmF,OAAA;IAAA,IAAA0E,WACb;IAAA,KAAAjH,SACE,EAAM;IAAsB,IAAA4B,mBAC9B;IAAA,IAAAqD,IACF,GAAA3C,SAAA;IACA/B,YAAA,CAAA8G,QAAA,GAAApC,IAAA;IAAA,IACFqC,MAAA,GAAAhD,EAAA,CAAAtD,OAAA;IAEA,SAAAuG,UAAeA,CAAAjE,GAAA;MAAAD,aACb,CAAAC,GAAA;IAAA;IACqB,IAAAkE,OACnB,GAAM,SAAAA,CAAAC,KAAA;MAAA;QAAAC;MACN,CAAG,GAAAD,KAAA;MAAAlH,YACL,CAAAoH,iBAAA;MAAA,IAAApH,YACA,CAAAsG,UAAA;MAAAe,cACF;MAAAC,mBACD;MAEDN,UAAA;MAME,IAAAO,GAAI,GAAAxD,EAAA,CAAAtD,OAAA,GAAAhB,SAAiB,GAAA0H,EAAA,GAAc;MACjC,IAAAK,YAAG,GAAU;MACb,IAAAC,IAAA,GAAAC,MAAA,CAAAC,iBAAe;MAAA,SACbC,CAAA,MAAAA,CAAA,GAAA7F,SAAA,CAAA8F,MAAA,EAAAD,CAAA;QAAA,IAAAlC,SACA,GAAA3D,SAAA,CAAA6F,CAAA;QAAA,IAAAE,OACE,GAAMP,GAAA,GAAA7B,SAAA,GAAA6B,GAAA,GAAA7B,SAAA,GAAAA,SAAA,GAAA6B,GAAA;QAAA,IAAAO,OACN,GAAAL,IAAU;UAAAA,IAAA,GACZK,OAAA;UAAAN,YACM,GAAAI,CAAA;QAEJ;MACE;MAAyB7H,WAC3B,CAAGyH,YAAE;MAAA/B,SACP,CAAA+B,YAAA;IAAA;IAEF,IAAAO,MAAA,YAAAA,CAAAC,EAAA,EAAAC,MAAA;MAAAhB,OACF;QAEAE,EAAA,EAAAc,MAAI,CAAAd,EAAA;QACFe,MAAA,EAAAD,MAAA,CAAAE;MAAA;IAGF;IACE,IAAAb,mBAAA;IAAA,IACFc,eAAA,YAAAA,CAAAC,CAAA,EAAAnB,KAAA;MAGA;QAAAiB;MAAA,IAAUjB,KAAA;MAGV,SAAIoB,YAAaA,CAAA,EAAI;QACnB,IAAAD,CAAA,CAAAE,MAAA,KAAahJ,aAAa,CAAAiJ,SAAA,CAAA/H,OAAA;QAC1B,IAAAT,YAAA,CAAayI,oBAAe;UAAA,IAC9BzI,YAAA,CAAAsG,UAAA;UAIA,IAAAoC,UAAY,GAAA1I,YAAe,CAAA+E,CAAA;UACzB,IAAA4D,YAAM,GAAAR,EAAA,IAAgB;UACtB,IAAAS,SAAA,GAAa5I,YAAU,CAAAyE,KAAA,QAAAzE,YAAA,CAAA8G,QAAA;UACvB,IAAA4B,UAAI,SAAe;UACjB,IAAAE,SAAA;YACA,IAAAvE,aAAa,CAAA5D,OAAA,IAAAkI,YAAuB;UAAA;QAEpC;QACA,OAAAtF,IAAA,CAAAwF,GAAA,CAAAV,EAAA,CAAa;MAAwB;MACvC,IACFW,OAAA,GAAAR,YAAA;MAAA,IACCQ,OAAC,EAAA9I,YAAe,CAAAoH,iBAAkB,KAAU;MAE/C,OAAM0B,OAAA;IACN;IACA,IAAAC,KAAO,YAAAA,CAAA,EAAU;MAEjB/B,UAAM;MACJ1B,UAAI;MACJyB,MAAA,GAAKhD,EAAA,CAAAtD,OAAW;IAChB;IAEA,IAAA4G,cAAa;IACbrH,YAAA,CAAAgJ,IAAa,aAAWb,EAAA;MACxB,KAAAd,cAAgB;QAEhBA,cAAS;QACP0B,KAAA;MAGA;MACE,IAAAE,EAAA,GAAAd,EAAI,GAACpB,MAAA;MACHjD,cAAA,CAAAqC,QAAA,CAAA9I,QAAA,CAAwB4L,EAAA,EAAAvE,IAAA,CAAS;QAAA0B,IAAA;MAAc,EAAO;IACtD;IACEpG,YAAA,CAAAiH,OAAA,GAASA,OAAK;IAAiCjH,YACjD,CAAAkJ,cAAA,aAAAC,aAAA;MAAA9B,cACF;MACAL,UAAA,CAAI,KAAC,CAAK;MACRjH,WAAA,CAAAoJ,aAAA;MAAkC1D,SACpC,CAAA0D,aAAO;IACL;IACE,OAAAnM,YACJ,CAAAoM,MAAA;MAAAC,2BACF,EAAAjB,eAAA;MAAAkB,mBACF,EAAAP,KAAA;MAEAQ,kBAAM,EAAW,SAAAA,CAAKvB,EAAsC,EAAAd,KAAA;QAC1D;UAAAiB;QAAA,IAAAjB,KAAa;QACb,IAAA+B,EAAA,GAAI5L,QAAA,CAAA8K,EAAA,GAAapB,MAAA,EAAArC,IAAY;QAC3B,IAAAuE,EAAA,IAAAvE,IAAA,EAAA1E,YAAA,CAAAoH,iBAAA,aACFpH,YAAA,CAAAoH,iBAAA;QAEAtD,cAAA,CAAAqC,QAAiB,CAAA8C,EAAA;UAAA7C,IAAA;QAAA;MACjB;MACAoD,iBAAW,EAAAzB,MAAK;MAIhB0B,uBAAM,EAAa1B,MAAG;MAEtB2B,qBAAY,EAAA3B;IAEZ;EACA,IAEArB,WAAA,EACErF,mBAAM,EACNoE,SAAA,EACAhG,SAAA,EACEsC,SAAA,EACAhC,WAAA,CAAe;EACjBlD,KAAA,CAAAgF,SACF;IAGA,IAAAc,UAAA,IAAYrC,QAAA,IAAY,CAAAF,IAAA,IAAA6D,gBAAA;IACxB,KAAAxE,SAAA,IAAU,CAAAQ,UAAY;IAAAwF,SACxB,CAAA3F,QAAA;MAEAsG,IAAA,UAAM;MACJC,QAAA;IAAQ;EACI,IAAAhE,iBACF,EAAAD,cAAM;EAAA,IAAAuH,WACf,GAAA9M,KAAA,CAAA2D,MAAA;EAAA3D,KACH,CAAAgF,SAAA;IAEA,IAAAc,UAAI;MAEJgH,WAAM,CAAAlJ,OAAA;MAIJ;IAEE;IACE,KAAAkJ,WAAA,CAAOlJ,OAAA;IAAAkJ,WACT,CAAAlJ,OAAA;IAEA,KAAAhB,SAAI,KAAAQ,UAAa,IAAAK,QAAA,KAAAF,IAAyB;IACxCqF,SAAA,CAAA3F,QAAI;EACF,IAAA6C,UAAA;EAAO9F,KAAA,CAAAgF,SACT;IAEA,KAAAzB,IAAA,IAAAiC,iBAAmB,EAAAC,eAAa,CAAM;EAGtC,IAAAlC,IAAA;EAGA;IAAAwJ,UAAA;IAAMC,aAAY;IAAAC;EAA0B,IAAAvM,oBAAa;IACzDwE,SAAA,EAAAkB,eAAgB;IACdxD,SAAA;IACAM,WAAA;IAAO0F,SAAA;IAGTH,UAAA;IACEtF,YAAA;IACE8C,aAAA;IAAOiH,kBACT,WAAAA,CAAA;MAAA,OAAAhG,EACF,CAAAtD,OAAA;IAAA;IAIFpD,QAAA;IAAsBqJ,WACxB;IAEArF,mBAAM;IAEN2I,mBAAa,WAAAA,CAAAjH,GAAA;MACXgB,EAAA,CAAAtD,OAAA,GAAAsC,GAAA;MAAmCe,cACrC,CAAAqC,QAAA,CAAApD,GAAA;QAAAqD,IAAA;MAAA;IAEA;IAAO7D;EAGT;EACE,IAAA0H,yBAAe,GAAAzN,QAAA,WAAA6L,CAAA;IACf,IAAA6B,cAAW;IACX,KAAA9J,IAAA,IAAAwB,eAAY,CAAAnB,OAAA;IAAA,IACd0J,YAAA,IAAAD,cAAA,GAAA7B,CAAA,CAAA+B,WAAA,cAAAF,cAAA,uBAAAA,cAAA,CAAAG,MAAA,CAAAC,MAAA;IAEA,IAAAC,IAAI,GAAA5L,KAAA,GAAA0E,IAAA,CAAAmH,GAAiB,CAAAL,YAAA,EAAApN,UAAA,CAAA0N,GAAA,CAAAzM,mBAAA,EAAAsM,MAAA,IAAAH,YAAA;IAErB,KAAAI,IAAA;IACE7K,YAAK,CAAA6K,IAAA;EACH;EACA,IAAAG,0BAAM,GAAA7N,KAAA,CAAA6E,WAAA,WAAA2G,CAAA;IAAA,IAAA6B,cACR;IACA,IAAAK,IAAA,GAAAlH,IAAM,CAAAmH,GAAK,EAAAN,cAAK,GAAA7B,CAAA,CAAA+B,WAAA,cAAAF,cAAA,uBAAAA,cAAA,CAAAG,MAAA,CAAAC,MAAA,EAAAvN,UAAA,CAAA0N,GAAA,CAAAzM,mBAAA,EAAAsM,MAAA;IAChB,KAAAC,IAAA;IAA8DrK,iBAChE,CAAAqK,IAAA;EAEA;EAGA,IAAAI,aAAA,GAAanH,sBAAkB,CAAAM,cAA0B,EAAAjH,KAAA,CAAA6E,WAAA,WAAAqB,GAAA;IACvD;;IACA;MAAA6H,SAAA;QAAAC,UAAsB,EAAApL,SAAA,SAAA9B,UAAA,GAAAoF;MAAA;IAAA;EACtB,IAAAtD,SAAA;EACA,KAAAqL,OAAA,EAAA7E,UAAY,IAAApJ,KAAa,CAAAC,QAAA,CAAAsD,IAAA;EACzB,IAAAA,IAAA,IAAA0K,OAAU;IAAa7E,UACzB;IAEA,IAAA3B,oBAAoB,CAAA7D,OAAO;MAAAqF,YACzB,CAAAxB,oBAAA,CAA6B7D,OAAA;MAAA6D,oBAC7B,CAAA7D,OAAqB;IAAA;EAEnB;EACA,IAAAsK,mBAAW,GAAAlL,MAAS,QAAQ,CAAI,GAAAD,cAAA,oBAAAO,YAAA,GAAAlE,KAAA,GAAA0C,KAAA,yBAAAwB,YAAA;EAGhC,IAAA6K,gBAAM,GAAAnO,KAAU,CAAA6E,WAAM,WAAAqB,GAAA;IACtBsB,aAAI,CAAA5D,OAAS,GAAAsC,GAAA;EACX;EAAoC,IAAAkI,QACtC,kBAAOvP,IAAA,CAAAS,2BAAA;IACL+O,OAAA,GAAA9K,IAAA;IAAmC+K,QACrC,iBAAAzP,IAAA,CAAAuB,kBAAA,CAAAmO,QAAA;MAEA7G,KAAA,EAAAX,iBAAe;MAA+BuH,QAChD,iBAAAzP,IAAA,CAAA4B,aAAA;QAAA,GAAAiC,aACA;QAAmByL,gBACnB;QAAyBG,QACzB,iBAAAvP,KAAuB,CAAAwB,oBAAA;UAAAuF,UACxB;UACHgE,QAAI;UAGJC,WAAM;UACJgD,UAAI;UACJC,aAAK;UAELsB,QAAA,GACF,eAAIzP,IAAA,CAAmBK,eAAe;YAMtCsP,MAAM;cAAAjL;YAAA;YACN+K,QAAM,EAAA5J,qBAAgB,KAAAnB,IAAA,UAAAf;UACpB,IACEO,cAAY,cAAU,mBAAAlE,IAAA,CAAAU,IAAA;YACtBkP,KAAA;cACFR,OAAA;cACAhL,QAAK,YAAY;cACjB/B,GAAA;cAEAwN,IAAK;cACLC,KAAA,GAAU;cACRC,MAAA;cAGJC,aAAgB;YACd;YACEC,QAAA,EAAAjB;UACF,IACF,eAAShP,IAAA,CAAAiI,YAAA;YAGThD,GAAM;YACJgL,QAAA,EAAW1B,yBAAA;YACXzL,UAAA,EAAAmE,UAAA,IAAAsB,gBAAA,UAAAzF,UAAA;YACAoN,gBAAA;YACAN,KAAA;cACAxL,QAAA;cACAlB,MAAA;cACAiN,KAAA;cACAvB,MAAA,EAAAS,mBAA6B;cAC7Be,SAAA,EAAAf,mBAAA;cACAD,OAAA,GAAAvJ,qBAAA,GAAAuJ,OAAA;cACA,KAAAvJ,qBAAA,KAAAnB,IAAA;gBAAAsL,aAAA;cAAA;YACA,GAAAf,aAAA;YAEEQ,QAAG,EAAArB,qBAAU,IAAAF,UAAA,kBAAAlO,IAAA,CAAAyB,sBAAA;cACb4O,OAAA,EAAAnC,UAAe;cACjB0B,KAAA;gBAAAU,IAAA;cAAA;cACAb,QAAA,EAAA/M,KAAA,CAAA+M;YACD,oBAAAzP,IAAA,CAAAU,IAAA;cAED,IAAMyK,YAAA,aAAAA,YAAsC,UAAyB,aAAAA,YAAA,CAAAoF,WAAA;cAEnEX,KAAK;gBACHU,IAAA;gBACFH,KAAA;gBAIAvB,MAAM;cACN;cAGAa,QAAW,EAAA/M,KAAA,CAAA+M;YACX;UACD;QAIC;MAAkB;IACM;EACc;EAEtC,IAAAxO,wBAAW,IAAAsO,QAAA,kBAAAvP,IAAA,CAAAG,mBAAA;IACX,GAAAC,eAAA;IAAsBqP,QACnB,EAAAF;EAEL;EAAqC,IAAAiB,mBAClB,GAAApN,yBAAA,KAAAgM,OAAA;EACf,IAAAnM,KAAA;IACA,IAAAwN,aAAM,kBAAazQ,IAAc,CAAAkB,MAAI;MAErCwP,WAAA,EAAOxN,MAAA;MAAA,GAAAG,WACL;MAA0BoM,QAC5B,EAAAe,mBAAA,mBAAAxQ,IAAA,CAAAuD,kBAAA;QAAAkM,QAAA,EAAAF;MAAA;IAAA;IACF,IACAhP,KAAC,SAASkQ,aAAA;IAAA,OACZ,eAAAzQ,IAAA,CAAAwB,uBAAA,CAAAkO,QAAA;MAEA7G,KAAA,EAAM9C,YAAA;MAIN0J,QAAO,EAAAgB;IACP;EACE;EAEA,OAAAlB,QAAI;AACF;AACA,SAAA9I,cAAAkK,IAAA,EAAqBnK,KAAA,EAAAjC,UAAU,EAAAR,SAAA;EAAA,KACjCQ,UAAA,KAAAR,SAAA;EAAA,IACF4M,IAAA;IAEA,WAAMnK,KAAA,eAAsB,OAAAjC,UAExB,GAAAoD,IAAA,CAAAmH,GAAA,CAAAvK,UAAmB,EAAAoD,IAAA,CAAAC,GAAA,IAAApB,KAAA;IAAA,IAAAA,KAAA,mBAAAjC,UAAA,GAAAoD,IAAA,CAAAmH,GAAA,CAAAvK,UAAA,EAAAR,SAAA;IAAA,IAEjByC,KAAG,CAAAoK,QAAA,CAAY,GAAG;MAAmC,IAAAC,GACrD,GAAAlJ,IAAA,CAAAmH,GAAA,MAAAnH,IAAA,CAAAC,GAAA,IAAAoE,MAAA,CAAAxF,KAAA,CAAAsK,KAAA;MAEN,IAAA9E,MAAM,CAAA+E,KAAA,CAAAF,GAAA;QACJG,OAAA,CAAAC,IAAA,sCAAwB;QAC1B,OAAK;MAOL;MAIQ,OAACtJ,IAAA,CAAAuJ,KAAA,CAAA3M,UAAA,GAAAsM,GAAA,GAAAtM,UAAA;IAAA;IAAAyM,OACC,CAAAC,IAAA;IAAA,OACA;EAAA;EACA,IAAAN,IACA;IAAA,IAAAnK,KACA,eAAAjC,UAAA;IAAA,OAEAA,UAAA,GAAAoD,IAAA,CAAAmH,GAAA,CAAAvK,UAAA,EAAAR,SAAA;EAAA;EAEA,IAAA4M,IAAA,KAEC,qBAAmBnK,KAAA,KAClB,iBAAAjC,UAAA,GAAAoD,IAAA,CAAAmH,GAAA,CAAAvK,UAAA,EAAAoD,IAAA,CAAAC,GAAA,IAAApB,KAAA;EAAA,IAAA2K,IAAA,GAACxJ,IAAA,CAAAmH,GAAA,MAAAnH,IAAA,CAAAC,GAAA,IAAAoE,MAAA,CAAAxF,KAAA;EAAA,IAAAwF,MAAA,CAAA+E,KAAA,CAAAI,IAAA;IAAAH,OAAA,CAAAC,IACC,+BAAO;IAAA;EACI;EACC,OAAAtJ,IAAA,CAAAuJ,KACV,CAAA3M,UAAK,GAAA4M,IAAA,GAAA5M,UAAA;AAAA;AACC,SAAAhC,yBACC","ignoreList":[]}
1
+ {"version":3,"names":["jsx","jsxs","ProvideAdaptContext","useAdaptContext","AnimatePresence","useComposedRefs","isWeb","useIsomorphicLayoutEffect","LayoutMeasurementController","View","useConfiguration","useDidFinishSSR","useEvent","useThemeName","Portal","needsPortalRepropagation","React","useState","Dimensions","PanResponder","View$1","ParentSheetContext","SheetInsideSheetContext","GestureDetectorWrapper","getGestureHandlerState","GestureSheetProvider","resisted","getKeyboardAdjustedSheetY","getKeyboardOccludedHeight","getSheetReleasePosition","MIN_KEYBOARD_HEIGHT","getMaxViewportHeight","getStableLayoutViewportHeight","getWebKeyboardResizeHeight","getWebVisualViewportOffsetTop","SheetProvider","useGestureHandlerPan","useKeyboardControllerSheet","SafeAreaInsetsContext","useSafeAreaInsets","useSheetOpenState","useSheetProviderProps","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","relativeDimensionTo","getStableViewportHeight","window","get","SheetImplementationCustom","forwardRef","SheetImplementationCustom2","props","forwardedRef","parentSheet","useContext","safeAreaInsets","_safeAreaInsets_top","safeAreaTopInset","top","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","disableTransparencyHide","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","overlayComponent","setOverlayComponent","providerProps","onOverlayComponent","frameSize","setFrameSize","dismissOnSnapToBottom","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","ref","contentRef","animationDriver","Error","_animationDriver_animations","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","sheetInsideSheet","onInnerSheet","useCallback","hasChild","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","enabled","Boolean","stableFrameSize","useEffect","isWebKbSheet","isNativeKbFitSheet","preKeyboardFrameSize","effScreenSize","effectiveFrameSize","positions","useMemo","map","point","getYPositions","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","p","sheetY","shouldTranslate","safeAreaTop","keyboardOccludedHeight","keyboardStableFrameHeight","useAnimatedNumber","useAnimatedNumberStyle","_animationDriver_View","AnimatedView","nextParentContext","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","syncAnimatedPosition","value","paneY","minY","wasAtTop","isAtTop","nowAtTop","_scrollBridge_setScrollEnabled","lockScrollAtTop","_scrollBridge_setScrollEnabled1","y","_scrollBridge_forceScrollTo","forceScrollTo","call","scrollLockY","setScrollEnabled","_scrollBridge_forceScrollTo1","_scrollBridge_setScrollEnabled2","setAnimatedPositionDirect","setValue","type","getAnimatedPosition","getValue","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","closeTarget","Math","max","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","_controller_onAnimationComplete","setOpacity","setTimeout","duration","scrollLock","scrollStartY","isTopPosition","_props_disableDrag","disableDrag","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","release","param","vy","setParentDragging","isExternalDrag","previouslyScrolling","currentPos","closestPoint","projectedEnd","currentPosition","finish","_e","state2","dragAt","dy","onMoveShouldSet","e","getShouldSet","target","handleRef","scrollNodeTouched","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","startPanDrag","drag","snapToPosition","positionIndex","create","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onPanResponderGrant","onPanResponderMove","to","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","getCurrentPosition","setAnimatedPosition","ignoreLayoutForKeyboard","handleAnimationViewLayout","_e_nativeEvent","layoutHeight","nativeEvent","layout","next","min","round","handleMaxContentViewLayout","animatedStyle","transform","translateY","opacity","forcedContentHeight","setHasScrollView","contents","disable","children","Provider","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","minHeight","gesture","flex","panHandlers","shouldMountChildren","RNGHRoot","RootView","mountedContents","modalContents","stackZIndex","mode","endsWith","pct","Number","slice","isNaN","console","warn","pct1"],"sources":["SheetImplementationCustom.native.js"],"sourcesContent":["import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { ProvideAdaptContext, useAdaptContext } from \"@hanzogui/adapt\";\nimport { AnimatePresence } from \"@hanzogui/animate-presence\";\nimport { useComposedRefs } from \"@hanzogui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@hanzogui/constants\";\nimport { LayoutMeasurementController, View, useConfiguration, useDidFinishSSR, useEvent, useThemeName } from \"@hanzogui/core\";\nimport { Portal, needsPortalRepropagation } from \"@hanzogui/portal\";\nimport React, { useState } from \"react\";\nimport { Dimensions, PanResponder, View as View$1 } from \"react-native\";\nimport { ParentSheetContext, SheetInsideSheetContext } from \"./contexts\";\nimport { GestureDetectorWrapper } from \"./GestureDetectorWrapper\";\nimport { getGestureHandlerState } from \"./gestureState\";\nimport { GestureSheetProvider } from \"./GestureSheetContext\";\nimport { resisted } from \"./helpers\";\nimport { getKeyboardAdjustedSheetY, getKeyboardOccludedHeight, getSheetReleasePosition } from \"./keyboardAvoidance\";\nimport { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop } from \"./webViewport\";\nimport { SheetProvider } from \"./SheetContext\";\nimport { useGestureHandlerPan } from \"./useGestureHandlerPan\";\nimport { useKeyboardControllerSheet } from \"./useKeyboardControllerSheet\";\nimport { SafeAreaInsetsContext, useSafeAreaInsets } from \"./useSafeAreaInsets\";\nimport { useSheetOpenState } from \"./useSheetOpenState\";\nimport { useSheetProviderProps } from \"./useSheetProviderProps\";\n\nvar hiddenSize = 10000.1;\nvar rnghRootStyleOpen = {\n\twidth: \"100%\",\n\theight: \"100%\"\n};\nvar rnghRootStyleClosed = {\n\twidth: \"100%\",\n\theight: 0\n};\nvar relativeDimensionTo = isWeb ? \"window\" : \"screen\";\nfunction getStableViewportHeight() {\n\tif (isWeb && typeof window !== \"undefined\") return getStableLayoutViewportHeight();\n\treturn Dimensions.get(relativeDimensionTo).height;\n}\nvar SheetImplementationCustom = /* @__PURE__ */ React.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {\n\tvar parentSheet = React.useContext(ParentSheetContext);\n\tvar safeAreaInsets = 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, disableTransparencyHide = false, portalProps, containerComponent: ContainerComponent = React.Fragment, onAnimationComplete } = props;\n\tvar state = useSheetOpenState(props);\n\tvar [overlayComponent, setOverlayComponent] = React.useState(null);\n\tvar providerProps = useSheetProviderProps(props, state, { onOverlayComponent: setOverlayComponent });\n\tvar { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;\n\tvar { open, controller, isHidden } = state;\n\tvar openRef = React.useRef(open);\n\topenRef.current = open;\n\tvar ref = useComposedRefs(forwardedRef, React.useRef(void 0), providerProps.contentRef);\n\tvar { animationDriver } = useConfiguration();\n\tif (!animationDriver) throw new Error(`Sheet requires an animation driver to be set`);\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\tif (animationProp && ((_animationDriver_animations = animationDriver.animations) === null || _animationDriver_animations === void 0 ? void 0 : _animationDriver_animations[animationProp])) return {\n\t\t\t...animationDriver.animations[animationProp],\n\t\t\t...animationPropConfig\n\t\t};\n\t\treturn null;\n\t})();\n\tvar [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(false);\n\tvar shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet && needsPortalRepropagation();\n\tvar sheetInsideSheet = React.useContext(SheetInsideSheetContext);\n\tvar onInnerSheet = React.useCallback(function(hasChild) {\n\t\tsetIsShowingInnerSheet(hasChild);\n\t}, []);\n\tvar { keyboardHeight, isKeyboardVisible, dismissKeyboard, pauseKeyboardHandler, flushPendingHide } = useKeyboardControllerSheet({ enabled: Boolean(moveOnKeyboardChange) });\n\tvar stableFrameSize = React.useRef(frameSize);\n\tReact.useEffect(function() {\n\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t}, [open, frameSize]);\n\tvar isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;\n\tvar isNativeKbFitSheet = !isWeb && hasFit && Boolean(moveOnKeyboardChange);\n\tvar preKeyboardFrameSize = React.useRef(0);\n\tReact.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 = React.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_] = React.useState(false);\n\tvar isDraggingRef = React.useRef(false);\n\tvar setIsDragging = React.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 = React.useRef(positions);\n\tvar activePositions = React.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 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: isWeb ? 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 = 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 { useAnimatedNumber, useAnimatedNumberStyle } = animationDriver;\n\tvar _animationDriver_View;\n\tvar AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : View;\n\tuseIsomorphicLayoutEffect(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 = React.useMemo(function() {\n\t\treturn { zIndex };\n\t}, [zIndex]);\n\tvar startPosition = useDidFinishSSR() && screenSize ? screenSize : hiddenSize;\n\tvar animatedNumber = useAnimatedNumber(startPosition);\n\tvar at = React.useRef(startPosition);\n\tvar hasntMeasured = at.current === hiddenSize;\n\tvar [disableAnimation, setDisableAnimation] = useState(hasntMeasured);\n\tvar skipAdaptAnimation = React.useRef(false);\n\tif (controller === null || controller === void 0 ? void 0 : controller.skipNextAnimation) skipAdaptAnimation.current = true;\n\tvar hasScrollView = React.useRef(false);\n\tvar opacityFallbackTimer = React.useRef(null);\n\tvar syncAnimatedPosition = 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 = useEvent(function(value) {\n\t\tsyncAnimatedPosition(value);\n\t\tanimatedNumber.setValue(value, { type: \"direct\" });\n\t});\n\tvar getAnimatedPosition = 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 = useEvent(function(position2, animationOverride) {\n\t\tif (frameSize === 0) return;\n\t\tvar closeTarget = isWeb ? Math.max(effScreenSize, getMaxViewportHeight()) : effScreenSize;\n\t\tvar toValue = isHidden || position2 === -1 ? closeTarget : activePositions[position2];\n\t\tif (at.current === toValue) return;\n\t\tat.current = toValue;\n\t\tstopSpring();\n\t\tvar isOpenAnimation = position2 !== -1 && !isHidden;\n\t\tif (opacityFallbackTimer.current) {\n\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\topacityFallbackTimer.current = null;\n\t\t}\n\t\tvar animationCompleteCallback = function() {\n\t\t\tvar _controller_onAnimationComplete;\n\t\t\tsyncAnimatedPosition(toValue);\n\t\t\tif (opacityFallbackTimer.current) {\n\t\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\t\topacityFallbackTimer.current = null;\n\t\t\t}\n\t\t\tif (!isOpenAnimation && !openRef.current) setOpacity(0);\n\t\t\tonAnimationComplete === null || onAnimationComplete === void 0 || onAnimationComplete({ open: isOpenAnimation });\n\t\t\tcontroller === null || controller === void 0 || (_controller_onAnimationComplete = controller.onAnimationComplete) == null || _controller_onAnimationComplete.call(controller, { open: isOpenAnimation });\n\t\t};\n\t\tif (!isOpenAnimation) opacityFallbackTimer.current = setTimeout(function() {\n\t\t\topacityFallbackTimer.current = null;\n\t\t\tif (!openRef.current) setOpacity(0);\n\t\t}, 1e3);\n\t\tif (skipAdaptAnimation.current) {\n\t\t\tskipAdaptAnimation.current = false;\n\t\t\tanimatedNumber.setValue(toValue, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, animationCompleteCallback);\n\t\t\treturn;\n\t\t}\n\t\tanimatedNumber.setValue(toValue, animationOverride || {\n\t\t\ttype: \"spring\",\n\t\t\t...transitionConfig\n\t\t}, animationCompleteCallback);\n\t});\n\tuseIsomorphicLayoutEffect(function() {\n\t\tif (hasntMeasured && screenSize && frameSize) {\n\t\t\tat.current = screenSize;\n\t\t\tanimatedNumber.setValue(screenSize, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, function() {\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});\n\t\t\treturn;\n\t\t}\n\t\tif (disableAnimation) return;\n\t\tif (isDraggingRef.current) return;\n\t\tif (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;\n\t\tanimateTo(position);\n\t\tif (position === -1) {\n\t\t\tscrollBridge.scrollLock = false;\n\t\t\tscrollBridge.scrollStartY = -1;\n\t\t}\n\t\tif (open && position >= 0) {\n\t\t\tvar isTopPosition = position === 0;\n\t\t\tscrollBridge.isAtTop = isTopPosition;\n\t\t\tif (isTopPosition) {\n\t\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t\t} else {\n\t\t\t\tvar _scrollBridge_setScrollEnabled1;\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);\n\t\t\t}\n\t\t}\n\t}, [\n\t\thasntMeasured,\n\t\tdisableAnimation,\n\t\tisHidden,\n\t\tframeSize,\n\t\tscreenSize,\n\t\topen,\n\t\tposition\n\t]);\n\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\tuseThemeName();\n\tvar [blockPan, setBlockPan] = React.useState(false);\n\tvar panResponder = React.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 closestPoint = getSheetReleasePosition({\n\t\t\t\tpositions: activePositions,\n\t\t\t\tprojectedEnd: currentPos + frameSize * vy * .2,\n\t\t\t\tcurrentPosition: currentPos,\n\t\t\t\tframeSize,\n\t\t\t\tdismissOnSnapToBottom,\n\t\t\t\tsnapPointsMode,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tisWeb\n\t\t\t});\n\t\t\tsetPosition(closestPoint);\n\t\t\tanimateTo(closestPoint);\n\t\t};\n\t\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\tsetAnimatedPositionDirect(resisted(dy + startY, 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 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 to = resisted(dy + startY, minY);\n\t\t\t\tif (to <= minY) scrollBridge.setParentDragging(false);\n\t\t\t\telse scrollBridge.setParentDragging(true);\n\t\t\t\tsetAnimatedPositionDirect(to);\n\t\t\t},\n\t\t\tonPanResponderEnd: finish,\n\t\t\tonPanResponderTerminate: finish,\n\t\t\tonPanResponderRelease: finish\n\t\t});\n\t}, [\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tanimateTo,\n\t\tframeSize,\n\t\tactivePositions,\n\t\tsetPosition,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode\n\t]);\n\tReact.useEffect(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 = React.useRef(false);\n\tReact.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\tReact.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\tvar { panGesture, panGestureRef, gestureHandlerEnabled } = useGestureHandlerPan({\n\t\tpositions: activePositions,\n\t\tframeSize,\n\t\tsetPosition,\n\t\tanimateTo,\n\t\tstopSpring,\n\t\tscrollBridge,\n\t\tsetIsDragging,\n\t\tgetCurrentPosition: getAnimatedPosition,\n\t\tresisted,\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tsetAnimatedPosition: setAnimatedPositionDirect,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode,\n\t\tisKeyboardVisible,\n\t\tpauseKeyboardHandler\n\t});\n\tvar ignoreLayoutForKeyboard = useEvent(function() {\n\t\treturn isWeb && moveOnKeyboardChange && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;\n\t});\n\tvar handleAnimationViewLayout = 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 = React.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 animatedStyle = useAnimatedNumberStyle(animatedNumber, React.useCallback(function(val) {\n\t\t\"worklet\";\n\t\treturn { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };\n\t}, [frameSize]));\n\tvar [opacity, setOpacity] = React.useState(open ? 1 : 0);\n\tif (open && opacity === 0) {\n\t\tsetOpacity(1);\n\t\tif (opacityFallbackTimer.current) {\n\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\topacityFallbackTimer.current = null;\n\t\t}\n\t}\n\tvar forcedContentHeight = hasFit ? void 0 : snapPointsMode === \"percent\" ? `${maxSnapPoint}${isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tvar setHasScrollView = React.useCallback(function(val) {\n\t\thasScrollView.current = val;\n\t}, []);\n\tvar contents = /* @__PURE__ */ jsx(LayoutMeasurementController, {\n\t\tdisable: !open,\n\t\tchildren: /* @__PURE__ */ jsx(ParentSheetContext.Provider, {\n\t\t\tvalue: nextParentContext,\n\t\t\tchildren: /* @__PURE__ */ jsx(SheetProvider, {\n\t\t\t\t...providerProps,\n\t\t\t\tkeyboardOccludedHeight,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardStableFrameHeight,\n\t\t\t\tsetHasScrollView,\n\t\t\t\tchildren: /* @__PURE__ */ jsxs(GestureSheetProvider, {\n\t\t\t\t\tisDragging,\n\t\t\t\t\tblockPan,\n\t\t\t\t\tsetBlockPan,\n\t\t\t\t\tpanGesture,\n\t\t\t\t\tpanGestureRef,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ jsx(AnimatePresence, {\n\t\t\t\t\t\t\tcustom: { open },\n\t\t\t\t\t\t\tchildren: shouldHideParentSheet || !open ? null : overlayComponent\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tsnapPointsMode !== \"percent\" && /* @__PURE__ */ jsx(View$1, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\t\tpointerEvents: \"none\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonLayout: handleMaxContentViewLayout\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ jsx(AnimatedView, {\n\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\tonLayout: handleAnimationViewLayout,\n\t\t\t\t\t\t\ttransition: isDragging || disableAnimation ? null : transition,\n\t\t\t\t\t\t\tdisableClassName: true,\n\t\t\t\t\t\t\tstyle: [{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tzIndex,\n\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\theight: forcedContentHeight,\n\t\t\t\t\t\t\t\tminHeight: forcedContentHeight,\n\t\t\t\t\t\t\t\topacity: shouldHideParentSheet ? 0 : disableTransparencyHide ? 1 : opacity,\n\t\t\t\t\t\t\t\t...(shouldHideParentSheet || !open) && { pointerEvents: \"none\" }\n\t\t\t\t\t\t\t}, animatedStyle],\n\t\t\t\t\t\t\tchildren: gestureHandlerEnabled && panGesture ? /* @__PURE__ */ jsx(GestureDetectorWrapper, {\n\t\t\t\t\t\t\t\tgesture: panGesture,\n\t\t\t\t\t\t\t\tstyle: { flex: 1 },\n\t\t\t\t\t\t\t\tchildren: props.children\n\t\t\t\t\t\t\t}) : /* @__PURE__ */ jsx(View$1, {\n\t\t\t\t\t\t\t\t...panResponder === null || panResponder === void 0 ? void 0 : panResponder.panHandlers,\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\theight: \"100%\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: props.children\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t});\n\tif (needsPortalRepropagation()) contents = /* @__PURE__ */ jsx(ProvideAdaptContext, {\n\t\t...useAdaptContext(),\n\t\tchildren: /* @__PURE__ */ jsx(SafeAreaInsetsContext.Provider, {\n\t\t\tvalue: safeAreaInsets,\n\t\t\tchildren: contents\n\t\t})\n\t});\n\tvar shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true;\n\tif (modal) {\n\t\tvar RNGHRoot = getGestureHandlerState().RootView;\n\t\tvar mountedContents = shouldMountChildren ? /* @__PURE__ */ jsx(ContainerComponent, { children: contents }) : null;\n\t\tvar modalContents = /* @__PURE__ */ jsx(Portal, {\n\t\t\tstackZIndex: zIndex,\n\t\t\t...portalProps,\n\t\t\tchildren: mountedContents && RNGHRoot ? /* @__PURE__ */ jsx(RNGHRoot, {\n\t\t\t\tstyle: open ? rnghRootStyleOpen : rnghRootStyleClosed,\n\t\t\t\tchildren: mountedContents\n\t\t\t}) : mountedContents\n\t\t});\n\t\tif (isWeb) return modalContents;\n\t\treturn /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, {\n\t\t\tvalue: onInnerSheet,\n\t\t\tchildren: modalContents\n\t\t});\n\t}\n\treturn contents;\n});\nfunction getYPositions(mode, point, screenSize, frameSize) {\n\tif (!screenSize || !frameSize) return 0;\n\tif (mode === \"mixed\") {\n\t\tif (typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\t\tif (point === \"fit\") return screenSize - Math.min(screenSize, frameSize);\n\t\tif (point.endsWith(\"%\")) {\n\t\t\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(\"Invalid snapPoint percentage string\");\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(\"Invalid snapPoint unknown value\");\n\t\treturn 0;\n\t}\n\tif (mode === \"fit\") {\n\t\tif (point === 0) return screenSize;\n\t\treturn screenSize - Math.min(screenSize, frameSize);\n\t}\n\tif (mode === \"constant\" && typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\tvar pct1 = Math.min(100, Math.max(0, Number(point))) / 100;\n\tif (Number.isNaN(pct1)) {\n\t\tconsole.warn(\"Invalid snapPoint percentage\");\n\t\treturn 0;\n\t}\n\treturn Math.round(screenSize - pct1 * screenSize);\n}\n\nexport { SheetImplementationCustom };"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { composeRefs } from "@hanzogui/compose-refs";
2
- import { View } from "@hanzogui/core";
2
+ import { isWeb, View } from "@hanzogui/core";
3
3
  import { ScrollView } from "@hanzogui/scroll-view";
4
4
  import { useControllableState } from "@hanzogui/use-controllable-state";
5
5
  import React, { useEffect, useRef, useState } from "react";
@@ -7,7 +7,8 @@ import { useGestureSheetContext } from "./GestureSheetContext.mjs";
7
7
  import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.mjs";
8
8
  import { useSheetContext } from "./SheetContext.mjs";
9
9
  import { useSheetScrollViewGestures } from "./useSheetScrollViewGestures.mjs";
10
- import { jsx } from "react/jsx-runtime";
10
+ import { getStableLayoutViewportHeight, getWebKeyboardBottomInset, getWebKeyboardResizeHeight, isEditableElement, MIN_KEYBOARD_HEIGHT } from "./webViewport.mjs";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
11
12
  const SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
12
13
  const SheetScrollView = React.forwardRef(({
13
14
  __scopeSheet,
@@ -20,31 +21,66 @@ const SheetScrollView = React.forwardRef(({
20
21
  const gestureContext = useGestureSheetContext();
21
22
  const {
22
23
  scrollBridge,
23
- setHasScrollView
24
+ setHasScrollView,
25
+ hasFit,
26
+ screenSize
24
27
  } = context;
28
+ const keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
29
+ const isKeyboardVisible = context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;
25
30
  const [scrollEnabled] = useControllableState({
26
31
  prop: scrollEnabledProp,
27
32
  defaultProp: true
28
33
  });
29
34
  const scrollRef = React.useRef(null);
35
+ const [hasScrollableContent, setHasScrollableContent] = useState(true);
36
+ const parentHeight = useRef(0);
37
+ const contentHeight = useRef(0);
38
+ const frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);
39
+ const fitSizingStyle = hasFit ? {
40
+ flex: void 0,
41
+ height: void 0,
42
+ maxHeight: screenSize || void 0
43
+ } : {
44
+ flex: 1
45
+ };
46
+ const contentContainerStyle = hasFit ? void 0 : {
47
+ minHeight: "100%"
48
+ };
49
+ const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
50
+ height: frozenFrameHeight,
51
+ maxHeight: frozenFrameHeight
52
+ } : null;
30
53
  const panGestureRef = gestureContext?.panGestureRef;
31
54
  const {
32
55
  ScrollView: RNGHScrollView
33
56
  } = getGestureHandlerState();
34
57
  const useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;
35
58
  const currentScrollOffset = useRef(0);
59
+ const lastEmittedScrollOffset = useRef(0);
36
60
  const lockedScrollY = useRef(0);
61
+ const focusedInputScrollFrame = useRef(0);
37
62
  const setScrollEnabled = (next, lockTo) => {
38
63
  if (!next) {
39
- const lockY = lockTo ?? currentScrollOffset.current;
64
+ const lockY = lockTo ?? scrollBridge.scrollLockY ?? currentScrollOffset.current;
65
+ if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {
66
+ return;
67
+ }
68
+ scrollBridge.enabled = false;
40
69
  lockedScrollY.current = lockY;
41
70
  scrollBridge.scrollLockY = lockY;
42
- scrollRef.current?.scrollTo?.({
43
- x: 0,
44
- y: lockY,
45
- animated: false
46
- });
71
+ if (currentScrollOffset.current !== lockY) {
72
+ scrollRef.current?.scrollTo?.({
73
+ x: 0,
74
+ y: lockY,
75
+ animated: false
76
+ });
77
+ currentScrollOffset.current = lockY;
78
+ }
47
79
  } else {
80
+ if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {
81
+ return;
82
+ }
83
+ scrollBridge.enabled = true;
48
84
  lockedScrollY.current = currentScrollOffset.current;
49
85
  scrollBridge.scrollLockY = void 0;
50
86
  }
@@ -55,7 +91,81 @@ const SheetScrollView = React.forwardRef(({
55
91
  y,
56
92
  animated: false
57
93
  });
94
+ currentScrollOffset.current = y;
58
95
  };
96
+ const emitManualScroll = React.useCallback((node, y) => {
97
+ currentScrollOffset.current = y;
98
+ scrollBridge.y = y;
99
+ if (y > 0) scrollBridge.scrollStartY = -1;
100
+ lastEmittedScrollOffset.current = y;
101
+ onScroll?.({
102
+ nativeEvent: {
103
+ contentOffset: {
104
+ x: node.scrollLeft,
105
+ y
106
+ },
107
+ contentSize: {
108
+ height: node.scrollHeight,
109
+ width: node.scrollWidth
110
+ },
111
+ layoutMeasurement: {
112
+ height: node.offsetHeight,
113
+ width: node.offsetWidth
114
+ }
115
+ },
116
+ timeStamp: Date.now()
117
+ });
118
+ }, [onScroll, scrollBridge]);
119
+ const scrollFocusedInputClearOfKeyboard = React.useCallback(() => {
120
+ if (!isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {
121
+ return;
122
+ }
123
+ const node = scrollRef.current?.getScrollableNode();
124
+ const active = document.activeElement;
125
+ if (!node || !active || !isEditableElement(active) || !node.contains(active)) {
126
+ return;
127
+ }
128
+ const keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());
129
+ if (keyboardHeight <= 0) return;
130
+ const activeRect = active.getBoundingClientRect();
131
+ const nodeRect = node.getBoundingClientRect();
132
+ const margin = 12;
133
+ const keyboardTop = getStableLayoutViewportHeight() - keyboardHeight;
134
+ const visibleTop = nodeRect.top + margin;
135
+ const visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;
136
+ let nextScrollTop = node.scrollTop;
137
+ if (activeRect.bottom > visibleBottom) {
138
+ nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);
139
+ } else if (activeRect.top < visibleTop) {
140
+ nextScrollTop -= Math.ceil(visibleTop - activeRect.top);
141
+ }
142
+ const maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);
143
+ nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));
144
+ if (nextScrollTop === node.scrollTop) return;
145
+ node.scrollTop = nextScrollTop;
146
+ currentScrollOffset.current = nextScrollTop;
147
+ scrollBridge.y = nextScrollTop;
148
+ if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;
149
+ }, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);
150
+ const scheduleFocusedInputScroll = React.useCallback(() => {
151
+ if (!isWeb || !hasFit) return;
152
+ cancelAnimationFrame(focusedInputScrollFrame.current);
153
+ focusedInputScrollFrame.current = requestAnimationFrame(() => {
154
+ scrollFocusedInputClearOfKeyboard();
155
+ focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);
156
+ });
157
+ }, [hasFit, scrollFocusedInputClearOfKeyboard]);
158
+ useEffect(() => {
159
+ if (!isWeb || !hasFit) return;
160
+ scheduleFocusedInputScroll();
161
+ window.addEventListener("focusin", scheduleFocusedInputScroll);
162
+ window.visualViewport?.addEventListener("resize", scheduleFocusedInputScroll);
163
+ return () => {
164
+ cancelAnimationFrame(focusedInputScrollFrame.current);
165
+ window.removeEventListener("focusin", scheduleFocusedInputScroll);
166
+ window.visualViewport?.removeEventListener("resize", scheduleFocusedInputScroll);
167
+ };
168
+ }, [hasFit, scheduleFocusedInputScroll]);
59
169
  useEffect(() => {
60
170
  setHasScrollView(true);
61
171
  if (isGestureHandlerEnabled()) {
@@ -68,14 +178,14 @@ const SheetScrollView = React.forwardRef(({
68
178
  scrollBridge.forceScrollTo = void 0;
69
179
  };
70
180
  }, []);
71
- const [hasScrollableContent, setHasScrollableContent] = useState(true);
72
- const parentHeight = useRef(0);
73
- const contentHeight = useRef(0);
74
181
  const updateScrollable = () => {
75
182
  if (parentHeight.current && contentHeight.current) {
76
183
  setHasScrollableContent(contentHeight.current > parentHeight.current);
77
184
  }
78
185
  };
186
+ const recordFitHeight = height => {
187
+ parentHeight.current = height;
188
+ };
79
189
  useEffect(() => {
80
190
  scrollBridge.hasScrollableContent = hasScrollableContent;
81
191
  }, [hasScrollableContent]);
@@ -84,30 +194,36 @@ const SheetScrollView = React.forwardRef(({
84
194
  scrollBridge,
85
195
  hasScrollableContent,
86
196
  scrollEnabled,
87
- setScrollEnabled
197
+ setScrollEnabled,
198
+ onManualScroll: emitManualScroll
88
199
  });
89
- const contentWrapper = /* @__PURE__ */jsx(View, {
200
+ const contentWrapper = /* @__PURE__ */jsxs(View, {
90
201
  onLayout: e => {
91
202
  const height = Math.floor(e.nativeEvent.layout.height);
92
203
  if (height !== contentHeight.current) {
93
204
  contentHeight.current = height;
94
205
  updateScrollable();
206
+ if (keyboardOccludedHeight > 0) {
207
+ scheduleFocusedInputScroll();
208
+ }
95
209
  }
96
210
  },
97
- children
211
+ children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */jsx(View, {
212
+ "data-sheet-keyboard-scroll-pad": true,
213
+ height: keyboardOccludedHeight,
214
+ width: "100%"
215
+ })]
98
216
  });
99
217
  if (useRNGHScrollView && RNGHScrollView && panGestureRef) {
100
218
  const RNGHComponent = RNGHScrollView;
101
219
  return /* @__PURE__ */jsx(RNGHComponent, {
102
220
  ref: composeRefs(scrollRef, ref),
103
- style: {
104
- flex: 1
105
- },
221
+ style: fitSizingStyle,
106
222
  scrollEventThrottle: 1,
107
223
  scrollEnabled,
108
224
  simultaneousHandlers: [panGestureRef],
109
225
  onLayout: e => {
110
- parentHeight.current = Math.ceil(e.nativeEvent.layout.height);
226
+ recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
111
227
  updateScrollable();
112
228
  },
113
229
  onScroll: e => {
@@ -123,40 +239,44 @@ const SheetScrollView = React.forwardRef(({
123
239
  animated: false
124
240
  });
125
241
  }
242
+ currentScrollOffset.current = scrollBridge.scrollLockY;
126
243
  scrollBridge.y = scrollBridge.scrollLockY;
127
- onScroll?.({
128
- ...e,
129
- nativeEvent: {
130
- ...e.nativeEvent,
131
- contentOffset: {
132
- ...e.nativeEvent.contentOffset,
133
- y: scrollBridge.scrollLockY
244
+ if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {
245
+ lastEmittedScrollOffset.current = scrollBridge.scrollLockY;
246
+ onScroll?.({
247
+ ...e,
248
+ nativeEvent: {
249
+ ...e.nativeEvent,
250
+ contentOffset: {
251
+ ...e.nativeEvent.contentOffset,
252
+ y: scrollBridge.scrollLockY
253
+ }
134
254
  }
135
- }
136
- });
255
+ });
256
+ }
137
257
  return;
138
258
  }
139
259
  scrollBridge.y = y;
140
260
  if (y > 0) scrollBridge.scrollStartY = -1;
261
+ lastEmittedScrollOffset.current = y;
141
262
  onScroll?.(e);
142
263
  },
143
- contentContainerStyle: {
144
- minHeight: "100%"
145
- },
264
+ contentContainerStyle,
146
265
  bounces: false,
147
266
  keyboardShouldPersistTaps: "always",
148
267
  keyboardDismissMode: "none",
149
268
  ...props,
269
+ ...keyboardFrozenOverride,
150
270
  children: contentWrapper
151
271
  });
152
272
  }
153
273
  return /* @__PURE__ */jsx(ScrollView, {
154
274
  onLayout: e => {
155
- parentHeight.current = Math.ceil(e.nativeEvent.layout.height);
275
+ recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
156
276
  updateScrollable();
157
277
  },
158
278
  ref: composeRefs(scrollRef, ref),
159
- flex: 1,
279
+ ...fitSizingStyle,
160
280
  scrollEventThrottle: 1,
161
281
  className: "_ovs-contain",
162
282
  scrollEnabled,
@@ -164,15 +284,16 @@ const SheetScrollView = React.forwardRef(({
164
284
  const {
165
285
  y
166
286
  } = e.nativeEvent.contentOffset;
287
+ currentScrollOffset.current = y;
167
288
  scrollBridge.y = y;
168
289
  if (y > 0) scrollBridge.scrollStartY = -1;
290
+ lastEmittedScrollOffset.current = y;
169
291
  onScroll?.(e);
170
292
  },
171
- contentContainerStyle: {
172
- minHeight: "100%"
173
- },
293
+ contentContainerStyle,
174
294
  ...gestureProps,
175
295
  ...props,
296
+ ...keyboardFrozenOverride,
176
297
  children: contentWrapper
177
298
  });
178
299
  });
@@ -1 +1 @@
1
- {"version":3,"names":["composeRefs","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","jsx","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","ref","context","gestureContext","scrollBridge","setHasScrollView","prop","defaultProp","scrollRef","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lockedScrollY","setScrollEnabled","next","lockTo","lockY","current","scrollLockY","scrollTo","x","y","animated","forceScrollTo","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","updateScrollable","gestureProps","contentWrapper","onLayout","e","height","Math","floor","nativeEvent","layout","RNGHComponent","style","flex","scrollEventThrottle","simultaneousHandlers","ceil","contentOffset","scrollStartY","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["composeRefs","isWeb","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","getStableLayoutViewportHeight","getWebKeyboardBottomInset","getWebKeyboardResizeHeight","isEditableElement","MIN_KEYBOARD_HEIGHT","jsx","jsxs","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","ref","context","gestureContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","prop","defaultProp","scrollRef","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","contentContainerStyle","minHeight","keyboardFrozenOverride","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lastEmittedScrollOffset","lockedScrollY","focusedInputScrollFrame","setScrollEnabled","next","lockTo","lockY","scrollLockY","current","enabled","scrollTo","x","y","animated","forceScrollTo","emitManualScroll","useCallback","node","scrollStartY","nativeEvent","contentOffset","scrollLeft","contentSize","scrollHeight","width","scrollWidth","layoutMeasurement","offsetHeight","offsetWidth","timeStamp","Date","now","scrollFocusedInputClearOfKeyboard","getScrollableNode","active","document","activeElement","contains","keyboardHeight","activeRect","getBoundingClientRect","nodeRect","margin","keyboardTop","visibleTop","top","visibleBottom","min","bottom","nextScrollTop","scrollTop","ceil","maxScrollTop","clientHeight","scheduleFocusedInputScroll","cancelAnimationFrame","requestAnimationFrame","window","addEventListener","visualViewport","removeEventListener","updateScrollable","recordFitHeight","gestureProps","onManualScroll","contentWrapper","onLayout","e","floor","layout","RNGHComponent","style","scrollEventThrottle","simultaneousHandlers","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}