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

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 (35) hide show
  1. package/RNTrueSheet.podspec +5 -1
  2. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +50 -0
  3. package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerViewManager.kt +7 -0
  4. package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +0 -9
  5. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +8 -4
  6. package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +11 -2
  7. package/android/src/main/jni/CMakeLists.txt +87 -0
  8. package/android/src/main/jni/TrueSheetSpec.h +17 -0
  9. package/ios/TrueSheetContainerView.mm +61 -5
  10. package/ios/TrueSheetContentView.mm +0 -11
  11. package/ios/TrueSheetView.h +0 -16
  12. package/ios/TrueSheetView.mm +10 -8
  13. package/ios/TrueSheetViewController.h +0 -1
  14. package/ios/TrueSheetViewController.mm +9 -26
  15. package/ios/utils/ConversionUtil.mm +30 -40
  16. package/lib/module/TrueSheet.js +1 -23
  17. package/lib/module/TrueSheet.js.map +1 -1
  18. package/lib/module/fabric/TrueSheetContainerViewNativeComponent.ts +3 -1
  19. package/lib/module/fabric/TrueSheetViewNativeComponent.ts +0 -6
  20. package/lib/typescript/src/TrueSheet.d.ts +0 -3
  21. package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
  22. package/lib/typescript/src/TrueSheet.types.d.ts +0 -13
  23. package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
  24. package/lib/typescript/src/fabric/TrueSheetContainerViewNativeComponent.d.ts.map +1 -1
  25. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +0 -5
  26. package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/react-native.config.js +5 -2
  29. package/src/TrueSheet.tsx +1 -27
  30. package/src/TrueSheet.types.ts +0 -15
  31. package/src/fabric/TrueSheetContainerViewNativeComponent.ts +3 -1
  32. package/src/fabric/TrueSheetViewNativeComponent.ts +0 -6
  33. package/android/src/main/java/com/lodev09/truesheet/events/SizeChangeEvent.kt +0 -27
  34. package/ios/events/OnSizeChangeEvent.h +0 -28
  35. package/ios/events/OnSizeChangeEvent.mm +0 -30
@@ -13,8 +13,12 @@ Pod::Spec.new do |s|
13
13
  s.platforms = { :ios => min_ios_version_supported }
14
14
  s.source = { :git => "https://github.com/lodev09/react-native-true-sheet.git", :tag => "#{s.version}" }
15
15
 
16
- s.source_files = "ios/**/*.{h,m,mm,swift,cpp}"
16
+ s.source_files = "ios/**/*.{h,m,mm,swift,cpp}", "common/cpp/**/*.{cpp,h}"
17
17
  s.private_header_files = "ios/**/*.h"
18
18
 
19
+ s.pod_target_xcconfig = {
20
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/common/cpp\""
21
+ }
22
+
19
23
  install_modules_dependencies(s)
20
24
  end
@@ -3,6 +3,9 @@ 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
6
9
  import com.facebook.react.uimanager.ThemedReactContext
7
10
  import com.facebook.react.views.view.ReactViewGroup
8
11
 
@@ -26,6 +29,53 @@ class TrueSheetContainerView(private val reactContext: ThemedReactContext) :
26
29
 
27
30
  var delegate: TrueSheetContainerViewDelegate? = null
28
31
 
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
+
29
79
  /**
30
80
  * Reference to content view (first child)
31
81
  */
@@ -1,6 +1,8 @@
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
4
6
  import com.facebook.react.uimanager.ThemedReactContext
5
7
  import com.facebook.react.uimanager.ViewGroupManager
6
8
 
@@ -15,6 +17,11 @@ class TrueSheetContainerViewManager : ViewGroupManager<TrueSheetContainerView>()
15
17
 
16
18
  override fun createViewInstance(reactContext: ThemedReactContext): TrueSheetContainerView = TrueSheetContainerView(reactContext)
17
19
 
20
+ override fun updateState(view: TrueSheetContainerView, props: ReactStylesDiffMap?, stateWrapper: StateWrapper?): Any? {
21
+ view.setStateWrapper(stateWrapper)
22
+ return null
23
+ }
24
+
18
25
  companion object {
19
26
  const val REACT_CLASS = "TrueSheetContainerView"
20
27
  }
@@ -18,7 +18,6 @@ import com.lodev09.truesheet.events.DragChangeEvent
18
18
  import com.lodev09.truesheet.events.DragEndEvent
19
19
  import com.lodev09.truesheet.events.MountEvent
20
20
  import com.lodev09.truesheet.events.PositionChangeEvent
21
- import com.lodev09.truesheet.events.SizeChangeEvent
22
21
  import com.lodev09.truesheet.events.WillDismissEvent
23
22
  import com.lodev09.truesheet.events.WillPresentEvent
24
23
 
@@ -350,14 +349,6 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
350
349
  viewController.dismiss()
351
350
  }
352
351
 
353
- override fun viewControllerDidChangeSize(width: Int, height: Int) {
354
- // Dispatch size change event to JS
355
- val surfaceId = UIManagerHelper.getSurfaceId(this)
356
- eventDispatcher?.dispatchEvent(
357
- SizeChangeEvent(surfaceId, id, width, height)
358
- )
359
- }
360
-
361
352
  // ==================== TrueSheetContainerViewDelegate Implementation ====================
362
353
 
363
354
  override fun containerViewContentDidChangeSize(width: Int, height: Int) {
@@ -40,7 +40,6 @@ 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)
44
43
  }
45
44
 
46
45
  /**
@@ -65,6 +64,9 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
65
64
  private val jSTouchDispatcher = JSTouchDispatcher(this)
66
65
  private var jSPointerDispatcher: JSPointerDispatcher? = null
67
66
 
67
+ private var viewWidth = 0
68
+ private var viewHeight = 0
69
+
68
70
  /**
69
71
  * Delegate for handling view controller events
70
72
  */
@@ -774,6 +776,11 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
774
776
 
775
777
  override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
776
778
  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)
777
784
 
778
785
  // Only proceed if size actually changed
779
786
  if (w == oldw && h == oldh) return
@@ -796,9 +803,6 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
796
803
  delegate?.viewControllerDidChangePosition(detentInfo.index, detentInfo.position, transitioning = true)
797
804
  }
798
805
  }
799
-
800
- // Notify delegate about size change
801
- delegate?.viewControllerDidChangeSize(w, h)
802
806
  }
803
807
 
804
808
  override fun handleException(t: Throwable) {
@@ -61,8 +61,7 @@ class TrueSheetViewManager :
61
61
  DragBeginEvent.EVENT_NAME to hashMapOf("registrationName" to DragBeginEvent.REGISTRATION_NAME),
62
62
  DragChangeEvent.EVENT_NAME to hashMapOf("registrationName" to DragChangeEvent.REGISTRATION_NAME),
63
63
  DragEndEvent.EVENT_NAME to hashMapOf("registrationName" to DragEndEvent.REGISTRATION_NAME),
64
- PositionChangeEvent.EVENT_NAME to hashMapOf("registrationName" to PositionChangeEvent.REGISTRATION_NAME),
65
- SizeChangeEvent.EVENT_NAME to hashMapOf("registrationName" to SizeChangeEvent.REGISTRATION_NAME)
64
+ PositionChangeEvent.EVENT_NAME to hashMapOf("registrationName" to PositionChangeEvent.REGISTRATION_NAME)
66
65
  )
67
66
 
68
67
  // ==================== Props ====================
@@ -154,6 +153,16 @@ class TrueSheetViewManager :
154
153
  view.setEdgeToEdgeFullScreen(edgeToEdgeFullScreen)
155
154
  }
156
155
 
156
+ @ReactProp(name = "fitScrollView", defaultBoolean = false)
157
+ override fun setFitScrollView(view: TrueSheetView, value: Boolean) {
158
+ // iOS-specific prop - no-op on Android
159
+ }
160
+
161
+ @ReactProp(name = "pageSizing", defaultBoolean = true)
162
+ override fun setPageSizing(view: TrueSheetView, value: Boolean) {
163
+ // iOS-specific prop - no-op on Android
164
+ }
165
+
157
166
  companion object {
158
167
  const val REACT_CLASS = "TrueSheetView"
159
168
  const val TAG_NAME = "TrueSheet"
@@ -0,0 +1,87 @@
1
+ cmake_minimum_required(VERSION 3.13)
2
+ set(CMAKE_VERBOSE_MAKEFILE ON)
3
+
4
+ set(LIB_LITERAL TrueSheetSpec)
5
+ set(LIB_TARGET_NAME react_codegen_${LIB_LITERAL})
6
+
7
+ set(LIB_ANDROID_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
8
+ set(LIB_COMMON_DIR ${LIB_ANDROID_DIR}/../common/cpp)
9
+ set(LIB_ANDROID_GENERATED_JNI_DIR ${LIB_ANDROID_DIR}/build/generated/source/codegen/jni)
10
+ set(LIB_ANDROID_GENERATED_COMPONENTS_DIR ${LIB_ANDROID_GENERATED_JNI_DIR}/react/renderer/components/${LIB_LITERAL})
11
+
12
+ file(GLOB LIB_CUSTOM_SRCS CONFIGURE_DEPENDS *.cpp ${LIB_COMMON_DIR}/react/renderer/components/${LIB_LITERAL}/*.cpp)
13
+ file(GLOB LIB_CODEGEN_SRCS CONFIGURE_DEPENDS ${LIB_ANDROID_GENERATED_JNI_DIR}/*.cpp ${LIB_ANDROID_GENERATED_COMPONENTS_DIR}/*.cpp)
14
+
15
+ add_library(
16
+ ${LIB_TARGET_NAME}
17
+ SHARED
18
+ ${LIB_CUSTOM_SRCS}
19
+ ${LIB_CODEGEN_SRCS}
20
+ )
21
+
22
+ target_include_directories(
23
+ ${LIB_TARGET_NAME}
24
+ PUBLIC
25
+ .
26
+ ${LIB_COMMON_DIR}
27
+ ${LIB_ANDROID_GENERATED_JNI_DIR}
28
+ ${LIB_ANDROID_GENERATED_COMPONENTS_DIR}
29
+ )
30
+
31
+ if (REACTNATIVE_MERGED_SO)
32
+ target_link_libraries(
33
+ ${LIB_TARGET_NAME}
34
+ fbjni
35
+ jsi
36
+ reactnative
37
+ log
38
+ )
39
+ else()
40
+ target_link_libraries(
41
+ ${LIB_TARGET_NAME}
42
+ fbjni
43
+ folly_runtime
44
+ glog
45
+ jsi
46
+ react_codegen_rncore
47
+ react_debug
48
+ react_nativemodule_core
49
+ react_render_core
50
+ react_render_debug
51
+ react_render_graphics
52
+ react_render_mapbuffer
53
+ react_render_componentregistry
54
+ react_utils
55
+ rrc_view
56
+ turbomodulejsijni
57
+ yoga
58
+ log
59
+ )
60
+ endif()
61
+
62
+ target_include_directories(
63
+ ${CMAKE_PROJECT_NAME}
64
+ PUBLIC
65
+ ${CMAKE_CURRENT_SOURCE_DIR}
66
+ )
67
+
68
+ if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 80)
69
+ target_compile_reactnative_options(${LIB_TARGET_NAME} PUBLIC)
70
+ else()
71
+ target_compile_options(
72
+ ${LIB_TARGET_NAME}
73
+ PRIVATE
74
+ -fexceptions
75
+ -frtti
76
+ -std=c++20
77
+ -Wall
78
+ )
79
+ endif()
80
+
81
+ target_compile_options(
82
+ ${LIB_TARGET_NAME}
83
+ PRIVATE
84
+ -Wpedantic
85
+ -Wno-gnu-zero-variadic-macro-arguments
86
+ -Wno-dollar-in-identifier-extension
87
+ )
@@ -0,0 +1,17 @@
1
+ #pragma once
2
+
3
+ #include <ReactCommon/JavaTurboModule.h>
4
+ #include <ReactCommon/TurboModule.h>
5
+ #include <jsi/jsi.h>
6
+ #include <react/renderer/components/TrueSheetSpec/TrueSheetContainerViewComponentDescriptor.h>
7
+
8
+ namespace facebook {
9
+ namespace react {
10
+
11
+ JSI_EXPORT
12
+ std::shared_ptr<TurboModule> TrueSheetSpec_ModuleProvider(
13
+ const std::string &moduleName,
14
+ const JavaTurboModule::InitParams &params);
15
+
16
+ } // namespace react
17
+ } // namespace facebook
@@ -9,14 +9,18 @@
9
9
  #ifdef RCT_NEW_ARCH_ENABLED
10
10
 
11
11
  #import "TrueSheetContainerView.h"
12
- #import <react/renderer/components/TrueSheetSpec/ComponentDescriptors.h>
13
12
  #import <react/renderer/components/TrueSheetSpec/EventEmitters.h>
14
13
  #import <react/renderer/components/TrueSheetSpec/Props.h>
15
14
  #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>
16
18
  #import "TrueSheetContentView.h"
17
19
  #import "TrueSheetFooterView.h"
18
20
 
19
21
  #import <React/RCTConversions.h>
22
+ #import <React/RCTLog.h>
23
+ #import <react/renderer/core/State.h>
20
24
 
21
25
  using namespace facebook::react;
22
26
 
@@ -26,6 +30,8 @@ using namespace facebook::react;
26
30
  @implementation TrueSheetContainerView {
27
31
  TrueSheetContentView *_contentView;
28
32
  TrueSheetFooterView *_footerView;
33
+ TrueSheetContainerViewShadowNode::ConcreteState::Shared _state;
34
+ CGFloat _lastContainerWidth;
29
35
  }
30
36
 
31
37
  + (ComponentDescriptorProvider)componentDescriptorProvider {
@@ -41,11 +47,49 @@ using namespace facebook::react;
41
47
 
42
48
  _contentView = nil;
43
49
  _footerView = nil;
50
+ _lastContainerWidth = 0;
44
51
  }
45
52
  return self;
46
53
  }
47
54
 
48
- - (void)dealloc {
55
+ - (void)layoutSubviews {
56
+ [super layoutSubviews];
57
+
58
+ // Override Yoga layout - fill the entire parent (controller's view)
59
+ if (self.superview) {
60
+ CGRect parentBounds = self.superview.bounds;
61
+ if (!CGRectEqualToRect(self.frame, parentBounds)) {
62
+ self.frame = parentBounds;
63
+ }
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
+ }
80
+ }
81
+
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
+ });
49
93
  }
50
94
 
51
95
  - (CGFloat)contentHeight {
@@ -64,7 +108,6 @@ using namespace facebook::react;
64
108
 
65
109
  - (void)setupContentScrollViewPinning:(BOOL)pinned {
66
110
  if (_contentView) {
67
- NSLog(@"setting up scrollview pinning: %i", pinned);
68
111
  [_contentView setupScrollViewPinning:pinned];
69
112
  }
70
113
  }
@@ -75,7 +118,7 @@ using namespace facebook::react;
75
118
  // Handle content view mounting
76
119
  if ([childComponentView isKindOfClass:[TrueSheetContentView class]]) {
77
120
  if (_contentView != nil) {
78
- NSLog(@"TrueSheet: Container can only have one content component.");
121
+ RCTLogWarn(@"TrueSheet: Container can only have one content component.");
79
122
  return;
80
123
  }
81
124
 
@@ -86,7 +129,7 @@ using namespace facebook::react;
86
129
  // Handle footer view mounting
87
130
  if ([childComponentView isKindOfClass:[TrueSheetFooterView class]]) {
88
131
  if (_footerView != nil) {
89
- NSLog(@"TrueSheet: Container can only have one footer component.");
132
+ RCTLogWarn(@"TrueSheet: Container can only have one footer component.");
90
133
  return;
91
134
  }
92
135
 
@@ -110,6 +153,19 @@ using namespace facebook::react;
110
153
  [super updateProps:props oldProps:oldProps];
111
154
  }
112
155
 
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
+
113
169
  #pragma mark - TrueSheetContentViewDelegate
114
170
 
115
171
  - (void)contentViewDidChangeSize:(CGSize)newSize {
@@ -53,17 +53,6 @@ using namespace facebook::react;
53
53
  }
54
54
  }
55
55
 
56
- //- (void)didMoveToSuperview {
57
- // [super didMoveToSuperview];
58
- //
59
- // // Setup scroll view pinning after Fabric mounts the view in container
60
- // // Ensures proper view hierarchy for scroll detection and pinning
61
- // if (self.superview) {
62
- // NSLog(@"content has attached");
63
- //// [self setupScrollViewPinning];
64
- // }
65
- //}
66
-
67
56
  - (void)unpinScrollView {
68
57
  // Unpin previous scroll view if exists
69
58
  if (_pinnedScrollView) {
@@ -23,22 +23,6 @@ typedef void (^TrueSheetCompletionBlock)(BOOL success, NSError *_Nullable error)
23
23
 
24
24
  @interface TrueSheetView : RCTViewComponentView
25
25
 
26
- ///**
27
- // * The view controller managing the sheet presentation
28
- // * Exposed so container can access it
29
- // */
30
- //@property (nonatomic, readonly, strong) TrueSheetViewController *controller;
31
- //
32
- ///**
33
- // * Whether the sheet is currently presented
34
- // */
35
- //@property (nonatomic, readonly) BOOL isPresented;
36
- //
37
- ///**
38
- // * The currently active detent index
39
- // */
40
- //@property (nonatomic, readonly, strong, nullable) NSNumber *activeIndex;
41
-
42
26
  // TurboModule methods
43
27
  - (void)presentAtIndex:(NSInteger)index
44
28
  animated:(BOOL)animated
@@ -22,7 +22,6 @@
22
22
  #import "events/OnDragEndEvent.h"
23
23
  #import "events/OnMountEvent.h"
24
24
  #import "events/OnPositionChangeEvent.h"
25
- #import "events/OnSizeChangeEvent.h"
26
25
  #import "events/OnWillDismissEvent.h"
27
26
  #import "events/OnWillPresentEvent.h"
28
27
  #import "utils/LayoutUtil.h"
@@ -35,6 +34,7 @@
35
34
 
36
35
  #import <React/RCTConversions.h>
37
36
  #import <React/RCTFabricComponentsPlugins.h>
37
+ #import <React/RCTLog.h>
38
38
  #import <React/RCTSurfaceTouchHandler.h>
39
39
  #import <React/RCTUtils.h>
40
40
 
@@ -271,7 +271,7 @@ using namespace facebook::react;
271
271
  // Check if it's a container view
272
272
  if ([childComponentView isKindOfClass:[TrueSheetContainerView class]]) {
273
273
  if (_containerView != nil) {
274
- NSLog(@"TrueSheet: Sheet can only have one container component.");
274
+ RCTLogWarn(@"TrueSheet: Sheet can only have one container component.");
275
275
  return;
276
276
  }
277
277
 
@@ -292,6 +292,10 @@ using namespace facebook::react;
292
292
  // Ensure container is above background view
293
293
  [_controller.view bringSubviewToFront:_containerView];
294
294
 
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
+
295
299
  // Get initial content height from container
296
300
  CGFloat contentHeight = [_containerView contentHeight];
297
301
  if (contentHeight > 0) {
@@ -417,12 +421,6 @@ using namespace facebook::react;
417
421
  [OnPositionChangeEvent emit:_eventEmitter index:index position:position transitioning:transitioning];
418
422
  }
419
423
 
420
- - (void)viewControllerDidChangeSize:(CGSize)size {
421
- // Notify so our container can layout on JS
422
- // TODO: hopefully we can convert this into native!
423
- [OnSizeChangeEvent emit:_eventEmitter width:size.width height:size.height];
424
- }
425
-
426
424
  #pragma mark - Private Helpers
427
425
 
428
426
  - (UIViewController *)findPresentingViewController {
@@ -434,6 +432,10 @@ using namespace facebook::react;
434
432
 
435
433
  UIViewController *rootViewController = keyWindow.rootViewController;
436
434
 
435
+ if (!rootViewController) {
436
+ return nil;
437
+ }
438
+
437
439
  // Find the top-most presented view controller
438
440
  while (rootViewController.presentedViewController) {
439
441
  UIViewController *presented = rootViewController.presentedViewController;
@@ -26,7 +26,6 @@ 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;
30
29
 
31
30
  @end
32
31
 
@@ -22,7 +22,6 @@
22
22
  @implementation TrueSheetViewController {
23
23
  CGFloat _lastPosition;
24
24
  CGFloat _lastTransitionPosition;
25
- CGSize _lastNotifiedSize;
26
25
  BOOL _isTransitioning;
27
26
  BOOL _isDragging;
28
27
  BOOL _isTrackingPositionFromLayout;
@@ -40,7 +39,6 @@
40
39
  _pageSizing = YES;
41
40
  _lastPosition = 0;
42
41
  _lastTransitionPosition = 0;
43
- _lastNotifiedSize = CGSizeZero;
44
42
  _isTransitioning = NO;
45
43
  _isDragging = NO;
46
44
  _isTrackingPositionFromLayout = NO;
@@ -58,6 +56,12 @@
58
56
 
59
57
  - (void)dealloc {
60
58
  [[NSNotificationCenter defaultCenter] removeObserver:self];
59
+
60
+ // Ensure display link is invalidated to prevent retain cycle
61
+ if (_displayLink) {
62
+ [_displayLink invalidate];
63
+ _displayLink = nil;
64
+ }
61
65
  }
62
66
 
63
67
  #pragma mark - Presentation State
@@ -95,9 +99,6 @@
95
99
  [self.delegate viewControllerWillPresent];
96
100
  }
97
101
 
98
- // Emit size change event to layout our container
99
- [self notifyContentSizeChange];
100
-
101
102
  // Setup transition position tracking
102
103
  [self setupTransitionPositionTracking];
103
104
  }
@@ -163,18 +164,12 @@
163
164
  completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
164
165
  // After rotation completes
165
166
  [self setupSheetDetents];
166
-
167
- // Notify delegate of size changes
168
- [self notifyContentSizeChange];
169
167
  }];
170
168
  }
171
169
 
172
170
  - (void)viewDidLayoutSubviews {
173
171
  [super viewDidLayoutSubviews];
174
172
 
175
- // Notify content size changes (e.g., when pageSizing changes)
176
- [self notifyContentSizeChange];
177
-
178
173
  if (!_isTransitioning && self.isActiveAndVisible) {
179
174
  // Flag that we are tracking position from layout
180
175
  _isTrackingPositionFromLayout = YES;
@@ -193,19 +188,6 @@
193
188
  }
194
189
  }
195
190
 
196
- - (void)notifyContentSizeChange {
197
- CGSize currentSize = self.view.frame.size;
198
-
199
- // Only notify if width has actually changed
200
- if (currentSize.width != _lastNotifiedSize.width) {
201
- _lastNotifiedSize = currentSize;
202
-
203
- if ([self.delegate respondsToSelector:@selector(viewControllerDidChangeSize:)]) {
204
- [self.delegate viewControllerDidChangeSize:currentSize];
205
- }
206
- }
207
- }
208
-
209
191
  #pragma mark - Gesture Handling
210
192
 
211
193
  /**
@@ -391,7 +373,8 @@
391
373
 
392
374
  // Our last transition position is nearly the same as fake view's layer position
393
375
  // Sheet must've been repositioning after dragging at lowest detent
394
- if (fabs(_lastTransitionPosition - position) < FLT_EPSILON) {
376
+ // Use 0.5 points as epsilon to account for floating-point precision in layout calculations
377
+ if (fabs(_lastTransitionPosition - position) < 0.5) {
395
378
  // Let's just flag it as transitioning to let JS manually animate
396
379
  transitioning = YES;
397
380
 
@@ -517,7 +500,7 @@
517
500
  return UISheetPresentationControllerDetentIdentifierMedium;
518
501
 
519
502
  UISheetPresentationControllerDetentIdentifier identifier = UISheetPresentationControllerDetentIdentifierMedium;
520
- if (index < sheet.detents.count) {
503
+ if (index >= 0 && index < (NSInteger)sheet.detents.count) {
521
504
  UISheetPresentationControllerDetent *detent = sheet.detents[index];
522
505
  if (@available(iOS 16.0, *)) {
523
506
  identifier = detent.identifier;
@@ -11,46 +11,36 @@
11
11
  @implementation ConversionUtil
12
12
 
13
13
  + (UIBlurEffectStyle)blurEffectStyleFromString:(NSString *)tintString {
14
- if ([tintString isEqualToString:@"dark"]) {
15
- return UIBlurEffectStyleDark;
16
- } else if ([tintString isEqualToString:@"light"]) {
17
- return UIBlurEffectStyleLight;
18
- } else if ([tintString isEqualToString:@"extra-light"]) {
19
- return UIBlurEffectStyleExtraLight;
20
- } else if ([tintString isEqualToString:@"regular"]) {
21
- return UIBlurEffectStyleRegular;
22
- } else if ([tintString isEqualToString:@"prominent"]) {
23
- return UIBlurEffectStyleProminent;
24
- } else if ([tintString isEqualToString:@"system-ultra-thin-material"]) {
25
- return UIBlurEffectStyleSystemUltraThinMaterial;
26
- } else if ([tintString isEqualToString:@"system-thin-material"]) {
27
- return UIBlurEffectStyleSystemThinMaterial;
28
- } else if ([tintString isEqualToString:@"system-material"]) {
29
- return UIBlurEffectStyleSystemMaterial;
30
- } else if ([tintString isEqualToString:@"system-thick-material"]) {
31
- return UIBlurEffectStyleSystemThickMaterial;
32
- } else if ([tintString isEqualToString:@"system-chrome-material"]) {
33
- return UIBlurEffectStyleSystemChromeMaterial;
34
- } else if ([tintString isEqualToString:@"system-ultra-thin-material-light"]) {
35
- return UIBlurEffectStyleSystemUltraThinMaterialLight;
36
- } else if ([tintString isEqualToString:@"system-thin-material-light"]) {
37
- return UIBlurEffectStyleSystemThinMaterialLight;
38
- } else if ([tintString isEqualToString:@"system-material-light"]) {
39
- return UIBlurEffectStyleSystemMaterialLight;
40
- } else if ([tintString isEqualToString:@"system-thick-material-light"]) {
41
- return UIBlurEffectStyleSystemThickMaterialLight;
42
- } else if ([tintString isEqualToString:@"system-chrome-material-light"]) {
43
- return UIBlurEffectStyleSystemChromeMaterialLight;
44
- } else if ([tintString isEqualToString:@"system-ultra-thin-material-dark"]) {
45
- return UIBlurEffectStyleSystemUltraThinMaterialDark;
46
- } else if ([tintString isEqualToString:@"system-thin-material-dark"]) {
47
- return UIBlurEffectStyleSystemThinMaterialDark;
48
- } else if ([tintString isEqualToString:@"system-material-dark"]) {
49
- return UIBlurEffectStyleSystemMaterialDark;
50
- } else if ([tintString isEqualToString:@"system-thick-material-dark"]) {
51
- return UIBlurEffectStyleSystemThickMaterialDark;
52
- } else if ([tintString isEqualToString:@"system-chrome-material-dark"]) {
53
- return UIBlurEffectStyleSystemChromeMaterialDark;
14
+ static NSDictionary<NSString *, NSNumber *> *styleMap = nil;
15
+ static dispatch_once_t onceToken;
16
+ dispatch_once(&onceToken, ^{
17
+ styleMap = @{
18
+ @"dark" : @(UIBlurEffectStyleDark),
19
+ @"light" : @(UIBlurEffectStyleLight),
20
+ @"extra-light" : @(UIBlurEffectStyleExtraLight),
21
+ @"regular" : @(UIBlurEffectStyleRegular),
22
+ @"prominent" : @(UIBlurEffectStyleProminent),
23
+ @"system-ultra-thin-material" : @(UIBlurEffectStyleSystemUltraThinMaterial),
24
+ @"system-thin-material" : @(UIBlurEffectStyleSystemThinMaterial),
25
+ @"system-material" : @(UIBlurEffectStyleSystemMaterial),
26
+ @"system-thick-material" : @(UIBlurEffectStyleSystemThickMaterial),
27
+ @"system-chrome-material" : @(UIBlurEffectStyleSystemChromeMaterial),
28
+ @"system-ultra-thin-material-light" : @(UIBlurEffectStyleSystemUltraThinMaterialLight),
29
+ @"system-thin-material-light" : @(UIBlurEffectStyleSystemThinMaterialLight),
30
+ @"system-material-light" : @(UIBlurEffectStyleSystemMaterialLight),
31
+ @"system-thick-material-light" : @(UIBlurEffectStyleSystemThickMaterialLight),
32
+ @"system-chrome-material-light" : @(UIBlurEffectStyleSystemChromeMaterialLight),
33
+ @"system-ultra-thin-material-dark" : @(UIBlurEffectStyleSystemUltraThinMaterialDark),
34
+ @"system-thin-material-dark" : @(UIBlurEffectStyleSystemThinMaterialDark),
35
+ @"system-material-dark" : @(UIBlurEffectStyleSystemMaterialDark),
36
+ @"system-thick-material-dark" : @(UIBlurEffectStyleSystemThickMaterialDark),
37
+ @"system-chrome-material-dark" : @(UIBlurEffectStyleSystemChromeMaterialDark),
38
+ };
39
+ });
40
+
41
+ NSNumber *style = styleMap[tintString];
42
+ if (style) {
43
+ return (UIBlurEffectStyle)[style integerValue];
54
44
  }
55
45
 
56
46
  // Default to light if not recognized
@@ -34,9 +34,7 @@ export class TrueSheet extends PureComponent {
34
34
  // Lazy load by default, except when initialDetentIndex is set (for auto-presentation)
35
35
  const shouldRenderImmediately = props.initialDetentIndex !== undefined && props.initialDetentIndex >= 0;
36
36
  this.state = {
37
- shouldRenderNativeView: shouldRenderImmediately,
38
- containerWidth: undefined,
39
- containerHeight: undefined
37
+ shouldRenderNativeView: shouldRenderImmediately
40
38
  };
41
39
  this.onMount = this.onMount.bind(this);
42
40
  this.onWillDismiss = this.onWillDismiss.bind(this);
@@ -48,7 +46,6 @@ export class TrueSheet extends PureComponent {
48
46
  this.onDragChange = this.onDragChange.bind(this);
49
47
  this.onDragEnd = this.onDragEnd.bind(this);
50
48
  this.onPositionChange = this.onPositionChange.bind(this);
51
- this.onSizeChange = this.onSizeChange.bind(this);
52
49
  }
53
50
  validateDetents() {
54
51
  const {
@@ -188,20 +185,6 @@ export class TrueSheet extends PureComponent {
188
185
  onPositionChange(event) {
189
186
  this.props.onPositionChange?.(event);
190
187
  }
191
- onSizeChange(event) {
192
- const {
193
- width,
194
- height
195
- } = event.nativeEvent;
196
-
197
- // Update container view dimensions in state
198
- this.setState({
199
- containerWidth: width,
200
- containerHeight: height
201
- });
202
-
203
- // Internal handler only - not exposed to users
204
- }
205
188
 
206
189
  /**
207
190
  * Present the Sheet by `index` (Promise-based)
@@ -317,13 +300,8 @@ export class TrueSheet extends PureComponent {
317
300
  onDragChange: this.onDragChange,
318
301
  onDragEnd: this.onDragEnd,
319
302
  onPositionChange: this.onPositionChange,
320
- onSizeChange: this.onSizeChange,
321
303
  children: this.state.shouldRenderNativeView && /*#__PURE__*/_jsxs(TrueSheetContainerViewNativeComponent, {
322
304
  testID: testID,
323
- style: {
324
- width: this.state.containerWidth,
325
- height: this.state.containerHeight
326
- },
327
305
  collapsable: false,
328
306
  children: [/*#__PURE__*/_jsx(TrueSheetContentViewNativeComponent, {
329
307
  style: style,
@@ -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","containerWidth","containerHeight","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onSizeChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","dismiss","resize","registerInstance","unregisterInstance","event","setState","width","height","nativeEvent","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":";;AAAA,SACEA,aAAa,EAEbC,SAAS,EAGTC,cAAc,EACdC,aAAa,QACR,OAAO;AAgBd,OAAOC,4BAA4B,MAAM,uCAAuC;AAChF,OAAOC,qCAAqC,MAAM,gDAAgD;AAClG,OAAOC,mCAAmC,MAAM,8CAA8C;AAC9F,OAAOC,kCAAkC,MAAM,6CAA6C;AAE5F,OAAOC,eAAe,MAAM,kCAA+B;AAE3D,SAASC,QAAQ,EAAEC,YAAY,EAAEC,UAAU,EAAEC,cAAc,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElF,MAAMC,aAAa,GACjB,2FAA2F,GAC3FR,QAAQ,CAACS,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B,GAC/B,iDAAiD;AAEnD,IAAI,CAACZ,eAAe,EAAE;EACpB,MAAM,IAAIa,KAAK,CAACJ,aAAa,CAAC;AAChC;AAUA,OAAO,MAAMK,SAAS,SAAStB,aAAa,CAAiC;EAC3EuB,WAAW,GAAG,WAAW;EAIzB;AACF;AACA;EACE,OAAwBC,SAAS,GAAkC,CAAC,CAAC;;EAErE;AACF;AACA;EACUC,oBAAoB,GAAwB,IAAI;EAExDC,WAAWA,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,SAAS,gBAAG3B,SAAS,CAAY,CAAC;IAEvC,IAAI,CAAC4B,eAAe,CAAC,CAAC;;IAEtB;IACA,MAAMC,uBAAuB,GAC3BH,KAAK,CAACI,kBAAkB,KAAKC,SAAS,IAAIL,KAAK,CAACI,kBAAkB,IAAI,CAAC;IAEzE,IAAI,CAACE,KAAK,GAAG;MACXC,sBAAsB,EAAEJ,uBAAuB;MAC/CK,cAAc,EAAEH,SAAS;MACzBI,eAAe,EAAEJ;IACnB,CAAC;IAED,IAAI,CAACK,OAAO,GAAG,IAAI,CAACA,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC;IACtC,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACD,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACE,YAAY,GAAG,IAAI,CAACA,YAAY,CAACF,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACG,aAAa,GAAG,IAAI,CAACA,aAAa,CAACH,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACI,YAAY,GAAG,IAAI,CAACA,YAAY,CAACJ,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACK,cAAc,GAAG,IAAI,CAACA,cAAc,CAACL,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACM,WAAW,GAAG,IAAI,CAACA,WAAW,CAACN,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACO,YAAY,GAAG,IAAI,CAACA,YAAY,CAACP,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACQ,SAAS,GAAG,IAAI,CAACA,SAAS,CAACR,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,CAACS,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACT,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACU,YAAY,GAAG,IAAI,CAACA,YAAY,CAACV,IAAI,CAAC,IAAI,CAAC;EAClD;EAEQT,eAAeA,CAAA,EAAS;IAC9B,MAAM;MAAEoB,OAAO;MAAElB;IAAmB,CAAC,GAAG,IAAI,CAACJ,KAAK;;IAElD;IACA,IAAIsB,OAAO,IAAIA,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;MACjCC,OAAO,CAACC,IAAI,CACV,gCAAgCH,OAAO,CAACC,MAAM,yDAChD,CAAC;IACH;;IAEA;IACA,IAAID,OAAO,EAAE;MACXA,OAAO,CAACI,OAAO,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;QACjC,IAAID,MAAM,KAAK,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;UACnD,IAAIA,MAAM,IAAI,CAAC,IAAIA,MAAM,GAAG,CAAC,EAAE;YAC7BH,OAAO,CAACC,IAAI,CACV,8BAA8BG,KAAK,KAAKD,MAAM,kDAChD,CAAC;UACH;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;IACA,IAAIvB,kBAAkB,KAAKC,SAAS,IAAID,kBAAkB,IAAI,CAAC,EAAE;MAC/D,MAAMyB,aAAa,GAAGC,IAAI,CAACC,GAAG,CAACT,OAAO,EAAEC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;MACzD,IAAInB,kBAAkB,IAAIyB,aAAa,EAAE;QACvC,MAAM,IAAInC,KAAK,CACb,kCAAkCU,kBAAkB,yCAAyCyB,aAAa,UAC5G,CAAC;MACH;IACF;EACF;EAEA,OAAeG,WAAWA,CAACC,IAAY,EAAE;IACvC,MAAMC,QAAQ,GAAGvC,SAAS,CAACE,SAAS,CAACoC,IAAI,CAAC;IAC1C,IAAI,CAACC,QAAQ,EAAE;MACbV,OAAO,CAACC,IAAI,CAAC,gDAAgDQ,IAAI,0BAA0B,CAAC;MAC5F;IACF;IAEA,OAAOC,QAAQ;EACjB;EAEA,IAAYC,MAAMA,CAAA,EAAW;IAC3B,MAAMC,UAAU,GAAGnD,cAAc,CAAC,IAAI,CAACgB,SAAS,CAACoC,OAAO,CAAC;IACzD,IAAID,UAAU,IAAI,IAAI,IAAIA,UAAU,KAAK,CAAC,CAAC,EAAE;MAC3C,MAAM,IAAI1C,KAAK,CAAC,+BAA+B,CAAC;IAClD;IAEA,OAAO0C,UAAU;EACnB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBE,OAAOA,CAACL,IAAY,EAAEL,KAAa,GAAG,CAAC,EAAiB;IAC1E,MAAMM,QAAQ,GAAGvC,SAAS,CAACqC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIxC,KAAK,CAAC,oBAAoBuC,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACI,OAAO,CAACV,KAAK,CAAC;EAChC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,aAAoBW,OAAOA,CAACN,IAAY,EAAiB;IACvD,MAAMC,QAAQ,GAAGvC,SAAS,CAACqC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIxC,KAAK,CAAC,oBAAoBuC,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACK,OAAO,CAAC,CAAC;EAC3B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAoBC,MAAMA,CAACP,IAAY,EAAEL,KAAa,EAAiB;IACrE,MAAMM,QAAQ,GAAGvC,SAAS,CAACqC,WAAW,CAACC,IAAI,CAAC;IAC5C,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIxC,KAAK,CAAC,oBAAoBuC,IAAI,aAAa,CAAC;IACxD;IAEA,OAAOC,QAAQ,CAACM,MAAM,CAACZ,KAAK,CAAC;EAC/B;EAEQa,gBAAgBA,CAAA,EAAS;IAC/B,IAAI,IAAI,CAACzC,KAAK,CAACiC,IAAI,EAAE;MACnBtC,SAAS,CAACE,SAAS,CAAC,IAAI,CAACG,KAAK,CAACiC,IAAI,CAAC,GAAG,IAAI;IAC7C;EACF;EAEQS,kBAAkBA,CAAA,EAAS;IACjC,IAAI,IAAI,CAAC1C,KAAK,CAACiC,IAAI,EAAE;MACnB,OAAOtC,SAAS,CAACE,SAAS,CAAC,IAAI,CAACG,KAAK,CAACiC,IAAI,CAAC;IAC7C;EACF;EAEQjB,cAAcA,CAAC2B,KAAwB,EAAQ;IACrD,IAAI,CAAC3C,KAAK,CAACgB,cAAc,GAAG2B,KAAK,CAAC;EACpC;EAEQ7B,aAAaA,CAAC6B,KAAuB,EAAQ;IACnD,IAAI,CAAC3C,KAAK,CAACc,aAAa,GAAG6B,KAAK,CAAC;EACnC;EAEQ5B,YAAYA,CAAC4B,KAAsB,EAAQ;IACjD,IAAI,CAAC3C,KAAK,CAACe,YAAY,GAAG4B,KAAK,CAAC;EAClC;EAEQ/B,aAAaA,CAAC+B,KAAuB,EAAQ;IACnD,IAAI,CAAC3C,KAAK,CAACY,aAAa,GAAG+B,KAAK,CAAC;EACnC;EAEQ9B,YAAYA,CAAC8B,KAAsB,EAAQ;IACjD;IACA,IAAI,CAACC,QAAQ,CAAC;MAAErC,sBAAsB,EAAE;IAAM,CAAC,CAAC;IAChD,IAAI,CAACP,KAAK,CAACa,YAAY,GAAG8B,KAAK,CAAC;EAClC;EAEQjC,OAAOA,CAACiC,KAAiB,EAAQ;IACvC;IACA,IAAI,IAAI,CAAC7C,oBAAoB,EAAE;MAC7B,IAAI,CAACA,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAACA,oBAAoB,GAAG,IAAI;IAClC;IAEA,IAAI,CAACE,KAAK,CAACU,OAAO,GAAGiC,KAAK,CAAC;EAC7B;EAEQ1B,WAAWA,CAAC0B,KAAqB,EAAQ;IAC/C,IAAI,CAAC3C,KAAK,CAACiB,WAAW,GAAG0B,KAAK,CAAC;EACjC;EAEQzB,YAAYA,CAACyB,KAAsB,EAAQ;IACjD,IAAI,CAAC3C,KAAK,CAACkB,YAAY,GAAGyB,KAAK,CAAC;EAClC;EAEQxB,SAASA,CAACwB,KAAmB,EAAQ;IAC3C,IAAI,CAAC3C,KAAK,CAACmB,SAAS,GAAGwB,KAAK,CAAC;EAC/B;EAEQvB,gBAAgBA,CAACuB,KAA0B,EAAQ;IACzD,IAAI,CAAC3C,KAAK,CAACoB,gBAAgB,GAAGuB,KAAK,CAAC;EACtC;EAEQtB,YAAYA,CAACsB,KAAsB,EAAQ;IACjD,MAAM;MAAEE,KAAK;MAAEC;IAAO,CAAC,GAAGH,KAAK,CAACI,WAAW;;IAE3C;IACA,IAAI,CAACH,QAAQ,CAAC;MACZpC,cAAc,EAAEqC,KAAK;MACrBpC,eAAe,EAAEqC;IACnB,CAAC,CAAC;;IAEF;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAaR,OAAOA,CAACV,KAAa,GAAG,CAAC,EAAiB;IACrD,MAAMC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,CAAC/B,KAAK,CAACsB,OAAO,EAAEC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,IAAIK,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAIC,aAAa,EAAE;MACvC,MAAM,IAAInC,KAAK,CACb,6BAA6BkC,KAAK,yCAAyCC,aAAa,UAC1F,CAAC;IACH;;IAEA;IACA,IAAI,CAAC,IAAI,CAACvB,KAAK,CAACC,sBAAsB,EAAE;MACtC,MAAM,IAAIyC,OAAO,CAAQC,OAAO,IAAK;QACnC,IAAI,CAACnD,oBAAoB,GAAGmD,OAAO;QACnC,IAAI,CAACL,QAAQ,CAAC;UAAErC,sBAAsB,EAAE;QAAK,CAAC,CAAC;MACjD,CAAC,CAAC;IACJ;IAEA,OAAO1B,eAAe,EAAEqE,YAAY,CAAC,IAAI,CAACf,MAAM,EAAEP,KAAK,CAAC;EAC1D;;EAEA;AACF;AACA;AACA;EACE,MAAaY,MAAMA,CAACZ,KAAa,EAAiB;IAChD,MAAM,IAAI,CAACU,OAAO,CAACV,KAAK,CAAC;EAC3B;;EAEA;AACF;AACA;EACE,MAAaW,OAAOA,CAAA,EAAkB;IACpC,OAAO1D,eAAe,EAAEsE,YAAY,CAAC,IAAI,CAAChB,MAAM,CAAC;EACnD;EAEAiB,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACX,gBAAgB,CAAC,CAAC;EACzB;EAEAY,kBAAkBA,CAACC,SAAyB,EAAQ;IAClD,IAAI,CAACb,gBAAgB,CAAC,CAAC;;IAEvB;IACA,IAAIa,SAAS,CAAChC,OAAO,KAAK,IAAI,CAACtB,KAAK,CAACsB,OAAO,EAAE;MAC5C,IAAI,CAACpB,eAAe,CAAC,CAAC;IACxB;EACF;EAEAqD,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACb,kBAAkB,CAAC,CAAC;;IAEzB;IACA,IAAI,CAAC5C,oBAAoB,GAAG,IAAI;EAClC;EAEA0D,MAAMA,CAAA,EAAc;IAClB,MAAM;MACJlC,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;MAClBmC,eAAe;MACfC,WAAW,GAAG,IAAI;MAClBC,OAAO,GAAG,IAAI;MACdC,MAAM,GAAG,IAAI;MACbxD,kBAAkB,GAAG,CAAC,CAAC;MACvByD,qBAAqB,GAAG,IAAI;MAC5BC,YAAY,GAAG,QAAQ;MACvBC,iBAAiB;MACjBC,QAAQ;MACRC,YAAY;MACZC,SAAS;MACTC,oBAAoB;MACpBC,aAAa,GAAG,KAAK;MACrBC,UAAU,GAAG,IAAI;MACjBC,QAAQ;MACRC,KAAK;MACLC,MAAM;MACNC;IACF,CAAC,GAAG,IAAI,CAACzE,KAAK;;IAEd;IACA,MAAM0E,eAAe,GAAGpD,OAAO,CAACqD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,GAAG,CAAEjD,MAAM,IAAK;MAC1D,IAAIA,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;;MAEjD;MACA,IAAIA,MAAM,IAAI,CAAC,EAAE,OAAO,GAAG;;MAE3B;MACA,OAAOG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,MAAM,CAAC;IAC5B,CAAC,CAAC;IAEF,oBACExC,IAAA,CAACV,4BAA4B;MAC3BoG,GAAG,EAAE,IAAI,CAAC5E,SAAU;MACpBsE,KAAK,EAAEO,MAAM,CAACC,SAAU;MACxBzD,OAAO,EAAEoD,eAAgB;MACzBV,QAAQ,EAAEA,QAAS;MACnBgB,UAAU,EAAGjG,YAAY,CAAC0E,eAAe,CAAC,IAAe,CAAE;MAC3DQ,YAAY,EAAEA,YAAa;MAC3BN,OAAO,EAAEA,OAAQ;MACjBC,MAAM,EAAEA,MAAO;MACfG,iBAAiB,EAAEA,iBAAkB;MACrCD,YAAY,EAAEA,YAAa;MAC3B1D,kBAAkB,EAAEA,kBAAmB;MACvCyD,qBAAqB,EAAEA,qBAAsB;MAC7CH,WAAW,EAAEA,WAAY;MACzBQ,SAAS,EAAEA,SAAU;MACrBC,oBAAoB,EAAEA,oBAAqB;MAC3CC,aAAa,EAAEA,aAAc;MAC7BC,UAAU,EAAEA,UAAW;MACvB3D,OAAO,EAAE,IAAI,CAACA,OAAQ;MACtBI,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCH,aAAa,EAAE,IAAI,CAACA,aAAc;MAClCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCG,cAAc,EAAE,IAAI,CAACA,cAAe;MACpCC,WAAW,EAAE,IAAI,CAACA,WAAY;MAC9BC,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCC,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BC,gBAAgB,EAAE,IAAI,CAACA,gBAAiB;MACxCC,YAAY,EAAE,IAAI,CAACA,YAAa;MAAAiD,QAAA,EAE/B,IAAI,CAAChE,KAAK,CAACC,sBAAsB,iBAChClB,KAAA,CAACX,qCAAqC;QACpC+F,MAAM,EAAEA,MAAO;QACfF,KAAK,EAAE;UACL1B,KAAK,EAAE,IAAI,CAACvC,KAAK,CAACE,cAAc;UAChCsC,MAAM,EAAE,IAAI,CAACxC,KAAK,CAACG;QACrB,CAAE;QACFwE,WAAW,EAAE,KAAM;QAAAX,QAAA,gBAEnBnF,IAAA,CAACR,mCAAmC;UAAC4F,KAAK,EAAEA,KAAM;UAACU,WAAW,EAAE,KAAM;UAAAX,QAAA,EACnEA;QAAQ,CAC0B,CAAC,EACrCE,MAAM,iBACLrF,IAAA,CAACP,kCAAkC;UAAC2F,KAAK,EAAEO,MAAM,CAACN,MAAO;UAACS,WAAW,EAAE,KAAM;UAAAX,QAAA,EAC1E,aAAA/F,cAAc,CAACiG,MAAM,CAAC,GAAGA,MAAM,gBAAGhG,aAAa,CAACgG,MAAM;QAAC,CACtB,CACrC;MAAA,CACoC;IACxC,CAC2B,CAAC;EAEnC;AACF;AAEA,MAAMM,MAAM,GAAG9F,UAAU,CAACkG,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,QAAQ,EAAE,UAAU;IACpBtC,KAAK,EAAE,MAAM;IACbuC,MAAM,EAAE,CAAC;EACX,CAAC;EACDZ,MAAM,EAAE;IACNW,QAAQ,EAAE,UAAU;IACpBE,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","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","width","zIndex","left","right"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,4 +5,6 @@ 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', {});
8
+ export default codegenNativeComponent<NativeProps>('TrueSheetContainerView', {
9
+ interfaceOnly: true,
10
+ });
@@ -19,11 +19,6 @@ export interface PositionChangeEventPayload {
19
19
  transitioning: boolean;
20
20
  }
21
21
 
22
- export interface SizeChangeEventPayload {
23
- width: Double;
24
- height: Double;
25
- }
26
-
27
22
  export interface NativeProps extends ViewProps {
28
23
  // Array properties
29
24
  detents?: ReadonlyArray<Float>;
@@ -59,7 +54,6 @@ export interface NativeProps extends ViewProps {
59
54
  onDragChange?: DirectEventHandler<DetentInfoEventPayload>;
60
55
  onDragEnd?: DirectEventHandler<DetentInfoEventPayload>;
61
56
  onPositionChange?: DirectEventHandler<PositionChangeEventPayload>;
62
- onSizeChange?: DirectEventHandler<SizeChangeEventPayload>;
63
57
  }
64
58
 
65
59
  export default codegenNativeComponent<NativeProps>('TrueSheetView');
@@ -2,8 +2,6 @@ import { PureComponent, type ReactNode } from 'react';
2
2
  import type { TrueSheetProps } from './TrueSheet.types';
3
3
  interface TrueSheetState {
4
4
  shouldRenderNativeView: boolean;
5
- containerWidth?: number;
6
- containerHeight?: number;
7
5
  }
8
6
  export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
9
7
  displayName: string;
@@ -55,7 +53,6 @@ export declare class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetSt
55
53
  private onDragChange;
56
54
  private onDragEnd;
57
55
  private onPositionChange;
58
- private onSizeChange;
59
56
  /**
60
57
  * Present the Sheet by `index` (Promise-based)
61
58
  * @param index - Detent index (default: 0)
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,mBAAmB,CAAC;AAuB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IA8BjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E;;;;;OAKG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CAuFpB"}
1
+ {"version":3,"file":"TrueSheet.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,cAAc,EAWf,MAAM,mBAAmB,CAAC;AAuB3B,UAAU,cAAc;IACtB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,WAAW,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IAExD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAEtE;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,KAAK,EAAE,cAAc;IA2BjC,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,KAAK,MAAM,GAOjB;IAED;;;;;;OAMG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E;;;;;OAKG;WACiB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD;;;;;;OAMG;WACiB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACU,OAAO,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD;;;OAGG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASnD,oBAAoB,IAAI,IAAI;IAO5B,MAAM,IAAI,SAAS;CA+EpB"}
@@ -28,19 +28,6 @@ export type DragBeginEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
28
28
  export type DragChangeEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
29
29
  export type DragEndEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
30
30
  export type PositionChangeEvent = NativeSyntheticEvent<PositionChangeEventPayload>;
31
- /**
32
- * Internal event payload for size changes (not exposed to users)
33
- * @internal
34
- */
35
- export interface SizeChangeEventPayload {
36
- width: number;
37
- height: number;
38
- }
39
- /**
40
- * Internal event type for size changes (not exposed to users)
41
- * @internal
42
- */
43
- export type SizeChangeEvent = NativeSyntheticEvent<SizeChangeEventPayload>;
44
31
  /**
45
32
  * Blur style mapped to native values in IOS.
46
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC7E,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACzD,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAC3E,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,MAAM,GACN,SAAS,GACT,aAAa,GACb,SAAS,GACT,WAAW,GACX,4BAA4B,GAC5B,sBAAsB,GACtB,iBAAiB,GACjB,uBAAuB,GACvB,wBAAwB,GACxB,kCAAkC,GAClC,4BAA4B,GAC5B,uBAAuB,GACvB,6BAA6B,GAC7B,8BAA8B,GAC9B,iCAAiC,GACjC,2BAA2B,GAC3B,sBAAsB,GACtB,4BAA4B,GAC5B,6BAA6B,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,WAAW;AACrB;;;;;;GAMG;AACD,MAAM;AAER;;;;;;GAMG;GACD,MAAM,CAAC;AAEX,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAE7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IAE/C;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAElD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAEhD;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAElD;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAEhD;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEpD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAE9C;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAEhD;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAE1C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACzD"}
1
+ {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
@@ -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,wBAAiF"}
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"}
@@ -9,10 +9,6 @@ export interface PositionChangeEventPayload {
9
9
  position: Double;
10
10
  transitioning: boolean;
11
11
  }
12
- export interface SizeChangeEventPayload {
13
- width: Double;
14
- height: Double;
15
- }
16
12
  export interface NativeProps extends ViewProps {
17
13
  detents?: ReadonlyArray<Float>;
18
14
  maxHeight?: WithDefault<Double, 0>;
@@ -39,7 +35,6 @@ export interface NativeProps extends ViewProps {
39
35
  onDragChange?: DirectEventHandler<DetentInfoEventPayload>;
40
36
  onDragEnd?: DirectEventHandler<DetentInfoEventPayload>;
41
37
  onPositionChange?: DirectEventHandler<PositionChangeEventPayload>;
42
- onSizeChange?: DirectEventHandler<SizeChangeEventPayload>;
43
38
  }
44
39
  declare const _default: import("react-native").HostComponent<NativeProps>;
45
40
  export default _default;
@@ -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,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;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;IAClE,YAAY,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;CAC3D;;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,wBAAoE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.0.0-beta.4",
3
+ "version": "3.0.0-beta.5",
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",
@@ -2,7 +2,10 @@ module.exports = {
2
2
  dependency: {
3
3
  platforms: {
4
4
  ios: {},
5
- android: {},
5
+ android: {
6
+ componentDescriptors: ['TrueSheetContainerViewComponentDescriptor'],
7
+ cmakeListsPath: '../android/src/main/jni/CMakeLists.txt',
8
+ },
6
9
  },
7
10
  },
8
11
  dependencies: {
@@ -14,4 +17,4 @@ module.exports = {
14
17
  },
15
18
  },
16
19
  },
17
- }
20
+ };
package/src/TrueSheet.tsx CHANGED
@@ -20,7 +20,6 @@ import type {
20
20
  DidDismissEvent,
21
21
  WillDismissEvent,
22
22
  MountEvent,
23
- SizeChangeEvent,
24
23
  } from './TrueSheet.types';
25
24
  import TrueSheetViewNativeComponent from './fabric/TrueSheetViewNativeComponent';
26
25
  import TrueSheetContainerViewNativeComponent from './fabric/TrueSheetContainerViewNativeComponent';
@@ -46,8 +45,6 @@ type NativeRef = ComponentRef<typeof TrueSheetViewNativeComponent>;
46
45
 
47
46
  interface TrueSheetState {
48
47
  shouldRenderNativeView: boolean;
49
- containerWidth?: number;
50
- containerHeight?: number;
51
48
  }
52
49
 
53
50
  export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
@@ -78,8 +75,6 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
78
75
 
79
76
  this.state = {
80
77
  shouldRenderNativeView: shouldRenderImmediately,
81
- containerWidth: undefined,
82
- containerHeight: undefined,
83
78
  };
84
79
 
85
80
  this.onMount = this.onMount.bind(this);
@@ -92,7 +87,6 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
92
87
  this.onDragChange = this.onDragChange.bind(this);
93
88
  this.onDragEnd = this.onDragEnd.bind(this);
94
89
  this.onPositionChange = this.onPositionChange.bind(this);
95
- this.onSizeChange = this.onSizeChange.bind(this);
96
90
  }
97
91
 
98
92
  private validateDetents(): void {
@@ -255,18 +249,6 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
255
249
  this.props.onPositionChange?.(event);
256
250
  }
257
251
 
258
- private onSizeChange(event: SizeChangeEvent): void {
259
- const { width, height } = event.nativeEvent;
260
-
261
- // Update container view dimensions in state
262
- this.setState({
263
- containerWidth: width,
264
- containerHeight: height,
265
- });
266
-
267
- // Internal handler only - not exposed to users
268
- }
269
-
270
252
  /**
271
253
  * Present the Sheet by `index` (Promise-based)
272
254
  * @param index - Detent index (default: 0)
@@ -388,17 +370,9 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
388
370
  onDragChange={this.onDragChange}
389
371
  onDragEnd={this.onDragEnd}
390
372
  onPositionChange={this.onPositionChange}
391
- onSizeChange={this.onSizeChange}
392
373
  >
393
374
  {this.state.shouldRenderNativeView && (
394
- <TrueSheetContainerViewNativeComponent
395
- testID={testID}
396
- style={{
397
- width: this.state.containerWidth,
398
- height: this.state.containerHeight,
399
- }}
400
- collapsable={false}
401
- >
375
+ <TrueSheetContainerViewNativeComponent testID={testID} collapsable={false}>
402
376
  <TrueSheetContentViewNativeComponent style={style} collapsable={false}>
403
377
  {children}
404
378
  </TrueSheetContentViewNativeComponent>
@@ -33,21 +33,6 @@ export type DragChangeEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
33
33
  export type DragEndEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
34
34
  export type PositionChangeEvent = NativeSyntheticEvent<PositionChangeEventPayload>;
35
35
 
36
- /**
37
- * Internal event payload for size changes (not exposed to users)
38
- * @internal
39
- */
40
- export interface SizeChangeEventPayload {
41
- width: number;
42
- height: number;
43
- }
44
-
45
- /**
46
- * Internal event type for size changes (not exposed to users)
47
- * @internal
48
- */
49
- export type SizeChangeEvent = NativeSyntheticEvent<SizeChangeEventPayload>;
50
-
51
36
  /**
52
37
  * Blur style mapped to native values in IOS.
53
38
  *
@@ -5,4 +5,6 @@ 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', {});
8
+ export default codegenNativeComponent<NativeProps>('TrueSheetContainerView', {
9
+ interfaceOnly: true,
10
+ });
@@ -19,11 +19,6 @@ export interface PositionChangeEventPayload {
19
19
  transitioning: boolean;
20
20
  }
21
21
 
22
- export interface SizeChangeEventPayload {
23
- width: Double;
24
- height: Double;
25
- }
26
-
27
22
  export interface NativeProps extends ViewProps {
28
23
  // Array properties
29
24
  detents?: ReadonlyArray<Float>;
@@ -59,7 +54,6 @@ export interface NativeProps extends ViewProps {
59
54
  onDragChange?: DirectEventHandler<DetentInfoEventPayload>;
60
55
  onDragEnd?: DirectEventHandler<DetentInfoEventPayload>;
61
56
  onPositionChange?: DirectEventHandler<PositionChangeEventPayload>;
62
- onSizeChange?: DirectEventHandler<SizeChangeEventPayload>;
63
57
  }
64
58
 
65
59
  export default codegenNativeComponent<NativeProps>('TrueSheetView');
@@ -1,27 +0,0 @@
1
- package com.lodev09.truesheet.events
2
-
3
- import com.facebook.react.bridge.Arguments
4
- import com.facebook.react.bridge.WritableMap
5
- import com.facebook.react.uimanager.PixelUtil
6
- import com.facebook.react.uimanager.events.Event
7
-
8
- /**
9
- * Fired when the root view's size changes
10
- * Payload: { width: number, height: number }
11
- */
12
- class SizeChangeEvent(surfaceId: Int, viewId: Int, private val width: Int, private val height: Int) :
13
- Event<SizeChangeEvent>(surfaceId, viewId) {
14
-
15
- override fun getEventName(): String = EVENT_NAME
16
-
17
- override fun getEventData(): WritableMap =
18
- Arguments.createMap().apply {
19
- putDouble("width", PixelUtil.toDIPFromPixel(width.toFloat()).toDouble())
20
- putDouble("height", PixelUtil.toDIPFromPixel(height.toFloat()).toDouble())
21
- }
22
-
23
- companion object {
24
- const val EVENT_NAME = "topSizeChange"
25
- const val REGISTRATION_NAME = "onSizeChange"
26
- }
27
- }
@@ -1,28 +0,0 @@
1
- //
2
- // Created by Jovanni Lo (@lodev09)
3
- // Copyright (c) 2024-present. All rights reserved.
4
- //
5
- // This source code is licensed under the MIT license found in the
6
- // LICENSE file in the root directory of this source tree.
7
- //
8
-
9
- #ifdef RCT_NEW_ARCH_ENABLED
10
-
11
- #import <Foundation/Foundation.h>
12
- #import <react/renderer/components/TrueSheetSpec/EventEmitters.h>
13
-
14
- using namespace facebook::react;
15
-
16
- NS_ASSUME_NONNULL_BEGIN
17
-
18
- @interface OnSizeChangeEvent : NSObject
19
-
20
- + (void)emit:(std::shared_ptr<const facebook::react::EventEmitter>)eventEmitter
21
- width:(CGFloat)width
22
- height:(CGFloat)height;
23
-
24
- @end
25
-
26
- NS_ASSUME_NONNULL_END
27
-
28
- #endif // RCT_NEW_ARCH_ENABLED
@@ -1,30 +0,0 @@
1
- //
2
- // Created by Jovanni Lo (@lodev09)
3
- // Copyright (c) 2024-present. All rights reserved.
4
- //
5
- // This source code is licensed under the MIT license found in the
6
- // LICENSE file in the root directory of this source tree.
7
- //
8
-
9
- #ifdef RCT_NEW_ARCH_ENABLED
10
-
11
- #import "OnSizeChangeEvent.h"
12
-
13
- @implementation OnSizeChangeEvent
14
-
15
- + (void)emit:(std::shared_ptr<const facebook::react::EventEmitter>)eventEmitter
16
- width:(CGFloat)width
17
- height:(CGFloat)height {
18
- if (!eventEmitter)
19
- return;
20
-
21
- auto emitter = std::static_pointer_cast<TrueSheetViewEventEmitter const>(eventEmitter);
22
- TrueSheetViewEventEmitter::OnSizeChange event;
23
- event.width = static_cast<double>(width);
24
- event.height = static_cast<double>(height);
25
- emitter->onSizeChange(event);
26
- }
27
-
28
- @end
29
-
30
- #endif // RCT_NEW_ARCH_ENABLED