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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) 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 +150 -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 +1217 -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/ViewUtils.kt +30 -0
  37. package/android/src/main/jni/CMakeLists.txt +63 -0
  38. package/android/src/main/jni/TrueSheetSpec.h +19 -0
  39. package/android/src/main/jni/TrueSheetStateUpdater.cpp +96 -0
  40. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewComponentDescriptor.h +24 -0
  41. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +43 -0
  42. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.h +28 -0
  43. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.cpp +11 -0
  44. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.h +37 -0
  45. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewComponentDescriptor.h +24 -0
  46. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.cpp +56 -0
  47. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.h +28 -0
  48. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewState.cpp +11 -0
  49. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewState.h +41 -0
  50. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetInsets.cpp +18 -0
  51. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetInsets.h +16 -0
  52. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h +28 -0
  53. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.cpp +61 -0
  54. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.h +45 -0
  55. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.cpp +23 -0
  56. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.h +52 -0
  57. package/ios/TrueSheetContainerView.h +81 -6
  58. package/ios/TrueSheetContainerView.mm +275 -21
  59. package/ios/TrueSheetContentView.h +38 -1
  60. package/ios/TrueSheetContentView.mm +413 -43
  61. package/ios/TrueSheetFooterView.h +27 -2
  62. package/ios/TrueSheetFooterView.mm +141 -35
  63. package/ios/{events/OnDidDismissEvent.h → TrueSheetHeaderView.h} +10 -7
  64. package/ios/TrueSheetHeaderView.mm +64 -0
  65. package/ios/TrueSheetModule.mm +92 -5
  66. package/ios/TrueSheetPeekView.h +32 -0
  67. package/ios/TrueSheetPeekView.mm +99 -0
  68. package/ios/TrueSheetView.h +7 -15
  69. package/ios/TrueSheetView.mm +633 -215
  70. package/ios/TrueSheetViewController.h +84 -16
  71. package/ios/TrueSheetViewController.mm +1136 -333
  72. package/ios/core/RNScreensEventObserver.h +46 -0
  73. package/ios/core/RNScreensEventObserver.mm +280 -0
  74. package/ios/core/TrueSheetBlurView.h +27 -0
  75. package/ios/core/TrueSheetBlurView.mm +82 -0
  76. package/ios/core/TrueSheetDetentCalculator.h +107 -0
  77. package/ios/core/TrueSheetDetentCalculator.mm +197 -0
  78. package/ios/core/TrueSheetGrabberView.h +72 -0
  79. package/ios/core/TrueSheetGrabberView.mm +178 -0
  80. package/ios/core/TrueSheetKeyboardObserver.h +39 -0
  81. package/ios/core/TrueSheetKeyboardObserver.mm +112 -0
  82. package/ios/events/TrueSheetDragEvents.h +39 -0
  83. package/ios/events/TrueSheetDragEvents.mm +62 -0
  84. package/ios/events/{OnPositionChangeEvent.h → TrueSheetFocusEvents.h} +8 -5
  85. package/ios/events/TrueSheetFocusEvents.mm +49 -0
  86. package/ios/events/TrueSheetLifecycleEvents.h +40 -0
  87. package/ios/events/TrueSheetLifecycleEvents.mm +71 -0
  88. package/ios/events/TrueSheetStateEvents.h +35 -0
  89. package/ios/events/TrueSheetStateEvents.mm +49 -0
  90. package/ios/tvos/TrueSheetStubs.mm +154 -0
  91. package/ios/{events/OnMountEvent.h → utils/BlurUtil.h} +5 -7
  92. package/ios/utils/BlurUtil.mm +69 -0
  93. package/ios/utils/GestureUtil.h +7 -0
  94. package/ios/utils/GestureUtil.mm +12 -0
  95. package/ios/utils/PlatformUtil.h +15 -0
  96. package/ios/utils/UIView+FirstResponder.h +15 -0
  97. package/ios/utils/UIView+FirstResponder.mm +26 -0
  98. package/ios/{events/OnWillDismissEvent.h → utils/UIView+ScrollEdgeInteraction.h} +6 -7
  99. package/ios/utils/UIView+ScrollEdgeInteraction.mm +62 -0
  100. package/ios/utils/WindowUtil.mm +17 -1
  101. package/lib/module/TrueSheet.js +224 -64
  102. package/lib/module/TrueSheet.js.map +1 -1
  103. package/lib/module/TrueSheet.web.js +1201 -0
  104. package/lib/module/TrueSheet.web.js.map +1 -0
  105. package/lib/module/TrueSheetPeek.js +15 -0
  106. package/lib/module/TrueSheetPeek.js.map +1 -0
  107. package/lib/module/TrueSheetPeek.web.js +55 -0
  108. package/lib/module/TrueSheetPeek.web.js.map +1 -0
  109. package/lib/module/TrueSheetProvider.js +28 -0
  110. package/lib/module/TrueSheetProvider.js.map +1 -0
  111. package/lib/module/TrueSheetProvider.web.js +157 -0
  112. package/lib/module/TrueSheetProvider.web.js.map +1 -0
  113. package/lib/module/fabric/TrueSheetContainerViewNativeComponent.ts +1 -1
  114. package/lib/module/fabric/TrueSheetContentViewNativeComponent.ts +5 -1
  115. package/lib/module/fabric/TrueSheetFooterViewNativeComponent.ts +10 -2
  116. package/lib/module/fabric/TrueSheetHeaderViewNativeComponent.ts +8 -0
  117. package/lib/module/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
  118. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +105 -18
  119. package/lib/module/index.js +3 -3
  120. package/lib/module/index.js.map +1 -1
  121. package/lib/module/mocks/index.js +93 -0
  122. package/lib/module/mocks/index.js.map +1 -0
  123. package/lib/module/mocks/navigation.js +85 -0
  124. package/lib/module/mocks/navigation.js.map +1 -0
  125. package/lib/module/mocks/reanimated.js +91 -0
  126. package/lib/module/mocks/reanimated.js.map +1 -0
  127. package/lib/module/navigation/TrueSheetRouter.js +170 -0
  128. package/lib/module/navigation/TrueSheetRouter.js.map +1 -0
  129. package/lib/module/navigation/TrueSheetView.js +71 -0
  130. package/lib/module/navigation/TrueSheetView.js.map +1 -0
  131. package/lib/module/navigation/createTrueSheetNavigator.js +63 -0
  132. package/lib/module/navigation/createTrueSheetNavigator.js.map +1 -0
  133. package/lib/module/navigation/index.js +6 -0
  134. package/lib/module/navigation/index.js.map +1 -0
  135. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js +56 -0
  136. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js.map +1 -0
  137. package/lib/module/navigation/screen/TrueSheetScreen.js +49 -0
  138. package/lib/module/navigation/screen/TrueSheetScreen.js.map +1 -0
  139. package/lib/module/navigation/screen/index.js +5 -0
  140. package/lib/module/navigation/screen/index.js.map +1 -0
  141. package/lib/module/navigation/screen/types.js +4 -0
  142. package/lib/module/navigation/screen/types.js.map +1 -0
  143. package/lib/module/navigation/screen/useSheetScreenState.js +68 -0
  144. package/lib/module/navigation/screen/useSheetScreenState.js.map +1 -0
  145. package/lib/module/navigation/types.js +4 -0
  146. package/lib/module/navigation/types.js.map +1 -0
  147. package/lib/module/navigation/useTrueSheetNavigation.js +24 -0
  148. package/lib/module/navigation/useTrueSheetNavigation.js.map +1 -0
  149. package/lib/module/reanimated/ReanimatedTrueSheet.js +15 -9
  150. package/lib/module/reanimated/ReanimatedTrueSheet.js.map +1 -1
  151. package/lib/module/reanimated/ReanimatedTrueSheet.web.js +81 -0
  152. package/lib/module/reanimated/ReanimatedTrueSheet.web.js.map +1 -0
  153. package/lib/module/reanimated/ReanimatedTrueSheetProvider.js +4 -2
  154. package/lib/module/reanimated/ReanimatedTrueSheetProvider.js.map +1 -1
  155. package/lib/module/reanimated/index.js +2 -2
  156. package/lib/module/reanimated/index.js.map +1 -1
  157. package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js +20 -0
  158. package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js.map +1 -0
  159. package/lib/module/specs/NativeTrueSheetModule.js.map +1 -1
  160. package/lib/module/web/constants.js +16 -0
  161. package/lib/module/web/constants.js.map +1 -0
  162. package/lib/module/web/vaul/README.md +9 -0
  163. package/lib/module/web/vaul/browser.js +30 -0
  164. package/lib/module/web/vaul/browser.js.map +1 -0
  165. package/lib/module/web/vaul/constants.js +15 -0
  166. package/lib/module/web/vaul/constants.js.map +1 -0
  167. package/lib/module/web/vaul/context.js +59 -0
  168. package/lib/module/web/vaul/context.js.map +1 -0
  169. package/lib/module/web/vaul/helpers.js +93 -0
  170. package/lib/module/web/vaul/helpers.js.map +1 -0
  171. package/lib/module/web/vaul/index.js +1309 -0
  172. package/lib/module/web/vaul/index.js.map +1 -0
  173. package/lib/module/web/vaul/style.css +287 -0
  174. package/lib/module/web/vaul/style.css.d.js +2 -0
  175. package/lib/module/web/vaul/style.css.d.js.map +1 -0
  176. package/lib/module/web/vaul/types.js +2 -0
  177. package/lib/module/web/vaul/types.js.map +1 -0
  178. package/lib/module/web/vaul/use-composed-refs.js +34 -0
  179. package/lib/module/web/vaul/use-composed-refs.js.map +1 -0
  180. package/lib/module/web/vaul/use-controllable-state.js +54 -0
  181. package/lib/module/web/vaul/use-controllable-state.js.map +1 -0
  182. package/lib/module/web/vaul/use-position-fixed.js +123 -0
  183. package/lib/module/web/vaul/use-position-fixed.js.map +1 -0
  184. package/lib/module/web/vaul/use-prevent-scroll.js +258 -0
  185. package/lib/module/web/vaul/use-prevent-scroll.js.map +1 -0
  186. package/lib/module/web/vaul/use-scale-background.js +57 -0
  187. package/lib/module/web/vaul/use-scale-background.js.map +1 -0
  188. package/lib/module/web/vaul/use-snap-points.js +305 -0
  189. package/lib/module/web/vaul/use-snap-points.js.map +1 -0
  190. package/lib/typescript/src/TrueSheet.d.ts +51 -14
  191. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  192. package/lib/typescript/src/TrueSheet.types.d.ts +463 -54
  193. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  194. package/lib/typescript/src/TrueSheet.web.d.ts +5 -0
  195. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -0
  196. package/lib/typescript/src/TrueSheetPeek.d.ts +9 -0
  197. package/lib/typescript/src/TrueSheetPeek.d.ts.map +1 -0
  198. package/lib/typescript/src/TrueSheetPeek.web.d.ts +28 -0
  199. package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -0
  200. package/lib/typescript/src/TrueSheetProvider.d.ts +18 -0
  201. package/lib/typescript/src/TrueSheetProvider.d.ts.map +1 -0
  202. package/lib/typescript/src/TrueSheetProvider.web.d.ts +27 -0
  203. package/lib/typescript/src/TrueSheetProvider.web.d.ts.map +1 -0
  204. package/lib/typescript/src/fabric/TrueSheetContainerViewNativeComponent.d.ts.map +1 -1
  205. package/lib/typescript/src/fabric/TrueSheetContentViewNativeComponent.d.ts.map +1 -1
  206. package/lib/typescript/src/fabric/TrueSheetFooterViewNativeComponent.d.ts +2 -0
  207. package/lib/typescript/src/fabric/TrueSheetFooterViewNativeComponent.d.ts.map +1 -1
  208. package/lib/typescript/src/fabric/TrueSheetHeaderViewNativeComponent.d.ts +6 -0
  209. package/lib/typescript/src/fabric/TrueSheetHeaderViewNativeComponent.d.ts.map +1 -0
  210. package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts +6 -0
  211. package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts.map +1 -0
  212. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +67 -16
  213. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  214. package/lib/typescript/src/index.d.ts +2 -2
  215. package/lib/typescript/src/index.d.ts.map +1 -1
  216. package/lib/typescript/src/mocks/index.d.ts +43 -0
  217. package/lib/typescript/src/mocks/index.d.ts.map +1 -0
  218. package/lib/typescript/src/mocks/navigation.d.ts +66 -0
  219. package/lib/typescript/src/mocks/navigation.d.ts.map +1 -0
  220. package/lib/typescript/src/mocks/reanimated.d.ts +48 -0
  221. package/lib/typescript/src/mocks/reanimated.d.ts.map +1 -0
  222. package/lib/typescript/src/navigation/TrueSheetRouter.d.ts +57 -0
  223. package/lib/typescript/src/navigation/TrueSheetRouter.d.ts.map +1 -0
  224. package/lib/typescript/src/navigation/TrueSheetView.d.ts +10 -0
  225. package/lib/typescript/src/navigation/TrueSheetView.d.ts.map +1 -0
  226. package/lib/typescript/src/navigation/createTrueSheetNavigator.d.ts +35 -0
  227. package/lib/typescript/src/navigation/createTrueSheetNavigator.d.ts.map +1 -0
  228. package/lib/typescript/src/navigation/index.d.ts +6 -0
  229. package/lib/typescript/src/navigation/index.d.ts.map +1 -0
  230. package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts +3 -0
  231. package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts.map +1 -0
  232. package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts +3 -0
  233. package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts.map +1 -0
  234. package/lib/typescript/src/navigation/screen/index.d.ts +4 -0
  235. package/lib/typescript/src/navigation/screen/index.d.ts.map +1 -0
  236. package/lib/typescript/src/navigation/screen/types.d.ts +15 -0
  237. package/lib/typescript/src/navigation/screen/types.d.ts.map +1 -0
  238. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts +35 -0
  239. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts.map +1 -0
  240. package/lib/typescript/src/navigation/types.d.ts +153 -0
  241. package/lib/typescript/src/navigation/types.d.ts.map +1 -0
  242. package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts +23 -0
  243. package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts.map +1 -0
  244. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.d.ts.map +1 -1
  245. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts +41 -0
  246. package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts.map +1 -0
  247. package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts +8 -2
  248. package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts.map +1 -1
  249. package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts +15 -0
  250. package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts.map +1 -0
  251. package/lib/typescript/src/specs/NativeTrueSheetModule.d.ts +25 -3
  252. package/lib/typescript/src/specs/NativeTrueSheetModule.d.ts.map +1 -1
  253. package/lib/typescript/src/web/constants.d.ts +14 -0
  254. package/lib/typescript/src/web/constants.d.ts.map +1 -0
  255. package/lib/typescript/src/web/vaul/browser.d.ts +8 -0
  256. package/lib/typescript/src/web/vaul/browser.d.ts.map +1 -0
  257. package/lib/typescript/src/web/vaul/constants.d.ts +13 -0
  258. package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -0
  259. package/lib/typescript/src/web/vaul/context.d.ts +53 -0
  260. package/lib/typescript/src/web/vaul/context.d.ts.map +1 -0
  261. package/lib/typescript/src/web/vaul/helpers.d.ts +17 -0
  262. package/lib/typescript/src/web/vaul/helpers.d.ts.map +1 -0
  263. package/lib/typescript/src/web/vaul/index.d.ts +228 -0
  264. package/lib/typescript/src/web/vaul/index.d.ts.map +1 -0
  265. package/lib/typescript/src/web/vaul/types.d.ts +7 -0
  266. package/lib/typescript/src/web/vaul/types.d.ts.map +1 -0
  267. package/lib/typescript/src/web/vaul/use-composed-refs.d.ts +14 -0
  268. package/lib/typescript/src/web/vaul/use-composed-refs.d.ts.map +1 -0
  269. package/lib/typescript/src/web/vaul/use-controllable-state.d.ts +9 -0
  270. package/lib/typescript/src/web/vaul/use-controllable-state.d.ts.map +1 -0
  271. package/lib/typescript/src/web/vaul/use-position-fixed.d.ts +19 -0
  272. package/lib/typescript/src/web/vaul/use-position-fixed.d.ts.map +1 -0
  273. package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts +18 -0
  274. package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts.map +1 -0
  275. package/lib/typescript/src/web/vaul/use-scale-background.d.ts +2 -0
  276. package/lib/typescript/src/web/vaul/use-scale-background.d.ts.map +1 -0
  277. package/lib/typescript/src/web/vaul/use-snap-points.d.ts +38 -0
  278. package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -0
  279. package/package.json +78 -34
  280. package/react-native.config.js +9 -2
  281. package/src/TrueSheet.tsx +276 -60
  282. package/src/TrueSheet.types.ts +525 -71
  283. package/src/TrueSheet.web.tsx +1366 -0
  284. package/src/TrueSheetPeek.tsx +11 -0
  285. package/src/TrueSheetPeek.web.tsx +63 -0
  286. package/src/TrueSheetProvider.tsx +33 -0
  287. package/src/TrueSheetProvider.web.tsx +220 -0
  288. package/src/fabric/TrueSheetContainerViewNativeComponent.ts +1 -1
  289. package/src/fabric/TrueSheetContentViewNativeComponent.ts +5 -1
  290. package/src/fabric/TrueSheetFooterViewNativeComponent.ts +10 -2
  291. package/src/fabric/TrueSheetHeaderViewNativeComponent.ts +8 -0
  292. package/src/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
  293. package/src/fabric/TrueSheetViewNativeComponent.ts +105 -18
  294. package/src/index.ts +2 -2
  295. package/src/mocks/index.ts +89 -0
  296. package/src/mocks/navigation.ts +72 -0
  297. package/src/mocks/reanimated.ts +101 -0
  298. package/src/navigation/TrueSheetRouter.ts +234 -0
  299. package/src/navigation/TrueSheetView.tsx +99 -0
  300. package/src/navigation/createTrueSheetNavigator.tsx +93 -0
  301. package/src/navigation/index.ts +14 -0
  302. package/src/navigation/screen/ReanimatedTrueSheetScreen.tsx +61 -0
  303. package/src/navigation/screen/TrueSheetScreen.tsx +54 -0
  304. package/src/navigation/screen/index.ts +3 -0
  305. package/src/navigation/screen/types.ts +21 -0
  306. package/src/navigation/screen/useSheetScreenState.ts +107 -0
  307. package/src/navigation/types.ts +219 -0
  308. package/src/navigation/useTrueSheetNavigation.ts +26 -0
  309. package/src/reanimated/ReanimatedTrueSheet.tsx +12 -7
  310. package/src/reanimated/ReanimatedTrueSheet.web.tsx +75 -0
  311. package/src/reanimated/ReanimatedTrueSheetProvider.tsx +12 -8
  312. package/src/reanimated/useReanimatedPositionChangeHandler.web.ts +31 -0
  313. package/src/specs/NativeTrueSheetModule.ts +28 -3
  314. package/src/web/constants.ts +13 -0
  315. package/src/web/vaul/README.md +9 -0
  316. package/src/web/vaul/browser.ts +38 -0
  317. package/src/web/vaul/constants.ts +20 -0
  318. package/src/web/vaul/context.ts +101 -0
  319. package/src/web/vaul/helpers.ts +124 -0
  320. package/src/web/vaul/index.tsx +1740 -0
  321. package/src/web/vaul/style.css +287 -0
  322. package/src/web/vaul/style.css.d.ts +1 -0
  323. package/src/web/vaul/types.ts +7 -0
  324. package/src/web/vaul/use-composed-refs.ts +35 -0
  325. package/src/web/vaul/use-controllable-state.ts +66 -0
  326. package/src/web/vaul/use-position-fixed.ts +147 -0
  327. package/src/web/vaul/use-prevent-scroll.ts +309 -0
  328. package/src/web/vaul/use-scale-background.ts +64 -0
  329. package/src/web/vaul/use-snap-points.ts +455 -0
  330. package/android/src/main/java/com/lodev09/truesheet/events/DetentChangeEvent.kt +0 -26
  331. package/android/src/main/java/com/lodev09/truesheet/events/DidDismissEvent.kt +0 -20
  332. package/android/src/main/java/com/lodev09/truesheet/events/DidPresentEvent.kt +0 -26
  333. package/android/src/main/java/com/lodev09/truesheet/events/DragBeginEvent.kt +0 -26
  334. package/android/src/main/java/com/lodev09/truesheet/events/DragChangeEvent.kt +0 -26
  335. package/android/src/main/java/com/lodev09/truesheet/events/DragEndEvent.kt +0 -26
  336. package/android/src/main/java/com/lodev09/truesheet/events/MountEvent.kt +0 -20
  337. package/android/src/main/java/com/lodev09/truesheet/events/PositionChangeEvent.kt +0 -32
  338. package/android/src/main/java/com/lodev09/truesheet/events/SizeChangeEvent.kt +0 -27
  339. package/android/src/main/java/com/lodev09/truesheet/events/WillDismissEvent.kt +0 -20
  340. package/android/src/main/java/com/lodev09/truesheet/events/WillPresentEvent.kt +0 -26
  341. package/android/src/main/res/values/styles.xml +0 -8
  342. package/ios/events/OnDetentChangeEvent.h +0 -28
  343. package/ios/events/OnDetentChangeEvent.mm +0 -30
  344. package/ios/events/OnDidDismissEvent.mm +0 -25
  345. package/ios/events/OnDidPresentEvent.h +0 -28
  346. package/ios/events/OnDidPresentEvent.mm +0 -30
  347. package/ios/events/OnDragBeginEvent.h +0 -28
  348. package/ios/events/OnDragBeginEvent.mm +0 -30
  349. package/ios/events/OnDragChangeEvent.h +0 -28
  350. package/ios/events/OnDragChangeEvent.mm +0 -30
  351. package/ios/events/OnDragEndEvent.h +0 -28
  352. package/ios/events/OnDragEndEvent.mm +0 -30
  353. package/ios/events/OnMountEvent.mm +0 -25
  354. package/ios/events/OnPositionChangeEvent.mm +0 -32
  355. package/ios/events/OnSizeChangeEvent.h +0 -28
  356. package/ios/events/OnSizeChangeEvent.mm +0 -30
  357. package/ios/events/OnWillDismissEvent.mm +0 -25
  358. package/ios/events/OnWillPresentEvent.h +0 -28
  359. package/ios/events/OnWillPresentEvent.mm +0 -30
  360. package/ios/utils/LayoutUtil.h +0 -44
  361. package/ios/utils/LayoutUtil.mm +0 -50
  362. package/lib/module/TrueSheetGrabber.js +0 -51
  363. package/lib/module/TrueSheetGrabber.js.map +0 -1
  364. package/lib/typescript/src/TrueSheetGrabber.d.ts +0 -39
  365. package/lib/typescript/src/TrueSheetGrabber.d.ts.map +0 -1
  366. package/src/TrueSheetGrabber.tsx +0 -82
  367. package/src/__mocks__/index.js +0 -67
@@ -1,6 +1,5 @@
1
1
  import type { ComponentType, ReactElement } from 'react';
2
- import type { ColorValue, NativeSyntheticEvent, ViewProps } from 'react-native';
3
- import type { TrueSheetGrabberProps } from './TrueSheetGrabber';
2
+ import type { ColorValue, NativeSyntheticEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
4
3
  export interface DetentInfoEventPayload {
5
4
  /**
6
5
  * The index position from the provided `detents`.
@@ -10,13 +9,17 @@ export interface DetentInfoEventPayload {
10
9
  * The Y position of the sheet relative to the screen.
11
10
  */
12
11
  position: number;
12
+ /**
13
+ * The detent value (0-1) for the current index.
14
+ */
15
+ detent: number;
13
16
  }
14
17
  export interface PositionChangeEventPayload extends DetentInfoEventPayload {
15
18
  /**
16
- * Workaround for cases where we can't get real-time position from native.
17
- * When true, manually animate the position in JS.
19
+ * Indicates whether the position value is real-time (e.g., during drag or animation tracking).
20
+ * When false, the position should be animated in JS.
18
21
  */
19
- transitioning: boolean;
22
+ realtime: boolean;
20
23
  }
21
24
  export type MountEvent = NativeSyntheticEvent<null>;
22
25
  export type DetentChangeEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
@@ -28,40 +31,261 @@ export type DragBeginEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
28
31
  export type DragChangeEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
29
32
  export type DragEndEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
30
33
  export type PositionChangeEvent = NativeSyntheticEvent<PositionChangeEventPayload>;
34
+ export type DidFocusEvent = NativeSyntheticEvent<null>;
35
+ export type DidBlurEvent = NativeSyntheticEvent<null>;
36
+ export type WillFocusEvent = NativeSyntheticEvent<null>;
37
+ export type WillBlurEvent = NativeSyntheticEvent<null>;
38
+ /**
39
+ * Options for customizing the grabber (drag handle) appearance.
40
+ */
41
+ export interface GrabberOptions {
42
+ /**
43
+ * The width of the grabber pill.
44
+ *
45
+ * @default iOS: 36, Android: 32
46
+ */
47
+ width?: number;
48
+ /**
49
+ * The height of the grabber pill.
50
+ *
51
+ * @default iOS: 5, Android: 4
52
+ */
53
+ height?: number;
54
+ /**
55
+ * The top margin of the grabber from the sheet edge.
56
+ *
57
+ * @default iOS: 5, Android: 16
58
+ */
59
+ topMargin?: number;
60
+ /**
61
+ * The corner radius of the grabber pill.
62
+ *
63
+ * @default height / 2
64
+ */
65
+ cornerRadius?: number;
66
+ /**
67
+ * The color of the grabber.
68
+ * Uses native vibrancy/material styling when not provided.
69
+ */
70
+ color?: ColorValue;
71
+ /**
72
+ * Whether the grabber color adapts to light/dark mode.
73
+ * When enabled, the grabber uses vibrancy effect on iOS and
74
+ * adjusts color based on the current theme on Android.
75
+ *
76
+ * @default true
77
+ */
78
+ adaptive?: boolean;
79
+ }
80
+ /**
81
+ * Options for customizing (e.g. localizing) the accessibility strings
82
+ * announced by screen readers.
83
+ *
84
+ * On iOS, the grabber strings only apply when `grabberOptions` is provided.
85
+ * Without it, iOS uses the system grabber which is already localized.
86
+ */
87
+ export interface AccessibilityOptions {
88
+ /**
89
+ * The accessibility label of the grabber.
90
+ *
91
+ * @default iOS: 'Sheet Grabber', Android: 'Drag handle'
92
+ */
93
+ grabberLabel?: string;
94
+ /**
95
+ * The accessibility hint of the grabber.
96
+ *
97
+ * @platform ios
98
+ * @default 'Double-tap to expand. Swipe up or down to resize the sheet'
99
+ */
100
+ grabberHint?: string;
101
+ /**
102
+ * The value announced when the sheet is at the last detent.
103
+ *
104
+ * @default 'Expanded'
105
+ */
106
+ expandedValue?: string;
107
+ /**
108
+ * The value announced when the sheet is at the first detent.
109
+ *
110
+ * @default 'Collapsed'
111
+ */
112
+ collapsedValue?: string;
113
+ /**
114
+ * The value announced when the sheet is at an intermediate detent.
115
+ * Supports `{index}` and `{count}` placeholders.
116
+ *
117
+ * @default 'Detent {index} of {count}'
118
+ */
119
+ detentValue?: string;
120
+ /**
121
+ * The label of the expand accessibility action.
122
+ *
123
+ * @platform android
124
+ * @default 'Expand'
125
+ */
126
+ expandActionLabel?: string;
127
+ /**
128
+ * The label of the collapse accessibility action.
129
+ *
130
+ * @platform android
131
+ * @default 'Collapse'
132
+ */
133
+ collapseActionLabel?: string;
134
+ /**
135
+ * The title announced when the sheet appears.
136
+ * Sets the accessibility pane title on Android and the
137
+ * hidden dialog title on Web.
138
+ *
139
+ * @platform android, web
140
+ * @default Android: 'Bottom sheet', Web: 'Sheet'
141
+ */
142
+ paneTitle?: string;
143
+ }
31
144
  /**
32
- * Internal event payload for size changes (not exposed to users)
33
- * @internal
145
+ * Scroll edge effect style for iOS 26+.
146
+ * Controls the blur/gradient overlay applied to scroll view edges.
147
+ *
148
+ * @platform ios 26+
149
+ */
150
+ export type ScrollEdgeEffect = 'automatic' | 'hard' | 'soft' | 'hidden';
151
+ /**
152
+ * Options for scrollable behavior.
34
153
  */
35
- export interface SizeChangeEventPayload {
36
- width: number;
37
- height: number;
154
+ export interface ScrollableOptions {
155
+ /**
156
+ * Extra offset when scrolling to the focused input when keyboard appears.
157
+ *
158
+ * @default 0
159
+ */
160
+ keyboardScrollOffset?: number;
161
+ /**
162
+ * Whether scrolling the content expands the sheet to the next detent.
163
+ * When `false`, only the grabber can expand the sheet.
164
+ *
165
+ * @default true
166
+ */
167
+ scrollingExpandsSheet?: boolean;
168
+ /**
169
+ * The scroll edge effect applied to the top edge of the scroll view.
170
+ *
171
+ * @platform ios 26+
172
+ * @default 'hidden'
173
+ */
174
+ topScrollEdgeEffect?: ScrollEdgeEffect;
175
+ /**
176
+ * The scroll edge effect applied to the bottom edge of the scroll view.
177
+ *
178
+ * @platform ios 26+
179
+ * @default 'hidden'
180
+ */
181
+ bottomScrollEdgeEffect?: ScrollEdgeEffect;
38
182
  }
39
183
  /**
40
- * Internal event type for size changes (not exposed to users)
41
- * @internal
184
+ * Options for header behavior
42
185
  */
43
- export type SizeChangeEvent = NativeSyntheticEvent<SizeChangeEventPayload>;
186
+ export interface HeaderOptions {
187
+ /**
188
+ * How the header participates in the sheet layout.
189
+ *
190
+ * - `'relative'`: The header takes up space above the content, and its height
191
+ * is included in the `auto` detent calculation.
192
+ * - `'absolute'`: The header floats over the content, pinned to the top edge,
193
+ * and is excluded from the `auto` detent calculation.
194
+ *
195
+ * @default 'relative'
196
+ */
197
+ position?: 'relative' | 'absolute';
198
+ }
199
+ /**
200
+ * Options for footer behavior
201
+ */
202
+ export interface FooterOptions {
203
+ /**
204
+ * How the footer participates in the sheet layout.
205
+ *
206
+ * - `'relative'`: The footer takes up space below the content, pinned to the
207
+ * bottom edge. Its height is included in the `auto` detent calculation but
208
+ * excluded from the `peek` detent (it's pushed off-screen at peek).
209
+ * - `'absolute'`: The footer floats over the content, pinned to the bottom
210
+ * edge. Its height is excluded from the `auto` detent calculation but
211
+ * included in the `peek` detent.
212
+ *
213
+ * @default 'relative'
214
+ */
215
+ position?: 'relative' | 'absolute';
216
+ /**
217
+ * Adjusts how far an `absolute` footer rises when the keyboard opens.
218
+ * Positive values raise it higher; negative values reduce the rise.
219
+ * Pass `-insets.bottom` to tuck the footer's safe-area padding behind the keyboard.
220
+ * A `relative` footer stays in the layout flow behind the keyboard, so this has no effect.
221
+ *
222
+ * @default 0
223
+ */
224
+ keyboardOffset?: number;
225
+ }
226
+ /**
227
+ * Options for customizing the blur effect.
228
+ * Only applies when `backgroundBlur` is set.
229
+ *
230
+ * @platform ios
231
+ */
232
+ export interface BlurOptions {
233
+ /**
234
+ * The intensity of the blur effect (0-100).
235
+ * Uses system default if not provided.
236
+ */
237
+ intensity?: number;
238
+ /**
239
+ * Enables or disables user interaction on the blur view.
240
+ * Disabling this can help with visual artifacts (flash) on iOS 18+
241
+ * when touching the sheet content with blur enabled.
242
+ *
243
+ * @default true
244
+ */
245
+ interaction?: boolean;
246
+ }
247
+ /**
248
+ * Inset adjustment behavior for the sheet content.
249
+ */
250
+ export type InsetAdjustment =
251
+ /**
252
+ * Automatically adjusts the sheet height to account for system insets (safe area).
253
+ * This ensures the sheet content is properly inset from system UI elements.
254
+ */
255
+ 'automatic'
256
+ /**
257
+ * Does not adjust the sheet height for system insets.
258
+ * The sheet height is calculated purely from the detent values.
259
+ */
260
+ | 'never';
44
261
  /**
45
262
  * Blur style mapped to native values in IOS.
46
263
  *
47
264
  * @platform ios
48
265
  */
49
- export type BlurTint = 'light' | 'dark' | 'default' | 'extraLight' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark';
266
+ export type BackgroundBlur = 'light' | 'dark' | 'default' | 'extra-light' | 'regular' | 'prominent' | 'system-ultra-thin-material' | 'system-thin-material' | 'system-material' | 'system-thick-material' | 'system-chrome-material' | 'system-ultra-thin-material-light' | 'system-thin-material-light' | 'system-material-light' | 'system-thick-material-light' | 'system-chrome-material-light' | 'system-ultra-thin-material-dark' | 'system-thin-material-dark' | 'system-material-dark' | 'system-thick-material-dark' | 'system-chrome-material-dark';
50
267
  /**
51
268
  * Supported Sheet detent.
52
- *
53
- * @platform android
54
- * @platform ios 15+
55
269
  */
56
270
  export type SheetDetent =
57
271
  /**
58
272
  * Auto resize based on content height, clamped to container height.
59
- * Use the `maxHeight` prop to set a custom limit.
273
+ * Use the `maxContentHeight` prop to set a custom limit.
60
274
  *
61
275
  * @platform android
62
276
  * @platform ios 16+
63
277
  */
64
278
  'auto'
279
+ /**
280
+ * Collapsed height based on the combined `header` and `footer` heights.
281
+ * Render a `TrueSheetPeek` component within the content to also include
282
+ * the content up to its bottom edge.
283
+ * Falls back to a fixed height of `150` when none is provided.
284
+ *
285
+ * @platform android
286
+ * @platform ios 16+
287
+ */
288
+ | 'peek'
65
289
  /**
66
290
  * Relative height as a fraction (0-1) of the available height.
67
291
  * For example, 0.5 represents 50% of the available height.
@@ -95,6 +319,9 @@ export interface TrueSheetProps extends ViewProps {
95
319
  * detents={['auto', 0.6, 1]}
96
320
  * ```
97
321
  *
322
+ * @note It's recommended to sort detents from smallest to largest.
323
+ * When using `auto`, place it at the first index if you plan to adjust content dynamically.
324
+ *
98
325
  * @default [0.5, 1]
99
326
  */
100
327
  detents?: SheetDetent[];
@@ -102,8 +329,6 @@ export interface TrueSheetProps extends ViewProps {
102
329
  * Specify whether the sheet background is dimmed.
103
330
  * Set to `false` to allow interaction with the background components.
104
331
  *
105
- * @platform android
106
- * @platform ios 15+
107
332
  * @default true
108
333
  */
109
334
  dimmed?: boolean;
@@ -127,17 +352,23 @@ export interface TrueSheetProps extends ViewProps {
127
352
  *
128
353
  * @default 0
129
354
  */
130
- dimmedIndex?: number;
355
+ dimmedDetentIndex?: number;
131
356
  /**
132
357
  * Prevents interactive dismissal of the Sheet.
133
358
  *
134
359
  * @default true
135
360
  */
136
361
  dismissible?: boolean;
362
+ /**
363
+ * Enables or disables dragging the sheet to resize it.
364
+ * When disabled, the sheet becomes static and can only be resized programmatically.
365
+ *
366
+ * @default true
367
+ */
368
+ draggable?: boolean;
137
369
  /**
138
370
  * Main sheet background color.
139
-
140
- * @default white
371
+ * Uses system default when not provided.
141
372
  */
142
373
  backgroundColor?: ColorValue;
143
374
  /**
@@ -146,56 +377,146 @@ export interface TrueSheetProps extends ViewProps {
146
377
  * - `undefined` (not provided): Uses system default corner radius
147
378
  * - `0`: Sharp corners (no rounding)
148
379
  * - `> 0`: Custom corner radius value
149
- *
150
- * @platform android
151
- * @platform ios 15+
152
380
  */
153
381
  cornerRadius?: number;
154
382
  /**
155
- * Shows native grabber (or handle) on IOS.
383
+ * Shows a native grabber (or drag handle) on the sheet.
384
+ *
385
+ * iOS uses the native `UISheetPresentationController` grabber.
386
+ * Android renders a native view following Material Design 3 specifications.
156
387
  *
157
- * @platform ios
158
388
  * @default true
159
389
  */
160
390
  grabber?: boolean;
161
391
  /**
162
- * Grabber props to be used for android grabber or handle.
392
+ * Options for customizing the grabber appearance.
393
+ * Only applies when `grabber` is `true`.
394
+ */
395
+ grabberOptions?: GrabberOptions;
396
+ /**
397
+ * Options for customizing (e.g. localizing) the accessibility strings
398
+ * announced by screen readers.
399
+ */
400
+ accessibilityOptions?: AccessibilityOptions;
401
+ /**
402
+ * Controls the sheet presentation style on iPad and web (landscape/tablet).
403
+ * - `'page'`: bottom-attached page sheet (full or readable width).
404
+ * - `'form'`: centered floating form sheet (default form-sheet width).
163
405
  *
164
- * @platform android
406
+ * `'form'` is absolute — `maxContentWidth` is ignored when set.
407
+ *
408
+ * @platform ios 17+, web
409
+ * @default 'page'
165
410
  */
166
- grabberProps?: TrueSheetGrabberProps;
411
+ presentation?: 'page' | 'form';
167
412
  /**
168
413
  * The blur effect style on iOS.
169
- * Overrides `backgroundColor` if set.
414
+ * Blends with `backgroundColor` when provided.
415
+ *
416
+ * @platform ios
417
+ */
418
+ backgroundBlur?: BackgroundBlur;
419
+ /**
420
+ * Options for customizing the blur effect.
421
+ * Only applies when `backgroundBlur` is set.
170
422
  *
171
423
  * @platform ios
172
424
  */
173
- blurTint?: BlurTint;
425
+ blurOptions?: BlurOptions;
174
426
  /**
175
427
  * Overrides `large` or `100%` height.
176
428
  * Also sets the maximum height for 'auto' detents.
177
429
  */
178
- maxHeight?: number;
430
+ maxContentHeight?: number;
431
+ /**
432
+ * The maximum width of the sheet content.
433
+ * On Android and Web, defaults to `640dp`. On iOS, the sheet uses system default width.
434
+ *
435
+ * Ignored on phones in portrait orientation.
436
+ */
437
+ maxContentWidth?: number;
179
438
  /**
180
- * Allows the sheet to extend behind the status bar when fully expanded in edge-to-edge mode.
181
- * When false (default), the sheet stops at the bottom of the status bar.
439
+ * Anchors the sheet to the specified horizontal edge.
440
+ *
441
+ * - `'center'`: Centers the sheet horizontally (default).
442
+ * - `'left'`: Anchors the sheet to the left edge.
443
+ * - `'right'`: Anchors the sheet to the right edge.
444
+ *
445
+ * Ignored on phones in portrait orientation.
446
+ *
447
+ * @default 'center'
448
+ */
449
+ anchor?: 'left' | 'center' | 'right';
450
+ /**
451
+ * The offset from the screen edge.
452
+ * Only applies when `anchor` is `'left'` or `'right'`.
182
453
  *
183
454
  * @platform android
184
- * @default false
455
+ * @platform web
456
+ * @default 16
457
+ */
458
+ anchorOffset?: number;
459
+ /**
460
+ * Controls how the sheet adjusts its height for system insets (safe area).
461
+ *
462
+ * - `'automatic'`: Adds the bottom safe area inset to the sheet height,
463
+ * ensuring content is properly inset from system UI elements.
464
+ * - `'never'`: Does not adjust for insets; height is calculated purely from detent values.
465
+ *
466
+ * @default 'automatic'
185
467
  */
186
- edgeToEdgeFullScreen?: boolean;
468
+ insetAdjustment?: InsetAdjustment;
469
+ /**
470
+ * The elevation (shadow depth) of the sheet.
471
+ *
472
+ * @platform android
473
+ * @platform web
474
+ * @default 4
475
+ */
476
+ elevation?: number;
477
+ /**
478
+ * A component that is fixed at the top of the Sheet content.
479
+ * Useful for search bars, titles, or other header content.
480
+ */
481
+ header?: ComponentType<unknown> | ReactElement;
482
+ /**
483
+ * Style for the header container.
484
+ */
485
+ headerStyle?: StyleProp<ViewStyle>;
486
+ /**
487
+ * Options for header behavior.
488
+ */
489
+ headerOptions?: HeaderOptions;
187
490
  /**
188
491
  * A component that floats at the bottom of the Sheet.
189
492
  */
190
493
  footer?: ComponentType<unknown> | ReactElement;
191
494
  /**
192
- * Determines how the software keyboard will impact the layout of the sheet.
193
- * Set to `pan` if you're working with `FlatList` with a `TextInput`.
495
+ * Style for the footer container.
496
+ */
497
+ footerStyle?: StyleProp<ViewStyle>;
498
+ /**
499
+ * Options for scrollable behavior.
500
+ */
501
+ scrollableOptions?: ScrollableOptions;
502
+ /**
503
+ * Options for footer behavior.
504
+ */
505
+ footerOptions?: FooterOptions;
506
+ /**
507
+ * Renders the sheet as a detached floating card, not attached to the bottom edge.
194
508
  *
195
- * @platform android
196
- * @default resize
509
+ * @platform web
510
+ * @default false
197
511
  */
198
- keyboardMode?: 'resize' | 'pan';
512
+ detached?: boolean;
513
+ /**
514
+ * The offset from the bottom edge when [`detached`](#detached) is enabled.
515
+ *
516
+ * @platform web
517
+ * @default 16
518
+ */
519
+ detachedOffset?: number;
199
520
  /**
200
521
  * Called when the sheet's content is mounted and ready.
201
522
  * The sheet automatically waits for this event before presenting.
@@ -226,35 +547,123 @@ export interface TrueSheetProps extends ViewProps {
226
547
  /**
227
548
  * Called when the sheet has began dragging.
228
549
  * Comes with the detent info.
229
- *
230
- * @platform android
231
- * @platform ios 15+
232
550
  */
233
551
  onDragBegin?: (event: DragBeginEvent) => void;
234
552
  /**
235
553
  * Called when the sheet is being dragged.
236
554
  * Comes with the detent info.
237
- *
238
- * @platform android
239
- * @platform ios 15+
240
555
  */
241
556
  onDragChange?: (event: DragChangeEvent) => void;
242
557
  /**
243
558
  * Called when the sheet dragging has ended.
244
559
  * Comes with the detent info.
245
- *
246
- * @platform android
247
- * @platform ios 15+
248
560
  */
249
561
  onDragEnd?: (event: DragEndEvent) => void;
250
562
  /**
251
563
  * Called when the sheet's position changes.
252
564
  * This fires continuously during sheet position changes.
253
565
  * Comes with the detent info.
566
+ */
567
+ onPositionChange?: (event: PositionChangeEvent) => void;
568
+ /**
569
+ * Called when the sheet is about to regain focus because a sheet presented on top of it is being dismissed.
570
+ */
571
+ onWillFocus?: (event: WillFocusEvent) => void;
572
+ /**
573
+ * Called when the sheet regains focus after a sheet presented on top of it is dismissed.
574
+ */
575
+ onDidFocus?: (event: DidFocusEvent) => void;
576
+ /**
577
+ * Called when the sheet is about to lose focus because another sheet is being presented on top of it.
578
+ */
579
+ onWillBlur?: (event: WillBlurEvent) => void;
580
+ /**
581
+ * Called when the sheet loses focus because another sheet is presented on top of it.
582
+ */
583
+ onDidBlur?: (event: DidBlurEvent) => void;
584
+ /**
585
+ * Called when the hardware back button is pressed on Android.
586
+ * Optionally return `false` to let the back event propagate to other handlers (e.g. navigation).
254
587
  *
255
588
  * @platform android
256
- * @platform ios 15+
257
589
  */
258
- onPositionChange?: (event: PositionChangeEvent) => void;
590
+ onBackPress?: () => boolean | void;
591
+ }
592
+ /**
593
+ * Imperative methods available on a TrueSheet ref.
594
+ *
595
+ * Example:
596
+ * ```tsx
597
+ * const sheetRef = useRef<TrueSheetMethods>(null);
598
+ * sheetRef.current?.present();
599
+ * ```
600
+ */
601
+ export interface TrueSheetMethods {
602
+ /**
603
+ * Present the sheet at a given detent index.
604
+ *
605
+ * @param index - The detent index to present at (default: `0`).
606
+ * @param animated - Whether to animate the presentation (default: `true`). Ignored on web.
607
+ */
608
+ present(index?: number, animated?: boolean): Promise<void>;
609
+ /**
610
+ * Resize the sheet to a given detent index.
611
+ *
612
+ * @param index - The detent index to resize to.
613
+ */
614
+ resize(index: number): Promise<void>;
615
+ /**
616
+ * Dismiss this sheet and all sheets presented on top of it in a single animation.
617
+ *
618
+ * @param animated - Whether to animate the dismissal (default: `true`). Ignored on web.
619
+ */
620
+ dismiss(animated?: boolean): Promise<void>;
621
+ /**
622
+ * Dismiss only the sheets presented on top of this sheet, keeping this sheet presented.
623
+ * No-op if no sheets are presented on top.
624
+ *
625
+ * @param animated - Whether to animate the dismissal (default: `true`). Ignored on web.
626
+ */
627
+ dismissStack(animated?: boolean): Promise<void>;
628
+ }
629
+ /**
630
+ * Static methods exposed on the `TrueSheet` component for controlling sheets by `name`.
631
+ *
632
+ * Example:
633
+ * ```ts
634
+ * TrueSheet.present('my-sheet')
635
+ * ```
636
+ *
637
+ * @note Not supported on web — use the `useTrueSheet()` hook instead.
638
+ */
639
+ export interface TrueSheetStaticMethods {
640
+ /**
641
+ * Present the sheet with the given `name`.
642
+ *
643
+ * @throws if no sheet with the given `name` is registered.
644
+ */
645
+ present(name: string, index?: number, animated?: boolean): Promise<void>;
646
+ /**
647
+ * Resize the sheet with the given `name`.
648
+ *
649
+ * @throws if no sheet with the given `name` is registered.
650
+ */
651
+ resize(name: string, index: number): Promise<void>;
652
+ /**
653
+ * Dismiss the sheet with the given `name` and all sheets presented on top of it.
654
+ *
655
+ * @throws if no sheet with the given `name` is registered.
656
+ */
657
+ dismiss(name: string, animated?: boolean): Promise<void>;
658
+ /**
659
+ * Dismiss only the sheets presented on top of the sheet with the given `name`.
660
+ *
661
+ * @throws if no sheet with the given `name` is registered.
662
+ */
663
+ dismissStack(name: string, animated?: boolean): Promise<void>;
664
+ /**
665
+ * Dismiss every presented sheet, from the top of the stack downward.
666
+ */
667
+ dismissAll(animated?: boolean): Promise<void>;
259
668
  }
260
669
  //# sourceMappingURL=TrueSheet.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { TrueSheetMethods, TrueSheetProps, TrueSheetStaticMethods } from './TrueSheet.types';
2
+ declare const TrueSheetComponent: import("react").ForwardRefExoticComponent<TrueSheetProps & import("react").RefAttributes<TrueSheetMethods>>;
3
+ export declare const TrueSheet: typeof TrueSheetComponent & TrueSheetStaticMethods;
4
+ export {};
5
+ //# sourceMappingURL=TrueSheet.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrueSheet.web.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.web.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAaV,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EAKvB,MAAM,mBAAmB,CAAC;AAgC3B,QAAA,MAAM,kBAAkB,6GAktCtB,CAAC;AAsDH,eAAO,MAAM,SAAS,EAAyB,OAAO,kBAAkB,GAAG,sBAAsB,CAAC"}