@office-iss/react-native-win32 0.71.5 → 0.72.0-preview.1
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/.flowconfig +15 -3
- package/CHANGELOG.json +302 -47
- package/CHANGELOG.md +141 -27
- package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.win32.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.win32.js +451 -0
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
- package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
- package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +71 -45
- package/Libraries/Components/View/View.win32.js +38 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
- package/Libraries/Components/View/ViewWin32.js +3 -3
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -9
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
- package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.win32.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/Inspector.win32.js +7 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +11 -5
- package/Libraries/Pressability/Pressability.win32.js +9 -3
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +142 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Dimensions.win32.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.win32.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/flow/global.js +29 -4
- package/flow/jest.js +258 -164
- package/index.js +56 -42
- package/index.win32.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/overrides.json +115 -85
- package/package.json +38 -28
- package/rn-get-polyfills.js +1 -1
- package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
- package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
- package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
- package/types/index.d.ts +2 -6
- package/types/modules/Codegen.d.ts +4 -4
- package/types/modules/globals.d.ts +27 -25
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
- package/types/public/ReactNativeRenderer.d.ts +2 -7
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/flow/JSITimerInternalType.js +0 -30
- package/flow/use-sync-external-store.js +0 -19
|
@@ -75,10 +75,10 @@ export interface AccessibilityProps
|
|
|
75
75
|
*/
|
|
76
76
|
accessibilityValue?: AccessibilityValue | undefined;
|
|
77
77
|
|
|
78
|
-
'aria-valuemax'?: AccessibilityValue['max'];
|
|
79
|
-
'aria-valuemin'?: AccessibilityValue['min'];
|
|
80
|
-
'aria-valuenow'?: AccessibilityValue['now'];
|
|
81
|
-
'aria-valuetext'?: AccessibilityValue['text'];
|
|
78
|
+
'aria-valuemax'?: AccessibilityValue['max'] | undefined;
|
|
79
|
+
'aria-valuemin'?: AccessibilityValue['min'] | undefined;
|
|
80
|
+
'aria-valuenow'?: AccessibilityValue['now'] | undefined;
|
|
81
|
+
'aria-valuetext'?: AccessibilityValue['text'] | undefined;
|
|
82
82
|
/**
|
|
83
83
|
* When `accessible` is true, the system will try to invoke this function when the user performs an accessibility custom action.
|
|
84
84
|
*/
|
|
@@ -105,7 +105,7 @@ export interface AccessibilityProps
|
|
|
105
105
|
/**
|
|
106
106
|
* Indicates to accessibility services to treat UI component like a specific role.
|
|
107
107
|
*/
|
|
108
|
-
role?: Role;
|
|
108
|
+
role?: Role | undefined;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
export type AccessibilityActionInfo = Readonly<{
|
|
@@ -274,7 +274,7 @@ export interface AccessibilityPropsIOS {
|
|
|
274
274
|
accessibilityViewIsModal?: boolean | undefined;
|
|
275
275
|
|
|
276
276
|
/**
|
|
277
|
-
* When
|
|
277
|
+
* When accessible is true, the system will invoke this function when the user performs the escape gesture (scrub with two fingers).
|
|
278
278
|
* @platform ios
|
|
279
279
|
*/
|
|
280
280
|
onAccessibilityEscape?: (() => void) | undefined;
|
|
@@ -16,6 +16,7 @@ import type {SyntheticEvent} from '../../Types/CoreEventTypes';
|
|
|
16
16
|
export type AccessibilityRole =
|
|
17
17
|
| 'none'
|
|
18
18
|
| 'button'
|
|
19
|
+
| 'dropdownlist'
|
|
19
20
|
| 'togglebutton'
|
|
20
21
|
| 'link'
|
|
21
22
|
| 'search'
|
|
@@ -44,7 +45,15 @@ export type AccessibilityRole =
|
|
|
44
45
|
| 'timer'
|
|
45
46
|
| 'list'
|
|
46
47
|
| 'toolbar'
|
|
47
|
-
| 'grid'
|
|
48
|
+
| 'grid'
|
|
49
|
+
| 'pager'
|
|
50
|
+
| 'scrollview'
|
|
51
|
+
| 'horizontalscrollview'
|
|
52
|
+
| 'viewgroup'
|
|
53
|
+
| 'webview'
|
|
54
|
+
| 'drawerlayout'
|
|
55
|
+
| 'slidingdrawer'
|
|
56
|
+
| 'iconmenu';
|
|
48
57
|
|
|
49
58
|
// Role types for web
|
|
50
59
|
export type Role =
|
|
@@ -76,10 +76,10 @@ export interface AccessibilityProps
|
|
|
76
76
|
*/
|
|
77
77
|
accessibilityValue?: AccessibilityValue | undefined;
|
|
78
78
|
|
|
79
|
-
'aria-valuemax'?: AccessibilityValue['max'];
|
|
80
|
-
'aria-valuemin'?: AccessibilityValue['min'];
|
|
81
|
-
'aria-valuenow'?: AccessibilityValue['now'];
|
|
82
|
-
'aria-valuetext'?: AccessibilityValue['text'];
|
|
79
|
+
'aria-valuemax'?: AccessibilityValue['max'] | undefined;
|
|
80
|
+
'aria-valuemin'?: AccessibilityValue['min'] | undefined;
|
|
81
|
+
'aria-valuenow'?: AccessibilityValue['now'] | undefined;
|
|
82
|
+
'aria-valuetext'?: AccessibilityValue['text'] | undefined;
|
|
83
83
|
/**
|
|
84
84
|
* When `accessible` is true, the system will try to invoke this function when the user performs an accessibility custom action.
|
|
85
85
|
*/
|
|
@@ -106,7 +106,7 @@ export interface AccessibilityProps
|
|
|
106
106
|
/**
|
|
107
107
|
* Indicates to accessibility services to treat UI component like a specific role.
|
|
108
108
|
*/
|
|
109
|
-
role?: Role;
|
|
109
|
+
role?: Role | undefined;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
export type AccessibilityActionInfo = Readonly<{
|
|
@@ -45,7 +45,10 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
45
45
|
borderTopEndRadius: true,
|
|
46
46
|
borderBottomStartRadius: true,
|
|
47
47
|
borderBottomEndRadius: true,
|
|
48
|
-
|
|
48
|
+
borderEndEndRadius: true,
|
|
49
|
+
borderEndStartRadius: true,
|
|
50
|
+
borderStartEndRadius: true,
|
|
51
|
+
borderStartStartRadius: true,
|
|
49
52
|
borderStyle: true,
|
|
50
53
|
hitSlop: true,
|
|
51
54
|
pointerEvents: true,
|
|
@@ -61,15 +64,36 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
61
64
|
borderStartWidth: true,
|
|
62
65
|
borderEndWidth: true,
|
|
63
66
|
|
|
64
|
-
borderColor: {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
borderColor: {
|
|
68
|
+
process: require('../../StyleSheet/processColor').default,
|
|
69
|
+
},
|
|
70
|
+
borderLeftColor: {
|
|
71
|
+
process: require('../../StyleSheet/processColor').default,
|
|
72
|
+
},
|
|
73
|
+
borderRightColor: {
|
|
74
|
+
process: require('../../StyleSheet/processColor').default,
|
|
75
|
+
},
|
|
76
|
+
borderTopColor: {
|
|
77
|
+
process: require('../../StyleSheet/processColor').default,
|
|
78
|
+
},
|
|
68
79
|
borderBottomColor: {
|
|
69
|
-
process: require('../../StyleSheet/processColor'),
|
|
80
|
+
process: require('../../StyleSheet/processColor').default,
|
|
81
|
+
},
|
|
82
|
+
borderStartColor: {
|
|
83
|
+
process: require('../../StyleSheet/processColor').default,
|
|
84
|
+
},
|
|
85
|
+
borderEndColor: {
|
|
86
|
+
process: require('../../StyleSheet/processColor').default,
|
|
87
|
+
},
|
|
88
|
+
borderBlockColor: {
|
|
89
|
+
process: require('../../StyleSheet/processColor').default,
|
|
90
|
+
},
|
|
91
|
+
borderBlockEndColor: {
|
|
92
|
+
process: require('../../StyleSheet/processColor').default,
|
|
93
|
+
},
|
|
94
|
+
borderBlockStartColor: {
|
|
95
|
+
process: require('../../StyleSheet/processColor').default,
|
|
70
96
|
},
|
|
71
|
-
borderStartColor: {process: require('../../StyleSheet/processColor')},
|
|
72
|
-
borderEndColor: {process: require('../../StyleSheet/processColor')},
|
|
73
97
|
|
|
74
98
|
focusable: true,
|
|
75
99
|
overflow: true,
|
|
@@ -173,7 +173,7 @@ export interface ViewProps
|
|
|
173
173
|
Touchable,
|
|
174
174
|
PointerEvents,
|
|
175
175
|
AccessibilityProps {
|
|
176
|
-
children?: React.ReactNode;
|
|
176
|
+
children?: React.ReactNode | undefined;
|
|
177
177
|
/**
|
|
178
178
|
* This defines how far a touch event can start away from the view.
|
|
179
179
|
* Typical interface guidelines recommend touch targets that are at least
|
|
@@ -543,7 +543,7 @@ export type ViewProps = $ReadOnly<{|
|
|
|
543
543
|
'aria-hidden'?: ?boolean,
|
|
544
544
|
|
|
545
545
|
/**
|
|
546
|
-
* It
|
|
546
|
+
* It represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
|
|
547
547
|
*
|
|
548
548
|
* @platform android
|
|
549
549
|
*/
|
|
@@ -292,7 +292,7 @@ export interface ViewProps
|
|
|
292
292
|
Touchable,
|
|
293
293
|
PointerEvents,
|
|
294
294
|
AccessibilityProps {
|
|
295
|
-
children?: React.ReactNode;
|
|
295
|
+
children?: React.ReactNode | undefined;
|
|
296
296
|
/**
|
|
297
297
|
* This defines how far a touch event can start away from the view.
|
|
298
298
|
* Typical interface guidelines recommend touch targets that are at least
|
|
@@ -592,7 +592,7 @@ export type ViewProps = $ReadOnly<{|
|
|
|
592
592
|
'aria-hidden'?: ?boolean,
|
|
593
593
|
|
|
594
594
|
/**
|
|
595
|
-
* It
|
|
595
|
+
* It represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
|
|
596
596
|
*
|
|
597
597
|
* @platform android
|
|
598
598
|
*/
|
|
@@ -14,8 +14,8 @@ import type {ViewProps} from './ViewPropTypes';
|
|
|
14
14
|
import View from './View';
|
|
15
15
|
import {findNodeHandle} from '../../ReactNative/RendererProxy';
|
|
16
16
|
import UIManager from '../../ReactNative/UIManager';
|
|
17
|
+
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
17
18
|
import warnOnce from '../../Utilities/warnOnce';
|
|
18
|
-
import setAndForwardRef from '../../Utilities/setAndForwardRef';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Basic View component with additional Win32 specific functionality
|
|
@@ -126,9 +126,9 @@ const ViewWin32: React.AbstractComponent<
|
|
|
126
126
|
);
|
|
127
127
|
|
|
128
128
|
// $FlowFixMe
|
|
129
|
-
const setNativeRef =
|
|
130
|
-
getForwardedRef: () => forwardedRef,
|
|
129
|
+
const setNativeRef = useMergeRefs<typeof View | null>({
|
|
131
130
|
setLocalRef,
|
|
131
|
+
forwardedRef,
|
|
132
132
|
});
|
|
133
133
|
|
|
134
134
|
return (
|
|
@@ -22,7 +22,7 @@ function convertHermesStack(stack: HermesParsedStack): Array<StackFrame> {
|
|
|
22
22
|
continue;
|
|
23
23
|
}
|
|
24
24
|
const {location, functionName} = entry;
|
|
25
|
-
if (location.type === 'NATIVE') {
|
|
25
|
+
if (location.type === 'NATIVE' || location.type === 'INTERNAL_BYTECODE') {
|
|
26
26
|
continue;
|
|
27
27
|
}
|
|
28
28
|
frames.push({
|
|
@@ -48,7 +48,7 @@ function parseErrorStack(errorStack?: string): Array<StackFrame> {
|
|
|
48
48
|
? errorStack
|
|
49
49
|
: global.HermesInternal
|
|
50
50
|
? convertHermesStack(parseHermesStack(errorStack))
|
|
51
|
-
: stacktraceParser.parse(errorStack).map(frame => ({
|
|
51
|
+
: stacktraceParser.parse(errorStack).map((frame): StackFrame => ({
|
|
52
52
|
...frame,
|
|
53
53
|
column: frame.column != null ? frame.column - 1 : null,
|
|
54
54
|
}));
|
|
@@ -10,46 +10,54 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
type HermesStackLocationNative = {
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
type HermesStackLocationNative = $ReadOnly<{
|
|
14
|
+
type: 'NATIVE',
|
|
15
|
+
}>;
|
|
16
16
|
|
|
17
|
-
type HermesStackLocationSource = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
type HermesStackLocationSource = $ReadOnly<{
|
|
18
|
+
type: 'SOURCE',
|
|
19
|
+
sourceUrl: string,
|
|
20
|
+
line1Based: number,
|
|
21
|
+
column1Based: number,
|
|
22
|
+
}>;
|
|
23
23
|
|
|
24
|
-
type
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
type HermesStackLocationInternalBytecode = $ReadOnly<{
|
|
25
|
+
type: 'INTERNAL_BYTECODE',
|
|
26
|
+
sourceUrl: string,
|
|
27
|
+
line1Based: number,
|
|
28
|
+
virtualOffset0Based: number,
|
|
29
|
+
}>;
|
|
30
|
+
|
|
31
|
+
type HermesStackLocationBytecode = $ReadOnly<{
|
|
32
|
+
type: 'BYTECODE',
|
|
33
|
+
sourceUrl: string,
|
|
34
|
+
line1Based: number,
|
|
35
|
+
virtualOffset0Based: number,
|
|
36
|
+
}>;
|
|
30
37
|
|
|
31
38
|
type HermesStackLocation =
|
|
32
39
|
| HermesStackLocationNative
|
|
33
40
|
| HermesStackLocationSource
|
|
41
|
+
| HermesStackLocationInternalBytecode
|
|
34
42
|
| HermesStackLocationBytecode;
|
|
35
43
|
|
|
36
|
-
type HermesStackEntryFrame = {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
type HermesStackEntryFrame = $ReadOnly<{
|
|
45
|
+
type: 'FRAME',
|
|
46
|
+
location: HermesStackLocation,
|
|
47
|
+
functionName: string,
|
|
48
|
+
}>;
|
|
41
49
|
|
|
42
|
-
type HermesStackEntrySkipped = {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
type HermesStackEntrySkipped = $ReadOnly<{
|
|
51
|
+
type: 'SKIPPED',
|
|
52
|
+
count: number,
|
|
53
|
+
}>;
|
|
46
54
|
|
|
47
55
|
type HermesStackEntry = HermesStackEntryFrame | HermesStackEntrySkipped;
|
|
48
56
|
|
|
49
|
-
export type HermesParsedStack = {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
57
|
+
export type HermesParsedStack = $ReadOnly<{
|
|
58
|
+
message: string,
|
|
59
|
+
entries: $ReadOnlyArray<HermesStackEntry>,
|
|
60
|
+
}>;
|
|
53
61
|
|
|
54
62
|
// Capturing groups:
|
|
55
63
|
// 1. function name
|
|
@@ -65,6 +73,11 @@ const RE_FRAME =
|
|
|
65
73
|
// 1. count of skipped frames
|
|
66
74
|
const RE_SKIPPED = /^ {4}... skipping (\d+) frames$/;
|
|
67
75
|
|
|
76
|
+
function isInternalBytecodeSourceUrl(sourceUrl: string): boolean {
|
|
77
|
+
// See https://github.com/facebook/hermes/blob/3332fa020cae0bab751f648db7c94e1d687eeec7/lib/VM/Runtime.cpp#L1100
|
|
78
|
+
return sourceUrl === 'InternalBytecode.js';
|
|
79
|
+
}
|
|
80
|
+
|
|
68
81
|
function parseLine(line: string): ?HermesStackEntry {
|
|
69
82
|
const asFrame = line.match(RE_FRAME);
|
|
70
83
|
if (asFrame) {
|
|
@@ -75,12 +88,19 @@ function parseLine(line: string): ?HermesStackEntry {
|
|
|
75
88
|
asFrame[2] === 'native'
|
|
76
89
|
? {type: 'NATIVE'}
|
|
77
90
|
: asFrame[3] === 'address at '
|
|
78
|
-
?
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
91
|
+
? isInternalBytecodeSourceUrl(asFrame[4])
|
|
92
|
+
? {
|
|
93
|
+
type: 'INTERNAL_BYTECODE',
|
|
94
|
+
sourceUrl: asFrame[4],
|
|
95
|
+
line1Based: Number.parseInt(asFrame[5], 10),
|
|
96
|
+
virtualOffset0Based: Number.parseInt(asFrame[6], 10),
|
|
97
|
+
}
|
|
98
|
+
: {
|
|
99
|
+
type: 'BYTECODE',
|
|
100
|
+
sourceUrl: asFrame[4],
|
|
101
|
+
line1Based: Number.parseInt(asFrame[5], 10),
|
|
102
|
+
virtualOffset0Based: Number.parseInt(asFrame[6], 10),
|
|
103
|
+
}
|
|
84
104
|
: {
|
|
85
105
|
type: 'SOURCE',
|
|
86
106
|
sourceUrl: asFrame[4],
|
|
@@ -103,7 +103,7 @@ function reportException(
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
if (__DEV__) {
|
|
106
|
-
const LogBox = require('../LogBox/LogBox');
|
|
106
|
+
const LogBox = require('../LogBox/LogBox').default;
|
|
107
107
|
LogBox.addException({
|
|
108
108
|
...data,
|
|
109
109
|
isComponentError: !!e.isComponentError,
|
|
@@ -184,7 +184,7 @@ function reactConsoleErrorHandler(...args) {
|
|
|
184
184
|
// Throwing an uncaught exception:
|
|
185
185
|
// 1. exception thrown
|
|
186
186
|
// 2. picked up by handleException
|
|
187
|
-
// 3. should be
|
|
187
|
+
// 3. should be sent to console.error (not console._errorOriginal, as DevTools might have patched _later_ and it needs to send it to Metro)
|
|
188
188
|
// 4. that _might_ bubble again to the `reactConsoleErrorHandle` defined here
|
|
189
189
|
// -> should not handle exception _again_, to avoid looping / showing twice (this code branch)
|
|
190
190
|
// 5. should still bubble up to original console (which might either be console.log, or the DevTools handler in case that one patched _earlier_)
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
const start = Date.now();
|
|
28
28
|
|
|
29
29
|
require('./setUpGlobals');
|
|
30
|
+
require('./setUpDOM');
|
|
30
31
|
require('./setUpPerformance');
|
|
31
32
|
require('./setUpErrorHandling');
|
|
32
33
|
require('./polyfillPromise');
|
|
@@ -40,7 +41,7 @@ require('./setUpSegmentFetcher');
|
|
|
40
41
|
if (__DEV__) {
|
|
41
42
|
require('./checkNativeVersion');
|
|
42
43
|
require('./setUpDeveloperTools');
|
|
43
|
-
require('../LogBox/LogBox').install();
|
|
44
|
+
require('../LogBox/LogBox').default.install();
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
require('../ReactNative/AppRegistry');
|
|
@@ -40,15 +40,7 @@ exports.checkVersions = function checkVersions(): void {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
function _formatVersion(
|
|
43
|
-
version:
|
|
44
|
-
| {major: number, minor: number, patch: number, prerelease: ?number}
|
|
45
|
-
| {major: number, minor: number, patch: number, prerelease: ?string}
|
|
46
|
-
| $TEMPORARY$object<{
|
|
47
|
-
major: number,
|
|
48
|
-
minor: number,
|
|
49
|
-
patch: number,
|
|
50
|
-
prerelease: null,
|
|
51
|
-
}>,
|
|
43
|
+
version: (typeof Platform)['constants']['reactNativeVersion'],
|
|
52
44
|
): string {
|
|
53
45
|
return (
|
|
54
46
|
`${version.major}.${version.minor}.${version.patch}` +
|
|
@@ -42,15 +42,7 @@ exports.checkVersions = function checkVersions(): void {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
function _formatVersion(
|
|
45
|
-
version:
|
|
46
|
-
| {major: number, minor: number, patch: number, prerelease: ?number}
|
|
47
|
-
| {major: number, minor: number, patch: number, prerelease: ?string}
|
|
48
|
-
| $TEMPORARY$object<{
|
|
49
|
-
major: number,
|
|
50
|
-
minor: number,
|
|
51
|
-
patch: number,
|
|
52
|
-
prerelease: null,
|
|
53
|
-
}>,
|
|
45
|
+
version: (typeof Platform)['constants']['reactNativeVersion'],
|
|
54
46
|
): string {
|
|
55
47
|
return (
|
|
56
48
|
`${version.major}.${version.minor}.${version.patch}` +
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
let resolvedPromise;
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* Polyfill for the microtask
|
|
16
|
+
* Polyfill for the microtask queueing API defined by WHATWG HTML spec.
|
|
17
17
|
* https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
|
|
18
18
|
*
|
|
19
19
|
* The method must queue a microtask to invoke @param {function} callback, and
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* You can use this module directly, or just require InitializeCore.
|
|
16
16
|
*/
|
|
17
17
|
if (!global.alert) {
|
|
18
|
-
global.alert = function (text) {
|
|
18
|
+
global.alert = function (text: string) {
|
|
19
19
|
// Require Alert on demand. Requiring it too early can lead to issues
|
|
20
20
|
// with things like Platform not being fully initialized.
|
|
21
21
|
require('../Alert/Alert').alert('Alert', '' + text);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import DOMRect from '../DOM/Geometry/DOMRect';
|
|
12
|
+
import DOMRectReadOnly from '../DOM/Geometry/DOMRectReadOnly';
|
|
13
|
+
|
|
14
|
+
// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it
|
|
15
|
+
global.DOMRect = DOMRect;
|
|
16
|
+
|
|
17
|
+
// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it
|
|
18
|
+
global.DOMRectReadOnly = DOMRectReadOnly;
|
|
@@ -56,7 +56,7 @@ if (__DEV__) {
|
|
|
56
56
|
'debug',
|
|
57
57
|
].forEach(level => {
|
|
58
58
|
const originalFunction = console[level];
|
|
59
|
-
console[level] = function (...args) {
|
|
59
|
+
console[level] = function (...args: $ReadOnlyArray<mixed>) {
|
|
60
60
|
HMRClient.log(level, args);
|
|
61
61
|
originalFunction.apply(console, args);
|
|
62
62
|
};
|
|
@@ -15,18 +15,21 @@
|
|
|
15
15
|
* You can use this module directly, or just require InitializeCore.
|
|
16
16
|
*/
|
|
17
17
|
if (global.window === undefined) {
|
|
18
|
-
// $
|
|
18
|
+
// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
|
|
19
19
|
global.window = global;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
if (global.self === undefined) {
|
|
23
|
-
// $
|
|
23
|
+
// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
|
|
24
24
|
global.self = global;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
// Set up process
|
|
28
|
+
// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
|
|
28
29
|
global.process = global.process || {};
|
|
30
|
+
// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
|
|
29
31
|
global.process.env = global.process.env || {};
|
|
30
32
|
if (!global.process.env.NODE_ENV) {
|
|
33
|
+
// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
|
|
31
34
|
global.process.env.NODE_ENV = __DEV__ ? 'development' : 'production';
|
|
32
35
|
}
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
const {polyfillObjectProperty} = require('../Utilities/PolyfillFunctions');
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
const navigator = global.navigator;
|
|
16
16
|
if (navigator === undefined) {
|
|
17
|
-
global
|
|
17
|
+
// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
|
|
18
|
+
global.navigator = {product: 'ReactNative'};
|
|
19
|
+
} else {
|
|
20
|
+
// see https://github.com/facebook/react-native/issues/10881
|
|
21
|
+
polyfillObjectProperty(navigator, 'product', () => 'ReactNative');
|
|
18
22
|
}
|
|
19
|
-
|
|
20
|
-
// see https://github.com/facebook/react-native/issues/10881
|
|
21
|
-
polyfillObjectProperty(navigator, 'product', () => 'ReactNative');
|
|
@@ -8,19 +8,29 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
import NativePerformance from '../WebPerformance/NativePerformance';
|
|
12
|
+
import Performance from '../WebPerformance/Performance';
|
|
12
13
|
|
|
13
|
-
if
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
// In case if the native implementation of the Performance API is available, use it,
|
|
15
|
+
// otherwise fall back to the legacy/default one, which only defines 'Performance.now()'
|
|
16
|
+
if (NativePerformance) {
|
|
17
|
+
// $FlowExpectedError[cannot-write]
|
|
18
|
+
global.performance = new Performance();
|
|
19
|
+
} else {
|
|
20
|
+
if (!global.performance) {
|
|
21
|
+
// $FlowExpectedError[cannot-write]
|
|
22
|
+
global.performance = ({}: {now?: () => number});
|
|
23
|
+
}
|
|
16
24
|
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (typeof global.performance.now !== 'function') {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Returns a double, measured in milliseconds.
|
|
27
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
|
|
28
|
+
*/
|
|
29
|
+
if (typeof global.performance.now !== 'function') {
|
|
30
|
+
// $FlowExpectedError[cannot-write]
|
|
31
|
+
global.performance.now = function () {
|
|
32
|
+
const performanceNow = global.nativePerformanceNow || Date.now;
|
|
33
|
+
return performanceNow();
|
|
34
|
+
};
|
|
35
|
+
}
|
|
26
36
|
}
|
|
@@ -62,6 +62,7 @@ if (__DEV__) {
|
|
|
62
62
|
});
|
|
63
63
|
|
|
64
64
|
const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
|
|
65
|
+
const devToolsSettingsManager = require('../DevToolsSettings/DevToolsSettingsManager');
|
|
65
66
|
|
|
66
67
|
reactDevTools.connectToDevTools({
|
|
67
68
|
isAppActive,
|
|
@@ -70,6 +71,7 @@ if (__DEV__) {
|
|
|
70
71
|
ReactNativeStyleAttributes,
|
|
71
72
|
),
|
|
72
73
|
websocket: ws,
|
|
74
|
+
devToolsSettingsManager,
|
|
73
75
|
});
|
|
74
76
|
}
|
|
75
77
|
};
|