@hanzogui/sheet 3.0.2 → 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 (296) hide show
  1. package/LICENSE +40 -19
  2. package/dist/cjs/GestureDetectorWrapper.cjs +27 -21
  3. package/dist/cjs/GestureDetectorWrapper.native.js +33 -28
  4. package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -1
  5. package/dist/cjs/GestureSheetContext.cjs +14 -12
  6. package/dist/cjs/GestureSheetContext.native.js +29 -27
  7. package/dist/cjs/GestureSheetContext.native.js.map +1 -1
  8. package/dist/cjs/Sheet.cjs +89 -87
  9. package/dist/cjs/Sheet.native.js +89 -87
  10. package/dist/cjs/Sheet.native.js.map +1 -1
  11. package/dist/cjs/SheetContext.cjs +16 -14
  12. package/dist/cjs/SheetContext.native.js +16 -14
  13. package/dist/cjs/SheetContext.native.js.map +1 -1
  14. package/dist/cjs/SheetController.cjs +40 -32
  15. package/dist/cjs/SheetController.native.js +62 -54
  16. package/dist/cjs/SheetController.native.js.map +1 -1
  17. package/dist/cjs/SheetImplementationCustom.cjs +544 -427
  18. package/dist/cjs/SheetImplementationCustom.native.js +567 -476
  19. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  20. package/dist/cjs/SheetScrollView.cjs +169 -133
  21. package/dist/cjs/SheetScrollView.native.js +189 -163
  22. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  23. package/dist/cjs/constants.cjs +16 -14
  24. package/dist/cjs/constants.native.js +16 -14
  25. package/dist/cjs/constants.native.js.map +1 -1
  26. package/dist/cjs/contexts.cjs +27 -25
  27. package/dist/cjs/contexts.native.js +29 -27
  28. package/dist/cjs/contexts.native.js.map +1 -1
  29. package/dist/cjs/controller.cjs +14 -12
  30. package/dist/cjs/controller.native.js +14 -12
  31. package/dist/cjs/controller.native.js.map +1 -1
  32. package/dist/cjs/createSheet.cjs +160 -161
  33. package/dist/cjs/createSheet.native.js +173 -181
  34. package/dist/cjs/createSheet.native.js.map +1 -1
  35. package/dist/cjs/gestureState.cjs +16 -14
  36. package/dist/cjs/gestureState.native.js +16 -14
  37. package/dist/cjs/gestureState.native.js.map +1 -1
  38. package/dist/cjs/helpers.cjs +17 -13
  39. package/dist/cjs/helpers.native.js +17 -13
  40. package/dist/cjs/helpers.native.js.map +1 -1
  41. package/dist/cjs/index.cjs +7 -5
  42. package/dist/cjs/index.native.js +7 -5
  43. package/dist/cjs/index.native.js.map +1 -1
  44. package/dist/cjs/nativeSheet.cjs +64 -55
  45. package/dist/cjs/nativeSheet.native.js +73 -68
  46. package/dist/cjs/nativeSheet.native.js.map +1 -1
  47. package/dist/cjs/setupGestureHandler.cjs +26 -20
  48. package/dist/cjs/setupGestureHandler.native.js +26 -21
  49. package/dist/cjs/setupGestureHandler.native.js.map +1 -1
  50. package/dist/cjs/types.cjs +7 -5
  51. package/dist/cjs/types.native.js +7 -5
  52. package/dist/cjs/types.native.js.map +1 -1
  53. package/dist/cjs/useGestureHandlerPan.cjs +181 -111
  54. package/dist/cjs/useGestureHandlerPan.native.js +183 -115
  55. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  56. package/dist/cjs/useKeyboardControllerSheet.cjs +15 -13
  57. package/dist/cjs/useKeyboardControllerSheet.native.js +100 -82
  58. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -1
  59. package/dist/cjs/useSheet.cjs +12 -10
  60. package/dist/cjs/useSheet.native.js +16 -14
  61. package/dist/cjs/useSheet.native.js.map +1 -1
  62. package/dist/cjs/useSheetController.cjs +35 -33
  63. package/dist/cjs/useSheetController.native.js +37 -35
  64. package/dist/cjs/useSheetController.native.js.map +1 -1
  65. package/dist/cjs/useSheetOffscreenSize.cjs +35 -23
  66. package/dist/cjs/useSheetOffscreenSize.native.js +36 -27
  67. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
  68. package/dist/cjs/useSheetOpenState.cjs +28 -25
  69. package/dist/cjs/useSheetOpenState.native.js +39 -37
  70. package/dist/cjs/useSheetOpenState.native.js.map +1 -1
  71. package/dist/cjs/useSheetProviderProps.cjs +131 -83
  72. package/dist/cjs/useSheetProviderProps.native.js +167 -124
  73. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  74. package/dist/cjs/useSheetScrollViewGestures.cjs +124 -81
  75. package/dist/cjs/useSheetScrollViewGestures.native.js +128 -79
  76. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
  77. package/dist/esm/GestureDetectorWrapper.mjs +12 -8
  78. package/dist/esm/GestureDetectorWrapper.mjs.map +1 -1
  79. package/dist/esm/GestureDetectorWrapper.native.js +18 -15
  80. package/dist/esm/GestureDetectorWrapper.native.js.map +1 -1
  81. package/dist/esm/GestureSheetContext.native.js +14 -14
  82. package/dist/esm/GestureSheetContext.native.js.map +1 -1
  83. package/dist/esm/Sheet.mjs +70 -70
  84. package/dist/esm/Sheet.mjs.map +1 -1
  85. package/dist/esm/Sheet.native.js +70 -70
  86. package/dist/esm/Sheet.native.js.map +1 -1
  87. package/dist/esm/SheetContext.mjs +2 -2
  88. package/dist/esm/SheetContext.mjs.map +1 -1
  89. package/dist/esm/SheetContext.native.js +2 -2
  90. package/dist/esm/SheetContext.native.js.map +1 -1
  91. package/dist/esm/SheetController.mjs +12 -6
  92. package/dist/esm/SheetController.mjs.map +1 -1
  93. package/dist/esm/SheetController.native.js +18 -12
  94. package/dist/esm/SheetController.native.js.map +1 -1
  95. package/dist/esm/SheetImplementationCustom.mjs +501 -386
  96. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  97. package/dist/esm/SheetImplementationCustom.native.js +520 -435
  98. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  99. package/dist/esm/SheetScrollView.mjs +133 -99
  100. package/dist/esm/SheetScrollView.mjs.map +1 -1
  101. package/dist/esm/SheetScrollView.native.js +155 -131
  102. package/dist/esm/SheetScrollView.native.js.map +1 -1
  103. package/dist/esm/constants.mjs +4 -4
  104. package/dist/esm/constants.mjs.map +1 -1
  105. package/dist/esm/constants.native.js +4 -4
  106. package/dist/esm/constants.native.js.map +1 -1
  107. package/dist/esm/contexts.mjs +3 -3
  108. package/dist/esm/contexts.mjs.map +1 -1
  109. package/dist/esm/contexts.native.js +3 -3
  110. package/dist/esm/contexts.native.js.map +1 -1
  111. package/dist/esm/createSheet.mjs +130 -133
  112. package/dist/esm/createSheet.mjs.map +1 -1
  113. package/dist/esm/createSheet.native.js +142 -152
  114. package/dist/esm/createSheet.native.js.map +1 -1
  115. package/dist/esm/helpers.mjs +5 -3
  116. package/dist/esm/helpers.mjs.map +1 -1
  117. package/dist/esm/helpers.native.js +5 -3
  118. package/dist/esm/helpers.native.js.map +1 -1
  119. package/dist/esm/nativeSheet.mjs +45 -38
  120. package/dist/esm/nativeSheet.mjs.map +1 -1
  121. package/dist/esm/nativeSheet.native.js +51 -48
  122. package/dist/esm/nativeSheet.native.js.map +1 -1
  123. package/dist/esm/setupGestureHandler.mjs +12 -8
  124. package/dist/esm/setupGestureHandler.mjs.map +1 -1
  125. package/dist/esm/setupGestureHandler.native.js +12 -9
  126. package/dist/esm/setupGestureHandler.native.js.map +1 -1
  127. package/dist/esm/useGestureHandlerPan.mjs +167 -99
  128. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  129. package/dist/esm/useGestureHandlerPan.native.js +168 -102
  130. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  131. package/dist/esm/useKeyboardControllerSheet.mjs +3 -3
  132. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  133. package/dist/esm/useKeyboardControllerSheet.native.js +85 -69
  134. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -1
  135. package/dist/esm/useSheetController.mjs +11 -11
  136. package/dist/esm/useSheetController.mjs.map +1 -1
  137. package/dist/esm/useSheetController.native.js +11 -11
  138. package/dist/esm/useSheetController.native.js.map +1 -1
  139. package/dist/esm/useSheetOffscreenSize.mjs +23 -13
  140. package/dist/esm/useSheetOffscreenSize.mjs.map +1 -1
  141. package/dist/esm/useSheetOffscreenSize.native.js +24 -17
  142. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
  143. package/dist/esm/useSheetOpenState.mjs +14 -13
  144. package/dist/esm/useSheetOpenState.mjs.map +1 -1
  145. package/dist/esm/useSheetOpenState.native.js +17 -17
  146. package/dist/esm/useSheetOpenState.native.js.map +1 -1
  147. package/dist/esm/useSheetProviderProps.mjs +101 -55
  148. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  149. package/dist/esm/useSheetProviderProps.native.js +137 -96
  150. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  151. package/dist/esm/useSheetScrollViewGestures.mjs +112 -71
  152. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  153. package/dist/esm/useSheetScrollViewGestures.native.js +116 -69
  154. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
  155. package/dist/jsx/GestureDetectorWrapper.mjs +12 -8
  156. package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -1
  157. package/dist/jsx/GestureDetectorWrapper.native.js +33 -28
  158. package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -1
  159. package/dist/jsx/GestureSheetContext.native.js +29 -27
  160. package/dist/jsx/GestureSheetContext.native.js.map +1 -1
  161. package/dist/jsx/Sheet.mjs +70 -70
  162. package/dist/jsx/Sheet.mjs.map +1 -1
  163. package/dist/jsx/Sheet.native.js +89 -87
  164. package/dist/jsx/Sheet.native.js.map +1 -1
  165. package/dist/jsx/SheetContext.mjs +2 -2
  166. package/dist/jsx/SheetContext.mjs.map +1 -1
  167. package/dist/jsx/SheetContext.native.js +16 -14
  168. package/dist/jsx/SheetContext.native.js.map +1 -1
  169. package/dist/jsx/SheetController.mjs +12 -6
  170. package/dist/jsx/SheetController.mjs.map +1 -1
  171. package/dist/jsx/SheetController.native.js +62 -54
  172. package/dist/jsx/SheetController.native.js.map +1 -1
  173. package/dist/jsx/SheetImplementationCustom.mjs +501 -386
  174. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  175. package/dist/jsx/SheetImplementationCustom.native.js +567 -476
  176. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  177. package/dist/jsx/SheetScrollView.mjs +133 -99
  178. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  179. package/dist/jsx/SheetScrollView.native.js +189 -163
  180. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  181. package/dist/jsx/constants.mjs +4 -4
  182. package/dist/jsx/constants.mjs.map +1 -1
  183. package/dist/jsx/constants.native.js +16 -14
  184. package/dist/jsx/constants.native.js.map +1 -1
  185. package/dist/jsx/contexts.mjs +3 -3
  186. package/dist/jsx/contexts.mjs.map +1 -1
  187. package/dist/jsx/contexts.native.js +29 -27
  188. package/dist/jsx/contexts.native.js.map +1 -1
  189. package/dist/jsx/controller.native.js +14 -12
  190. package/dist/jsx/createSheet.mjs +130 -133
  191. package/dist/jsx/createSheet.mjs.map +1 -1
  192. package/dist/jsx/createSheet.native.js +173 -181
  193. package/dist/jsx/createSheet.native.js.map +1 -1
  194. package/dist/jsx/gestureState.native.js +16 -14
  195. package/dist/jsx/gestureState.native.js.map +1 -1
  196. package/dist/jsx/helpers.mjs +5 -3
  197. package/dist/jsx/helpers.mjs.map +1 -1
  198. package/dist/jsx/helpers.native.js +17 -13
  199. package/dist/jsx/helpers.native.js.map +1 -1
  200. package/dist/jsx/index.native.js +7 -5
  201. package/dist/jsx/index.native.js.map +1 -1
  202. package/dist/jsx/nativeSheet.mjs +45 -38
  203. package/dist/jsx/nativeSheet.mjs.map +1 -1
  204. package/dist/jsx/nativeSheet.native.js +73 -68
  205. package/dist/jsx/nativeSheet.native.js.map +1 -1
  206. package/dist/jsx/setupGestureHandler.mjs +12 -8
  207. package/dist/jsx/setupGestureHandler.mjs.map +1 -1
  208. package/dist/jsx/setupGestureHandler.native.js +26 -21
  209. package/dist/jsx/setupGestureHandler.native.js.map +1 -1
  210. package/dist/jsx/types.native.js +7 -5
  211. package/dist/jsx/useGestureHandlerPan.mjs +167 -99
  212. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  213. package/dist/jsx/useGestureHandlerPan.native.js +183 -115
  214. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  215. package/dist/jsx/useKeyboardControllerSheet.mjs +3 -3
  216. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  217. package/dist/jsx/useKeyboardControllerSheet.native.js +100 -82
  218. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -1
  219. package/dist/jsx/useSheet.native.js +16 -14
  220. package/dist/jsx/useSheetController.mjs +11 -11
  221. package/dist/jsx/useSheetController.mjs.map +1 -1
  222. package/dist/jsx/useSheetController.native.js +37 -35
  223. package/dist/jsx/useSheetController.native.js.map +1 -1
  224. package/dist/jsx/useSheetOffscreenSize.mjs +23 -13
  225. package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -1
  226. package/dist/jsx/useSheetOffscreenSize.native.js +36 -27
  227. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
  228. package/dist/jsx/useSheetOpenState.mjs +14 -13
  229. package/dist/jsx/useSheetOpenState.mjs.map +1 -1
  230. package/dist/jsx/useSheetOpenState.native.js +39 -37
  231. package/dist/jsx/useSheetOpenState.native.js.map +1 -1
  232. package/dist/jsx/useSheetProviderProps.mjs +101 -55
  233. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  234. package/dist/jsx/useSheetProviderProps.native.js +167 -124
  235. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  236. package/dist/jsx/useSheetScrollViewGestures.mjs +112 -71
  237. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  238. package/dist/jsx/useSheetScrollViewGestures.native.js +128 -79
  239. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
  240. package/package.json +35 -25
  241. package/src/Sheet.tsx +3 -3
  242. package/src/SheetController.tsx +4 -1
  243. package/src/SheetImplementationCustom.tsx +21 -10
  244. package/src/createSheet.tsx +1 -1
  245. package/src/useSheetController.tsx +4 -0
  246. package/types/GestureDetectorWrapper.d.ts +1 -1
  247. package/types/GestureDetectorWrapper.d.ts.map +1 -0
  248. package/types/GestureSheetContext.d.ts +1 -1
  249. package/types/GestureSheetContext.d.ts.map +1 -0
  250. package/types/Sheet.d.ts +51 -51
  251. package/types/Sheet.d.ts.map +1 -0
  252. package/types/SheetContext.d.ts +8 -8
  253. package/types/SheetContext.d.ts.map +1 -0
  254. package/types/SheetController.d.ts +3 -2
  255. package/types/SheetController.d.ts.map +1 -0
  256. package/types/SheetImplementationCustom.d.ts +4 -4
  257. package/types/SheetImplementationCustom.d.ts.map +1 -0
  258. package/types/SheetScrollView.d.ts +10 -10
  259. package/types/SheetScrollView.d.ts.map +1 -0
  260. package/types/constants.d.ts.map +1 -0
  261. package/types/contexts.d.ts.map +1 -0
  262. package/types/controller.d.ts.map +1 -0
  263. package/types/createSheet.d.ts +31 -31
  264. package/types/createSheet.d.ts.map +1 -0
  265. package/types/gestureState.d.ts +3 -3
  266. package/types/gestureState.d.ts.map +1 -0
  267. package/types/helpers.d.ts.map +1 -0
  268. package/types/index.d.ts.map +1 -0
  269. package/types/nativeSheet.d.ts.map +1 -0
  270. package/types/setupGestureHandler.d.ts +1 -1
  271. package/types/setupGestureHandler.d.ts.map +1 -0
  272. package/types/types.d.ts +4 -4
  273. package/types/types.d.ts.map +1 -0
  274. package/types/useGestureHandlerPan.d.ts.map +1 -0
  275. package/types/useKeyboardControllerSheet.d.ts.map +1 -0
  276. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -0
  277. package/types/useSheet.d.ts.map +1 -0
  278. package/types/useSheetController.d.ts +3 -0
  279. package/types/useSheetController.d.ts.map +1 -0
  280. package/types/useSheetOffscreenSize.d.ts.map +1 -0
  281. package/types/useSheetOpenState.d.ts.map +1 -0
  282. package/types/useSheetProviderProps.d.ts +2 -2
  283. package/types/useSheetProviderProps.d.ts.map +1 -0
  284. package/types/useSheetScrollViewGestures.d.ts.map +1 -0
  285. package/types/useSheetScrollViewGestures.native.d.ts.map +1 -0
  286. package/controller/index.cjs +0 -2
  287. package/controller/index.d.ts +0 -5
  288. package/controller/index.js +0 -2
  289. package/controller/index.native.cjs +0 -2
  290. package/controller/index.native.js +0 -2
  291. package/next.md +0 -78
  292. package/setup-gesture-handler/index.cjs +0 -2
  293. package/setup-gesture-handler/index.js +0 -2
  294. package/setup-gesture-handler/index.native.cjs +0 -2
  295. package/setup-gesture-handler/index.native.js +0 -2
  296. package/tsconfig.json +0 -56
@@ -5,14 +5,16 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
9
- get: () => from[key],
10
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
11
- });
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
12
14
  return to;
13
15
  };
14
16
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
15
- value: !0
17
+ value: true
16
18
  }), mod);
17
19
  var types_exports = {};
18
20
  module.exports = __toCommonJS(types_exports);
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","types_exports"],"sources":["../../src/types.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","types_exports"],"sources":["../../src/types.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA","ignoreList":[]}
@@ -3,133 +3,203 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
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, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var useGestureHandlerPan_exports = {};
22
24
  __export(useGestureHandlerPan_exports, {
23
25
  useGestureHandlerPan: () => useGestureHandlerPan
24
26
  });
25
27
  module.exports = __toCommonJS(useGestureHandlerPan_exports);
26
- var import_react = require("react"),
27
- import_gestureState = require("./gestureState.cjs");
28
+ var import_react = require("react");
29
+ var import_gestureState = require("./gestureState.cjs");
28
30
  const AT_TOP_THRESHOLD = 5;
29
31
  function useGestureHandlerPan(config) {
30
32
  const {
31
- positions,
32
- frameSize,
33
- setPosition,
34
- animateTo,
35
- stopSpring,
36
- scrollBridge,
37
- setIsDragging,
38
- getCurrentPosition,
39
- resisted,
40
- disableDrag,
41
- isShowingInnerSheet,
42
- setAnimatedPosition,
43
- scrollGestureRef
44
- } = config,
45
- gestureHandlerEnabled = (0, import_gestureState.isGestureHandlerEnabled)(),
46
- panGestureRef = (0, import_react.useRef)(null),
47
- gestureStateRef = (0, import_react.useRef)({
48
- startY: 0,
49
- // track last translation when pan was active (for position calculation after handoff)
50
- lastPanTranslationY: 0,
51
- // accumulated position offset from all pan movements
52
- accumulatedOffset: 0,
53
- // track previous translation for direction detection (like actions-sheet)
54
- prevTranslationY: 0,
55
- // track if scroll was engaged (scrollY > 0) at some point
56
- scrollEngaged: !1,
57
- // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
58
- // causing positions to revert. Frozen positions ensure stable snap calculation.
59
- frozenPositions: [],
60
- frozenMinY: 0,
61
- // whether pan gesture actually started (vs just a tap in onBegin)
62
- panStarted: !1
63
- }),
64
- onStart = (0, import_react.useCallback)(() => {
65
- stopSpring();
66
- }, [stopSpring]),
67
- onEnd = (0, import_react.useCallback)((closestPoint, animationOverride) => {
68
- setIsDragging(!1), scrollBridge.setParentDragging(!1), scrollBridge.setScrollEnabled?.(!0), setPosition(closestPoint), animateTo(closestPoint, animationOverride);
69
- }, [setIsDragging, scrollBridge, setPosition, animateTo]);
70
- return {
71
- panGesture: (0, import_react.useMemo)(() => {
72
- if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) return null;
33
+ positions,
34
+ frameSize,
35
+ setPosition,
36
+ animateTo,
37
+ stopSpring,
38
+ scrollBridge,
39
+ setIsDragging,
40
+ getCurrentPosition,
41
+ resisted,
42
+ disableDrag,
43
+ isShowingInnerSheet,
44
+ setAnimatedPosition,
45
+ scrollGestureRef
46
+ } = config;
47
+ const gestureHandlerEnabled = (0, import_gestureState.isGestureHandlerEnabled)();
48
+ const panGestureRef = (0, import_react.useRef)(null);
49
+ const gestureStateRef = (0, import_react.useRef)({
50
+ startY: 0,
51
+ // track last translation when pan was active (for position calculation after handoff)
52
+ lastPanTranslationY: 0,
53
+ // accumulated position offset from all pan movements
54
+ accumulatedOffset: 0,
55
+ // track previous translation for direction detection (like actions-sheet)
56
+ prevTranslationY: 0,
57
+ // track if scroll was engaged (scrollY > 0) at some point
58
+ scrollEngaged: false,
59
+ // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
60
+ // causing positions to revert. Frozen positions ensure stable snap calculation.
61
+ frozenPositions: [],
62
+ frozenMinY: 0,
63
+ // whether pan gesture actually started (vs just a tap in onBegin)
64
+ panStarted: false
65
+ });
66
+ const onStart = (0, import_react.useCallback)(() => {
67
+ stopSpring();
68
+ }, [stopSpring]);
69
+ const onEnd = (0, import_react.useCallback)((closestPoint, animationOverride) => {
70
+ setIsDragging(false);
71
+ scrollBridge.setParentDragging(false);
72
+ scrollBridge.setScrollEnabled?.(true);
73
+ setPosition(closestPoint);
74
+ animateTo(closestPoint, animationOverride);
75
+ }, [setIsDragging, scrollBridge, setPosition, animateTo]);
76
+ const panGesture = (0, import_react.useMemo)(() => {
77
+ if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) {
78
+ return null;
79
+ }
80
+ const {
81
+ Gesture
82
+ } = (0, import_gestureState.getGestureHandlerState)();
83
+ if (!Gesture) {
84
+ return null;
85
+ }
86
+ const minY = positions[0];
87
+ const gs = gestureStateRef.current;
88
+ const gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(false).onBegin(() => {
89
+ gs.panStarted = false;
90
+ if (config.pauseKeyboardHandler) {
91
+ config.pauseKeyboardHandler.current = true;
92
+ }
93
+ const pos = getCurrentPosition();
94
+ const atTop = pos <= minY + AT_TOP_THRESHOLD;
95
+ const currentScrollY = scrollBridge.y;
96
+ gs.startY = pos;
97
+ gs.lastPanTranslationY = 0;
98
+ gs.accumulatedOffset = 0;
99
+ gs.prevTranslationY = 0;
100
+ gs.scrollEngaged = currentScrollY > 0;
101
+ gs.frozenPositions = [...positions];
102
+ gs.frozenMinY = minY;
103
+ if (!atTop) {
104
+ scrollBridge.setScrollEnabled?.(false, 0);
105
+ }
106
+ }).onStart(() => {
107
+ gs.panStarted = true;
108
+ setIsDragging(true);
109
+ scrollBridge.initialPosition = gs.startY;
110
+ onStart();
111
+ }).onChange(event => {
73
112
  const {
74
- Gesture
75
- } = (0, import_gestureState.getGestureHandlerState)();
76
- if (!Gesture) return null;
77
- const minY = positions[0],
78
- gs = gestureStateRef.current,
79
- gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(!1).onBegin(() => {
80
- gs.panStarted = !1, config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !0);
81
- const pos = getCurrentPosition(),
82
- atTop = pos <= minY + AT_TOP_THRESHOLD,
83
- currentScrollY = scrollBridge.y;
84
- gs.startY = pos, gs.lastPanTranslationY = 0, gs.accumulatedOffset = 0, gs.prevTranslationY = 0, gs.scrollEngaged = currentScrollY > 0, gs.frozenPositions = [...positions], gs.frozenMinY = minY, atTop || scrollBridge.setScrollEnabled?.(!1, 0);
85
- }).onStart(() => {
86
- gs.panStarted = !0, setIsDragging(!0), scrollBridge.initialPosition = gs.startY, onStart();
87
- }).onChange(event => {
88
- const {
89
- translationY
90
- } = event,
91
- isSwipingDown = gs.prevTranslationY < translationY,
92
- deltaY = translationY - gs.prevTranslationY;
93
- gs.prevTranslationY = translationY;
94
- const scrollY = scrollBridge.y;
95
- scrollY > 0 && (gs.scrollEngaged = !0);
96
- const isCurrentlyAtTop = gs.startY + gs.accumulatedOffset <= minY + AT_TOP_THRESHOLD,
97
- nodeIsScrolling = scrollY > 0;
98
- let panHandles = !1;
99
- const hasScrollableContent = scrollBridge.hasScrollableContent !== !1;
100
- if (isCurrentlyAtTop ? isSwipingDown ? nodeIsScrolling && hasScrollableContent ? panHandles = !1 : (gs.scrollEngaged, panHandles = !0) : hasScrollableContent ? panHandles = !1 : panHandles = !0 : isSwipingDown ? panHandles = !nodeIsScrolling || !hasScrollableContent : panHandles = !0, panHandles) {
101
- const lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
102
- scrollBridge.setScrollEnabled?.(!1, lockTo), gs.accumulatedOffset += deltaY;
103
- const newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
104
- scrollBridge.paneY = newPosition, setAnimatedPosition(newPosition), scrollBridge.setParentDragging(newPosition > minY);
105
- } else scrollBridge.setScrollEnabled?.(!0);
106
- }).onEnd(event => {
107
- const {
108
- velocityY
109
- } = event,
110
- currentPos = gs.startY + gs.accumulatedOffset;
111
- scrollBridge.scrollLockY = void 0;
112
- const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions,
113
- snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
114
- if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
115
- onEnd(0);
116
- return;
113
+ translationY
114
+ } = event;
115
+ const isSwipingDown = gs.prevTranslationY < translationY;
116
+ const deltaY = translationY - gs.prevTranslationY;
117
+ gs.prevTranslationY = translationY;
118
+ const scrollY = scrollBridge.y;
119
+ if (scrollY > 0) {
120
+ gs.scrollEngaged = true;
121
+ }
122
+ const currentPos = gs.startY + gs.accumulatedOffset;
123
+ const isCurrentlyAtTop = currentPos <= minY + AT_TOP_THRESHOLD;
124
+ const nodeIsScrolling = scrollY > 0;
125
+ let panHandles = false;
126
+ const hasScrollableContent = scrollBridge.hasScrollableContent !== false;
127
+ if (!isCurrentlyAtTop) {
128
+ if (isSwipingDown) {
129
+ panHandles = !nodeIsScrolling || !hasScrollableContent;
130
+ } else {
131
+ panHandles = true;
132
+ }
133
+ } else {
134
+ if (isSwipingDown) {
135
+ if (nodeIsScrolling && hasScrollableContent) {
136
+ panHandles = false;
137
+ } else if (gs.scrollEngaged && hasScrollableContent) {
138
+ panHandles = true;
139
+ } else {
140
+ panHandles = true;
117
141
  }
118
- const velocity = velocityY / 1e3,
119
- projectedEnd = currentPos + frameSize * velocity * 0.2;
120
- let closestPoint = 0,
121
- minDist = Number.POSITIVE_INFINITY;
122
- for (let i = 0; i < snapPositions.length; i++) {
123
- const pos = snapPositions[i],
124
- dist = Math.abs(projectedEnd - pos);
125
- dist < minDist && (minDist = dist, closestPoint = i);
142
+ } else {
143
+ if (hasScrollableContent) {
144
+ panHandles = false;
145
+ } else {
146
+ panHandles = true;
126
147
  }
127
- onEnd(closestPoint);
128
- }).onFinalize(() => {
129
- scrollBridge.scrollLockY = void 0, gs.panStarted ? setIsDragging(!1) : config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !1);
130
- }).runOnJS(!0);
131
- return scrollGestureRef?.current ? gesture.simultaneousWithExternalGesture(scrollGestureRef.current) : gesture;
132
- }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted, onStart, onEnd, setIsDragging, setAnimatedPosition]),
148
+ }
149
+ }
150
+ if (panHandles) {
151
+ const lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
152
+ scrollBridge.setScrollEnabled?.(false, lockTo);
153
+ gs.accumulatedOffset += deltaY;
154
+ const newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
155
+ scrollBridge.paneY = newPosition;
156
+ setAnimatedPosition(newPosition);
157
+ scrollBridge.setParentDragging(newPosition > minY);
158
+ } else {
159
+ scrollBridge.setScrollEnabled?.(true);
160
+ }
161
+ }).onEnd(event => {
162
+ const {
163
+ velocityY
164
+ } = event;
165
+ const currentPos = gs.startY + gs.accumulatedOffset;
166
+ scrollBridge.scrollLockY = void 0;
167
+ const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
168
+ const snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
169
+ if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
170
+ onEnd(0);
171
+ return;
172
+ }
173
+ const velocity = velocityY / 1e3;
174
+ const projectedEnd = currentPos + frameSize * velocity * 0.2;
175
+ let closestPoint = 0;
176
+ let minDist = Number.POSITIVE_INFINITY;
177
+ for (let i = 0; i < snapPositions.length; i++) {
178
+ const pos = snapPositions[i];
179
+ const dist = Math.abs(projectedEnd - pos);
180
+ if (dist < minDist) {
181
+ minDist = dist;
182
+ closestPoint = i;
183
+ }
184
+ }
185
+ onEnd(closestPoint);
186
+ }).onFinalize(() => {
187
+ scrollBridge.scrollLockY = void 0;
188
+ if (gs.panStarted) {
189
+ setIsDragging(false);
190
+ } else {
191
+ if (config.pauseKeyboardHandler) {
192
+ config.pauseKeyboardHandler.current = false;
193
+ }
194
+ }
195
+ }).runOnJS(true);
196
+ if (scrollGestureRef?.current) {
197
+ return gesture.simultaneousWithExternalGesture(scrollGestureRef.current);
198
+ }
199
+ return gesture;
200
+ }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted, onStart, onEnd, setIsDragging, setAnimatedPosition]);
201
+ return {
202
+ panGesture,
133
203
  panGestureRef,
134
204
  gestureHandlerEnabled
135
205
  };