@office-iss/react-native-win32 0.70.2 → 0.71.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/.eslintignore +1 -0
- package/.eslintrc.js +2 -0
- package/.flowconfig +3 -6
- package/CHANGELOG.json +281 -43
- package/CHANGELOG.md +105 -24
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +0 -1
- package/IntegrationTests/BUCK +0 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +2 -3
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +4 -4
- package/IntegrationTests/WebSocketTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.d.ts +90 -0
- package/Libraries/Alert/Alert.js +7 -1
- package/Libraries/Alert/Alert.win32.js +1 -0
- package/Libraries/Alert/NativeAlertManager.js +2 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
- package/Libraries/Animated/Animated.d.ts +587 -0
- package/Libraries/Animated/Animated.js +13 -11
- package/Libraries/Animated/AnimatedEvent.js +12 -17
- package/Libraries/Animated/AnimatedImplementation.js +21 -23
- package/Libraries/Animated/AnimatedMock.js +11 -13
- package/Libraries/Animated/AnimatedWeb.js +2 -2
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +2 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +2 -7
- package/Libraries/Animated/animations/Animation.js +3 -4
- package/Libraries/Animated/animations/DecayAnimation.js +5 -8
- package/Libraries/Animated/animations/SpringAnimation.js +9 -14
- package/Libraries/Animated/animations/TimingAnimation.js +9 -13
- package/Libraries/Animated/bezier.js +2 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
- package/Libraries/Animated/components/AnimatedImage.js +5 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
- package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
- package/Libraries/Animated/components/AnimatedText.js +5 -6
- package/Libraries/Animated/components/AnimatedView.js +5 -6
- package/Libraries/Animated/createAnimatedComponent.js +13 -20
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
- package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
- package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
- package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
- package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
- package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
- package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
- package/Libraries/Animated/useAnimatedProps.js +8 -16
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +3 -7
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/MessageQueue.js +9 -5
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/BlobManager.js +5 -3
- package/Libraries/Blob/File.js +2 -3
- package/Libraries/Blob/FileReader.js +6 -5
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +11 -9
- package/Libraries/BugReporting/NativeBugReporting.js +1 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.flow.js +265 -0
- package/Libraries/Components/Button.js +62 -18
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
- package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +35 -8
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +73 -15
- package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
- package/Libraries/Components/ScrollView/ScrollView.js +87 -52
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
- package/Libraries/Components/Slider/Slider.d.ts +132 -0
- package/Libraries/Components/Slider/Slider.js +9 -9
- package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +7 -7
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +7 -7
- package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
- package/Libraries/Components/TextInput/TextInput.js +344 -38
- package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
- package/Libraries/Components/TextInput/TextInputState.js +22 -5
- package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
- package/Libraries/Components/Touchable/Touchable.js +12 -12
- package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
- package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
- package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
- package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +91 -8
- package/Libraries/Components/View/View.win32.js +176 -89
- package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
- package/Libraries/Components/View/ViewAccessibility.js +70 -1
- package/Libraries/Components/View/ViewNativeComponent.js +3 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
- package/Libraries/Components/View/ViewPropTypes.js +105 -13
- package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
- package/Libraries/Components/View/ViewWin32.Props.d.ts +6 -1
- package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +8 -0
- package/Libraries/Core/ExtendedError.js +11 -8
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/RawEventEmitter.js +2 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +13 -11
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/setUpBatchedBridge.js +1 -5
- package/Libraries/Core/setUpDeveloperTools.js +4 -6
- package/Libraries/Core/setUpReactDevTools.js +4 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
- package/Libraries/Core/setUpTimers.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
- package/Libraries/Image/AssetSourceResolver.js +4 -6
- package/Libraries/Image/Image.android.js +63 -45
- package/Libraries/Image/Image.d.ts +322 -0
- package/Libraries/Image/Image.flow.js +64 -0
- package/Libraries/Image/Image.ios.js +55 -28
- package/Libraries/Image/Image.win32.js +54 -25
- package/Libraries/Image/ImageBackground.js +18 -7
- package/Libraries/Image/ImageInjection.js +2 -1
- package/Libraries/Image/ImageProps.js +88 -5
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageUtils.js +21 -0
- package/Libraries/Image/ImageViewNativeComponent.js +8 -5
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
- package/Libraries/Image/nativeImageSource.js +2 -2
- package/Libraries/Image/resolveAssetSource.js +5 -5
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +3 -4
- package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
- package/Libraries/Inspector/ElementBox.js +4 -5
- package/Libraries/Inspector/ElementProperties.js +10 -11
- package/Libraries/Inspector/Inspector.js +22 -108
- package/Libraries/Inspector/Inspector.win32.js +23 -109
- package/Libraries/Inspector/InspectorOverlay.js +5 -5
- package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
- package/Libraries/Inspector/InspectorPanel.js +12 -10
- package/Libraries/Inspector/NetworkOverlay.js +7 -3
- package/Libraries/Inspector/PerformanceOverlay.js +3 -3
- package/Libraries/Inspector/StyleInspector.js +2 -2
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
- package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +8 -8
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.flow.js +257 -0
- package/Libraries/Interaction/PanResponder.js +4 -3
- package/Libraries/JSInspector/JSInspector.js +0 -3
- package/Libraries/JSInspector/NetworkAgent.js +3 -3
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +3 -2
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/CellRenderMask.js +13 -3
- package/Libraries/Lists/ChildListCollection.js +72 -0
- package/Libraries/Lists/FillRateHelper.js +28 -17
- package/Libraries/Lists/FlatList.d.ts +292 -0
- package/Libraries/Lists/FlatList.js +70 -70
- package/Libraries/Lists/SectionList.d.ts +300 -0
- package/Libraries/Lists/SectionList.js +5 -5
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/StateSafePureComponent.js +85 -0
- package/Libraries/Lists/ViewabilityHelper.js +33 -12
- package/Libraries/Lists/VirtualizeUtils.js +17 -13
- package/Libraries/Lists/VirtualizedList.d.ts +317 -0
- package/Libraries/Lists/VirtualizedList.js +548 -890
- package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
- package/Libraries/Lists/VirtualizedListContext.js +7 -48
- package/Libraries/Lists/VirtualizedListProps.js +279 -0
- package/Libraries/Lists/VirtualizedSectionList.js +6 -3
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +9 -8
- package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +11 -11
- package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
- package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +14 -14
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTNetworking.android.js +4 -3
- package/Libraries/Network/RCTNetworking.ios.js +3 -2
- package/Libraries/Network/RCTNetworking.win32.js +1 -0
- package/Libraries/Network/convertRequestBody.js +1 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +6 -2
- package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +110 -195
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
- package/Libraries/Pressability/Pressability.js +12 -10
- package/Libraries/Pressability/Pressability.win32.js +9 -7
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
- package/Libraries/ReactNative/AppContainer.js +17 -7
- package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
- package/Libraries/ReactNative/AppRegistry.js +11 -14
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
- package/Libraries/ReactNative/FabricUIManager.js +3 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/PaperUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
- package/Libraries/ReactNative/RendererImplementation.js +112 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.js +0 -1
- package/Libraries/ReactNative/UIManager.d.ts +157 -0
- package/Libraries/ReactNative/UIManager.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +38 -20
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +7 -5
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
- package/Libraries/StyleSheet/StyleSheet.js +15 -11
- package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
- package/Libraries/StyleSheet/processAspectRatio.js +53 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +3 -4
- package/Libraries/StyleSheet/processColorArray.js +1 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +114 -105
- package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
- package/Libraries/Text/Text.d.ts +209 -0
- package/Libraries/Text/Text.js +94 -12
- package/Libraries/Text/TextNativeComponent.js +49 -41
- package/Libraries/Text/TextNativeComponent.win32.js +67 -48
- package/Libraries/Text/TextProps.js +64 -7
- package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CoreEventTypes.d.ts +263 -0
- package/Libraries/Types/CoreEventTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.win32.js +2 -1
- package/Libraries/Utilities/AcessibilityMapping.js +154 -0
- package/Libraries/Utilities/Appearance.d.ts +43 -0
- package/Libraries/Utilities/Appearance.js +3 -3
- package/Libraries/Utilities/BackHandler.android.js +3 -5
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -5
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +4 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +2 -2
- package/Libraries/Utilities/Dimensions.win32.js +2 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
- package/Libraries/Utilities/HMRClient.js +23 -8
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/Platform.android.js +11 -5
- package/Libraries/Utilities/Platform.d.ts +102 -0
- package/Libraries/Utilities/Platform.ios.js +12 -5
- package/Libraries/Utilities/Platform.win32.js +11 -5
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
- package/Libraries/Utilities/codegenNativeCommands.js +1 -10
- package/Libraries/Utilities/codegenNativeComponent.js +4 -1
- package/Libraries/Utilities/createPerformanceLogger.js +7 -8
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/useColorScheme.js +3 -2
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +1 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +11 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
- package/Libraries/__tests__/ButtonWin32-test.js +16 -0
- package/Libraries/platform-types.d.ts +25 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/babel.config.js +3 -0
- package/flow/jest.js +2 -2
- package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
- package/flow-typed/npm/yargs_v17.x.x.js +341 -0
- package/index.js +89 -55
- package/index.win32.js +89 -55
- package/interface.js +8 -0
- package/jest/react-native-env.js +18 -0
- package/jest/renderer.js +2 -2
- package/jest/setup.js +7 -9
- package/jest.config.js +9 -2
- package/overrides.json +40 -101
- package/package.json +34 -33
- package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
- package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
- package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
- package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
- package/src/Libraries/Components/View/ViewWin32.Props.ts +10 -1
- package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
- package/src/Libraries/platform-types.d.ts +25 -0
- package/types/index.d.ts +215 -0
- package/IntegrationTests/AsyncStorageTest.js +0 -261
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/Image/ImagePickerIOS.js +0 -103
- package/Libraries/Image/NativeImagePickerIOS.js +0 -38
- package/Libraries/Lists/VirtualizedList.win32.js +0 -9
- package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
- package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
- package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
- package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
- package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
- package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
- package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
- package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
- package/Libraries/Storage/AsyncStorage.js +0 -385
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
- package/Libraries/Utilities/JSDevSupportModule.js +0 -37
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
- package/rntypes/BatchedBridge.d.ts +0 -23
- package/rntypes/Devtools.d.ts +0 -20
- package/rntypes/LaunchScreen.d.ts +0 -9
- package/rntypes/globals.d.ts +0 -497
- package/rntypes/index.d.ts +0 -9754
- package/rntypes/legacy-properties.d.ts +0 -238
- package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
- package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
- package/src/rntypes/BatchedBridge.d.ts +0 -23
- package/src/rntypes/Devtools.d.ts +0 -20
- package/src/rntypes/LaunchScreen.d.ts +0 -9
- package/src/rntypes/globals.d.ts +0 -497
- package/src/rntypes/index.d.ts +0 -9754
- package/src/rntypes/legacy-properties.d.ts +0 -238
- package/src/typings-index.ts +0 -37
- package/typings-index.d.ts +0 -23
- package/typings-index.js +0 -47
- package/typings-index.js.map +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import {NativeEventSubscription} from '../EventEmitter/RCTNativeAppEventEmitter';
|
|
11
|
+
|
|
12
|
+
export type BackPressEventName = 'hardwareBackPress';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Detect hardware back button presses, and programmatically invoke the
|
|
16
|
+
* default back button functionality to exit the app if there are no
|
|
17
|
+
* listeners or if none of the listeners return true.
|
|
18
|
+
* The event subscriptions are called in reverse order
|
|
19
|
+
* (i.e. last registered subscription first), and if one subscription
|
|
20
|
+
* returns true then subscriptions registered earlier
|
|
21
|
+
* will not be called.
|
|
22
|
+
*
|
|
23
|
+
* @see https://reactnative.dev/docs/backhandler
|
|
24
|
+
*/
|
|
25
|
+
export interface BackHandlerStatic {
|
|
26
|
+
exitApp(): void;
|
|
27
|
+
addEventListener(
|
|
28
|
+
eventName: BackPressEventName,
|
|
29
|
+
handler: () => boolean | null | undefined,
|
|
30
|
+
): NativeEventSubscription;
|
|
31
|
+
removeEventListener(
|
|
32
|
+
eventName: BackPressEventName,
|
|
33
|
+
handler: () => boolean | null | undefined,
|
|
34
|
+
): void;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const BackHandler: BackHandlerStatic;
|
|
38
|
+
export type BackHandler = BackHandlerStatic;
|
|
@@ -97,11 +97,9 @@ const BackHandler: TBackHandler = {
|
|
|
97
97
|
eventName: BackPressEventName,
|
|
98
98
|
handler: () => ?boolean,
|
|
99
99
|
): void {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
1,
|
|
104
|
-
);
|
|
100
|
+
const index = _backPressSubscriptions.indexOf(handler);
|
|
101
|
+
if (index !== -1) {
|
|
102
|
+
_backPressSubscriptions.splice(index, 1);
|
|
105
103
|
}
|
|
106
104
|
},
|
|
107
105
|
};
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import {NativeEventEmitter} from '../EventEmitter/NativeEventEmitter';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The DevSettings module exposes methods for customizing settings for developers in development.
|
|
14
|
+
*/
|
|
15
|
+
export interface DevSettingsStatic extends NativeEventEmitter {
|
|
16
|
+
/**
|
|
17
|
+
* Adds a custom menu item to the developer menu.
|
|
18
|
+
*
|
|
19
|
+
* @param title - The title of the menu item. Is internally used as id and should therefore be unique.
|
|
20
|
+
* @param handler - The callback invoked when pressing the menu item.
|
|
21
|
+
*/
|
|
22
|
+
addMenuItem(title: string, handler: () => any): void;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Reload the application.
|
|
26
|
+
*
|
|
27
|
+
* @param reason
|
|
28
|
+
*/
|
|
29
|
+
reload(reason?: string): void;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export const DevSettings: DevSettingsStatic;
|
|
@@ -8,8 +8,10 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import
|
|
11
|
+
import type {EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
12
|
+
|
|
12
13
|
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
|
|
14
|
+
import NativeDevSettings from '../NativeModules/specs/NativeDevSettings';
|
|
13
15
|
import Platform from '../Utilities/Platform';
|
|
14
16
|
|
|
15
17
|
let DevSettings: {
|
|
@@ -32,7 +34,7 @@ if (__DEV__) {
|
|
|
32
34
|
// If you want to use the native module on other platforms, please remove this condition and test its behavior
|
|
33
35
|
Platform.OS !== 'ios' ? null : NativeDevSettings,
|
|
34
36
|
);
|
|
35
|
-
const subscriptions = new Map();
|
|
37
|
+
const subscriptions = new Map<string, EventSubscription>();
|
|
36
38
|
|
|
37
39
|
DevSettings = {
|
|
38
40
|
addMenuItem(title: string, handler: () => mixed): void {
|
|
@@ -0,0 +1,79 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import {EmitterSubscription} from '../vendor/emitter/EventEmitter';
|
|
11
|
+
|
|
12
|
+
// Used by Dimensions below
|
|
13
|
+
export interface ScaledSize {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
scale: number;
|
|
17
|
+
fontScale: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Initial dimensions are set before `runApplication` is called so they should
|
|
22
|
+
* be available before any other require's are run, but may be updated later.
|
|
23
|
+
*
|
|
24
|
+
* Note: Although dimensions are available immediately, they may change (e.g
|
|
25
|
+
* due to device rotation) so any rendering logic or styles that depend on
|
|
26
|
+
* these constants should try to call this function on every render, rather
|
|
27
|
+
* than caching the value (for example, using inline styles rather than
|
|
28
|
+
* setting a value in a `StyleSheet`).
|
|
29
|
+
*
|
|
30
|
+
* Example: `const {height, width} = Dimensions.get('window');`
|
|
31
|
+
*
|
|
32
|
+
* @param dim Name of dimension as defined when calling `set`.
|
|
33
|
+
* @returns Value for the dimension.
|
|
34
|
+
* @see https://reactnative.dev/docs/dimensions#content
|
|
35
|
+
*/
|
|
36
|
+
export interface Dimensions {
|
|
37
|
+
/**
|
|
38
|
+
* Initial dimensions are set before runApplication is called so they
|
|
39
|
+
* should be available before any other require's are run, but may be
|
|
40
|
+
* updated later.
|
|
41
|
+
* Note: Although dimensions are available immediately, they may
|
|
42
|
+
* change (e.g due to device rotation) so any rendering logic or
|
|
43
|
+
* styles that depend on these constants should try to call this
|
|
44
|
+
* function on every render, rather than caching the value (for
|
|
45
|
+
* example, using inline styles rather than setting a value in a
|
|
46
|
+
* StyleSheet).
|
|
47
|
+
* Example: const {height, width} = Dimensions.get('window');
|
|
48
|
+
@param dim Name of dimension as defined when calling set.
|
|
49
|
+
@returns Value for the dimension.
|
|
50
|
+
*/
|
|
51
|
+
get(dim: 'window' | 'screen'): ScaledSize;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* This should only be called from native code by sending the didUpdateDimensions event.
|
|
55
|
+
* @param dims Simple string-keyed object of dimensions to set
|
|
56
|
+
*/
|
|
57
|
+
set(dims: {[key: string]: any}): void;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Add an event listener for dimension changes
|
|
61
|
+
*
|
|
62
|
+
* @param type the type of event to listen to
|
|
63
|
+
* @param handler the event handler
|
|
64
|
+
*/
|
|
65
|
+
addEventListener(
|
|
66
|
+
type: 'change',
|
|
67
|
+
handler: ({
|
|
68
|
+
window,
|
|
69
|
+
screen,
|
|
70
|
+
}: {
|
|
71
|
+
window: ScaledSize;
|
|
72
|
+
screen: ScaledSize;
|
|
73
|
+
}) => void,
|
|
74
|
+
): EmitterSubscription;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function useWindowDimensions(): ScaledSize;
|
|
78
|
+
|
|
79
|
+
export const Dimensions: Dimensions;
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
* @flow
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';
|
|
11
12
|
import EventEmitter, {
|
|
12
13
|
type EventSubscription,
|
|
13
14
|
} from '../vendor/emitter/EventEmitter';
|
|
14
|
-
import RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';
|
|
15
15
|
import NativeDeviceInfo, {
|
|
16
|
+
type DimensionsPayload,
|
|
16
17
|
type DisplayMetrics,
|
|
17
18
|
type DisplayMetricsAndroid,
|
|
18
|
-
type DimensionsPayload,
|
|
19
19
|
} from './NativeDeviceInfo';
|
|
20
20
|
import invariant from 'invariant';
|
|
21
21
|
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
* @flow
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';
|
|
9
10
|
import EventEmitter, {
|
|
10
11
|
type EventSubscription,
|
|
11
12
|
} from '../vendor/emitter/EventEmitter';
|
|
12
|
-
import RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';
|
|
13
13
|
import NativeDeviceInfo, {
|
|
14
|
+
type DimensionsPayload,
|
|
14
15
|
type DisplayMetrics,
|
|
15
16
|
type DisplayMetricsAndroid,
|
|
16
|
-
type DimensionsPayload,
|
|
17
17
|
} from './NativeDeviceInfo';
|
|
18
18
|
import invariant from 'invariant';
|
|
19
19
|
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import createPerformanceLogger from './createPerformanceLogger';
|
|
12
11
|
import type {IPerformanceLogger} from './createPerformanceLogger';
|
|
13
12
|
|
|
13
|
+
import createPerformanceLogger from './createPerformanceLogger';
|
|
14
|
+
|
|
14
15
|
/**
|
|
15
16
|
* This is a global shared instance of IPerformanceLogger that is created with
|
|
16
17
|
* createPerformanceLogger().
|
|
@@ -8,17 +8,18 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {ExtendedError} from '../Core/ExtendedError';
|
|
12
|
+
|
|
13
|
+
import getDevServer from '../Core/Devtools/getDevServer';
|
|
14
|
+
import LogBox from '../LogBox/LogBox';
|
|
15
|
+
import NativeRedBox from '../NativeModules/specs/NativeRedBox';
|
|
16
|
+
|
|
11
17
|
const DevSettings = require('./DevSettings');
|
|
18
|
+
const Platform = require('./Platform');
|
|
12
19
|
const invariant = require('invariant');
|
|
13
20
|
const MetroHMRClient = require('metro-runtime/src/modules/HMRClient');
|
|
14
|
-
const Platform = require('./Platform');
|
|
15
21
|
const prettyFormat = require('pretty-format');
|
|
16
22
|
|
|
17
|
-
import getDevServer from '../Core/Devtools/getDevServer';
|
|
18
|
-
import NativeRedBox from '../NativeModules/specs/NativeRedBox';
|
|
19
|
-
import LogBox from '../LogBox/LogBox';
|
|
20
|
-
import type {ExtendedError} from '../Core/ExtendedError';
|
|
21
|
-
|
|
22
23
|
const pendingEntryPoints = [];
|
|
23
24
|
let hmrClient = null;
|
|
24
25
|
let hmrUnavailableReason: string | null = null;
|
|
@@ -240,9 +241,23 @@ Error: ${e.message}`;
|
|
|
240
241
|
}
|
|
241
242
|
});
|
|
242
243
|
|
|
243
|
-
client.on('close',
|
|
244
|
+
client.on('close', closeEvent => {
|
|
244
245
|
LoadingView.hide();
|
|
245
|
-
|
|
246
|
+
|
|
247
|
+
// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.4.1
|
|
248
|
+
// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
|
|
249
|
+
const isNormalOrUnsetCloseReason =
|
|
250
|
+
closeEvent.code === 1000 ||
|
|
251
|
+
closeEvent.code === 1005 ||
|
|
252
|
+
closeEvent.code == null;
|
|
253
|
+
|
|
254
|
+
if (isNormalOrUnsetCloseReason) {
|
|
255
|
+
setHMRUnavailableReason('Disconnected from Metro.');
|
|
256
|
+
} else {
|
|
257
|
+
setHMRUnavailableReason(
|
|
258
|
+
`Disconnected from Metro (${closeEvent.code}: "${closeEvent.reason}").`,
|
|
259
|
+
);
|
|
260
|
+
}
|
|
246
261
|
});
|
|
247
262
|
|
|
248
263
|
if (isEnabled) {
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import processColor from '../StyleSheet/processColor';
|
|
12
|
-
import NativeDevLoadingView from './NativeDevLoadingView';
|
|
13
12
|
import Appearance from './Appearance';
|
|
13
|
+
import NativeDevLoadingView from './NativeDevLoadingView';
|
|
14
14
|
|
|
15
15
|
module.exports = {
|
|
16
16
|
showMessage(message: string, type: 'load' | 'refresh') {
|
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {IPerformanceLogger} from './createPerformanceLogger';
|
|
12
|
+
|
|
13
|
+
import GlobalPerformanceLogger from './GlobalPerformanceLogger';
|
|
11
14
|
import * as React from 'react';
|
|
12
15
|
import {useContext} from 'react';
|
|
13
|
-
import GlobalPerformanceLogger from './GlobalPerformanceLogger';
|
|
14
|
-
import type {IPerformanceLogger} from './createPerformanceLogger';
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* This is a React Context that provides a scoped instance of IPerformanceLogger.
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export interface PixelRatioStatic {
|
|
11
|
+
/*
|
|
12
|
+
Returns the device pixel density. Some examples:
|
|
13
|
+
PixelRatio.get() === 1
|
|
14
|
+
mdpi Android devices (160 dpi)
|
|
15
|
+
PixelRatio.get() === 1.5
|
|
16
|
+
hdpi Android devices (240 dpi)
|
|
17
|
+
PixelRatio.get() === 2
|
|
18
|
+
iPhone 4, 4S
|
|
19
|
+
iPhone 5, 5c, 5s
|
|
20
|
+
iPhone 6
|
|
21
|
+
xhdpi Android devices (320 dpi)
|
|
22
|
+
PixelRatio.get() === 3
|
|
23
|
+
iPhone 6 plus
|
|
24
|
+
xxhdpi Android devices (480 dpi)
|
|
25
|
+
PixelRatio.get() === 3.5
|
|
26
|
+
Nexus 6
|
|
27
|
+
*/
|
|
28
|
+
get(): number;
|
|
29
|
+
|
|
30
|
+
/*
|
|
31
|
+
Returns the scaling factor for font sizes. This is the ratio that is
|
|
32
|
+
used to calculate the absolute font size, so any elements that
|
|
33
|
+
heavily depend on that should use this to do calculations.
|
|
34
|
+
|
|
35
|
+
If a font scale is not set, this returns the device pixel ratio.
|
|
36
|
+
|
|
37
|
+
Currently this is only implemented on Android and reflects the user
|
|
38
|
+
preference set in Settings > Display > Font size,
|
|
39
|
+
on iOS it will always return the default pixel ratio.
|
|
40
|
+
*/
|
|
41
|
+
getFontScale(): number;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Converts a layout size (dp) to pixel size (px).
|
|
45
|
+
* Guaranteed to return an integer number.
|
|
46
|
+
*/
|
|
47
|
+
getPixelSizeForLayoutSize(layoutSize: number): number;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Rounds a layout size (dp) to the nearest layout size that
|
|
51
|
+
* corresponds to an integer number of pixels. For example,
|
|
52
|
+
* on a device with a PixelRatio of 3,
|
|
53
|
+
* PixelRatio.roundToNearestPixel(8.4) = 8.33,
|
|
54
|
+
* which corresponds to exactly (8.33 * 3) = 25 pixels.
|
|
55
|
+
*/
|
|
56
|
+
roundToNearestPixel(layoutSize: number): number;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* No-op for iOS, but used on the web. Should not be documented. [sic]
|
|
60
|
+
*/
|
|
61
|
+
startDetecting(): void;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export const PixelRatio: PixelRatioStatic;
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
import NativePlatformConstantsAndroid from './NativePlatformConstantsAndroid';
|
|
12
12
|
|
|
13
|
-
export type PlatformSelectSpec<
|
|
14
|
-
android?:
|
|
15
|
-
native?:
|
|
16
|
-
default?:
|
|
13
|
+
export type PlatformSelectSpec<T> = {
|
|
14
|
+
android?: T,
|
|
15
|
+
native?: T,
|
|
16
|
+
default?: T,
|
|
17
17
|
...
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -22,6 +22,7 @@ const Platform = {
|
|
|
22
22
|
OS: 'android',
|
|
23
23
|
// $FlowFixMe[unsafe-getters-setters]
|
|
24
24
|
get Version(): number {
|
|
25
|
+
// $FlowFixMe[object-this-reference]
|
|
25
26
|
return this.constants.Version;
|
|
26
27
|
},
|
|
27
28
|
// $FlowFixMe[unsafe-getters-setters]
|
|
@@ -43,23 +44,28 @@ const Platform = {
|
|
|
43
44
|
Brand: string,
|
|
44
45
|
Manufacturer: string,
|
|
45
46
|
|} {
|
|
47
|
+
// $FlowFixMe[object-this-reference]
|
|
46
48
|
if (this.__constants == null) {
|
|
49
|
+
// $FlowFixMe[object-this-reference]
|
|
47
50
|
this.__constants = NativePlatformConstantsAndroid.getConstants();
|
|
48
51
|
}
|
|
52
|
+
// $FlowFixMe[object-this-reference]
|
|
49
53
|
return this.__constants;
|
|
50
54
|
},
|
|
51
55
|
// $FlowFixMe[unsafe-getters-setters]
|
|
52
56
|
get isTesting(): boolean {
|
|
53
57
|
if (__DEV__) {
|
|
58
|
+
// $FlowFixMe[object-this-reference]
|
|
54
59
|
return this.constants.isTesting;
|
|
55
60
|
}
|
|
56
61
|
return false;
|
|
57
62
|
},
|
|
58
63
|
// $FlowFixMe[unsafe-getters-setters]
|
|
59
64
|
get isTV(): boolean {
|
|
65
|
+
// $FlowFixMe[object-this-reference]
|
|
60
66
|
return this.constants.uiMode === 'tv';
|
|
61
67
|
},
|
|
62
|
-
select: <
|
|
68
|
+
select: <T>(spec: PlatformSelectSpec<T>): T =>
|
|
63
69
|
'android' in spec
|
|
64
70
|
? // $FlowFixMe[incompatible-return]
|
|
65
71
|
spec.android
|
|
@@ -0,0 +1,102 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @see https://reactnative.dev/docs/platform-specific-code#content
|
|
12
|
+
*/
|
|
13
|
+
export type PlatformOSType =
|
|
14
|
+
| 'ios'
|
|
15
|
+
| 'android'
|
|
16
|
+
| 'macos'
|
|
17
|
+
| 'windows'
|
|
18
|
+
| 'web'
|
|
19
|
+
| 'native';
|
|
20
|
+
type PlatformConstants = {
|
|
21
|
+
isTesting: boolean;
|
|
22
|
+
reactNativeVersion: {
|
|
23
|
+
major: number;
|
|
24
|
+
minor: number;
|
|
25
|
+
patch: number;
|
|
26
|
+
prerelease?: number | null | undefined;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
interface PlatformStatic {
|
|
30
|
+
isTV: boolean;
|
|
31
|
+
isTesting: boolean;
|
|
32
|
+
Version: number | string;
|
|
33
|
+
constants: PlatformConstants;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @see https://reactnative.dev/docs/platform-specific-code#content
|
|
37
|
+
*/
|
|
38
|
+
select<T>(
|
|
39
|
+
specifics:
|
|
40
|
+
| ({[platform in PlatformOSType]?: T} & {default: T})
|
|
41
|
+
| {[platform in PlatformOSType]: T},
|
|
42
|
+
): T;
|
|
43
|
+
select<T>(specifics: {[platform in PlatformOSType]?: T}): T | undefined;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface PlatformIOSStatic extends PlatformStatic {
|
|
47
|
+
constants: PlatformConstants & {
|
|
48
|
+
forceTouchAvailable: boolean;
|
|
49
|
+
interfaceIdiom: string;
|
|
50
|
+
osVersion: string;
|
|
51
|
+
systemName: string;
|
|
52
|
+
};
|
|
53
|
+
OS: 'ios';
|
|
54
|
+
isPad: boolean;
|
|
55
|
+
isTV: boolean;
|
|
56
|
+
Version: string;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
interface PlatformAndroidStatic extends PlatformStatic {
|
|
60
|
+
constants: PlatformConstants & {
|
|
61
|
+
Version: number;
|
|
62
|
+
Release: string;
|
|
63
|
+
Serial: string;
|
|
64
|
+
Fingerprint: string;
|
|
65
|
+
Model: string;
|
|
66
|
+
Brand: string;
|
|
67
|
+
Manufacturer: string;
|
|
68
|
+
ServerHost?: string | undefined;
|
|
69
|
+
uiMode: 'car' | 'desk' | 'normal' | 'tv' | 'watch' | 'unknown';
|
|
70
|
+
};
|
|
71
|
+
OS: 'android';
|
|
72
|
+
Version: number;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
interface PlatformMacOSStatic extends PlatformStatic {
|
|
76
|
+
OS: 'macos';
|
|
77
|
+
Version: string;
|
|
78
|
+
constants: PlatformConstants & {
|
|
79
|
+
osVersion: string;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
interface PlatformWindowsOSStatic extends PlatformStatic {
|
|
84
|
+
OS: 'windows';
|
|
85
|
+
Version: number;
|
|
86
|
+
constants: PlatformConstants & {
|
|
87
|
+
osVersion: number;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
interface PlatformWebStatic extends PlatformStatic {
|
|
92
|
+
OS: 'web';
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export type Platform =
|
|
96
|
+
| PlatformIOSStatic
|
|
97
|
+
| PlatformAndroidStatic
|
|
98
|
+
| PlatformWindowsOSStatic
|
|
99
|
+
| PlatformMacOSStatic
|
|
100
|
+
| PlatformWebStatic;
|
|
101
|
+
|
|
102
|
+
export const Platform: Platform;
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
import NativePlatformConstantsIOS from './NativePlatformConstantsIOS';
|
|
12
12
|
|
|
13
|
-
export type PlatformSelectSpec<
|
|
14
|
-
default?:
|
|
15
|
-
native?:
|
|
16
|
-
ios?:
|
|
13
|
+
export type PlatformSelectSpec<T> = {
|
|
14
|
+
default?: T,
|
|
15
|
+
native?: T,
|
|
16
|
+
ios?: T,
|
|
17
17
|
...
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -22,6 +22,7 @@ const Platform = {
|
|
|
22
22
|
OS: 'ios',
|
|
23
23
|
// $FlowFixMe[unsafe-getters-setters]
|
|
24
24
|
get Version(): string {
|
|
25
|
+
// $FlowFixMe[object-this-reference]
|
|
25
26
|
return this.constants.osVersion;
|
|
26
27
|
},
|
|
27
28
|
// $FlowFixMe[unsafe-getters-setters]
|
|
@@ -38,27 +39,33 @@ const Platform = {
|
|
|
38
39
|
|},
|
|
39
40
|
systemName: string,
|
|
40
41
|
|} {
|
|
42
|
+
// $FlowFixMe[object-this-reference]
|
|
41
43
|
if (this.__constants == null) {
|
|
44
|
+
// $FlowFixMe[object-this-reference]
|
|
42
45
|
this.__constants = NativePlatformConstantsIOS.getConstants();
|
|
43
46
|
}
|
|
47
|
+
// $FlowFixMe[object-this-reference]
|
|
44
48
|
return this.__constants;
|
|
45
49
|
},
|
|
46
50
|
// $FlowFixMe[unsafe-getters-setters]
|
|
47
51
|
get isPad(): boolean {
|
|
52
|
+
// $FlowFixMe[object-this-reference]
|
|
48
53
|
return this.constants.interfaceIdiom === 'pad';
|
|
49
54
|
},
|
|
50
55
|
// $FlowFixMe[unsafe-getters-setters]
|
|
51
56
|
get isTV(): boolean {
|
|
57
|
+
// $FlowFixMe[object-this-reference]
|
|
52
58
|
return this.constants.interfaceIdiom === 'tv';
|
|
53
59
|
},
|
|
54
60
|
// $FlowFixMe[unsafe-getters-setters]
|
|
55
61
|
get isTesting(): boolean {
|
|
56
62
|
if (__DEV__) {
|
|
63
|
+
// $FlowFixMe[object-this-reference]
|
|
57
64
|
return this.constants.isTesting;
|
|
58
65
|
}
|
|
59
66
|
return false;
|
|
60
67
|
},
|
|
61
|
-
select: <
|
|
68
|
+
select: <T>(spec: PlatformSelectSpec<T>): T =>
|
|
62
69
|
// $FlowFixMe[incompatible-return]
|
|
63
70
|
'ios' in spec ? spec.ios : 'native' in spec ? spec.native : spec.default,
|
|
64
71
|
};
|