@lodev09/react-native-true-sheet 3.10.0-beta.1 → 3.10.0-beta.2

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.
@@ -17,6 +17,8 @@ NS_ASSUME_NONNULL_BEGIN
17
17
 
18
18
  @property (nonatomic, assign) CGFloat keyboardScrollOffset;
19
19
  @property (nonatomic, assign) BOOL scrollingExpandsSheet;
20
+ @property (nonatomic, assign) NSInteger topScrollEdgeEffect;
21
+ @property (nonatomic, assign) NSInteger bottomScrollEdgeEffect;
20
22
 
21
23
  @end
22
24
 
@@ -9,11 +9,13 @@
9
9
  #ifdef RCT_NEW_ARCH_ENABLED
10
10
 
11
11
  #import "TrueSheetContainerView.h"
12
+ #import <React/RCTScrollViewComponentView.h>
12
13
  #import "TrueSheetContentView.h"
13
14
  #import "TrueSheetFooterView.h"
14
15
  #import "TrueSheetHeaderView.h"
15
16
  #import "TrueSheetViewController.h"
16
17
  #import "core/TrueSheetKeyboardObserver.h"
18
+ #import "utils/UIView+ScrollEdgeInteraction.h"
17
19
  #import "utils/WindowUtil.h"
18
20
 
19
21
  #import <react/renderer/components/TrueSheetSpec/ComponentDescriptors.h>
@@ -33,6 +35,8 @@ using namespace facebook::react;
33
35
  if (self = [super init]) {
34
36
  _keyboardScrollOffset = 0;
35
37
  _scrollingExpandsSheet = YES;
38
+ _topScrollEdgeEffect = (NSInteger)TrueSheetViewTopScrollEdgeEffect::Hidden;
39
+ _bottomScrollEdgeEffect = (NSInteger)TrueSheetViewBottomScrollEdgeEffect::Hidden;
36
40
  }
37
41
  return self;
38
42
  }
@@ -111,6 +115,34 @@ using namespace facebook::react;
111
115
  bottomInset = [WindowUtil keyWindow].safeAreaInsets.bottom;
112
116
  }
113
117
  [_contentView setupScrollable:_scrollableEnabled bottomInset:bottomInset];
118
+ [_contentView applyScrollEdgeEffects:_scrollableOptions];
119
+ if (@available(iOS 26.0, *)) {
120
+ [self setupEdgeInteractions];
121
+ }
122
+ }
123
+ }
124
+
125
+ - (void)setupEdgeInteractions API_AVAILABLE(ios(26.0)) {
126
+ if (!_contentView) {
127
+ return;
128
+ }
129
+
130
+ NSInteger topEffect =
131
+ _scrollableOptions ? _scrollableOptions.topScrollEdgeEffect : (NSInteger)TrueSheetViewTopScrollEdgeEffect::Hidden;
132
+ NSInteger bottomEffect = _scrollableOptions ? _scrollableOptions.bottomScrollEdgeEffect
133
+ : (NSInteger)TrueSheetViewBottomScrollEdgeEffect::Hidden;
134
+
135
+ BOOL topHidden = topEffect == (NSInteger)TrueSheetViewTopScrollEdgeEffect::Hidden;
136
+ BOOL bottomHidden = bottomEffect == (NSInteger)TrueSheetViewBottomScrollEdgeEffect::Hidden;
137
+
138
+ RCTScrollViewComponentView *scrollViewComponent = [_contentView findScrollView];
139
+ UIScrollView *scrollView = scrollViewComponent.scrollView;
140
+
141
+ if (_headerView) {
142
+ [_headerView setupEdgeInteractionWithScrollView:topHidden ? nil : scrollView edge:UIRectEdgeTop];
143
+ }
144
+ if (_footerView) {
145
+ [_footerView setupEdgeInteractionWithScrollView:bottomHidden ? nil : scrollView edge:UIRectEdgeBottom];
114
146
  }
115
147
  }
116
148
 
@@ -16,6 +16,7 @@
16
16
 
17
17
  @class TrueSheetViewController;
18
18
  @class RCTScrollViewComponentView;
19
+ @class ScrollableOptions;
19
20
 
20
21
  NS_ASSUME_NONNULL_BEGIN
21
22
 
@@ -46,6 +47,11 @@ NS_ASSUME_NONNULL_BEGIN
46
47
  */
47
48
  - (void)updateScrollViewHeight;
48
49
 
50
+ /**
51
+ * Apply scroll edge effects to the pinned scroll view (iOS 26+)
52
+ */
53
+ - (void)applyScrollEdgeEffects:(nullable ScrollableOptions *)options;
54
+
49
55
  @end
50
56
 
51
57
  NS_ASSUME_NONNULL_END
@@ -14,8 +14,10 @@
14
14
  #import <react/renderer/components/TrueSheetSpec/EventEmitters.h>
15
15
  #import <react/renderer/components/TrueSheetSpec/Props.h>
16
16
  #import <react/renderer/components/TrueSheetSpec/RCTComponentViewHelpers.h>
17
+ #import "TrueSheetContainerView.h"
17
18
  #import "TrueSheetView.h"
18
19
  #import "TrueSheetViewController.h"
20
+ #import "utils/PlatformUtil.h"
19
21
  #import "utils/UIView+FirstResponder.h"
20
22
 
21
23
  using namespace facebook::react;
@@ -200,6 +202,47 @@ using namespace facebook::react;
200
202
  return nil;
201
203
  }
202
204
 
205
+ #pragma mark - Scroll Edge Effects
206
+
207
+ - (void)applyScrollEdgeEffects:(nullable ScrollableOptions *)options {
208
+ #if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_0)
209
+ if (!_pinnedScrollView)
210
+ return;
211
+
212
+ if (@available(iOS 26.0, *)) {
213
+ UIScrollView *scrollView = _pinnedScrollView.scrollView;
214
+ NSInteger topEffect = options ? options.topScrollEdgeEffect : (NSInteger)TrueSheetViewTopScrollEdgeEffect::Hidden;
215
+ NSInteger bottomEffect =
216
+ options ? options.bottomScrollEdgeEffect : (NSInteger)TrueSheetViewBottomScrollEdgeEffect::Hidden;
217
+
218
+ [self applyEdgeEffect:topEffect toEdge:scrollView.topEdgeEffect];
219
+ [self applyEdgeEffect:bottomEffect toEdge:scrollView.bottomEdgeEffect];
220
+ }
221
+ #endif
222
+ }
223
+
224
+ #if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_0)
225
+ - (void)applyEdgeEffect:(NSInteger)effect toEdge:(UIScrollEdgeEffect *)edgeEffect API_AVAILABLE(ios(26.0)) {
226
+ switch (effect) {
227
+ case (NSInteger)TrueSheetViewTopScrollEdgeEffect::Automatic:
228
+ edgeEffect.hidden = NO;
229
+ edgeEffect.style = UIScrollEdgeEffectStyle.automaticStyle;
230
+ break;
231
+ case (NSInteger)TrueSheetViewTopScrollEdgeEffect::Hard:
232
+ edgeEffect.hidden = NO;
233
+ edgeEffect.style = UIScrollEdgeEffectStyle.hardStyle;
234
+ break;
235
+ case (NSInteger)TrueSheetViewTopScrollEdgeEffect::Soft:
236
+ edgeEffect.hidden = NO;
237
+ edgeEffect.style = UIScrollEdgeEffectStyle.softStyle;
238
+ break;
239
+ case (NSInteger)TrueSheetViewTopScrollEdgeEffect::Hidden:
240
+ edgeEffect.hidden = YES;
241
+ break;
242
+ }
243
+ }
244
+ #endif
245
+
203
246
  #pragma mark - TrueSheetKeyboardObserverDelegate
204
247
 
205
248
  - (void)keyboardWillShow:(CGFloat)height duration:(NSTimeInterval)duration curve:(UIViewAnimationOptions)curve {
@@ -15,6 +15,7 @@
15
15
  #import <react/renderer/components/TrueSheetSpec/RCTComponentViewHelpers.h>
16
16
  #import "TrueSheetViewController.h"
17
17
  #import "utils/LayoutUtil.h"
18
+ #import "utils/UIView+ScrollEdgeInteraction.h"
18
19
 
19
20
  using namespace facebook::react;
20
21
 
@@ -34,7 +35,6 @@ using namespace facebook::react;
34
35
  static const auto defaultProps = std::make_shared<const TrueSheetFooterViewProps>();
35
36
  _props = defaultProps;
36
37
 
37
- // Set background color to clear by default
38
38
  self.backgroundColor = [UIColor clearColor];
39
39
 
40
40
  _lastHeight = 0;
@@ -45,28 +45,26 @@ using namespace facebook::react;
45
45
  return self;
46
46
  }
47
47
 
48
+ #pragma mark - Layout
49
+
48
50
  - (void)setupConstraintsWithHeight:(CGFloat)height {
49
51
  UIView *parentView = self.superview;
50
52
  if (!parentView) {
51
53
  return;
52
54
  }
53
55
 
54
- // Remove existing constraints before applying new ones
55
56
  [LayoutUtil unpinView:self fromParentView:parentView];
56
57
  _bottomConstraint = nil;
57
58
 
58
59
  self.translatesAutoresizingMaskIntoConstraints = NO;
59
60
 
60
- // Pin footer to sides of container
61
61
  [self.leadingAnchor constraintEqualToAnchor:parentView.leadingAnchor].active = YES;
62
62
  [self.trailingAnchor constraintEqualToAnchor:parentView.trailingAnchor].active = YES;
63
63
 
64
- // Store bottom constraint for keyboard adjustment, preserving current keyboard offset
65
64
  _bottomConstraint = [self.bottomAnchor constraintEqualToAnchor:parentView.bottomAnchor
66
65
  constant:-_currentKeyboardOffset];
67
66
  _bottomConstraint.active = YES;
68
67
 
69
- // Apply height constraint
70
68
  if (height > 0) {
71
69
  [self.heightAnchor constraintEqualToConstant:height].active = YES;
72
70
  }
@@ -77,7 +75,6 @@ using namespace facebook::react;
77
75
  - (void)didMoveToSuperview {
78
76
  [super didMoveToSuperview];
79
77
 
80
- // Setup footer constraints when added to container
81
78
  if (self.superview) {
82
79
  CGFloat initialHeight = self.frame.size.height;
83
80
  [self setupConstraintsWithHeight:initialHeight];
@@ -88,14 +85,11 @@ using namespace facebook::react;
88
85
  oldLayoutMetrics:(const facebook::react::LayoutMetrics &)oldLayoutMetrics {
89
86
  CGFloat height = layoutMetrics.frame.size.height;
90
87
 
91
- // On initial layout, call super to let React Native position the view
92
- // After that, we use Auto Layout constraints instead
93
88
  if (!_didInitialLayout) {
94
89
  [super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics];
95
90
  _didInitialLayout = YES;
96
91
  }
97
92
 
98
- // Update footer constraints when height changes
99
93
  if (height != _lastHeight) {
100
94
  [self setupConstraintsWithHeight:height];
101
95
  }
@@ -104,8 +98,10 @@ using namespace facebook::react;
104
98
  - (void)prepareForRecycle {
105
99
  [super prepareForRecycle];
106
100
 
107
- // Remove footer constraints
108
101
  [LayoutUtil unpinView:self fromParentView:self.superview];
102
+ if (@available(iOS 26.0, *)) {
103
+ [self cleanupEdgeInteraction];
104
+ }
109
105
 
110
106
  _lastHeight = 0;
111
107
  _didInitialLayout = NO;
@@ -14,6 +14,7 @@
14
14
  #import <react/renderer/components/TrueSheetSpec/Props.h>
15
15
  #import <react/renderer/components/TrueSheetSpec/RCTComponentViewHelpers.h>
16
16
  #import "utils/LayoutUtil.h"
17
+ #import "utils/UIView+ScrollEdgeInteraction.h"
17
18
 
18
19
  using namespace facebook::react;
19
20
 
@@ -41,7 +42,6 @@ using namespace facebook::react;
41
42
 
42
43
  CGSize newSize = CGSizeMake(layoutMetrics.frame.size.width, layoutMetrics.frame.size.height);
43
44
 
44
- // Notify delegate when header size changes
45
45
  if (!CGSizeEqualToSize(newSize, _lastSize)) {
46
46
  _lastSize = newSize;
47
47
  [self.delegate headerViewDidChangeSize:newSize];
@@ -51,6 +51,9 @@ using namespace facebook::react;
51
51
  - (void)prepareForRecycle {
52
52
  [super prepareForRecycle];
53
53
  _lastSize = CGSizeZero;
54
+ if (@available(iOS 26.0, *)) {
55
+ [self cleanupEdgeInteraction];
56
+ }
54
57
  }
55
58
 
56
59
  @end
@@ -245,12 +245,18 @@ using namespace facebook::react;
245
245
 
246
246
  const auto &scrollableOpts = newProps.scrollableOptions;
247
247
  BOOL scrollingExpandsSheet = scrollableOpts.scrollingExpandsSheet;
248
- BOOL hasScrollableOptions = scrollableOpts.keyboardScrollOffset > 0 || !scrollingExpandsSheet;
248
+ NSInteger topEdgeEffect = (NSInteger)scrollableOpts.topScrollEdgeEffect;
249
+ NSInteger bottomEdgeEffect = (NSInteger)scrollableOpts.bottomScrollEdgeEffect;
250
+ BOOL hasScrollableOptions = scrollableOpts.keyboardScrollOffset > 0 || !scrollingExpandsSheet ||
251
+ topEdgeEffect != (NSInteger)TrueSheetViewTopScrollEdgeEffect::Hidden ||
252
+ bottomEdgeEffect != (NSInteger)TrueSheetViewBottomScrollEdgeEffect::Hidden;
249
253
 
250
254
  if (hasScrollableOptions) {
251
255
  ScrollableOptions *options = [[ScrollableOptions alloc] init];
252
256
  options.keyboardScrollOffset = scrollableOpts.keyboardScrollOffset;
253
257
  options.scrollingExpandsSheet = scrollingExpandsSheet;
258
+ options.topScrollEdgeEffect = topEdgeEffect;
259
+ options.bottomScrollEdgeEffect = bottomEdgeEffect;
254
260
  _scrollableOptions = options;
255
261
  } else {
256
262
  _scrollableOptions = nil;
@@ -234,7 +234,7 @@ static BOOL TrueSheetPositionStateEquals(TrueSheetPositionState a, TrueSheetPosi
234
234
  [self.delegate viewControllerDidPresentAtIndex:index position:self.currentPosition detent:detent];
235
235
  [self.delegate viewControllerDidFocus];
236
236
 
237
- [_grabberView updateAccessibilityValueWithIndex:index detentCount:_detents.count];
237
+ [self->_grabberView updateAccessibilityValueWithIndex:index detentCount:self->_detents.count];
238
238
  [self emitChangePositionDelegateWithPosition:self.currentPosition realtime:NO debug:@"did present"];
239
239
  });
240
240
 
@@ -0,0 +1,25 @@
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 <UIKit/UIKit.h>
12
+
13
+ NS_ASSUME_NONNULL_BEGIN
14
+
15
+ @interface UIView (ScrollEdgeInteraction)
16
+
17
+ - (void)setupEdgeInteractionWithScrollView:(nullable UIScrollView *)scrollView
18
+ edge:(UIRectEdge)edge API_AVAILABLE(ios(26.0));
19
+ - (void)cleanupEdgeInteraction API_AVAILABLE(ios(26.0));
20
+
21
+ @end
22
+
23
+ NS_ASSUME_NONNULL_END
24
+
25
+ #endif
@@ -0,0 +1,57 @@
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 <objc/runtime.h>
12
+ #import "UIView+ScrollEdgeInteraction.h"
13
+
14
+ static const void *kEdgeEffectHintKey = &kEdgeEffectHintKey;
15
+
16
+ @implementation UIView (ScrollEdgeInteraction)
17
+
18
+ - (void)cleanupEdgeInteraction API_AVAILABLE(ios(26.0)) {
19
+ for (id<UIInteraction> interaction in [self.interactions copy]) {
20
+ if ([interaction isKindOfClass:[UIScrollEdgeElementContainerInteraction class]]) {
21
+ [self removeInteraction:interaction];
22
+ break;
23
+ }
24
+ }
25
+
26
+ UILabel *hint = objc_getAssociatedObject(self, kEdgeEffectHintKey);
27
+ [hint removeFromSuperview];
28
+ objc_setAssociatedObject(self, kEdgeEffectHintKey, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
29
+ }
30
+
31
+ - (void)setupEdgeInteractionWithScrollView:(nullable UIScrollView *)scrollView
32
+ edge:(UIRectEdge)edge API_AVAILABLE(ios(26.0)) {
33
+ [self cleanupEdgeInteraction];
34
+
35
+ if (!scrollView) {
36
+ return;
37
+ }
38
+
39
+ // UIScrollEdgeElementContainerInteraction requires standard UIKit element
40
+ // descendants (UILabel, UIControl, etc.) to trigger the edge effect.
41
+ // RCTViewComponentView subviews are not recognized, so we add a
42
+ // non-visible UILabel as an element hint.
43
+ UILabel *hint = [[UILabel alloc] initWithFrame:self.bounds];
44
+ hint.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
45
+ hint.userInteractionEnabled = NO;
46
+ [self addSubview:hint];
47
+ objc_setAssociatedObject(self, kEdgeEffectHintKey, hint, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
48
+
49
+ UIScrollEdgeElementContainerInteraction *interaction = [[UIScrollEdgeElementContainerInteraction alloc] init];
50
+ interaction.scrollView = scrollView;
51
+ interaction.edge = edge;
52
+ [self addInteraction:interaction];
53
+ }
54
+
55
+ @end
56
+
57
+ #endif
@@ -21,9 +21,13 @@ type BlurOptionsType = Readonly<{
21
21
  interaction?: WithDefault<boolean, true>;
22
22
  }>;
23
23
 
24
+ type ScrollEdgeEffect = 'automatic' | 'hard' | 'soft' | 'hidden';
25
+
24
26
  type ScrollableOptionsType = Readonly<{
25
27
  keyboardScrollOffset?: WithDefault<Double, 0>;
26
28
  scrollingExpandsSheet?: WithDefault<boolean, true>;
29
+ topScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
30
+ bottomScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
27
31
  }>;
28
32
 
29
33
  export interface DetentInfoEventPayload {
@@ -77,6 +77,13 @@ export interface GrabberOptions {
77
77
  */
78
78
  adaptive?: boolean;
79
79
  }
80
+ /**
81
+ * Scroll edge effect style for iOS 26+.
82
+ * Controls the blur/gradient overlay applied to scroll view edges.
83
+ *
84
+ * @platform ios 26+
85
+ */
86
+ export type ScrollEdgeEffect = 'automatic' | 'hard' | 'soft' | 'hidden';
80
87
  /**
81
88
  * Options for scrollable behavior.
82
89
  */
@@ -94,6 +101,20 @@ export interface ScrollableOptions {
94
101
  * @default true
95
102
  */
96
103
  scrollingExpandsSheet?: boolean;
104
+ /**
105
+ * The scroll edge effect applied to the top edge of the scroll view.
106
+ *
107
+ * @platform ios 26+
108
+ * @default 'hidden'
109
+ */
110
+ topScrollEdgeEffect?: ScrollEdgeEffect;
111
+ /**
112
+ * The scroll edge effect applied to the bottom edge of the scroll view.
113
+ *
114
+ * @platform ios 26+
115
+ * @default 'hidden'
116
+ */
117
+ bottomScrollEdgeEffect?: ScrollEdgeEffect;
97
118
  }
98
119
  /**
99
120
  * Options for customizing the blur effect.
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrueSheet.types.d.ts","sourceRoot":"","sources":["../../../src/TrueSheet.types.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,12 @@ type BlurOptionsType = Readonly<{
12
12
  intensity?: WithDefault<Double, -1>;
13
13
  interaction?: WithDefault<boolean, true>;
14
14
  }>;
15
+ type ScrollEdgeEffect = 'automatic' | 'hard' | 'soft' | 'hidden';
15
16
  type ScrollableOptionsType = Readonly<{
16
17
  keyboardScrollOffset?: WithDefault<Double, 0>;
17
18
  scrollingExpandsSheet?: WithDefault<boolean, true>;
19
+ topScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
20
+ bottomScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
18
21
  }>;
19
22
  export interface DetentInfoEventPayload {
20
23
  index: Int32;
@@ -1 +1 @@
1
- {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrueSheetViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/fabric/TrueSheetViewNativeComponent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodev09/react-native-true-sheet",
3
- "version": "3.10.0-beta.1",
3
+ "version": "3.10.0-beta.2",
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",
@@ -88,6 +88,14 @@ export interface GrabberOptions {
88
88
  adaptive?: boolean;
89
89
  }
90
90
 
91
+ /**
92
+ * Scroll edge effect style for iOS 26+.
93
+ * Controls the blur/gradient overlay applied to scroll view edges.
94
+ *
95
+ * @platform ios 26+
96
+ */
97
+ export type ScrollEdgeEffect = 'automatic' | 'hard' | 'soft' | 'hidden';
98
+
91
99
  /**
92
100
  * Options for scrollable behavior.
93
101
  */
@@ -106,6 +114,22 @@ export interface ScrollableOptions {
106
114
  * @default true
107
115
  */
108
116
  scrollingExpandsSheet?: boolean;
117
+
118
+ /**
119
+ * The scroll edge effect applied to the top edge of the scroll view.
120
+ *
121
+ * @platform ios 26+
122
+ * @default 'hidden'
123
+ */
124
+ topScrollEdgeEffect?: ScrollEdgeEffect;
125
+
126
+ /**
127
+ * The scroll edge effect applied to the bottom edge of the scroll view.
128
+ *
129
+ * @platform ios 26+
130
+ * @default 'hidden'
131
+ */
132
+ bottomScrollEdgeEffect?: ScrollEdgeEffect;
109
133
  }
110
134
 
111
135
  /**
@@ -21,9 +21,13 @@ type BlurOptionsType = Readonly<{
21
21
  interaction?: WithDefault<boolean, true>;
22
22
  }>;
23
23
 
24
+ type ScrollEdgeEffect = 'automatic' | 'hard' | 'soft' | 'hidden';
25
+
24
26
  type ScrollableOptionsType = Readonly<{
25
27
  keyboardScrollOffset?: WithDefault<Double, 0>;
26
28
  scrollingExpandsSheet?: WithDefault<boolean, true>;
29
+ topScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
30
+ bottomScrollEdgeEffect?: WithDefault<ScrollEdgeEffect, 'hidden'>;
27
31
  }>;
28
32
 
29
33
  export interface DetentInfoEventPayload {