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

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 (221) hide show
  1. package/README.md +25 -4
  2. package/android/build.gradle +22 -1
  3. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +24 -7
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +211 -182
  5. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentViewManager.kt +5 -1
  6. package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +14 -19
  7. package/android/src/main/java/com/lodev09/truesheet/TrueSheetOverlayView.kt +106 -0
  8. package/android/src/main/java/com/lodev09/truesheet/TrueSheetOverlayViewManager.kt +45 -0
  9. package/android/src/main/java/com/lodev09/truesheet/TrueSheetPackage.kt +2 -1
  10. package/android/src/main/java/com/lodev09/truesheet/TrueSheetStateUpdater.kt +18 -0
  11. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +82 -39
  12. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +275 -88
  13. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +26 -1
  14. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetCoordinatorLayout.kt +75 -3
  15. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +56 -34
  16. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetOverlayRootView.kt +137 -0
  17. package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetLifecycleEvents.kt +15 -0
  18. package/android/src/main/java/com/lodev09/truesheet/utils/KeyboardUtils.kt +1 -1
  19. package/android/src/main/java/com/lodev09/truesheet/utils/TouchEventDeduper.kt +31 -0
  20. package/android/src/main/java/com/lodev09/truesheet/utils/ViewUtils.kt +19 -7
  21. package/android/src/main/jni/TrueSheetSpec.h +1 -0
  22. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewComponentDescriptor.h +0 -8
  23. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +54 -29
  24. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.h +6 -1
  25. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.cpp +1 -1
  26. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.h +6 -4
  27. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.cpp +7 -0
  28. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetLayoutUtils.h +46 -0
  29. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewComponentDescriptor.h +21 -0
  30. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewShadowNode.cpp +17 -0
  31. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewShadowNode.h +36 -0
  32. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.cpp +4 -35
  33. package/ios/TrueSheetContainerView.h +14 -7
  34. package/ios/TrueSheetContainerView.mm +10 -7
  35. package/ios/TrueSheetContentView.h +31 -15
  36. package/ios/TrueSheetContentView.mm +133 -179
  37. package/ios/TrueSheetFooterView.h +6 -0
  38. package/ios/TrueSheetFooterView.mm +48 -2
  39. package/ios/TrueSheetModule.h +2 -7
  40. package/ios/TrueSheetModule.mm +7 -16
  41. package/ios/TrueSheetOverlayView.h +32 -0
  42. package/ios/TrueSheetOverlayView.mm +161 -0
  43. package/ios/TrueSheetView.mm +171 -29
  44. package/ios/TrueSheetViewController.h +10 -0
  45. package/ios/TrueSheetViewController.mm +256 -74
  46. package/ios/core/TrueSheetGrabberView.mm +13 -3
  47. package/ios/core/TrueSheetOverlayContainerView.h +31 -0
  48. package/ios/core/TrueSheetOverlayContainerView.mm +35 -0
  49. package/ios/events/TrueSheetLifecycleEvents.h +2 -0
  50. package/ios/events/TrueSheetLifecycleEvents.mm +8 -0
  51. package/ios/tvos/TrueSheetStubs.mm +12 -0
  52. package/ios/utils/UIView+ScrollEdgeInteraction.h +1 -0
  53. package/ios/utils/UIView+ScrollEdgeInteraction.mm +24 -2
  54. package/lib/module/TrueSheet.js +149 -34
  55. package/lib/module/TrueSheet.js.map +1 -1
  56. package/lib/module/TrueSheet.web.js +122 -53
  57. package/lib/module/TrueSheet.web.js.map +1 -1
  58. package/lib/module/TrueSheetOverlay.js +30 -0
  59. package/lib/module/TrueSheetOverlay.js.map +1 -0
  60. package/lib/module/TrueSheetOverlay.web.js +35 -0
  61. package/lib/module/TrueSheetOverlay.web.js.map +1 -0
  62. package/lib/module/TrueSheetPeek.web.js +3 -3
  63. package/lib/module/TrueSheetPeek.web.js.map +1 -1
  64. package/lib/module/fabric/TrueSheetContentViewNativeComponent.ts +1 -1
  65. package/lib/module/fabric/TrueSheetOverlayViewNativeComponent.ts +12 -0
  66. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +5 -0
  67. package/lib/module/index.js +1 -0
  68. package/lib/module/index.js.map +1 -1
  69. package/lib/module/mocks/index.js +10 -0
  70. package/lib/module/mocks/index.js.map +1 -1
  71. package/lib/module/mocks/navigation.js +31 -21
  72. package/lib/module/mocks/navigation.js.map +1 -1
  73. package/lib/module/mocks/navigationExpoRouter.js +21 -0
  74. package/lib/module/mocks/navigationExpoRouter.js.map +1 -0
  75. package/lib/module/mocks/reanimated.js +1 -1
  76. package/lib/module/mocks/reanimated.js.map +1 -1
  77. package/lib/module/navigation/{TrueSheetView.js → TrueSheetNavigatorContent.js} +14 -12
  78. package/lib/module/navigation/TrueSheetNavigatorContent.js.map +1 -0
  79. package/lib/module/navigation/actions.js +50 -0
  80. package/lib/module/navigation/actions.js.map +1 -0
  81. package/lib/module/navigation/base-types.js +2 -0
  82. package/lib/module/navigation/base-types.js.map +1 -0
  83. package/lib/module/navigation/{TrueSheetRouter.js → createTrueSheetRouter.js} +11 -24
  84. package/lib/module/navigation/createTrueSheetRouter.js.map +1 -0
  85. package/lib/module/navigation/expo-router/base-types.js +2 -0
  86. package/lib/module/navigation/expo-router/base-types.js.map +1 -0
  87. package/lib/module/navigation/expo-router/index.js +50 -0
  88. package/lib/module/navigation/expo-router/index.js.map +1 -0
  89. package/lib/module/navigation/expo-router/types.js +4 -0
  90. package/lib/module/navigation/expo-router/types.js.map +1 -0
  91. package/lib/module/navigation/index.js +43 -2
  92. package/lib/module/navigation/index.js.map +1 -1
  93. package/lib/module/navigation/navigator.js +10 -0
  94. package/lib/module/navigation/navigator.js.map +1 -0
  95. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js +2 -2
  96. package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js.map +1 -1
  97. package/lib/module/navigation/screen/TrueSheetScreen.js +2 -2
  98. package/lib/module/navigation/screen/TrueSheetScreen.js.map +1 -1
  99. package/lib/module/navigation/screen/useSheetScreenState.js +5 -4
  100. package/lib/module/navigation/screen/useSheetScreenState.js.map +1 -1
  101. package/lib/module/navigation/useTrueSheetNavigation.js +1 -1
  102. package/lib/module/navigation/useTrueSheetNavigation.js.map +1 -1
  103. package/lib/module/web/dom.js +10 -0
  104. package/lib/module/web/dom.js.map +1 -0
  105. package/lib/module/web/vaul/constants.js +4 -0
  106. package/lib/module/web/vaul/constants.js.map +1 -1
  107. package/lib/module/web/vaul/context.js.map +1 -1
  108. package/lib/module/web/vaul/helpers.js +10 -4
  109. package/lib/module/web/vaul/helpers.js.map +1 -1
  110. package/lib/module/web/vaul/index.js +35 -2
  111. package/lib/module/web/vaul/index.js.map +1 -1
  112. package/lib/typescript/src/TrueSheet.d.ts +6 -0
  113. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  114. package/lib/typescript/src/TrueSheet.types.d.ts +72 -1
  115. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  116. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
  117. package/lib/typescript/src/TrueSheetOverlay.d.ts +8 -0
  118. package/lib/typescript/src/TrueSheetOverlay.d.ts.map +1 -0
  119. package/lib/typescript/src/TrueSheetOverlay.web.d.ts +8 -0
  120. package/lib/typescript/src/TrueSheetOverlay.web.d.ts.map +1 -0
  121. package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -1
  122. package/lib/typescript/src/fabric/TrueSheetOverlayViewNativeComponent.d.ts +6 -0
  123. package/lib/typescript/src/fabric/TrueSheetOverlayViewNativeComponent.d.ts.map +1 -0
  124. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +4 -0
  125. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  126. package/lib/typescript/src/index.d.ts +1 -0
  127. package/lib/typescript/src/index.d.ts.map +1 -1
  128. package/lib/typescript/src/mocks/index.d.ts +4 -0
  129. package/lib/typescript/src/mocks/index.d.ts.map +1 -1
  130. package/lib/typescript/src/mocks/navigation.d.ts +5 -1
  131. package/lib/typescript/src/mocks/navigation.d.ts.map +1 -1
  132. package/lib/typescript/src/mocks/navigationExpoRouter.d.ts +22 -0
  133. package/lib/typescript/src/mocks/navigationExpoRouter.d.ts.map +1 -0
  134. package/lib/typescript/src/mocks/reanimated.d.ts.map +1 -1
  135. package/lib/typescript/src/navigation/TrueSheetNavigatorContent.d.ts +5 -0
  136. package/lib/typescript/src/navigation/TrueSheetNavigatorContent.d.ts.map +1 -0
  137. package/lib/typescript/src/navigation/actions.d.ts +71 -0
  138. package/lib/typescript/src/navigation/actions.d.ts.map +1 -0
  139. package/lib/typescript/src/navigation/base-types.d.ts +9 -0
  140. package/lib/typescript/src/navigation/base-types.d.ts.map +1 -0
  141. package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts +3 -0
  142. package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts.map +1 -0
  143. package/lib/typescript/src/navigation/expo-router/base-types.d.ts +8 -0
  144. package/lib/typescript/src/navigation/expo-router/base-types.d.ts.map +1 -0
  145. package/lib/typescript/src/navigation/expo-router/index.d.ts +37 -0
  146. package/lib/typescript/src/navigation/expo-router/index.d.ts.map +1 -0
  147. package/lib/typescript/src/navigation/expo-router/types.d.ts +44 -0
  148. package/lib/typescript/src/navigation/expo-router/types.d.ts.map +1 -0
  149. package/lib/typescript/src/navigation/index.d.ts +42 -3
  150. package/lib/typescript/src/navigation/index.d.ts.map +1 -1
  151. package/lib/typescript/src/navigation/navigator.d.ts +7 -0
  152. package/lib/typescript/src/navigation/navigator.d.ts.map +1 -0
  153. package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts +1 -1
  154. package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts.map +1 -1
  155. package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts +1 -1
  156. package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts.map +1 -1
  157. package/lib/typescript/src/navigation/screen/types.d.ts +3 -4
  158. package/lib/typescript/src/navigation/screen/types.d.ts.map +1 -1
  159. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts +5 -6
  160. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts.map +1 -1
  161. package/lib/typescript/src/navigation/types.d.ts +65 -5
  162. package/lib/typescript/src/navigation/types.d.ts.map +1 -1
  163. package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts +1 -1
  164. package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts.map +1 -1
  165. package/lib/typescript/src/web/dom.d.ts +7 -0
  166. package/lib/typescript/src/web/dom.d.ts.map +1 -0
  167. package/lib/typescript/src/web/vaul/constants.d.ts +1 -0
  168. package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -1
  169. package/lib/typescript/src/web/vaul/context.d.ts +1 -0
  170. package/lib/typescript/src/web/vaul/context.d.ts.map +1 -1
  171. package/lib/typescript/src/web/vaul/helpers.d.ts.map +1 -1
  172. package/lib/typescript/src/web/vaul/index.d.ts +7 -1
  173. package/lib/typescript/src/web/vaul/index.d.ts.map +1 -1
  174. package/package.json +32 -9
  175. package/react-native.config.js +1 -0
  176. package/src/TrueSheet.tsx +184 -46
  177. package/src/TrueSheet.types.ts +77 -1
  178. package/src/TrueSheet.web.tsx +135 -64
  179. package/src/TrueSheetOverlay.tsx +24 -0
  180. package/src/TrueSheetOverlay.web.tsx +33 -0
  181. package/src/TrueSheetPeek.web.tsx +4 -3
  182. package/src/fabric/TrueSheetContentViewNativeComponent.ts +1 -1
  183. package/src/fabric/TrueSheetOverlayViewNativeComponent.ts +12 -0
  184. package/src/fabric/TrueSheetViewNativeComponent.ts +5 -0
  185. package/src/index.ts +1 -0
  186. package/src/mocks/index.ts +7 -0
  187. package/src/mocks/navigation.ts +32 -25
  188. package/src/mocks/navigationExpoRouter.ts +41 -0
  189. package/src/mocks/reanimated.ts +8 -9
  190. package/src/navigation/{TrueSheetView.tsx → TrueSheetNavigatorContent.tsx} +24 -17
  191. package/src/navigation/actions.ts +78 -0
  192. package/src/navigation/base-types.ts +20 -0
  193. package/src/navigation/createTrueSheetRouter.ts +194 -0
  194. package/src/navigation/expo-router/base-types.ts +18 -0
  195. package/src/navigation/expo-router/index.ts +90 -0
  196. package/src/navigation/expo-router/types.ts +116 -0
  197. package/src/navigation/index.ts +68 -2
  198. package/src/navigation/navigator.ts +18 -0
  199. package/src/navigation/screen/ReanimatedTrueSheetScreen.tsx +2 -2
  200. package/src/navigation/screen/TrueSheetScreen.tsx +2 -2
  201. package/src/navigation/screen/types.ts +4 -6
  202. package/src/navigation/screen/useSheetScreenState.ts +10 -15
  203. package/src/navigation/types.ts +99 -16
  204. package/src/navigation/useTrueSheetNavigation.ts +1 -1
  205. package/src/web/dom.ts +9 -0
  206. package/src/web/vaul/constants.ts +4 -0
  207. package/src/web/vaul/context.ts +1 -0
  208. package/src/web/vaul/helpers.ts +13 -6
  209. package/src/web/vaul/index.tsx +46 -1
  210. package/lib/module/navigation/TrueSheetRouter.js.map +0 -1
  211. package/lib/module/navigation/TrueSheetView.js.map +0 -1
  212. package/lib/module/navigation/createTrueSheetNavigator.js +0 -63
  213. package/lib/module/navigation/createTrueSheetNavigator.js.map +0 -1
  214. package/lib/typescript/src/navigation/TrueSheetRouter.d.ts +0 -57
  215. package/lib/typescript/src/navigation/TrueSheetRouter.d.ts.map +0 -1
  216. package/lib/typescript/src/navigation/TrueSheetView.d.ts +0 -10
  217. package/lib/typescript/src/navigation/TrueSheetView.d.ts.map +0 -1
  218. package/lib/typescript/src/navigation/createTrueSheetNavigator.d.ts +0 -35
  219. package/lib/typescript/src/navigation/createTrueSheetNavigator.d.ts.map +0 -1
  220. package/src/navigation/TrueSheetRouter.ts +0 -234
  221. package/src/navigation/createTrueSheetNavigator.tsx +0 -93
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ /// <reference lib="dom" />
4
+ import { useLayoutEffect, useState } from 'react';
5
+ import { createPortal } from 'react-dom';
6
+ import { StyleSheet, View } from 'react-native';
7
+
8
+ /**
9
+ * Renders its children in a layer above every presented sheet — for
10
+ * toasts, dialogs, and other content a sheet must not cover.
11
+ * Fills the window; touches that miss its children pass through to the views beneath.
12
+ */
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export const TrueSheetOverlay = ({
15
+ style,
16
+ ...rest
17
+ }) => {
18
+ // Portal target appended to the body so it stacks above the sheets' portal
19
+ const [container] = useState(() => typeof document !== 'undefined' ? document.createElement('div') : null);
20
+ useLayoutEffect(() => {
21
+ if (!container) return;
22
+ container.style.cssText = 'position:fixed;inset:0;pointer-events:none';
23
+ document.body.appendChild(container);
24
+ return () => {
25
+ container.remove();
26
+ };
27
+ }, [container]);
28
+ if (!container) return null;
29
+ return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(View, {
30
+ pointerEvents: "box-none",
31
+ ...rest,
32
+ style: [StyleSheet.absoluteFill, style]
33
+ }), container);
34
+ };
35
+ //# sourceMappingURL=TrueSheetOverlay.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useLayoutEffect","useState","createPortal","StyleSheet","View","jsx","_jsx","TrueSheetOverlay","style","rest","container","document","createElement","cssText","body","appendChild","remove","pointerEvents","absoluteFill"],"sourceRoot":"../../src","sources":["TrueSheetOverlay.web.tsx"],"mappings":";;AAAA;AACA,SAASA,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AACjD,SAASC,YAAY,QAAQ,WAAW;AACxC,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;;AAE/D;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAKA,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,KAAK;EAAE,GAAGC;AAAgB,CAAC,KAAK;EACjE;EACA,MAAM,CAACC,SAAS,CAAC,GAAGT,QAAQ,CAAC,MAC3B,OAAOU,QAAQ,KAAK,WAAW,GAAGA,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,GAAG,IACpE,CAAC;EAEDZ,eAAe,CAAC,MAAM;IACpB,IAAI,CAACU,SAAS,EAAE;IAEhBA,SAAS,CAACF,KAAK,CAACK,OAAO,GAAG,4CAA4C;IACtEF,QAAQ,CAACG,IAAI,CAACC,WAAW,CAACL,SAAS,CAAC;IACpC,OAAO,MAAM;MACXA,SAAS,CAACM,MAAM,CAAC,CAAC;IACpB,CAAC;EACH,CAAC,EAAE,CAACN,SAAS,CAAC,CAAC;EAEf,IAAI,CAACA,SAAS,EAAE,OAAO,IAAI;EAE3B,oBAAOR,YAAY,cACjBI,IAAA,CAACF,IAAI;IAACa,aAAa,EAAC,UAAU;IAAA,GAAKR,IAAI;IAAED,KAAK,EAAE,CAACL,UAAU,CAACe,YAAY,EAAEV,KAAK;EAAE,CAAE,CAAC,EACpFE,SACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { createContext, useContext, useEffect, useRef } from 'react';
4
4
  import { View } from 'react-native';
5
+ import { getDOMElement } from "./web/dom.js";
5
6
 
6
7
  /**
7
8
  * Reports the measured peek content height to the owning TrueSheet.
@@ -38,9 +39,8 @@ export const TrueSheetPeek = ({
38
39
  useEffect(() => () => context?.setPeekContentHeight(0), [context]);
39
40
  const handleLayout = event => {
40
41
  if (context) {
41
- // On web, View refs resolve to the underlying DOM elements.
42
- const peekElement = viewRef.current;
43
- const contentElement = context.contentRef.current;
42
+ const peekElement = getDOMElement(viewRef.current);
43
+ const contentElement = getDOMElement(context.contentRef.current);
44
44
  const bottom = peekElement && contentElement ? measurePeekContentHeight(peekElement, contentElement) : event.nativeEvent.layout.height;
45
45
  context.setPeekContentHeight(bottom);
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","useEffect","useRef","View","jsx","_jsx","TrueSheetPeekContext","measurePeekContentHeight","peekElement","contentElement","getBoundingClientRect","bottom","top","TrueSheetPeek","onLayout","rest","context","localRef","viewRef","peekRef","setPeekContentHeight","handleLayout","event","current","contentRef","nativeEvent","layout","height","ref"],"sourceRoot":"../../src","sources":["TrueSheetPeek.web.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAkBC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACpF,SAAiCC,IAAI,QAAwB,cAAc;;AAE3E;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA;AAUA,OAAO,MAAMC,oBAAoB,gBAAGP,aAAa,CAAmC,IAAI,CAAC;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMQ,wBAAwB,GAAGA,CACtCC,WAAwB,EACxBC,cAA2B,KAE3BD,WAAW,CAACE,qBAAqB,CAAC,CAAC,CAACC,MAAM,GAAGF,cAAc,CAACC,qBAAqB,CAAC,CAAC,CAACE,GAAG;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgB,CAAC,KAAK;EACjE,MAAMC,OAAO,GAAGhB,UAAU,CAACM,oBAAoB,CAAC;EAChD,MAAMW,QAAQ,GAAGf,MAAM,CAAO,IAAI,CAAC;;EAEnC;EACA;EACA,MAAMgB,OAAO,GAAGF,OAAO,EAAEG,OAAO,IAAIF,QAAQ;EAE5ChB,SAAS,CAAC,MAAM,MAAMe,OAAO,EAAEI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAElE,MAAMK,YAAY,GAAIC,KAAwB,IAAK;IACjD,IAAIN,OAAO,EAAE;MACX;MACA,MAAMR,WAAW,GAAGU,OAAO,CAACK,OAAwC;MACpE,MAAMd,cAAc,GAAGO,OAAO,CAACQ,UAAU,CAACD,OAAwC;MAElF,MAAMZ,MAAM,GACVH,WAAW,IAAIC,cAAc,GACzBF,wBAAwB,CAACC,WAAW,EAAEC,cAAc,CAAC,GACrDa,KAAK,CAACG,WAAW,CAACC,MAAM,CAACC,MAAM;MAErCX,OAAO,CAACI,oBAAoB,CAACT,MAAM,CAAC;IACtC;IAEAG,QAAQ,GAAGQ,KAAK,CAAC;EACnB,CAAC;EAED,oBAAOjB,IAAA,CAACF,IAAI;IAAA,GAAKY,IAAI;IAAEa,GAAG,EAAEV,OAAQ;IAACJ,QAAQ,EAAEO;EAAa,CAAE,CAAC;AACjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","useEffect","useRef","View","getDOMElement","jsx","_jsx","TrueSheetPeekContext","measurePeekContentHeight","peekElement","contentElement","getBoundingClientRect","bottom","top","TrueSheetPeek","onLayout","rest","context","localRef","viewRef","peekRef","setPeekContentHeight","handleLayout","event","current","contentRef","nativeEvent","layout","height","ref"],"sourceRoot":"../../src","sources":["TrueSheetPeek.web.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAkBC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACpF,SAAiCC,IAAI,QAAwB,cAAc;AAE3E,SAASC,aAAa,QAAQ,cAAW;;AAEzC;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA;AAUA,OAAO,MAAMC,oBAAoB,gBAAGR,aAAa,CAAmC,IAAI,CAAC;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,wBAAwB,GAAGA,CACtCC,WAAwB,EACxBC,cAA2B,KAE3BD,WAAW,CAACE,qBAAqB,CAAC,CAAC,CAACC,MAAM,GAAGF,cAAc,CAACC,qBAAqB,CAAC,CAAC,CAACE,GAAG;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgB,CAAC,KAAK;EACjE,MAAMC,OAAO,GAAGjB,UAAU,CAACO,oBAAoB,CAAC;EAChD,MAAMW,QAAQ,GAAGhB,MAAM,CAAO,IAAI,CAAC;;EAEnC;EACA;EACA,MAAMiB,OAAO,GAAGF,OAAO,EAAEG,OAAO,IAAIF,QAAQ;EAE5CjB,SAAS,CAAC,MAAM,MAAMgB,OAAO,EAAEI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAElE,MAAMK,YAAY,GAAIC,KAAwB,IAAK;IACjD,IAAIN,OAAO,EAAE;MACX,MAAMR,WAAW,GAAGL,aAAa,CAACe,OAAO,CAACK,OAAO,CAAC;MAClD,MAAMd,cAAc,GAAGN,aAAa,CAACa,OAAO,CAACQ,UAAU,CAACD,OAAO,CAAC;MAEhE,MAAMZ,MAAM,GACVH,WAAW,IAAIC,cAAc,GACzBF,wBAAwB,CAACC,WAAW,EAAEC,cAAc,CAAC,GACrDa,KAAK,CAACG,WAAW,CAACC,MAAM,CAACC,MAAM;MAErCX,OAAO,CAACI,oBAAoB,CAACT,MAAM,CAAC;IACtC;IAEAG,QAAQ,GAAGQ,KAAK,CAAC;EACnB,CAAC;EAED,oBAAOjB,IAAA,CAACH,IAAI;IAAA,GAAKa,IAAI;IAAEa,GAAG,EAAEV,OAAQ;IAACJ,QAAQ,EAAEO;EAAa,CAAE,CAAC;AACjE,CAAC","ignoreList":[]}
@@ -6,7 +6,7 @@ export interface NativeProps extends ViewProps {
6
6
  }
7
7
 
8
8
  // interfaceOnly: shadow node/state/descriptor are custom (common/cpp) so the
9
- // content can be bounded to the container when a ScrollView is pinned
9
+ // content can be bounded to the container when a ScrollView is detected
10
10
  export default codegenNativeComponent<NativeProps>('TrueSheetContentView', {
11
11
  interfaceOnly: true,
12
12
  });
@@ -0,0 +1,12 @@
1
+ import type { ViewProps } from 'react-native';
2
+ import { codegenNativeComponent } from 'react-native';
3
+
4
+ export interface NativeProps extends ViewProps {
5
+ // No props needed - sized to the window from native
6
+ }
7
+
8
+ // interfaceOnly: shadow node/state/descriptor are custom (common/cpp) so the
9
+ // overlay is sized to the window
10
+ export default codegenNativeComponent<NativeProps>('TrueSheetOverlayView', {
11
+ interfaceOnly: true,
12
+ });
@@ -35,7 +35,9 @@ type BlurOptionsType = Readonly<{
35
35
  type ScrollEdgeEffect = 'automatic' | 'hard' | 'soft' | 'hidden';
36
36
 
37
37
  type ScrollableOptionsType = Readonly<{
38
+ contentInsetAdjustmentBehavior?: WithDefault<boolean, true>;
38
39
  keyboardScrollOffset?: WithDefault<Double, 0>;
40
+ keyboardOffset?: WithDefault<Double, 0>;
39
41
  scrollingExpandsSheet?: WithDefault<boolean, true>;
40
42
  topScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
41
43
  bottomScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
@@ -122,6 +124,8 @@ export interface NativeProps extends ViewProps {
122
124
  draggable?: WithDefault<boolean, true>;
123
125
  dimmed?: WithDefault<boolean, true>;
124
126
  initialDetentAnimated?: WithDefault<boolean, true>;
127
+ // React tag of the scrollable component within the content (see scrollableRef)
128
+ scrollableHandle?: WithDefault<Int32, -1>;
125
129
  scrollableOptions?: ScrollableOptionsType;
126
130
  headerOptions?: HeaderOptionsType;
127
131
  footerOptions?: FooterOptionsType;
@@ -133,6 +137,7 @@ export interface NativeProps extends ViewProps {
133
137
  onDidPresent?: DirectEventHandler<DetentInfoEventPayload>;
134
138
  onWillDismiss?: DirectEventHandler<null>;
135
139
  onDidDismiss?: DirectEventHandler<null>;
140
+ onDismissAttempt?: DirectEventHandler<null>;
136
141
  onDetentChange?: DirectEventHandler<DetentInfoEventPayload>;
137
142
  onDragBegin?: DirectEventHandler<DetentInfoEventPayload>;
138
143
  onDragChange?: DirectEventHandler<DetentInfoEventPayload>;
@@ -3,5 +3,6 @@
3
3
  export * from './TrueSheet';
4
4
  export * from "./TrueSheet.types.js";
5
5
  export { TrueSheetPeek } from './TrueSheetPeek';
6
+ export { TrueSheetOverlay } from './TrueSheetOverlay';
6
7
  export { TrueSheetProvider, useTrueSheet } from './TrueSheetProvider';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TrueSheetPeek","TrueSheetProvider","useTrueSheet"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,aAAa;AAC3B,cAAc,sBAAmB;AACjC,SAASA,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,iBAAiB,EAAEC,YAAY,QAAQ,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["TrueSheetPeek","TrueSheetOverlay","TrueSheetProvider","useTrueSheet"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,aAAa;AAC3B,cAAc,sBAAmB;AACjC,SAASA,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,iBAAiB,EAAEC,YAAY,QAAQ,qBAAqB","ignoreList":[]}
@@ -68,6 +68,16 @@ export function TrueSheetPeek({
68
68
  return /*#__PURE__*/React.createElement(View, rest, children);
69
69
  }
70
70
 
71
+ /**
72
+ * Mock TrueSheetOverlay component for testing.
73
+ */
74
+ export function TrueSheetOverlay({
75
+ children,
76
+ ...rest
77
+ }) {
78
+ return /*#__PURE__*/React.createElement(View, rest, children);
79
+ }
80
+
71
81
  /**
72
82
  * Mock TrueSheetProvider for testing.
73
83
  */
@@ -1 +1 @@
1
- {"version":3,"names":["React","createElement","isValidElement","View","TrueSheet","Component","instances","dismiss","jest","fn","_name","_animated","Promise","resolve","dismissStack","present","_index","resize","dismissAll","componentDidMount","name","props","componentWillUnmount","renderHeader","header","renderFooter","footer","render","children","style","TrueSheetPeek","rest","TrueSheetProvider","useTrueSheet"],"sourceRoot":"../../../src","sources":["mocks/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createElement","isValidElement","View","TrueSheet","Component","instances","dismiss","jest","fn","_name","_animated","Promise","resolve","dismissStack","present","_index","resize","dismissAll","componentDidMount","name","props","componentWillUnmount","renderHeader","header","renderFooter","footer","render","children","style","TrueSheetPeek","rest","TrueSheetOverlay","TrueSheetProvider","useTrueSheet"],"sourceRoot":"../../../src","sources":["mocks/index.ts"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,11 @@ export const createTrueSheetNavigator = jest.fn(() => ({
12
12
  Group: jest.fn(() => null)
13
13
  }));
14
14
 
15
+ /**
16
+ * Mock createTrueSheetScreen for testing the static API.
17
+ */
18
+ export const createTrueSheetScreen = jest.fn(config => config);
19
+
15
20
  /**
16
21
  * Mock TrueSheetActions for testing.
17
22
  */
@@ -61,25 +66,30 @@ export const TrueSheetActions = {
61
66
  /**
62
67
  * Mock useTrueSheetNavigation hook for testing.
63
68
  */
64
- export const useTrueSheetNavigation = jest.fn(() => ({
65
- navigate: jest.fn(),
66
- goBack: jest.fn(),
67
- reset: jest.fn(),
68
- setParams: jest.fn(),
69
- dispatch: jest.fn(),
70
- isFocused: jest.fn(() => true),
71
- canGoBack: jest.fn(() => true),
72
- getId: jest.fn(),
73
- getParent: jest.fn(),
74
- getState: jest.fn(),
75
- addListener: jest.fn(() => jest.fn()),
76
- removeListener: jest.fn(),
77
- setOptions: jest.fn(),
78
- push: jest.fn(),
79
- pop: jest.fn(),
80
- popTo: jest.fn(),
81
- popToTop: jest.fn(),
82
- replace: jest.fn(),
83
- resize: jest.fn()
84
- }));
69
+ export const useTrueSheetNavigation = jest.fn(() => {
70
+ // Partial drops react-navigation's private-brand member (PrivateValueStore),
71
+ // which no mock can implement — the members themselves stay type-checked.
72
+ const navigation = {
73
+ navigate: jest.fn(),
74
+ goBack: jest.fn(),
75
+ reset: jest.fn(),
76
+ setParams: jest.fn(),
77
+ dispatch: jest.fn(),
78
+ isFocused: jest.fn(() => true),
79
+ canGoBack: jest.fn(() => true),
80
+ getId: jest.fn(),
81
+ getParent: jest.fn(),
82
+ getState: jest.fn(),
83
+ addListener: jest.fn(() => jest.fn()),
84
+ removeListener: jest.fn(),
85
+ setOptions: jest.fn(),
86
+ push: jest.fn(),
87
+ pop: jest.fn(),
88
+ popTo: jest.fn(),
89
+ popToTop: jest.fn(),
90
+ replace: jest.fn(),
91
+ resize: jest.fn()
92
+ };
93
+ return navigation;
94
+ });
85
95
  //# sourceMappingURL=navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createTrueSheetNavigator","jest","fn","Navigator","children","Screen","Group","TrueSheetActions","push","name","params","type","payload","pop","count","popTo","popToTop","replace","resize","index","dismiss","remove","useTrueSheetNavigation","navigate","goBack","reset","setParams","dispatch","isFocused","canGoBack","getId","getParent","getState","addListener","removeListener","setOptions"],"sourceRoot":"../../../src","sources":["mocks/navigation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createTrueSheetNavigator","jest","fn","Navigator","children","Screen","Group","createTrueSheetScreen","config","TrueSheetActions","push","name","params","type","payload","pop","count","popTo","popToTop","replace","resize","index","dismiss","remove","useTrueSheetNavigation","navigation","navigate","goBack","reset","setParams","dispatch","isFocused","canGoBack","getId","getParent","getState","addListener","removeListener","setOptions"],"sourceRoot":"../../../src","sources":["mocks/navigation.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import { TrueSheetActions, useTrueSheetNavigation as useTrueSheetNavigationMock } from "./navigation.js";
4
+
5
+ /**
6
+ * Mock Sheet layout for testing.
7
+ * Import from '@lodev09/react-native-true-sheet/navigation/expo-router/mock' in your test setup.
8
+ */
9
+ export const Sheet = Object.assign(jest.fn(({
10
+ children
11
+ }) => children), {
12
+ Screen: jest.fn(() => null),
13
+ Protected: jest.fn(() => null)
14
+ });
15
+
16
+ /**
17
+ * Mock useTrueSheetNavigation hook for testing.
18
+ */
19
+ export const useTrueSheetNavigation = jest.fn(() => useTrueSheetNavigationMock());
20
+ export { TrueSheetActions };
21
+ //# sourceMappingURL=navigationExpoRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TrueSheetActions","useTrueSheetNavigation","useTrueSheetNavigationMock","Sheet","Object","assign","jest","fn","children","Screen","Protected"],"sourceRoot":"../../../src","sources":["mocks/navigationExpoRouter.ts"],"mappings":";;AAEA,SACEA,gBAAgB,EAChBC,sBAAsB,IAAIC,0BAA0B,QAC/C,iBAAc;;AAErB;AACA;AACA;AACA;AACA,OAAO,MAAMC,KAAK,GAAGC,MAAM,CAACC,MAAM,CAChCC,IAAI,CAACC,EAAE,CAAC,CAAC;EAAEC;AAAwC,CAAC,KAAKA,QAAQ,CAAC,EAClE;EACEC,MAAM,EAAEH,IAAI,CAACC,EAAE,CAAC,MAAM,IAAI,CAAC;EAC3BG,SAAS,EAAEJ,IAAI,CAACC,EAAE,CAAC,MAAM,IAAI;AAC/B,CACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMN,sBAAsB,GAAGK,IAAI,CAACC,EAAE,CAG3C,MACEL,0BAA0B,CAAC,CAC/B,CAAC;AAED,SAASF,gBAAgB","ignoreList":[]}
@@ -6,7 +6,7 @@ const createMockSharedValue = initialValue => ({
6
6
  value: initialValue,
7
7
  get: () => initialValue,
8
8
  set: () => {},
9
- addListener: () => () => {},
9
+ addListener: () => {},
10
10
  removeListener: () => {},
11
11
  modify: () => {}
12
12
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","createElement","isValidElement","View","createMockSharedValue","initialValue","value","get","set","addListener","removeListener","modify","ReanimatedTrueSheet","Component","instances","dismiss","jest","fn","_name","_animated","Promise","resolve","dismissStack","present","_index","resize","componentDidMount","name","props","componentWillUnmount","renderHeader","header","renderFooter","footer","render","children","style","ReanimatedTrueSheetProvider","useReanimatedTrueSheet","animatedPosition","animatedIndex","animatedDetent","useReanimatedPositionChangeHandler","_handler","_dependencies"],"sourceRoot":"../../../src","sources":["mocks/reanimated.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createElement","isValidElement","View","createMockSharedValue","initialValue","value","get","set","addListener","removeListener","modify","ReanimatedTrueSheet","Component","instances","dismiss","jest","fn","_name","_animated","Promise","resolve","dismissStack","present","_index","resize","componentDidMount","name","props","componentWillUnmount","renderHeader","header","renderFooter","footer","render","children","style","ReanimatedTrueSheetProvider","useReanimatedTrueSheet","animatedPosition","animatedIndex","animatedDetent","useReanimatedPositionChangeHandler","_handler","_dependencies"],"sourceRoot":"../../../src","sources":["mocks/reanimated.ts"],"mappings":"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","ignoreList":[]}
@@ -11,13 +11,16 @@ const getReanimatedScreen = () => {
11
11
  };
12
12
  const DEFAULT_DETENTS = ['auto'];
13
13
  const clampDetentIndex = (index, detentsLength) => Math.min(index, Math.max(detentsLength - 1, 0));
14
- export const TrueSheetView = ({
15
- state,
16
- navigation,
17
- descriptors
14
+ export const TrueSheetNavigatorContent = ({
15
+ routes,
16
+ dispatch,
17
+ descriptors,
18
+ emitter
18
19
  }) => {
19
- // First route is the base screen, rest are sheets
20
- const [baseRoute, ...sheetRoutes] = state.routes;
20
+ // First route is the base screen, rest are sheets.
21
+ // Rendered from the raw routes (not the standard state) so custom fields are
22
+ // available and preloaded routes never present as sheets.
23
+ const [baseRoute, ...sheetRoutes] = routes;
21
24
  const baseDescriptor = baseRoute ? descriptors[baseRoute.key] : null;
22
25
  return /*#__PURE__*/_jsxs(_Fragment, {
23
26
  children: [baseDescriptor?.render(), sheetRoutes.map(route => {
@@ -27,7 +30,6 @@ export const TrueSheetView = ({
27
30
  }
28
31
  const {
29
32
  options,
30
- navigation: screenNavigation,
31
33
  render
32
34
  } = descriptor;
33
35
  const {
@@ -46,8 +48,8 @@ export const TrueSheetView = ({
46
48
  detentIndex: resolvedIndex,
47
49
  resizeKey: route.resizeKey,
48
50
  detents: detents,
49
- navigation: screenNavigation,
50
- emit: navigation.emit,
51
+ dispatch: dispatch,
52
+ emit: emitter.emit,
51
53
  positionChangeHandler: positionChangeHandler,
52
54
  ...sheetProps,
53
55
  children: render()
@@ -59,8 +61,8 @@ export const TrueSheetView = ({
59
61
  detentIndex: resolvedIndex,
60
62
  resizeKey: route.resizeKey,
61
63
  detents: detents,
62
- navigation: screenNavigation,
63
- emit: navigation.emit,
64
+ dispatch: dispatch,
65
+ emit: emitter.emit,
64
66
  positionChangeHandler: positionChangeHandler,
65
67
  ...sheetProps,
66
68
  children: render()
@@ -68,4 +70,4 @@ export const TrueSheetView = ({
68
70
  })]
69
71
  });
70
72
  };
71
- //# sourceMappingURL=TrueSheetView.js.map
73
+ //# sourceMappingURL=TrueSheetNavigatorContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TrueSheetScreen","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ReanimatedTrueSheetScreen","getReanimatedScreen","require","DEFAULT_DETENTS","clampDetentIndex","index","detentsLength","Math","min","max","TrueSheetNavigatorContent","routes","dispatch","descriptors","emitter","baseRoute","sheetRoutes","baseDescriptor","key","children","render","map","route","descriptor","options","detentIndex","detents","reanimated","positionChangeHandler","sheetProps","resolvedIndex","resizeIndex","length","ReanimatedScreen","routeKey","closing","resizeKey","emit"],"sourceRoot":"../../../src","sources":["navigation/TrueSheetNavigatorContent.tsx"],"mappings":";;AAOA,SAASA,eAAe,QAAmC,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtE,IAAIC,yBAA2E,GAAG,IAAI;AAEtF,MAAMC,mBAAmB,GAAGA,CAAA,KAAiD;EAC3E,IAAI,CAACD,yBAAyB,EAAE;IAC9BA,yBAAyB,GACvBE,OAAO,CAAC,oCAAoC,CAAC,CAACF,yBAAyB;EAC3E;EACA,OAAOA,yBAAyB;AAClC,CAAC;AAED,MAAMG,eAAoC,GAAG,CAAC,MAAM,CAAC;AAErD,MAAMC,gBAAgB,GAAGA,CAACC,KAAa,EAAEC,aAAqB,KAC5DC,IAAI,CAACC,GAAG,CAACH,KAAK,EAAEE,IAAI,CAACE,GAAG,CAACH,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAQjD,OAAO,MAAMI,yBAAyB,GAAGA,CAAC;EACxCC,MAAM;EACNC,QAAQ;EACRC,WAAW;EACXC;AAC8B,CAAC,KAAK;EACpC;EACA;EACA;EACA,MAAM,CAACC,SAAS,EAAE,GAAGC,WAAW,CAAC,GAAGL,MAAM;EAE1C,MAAMM,cAAc,GAAGF,SAAS,GAAGF,WAAW,CAACE,SAAS,CAACG,GAAG,CAAC,GAAG,IAAI;EAEpE,oBACEnB,KAAA,CAAAF,SAAA;IAAAsB,QAAA,GAEGF,cAAc,EAAEG,MAAM,CAAC,CAAC,EAGxBJ,WAAW,CAACK,GAAG,CAAEC,KAAK,IAAK;MAC1B,MAAMC,UAAU,GAAGV,WAAW,CAACS,KAAK,CAACJ,GAAG,CAAC;MAEzC,IAAI,CAACK,UAAU,EAAE;QACf,OAAO,IAAI;MACb;MAEA,MAAM;QAAEC,OAAO;QAAEJ;MAAO,CAAC,GAAGG,UAAU;MACtC,MAAM;QACJE,WAAW,GAAG,CAAC;QACfC,OAAO,GAAGvB,eAAe;QACzBwB,UAAU;QACVC,qBAAqB;QACrB,GAAGC;MACL,CAAC,GAAGL,OAAO;MACX,MAAMM,aAAa,GAAG1B,gBAAgB,CAACkB,KAAK,CAACS,WAAW,IAAIN,WAAW,EAAEC,OAAO,CAACM,MAAM,CAAC;MAExF,IAAIL,UAAU,EAAE;QACd,MAAMM,gBAAgB,GAAGhC,mBAAmB,CAAC,CAAC;QAC9C,oBACEN,IAAA,CAACsC,gBAAgB;UAEfC,QAAQ,EAAEZ,KAAK,CAACJ,GAAI;UACpBiB,OAAO,EAAEb,KAAK,CAACa,OAAQ;UACvBV,WAAW,EAAEK,aAAc;UAC3BM,SAAS,EAAEd,KAAK,CAACc,SAAU;UAC3BV,OAAO,EAAEA,OAAQ;UACjBd,QAAQ,EAAEA,QAAS;UACnByB,IAAI,EAAEvB,OAAO,CAACuB,IAAK;UACnBT,qBAAqB,EAAEA,qBAAsB;UAAA,GACzCC,UAAU;UAAAV,QAAA,EAEbC,MAAM,CAAC;QAAC,GAXJE,KAAK,CAACJ,GAYK,CAAC;MAEvB;MAEA,oBACEvB,IAAA,CAACF,eAAe;QAEdyC,QAAQ,EAAEZ,KAAK,CAACJ,GAAI;QACpBiB,OAAO,EAAEb,KAAK,CAACa,OAAQ;QACvBV,WAAW,EAAEK,aAAc;QAC3BM,SAAS,EAAEd,KAAK,CAACc,SAAU;QAC3BV,OAAO,EAAEA,OAAQ;QACjBd,QAAQ,EAAEA,QAAS;QACnByB,IAAI,EAAEvB,OAAO,CAACuB,IAAK;QACnBT,qBAAqB,EAAEA,qBAAsB;QAAA,GACzCC,UAAU;QAAAV,QAAA,EAEbC,MAAM,CAAC;MAAC,GAXJE,KAAK,CAACJ,GAYI,CAAC;IAEtB,CAAC,CAAC;EAAA,CACF,CAAC;AAEP,CAAC","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Action creators for the TrueSheet navigator.
5
+ * Plain objects matching `StackActions` shapes, plus sheet-specific actions.
6
+ */
7
+ export const TrueSheetActions = {
8
+ push: (name, params) => ({
9
+ type: 'PUSH',
10
+ payload: {
11
+ name,
12
+ params
13
+ }
14
+ }),
15
+ pop: (count = 1) => ({
16
+ type: 'POP',
17
+ payload: {
18
+ count
19
+ }
20
+ }),
21
+ popTo: (name, params, options) => ({
22
+ type: 'POP_TO',
23
+ payload: {
24
+ name,
25
+ params,
26
+ merge: options?.merge
27
+ }
28
+ }),
29
+ popToTop: () => ({
30
+ type: 'POP_TO_TOP'
31
+ }),
32
+ replace: (name, params) => ({
33
+ type: 'REPLACE',
34
+ payload: {
35
+ name,
36
+ params
37
+ }
38
+ }),
39
+ resize: index => ({
40
+ type: 'RESIZE',
41
+ index
42
+ }),
43
+ dismiss: () => ({
44
+ type: 'DISMISS'
45
+ }),
46
+ remove: () => ({
47
+ type: 'REMOVE'
48
+ })
49
+ };
50
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TrueSheetActions","push","name","params","type","payload","pop","count","popTo","options","merge","popToTop","replace","resize","index","dismiss","remove"],"sourceRoot":"../../../src","sources":["navigation/actions.ts"],"mappings":";;AAoDA;AACA;AACA;AACA;AACA,OAAO,MAAMA,gBAAgB,GAAG;EAC9BC,IAAI,EAAEA,CAACC,IAAY,EAAEC,MAAe,MAA2B;IAC7DC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE;MAAEH,IAAI;MAAEC;IAAO;EAC1B,CAAC,CAAC;EACFG,GAAG,EAAEA,CAACC,KAAa,GAAG,CAAC,MAA2B;IAChDH,IAAI,EAAE,KAAK;IACXC,OAAO,EAAE;MAAEE;IAAM;EACnB,CAAC,CAAC;EACFC,KAAK,EAAEA,CAACN,IAAY,EAAEC,MAAe,EAAEM,OAA6B,MAA2B;IAC7FL,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE;MAAEH,IAAI;MAAEC,MAAM;MAAEO,KAAK,EAAED,OAAO,EAAEC;IAAM;EACjD,CAAC,CAAC;EACFC,QAAQ,EAAEA,CAAA,MAA4B;IAAEP,IAAI,EAAE;EAAa,CAAC,CAAC;EAC7DQ,OAAO,EAAEA,CAACV,IAAY,EAAEC,MAAe,MAA2B;IAChEC,IAAI,EAAE,SAAS;IACfC,OAAO,EAAE;MAAEH,IAAI;MAAEC;IAAO;EAC1B,CAAC,CAAC;EACFU,MAAM,EAAGC,KAAa,KAA2B;IAAEV,IAAI,EAAE,QAAQ;IAAEU;EAAM,CAAC,CAAC;EAC3EC,OAAO,EAAEA,CAAA,MAA4B;IAAEX,IAAI,EAAE;EAAU,CAAC,CAAC;EACzDY,MAAM,EAAEA,CAAA,MAA4B;IAAEZ,IAAI,EAAE;EAAS,CAAC;AACxD,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=base-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["navigation/base-types.ts"],"mappings":"","ignoreList":[]}
@@ -1,20 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { nanoid } from 'nanoid/non-secure';
4
- import { StackRouter, StackActions } from '@react-navigation/core';
5
- export const TrueSheetActions = {
6
- ...StackActions,
7
- resize: index => ({
8
- type: 'RESIZE',
9
- index
10
- }),
11
- dismiss: () => ({
12
- type: 'DISMISS'
13
- }),
14
- remove: () => ({
15
- type: 'REMOVE'
16
- })
17
- };
3
+ import { TrueSheetActions } from "./actions.js";
4
+ const uid = () => Math.random().toString(36).slice(2, 10);
18
5
  const ensureBaseRoute = (state, baseRouteName, routeParamList) => {
19
6
  if (!baseRouteName) {
20
7
  return state;
@@ -22,7 +9,7 @@ const ensureBaseRoute = (state, baseRouteName, routeParamList) => {
22
9
  const hasBaseRoute = state.routes.some(r => r.name === baseRouteName);
23
10
  if (!hasBaseRoute) {
24
11
  const baseRoute = {
25
- key: `${baseRouteName}-${nanoid()}`,
12
+ key: `${baseRouteName}-${uid()}`,
26
13
  name: baseRouteName,
27
14
  params: routeParamList?.[baseRouteName]
28
15
  };
@@ -34,8 +21,8 @@ const ensureBaseRoute = (state, baseRouteName, routeParamList) => {
34
21
  }
35
22
  return state;
36
23
  };
37
- export const TrueSheetRouter = routerOptions => {
38
- const baseRouter = StackRouter(routerOptions);
24
+ export const createTrueSheetRouter = stackRouter => routerOptions => {
25
+ const baseRouter = stackRouter(routerOptions);
39
26
  return {
40
27
  ...baseRouter,
41
28
  type: 'true-sheet',
@@ -47,7 +34,7 @@ export const TrueSheetRouter = routerOptions => {
47
34
  ...stateWithBaseRoute,
48
35
  stale: false,
49
36
  type: 'true-sheet',
50
- key: `true-sheet-${nanoid()}`
37
+ key: `true-sheet-${uid()}`
51
38
  };
52
39
  },
53
40
  getStateForAction(state, action, options) {
@@ -67,7 +54,7 @@ export const TrueSheetRouter = routerOptions => {
67
54
  case 'GO_BACK':
68
55
  case 'DISMISS':
69
56
  {
70
- return this.getStateForAction(state, StackActions.pop(1), options);
57
+ return this.getStateForAction(state, TrueSheetActions.pop(1), options);
71
58
  }
72
59
  case 'POP':
73
60
  {
@@ -105,7 +92,7 @@ export const TrueSheetRouter = routerOptions => {
105
92
  case 'POP_TO_TOP':
106
93
  {
107
94
  const popCount = state.routes.length - 1;
108
- return this.getStateForAction(state, StackActions.pop(popCount), options);
95
+ return this.getStateForAction(state, TrueSheetActions.pop(popCount), options);
109
96
  }
110
97
  case 'POP_TO':
111
98
  {
@@ -120,7 +107,7 @@ export const TrueSheetRouter = routerOptions => {
120
107
  return null;
121
108
  }
122
109
  const popCount = state.routes.length - 1 - targetIndex;
123
- return this.getStateForAction(state, StackActions.pop(popCount), options);
110
+ return this.getStateForAction(state, TrueSheetActions.pop(popCount), options);
124
111
  }
125
112
  case 'REMOVE':
126
113
  {
@@ -161,10 +148,10 @@ export const TrueSheetRouter = routerOptions => {
161
148
  return {
162
149
  ...stateWithBaseRoute,
163
150
  type: 'true-sheet',
164
- key: `true-sheet-${nanoid()}`
151
+ key: `true-sheet-${uid()}`
165
152
  };
166
153
  },
167
154
  actionCreators: TrueSheetActions
168
155
  };
169
156
  };
170
- //# sourceMappingURL=TrueSheetRouter.js.map
157
+ //# sourceMappingURL=createTrueSheetRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TrueSheetActions","uid","Math","random","toString","slice","ensureBaseRoute","state","baseRouteName","routeParamList","hasBaseRoute","routes","some","r","name","baseRoute","key","params","index","length","createTrueSheetRouter","stackRouter","routerOptions","baseRouter","type","getInitialState","options","initialRouteName","routeNames","stateWithBaseRoute","stale","getStateForAction","action","routeIndex","target","source","findIndex","map","route","i","resizeIndex","resizeKey","pop","count","payload","maxPopCount","actualCount","min","targetIndex","closingIndex","closing","popCount","targetName","routeKey","filter","_","getRehydratedState","partialState","routeGetIdList","actionCreators"],"sourceRoot":"../../../src","sources":["navigation/createTrueSheetRouter.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=base-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["navigation/expo-router/base-types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ import { StackRouter, unstable_integrateWithRouter, useNavigation } from 'expo-router';
4
+ import { createTrueSheetRouter } from "../createTrueSheetRouter.js";
5
+ import { trueSheetNavigator } from "../navigator.js";
6
+ // expo-router's vendored StackRouter is structurally identical to @react-navigation's.
7
+ // Pinned to this entry's own router types: `createTrueSheetRouter` is shared and typed
8
+ // against React Navigation, which resolves to `any` in apps that only install expo-router.
9
+ const sheetRouter = createTrueSheetRouter(StackRouter);
10
+ const SheetNavigator = unstable_integrateWithRouter(trueSheetNavigator, sheetRouter, {
11
+ createProps: ({
12
+ state,
13
+ dispatch
14
+ }) => ({
15
+ routes: state.routes,
16
+ dispatch
17
+ })
18
+ });
19
+
20
+ // Public props: `routes`/`dispatch` are injected by `createProps` (optional here
21
+ // so the navigator type stays comparable), and expo-router intersects the event
22
+ // map with an index signature which breaks precisely typed `screenListeners`
23
+ // callbacks - replace it with the exact map
24
+
25
+ /**
26
+ * TrueSheet navigator layout for Expo Router.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * // app/sheet/_layout.tsx
31
+ * import { Sheet } from '@lodev09/react-native-true-sheet/navigation/expo-router';
32
+ *
33
+ * export default function SheetLayout() {
34
+ * return (
35
+ * <Sheet initialRouteName="(home)">
36
+ * <Sheet.Screen name="details" options={{ detents: [0.5, 1] }} />
37
+ * </Sheet>
38
+ * );
39
+ * }
40
+ * ```
41
+ */
42
+ export const Sheet = SheetNavigator;
43
+
44
+ /**
45
+ * Hook to access TrueSheet navigation with the resize helper.
46
+ * Built on expo-router's `useNavigation`.
47
+ */
48
+ export const useTrueSheetNavigation = () => useNavigation();
49
+ export { TrueSheetActions } from "../actions.js";
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StackRouter","unstable_integrateWithRouter","useNavigation","createTrueSheetRouter","trueSheetNavigator","sheetRouter","SheetNavigator","createProps","state","dispatch","routes","Sheet","useTrueSheetNavigation","TrueSheetActions"],"sourceRoot":"../../../../src","sources":["navigation/expo-router/index.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,4BAA4B,EAAEC,aAAa,QAAQ,aAAa;AAEtF,SAASC,qBAAqB,QAAQ,6BAA0B;AAChE,SAASC,kBAAkB,QAAQ,iBAAc;AAcjD;AACA;AACA;AACA,MAAMC,WAAmC,GAAGF,qBAAqB,CAC/DH,WACF,CAAC;AAED,MAAMM,cAAc,GAAGL,4BAA4B,CAMjDG,kBAAkB,EAAEC,WAAW,EAAE;EACjCE,WAAW,EAAEA,CAAC;IAAEC,KAAK;IAAEC;EAAS,CAAC,MAAM;IACrCC,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBD;EACF,CAAC;AACH,CAAC,CAAC;;AAEF;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,KAAK,GAAGL,cAGpB;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMM,sBAAsB,GAAGA,CAAA,KAEHV,aAAa,CAA6B,CAAC;AAE9E,SAASW,gBAAgB,QAAkC,eAAY","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["navigation/expo-router/types.ts"],"mappings":"","ignoreList":[]}