@lodev09/react-native-true-sheet 4.0.0-beta.0 → 4.0.0-beta.2

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 (388) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +42 -31
  3. package/RNTrueSheet.podspec +10 -2
  4. package/android/build.gradle +2 -1
  5. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +174 -49
  6. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerViewManager.kt +7 -0
  7. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +371 -18
  8. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentViewManager.kt +14 -0
  9. package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +156 -21
  10. package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterViewManager.kt +14 -0
  11. package/android/src/main/java/com/lodev09/truesheet/TrueSheetHeaderView.kt +38 -0
  12. package/android/src/main/java/com/lodev09/truesheet/TrueSheetHeaderViewManager.kt +28 -0
  13. package/android/src/main/java/com/lodev09/truesheet/TrueSheetModule.kt +84 -24
  14. package/android/src/main/java/com/lodev09/truesheet/TrueSheetPackage.kt +5 -4
  15. package/android/src/main/java/com/lodev09/truesheet/TrueSheetPeekView.kt +72 -0
  16. package/android/src/main/java/com/lodev09/truesheet/TrueSheetPeekViewManager.kt +33 -0
  17. package/android/src/main/java/com/lodev09/truesheet/TrueSheetStateUpdater.kt +45 -0
  18. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +526 -231
  19. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +1224 -603
  20. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +136 -29
  21. package/android/src/main/java/com/lodev09/truesheet/core/RNScreensEventObserver.kt +63 -0
  22. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetBehavior.kt +36 -0
  23. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetView.kt +255 -0
  24. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetCoordinatorLayout.kt +303 -0
  25. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +277 -0
  26. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDimView.kt +162 -0
  27. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetGrabberView.kt +180 -0
  28. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetKeyboardObserver.kt +207 -0
  29. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetStackManager.kt +220 -0
  30. package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetDragEvents.kt +71 -0
  31. package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetFocusEvents.kt +65 -0
  32. package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetLifecycleEvents.kt +112 -0
  33. package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetStateEvents.kt +56 -0
  34. package/android/src/main/java/com/lodev09/truesheet/utils/KeyboardUtils.kt +84 -0
  35. package/android/src/main/java/com/lodev09/truesheet/utils/ScreenUtils.kt +93 -67
  36. package/android/src/main/java/com/lodev09/truesheet/utils/TouchEventDeduper.kt +31 -0
  37. package/android/src/main/java/com/lodev09/truesheet/utils/ViewUtils.kt +30 -0
  38. package/android/src/main/jni/CMakeLists.txt +63 -0
  39. package/android/src/main/jni/TrueSheetSpec.h +19 -0
  40. package/android/src/main/jni/TrueSheetStateUpdater.cpp +96 -0
  41. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewComponentDescriptor.h +24 -0
  42. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +43 -0
  43. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.h +28 -0
  44. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.cpp +11 -0
  45. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.h +37 -0
  46. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewComponentDescriptor.h +24 -0
  47. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.cpp +56 -0
  48. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.h +28 -0
  49. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewState.cpp +11 -0
  50. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewState.h +41 -0
  51. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetInsets.cpp +18 -0
  52. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetInsets.h +16 -0
  53. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h +28 -0
  54. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.cpp +61 -0
  55. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.h +45 -0
  56. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.cpp +23 -0
  57. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.h +52 -0
  58. package/ios/TrueSheetContainerView.h +81 -6
  59. package/ios/TrueSheetContainerView.mm +275 -21
  60. package/ios/TrueSheetContentView.h +38 -1
  61. package/ios/TrueSheetContentView.mm +413 -43
  62. package/ios/TrueSheetFooterView.h +27 -2
  63. package/ios/TrueSheetFooterView.mm +141 -35
  64. package/ios/{events/OnDidDismissEvent.h → TrueSheetHeaderView.h} +10 -7
  65. package/ios/TrueSheetHeaderView.mm +64 -0
  66. package/ios/TrueSheetModule.mm +92 -5
  67. package/ios/TrueSheetPeekView.h +32 -0
  68. package/ios/TrueSheetPeekView.mm +99 -0
  69. package/ios/TrueSheetView.h +7 -15
  70. package/ios/TrueSheetView.mm +633 -215
  71. package/ios/TrueSheetViewController.h +84 -16
  72. package/ios/TrueSheetViewController.mm +1133 -333
  73. package/ios/core/RNScreensEventObserver.h +46 -0
  74. package/ios/core/RNScreensEventObserver.mm +280 -0
  75. package/ios/core/TrueSheetBlurView.h +27 -0
  76. package/ios/core/TrueSheetBlurView.mm +82 -0
  77. package/ios/core/TrueSheetDetentCalculator.h +107 -0
  78. package/ios/core/TrueSheetDetentCalculator.mm +197 -0
  79. package/ios/core/TrueSheetGrabberView.h +72 -0
  80. package/ios/core/TrueSheetGrabberView.mm +178 -0
  81. package/ios/core/TrueSheetKeyboardObserver.h +39 -0
  82. package/ios/core/TrueSheetKeyboardObserver.mm +112 -0
  83. package/ios/events/TrueSheetDragEvents.h +39 -0
  84. package/ios/events/TrueSheetDragEvents.mm +62 -0
  85. package/ios/events/{OnPositionChangeEvent.h → TrueSheetFocusEvents.h} +8 -5
  86. package/ios/events/TrueSheetFocusEvents.mm +49 -0
  87. package/ios/events/TrueSheetLifecycleEvents.h +40 -0
  88. package/ios/events/TrueSheetLifecycleEvents.mm +71 -0
  89. package/ios/events/TrueSheetStateEvents.h +35 -0
  90. package/ios/events/TrueSheetStateEvents.mm +49 -0
  91. package/ios/tvos/TrueSheetStubs.mm +154 -0
  92. package/ios/{events/OnMountEvent.h → utils/BlurUtil.h} +5 -7
  93. package/ios/utils/BlurUtil.mm +69 -0
  94. package/ios/utils/GestureUtil.h +7 -0
  95. package/ios/utils/GestureUtil.mm +12 -0
  96. package/ios/utils/PlatformUtil.h +15 -0
  97. package/ios/utils/UIView+FirstResponder.h +15 -0
  98. package/ios/utils/UIView+FirstResponder.mm +26 -0
  99. package/ios/{events/OnWillDismissEvent.h → utils/UIView+ScrollEdgeInteraction.h} +6 -7
  100. package/ios/utils/UIView+ScrollEdgeInteraction.mm +62 -0
  101. package/ios/utils/WindowUtil.mm +17 -1
  102. package/lib/module/TrueSheet.js +230 -64
  103. package/lib/module/TrueSheet.js.map +1 -1
  104. package/lib/module/TrueSheet.web.js +1203 -0
  105. package/lib/module/TrueSheet.web.js.map +1 -0
  106. package/lib/module/TrueSheetPeek.js +15 -0
  107. package/lib/module/TrueSheetPeek.js.map +1 -0
  108. package/lib/module/TrueSheetPeek.web.js +55 -0
  109. package/lib/module/TrueSheetPeek.web.js.map +1 -0
  110. package/lib/module/TrueSheetProvider.js +28 -0
  111. package/lib/module/TrueSheetProvider.js.map +1 -0
  112. package/lib/module/TrueSheetProvider.web.js +157 -0
  113. package/lib/module/TrueSheetProvider.web.js.map +1 -0
  114. package/lib/module/fabric/TrueSheetContainerViewNativeComponent.ts +1 -1
  115. package/lib/module/fabric/TrueSheetContentViewNativeComponent.ts +5 -1
  116. package/lib/module/fabric/TrueSheetFooterViewNativeComponent.ts +10 -2
  117. package/lib/module/fabric/TrueSheetHeaderViewNativeComponent.ts +8 -0
  118. package/lib/module/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
  119. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +105 -18
  120. package/lib/module/index.js +3 -3
  121. package/lib/module/index.js.map +1 -1
  122. package/lib/module/mocks/index.js +93 -0
  123. package/lib/module/mocks/index.js.map +1 -0
  124. package/lib/module/mocks/navigation.js +95 -0
  125. package/lib/module/mocks/navigation.js.map +1 -0
  126. package/lib/module/mocks/navigationExpoRouter.js +21 -0
  127. package/lib/module/mocks/navigationExpoRouter.js.map +1 -0
  128. package/lib/module/mocks/reanimated.js +91 -0
  129. package/lib/module/mocks/reanimated.js.map +1 -0
  130. package/lib/module/navigation/TrueSheetNavigatorContent.js +73 -0
  131. package/lib/module/navigation/TrueSheetNavigatorContent.js.map +1 -0
  132. package/lib/module/navigation/actions.js +50 -0
  133. package/lib/module/navigation/actions.js.map +1 -0
  134. package/lib/module/navigation/createTrueSheetRouter.js +166 -0
  135. package/lib/module/navigation/createTrueSheetRouter.js.map +1 -0
  136. package/lib/module/navigation/expo-router/index.js +48 -0
  137. package/lib/module/navigation/expo-router/index.js.map +1 -0
  138. package/lib/module/navigation/index.js +47 -0
  139. package/lib/module/navigation/index.js.map +1 -0
  140. package/lib/module/navigation/navigator.js +10 -0
  141. package/lib/module/navigation/navigator.js.map +1 -0
  142. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js +56 -0
  143. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js.map +1 -0
  144. package/lib/module/navigation/screen/TrueSheetScreen.js +49 -0
  145. package/lib/module/navigation/screen/TrueSheetScreen.js.map +1 -0
  146. package/lib/module/navigation/screen/index.js +5 -0
  147. package/lib/module/navigation/screen/index.js.map +1 -0
  148. package/lib/module/navigation/screen/types.js +4 -0
  149. package/lib/module/navigation/screen/types.js.map +1 -0
  150. package/lib/module/navigation/screen/useSheetScreenState.js +68 -0
  151. package/lib/module/navigation/screen/useSheetScreenState.js.map +1 -0
  152. package/lib/module/navigation/types.js +4 -0
  153. package/lib/module/navigation/types.js.map +1 -0
  154. package/lib/module/navigation/useTrueSheetNavigation.js +24 -0
  155. package/lib/module/navigation/useTrueSheetNavigation.js.map +1 -0
  156. package/lib/module/reanimated/ReanimatedTrueSheet.js +15 -9
  157. package/lib/module/reanimated/ReanimatedTrueSheet.js.map +1 -1
  158. package/lib/module/reanimated/ReanimatedTrueSheet.web.js +81 -0
  159. package/lib/module/reanimated/ReanimatedTrueSheet.web.js.map +1 -0
  160. package/lib/module/reanimated/ReanimatedTrueSheetProvider.js +4 -2
  161. package/lib/module/reanimated/ReanimatedTrueSheetProvider.js.map +1 -1
  162. package/lib/module/reanimated/index.js +2 -2
  163. package/lib/module/reanimated/index.js.map +1 -1
  164. package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js +20 -0
  165. package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js.map +1 -0
  166. package/lib/module/specs/NativeTrueSheetModule.js.map +1 -1
  167. package/lib/module/web/constants.js +16 -0
  168. package/lib/module/web/constants.js.map +1 -0
  169. package/lib/module/web/dom.js +10 -0
  170. package/lib/module/web/dom.js.map +1 -0
  171. package/lib/module/web/vaul/README.md +9 -0
  172. package/lib/module/web/vaul/browser.js +30 -0
  173. package/lib/module/web/vaul/browser.js.map +1 -0
  174. package/lib/module/web/vaul/constants.js +15 -0
  175. package/lib/module/web/vaul/constants.js.map +1 -0
  176. package/lib/module/web/vaul/context.js +59 -0
  177. package/lib/module/web/vaul/context.js.map +1 -0
  178. package/lib/module/web/vaul/helpers.js +99 -0
  179. package/lib/module/web/vaul/helpers.js.map +1 -0
  180. package/lib/module/web/vaul/index.js +1309 -0
  181. package/lib/module/web/vaul/index.js.map +1 -0
  182. package/lib/module/web/vaul/style.css +287 -0
  183. package/lib/module/web/vaul/style.css.d.js +2 -0
  184. package/lib/module/web/vaul/style.css.d.js.map +1 -0
  185. package/lib/module/web/vaul/types.js +2 -0
  186. package/lib/module/web/vaul/types.js.map +1 -0
  187. package/lib/module/web/vaul/use-composed-refs.js +34 -0
  188. package/lib/module/web/vaul/use-composed-refs.js.map +1 -0
  189. package/lib/module/web/vaul/use-controllable-state.js +54 -0
  190. package/lib/module/web/vaul/use-controllable-state.js.map +1 -0
  191. package/lib/module/web/vaul/use-position-fixed.js +123 -0
  192. package/lib/module/web/vaul/use-position-fixed.js.map +1 -0
  193. package/lib/module/web/vaul/use-prevent-scroll.js +258 -0
  194. package/lib/module/web/vaul/use-prevent-scroll.js.map +1 -0
  195. package/lib/module/web/vaul/use-scale-background.js +57 -0
  196. package/lib/module/web/vaul/use-scale-background.js.map +1 -0
  197. package/lib/module/web/vaul/use-snap-points.js +305 -0
  198. package/lib/module/web/vaul/use-snap-points.js.map +1 -0
  199. package/lib/typescript/src/TrueSheet.d.ts +51 -14
  200. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  201. package/lib/typescript/src/TrueSheet.types.d.ts +463 -54
  202. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  203. package/lib/typescript/src/TrueSheet.web.d.ts +5 -0
  204. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -0
  205. package/lib/typescript/src/TrueSheetPeek.d.ts +9 -0
  206. package/lib/typescript/src/TrueSheetPeek.d.ts.map +1 -0
  207. package/lib/typescript/src/TrueSheetPeek.web.d.ts +28 -0
  208. package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -0
  209. package/lib/typescript/src/TrueSheetProvider.d.ts +18 -0
  210. package/lib/typescript/src/TrueSheetProvider.d.ts.map +1 -0
  211. package/lib/typescript/src/TrueSheetProvider.web.d.ts +27 -0
  212. package/lib/typescript/src/TrueSheetProvider.web.d.ts.map +1 -0
  213. package/lib/typescript/src/fabric/TrueSheetContainerViewNativeComponent.d.ts.map +1 -1
  214. package/lib/typescript/src/fabric/TrueSheetContentViewNativeComponent.d.ts.map +1 -1
  215. package/lib/typescript/src/fabric/TrueSheetFooterViewNativeComponent.d.ts +2 -0
  216. package/lib/typescript/src/fabric/TrueSheetFooterViewNativeComponent.d.ts.map +1 -1
  217. package/lib/typescript/src/fabric/TrueSheetHeaderViewNativeComponent.d.ts +6 -0
  218. package/lib/typescript/src/fabric/TrueSheetHeaderViewNativeComponent.d.ts.map +1 -0
  219. package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts +6 -0
  220. package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts.map +1 -0
  221. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +67 -16
  222. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  223. package/lib/typescript/src/index.d.ts +2 -2
  224. package/lib/typescript/src/index.d.ts.map +1 -1
  225. package/lib/typescript/src/mocks/index.d.ts +43 -0
  226. package/lib/typescript/src/mocks/index.d.ts.map +1 -0
  227. package/lib/typescript/src/mocks/navigation.d.ts +70 -0
  228. package/lib/typescript/src/mocks/navigation.d.ts.map +1 -0
  229. package/lib/typescript/src/mocks/navigationExpoRouter.d.ts +22 -0
  230. package/lib/typescript/src/mocks/navigationExpoRouter.d.ts.map +1 -0
  231. package/lib/typescript/src/mocks/reanimated.d.ts +48 -0
  232. package/lib/typescript/src/mocks/reanimated.d.ts.map +1 -0
  233. package/lib/typescript/src/navigation/TrueSheetNavigatorContent.d.ts +5 -0
  234. package/lib/typescript/src/navigation/TrueSheetNavigatorContent.d.ts.map +1 -0
  235. package/lib/typescript/src/navigation/actions.d.ts +71 -0
  236. package/lib/typescript/src/navigation/actions.d.ts.map +1 -0
  237. package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts +14 -0
  238. package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts.map +1 -0
  239. package/lib/typescript/src/navigation/expo-router/index.d.ts +37 -0
  240. package/lib/typescript/src/navigation/expo-router/index.d.ts.map +1 -0
  241. package/lib/typescript/src/navigation/index.d.ts +46 -0
  242. package/lib/typescript/src/navigation/index.d.ts.map +1 -0
  243. package/lib/typescript/src/navigation/navigator.d.ts +7 -0
  244. package/lib/typescript/src/navigation/navigator.d.ts.map +1 -0
  245. package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts +3 -0
  246. package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts.map +1 -0
  247. package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts +3 -0
  248. package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts.map +1 -0
  249. package/lib/typescript/src/navigation/screen/index.d.ts +4 -0
  250. package/lib/typescript/src/navigation/screen/index.d.ts.map +1 -0
  251. package/lib/typescript/src/navigation/screen/types.d.ts +14 -0
  252. package/lib/typescript/src/navigation/screen/types.d.ts.map +1 -0
  253. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts +33 -0
  254. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts.map +1 -0
  255. package/lib/typescript/src/navigation/types.d.ts +177 -0
  256. package/lib/typescript/src/navigation/types.d.ts.map +1 -0
  257. package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts +23 -0
  258. package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts.map +1 -0
  259. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.d.ts.map +1 -1
  260. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts +41 -0
  261. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts.map +1 -0
  262. package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts +8 -2
  263. package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts.map +1 -1
  264. package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts +15 -0
  265. package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts.map +1 -0
  266. package/lib/typescript/src/specs/NativeTrueSheetModule.d.ts +25 -3
  267. package/lib/typescript/src/specs/NativeTrueSheetModule.d.ts.map +1 -1
  268. package/lib/typescript/src/web/constants.d.ts +14 -0
  269. package/lib/typescript/src/web/constants.d.ts.map +1 -0
  270. package/lib/typescript/src/web/dom.d.ts +7 -0
  271. package/lib/typescript/src/web/dom.d.ts.map +1 -0
  272. package/lib/typescript/src/web/vaul/browser.d.ts +8 -0
  273. package/lib/typescript/src/web/vaul/browser.d.ts.map +1 -0
  274. package/lib/typescript/src/web/vaul/constants.d.ts +13 -0
  275. package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -0
  276. package/lib/typescript/src/web/vaul/context.d.ts +53 -0
  277. package/lib/typescript/src/web/vaul/context.d.ts.map +1 -0
  278. package/lib/typescript/src/web/vaul/helpers.d.ts +17 -0
  279. package/lib/typescript/src/web/vaul/helpers.d.ts.map +1 -0
  280. package/lib/typescript/src/web/vaul/index.d.ts +228 -0
  281. package/lib/typescript/src/web/vaul/index.d.ts.map +1 -0
  282. package/lib/typescript/src/web/vaul/types.d.ts +7 -0
  283. package/lib/typescript/src/web/vaul/types.d.ts.map +1 -0
  284. package/lib/typescript/src/web/vaul/use-composed-refs.d.ts +14 -0
  285. package/lib/typescript/src/web/vaul/use-composed-refs.d.ts.map +1 -0
  286. package/lib/typescript/src/web/vaul/use-controllable-state.d.ts +9 -0
  287. package/lib/typescript/src/web/vaul/use-controllable-state.d.ts.map +1 -0
  288. package/lib/typescript/src/web/vaul/use-position-fixed.d.ts +19 -0
  289. package/lib/typescript/src/web/vaul/use-position-fixed.d.ts.map +1 -0
  290. package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts +18 -0
  291. package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts.map +1 -0
  292. package/lib/typescript/src/web/vaul/use-scale-background.d.ts +2 -0
  293. package/lib/typescript/src/web/vaul/use-scale-background.d.ts.map +1 -0
  294. package/lib/typescript/src/web/vaul/use-snap-points.d.ts +38 -0
  295. package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -0
  296. package/package.json +95 -36
  297. package/react-native.config.js +9 -2
  298. package/src/TrueSheet.tsx +281 -62
  299. package/src/TrueSheet.types.ts +525 -71
  300. package/src/TrueSheet.web.tsx +1362 -0
  301. package/src/TrueSheetPeek.tsx +11 -0
  302. package/src/TrueSheetPeek.web.tsx +64 -0
  303. package/src/TrueSheetProvider.tsx +33 -0
  304. package/src/TrueSheetProvider.web.tsx +220 -0
  305. package/src/fabric/TrueSheetContainerViewNativeComponent.ts +1 -1
  306. package/src/fabric/TrueSheetContentViewNativeComponent.ts +5 -1
  307. package/src/fabric/TrueSheetFooterViewNativeComponent.ts +10 -2
  308. package/src/fabric/TrueSheetHeaderViewNativeComponent.ts +8 -0
  309. package/src/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
  310. package/src/fabric/TrueSheetViewNativeComponent.ts +105 -18
  311. package/src/index.ts +2 -2
  312. package/src/mocks/index.ts +89 -0
  313. package/src/mocks/navigation.ts +79 -0
  314. package/src/mocks/navigationExpoRouter.ts +40 -0
  315. package/src/mocks/reanimated.ts +100 -0
  316. package/src/navigation/TrueSheetNavigatorContent.tsx +106 -0
  317. package/src/navigation/actions.ts +78 -0
  318. package/src/navigation/createTrueSheetRouter.ts +222 -0
  319. package/src/navigation/expo-router/index.ts +89 -0
  320. package/src/navigation/index.ts +81 -0
  321. package/src/navigation/navigator.ts +18 -0
  322. package/src/navigation/screen/ReanimatedTrueSheetScreen.tsx +61 -0
  323. package/src/navigation/screen/TrueSheetScreen.tsx +54 -0
  324. package/src/navigation/screen/index.ts +3 -0
  325. package/src/navigation/screen/types.ts +19 -0
  326. package/src/navigation/screen/useSheetScreenState.ts +100 -0
  327. package/src/navigation/types.ts +251 -0
  328. package/src/navigation/useTrueSheetNavigation.ts +26 -0
  329. package/src/reanimated/ReanimatedTrueSheet.tsx +12 -7
  330. package/src/reanimated/ReanimatedTrueSheet.web.tsx +75 -0
  331. package/src/reanimated/ReanimatedTrueSheetProvider.tsx +12 -8
  332. package/src/reanimated/useReanimatedPositionChangeHandler.web.ts +31 -0
  333. package/src/specs/NativeTrueSheetModule.ts +28 -3
  334. package/src/web/constants.ts +13 -0
  335. package/src/web/dom.ts +9 -0
  336. package/src/web/vaul/README.md +9 -0
  337. package/src/web/vaul/browser.ts +38 -0
  338. package/src/web/vaul/constants.ts +20 -0
  339. package/src/web/vaul/context.ts +101 -0
  340. package/src/web/vaul/helpers.ts +131 -0
  341. package/src/web/vaul/index.tsx +1740 -0
  342. package/src/web/vaul/style.css +287 -0
  343. package/src/web/vaul/style.css.d.ts +1 -0
  344. package/src/web/vaul/types.ts +7 -0
  345. package/src/web/vaul/use-composed-refs.ts +35 -0
  346. package/src/web/vaul/use-controllable-state.ts +66 -0
  347. package/src/web/vaul/use-position-fixed.ts +147 -0
  348. package/src/web/vaul/use-prevent-scroll.ts +309 -0
  349. package/src/web/vaul/use-scale-background.ts +64 -0
  350. package/src/web/vaul/use-snap-points.ts +455 -0
  351. package/android/src/main/java/com/lodev09/truesheet/events/DetentChangeEvent.kt +0 -26
  352. package/android/src/main/java/com/lodev09/truesheet/events/DidDismissEvent.kt +0 -20
  353. package/android/src/main/java/com/lodev09/truesheet/events/DidPresentEvent.kt +0 -26
  354. package/android/src/main/java/com/lodev09/truesheet/events/DragBeginEvent.kt +0 -26
  355. package/android/src/main/java/com/lodev09/truesheet/events/DragChangeEvent.kt +0 -26
  356. package/android/src/main/java/com/lodev09/truesheet/events/DragEndEvent.kt +0 -26
  357. package/android/src/main/java/com/lodev09/truesheet/events/MountEvent.kt +0 -20
  358. package/android/src/main/java/com/lodev09/truesheet/events/PositionChangeEvent.kt +0 -32
  359. package/android/src/main/java/com/lodev09/truesheet/events/SizeChangeEvent.kt +0 -27
  360. package/android/src/main/java/com/lodev09/truesheet/events/WillDismissEvent.kt +0 -20
  361. package/android/src/main/java/com/lodev09/truesheet/events/WillPresentEvent.kt +0 -26
  362. package/android/src/main/res/values/styles.xml +0 -8
  363. package/ios/events/OnDetentChangeEvent.h +0 -28
  364. package/ios/events/OnDetentChangeEvent.mm +0 -30
  365. package/ios/events/OnDidDismissEvent.mm +0 -25
  366. package/ios/events/OnDidPresentEvent.h +0 -28
  367. package/ios/events/OnDidPresentEvent.mm +0 -30
  368. package/ios/events/OnDragBeginEvent.h +0 -28
  369. package/ios/events/OnDragBeginEvent.mm +0 -30
  370. package/ios/events/OnDragChangeEvent.h +0 -28
  371. package/ios/events/OnDragChangeEvent.mm +0 -30
  372. package/ios/events/OnDragEndEvent.h +0 -28
  373. package/ios/events/OnDragEndEvent.mm +0 -30
  374. package/ios/events/OnMountEvent.mm +0 -25
  375. package/ios/events/OnPositionChangeEvent.mm +0 -32
  376. package/ios/events/OnSizeChangeEvent.h +0 -28
  377. package/ios/events/OnSizeChangeEvent.mm +0 -30
  378. package/ios/events/OnWillDismissEvent.mm +0 -25
  379. package/ios/events/OnWillPresentEvent.h +0 -28
  380. package/ios/events/OnWillPresentEvent.mm +0 -30
  381. package/ios/utils/LayoutUtil.h +0 -44
  382. package/ios/utils/LayoutUtil.mm +0 -50
  383. package/lib/module/TrueSheetGrabber.js +0 -51
  384. package/lib/module/TrueSheetGrabber.js.map +0 -1
  385. package/lib/typescript/src/TrueSheetGrabber.d.ts +0 -39
  386. package/lib/typescript/src/TrueSheetGrabber.d.ts.map +0 -1
  387. package/src/TrueSheetGrabber.tsx +0 -82
  388. package/src/__mocks__/index.js +0 -67
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","set","isVertical","DEFAULT_PEEK_HEIGHT","TRANSITIONS","VELOCITY_THRESHOLD","useControllableState","useSnapPoints","activeSnapPointProp","setActiveSnapPointProp","snapPoints","drawerRef","overlayRef","fadeFromIndex","onSnapPointChange","direction","container","snapToSequentialPoint","isOpen","contentHeight","detachedOffset","maxContentHeight","peekHeight","initialAnimated","activeSnapPoint","setActiveSnapPoint","prop","defaultProp","onChange","windowDimensions","setWindowDimensions","useState","window","innerWidth","innerHeight","undefined","useEffect","onResize","addEventListener","removeEventListener","isLastSnapPoint","useMemo","length","activeSnapPointIndex","findIndex","snapPoint","shouldFade","Number","isNaN","snapPointsOffset","containerSize","width","getBoundingClientRect","height","effectiveHeight","Math","max","map","resolved","isPx","snapPointAsNumber","parseInt","rawHeight","ceiling","min","rawWidth","activeSnapPointOffset","setDetachedWrapperTransform","y","animated","current","wrapper","closest","transition","DURATION","EASE","join","transform","hasSnappedRef","useRef","snapToPoint","useCallback","dimension","newSnapPointIndex","snapPointDim","animateThisSnap","opacity","pointerEvents","newIndex","onRelease","draggedDistance","closeDrawer","velocity","dismissible","currentPosition","isOverlaySnapPoint","isFirst","hasDraggedUp","viewportDim","effectiveDim","visibleAtLowest","overshoot","closestSnapPoint","reduce","prev","curr","abs","dim","dragDirection","onDrag","newValue","excess","getPercentageDragged","absDraggedDistance","isDraggingDown","activeOffset","windowDim","dismissOffset","dismissRange","isOverlaySnapPointOrHigher","targetSnapPointIndex","snapPointDistance","percentageDragged"],"sourceRoot":"../../../../src","sources":["web/vaul/use-snap-points.ts"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,16 @@
1
1
  import { PureComponent, type ReactNode } from 'react';
2
- import type { TrueSheetProps } from './TrueSheet.types';
2
+ import type { TrueSheetProps, TrueSheetMethods } from './TrueSheet.types';
3
3
  interface TrueSheetState {
4
4
  shouldRenderNativeView: boolean;
5
- containerWidth?: number;
6
- containerHeight?: number;
7
5
  }
8
- export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
6
+ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> implements TrueSheetMethods {
9
7
  displayName: string;
10
8
  private readonly nativeRef;
9
+ private cachedGrabberOptions;
10
+ private resolvedGrabberOptions;
11
+ private backHandlerSubscription;
12
+ private isPresented;
13
+ private isSheetVisible;
11
14
  /**
12
15
  * Map of sheet names against their instances.
13
16
  */
@@ -16,6 +19,10 @@ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetSt
16
19
  * Resolver to be called when mount event is received
17
20
  */
18
21
  private presentationResolver;
22
+ /**
23
+ * Tracks if a present operation is in progress
24
+ */
25
+ private isPresenting;
19
26
  constructor(props: TrueSheetProps);
20
27
  private validateDetents;
21
28
  private static getInstance;
@@ -24,17 +31,27 @@ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetSt
24
31
  * Present the sheet by given `name` (Promise-based)
25
32
  * @param name - Sheet name (must match sheet's name prop)
26
33
  * @param index - Detent index (default: 0)
34
+ * @param animated - Whether to animate the presentation (default: true)
27
35
  * @returns Promise that resolves when sheet is fully presented
28
36
  * @throws Error if sheet not found or presentation fails
29
37
  */
30
- static present(name: string, index?: number): Promise<void>;
38
+ static present(name: string, index?: number, animated?: boolean): Promise<void>;
31
39
  /**
32
40
  * Dismiss the sheet by given `name` (Promise-based)
33
41
  * @param name - Sheet name
42
+ * @param animated - Whether to animate the dismissal (default: true)
34
43
  * @returns Promise that resolves when sheet is fully dismissed
35
44
  * @throws Error if sheet not found or dismissal fails
36
45
  */
37
- static dismiss(name: string): Promise<void>;
46
+ static dismiss(name: string, animated?: boolean): Promise<void>;
47
+ /**
48
+ * Dismiss only the sheets presented on top of a sheet by given `name`
49
+ * @param name - Sheet name
50
+ * @param animated - Whether to animate the dismissal (default: true)
51
+ * @returns Promise that resolves when all child sheets are dismissed
52
+ * @throws Error if sheet not found
53
+ */
54
+ static dismissStack(name: string, animated?: boolean): Promise<void>;
38
55
  /**
39
56
  * Resize the sheet by given `name` (Promise-based)
40
57
  * @param name - Sheet name
@@ -43,6 +60,13 @@ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetSt
43
60
  * @throws Error if sheet not found
44
61
  */
45
62
  static resize(name: string, index: number): Promise<void>;
63
+ /**
64
+ * Dismiss all presented sheets by dismissing from the bottom of the stack.
65
+ * This ensures child sheets are dismissed first before their parent.
66
+ * @param animated - Whether to animate the dismissals (default: true)
67
+ * @returns Promise that resolves when all sheets are dismissed
68
+ */
69
+ static dismissAll(animated?: boolean): Promise<void>;
46
70
  private registerInstance;
47
71
  private unregisterInstance;
48
72
  private onDetentChange;
@@ -55,21 +79,34 @@ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetSt
55
79
  private onDragChange;
56
80
  private onDragEnd;
57
81
  private onPositionChange;
58
- private onSizeChange;
82
+ private onWillFocus;
83
+ private onDidFocus;
84
+ private onWillBlur;
85
+ private onDidBlur;
86
+ private onVisibilityChange;
87
+ private handleBackPress;
59
88
  /**
60
- * Present the Sheet by `index` (Promise-based)
61
- * @param index - Detent index (default: 0)
89
+ * Present the sheet at a given detent index.
90
+ * @param index - The detent index to present at (default: 0)
91
+ * @param animated - Whether to animate the presentation (default: true)
62
92
  */
63
- present(index?: number): Promise<void>;
93
+ present(index?: number, animated?: boolean): Promise<void>;
64
94
  /**
65
- * Resizes the Sheet programmatically by `index`.
66
- * This is an alias of the `present(index)` method.
95
+ * Resize the sheet to a given detent index.
96
+ * @param index - The detent index to resize to
67
97
  */
68
98
  resize(index: number): Promise<void>;
69
99
  /**
70
- * Dismisses the Sheet
100
+ * Dismiss this sheet and all sheets presented on top of it in a single animation.
101
+ * @param animated - Whether to animate the dismissal (default: true)
102
+ */
103
+ dismiss(animated?: boolean): Promise<void>;
104
+ /**
105
+ * Dismiss only the sheets presented on top of this sheet, keeping this sheet presented.
106
+ * If no sheets are presented on top, this method does nothing.
107
+ * @param animated - Whether to animate the dismissal (default: true)
71
108
  */
72
- dismiss(): Promise<void>;
109
+ dismissStack(animated?: boolean): Promise<void>;
73
110
  componentDidMount(): void;
74
111
  componentDidUpdate(prevProps: TrueSheetProps): void;
75
112
  componentWillUnmount(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,mBAAmB,CAAC;AAuB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IA8BjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E;;;;;OAKG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAmFpB"}
1
+ {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAgBjB,MAAM,mBAAmB,CAAC;AAuC3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SACX,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CACpD,YAAW,gBAAgB;IAE3B,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,uBAAuB,CAAwC;IACvE,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAiB;IAEvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAkB;gBAE1B,KAAK,EAAE,cAAc;IAiCjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;;OAOG;WACiB,OAAO,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,EACjB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASlF;;;;;;OAMG;WACiB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASvF;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE;;;;;OAKG;WACiB,UAAU,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAkBvB;;;;OAIG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhF;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;OAGG;IACU,OAAO,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;;OAIG;IACU,YAAY,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAmJpB"}