@tamagui/sheet 2.7.7 → 3.0.0-beta.643.1

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 (435) hide show
  1. package/dist/cjs/GestureDetectorWrapper.cjs +32 -41
  2. package/dist/cjs/GestureDetectorWrapper.native.cjs +48 -0
  3. package/dist/cjs/GestureDetectorWrapper.native.js +32 -40
  4. package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -1
  5. package/dist/cjs/GestureSheetContext.cjs +29 -37
  6. package/dist/cjs/GestureSheetContext.native.cjs +49 -0
  7. package/dist/cjs/GestureSheetContext.native.js +30 -37
  8. package/dist/cjs/GestureSheetContext.native.js.map +1 -1
  9. package/dist/cjs/Sheet.cjs +206 -99
  10. package/dist/cjs/Sheet.native.cjs +234 -0
  11. package/dist/cjs/Sheet.native.js +212 -98
  12. package/dist/cjs/Sheet.native.js.map +1 -1
  13. package/dist/cjs/SheetContext.cjs +44 -22
  14. package/dist/cjs/SheetContext.native.cjs +58 -0
  15. package/dist/cjs/SheetContext.native.js +45 -22
  16. package/dist/cjs/SheetContext.native.js.map +1 -1
  17. package/dist/cjs/SheetController.cjs +50 -56
  18. package/dist/cjs/SheetController.native.cjs +72 -0
  19. package/dist/cjs/SheetController.native.js +53 -58
  20. package/dist/cjs/SheetController.native.js.map +1 -1
  21. package/dist/cjs/SheetImplementationCustom.cjs +674 -605
  22. package/dist/cjs/SheetImplementationCustom.native.cjs +762 -0
  23. package/dist/cjs/SheetImplementationCustom.native.js +713 -644
  24. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  25. package/dist/cjs/SheetScrollView.cjs +291 -312
  26. package/dist/cjs/SheetScrollView.native.cjs +326 -0
  27. package/dist/cjs/SheetScrollView.native.js +299 -319
  28. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  29. package/dist/cjs/constants.cjs +22 -21
  30. package/dist/cjs/constants.native.cjs +37 -0
  31. package/dist/cjs/constants.native.js +22 -20
  32. package/dist/cjs/constants.native.js.map +1 -1
  33. package/dist/cjs/contexts.cjs +20 -28
  34. package/dist/cjs/contexts.native.cjs +38 -0
  35. package/dist/cjs/contexts.native.js +20 -27
  36. package/dist/cjs/contexts.native.js.map +1 -1
  37. package/dist/cjs/controller.cjs +17 -18
  38. package/dist/cjs/controller.native.cjs +32 -0
  39. package/dist/cjs/controller.native.js +17 -17
  40. package/dist/cjs/controller.native.js.map +1 -1
  41. package/dist/cjs/gestureState.cjs +29 -30
  42. package/dist/cjs/gestureState.native.cjs +54 -0
  43. package/dist/cjs/gestureState.native.js +30 -30
  44. package/dist/cjs/gestureState.native.js.map +1 -1
  45. package/dist/cjs/helpers.cjs +21 -24
  46. package/dist/cjs/helpers.native.cjs +35 -0
  47. package/dist/cjs/helpers.native.js +22 -24
  48. package/dist/cjs/helpers.native.js.map +1 -1
  49. package/dist/cjs/index.cjs +15 -21
  50. package/dist/cjs/index.native.cjs +37 -0
  51. package/dist/cjs/index.native.js +16 -21
  52. package/dist/cjs/index.native.js.map +1 -1
  53. package/dist/cjs/keyboardAvoidance.cjs +56 -79
  54. package/dist/cjs/keyboardAvoidance.native.cjs +75 -0
  55. package/dist/cjs/keyboardAvoidance.native.js +56 -78
  56. package/dist/cjs/keyboardAvoidance.native.js.map +1 -1
  57. package/dist/cjs/nativeSheet.cjs +64 -76
  58. package/dist/cjs/nativeSheet.native.cjs +94 -0
  59. package/dist/cjs/nativeSheet.native.js +70 -83
  60. package/dist/cjs/nativeSheet.native.js.map +1 -1
  61. package/dist/cjs/types.cjs +10 -11
  62. package/dist/cjs/types.native.cjs +19 -0
  63. package/dist/cjs/types.native.js +10 -10
  64. package/dist/cjs/types.native.js.map +1 -1
  65. package/dist/cjs/useGestureHandlerPan.cjs +245 -257
  66. package/dist/cjs/useGestureHandlerPan.native.cjs +273 -0
  67. package/dist/cjs/useGestureHandlerPan.native.js +254 -265
  68. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  69. package/dist/cjs/useKeyboardControllerSheet.cjs +83 -88
  70. package/dist/cjs/useKeyboardControllerSheet.native.cjs +119 -0
  71. package/dist/cjs/useKeyboardControllerSheet.native.js +100 -111
  72. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -1
  73. package/dist/cjs/useSafeAreaInsets.cjs +20 -26
  74. package/dist/cjs/useSafeAreaInsets.native.cjs +51 -0
  75. package/dist/cjs/useSafeAreaInsets.native.js +30 -25
  76. package/dist/cjs/useSafeAreaInsets.native.js.map +1 -1
  77. package/dist/cjs/useSheetController.cjs +27 -39
  78. package/dist/cjs/useSheetController.native.cjs +42 -0
  79. package/dist/cjs/useSheetController.native.js +28 -39
  80. package/dist/cjs/useSheetController.native.js.map +1 -1
  81. package/dist/cjs/useSheetOffscreenSize.cjs +44 -53
  82. package/dist/cjs/useSheetOffscreenSize.native.cjs +60 -0
  83. package/dist/cjs/useSheetOffscreenSize.native.js +48 -56
  84. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
  85. package/dist/cjs/useSheetOpenState.cjs +69 -40
  86. package/dist/cjs/useSheetOpenState.native.cjs +88 -0
  87. package/dist/cjs/useSheetOpenState.native.js +74 -42
  88. package/dist/cjs/useSheetOpenState.native.js.map +1 -1
  89. package/dist/cjs/useSheetProviderProps.cjs +146 -164
  90. package/dist/cjs/useSheetProviderProps.native.cjs +176 -0
  91. package/dist/cjs/useSheetProviderProps.native.js +156 -174
  92. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  93. package/dist/cjs/useSheetScrollViewGestures.cjs +172 -180
  94. package/dist/cjs/useSheetScrollViewGestures.native.cjs +150 -0
  95. package/dist/cjs/useSheetScrollViewGestures.native.js +136 -147
  96. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
  97. package/dist/cjs/webViewport.cjs +47 -48
  98. package/dist/cjs/webViewport.native.cjs +79 -0
  99. package/dist/cjs/webViewport.native.js +50 -50
  100. package/dist/cjs/webViewport.native.js.map +1 -1
  101. package/dist/esm/GestureDetectorWrapper.mjs +19 -23
  102. package/dist/esm/GestureDetectorWrapper.mjs.map +1 -1
  103. package/dist/esm/GestureDetectorWrapper.native.js +20 -24
  104. package/dist/esm/GestureDetectorWrapper.native.js.map +1 -1
  105. package/dist/esm/GestureSheetContext.mjs +15 -20
  106. package/dist/esm/GestureSheetContext.mjs.map +1 -1
  107. package/dist/esm/GestureSheetContext.native.js +17 -22
  108. package/dist/esm/GestureSheetContext.native.js.map +1 -1
  109. package/dist/esm/Sheet.mjs +191 -83
  110. package/dist/esm/Sheet.mjs.map +1 -1
  111. package/dist/esm/Sheet.native.js +198 -83
  112. package/dist/esm/Sheet.native.js.map +1 -1
  113. package/dist/esm/SheetContext.mjs +21 -5
  114. package/dist/esm/SheetContext.mjs.map +1 -1
  115. package/dist/esm/SheetContext.native.js +21 -5
  116. package/dist/esm/SheetContext.native.js.map +1 -1
  117. package/dist/esm/SheetController.mjs +34 -30
  118. package/dist/esm/SheetController.mjs.map +1 -1
  119. package/dist/esm/SheetController.native.js +38 -34
  120. package/dist/esm/SheetController.native.js.map +1 -1
  121. package/dist/esm/SheetImplementationCustom.mjs +655 -580
  122. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  123. package/dist/esm/SheetImplementationCustom.native.js +691 -612
  124. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  125. package/dist/esm/SheetScrollView.mjs +277 -288
  126. package/dist/esm/SheetScrollView.mjs.map +1 -1
  127. package/dist/esm/SheetScrollView.native.js +286 -297
  128. package/dist/esm/SheetScrollView.native.js.map +1 -1
  129. package/dist/esm/constants.mjs +5 -3
  130. package/dist/esm/constants.mjs.map +1 -1
  131. package/dist/esm/constants.native.js +5 -3
  132. package/dist/esm/constants.native.js.map +1 -1
  133. package/dist/esm/contexts.mjs +3 -3
  134. package/dist/esm/contexts.mjs.map +1 -1
  135. package/dist/esm/contexts.native.js +3 -3
  136. package/dist/esm/contexts.native.js.map +1 -1
  137. package/dist/esm/controller.mjs +2 -2
  138. package/dist/esm/controller.native.js +2 -2
  139. package/dist/esm/gestureState.mjs +13 -11
  140. package/dist/esm/gestureState.mjs.map +1 -1
  141. package/dist/esm/gestureState.native.js +14 -12
  142. package/dist/esm/gestureState.native.js.map +1 -1
  143. package/dist/esm/helpers.mjs +7 -6
  144. package/dist/esm/helpers.mjs.map +1 -1
  145. package/dist/esm/helpers.native.js +8 -7
  146. package/dist/esm/helpers.native.js.map +1 -1
  147. package/dist/esm/index.js +21 -14
  148. package/dist/esm/index.mjs +21 -14
  149. package/dist/esm/index.native.js +21 -14
  150. package/dist/esm/keyboardAvoidance.mjs +40 -61
  151. package/dist/esm/keyboardAvoidance.mjs.map +1 -1
  152. package/dist/esm/keyboardAvoidance.native.js +40 -61
  153. package/dist/esm/keyboardAvoidance.native.js.map +1 -1
  154. package/dist/esm/nativeSheet.mjs +52 -61
  155. package/dist/esm/nativeSheet.mjs.map +1 -1
  156. package/dist/esm/nativeSheet.native.js +58 -69
  157. package/dist/esm/nativeSheet.native.js.map +1 -1
  158. package/dist/esm/types.mjs +0 -2
  159. package/dist/esm/types.native.js +0 -2
  160. package/dist/esm/useGestureHandlerPan.mjs +232 -239
  161. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  162. package/dist/esm/useGestureHandlerPan.native.js +241 -248
  163. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  164. package/dist/esm/useKeyboardControllerSheet.mjs +71 -71
  165. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  166. package/dist/esm/useKeyboardControllerSheet.native.js +92 -94
  167. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -1
  168. package/dist/esm/useSafeAreaInsets.mjs +3 -1
  169. package/dist/esm/useSafeAreaInsets.mjs.map +1 -1
  170. package/dist/esm/useSafeAreaInsets.native.js +15 -3
  171. package/dist/esm/useSafeAreaInsets.native.js.map +1 -1
  172. package/dist/esm/useSheetController.mjs +14 -12
  173. package/dist/esm/useSheetController.mjs.map +1 -1
  174. package/dist/esm/useSheetController.native.js +14 -12
  175. package/dist/esm/useSheetController.native.js.map +1 -1
  176. package/dist/esm/useSheetOffscreenSize.mjs +30 -35
  177. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -1
  178. package/dist/esm/useSheetOffscreenSize.native.js +34 -39
  179. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
  180. package/dist/esm/useSheetOpenState.mjs +50 -22
  181. package/dist/esm/useSheetOpenState.mjs.map +1 -1
  182. package/dist/esm/useSheetOpenState.native.js +55 -25
  183. package/dist/esm/useSheetOpenState.native.js.map +1 -1
  184. package/dist/esm/useSheetProviderProps.mjs +130 -138
  185. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  186. package/dist/esm/useSheetProviderProps.native.js +140 -149
  187. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  188. package/dist/esm/useSheetScrollViewGestures.mjs +159 -162
  189. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  190. package/dist/esm/useSheetScrollViewGestures.native.js +123 -130
  191. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
  192. package/dist/esm/webViewport.mjs +26 -25
  193. package/dist/esm/webViewport.mjs.map +1 -1
  194. package/dist/esm/webViewport.native.js +29 -28
  195. package/dist/esm/webViewport.native.js.map +1 -1
  196. package/dist/jsx/GestureDetectorWrapper.mjs +19 -23
  197. package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -1
  198. package/dist/jsx/GestureDetectorWrapper.native.cjs +48 -0
  199. package/dist/jsx/GestureDetectorWrapper.native.js +32 -40
  200. package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -1
  201. package/dist/jsx/GestureSheetContext.mjs +15 -20
  202. package/dist/jsx/GestureSheetContext.mjs.map +1 -1
  203. package/dist/jsx/GestureSheetContext.native.cjs +49 -0
  204. package/dist/jsx/GestureSheetContext.native.js +30 -37
  205. package/dist/jsx/GestureSheetContext.native.js.map +1 -1
  206. package/dist/jsx/Sheet.mjs +191 -83
  207. package/dist/jsx/Sheet.mjs.map +1 -1
  208. package/dist/jsx/Sheet.native.cjs +234 -0
  209. package/dist/jsx/Sheet.native.js +212 -98
  210. package/dist/jsx/Sheet.native.js.map +1 -1
  211. package/dist/jsx/SheetContext.mjs +21 -5
  212. package/dist/jsx/SheetContext.mjs.map +1 -1
  213. package/dist/jsx/SheetContext.native.cjs +58 -0
  214. package/dist/jsx/SheetContext.native.js +45 -22
  215. package/dist/jsx/SheetContext.native.js.map +1 -1
  216. package/dist/jsx/SheetController.mjs +34 -30
  217. package/dist/jsx/SheetController.mjs.map +1 -1
  218. package/dist/jsx/SheetController.native.cjs +72 -0
  219. package/dist/jsx/SheetController.native.js +53 -58
  220. package/dist/jsx/SheetController.native.js.map +1 -1
  221. package/dist/jsx/SheetImplementationCustom.mjs +655 -580
  222. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  223. package/dist/jsx/SheetImplementationCustom.native.cjs +762 -0
  224. package/dist/jsx/SheetImplementationCustom.native.js +713 -644
  225. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  226. package/dist/jsx/SheetScrollView.mjs +277 -288
  227. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  228. package/dist/jsx/SheetScrollView.native.cjs +326 -0
  229. package/dist/jsx/SheetScrollView.native.js +299 -319
  230. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  231. package/dist/jsx/constants.mjs +5 -3
  232. package/dist/jsx/constants.mjs.map +1 -1
  233. package/dist/jsx/constants.native.cjs +37 -0
  234. package/dist/jsx/constants.native.js +22 -20
  235. package/dist/jsx/constants.native.js.map +1 -1
  236. package/dist/jsx/contexts.mjs +3 -3
  237. package/dist/jsx/contexts.mjs.map +1 -1
  238. package/dist/jsx/contexts.native.cjs +38 -0
  239. package/dist/jsx/contexts.native.js +20 -27
  240. package/dist/jsx/contexts.native.js.map +1 -1
  241. package/dist/jsx/controller.mjs +2 -2
  242. package/dist/jsx/controller.native.cjs +32 -0
  243. package/dist/jsx/controller.native.js +17 -17
  244. package/dist/jsx/controller.native.js.map +1 -1
  245. package/dist/jsx/gestureState.mjs +13 -11
  246. package/dist/jsx/gestureState.mjs.map +1 -1
  247. package/dist/jsx/gestureState.native.cjs +54 -0
  248. package/dist/jsx/gestureState.native.js +30 -30
  249. package/dist/jsx/gestureState.native.js.map +1 -1
  250. package/dist/jsx/helpers.mjs +7 -6
  251. package/dist/jsx/helpers.mjs.map +1 -1
  252. package/dist/jsx/helpers.native.cjs +35 -0
  253. package/dist/jsx/helpers.native.js +22 -24
  254. package/dist/jsx/helpers.native.js.map +1 -1
  255. package/dist/jsx/index.js +21 -14
  256. package/dist/jsx/index.mjs +21 -14
  257. package/dist/jsx/index.native.cjs +37 -0
  258. package/dist/jsx/index.native.js +16 -21
  259. package/dist/jsx/index.native.js.map +1 -1
  260. package/dist/jsx/keyboardAvoidance.mjs +40 -61
  261. package/dist/jsx/keyboardAvoidance.mjs.map +1 -1
  262. package/dist/jsx/keyboardAvoidance.native.cjs +75 -0
  263. package/dist/jsx/keyboardAvoidance.native.js +56 -78
  264. package/dist/jsx/keyboardAvoidance.native.js.map +1 -1
  265. package/dist/jsx/nativeSheet.mjs +52 -61
  266. package/dist/jsx/nativeSheet.mjs.map +1 -1
  267. package/dist/jsx/nativeSheet.native.cjs +94 -0
  268. package/dist/jsx/nativeSheet.native.js +70 -83
  269. package/dist/jsx/nativeSheet.native.js.map +1 -1
  270. package/dist/jsx/types.mjs +0 -2
  271. package/dist/jsx/types.native.cjs +19 -0
  272. package/dist/jsx/types.native.js +10 -10
  273. package/dist/jsx/types.native.js.map +1 -1
  274. package/dist/jsx/useGestureHandlerPan.mjs +232 -239
  275. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  276. package/dist/jsx/useGestureHandlerPan.native.cjs +273 -0
  277. package/dist/jsx/useGestureHandlerPan.native.js +254 -265
  278. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  279. package/dist/jsx/useKeyboardControllerSheet.mjs +71 -71
  280. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  281. package/dist/jsx/useKeyboardControllerSheet.native.cjs +119 -0
  282. package/dist/jsx/useKeyboardControllerSheet.native.js +100 -111
  283. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -1
  284. package/dist/jsx/useSafeAreaInsets.mjs +3 -1
  285. package/dist/jsx/useSafeAreaInsets.mjs.map +1 -1
  286. package/dist/jsx/useSafeAreaInsets.native.cjs +51 -0
  287. package/dist/jsx/useSafeAreaInsets.native.js +30 -25
  288. package/dist/jsx/useSafeAreaInsets.native.js.map +1 -1
  289. package/dist/jsx/useSheetController.mjs +14 -12
  290. package/dist/jsx/useSheetController.mjs.map +1 -1
  291. package/dist/jsx/useSheetController.native.cjs +42 -0
  292. package/dist/jsx/useSheetController.native.js +28 -39
  293. package/dist/jsx/useSheetController.native.js.map +1 -1
  294. package/dist/jsx/useSheetOffscreenSize.mjs +30 -35
  295. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -1
  296. package/dist/jsx/useSheetOffscreenSize.native.cjs +60 -0
  297. package/dist/jsx/useSheetOffscreenSize.native.js +48 -56
  298. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
  299. package/dist/jsx/useSheetOpenState.mjs +50 -22
  300. package/dist/jsx/useSheetOpenState.mjs.map +1 -1
  301. package/dist/jsx/useSheetOpenState.native.cjs +88 -0
  302. package/dist/jsx/useSheetOpenState.native.js +74 -42
  303. package/dist/jsx/useSheetOpenState.native.js.map +1 -1
  304. package/dist/jsx/useSheetProviderProps.mjs +130 -138
  305. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  306. package/dist/jsx/useSheetProviderProps.native.cjs +176 -0
  307. package/dist/jsx/useSheetProviderProps.native.js +156 -174
  308. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  309. package/dist/jsx/useSheetScrollViewGestures.mjs +159 -162
  310. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  311. package/dist/jsx/useSheetScrollViewGestures.native.cjs +150 -0
  312. package/dist/jsx/useSheetScrollViewGestures.native.js +136 -147
  313. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
  314. package/dist/jsx/webViewport.mjs +26 -25
  315. package/dist/jsx/webViewport.mjs.map +1 -1
  316. package/dist/jsx/webViewport.native.cjs +79 -0
  317. package/dist/jsx/webViewport.native.js +50 -50
  318. package/dist/jsx/webViewport.native.js.map +1 -1
  319. package/package.json +33 -39
  320. package/src/Sheet.tsx +316 -77
  321. package/src/SheetContext.tsx +57 -7
  322. package/src/SheetController.tsx +7 -6
  323. package/src/SheetImplementationCustom.tsx +343 -140
  324. package/src/SheetScrollView.tsx +24 -13
  325. package/src/constants.tsx +3 -3
  326. package/src/helpers.tsx +0 -14
  327. package/src/index.ts +3 -6
  328. package/src/nativeSheet.tsx +5 -15
  329. package/src/types.tsx +104 -92
  330. package/src/useKeyboardControllerSheet.native.ts +7 -2
  331. package/src/useSafeAreaInsets.native.ts +20 -13
  332. package/src/useSheetController.tsx +15 -7
  333. package/src/useSheetOpenState.tsx +50 -4
  334. package/src/useSheetProviderProps.tsx +4 -27
  335. package/src/useSheetScrollViewGestures.ts +2 -2
  336. package/types/GestureDetectorWrapper.d.ts +1 -1
  337. package/types/GestureDetectorWrapper.d.ts.map +1 -1
  338. package/types/GestureSheetContext.d.ts +1 -1
  339. package/types/GestureSheetContext.d.ts.map +1 -1
  340. package/types/Sheet.d.ts +384 -135
  341. package/types/Sheet.d.ts.map +1 -1
  342. package/types/SheetContext.d.ts +28 -42
  343. package/types/SheetContext.d.ts.map +1 -1
  344. package/types/SheetController.d.ts +4 -2
  345. package/types/SheetController.d.ts.map +1 -1
  346. package/types/SheetImplementationCustom.d.ts +3 -35
  347. package/types/SheetImplementationCustom.d.ts.map +1 -1
  348. package/types/SheetScrollView.d.ts +57 -23
  349. package/types/SheetScrollView.d.ts.map +1 -1
  350. package/types/constants.d.ts +3 -2
  351. package/types/constants.d.ts.map +1 -1
  352. package/types/index.d.ts +1 -3
  353. package/types/index.d.ts.map +1 -1
  354. package/types/nativeSheet.d.ts.map +1 -1
  355. package/types/types.d.ts +28 -17
  356. package/types/types.d.ts.map +1 -1
  357. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -1
  358. package/types/useSafeAreaInsets.native.d.ts +4 -12
  359. package/types/useSafeAreaInsets.native.d.ts.map +1 -1
  360. package/types/useSheetController.d.ts +6 -6
  361. package/types/useSheetController.d.ts.map +1 -1
  362. package/types/useSheetOffscreenSize.d.ts.map +1 -1
  363. package/types/useSheetOpenState.d.ts +3 -2
  364. package/types/useSheetOpenState.d.ts.map +1 -1
  365. package/types/useSheetProviderProps.d.ts +5 -8
  366. package/types/useSheetProviderProps.d.ts.map +1 -1
  367. package/types/useSheetScrollViewGestures.d.ts +2 -2
  368. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  369. package/.turbo/turbo-build.log +0 -2
  370. package/controller/index.cjs +0 -2
  371. package/controller/index.d.ts +0 -5
  372. package/controller/index.js +0 -2
  373. package/controller/index.native.cjs +0 -2
  374. package/controller/index.native.js +0 -2
  375. package/dist/cjs/createSheet.cjs +0 -194
  376. package/dist/cjs/createSheet.native.js +0 -204
  377. package/dist/cjs/createSheet.native.js.map +0 -1
  378. package/dist/cjs/setupGestureHandler.cjs +0 -55
  379. package/dist/cjs/setupGestureHandler.native.js +0 -60
  380. package/dist/cjs/setupGestureHandler.native.js.map +0 -1
  381. package/dist/cjs/useSheet.cjs +0 -29
  382. package/dist/cjs/useSheet.native.js +0 -34
  383. package/dist/cjs/useSheet.native.js.map +0 -1
  384. package/dist/esm/controller.mjs.map +0 -1
  385. package/dist/esm/controller.native.js.map +0 -1
  386. package/dist/esm/createSheet.mjs +0 -168
  387. package/dist/esm/createSheet.mjs.map +0 -1
  388. package/dist/esm/createSheet.native.js +0 -176
  389. package/dist/esm/createSheet.native.js.map +0 -1
  390. package/dist/esm/index.js.map +0 -1
  391. package/dist/esm/index.mjs.map +0 -1
  392. package/dist/esm/index.native.js.map +0 -1
  393. package/dist/esm/setupGestureHandler.mjs +0 -29
  394. package/dist/esm/setupGestureHandler.mjs.map +0 -1
  395. package/dist/esm/setupGestureHandler.native.js +0 -31
  396. package/dist/esm/setupGestureHandler.native.js.map +0 -1
  397. package/dist/esm/types.mjs.map +0 -1
  398. package/dist/esm/types.native.js.map +0 -1
  399. package/dist/esm/useSheet.mjs +0 -4
  400. package/dist/esm/useSheet.mjs.map +0 -1
  401. package/dist/esm/useSheet.native.js +0 -6
  402. package/dist/esm/useSheet.native.js.map +0 -1
  403. package/dist/jsx/controller.mjs.map +0 -1
  404. package/dist/jsx/createSheet.mjs +0 -168
  405. package/dist/jsx/createSheet.mjs.map +0 -1
  406. package/dist/jsx/createSheet.native.js +0 -204
  407. package/dist/jsx/createSheet.native.js.map +0 -1
  408. package/dist/jsx/index.js.map +0 -1
  409. package/dist/jsx/index.mjs.map +0 -1
  410. package/dist/jsx/setupGestureHandler.mjs +0 -29
  411. package/dist/jsx/setupGestureHandler.mjs.map +0 -1
  412. package/dist/jsx/setupGestureHandler.native.js +0 -60
  413. package/dist/jsx/setupGestureHandler.native.js.map +0 -1
  414. package/dist/jsx/types.mjs.map +0 -1
  415. package/dist/jsx/useSheet.mjs +0 -4
  416. package/dist/jsx/useSheet.mjs.map +0 -1
  417. package/dist/jsx/useSheet.native.js +0 -34
  418. package/dist/jsx/useSheet.native.js.map +0 -1
  419. package/next.md +0 -78
  420. package/setup-gesture-handler/index.cjs +0 -2
  421. package/setup-gesture-handler/index.js +0 -2
  422. package/setup-gesture-handler/index.native.cjs +0 -2
  423. package/setup-gesture-handler/index.native.js +0 -2
  424. package/setup-gesture-handler.cjs +0 -1
  425. package/src/createSheet.tsx +0 -309
  426. package/src/setupGestureHandler.ts +0 -43
  427. package/src/useSheet.tsx +0 -3
  428. package/test/keyboardAvoidance.test.ts +0 -269
  429. package/tsconfig.json +0 -57
  430. package/types/createSheet.d.ts +0 -195
  431. package/types/createSheet.d.ts.map +0 -1
  432. package/types/setupGestureHandler.d.ts +0 -11
  433. package/types/setupGestureHandler.d.ts.map +0 -1
  434. package/types/useSheet.d.ts +0 -2
  435. package/types/useSheet.d.ts.map +0 -1
@@ -1 +1 @@
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 \"@tamagui/adapt\";\nimport { AnimatePresence } from \"@tamagui/animate-presence\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { LayoutMeasurementController, View, useConfiguration, useDidFinishSSR, useEvent, useThemeName } from \"@tamagui/core\";\nimport { Portal, needsPortalRepropagation } from \"@tamagui/portal\";\nimport React, { useState } from \"react\";\nimport { Dimensions, PanResponder, View as View$1 } from \"react-native\";\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\tif (at.current !== toValue) return;\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":"AAAA,SAASA,GAAG,EAAEC,IAAI,QAAQ,mBAAmB;AAC7C,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,gBAAgB;AACrE,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,KAAK,EAAEC,yBAAyB,QAAQ,oBAAoB;AACrE,SAASC,2BAA2B,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,eAAe;AAC5H,SAASC,MAAM,EAAEC,wBAAwB,QAAQ,iBAAiB;AAClE,OAAOC,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,UAAU,EAAEC,YAAY,EAAEV,IAAI,IAAIW,MAAM,QAAQ,cAAc;AACvE,SAASC,kBAAkB,EAAEC,uBAAuB,QAAQ,sBAAY;AACxE,SAASC,sBAAsB,QAAQ,oCAA0B;AACjE,SAASC,sBAAsB,QAAQ,0BAAgB;AACvD,SAASC,oBAAoB,QAAQ,iCAAuB;AAC5D,SAASC,QAAQ,QAAQ,qBAAW;AACpC,SAASC,yBAAyB,EAAEC,yBAAyB,EAAEC,uBAAuB,QAAQ,+BAAqB;AACnH,SAASC,mBAAmB,EAAEC,oBAAoB,EAAEC,6BAA6B,EAAEC,0BAA0B,EAAEC,6BAA6B,QAAQ,yBAAe;AACnK,SAASC,aAAa,QAAQ,0BAAgB;AAC9C,SAASC,oBAAoB,QAAQ,kCAAwB;AAC7D,SAASC,0BAA0B,QAAQ,wCAA8B;AACzE,SAASC,qBAAqB,EAAEC,iBAAiB,QAAQ,+BAAqB;AAC9E,SAASC,iBAAiB,QAAQ,+BAAqB;AACvD,SAASC,qBAAqB,QAAQ,mCAAyB;AAE/D,IAAIC,UAAU,GAAG,OAAO;AACxB,IAAIC,iBAAiB,GAAG;EACvBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;AACT,CAAC;AACD,IAAIC,mBAAmB,GAAG;EACzBF,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;AACT,CAAC;AACD,IAAIE,mBAAmB,GAAGzC,KAAK,GAAG,QAAQ,GAAG,QAAQ;AACrD,SAAS0C,uBAAuBA,CAAA,EAAG;EAClC,IAAI1C,KAAK,IAAI,OAAO2C,MAAM,KAAK,WAAW,EAAE,OAAOjB,6BAA6B,CAAC,CAAC;EAClF,OAAOd,UAAU,CAACgC,GAAG,CAACH,mBAAmB,CAAC,CAACF,MAAM;AAClD;AACA,IAAIM,yBAAyB,GAAG,eAAgBnC,KAAK,CAACoC,UAAU,CAAC,SAASC,0BAA0BA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACzH,IAAIC,WAAW,GAAGxC,KAAK,CAACyC,UAAU,CAACpC,kBAAkB,CAAC;EACtD,IAAIqC,cAAc,GAAGnB,iBAAiB,CAAC,CAAC;EACxC,IAAIoB,mBAAmB;EACvB,IAAIC,gBAAgB,GAAG,CAACD,mBAAmB,GAAGD,cAAc,KAAK,IAAI,IAAIA,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACG,GAAG,MAAM,IAAI,IAAIF,mBAAmB,KAAK,KAAK,CAAC,GAAGA,mBAAmB,GAAG,CAAC;EACtM,IAAI;IAAEG,UAAU;IAAEC,gBAAgB,EAAEC,oBAAoB;IAAEC,KAAK,GAAG,KAAK;IAAEC,MAAM,GAAGV,WAAW,CAACU,MAAM,GAAG,CAAC;IAAEC,oBAAoB,GAAG,KAAK;IAAEC,yBAAyB,GAAG,KAAK;IAAEC,uBAAuB,GAAG,KAAK;IAAEC,WAAW;IAAEC,kBAAkB,EAAEC,kBAAkB,GAAGxD,KAAK,CAACyD,QAAQ;IAAEC;EAAoB,CAAC,GAAGpB,KAAK;EAC/S,IAAIqB,KAAK,GAAGnC,iBAAiB,CAACc,KAAK,CAAC;EACpC,IAAI,CAACsB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG7D,KAAK,CAACC,QAAQ,CAAC,IAAI,CAAC;EAClE,IAAI6D,aAAa,GAAGrC,qBAAqB,CAACa,KAAK,EAAEqB,KAAK,EAAE;IAAEI,kBAAkB,EAAEF;EAAoB,CAAC,CAAC;EACpG,IAAI;IAAEG,SAAS;IAAEC,YAAY;IAAEC,qBAAqB;IAAEC,UAAU;IAAEC,cAAc;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,YAAY;IAAEC,UAAU;IAAEC,iBAAiB;IAAEC;EAAa,CAAC,GAAGb,aAAa;EAC5L,IAAI;IAAEc,IAAI;IAAEC,UAAU;IAAEC;EAAS,CAAC,GAAGnB,KAAK;EAC1C,IAAIoB,OAAO,GAAG/E,KAAK,CAACgF,MAAM,CAACJ,IAAI,CAAC;EAChCG,OAAO,CAACE,OAAO,GAAGL,IAAI;EACtB,IAAIM,GAAG,GAAG7F,eAAe,CAACkD,YAAY,EAAEvC,KAAK,CAACgF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAElB,aAAa,CAACqB,UAAU,CAAC;EACvF,IAAI;IAAEC;EAAgB,CAAC,GAAG1F,gBAAgB,CAAC,CAAC;EAC5C,IAAI,CAAC0F,eAAe,EAAE,MAAM,IAAIC,KAAK,CAAC,8CAA8C,CAAC;EACrF,IAAItC,gBAAgB,GAAI,YAAW;IAClC,IAAIuC,2BAA2B;IAC/B,IAAItC,oBAAoB,EAAE,OAAOA,oBAAoB;IACrD,IAAI,CAACuC,aAAa,EAAEC,mBAAmB,CAAC,GAAG,CAAC1C,UAAU,GAAG,EAAE,GAAG2C,KAAK,CAACC,OAAO,CAAC5C,UAAU,CAAC,GAAGA,UAAU,GAAG,CAACA,UAAU,CAAC;IACnH,IAAIyC,aAAa,KAAK,CAACD,2BAA2B,GAAGF,eAAe,CAACO,UAAU,MAAM,IAAI,IAAIL,2BAA2B,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,2BAA2B,CAACC,aAAa,CAAC,CAAC,EAAE,OAAO;MAClM,GAAGH,eAAe,CAACO,UAAU,CAACJ,aAAa,CAAC;MAC5C,GAAGC;IACJ,CAAC;IACD,OAAO,IAAI;EACZ,CAAC,CAAE,CAAC;EACJ,IAAI,CAACI,mBAAmB,EAAEC,sBAAsB,CAAC,GAAG7F,KAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACzE,IAAI6F,qBAAqB,GAAG,CAACxG,KAAK,IAAI2D,KAAK,IAAI2C,mBAAmB,IAAI7F,wBAAwB,CAAC,CAAC;EAChG,IAAIgG,gBAAgB,GAAG/F,KAAK,CAACyC,UAAU,CAACnC,uBAAuB,CAAC;EAChE,IAAI0F,YAAY,GAAGhG,KAAK,CAACiG,WAAW,CAAC,UAASC,QAAQ,EAAE;IACvDL,sBAAsB,CAACK,QAAQ,CAAC;EACjC,CAAC,EAAE,EAAE,CAAC;EACN,IAAI;IAAEC,cAAc;IAAEC,iBAAiB;IAAEC,eAAe;IAAEC,oBAAoB;IAAEC;EAAiB,CAAC,GAAGlF,0BAA0B,CAAC;IAAEmF,OAAO,EAAEC,OAAO,CAACtD,oBAAoB;EAAE,CAAC,CAAC;EAC3K,IAAIuD,eAAe,GAAG1G,KAAK,CAACgF,MAAM,CAAChB,SAAS,CAAC;EAC7ChE,KAAK,CAAC2G,SAAS,CAAC,YAAW;IAC1B,IAAI/B,IAAI,IAAIZ,SAAS,EAAE0C,eAAe,CAACzB,OAAO,GAAGjB,SAAS;EAC3D,CAAC,EAAE,CAACY,IAAI,EAAEZ,SAAS,CAAC,CAAC;EACrB,IAAI4C,YAAY,GAAGtH,KAAK,IAAI+E,MAAM,IAAIlB,oBAAoB;EAC1D,IAAI0D,kBAAkB,GAAG,CAACvH,KAAK,IAAI+E,MAAM,IAAIoC,OAAO,CAACtD,oBAAoB,CAAC;EAC1E,IAAI2D,oBAAoB,GAAG9G,KAAK,CAACgF,MAAM,CAAC,CAAC,CAAC;EAC1ChF,KAAK,CAAC2G,SAAS,CAAC,YAAW;IAC1B,IAAIE,kBAAkB,IAAIjC,IAAI,IAAI,CAACwB,iBAAiB,IAAIpC,SAAS,GAAG,CAAC,EAAE8C,oBAAoB,CAAC7B,OAAO,GAAGjB,SAAS;EAChH,CAAC,EAAE,CACF6C,kBAAkB,EAClBjC,IAAI,EACJwB,iBAAiB,EACjBpC,SAAS,CACT,CAAC;EACF,IAAI+C,aAAa,GAAGH,YAAY,GAAG5E,uBAAuB,CAAC,CAAC,GAAGyC,UAAU;EACzE,IAAIuC,kBAAkB,GAAGpC,IAAI,GAAGZ,SAAS,GAAG0C,eAAe,CAACzB,OAAO,IAAIjB,SAAS;EAChF,IAAIiD,SAAS,GAAGjH,KAAK,CAACkH,OAAO,CAAC,YAAW;IACxC,OAAO/C,UAAU,CAACgD,GAAG,CAAC,UAASC,KAAK,EAAE;MACrC,OAAOC,aAAa,CAACjD,cAAc,EAAEgD,KAAK,EAAEL,aAAa,EAAEC,kBAAkB,CAAC;IAC/E,CAAC,CAAC;EACH,CAAC,EAAE,CACFD,aAAa,EACbC,kBAAkB,EAClB7C,UAAU,EACVC,cAAc,CACd,CAAC;EACF,IAAI,CAACkD,UAAU,EAAEC,cAAc,CAAC,GAAGvH,KAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACxD,IAAIuH,aAAa,GAAGxH,KAAK,CAACgF,MAAM,CAAC,KAAK,CAAC;EACvC,IAAIyC,aAAa,GAAGzH,KAAK,CAACiG,WAAW,CAAC,UAASyB,GAAG,EAAE;IACnDF,aAAa,CAACvC,OAAO,GAAGyC,GAAG;IAC3BpB,oBAAoB,CAACrB,OAAO,GAAGyC,GAAG;IAClCH,cAAc,CAACG,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,EAAEnB,gBAAgB,CAAC,CAAC;EAC7B,CAAC,EAAE,CAACD,oBAAoB,EAAEC,gBAAgB,CAAC,CAAC;EAC5C,IAAIoB,kBAAkB,GAAG3H,KAAK,CAACgF,MAAM,CAACiC,SAAS,CAAC;EAChD,IAAIW,eAAe,GAAG5H,KAAK,CAACkH,OAAO,CAAC,YAAW;IAC9C,IAAII,UAAU,IAAIE,aAAa,CAACvC,OAAO,EAAE,OAAO0C,kBAAkB,CAAC1C,OAAO;IAC1E,IAAI4C,MAAM;IACV,IAAI,CAACzB,iBAAiB,IAAID,cAAc,IAAI,CAAC,EAAE0B,MAAM,GAAGZ,SAAS,CAAC,KAC7DY,MAAM,GAAGZ,SAAS,CAACE,GAAG,CAAC,UAASW,CAAC,EAAE;MACvC,OAAOnH,yBAAyB,CAAC;QAChCoH,MAAM,EAAED,CAAC;QACTrD,UAAU,EAAEsC,aAAa;QACzBX,iBAAiB;QACjBD,cAAc;QACd6B,eAAe,EAAE,IAAI;QACrBC,WAAW,EAAE3I,KAAK,GAAG4B,6BAA6B,CAAC,CAAC,GAAG0B;MACxD,CAAC,CAAC;IACH,CAAC,CAAC;IACF+E,kBAAkB,CAAC1C,OAAO,GAAG4C,MAAM;IACnC,OAAOA,MAAM;EACd,CAAC,EAAE,CACFZ,SAAS,EACTb,iBAAiB,EACjBD,cAAc,EACdY,aAAa,EACbO,UAAU,EACV1E,gBAAgB,CAChB,CAAC;EACF,IAAIsF,sBAAsB,GAAGtH,yBAAyB,CAAC;IACtDoD,SAAS,EAAEgD,kBAAkB;IAC7BZ,iBAAiB;IACjBD,cAAc;IACd1B,UAAU,EAAEsC,aAAa;IACzBgB,MAAM,EAAEzD,QAAQ,IAAI,CAAC,GAAGsD,eAAe,CAACtD,QAAQ,CAAC,GAAG,KAAK;EAC1D,CAAC,CAAC;EACF,IAAI6D,yBAAyB,GAAGvB,YAAY,IAAIR,iBAAiB,IAAIpC,SAAS,GAAG,CAAC,GAAGA,SAAS,GAAG6C,kBAAkB,IAAIT,iBAAiB,IAAIU,oBAAoB,CAAC7B,OAAO,GAAG,CAAC,GAAG6B,oBAAoB,CAAC7B,OAAO,GAAG,CAAC;EAC/M,IAAI;IAAEmD,iBAAiB;IAAEC;EAAuB,CAAC,GAAGjD,eAAe;EACnE,IAAIkD,qBAAqB;EACzB,IAAIC,YAAY,GAAG,CAACD,qBAAqB,GAAGlD,eAAe,CAAC3F,IAAI,MAAM,IAAI,IAAI6I,qBAAqB,KAAK,KAAK,CAAC,GAAGA,qBAAqB,GAAG7I,IAAI;EAC7IF,yBAAyB,CAAC,YAAW;IACpC,IAAI,EAAEwG,gBAAgB,IAAInB,IAAI,CAAC,EAAE;IACjCmB,gBAAgB,CAAC,IAAI,CAAC;IACtB,OAAO,YAAW;MACjBA,gBAAgB,CAAC,KAAK,CAAC;IACxB,CAAC;EACF,CAAC,EAAE,CAACA,gBAAgB,EAAEnB,IAAI,CAAC,CAAC;EAC5B,IAAI4D,iBAAiB,GAAGxI,KAAK,CAACkH,OAAO,CAAC,YAAW;IAChD,OAAO;MAAEhE;IAAO,CAAC;EAClB,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EACZ,IAAIuF,aAAa,GAAG9I,eAAe,CAAC,CAAC,IAAI8E,UAAU,GAAGA,UAAU,GAAG/C,UAAU;EAC7E,IAAIgH,cAAc,GAAGN,iBAAiB,CAACK,aAAa,CAAC;EACrD,IAAIE,EAAE,GAAG3I,KAAK,CAACgF,MAAM,CAACyD,aAAa,CAAC;EACpC,IAAIG,aAAa,GAAGD,EAAE,CAAC1D,OAAO,KAAKvD,UAAU;EAC7C,IAAI,CAACmH,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG7I,QAAQ,CAAC2I,aAAa,CAAC;EACrE,IAAIG,kBAAkB,GAAG/I,KAAK,CAACgF,MAAM,CAAC,KAAK,CAAC;EAC5C,IAAIH,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,UAAU,CAACmE,iBAAiB,EAAED,kBAAkB,CAAC9D,OAAO,GAAG,IAAI;EAC3H,IAAIgE,aAAa,GAAGjJ,KAAK,CAACgF,MAAM,CAAC,KAAK,CAAC;EACvC,IAAIkE,oBAAoB,GAAGlJ,KAAK,CAACgF,MAAM,CAAC,IAAI,CAAC;EAC7C,IAAImE,oBAAoB,GAAGvJ,QAAQ,CAAC,UAASwJ,KAAK,EAAE;IACnDT,EAAE,CAAC1D,OAAO,GAAGmE,KAAK;IAClB5E,YAAY,CAAC6E,KAAK,GAAGD,KAAK;IAC1B,IAAIE,IAAI,GAAG1B,eAAe,CAAC,CAAC,CAAC;IAC7B,IAAI2B,QAAQ,GAAG/E,YAAY,CAACgF,OAAO;IACnC,IAAIC,QAAQ,GAAGL,KAAK,IAAIE,IAAI,GAAG,CAAC;IAChC,IAAIC,QAAQ,KAAKE,QAAQ,EAAE;IAC3BjF,YAAY,CAACgF,OAAO,GAAGC,QAAQ;IAC/B,IAAIA,QAAQ,EAAE;MACb,IAAIC,8BAA8B;MAClC,IAAIlF,YAAY,CAACmF,eAAe,EAAE;QACjC,IAAIC,+BAA+B;QACnC,IAAIpF,YAAY,CAACqF,CAAC,GAAG,CAAC,EAAE;UACvB,IAAIC,2BAA2B;UAC/B,CAACA,2BAA2B,GAAGtF,YAAY,CAACuF,aAAa,MAAM,IAAI,IAAID,2BAA2B,KAAK,KAAK,CAAC,IAAIA,2BAA2B,CAACE,IAAI,CAACxF,YAAY,EAAE,CAAC,CAAC;UAClKA,YAAY,CAACqF,CAAC,GAAG,CAAC;QACnB;QACArF,YAAY,CAACyF,WAAW,GAAG,CAAC;QAC5B,CAACL,+BAA+B,GAAGpF,YAAY,CAAC0F,gBAAgB,MAAM,IAAI,IAAIN,+BAA+B,KAAK,KAAK,CAAC,IAAIA,+BAA+B,CAACI,IAAI,CAACxF,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QACxL;MACD;MACA,IAAIA,YAAY,CAACqF,CAAC,GAAG,CAAC,EAAE;QACvB,IAAIM,4BAA4B;QAChC,CAACA,4BAA4B,GAAG3F,YAAY,CAACuF,aAAa,MAAM,IAAI,IAAII,4BAA4B,KAAK,KAAK,CAAC,IAAIA,4BAA4B,CAACH,IAAI,CAACxF,YAAY,EAAE,CAAC,CAAC;QACrKA,YAAY,CAACqF,CAAC,GAAG,CAAC;MACnB;MACArF,YAAY,CAACyF,WAAW,GAAG,KAAK,CAAC;MACjC,CAACP,8BAA8B,GAAGlF,YAAY,CAAC0F,gBAAgB,MAAM,IAAI,IAAIR,8BAA8B,KAAK,KAAK,CAAC,IAAIA,8BAA8B,CAACM,IAAI,CAACxF,YAAY,EAAE,IAAI,CAAC;IAClL,CAAC,MAAM;MACN,IAAI4F,+BAA+B;MACnC5F,YAAY,CAACyF,WAAW,GAAG,CAAC;MAC5B,CAACG,+BAA+B,GAAG5F,YAAY,CAAC0F,gBAAgB,MAAM,IAAI,IAAIE,+BAA+B,KAAK,KAAK,CAAC,IAAIA,+BAA+B,CAACJ,IAAI,CAACxF,YAAY,EAAE,KAAK,CAAC;IACtL;EACD,CAAC,CAAC;EACF,IAAI6F,yBAAyB,GAAGzK,QAAQ,CAAC,UAASwJ,KAAK,EAAE;IACxDD,oBAAoB,CAACC,KAAK,CAAC;IAC3BV,cAAc,CAAC4B,QAAQ,CAAClB,KAAK,EAAE;MAAEmB,IAAI,EAAE;IAAS,CAAC,CAAC;EACnD,CAAC,CAAC;EACF,IAAIC,mBAAmB,GAAG5K,QAAQ,CAAC,YAAW;IAC7C,IAAIwJ,KAAK,GAAGV,cAAc,CAAC+B,QAAQ,CAAC,CAAC;IACrCtB,oBAAoB,CAACC,KAAK,CAAC;IAC3B,OAAOA,KAAK;EACb,CAAC,CAAC;EACF,SAASsB,UAAUA,CAAA,EAAG;IACrBhC,cAAc,CAACiC,IAAI,CAAC,CAAC;IACrB,IAAInG,YAAY,CAACoG,eAAe,EAAE;MACjCpG,YAAY,CAACoG,eAAe,CAAC,CAAC;MAC9BpG,YAAY,CAACoG,eAAe,GAAG,KAAK,CAAC;IACtC;EACD;EACA,IAAIC,SAAS,GAAGjL,QAAQ,CAAC,UAASkL,SAAS,EAAEC,iBAAiB,EAAE;IAC/D,IAAI/G,SAAS,KAAK,CAAC,EAAE;IACrB,IAAIgH,WAAW,GAAG1L,KAAK,GAAG2L,IAAI,CAACC,GAAG,CAACnE,aAAa,EAAEhG,oBAAoB,CAAC,CAAC,CAAC,GAAGgG,aAAa;IACzF,IAAIoE,OAAO,GAAGrG,QAAQ,IAAIgG,SAAS,KAAK,CAAC,CAAC,GAAGE,WAAW,GAAGpD,eAAe,CAACkD,SAAS,CAAC;IACrF,IAAInC,EAAE,CAAC1D,OAAO,KAAKkG,OAAO,EAAE;IAC5BxC,EAAE,CAAC1D,OAAO,GAAGkG,OAAO;IACpBT,UAAU,CAAC,CAAC;IACZ,IAAIU,eAAe,GAAGN,SAAS,KAAK,CAAC,CAAC,IAAI,CAAChG,QAAQ;IACnD,IAAIoE,oBAAoB,CAACjE,OAAO,EAAE;MACjCoG,YAAY,CAACnC,oBAAoB,CAACjE,OAAO,CAAC;MAC1CiE,oBAAoB,CAACjE,OAAO,GAAG,IAAI;IACpC;IACA,IAAIqG,yBAAyB,GAAG,SAAAA,CAAA,EAAW;MAC1C,IAAIC,+BAA+B;MACnC,IAAI5C,EAAE,CAAC1D,OAAO,KAAKkG,OAAO,EAAE;MAC5BhC,oBAAoB,CAACgC,OAAO,CAAC;MAC7B,IAAIjC,oBAAoB,CAACjE,OAAO,EAAE;QACjCoG,YAAY,CAACnC,oBAAoB,CAACjE,OAAO,CAAC;QAC1CiE,oBAAoB,CAACjE,OAAO,GAAG,IAAI;MACpC;MACA,IAAI,CAACmG,eAAe,IAAI,CAACrG,OAAO,CAACE,OAAO,EAAEuG,UAAU,CAAC,CAAC,CAAC;MACvD9H,mBAAmB,KAAK,IAAI,IAAIA,mBAAmB,KAAK,KAAK,CAAC,IAAIA,mBAAmB,CAAC;QAAEkB,IAAI,EAAEwG;MAAgB,CAAC,CAAC;MAChHvG,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC0G,+BAA+B,GAAG1G,UAAU,CAACnB,mBAAmB,KAAK,IAAI,IAAI6H,+BAA+B,CAACvB,IAAI,CAACnF,UAAU,EAAE;QAAED,IAAI,EAAEwG;MAAgB,CAAC,CAAC;IAC1M,CAAC;IACD,IAAI,CAACA,eAAe,EAAElC,oBAAoB,CAACjE,OAAO,GAAGwG,UAAU,CAAC,YAAW;MAC1EvC,oBAAoB,CAACjE,OAAO,GAAG,IAAI;MACnC,IAAI,CAACF,OAAO,CAACE,OAAO,EAAEuG,UAAU,CAAC,CAAC,CAAC;IACpC,CAAC,EAAE,GAAG,CAAC;IACP,IAAIzC,kBAAkB,CAAC9D,OAAO,EAAE;MAC/B8D,kBAAkB,CAAC9D,OAAO,GAAG,KAAK;MAClCyD,cAAc,CAAC4B,QAAQ,CAACa,OAAO,EAAE;QAChCZ,IAAI,EAAE,QAAQ;QACdmB,QAAQ,EAAE;MACX,CAAC,EAAEJ,yBAAyB,CAAC;MAC7B;IACD;IACA5C,cAAc,CAAC4B,QAAQ,CAACa,OAAO,EAAEJ,iBAAiB,IAAI;MACrDR,IAAI,EAAE,QAAQ;MACd,GAAGxH;IACJ,CAAC,EAAEuI,yBAAyB,CAAC;EAC9B,CAAC,CAAC;EACF/L,yBAAyB,CAAC,YAAW;IACpC,IAAIqJ,aAAa,IAAInE,UAAU,IAAIT,SAAS,EAAE;MAC7C2E,EAAE,CAAC1D,OAAO,GAAGR,UAAU;MACvBiE,cAAc,CAAC4B,QAAQ,CAAC7F,UAAU,EAAE;QACnC8F,IAAI,EAAE,QAAQ;QACdmB,QAAQ,EAAE;MACX,CAAC,EAAE,YAAW;QACbvC,oBAAoB,CAAC1E,UAAU,CAAC;QAChCgH,UAAU,CAAC,YAAW;UACrB3C,mBAAmB,CAAC,KAAK,CAAC;QAC3B,CAAC,EAAE,EAAE,CAAC;MACP,CAAC,CAAC;MACF;IACD;IACA,IAAID,gBAAgB,EAAE;IACtB,IAAIrB,aAAa,CAACvC,OAAO,EAAE;IAC3B,IAAI,CAACjB,SAAS,IAAI,CAACS,UAAU,IAAIK,QAAQ,IAAI8D,aAAa,IAAI,CAAChE,IAAI,EAAE;IACrEiG,SAAS,CAACvG,QAAQ,CAAC;IACnB,IAAIA,QAAQ,KAAK,CAAC,CAAC,EAAE;MACpBE,YAAY,CAACmH,UAAU,GAAG,KAAK;MAC/BnH,YAAY,CAACoH,YAAY,GAAG,CAAC,CAAC;IAC/B;IACA,IAAIhH,IAAI,IAAIN,QAAQ,IAAI,CAAC,EAAE;MAC1B,IAAIuH,aAAa,GAAGvH,QAAQ,KAAK,CAAC;MAClCE,YAAY,CAACgF,OAAO,GAAGqC,aAAa;MACpC,IAAIA,aAAa,EAAE;QAClB,IAAInC,8BAA8B;QAClClF,YAAY,CAACyF,WAAW,GAAG,KAAK,CAAC;QACjC,CAACP,8BAA8B,GAAGlF,YAAY,CAAC0F,gBAAgB,MAAM,IAAI,IAAIR,8BAA8B,KAAK,KAAK,CAAC,IAAIA,8BAA8B,CAACM,IAAI,CAACxF,YAAY,EAAE,IAAI,CAAC;MAClL,CAAC,MAAM;QACN,IAAIoF,+BAA+B;QACnCpF,YAAY,CAACyF,WAAW,GAAG,CAAC;QAC5B,CAACL,+BAA+B,GAAGpF,YAAY,CAAC0F,gBAAgB,MAAM,IAAI,IAAIN,+BAA+B,KAAK,KAAK,CAAC,IAAIA,+BAA+B,CAACI,IAAI,CAACxF,YAAY,EAAE,KAAK,CAAC;MACtL;IACD;EACD,CAAC,EAAE,CACFoE,aAAa,EACbC,gBAAgB,EAChB/D,QAAQ,EACRd,SAAS,EACTS,UAAU,EACVG,IAAI,EACJN,QAAQ,CACR,CAAC;EACF,IAAIwH,kBAAkB;EACtB,IAAIC,WAAW,GAAG,CAACD,kBAAkB,GAAGxJ,KAAK,CAACyJ,WAAW,MAAM,IAAI,IAAID,kBAAkB,KAAK,KAAK,CAAC,GAAGA,kBAAkB,GAAGjH,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,UAAU,CAACkH,WAAW;EAC1MlM,YAAY,CAAC,CAAC;EACd,IAAI,CAACmM,QAAQ,EAAEC,WAAW,CAAC,GAAGjM,KAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACnD,IAAIiM,YAAY,GAAGlM,KAAK,CAACkH,OAAO,CAAC,YAAW;IAC3C,IAAI6E,WAAW,EAAE;IACjB,IAAI,CAAC/H,SAAS,EAAE;IAChB,IAAI4B,mBAAmB,EAAE;IACzB,IAAI0D,IAAI,GAAG1B,eAAe,CAAC,CAAC,CAAC;IAC7BpD,YAAY,CAAC2H,QAAQ,GAAG7C,IAAI;IAC5B,IAAI8C,MAAM,GAAGzD,EAAE,CAAC1D,OAAO;IACvB,SAASoH,UAAUA,CAAC3E,GAAG,EAAE;MACxBD,aAAa,CAACC,GAAG,CAAC;IACnB;IACA,IAAI4E,OAAO,GAAG,SAAAA,CAASC,KAAK,EAAE;MAC7B,IAAI;QAAEC;MAAG,CAAC,GAAGD,KAAK;MAClB/H,YAAY,CAACiI,iBAAiB,CAAC,KAAK,CAAC;MACrC,IAAIjI,YAAY,CAACmH,UAAU,EAAE;MAC7Be,cAAc,GAAG,KAAK;MACtBC,mBAAmB,GAAG,KAAK;MAC3BN,UAAU,CAAC,KAAK,CAAC;MACjB,IAAIO,UAAU,GAAGjE,EAAE,CAAC1D,OAAO;MAC3B,IAAI4H,YAAY,GAAGhM,uBAAuB,CAAC;QAC1CoG,SAAS,EAAEW,eAAe;QAC1BkF,YAAY,EAAEF,UAAU,GAAG5I,SAAS,GAAGwI,EAAE,GAAG,EAAE;QAC9CO,eAAe,EAAEH,UAAU;QAC3B5I,SAAS;QACTE,qBAAqB;QACrBE,cAAc;QACdgC,iBAAiB;QACjB9G;MACD,CAAC,CAAC;MACFiF,WAAW,CAACsI,YAAY,CAAC;MACzBhC,SAAS,CAACgC,YAAY,CAAC;IACxB,CAAC;IACD,IAAIG,MAAM,GAAG,SAAAA,CAASC,EAAE,EAAEC,MAAM,EAAE;MACjCZ,OAAO,CAAC;QACPE,EAAE,EAAEU,MAAM,CAACV,EAAE;QACbW,MAAM,EAAED,MAAM,CAACE;MAChB,CAAC,CAAC;IACH,CAAC;IACD,IAAIT,mBAAmB,GAAG,KAAK;IAC/B,IAAIU,eAAe,GAAG,SAAAA,CAASC,CAAC,EAAEf,KAAK,EAAE;MACxC,IAAI;QAAEa;MAAG,CAAC,GAAGb,KAAK;MAClB,SAASgB,YAAYA,CAAA,EAAG;QACvB,IAAID,CAAC,CAACE,MAAM,KAAK1J,aAAa,CAAC2J,SAAS,CAACxI,OAAO,EAAE,OAAO,IAAI;QAC7D,IAAIT,YAAY,CAACkJ,iBAAiB,EAAE,OAAO,KAAK;QAChD,IAAIlJ,YAAY,CAACmJ,oBAAoB,KAAK,IAAI,EAAE;UAC/C,IAAInJ,YAAY,CAACmH,UAAU,EAAE,OAAO,KAAK;UACzC,IAAIiC,UAAU,GAAGpJ,YAAY,CAACqF,CAAC,KAAK,CAAC;UACrC,IAAIgE,YAAY,GAAGT,EAAE,GAAG,CAAC;UACzB,IAAIU,SAAS,GAAGtJ,YAAY,CAAC6E,KAAK,GAAG,CAAC,IAAI7E,YAAY,CAAC2H,QAAQ;UAC/D,IAAIyB,UAAU,EAAE,OAAO,KAAK;UAC5B,IAAIE,SAAS,EAAE;YACd,IAAI7E,aAAa,CAAChE,OAAO,IAAI4I,YAAY,EAAE,OAAO,KAAK;UACxD;QACD;QACA,OAAO5C,IAAI,CAAC8C,GAAG,CAACX,EAAE,CAAC,GAAG,EAAE;MACzB;MACA,IAAIY,OAAO,GAAGT,YAAY,CAAC,CAAC;MAC5B,IAAIS,OAAO,EAAExJ,YAAY,CAACiI,iBAAiB,CAAC,IAAI,CAAC;MACjD,OAAOuB,OAAO;IACf,CAAC;IACD,IAAIC,KAAK,GAAG,SAAAA,CAAA,EAAW;MACtB5B,UAAU,CAAC,IAAI,CAAC;MAChB3B,UAAU,CAAC,CAAC;MACZ0B,MAAM,GAAG5B,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IACD,IAAIkC,cAAc,GAAG,KAAK;IAC1BlI,YAAY,CAAC0J,YAAY,GAAG,YAAW;MACtCxB,cAAc,GAAG,IAAI;MACrBuB,KAAK,CAAC,CAAC;IACR,CAAC;IACDzJ,YAAY,CAAC2J,IAAI,GAAG,UAASf,EAAE,EAAE;MAChC,IAAI,CAACV,cAAc,EAAE;QACpBA,cAAc,GAAG,IAAI;QACrBuB,KAAK,CAAC,CAAC;MACR;MACA5D,yBAAyB,CAAC3J,QAAQ,CAAC0M,EAAE,GAAGhB,MAAM,EAAE9C,IAAI,CAAC,CAAC;IACvD,CAAC;IACD9E,YAAY,CAAC8H,OAAO,GAAGA,OAAO;IAC9B9H,YAAY,CAAC4J,cAAc,GAAG,UAASC,aAAa,EAAE;MACrD3B,cAAc,GAAG,KAAK;MACtBL,UAAU,CAAC,KAAK,CAAC;MACjB9H,WAAW,CAAC8J,aAAa,CAAC;MAC1BxD,SAAS,CAACwD,aAAa,CAAC;IACzB,CAAC;IACD,OAAOlO,YAAY,CAACmO,MAAM,CAAC;MAC1BC,2BAA2B,EAAElB,eAAe;MAC5CmB,gCAAgC,EAAE,SAAAA,CAAA,EAAW;QAC5C,OAAO,KAAK;MACb,CAAC;MACDC,mBAAmB,EAAER,KAAK;MAC1BS,kBAAkB,EAAE,SAAAA,CAASzB,EAAE,EAAEV,KAAK,EAAE;QACvC,IAAI;UAAEa;QAAG,CAAC,GAAGb,KAAK;QAClB,IAAIoC,EAAE,GAAGjO,QAAQ,CAAC0M,EAAE,GAAGhB,MAAM,EAAE9C,IAAI,CAAC;QACpC,IAAIqF,EAAE,IAAIrF,IAAI,EAAE9E,YAAY,CAACiI,iBAAiB,CAAC,KAAK,CAAC,CAAC,KACjDjI,YAAY,CAACiI,iBAAiB,CAAC,IAAI,CAAC;QACzCpC,yBAAyB,CAACsE,EAAE,CAAC;MAC9B,CAAC;MACDC,iBAAiB,EAAE5B,MAAM;MACzB6B,uBAAuB,EAAE7B,MAAM;MAC/B8B,qBAAqB,EAAE9B;IACxB,CAAC,CAAC;EACH,CAAC,EAAE,CACFjB,WAAW,EACXnG,mBAAmB,EACnBiF,SAAS,EACT7G,SAAS,EACT4D,eAAe,EACfrD,WAAW,EACXL,qBAAqB,EACrBE,cAAc,CACd,CAAC;EACFpE,KAAK,CAAC2G,SAAS,CAAC,YAAW;IAC1B,IAAIW,UAAU,IAAIxC,QAAQ,IAAI,CAACF,IAAI,IAAIiE,gBAAgB,EAAE;IACzD,IAAI,CAAC7E,SAAS,IAAI,CAACS,UAAU,EAAE;IAC/BoG,SAAS,CAACvG,QAAQ,EAAE;MACnBiG,IAAI,EAAE,QAAQ;MACdmB,QAAQ,EAAE;IACX,CAAC,CAAC;EACH,CAAC,EAAE,CAACtF,iBAAiB,EAAED,cAAc,CAAC,CAAC;EACvC,IAAI4I,WAAW,GAAG/O,KAAK,CAACgF,MAAM,CAAC,KAAK,CAAC;EACrChF,KAAK,CAAC2G,SAAS,CAAC,YAAW;IAC1B,IAAIW,UAAU,EAAE;MACfyH,WAAW,CAAC9J,OAAO,GAAG,IAAI;MAC1B;IACD;IACA,IAAI,CAAC8J,WAAW,CAAC9J,OAAO,EAAE;IAC1B8J,WAAW,CAAC9J,OAAO,GAAG,KAAK;IAC3B,IAAI,CAACjB,SAAS,IAAI,CAACS,UAAU,IAAIK,QAAQ,IAAI,CAACF,IAAI,EAAE;IACpDiG,SAAS,CAACvG,QAAQ,CAAC;EACpB,CAAC,EAAE,CAACgD,UAAU,CAAC,CAAC;EAChBtH,KAAK,CAAC2G,SAAS,CAAC,YAAW;IAC1B,IAAI,CAAC/B,IAAI,IAAIwB,iBAAiB,EAAE;MAC/BC,eAAe,CAAC,CAAC;MACjBC,oBAAoB,CAACrB,OAAO,GAAG,KAAK;MACpCsB,gBAAgB,CAAC,CAAC;IACnB;EACD,CAAC,EAAE,CAAC3B,IAAI,CAAC,CAAC;EACV,IAAI;IAAEoK,UAAU;IAAEC,aAAa;IAAEC;EAAsB,CAAC,GAAG9N,oBAAoB,CAAC;IAC/E6F,SAAS,EAAEW,eAAe;IAC1B5D,SAAS;IACTO,WAAW;IACXsG,SAAS;IACTH,UAAU;IACVlG,YAAY;IACZiD,aAAa;IACb0H,kBAAkB,EAAE3E,mBAAmB;IACvC9J,QAAQ;IACRqL,WAAW;IACXnG,mBAAmB;IACnBwJ,mBAAmB,EAAE/E,yBAAyB;IAC9CnG,qBAAqB;IACrBE,cAAc;IACdgC,iBAAiB;IACjBE;EACD,CAAC,CAAC;EACF,IAAI+I,uBAAuB,GAAGzP,QAAQ,CAAC,YAAW;IACjD,OAAON,KAAK,IAAI6D,oBAAoB,IAAIlC,0BAA0B,CAAC,CAAC,IAAIH,mBAAmB;EAC5F,CAAC,CAAC;EACF,IAAIwO,yBAAyB,GAAG1P,QAAQ,CAAC,UAAS0N,CAAC,EAAE;IACpD,IAAIiC,cAAc;IAClB,IAAI,CAAC3K,IAAI,IAAI8B,eAAe,CAACzB,OAAO,KAAK,CAAC,EAAE;IAC5C,IAAIuK,YAAY,GAAG,CAACD,cAAc,GAAGjC,CAAC,CAACmC,WAAW,MAAM,IAAI,IAAIF,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACG,MAAM,CAAC7N,MAAM;IACjI,IAAIwN,uBAAuB,CAAC,CAAC,IAAIrL,SAAS,GAAG,CAAC,EAAE;IAChD,IAAI2L,IAAI,GAAG1M,KAAK,GAAGgI,IAAI,CAAC2E,GAAG,CAACJ,YAAY,EAAExN,uBAAuB,CAAC,CAAC,CAAC,GAAGwN,YAAY;IACnF,IAAI,CAACG,IAAI,EAAE;IACX1L,YAAY,CAACgH,IAAI,CAAC4E,KAAK,CAACF,IAAI,CAAC,CAAC;EAC/B,CAAC,CAAC;EACF,IAAIG,0BAA0B,GAAG9P,KAAK,CAACiG,WAAW,CAAC,UAASqH,CAAC,EAAE;IAC9D,IAAIiC,cAAc;IAClB,IAAIF,uBAAuB,CAAC,CAAC,IAAI5K,UAAU,GAAG,CAAC,EAAE;IACjD,IAAIkL,IAAI,GAAG1E,IAAI,CAAC2E,GAAG,CAAC,CAACL,cAAc,GAAGjC,CAAC,CAACmC,WAAW,MAAM,IAAI,IAAIF,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACG,MAAM,CAAC7N,MAAM,EAAEG,uBAAuB,CAAC,CAAC,CAAC;IAC9J,IAAI,CAAC2N,IAAI,EAAE;IACXjL,iBAAiB,CAACuG,IAAI,CAAC4E,KAAK,CAACF,IAAI,CAAC,CAAC;EACpC,CAAC,EAAE,CAACN,uBAAuB,EAAE5K,UAAU,CAAC,CAAC;EACzC,IAAIsL,aAAa,GAAG1H,sBAAsB,CAACK,cAAc,EAAE1I,KAAK,CAACiG,WAAW,CAAC,UAASyB,GAAG,EAAE;IAC1F,SAAS;;IACT,OAAO;MAAEsI,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAEjM,SAAS,KAAK,CAAC,GAAGtC,UAAU,GAAGgG;MAAI,CAAC;IAAE,CAAC;EAC3E,CAAC,EAAE,CAAC1D,SAAS,CAAC,CAAC,CAAC;EAChB,IAAI,CAACkM,OAAO,EAAE1E,UAAU,CAAC,GAAGxL,KAAK,CAACC,QAAQ,CAAC2E,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;EACxD,IAAIA,IAAI,IAAIsL,OAAO,KAAK,CAAC,EAAE;IAC1B1E,UAAU,CAAC,CAAC,CAAC;IACb,IAAItC,oBAAoB,CAACjE,OAAO,EAAE;MACjCoG,YAAY,CAACnC,oBAAoB,CAACjE,OAAO,CAAC;MAC1CiE,oBAAoB,CAACjE,OAAO,GAAG,IAAI;IACpC;EACD;EACA,IAAIkL,mBAAmB,GAAG9L,MAAM,GAAG,KAAK,CAAC,GAAGD,cAAc,KAAK,SAAS,GAAG,GAAGO,YAAY,GAAGrF,KAAK,GAAG2D,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG0B,YAAY;EAC/I,IAAIyL,gBAAgB,GAAGpQ,KAAK,CAACiG,WAAW,CAAC,UAASyB,GAAG,EAAE;IACtDuB,aAAa,CAAChE,OAAO,GAAGyC,GAAG;EAC5B,CAAC,EAAE,EAAE,CAAC;EACN,IAAI2I,QAAQ,GAAG,eAAgBrR,GAAG,CAACQ,2BAA2B,EAAE;IAC/D8Q,OAAO,EAAE,CAAC1L,IAAI;IACd2L,QAAQ,EAAE,eAAgBvR,GAAG,CAACqB,kBAAkB,CAACmQ,QAAQ,EAAE;MAC1DpH,KAAK,EAAEZ,iBAAiB;MACxB+H,QAAQ,EAAE,eAAgBvR,GAAG,CAACmC,aAAa,EAAE;QAC5C,GAAG2C,aAAa;QAChBoE,sBAAsB;QACtB9B,iBAAiB;QACjB+B,yBAAyB;QACzBiI,gBAAgB;QAChBG,QAAQ,EAAE,eAAgBtR,IAAI,CAACwB,oBAAoB,EAAE;UACpD6G,UAAU;UACV0E,QAAQ;UACRC,WAAW;UACX+C,UAAU;UACVC,aAAa;UACbsB,QAAQ,EAAE,CACT,eAAgBvR,GAAG,CAACI,eAAe,EAAE;YACpCqR,MAAM,EAAE;cAAE7L;YAAK,CAAC;YAChB2L,QAAQ,EAAEzK,qBAAqB,IAAI,CAAClB,IAAI,GAAG,IAAI,GAAGhB;UACnD,CAAC,CAAC,EACFQ,cAAc,KAAK,SAAS,IAAI,eAAgBpF,GAAG,CAACoB,MAAM,EAAE;YAC3DsQ,KAAK,EAAE;cACNR,OAAO,EAAE,CAAC;cACV5L,QAAQ,EAAE,UAAU;cACpBzB,GAAG,EAAE,CAAC;cACN8N,IAAI,EAAE,CAAC;cACPC,KAAK,EAAE,CAAC;cACRC,MAAM,EAAE,CAAC;cACTC,aAAa,EAAE;YAChB,CAAC;YACDC,QAAQ,EAAEjB;UACX,CAAC,CAAC,EACF,eAAgB9Q,GAAG,CAACuJ,YAAY,EAAE;YACjCrD,GAAG;YACH6L,QAAQ,EAAEzB,yBAAyB;YACnCxM,UAAU,EAAEwE,UAAU,IAAIuB,gBAAgB,GAAG,IAAI,GAAG/F,UAAU;YAC9DkO,gBAAgB,EAAE,IAAI;YACtBN,KAAK,EAAE,CAAC;cACPpM,QAAQ,EAAE,UAAU;cACpBpB,MAAM;cACNtB,KAAK,EAAE,MAAM;cACbC,MAAM,EAAEsO,mBAAmB;cAC3Bc,SAAS,EAAEd,mBAAmB;cAC9BD,OAAO,EAAEpK,qBAAqB,GAAG,CAAC,GAAGzC,uBAAuB,GAAG,CAAC,GAAG6M,OAAO;cAC1E,IAAG,CAACpK,qBAAqB,IAAI,CAAClB,IAAI,KAAK;gBAAEkM,aAAa,EAAE;cAAO,CAAC;YACjE,CAAC,EAAEf,aAAa,CAAC;YACjBQ,QAAQ,EAAErB,qBAAqB,IAAIF,UAAU,GAAG,eAAgBhQ,GAAG,CAACuB,sBAAsB,EAAE;cAC3F2Q,OAAO,EAAElC,UAAU;cACnB0B,KAAK,EAAE;gBAAES,IAAI,EAAE;cAAE,CAAC;cAClBZ,QAAQ,EAAEjO,KAAK,CAACiO;YACjB,CAAC,CAAC,GAAG,eAAgBvR,GAAG,CAACoB,MAAM,EAAE;cAChC,IAAG8L,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACkF,WAAW;cACvFV,KAAK,EAAE;gBACNS,IAAI,EAAE,CAAC;gBACPvP,KAAK,EAAE,MAAM;gBACbC,MAAM,EAAE;cACT,CAAC;cACD0O,QAAQ,EAAEjO,KAAK,CAACiO;YACjB,CAAC;UACF,CAAC,CAAC;QAEJ,CAAC;MACF,CAAC;IACF,CAAC;EACF,CAAC,CAAC;EACF,IAAIxQ,wBAAwB,CAAC,CAAC,EAAEsQ,QAAQ,GAAG,eAAgBrR,GAAG,CAACE,mBAAmB,EAAE;IACnF,GAAGC,eAAe,CAAC,CAAC;IACpBoR,QAAQ,EAAE,eAAgBvR,GAAG,CAACsC,qBAAqB,CAACkP,QAAQ,EAAE;MAC7DpH,KAAK,EAAE1G,cAAc;MACrB6N,QAAQ,EAAEF;IACX,CAAC;EACF,CAAC,CAAC;EACF,IAAIgB,mBAAmB,GAAGjO,yBAAyB,GAAG,CAAC,CAAC8M,OAAO,GAAG,IAAI;EACtE,IAAIjN,KAAK,EAAE;IACV,IAAIqO,QAAQ,GAAG9Q,sBAAsB,CAAC,CAAC,CAAC+Q,QAAQ;IAChD,IAAIC,eAAe,GAAGH,mBAAmB,GAAG,eAAgBrS,GAAG,CAACwE,kBAAkB,EAAE;MAAE+M,QAAQ,EAAEF;IAAS,CAAC,CAAC,GAAG,IAAI;IAClH,IAAIoB,aAAa,GAAG,eAAgBzS,GAAG,CAACc,MAAM,EAAE;MAC/C4R,WAAW,EAAExO,MAAM;MACnB,GAAGI,WAAW;MACdiN,QAAQ,EAAEiB,eAAe,IAAIF,QAAQ,GAAG,eAAgBtS,GAAG,CAACsS,QAAQ,EAAE;QACrEZ,KAAK,EAAE9L,IAAI,GAAGjD,iBAAiB,GAAGG,mBAAmB;QACrDyO,QAAQ,EAAEiB;MACX,CAAC,CAAC,GAAGA;IACN,CAAC,CAAC;IACF,IAAIlS,KAAK,EAAE,OAAOmS,aAAa;IAC/B,OAAO,eAAgBzS,GAAG,CAACsB,uBAAuB,CAACkQ,QAAQ,EAAE;MAC5DpH,KAAK,EAAEpD,YAAY;MACnBuK,QAAQ,EAAEkB;IACX,CAAC,CAAC;EACH;EACA,OAAOpB,QAAQ;AAChB,CAAC,CAAC;AACF,SAAShJ,aAAaA,CAACsK,IAAI,EAAEvK,KAAK,EAAE3C,UAAU,EAAET,SAAS,EAAE;EAC1D,IAAI,CAACS,UAAU,IAAI,CAACT,SAAS,EAAE,OAAO,CAAC;EACvC,IAAI2N,IAAI,KAAK,OAAO,EAAE;IACrB,IAAI,OAAOvK,KAAK,KAAK,QAAQ,EAAE,OAAO3C,UAAU,GAAGwG,IAAI,CAAC2E,GAAG,CAACnL,UAAU,EAAEwG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE9D,KAAK,CAAC,CAAC;IAC3F,IAAIA,KAAK,KAAK,KAAK,EAAE,OAAO3C,UAAU,GAAGwG,IAAI,CAAC2E,GAAG,CAACnL,UAAU,EAAET,SAAS,CAAC;IACxE,IAAIoD,KAAK,CAACwK,QAAQ,CAAC,GAAG,CAAC,EAAE;MACxB,IAAIC,GAAG,GAAG5G,IAAI,CAAC2E,GAAG,CAAC,GAAG,EAAE3E,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE4G,MAAM,CAAC1K,KAAK,CAAC2K,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;MACtE,IAAID,MAAM,CAACE,KAAK,CAACH,GAAG,CAAC,EAAE;QACtBI,OAAO,CAACC,IAAI,CAAC,qCAAqC,CAAC;QACnD,OAAO,CAAC;MACT;MACA,OAAOjH,IAAI,CAAC4E,KAAK,CAACpL,UAAU,GAAGoN,GAAG,GAAGpN,UAAU,CAAC;IACjD;IACAwN,OAAO,CAACC,IAAI,CAAC,iCAAiC,CAAC;IAC/C,OAAO,CAAC;EACT;EACA,IAAIP,IAAI,KAAK,KAAK,EAAE;IACnB,IAAIvK,KAAK,KAAK,CAAC,EAAE,OAAO3C,UAAU;IAClC,OAAOA,UAAU,GAAGwG,IAAI,CAAC2E,GAAG,CAACnL,UAAU,EAAET,SAAS,CAAC;EACpD;EACA,IAAI2N,IAAI,KAAK,UAAU,IAAI,OAAOvK,KAAK,KAAK,QAAQ,EAAE,OAAO3C,UAAU,GAAGwG,IAAI,CAAC2E,GAAG,CAACnL,UAAU,EAAEwG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE9D,KAAK,CAAC,CAAC;EAClH,IAAI+K,IAAI,GAAGlH,IAAI,CAAC2E,GAAG,CAAC,GAAG,EAAE3E,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE4G,MAAM,CAAC1K,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG;EAC1D,IAAI0K,MAAM,CAACE,KAAK,CAACG,IAAI,CAAC,EAAE;IACvBF,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC;IAC5C,OAAO,CAAC;EACT;EACA,OAAOjH,IAAI,CAAC4E,KAAK,CAACpL,UAAU,GAAG0N,IAAI,GAAG1N,UAAU,CAAC;AAClD;AAEA,SAAStC,yBAAyB","ignoreList":[]}
1
+ {"version":3,"file":"SheetImplementationCustom.native.js","names":[],"sources":["esm/SheetImplementationCustom.native.js"],"sourcesContent":["import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { ProvideAdaptContext, useAdaptContext } from \"@tamagui/adapt\";\nimport { AnimatePresence } from \"@tamagui/animate-presence\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { LayoutMeasurementController, View, createRefComponent, formatDiagnostic, useAnimatedNumber, useAnimatedNumberStyle, useAnimationDriver, useDidFinishSSR, useEvent, useThemeName } from \"@tamagui/core\";\nimport { Portal, needsPortalRepropagation } from \"@tamagui/portal\";\nimport React, { useState } from \"react\";\nimport { Dimensions, PanResponder, View as View$1 } from \"react-native\";\nimport { ParentSheetContext, SheetInsideSheetContext } from \"./contexts\";\nimport { SHEET_OVERLAY_MARKER } from \"./constants\";\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 { SheetAnimatedPositionContext, SheetOverlayLayerContext, 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 sheetEscapeLayers = [];\nvar relativeDimensionTo = isWeb ? \"window\" : \"screen\";\nfunction getStableViewportHeight() {\n\tif (isWeb && typeof window !== \"undefined\") return getStableLayoutViewportHeight();\n\treturn Dimensions.get(relativeDimensionTo).height;\n}\nvar SheetImplementationCustom = createRefComponent(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, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = React.Fragment, onTransition } = props;\n\tvar state = useSheetOpenState(props);\n\tvar providerProps = 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 = React.useRef(open);\n\topenRef.current = open;\n\tvar ref = useComposedRefs(forwardedRef, React.useRef(void 0), providerProps.contentRef);\n\tvar animationDriver = 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] = 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 _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 lastPositionIndexRef = React.useRef(-1);\n\tvar pendingTransitionRef = React.useRef(null);\n\tvar emitTransition = 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 = 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 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\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\tReact.useEffect(function() {\n\t\tif (!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 } = 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 [isFullyClosed, setIsFullyClosed] = React.useState(false);\n\tif (open && isFullyClosed) setIsFullyClosed(false);\n\tvar hasEverOpened = React.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}${isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tvar setHasScrollView = React.useCallback(function(val) {\n\t\thasScrollView.current = val;\n\t}, []);\n\tvar animatedPositionValue = React.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 } = React.useMemo(function() {\n\t\treturn partitionSheetChildren(props.children);\n\t}, [props.children]);\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__ */ jsx(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__ */ jsxs(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__ */ jsx(SheetOverlayLayerContext.Provider, {\n\t\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ jsx(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__ */ jsx(View$1, {\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__ */ 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__ */ jsx(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__ */ jsx(View$1, {\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 (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 ? !isFullyClosed : 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\thidden: !isVisuallyActive,\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 isSheetOverlayComponent(type) {\n\tvar staticConfig = type === null || type === void 0 ? void 0 : type.staticConfig;\n\twhile (staticConfig) {\n\t\tif (staticConfig[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\tReact.Children.forEach(children, function(child) {\n\t\tif (!/* @__PURE__ */ React.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(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(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(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\nexport { SheetImplementationCustom, isSheetOverlayComponent };"],"mappings":"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"}