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

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 (203) 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 +50 -16
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +302 -184
  5. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentViewManager.kt +5 -1
  6. package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +21 -110
  7. package/android/src/main/java/com/lodev09/truesheet/TrueSheetOverlayView.kt +116 -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 +119 -50
  12. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +360 -163
  13. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +54 -12
  14. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetView.kt +22 -9
  15. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetCoordinatorLayout.kt +84 -5
  16. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +104 -39
  17. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDimView.kt +3 -0
  18. package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetOverlayRootView.kt +137 -0
  19. package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetLifecycleEvents.kt +15 -0
  20. package/android/src/main/java/com/lodev09/truesheet/utils/KeyboardUtils.kt +15 -2
  21. package/android/src/main/java/com/lodev09/truesheet/utils/ScreenUtils.kt +0 -12
  22. package/android/src/main/java/com/lodev09/truesheet/utils/ViewUtils.kt +19 -7
  23. package/android/src/main/jni/TrueSheetSpec.h +1 -0
  24. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewComponentDescriptor.h +1 -9
  25. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +110 -30
  26. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.h +30 -7
  27. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.cpp +2 -2
  28. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.h +9 -8
  29. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewComponentDescriptor.h +3 -5
  30. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.cpp +9 -3
  31. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.h +3 -6
  32. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewState.cpp +1 -1
  33. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewState.h +4 -6
  34. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetInsets.cpp +1 -1
  35. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetInsets.h +1 -1
  36. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetLayoutUtils.h +43 -0
  37. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewComponentDescriptor.h +21 -0
  38. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewShadowNode.cpp +17 -0
  39. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewShadowNode.h +33 -0
  40. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h +3 -5
  41. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.cpp +7 -40
  42. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.h +3 -7
  43. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.cpp +3 -5
  44. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.h +4 -5
  45. package/ios/TrueSheetContainerView.h +27 -7
  46. package/ios/TrueSheetContainerView.mm +31 -11
  47. package/ios/TrueSheetContentView.h +43 -15
  48. package/ios/TrueSheetContentView.mm +211 -189
  49. package/ios/TrueSheetFooterView.h +6 -0
  50. package/ios/TrueSheetFooterView.mm +93 -17
  51. package/ios/TrueSheetModule.h +2 -7
  52. package/ios/TrueSheetModule.mm +7 -16
  53. package/ios/TrueSheetOverlayView.h +32 -0
  54. package/ios/TrueSheetOverlayView.mm +161 -0
  55. package/ios/TrueSheetView.mm +212 -55
  56. package/ios/TrueSheetViewController.h +31 -3
  57. package/ios/TrueSheetViewController.mm +393 -94
  58. package/ios/core/TrueSheetBlurView.h +0 -2
  59. package/ios/core/TrueSheetBlurView.mm +3 -36
  60. package/ios/core/TrueSheetDetentCalculator.h +7 -1
  61. package/ios/core/TrueSheetDetentCalculator.mm +27 -4
  62. package/ios/core/TrueSheetGrabberView.mm +13 -3
  63. package/ios/core/TrueSheetKeyboardObserver.mm +2 -0
  64. package/ios/core/TrueSheetOverlayContainerView.h +31 -0
  65. package/ios/core/TrueSheetOverlayContainerView.mm +35 -0
  66. package/ios/events/TrueSheetLifecycleEvents.h +2 -0
  67. package/ios/events/TrueSheetLifecycleEvents.mm +8 -0
  68. package/ios/tvos/TrueSheetStubs.mm +12 -0
  69. package/ios/utils/UIView+ScrollEdgeInteraction.h +1 -0
  70. package/ios/utils/UIView+ScrollEdgeInteraction.mm +24 -2
  71. package/lib/module/TrueSheet.js +173 -39
  72. package/lib/module/TrueSheet.js.map +1 -1
  73. package/lib/module/TrueSheet.web.js +218 -243
  74. package/lib/module/TrueSheet.web.js.map +1 -1
  75. package/lib/module/TrueSheetBackground.js +15 -0
  76. package/lib/module/TrueSheetBackground.js.map +1 -0
  77. package/lib/module/TrueSheetOverlay.js +30 -0
  78. package/lib/module/TrueSheetOverlay.js.map +1 -0
  79. package/lib/module/TrueSheetOverlay.web.js +35 -0
  80. package/lib/module/TrueSheetOverlay.web.js.map +1 -0
  81. package/lib/module/TrueSheetPeek.web.js +20 -15
  82. package/lib/module/TrueSheetPeek.web.js.map +1 -1
  83. package/lib/module/detentBackgrounds.js +21 -0
  84. package/lib/module/detentBackgrounds.js.map +1 -0
  85. package/lib/module/fabric/TrueSheetContentViewNativeComponent.ts +1 -1
  86. package/lib/module/fabric/TrueSheetOverlayViewNativeComponent.ts +12 -0
  87. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +14 -10
  88. package/lib/module/index.js +1 -0
  89. package/lib/module/index.js.map +1 -1
  90. package/lib/module/mocks/index.js +18 -2
  91. package/lib/module/mocks/index.js.map +1 -1
  92. package/lib/module/mocks/navigationExpoRouter.js.map +1 -1
  93. package/lib/module/navigation/base-types.js +2 -0
  94. package/lib/module/navigation/base-types.js.map +1 -0
  95. package/lib/module/navigation/createTrueSheetRouter.js +0 -9
  96. package/lib/module/navigation/createTrueSheetRouter.js.map +1 -1
  97. package/lib/module/navigation/expo-router/base-types.js +2 -0
  98. package/lib/module/navigation/expo-router/base-types.js.map +1 -0
  99. package/lib/module/navigation/expo-router/index.js +10 -7
  100. package/lib/module/navigation/expo-router/index.js.map +1 -1
  101. package/lib/module/navigation/expo-router/types.js +4 -0
  102. package/lib/module/navigation/expo-router/types.js.map +1 -0
  103. package/lib/module/navigation/index.js.map +1 -1
  104. package/lib/module/navigation/screen/useSheetScreenState.js +1 -0
  105. package/lib/module/navigation/screen/useSheetScreenState.js.map +1 -1
  106. package/lib/module/web/constants.js +1 -1
  107. package/lib/module/web/constants.js.map +1 -1
  108. package/lib/module/web/layout.js +168 -0
  109. package/lib/module/web/layout.js.map +1 -0
  110. package/lib/module/web/vaul/constants.js +4 -0
  111. package/lib/module/web/vaul/constants.js.map +1 -1
  112. package/lib/module/web/vaul/context.js.map +1 -1
  113. package/lib/module/web/vaul/helpers.js +1 -0
  114. package/lib/module/web/vaul/helpers.js.map +1 -1
  115. package/lib/module/web/vaul/index.js +44 -6
  116. package/lib/module/web/vaul/index.js.map +1 -1
  117. package/lib/module/web/vaul/use-snap-points.js +6 -8
  118. package/lib/module/web/vaul/use-snap-points.js.map +1 -1
  119. package/lib/typescript/src/TrueSheet.d.ts +6 -0
  120. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  121. package/lib/typescript/src/TrueSheet.types.d.ts +135 -34
  122. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  123. package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
  124. package/lib/typescript/src/TrueSheetBackground.d.ts +3 -0
  125. package/lib/typescript/src/TrueSheetBackground.d.ts.map +1 -0
  126. package/lib/typescript/src/TrueSheetOverlay.d.ts +8 -0
  127. package/lib/typescript/src/TrueSheetOverlay.d.ts.map +1 -0
  128. package/lib/typescript/src/TrueSheetOverlay.web.d.ts +8 -0
  129. package/lib/typescript/src/TrueSheetOverlay.web.d.ts.map +1 -0
  130. package/lib/typescript/src/TrueSheetPeek.web.d.ts +8 -4
  131. package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -1
  132. package/lib/typescript/src/detentBackgrounds.d.ts +10 -0
  133. package/lib/typescript/src/detentBackgrounds.d.ts.map +1 -0
  134. package/lib/typescript/src/fabric/TrueSheetOverlayViewNativeComponent.d.ts +6 -0
  135. package/lib/typescript/src/fabric/TrueSheetOverlayViewNativeComponent.d.ts.map +1 -0
  136. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +11 -7
  137. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  138. package/lib/typescript/src/index.d.ts +1 -0
  139. package/lib/typescript/src/index.d.ts.map +1 -1
  140. package/lib/typescript/src/mocks/index.d.ts +4 -0
  141. package/lib/typescript/src/mocks/index.d.ts.map +1 -1
  142. package/lib/typescript/src/mocks/navigationExpoRouter.d.ts +3 -3
  143. package/lib/typescript/src/mocks/navigationExpoRouter.d.ts.map +1 -1
  144. package/lib/typescript/src/navigation/base-types.d.ts +9 -0
  145. package/lib/typescript/src/navigation/base-types.d.ts.map +1 -0
  146. package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts +2 -13
  147. package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts.map +1 -1
  148. package/lib/typescript/src/navigation/expo-router/base-types.d.ts +8 -0
  149. package/lib/typescript/src/navigation/expo-router/base-types.d.ts.map +1 -0
  150. package/lib/typescript/src/navigation/expo-router/index.d.ts +8 -6
  151. package/lib/typescript/src/navigation/expo-router/index.d.ts.map +1 -1
  152. package/lib/typescript/src/navigation/expo-router/types.d.ts +44 -0
  153. package/lib/typescript/src/navigation/expo-router/types.d.ts.map +1 -0
  154. package/lib/typescript/src/navigation/index.d.ts +3 -4
  155. package/lib/typescript/src/navigation/index.d.ts.map +1 -1
  156. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts +2 -1
  157. package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts.map +1 -1
  158. package/lib/typescript/src/navigation/types.d.ts +41 -5
  159. package/lib/typescript/src/navigation/types.d.ts.map +1 -1
  160. package/lib/typescript/src/web/constants.d.ts +1 -1
  161. package/lib/typescript/src/web/constants.d.ts.map +1 -1
  162. package/lib/typescript/src/web/layout.d.ts +19 -0
  163. package/lib/typescript/src/web/layout.d.ts.map +1 -0
  164. package/lib/typescript/src/web/vaul/constants.d.ts +1 -0
  165. package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -1
  166. package/lib/typescript/src/web/vaul/context.d.ts +1 -0
  167. package/lib/typescript/src/web/vaul/context.d.ts.map +1 -1
  168. package/lib/typescript/src/web/vaul/helpers.d.ts +1 -0
  169. package/lib/typescript/src/web/vaul/helpers.d.ts.map +1 -1
  170. package/lib/typescript/src/web/vaul/index.d.ts +7 -1
  171. package/lib/typescript/src/web/vaul/index.d.ts.map +1 -1
  172. package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -1
  173. package/package.json +17 -8
  174. package/react-native.config.js +1 -0
  175. package/src/TrueSheet.tsx +206 -48
  176. package/src/TrueSheet.types.ts +142 -35
  177. package/src/TrueSheet.web.tsx +270 -290
  178. package/src/TrueSheetBackground.tsx +17 -0
  179. package/src/TrueSheetOverlay.tsx +24 -0
  180. package/src/TrueSheetOverlay.web.tsx +33 -0
  181. package/src/TrueSheetPeek.web.tsx +25 -23
  182. package/src/detentBackgrounds.ts +24 -0
  183. package/src/fabric/TrueSheetContentViewNativeComponent.ts +1 -1
  184. package/src/fabric/TrueSheetOverlayViewNativeComponent.ts +12 -0
  185. package/src/fabric/TrueSheetViewNativeComponent.ts +14 -10
  186. package/src/index.ts +1 -0
  187. package/src/mocks/index.ts +17 -2
  188. package/src/mocks/navigationExpoRouter.ts +6 -5
  189. package/src/navigation/base-types.ts +20 -0
  190. package/src/navigation/createTrueSheetRouter.ts +5 -33
  191. package/src/navigation/expo-router/base-types.ts +18 -0
  192. package/src/navigation/expo-router/index.ts +28 -30
  193. package/src/navigation/expo-router/types.ts +116 -0
  194. package/src/navigation/index.ts +6 -7
  195. package/src/navigation/screen/useSheetScreenState.ts +2 -0
  196. package/src/navigation/types.ts +75 -22
  197. package/src/web/constants.ts +1 -1
  198. package/src/web/layout.ts +196 -0
  199. package/src/web/vaul/constants.ts +4 -0
  200. package/src/web/vaul/context.ts +1 -0
  201. package/src/web/vaul/helpers.ts +5 -0
  202. package/src/web/vaul/index.tsx +67 -5
  203. package/src/web/vaul/use-snap-points.ts +6 -14
@@ -1,14 +1,21 @@
1
1
  "use strict";
2
2
 
3
- import { PureComponent, createRef, isValidElement, createElement } from 'react';
3
+ import { PureComponent, createRef, isValidElement, createElement, useEffect } from 'react';
4
4
  import TrueSheetViewNativeComponent from './fabric/TrueSheetViewNativeComponent';
5
5
  import TrueSheetContainerViewNativeComponent from './fabric/TrueSheetContainerViewNativeComponent';
6
6
  import TrueSheetContentViewNativeComponent from './fabric/TrueSheetContentViewNativeComponent';
7
7
  import TrueSheetHeaderViewNativeComponent from './fabric/TrueSheetHeaderViewNativeComponent';
8
8
  import TrueSheetFooterViewNativeComponent from './fabric/TrueSheetFooterViewNativeComponent';
9
9
  import TrueSheetModule from "./specs/NativeTrueSheetModule.js";
10
- import { Platform, StyleSheet, BackHandler, findNodeHandle, processColor } from 'react-native';
11
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { TrueSheetBackground } from "./TrueSheetBackground.js";
11
+ import { normalizeDetentBackground } from "./detentBackgrounds.js";
12
+ import { Platform, StyleSheet, BackHandler, RootTagContext, findNodeHandle, processColor } from 'react-native';
13
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
+ // RN has no public API for hosting the element inspector inside a presented view;
15
+ // this is the internal RN's Modal uses. Dev-only so prod bundles never resolve it.
16
+ // The template literal keeps the RN babel preset's deep-import warning off while
17
+ // Metro still resolves the module statically.
18
+ const AppContainer = __DEV__ ? require(`react-native/Libraries/ReactNative/AppContainer`).default : null;
12
19
  const LINKING_ERROR = `The package '@lodev09/react-native-true-sheet' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
13
20
  ios: "- You have run 'pod install'\n",
14
21
  default: ''
@@ -16,14 +23,37 @@ const LINKING_ERROR = `The package '@lodev09/react-native-true-sheet' doesn't se
16
23
  if (!TrueSheetModule) {
17
24
  throw new Error(LINKING_ERROR);
18
25
  }
19
- // Claim touches that no descendant claimed so the responder negotiation
20
- // doesn't bubble up to touchables outside the sheet
21
- const absorbUnclaimedTouches = () => true;
22
-
23
26
  // Stop raw touch events from bubbling past the sheet to outside ancestors
24
27
  const stopTouchPropagation = event => event.stopPropagation();
28
+
29
+ // Stop the responder negotiation at the sheet boundary without claiming the
30
+ // responder. Views inside the sheet are asked before this one, so in-sheet
31
+ // touchables work normally; views outside are asked after, so stopping here
32
+ // keeps unclaimed touches from leaking to touchables behind the sheet.
33
+ // Claiming instead (returning true) would steal the responder from a pressed
34
+ // touchable whenever the negotiation re-runs mid-gesture — e.g. a second
35
+ // finger, or the duplicate touch stream from a nested react-native-screens
36
+ // screen that attaches its own touch handler inside the sheet.
37
+ const stopResponderNegotiation = event => {
38
+ event.stopPropagation();
39
+ return false;
40
+ };
41
+ // Gates auto-present (initialDetentIndex) by one commit. Rendered last in the
42
+ // sheet subtree so its mount effect runs after the content's mount effects —
43
+ // updates they schedule (e.g. a navigation footer via setOptions) batch with
44
+ // onReady's, so native receives initialDetentIndex together with the settled
45
+ // tree and presents at the final height instead of resizing mid-flight.
46
+ const InitialPresentGate = ({
47
+ onReady
48
+ }) => {
49
+ useEffect(() => {
50
+ onReady();
51
+ }, [onReady]);
52
+ return null;
53
+ };
25
54
  export class TrueSheet extends PureComponent {
26
55
  displayName = 'TrueSheet';
56
+ static contextType = RootTagContext;
27
57
  backHandlerSubscription = null;
28
58
  isPresented = false;
29
59
  isSheetVisible = true;
@@ -47,14 +77,17 @@ export class TrueSheet extends PureComponent {
47
77
  this.nativeRef = /*#__PURE__*/createRef();
48
78
  this.validateDetents();
49
79
 
50
- // Lazy load by default, except when initialDetentIndex is set (for auto-presentation)
51
- const shouldRenderImmediately = props.initialDetentIndex !== undefined && props.initialDetentIndex >= 0;
80
+ // Lazy load by default, except when auto-presenting or when lazy is disabled
81
+ const shouldRenderImmediately = props.initialDetentIndex !== undefined && props.initialDetentIndex >= 0 || props.lazy === false;
52
82
  this.state = {
53
- shouldRenderNativeView: shouldRenderImmediately
83
+ shouldRenderNativeView: shouldRenderImmediately,
84
+ initialPresentReady: false,
85
+ scrollableHandle: null
54
86
  };
55
87
  this.onMount = this.onMount.bind(this);
56
88
  this.onWillDismiss = this.onWillDismiss.bind(this);
57
89
  this.onDidDismiss = this.onDidDismiss.bind(this);
90
+ this.onDismissAttempt = this.onDismissAttempt.bind(this);
58
91
  this.onWillPresent = this.onWillPresent.bind(this);
59
92
  this.onDidPresent = this.onDidPresent.bind(this);
60
93
  this.onDetentChange = this.onDetentChange.bind(this);
@@ -68,6 +101,37 @@ export class TrueSheet extends PureComponent {
68
101
  this.onDidBlur = this.onDidBlur.bind(this);
69
102
  this.handleBackPress = this.handleBackPress.bind(this);
70
103
  this.onVisibilityChange = this.onVisibilityChange.bind(this);
104
+ this.onInitialPresentReady = this.onInitialPresentReady.bind(this);
105
+ }
106
+ onInitialPresentReady() {
107
+ this.setState({
108
+ initialPresentReady: true
109
+ });
110
+ }
111
+
112
+ // Resolves after commit (didMount/didUpdate) — the scrollable mounts with the
113
+ // sheet content, so its ref is only populated once the native tree renders.
114
+ updateScrollableHandle() {
115
+ const {
116
+ scrollableRef
117
+ } = this.props;
118
+ let scrollableHandle = null;
119
+ if (scrollableRef?.current) {
120
+ try {
121
+ scrollableHandle = findNodeHandle(scrollableRef.current);
122
+ } catch (error) {
123
+ // A stale ref (e.g. a wrapper that never clears it on unmount) makes
124
+ // findNodeHandle throw. Treat it as no scrollable instead of crashing.
125
+ if (__DEV__) {
126
+ console.warn('TrueSheet: scrollableRef points to an unmounted component.', error);
127
+ }
128
+ }
129
+ }
130
+ if (scrollableHandle !== this.state.scrollableHandle) {
131
+ this.setState({
132
+ scrollableHandle
133
+ });
134
+ }
71
135
  }
72
136
  validateDetents() {
73
137
  const {
@@ -212,15 +276,17 @@ export class TrueSheet extends PureComponent {
212
276
  onWillDismiss(event) {
213
277
  this.props.onWillDismiss?.(event);
214
278
  }
279
+ onDismissAttempt(event) {
280
+ this.props.onDismissAttempt?.(event);
281
+ }
215
282
  onDidDismiss(event) {
216
283
  this.isPresented = false;
217
284
  this.isSheetVisible = true;
218
285
  this.backHandlerSubscription?.remove();
219
286
  this.backHandlerSubscription = null;
220
287
 
221
- // Clean up native view after dismiss for lazy loading.
222
- // Skip unmount if a present is in progress to avoid race condition.
223
- if (!this.isPresenting) {
288
+ // Non-lazy content stays mounted; otherwise clean it up unless another presentation is active.
289
+ if (!this.isPresenting && this.props.lazy !== false) {
224
290
  this.setState({
225
291
  shouldRenderNativeView: false
226
292
  });
@@ -271,9 +337,17 @@ export class TrueSheet extends PureComponent {
271
337
  const nodeHandle = findNodeHandle(this.nativeRef.current);
272
338
  if (nodeHandle == null || nodeHandle === -1) return false;
273
339
 
274
- // When not dismissible, let back propagate (e.g. navigation goes back to the previous screen)
340
+ // When not dismissible, report the attempt. An attempt handler consumes the back
341
+ // press; otherwise let it propagate (e.g. navigation goes back to the previous screen)
275
342
  if (this.props.dismissible === false) {
276
- return this.props.onBackPress?.() ?? false;
343
+ const {
344
+ onDismissAttempt,
345
+ onBackPress
346
+ } = this.props;
347
+ onDismissAttempt?.({
348
+ nativeEvent: null
349
+ });
350
+ return onBackPress?.() ?? onDismissAttempt != null;
277
351
  }
278
352
  TrueSheetModule?.handleBackPress(nodeHandle);
279
353
  return this.props.onBackPress?.() ?? true;
@@ -330,14 +404,32 @@ export class TrueSheet extends PureComponent {
330
404
  }
331
405
  componentDidMount() {
332
406
  this.registerInstance();
407
+ this.updateScrollableHandle();
333
408
  }
334
409
  componentDidUpdate(prevProps) {
335
410
  this.registerInstance();
411
+ this.updateScrollableHandle();
412
+ if (prevProps.lazy !== false && this.props.lazy === false && !this.state.shouldRenderNativeView) {
413
+ this.setState({
414
+ shouldRenderNativeView: true
415
+ });
416
+ }
336
417
 
337
418
  // Validate when detents prop changes
338
419
  if (prevProps.detents !== this.props.detents) {
339
420
  this.validateDetents();
340
421
  }
422
+
423
+ // initialDetentIndex set at runtime on a lazily-mounted sheet: render the
424
+ // native tree so InitialPresentGate can deliver the index (constructor
425
+ // only computes this for the initial prop).
426
+ const prevInitialDetentIndex = prevProps.initialDetentIndex ?? -1;
427
+ const initialDetentIndex = this.props.initialDetentIndex ?? -1;
428
+ if (prevInitialDetentIndex < 0 && initialDetentIndex >= 0 && !this.state.shouldRenderNativeView) {
429
+ this.setState({
430
+ shouldRenderNativeView: true
431
+ });
432
+ }
341
433
  }
342
434
  componentWillUnmount() {
343
435
  this.unregisterInstance();
@@ -349,6 +441,9 @@ export class TrueSheet extends PureComponent {
349
441
  const {
350
442
  detents = [0.5, 1],
351
443
  backgroundColor,
444
+ detentBackgrounds,
445
+ background,
446
+ backgroundStyle,
352
447
  dismissible = true,
353
448
  draggable = true,
354
449
  grabber = true,
@@ -359,12 +454,11 @@ export class TrueSheet extends PureComponent {
359
454
  initialDetentAnimated = true,
360
455
  dimmedDetentIndex,
361
456
  backgroundBlur,
362
- blurOptions,
363
457
  cornerRadius,
364
458
  maxContentHeight,
365
459
  maxContentWidth,
366
- anchor = 'center',
367
- anchorOffset,
460
+ placement = 'automatic',
461
+ placementOffset,
368
462
  scrollableOptions,
369
463
  footerOptions,
370
464
  presentation = 'page',
@@ -378,6 +472,7 @@ export class TrueSheet extends PureComponent {
378
472
  insetAdjustment = 'automatic',
379
473
  ...rest
380
474
  } = this.props;
475
+ delete rest.lazy;
381
476
 
382
477
  // Trim to max 3 detents and clamp fractions
383
478
  const resolvedDetents = detents.slice(0, 3).map(detent => {
@@ -391,6 +486,11 @@ export class TrueSheet extends PureComponent {
391
486
  return Math.min(1, detent);
392
487
  });
393
488
 
489
+ // Hold initialDetentIndex back from native until the gate's effect flushes
490
+ // (see InitialPresentGate) — native presents when the prop lands.
491
+ const autoPresent = initialDetentIndex >= 0;
492
+ const gatedInitialDetentIndex = autoPresent && !this.state.initialPresentReady ? -1 : initialDetentIndex;
493
+
394
494
  // Cache grabberOptions to avoid creating a new object every render
395
495
  if (grabberOptions !== this.cachedGrabberOptions) {
396
496
  this.cachedGrabberOptions = grabberOptions;
@@ -399,33 +499,59 @@ export class TrueSheet extends PureComponent {
399
499
  color: processColor(grabberOptions?.color)
400
500
  };
401
501
  }
502
+ const sheetContent = /*#__PURE__*/_jsxs(_Fragment, {
503
+ children: [/*#__PURE__*/_jsx(TrueSheetBackground, {
504
+ background: background,
505
+ backgroundStyle: backgroundStyle
506
+ }), header && /*#__PURE__*/_jsx(TrueSheetHeaderViewNativeComponent, {
507
+ style: [styles.header, headerOptions?.position === 'absolute' && styles.absoluteHeader, headerStyle],
508
+ children: /*#__PURE__*/isValidElement(header) ? header : /*#__PURE__*/createElement(header)
509
+ }), /*#__PURE__*/_jsx(TrueSheetContentViewNativeComponent, {
510
+ style: style,
511
+ children: children
512
+ }), footer && /*#__PURE__*/_jsx(TrueSheetFooterViewNativeComponent, {
513
+ autoBottomInset: insetAdjustment === 'automatic',
514
+ style: [styles.footer, footerOptions?.position === 'absolute' ? styles.absoluteFooter : styles.relativeFooter, footerStyle],
515
+ children: /*#__PURE__*/isValidElement(footer) ? footer : /*#__PURE__*/createElement(footer)
516
+ }), autoPresent && !this.state.initialPresentReady && /*#__PURE__*/_jsx(InitialPresentGate, {
517
+ onReady: this.onInitialPresentReady
518
+ })]
519
+ });
402
520
  return /*#__PURE__*/_jsx(TrueSheetViewNativeComponent, {
403
521
  ...rest,
404
522
  ref: this.nativeRef,
405
523
  style: styles.sheetView,
406
524
  detents: resolvedDetents,
407
525
  backgroundBlur: backgroundBlur,
408
- blurOptions: blurOptions,
409
526
  backgroundColor: backgroundColor,
527
+ detentBackgrounds: detentBackgrounds && Array.from(detentBackgrounds.slice(0, 3), entry => {
528
+ const normalized = normalizeDetentBackground(entry);
529
+ return normalized ? {
530
+ ...normalized,
531
+ color: processColor(normalized.color)
532
+ } : {};
533
+ }),
410
534
  cornerRadius: cornerRadius,
411
535
  grabber: grabber,
412
536
  grabberOptions: this.resolvedGrabberOptions,
413
537
  accessibilityOptions: accessibilityOptions,
414
538
  dimmed: dimmed,
415
539
  dimmedDetentIndex: dimmedDetentIndex,
416
- initialDetentIndex: initialDetentIndex,
540
+ initialDetentIndex: gatedInitialDetentIndex,
417
541
  initialDetentAnimated: initialDetentAnimated,
418
542
  dismissible: dismissible,
419
543
  draggable: draggable,
420
544
  maxContentHeight: maxContentHeight,
421
545
  maxContentWidth: maxContentWidth,
422
- anchor: anchor,
423
- anchorOffset: anchorOffset,
546
+ placement: placement,
547
+ placementOffset: placementOffset,
548
+ scrollableHandle: this.state.scrollableHandle ?? -1,
424
549
  scrollableOptions: scrollableOptions,
425
550
  headerOptions: headerOptions,
426
551
  footerOptions: {
427
552
  footerPosition: footerOptions?.position,
428
- keyboardOffset: footerOptions?.keyboardOffset
553
+ keyboardOffset: footerOptions?.keyboardOffset,
554
+ avoidKeyboard: footerOptions?.avoidKeyboard
429
555
  },
430
556
  presentation: presentation,
431
557
  insetAdjustment: insetAdjustment,
@@ -434,6 +560,7 @@ export class TrueSheet extends PureComponent {
434
560
  onDidPresent: this.onDidPresent,
435
561
  onWillDismiss: this.onWillDismiss,
436
562
  onDidDismiss: this.onDidDismiss,
563
+ onDismissAttempt: this.onDismissAttempt,
437
564
  onDetentChange: this.onDetentChange,
438
565
  onDragBegin: this.onDragBegin,
439
566
  onDragChange: this.onDragChange,
@@ -446,28 +573,32 @@ export class TrueSheet extends PureComponent {
446
573
  onVisibilityChange: this.onVisibilityChange
447
574
  // These must stay on this host view, not on the container. The container is
448
575
  // reparented into the native sheet, so this view is never a native ancestor of
449
- // the sheet content. Claiming the responder here stops the negotiation at the
450
- // sheet boundary without making an ancestor of the content the JS responder,
451
- // which would block scrolling inside the sheet.
576
+ // the sheet content — this is the React-tree boundary between the sheet and
577
+ // the presenting screen, where both the responder negotiation and raw touch
578
+ // bubbling must stop.
452
579
  ,
453
- onStartShouldSetResponder: absorbUnclaimedTouches,
580
+ onStartShouldSetResponder: stopResponderNegotiation,
581
+ onMoveShouldSetResponder: stopResponderNegotiation,
454
582
  onTouchStart: stopTouchPropagation,
455
583
  onTouchMove: stopTouchPropagation,
456
584
  onTouchEnd: stopTouchPropagation,
457
585
  onTouchCancel: stopTouchPropagation,
458
- children: this.state.shouldRenderNativeView && /*#__PURE__*/_jsxs(TrueSheetContainerViewNativeComponent, {
586
+ children: this.state.shouldRenderNativeView && /*#__PURE__*/_jsx(TrueSheetContainerViewNativeComponent, {
459
587
  style: styles.container,
460
- children: [header && /*#__PURE__*/_jsx(TrueSheetHeaderViewNativeComponent, {
461
- style: [styles.header, headerOptions?.position === 'absolute' && styles.absoluteHeader, headerStyle],
462
- children: /*#__PURE__*/isValidElement(header) ? header : /*#__PURE__*/createElement(header)
463
- }), /*#__PURE__*/_jsx(TrueSheetContentViewNativeComponent, {
464
- style: style,
465
- children: children
466
- }), footer && /*#__PURE__*/_jsx(TrueSheetFooterViewNativeComponent, {
467
- autoBottomInset: insetAdjustment === 'automatic',
468
- style: [styles.footer, footerOptions?.position === 'absolute' ? styles.absoluteFooter : styles.relativeFooter, footerStyle],
469
- children: /*#__PURE__*/isValidElement(footer) ? footer : /*#__PURE__*/createElement(footer)
470
- })]
588
+ children: AppContainer ?
589
+ /*#__PURE__*/
590
+ // Hosts the element inspector inside the sheet, like RN's Modal does —
591
+ // the app-level one sits behind the presented sheet.
592
+ // `display: contents` keeps AppContainer's wrapper views out of both
593
+ // Yoga layout and the native tree, so header/content/footer remain the
594
+ // container's direct native children, while the inspector overlay
595
+ // anchors to the container and lines up with measured frames.
596
+ _jsx(AppContainer, {
597
+ rootTag: this.context,
598
+ rootViewStyle: styles.inspectorHost,
599
+ internal_excludeLogBox: true,
600
+ children: sheetContent
601
+ }) : sheetContent
471
602
  })
472
603
  });
473
604
  }
@@ -485,6 +616,9 @@ const styles = StyleSheet.create({
485
616
  container: {
486
617
  ...StyleSheet.absoluteFill
487
618
  },
619
+ inspectorHost: {
620
+ display: 'contents'
621
+ },
488
622
  header: {
489
623
  pointerEvents: 'box-none'
490
624
  },
@@ -1 +1 @@
1
- {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","BackHandler","findNodeHandle","processColor","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","absorbUnclaimedTouches","stopTouchPropagation","event","stopPropagation","TrueSheet","displayName","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","OS","remove","addEventListener","setState","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","draggable","grabber","grabberOptions","accessibilityOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","cachedGrabberOptions","resolvedGrabberOptions","color","ref","styles","sheetView","footerPosition","position","keyboardOffset","onStartShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","container","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","create","absoluteFill","zIndex","pointerEvents","top","left","right","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","useEffect","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","TrueSheetBackground","normalizeDetentBackground","Platform","StyleSheet","BackHandler","RootTagContext","findNodeHandle","processColor","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AppContainer","__DEV__","require","default","LINKING_ERROR","select","ios","Error","stopTouchPropagation","event","stopPropagation","stopResponderNegotiation","InitialPresentGate","onReady","TrueSheet","displayName","contextType","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","lazy","state","shouldRenderNativeView","initialPresentReady","scrollableHandle","onMount","bind","onWillDismiss","onDidDismiss","onDismissAttempt","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","onInitialPresentReady","setState","updateScrollableHandle","scrollableRef","current","error","console","warn","detents","length","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","OS","remove","addEventListener","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","prevInitialDetentIndex","componentWillUnmount","render","backgroundColor","detentBackgrounds","background","backgroundStyle","draggable","grabber","grabberOptions","accessibilityOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","cornerRadius","maxContentHeight","maxContentWidth","placement","placementOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","autoPresent","gatedInitialDetentIndex","cachedGrabberOptions","resolvedGrabberOptions","color","sheetContent","styles","position","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","ref","sheetView","Array","from","entry","normalized","footerPosition","keyboardOffset","avoidKeyboard","onStartShouldSetResponder","onMoveShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","container","rootTag","context","rootViewStyle","inspectorHost","internal_excludeLogBox","create","absoluteFill","zIndex","pointerEvents","display","top","left","right","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}