@hanzogui/sheet 7.0.0 → 7.3.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 (332) hide show
  1. package/LICENSE +40 -19
  2. package/dist/cjs/GestureDetectorWrapper.cjs +54 -0
  3. package/dist/cjs/GestureDetectorWrapper.native.js +58 -0
  4. package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -0
  5. package/dist/cjs/GestureSheetContext.cjs +54 -0
  6. package/dist/cjs/GestureSheetContext.native.js +58 -0
  7. package/dist/cjs/GestureSheetContext.native.js.map +1 -0
  8. package/dist/cjs/Sheet.cjs +119 -0
  9. package/dist/cjs/Sheet.native.js +122 -0
  10. package/dist/cjs/Sheet.native.js.map +1 -0
  11. package/dist/cjs/SheetContext.cjs +34 -0
  12. package/dist/cjs/SheetContext.native.js +37 -0
  13. package/dist/cjs/SheetContext.native.js.map +1 -0
  14. package/dist/cjs/SheetController.cjs +73 -0
  15. package/dist/cjs/SheetController.native.js +79 -0
  16. package/dist/cjs/SheetController.native.js.map +1 -0
  17. package/dist/cjs/SheetImplementationCustom.cjs +589 -0
  18. package/dist/cjs/SheetImplementationCustom.native.js +615 -0
  19. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -0
  20. package/dist/cjs/SheetScrollView.cjs +216 -0
  21. package/dist/cjs/SheetScrollView.native.js +223 -0
  22. package/dist/cjs/SheetScrollView.native.js.map +1 -0
  23. package/dist/cjs/constants.cjs +34 -0
  24. package/dist/cjs/constants.native.js +37 -0
  25. package/dist/cjs/constants.native.js.map +1 -0
  26. package/dist/cjs/contexts.cjs +44 -0
  27. package/dist/cjs/contexts.native.js +47 -0
  28. package/dist/cjs/contexts.native.js.map +1 -0
  29. package/dist/cjs/controller.cjs +31 -0
  30. package/dist/cjs/controller.native.js +34 -0
  31. package/dist/cjs/controller.native.js.map +1 -0
  32. package/dist/cjs/createSheet.cjs +190 -0
  33. package/dist/cjs/createSheet.native.js +200 -0
  34. package/dist/cjs/createSheet.native.js.map +1 -0
  35. package/dist/cjs/gestureState.cjs +41 -0
  36. package/dist/cjs/gestureState.native.js +44 -0
  37. package/dist/cjs/gestureState.native.js.map +1 -0
  38. package/dist/cjs/helpers.cjs +35 -0
  39. package/dist/cjs/helpers.native.js +39 -0
  40. package/dist/cjs/helpers.native.js.map +1 -0
  41. package/dist/cjs/index.cjs +30 -0
  42. package/dist/cjs/index.native.js +33 -0
  43. package/dist/cjs/index.native.js.map +1 -0
  44. package/dist/cjs/nativeSheet.cjs +96 -0
  45. package/dist/cjs/nativeSheet.native.js +106 -0
  46. package/dist/cjs/nativeSheet.native.js.map +1 -0
  47. package/dist/cjs/setupGestureHandler.cjs +52 -0
  48. package/dist/cjs/setupGestureHandler.native.js +55 -0
  49. package/dist/cjs/setupGestureHandler.native.js.map +1 -0
  50. package/dist/cjs/types.cjs +18 -0
  51. package/dist/cjs/types.native.js +21 -0
  52. package/dist/cjs/types.native.js.map +1 -0
  53. package/dist/cjs/useGestureHandlerPan.cjs +206 -0
  54. package/dist/cjs/useGestureHandlerPan.native.js +213 -0
  55. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -0
  56. package/dist/cjs/useKeyboardControllerSheet.cjs +40 -0
  57. package/dist/cjs/useKeyboardControllerSheet.native.js +132 -0
  58. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -0
  59. package/dist/cjs/useSheet.cjs +29 -0
  60. package/dist/cjs/useSheet.native.js +34 -0
  61. package/dist/cjs/useSheet.native.js.map +1 -0
  62. package/dist/cjs/useSheetController.cjs +52 -0
  63. package/dist/cjs/useSheetController.native.js +55 -0
  64. package/dist/cjs/useSheetController.native.js.map +1 -0
  65. package/dist/cjs/useSheetOffscreenSize.cjs +63 -0
  66. package/dist/cjs/useSheetOffscreenSize.native.js +70 -0
  67. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -0
  68. package/dist/cjs/useSheetOpenState.cjs +52 -0
  69. package/dist/cjs/useSheetOpenState.native.js +58 -0
  70. package/dist/cjs/useSheetOpenState.native.js.map +1 -0
  71. package/dist/cjs/useSheetProviderProps.cjs +181 -0
  72. package/dist/cjs/useSheetProviderProps.native.js +196 -0
  73. package/dist/cjs/useSheetProviderProps.native.js.map +1 -0
  74. package/dist/cjs/useSheetScrollViewGestures.cjs +166 -0
  75. package/dist/cjs/useSheetScrollViewGestures.native.js +159 -0
  76. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -0
  77. package/dist/esm/GestureDetectorWrapper.mjs +29 -0
  78. package/dist/esm/GestureDetectorWrapper.mjs.map +1 -0
  79. package/dist/esm/GestureDetectorWrapper.native.js +30 -0
  80. package/dist/esm/GestureDetectorWrapper.native.js.map +1 -0
  81. package/dist/esm/GestureSheetContext.mjs +28 -0
  82. package/dist/esm/GestureSheetContext.mjs.map +1 -0
  83. package/dist/esm/GestureSheetContext.native.js +29 -0
  84. package/dist/esm/GestureSheetContext.native.js.map +1 -0
  85. package/dist/esm/Sheet.mjs +89 -0
  86. package/dist/esm/Sheet.mjs.map +1 -0
  87. package/dist/esm/Sheet.native.js +89 -0
  88. package/dist/esm/Sheet.native.js.map +1 -0
  89. package/dist/esm/SheetContext.mjs +6 -0
  90. package/dist/esm/SheetContext.mjs.map +1 -0
  91. package/dist/esm/SheetContext.native.js +6 -0
  92. package/dist/esm/SheetContext.native.js.map +1 -0
  93. package/dist/esm/SheetController.mjs +37 -0
  94. package/dist/esm/SheetController.mjs.map +1 -0
  95. package/dist/esm/SheetController.native.js +40 -0
  96. package/dist/esm/SheetController.native.js.map +1 -0
  97. package/dist/esm/SheetImplementationCustom.mjs +552 -0
  98. package/dist/esm/SheetImplementationCustom.mjs.map +1 -0
  99. package/dist/esm/SheetImplementationCustom.native.js +572 -0
  100. package/dist/esm/SheetImplementationCustom.native.js.map +1 -0
  101. package/dist/esm/SheetScrollView.mjs +180 -0
  102. package/dist/esm/SheetScrollView.mjs.map +1 -0
  103. package/dist/esm/SheetScrollView.native.js +184 -0
  104. package/dist/esm/SheetScrollView.native.js.map +1 -0
  105. package/dist/esm/constants.mjs +6 -0
  106. package/dist/esm/constants.mjs.map +1 -0
  107. package/dist/esm/constants.native.js +6 -0
  108. package/dist/esm/constants.native.js.map +1 -0
  109. package/dist/esm/contexts.mjs +7 -0
  110. package/dist/esm/contexts.mjs.map +1 -0
  111. package/dist/esm/contexts.native.js +7 -0
  112. package/dist/esm/contexts.native.js.map +1 -0
  113. package/dist/esm/controller.mjs +4 -0
  114. package/dist/esm/controller.mjs.map +1 -0
  115. package/dist/esm/controller.native.js +4 -0
  116. package/dist/esm/controller.native.js.map +1 -0
  117. package/dist/esm/createSheet.mjs +165 -0
  118. package/dist/esm/createSheet.mjs.map +1 -0
  119. package/dist/esm/createSheet.native.js +172 -0
  120. package/dist/esm/createSheet.native.js.map +1 -0
  121. package/dist/esm/gestureState.mjs +13 -0
  122. package/dist/esm/gestureState.mjs.map +1 -0
  123. package/dist/esm/gestureState.native.js +13 -0
  124. package/dist/esm/gestureState.native.js.map +1 -0
  125. package/dist/esm/helpers.mjs +10 -0
  126. package/dist/esm/helpers.mjs.map +1 -0
  127. package/dist/esm/helpers.native.js +11 -0
  128. package/dist/esm/helpers.native.js.map +1 -0
  129. package/dist/esm/index.js +12 -0
  130. package/dist/esm/index.js.map +1 -0
  131. package/dist/esm/index.mjs +12 -0
  132. package/dist/esm/index.mjs.map +1 -0
  133. package/dist/esm/index.native.js +12 -0
  134. package/dist/esm/index.native.js.map +1 -0
  135. package/dist/esm/nativeSheet.mjs +70 -0
  136. package/dist/esm/nativeSheet.mjs.map +1 -0
  137. package/dist/esm/nativeSheet.native.js +77 -0
  138. package/dist/esm/nativeSheet.native.js.map +1 -0
  139. package/dist/esm/setupGestureHandler.mjs +26 -0
  140. package/dist/esm/setupGestureHandler.mjs.map +1 -0
  141. package/dist/esm/setupGestureHandler.native.js +26 -0
  142. package/dist/esm/setupGestureHandler.native.js.map +1 -0
  143. package/dist/esm/types.mjs +2 -0
  144. package/dist/esm/types.mjs.map +1 -0
  145. package/dist/esm/types.native.js +2 -0
  146. package/dist/esm/types.native.js.map +1 -0
  147. package/dist/esm/useGestureHandlerPan.mjs +181 -0
  148. package/dist/esm/useGestureHandlerPan.mjs.map +1 -0
  149. package/dist/esm/useGestureHandlerPan.native.js +185 -0
  150. package/dist/esm/useGestureHandlerPan.native.js.map +1 -0
  151. package/dist/esm/useKeyboardControllerSheet.mjs +15 -0
  152. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -0
  153. package/dist/esm/useKeyboardControllerSheet.native.js +104 -0
  154. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -0
  155. package/dist/esm/useSheet.mjs +4 -0
  156. package/dist/esm/useSheet.mjs.map +1 -0
  157. package/dist/esm/useSheet.native.js +6 -0
  158. package/dist/esm/useSheet.native.js.map +1 -0
  159. package/dist/esm/useSheetController.mjs +15 -0
  160. package/dist/esm/useSheetController.mjs.map +1 -0
  161. package/dist/esm/useSheetController.native.js +15 -0
  162. package/dist/esm/useSheetController.native.js.map +1 -0
  163. package/dist/esm/useSheetOffscreenSize.mjs +38 -0
  164. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -0
  165. package/dist/esm/useSheetOffscreenSize.native.js +42 -0
  166. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -0
  167. package/dist/esm/useSheetOpenState.mjs +27 -0
  168. package/dist/esm/useSheetOpenState.mjs.map +1 -0
  169. package/dist/esm/useSheetOpenState.native.js +30 -0
  170. package/dist/esm/useSheetOpenState.native.js.map +1 -0
  171. package/dist/esm/useSheetProviderProps.mjs +145 -0
  172. package/dist/esm/useSheetProviderProps.mjs.map +1 -0
  173. package/dist/esm/useSheetProviderProps.native.js +157 -0
  174. package/dist/esm/useSheetProviderProps.native.js.map +1 -0
  175. package/dist/esm/useSheetScrollViewGestures.mjs +141 -0
  176. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -0
  177. package/dist/esm/useSheetScrollViewGestures.native.js +131 -0
  178. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -0
  179. package/dist/jsx/GestureDetectorWrapper.mjs +29 -0
  180. package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -0
  181. package/dist/jsx/GestureDetectorWrapper.native.js +58 -0
  182. package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -0
  183. package/dist/jsx/GestureSheetContext.mjs +28 -0
  184. package/dist/jsx/GestureSheetContext.mjs.map +1 -0
  185. package/dist/jsx/GestureSheetContext.native.js +58 -0
  186. package/dist/jsx/GestureSheetContext.native.js.map +1 -0
  187. package/dist/jsx/Sheet.mjs +89 -0
  188. package/dist/jsx/Sheet.mjs.map +1 -0
  189. package/dist/jsx/Sheet.native.js +122 -0
  190. package/dist/jsx/Sheet.native.js.map +1 -0
  191. package/dist/jsx/SheetContext.mjs +6 -0
  192. package/dist/jsx/SheetContext.mjs.map +1 -0
  193. package/dist/jsx/SheetContext.native.js +37 -0
  194. package/dist/jsx/SheetContext.native.js.map +1 -0
  195. package/dist/jsx/SheetController.mjs +37 -0
  196. package/dist/jsx/SheetController.mjs.map +1 -0
  197. package/dist/jsx/SheetController.native.js +79 -0
  198. package/dist/jsx/SheetController.native.js.map +1 -0
  199. package/dist/jsx/SheetImplementationCustom.mjs +552 -0
  200. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -0
  201. package/dist/jsx/SheetImplementationCustom.native.js +615 -0
  202. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -0
  203. package/dist/jsx/SheetScrollView.mjs +180 -0
  204. package/dist/jsx/SheetScrollView.mjs.map +1 -0
  205. package/dist/jsx/SheetScrollView.native.js +223 -0
  206. package/dist/jsx/SheetScrollView.native.js.map +1 -0
  207. package/dist/jsx/constants.mjs +6 -0
  208. package/dist/jsx/constants.mjs.map +1 -0
  209. package/dist/jsx/constants.native.js +37 -0
  210. package/dist/jsx/constants.native.js.map +1 -0
  211. package/dist/jsx/contexts.mjs +7 -0
  212. package/dist/jsx/contexts.mjs.map +1 -0
  213. package/dist/jsx/contexts.native.js +47 -0
  214. package/dist/jsx/contexts.native.js.map +1 -0
  215. package/dist/jsx/controller.mjs +4 -0
  216. package/dist/jsx/controller.mjs.map +1 -0
  217. package/dist/jsx/controller.native.js +34 -0
  218. package/dist/jsx/controller.native.js.map +1 -0
  219. package/dist/jsx/createSheet.mjs +165 -0
  220. package/dist/jsx/createSheet.mjs.map +1 -0
  221. package/dist/jsx/createSheet.native.js +200 -0
  222. package/dist/jsx/createSheet.native.js.map +1 -0
  223. package/dist/jsx/gestureState.mjs +13 -0
  224. package/dist/jsx/gestureState.mjs.map +1 -0
  225. package/dist/jsx/gestureState.native.js +44 -0
  226. package/dist/jsx/gestureState.native.js.map +1 -0
  227. package/dist/jsx/helpers.mjs +10 -0
  228. package/dist/jsx/helpers.mjs.map +1 -0
  229. package/dist/jsx/helpers.native.js +39 -0
  230. package/dist/jsx/helpers.native.js.map +1 -0
  231. package/dist/jsx/index.js +12 -0
  232. package/dist/jsx/index.js.map +1 -0
  233. package/dist/jsx/index.mjs +12 -0
  234. package/dist/jsx/index.mjs.map +1 -0
  235. package/dist/jsx/index.native.js +33 -0
  236. package/dist/jsx/index.native.js.map +1 -0
  237. package/dist/jsx/nativeSheet.mjs +70 -0
  238. package/dist/jsx/nativeSheet.mjs.map +1 -0
  239. package/dist/jsx/nativeSheet.native.js +106 -0
  240. package/dist/jsx/nativeSheet.native.js.map +1 -0
  241. package/dist/jsx/setupGestureHandler.mjs +26 -0
  242. package/dist/jsx/setupGestureHandler.mjs.map +1 -0
  243. package/dist/jsx/setupGestureHandler.native.js +55 -0
  244. package/dist/jsx/setupGestureHandler.native.js.map +1 -0
  245. package/dist/jsx/types.mjs +2 -0
  246. package/dist/jsx/types.mjs.map +1 -0
  247. package/dist/jsx/types.native.js +21 -0
  248. package/dist/jsx/types.native.js.map +1 -0
  249. package/dist/jsx/useGestureHandlerPan.mjs +181 -0
  250. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -0
  251. package/dist/jsx/useGestureHandlerPan.native.js +213 -0
  252. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -0
  253. package/dist/jsx/useKeyboardControllerSheet.mjs +15 -0
  254. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -0
  255. package/dist/jsx/useKeyboardControllerSheet.native.js +132 -0
  256. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -0
  257. package/dist/jsx/useSheet.mjs +4 -0
  258. package/dist/jsx/useSheet.mjs.map +1 -0
  259. package/dist/jsx/useSheet.native.js +34 -0
  260. package/dist/jsx/useSheet.native.js.map +1 -0
  261. package/dist/jsx/useSheetController.mjs +15 -0
  262. package/dist/jsx/useSheetController.mjs.map +1 -0
  263. package/dist/jsx/useSheetController.native.js +55 -0
  264. package/dist/jsx/useSheetController.native.js.map +1 -0
  265. package/dist/jsx/useSheetOffscreenSize.mjs +38 -0
  266. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -0
  267. package/dist/jsx/useSheetOffscreenSize.native.js +70 -0
  268. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -0
  269. package/dist/jsx/useSheetOpenState.mjs +27 -0
  270. package/dist/jsx/useSheetOpenState.mjs.map +1 -0
  271. package/dist/jsx/useSheetOpenState.native.js +58 -0
  272. package/dist/jsx/useSheetOpenState.native.js.map +1 -0
  273. package/dist/jsx/useSheetProviderProps.mjs +145 -0
  274. package/dist/jsx/useSheetProviderProps.mjs.map +1 -0
  275. package/dist/jsx/useSheetProviderProps.native.js +196 -0
  276. package/dist/jsx/useSheetProviderProps.native.js.map +1 -0
  277. package/dist/jsx/useSheetScrollViewGestures.mjs +141 -0
  278. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -0
  279. package/dist/jsx/useSheetScrollViewGestures.native.js +159 -0
  280. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -0
  281. package/package.json +36 -26
  282. package/src/Sheet.tsx +3 -3
  283. package/src/SheetImplementationCustom.tsx +5 -5
  284. package/src/createSheet.tsx +9 -9
  285. package/src/setupGestureHandler.ts +2 -2
  286. package/src/useSheetProviderProps.tsx +4 -4
  287. package/types/GestureDetectorWrapper.d.ts +1 -1
  288. package/types/GestureDetectorWrapper.d.ts.map +1 -0
  289. package/types/GestureSheetContext.d.ts +1 -1
  290. package/types/GestureSheetContext.d.ts.map +1 -0
  291. package/types/Sheet.d.ts +15 -15
  292. package/types/Sheet.d.ts.map +1 -0
  293. package/types/SheetContext.d.ts +4 -4
  294. package/types/SheetContext.d.ts.map +1 -0
  295. package/types/SheetController.d.ts +2 -1
  296. package/types/SheetController.d.ts.map +1 -0
  297. package/types/SheetImplementationCustom.d.ts.map +1 -0
  298. package/types/SheetScrollView.d.ts +1 -1
  299. package/types/SheetScrollView.d.ts.map +1 -0
  300. package/types/constants.d.ts.map +1 -0
  301. package/types/contexts.d.ts.map +1 -0
  302. package/types/controller.d.ts.map +1 -0
  303. package/types/createSheet.d.ts +11 -11
  304. package/types/createSheet.d.ts.map +1 -0
  305. package/types/gestureState.d.ts.map +1 -0
  306. package/types/helpers.d.ts.map +1 -0
  307. package/types/index.d.ts.map +1 -0
  308. package/types/nativeSheet.d.ts.map +1 -0
  309. package/types/setupGestureHandler.d.ts.map +1 -0
  310. package/types/types.d.ts.map +1 -0
  311. package/types/useGestureHandlerPan.d.ts.map +1 -0
  312. package/types/useKeyboardControllerSheet.d.ts.map +1 -0
  313. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -0
  314. package/types/useSheet.d.ts.map +1 -0
  315. package/types/useSheetController.d.ts.map +1 -0
  316. package/types/useSheetOffscreenSize.d.ts.map +1 -0
  317. package/types/useSheetOpenState.d.ts.map +1 -0
  318. package/types/useSheetProviderProps.d.ts +3 -3
  319. package/types/useSheetProviderProps.d.ts.map +1 -0
  320. package/types/useSheetScrollViewGestures.d.ts.map +1 -0
  321. package/types/useSheetScrollViewGestures.native.d.ts.map +1 -0
  322. package/controller/index.cjs +0 -2
  323. package/controller/index.d.ts +0 -5
  324. package/controller/index.js +0 -2
  325. package/controller/index.native.cjs +0 -2
  326. package/controller/index.native.js +0 -2
  327. package/next.md +0 -78
  328. package/setup-gesture-handler/index.cjs +0 -2
  329. package/setup-gesture-handler/index.js +0 -2
  330. package/setup-gesture-handler/index.native.cjs +0 -2
  331. package/setup-gesture-handler/index.native.js +0 -2
  332. package/tsconfig.json +0 -56
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useSheetOffscreenSize_exports = {};
26
+ __export(useSheetOffscreenSize_exports, {
27
+ useSheetOffscreenSize: () => useSheetOffscreenSize
28
+ });
29
+ module.exports = __toCommonJS(useSheetOffscreenSize_exports);
30
+ var useSheetOffscreenSize = function (param) {
31
+ var {
32
+ snapPoints,
33
+ position,
34
+ screenSize,
35
+ frameSize,
36
+ snapPointsMode
37
+ } = param;
38
+ if (snapPointsMode === "fit") {
39
+ return 0;
40
+ }
41
+ if (snapPointsMode === "constant") {
42
+ var maxSize = Number(snapPoints[0]);
43
+ var _snapPoints_position;
44
+ var currentSize = Number((_snapPoints_position = snapPoints[position]) !== null && _snapPoints_position !== void 0 ? _snapPoints_position : 0);
45
+ var offscreenSize = maxSize - currentSize;
46
+ return offscreenSize;
47
+ }
48
+ if (snapPointsMode === "percent") {
49
+ var maxPercentOpened = Number(snapPoints[0]) / 100;
50
+ var _snapPoints_position1;
51
+ var percentOpened = Number((_snapPoints_position1 = snapPoints[position]) !== null && _snapPoints_position1 !== void 0 ? _snapPoints_position1 : 0) / 100;
52
+ var percentHidden = maxPercentOpened - percentOpened;
53
+ var offscreenSize1 = percentHidden * screenSize;
54
+ return offscreenSize1;
55
+ }
56
+ var maxSnapPoint = snapPoints[0];
57
+ if (maxSnapPoint === "fit") {
58
+ return 0;
59
+ }
60
+ var maxSize1 = typeof maxSnapPoint === "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint;
61
+ var _snapPoints_position2;
62
+ var currentSnapPoint = (_snapPoints_position2 = snapPoints[position]) !== null && _snapPoints_position2 !== void 0 ? _snapPoints_position2 : 0;
63
+ var currentSize1 = typeof currentSnapPoint === "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint;
64
+ var offscreenSize2 = maxSize1 - currentSize1;
65
+ if (Number.isNaN(offscreenSize2)) {
66
+ return 0;
67
+ }
68
+ return offscreenSize2;
69
+ };
70
+ //# sourceMappingURL=useSheetOffscreenSize.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useSheetOffscreenSize_exports","__export","useSheetOffscreenSize","module","exports","param","snapPoints","position","screenSize","frameSize","snapPointsMode","maxSize","Number","_snapPoints_position","currentSize","offscreenSize","maxPercentOpened","_snapPoints_position1","percentOpened","percentHidden","offscreenSize1","maxSnapPoint","maxSize1","slice","_snapPoints_position2","currentSnapPoint","currentSize1","offscreenSize2","isNaN"],"sources":["../../src/useSheetOffscreenSize.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,6BAAA;AAAAC,QAAA,CAAAD,6BAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEOC,MAAM,CAAAC,OAAA,GAAAT,YAAA,CAAwBK,6BAAC;AAAA,IACpCE,qBAAA,YAAAA,CAAAG,KAAA;EACA;IAAAC,UAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAL,KAAA;EACA,IAAAK,cAAA;IACA;EACA;EACF,IAAyBA,cAAA;IACvB,IAAIC,OAAA,GAAAC,MAAA,CAAmBN,UAAO;IAC5B,IAAAO,oBAAO;IACT,IAAAC,WAAA,GAAAF,MAAA,EAAAC,oBAAA,GAAAP,UAAA,CAAAC,QAAA,eAAAM,oBAAA,cAAAA,oBAAA;IAEA,IAAIE,aAAA,GAAAJ,OAAmB,GAAAG,WAAY;IACjC,OAAMC,aAAU;EAChB;EACA,IAAAL,cAAM,cAAgB;IACtB,IAAAM,gBAAO,GAAAJ,MAAA,CAAAN,UAAA;IACT,IAAAW,qBAAA;IAEA,IAAIC,aAAA,GAAAN,MAAmB,EAAAK,qBAAW,GAAAX,UAAA,CAAAC,QAAA,eAAAU,qBAAA,cAAAA,qBAAA;IAChC,IAAAE,aAAM,GAAAH,gBAA0B,GAAAE,aAAiB;IACjD,IAAAE,cAAM,GAAAD,aAAuB,GAAAX,UAAW;IACxC,OAAMY,cAAA;EACN;EACA,IAAAC,YAAO,GAAAf,UAAA;EACT,IAAAe,YAAA;IAGA,OAAM;EACN;EACE,IAAAC,QAAO,UAAAD,YAAA,gBAAAT,MAAA,CAAAS,YAAA,CAAAE,KAAA,iBAAAf,UAAA,GAAAa,YAAA;EACT,IAAAG,qBAAA;EAEA,IAAAC,gBACE,GAAO,CAAAD,qBAAiB,GAAAlB,UACZ,CAAAC,QAAA,OAAa,IAAM,IAAKiB,qBAAY,KAC5C,SAAAA,qBAAA;EACN,IAAAE,YAAM,UAAmBD,gBAAW,KAAQ,QAAK,GAAAb,MAAA,CAAAa,gBAAA,CAAAF,KAAA,iBAAAf,UAAA,GAAAiB,gBAAA;EACjD,IAAAE,cAAM,GACJL,QAAO,GAAAI,YAAA;EAGT,IAAAd,MAAM,CAAAgB,KAAA,CAAAD,cAAgB,CAAU;IAChC,OAAI;EACF;EACF,OAAAA,cAAA;AACA","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useSheetOpenState_exports = {};
24
+ __export(useSheetOpenState_exports, {
25
+ useSheetOpenState: () => useSheetOpenState
26
+ });
27
+ module.exports = __toCommonJS(useSheetOpenState_exports);
28
+ var import_use_controllable_state = require("@hanzogui/use-controllable-state");
29
+ var import_useSheetController = require("./useSheetController.cjs");
30
+ const useSheetOpenState = props => {
31
+ const {
32
+ isHidden,
33
+ controller
34
+ } = (0, import_useSheetController.useSheetController)();
35
+ const onOpenChangeInternal = val => {
36
+ controller?.onOpenChange?.(val);
37
+ props.onOpenChange?.(val);
38
+ };
39
+ const propVal = props.preferAdaptParentOpenState ? controller?.open ?? props.open : props.open ?? controller?.open;
40
+ const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
41
+ prop: propVal,
42
+ defaultProp: props.defaultOpen ?? false,
43
+ onChange: onOpenChangeInternal,
44
+ strategy: "most-recent-wins"
45
+ });
46
+ return {
47
+ open,
48
+ setOpen,
49
+ isHidden,
50
+ controller
51
+ };
52
+ };
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useSheetOpenState_exports = {};
26
+ __export(useSheetOpenState_exports, {
27
+ useSheetOpenState: () => useSheetOpenState
28
+ });
29
+ module.exports = __toCommonJS(useSheetOpenState_exports);
30
+ var import_use_controllable_state = require("@hanzogui/use-controllable-state");
31
+ var import_useSheetController = require("./useSheetController.native.js");
32
+ var useSheetOpenState = function (props) {
33
+ var {
34
+ isHidden,
35
+ controller
36
+ } = (0, import_useSheetController.useSheetController)();
37
+ var onOpenChangeInternal = function (val) {
38
+ var _controller_onOpenChange, _props_onOpenChange;
39
+ controller === null || controller === void 0 ? void 0 : (_controller_onOpenChange = controller.onOpenChange) === null || _controller_onOpenChange === void 0 ? void 0 : _controller_onOpenChange.call(controller, val);
40
+ (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 ? void 0 : _props_onOpenChange.call(props, val);
41
+ };
42
+ var _controller_open, _props_open;
43
+ var propVal = props.preferAdaptParentOpenState ? (_controller_open = controller === null || controller === void 0 ? void 0 : controller.open) !== null && _controller_open !== void 0 ? _controller_open : props.open : (_props_open = props.open) !== null && _props_open !== void 0 ? _props_open : controller === null || controller === void 0 ? void 0 : controller.open;
44
+ var _props_defaultOpen;
45
+ var [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
46
+ prop: propVal,
47
+ defaultProp: (_props_defaultOpen = props.defaultOpen) !== null && _props_defaultOpen !== void 0 ? _props_defaultOpen : false,
48
+ onChange: onOpenChangeInternal,
49
+ strategy: "most-recent-wins"
50
+ });
51
+ return {
52
+ open,
53
+ setOpen,
54
+ isHidden,
55
+ controller
56
+ };
57
+ };
58
+ //# sourceMappingURL=useSheetOpenState.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useSheetOpenState_exports","__export","useSheetOpenState","module","exports","import_use_controllable_state","require","import_useSheetController","props","isHidden","controller","useSheetController","onOpenChangeInternal","val","_controller_onOpenChange","_props_onOpenChange","onOpenChange","call","_controller_open","_props_open","propVal","preferAdaptParentOpenState","open","_props_defaultOpen","setOpen","useControllableState","prop","defaultProp","defaultOpen","onChange","strategy"],"sources":["../../src/useSheetOpenState.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,yBAAqC;AAGrC,IAAAK,6BAAmC,GAAAC,OAAA;AAE5B,IAAAC,yBAA2B,GAAAD,OAAsB;AACtD,IAAAJ,iBAAkB,YAAAA,CAAWM,KAAA,EAAI;EAEjC;IAAMC,QAAA;IAAAC;EAAA,IAAwB,IAAAH,yBAAiB,CAAAI,kBAAA;EAC7C,IAAAC,oBAAY,YAAAA,CAAkBC,GAAA;IAC9B,IAAAC,wBAAwB,EAAAC,mBAAA;IAC1BL,UAAA,aAAAA,UAAA,wBAAAI,wBAAA,GAAAJ,UAAA,CAAAM,YAAA,cAAAF,wBAAA,uBAAAA,wBAAA,CAAAG,IAAA,CAAAP,UAAA,EAAAG,GAAA;IAEA,CAAAE,mBAAsB,GAAAP,KAAA,CAAAQ,YAAA,UACjB,IAAAD,mBAAoB,KAAM,KAC1B,IAAM,SAAQA,mBAAY,CAAAE,IAAA,CAAAT,KAAA,EAAAK,GAAA;EAE/B;EAA6C,IAC3CK,gBAAM,EAAAC,WAAA;EAAA,IACNC,OAAA,GAAAZ,KAAa,CAAAa,0BAAqB,IAAAH,gBAAA,GAAAR,UAAA,aAAAA,UAAA,uBAAAA,UAAA,CAAAY,IAAA,cAAAJ,gBAAA,cAAAA,gBAAA,GAAAV,KAAA,CAAAc,IAAA,IAAAH,WAAA,GAAAX,KAAA,CAAAc,IAAA,cAAAH,WAAA,cAAAA,WAAA,GAAAT,UAAA,aAAAA,UAAA,uBAAAA,UAAA,CAAAY,IAAA;EAAA,IAClCC,kBAAU;EAAA,IACV,CAAAD,IAAA,EAAAE,OAAU,QAAAnB,6BAAA,CAAAoB,oBAAA;IACXC,IAAA,EAAAN,OAAA;IAEDO,WAAO,GAAAJ,kBAAA,GAAAf,KAAA,CAAAoB,WAAA,cAAAL,kBAAA,cAAAA,kBAAA;IACLM,QAAA,EAAAjB,oBAAA;IACAkB,QAAA;EAAA,EACA;EAAA,OACA;IACFR,IAAA;IACFE,OAAA","ignoreList":[]}
@@ -0,0 +1,181 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
34
+ var useSheetProviderProps_exports = {};
35
+ __export(useSheetProviderProps_exports, {
36
+ useSheetProviderProps: () => useSheetProviderProps
37
+ });
38
+ module.exports = __toCommonJS(useSheetProviderProps_exports);
39
+ var import_react = __toESM(require("react"), 1);
40
+ var import_core = require("@hanzogui/core");
41
+ var import_use_constant = require("@hanzogui/use-constant");
42
+ var import_use_controllable_state = require("@hanzogui/use-controllable-state");
43
+ function useSheetProviderProps(props, state, options = {}) {
44
+ const handleRef = import_react.default.useRef(null);
45
+ const contentRef = import_react.default.useRef(null);
46
+ const [frameSize, setFrameSize] = import_react.default.useState(0);
47
+ const [maxContentSize, setMaxContentSize] = import_react.default.useState(0);
48
+ const snapPointsMode = props.snapPointsMode ?? "percent";
49
+ const snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]);
50
+ const hasFit = snapPointsProp[0] === "fit";
51
+ const snapPoints = import_react.default.useMemo(() => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]);
52
+ const [position_, setPositionImmediate] = (0, import_use_controllable_state.useControllableState)({
53
+ prop: props.position,
54
+ defaultProp: props.defaultPosition || (state.open ? 0 : -1),
55
+ onChange: props.onPositionChange,
56
+ strategy: "most-recent-wins"
57
+ });
58
+ const position = state.open === false ? -1 : position_;
59
+ const {
60
+ open
61
+ } = state;
62
+ const setPosition = import_react.default.useCallback(next => {
63
+ if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
64
+ state.setOpen(false);
65
+ } else {
66
+ setPositionImmediate(next);
67
+ }
68
+ }, [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]);
69
+ if (process.env.NODE_ENV === "development") {
70
+ if (snapPointsMode === "mixed" && snapPoints.some(p => {
71
+ if (typeof p === "string") {
72
+ if (p === "fit") {
73
+ return false;
74
+ }
75
+ if (p.endsWith("%")) {
76
+ const n = Number(p.slice(0, -1));
77
+ return n < 0 || n > 100;
78
+ }
79
+ return true;
80
+ }
81
+ return typeof p !== "number" || p < 0;
82
+ })) {
83
+ console.warn('\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed');
84
+ }
85
+ if (snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0) {
86
+ console.warn('\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed');
87
+ }
88
+ if (snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit")) {
89
+ console.warn("\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit");
90
+ }
91
+ if (snapPointsMode === "constant" && snapPoints.some(p => typeof p !== "number" || p < 0)) {
92
+ console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant");
93
+ }
94
+ if (snapPointsMode === "percent" && snapPoints.some(p => typeof p !== "number" || p < 0 || p > 100)) {
95
+ console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent");
96
+ }
97
+ }
98
+ if (open && props.dismissOnSnapToBottom && position === snapPoints.length - 1) {
99
+ setPositionImmediate(0);
100
+ }
101
+ const shouldSetPositionOpen = open && position < 0;
102
+ import_react.default.useEffect(() => {
103
+ if (shouldSetPositionOpen) {
104
+ setPosition(0);
105
+ }
106
+ }, [setPosition, shouldSetPositionOpen]);
107
+ const {
108
+ animationDriver
109
+ } = (0, import_core.useConfiguration)();
110
+ if (!animationDriver) {
111
+ throw new Error(process.env.NODE_ENV === "production" ? `\u274C 008` : "Must set animations in gui.config.ts");
112
+ }
113
+ const scrollBridge = (0, import_use_constant.useConstant)(() => {
114
+ const parentDragListeners = /* @__PURE__ */new Set();
115
+ const bridge = {
116
+ hasScrollableContent: false,
117
+ enabled: false,
118
+ y: 0,
119
+ paneY: 0,
120
+ paneMinY: 0,
121
+ scrollStartY: -1,
122
+ drag: () => {},
123
+ release: () => {},
124
+ scrollLock: false,
125
+ isParentDragging: false,
126
+ onParentDragging: cb => {
127
+ parentDragListeners.add(cb);
128
+ return () => {
129
+ parentDragListeners.delete(cb);
130
+ };
131
+ },
132
+ setParentDragging: val => {
133
+ if (val !== bridge.isParentDragging) {
134
+ bridge.isParentDragging = val;
135
+ parentDragListeners.forEach(cb => cb(val));
136
+ }
137
+ }
138
+ };
139
+ return bridge;
140
+ });
141
+ let disableRemoveScroll;
142
+ if (props.disableRemoveScroll !== void 0) {
143
+ disableRemoveScroll = props.disableRemoveScroll || !open || !props.modal;
144
+ } else if (props.forceRemoveScrollEnabled !== void 0) {
145
+ if (process.env.NODE_ENV === "development") {
146
+ console.warn("[Sheet] forceRemoveScrollEnabled is deprecated. Use disableRemoveScroll instead.");
147
+ }
148
+ disableRemoveScroll = !props.forceRemoveScrollEnabled;
149
+ } else {
150
+ disableRemoveScroll = !open || !props.modal;
151
+ }
152
+ const maxSnapPoint = snapPoints[0];
153
+ const screenSize = snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint === "number" ? maxSnapPoint : 100) / 100) : maxContentSize;
154
+ const providerProps = {
155
+ screenSize,
156
+ maxSnapPoint,
157
+ disableRemoveScroll,
158
+ scrollBridge,
159
+ modal: !!props.modal,
160
+ open: state.open,
161
+ setOpen: state.setOpen,
162
+ hidden: !!state.isHidden,
163
+ contentRef,
164
+ handleRef,
165
+ frameSize,
166
+ setFrameSize,
167
+ dismissOnOverlayPress: props.dismissOnOverlayPress ?? true,
168
+ dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
169
+ onOverlayComponent: options.onOverlayComponent,
170
+ scope: props.__scopeSheet,
171
+ hasFit,
172
+ position,
173
+ snapPoints,
174
+ snapPointsMode,
175
+ setMaxContentSize,
176
+ setPosition,
177
+ setPositionImmediate,
178
+ onlyShowFrame: false
179
+ };
180
+ return providerProps;
181
+ }
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var useSheetProviderProps_exports = {};
37
+ __export(useSheetProviderProps_exports, {
38
+ useSheetProviderProps: () => useSheetProviderProps
39
+ });
40
+ module.exports = __toCommonJS(useSheetProviderProps_exports);
41
+ var import_react = __toESM(require("react"), 1);
42
+ var import_core = require("@hanzogui/core");
43
+ var import_use_constant = require("@hanzogui/use-constant");
44
+ var import_use_controllable_state = require("@hanzogui/use-controllable-state");
45
+ function useSheetProviderProps(props, state) {
46
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
47
+ var handleRef = import_react.default.useRef(null);
48
+ var contentRef = import_react.default.useRef(null);
49
+ var [frameSize, setFrameSize] = import_react.default.useState(0);
50
+ var [maxContentSize, setMaxContentSize] = import_react.default.useState(0);
51
+ var _props_snapPointsMode;
52
+ var snapPointsMode = (_props_snapPointsMode = props.snapPointsMode) !== null && _props_snapPointsMode !== void 0 ? _props_snapPointsMode : "percent";
53
+ var _props_snapPoints;
54
+ var snapPointsProp = (_props_snapPoints = props.snapPoints) !== null && _props_snapPoints !== void 0 ? _props_snapPoints : snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"];
55
+ var hasFit = snapPointsProp[0] === "fit";
56
+ var snapPoints = import_react.default.useMemo(function () {
57
+ return props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp;
58
+ }, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]);
59
+ var [position_, setPositionImmediate] = (0, import_use_controllable_state.useControllableState)({
60
+ prop: props.position,
61
+ defaultProp: props.defaultPosition || (state.open ? 0 : -1),
62
+ onChange: props.onPositionChange,
63
+ strategy: "most-recent-wins"
64
+ });
65
+ var position = state.open === false ? -1 : position_;
66
+ var {
67
+ open
68
+ } = state;
69
+ var setPosition = import_react.default.useCallback(function (next) {
70
+ if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
71
+ state.setOpen(false);
72
+ } else {
73
+ setPositionImmediate(next);
74
+ }
75
+ }, [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]);
76
+ if (process.env.NODE_ENV === "development") {
77
+ if (snapPointsMode === "mixed" && snapPoints.some(function (p) {
78
+ if (typeof p === "string") {
79
+ if (p === "fit") {
80
+ return false;
81
+ }
82
+ if (p.endsWith("%")) {
83
+ var n = Number(p.slice(0, -1));
84
+ return n < 0 || n > 100;
85
+ }
86
+ return true;
87
+ }
88
+ return typeof p !== "number" || p < 0;
89
+ })) {
90
+ console.warn('\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed');
91
+ }
92
+ if (snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0) {
93
+ console.warn('\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed');
94
+ }
95
+ if (snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit")) {
96
+ console.warn("\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit");
97
+ }
98
+ if (snapPointsMode === "constant" && snapPoints.some(function (p) {
99
+ return typeof p !== "number" || p < 0;
100
+ })) {
101
+ console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant");
102
+ }
103
+ if (snapPointsMode === "percent" && snapPoints.some(function (p) {
104
+ return typeof p !== "number" || p < 0 || p > 100;
105
+ })) {
106
+ console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent");
107
+ }
108
+ }
109
+ if (open && props.dismissOnSnapToBottom && position === snapPoints.length - 1) {
110
+ setPositionImmediate(0);
111
+ }
112
+ var shouldSetPositionOpen = open && position < 0;
113
+ import_react.default.useEffect(function () {
114
+ if (shouldSetPositionOpen) {
115
+ setPosition(0);
116
+ }
117
+ }, [setPosition, shouldSetPositionOpen]);
118
+ var {
119
+ animationDriver
120
+ } = (0, import_core.useConfiguration)();
121
+ if (!animationDriver) {
122
+ throw new Error(process.env.NODE_ENV === "production" ? `\u274C 008` : "Must set animations in gui.config.ts");
123
+ }
124
+ var scrollBridge = (0, import_use_constant.useConstant)(function () {
125
+ var parentDragListeners = /* @__PURE__ */new Set();
126
+ var bridge = {
127
+ hasScrollableContent: false,
128
+ enabled: false,
129
+ y: 0,
130
+ paneY: 0,
131
+ paneMinY: 0,
132
+ scrollStartY: -1,
133
+ drag: function () {},
134
+ release: function () {},
135
+ scrollLock: false,
136
+ isParentDragging: false,
137
+ onParentDragging: function (cb) {
138
+ parentDragListeners.add(cb);
139
+ return function () {
140
+ parentDragListeners.delete(cb);
141
+ };
142
+ },
143
+ setParentDragging: function (val) {
144
+ if (val !== bridge.isParentDragging) {
145
+ bridge.isParentDragging = val;
146
+ parentDragListeners.forEach(function (cb) {
147
+ return cb(val);
148
+ });
149
+ }
150
+ }
151
+ };
152
+ return bridge;
153
+ });
154
+ var disableRemoveScroll;
155
+ if (props.disableRemoveScroll !== void 0) {
156
+ disableRemoveScroll = props.disableRemoveScroll || !open || !props.modal;
157
+ } else if (props.forceRemoveScrollEnabled !== void 0) {
158
+ if (process.env.NODE_ENV === "development") {
159
+ console.warn("[Sheet] forceRemoveScrollEnabled is deprecated. Use disableRemoveScroll instead.");
160
+ }
161
+ disableRemoveScroll = !props.forceRemoveScrollEnabled;
162
+ } else {
163
+ disableRemoveScroll = !open || !props.modal;
164
+ }
165
+ var maxSnapPoint = snapPoints[0];
166
+ var screenSize = snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint === "number" ? maxSnapPoint : 100) / 100) : maxContentSize;
167
+ var _props_dismissOnOverlayPress, _props_dismissOnSnapToBottom;
168
+ var providerProps = {
169
+ screenSize,
170
+ maxSnapPoint,
171
+ disableRemoveScroll,
172
+ scrollBridge,
173
+ modal: !!props.modal,
174
+ open: state.open,
175
+ setOpen: state.setOpen,
176
+ hidden: !!state.isHidden,
177
+ contentRef,
178
+ handleRef,
179
+ frameSize,
180
+ setFrameSize,
181
+ dismissOnOverlayPress: (_props_dismissOnOverlayPress = props.dismissOnOverlayPress) !== null && _props_dismissOnOverlayPress !== void 0 ? _props_dismissOnOverlayPress : true,
182
+ dismissOnSnapToBottom: (_props_dismissOnSnapToBottom = props.dismissOnSnapToBottom) !== null && _props_dismissOnSnapToBottom !== void 0 ? _props_dismissOnSnapToBottom : false,
183
+ onOverlayComponent: options.onOverlayComponent,
184
+ scope: props.__scopeSheet,
185
+ hasFit,
186
+ position,
187
+ snapPoints,
188
+ snapPointsMode,
189
+ setMaxContentSize,
190
+ setPosition,
191
+ setPositionImmediate,
192
+ onlyShowFrame: false
193
+ };
194
+ return providerProps;
195
+ }
196
+ //# sourceMappingURL=useSheetProviderProps.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useSheetProviderProps_exports","__export","useSheetProviderProps","module","exports","import_react","__toESM","require","import_core","import_use_constant","import_use_controllable_state","props","state","options","arguments","length","handleRef","default","useRef","contentRef","frameSize","setFrameSize","useState","maxContentSize","setMaxContentSize","_props_snapPointsMode","snapPointsMode","_props_snapPoints","snapPointsProp","snapPoints","hasFit","useMemo","dismissOnSnapToBottom","JSON","stringify","position_","setPositionImmediate","useControllableState","prop","position","defaultProp","defaultPosition","open","onChange","onPositionChange","strategy","setPosition","useCallback","next","setOpen","process","env","NODE_ENV","some","p","endsWith","n","Number","slice","console","warn","indexOf","shouldSetPositionOpen","useEffect","animationDriver","useConfiguration","Error","scrollBridge","useConstant","parentDragListeners","Set","bridge","hasScrollableContent","enabled","y","paneY","paneMinY","scrollStartY","drag","release","scrollLock","isParentDragging","onParentDragging","cb","add","delete","setParentDragging","val","forEach","disableRemoveScroll","modal","forceRemoveScrollEnabled","maxSnapPoint","screenSize","_props_dismissOnOverlayPress","_props_dismissOnSnapToBottom","providerProps","hidden","isHidden","dismissOnOverlayPress"],"sources":["../../src/useSheetProviderProps.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}