@office-iss/react-native-win32 0.76.2 → 0.77.0-preview.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.
- package/.eslintignore +1 -1
- package/.flowconfig +5 -1
- package/CHANGELOG.json +179 -53
- package/CHANGELOG.md +82 -28
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
- package/Libraries/Animated/animations/Animation.js +60 -25
- package/Libraries/Animated/animations/DecayAnimation.js +26 -38
- package/Libraries/Animated/animations/SpringAnimation.js +33 -39
- package/Libraries/Animated/animations/TimingAnimation.js +34 -42
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
- package/Libraries/Animated/createAnimatedComponent.js +60 -33
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
- package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
- package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +104 -46
- package/Libraries/Animated/nodes/AnimatedStyle.js +116 -39
- package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
- package/Libraries/Animated/useAnimatedProps.js +41 -35
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +82 -5
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
- package/Libraries/Components/Button.js +9 -4
- package/Libraries/Components/Button.win32.js +12 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
- package/Libraries/Components/Pressable/Pressable.js +4 -4
- package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +4 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
- package/Libraries/Components/ScrollView/ScrollView.js +49 -88
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
- package/Libraries/Components/Switch/Switch.js +8 -6
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
- package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
- package/Libraries/Components/TextInput/TextInput.js +37 -13
- package/Libraries/Components/TextInput/TextInput.win32.js +40 -15
- package/Libraries/Components/TextInput/TextInputState.js +11 -13
- package/Libraries/Components/TextInput/TextInputState.win32.js +13 -16
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +3 -0
- package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
- package/Libraries/Components/Touchable/Position.js +7 -2
- package/Libraries/Components/Touchable/Touchable.js +4 -0
- package/Libraries/Components/Touchable/Touchable.win32.js +4 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
- package/Libraries/Components/Touchable/TouchableOpacity.js +6 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
- package/Libraries/Components/View/View.js +4 -4
- package/Libraries/Components/View/View.win32.js +4 -4
- package/Libraries/Components/View/ViewNativeComponent.js +6 -98
- package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
- package/Libraries/Components/View/ViewPropTypes.js +0 -3
- package/Libraries/Components/View/ViewPropTypes.win32.js +0 -3
- package/Libraries/Components/View/ViewWin32.js +1 -0
- package/Libraries/Core/ExceptionsManager.js +50 -29
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -10
- package/Libraries/Core/setUpDeveloperTools.js +1 -5
- package/Libraries/Core/setUpErrorHandling.js +20 -18
- package/Libraries/Core/setUpReactDevTools.js +107 -8
- package/Libraries/Core/setUpSegmentFetcher.js +1 -0
- package/Libraries/Core/setUpTimers.js +21 -18
- package/Libraries/Debugging/DebuggingOverlay.js +4 -5
- package/Libraries/Image/AssetSourceResolver.js +12 -1
- package/Libraries/Image/Image.android.js +1 -5
- package/Libraries/Image/Image.d.ts +20 -29
- package/Libraries/Image/Image.ios.js +0 -2
- package/Libraries/Image/Image.win32.js +0 -2
- package/Libraries/Image/ImageBackground.js +2 -5
- package/Libraries/Image/ImageProps.js +7 -6
- package/Libraries/Image/ImageResizeMode.d.ts +8 -1
- package/Libraries/Image/ImageResizeMode.js +4 -1
- package/Libraries/Image/ImageSource.d.ts +0 -2
- package/Libraries/Image/ImageSource.js +0 -2
- package/Libraries/Image/ImageTypes.flow.js +11 -9
- package/Libraries/Image/ImageUtils.js +6 -3
- package/Libraries/Image/ImageViewNativeComponent.js +5 -3
- package/Libraries/Inspector/Inspector.js +1 -0
- package/Libraries/Inspector/Inspector.win32.js +2 -1
- package/Libraries/Inspector/NetworkOverlay.js +4 -0
- package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
- package/Libraries/Interaction/InteractionManager.js +6 -1
- package/Libraries/Interaction/InteractionManagerStub.js +176 -0
- package/Libraries/Interaction/TouchHistoryMath.js +22 -19
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +1 -2
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +7 -7
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +3 -3
- package/Libraries/LogBox/LogBox.js +18 -5
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
- package/Libraries/Modal/Modal.d.ts +12 -0
- package/Libraries/Modal/Modal.js +31 -4
- package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +3 -11
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
- package/Libraries/Network/FormData.js +11 -3
- package/Libraries/Network/XHRInterceptor.js +63 -14
- package/Libraries/Network/XMLHttpRequest.js +26 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
- package/Libraries/Pressability/HoverState.js +2 -0
- package/Libraries/Pressability/HoverState.win32.js +2 -0
- package/Libraries/Pressability/Pressability.js +2 -3
- package/Libraries/Pressability/Pressability.win32.js +2 -3
- package/Libraries/Pressability/usePressability.js +4 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.js +1 -11
- package/Libraries/ReactNative/DisplayMode.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
- package/Libraries/ReactNative/RendererImplementation.js +18 -17
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
- package/Libraries/ReactNative/renderApplication.js +9 -8
- package/Libraries/ReactNative/requireNativeComponent.js +5 -2
- package/Libraries/Renderer/shims/ReactFabric.js +3 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +3 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +7 -1
- package/Libraries/StyleSheet/StyleSheet.win32.js +7 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
- package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
- package/Libraries/StyleSheet/processTransform.js +3 -34
- package/Libraries/Text/Text.js +248 -249
- package/Libraries/Text/Text.win32.js +282 -295
- package/Libraries/Text/TextNativeComponent.js +0 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
- package/Libraries/Types/CoreEventTypes.d.ts +3 -10
- package/Libraries/Types/CoreEventTypes.js +4 -6
- package/Libraries/Types/CoreEventTypes.win32.js +4 -6
- package/Libraries/Utilities/Appearance.js +3 -1
- package/Libraries/Utilities/BackHandler.android.js +6 -18
- package/Libraries/Utilities/BackHandler.d.ts +0 -4
- package/Libraries/Utilities/BackHandler.ios.js +0 -7
- package/Libraries/Utilities/BackHandler.win32.js +6 -18
- package/Libraries/Utilities/FocusManager.win32.js +1 -1
- package/Libraries/Utilities/HMRClient.js +3 -4
- package/Libraries/Utilities/Platform.flow.js +2 -2
- package/Libraries/Utilities/Platform.flow.win32.js +3 -2
- package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/useMergeRefs.js +26 -7
- package/Libraries/WebSocket/WebSocketEvent.js +4 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/index.js +10 -3
- package/index.win32.js +10 -3
- package/jest/setup.js +36 -1
- package/overrides.json +37 -37
- package/package.json +20 -20
- package/src/private/animated/NativeAnimatedHelper.js +18 -16
- package/src/private/animated/NativeAnimatedHelper.win32.js +18 -15
- package/src/private/animated/useAnimatedPropsMemo.js +356 -0
- package/src/private/components/HScrollViewNativeComponents.js +1 -27
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
- package/src/private/components/VScrollViewNativeComponents.js +2 -25
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +20 -0
- package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
- package/src/private/devmenu/DevMenu.d.ts +20 -0
- package/src/private/devmenu/DevMenu.js +31 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/setup/setUpDOM.js +14 -6
- package/src/private/setup/setUpMutationObserver.js +5 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
- package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +9 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
- package/src/private/specs/modules/NativeAppearance.js +4 -10
- package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
- package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
- package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
- package/src/private/webapis/performance/EventTiming.js +13 -8
- package/src/private/webapis/performance/Performance.js +66 -73
- package/src/private/webapis/performance/PerformanceEntry.js +2 -5
- package/src/private/webapis/performance/PerformanceObserver.js +65 -164
- package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +11 -7
- package/src/private/webapis/performance/Utilities.js +18 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
- package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
- package/types/index.d.ts +1 -1
- package/types/public/ReactNativeTypes.d.ts +4 -8
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +0 -35
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
- package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
- package/src/private/components/useSyncOnScroll.js +0 -48
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
- package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
- package/types/experimental.d.ts +0 -59
- /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
|
@@ -66,11 +66,58 @@ export interface PermissionsAndroidStatic {
|
|
|
66
66
|
/**
|
|
67
67
|
* A list of permission results that are returned
|
|
68
68
|
*/
|
|
69
|
-
RESULTS: {
|
|
69
|
+
RESULTS: {
|
|
70
|
+
[key in 'GRANTED' | 'DENIED' | 'NEVER_ASK_AGAIN']: PermissionStatus;
|
|
71
|
+
};
|
|
70
72
|
/**
|
|
71
73
|
* A list of specified "dangerous" permissions that require prompting the user
|
|
72
74
|
*/
|
|
73
|
-
PERMISSIONS: {
|
|
75
|
+
PERMISSIONS: {
|
|
76
|
+
[key in
|
|
77
|
+
| 'READ_CALENDAR'
|
|
78
|
+
| 'WRITE_CALENDAR'
|
|
79
|
+
| 'CAMERA'
|
|
80
|
+
| 'READ_CONTACTS'
|
|
81
|
+
| 'WRITE_CONTACTS'
|
|
82
|
+
| 'GET_ACCOUNTS'
|
|
83
|
+
| 'ACCESS_FINE_LOCATION'
|
|
84
|
+
| 'ACCESS_COARSE_LOCATION'
|
|
85
|
+
| 'ACCESS_BACKGROUND_LOCATION'
|
|
86
|
+
| 'RECORD_AUDIO'
|
|
87
|
+
| 'READ_PHONE_STATE'
|
|
88
|
+
| 'CALL_PHONE'
|
|
89
|
+
| 'READ_CALL_LOG'
|
|
90
|
+
| 'WRITE_CALL_LOG'
|
|
91
|
+
| 'ADD_VOICEMAIL'
|
|
92
|
+
| 'READ_VOICEMAIL'
|
|
93
|
+
| 'WRITE_VOICEMAIL'
|
|
94
|
+
| 'USE_SIP'
|
|
95
|
+
| 'PROCESS_OUTGOING_CALLS'
|
|
96
|
+
| 'BODY_SENSORS'
|
|
97
|
+
| 'BODY_SENSORS_BACKGROUND'
|
|
98
|
+
| 'SEND_SMS'
|
|
99
|
+
| 'RECEIVE_SMS'
|
|
100
|
+
| 'READ_SMS'
|
|
101
|
+
| 'RECEIVE_WAP_PUSH'
|
|
102
|
+
| 'RECEIVE_MMS'
|
|
103
|
+
| 'READ_EXTERNAL_STORAGE'
|
|
104
|
+
| 'READ_MEDIA_IMAGES'
|
|
105
|
+
| 'READ_MEDIA_VIDEO'
|
|
106
|
+
| 'READ_MEDIA_AUDIO'
|
|
107
|
+
| 'READ_MEDIA_VISUAL_USER_SELECTED'
|
|
108
|
+
| 'WRITE_EXTERNAL_STORAGE'
|
|
109
|
+
| 'BLUETOOTH_CONNECT'
|
|
110
|
+
| 'BLUETOOTH_SCAN'
|
|
111
|
+
| 'BLUETOOTH_ADVERTISE'
|
|
112
|
+
| 'ACCESS_MEDIA_LOCATION'
|
|
113
|
+
| 'ACCEPT_HANDOVER'
|
|
114
|
+
| 'ACTIVITY_RECOGNITION'
|
|
115
|
+
| 'ANSWER_PHONE_CALLS'
|
|
116
|
+
| 'READ_PHONE_NUMBERS'
|
|
117
|
+
| 'UWB_RANGING'
|
|
118
|
+
| 'POST_NOTIFICATIONS'
|
|
119
|
+
| 'NEARBY_WIFI_DEVICES']: Permission;
|
|
120
|
+
};
|
|
74
121
|
new (): PermissionsAndroidStatic;
|
|
75
122
|
/**
|
|
76
123
|
* @deprecated Use check instead
|
|
@@ -88,7 +88,7 @@ const PERMISSIONS = Object.freeze({
|
|
|
88
88
|
*/
|
|
89
89
|
|
|
90
90
|
class PermissionsAndroid {
|
|
91
|
-
PERMISSIONS: {|
|
|
91
|
+
PERMISSIONS: $ReadOnly<{|
|
|
92
92
|
ACCEPT_HANDOVER: string,
|
|
93
93
|
ACCESS_BACKGROUND_LOCATION: string,
|
|
94
94
|
ACCESS_COARSE_LOCATION: string,
|
|
@@ -132,12 +132,12 @@ class PermissionsAndroid {
|
|
|
132
132
|
WRITE_CALL_LOG: string,
|
|
133
133
|
WRITE_CONTACTS: string,
|
|
134
134
|
WRITE_EXTERNAL_STORAGE: string,
|
|
135
|
-
|} = PERMISSIONS;
|
|
136
|
-
RESULTS: {|
|
|
135
|
+
|}> = PERMISSIONS;
|
|
136
|
+
RESULTS: $ReadOnly<{|
|
|
137
137
|
DENIED: 'denied',
|
|
138
138
|
GRANTED: 'granted',
|
|
139
139
|
NEVER_ASK_AGAIN: 'never_ask_again',
|
|
140
|
-
|} = PERMISSION_REQUEST_RESULT;
|
|
140
|
+
|}> = PERMISSION_REQUEST_RESULT;
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
143
|
* DEPRECATED - use check
|
|
@@ -12,6 +12,8 @@ import Platform from '../Utilities/Platform';
|
|
|
12
12
|
|
|
13
13
|
let isEnabled = false;
|
|
14
14
|
|
|
15
|
+
/* $FlowFixMe[incompatible-type] Error found due to incomplete typing of
|
|
16
|
+
* Platform.flow.js */
|
|
15
17
|
if (Platform.OS === 'web') {
|
|
16
18
|
const canUseDOM = Boolean(
|
|
17
19
|
typeof window !== 'undefined' &&
|
|
@@ -12,6 +12,8 @@ import Platform from '../Utilities/Platform';
|
|
|
12
12
|
|
|
13
13
|
let isEnabled = false;
|
|
14
14
|
|
|
15
|
+
/* $FlowFixMe[incompatible-type] Error found due to incomplete typing of
|
|
16
|
+
* Platform.flow.js */
|
|
15
17
|
if (Platform.OS === 'web') {
|
|
16
18
|
const canUseDOM = Boolean(
|
|
17
19
|
typeof window !== 'undefined' &&
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {
|
|
11
|
+
import type {HostInstance} from '../Renderer/shims/ReactNativeTypes';
|
|
12
12
|
import type {
|
|
13
13
|
BlurEvent,
|
|
14
14
|
FocusEvent,
|
|
@@ -26,7 +26,6 @@ import {isHoverEnabled} from './HoverState';
|
|
|
26
26
|
import PressabilityPerformanceEventEmitter from './PressabilityPerformanceEventEmitter.js';
|
|
27
27
|
import {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js';
|
|
28
28
|
import invariant from 'invariant';
|
|
29
|
-
import * as React from 'react';
|
|
30
29
|
|
|
31
30
|
export type PressabilityConfig = $ReadOnly<{|
|
|
32
31
|
/**
|
|
@@ -378,7 +377,7 @@ export default class Pressability {
|
|
|
378
377
|
_longPressDelayTimeout: ?TimeoutID = null;
|
|
379
378
|
_pressDelayTimeout: ?TimeoutID = null;
|
|
380
379
|
_pressOutDelayTimeout: ?TimeoutID = null;
|
|
381
|
-
_responderID: ?number |
|
|
380
|
+
_responderID: ?number | HostInstance = null;
|
|
382
381
|
_responderRegion: ?$ReadOnly<{|
|
|
383
382
|
bottom: number,
|
|
384
383
|
left: number,
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {
|
|
11
|
+
import type {HostInstance} from '../Renderer/shims/ReactNativeTypes';
|
|
12
12
|
import type {
|
|
13
13
|
BlurEvent,
|
|
14
14
|
FocusEvent,
|
|
@@ -27,7 +27,6 @@ import {isHoverEnabled} from './HoverState';
|
|
|
27
27
|
import PressabilityPerformanceEventEmitter from './PressabilityPerformanceEventEmitter.js';
|
|
28
28
|
import {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js';
|
|
29
29
|
import invariant from 'invariant';
|
|
30
|
-
import * as React from 'react';
|
|
31
30
|
|
|
32
31
|
export type PressabilityConfig = $ReadOnly<{|
|
|
33
32
|
/**
|
|
@@ -409,7 +408,7 @@ export default class Pressability {
|
|
|
409
408
|
_longPressDelayTimeout: ?TimeoutID = null;
|
|
410
409
|
_pressDelayTimeout: ?TimeoutID = null;
|
|
411
410
|
_pressOutDelayTimeout: ?TimeoutID = null;
|
|
412
|
-
_responderID: ?number |
|
|
411
|
+
_responderID: ?number | HostInstance = null;
|
|
413
412
|
_responderRegion: ?$ReadOnly<{|
|
|
414
413
|
bottom: number,
|
|
415
414
|
left: number,
|
|
@@ -14,6 +14,9 @@ import Pressability, {
|
|
|
14
14
|
} from './Pressability';
|
|
15
15
|
import {useEffect, useRef} from 'react';
|
|
16
16
|
|
|
17
|
+
declare function usePressability(config: PressabilityConfig): EventHandlers;
|
|
18
|
+
declare function usePressability(config: null | void): null | EventHandlers;
|
|
19
|
+
|
|
17
20
|
/**
|
|
18
21
|
* Creates a persistent instance of `Pressability` that automatically configures
|
|
19
22
|
* itself and resets. Accepts null `config` to support lazy initialization. Once
|
|
@@ -28,7 +31,7 @@ import {useEffect, useRef} from 'react';
|
|
|
28
31
|
*/
|
|
29
32
|
export default function usePressability(
|
|
30
33
|
config: ?PressabilityConfig,
|
|
31
|
-
):
|
|
34
|
+
): null | EventHandlers {
|
|
32
35
|
const pressabilityRef = useRef<?Pressability>(null);
|
|
33
36
|
if (config != null && pressabilityRef.current == null) {
|
|
34
37
|
pressabilityRef.current = new Pressability(config);
|
|
@@ -24,7 +24,7 @@ export type Props = $ReadOnly<{|
|
|
|
24
24
|
internal_excludeInspector?: boolean,
|
|
25
25
|
|}>;
|
|
26
26
|
|
|
27
|
-
const AppContainer:
|
|
27
|
+
const AppContainer: component(...Props) = __DEV__
|
|
28
28
|
? require('./AppContainer-dev').default
|
|
29
29
|
: require('./AppContainer-prod').default;
|
|
30
30
|
|
|
@@ -13,8 +13,8 @@ import type {RootTag} from '../Types/RootTagTypes';
|
|
|
13
13
|
import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
|
|
14
14
|
import type {DisplayModeType} from './DisplayMode';
|
|
15
15
|
|
|
16
|
-
import registerCallableModule from '../Core/registerCallableModule';
|
|
17
16
|
import BugReporting from '../BugReporting/BugReporting';
|
|
17
|
+
import registerCallableModule from '../Core/registerCallableModule';
|
|
18
18
|
import createPerformanceLogger from '../Utilities/createPerformanceLogger';
|
|
19
19
|
import infoLog from '../Utilities/infoLog';
|
|
20
20
|
import SceneTracker from '../Utilities/SceneTracker';
|
|
@@ -46,7 +46,6 @@ type AppParameters = {
|
|
|
46
46
|
initialProps: $ReadOnly<{[string]: mixed, ...}>,
|
|
47
47
|
rootTag: RootTag,
|
|
48
48
|
fabric?: boolean,
|
|
49
|
-
concurrentRoot?: boolean,
|
|
50
49
|
};
|
|
51
50
|
export type Runnable = (
|
|
52
51
|
appParameters: AppParameters,
|
|
@@ -120,10 +119,6 @@ const AppRegistry = {
|
|
|
120
119
|
): string {
|
|
121
120
|
const scopedPerformanceLogger = createPerformanceLogger();
|
|
122
121
|
runnables[appKey] = (appParameters, displayMode) => {
|
|
123
|
-
const concurrentRootEnabled = Boolean(
|
|
124
|
-
appParameters.initialProps?.concurrentRoot ||
|
|
125
|
-
appParameters.concurrentRoot,
|
|
126
|
-
);
|
|
127
122
|
renderApplication(
|
|
128
123
|
componentProviderInstrumentationHook(
|
|
129
124
|
componentProvider,
|
|
@@ -138,7 +133,6 @@ const AppRegistry = {
|
|
|
138
133
|
appKey === 'LogBox', // is logbox
|
|
139
134
|
appKey,
|
|
140
135
|
displayMode,
|
|
141
|
-
concurrentRootEnabled,
|
|
142
136
|
);
|
|
143
137
|
};
|
|
144
138
|
if (section) {
|
|
@@ -361,10 +355,6 @@ global.RN$SurfaceRegistry = {
|
|
|
361
355
|
setSurfaceProps: AppRegistry.setSurfaceProps,
|
|
362
356
|
};
|
|
363
357
|
|
|
364
|
-
if (global.RN$Bridgeless === true) {
|
|
365
|
-
console.log('Bridgeless mode is enabled');
|
|
366
|
-
}
|
|
367
|
-
|
|
368
358
|
registerCallableModule('AppRegistry', AppRegistry);
|
|
369
359
|
|
|
370
360
|
module.exports = AppRegistry;
|
|
@@ -12,7 +12,7 @@ export opaque type DisplayModeType = number;
|
|
|
12
12
|
|
|
13
13
|
/** DisplayMode should be in sync with the method displayModeToInt from
|
|
14
14
|
* react/renderer/uimanager/primitives.h. */
|
|
15
|
-
const DisplayMode: {[string]: DisplayModeType} = Object.freeze({
|
|
15
|
+
const DisplayMode: {+[string]: DisplayModeType} = Object.freeze({
|
|
16
16
|
VISIBLE: 1,
|
|
17
17
|
SUSPENDED: 2,
|
|
18
18
|
HIDDEN: 3,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {
|
|
12
|
-
|
|
12
|
+
HostInstance,
|
|
13
13
|
INativeMethods,
|
|
14
14
|
InternalInstanceHandle,
|
|
15
15
|
MeasureInWindowOnSuccessCallback,
|
|
@@ -17,7 +17,6 @@ import type {
|
|
|
17
17
|
MeasureOnSuccessCallback,
|
|
18
18
|
ViewConfig,
|
|
19
19
|
} from '../../Renderer/shims/ReactNativeTypes';
|
|
20
|
-
import type {ElementRef} from 'react';
|
|
21
20
|
|
|
22
21
|
import TextInputState from '../../Components/TextInput/TextInputState';
|
|
23
22
|
import {getNodeFromInternalInstanceHandle} from '../../ReactNative/RendererProxy';
|
|
@@ -85,7 +84,7 @@ export default class ReactFabricHostComponent implements INativeMethods {
|
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
measureLayout(
|
|
88
|
-
relativeToNativeNode: number |
|
|
87
|
+
relativeToNativeNode: number | HostInstance,
|
|
89
88
|
onSuccess: MeasureLayoutOnSuccessCallback,
|
|
90
89
|
onFail?: () => void /* currently unused */,
|
|
91
90
|
) {
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import type {
|
|
12
12
|
HostComponent,
|
|
13
|
+
HostInstance,
|
|
13
14
|
InternalInstanceHandle,
|
|
14
15
|
Node,
|
|
15
16
|
} from '../Renderer/shims/ReactNativeTypes';
|
|
@@ -34,7 +35,7 @@ export function renderElement({
|
|
|
34
35
|
useConcurrentRoot: boolean,
|
|
35
36
|
}): void {
|
|
36
37
|
if (useFabric) {
|
|
37
|
-
require('../Renderer/shims/ReactFabric').render(
|
|
38
|
+
require('../Renderer/shims/ReactFabric').default.render(
|
|
38
39
|
element,
|
|
39
40
|
rootTag,
|
|
40
41
|
null,
|
|
@@ -46,7 +47,7 @@ export function renderElement({
|
|
|
46
47
|
},
|
|
47
48
|
);
|
|
48
49
|
} else {
|
|
49
|
-
require('../Renderer/shims/ReactNative').render(
|
|
50
|
+
require('../Renderer/shims/ReactNative').default.render(
|
|
50
51
|
element,
|
|
51
52
|
rootTag,
|
|
52
53
|
undefined,
|
|
@@ -61,8 +62,8 @@ export function renderElement({
|
|
|
61
62
|
|
|
62
63
|
export function findHostInstance_DEPRECATED<TElementType: ElementType>(
|
|
63
64
|
componentOrHandle: ?(ElementRef<TElementType> | number),
|
|
64
|
-
): ?
|
|
65
|
-
return require('../Renderer/shims/ReactNative').findHostInstance_DEPRECATED(
|
|
65
|
+
): ?HostInstance {
|
|
66
|
+
return require('../Renderer/shims/ReactNative').default.findHostInstance_DEPRECATED(
|
|
66
67
|
componentOrHandle,
|
|
67
68
|
);
|
|
68
69
|
}
|
|
@@ -70,26 +71,26 @@ export function findHostInstance_DEPRECATED<TElementType: ElementType>(
|
|
|
70
71
|
export function findNodeHandle<TElementType: ElementType>(
|
|
71
72
|
componentOrHandle: ?(ElementRef<TElementType> | number),
|
|
72
73
|
): ?number {
|
|
73
|
-
return require('../Renderer/shims/ReactNative').findNodeHandle(
|
|
74
|
+
return require('../Renderer/shims/ReactNative').default.findNodeHandle(
|
|
74
75
|
componentOrHandle,
|
|
75
76
|
);
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
export function dispatchCommand(
|
|
79
|
-
handle:
|
|
80
|
+
handle: HostInstance,
|
|
80
81
|
command: string,
|
|
81
82
|
args: Array<mixed>,
|
|
82
83
|
): void {
|
|
83
84
|
if (global.RN$Bridgeless === true) {
|
|
84
85
|
// Note: this function has the same implementation in the legacy and new renderer.
|
|
85
86
|
// However, evaluating the old renderer comes with some side effects.
|
|
86
|
-
return require('../Renderer/shims/ReactFabric').dispatchCommand(
|
|
87
|
+
return require('../Renderer/shims/ReactFabric').default.dispatchCommand(
|
|
87
88
|
handle,
|
|
88
89
|
command,
|
|
89
90
|
args,
|
|
90
91
|
);
|
|
91
92
|
} else {
|
|
92
|
-
return require('../Renderer/shims/ReactNative').dispatchCommand(
|
|
93
|
+
return require('../Renderer/shims/ReactNative').default.dispatchCommand(
|
|
93
94
|
handle,
|
|
94
95
|
command,
|
|
95
96
|
args,
|
|
@@ -98,10 +99,10 @@ export function dispatchCommand(
|
|
|
98
99
|
}
|
|
99
100
|
|
|
100
101
|
export function sendAccessibilityEvent(
|
|
101
|
-
handle:
|
|
102
|
+
handle: HostInstance,
|
|
102
103
|
eventType: string,
|
|
103
104
|
): void {
|
|
104
|
-
return require('../Renderer/shims/ReactNative').sendAccessibilityEvent(
|
|
105
|
+
return require('../Renderer/shims/ReactNative').default.sendAccessibilityEvent(
|
|
105
106
|
handle,
|
|
106
107
|
eventType,
|
|
107
108
|
);
|
|
@@ -114,7 +115,7 @@ export function sendAccessibilityEvent(
|
|
|
114
115
|
export function unmountComponentAtNodeAndRemoveContainer(rootTag: RootTag) {
|
|
115
116
|
// $FlowExpectedError[incompatible-type] rootTag is an opaque type so we can't really cast it as is.
|
|
116
117
|
const rootTagAsNumber: number = rootTag;
|
|
117
|
-
require('../Renderer/shims/ReactNative').unmountComponentAtNodeAndRemoveContainer(
|
|
118
|
+
require('../Renderer/shims/ReactNative').default.unmountComponentAtNodeAndRemoveContainer(
|
|
118
119
|
rootTagAsNumber,
|
|
119
120
|
);
|
|
120
121
|
}
|
|
@@ -124,7 +125,7 @@ export function unstable_batchedUpdates<T>(
|
|
|
124
125
|
bookkeeping: T,
|
|
125
126
|
): void {
|
|
126
127
|
// This doesn't actually do anything when batching updates for a Fabric root.
|
|
127
|
-
return require('../Renderer/shims/ReactNative').unstable_batchedUpdates(
|
|
128
|
+
return require('../Renderer/shims/ReactNative').default.unstable_batchedUpdates(
|
|
128
129
|
fn,
|
|
129
130
|
bookkeeping,
|
|
130
131
|
);
|
|
@@ -135,10 +136,10 @@ export function isProfilingRenderer(): boolean {
|
|
|
135
136
|
}
|
|
136
137
|
|
|
137
138
|
export function isChildPublicInstance(
|
|
138
|
-
parentInstance: ReactFabricHostComponent | HostComponent<
|
|
139
|
-
childInstance: ReactFabricHostComponent | HostComponent<
|
|
139
|
+
parentInstance: ReactFabricHostComponent | HostComponent<empty>,
|
|
140
|
+
childInstance: ReactFabricHostComponent | HostComponent<empty>,
|
|
140
141
|
): boolean {
|
|
141
|
-
return require('../Renderer/shims/ReactNative').isChildPublicInstance(
|
|
142
|
+
return require('../Renderer/shims/ReactNative').default.isChildPublicInstance(
|
|
142
143
|
parentInstance,
|
|
143
144
|
childInstance,
|
|
144
145
|
);
|
|
@@ -148,7 +149,7 @@ export function getNodeFromInternalInstanceHandle(
|
|
|
148
149
|
internalInstanceHandle: InternalInstanceHandle,
|
|
149
150
|
): ?Node {
|
|
150
151
|
// This is only available in Fabric
|
|
151
|
-
return require('../Renderer/shims/ReactFabric').getNodeFromInternalInstanceHandle(
|
|
152
|
+
return require('../Renderer/shims/ReactFabric').default.getNodeFromInternalInstanceHandle(
|
|
152
153
|
internalInstanceHandle,
|
|
153
154
|
);
|
|
154
155
|
}
|
|
@@ -157,7 +158,7 @@ export function getPublicInstanceFromInternalInstanceHandle(
|
|
|
157
158
|
internalInstanceHandle: InternalInstanceHandle,
|
|
158
159
|
): mixed /*PublicInstance | PublicTextInstance | null*/ {
|
|
159
160
|
// This is only available in Fabric
|
|
160
|
-
return require('../Renderer/shims/ReactFabric').getPublicInstanceFromInternalInstanceHandle(
|
|
161
|
+
return require('../Renderer/shims/ReactFabric').default.getPublicInstanceFromInternalInstanceHandle(
|
|
161
162
|
internalInstanceHandle,
|
|
162
163
|
);
|
|
163
164
|
}
|
|
@@ -8,11 +8,9 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {AbstractComponent} from 'react';
|
|
12
|
-
|
|
13
11
|
import * as React from 'react';
|
|
14
12
|
|
|
15
|
-
type NoopComponent =
|
|
13
|
+
type NoopComponent = component(children: React.Node);
|
|
16
14
|
|
|
17
15
|
const cache: Map<
|
|
18
16
|
string, // displayName
|
|
@@ -23,10 +23,12 @@ import * as React from 'react';
|
|
|
23
23
|
// require BackHandler so it sets the default handler that exits the app if no listeners respond
|
|
24
24
|
import '../Utilities/BackHandler';
|
|
25
25
|
|
|
26
|
-
type ActivityType =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
type ActivityType = component(
|
|
27
|
+
...{
|
|
28
|
+
mode: 'visible' | 'hidden',
|
|
29
|
+
children: React.Node,
|
|
30
|
+
}
|
|
31
|
+
);
|
|
30
32
|
|
|
31
33
|
export default function renderApplication<Props: Object>(
|
|
32
34
|
RootComponent: React.ComponentType<Props>,
|
|
@@ -39,7 +41,6 @@ export default function renderApplication<Props: Object>(
|
|
|
39
41
|
isLogBox?: boolean,
|
|
40
42
|
debugName?: string,
|
|
41
43
|
displayMode?: ?DisplayModeType,
|
|
42
|
-
useConcurrentRoot?: boolean,
|
|
43
44
|
useOffscreen?: boolean,
|
|
44
45
|
) {
|
|
45
46
|
invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);
|
|
@@ -85,12 +86,12 @@ export default function renderApplication<Props: Object>(
|
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
// We want to have concurrentRoot always enabled when you're on Fabric.
|
|
88
|
-
const
|
|
89
|
+
const useConcurrentRoot = Boolean(fabric);
|
|
89
90
|
|
|
90
91
|
performanceLogger.startTimespan('renderApplication_React_render');
|
|
91
92
|
performanceLogger.setExtra(
|
|
92
93
|
'usedReactConcurrentRoot',
|
|
93
|
-
|
|
94
|
+
useConcurrentRoot ? '1' : '0',
|
|
94
95
|
);
|
|
95
96
|
performanceLogger.setExtra('usedReactFabric', fabric ? '1' : '0');
|
|
96
97
|
performanceLogger.setExtra(
|
|
@@ -101,7 +102,7 @@ export default function renderApplication<Props: Object>(
|
|
|
101
102
|
element: renderable,
|
|
102
103
|
rootTag,
|
|
103
104
|
useFabric: Boolean(fabric),
|
|
104
|
-
useConcurrentRoot
|
|
105
|
+
useConcurrentRoot,
|
|
105
106
|
});
|
|
106
107
|
performanceLogger.stopTimespan('renderApplication_React_render');
|
|
107
108
|
}
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
|
14
14
|
|
|
15
|
-
const createReactNativeComponentClass =
|
|
15
|
+
const createReactNativeComponentClass =
|
|
16
|
+
require('../Renderer/shims/createReactNativeComponentClass').default;
|
|
16
17
|
const getNativeComponentAttributes = require('./getNativeComponentAttributes');
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -24,7 +25,9 @@ const getNativeComponentAttributes = require('./getNativeComponentAttributes');
|
|
|
24
25
|
*
|
|
25
26
|
*/
|
|
26
27
|
|
|
27
|
-
const requireNativeComponent = <T
|
|
28
|
+
const requireNativeComponent = <T: {...}>(
|
|
29
|
+
uiViewClassName: string,
|
|
30
|
+
): HostComponent<T> =>
|
|
28
31
|
((createReactNativeComponentClass(uiViewClassName, () =>
|
|
29
32
|
getNativeComponentAttributes(uiViewClassName),
|
|
30
33
|
): any): HostComponent<T>);
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<cf323fc5ca893bab5669c7d321660412>>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
@@ -16,7 +16,7 @@ import {BatchedBridge} from 'react-native/Libraries/ReactPrivate/ReactNativePriv
|
|
|
16
16
|
|
|
17
17
|
import type {ReactFabricType} from './ReactNativeTypes';
|
|
18
18
|
|
|
19
|
-
let ReactFabric;
|
|
19
|
+
let ReactFabric: ReactFabricType;
|
|
20
20
|
|
|
21
21
|
if (__DEV__) {
|
|
22
22
|
ReactFabric = require('../implementations/ReactFabric-dev');
|
|
@@ -30,4 +30,4 @@ if (global.RN$Bridgeless !== true) {
|
|
|
30
30
|
BatchedBridge.registerCallableModule('ReactFabric', ReactFabric);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
export default ReactFabric;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow strict-local
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<908f5fb85384725318e261f40e49d9a6>>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
@@ -16,4 +16,4 @@ const ReactFeatureFlags = {
|
|
|
16
16
|
debugRenderPhaseSideEffects: false,
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
export default ReactFeatureFlags;
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<8f46fdc9267fcc4fdc9e76842fe24066>>
|
|
11
11
|
*/
|
|
12
12
|
'use strict';
|
|
13
13
|
|
|
14
14
|
import type {ReactNativeType} from './ReactNativeTypes';
|
|
15
15
|
|
|
16
|
-
let ReactNative;
|
|
16
|
+
let ReactNative: ReactNativeType;
|
|
17
17
|
|
|
18
18
|
if (__DEV__) {
|
|
19
19
|
ReactNative = require('../implementations/ReactNativeRenderer-dev');
|
|
@@ -21,4 +21,4 @@ if (__DEV__) {
|
|
|
21
21
|
ReactNative = require('../implementations/ReactNativeRenderer-prod');
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
export default ReactNative;
|