react-native-ui-lib 7.46.2 → 7.46.3-snapshot.7341
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/babel.config.js +12 -0
- package/index.js +1 -0
- package/lib/android/build.gradle +5 -5
- package/lib/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java +0 -2
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java +31 -23
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java +1 -1
- package/lib/components/{HighlighterOverlayView.d.ts → HighlighterOverlayView/index.d.ts} +1 -1
- package/lib/components/HighlighterOverlayView/index.js +49 -0
- package/lib/components/{HighlighterOverlayView.web.d.ts → HighlighterOverlayView/index.web.d.ts} +1 -1
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/CustomKeyboardView.android.d.ts +5 -2
- package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.js +51 -0
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/CustomKeyboardView.ios.d.ts +1 -1
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/CustomKeyboardView.ios.js +3 -3
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView/CustomKeyboardView}/CustomKeyboardViewBase.d.ts +3 -0
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView/CustomKeyboardView}/CustomKeyboardViewBase.js +1 -1
- package/lib/components/Keyboard/{KeyboardInput/utils → KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager}/__tests__/EventEmitterManager.spec.js +1 -1
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView/KeyboardRegistry}/__tests__/KeyboardRegistry.spec.js +1 -1
- package/lib/components/Keyboard/{KeyboardInput/KeyboardRegistry.d.ts → KeyboardAccessoryView/KeyboardRegistry/index.d.ts} +1 -1
- package/lib/components/Keyboard/{KeyboardInput/KeyboardRegistry.js → KeyboardAccessoryView/KeyboardRegistry/index.js} +1 -1
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView/KeyboardRegistry}/keyboardRegistry.api.json +9 -9
- package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.d.ts +26 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.js +91 -0
- package/lib/components/Keyboard/{KeyboardInput/KeyboardAccessoryView.d.ts → KeyboardAccessoryView/index.d.ts} +11 -1
- package/lib/components/Keyboard/{KeyboardInput/KeyboardAccessoryView.js → KeyboardAccessoryView/index.js} +31 -5
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/keyboardAccessoryView.api.json +5 -5
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardAwareInsetsView.d.ts → KeyboardAwareInsetsView/index.d.ts} +1 -1
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardAwareInsetsView.js → KeyboardAwareInsetsView/index.js} +1 -1
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/KeyboardTrackingView.ios.d.ts +1 -4
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/KeyboardTrackingView.ios.js +5 -8
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/index.d.ts +2 -2
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/keyboardTrackingView.api.json +11 -20
- package/lib/components/Keyboard/index.d.ts +6 -6
- package/lib/components/Keyboard/index.js +6 -6
- package/lib/components/SafeArea/SafeAreaInsetsManager.d.ts +21 -7
- package/lib/components/SafeArea/SafeAreaInsetsManager.js +95 -31
- package/lib/components/SafeArea/SafeAreaSpacerView.d.ts +2 -2
- package/lib/components/SafeArea/SafeAreaSpacerView.js +63 -9
- package/lib/components/SafeArea/__tests__/SafeAreaInsetsManager.spec.js +274 -0
- package/lib/components/SafeArea/index.d.ts +10 -0
- package/lib/components/SafeArea/index.js +11 -0
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.js +1 -1
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m +52 -8
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h +1 -7
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m +1 -1
- package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +109 -41
- package/lib/package.json +1 -1
- package/lib/react-native.config.js +1 -3
- package/metro.config.js +2 -2
- package/package.json +25 -25
- package/panView.d.ts +2 -0
- package/panView.js +1 -0
- package/react-native.config.js +1 -3
- package/src/commons/Constants.js +2 -5
- package/src/commons/modifiers.d.ts +1 -0
- package/src/commons/modifiers.js +5 -2
- package/src/components/KeyboardAwareScrollView/KeyboardAwareBase.js +5 -1
- package/src/components/actionSheet/index.d.ts +2 -12
- package/src/components/actionSheet/index.js +3 -42
- package/src/components/badge/index.d.ts +107 -47
- package/src/components/button/button.api.json +6 -1
- package/src/components/button/index.d.ts +61 -23
- package/src/components/button/index.js +18 -1
- package/src/components/button/types.d.ts +4 -1
- package/src/components/colorPicker/ColorPickerDialog.d.ts +1 -1
- package/src/components/colorPicker/ColorPickerDialog.js +1 -1
- package/src/components/dateTimePicker/index.d.ts +186 -5
- package/src/components/dateTimePicker/index.js +3 -4
- package/src/components/dialog/dialog.api.json +31 -37
- package/src/{incubator → components}/dialog/dialogHeader.api.json +2 -2
- package/src/components/dialog/index.d.ts +13 -105
- package/src/components/dialog/index.js +204 -212
- package/src/{incubator → components}/dialog/types.d.ts +0 -19
- package/src/{incubator → components}/dialog/types.js +1 -3
- package/src/{incubator → components}/dialog/useDialogContent.d.ts +1 -1
- package/src/components/drawer/Swipeable.js +1 -2
- package/src/components/drawer/index.js +31 -25
- package/src/components/fadedScrollView/index.js +7 -2
- package/src/components/featureHighlight/index.d.ts +1 -1
- package/src/components/index.js +0 -19
- package/src/components/marquee/types.js +4 -1
- package/src/components/modal/index.d.ts +5 -0
- package/src/components/modal/index.js +14 -10
- package/src/components/modal/modal.api.json +5 -0
- package/src/{incubator → components}/panView/index.d.ts +3 -3
- package/src/{incubator → components}/panView/index.js +4 -4
- package/src/{incubator → components}/panView/usePanGesture.d.ts +1 -1
- package/src/components/picker/Picker.driver.new.d.ts +2 -2
- package/src/components/picker/Picker.driver.new.js +3 -3
- package/src/components/picker/PickerItem.js +6 -20
- package/src/components/picker/PickerPresenter.d.ts +0 -1
- package/src/components/picker/PickerPresenter.js +1 -23
- package/src/components/picker/api/picker.api.json +0 -1
- package/src/components/picker/api/pickerItem.api.json +0 -5
- package/src/components/picker/helpers/useFieldType.d.ts +53 -23
- package/src/components/picker/helpers/usePickerLabel.d.ts +1 -1
- package/src/components/picker/helpers/usePickerLabel.js +2 -3
- package/src/components/picker/helpers/usePickerMigrationWarnings.d.ts +1 -1
- package/src/components/picker/helpers/usePickerMigrationWarnings.js +0 -12
- package/src/components/picker/helpers/usePickerSearch.d.ts +1 -1
- package/src/components/picker/helpers/usePickerSearch.js +4 -8
- package/src/components/picker/helpers/usePickerSelection.d.ts +1 -1
- package/src/components/picker/helpers/usePickerSelection.js +2 -10
- package/src/components/picker/index.js +4 -22
- package/src/components/picker/types.d.ts +1 -24
- package/src/components/segmentedControl/index.js +3 -3
- package/src/components/slider/GradientSlider.d.ts +1 -1
- package/src/components/sortableGridList/SortableItem.js +13 -4
- package/src/components/sortableList/SortableListItem.js +13 -4
- package/src/components/stackAggregator/index.js +16 -11
- package/src/components/text/Text.driver.new.d.ts +2 -2
- package/src/components/text/Text.driver.new.js +2 -2
- package/src/components/textField/Input.js +0 -1
- package/src/components/textField/TextField.driver.new.d.ts +2 -2
- package/src/components/textField/TextField.driver.new.js +2 -2
- package/src/components/textField/presets/outline.d.ts +106 -46
- package/src/components/textField/presets/underline.d.ts +106 -46
- package/src/components/textField/types.js +1 -0
- package/src/components/textField/usePreset.d.ts +72 -44
- package/src/components/timeline/types.js +3 -0
- package/src/{incubator/hooks/useHiddenLocation.web.d.ts → hooks/useHiddenLocation/index.d.ts} +1 -1
- package/src/{incubator/hooks/useHiddenLocation.d.ts → hooks/useHiddenLocation/index.web.d.ts} +1 -1
- package/src/incubator/expandableOverlay/ExpandableOverlay.driver.js +1 -1
- package/src/incubator/expandableOverlay/index.d.ts +42 -3
- package/src/incubator/expandableOverlay/index.js +1 -4
- package/src/incubator/gradient/BorderGradient.d.ts +4 -0
- package/src/incubator/gradient/BorderGradient.js +45 -0
- package/src/incubator/gradient/CircleGradient.d.ts +4 -0
- package/src/incubator/gradient/CircleGradient.js +35 -0
- package/src/incubator/gradient/RectangleGradient.d.ts +4 -0
- package/src/incubator/gradient/RectangleGradient.js +32 -0
- package/src/incubator/gradient/index.d.ts +5 -0
- package/src/incubator/gradient/index.js +31 -0
- package/src/incubator/gradient/types.d.ts +26 -0
- package/src/incubator/gradient/types.js +1 -0
- package/src/incubator/gradient/useAngleTransform.d.ts +27 -0
- package/src/incubator/gradient/useAngleTransform.js +72 -0
- package/src/incubator/index.d.ts +1 -2
- package/src/incubator/index.js +2 -3
- package/src/incubator/toast/index.js +1 -1
- package/src/index.d.ts +3 -10
- package/src/index.js +42 -162
- package/src/optionalDependencies/LinearGradientPackage.d.ts +1 -1
- package/src/testkit/index.d.ts +1 -1
- package/src/testkit/index.js +1 -1
- package/src/testkit/new/Component.driver.d.ts +4 -1
- package/src/testkit/new/Component.driver.js +3 -3
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/ReactHacks.java +0 -30
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/ReflectionUtils.java +0 -34
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/DefaultKeyListener.java +0 -33
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/KeyListenerProxy.java +0 -53
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule.java +0 -54
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerPackage.java +0 -28
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/ViewUtils.java +0 -36
- package/lib/components/HighlighterOverlayView.js +0 -40
- package/lib/components/Keyboard/KeyboardInput/CustomKeyboardView/CustomKeyboardView.android.js +0 -28
- package/lib/components/Keyboard/KeyboardInput/utils/KeyboardUtils.d.ts +0 -11
- package/lib/components/Keyboard/KeyboardInput/utils/KeyboardUtils.js +0 -17
- package/panningViews.d.ts +0 -2
- package/panningViews.js +0 -1
- package/sharedTransition.d.ts +0 -2
- package/sharedTransition.js +0 -1
- package/src/components/dialog/DialogDismissibleView.d.ts +0 -34
- package/src/components/dialog/DialogDismissibleView.js +0 -184
- package/src/components/dialog/OverlayFadingBackground.d.ts +0 -14
- package/src/components/dialog/OverlayFadingBackground.js +0 -45
- package/src/components/panningViews/asPanViewConsumer.d.ts +0 -3
- package/src/components/panningViews/asPanViewConsumer.js +0 -16
- package/src/components/panningViews/panDismissibleView.d.ts +0 -51
- package/src/components/panningViews/panDismissibleView.js +0 -350
- package/src/components/panningViews/panGestureView.d.ts +0 -23
- package/src/components/panningViews/panGestureView.js +0 -156
- package/src/components/panningViews/panListenerView.d.ts +0 -66
- package/src/components/panningViews/panListenerView.js +0 -155
- package/src/components/panningViews/panResponderView.d.ts +0 -19
- package/src/components/panningViews/panResponderView.js +0 -79
- package/src/components/panningViews/panningContext.d.ts +0 -3
- package/src/components/panningViews/panningContext.js +0 -4
- package/src/components/panningViews/panningProvider.d.ts +0 -73
- package/src/components/panningViews/panningProvider.js +0 -101
- package/src/components/sharedTransition/ShareTransitionContext.js +0 -3
- package/src/components/sharedTransition/SharedArea.js +0 -153
- package/src/components/sharedTransition/SourceElement.js +0 -44
- package/src/components/sharedTransition/TargetElement.js +0 -38
- package/src/components/sharedTransition/index.js +0 -9
- package/src/incubator/dialog/dialog.api.json +0 -54
- package/src/incubator/dialog/index.d.ts +0 -15
- package/src/incubator/dialog/index.js +0 -218
- /package/lib/components/{HighlighterOverlayView.web.js → HighlighterOverlayView/index.web.js} +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/index.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/index.js +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/index.web.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/index.web.js +0 -0
- /package/lib/components/Keyboard/{KeyboardInput/utils/EventEmitterManager.d.ts → KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.d.ts} +0 -0
- /package/lib/components/Keyboard/{KeyboardInput/utils/EventEmitterManager.js → KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.js} +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/TextInputKeyboardManager.android.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/TextInputKeyboardManager.android.js +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/TextInputKeyboardManager.ios.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/TextInputKeyboardManager.ios.js +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/index.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/index.js +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking → KeyboardAwareInsetsView}/keyboardAwareInsetsView.api.json +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/KeyboardTrackingView.android.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/KeyboardTrackingView.android.js +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/index.js +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/index.web.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/index.web.js +0 -0
- /package/src/{incubator → components}/dialog/Dialog.driver.new.d.ts +0 -0
- /package/src/{incubator → components}/dialog/Dialog.driver.new.js +0 -0
- /package/src/{incubator → components}/dialog/DialogHeader.d.ts +0 -0
- /package/src/{incubator → components}/dialog/DialogHeader.js +0 -0
- /package/src/{incubator → components}/dialog/useDialogContent.js +0 -0
- /package/src/{incubator → components}/panView/panningUtil.d.ts +0 -0
- /package/src/{incubator → components}/panView/panningUtil.js +0 -0
- /package/src/{incubator → components}/panView/usePanGesture.js +0 -0
- /package/src/{incubator/hooks/useHiddenLocation.js → hooks/useHiddenLocation/index.js} +0 -0
- /package/src/{incubator/hooks/useHiddenLocation.web.js → hooks/useHiddenLocation/index.web.js} +0 -0
|
@@ -11,11 +11,12 @@
|
|
|
11
11
|
#import "UIResponder+FirstResponderTemp.h"
|
|
12
12
|
|
|
13
13
|
#import <WebKit/WebKit.h>
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
#import <React/RCTBridge.h>
|
|
16
16
|
#import <React/RCTUIManager.h>
|
|
17
17
|
#import <React/UIView+React.h>
|
|
18
18
|
#import <React/RCTUIManagerUtils.h>
|
|
19
|
+
#import <React/RCTSurfaceHostingView.h>
|
|
19
20
|
|
|
20
21
|
#import <objc/runtime.h>
|
|
21
22
|
|
|
@@ -70,7 +71,7 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
70
71
|
|
|
71
72
|
if (self)
|
|
72
73
|
{
|
|
73
|
-
[self addObserver:self forKeyPath:@"
|
|
74
|
+
[self addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew context:NULL];
|
|
74
75
|
_inputViewsMap = [NSMapTable weakToWeakObjectsMapTable];
|
|
75
76
|
_deferedInitializeAccessoryViewsCount = 0;
|
|
76
77
|
|
|
@@ -93,20 +94,21 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
93
94
|
return self;
|
|
94
95
|
}
|
|
95
96
|
|
|
96
|
-
-(
|
|
97
|
+
-(UIView*)getRootView
|
|
97
98
|
{
|
|
98
99
|
UIView *view = self;
|
|
99
100
|
while (view.superview != nil)
|
|
100
101
|
{
|
|
101
102
|
view = view.superview;
|
|
102
|
-
if ([view isKindOfClass:[
|
|
103
|
+
if ([view isKindOfClass:[RCTSurfaceHostingView class]]) {
|
|
103
104
|
break;
|
|
105
|
+
}
|
|
104
106
|
}
|
|
105
107
|
|
|
106
|
-
if ([view isKindOfClass:[
|
|
107
|
-
|
|
108
|
-
return (RCTRootView*)view;
|
|
108
|
+
if ([view isKindOfClass:[RCTSurfaceHostingView class]]) {
|
|
109
|
+
return view;
|
|
109
110
|
}
|
|
111
|
+
|
|
110
112
|
return nil;
|
|
111
113
|
}
|
|
112
114
|
|
|
@@ -169,10 +171,20 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
169
171
|
[self updateBottomViewFrame];
|
|
170
172
|
}
|
|
171
173
|
|
|
174
|
+
- (UIScrollView*)extractUIScrollView:(UIView*)view
|
|
175
|
+
{
|
|
176
|
+
for (UIView* subview in view.subviews) {
|
|
177
|
+
if ([subview isKindOfClass:[UIScrollView class]]) {
|
|
178
|
+
return (UIScrollView*)subview;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return nil;
|
|
183
|
+
}
|
|
184
|
+
|
|
172
185
|
- (void)initializeAccessoryViewsAndHandleInsets
|
|
173
186
|
{
|
|
174
187
|
NSArray<UIView*>* allSubviews = [self getBreadthFirstSubviewsForView:[self getRootView]];
|
|
175
|
-
NSMutableArray<RCTScrollView*>* rctScrollViewsArray = [NSMutableArray array];
|
|
176
188
|
|
|
177
189
|
for (UIView* subview in allSubviews)
|
|
178
190
|
{
|
|
@@ -180,27 +192,30 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
180
192
|
{
|
|
181
193
|
if(_scrollViewToManage == nil)
|
|
182
194
|
{
|
|
183
|
-
if(
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
+
if ([NSStringFromClass([subview class]) isEqualToString:@"RCTScrollViewComponentView"]) {
|
|
196
|
+
UIScrollView *scrollView = [self extractUIScrollView:subview];
|
|
197
|
+
|
|
198
|
+
if ([scrollView isKindOfClass:[UIScrollView class]])
|
|
199
|
+
{
|
|
200
|
+
if(_requiresSameParentToManageScrollView && subview.superview == self.superview)
|
|
201
|
+
{
|
|
202
|
+
_scrollViewToManage = scrollView;
|
|
203
|
+
}
|
|
204
|
+
else if(!_requiresSameParentToManageScrollView)
|
|
205
|
+
{
|
|
206
|
+
_scrollViewToManage = scrollView;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if(_scrollViewToManage != nil)
|
|
210
|
+
{
|
|
211
|
+
_scrollIsInverted = CGAffineTransformEqualToTransform(subview.superview.transform, CGAffineTransformMakeScale(1, -1));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
195
214
|
}
|
|
196
215
|
}
|
|
197
|
-
|
|
198
|
-
if([subview isKindOfClass:[RCTScrollView class]])
|
|
199
|
-
{
|
|
200
|
-
[rctScrollViewsArray addObject:(RCTScrollView*)subview];
|
|
201
|
-
}
|
|
202
216
|
}
|
|
203
217
|
|
|
218
|
+
|
|
204
219
|
if ([subview isKindOfClass:NSClassFromString(@"RCTTextField")])
|
|
205
220
|
{
|
|
206
221
|
UITextField *textField = nil;
|
|
@@ -223,17 +238,30 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
223
238
|
{
|
|
224
239
|
[self setupTextView:[subview valueForKey:@"_backedTextInputView"]];
|
|
225
240
|
}
|
|
226
|
-
else if ([subview isKindOfClass:NSClassFromString(@"RCTTextView")]
|
|
241
|
+
else if ([subview isKindOfClass:NSClassFromString(@"RCTTextView")] ||
|
|
242
|
+
[subview isKindOfClass:NSClassFromString(@"RCTTextInputComponentView")])
|
|
227
243
|
{
|
|
244
|
+
|
|
228
245
|
UITextView *textView = nil;
|
|
229
|
-
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
246
|
+
|
|
247
|
+
if ([subview isKindOfClass:NSClassFromString(@"RCTTextInputComponentView")]) {
|
|
248
|
+
Ivar textFieldIvar = class_getInstanceVariable([subview class], "_backedTextInputView");
|
|
249
|
+
if (textFieldIvar != NULL)
|
|
250
|
+
{
|
|
251
|
+
textView = [subview valueForKey:@"_backedTextInputView"];
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
} else {
|
|
255
|
+
|
|
256
|
+
Ivar backedTextInputIvar = class_getInstanceVariable([subview class], "_backedTextInput");
|
|
257
|
+
if (backedTextInputIvar != NULL)
|
|
258
|
+
{
|
|
259
|
+
textView = [subview valueForKey:@"_backedTextInput"];
|
|
260
|
+
}
|
|
261
|
+
else if([subview isKindOfClass:[UITextView class]])
|
|
262
|
+
{
|
|
263
|
+
textView = (UITextView*)subview;
|
|
264
|
+
}
|
|
237
265
|
}
|
|
238
266
|
[self setupTextView:textView];
|
|
239
267
|
}
|
|
@@ -247,13 +275,11 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
247
275
|
}
|
|
248
276
|
}
|
|
249
277
|
|
|
250
|
-
|
|
278
|
+
if(_scrollViewToManage != nil)
|
|
251
279
|
{
|
|
252
|
-
if(
|
|
280
|
+
if(_scrollViewToManage.delegate == nil)
|
|
253
281
|
{
|
|
254
|
-
|
|
255
|
-
[scrollView addScrollListener:self];
|
|
256
|
-
break;
|
|
282
|
+
_scrollViewToManage.delegate = self;
|
|
257
283
|
}
|
|
258
284
|
}
|
|
259
285
|
|
|
@@ -270,6 +296,8 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
270
296
|
_originalHeight = _ObservingInputAccessoryViewTemp.height;
|
|
271
297
|
|
|
272
298
|
[self addBottomViewIfNecessary];
|
|
299
|
+
|
|
300
|
+
[self ensureLegacyViewManagerTouchDelegation];
|
|
273
301
|
}
|
|
274
302
|
|
|
275
303
|
- (void)setupTextView:(UITextView*)textView
|
|
@@ -338,12 +366,12 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
338
366
|
|
|
339
367
|
-(void)dealloc
|
|
340
368
|
{
|
|
341
|
-
[self removeObserver:self forKeyPath:@"
|
|
369
|
+
[self removeObserver:self forKeyPath:@"frame"];
|
|
342
370
|
}
|
|
343
371
|
|
|
344
372
|
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context
|
|
345
373
|
{
|
|
346
|
-
_ObservingInputAccessoryViewTemp.height = self.
|
|
374
|
+
_ObservingInputAccessoryViewTemp.height = self.frame.size.height;
|
|
347
375
|
}
|
|
348
376
|
|
|
349
377
|
- (void)ObservingInputAccessoryViewTempKeyboardWillDisappear:(ObservingInputAccessoryViewTemp *)ObservingInputAccessoryViewTemp
|
|
@@ -551,9 +579,48 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
|
|
|
551
579
|
[self updateBottomViewFrame];
|
|
552
580
|
|
|
553
581
|
self.transform = CGAffineTransformMakeTranslation(0, accessoryTranslation);
|
|
582
|
+
|
|
554
583
|
[self _updateScrollViewInsets];
|
|
555
584
|
}
|
|
556
585
|
|
|
586
|
+
- (void)ensureLegacyViewManagerTouchDelegation {
|
|
587
|
+
UIView *superview = self.superview;
|
|
588
|
+
if (superview) {
|
|
589
|
+
if ([NSStringFromClass([superview class]) isEqualToString:@"RCTLegacyViewManagerInteropComponentView"]) {
|
|
590
|
+
[self changeLegacyViewManagerHitTestDelegation:superview];
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
- (void)changeLegacyViewManagerHitTestDelegation:(UIView *)wrapperView {
|
|
596
|
+
static dispatch_once_t onceToken;
|
|
597
|
+
static IMP originalHitTestIMP = NULL;
|
|
598
|
+
|
|
599
|
+
dispatch_once(&onceToken, ^{
|
|
600
|
+
Class wrapperClass = [wrapperView class];
|
|
601
|
+
|
|
602
|
+
Method originalMethod = class_getInstanceMethod(wrapperClass, @selector(hitTest:withEvent:));
|
|
603
|
+
if (originalMethod) {
|
|
604
|
+
originalHitTestIMP = method_getImplementation(originalMethod);
|
|
605
|
+
|
|
606
|
+
IMP customHitTest = imp_implementationWithBlock(^UIView*(id self, CGPoint point, UIEvent *event) {
|
|
607
|
+
UIView *subview = [self subviews].firstObject;
|
|
608
|
+
if (subview &&
|
|
609
|
+
[subview isKindOfClass:[KeyboardTrackingViewTemp class]]) {
|
|
610
|
+
CGPoint convertedPoint = [self convertPoint:point toView:subview];
|
|
611
|
+
UIView *result = [subview hitTest:convertedPoint withEvent:event];
|
|
612
|
+
return result;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
UIView* (*originalFunc)(id, SEL, CGPoint, UIEvent*) = (void*)originalHitTestIMP;
|
|
616
|
+
return originalFunc(self, @selector(hitTest:withEvent:), point, event);
|
|
617
|
+
});
|
|
618
|
+
|
|
619
|
+
method_setImplementation(originalMethod, customHitTest);
|
|
620
|
+
}
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
|
|
557
624
|
- (void)performScrollToFocusedInput
|
|
558
625
|
{
|
|
559
626
|
if (_scrollViewToManage != nil && self.scrollToFocusedInput)
|
|
@@ -735,3 +802,4 @@ RCT_EXPORT_METHOD(scrollToStart:(nonnull NSNumber *)reactTag)
|
|
|
735
802
|
}
|
|
736
803
|
|
|
737
804
|
@end
|
|
805
|
+
|
package/lib/package.json
CHANGED
|
@@ -10,11 +10,9 @@ module.exports = {
|
|
|
10
10
|
sourceDir: './android/',
|
|
11
11
|
packageImportPath: `import com.wix.reactnativeuilib.dynamicfont.DynamicFontPackage;
|
|
12
12
|
import com.wix.reactnativeuilib.highlighterview.HighlighterViewPackage;
|
|
13
|
-
import com.wix.reactnativeuilib.keyboardinput.KeyboardInputPackage
|
|
14
|
-
import com.wix.reactnativeuilib.textinput.TextInputDelKeyHandlerPackage;`,
|
|
13
|
+
import com.wix.reactnativeuilib.keyboardinput.KeyboardInputPackage;`,
|
|
15
14
|
packageInstance: `new DynamicFontPackage(),
|
|
16
15
|
new HighlighterViewPackage(),
|
|
17
|
-
new TextInputDelKeyHandlerPackage(),
|
|
18
16
|
new KeyboardInputPackage(getApplication())`
|
|
19
17
|
}
|
|
20
18
|
}
|
package/metro.config.js
CHANGED
|
@@ -5,9 +5,9 @@ const {assetExts, sourceExts} = defaultConfig.resolver;
|
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Metro configuration
|
|
8
|
-
* https://
|
|
8
|
+
* https://reactnative.dev/docs/metro
|
|
9
9
|
*
|
|
10
|
-
* @type {import('metro-config').MetroConfig}
|
|
10
|
+
* @type {import('@react-native/metro-config').MetroConfig}
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
const config = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-ui-lib",
|
|
3
|
-
"version": "7.46.
|
|
3
|
+
"version": "7.46.3-snapshot.7341",
|
|
4
4
|
"main": "src/index.js",
|
|
5
5
|
"types": "src/index.d.ts",
|
|
6
6
|
"author": "Ethan Sharabi <ethan.shar@gmail.com>",
|
|
@@ -56,15 +56,15 @@
|
|
|
56
56
|
"react-native-redash": "^12.0.3",
|
|
57
57
|
"semver": "^5.5.0",
|
|
58
58
|
"tinycolor2": "^1.4.2",
|
|
59
|
-
"uilib-native": "
|
|
59
|
+
"uilib-native": "5.0.0-snapshot.7266",
|
|
60
60
|
"url-parse": "^1.2.0",
|
|
61
61
|
"wix-react-native-text-size": "1.0.9"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@babel/cli": "^7.16.8",
|
|
65
|
-
"@babel/core": "^7.
|
|
65
|
+
"@babel/core": "^7.25.2",
|
|
66
66
|
"@babel/plugin-transform-modules-commonjs": "^7.17.9",
|
|
67
|
-
"@babel/preset-env": "^7.
|
|
67
|
+
"@babel/preset-env": "^7.25.3",
|
|
68
68
|
"@babel/preset-react": "^7.10.1",
|
|
69
69
|
"@babel/runtime": "^7.26.10",
|
|
70
70
|
"@formatjs/intl-datetimeformat": "^6.0.3",
|
|
@@ -73,28 +73,29 @@
|
|
|
73
73
|
"@formatjs/intl-numberformat": "^8.0.4",
|
|
74
74
|
"@formatjs/intl-pluralrules": "^5.0.3",
|
|
75
75
|
"@react-native-community/blur": "4.4.1",
|
|
76
|
-
"@react-native-community/
|
|
77
|
-
"@react-native-community/
|
|
78
|
-
"@react-native/
|
|
79
|
-
"@react-native/
|
|
80
|
-
"@react-native/
|
|
81
|
-
"@react-native/
|
|
76
|
+
"@react-native-community/cli": "15.0.1",
|
|
77
|
+
"@react-native-community/cli-platform-android": "15.0.1",
|
|
78
|
+
"@react-native-community/cli-platform-ios": "15.0.1",
|
|
79
|
+
"@react-native-community/datetimepicker": "8.2.0",
|
|
80
|
+
"@react-native-community/netinfo": "11.3.3",
|
|
81
|
+
"@react-native/babel-preset": "0.77.2",
|
|
82
|
+
"@react-native/eslint-config": "0.77.2",
|
|
83
|
+
"@react-native/metro-config": "0.77.2",
|
|
84
|
+
"@react-native/typescript-config": "0.77.2",
|
|
82
85
|
"@shopify/flash-list": "1.7.6",
|
|
83
86
|
"@testing-library/react-hooks": "^8.0.1",
|
|
84
87
|
"@testing-library/react-native": "^11.5.1",
|
|
85
88
|
"@types/hoist-non-react-statics": "^3.3.1",
|
|
86
|
-
"@types/jest": "^29.
|
|
89
|
+
"@types/jest": "^29.5.13",
|
|
87
90
|
"@types/lodash": "^4.0.0",
|
|
88
91
|
"@types/prop-types": "^15.5.3",
|
|
89
92
|
"@types/react": "18.3.7",
|
|
90
|
-
"@types/react-native": "0.73.0",
|
|
91
93
|
"@types/react-test-renderer": "^18.3.0",
|
|
92
94
|
"@types/tinycolor2": "^1.4.2",
|
|
93
95
|
"@types/url-parse": "^1.4.3",
|
|
94
96
|
"@typescript-eslint/eslint-plugin": "^5.3.1",
|
|
95
97
|
"@typescript-eslint/parser": "^5.3.1",
|
|
96
98
|
"@welldone-software/why-did-you-render": "^3.2.1",
|
|
97
|
-
"babel-jest": "^29.6.3",
|
|
98
99
|
"babel-plugin-lodash": "^3.3.4",
|
|
99
100
|
"babel-plugin-module-resolver": "^5.0.0",
|
|
100
101
|
"eslint": "8.19.0",
|
|
@@ -104,7 +105,6 @@
|
|
|
104
105
|
"eslint-plugin-react-native": "^4.0.0",
|
|
105
106
|
"jest": "^29.6.3",
|
|
106
107
|
"light-date": "^1.2.0",
|
|
107
|
-
"metro-react-native-babel-preset": "0.73.10",
|
|
108
108
|
"moment": "^2.24.0",
|
|
109
109
|
"object-hash": "^3.0.0",
|
|
110
110
|
"postcss": "^8.4.21",
|
|
@@ -114,27 +114,28 @@
|
|
|
114
114
|
"react": "18.2.0",
|
|
115
115
|
"react-autobind": "^1.0.6",
|
|
116
116
|
"react-dom": "^18.2.0",
|
|
117
|
-
"react-native": "0.
|
|
117
|
+
"react-native": "0.77.2",
|
|
118
118
|
"react-native-fs": "^2.20.0",
|
|
119
|
-
"react-native-gesture-handler": "2.
|
|
119
|
+
"react-native-gesture-handler": "2.22.1",
|
|
120
120
|
"react-native-haptic-feedback": "^1.11.0",
|
|
121
121
|
"react-native-linear-gradient": "2.6.2",
|
|
122
|
-
"react-native-mmkv": "2.
|
|
123
|
-
"react-native-navigation": "
|
|
124
|
-
"react-native-reanimated": "3.
|
|
122
|
+
"react-native-mmkv": "3.2.0",
|
|
123
|
+
"react-native-navigation": "8.1.2",
|
|
124
|
+
"react-native-reanimated": "3.17.5",
|
|
125
125
|
"react-native-shimmer-placeholder": "^2.0.6",
|
|
126
|
-
"react-native-svg": "15.2
|
|
126
|
+
"react-native-svg": "15.11.2",
|
|
127
127
|
"react-native-svg-transformer": "1.5.0",
|
|
128
|
-
"react-test-renderer": "18.
|
|
128
|
+
"react-test-renderer": "18.3.1",
|
|
129
129
|
"reassure": "^0.4.1",
|
|
130
|
+
"setimmediate": "^1.0.5",
|
|
130
131
|
"shell-utils": "^1.0.10",
|
|
131
132
|
"typescript": "5.0.4"
|
|
132
133
|
},
|
|
133
134
|
"peerDependencies": {
|
|
134
135
|
"react": ">=17.0.1",
|
|
135
|
-
"react-native": ">=0.
|
|
136
|
-
"react-native-gesture-handler": ">=2.
|
|
137
|
-
"react-native-reanimated": ">=
|
|
136
|
+
"react-native": ">=0.77.0",
|
|
137
|
+
"react-native-gesture-handler": ">=2.22.0",
|
|
138
|
+
"react-native-reanimated": ">=3.17.5",
|
|
138
139
|
"react-native-ui-lib": "*"
|
|
139
140
|
},
|
|
140
141
|
"jest": {
|
|
@@ -162,7 +163,6 @@
|
|
|
162
163
|
"engines": {
|
|
163
164
|
"node": ">=18"
|
|
164
165
|
},
|
|
165
|
-
"packageManager": "yarn@3.4.1",
|
|
166
166
|
"files": [
|
|
167
167
|
"*.js",
|
|
168
168
|
"*.d.ts",
|
package/panView.d.ts
ADDED
package/panView.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./src/components/panView').default;
|
package/react-native.config.js
CHANGED
|
@@ -10,11 +10,9 @@ module.exports = {
|
|
|
10
10
|
sourceDir: '../uilib-native/android/',
|
|
11
11
|
packageImportPath: `import com.wix.reactnativeuilib.dynamicfont.DynamicFontPackage;
|
|
12
12
|
import com.wix.reactnativeuilib.highlighterview.HighlighterViewPackage;
|
|
13
|
-
import com.wix.reactnativeuilib.keyboardinput.KeyboardInputPackage
|
|
14
|
-
import com.wix.reactnativeuilib.textinput.TextInputDelKeyHandlerPackage;`,
|
|
13
|
+
import com.wix.reactnativeuilib.keyboardinput.KeyboardInputPackage;`,
|
|
15
14
|
packageInstance: `new DynamicFontPackage(),
|
|
16
15
|
new HighlighterViewPackage(),
|
|
17
|
-
new TextInputDelKeyHandlerPackage(),
|
|
18
16
|
new KeyboardInputPackage(getApplication())`
|
|
19
17
|
}
|
|
20
18
|
}
|
package/src/commons/Constants.js
CHANGED
|
@@ -24,11 +24,8 @@ function setStatusBarHeight() {
|
|
|
24
24
|
const {
|
|
25
25
|
StatusBarManager
|
|
26
26
|
} = NativeModules;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// override guesstimate height with the actual height from StatusBarManager
|
|
30
|
-
StatusBarManager.getHeight(data => statusBarHeight = data.height);
|
|
31
|
-
}
|
|
27
|
+
// override guesstimate height with the actual height from StatusBarManager
|
|
28
|
+
statusBarHeight = (StatusBar.currentHeight ?? StatusBarManager?.getConstants?.()?.HEIGHT) || 0;
|
|
32
29
|
}
|
|
33
30
|
function getAspectRatio() {
|
|
34
31
|
return screenWidth < screenHeight ? screenHeight / screenWidth : screenWidth / screenHeight;
|
|
@@ -111,6 +111,7 @@ export declare function extractModifierProps(props: Dictionary<any>): _.Dictiona
|
|
|
111
111
|
*/
|
|
112
112
|
export declare function extractOwnProps(props: Dictionary<any>, ignoreProps: string[]): _.Omit<_.Dictionary<any>, string>;
|
|
113
113
|
export declare function extractComponentProps(component: any, props: Dictionary<any>, ignoreProps?: string[]): _.Omit<_.Dictionary<any>, string>;
|
|
114
|
+
export declare function getComponentName(componentDisplayName: string): any;
|
|
114
115
|
export declare function getThemeProps<T extends object>(props?: T, context?: any, componentDisplayName?: string): T;
|
|
115
116
|
export declare function generateModifiersStyle(options: ModifiersOptions | undefined, props: Dictionary<any>): ExtractedStyle;
|
|
116
117
|
export declare function getAlteredModifiersOptions(currentProps: any, nextProps: any): AlteredOptions;
|
package/src/commons/modifiers.js
CHANGED
|
@@ -248,12 +248,15 @@ export function extractComponentProps(component, props, ignoreProps = []) {
|
|
|
248
248
|
const componentProps = _flow(props => _pickBy(props, (_value, key) => _includes(Object.keys(componentPropTypes), key)), props => _omit(props, ignoreProps))(props);
|
|
249
249
|
return componentProps;
|
|
250
250
|
}
|
|
251
|
+
export function getComponentName(componentDisplayName) {
|
|
252
|
+
//@ts-ignore
|
|
253
|
+
return componentDisplayName || this.displayName || this.constructor.displayName || this.constructor.name;
|
|
254
|
+
}
|
|
251
255
|
|
|
252
256
|
//@ts-ignore
|
|
253
257
|
export function getThemeProps(props = this.props, context = this.context, componentDisplayName = '') {
|
|
254
|
-
const componentName =
|
|
255
258
|
//@ts-ignore
|
|
256
|
-
|
|
259
|
+
const componentName = getComponentName.call(this, componentDisplayName);
|
|
257
260
|
let themeProps;
|
|
258
261
|
if (_isFunction(ThemeManager.components[componentName])) {
|
|
259
262
|
themeProps = ThemeManager.components[componentName](props, context);
|
|
@@ -107,7 +107,7 @@ export default class KeyboardAwareBase extends Component {
|
|
|
107
107
|
setTimeout(() => {
|
|
108
108
|
this._keyboardAwareView
|
|
109
109
|
.getScrollResponder()
|
|
110
|
-
.scrollResponderScrollNativeHandleToKeyboard(
|
|
110
|
+
.scrollResponderScrollNativeHandleToKeyboard(this.findNodeHandle(textInputRef),
|
|
111
111
|
this.props.scrollToInputAdditionalOffset,
|
|
112
112
|
true);
|
|
113
113
|
}, 0);
|
|
@@ -117,6 +117,10 @@ export default class KeyboardAwareBase extends Component {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
findNodeHandle(ref) {
|
|
121
|
+
return ref.current?.getNodeHandle?.() || ref?.getNodeHandle?.() || ReactNative.findNodeHandle(ref.current || ref);
|
|
122
|
+
}
|
|
123
|
+
|
|
120
124
|
_onKeyboardWillShow(event) {
|
|
121
125
|
this._scrollToFocusedTextInput();
|
|
122
126
|
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
-
import { DialogProps } from '../dialog';
|
|
4
3
|
import { ButtonProps } from '../button';
|
|
5
|
-
import { DialogProps
|
|
4
|
+
import { type DialogProps } from '../dialog';
|
|
6
5
|
type ActionSheetOnOptionPress = (index: number) => void;
|
|
7
6
|
type ActionSheetProps = {
|
|
8
|
-
/**
|
|
9
|
-
* Migrate to the Incubator.Dialog component
|
|
10
|
-
*/
|
|
11
|
-
migrateDialog?: boolean;
|
|
12
7
|
/**
|
|
13
8
|
* Whether to show the action sheet or not
|
|
14
9
|
*/
|
|
@@ -68,11 +63,6 @@ type ActionSheetProps = {
|
|
|
68
63
|
* Note: you will need to call onOptionPress so the option's onPress will be called
|
|
69
64
|
*/
|
|
70
65
|
renderAction?: (option: ButtonProps, index: number, onOptionPress: ActionSheetOnOptionPress) => JSX.Element;
|
|
71
|
-
/**
|
|
72
|
-
* @deprecated
|
|
73
|
-
* Called once the modal has been dismissed completely
|
|
74
|
-
*/
|
|
75
|
-
onModalDismissed?: DialogProps['onDialogDismissed'];
|
|
76
66
|
/**
|
|
77
67
|
* Whether or not to handle SafeArea
|
|
78
68
|
*/
|
|
@@ -80,7 +70,7 @@ type ActionSheetProps = {
|
|
|
80
70
|
/**
|
|
81
71
|
* Additional props to send to the Dialog
|
|
82
72
|
*/
|
|
83
|
-
dialogProps?: Omit<DialogProps, 'useSafeArea' | 'testID' | 'containerStyle' | 'visible' | 'onDismiss' | 'onDialogDismissed'> |
|
|
73
|
+
dialogProps?: Omit<DialogProps, 'useSafeArea' | 'testID' | 'containerStyle' | 'visible' | 'onDismiss' | 'onDialogDismissed'> | DialogProps;
|
|
84
74
|
/**
|
|
85
75
|
* testID for e2e tests
|
|
86
76
|
*/
|
|
@@ -6,15 +6,12 @@ import React, { Component } from 'react';
|
|
|
6
6
|
import { ActionSheetIOS, StyleSheet } from 'react-native';
|
|
7
7
|
import { Colors } from "../../style";
|
|
8
8
|
import { asBaseComponent, Constants } from "../../commons/new";
|
|
9
|
-
import Dialog from "../dialog";
|
|
10
9
|
import View from "../view";
|
|
11
10
|
import Text from "../text";
|
|
12
11
|
import Image from "../image";
|
|
13
12
|
//@ts-ignore
|
|
14
13
|
import ListItem from "../listItem";
|
|
15
|
-
import
|
|
16
|
-
import { Dialog as IncubatorDialog } from "../../incubator";
|
|
17
|
-
import { LogService } from "../../services";
|
|
14
|
+
import Dialog from "../dialog";
|
|
18
15
|
const VERTICAL_PADDING = 8;
|
|
19
16
|
/**
|
|
20
17
|
* @description: Cross platform Action Sheet, with a support for native iOS solution
|
|
@@ -130,55 +127,19 @@ class ActionSheet extends Component {
|
|
|
130
127
|
{this.renderActions()}
|
|
131
128
|
</View>;
|
|
132
129
|
}
|
|
133
|
-
|
|
130
|
+
render() {
|
|
134
131
|
const {
|
|
135
|
-
useNativeIOS,
|
|
136
132
|
visible,
|
|
137
133
|
onDismiss,
|
|
138
134
|
dialogStyle,
|
|
139
|
-
onModalDismissed,
|
|
140
135
|
testID,
|
|
141
136
|
useSafeArea,
|
|
142
137
|
dialogProps
|
|
143
138
|
} = this.props;
|
|
144
|
-
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
return <Dialog bottom centerH width="100%" panDirection={PanningProvider.Directions.DOWN} {...dialogProps} useSafeArea={useSafeArea} testID={testID} containerStyle={[styles.dialog, dialogStyle]} visible={visible} onDismiss={onDismiss} onDialogDismissed={onModalDismissed}>
|
|
139
|
+
return <Dialog bottom centerH width="100%" direction={Dialog.directions.DOWN} {...dialogProps} useSafeArea={useSafeArea} testID={testID} containerStyle={[styles.incubatorDialog, dialogStyle]} visible={visible} onDismiss={onDismiss}>
|
|
148
140
|
{this.renderSheet()}
|
|
149
141
|
</Dialog>;
|
|
150
142
|
}
|
|
151
|
-
renderNewDialog() {
|
|
152
|
-
const {
|
|
153
|
-
visible,
|
|
154
|
-
onDismiss,
|
|
155
|
-
dialogStyle,
|
|
156
|
-
onModalDismissed,
|
|
157
|
-
testID,
|
|
158
|
-
useSafeArea,
|
|
159
|
-
dialogProps
|
|
160
|
-
} = this.props;
|
|
161
|
-
if (onModalDismissed) {
|
|
162
|
-
LogService.deprecationWarn({
|
|
163
|
-
component: 'ActionSheet',
|
|
164
|
-
oldProp: 'onModalDismissed',
|
|
165
|
-
newProp: 'onDismiss'
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
return <IncubatorDialog bottom centerH width="100%" direction={PanningProvider.Directions.DOWN} {...dialogProps} useSafeArea={useSafeArea} testID={testID} containerStyle={[styles.incubatorDialog, dialogStyle]} visible={visible} onDismiss={onDismiss}>
|
|
169
|
-
{this.renderSheet()}
|
|
170
|
-
</IncubatorDialog>;
|
|
171
|
-
}
|
|
172
|
-
render() {
|
|
173
|
-
const {
|
|
174
|
-
migrateDialog
|
|
175
|
-
} = this.props;
|
|
176
|
-
if (migrateDialog) {
|
|
177
|
-
return this.renderNewDialog();
|
|
178
|
-
} else {
|
|
179
|
-
return this.renderOldDialog();
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
143
|
}
|
|
183
144
|
export default asBaseComponent(ActionSheet);
|
|
184
145
|
const styles = StyleSheet.create({
|