@lodev09/react-native-true-sheet 3.0.0-beta.5 → 3.0.0-beta.7

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 (27) hide show
  1. package/README.md +1 -1
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +0 -50
  3. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerViewManager.kt +0 -7
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +40 -4
  5. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +30 -16
  6. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +8 -2
  7. package/android/src/main/jni/TrueSheetSpec.h +1 -1
  8. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h +24 -0
  9. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.cpp +46 -0
  10. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.h +28 -0
  11. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.cpp +11 -0
  12. package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.h +42 -0
  13. package/ios/TrueSheetContainerView.mm +1 -48
  14. package/ios/TrueSheetView.mm +40 -5
  15. package/ios/TrueSheetViewController.h +1 -0
  16. package/ios/TrueSheetViewController.mm +5 -0
  17. package/lib/module/TrueSheet.js +0 -1
  18. package/lib/module/TrueSheet.js.map +1 -1
  19. package/lib/module/fabric/TrueSheetContainerViewNativeComponent.ts +1 -3
  20. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +3 -1
  21. package/lib/typescript/src/fabric/TrueSheetContainerViewNativeComponent.d.ts.map +1 -1
  22. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  23. package/package.json +4 -4
  24. package/react-native.config.js +1 -1
  25. package/src/TrueSheet.tsx +0 -1
  26. package/src/fabric/TrueSheetContainerViewNativeComponent.ts +1 -3
  27. package/src/fabric/TrueSheetViewNativeComponent.ts +3 -1
package/README.md CHANGED
@@ -13,6 +13,7 @@ The true native bottom sheet experience for your React Native Apps. 💩
13
13
  * 🎯 **Type-safe** - Full TypeScript support with Codegen-generated native interfaces
14
14
  * 🚀 **Blazing fast** - Direct C++ communication, no bridge overhead
15
15
  * 🎨 **Native** - Implemented in the native realm
16
+ * ♿ **Accessible** - Native accessibility and screen reader support out of the box
16
17
  * 🔄 **Imperative API** - Asynchronus `ref` [methods](https://sheet.lodev09.com/reference/methods#ref-methods)
17
18
 
18
19
  ## Installation
@@ -67,7 +68,6 @@ export const App = () => {
67
68
  <TrueSheet
68
69
  ref={sheet}
69
70
  detents={['auto', 1]}
70
- cornerRadius={24}
71
71
  >
72
72
  <Button onPress={dismiss} title="Dismiss" />
73
73
  </TrueSheet>
@@ -3,9 +3,6 @@ package com.lodev09.truesheet
3
3
  import android.annotation.SuppressLint
4
4
  import android.view.View
5
5
  import androidx.core.view.isNotEmpty
6
- import com.facebook.react.bridge.WritableNativeMap
7
- import com.facebook.react.uimanager.PixelUtil.pxToDp
8
- import com.facebook.react.uimanager.StateWrapper
9
6
  import com.facebook.react.uimanager.ThemedReactContext
10
7
  import com.facebook.react.views.view.ReactViewGroup
11
8
 
@@ -29,53 +26,6 @@ class TrueSheetContainerView(private val reactContext: ThemedReactContext) :
29
26
 
30
27
  var delegate: TrueSheetContainerViewDelegate? = null
31
28
 
32
- private var stateWrapper: StateWrapper? = null
33
-
34
- // Pending dimensions to update when stateWrapper becomes available
35
- private var pendingWidth: Int = 0
36
- private var pendingHeight: Int = 0
37
-
38
- fun setStateWrapper(wrapper: StateWrapper?) {
39
- stateWrapper = wrapper
40
-
41
- if (wrapper == null) return
42
-
43
- // Get dimensions from parent controller and update state if we haven't yet
44
- val controller = parent as? TrueSheetViewController
45
- if (controller != null && pendingWidth == 0) {
46
- val w = controller.width
47
- val h = controller.height
48
- if (w > 0 && h > 0) {
49
- updateState(w, h)
50
- }
51
- }
52
- }
53
-
54
- /**
55
- * Update state with container dimensions.
56
- * Called by the controller when the dialog size changes.
57
- */
58
- fun updateState(width: Int, height: Int) {
59
- // Skip if dimensions haven't changed
60
- if (width == pendingWidth && height == pendingHeight && stateWrapper != null) {
61
- return
62
- }
63
-
64
- // Store dimensions
65
- pendingWidth = width
66
- pendingHeight = height
67
-
68
- val sw = stateWrapper ?: return
69
-
70
- val realWidth = width.toFloat().pxToDp()
71
- val realHeight = height.toFloat().pxToDp()
72
-
73
- val newStateData = WritableNativeMap()
74
- newStateData.putDouble("containerWidth", realWidth.toDouble())
75
- newStateData.putDouble("containerHeight", realHeight.toDouble())
76
- sw.updateState(newStateData)
77
- }
78
-
79
29
  /**
80
30
  * Reference to content view (first child)
81
31
  */
@@ -1,8 +1,6 @@
1
1
  package com.lodev09.truesheet
2
2
 
3
3
  import com.facebook.react.module.annotations.ReactModule
4
- import com.facebook.react.uimanager.ReactStylesDiffMap
5
- import com.facebook.react.uimanager.StateWrapper
6
4
  import com.facebook.react.uimanager.ThemedReactContext
7
5
  import com.facebook.react.uimanager.ViewGroupManager
8
6
 
@@ -17,11 +15,6 @@ class TrueSheetContainerViewManager : ViewGroupManager<TrueSheetContainerView>()
17
15
 
18
16
  override fun createViewInstance(reactContext: ThemedReactContext): TrueSheetContainerView = TrueSheetContainerView(reactContext)
19
17
 
20
- override fun updateState(view: TrueSheetContainerView, props: ReactStylesDiffMap?, stateWrapper: StateWrapper?): Any? {
21
- view.setStateWrapper(stateWrapper)
22
- return null
23
- }
24
-
25
18
  companion object {
26
19
  const val REACT_CLASS = "TrueSheetContainerView"
27
20
  }
@@ -6,6 +6,9 @@ import android.view.ViewStructure
6
6
  import android.view.accessibility.AccessibilityEvent
7
7
  import androidx.annotation.UiThread
8
8
  import com.facebook.react.bridge.LifecycleEventListener
9
+ import com.facebook.react.bridge.WritableNativeMap
10
+ import com.facebook.react.uimanager.PixelUtil.pxToDp
11
+ import com.facebook.react.uimanager.StateWrapper
9
12
  import com.facebook.react.uimanager.ThemedReactContext
10
13
  import com.facebook.react.uimanager.UIManagerHelper
11
14
  import com.facebook.react.uimanager.events.EventDispatcher
@@ -48,6 +51,12 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
48
51
  var initialDetentIndex: Int = -1
49
52
  var initialDetentAnimated: Boolean = true
50
53
 
54
+ var stateWrapper: StateWrapper? = null
55
+
56
+ // Track last dimensions to avoid unnecessary state updates
57
+ private var lastContainerWidth: Int = 0
58
+ private var lastContainerHeight: Int = 0
59
+
51
60
  /**
52
61
  * Tracks if initial presentation has been handled
53
62
  */
@@ -85,10 +94,6 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
85
94
  TrueSheetModule.registerView(this, id)
86
95
  }
87
96
 
88
- override fun onAttachedToWindow() {
89
- super.onAttachedToWindow()
90
- }
91
-
92
97
  override fun onDetachedFromWindow() {
93
98
  super.onDetachedFromWindow()
94
99
  onDropInstance()
@@ -270,6 +275,10 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
270
275
  )
271
276
  }
272
277
 
278
+ override fun viewControllerDidChangeSize(width: Int, height: Int) {
279
+ updateState(width, height)
280
+ }
281
+
273
282
  // ==================== Property Setters (forward to controller) ====================
274
283
 
275
284
  fun setMaxHeight(height: Int) {
@@ -325,6 +334,33 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
325
334
  viewController.edgeToEdgeFullScreen = edgeToEdgeFullScreen
326
335
  }
327
336
 
337
+ // ==================== State Management ====================
338
+
339
+ /**
340
+ * Update state with container dimensions.
341
+ * Called when the dialog size changes.
342
+ */
343
+ fun updateState(width: Int, height: Int) {
344
+ // Skip if dimensions haven't changed
345
+ if (width == lastContainerWidth && height == lastContainerHeight) {
346
+ return
347
+ }
348
+
349
+ // Store new dimensions
350
+ lastContainerWidth = width
351
+ lastContainerHeight = height
352
+
353
+ val sw = stateWrapper ?: return
354
+
355
+ val realWidth = width.toFloat().pxToDp()
356
+ val realHeight = height.toFloat().pxToDp()
357
+
358
+ val newStateData = WritableNativeMap()
359
+ newStateData.putDouble("containerWidth", realWidth.toDouble())
360
+ newStateData.putDouble("containerHeight", realHeight.toDouble())
361
+ sw.updateState(newStateData)
362
+ }
363
+
328
364
  /**
329
365
  * Presents the sheet at the given detent index.
330
366
  *
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
4
4
  import android.graphics.Color
5
5
  import android.graphics.drawable.ShapeDrawable
6
6
  import android.graphics.drawable.shapes.RoundRectShape
7
+ import android.util.TypedValue
7
8
  import android.view.MotionEvent
8
9
  import android.view.View
9
10
  import android.view.WindowManager
@@ -11,7 +12,6 @@ import android.view.accessibility.AccessibilityNodeInfo
11
12
  import android.widget.FrameLayout
12
13
  import androidx.core.view.isNotEmpty
13
14
  import com.facebook.react.R
14
- import com.facebook.react.common.annotations.UnstableReactNativeAPI
15
15
  import com.facebook.react.uimanager.JSPointerDispatcher
16
16
  import com.facebook.react.uimanager.JSTouchDispatcher
17
17
  import com.facebook.react.uimanager.PixelUtil.dpToPx
@@ -40,6 +40,7 @@ interface TrueSheetViewControllerDelegate {
40
40
  fun viewControllerDidDragChange(index: Int, position: Float)
41
41
  fun viewControllerDidDragEnd(index: Int, position: Float)
42
42
  fun viewControllerDidChangePosition(index: Int, position: Float, transitioning: Boolean)
43
+ fun viewControllerDidChangeSize(width: Int, height: Int)
43
44
  }
44
45
 
45
46
  /**
@@ -64,9 +65,6 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
64
65
  private val jSTouchDispatcher = JSTouchDispatcher(this)
65
66
  private var jSPointerDispatcher: JSPointerDispatcher? = null
66
67
 
67
- private var viewWidth = 0
68
- private var viewHeight = 0
69
-
70
68
  /**
71
69
  * Delegate for handling view controller events
72
70
  */
@@ -194,8 +192,8 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
194
192
  }
195
193
  }
196
194
 
197
- var cornerRadius: Float = 0f
198
- var sheetBackgroundColor: Int = Color.WHITE
195
+ var cornerRadius: Float = 28f.dpToPx()
196
+ var sheetBackgroundColor: Int = 0
199
197
  var detents = mutableListOf(0.5, 1.0)
200
198
 
201
199
  private var windowAnimation: Int = 0
@@ -205,6 +203,24 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
205
203
  jSPointerDispatcher = JSPointerDispatcher(this)
206
204
  }
207
205
 
206
+ /**
207
+ * Get the default background color from Material Design 3 theme.
208
+ * Uses colorSurfaceContainerLow which adapts to light/dark mode.
209
+ */
210
+ fun getDefaultBackgroundColor(): Int {
211
+ val typedValue = TypedValue()
212
+ return if (reactContext.theme.resolveAttribute(
213
+ com.google.android.material.R.attr.colorSurfaceContainerLow,
214
+ typedValue,
215
+ true
216
+ )
217
+ ) {
218
+ typedValue.data
219
+ } else {
220
+ Color.WHITE
221
+ }
222
+ }
223
+
208
224
  // ==================== Lifecycle ====================
209
225
 
210
226
  /**
@@ -497,8 +513,11 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
497
513
  0f
498
514
  )
499
515
 
516
+ // 0 (transparent) is used as sentinel for "use system default"
517
+ val backgroundColor = if (sheetBackgroundColor != 0) sheetBackgroundColor else getDefaultBackgroundColor()
518
+
500
519
  val background = ShapeDrawable(RoundRectShape(outerRadii, null, null))
501
- background.paint.color = sheetBackgroundColor
520
+ background.paint.color = backgroundColor
502
521
 
503
522
  this.background = background
504
523
  this.clipToOutline = true
@@ -776,16 +795,13 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
776
795
 
777
796
  override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
778
797
  super.onSizeChanged(w, h, oldw, oldh)
779
- viewWidth = w
780
- viewHeight = h
781
-
782
- // Update container state with new dimensions
783
- containerView?.updateState(viewWidth, viewHeight)
784
798
 
785
799
  // Only proceed if size actually changed
786
800
  if (w == oldw && h == oldh) return
787
801
 
788
- // Update screen height based on new dimensions
802
+ // Notify delegate about size change so host view can update state
803
+ delegate?.viewControllerDidChangeSize(w, h)
804
+
789
805
  val oldMaxScreenHeight = maxScreenHeight
790
806
  maxScreenHeight = ScreenUtils.getScreenHeight(reactContext, edgeToEdgeEnabled)
791
807
 
@@ -838,11 +854,9 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
838
854
  return super.onHoverEvent(event)
839
855
  }
840
856
 
841
- @OptIn(UnstableReactNativeAPI::class)
842
- @Suppress("DEPRECATION")
843
857
  override fun onChildStartedNativeGesture(childView: View?, ev: MotionEvent) {
844
858
  eventDispatcher?.let { eventDispatcher ->
845
- jSTouchDispatcher.onChildStartedNativeGesture(ev, eventDispatcher, reactContext)
859
+ jSTouchDispatcher.onChildStartedNativeGesture(ev, eventDispatcher)
846
860
  jSPointerDispatcher?.onChildStartedNativeGesture(childView, ev, eventDispatcher)
847
861
  }
848
862
  }
@@ -1,10 +1,11 @@
1
1
  package com.lodev09.truesheet
2
2
 
3
- import android.graphics.Color
4
3
  import android.view.WindowManager
5
4
  import com.facebook.react.bridge.ReadableArray
6
5
  import com.facebook.react.module.annotations.ReactModule
7
6
  import com.facebook.react.uimanager.PixelUtil.dpToPx
7
+ import com.facebook.react.uimanager.ReactStylesDiffMap
8
+ import com.facebook.react.uimanager.StateWrapper
8
9
  import com.facebook.react.uimanager.ThemedReactContext
9
10
  import com.facebook.react.uimanager.UIManagerHelper
10
11
  import com.facebook.react.uimanager.ViewGroupManager
@@ -44,6 +45,11 @@ class TrueSheetViewManager :
44
45
  view.eventDispatcher = dispatcher
45
46
  }
46
47
 
48
+ override fun updateState(view: TrueSheetView, props: ReactStylesDiffMap?, stateWrapper: StateWrapper?): Any? {
49
+ view.stateWrapper = stateWrapper
50
+ return null
51
+ }
52
+
47
53
  override fun getDelegate(): ViewManagerDelegate<TrueSheetView> = delegate
48
54
 
49
55
  /**
@@ -84,7 +90,7 @@ class TrueSheetViewManager :
84
90
  view.setDetents(detents)
85
91
  }
86
92
 
87
- @ReactProp(name = "background", defaultInt = Color.WHITE)
93
+ @ReactProp(name = "background", defaultInt = 0)
88
94
  override fun setBackground(view: TrueSheetView, color: Int) {
89
95
  view.setSheetBackgroundColor(color)
90
96
  }
@@ -3,7 +3,7 @@
3
3
  #include <ReactCommon/JavaTurboModule.h>
4
4
  #include <ReactCommon/TurboModule.h>
5
5
  #include <jsi/jsi.h>
6
- #include <react/renderer/components/TrueSheetSpec/TrueSheetContainerViewComponentDescriptor.h>
6
+ #include <react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h>
7
7
 
8
8
  namespace facebook {
9
9
  namespace react {
@@ -0,0 +1,24 @@
1
+ #pragma once
2
+
3
+ #include <react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.h>
4
+ #include <react/renderer/core/ConcreteComponentDescriptor.h>
5
+
6
+ namespace facebook::react {
7
+
8
+ /*
9
+ * Descriptor for <TrueSheetView> component.
10
+ */
11
+ class TrueSheetViewComponentDescriptor final
12
+ : public ConcreteComponentDescriptor<TrueSheetViewShadowNode> {
13
+ using ConcreteComponentDescriptor::ConcreteComponentDescriptor;
14
+
15
+ void adopt(ShadowNode &shadowNode) const override {
16
+ auto &concreteShadowNode =
17
+ static_cast<TrueSheetViewShadowNode &>(shadowNode);
18
+ concreteShadowNode.adjustLayoutWithState();
19
+
20
+ ConcreteComponentDescriptor::adopt(shadowNode);
21
+ }
22
+ };
23
+
24
+ } // namespace facebook::react
@@ -0,0 +1,46 @@
1
+ #include "TrueSheetViewShadowNode.h"
2
+
3
+ #include <yoga/style/StyleSizeLength.h>
4
+
5
+ namespace facebook::react {
6
+
7
+ extern const char TrueSheetViewComponentName[] = "TrueSheetView";
8
+
9
+ void TrueSheetViewShadowNode::adjustLayoutWithState() {
10
+ ensureUnsealed();
11
+
12
+ auto state = std::static_pointer_cast<
13
+ const TrueSheetViewShadowNode::ConcreteState>(getState());
14
+ auto stateData = state->getData();
15
+
16
+ // If container dimensions are set from native, override Yoga's dimensions
17
+ if (stateData.containerWidth > 0 || stateData.containerHeight > 0) {
18
+ auto &props = getConcreteProps();
19
+ yoga::Style adjustedStyle = props.yogaStyle;
20
+ auto currentStyle = yogaNode_.style();
21
+ bool needsUpdate = false;
22
+
23
+ // Set width if provided
24
+ if (stateData.containerWidth > 0) {
25
+ adjustedStyle.setDimension(yoga::Dimension::Width, yoga::StyleSizeLength::points(stateData.containerWidth));
26
+ if (adjustedStyle.dimension(yoga::Dimension::Width) != currentStyle.dimension(yoga::Dimension::Width)) {
27
+ needsUpdate = true;
28
+ }
29
+ }
30
+
31
+ // Set height if provided
32
+ if (stateData.containerHeight > 0) {
33
+ adjustedStyle.setDimension(yoga::Dimension::Height, yoga::StyleSizeLength::points(stateData.containerHeight));
34
+ if (adjustedStyle.dimension(yoga::Dimension::Height) != currentStyle.dimension(yoga::Dimension::Height)) {
35
+ needsUpdate = true;
36
+ }
37
+ }
38
+
39
+ if (needsUpdate) {
40
+ yogaNode_.setStyle(adjustedStyle);
41
+ yogaNode_.setDirty(true);
42
+ }
43
+ }
44
+ }
45
+
46
+ } // namespace facebook::react
@@ -0,0 +1,28 @@
1
+ #pragma once
2
+
3
+ #include <jsi/jsi.h>
4
+ #include <react/renderer/components/TrueSheetSpec/EventEmitters.h>
5
+ #include <react/renderer/components/TrueSheetSpec/Props.h>
6
+ #include <react/renderer/components/TrueSheetSpec/TrueSheetViewState.h>
7
+ #include <react/renderer/components/view/ConcreteViewShadowNode.h>
8
+
9
+ namespace facebook::react {
10
+
11
+ JSI_EXPORT extern const char TrueSheetViewComponentName[];
12
+
13
+ /*
14
+ * `ShadowNode` for <TrueSheetView> component.
15
+ */
16
+ class JSI_EXPORT TrueSheetViewShadowNode final
17
+ : public ConcreteViewShadowNode<
18
+ TrueSheetViewComponentName,
19
+ TrueSheetViewProps,
20
+ TrueSheetViewEventEmitter,
21
+ TrueSheetViewState> {
22
+ using ConcreteViewShadowNode::ConcreteViewShadowNode;
23
+
24
+ public:
25
+ void adjustLayoutWithState();
26
+ };
27
+
28
+ } // namespace facebook::react
@@ -0,0 +1,11 @@
1
+ #include "TrueSheetViewState.h"
2
+
3
+ namespace facebook::react {
4
+
5
+ #ifdef ANDROID
6
+ folly::dynamic TrueSheetViewState::getDynamic() const {
7
+ return folly::dynamic::object("containerWidth", containerWidth)("containerHeight", containerHeight);
8
+ }
9
+ #endif
10
+
11
+ } // namespace facebook::react
@@ -0,0 +1,42 @@
1
+ #pragma once
2
+
3
+ #include <memory>
4
+
5
+ #ifdef ANDROID
6
+ #include <folly/dynamic.h>
7
+ #include <react/renderer/mapbuffer/MapBuffer.h>
8
+ #include <react/renderer/mapbuffer/MapBufferBuilder.h>
9
+ #endif
10
+
11
+ namespace facebook::react {
12
+
13
+ /*
14
+ * State for <TrueSheetView> component.
15
+ * Contains the container dimensions from native.
16
+ */
17
+ class TrueSheetViewState final {
18
+ public:
19
+ using Shared = std::shared_ptr<const TrueSheetViewState>;
20
+
21
+ TrueSheetViewState() = default;
22
+
23
+ #ifdef ANDROID
24
+ TrueSheetViewState(
25
+ TrueSheetViewState const &previousState,
26
+ folly::dynamic data)
27
+ : containerWidth(static_cast<float>(data["containerWidth"].getDouble())),
28
+ containerHeight(static_cast<float>(data["containerHeight"].getDouble())) {}
29
+ #endif
30
+
31
+ float containerWidth{0};
32
+ float containerHeight{0};
33
+
34
+ #ifdef ANDROID
35
+ folly::dynamic getDynamic() const;
36
+ MapBuffer getMapBuffer() const {
37
+ return MapBufferBuilder::EMPTY();
38
+ }
39
+ #endif
40
+ };
41
+
42
+ } // namespace facebook::react
@@ -9,18 +9,15 @@
9
9
  #ifdef RCT_NEW_ARCH_ENABLED
10
10
 
11
11
  #import "TrueSheetContainerView.h"
12
+ #import <react/renderer/components/TrueSheetSpec/ComponentDescriptors.h>
12
13
  #import <react/renderer/components/TrueSheetSpec/EventEmitters.h>
13
14
  #import <react/renderer/components/TrueSheetSpec/Props.h>
14
15
  #import <react/renderer/components/TrueSheetSpec/RCTComponentViewHelpers.h>
15
- #import <react/renderer/components/TrueSheetSpec/TrueSheetContainerViewComponentDescriptor.h>
16
- #import <react/renderer/components/TrueSheetSpec/TrueSheetContainerViewShadowNode.h>
17
- #import <react/renderer/components/TrueSheetSpec/TrueSheetContainerViewState.h>
18
16
  #import "TrueSheetContentView.h"
19
17
  #import "TrueSheetFooterView.h"
20
18
 
21
19
  #import <React/RCTConversions.h>
22
20
  #import <React/RCTLog.h>
23
- #import <react/renderer/core/State.h>
24
21
 
25
22
  using namespace facebook::react;
26
23
 
@@ -30,8 +27,6 @@ using namespace facebook::react;
30
27
  @implementation TrueSheetContainerView {
31
28
  TrueSheetContentView *_contentView;
32
29
  TrueSheetFooterView *_footerView;
33
- TrueSheetContainerViewShadowNode::ConcreteState::Shared _state;
34
- CGFloat _lastContainerWidth;
35
30
  }
36
31
 
37
32
  + (ComponentDescriptorProvider)componentDescriptorProvider {
@@ -47,7 +42,6 @@ using namespace facebook::react;
47
42
 
48
43
  _contentView = nil;
49
44
  _footerView = nil;
50
- _lastContainerWidth = 0;
51
45
  }
52
46
  return self;
53
47
  }
@@ -61,37 +55,9 @@ using namespace facebook::react;
61
55
  if (!CGRectEqualToRect(self.frame, parentBounds)) {
62
56
  self.frame = parentBounds;
63
57
  }
64
-
65
- // Update state with container width so Yoga can use it for children layout
66
- [self updateStateIfNeeded];
67
- }
68
- }
69
-
70
- - (void)updateStateIfNeeded {
71
- if (!self.superview) {
72
- return;
73
- }
74
-
75
- CGFloat containerWidth = self.superview.bounds.size.width;
76
- if (containerWidth > 0 && fabs(containerWidth - _lastContainerWidth) > 0.5) {
77
- _lastContainerWidth = containerWidth;
78
- [self updateState];
79
58
  }
80
59
  }
81
60
 
82
- - (void)updateState {
83
- if (!_state) {
84
- return;
85
- }
86
-
87
- _state->updateState([=](TrueSheetContainerViewShadowNode::ConcreteState::Data const &oldData)
88
- -> TrueSheetContainerViewShadowNode::ConcreteState::SharedData {
89
- auto newData = oldData;
90
- newData.containerWidth = static_cast<float>(_lastContainerWidth);
91
- return std::make_shared<TrueSheetContainerViewShadowNode::ConcreteState::Data const>(newData);
92
- });
93
- }
94
-
95
61
  - (CGFloat)contentHeight {
96
62
  return _contentView ? _contentView.frame.size.height : 0;
97
63
  }
@@ -153,19 +119,6 @@ using namespace facebook::react;
153
119
  [super updateProps:props oldProps:oldProps];
154
120
  }
155
121
 
156
- - (void)updateState:(const State::Shared &)state oldState:(const State::Shared &)oldState {
157
- _state = std::static_pointer_cast<TrueSheetContainerViewShadowNode::ConcreteState const>(state);
158
-
159
- // Reset last width when state is updated to ensure we push the correct width
160
- // This handles re-presentation of the sheet where state is recreated
161
- _lastContainerWidth = 0;
162
- }
163
-
164
- - (void)finalizeUpdates:(RNComponentViewUpdateMask)updateMask {
165
- [super finalizeUpdates:updateMask];
166
- [self updateStateIfNeeded];
167
- }
168
-
169
122
  #pragma mark - TrueSheetContentViewDelegate
170
123
 
171
124
  - (void)contentViewDidChangeSize:(CGSize)newSize {
@@ -27,16 +27,19 @@
27
27
  #import "utils/LayoutUtil.h"
28
28
  #import "utils/WindowUtil.h"
29
29
 
30
- #import <react/renderer/components/TrueSheetSpec/ComponentDescriptors.h>
31
30
  #import <react/renderer/components/TrueSheetSpec/EventEmitters.h>
32
31
  #import <react/renderer/components/TrueSheetSpec/Props.h>
33
32
  #import <react/renderer/components/TrueSheetSpec/RCTComponentViewHelpers.h>
33
+ #import <react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h>
34
+ #import <react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.h>
35
+ #import <react/renderer/components/TrueSheetSpec/TrueSheetViewState.h>
34
36
 
35
37
  #import <React/RCTConversions.h>
36
38
  #import <React/RCTFabricComponentsPlugins.h>
37
39
  #import <React/RCTLog.h>
38
40
  #import <React/RCTSurfaceTouchHandler.h>
39
41
  #import <React/RCTUtils.h>
42
+ #import <react/renderer/core/State.h>
40
43
 
41
44
  using namespace facebook::react;
42
45
 
@@ -47,6 +50,8 @@ using namespace facebook::react;
47
50
  TrueSheetContainerView *_containerView;
48
51
  TrueSheetViewController *_controller;
49
52
  RCTSurfaceTouchHandler *_touchHandler;
53
+ TrueSheetViewShadowNode::ConcreteState::Shared _state;
54
+ CGFloat _lastContainerWidth;
50
55
  NSInteger _initialDetentIndex;
51
56
  BOOL _fitScrollView;
52
57
  BOOL _initialDetentAnimated;
@@ -66,6 +71,7 @@ using namespace facebook::react;
66
71
 
67
72
  _containerView = nil;
68
73
 
74
+ _lastContainerWidth = 0;
69
75
  _initialDetentIndex = -1;
70
76
  _initialDetentAnimated = YES;
71
77
  _fitScrollView = NO;
@@ -238,6 +244,35 @@ using namespace facebook::react;
238
244
  _fitScrollView = newProps.fitScrollView;
239
245
  }
240
246
 
247
+ - (void)updateState:(const State::Shared &)state oldState:(const State::Shared &)oldState {
248
+ _state = std::static_pointer_cast<TrueSheetViewShadowNode::ConcreteState const>(state);
249
+ [self updateStateIfNeeded];
250
+ }
251
+
252
+ - (void)updateStateIfNeeded {
253
+ if (!_state) {
254
+ return;
255
+ }
256
+
257
+ CGFloat containerWidth = _controller.view.bounds.size.width;
258
+
259
+ if (containerWidth <= 0) {
260
+ return;
261
+ }
262
+
263
+ BOOL widthChanged = fabs(containerWidth - _lastContainerWidth) > 0.5;
264
+
265
+ if (widthChanged) {
266
+ _lastContainerWidth = containerWidth;
267
+ _state->updateState([=](TrueSheetViewShadowNode::ConcreteState::Data const &oldData)
268
+ -> TrueSheetViewShadowNode::ConcreteState::SharedData {
269
+ auto newData = oldData;
270
+ newData.containerWidth = static_cast<float>(containerWidth);
271
+ return std::make_shared<TrueSheetViewShadowNode::ConcreteState::Data const>(newData);
272
+ });
273
+ }
274
+ }
275
+
241
276
  - (void)finalizeUpdates:(RNComponentViewUpdateMask)updateMask {
242
277
  [super finalizeUpdates:updateMask];
243
278
 
@@ -292,10 +327,6 @@ using namespace facebook::react;
292
327
  // Ensure container is above background view
293
328
  [_controller.view bringSubviewToFront:_containerView];
294
329
 
295
- // Force layout pass immediately so container gets correct width on mount
296
- // This pushes the width to Yoga before the sheet is presented
297
- [_controller.view layoutIfNeeded];
298
-
299
330
  // Get initial content height from container
300
331
  CGFloat contentHeight = [_containerView contentHeight];
301
332
  if (contentHeight > 0) {
@@ -421,6 +452,10 @@ using namespace facebook::react;
421
452
  [OnPositionChangeEvent emit:_eventEmitter index:index position:position transitioning:transitioning];
422
453
  }
423
454
 
455
+ - (void)viewControllerDidChangeSize:(CGSize)size {
456
+ [self updateStateIfNeeded];
457
+ }
458
+
424
459
  #pragma mark - Private Helpers
425
460
 
426
461
  - (UIViewController *)findPresentingViewController {
@@ -26,6 +26,7 @@ NS_ASSUME_NONNULL_BEGIN
26
26
  - (void)viewControllerDidChangeDetent:(NSInteger)index position:(CGFloat)position;
27
27
  - (void)viewControllerDidDrag:(UIGestureRecognizerState)state index:(NSInteger)index position:(CGFloat)position;
28
28
  - (void)viewControllerDidChangePosition:(NSInteger)index position:(CGFloat)position transitioning:(BOOL)transitioning;
29
+ - (void)viewControllerDidChangeSize:(CGSize)size;
29
30
 
30
31
  @end
31
32
 
@@ -164,6 +164,11 @@
164
164
  completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
165
165
  // After rotation completes
166
166
  [self setupSheetDetents];
167
+
168
+ // Notify delegate of size change for state update
169
+ if ([self.delegate respondsToSelector:@selector(viewControllerDidChangeSize:)]) {
170
+ [self.delegate viewControllerDidChangeSize:size];
171
+ }
167
172
  }];
168
173
  }
169
174
 
@@ -319,7 +319,6 @@ export class TrueSheet extends PureComponent {
319
319
  const styles = StyleSheet.create({
320
320
  sheetView: {
321
321
  position: 'absolute',
322
- width: '100%',
323
322
  zIndex: -9999
324
323
  },
325
324
  footer: {
@@ -1 +1 @@
1
- {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","processColor","StyleSheet","findNodeHandle","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","dismiss","resize","registerInstance","unregisterInstance","event","setState","Promise","resolve","presentByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","grabber","dimmed","initialDetentAnimated","keyboardMode","dimmedDetentIndex","blurTint","cornerRadius","maxHeight","edgeToEdgeFullScreen","fitScrollView","pageSizing","children","style","footer","testID","resolvedDetents","slice","map","ref","styles","sheetView","background","collapsable","create","position","width","zIndex","left","right"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","processColor","StyleSheet","findNodeHandle","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","dismiss","resize","registerInstance","unregisterInstance","event","setState","Promise","resolve","presentByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","grabber","dimmed","initialDetentAnimated","keyboardMode","dimmedDetentIndex","blurTint","cornerRadius","maxHeight","edgeToEdgeFullScreen","fitScrollView","pageSizing","children","style","footer","testID","resolvedDetents","slice","map","ref","styles","sheetView","background","collapsable","create","position","zIndex","left","right"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,4 @@ export interface NativeProps extends ViewProps {
5
5
  // No props needed - container accesses props from parent TrueSheetView
6
6
  }
7
7
 
8
- export default codegenNativeComponent<NativeProps>('TrueSheetContainerView', {
9
- interfaceOnly: true,
10
- });
8
+ export default codegenNativeComponent<NativeProps>('TrueSheetContainerView');
@@ -56,4 +56,6 @@ export interface NativeProps extends ViewProps {
56
56
  onPositionChange?: DirectEventHandler<PositionChangeEventPayload>;
57
57
  }
58
58
 
59
- export default codegenNativeComponent<NativeProps>('TrueSheetView');
59
+ export default codegenNativeComponent<NativeProps>('TrueSheetView', {
60
+ interfaceOnly: true,
61
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheetContainerViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetContainerViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,WAAW,WAAY,SAAQ,SAAS;CAE7C;;AAED,wBAEG"}
1
+ {"version":3,"file":"TrueSheetContainerViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetContainerViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,WAAW,WAAY,SAAQ,SAAS;CAE7C;;AAED,wBAA6E"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,WAAW,EACX,KAAK,EACN,MAAM,2CAA2C,CAAC;AAGnD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAE5C,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAG/B,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAG1C,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;IAGvD,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,qBAAqB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAGxC,OAAO,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;CACnE;;AAED,wBAAoE"}
1
+ {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,WAAW,EACX,KAAK,EACN,MAAM,2CAA2C,CAAC;AAGnD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAE5C,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAG/B,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAG1C,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;IAGvD,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,qBAAqB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAGxC,OAAO,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;CACnE;;AAED,wBAEG"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.0.0-beta.5",
3
+ "version": "3.0.0-beta.7",
4
4
  "description": "The true native bottom sheet experience for your React Native Apps.",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/module/index.js",
7
7
  "types": "./lib/typescript/src/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "source": "./src/index.tsx",
10
+ "source": "./src/index.ts",
11
11
  "types": "./lib/typescript/src/index.d.ts",
12
12
  "default": "./lib/module/index.js"
13
13
  },
@@ -18,7 +18,7 @@
18
18
  "lib",
19
19
  "android",
20
20
  "ios",
21
- "cpp",
21
+ "common",
22
22
  "*.podspec",
23
23
  "react-native.config.js",
24
24
  "!ios/build",
@@ -38,7 +38,7 @@
38
38
  "typecheck": "tsc",
39
39
  "lint": "eslint --fix \"**/*.{ts,tsx}\"",
40
40
  "format": "prettier --write \"**/*.{ts,tsx}\"",
41
- "tidy": "yarn typecheck && yarn lint && yarn format && scripts/objc-lint.sh && scripts/ktlint.sh",
41
+ "tidy": "yarn typecheck && yarn lint && yarn format && scripts/objclint.sh && scripts/ktlint.sh",
42
42
  "clean": "scripts/clean.sh",
43
43
  "prepare": "bob build",
44
44
  "release": "yarn tidy && release-it --only-version",
@@ -3,7 +3,7 @@ module.exports = {
3
3
  platforms: {
4
4
  ios: {},
5
5
  android: {
6
- componentDescriptors: ['TrueSheetContainerViewComponentDescriptor'],
6
+ componentDescriptors: ['TrueSheetViewComponentDescriptor'],
7
7
  cmakeListsPath: '../android/src/main/jni/CMakeLists.txt',
8
8
  },
9
9
  },
package/src/TrueSheet.tsx CHANGED
@@ -391,7 +391,6 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
391
391
  const styles = StyleSheet.create({
392
392
  sheetView: {
393
393
  position: 'absolute',
394
- width: '100%',
395
394
  zIndex: -9999,
396
395
  },
397
396
  footer: {
@@ -5,6 +5,4 @@ export interface NativeProps extends ViewProps {
5
5
  // No props needed - container accesses props from parent TrueSheetView
6
6
  }
7
7
 
8
- export default codegenNativeComponent<NativeProps>('TrueSheetContainerView', {
9
- interfaceOnly: true,
10
- });
8
+ export default codegenNativeComponent<NativeProps>('TrueSheetContainerView');
@@ -56,4 +56,6 @@ export interface NativeProps extends ViewProps {
56
56
  onPositionChange?: DirectEventHandler<PositionChangeEventPayload>;
57
57
  }
58
58
 
59
- export default codegenNativeComponent<NativeProps>('TrueSheetView');
59
+ export default codegenNativeComponent<NativeProps>('TrueSheetView', {
60
+ interfaceOnly: true,
61
+ });