@hanzogui/sheet 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/LICENSE +21 -0
  2. package/controller/index.cjs +2 -0
  3. package/controller/index.d.ts +5 -0
  4. package/controller/index.js +2 -0
  5. package/controller/index.native.cjs +2 -0
  6. package/controller/index.native.js +2 -0
  7. package/dist/cjs/GestureDetectorWrapper.cjs +48 -0
  8. package/dist/cjs/GestureDetectorWrapper.native.js +53 -0
  9. package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -0
  10. package/dist/cjs/GestureSheetContext.cjs +52 -0
  11. package/dist/cjs/GestureSheetContext.native.js +56 -0
  12. package/dist/cjs/GestureSheetContext.native.js.map +1 -0
  13. package/dist/cjs/Sheet.cjs +117 -0
  14. package/dist/cjs/Sheet.native.js +120 -0
  15. package/dist/cjs/Sheet.native.js.map +1 -0
  16. package/dist/cjs/SheetContext.cjs +32 -0
  17. package/dist/cjs/SheetContext.native.js +35 -0
  18. package/dist/cjs/SheetContext.native.js.map +1 -0
  19. package/dist/cjs/SheetController.cjs +65 -0
  20. package/dist/cjs/SheetController.native.js +71 -0
  21. package/dist/cjs/SheetController.native.js.map +1 -0
  22. package/dist/cjs/SheetImplementationCustom.cjs +472 -0
  23. package/dist/cjs/SheetImplementationCustom.native.js +524 -0
  24. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -0
  25. package/dist/cjs/SheetScrollView.cjs +180 -0
  26. package/dist/cjs/SheetScrollView.native.js +197 -0
  27. package/dist/cjs/SheetScrollView.native.js.map +1 -0
  28. package/dist/cjs/constants.cjs +32 -0
  29. package/dist/cjs/constants.native.js +35 -0
  30. package/dist/cjs/constants.native.js.map +1 -0
  31. package/dist/cjs/contexts.cjs +42 -0
  32. package/dist/cjs/contexts.native.js +45 -0
  33. package/dist/cjs/contexts.native.js.map +1 -0
  34. package/dist/cjs/controller.cjs +29 -0
  35. package/dist/cjs/controller.native.js +32 -0
  36. package/dist/cjs/controller.native.js.map +1 -0
  37. package/dist/cjs/createSheet.cjs +191 -0
  38. package/dist/cjs/createSheet.native.js +208 -0
  39. package/dist/cjs/createSheet.native.js.map +1 -0
  40. package/dist/cjs/gestureState.cjs +39 -0
  41. package/dist/cjs/gestureState.native.js +42 -0
  42. package/dist/cjs/gestureState.native.js.map +1 -0
  43. package/dist/cjs/helpers.cjs +31 -0
  44. package/dist/cjs/helpers.native.js +35 -0
  45. package/dist/cjs/helpers.native.js.map +1 -0
  46. package/dist/cjs/index.cjs +28 -0
  47. package/dist/cjs/index.native.js +31 -0
  48. package/dist/cjs/index.native.js.map +1 -0
  49. package/dist/cjs/nativeSheet.cjs +87 -0
  50. package/dist/cjs/nativeSheet.native.js +101 -0
  51. package/dist/cjs/nativeSheet.native.js.map +1 -0
  52. package/dist/cjs/setupGestureHandler.cjs +46 -0
  53. package/dist/cjs/setupGestureHandler.native.js +50 -0
  54. package/dist/cjs/setupGestureHandler.native.js.map +1 -0
  55. package/dist/cjs/types.cjs +16 -0
  56. package/dist/cjs/types.native.js +19 -0
  57. package/dist/cjs/types.native.js.map +1 -0
  58. package/dist/cjs/useGestureHandlerPan.cjs +136 -0
  59. package/dist/cjs/useGestureHandlerPan.native.js +145 -0
  60. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -0
  61. package/dist/cjs/useKeyboardControllerSheet.cjs +38 -0
  62. package/dist/cjs/useKeyboardControllerSheet.native.js +114 -0
  63. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -0
  64. package/dist/cjs/useSheet.cjs +27 -0
  65. package/dist/cjs/useSheet.native.js +32 -0
  66. package/dist/cjs/useSheet.native.js.map +1 -0
  67. package/dist/cjs/useSheetController.cjs +50 -0
  68. package/dist/cjs/useSheetController.native.js +53 -0
  69. package/dist/cjs/useSheetController.native.js.map +1 -0
  70. package/dist/cjs/useSheetOffscreenSize.cjs +51 -0
  71. package/dist/cjs/useSheetOffscreenSize.native.js +61 -0
  72. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -0
  73. package/dist/cjs/useSheetOpenState.cjs +49 -0
  74. package/dist/cjs/useSheetOpenState.native.js +56 -0
  75. package/dist/cjs/useSheetOpenState.native.js.map +1 -0
  76. package/dist/cjs/useSheetProviderProps.cjs +133 -0
  77. package/dist/cjs/useSheetProviderProps.native.js +153 -0
  78. package/dist/cjs/useSheetProviderProps.native.js.map +1 -0
  79. package/dist/cjs/useSheetScrollViewGestures.cjs +123 -0
  80. package/dist/cjs/useSheetScrollViewGestures.native.js +110 -0
  81. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -0
  82. package/dist/esm/GestureDetectorWrapper.mjs +25 -0
  83. package/dist/esm/GestureDetectorWrapper.mjs.map +1 -0
  84. package/dist/esm/GestureDetectorWrapper.native.js +27 -0
  85. package/dist/esm/GestureDetectorWrapper.native.js.map +1 -0
  86. package/dist/esm/GestureSheetContext.mjs +28 -0
  87. package/dist/esm/GestureSheetContext.mjs.map +1 -0
  88. package/dist/esm/GestureSheetContext.native.js +29 -0
  89. package/dist/esm/GestureSheetContext.native.js.map +1 -0
  90. package/dist/esm/Sheet.mjs +89 -0
  91. package/dist/esm/Sheet.mjs.map +1 -0
  92. package/dist/esm/Sheet.native.js +89 -0
  93. package/dist/esm/Sheet.native.js.map +1 -0
  94. package/dist/esm/SheetContext.mjs +6 -0
  95. package/dist/esm/SheetContext.mjs.map +1 -0
  96. package/dist/esm/SheetContext.native.js +6 -0
  97. package/dist/esm/SheetContext.native.js.map +1 -0
  98. package/dist/esm/SheetController.mjs +31 -0
  99. package/dist/esm/SheetController.mjs.map +1 -0
  100. package/dist/esm/SheetController.native.js +34 -0
  101. package/dist/esm/SheetController.native.js.map +1 -0
  102. package/dist/esm/SheetImplementationCustom.mjs +437 -0
  103. package/dist/esm/SheetImplementationCustom.mjs.map +1 -0
  104. package/dist/esm/SheetImplementationCustom.native.js +487 -0
  105. package/dist/esm/SheetImplementationCustom.native.js.map +1 -0
  106. package/dist/esm/SheetScrollView.mjs +146 -0
  107. package/dist/esm/SheetScrollView.mjs.map +1 -0
  108. package/dist/esm/SheetScrollView.native.js +160 -0
  109. package/dist/esm/SheetScrollView.native.js.map +1 -0
  110. package/dist/esm/constants.mjs +6 -0
  111. package/dist/esm/constants.mjs.map +1 -0
  112. package/dist/esm/constants.native.js +6 -0
  113. package/dist/esm/constants.native.js.map +1 -0
  114. package/dist/esm/contexts.mjs +7 -0
  115. package/dist/esm/contexts.mjs.map +1 -0
  116. package/dist/esm/contexts.native.js +7 -0
  117. package/dist/esm/contexts.native.js.map +1 -0
  118. package/dist/esm/controller.mjs +4 -0
  119. package/dist/esm/controller.mjs.map +1 -0
  120. package/dist/esm/controller.native.js +4 -0
  121. package/dist/esm/controller.native.js.map +1 -0
  122. package/dist/esm/createSheet.mjs +168 -0
  123. package/dist/esm/createSheet.mjs.map +1 -0
  124. package/dist/esm/createSheet.native.js +182 -0
  125. package/dist/esm/createSheet.native.js.map +1 -0
  126. package/dist/esm/gestureState.mjs +13 -0
  127. package/dist/esm/gestureState.mjs.map +1 -0
  128. package/dist/esm/gestureState.native.js +13 -0
  129. package/dist/esm/gestureState.native.js.map +1 -0
  130. package/dist/esm/helpers.mjs +8 -0
  131. package/dist/esm/helpers.mjs.map +1 -0
  132. package/dist/esm/helpers.native.js +9 -0
  133. package/dist/esm/helpers.native.js.map +1 -0
  134. package/dist/esm/index.js +12 -0
  135. package/dist/esm/index.js.map +1 -0
  136. package/dist/esm/index.mjs +12 -0
  137. package/dist/esm/index.mjs.map +1 -0
  138. package/dist/esm/index.native.js +12 -0
  139. package/dist/esm/index.native.js.map +1 -0
  140. package/dist/esm/nativeSheet.mjs +63 -0
  141. package/dist/esm/nativeSheet.mjs.map +1 -0
  142. package/dist/esm/nativeSheet.native.js +74 -0
  143. package/dist/esm/nativeSheet.native.js.map +1 -0
  144. package/dist/esm/setupGestureHandler.mjs +22 -0
  145. package/dist/esm/setupGestureHandler.mjs.map +1 -0
  146. package/dist/esm/setupGestureHandler.native.js +23 -0
  147. package/dist/esm/setupGestureHandler.native.js.map +1 -0
  148. package/dist/esm/types.mjs +2 -0
  149. package/dist/esm/types.mjs.map +1 -0
  150. package/dist/esm/types.native.js +2 -0
  151. package/dist/esm/types.native.js.map +1 -0
  152. package/dist/esm/useGestureHandlerPan.mjs +113 -0
  153. package/dist/esm/useGestureHandlerPan.mjs.map +1 -0
  154. package/dist/esm/useGestureHandlerPan.native.js +119 -0
  155. package/dist/esm/useGestureHandlerPan.native.js.map +1 -0
  156. package/dist/esm/useKeyboardControllerSheet.mjs +15 -0
  157. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -0
  158. package/dist/esm/useKeyboardControllerSheet.native.js +88 -0
  159. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -0
  160. package/dist/esm/useSheet.mjs +4 -0
  161. package/dist/esm/useSheet.mjs.map +1 -0
  162. package/dist/esm/useSheet.native.js +6 -0
  163. package/dist/esm/useSheet.native.js.map +1 -0
  164. package/dist/esm/useSheetController.mjs +15 -0
  165. package/dist/esm/useSheetController.mjs.map +1 -0
  166. package/dist/esm/useSheetController.native.js +15 -0
  167. package/dist/esm/useSheetController.native.js.map +1 -0
  168. package/dist/esm/useSheetOffscreenSize.mjs +28 -0
  169. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -0
  170. package/dist/esm/useSheetOffscreenSize.native.js +35 -0
  171. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -0
  172. package/dist/esm/useSheetOpenState.mjs +26 -0
  173. package/dist/esm/useSheetOpenState.mjs.map +1 -0
  174. package/dist/esm/useSheetOpenState.native.js +30 -0
  175. package/dist/esm/useSheetOpenState.native.js.map +1 -0
  176. package/dist/esm/useSheetProviderProps.mjs +99 -0
  177. package/dist/esm/useSheetProviderProps.mjs.map +1 -0
  178. package/dist/esm/useSheetProviderProps.native.js +116 -0
  179. package/dist/esm/useSheetProviderProps.native.js.map +1 -0
  180. package/dist/esm/useSheetScrollViewGestures.mjs +100 -0
  181. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -0
  182. package/dist/esm/useSheetScrollViewGestures.native.js +84 -0
  183. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -0
  184. package/dist/jsx/GestureDetectorWrapper.mjs +25 -0
  185. package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -0
  186. package/dist/jsx/GestureDetectorWrapper.native.js +53 -0
  187. package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -0
  188. package/dist/jsx/GestureSheetContext.mjs +28 -0
  189. package/dist/jsx/GestureSheetContext.mjs.map +1 -0
  190. package/dist/jsx/GestureSheetContext.native.js +56 -0
  191. package/dist/jsx/GestureSheetContext.native.js.map +1 -0
  192. package/dist/jsx/Sheet.mjs +89 -0
  193. package/dist/jsx/Sheet.mjs.map +1 -0
  194. package/dist/jsx/Sheet.native.js +120 -0
  195. package/dist/jsx/Sheet.native.js.map +1 -0
  196. package/dist/jsx/SheetContext.mjs +6 -0
  197. package/dist/jsx/SheetContext.mjs.map +1 -0
  198. package/dist/jsx/SheetContext.native.js +35 -0
  199. package/dist/jsx/SheetContext.native.js.map +1 -0
  200. package/dist/jsx/SheetController.mjs +31 -0
  201. package/dist/jsx/SheetController.mjs.map +1 -0
  202. package/dist/jsx/SheetController.native.js +71 -0
  203. package/dist/jsx/SheetController.native.js.map +1 -0
  204. package/dist/jsx/SheetImplementationCustom.mjs +437 -0
  205. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -0
  206. package/dist/jsx/SheetImplementationCustom.native.js +524 -0
  207. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -0
  208. package/dist/jsx/SheetScrollView.mjs +146 -0
  209. package/dist/jsx/SheetScrollView.mjs.map +1 -0
  210. package/dist/jsx/SheetScrollView.native.js +197 -0
  211. package/dist/jsx/SheetScrollView.native.js.map +1 -0
  212. package/dist/jsx/constants.mjs +6 -0
  213. package/dist/jsx/constants.mjs.map +1 -0
  214. package/dist/jsx/constants.native.js +35 -0
  215. package/dist/jsx/constants.native.js.map +1 -0
  216. package/dist/jsx/contexts.mjs +7 -0
  217. package/dist/jsx/contexts.mjs.map +1 -0
  218. package/dist/jsx/contexts.native.js +45 -0
  219. package/dist/jsx/contexts.native.js.map +1 -0
  220. package/dist/jsx/controller.mjs +4 -0
  221. package/dist/jsx/controller.mjs.map +1 -0
  222. package/dist/jsx/controller.native.js +32 -0
  223. package/dist/jsx/controller.native.js.map +1 -0
  224. package/dist/jsx/createSheet.mjs +168 -0
  225. package/dist/jsx/createSheet.mjs.map +1 -0
  226. package/dist/jsx/createSheet.native.js +208 -0
  227. package/dist/jsx/createSheet.native.js.map +1 -0
  228. package/dist/jsx/gestureState.mjs +13 -0
  229. package/dist/jsx/gestureState.mjs.map +1 -0
  230. package/dist/jsx/gestureState.native.js +42 -0
  231. package/dist/jsx/gestureState.native.js.map +1 -0
  232. package/dist/jsx/helpers.mjs +8 -0
  233. package/dist/jsx/helpers.mjs.map +1 -0
  234. package/dist/jsx/helpers.native.js +35 -0
  235. package/dist/jsx/helpers.native.js.map +1 -0
  236. package/dist/jsx/index.js +12 -0
  237. package/dist/jsx/index.js.map +1 -0
  238. package/dist/jsx/index.mjs +12 -0
  239. package/dist/jsx/index.mjs.map +1 -0
  240. package/dist/jsx/index.native.js +31 -0
  241. package/dist/jsx/index.native.js.map +1 -0
  242. package/dist/jsx/nativeSheet.mjs +63 -0
  243. package/dist/jsx/nativeSheet.mjs.map +1 -0
  244. package/dist/jsx/nativeSheet.native.js +101 -0
  245. package/dist/jsx/nativeSheet.native.js.map +1 -0
  246. package/dist/jsx/setupGestureHandler.mjs +22 -0
  247. package/dist/jsx/setupGestureHandler.mjs.map +1 -0
  248. package/dist/jsx/setupGestureHandler.native.js +50 -0
  249. package/dist/jsx/setupGestureHandler.native.js.map +1 -0
  250. package/dist/jsx/types.mjs +2 -0
  251. package/dist/jsx/types.mjs.map +1 -0
  252. package/dist/jsx/types.native.js +19 -0
  253. package/dist/jsx/types.native.js.map +1 -0
  254. package/dist/jsx/useGestureHandlerPan.mjs +113 -0
  255. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -0
  256. package/dist/jsx/useGestureHandlerPan.native.js +145 -0
  257. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -0
  258. package/dist/jsx/useKeyboardControllerSheet.mjs +15 -0
  259. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -0
  260. package/dist/jsx/useKeyboardControllerSheet.native.js +114 -0
  261. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -0
  262. package/dist/jsx/useSheet.mjs +4 -0
  263. package/dist/jsx/useSheet.mjs.map +1 -0
  264. package/dist/jsx/useSheet.native.js +32 -0
  265. package/dist/jsx/useSheet.native.js.map +1 -0
  266. package/dist/jsx/useSheetController.mjs +15 -0
  267. package/dist/jsx/useSheetController.mjs.map +1 -0
  268. package/dist/jsx/useSheetController.native.js +53 -0
  269. package/dist/jsx/useSheetController.native.js.map +1 -0
  270. package/dist/jsx/useSheetOffscreenSize.mjs +28 -0
  271. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -0
  272. package/dist/jsx/useSheetOffscreenSize.native.js +61 -0
  273. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -0
  274. package/dist/jsx/useSheetOpenState.mjs +26 -0
  275. package/dist/jsx/useSheetOpenState.mjs.map +1 -0
  276. package/dist/jsx/useSheetOpenState.native.js +56 -0
  277. package/dist/jsx/useSheetOpenState.native.js.map +1 -0
  278. package/dist/jsx/useSheetProviderProps.mjs +99 -0
  279. package/dist/jsx/useSheetProviderProps.mjs.map +1 -0
  280. package/dist/jsx/useSheetProviderProps.native.js +153 -0
  281. package/dist/jsx/useSheetProviderProps.native.js.map +1 -0
  282. package/dist/jsx/useSheetScrollViewGestures.mjs +100 -0
  283. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -0
  284. package/dist/jsx/useSheetScrollViewGestures.native.js +110 -0
  285. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -0
  286. package/next.md +78 -0
  287. package/package.json +96 -0
  288. package/setup-gesture-handler/index.cjs +2 -0
  289. package/setup-gesture-handler/index.js +2 -0
  290. package/setup-gesture-handler/index.native.cjs +2 -0
  291. package/setup-gesture-handler/index.native.js +2 -0
  292. package/setup-gesture-handler.cjs +1 -0
  293. package/src/GestureDetectorWrapper.tsx +41 -0
  294. package/src/GestureSheetContext.tsx +62 -0
  295. package/src/Sheet.tsx +114 -0
  296. package/src/SheetContext.tsx +11 -0
  297. package/src/SheetController.tsx +44 -0
  298. package/src/SheetImplementationCustom.tsx +868 -0
  299. package/src/SheetScrollView.tsx +195 -0
  300. package/src/constants.tsx +5 -0
  301. package/src/contexts.ts +9 -0
  302. package/src/controller.ts +9 -0
  303. package/src/createSheet.tsx +296 -0
  304. package/src/gestureState.ts +24 -0
  305. package/src/helpers.tsx +31 -0
  306. package/src/index.ts +11 -0
  307. package/src/nativeSheet.tsx +89 -0
  308. package/src/setupGestureHandler.ts +34 -0
  309. package/src/types.tsx +181 -0
  310. package/src/useGestureHandlerPan.tsx +364 -0
  311. package/src/useKeyboardControllerSheet.native.ts +136 -0
  312. package/src/useKeyboardControllerSheet.ts +26 -0
  313. package/src/useSheet.tsx +3 -0
  314. package/src/useSheetController.tsx +27 -0
  315. package/src/useSheetOffscreenSize.tsx +49 -0
  316. package/src/useSheetOpenState.tsx +33 -0
  317. package/src/useSheetProviderProps.tsx +223 -0
  318. package/src/useSheetScrollViewGestures.native.ts +163 -0
  319. package/src/useSheetScrollViewGestures.ts +194 -0
  320. package/tsconfig.json +56 -0
  321. package/types/GestureDetectorWrapper.d.ts +14 -0
  322. package/types/GestureSheetContext.d.ts +36 -0
  323. package/types/Sheet.d.ts +183 -0
  324. package/types/SheetContext.d.ts +43 -0
  325. package/types/SheetController.d.ts +6 -0
  326. package/types/SheetImplementationCustom.d.ts +36 -0
  327. package/types/SheetScrollView.d.ts +40 -0
  328. package/types/constants.d.ts +5 -0
  329. package/types/contexts.d.ts +6 -0
  330. package/types/controller.d.ts +3 -0
  331. package/types/createSheet.d.ts +194 -0
  332. package/types/gestureState.d.ts +11 -0
  333. package/types/helpers.d.ts +2 -0
  334. package/types/index.d.ts +12 -0
  335. package/types/nativeSheet.d.ts +10 -0
  336. package/types/setupGestureHandler.d.ts +11 -0
  337. package/types/types.d.ts +147 -0
  338. package/types/useGestureHandlerPan.d.ts +44 -0
  339. package/types/useKeyboardControllerSheet.d.ts +7 -0
  340. package/types/useKeyboardControllerSheet.native.d.ts +13 -0
  341. package/types/useSheet.d.ts +2 -0
  342. package/types/useSheetController.d.ts +17 -0
  343. package/types/useSheetOffscreenSize.d.ts +3 -0
  344. package/types/useSheetOpenState.d.ts +9 -0
  345. package/types/useSheetProviderProps.d.ts +36 -0
  346. package/types/useSheetScrollViewGestures.d.ts +12 -0
  347. package/types/useSheetScrollViewGestures.native.d.ts +21 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["composeRefs","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","jsx","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","ref","context","gestureContext","scrollBridge","setHasScrollView","prop","defaultProp","scrollRef","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lockedScrollY","setScrollEnabled","next","lockTo","current","scrollLockY","lockY","scrollTo","x","y","animated","forceScrollTo","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","updateScrollable","gestureProps","contentWrapper","onLayout","e","height","Math","floor","nativeEvent","layout","style","flex","scrollEventThrottle","simultaneousHandlers","ceil","contentOffset","scrollStartY","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,160 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { composeRefs } from "@hanzo/gui-compose-refs";
3
+ import { View } from "@hanzo/gui-core";
4
+ import { ScrollView } from "@hanzo/gui-scroll-view";
5
+ import { useControllableState } from "@hanzo/gui-use-controllable-state";
6
+ import React, { useEffect, useRef, useState } from "react";
7
+ import { useGestureSheetContext } from "./GestureSheetContext.native.js";
8
+ import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.native.js";
9
+ import { useSheetContext } from "./SheetContext.native.js";
10
+ import { useSheetScrollViewGestures } from "./useSheetScrollViewGestures.native.js";
11
+ var SHEET_SCROLL_VIEW_NAME = "SheetScrollView",
12
+ SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
13
+ var {
14
+ __scopeSheet,
15
+ children,
16
+ onScroll,
17
+ scrollEnabled: scrollEnabledProp,
18
+ ...props
19
+ } = param,
20
+ context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet),
21
+ gestureContext = useGestureSheetContext(),
22
+ {
23
+ scrollBridge,
24
+ setHasScrollView
25
+ } = context,
26
+ [scrollEnabled] = useControllableState({
27
+ prop: scrollEnabledProp,
28
+ defaultProp: !0
29
+ }),
30
+ scrollRef = React.useRef(null),
31
+ panGestureRef = gestureContext?.panGestureRef,
32
+ {
33
+ ScrollView: RNGHScrollView
34
+ } = getGestureHandlerState(),
35
+ useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef,
36
+ currentScrollOffset = useRef(0),
37
+ lockedScrollY = useRef(0),
38
+ setScrollEnabled = function (next, lockTo) {
39
+ if (next) lockedScrollY.current = currentScrollOffset.current, scrollBridge.scrollLockY = void 0;else {
40
+ var _scrollRef_current_scrollTo,
41
+ _scrollRef_current,
42
+ lockY = lockTo ?? currentScrollOffset.current;
43
+ lockedScrollY.current = lockY, scrollBridge.scrollLockY = lockY, (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 || (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 || _scrollRef_current_scrollTo.call(_scrollRef_current, {
44
+ x: 0,
45
+ y: lockY,
46
+ animated: !1
47
+ });
48
+ }
49
+ },
50
+ forceScrollTo = function (y) {
51
+ var _scrollRef_current_scrollTo, _scrollRef_current;
52
+ (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 || (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 || _scrollRef_current_scrollTo.call(_scrollRef_current, {
53
+ x: 0,
54
+ y,
55
+ animated: !1
56
+ });
57
+ };
58
+ useEffect(function () {
59
+ return setHasScrollView(!0), isGestureHandlerEnabled() && (scrollBridge.setScrollEnabled = setScrollEnabled, scrollBridge.forceScrollTo = forceScrollTo), function () {
60
+ setHasScrollView(!1), scrollBridge.setScrollEnabled = void 0, scrollBridge.forceScrollTo = void 0;
61
+ };
62
+ }, []);
63
+ var [hasScrollableContent, setHasScrollableContent] = useState(!0),
64
+ parentHeight = useRef(0),
65
+ contentHeight = useRef(0),
66
+ updateScrollable = function () {
67
+ parentHeight.current && contentHeight.current && setHasScrollableContent(contentHeight.current > parentHeight.current);
68
+ };
69
+ useEffect(function () {
70
+ scrollBridge.hasScrollableContent = hasScrollableContent;
71
+ }, [hasScrollableContent]);
72
+ var gestureProps = useSheetScrollViewGestures({
73
+ scrollRef,
74
+ scrollBridge,
75
+ hasScrollableContent,
76
+ scrollEnabled,
77
+ setScrollEnabled
78
+ }),
79
+ contentWrapper = /* @__PURE__ */_jsx(View, {
80
+ onLayout: function (e) {
81
+ var height = Math.floor(e.nativeEvent.layout.height);
82
+ height !== contentHeight.current && (contentHeight.current = height, updateScrollable());
83
+ },
84
+ children
85
+ });
86
+ if (useRNGHScrollView && RNGHScrollView && panGestureRef) {
87
+ var RNGHComponent = RNGHScrollView;
88
+ return /* @__PURE__ */_jsx(RNGHComponent, {
89
+ ref: composeRefs(scrollRef, ref),
90
+ style: {
91
+ flex: 1
92
+ },
93
+ scrollEventThrottle: 1,
94
+ scrollEnabled,
95
+ simultaneousHandlers: [panGestureRef],
96
+ onLayout: function (e) {
97
+ parentHeight.current = Math.ceil(e.nativeEvent.layout.height), updateScrollable();
98
+ },
99
+ onScroll: function (e) {
100
+ var {
101
+ y
102
+ } = e.nativeEvent.contentOffset;
103
+ if (currentScrollOffset.current = y, scrollBridge.scrollLockY !== void 0) {
104
+ if (y !== scrollBridge.scrollLockY) {
105
+ var _scrollRef_current_scrollTo, _scrollRef_current;
106
+ (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 || (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 || _scrollRef_current_scrollTo.call(_scrollRef_current, {
107
+ x: 0,
108
+ y: scrollBridge.scrollLockY,
109
+ animated: !1
110
+ });
111
+ }
112
+ scrollBridge.y = scrollBridge.scrollLockY, onScroll?.({
113
+ ...e,
114
+ nativeEvent: {
115
+ ...e.nativeEvent,
116
+ contentOffset: {
117
+ ...e.nativeEvent.contentOffset,
118
+ y: scrollBridge.scrollLockY
119
+ }
120
+ }
121
+ });
122
+ return;
123
+ }
124
+ scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
125
+ },
126
+ contentContainerStyle: {
127
+ minHeight: "100%"
128
+ },
129
+ bounces: !1,
130
+ keyboardShouldPersistTaps: "always",
131
+ keyboardDismissMode: "none",
132
+ ...props,
133
+ children: contentWrapper
134
+ });
135
+ }
136
+ return /* @__PURE__ */_jsx(ScrollView, {
137
+ onLayout: function (e) {
138
+ parentHeight.current = Math.ceil(e.nativeEvent.layout.height), updateScrollable();
139
+ },
140
+ ref: composeRefs(scrollRef, ref),
141
+ flex: 1,
142
+ scrollEventThrottle: 1,
143
+ className: "_ovs-contain",
144
+ scrollEnabled,
145
+ onScroll: function (e) {
146
+ var {
147
+ y
148
+ } = e.nativeEvent.contentOffset;
149
+ scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
150
+ },
151
+ contentContainerStyle: {
152
+ minHeight: "100%"
153
+ },
154
+ ...gestureProps,
155
+ ...props,
156
+ children: contentWrapper
157
+ });
158
+ });
159
+ export { SheetScrollView };
160
+ //# sourceMappingURL=SheetScrollView.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","composeRefs","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","gestureContext","scrollBridge","setHasScrollView","prop","defaultProp","scrollRef","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lockedScrollY","setScrollEnabled","next","lockTo","current","scrollLockY","_scrollRef_current_scrollTo","_scrollRef_current","lockY","scrollTo","call","x","y","animated","forceScrollTo","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","updateScrollable","gestureProps","contentWrapper","onLayout","e","height","Math","floor","nativeEvent","layout","RNGHComponent","style","flex","scrollEventThrottle","simultaneousHandlers","ceil","contentOffset","scrollStartY","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ const constants = {},
2
+ SHEET_NAME = "Sheet",
3
+ SHEET_HANDLE_NAME = "SheetHandle",
4
+ SHEET_OVERLAY_NAME = "SheetOverlay";
5
+ export { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME, constants };
6
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["constants","SHEET_NAME","SHEET_HANDLE_NAME","SHEET_OVERLAY_NAME"],"sources":["../../src/constants.tsx"],"sourcesContent":[null],"mappings":"AAAO,MAAMA,SAAA,GAAY,CAAC;EAEbC,UAAA,GAAa;EACbC,iBAAA,GAAoB;EACpBC,kBAAA,GAAqB","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ var constants = {},
2
+ SHEET_NAME = "Sheet",
3
+ SHEET_HANDLE_NAME = "SheetHandle",
4
+ SHEET_OVERLAY_NAME = "SheetOverlay";
5
+ export { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME, constants };
6
+ //# sourceMappingURL=constants.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["constants","SHEET_NAME","SHEET_HANDLE_NAME","SHEET_OVERLAY_NAME"],"sources":["../../src/constants.tsx"],"sourcesContent":[null],"mappings":"AAAO,IAAAA,SAAM,KAAY;EAACC,UAEb,UAAa;EAAAC,iBACb,gBAAoB;EAAAC,kBACpB,iBAAqB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ const ParentSheetContext = React.createContext({
3
+ zIndex: 1e5
4
+ }),
5
+ SheetInsideSheetContext = React.createContext(null);
6
+ export { ParentSheetContext, SheetInsideSheetContext };
7
+ //# sourceMappingURL=contexts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ParentSheetContext","createContext","zIndex","SheetInsideSheetContext"],"sources":["../../src/contexts.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAEX,MAAMC,kBAAA,GAAqBD,KAAA,CAAME,aAAA,CAAc;IACpDC,MAAA,EAAQ;EACV,CAAC;EAEYC,uBAAA,GAA0BJ,KAAA,CAAME,aAAA,CAE3C,IAAI","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ var ParentSheetContext = React.createContext({
3
+ zIndex: 1e5
4
+ }),
5
+ SheetInsideSheetContext = React.createContext(null);
6
+ export { ParentSheetContext, SheetInsideSheetContext };
7
+ //# sourceMappingURL=contexts.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ParentSheetContext","createContext","zIndex","SheetInsideSheetContext"],"sources":["../../src/contexts.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAEX,IAAAC,kBAAM,GAAAD,KAAqB,CAAAE,aAAM;IACtCC,MAAA,EAAQ;EACV,CAAC;EAEYC,uBAAA,GAA0BJ,KAAA,CAAME,aAAA,CAE3C,IAAI","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { SheetController } from "./SheetController.mjs";
2
+ import { SheetControllerContext, useSheetController } from "./useSheetController.mjs";
3
+ export { SheetController, SheetControllerContext, useSheetController };
4
+ //# sourceMappingURL=controller.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SheetController","SheetControllerContext","useSheetController"],"sources":["../../src/controller.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,eAAA,QAAuB;AAChC,SACEC,sBAAA,EACAC,kBAAA,QAEK","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { SheetController } from "./SheetController.native.js";
2
+ import { SheetControllerContext, useSheetController } from "./useSheetController.native.js";
3
+ export { SheetController, SheetControllerContext, useSheetController };
4
+ //# sourceMappingURL=controller.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SheetController","SheetControllerContext","useSheetController"],"sources":["../../src/controller.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,eAAA,QAAuB;AAChC,SAAAC,sBAAA,EAAAC,kBAAA;AAAA,SAEEF,eAAA,EAAAC,sBAEK,E","ignoreList":[]}
@@ -0,0 +1,168 @@
1
+ import { useComposedRefs } from "@hanzo/gui-compose-refs";
2
+ import { useIsomorphicLayoutEffect } from "@hanzo/gui-constants";
3
+ import { View } from "@hanzo/gui-core";
4
+ import { composeEventHandlers, withStaticProperties } from "@hanzo/gui-helpers";
5
+ import { resolveViewZIndex } from "@hanzo/gui-portal";
6
+ import { RemoveScroll } from "@hanzo/gui-remove-scroll";
7
+ import { useDidFinishSSR } from "@hanzo/gui-use-did-finish-ssr";
8
+ import { StackZIndexContext } from "@hanzo/gui-z-index-stack";
9
+ import { forwardRef, useMemo, useEffect, useRef } from "react";
10
+ import { Platform } from "react-native-web";
11
+ import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants.mjs";
12
+ import { useSheetContext } from "./SheetContext.mjs";
13
+ import { SheetImplementationCustom } from "./SheetImplementationCustom.mjs";
14
+ import { SheetScrollView } from "./SheetScrollView.mjs";
15
+ import { useSheetController } from "./useSheetController.mjs";
16
+ import { useSheetOffscreenSize } from "./useSheetOffscreenSize.mjs";
17
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
18
+ function createSheet({
19
+ Handle,
20
+ Frame,
21
+ Overlay
22
+ }) {
23
+ const SheetHandle = Handle.styleable(({
24
+ __scopeSheet,
25
+ ...props
26
+ }, forwardedRef) => {
27
+ const context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet),
28
+ composedRef = useComposedRefs(context.handleRef, forwardedRef),
29
+ wasDraggingRef = useRef(!1);
30
+ return useEffect(() => {
31
+ if (context.scrollBridge) return context.scrollBridge.onParentDragging(isDragging => {
32
+ isDragging && (wasDraggingRef.current = !0);
33
+ });
34
+ }, [context.scrollBridge]), context.onlyShowFrame ? null :
35
+ // @ts-ignore
36
+ /* @__PURE__ */
37
+ jsx(Handle, {
38
+ ref: composedRef,
39
+ onPressIn: () => {
40
+ wasDraggingRef.current = !1;
41
+ },
42
+ onPress: () => {
43
+ if (wasDraggingRef.current) {
44
+ wasDraggingRef.current = !1;
45
+ return;
46
+ }
47
+ const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0),
48
+ nextPos = (context.position + 1) % max;
49
+ context.setPosition(nextPos);
50
+ },
51
+ open: context.open,
52
+ ...props
53
+ });
54
+ }),
55
+ SheetOverlay = Overlay.styleable((propsIn, ref) => {
56
+ const {
57
+ __scopeSheet,
58
+ ...props
59
+ } = propsIn,
60
+ context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet),
61
+ element = useMemo(() =>
62
+ // @ts-ignore
63
+ /* @__PURE__ */
64
+ jsx(Overlay, {
65
+ ...props,
66
+ onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? () => {
67
+ context.setOpen(!1);
68
+ } : void 0)
69
+ }), [props.onPress, props.opacity, context.dismissOnOverlayPress]);
70
+ return useIsomorphicLayoutEffect(() => {
71
+ context.onOverlayComponent?.(element);
72
+ }, [element]), context.onlyShowFrame, null;
73
+ }),
74
+ SheetFrame = Frame.styleable(({
75
+ __scopeSheet,
76
+ adjustPaddingForOffscreenContent,
77
+ disableHideBottomOverflow,
78
+ children,
79
+ ...props
80
+ }, forwardedRef) => {
81
+ const context = useSheetContext(SHEET_NAME, __scopeSheet),
82
+ {
83
+ hasFit,
84
+ disableRemoveScroll,
85
+ frameSize,
86
+ contentRef,
87
+ open
88
+ } = context,
89
+ composedContentRef = useComposedRefs(forwardedRef, contentRef),
90
+ offscreenSize = useSheetOffscreenSize(context),
91
+ stableFrameSize = useRef(frameSize);
92
+ useEffect(() => {
93
+ open && frameSize && (stableFrameSize.current = frameSize);
94
+ }, [open, frameSize]);
95
+ const sheetContents = useMemo(() => {
96
+ const shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;
97
+ return (
98
+ // @ts-expect-error
99
+ /* @__PURE__ */
100
+ jsxs(Frame, {
101
+ ref: composedContentRef,
102
+ flex: hasFit && open ? 0 : 1,
103
+ flexBasis: hasFit ? "auto" : void 0,
104
+ height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,
105
+ pointerEvents: open ? "auto" : "none",
106
+ "data-state": open ? "open" : "closed",
107
+ ...props,
108
+ children: [/* @__PURE__ */jsx(StackZIndexContext, {
109
+ zIndex: resolveViewZIndex(props.zIndex),
110
+ children
111
+ }), adjustPaddingForOffscreenContent && /* @__PURE__ */jsx(View, {
112
+ "data-sheet-offscreen-pad": !0,
113
+ height: offscreenSize,
114
+ width: "100%"
115
+ })]
116
+ })
117
+ );
118
+ }, [open, props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]);
119
+ return /* @__PURE__ */jsxs(Fragment, {
120
+ children: [/* @__PURE__ */jsx(RemoveScroll, {
121
+ enabled: !disableRemoveScroll && context.open,
122
+ children: sheetContents
123
+ }), !disableHideBottomOverflow &&
124
+ // @ts-ignore
125
+ /* @__PURE__ */
126
+ jsx(Frame, {
127
+ ...props,
128
+ componentName: "SheetCover",
129
+ children: null,
130
+ testID: void 0,
131
+ id: void 0,
132
+ position: "absolute",
133
+ bottom: "-100%",
134
+ zIndex: -1,
135
+ height: context.frameSize,
136
+ left: 0,
137
+ right: 0,
138
+ borderWidth: 0,
139
+ borderRadius: 0,
140
+ shadowOpacity: 0
141
+ })]
142
+ });
143
+ }),
144
+ Sheet = forwardRef(function (props, ref) {
145
+ const hydrated = useDidFinishSSR(),
146
+ {
147
+ isShowingNonSheet
148
+ } = useSheetController();
149
+ let SheetImplementation = SheetImplementationCustom;
150
+ return props.native && Platform.OS, isShowingNonSheet || !hydrated ? null : /* @__PURE__ */jsx(SheetImplementation, {
151
+ ref,
152
+ ...props
153
+ });
154
+ }),
155
+ components = {
156
+ Frame: SheetFrame,
157
+ Overlay: SheetOverlay,
158
+ Handle: SheetHandle,
159
+ ScrollView: SheetScrollView
160
+ },
161
+ Controlled = withStaticProperties(Sheet, components);
162
+ return withStaticProperties(Sheet, {
163
+ ...components,
164
+ Controlled
165
+ });
166
+ }
167
+ export { createSheet };
168
+ //# sourceMappingURL=createSheet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useComposedRefs","useIsomorphicLayoutEffect","View","composeEventHandlers","withStaticProperties","resolveViewZIndex","RemoveScroll","useDidFinishSSR","StackZIndexContext","forwardRef","useMemo","useEffect","useRef","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","Fragment","jsx","jsxs","createSheet","Handle","Frame","Overlay","SheetHandle","styleable","__scopeSheet","props","forwardedRef","context","composedRef","handleRef","wasDraggingRef","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","element","dismissOnOverlayPress","setOpen","opacity","onOverlayComponent","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","flex","flexBasis","height","pointerEvents","zIndex","width","enabled","componentName","testID","id","bottom","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","hydrated","isShowingNonSheet","SheetImplementation","native","OS","components","ScrollView","Controlled"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,182 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useComposedRefs } from "@hanzo/gui-compose-refs";
3
+ import { useIsomorphicLayoutEffect } from "@hanzo/gui-constants";
4
+ import { View } from "@hanzo/gui-core";
5
+ import { composeEventHandlers, withStaticProperties } from "@hanzo/gui-helpers";
6
+ import { resolveViewZIndex } from "@hanzo/gui-portal";
7
+ import { RemoveScroll } from "@hanzo/gui-remove-scroll";
8
+ import { useDidFinishSSR } from "@hanzo/gui-use-did-finish-ssr";
9
+ import { StackZIndexContext } from "@hanzo/gui-z-index-stack";
10
+ import { forwardRef, useMemo, useEffect, useRef } from "react";
11
+ import { Platform } from "react-native";
12
+ import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants.native.js";
13
+ import { getNativeSheet } from "./nativeSheet.native.js";
14
+ import { useSheetContext } from "./SheetContext.native.js";
15
+ import { SheetImplementationCustom } from "./SheetImplementationCustom.native.js";
16
+ import { SheetScrollView } from "./SheetScrollView.native.js";
17
+ import { useSheetController } from "./useSheetController.native.js";
18
+ import { useSheetOffscreenSize } from "./useSheetOffscreenSize.native.js";
19
+ function createSheet(param) {
20
+ var {
21
+ Handle,
22
+ Frame,
23
+ Overlay
24
+ } = param,
25
+ SheetHandle = Handle.styleable(function (param2, forwardedRef) {
26
+ var {
27
+ __scopeSheet,
28
+ ...props
29
+ } = param2,
30
+ context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet),
31
+ composedRef = useComposedRefs(context.handleRef, forwardedRef),
32
+ wasDraggingRef = useRef(!1);
33
+ return useEffect(function () {
34
+ if (context.scrollBridge) return context.scrollBridge.onParentDragging(function (isDragging) {
35
+ isDragging && (wasDraggingRef.current = !0);
36
+ });
37
+ }, [context.scrollBridge]), context.onlyShowFrame ? null :
38
+ // @ts-ignore
39
+ /* @__PURE__ */
40
+ _jsx(Handle, {
41
+ ref: composedRef,
42
+ onPressIn: function () {
43
+ wasDraggingRef.current = !1;
44
+ },
45
+ onPress: function () {
46
+ if (wasDraggingRef.current) {
47
+ wasDraggingRef.current = !1;
48
+ return;
49
+ }
50
+ var max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0),
51
+ nextPos = (context.position + 1) % max;
52
+ context.setPosition(nextPos);
53
+ },
54
+ open: context.open,
55
+ ...props
56
+ });
57
+ }),
58
+ SheetOverlay = Overlay.styleable(function (propsIn, ref) {
59
+ var {
60
+ __scopeSheet,
61
+ ...props
62
+ } = propsIn,
63
+ context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet),
64
+ element = useMemo(function () {
65
+ return (
66
+ // @ts-ignore
67
+ /* @__PURE__ */
68
+ _jsx(Overlay, {
69
+ ...props,
70
+ onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function () {
71
+ context.setOpen(!1);
72
+ } : void 0)
73
+ })
74
+ );
75
+ }, [props.onPress, props.opacity, context.dismissOnOverlayPress]);
76
+ return useIsomorphicLayoutEffect(function () {
77
+ var _context_onOverlayComponent;
78
+ (_context_onOverlayComponent = context.onOverlayComponent) === null || _context_onOverlayComponent === void 0 || _context_onOverlayComponent.call(context, element);
79
+ }, [element]), context.onlyShowFrame, null;
80
+ }),
81
+ SheetFrame = Frame.styleable(function (param2, forwardedRef) {
82
+ var {
83
+ __scopeSheet,
84
+ adjustPaddingForOffscreenContent,
85
+ disableHideBottomOverflow,
86
+ children,
87
+ ...props
88
+ } = param2,
89
+ context = useSheetContext(SHEET_NAME, __scopeSheet),
90
+ {
91
+ hasFit,
92
+ disableRemoveScroll,
93
+ frameSize,
94
+ contentRef,
95
+ open
96
+ } = context,
97
+ composedContentRef = useComposedRefs(forwardedRef, contentRef),
98
+ offscreenSize = useSheetOffscreenSize(context),
99
+ stableFrameSize = useRef(frameSize);
100
+ useEffect(function () {
101
+ open && frameSize && (stableFrameSize.current = frameSize);
102
+ }, [open, frameSize]);
103
+ var sheetContents = useMemo(function () {
104
+ var shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;
105
+ return (
106
+ // @ts-expect-error
107
+ /* @__PURE__ */
108
+ _jsxs(Frame, {
109
+ ref: composedContentRef,
110
+ flex: hasFit && open ? 0 : 1,
111
+ flexBasis: hasFit ? "auto" : void 0,
112
+ height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,
113
+ pointerEvents: open ? "auto" : "none",
114
+ "data-state": open ? "open" : "closed",
115
+ ...props,
116
+ children: [/* @__PURE__ */_jsx(StackZIndexContext, {
117
+ zIndex: resolveViewZIndex(props.zIndex),
118
+ children
119
+ }), adjustPaddingForOffscreenContent && /* @__PURE__ */_jsx(View, {
120
+ "data-sheet-offscreen-pad": !0,
121
+ height: offscreenSize,
122
+ width: "100%"
123
+ })]
124
+ })
125
+ );
126
+ }, [open, props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]);
127
+ return /* @__PURE__ */_jsxs(_Fragment, {
128
+ children: [/* @__PURE__ */_jsx(RemoveScroll, {
129
+ enabled: !disableRemoveScroll && context.open,
130
+ children: sheetContents
131
+ }), /* below frame hide when bouncing past 100% */
132
+ !disableHideBottomOverflow &&
133
+ // @ts-ignore
134
+ /* @__PURE__ */
135
+ _jsx(Frame, {
136
+ ...props,
137
+ componentName: "SheetCover",
138
+ children: null,
139
+ // Don't inherit testID - this is a visual helper element
140
+ testID: void 0,
141
+ id: void 0,
142
+ position: "absolute",
143
+ bottom: "-100%",
144
+ zIndex: -1,
145
+ height: context.frameSize,
146
+ left: 0,
147
+ right: 0,
148
+ borderWidth: 0,
149
+ borderRadius: 0,
150
+ shadowOpacity: 0
151
+ })]
152
+ });
153
+ }),
154
+ Sheet = /* @__PURE__ */forwardRef(function (props, ref) {
155
+ var hydrated = useDidFinishSSR(),
156
+ {
157
+ isShowingNonSheet
158
+ } = useSheetController(),
159
+ SheetImplementation = SheetImplementationCustom;
160
+ if (props.native && Platform.OS === "ios") {
161
+ var impl = getNativeSheet("ios");
162
+ impl && (SheetImplementation = impl);
163
+ }
164
+ return isShowingNonSheet || !hydrated ? null : /* @__PURE__ */_jsx(SheetImplementation, {
165
+ ref,
166
+ ...props
167
+ });
168
+ }),
169
+ components = {
170
+ Frame: SheetFrame,
171
+ Overlay: SheetOverlay,
172
+ Handle: SheetHandle,
173
+ ScrollView: SheetScrollView
174
+ },
175
+ Controlled = withStaticProperties(Sheet, components);
176
+ return withStaticProperties(Sheet, {
177
+ ...components,
178
+ Controlled
179
+ });
180
+ }
181
+ export { createSheet };
182
+ //# sourceMappingURL=createSheet.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useComposedRefs","useIsomorphicLayoutEffect","View","composeEventHandlers","withStaticProperties","resolveViewZIndex","RemoveScroll","useDidFinishSSR","StackZIndexContext","forwardRef","useMemo","useEffect","useRef","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","getNativeSheet","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","createSheet","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","composedRef","handleRef","wasDraggingRef","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","element","dismissOnOverlayPress","setOpen","opacity","_context_onOverlayComponent","onOverlayComponent","call","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","flex","flexBasis","height","pointerEvents","zIndex","width","enabled","componentName","testID","id","bottom","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","hydrated","isShowingNonSheet","SheetImplementation","native","OS","impl","components"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { getGestureHandler } from "@hanzo/gui-native";
2
+ function isGestureHandlerEnabled() {
3
+ return getGestureHandler().isEnabled;
4
+ }
5
+ function getGestureHandlerState() {
6
+ return getGestureHandler().state;
7
+ }
8
+ function setGestureHandlerState(updates) {
9
+ getGestureHandler().set(updates);
10
+ }
11
+ const setGestureState = setGestureHandlerState;
12
+ export { getGestureHandlerState, isGestureHandlerEnabled, setGestureHandlerState, setGestureState };
13
+ //# sourceMappingURL=gestureState.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getGestureHandler","isGestureHandlerEnabled","isEnabled","getGestureHandlerState","state","setGestureHandlerState","updates","set","setGestureState"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAKA,SAASA,iBAAA,QAA4C;AAK9C,SAASC,wBAAA,EAAmC;EACjD,OAAOD,iBAAA,CAAkB,EAAEE,SAAA;AAC7B;AAEO,SAASC,uBAAA,EAAuC;EACrD,OAAOH,iBAAA,CAAkB,EAAEI,KAAA;AAC7B;AAEO,SAASC,uBAAuBC,OAAA,EAAsC;EAC3EN,iBAAA,CAAkB,EAAEO,GAAA,CAAID,OAAO;AACjC;AAGO,MAAME,eAAA,GAAkBH,sBAAA","ignoreList":[]}