@lodev09/react-native-true-sheet 3.0.0-beta.14 → 3.0.0-beta.16
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.
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +6 -5
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +18 -11
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +15 -1
- package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetStateEvents.kt +3 -3
- package/ios/TrueSheetView.mm +10 -6
- package/ios/TrueSheetViewController.h +5 -1
- package/ios/TrueSheetViewController.mm +77 -45
- package/ios/core/TrueSheetBlurView.h +24 -0
- package/ios/{utils/ConversionUtil.mm → core/TrueSheetBlurView.mm} +65 -3
- package/ios/events/TrueSheetStateEvents.h +1 -1
- package/ios/events/TrueSheetStateEvents.mm +2 -2
- package/ios/utils/GestureUtil.h +7 -0
- package/ios/utils/GestureUtil.mm +12 -0
- package/lib/module/TrueSheet.js +2 -0
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/fabric/TrueSheetViewNativeComponent.ts +6 -1
- package/lib/module/reanimated/ReanimatedTrueSheet.js +6 -6
- package/lib/module/reanimated/ReanimatedTrueSheet.js.map +1 -1
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +27 -3
- package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +4 -1
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TrueSheet.tsx +2 -0
- package/src/TrueSheet.types.ts +30 -3
- package/src/fabric/TrueSheetViewNativeComponent.ts +6 -1
- package/src/reanimated/ReanimatedTrueSheet.tsx +6 -6
- package/ios/utils/ConversionUtil.h +0 -24
|
@@ -203,9 +203,9 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
|
|
|
203
203
|
eventDispatcher?.dispatchEvent(DragEndEvent(surfaceId, id, index, position, detent))
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
override fun viewControllerDidChangePosition(index: Float, position: Float, detent: Float,
|
|
206
|
+
override fun viewControllerDidChangePosition(index: Float, position: Float, detent: Float, realtime: Boolean) {
|
|
207
207
|
val surfaceId = UIManagerHelper.getSurfaceId(this)
|
|
208
|
-
eventDispatcher?.dispatchEvent(PositionChangeEvent(surfaceId, id, index, position, detent,
|
|
208
|
+
eventDispatcher?.dispatchEvent(PositionChangeEvent(surfaceId, id, index, position, detent, realtime))
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
override fun viewControllerDidChangeSize(width: Int, height: Int) {
|
|
@@ -273,6 +273,10 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
|
|
|
273
273
|
viewController.dismissible = dismissible
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
+
fun setDraggable(draggable: Boolean) {
|
|
277
|
+
viewController.draggable = draggable
|
|
278
|
+
}
|
|
279
|
+
|
|
276
280
|
fun setGrabber(grabber: Boolean) {
|
|
277
281
|
viewController.grabber = grabber
|
|
278
282
|
}
|
|
@@ -280,9 +284,6 @@ class TrueSheetView(private val reactContext: ThemedReactContext) :
|
|
|
280
284
|
fun setDetents(newDetents: MutableList<Double>) {
|
|
281
285
|
viewController.detents = newDetents
|
|
282
286
|
}
|
|
283
|
-
|
|
284
|
-
fun setBlurTint(tint: String?) {}
|
|
285
|
-
|
|
286
287
|
fun setEdgeToEdgeFullScreen(edgeToEdgeFullScreen: Boolean) {
|
|
287
288
|
viewController.edgeToEdgeFullScreen = edgeToEdgeFullScreen
|
|
288
289
|
}
|
|
@@ -39,7 +39,7 @@ interface TrueSheetViewControllerDelegate {
|
|
|
39
39
|
fun viewControllerDidDragBegin(index: Int, position: Float, detent: Float)
|
|
40
40
|
fun viewControllerDidDragChange(index: Int, position: Float, detent: Float)
|
|
41
41
|
fun viewControllerDidDragEnd(index: Int, position: Float, detent: Float)
|
|
42
|
-
fun viewControllerDidChangePosition(index: Float, position: Float, detent: Float,
|
|
42
|
+
fun viewControllerDidChangePosition(index: Float, position: Float, detent: Float, realtime: Boolean)
|
|
43
43
|
fun viewControllerDidChangeSize(width: Int, height: Int)
|
|
44
44
|
fun viewControllerWillFocus()
|
|
45
45
|
fun viewControllerDidFocus()
|
|
@@ -153,6 +153,12 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
+
var draggable: Boolean = true
|
|
157
|
+
set(value) {
|
|
158
|
+
field = value
|
|
159
|
+
behavior?.isDraggable = value
|
|
160
|
+
}
|
|
161
|
+
|
|
156
162
|
// ====================================================================
|
|
157
163
|
// MARK: - Computed Properties
|
|
158
164
|
// ====================================================================
|
|
@@ -234,6 +240,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
234
240
|
setCanceledOnTouchOutside(dismissible)
|
|
235
241
|
setCancelable(dismissible)
|
|
236
242
|
behavior.isHideable = dismissible
|
|
243
|
+
behavior.isDraggable = draggable
|
|
237
244
|
}
|
|
238
245
|
}
|
|
239
246
|
|
|
@@ -267,7 +274,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
267
274
|
val detent = getDetentValueForIndex(detentInfo.index)
|
|
268
275
|
val positionPx = bottomSheetView?.let { ScreenUtils.getScreenY(it) } ?: screenHeight
|
|
269
276
|
delegate?.viewControllerDidPresent(detentInfo.index, detentInfo.position, detent)
|
|
270
|
-
emitChangePositionDelegate(detentInfo.index, positionPx,
|
|
277
|
+
emitChangePositionDelegate(detentInfo.index, positionPx, realtime = false)
|
|
271
278
|
|
|
272
279
|
// Notify parent sheet that it has lost focus (after this sheet appeared)
|
|
273
280
|
parentSheetView?.viewControllerDidBlur()
|
|
@@ -308,7 +315,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
308
315
|
val positionPx = getCurrentPositionPx(sheetView)
|
|
309
316
|
val detentIndex = getDetentIndexForPosition(positionPx)
|
|
310
317
|
|
|
311
|
-
emitChangePositionDelegate(detentIndex, positionPx,
|
|
318
|
+
emitChangePositionDelegate(detentIndex, positionPx, realtime = true)
|
|
312
319
|
|
|
313
320
|
when (behavior.state) {
|
|
314
321
|
BottomSheetBehavior.STATE_DRAGGING,
|
|
@@ -403,7 +410,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
403
410
|
dialog?.window?.decorView?.visibility = View.INVISIBLE
|
|
404
411
|
|
|
405
412
|
// Emit off-screen position (detent = 0 since sheet is fully hidden)
|
|
406
|
-
emitChangePositionDelegate(currentDetentIndex, screenHeight,
|
|
413
|
+
emitChangePositionDelegate(currentDetentIndex, screenHeight, realtime = false)
|
|
407
414
|
}
|
|
408
415
|
|
|
409
416
|
/**
|
|
@@ -416,7 +423,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
416
423
|
|
|
417
424
|
// Emit current position
|
|
418
425
|
val positionPx = bottomSheetView?.let { ScreenUtils.getScreenY(it) } ?: screenHeight
|
|
419
|
-
emitChangePositionDelegate(currentDetentIndex, positionPx,
|
|
426
|
+
emitChangePositionDelegate(currentDetentIndex, positionPx, realtime = false)
|
|
420
427
|
}
|
|
421
428
|
|
|
422
429
|
// ====================================================================
|
|
@@ -461,7 +468,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
461
468
|
fun dismiss() {
|
|
462
469
|
this.post {
|
|
463
470
|
// Emit off-screen position (detent = 0 since sheet is fully hidden)
|
|
464
|
-
emitChangePositionDelegate(currentDetentIndex, screenHeight,
|
|
471
|
+
emitChangePositionDelegate(currentDetentIndex, screenHeight, realtime = false)
|
|
465
472
|
}
|
|
466
473
|
dialog?.dismiss()
|
|
467
474
|
}
|
|
@@ -515,7 +522,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
515
522
|
bottomSheet.removeView(it)
|
|
516
523
|
}
|
|
517
524
|
|
|
518
|
-
if (!grabber) return
|
|
525
|
+
if (!grabber || !draggable) return
|
|
519
526
|
|
|
520
527
|
val grabberView = View(reactContext).apply {
|
|
521
528
|
tag = GRABBER_TAG
|
|
@@ -635,16 +642,16 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
635
642
|
* Emits position change to the delegate if the position has changed.
|
|
636
643
|
* @param index The current detent index (discrete, used as fallback)
|
|
637
644
|
* @param positionPx The current position in pixels (screen Y coordinate)
|
|
638
|
-
* @param
|
|
645
|
+
* @param realtime Whether the position is a real-time value (during drag or animation tracking)
|
|
639
646
|
*/
|
|
640
|
-
private fun emitChangePositionDelegate(index: Int, positionPx: Int,
|
|
647
|
+
private fun emitChangePositionDelegate(index: Int, positionPx: Int, realtime: Boolean) {
|
|
641
648
|
if (positionPx == lastEmittedPositionPx) return
|
|
642
649
|
|
|
643
650
|
lastEmittedPositionPx = positionPx
|
|
644
651
|
val position = positionPx.pxToDp()
|
|
645
652
|
val interpolatedIndex = getInterpolatedIndexForPosition(positionPx)
|
|
646
653
|
val detent = getDetentValueForIndex(kotlin.math.round(interpolatedIndex).toInt())
|
|
647
|
-
delegate?.viewControllerDidChangePosition(interpolatedIndex, position, detent,
|
|
654
|
+
delegate?.viewControllerDidChangePosition(interpolatedIndex, position, detent, realtime)
|
|
648
655
|
}
|
|
649
656
|
|
|
650
657
|
/**
|
|
@@ -863,7 +870,7 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) :
|
|
|
863
870
|
this.post {
|
|
864
871
|
positionFooter()
|
|
865
872
|
val positionPx = bottomSheetView?.let { ScreenUtils.getScreenY(it) } ?: screenHeight
|
|
866
|
-
emitChangePositionDelegate(currentDetentIndex, positionPx,
|
|
873
|
+
emitChangePositionDelegate(currentDetentIndex, positionPx, realtime = false)
|
|
867
874
|
}
|
|
868
875
|
}
|
|
869
876
|
}
|
|
@@ -114,6 +114,11 @@ class TrueSheetViewManager :
|
|
|
114
114
|
view.setDismissible(dismissible)
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
+
@ReactProp(name = "draggable", defaultBoolean = true)
|
|
118
|
+
override fun setDraggable(view: TrueSheetView, draggable: Boolean) {
|
|
119
|
+
view.setDraggable(draggable)
|
|
120
|
+
}
|
|
121
|
+
|
|
117
122
|
@ReactProp(name = "dimmed", defaultBoolean = true)
|
|
118
123
|
override fun setDimmed(view: TrueSheetView, dimmed: Boolean) {
|
|
119
124
|
view.setDimmed(dimmed)
|
|
@@ -153,7 +158,16 @@ class TrueSheetViewManager :
|
|
|
153
158
|
@ReactProp(name = "blurTint")
|
|
154
159
|
override fun setBlurTint(view: TrueSheetView, tint: String?) {
|
|
155
160
|
// iOS-specific prop - no-op on Android
|
|
156
|
-
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@ReactProp(name = "blurIntensity", defaultDouble = 1.0)
|
|
164
|
+
override fun setBlurIntensity(view: TrueSheetView, value: Double) {
|
|
165
|
+
// iOS-specific prop - no-op on Android
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
@ReactProp(name = "blurInteraction", defaultBoolean = false)
|
|
169
|
+
override fun setBlurInteraction(view: TrueSheetView, value: Boolean) {
|
|
170
|
+
// iOS-specific prop - no-op on Android
|
|
157
171
|
}
|
|
158
172
|
|
|
159
173
|
@ReactProp(name = "edgeToEdgeFullScreen", defaultBoolean = false)
|
|
@@ -28,7 +28,7 @@ class DetentChangeEvent(surfaceId: Int, viewId: Int, private val index: Int, pri
|
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Fired continuously for position updates during drag and animation
|
|
31
|
-
* Payload: { index: number, position: number, detent: number,
|
|
31
|
+
* Payload: { index: number, position: number, detent: number, realtime: boolean }
|
|
32
32
|
*/
|
|
33
33
|
class PositionChangeEvent(
|
|
34
34
|
surfaceId: Int,
|
|
@@ -36,7 +36,7 @@ class PositionChangeEvent(
|
|
|
36
36
|
private val index: Float,
|
|
37
37
|
private val position: Float,
|
|
38
38
|
private val detent: Float,
|
|
39
|
-
private val
|
|
39
|
+
private val realtime: Boolean = false
|
|
40
40
|
) : Event<PositionChangeEvent>(surfaceId, viewId) {
|
|
41
41
|
|
|
42
42
|
override fun getEventName(): String = EVENT_NAME
|
|
@@ -46,7 +46,7 @@ class PositionChangeEvent(
|
|
|
46
46
|
putDouble("index", index.toDouble())
|
|
47
47
|
putDouble("position", position.toDouble())
|
|
48
48
|
putDouble("detent", detent.toDouble())
|
|
49
|
-
putBoolean("
|
|
49
|
+
putBoolean("realtime", realtime)
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
companion object {
|
package/ios/TrueSheetView.mm
CHANGED
|
@@ -121,6 +121,12 @@ using namespace facebook::react;
|
|
|
121
121
|
// Blur tint
|
|
122
122
|
_controller.blurTint = !newProps.blurTint.empty() ? RCTNSStringFromString(newProps.blurTint) : nil;
|
|
123
123
|
|
|
124
|
+
// Blur intensity (-1 means use system default)
|
|
125
|
+
_controller.blurIntensity = newProps.blurIntensity >= 0 ? @(newProps.blurIntensity) : nil;
|
|
126
|
+
|
|
127
|
+
// Blur interaction
|
|
128
|
+
_controller.blurInteraction = newProps.blurInteraction;
|
|
129
|
+
|
|
124
130
|
// Corner radius
|
|
125
131
|
_controller.cornerRadius = newProps.cornerRadius < 0 ? nil : @(newProps.cornerRadius);
|
|
126
132
|
|
|
@@ -132,6 +138,7 @@ using namespace facebook::react;
|
|
|
132
138
|
_controller.grabber = newProps.grabber;
|
|
133
139
|
_controller.pageSizing = newProps.pageSizing;
|
|
134
140
|
_controller.modalInPresentation = !newProps.dismissible;
|
|
141
|
+
_controller.draggable = newProps.draggable;
|
|
135
142
|
_controller.dimmed = newProps.dimmed;
|
|
136
143
|
|
|
137
144
|
if (newProps.dimmedDetentIndex >= 0) {
|
|
@@ -187,6 +194,7 @@ using namespace facebook::react;
|
|
|
187
194
|
[self->_controller setupSheetDetents];
|
|
188
195
|
[self->_controller applyActiveDetent];
|
|
189
196
|
}];
|
|
197
|
+
[_controller updateDraggable];
|
|
190
198
|
} else if (_initialDetentIndex >= 0) {
|
|
191
199
|
[self presentAtIndex:_initialDetentIndex animated:_initialDetentAnimated completion:nil];
|
|
192
200
|
}
|
|
@@ -417,12 +425,8 @@ using namespace facebook::react;
|
|
|
417
425
|
- (void)viewControllerDidChangePosition:(CGFloat)index
|
|
418
426
|
position:(CGFloat)position
|
|
419
427
|
detent:(CGFloat)detent
|
|
420
|
-
|
|
421
|
-
[TrueSheetStateEvents emitPositionChange:_eventEmitter
|
|
422
|
-
index:index
|
|
423
|
-
position:position
|
|
424
|
-
detent:detent
|
|
425
|
-
transitioning:transitioning];
|
|
428
|
+
realtime:(BOOL)realtime {
|
|
429
|
+
[TrueSheetStateEvents emitPositionChange:_eventEmitter index:index position:position detent:detent realtime:realtime];
|
|
426
430
|
}
|
|
427
431
|
|
|
428
432
|
- (void)viewControllerDidChangeSize:(CGSize)size {
|
|
@@ -28,7 +28,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
28
28
|
- (void)viewControllerDidChangePosition:(CGFloat)index
|
|
29
29
|
position:(CGFloat)position
|
|
30
30
|
detent:(CGFloat)detent
|
|
31
|
-
|
|
31
|
+
realtime:(BOOL)realtime;
|
|
32
32
|
- (void)viewControllerDidChangeSize:(CGSize)size;
|
|
33
33
|
- (void)viewControllerWillFocus;
|
|
34
34
|
- (void)viewControllerDidFocus;
|
|
@@ -52,9 +52,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
52
52
|
@property (nonatomic, strong, nullable) UIColor *backgroundColor;
|
|
53
53
|
@property (nonatomic, strong, nullable) NSNumber *cornerRadius;
|
|
54
54
|
@property (nonatomic, assign) BOOL grabber;
|
|
55
|
+
@property (nonatomic, assign) BOOL draggable;
|
|
55
56
|
@property (nonatomic, assign) BOOL dimmed;
|
|
56
57
|
@property (nonatomic, strong, nullable) NSNumber *dimmedDetentIndex;
|
|
57
58
|
@property (nonatomic, copy, nullable) NSString *blurTint;
|
|
59
|
+
@property (nonatomic, strong, nullable) NSNumber *blurIntensity;
|
|
60
|
+
@property (nonatomic, assign) BOOL blurInteraction;
|
|
58
61
|
@property (nonatomic, assign) BOOL pageSizing;
|
|
59
62
|
@property (nonatomic, assign) BOOL layoutTransitioning;
|
|
60
63
|
@property (nonatomic, assign) BOOL isPresented;
|
|
@@ -64,6 +67,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
64
67
|
- (void)setupActiveDetentWithIndex:(NSInteger)index;
|
|
65
68
|
- (void)setupSheetDetents;
|
|
66
69
|
- (void)setupSheetProps;
|
|
70
|
+
- (void)updateDraggable;
|
|
67
71
|
- (NSInteger)currentDetentIndex;
|
|
68
72
|
- (CGFloat)currentPosition;
|
|
69
73
|
- (CGFloat)bottomInset;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
#import "TrueSheetViewController.h"
|
|
10
10
|
#import "TrueSheetContentView.h"
|
|
11
|
-
#import "
|
|
11
|
+
#import "core/TrueSheetBlurView.h"
|
|
12
12
|
#import "utils/GestureUtil.h"
|
|
13
13
|
#import "utils/WindowUtil.h"
|
|
14
14
|
|
|
@@ -21,10 +21,8 @@
|
|
|
21
21
|
|
|
22
22
|
@implementation TrueSheetViewController {
|
|
23
23
|
CGFloat _lastPosition;
|
|
24
|
-
CGFloat _lastTransitionPosition;
|
|
25
24
|
BOOL _isTransitioning;
|
|
26
25
|
BOOL _isDragging;
|
|
27
|
-
BOOL _isTrackingPositionFromLayout;
|
|
28
26
|
|
|
29
27
|
// Hidden view used to track position during native transition animations
|
|
30
28
|
UIView *_fakeTransitionView;
|
|
@@ -32,6 +30,9 @@
|
|
|
32
30
|
|
|
33
31
|
// Reference to parent TrueSheetViewController (if presented from another sheet)
|
|
34
32
|
__weak TrueSheetViewController *_parentSheetController;
|
|
33
|
+
|
|
34
|
+
// Blur effect view
|
|
35
|
+
TrueSheetBlurView *_blurView;
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
#pragma mark - Initialization
|
|
@@ -42,14 +43,13 @@
|
|
|
42
43
|
_contentHeight = @(0);
|
|
43
44
|
_headerHeight = @(0);
|
|
44
45
|
_grabber = YES;
|
|
46
|
+
_draggable = YES;
|
|
45
47
|
_dimmed = YES;
|
|
46
48
|
_dimmedDetentIndex = @(0);
|
|
47
49
|
_pageSizing = YES;
|
|
48
50
|
_lastPosition = 0;
|
|
49
|
-
_lastTransitionPosition = 0;
|
|
50
51
|
_isTransitioning = NO;
|
|
51
52
|
_isDragging = NO;
|
|
52
|
-
_isTrackingPositionFromLayout = NO;
|
|
53
53
|
_layoutTransitioning = NO;
|
|
54
54
|
_isPresented = NO;
|
|
55
55
|
_activeDetentIndex = -1;
|
|
@@ -57,6 +57,8 @@
|
|
|
57
57
|
_fakeTransitionView = [[UIView alloc] init];
|
|
58
58
|
_fakeTransitionView.hidden = YES;
|
|
59
59
|
_fakeTransitionView.userInteractionEnabled = NO;
|
|
60
|
+
|
|
61
|
+
_blurInteraction = YES;
|
|
60
62
|
}
|
|
61
63
|
return self;
|
|
62
64
|
}
|
|
@@ -199,7 +201,6 @@
|
|
|
199
201
|
}
|
|
200
202
|
|
|
201
203
|
[self setupTransitionPositionTracking];
|
|
202
|
-
_isTrackingPositionFromLayout = NO;
|
|
203
204
|
}
|
|
204
205
|
|
|
205
206
|
- (void)viewDidDisappear:(BOOL)animated {
|
|
@@ -222,8 +223,6 @@
|
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
225
|
|
|
225
|
-
_isTrackingPositionFromLayout = NO;
|
|
226
|
-
|
|
227
226
|
if (isActuallyDismissing) {
|
|
228
227
|
_isPresented = NO;
|
|
229
228
|
_activeDetentIndex = -1;
|
|
@@ -237,12 +236,9 @@
|
|
|
237
236
|
[self.delegate viewControllerDidChangeSize:self.view.frame.size];
|
|
238
237
|
}
|
|
239
238
|
|
|
240
|
-
if (!_isTransitioning && self.isActiveAndVisible) {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
// Treat position changes as transitioning when another controller is presented on top
|
|
244
|
-
[self emitChangePositionDelegateWithPosition:self.currentPosition
|
|
245
|
-
transitioning:_layoutTransitioning || !self.isTopmostPresentedController];
|
|
239
|
+
if (!_isTransitioning && !_isDragging && self.isActiveAndVisible) {
|
|
240
|
+
// Not realtime when layout changes (e.g., another controller is presented on top)
|
|
241
|
+
[self emitChangePositionDelegateWithPosition:self.currentPosition realtime:NO];
|
|
246
242
|
|
|
247
243
|
// On iOS 26, this is called twice when we have a ScrollView
|
|
248
244
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
|
@@ -273,6 +269,21 @@
|
|
|
273
269
|
if (!presentedView)
|
|
274
270
|
return;
|
|
275
271
|
|
|
272
|
+
// Disable pan gestures if draggable is NO
|
|
273
|
+
if (!self.draggable) {
|
|
274
|
+
[GestureUtil setPanGesturesEnabled:NO forView:presentedView];
|
|
275
|
+
|
|
276
|
+
// Also disable ScrollView's pan gesture if present
|
|
277
|
+
TrueSheetContentView *contentView = [self findContentView:presentedView];
|
|
278
|
+
if (contentView) {
|
|
279
|
+
RCTScrollViewComponentView *scrollViewComponent = [contentView findScrollView:nil];
|
|
280
|
+
if (scrollViewComponent && scrollViewComponent.scrollView) {
|
|
281
|
+
[GestureUtil setPanGesturesEnabled:NO forView:scrollViewComponent.scrollView];
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
|
|
276
287
|
// Attach to presented view's pan gesture (sheet's drag gesture from UIKit)
|
|
277
288
|
[GestureUtil attachPanGestureHandler:presentedView target:self selector:@selector(handlePanGesture:)];
|
|
278
289
|
|
|
@@ -288,6 +299,23 @@
|
|
|
288
299
|
}
|
|
289
300
|
}
|
|
290
301
|
|
|
302
|
+
- (void)updateDraggable {
|
|
303
|
+
UIView *presentedView = self.presentedView;
|
|
304
|
+
if (!presentedView)
|
|
305
|
+
return;
|
|
306
|
+
|
|
307
|
+
[GestureUtil setPanGesturesEnabled:self.draggable forView:presentedView];
|
|
308
|
+
|
|
309
|
+
// Also update ScrollView's pan gesture if present
|
|
310
|
+
TrueSheetContentView *contentView = [self findContentView:presentedView];
|
|
311
|
+
if (contentView) {
|
|
312
|
+
RCTScrollViewComponentView *scrollViewComponent = [contentView findScrollView:nil];
|
|
313
|
+
if (scrollViewComponent && scrollViewComponent.scrollView) {
|
|
314
|
+
[GestureUtil setPanGesturesEnabled:self.draggable forView:scrollViewComponent.scrollView];
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
291
319
|
- (void)handlePanGesture:(UIPanGestureRecognizer *)gesture {
|
|
292
320
|
NSInteger index = [self currentDetentIndex];
|
|
293
321
|
|
|
@@ -300,14 +328,16 @@
|
|
|
300
328
|
_isDragging = YES;
|
|
301
329
|
break;
|
|
302
330
|
case UIGestureRecognizerStateChanged:
|
|
303
|
-
|
|
304
|
-
[self emitChangePositionDelegateWithPosition:self.currentPosition transitioning:NO];
|
|
305
|
-
}
|
|
331
|
+
[self emitChangePositionDelegateWithPosition:self.currentPosition realtime:YES];
|
|
306
332
|
break;
|
|
307
333
|
case UIGestureRecognizerStateEnded:
|
|
308
|
-
case UIGestureRecognizerStateCancelled:
|
|
309
|
-
|
|
334
|
+
case UIGestureRecognizerStateCancelled: {
|
|
335
|
+
[self emitChangePositionDelegateWithPosition:self.currentPosition realtime:NO];
|
|
336
|
+
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
|
337
|
+
self->_isDragging = NO;
|
|
338
|
+
});
|
|
310
339
|
break;
|
|
340
|
+
}
|
|
311
341
|
default:
|
|
312
342
|
break;
|
|
313
343
|
}
|
|
@@ -315,15 +345,16 @@
|
|
|
315
345
|
|
|
316
346
|
#pragma mark - Position Tracking
|
|
317
347
|
|
|
318
|
-
- (void)emitChangePositionDelegateWithPosition:(CGFloat)position
|
|
319
|
-
|
|
348
|
+
- (void)emitChangePositionDelegateWithPosition:(CGFloat)position realtime:(BOOL)realtime {
|
|
349
|
+
// Use epsilon comparison to avoid missing updates due to floating point precision
|
|
350
|
+
if (fabs(_lastPosition - position) > 0.01) {
|
|
320
351
|
_lastPosition = position;
|
|
321
352
|
|
|
322
353
|
CGFloat index = [self interpolatedIndexForPosition:position];
|
|
323
354
|
NSInteger discreteIndex = (NSInteger)round(index);
|
|
324
355
|
CGFloat detent = [self detentValueForIndex:discreteIndex];
|
|
325
|
-
if ([self.delegate respondsToSelector:@selector(viewControllerDidChangePosition:position:detent:
|
|
326
|
-
[self.delegate viewControllerDidChangePosition:index position:position detent:detent
|
|
356
|
+
if ([self.delegate respondsToSelector:@selector(viewControllerDidChangePosition:position:detent:realtime:)]) {
|
|
357
|
+
[self.delegate viewControllerDidChangePosition:index position:position detent:detent realtime:realtime];
|
|
327
358
|
}
|
|
328
359
|
}
|
|
329
360
|
}
|
|
@@ -413,8 +444,6 @@
|
|
|
413
444
|
finalFrame.origin.y = presentedView.frame.origin.y;
|
|
414
445
|
self->_fakeTransitionView.frame = finalFrame;
|
|
415
446
|
|
|
416
|
-
self->_lastTransitionPosition = finalFrame.origin.y;
|
|
417
|
-
|
|
418
447
|
// Track position at screen refresh rate via display link
|
|
419
448
|
self->_displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(trackTransitionPosition:)];
|
|
420
449
|
[self->_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
|
|
@@ -440,18 +469,12 @@
|
|
|
440
469
|
CALayer *presentationLayer = _fakeTransitionView.layer.presentationLayer;
|
|
441
470
|
|
|
442
471
|
if (presentationLayer) {
|
|
443
|
-
|
|
444
|
-
CGFloat
|
|
472
|
+
CGFloat transitioningPosition = presentationLayer.frame.origin.y;
|
|
473
|
+
CGFloat staticPosition = _fakeTransitionView.frame.origin.y;
|
|
445
474
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
transitioning = YES;
|
|
449
|
-
position = presentedView.frame.origin.y;
|
|
450
|
-
} else {
|
|
451
|
-
_lastTransitionPosition = position;
|
|
475
|
+
if (fabs(staticPosition - transitioningPosition) > 0.01) {
|
|
476
|
+
[self emitChangePositionDelegateWithPosition:transitioningPosition realtime:YES];
|
|
452
477
|
}
|
|
453
|
-
|
|
454
|
-
[self emitChangePositionDelegateWithPosition:position transitioning:transitioning];
|
|
455
478
|
}
|
|
456
479
|
}
|
|
457
480
|
|
|
@@ -615,7 +638,7 @@
|
|
|
615
638
|
}
|
|
616
639
|
|
|
617
640
|
sheet.prefersEdgeAttachedInCompactHeight = YES;
|
|
618
|
-
sheet.prefersGrabberVisible = self.grabber;
|
|
641
|
+
sheet.prefersGrabberVisible = self.grabber && self.draggable;
|
|
619
642
|
|
|
620
643
|
if (self.cornerRadius) {
|
|
621
644
|
sheet.preferredCornerRadius = [self.cornerRadius floatValue];
|
|
@@ -627,16 +650,25 @@
|
|
|
627
650
|
|
|
628
651
|
// Setup or remove blur effect
|
|
629
652
|
if (self.blurTint && self.blurTint.length > 0) {
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
653
|
+
// Create blur view if needed
|
|
654
|
+
if (!_blurView) {
|
|
655
|
+
_blurView = [[TrueSheetBlurView alloc] init];
|
|
656
|
+
_blurView.frame = self.view.bounds;
|
|
657
|
+
_blurView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
|
|
658
|
+
[self.view insertSubview:_blurView atIndex:0];
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
// Update blur properties and apply effect
|
|
662
|
+
_blurView.blurTint = self.blurTint;
|
|
663
|
+
_blurView.blurIntensity = self.blurIntensity;
|
|
664
|
+
_blurView.blurInteraction = self.blurInteraction;
|
|
665
|
+
[_blurView applyBlurEffect];
|
|
635
666
|
} else {
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
667
|
+
// Remove blur effect
|
|
668
|
+
if (_blurView) {
|
|
669
|
+
[_blurView removeBlurEffect];
|
|
670
|
+
[_blurView removeFromSuperview];
|
|
671
|
+
_blurView = nil;
|
|
640
672
|
}
|
|
641
673
|
}
|
|
642
674
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
#import <UIKit/UIKit.h>
|
|
10
|
+
|
|
11
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
12
|
+
|
|
13
|
+
@interface TrueSheetBlurView : UIVisualEffectView
|
|
14
|
+
|
|
15
|
+
@property (nonatomic, copy, nullable) NSString *blurTint;
|
|
16
|
+
@property (nonatomic, strong, nullable) NSNumber *blurIntensity;
|
|
17
|
+
@property (nonatomic, assign) BOOL blurInteraction;
|
|
18
|
+
|
|
19
|
+
- (void)applyBlurEffect;
|
|
20
|
+
- (void)removeBlurEffect;
|
|
21
|
+
|
|
22
|
+
@end
|
|
23
|
+
|
|
24
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -6,9 +6,13 @@
|
|
|
6
6
|
// LICENSE file in the root directory of this source tree.
|
|
7
7
|
//
|
|
8
8
|
|
|
9
|
-
#import "
|
|
9
|
+
#import "TrueSheetBlurView.h"
|
|
10
10
|
|
|
11
|
-
@implementation
|
|
11
|
+
@implementation TrueSheetBlurView {
|
|
12
|
+
UIViewPropertyAnimator *_blurAnimator;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
#pragma mark - Private
|
|
12
16
|
|
|
13
17
|
+ (UIBlurEffectStyle)blurEffectStyleFromString:(NSString *)tintString {
|
|
14
18
|
static NSDictionary<NSString *, NSNumber *> *styleMap = nil;
|
|
@@ -43,8 +47,66 @@
|
|
|
43
47
|
return (UIBlurEffectStyle)[style integerValue];
|
|
44
48
|
}
|
|
45
49
|
|
|
46
|
-
// Default to light if not recognized
|
|
47
50
|
return UIBlurEffectStyleLight;
|
|
48
51
|
}
|
|
49
52
|
|
|
53
|
+
#pragma mark - Initialization
|
|
54
|
+
|
|
55
|
+
- (instancetype)init {
|
|
56
|
+
if (self = [super init]) {
|
|
57
|
+
_blurInteraction = YES;
|
|
58
|
+
}
|
|
59
|
+
return self;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
#pragma mark - Public
|
|
63
|
+
|
|
64
|
+
- (void)applyBlurEffect {
|
|
65
|
+
if (!self.blurTint || self.blurTint.length == 0) {
|
|
66
|
+
[self removeBlurEffect];
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Stop and clear existing animator
|
|
71
|
+
if (_blurAnimator) {
|
|
72
|
+
[_blurAnimator stopAnimation:YES];
|
|
73
|
+
_blurAnimator = nil;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Clear existing effect
|
|
77
|
+
self.effect = nil;
|
|
78
|
+
|
|
79
|
+
UIBlurEffectStyle style = [TrueSheetBlurView blurEffectStyleFromString:self.blurTint];
|
|
80
|
+
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:style];
|
|
81
|
+
|
|
82
|
+
self.userInteractionEnabled = self.blurInteraction;
|
|
83
|
+
|
|
84
|
+
// Use animator to control blur intensity
|
|
85
|
+
__weak typeof(self) weakSelf = self;
|
|
86
|
+
_blurAnimator = [[UIViewPropertyAnimator alloc] initWithDuration:1.0
|
|
87
|
+
curve:UIViewAnimationCurveLinear
|
|
88
|
+
animations:^{
|
|
89
|
+
weakSelf.effect = blurEffect;
|
|
90
|
+
}];
|
|
91
|
+
_blurAnimator.pausesOnCompletion = YES;
|
|
92
|
+
|
|
93
|
+
// Set intensity: nil means system default (100%), otherwise use provided value (0-100)
|
|
94
|
+
CGFloat intensity =
|
|
95
|
+
(self.blurIntensity && [self.blurIntensity floatValue] >= 0) ? [self.blurIntensity floatValue] / 100.0 : 1.0;
|
|
96
|
+
_blurAnimator.fractionComplete = intensity;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
- (void)removeBlurEffect {
|
|
100
|
+
if (_blurAnimator) {
|
|
101
|
+
[_blurAnimator stopAnimation:YES];
|
|
102
|
+
_blurAnimator = nil;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
self.effect = nil;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
- (void)dealloc {
|
|
109
|
+
[self removeBlurEffect];
|
|
110
|
+
}
|
|
111
|
+
|
|
50
112
|
@end
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
index:(CGFloat)index
|
|
32
32
|
position:(CGFloat)position
|
|
33
33
|
detent:(CGFloat)detent
|
|
34
|
-
|
|
34
|
+
realtime:(BOOL)realtime {
|
|
35
35
|
if (!eventEmitter)
|
|
36
36
|
return;
|
|
37
37
|
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
event.index = static_cast<double>(index);
|
|
41
41
|
event.position = static_cast<double>(position);
|
|
42
42
|
event.detent = static_cast<double>(detent);
|
|
43
|
-
event.
|
|
43
|
+
event.realtime = static_cast<bool>(realtime);
|
|
44
44
|
emitter->onPositionChange(event);
|
|
45
45
|
}
|
|
46
46
|
|
package/ios/utils/GestureUtil.h
CHANGED
|
@@ -20,6 +20,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
20
20
|
*/
|
|
21
21
|
+ (void)attachPanGestureHandler:(UIView *)view target:(id)target selector:(SEL)selector;
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Enables or disables all pan gesture recognizers on a view
|
|
25
|
+
* @param view The view whose pan gesture recognizers to enable/disable
|
|
26
|
+
* @param enabled Whether the pan gestures should be enabled
|
|
27
|
+
*/
|
|
28
|
+
+ (void)setPanGesturesEnabled:(BOOL)enabled forView:(UIView *)view;
|
|
29
|
+
|
|
23
30
|
@end
|
|
24
31
|
|
|
25
32
|
NS_ASSUME_NONNULL_END
|
package/ios/utils/GestureUtil.mm
CHANGED
|
@@ -23,4 +23,16 @@
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
+ (void)setPanGesturesEnabled:(BOOL)enabled forView:(UIView *)view {
|
|
27
|
+
if (!view) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
for (UIGestureRecognizer *recognizer in view.gestureRecognizers ?: @[]) {
|
|
32
|
+
if ([recognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
|
|
33
|
+
recognizer.enabled = enabled;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
26
38
|
@end
|
package/lib/module/TrueSheet.js
CHANGED
|
@@ -261,6 +261,7 @@ export class TrueSheet extends PureComponent {
|
|
|
261
261
|
detents = [0.5, 1],
|
|
262
262
|
backgroundColor,
|
|
263
263
|
dismissible = true,
|
|
264
|
+
draggable = true,
|
|
264
265
|
grabber = true,
|
|
265
266
|
dimmed = true,
|
|
266
267
|
initialDetentIndex = -1,
|
|
@@ -311,6 +312,7 @@ export class TrueSheet extends PureComponent {
|
|
|
311
312
|
initialDetentIndex: initialDetentIndex,
|
|
312
313
|
initialDetentAnimated: initialDetentAnimated,
|
|
313
314
|
dismissible: dismissible,
|
|
315
|
+
draggable: draggable,
|
|
314
316
|
maxHeight: maxHeight,
|
|
315
317
|
edgeToEdgeFullScreen: edgeToEdgeFullScreen,
|
|
316
318
|
scrollable: scrollable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","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","onWillFocus","onDidFocus","onWillBlur","onDidBlur","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","scrollable","pageSizing","children","style","header","footer","rest","resolvedDetents","slice","map","containerStyle","android","styles","scrollableAndroidContainer","contentStyle","scrollableContent","ref","sheetView","background","create","zIndex","position","top","left","right","bottom","flexGrow","flexBasis"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","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","onWillFocus","onDidFocus","onWillBlur","onDidBlur","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","draggable","grabber","dimmed","initialDetentAnimated","keyboardMode","dimmedDetentIndex","blurTint","cornerRadius","maxHeight","edgeToEdgeFullScreen","scrollable","pageSizing","children","style","header","footer","rest","resolvedDetents","slice","map","containerStyle","android","styles","scrollableAndroidContainer","contentStyle","scrollableContent","ref","sheetView","background","create","zIndex","position","top","left","right","bottom","flexGrow","flexBasis"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ export interface PositionChangeEventPayload {
|
|
|
18
18
|
index: Double;
|
|
19
19
|
position: Double;
|
|
20
20
|
detent: Double;
|
|
21
|
-
|
|
21
|
+
realtime: boolean;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export interface NativeProps extends ViewProps {
|
|
@@ -36,9 +36,14 @@ export interface NativeProps extends ViewProps {
|
|
|
36
36
|
blurTint?: WithDefault<string, ''>;
|
|
37
37
|
keyboardMode?: WithDefault<'resize' | 'pan', 'resize'>;
|
|
38
38
|
|
|
39
|
+
// Blur properties - use -1 as default to indicate "not set" (use system default)
|
|
40
|
+
blurIntensity?: WithDefault<Double, -1>;
|
|
41
|
+
blurInteraction?: WithDefault<boolean, true>;
|
|
42
|
+
|
|
39
43
|
// Boolean properties - match defaults from TrueSheet.types.ts
|
|
40
44
|
grabber?: WithDefault<boolean, true>;
|
|
41
45
|
dismissible?: WithDefault<boolean, true>;
|
|
46
|
+
draggable?: WithDefault<boolean, true>;
|
|
42
47
|
dimmed?: WithDefault<boolean, true>;
|
|
43
48
|
initialDetentAnimated?: WithDefault<boolean, true>;
|
|
44
49
|
edgeToEdgeFullScreen?: WithDefault<boolean, false>;
|
|
@@ -65,8 +65,12 @@ export const ReanimatedTrueSheet = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
65
65
|
|
|
66
66
|
// Update detent directly (discrete value, not animated)
|
|
67
67
|
detent.value = payload.detent;
|
|
68
|
-
if (payload.
|
|
69
|
-
//
|
|
68
|
+
if (payload.realtime) {
|
|
69
|
+
// Update directly when we have real-time values (during drag or animation tracking)
|
|
70
|
+
animatedPosition.value = payload.position;
|
|
71
|
+
animatedIndex.value = payload.index;
|
|
72
|
+
} else {
|
|
73
|
+
// Animate position and index when not real-time
|
|
70
74
|
if (Platform.OS === 'android') {
|
|
71
75
|
animatedPosition.value = withTiming(payload.position, TIMING_CONFIG);
|
|
72
76
|
animatedIndex.value = withTiming(payload.index, TIMING_CONFIG);
|
|
@@ -74,10 +78,6 @@ export const ReanimatedTrueSheet = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
74
78
|
animatedPosition.value = withSpring(payload.position, SPRING_CONFIG);
|
|
75
79
|
animatedIndex.value = withSpring(payload.index, SPRING_CONFIG);
|
|
76
80
|
}
|
|
77
|
-
} else {
|
|
78
|
-
// Update directly during drag
|
|
79
|
-
animatedPosition.value = payload.position;
|
|
80
|
-
animatedIndex.value = payload.index;
|
|
81
81
|
}
|
|
82
82
|
onPositionChange?.({
|
|
83
83
|
nativeEvent: payload
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","Animated","withSpring","withTiming","Easing","Platform","TrueSheet","useReanimatedTrueSheet","useReanimatedPositionChangeHandler","jsx","_jsx","SPRING_CONFIG","damping","stiffness","mass","overshootClamping","TIMING_CONFIG","duration","easing","bezier","AnimatedTrueSheet","createAnimatedComponent","ReanimatedTrueSheet","props","ref","onPositionChange","rest","animatedPosition","animatedIndex","detent","positionChangeHandler","payload","value","
|
|
1
|
+
{"version":3,"names":["forwardRef","Animated","withSpring","withTiming","Easing","Platform","TrueSheet","useReanimatedTrueSheet","useReanimatedPositionChangeHandler","jsx","_jsx","SPRING_CONFIG","damping","stiffness","mass","overshootClamping","TIMING_CONFIG","duration","easing","bezier","AnimatedTrueSheet","createAnimatedComponent","ReanimatedTrueSheet","props","ref","onPositionChange","rest","animatedPosition","animatedIndex","detent","positionChangeHandler","payload","value","realtime","position","index","OS","nativeEvent"],"sourceRoot":"../../../src","sources":["reanimated/ReanimatedTrueSheet.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,OAAOC,QAAQ,IAGbC,UAAU,EACVC,UAAU,EACVC,MAAM,QACD,yBAAyB;AAChC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,SAAS,QAAQ,iBAAc;AAExC,SAASC,sBAAsB,QAAQ,kCAA+B;AACtE,SAASC,kCAAkC,QAAQ,yCAAsC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1F,MAAMC,aAA+B,GAAG;EACtCC,OAAO,EAAE,GAAG;EACZC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAE,CAAC;EACPC,iBAAiB,EAAE;AACrB,CAAC;AAED,MAAMC,aAA+B,GAAG;EACtCC,QAAQ,EAAE,GAAG;EACbC,MAAM,EAAEd,MAAM,CAACe,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAWD;AACA,MAAMC,iBAAiB,GAAGnB,QAAQ,CAACoB,uBAAuB,CAACf,SAAS,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMgB,mBAAmB,gBAAGtB,UAAU,CAAsC,CAACuB,KAAK,EAAEC,GAAG,KAAK;EACjG,MAAM;IAAEC,gBAAgB;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAE3C,MAAM;IAAEI,gBAAgB;IAAEC,aAAa;IAAEC;EAAO,CAAC,GAAGtB,sBAAsB,CAAC,CAAC;EAE5E,MAAMuB,qBAAqB,GAAGtB,kCAAkC,CAAEuB,OAAO,IAAK;IAC5E,SAAS;;IAET;IACAF,MAAM,CAACG,KAAK,GAAGD,OAAO,CAACF,MAAM;IAE7B,IAAIE,OAAO,CAACE,QAAQ,EAAE;MACpB;MACAN,gBAAgB,CAACK,KAAK,GAAGD,OAAO,CAACG,QAAQ;MACzCN,aAAa,CAACI,KAAK,GAAGD,OAAO,CAACI,KAAK;IACrC,CAAC,MAAM;MACL;MACA,IAAI9B,QAAQ,CAAC+B,EAAE,KAAK,SAAS,EAAE;QAC7BT,gBAAgB,CAACK,KAAK,GAAG7B,UAAU,CAAC4B,OAAO,CAACG,QAAQ,EAAElB,aAAa,CAAC;QACpEY,aAAa,CAACI,KAAK,GAAG7B,UAAU,CAAC4B,OAAO,CAACI,KAAK,EAAEnB,aAAa,CAAC;MAChE,CAAC,MAAM;QACLW,gBAAgB,CAACK,KAAK,GAAG9B,UAAU,CAAC6B,OAAO,CAACG,QAAQ,EAAEvB,aAAa,CAAC;QACpEiB,aAAa,CAACI,KAAK,GAAG9B,UAAU,CAAC6B,OAAO,CAACI,KAAK,EAAExB,aAAa,CAAC;MAChE;IACF;IAEAc,gBAAgB,GAAG;MAAEY,WAAW,EAAEN;IAAQ,CAAwB,CAAC;EACrE,CAAC,CAAC;EAEF,oBAAOrB,IAAA,CAACU,iBAAiB;IAACI,GAAG,EAAEA,GAAI;IAACC,gBAAgB,EAAEK,qBAAsB;IAAA,GAAKJ;EAAI,CAAG,CAAC;AAC3F,CAAC,CAAC","ignoreList":[]}
|
|
@@ -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,EAef,MAAM,mBAAmB,CAAC;AAwB3B,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;IA+BjC,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,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB;;;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;
|
|
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,EAef,MAAM,mBAAmB,CAAC;AAwB3B,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;IA+BjC,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,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAIjB;;;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;CAwGpB"}
|
|
@@ -16,10 +16,10 @@ export interface DetentInfoEventPayload {
|
|
|
16
16
|
}
|
|
17
17
|
export interface PositionChangeEventPayload extends DetentInfoEventPayload {
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
* When
|
|
19
|
+
* Indicates whether the position value is real-time (e.g., during drag or animation tracking).
|
|
20
|
+
* When false, the position should be animated in JS.
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
realtime: boolean;
|
|
23
23
|
}
|
|
24
24
|
export type MountEvent = NativeSyntheticEvent<null>;
|
|
25
25
|
export type DetentChangeEvent = NativeSyntheticEvent<DetentInfoEventPayload>;
|
|
@@ -126,6 +126,13 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
126
126
|
* @default true
|
|
127
127
|
*/
|
|
128
128
|
dismissible?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Enables or disables dragging the sheet to resize it.
|
|
131
|
+
* When disabled, the sheet becomes static and can only be resized programmatically.
|
|
132
|
+
*
|
|
133
|
+
* @default true
|
|
134
|
+
*/
|
|
135
|
+
draggable?: boolean;
|
|
129
136
|
/**
|
|
130
137
|
* Main sheet background color.
|
|
131
138
|
* Uses system default when not provided.
|
|
@@ -164,6 +171,23 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
164
171
|
* @platform ios
|
|
165
172
|
*/
|
|
166
173
|
blurTint?: BlurTint;
|
|
174
|
+
/**
|
|
175
|
+
* The intensity of the blur effect (0-100).
|
|
176
|
+
* Only applies when `blurTint` is set.
|
|
177
|
+
* Uses system default if not provided.
|
|
178
|
+
*
|
|
179
|
+
* @platform ios
|
|
180
|
+
*/
|
|
181
|
+
blurIntensity?: number;
|
|
182
|
+
/**
|
|
183
|
+
* Enables or disables user interaction on the blur view.
|
|
184
|
+
* Disabling this can help with visual artifacts (flash) on iOS 18+
|
|
185
|
+
* when touching the sheet content with blur enabled.
|
|
186
|
+
* Uses system default (true) if not provided.
|
|
187
|
+
*
|
|
188
|
+
* @platform ios
|
|
189
|
+
*/
|
|
190
|
+
blurInteraction?: boolean;
|
|
167
191
|
/**
|
|
168
192
|
* Overrides `large` or `100%` height.
|
|
169
193
|
* Also sets the maximum height for 'auto' detents.
|
|
@@ -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,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export interface PositionChangeEventPayload {
|
|
|
9
9
|
index: Double;
|
|
10
10
|
position: Double;
|
|
11
11
|
detent: Double;
|
|
12
|
-
|
|
12
|
+
realtime: boolean;
|
|
13
13
|
}
|
|
14
14
|
export interface NativeProps extends ViewProps {
|
|
15
15
|
detents?: ReadonlyArray<Float>;
|
|
@@ -20,8 +20,11 @@ export interface NativeProps extends ViewProps {
|
|
|
20
20
|
dimmedDetentIndex?: WithDefault<Int32, 0>;
|
|
21
21
|
blurTint?: WithDefault<string, ''>;
|
|
22
22
|
keyboardMode?: WithDefault<'resize' | 'pan', 'resize'>;
|
|
23
|
+
blurIntensity?: WithDefault<Double, -1>;
|
|
24
|
+
blurInteraction?: WithDefault<boolean, true>;
|
|
23
25
|
grabber?: WithDefault<boolean, true>;
|
|
24
26
|
dismissible?: WithDefault<boolean, true>;
|
|
27
|
+
draggable?: WithDefault<boolean, true>;
|
|
25
28
|
dimmed?: WithDefault<boolean, true>;
|
|
26
29
|
initialDetentAnimated?: WithDefault<boolean, true>;
|
|
27
30
|
edgeToEdgeFullScreen?: WithDefault<boolean, false>;
|
|
@@ -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;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/TrueSheet.tsx
CHANGED
|
@@ -337,6 +337,7 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
|
|
|
337
337
|
detents = [0.5, 1],
|
|
338
338
|
backgroundColor,
|
|
339
339
|
dismissible = true,
|
|
340
|
+
draggable = true,
|
|
340
341
|
grabber = true,
|
|
341
342
|
dimmed = true,
|
|
342
343
|
initialDetentIndex = -1,
|
|
@@ -395,6 +396,7 @@ export class TrueSheet extends PureComponent<TrueSheetProps, TrueSheetState> {
|
|
|
395
396
|
initialDetentIndex={initialDetentIndex}
|
|
396
397
|
initialDetentAnimated={initialDetentAnimated}
|
|
397
398
|
dismissible={dismissible}
|
|
399
|
+
draggable={draggable}
|
|
398
400
|
maxHeight={maxHeight}
|
|
399
401
|
edgeToEdgeFullScreen={edgeToEdgeFullScreen}
|
|
400
402
|
scrollable={scrollable}
|
package/src/TrueSheet.types.ts
CHANGED
|
@@ -18,10 +18,10 @@ export interface DetentInfoEventPayload {
|
|
|
18
18
|
|
|
19
19
|
export interface PositionChangeEventPayload extends DetentInfoEventPayload {
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
22
|
-
* When
|
|
21
|
+
* Indicates whether the position value is real-time (e.g., during drag or animation tracking).
|
|
22
|
+
* When false, the position should be animated in JS.
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
realtime: boolean;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export type MountEvent = NativeSyntheticEvent<null>;
|
|
@@ -160,6 +160,14 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
160
160
|
*/
|
|
161
161
|
dismissible?: boolean;
|
|
162
162
|
|
|
163
|
+
/**
|
|
164
|
+
* Enables or disables dragging the sheet to resize it.
|
|
165
|
+
* When disabled, the sheet becomes static and can only be resized programmatically.
|
|
166
|
+
*
|
|
167
|
+
* @default true
|
|
168
|
+
*/
|
|
169
|
+
draggable?: boolean;
|
|
170
|
+
|
|
163
171
|
/**
|
|
164
172
|
* Main sheet background color.
|
|
165
173
|
* Uses system default when not provided.
|
|
@@ -203,6 +211,25 @@ export interface TrueSheetProps extends ViewProps {
|
|
|
203
211
|
*/
|
|
204
212
|
blurTint?: BlurTint;
|
|
205
213
|
|
|
214
|
+
/**
|
|
215
|
+
* The intensity of the blur effect (0-100).
|
|
216
|
+
* Only applies when `blurTint` is set.
|
|
217
|
+
* Uses system default if not provided.
|
|
218
|
+
*
|
|
219
|
+
* @platform ios
|
|
220
|
+
*/
|
|
221
|
+
blurIntensity?: number;
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Enables or disables user interaction on the blur view.
|
|
225
|
+
* Disabling this can help with visual artifacts (flash) on iOS 18+
|
|
226
|
+
* when touching the sheet content with blur enabled.
|
|
227
|
+
* Uses system default (true) if not provided.
|
|
228
|
+
*
|
|
229
|
+
* @platform ios
|
|
230
|
+
*/
|
|
231
|
+
blurInteraction?: boolean;
|
|
232
|
+
|
|
206
233
|
/**
|
|
207
234
|
* Overrides `large` or `100%` height.
|
|
208
235
|
* Also sets the maximum height for 'auto' detents.
|
|
@@ -18,7 +18,7 @@ export interface PositionChangeEventPayload {
|
|
|
18
18
|
index: Double;
|
|
19
19
|
position: Double;
|
|
20
20
|
detent: Double;
|
|
21
|
-
|
|
21
|
+
realtime: boolean;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export interface NativeProps extends ViewProps {
|
|
@@ -36,9 +36,14 @@ export interface NativeProps extends ViewProps {
|
|
|
36
36
|
blurTint?: WithDefault<string, ''>;
|
|
37
37
|
keyboardMode?: WithDefault<'resize' | 'pan', 'resize'>;
|
|
38
38
|
|
|
39
|
+
// Blur properties - use -1 as default to indicate "not set" (use system default)
|
|
40
|
+
blurIntensity?: WithDefault<Double, -1>;
|
|
41
|
+
blurInteraction?: WithDefault<boolean, true>;
|
|
42
|
+
|
|
39
43
|
// Boolean properties - match defaults from TrueSheet.types.ts
|
|
40
44
|
grabber?: WithDefault<boolean, true>;
|
|
41
45
|
dismissible?: WithDefault<boolean, true>;
|
|
46
|
+
draggable?: WithDefault<boolean, true>;
|
|
42
47
|
dimmed?: WithDefault<boolean, true>;
|
|
43
48
|
initialDetentAnimated?: WithDefault<boolean, true>;
|
|
44
49
|
edgeToEdgeFullScreen?: WithDefault<boolean, false>;
|
|
@@ -78,8 +78,12 @@ export const ReanimatedTrueSheet = forwardRef<TrueSheet, ReanimatedTrueSheetProp
|
|
|
78
78
|
// Update detent directly (discrete value, not animated)
|
|
79
79
|
detent.value = payload.detent;
|
|
80
80
|
|
|
81
|
-
if (payload.
|
|
82
|
-
//
|
|
81
|
+
if (payload.realtime) {
|
|
82
|
+
// Update directly when we have real-time values (during drag or animation tracking)
|
|
83
|
+
animatedPosition.value = payload.position;
|
|
84
|
+
animatedIndex.value = payload.index;
|
|
85
|
+
} else {
|
|
86
|
+
// Animate position and index when not real-time
|
|
83
87
|
if (Platform.OS === 'android') {
|
|
84
88
|
animatedPosition.value = withTiming(payload.position, TIMING_CONFIG);
|
|
85
89
|
animatedIndex.value = withTiming(payload.index, TIMING_CONFIG);
|
|
@@ -87,10 +91,6 @@ export const ReanimatedTrueSheet = forwardRef<TrueSheet, ReanimatedTrueSheetProp
|
|
|
87
91
|
animatedPosition.value = withSpring(payload.position, SPRING_CONFIG);
|
|
88
92
|
animatedIndex.value = withSpring(payload.index, SPRING_CONFIG);
|
|
89
93
|
}
|
|
90
|
-
} else {
|
|
91
|
-
// Update directly during drag
|
|
92
|
-
animatedPosition.value = payload.position;
|
|
93
|
-
animatedIndex.value = payload.index;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
onPositionChange?.({ nativeEvent: payload } as PositionChangeEvent);
|
|
@@ -1,24 +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
|
-
#import <UIKit/UIKit.h>
|
|
10
|
-
|
|
11
|
-
NS_ASSUME_NONNULL_BEGIN
|
|
12
|
-
|
|
13
|
-
@interface ConversionUtil : NSObject
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Converts a dashed-case blur tint string to UIBlurEffectStyle
|
|
17
|
-
* @param tintString The blur tint string (e.g., "system-thin-material")
|
|
18
|
-
* @return The corresponding UIBlurEffectStyle, defaults to UIBlurEffectStyleLight if not recognized
|
|
19
|
-
*/
|
|
20
|
-
+ (UIBlurEffectStyle)blurEffectStyleFromString:(NSString *)tintString;
|
|
21
|
-
|
|
22
|
-
@end
|
|
23
|
-
|
|
24
|
-
NS_ASSUME_NONNULL_END
|