@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
|
@@ -8,12 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import invariant from 'invariant';
|
|
12
|
-
import * as React from 'react';
|
|
13
|
-
import SoundManager from '../Components/Sound/SoundManager';
|
|
14
|
-
import UIManager from '../ReactNative/UIManager';
|
|
15
11
|
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
|
16
|
-
import {normalizeRect, type RectOrSize} from '../StyleSheet/Rect';
|
|
17
12
|
import type {
|
|
18
13
|
BlurEvent,
|
|
19
14
|
FocusEvent,
|
|
@@ -21,12 +16,18 @@ import type {
|
|
|
21
16
|
MouseEvent,
|
|
22
17
|
PressEvent,
|
|
23
18
|
} from '../Types/CoreEventTypes';
|
|
19
|
+
|
|
20
|
+
import SoundManager from '../Components/Sound/SoundManager';
|
|
21
|
+
import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
|
|
22
|
+
import UIManager from '../ReactNative/UIManager';
|
|
23
|
+
import {type RectOrSize, normalizeRect} from '../StyleSheet/Rect';
|
|
24
|
+
import {type PointerEvent} from '../Types/CoreEventTypes';
|
|
24
25
|
import Platform from '../Utilities/Platform';
|
|
25
26
|
import {isHoverEnabled} from './HoverState';
|
|
26
27
|
import PressabilityPerformanceEventEmitter from './PressabilityPerformanceEventEmitter.js';
|
|
27
28
|
import {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js';
|
|
28
|
-
import
|
|
29
|
-
import
|
|
29
|
+
import invariant from 'invariant';
|
|
30
|
+
import * as React from 'react';
|
|
30
31
|
|
|
31
32
|
export type PressabilityConfig = $ReadOnly<{|
|
|
32
33
|
/**
|
|
@@ -580,6 +581,7 @@ export default class Pressability {
|
|
|
580
581
|
|
|
581
582
|
if (process.env.NODE_ENV === 'test') {
|
|
582
583
|
// We are setting this in order to find this node in ReactNativeTestTools
|
|
584
|
+
// $FlowFixMe[prop-missing]
|
|
583
585
|
responderEventHandlers.onStartShouldSetResponder.testOnly_pressabilityConfig =
|
|
584
586
|
() => this._config;
|
|
585
587
|
}
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import normalizeColor from '../StyleSheet/normalizeColor';
|
|
12
11
|
import type {ColorValue} from '../StyleSheet/StyleSheet';
|
|
13
|
-
import {normalizeRect, type RectOrSize} from '../StyleSheet/Rect';
|
|
14
12
|
|
|
15
13
|
import View from '../Components/View/View';
|
|
14
|
+
import normalizeColor from '../StyleSheet/normalizeColor';
|
|
15
|
+
import {type RectOrSize, normalizeRect} from '../StyleSheet/Rect';
|
|
16
16
|
import * as React from 'react';
|
|
17
17
|
|
|
18
18
|
type Props = $ReadOnly<{|
|
|
@@ -0,0 +1,275 @@
|
|
|
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 PushNotificationPermissions {
|
|
11
|
+
alert?: boolean | undefined;
|
|
12
|
+
badge?: boolean | undefined;
|
|
13
|
+
sound?: boolean | undefined;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface PushNotification {
|
|
17
|
+
/**
|
|
18
|
+
* An alias for `getAlert` to get the notification's main message string
|
|
19
|
+
*/
|
|
20
|
+
getMessage(): string | Object;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Gets the sound string from the `aps` object
|
|
24
|
+
*/
|
|
25
|
+
getSound(): string;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Gets the category string from the `aps` object
|
|
29
|
+
*/
|
|
30
|
+
getCategory(): string;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Gets the notification's main message from the `aps` object
|
|
34
|
+
*/
|
|
35
|
+
getAlert(): string | Object;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Gets the content-available number from the `aps` object
|
|
39
|
+
*/
|
|
40
|
+
getContentAvailable(): number;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Gets the badge count number from the `aps` object
|
|
44
|
+
*/
|
|
45
|
+
getBadgeCount(): number;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Gets the data object on the notif
|
|
49
|
+
*/
|
|
50
|
+
getData(): Object;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* iOS Only
|
|
54
|
+
* Signifies remote notification handling is complete
|
|
55
|
+
*/
|
|
56
|
+
finish(result: string): void;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
type PresentLocalNotificationDetails = {
|
|
60
|
+
alertBody: string;
|
|
61
|
+
alertAction: string;
|
|
62
|
+
alertTitle?: string | undefined;
|
|
63
|
+
soundName?: string | undefined;
|
|
64
|
+
category?: string | undefined;
|
|
65
|
+
userInfo?: Object | undefined;
|
|
66
|
+
applicationIconBadgeNumber?: number | undefined;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
type ScheduleLocalNotificationDetails = {
|
|
70
|
+
alertAction?: string | undefined;
|
|
71
|
+
alertBody?: string | undefined;
|
|
72
|
+
alertTitle?: string | undefined;
|
|
73
|
+
applicationIconBadgeNumber?: number | undefined;
|
|
74
|
+
category?: string | undefined;
|
|
75
|
+
fireDate?: number | string | undefined;
|
|
76
|
+
isSilent?: boolean | undefined;
|
|
77
|
+
repeatInterval?:
|
|
78
|
+
| 'year'
|
|
79
|
+
| 'month'
|
|
80
|
+
| 'week'
|
|
81
|
+
| 'day'
|
|
82
|
+
| 'hour'
|
|
83
|
+
| 'minute'
|
|
84
|
+
| undefined;
|
|
85
|
+
soundName?: string | undefined;
|
|
86
|
+
userInfo?: Object | undefined;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export type PushNotificationEventName =
|
|
90
|
+
| 'notification'
|
|
91
|
+
| 'localNotification'
|
|
92
|
+
| 'register'
|
|
93
|
+
| 'registrationError';
|
|
94
|
+
|
|
95
|
+
type FetchResult = {
|
|
96
|
+
NewData: 'UIBackgroundFetchResultNewData';
|
|
97
|
+
NoData: 'UIBackgroundFetchResultNoData';
|
|
98
|
+
ResultFailed: 'UIBackgroundFetchResultFailed';
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Handle push notifications for your app, including permission handling and icon badge number.
|
|
103
|
+
* @see https://reactnative.dev/docs/pushnotificationios#content
|
|
104
|
+
*
|
|
105
|
+
* //FIXME: BGR: The documentation seems completely off compared to the actual js implementation. I could never get the example to run
|
|
106
|
+
*/
|
|
107
|
+
export interface PushNotificationIOSStatic {
|
|
108
|
+
/**
|
|
109
|
+
* Schedules the localNotification for immediate presentation.
|
|
110
|
+
* details is an object containing:
|
|
111
|
+
* alertBody : The message displayed in the notification alert.
|
|
112
|
+
* alertAction : The "action" displayed beneath an actionable notification. Defaults to "view";
|
|
113
|
+
* soundName : The sound played when the notification is fired (optional).
|
|
114
|
+
* category : The category of this notification, required for actionable notifications (optional).
|
|
115
|
+
* userInfo : An optional object containing additional notification data.
|
|
116
|
+
* applicationIconBadgeNumber (optional) : The number to display as the app's icon badge. The default value of this property is 0, which means that no badge is displayed.
|
|
117
|
+
*/
|
|
118
|
+
presentLocalNotification(details: PresentLocalNotificationDetails): void;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Schedules the localNotification for future presentation.
|
|
122
|
+
* details is an object containing:
|
|
123
|
+
* fireDate : The date and time when the system should deliver the notification.
|
|
124
|
+
* alertBody : The message displayed in the notification alert.
|
|
125
|
+
* alertAction : The "action" displayed beneath an actionable notification. Defaults to "view";
|
|
126
|
+
* soundName : The sound played when the notification is fired (optional).
|
|
127
|
+
* category : The category of this notification, required for actionable notifications (optional).
|
|
128
|
+
* userInfo : An optional object containing additional notification data.
|
|
129
|
+
* applicationIconBadgeNumber (optional) : The number to display as the app's icon badge. Setting the number to 0 removes the icon badge.
|
|
130
|
+
*/
|
|
131
|
+
scheduleLocalNotification(details: ScheduleLocalNotificationDetails): void;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Cancels all scheduled localNotifications
|
|
135
|
+
*/
|
|
136
|
+
cancelAllLocalNotifications(): void;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Cancel local notifications.
|
|
140
|
+
* Optionally restricts the set of canceled notifications to those notifications whose userInfo fields match the corresponding fields in the userInfo argument.
|
|
141
|
+
*/
|
|
142
|
+
cancelLocalNotifications(userInfo: Object): void;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Sets the badge number for the app icon on the home screen
|
|
146
|
+
*/
|
|
147
|
+
setApplicationIconBadgeNumber(number: number): void;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Gets the current badge number for the app icon on the home screen
|
|
151
|
+
*/
|
|
152
|
+
getApplicationIconBadgeNumber(callback: (badge: number) => void): void;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Gets the local notifications that are currently scheduled.
|
|
156
|
+
*/
|
|
157
|
+
getScheduledLocalNotifications(
|
|
158
|
+
callback: (notifications: ScheduleLocalNotificationDetails[]) => void,
|
|
159
|
+
): void;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Attaches a listener to remote notifications while the app is running in the
|
|
163
|
+
* foreground or the background.
|
|
164
|
+
*
|
|
165
|
+
* The handler will get be invoked with an instance of `PushNotificationIOS`
|
|
166
|
+
*
|
|
167
|
+
* The type MUST be 'notification'
|
|
168
|
+
*/
|
|
169
|
+
addEventListener(
|
|
170
|
+
type: 'notification' | 'localNotification',
|
|
171
|
+
handler: (notification: PushNotification) => void,
|
|
172
|
+
): void;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Fired when the user registers for remote notifications.
|
|
176
|
+
*
|
|
177
|
+
* The handler will be invoked with a hex string representing the deviceToken.
|
|
178
|
+
*
|
|
179
|
+
* The type MUST be 'register'
|
|
180
|
+
*/
|
|
181
|
+
addEventListener(
|
|
182
|
+
type: 'register',
|
|
183
|
+
handler: (deviceToken: string) => void,
|
|
184
|
+
): void;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Fired when the user fails to register for remote notifications.
|
|
188
|
+
* Typically occurs when APNS is having issues, or the device is a simulator.
|
|
189
|
+
*
|
|
190
|
+
* The handler will be invoked with {message: string, code: number, details: any}.
|
|
191
|
+
*
|
|
192
|
+
* The type MUST be 'registrationError'
|
|
193
|
+
*/
|
|
194
|
+
addEventListener(
|
|
195
|
+
type: 'registrationError',
|
|
196
|
+
handler: (error: {message: string; code: number; details: any}) => void,
|
|
197
|
+
): void;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Removes the event listener. Do this in `componentWillUnmount` to prevent
|
|
201
|
+
* memory leaks
|
|
202
|
+
*/
|
|
203
|
+
removeEventListener(
|
|
204
|
+
type: PushNotificationEventName,
|
|
205
|
+
handler:
|
|
206
|
+
| ((notification: PushNotification) => void)
|
|
207
|
+
| ((deviceToken: string) => void)
|
|
208
|
+
| ((error: {message: string; code: number; details: any}) => void),
|
|
209
|
+
): void;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Requests all notification permissions from iOS, prompting the user's
|
|
213
|
+
* dialog box.
|
|
214
|
+
*/
|
|
215
|
+
requestPermissions(permissions?: PushNotificationPermissions[]): void;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Requests all notification permissions from iOS, prompting the user's
|
|
219
|
+
* dialog box.
|
|
220
|
+
*/
|
|
221
|
+
requestPermissions(
|
|
222
|
+
permissions?: PushNotificationPermissions,
|
|
223
|
+
): Promise<PushNotificationPermissions>;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Unregister for all remote notifications received via Apple Push
|
|
227
|
+
* Notification service.
|
|
228
|
+
* You should call this method in rare circumstances only, such as when
|
|
229
|
+
* a new version of the app removes support for all types of remote
|
|
230
|
+
* notifications. Users can temporarily prevent apps from receiving
|
|
231
|
+
* remote notifications through the Notifications section of the
|
|
232
|
+
* Settings app. Apps unregistered through this method can always
|
|
233
|
+
* re-register.
|
|
234
|
+
*/
|
|
235
|
+
abandonPermissions(): void;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* See what push permissions are currently enabled. `callback` will be
|
|
239
|
+
* invoked with a `permissions` object:
|
|
240
|
+
*
|
|
241
|
+
* - `alert` :boolean
|
|
242
|
+
* - `badge` :boolean
|
|
243
|
+
* - `sound` :boolean
|
|
244
|
+
*/
|
|
245
|
+
checkPermissions(
|
|
246
|
+
callback: (permissions: PushNotificationPermissions) => void,
|
|
247
|
+
): void;
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* This method returns a promise that resolves to either the notification
|
|
251
|
+
* object if the app was launched by a push notification, or `null` otherwise.
|
|
252
|
+
*/
|
|
253
|
+
getInitialNotification(): Promise<PushNotification | null>;
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* iOS fetch results that best describe the result of a finished remote notification handler.
|
|
257
|
+
* For a list of possible values, see `PushNotificationIOS.FetchResult`.
|
|
258
|
+
*/
|
|
259
|
+
FetchResult: FetchResult;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* PushNotificationIOS has been extracted from react-native core and will be removed in a future release.
|
|
264
|
+
* It can now be installed and imported from `@react-native-community/push-notification-ios` instead of 'react-native'.
|
|
265
|
+
* @see https://github.com/react-native-community/react-native-push-notification-ios
|
|
266
|
+
* @deprecated
|
|
267
|
+
*/
|
|
268
|
+
export const PushNotificationIOS: PushNotificationIOSStatic;
|
|
269
|
+
/**
|
|
270
|
+
* PushNotificationIOS has been extracted from react-native core and will be removed in a future release.
|
|
271
|
+
* It can now be installed and imported from `@react-native-community/push-notification-ios` instead of 'react-native'.
|
|
272
|
+
* @see https://github.com/react-native-community/react-native-push-notification-ios
|
|
273
|
+
* @deprecated
|
|
274
|
+
*/
|
|
275
|
+
export type PushNotificationIOS = PushNotificationIOSStatic;
|
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
* @flow
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
12
|
+
|
|
11
13
|
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
|
|
14
|
+
import Platform from '../Utilities/Platform';
|
|
12
15
|
import NativePushNotificationManagerIOS from './NativePushNotificationManagerIOS';
|
|
13
16
|
import invariant from 'invariant';
|
|
14
|
-
import Platform from '../Utilities/Platform';
|
|
15
17
|
|
|
16
18
|
type NativePushNotificationIOSEventDefinitions = {
|
|
17
19
|
remoteNotificationReceived: [
|
|
@@ -44,7 +46,7 @@ const PushNotificationEmitter =
|
|
|
44
46
|
Platform.OS !== 'ios' ? null : NativePushNotificationManagerIOS,
|
|
45
47
|
);
|
|
46
48
|
|
|
47
|
-
const _notifHandlers = new Map();
|
|
49
|
+
const _notifHandlers = new Map<string, void | EventSubscription>();
|
|
48
50
|
|
|
49
51
|
const DEVICE_NOTIF_EVENT = 'remoteNotificationReceived';
|
|
50
52
|
const NOTIF_REGISTER_EVENT = 'remoteNotificationsRegistered';
|
|
@@ -118,7 +120,7 @@ class PushNotificationIOS {
|
|
|
118
120
|
*
|
|
119
121
|
* See https://reactnative.dev/docs/pushnotificationios#presentlocalnotification
|
|
120
122
|
*/
|
|
121
|
-
static presentLocalNotification(details: Object) {
|
|
123
|
+
static presentLocalNotification(details: Object): void {
|
|
122
124
|
invariant(
|
|
123
125
|
NativePushNotificationManagerIOS,
|
|
124
126
|
'PushNotificationManager is not available.',
|
|
@@ -131,7 +133,7 @@ class PushNotificationIOS {
|
|
|
131
133
|
*
|
|
132
134
|
* See https://reactnative.dev/docs/pushnotificationios#schedulelocalnotification
|
|
133
135
|
*/
|
|
134
|
-
static scheduleLocalNotification(details: Object) {
|
|
136
|
+
static scheduleLocalNotification(details: Object): void {
|
|
135
137
|
invariant(
|
|
136
138
|
NativePushNotificationManagerIOS,
|
|
137
139
|
'PushNotificationManager is not available.',
|
|
@@ -144,7 +146,7 @@ class PushNotificationIOS {
|
|
|
144
146
|
*
|
|
145
147
|
* See https://reactnative.dev/docs/pushnotificationios#cancelalllocalnotifications
|
|
146
148
|
*/
|
|
147
|
-
static cancelAllLocalNotifications() {
|
|
149
|
+
static cancelAllLocalNotifications(): void {
|
|
148
150
|
invariant(
|
|
149
151
|
NativePushNotificationManagerIOS,
|
|
150
152
|
'PushNotificationManager is not available.',
|
|
@@ -198,7 +200,7 @@ class PushNotificationIOS {
|
|
|
198
200
|
*
|
|
199
201
|
* See https://reactnative.dev/docs/pushnotificationios#setapplicationiconbadgenumber
|
|
200
202
|
*/
|
|
201
|
-
static setApplicationIconBadgeNumber(number: number) {
|
|
203
|
+
static setApplicationIconBadgeNumber(number: number): void {
|
|
202
204
|
invariant(
|
|
203
205
|
NativePushNotificationManagerIOS,
|
|
204
206
|
'PushNotificationManager is not available.',
|
|
@@ -211,7 +213,7 @@ class PushNotificationIOS {
|
|
|
211
213
|
*
|
|
212
214
|
* See https://reactnative.dev/docs/pushnotificationios#getapplicationiconbadgenumber
|
|
213
215
|
*/
|
|
214
|
-
static getApplicationIconBadgeNumber(callback: Function) {
|
|
216
|
+
static getApplicationIconBadgeNumber(callback: Function): void {
|
|
215
217
|
invariant(
|
|
216
218
|
NativePushNotificationManagerIOS,
|
|
217
219
|
'PushNotificationManager is not available.',
|
|
@@ -224,7 +226,7 @@ class PushNotificationIOS {
|
|
|
224
226
|
*
|
|
225
227
|
* See https://reactnative.dev/docs/pushnotificationios#cancellocalnotification
|
|
226
228
|
*/
|
|
227
|
-
static cancelLocalNotifications(userInfo: Object) {
|
|
229
|
+
static cancelLocalNotifications(userInfo: Object): void {
|
|
228
230
|
invariant(
|
|
229
231
|
NativePushNotificationManagerIOS,
|
|
230
232
|
'PushNotificationManager is not available.',
|
|
@@ -237,7 +239,7 @@ class PushNotificationIOS {
|
|
|
237
239
|
*
|
|
238
240
|
* See https://reactnative.dev/docs/pushnotificationios#getscheduledlocalnotifications
|
|
239
241
|
*/
|
|
240
|
-
static getScheduledLocalNotifications(callback: Function) {
|
|
242
|
+
static getScheduledLocalNotifications(callback: Function): void {
|
|
241
243
|
invariant(
|
|
242
244
|
NativePushNotificationManagerIOS,
|
|
243
245
|
'PushNotificationManager is not available.',
|
|
@@ -251,7 +253,10 @@ class PushNotificationIOS {
|
|
|
251
253
|
*
|
|
252
254
|
* See https://reactnative.dev/docs/pushnotificationios#addeventlistener
|
|
253
255
|
*/
|
|
254
|
-
static addEventListener(
|
|
256
|
+
static addEventListener(
|
|
257
|
+
type: PushNotificationEventName,
|
|
258
|
+
handler: Function,
|
|
259
|
+
): void {
|
|
255
260
|
invariant(
|
|
256
261
|
type === 'notification' ||
|
|
257
262
|
type === 'register' ||
|
|
@@ -301,7 +306,7 @@ class PushNotificationIOS {
|
|
|
301
306
|
static removeEventListener(
|
|
302
307
|
type: PushNotificationEventName,
|
|
303
308
|
handler: Function,
|
|
304
|
-
) {
|
|
309
|
+
): void {
|
|
305
310
|
invariant(
|
|
306
311
|
type === 'notification' ||
|
|
307
312
|
type === 'register' ||
|
|
@@ -362,7 +367,7 @@ class PushNotificationIOS {
|
|
|
362
367
|
*
|
|
363
368
|
* See https://reactnative.dev/docs/pushnotificationios#abandonpermissions
|
|
364
369
|
*/
|
|
365
|
-
static abandonPermissions() {
|
|
370
|
+
static abandonPermissions(): void {
|
|
366
371
|
invariant(
|
|
367
372
|
NativePushNotificationManagerIOS,
|
|
368
373
|
'PushNotificationManager is not available.',
|
|
@@ -376,7 +381,7 @@ class PushNotificationIOS {
|
|
|
376
381
|
*
|
|
377
382
|
* See https://reactnative.dev/docs/pushnotificationios#checkpermissions
|
|
378
383
|
*/
|
|
379
|
-
static checkPermissions(callback: Function) {
|
|
384
|
+
static checkPermissions(callback: Function): void {
|
|
380
385
|
invariant(typeof callback === 'function', 'Must provide a valid callback');
|
|
381
386
|
invariant(
|
|
382
387
|
NativePushNotificationManagerIOS,
|
|
@@ -463,7 +468,7 @@ class PushNotificationIOS {
|
|
|
463
468
|
*
|
|
464
469
|
* See https://reactnative.dev/docs/pushnotificationios#finish
|
|
465
470
|
*/
|
|
466
|
-
finish(fetchResult: string) {
|
|
471
|
+
finish(fetchResult: string): void {
|
|
467
472
|
if (
|
|
468
473
|
!this._isRemote ||
|
|
469
474
|
!this._notificationId ||
|
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
* @flow
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {RootTag} from './RootTag';
|
|
12
|
+
|
|
11
13
|
import View from '../Components/View/View';
|
|
12
14
|
import RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';
|
|
13
15
|
import StyleSheet from '../StyleSheet/StyleSheet';
|
|
14
16
|
import {type EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
15
17
|
import {RootTagContext, createRootTag} from './RootTag';
|
|
16
|
-
import type {RootTag} from './RootTag';
|
|
17
18
|
import * as React from 'react';
|
|
18
19
|
|
|
19
20
|
type Props = $ReadOnly<{|
|
|
@@ -25,10 +26,12 @@ type Props = $ReadOnly<{|
|
|
|
25
26
|
showArchitectureIndicator?: boolean,
|
|
26
27
|
WrapperComponent?: ?React.ComponentType<any>,
|
|
27
28
|
internal_excludeLogBox?: ?boolean,
|
|
29
|
+
internal_excludeInspector?: ?boolean,
|
|
28
30
|
|}>;
|
|
29
31
|
|
|
30
32
|
type State = {|
|
|
31
33
|
inspector: ?React.Node,
|
|
34
|
+
devtoolsOverlay: ?React.Node,
|
|
32
35
|
mainKey: number,
|
|
33
36
|
hasError: boolean,
|
|
34
37
|
|};
|
|
@@ -36,6 +39,7 @@ type State = {|
|
|
|
36
39
|
class AppContainer extends React.Component<Props, State> {
|
|
37
40
|
state: State = {
|
|
38
41
|
inspector: null,
|
|
42
|
+
devtoolsOverlay: null,
|
|
39
43
|
mainKey: 1,
|
|
40
44
|
hasError: false,
|
|
41
45
|
};
|
|
@@ -46,7 +50,7 @@ class AppContainer extends React.Component<Props, State> {
|
|
|
46
50
|
|
|
47
51
|
componentDidMount(): void {
|
|
48
52
|
if (__DEV__) {
|
|
49
|
-
if (!
|
|
53
|
+
if (!this.props.internal_excludeInspector) {
|
|
50
54
|
this._subscription = RCTDeviceEventEmitter.addListener(
|
|
51
55
|
'toggleElementInspector',
|
|
52
56
|
() => {
|
|
@@ -65,6 +69,14 @@ class AppContainer extends React.Component<Props, State> {
|
|
|
65
69
|
this.setState({inspector});
|
|
66
70
|
},
|
|
67
71
|
);
|
|
72
|
+
if (window.__REACT_DEVTOOLS_GLOBAL_HOOK__ != null) {
|
|
73
|
+
const DevtoolsOverlay =
|
|
74
|
+
require('../Inspector/DevtoolsOverlay').default;
|
|
75
|
+
const devtoolsOverlay = (
|
|
76
|
+
<DevtoolsOverlay inspectedView={this._mainRef} />
|
|
77
|
+
);
|
|
78
|
+
this.setState({devtoolsOverlay});
|
|
79
|
+
}
|
|
68
80
|
}
|
|
69
81
|
}
|
|
70
82
|
}
|
|
@@ -78,10 +90,7 @@ class AppContainer extends React.Component<Props, State> {
|
|
|
78
90
|
render(): React.Node {
|
|
79
91
|
let logBox = null;
|
|
80
92
|
if (__DEV__) {
|
|
81
|
-
if (
|
|
82
|
-
!global.__RCTProfileIsProfiling &&
|
|
83
|
-
!this.props.internal_excludeLogBox
|
|
84
|
-
) {
|
|
93
|
+
if (!this.props.internal_excludeLogBox) {
|
|
85
94
|
const LogBoxNotificationContainer =
|
|
86
95
|
require('../LogBox/LogBoxNotificationContainer').default;
|
|
87
96
|
logBox = <LogBoxNotificationContainer />;
|
|
@@ -90,7 +99,7 @@ class AppContainer extends React.Component<Props, State> {
|
|
|
90
99
|
|
|
91
100
|
let innerView: React.Node = (
|
|
92
101
|
<View
|
|
93
|
-
collapsable={!this.state.inspector}
|
|
102
|
+
collapsable={!this.state.inspector && !this.state.devtoolsOverlay}
|
|
94
103
|
key={this.state.mainKey}
|
|
95
104
|
pointerEvents="box-none"
|
|
96
105
|
style={styles.appContainer}
|
|
@@ -118,6 +127,7 @@ class AppContainer extends React.Component<Props, State> {
|
|
|
118
127
|
<RootTagContext.Provider value={createRootTag(this.props.rootTag)}>
|
|
119
128
|
<View style={styles.appContainer} pointerEvents="box-none">
|
|
120
129
|
{!this.state.hasError && innerView}
|
|
130
|
+
{this.state.devtoolsOverlay}
|
|
121
131
|
{this.state.inspector}
|
|
122
132
|
{logBox}
|
|
123
133
|
</View>
|
|
@@ -0,0 +1,68 @@
|
|
|
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 type * as React from 'react';
|
|
11
|
+
|
|
12
|
+
type Task = (taskData: any) => Promise<void>;
|
|
13
|
+
type TaskProvider = () => Task;
|
|
14
|
+
|
|
15
|
+
export type ComponentProvider = () => React.ComponentType<any>;
|
|
16
|
+
|
|
17
|
+
export type Runnable = (appParameters: any) => void;
|
|
18
|
+
|
|
19
|
+
export type AppConfig = {
|
|
20
|
+
appKey: string;
|
|
21
|
+
component?: ComponentProvider | undefined;
|
|
22
|
+
run?: Runnable | undefined;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* `AppRegistry` is the JS entry point to running all React Native apps. App
|
|
27
|
+
* root components should register themselves with
|
|
28
|
+
* `AppRegistry.registerComponent`, then the native system can load the bundle
|
|
29
|
+
* for the app and then actually run the app when it's ready by invoking
|
|
30
|
+
* `AppRegistry.runApplication`.
|
|
31
|
+
*
|
|
32
|
+
* To "stop" an application when a view should be destroyed, call
|
|
33
|
+
* `AppRegistry.unmountApplicationComponentAtRootTag` with the tag that was
|
|
34
|
+
* pass into `runApplication`. These should always be used as a pair.
|
|
35
|
+
*
|
|
36
|
+
* `AppRegistry` should be `require`d early in the `require` sequence to make
|
|
37
|
+
* sure the JS execution environment is setup before other modules are
|
|
38
|
+
* `require`d.
|
|
39
|
+
*/
|
|
40
|
+
export namespace AppRegistry {
|
|
41
|
+
export function registerConfig(config: AppConfig[]): void;
|
|
42
|
+
|
|
43
|
+
export function registerComponent(
|
|
44
|
+
appKey: string,
|
|
45
|
+
getComponentFunc: ComponentProvider,
|
|
46
|
+
): string;
|
|
47
|
+
|
|
48
|
+
export function registerRunnable(appKey: string, func: Runnable): string;
|
|
49
|
+
|
|
50
|
+
export function getAppKeys(): string[];
|
|
51
|
+
|
|
52
|
+
export function unmountApplicationComponentAtRootTag(rootTag: number): void;
|
|
53
|
+
|
|
54
|
+
export function runApplication(appKey: string, appParameters: any): void;
|
|
55
|
+
|
|
56
|
+
export function setSurfaceProps(
|
|
57
|
+
appKey: string,
|
|
58
|
+
appParameters: any,
|
|
59
|
+
displayMode?: number,
|
|
60
|
+
): void;
|
|
61
|
+
|
|
62
|
+
export function registerHeadlessTask(
|
|
63
|
+
appKey: string,
|
|
64
|
+
task: TaskProvider,
|
|
65
|
+
): void;
|
|
66
|
+
|
|
67
|
+
export function getRunnable(appKey: string): Runnable | undefined;
|
|
68
|
+
}
|
|
@@ -8,21 +8,20 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
const BugReporting = require('../BugReporting/BugReporting');
|
|
13
|
-
const ReactNative = require('../Renderer/shims/ReactNative');
|
|
14
|
-
const SceneTracker = require('../Utilities/SceneTracker');
|
|
15
|
-
|
|
16
|
-
const infoLog = require('../Utilities/infoLog');
|
|
17
|
-
const invariant = require('invariant');
|
|
18
|
-
const renderApplication = require('./renderApplication');
|
|
11
|
+
import type {RootTag} from '../Types/RootTagTypes';
|
|
19
12
|
import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
|
|
20
13
|
|
|
21
|
-
import
|
|
14
|
+
import BatchedBridge from '../BatchedBridge/BatchedBridge';
|
|
15
|
+
import BugReporting from '../BugReporting/BugReporting';
|
|
22
16
|
import createPerformanceLogger from '../Utilities/createPerformanceLogger';
|
|
23
|
-
import
|
|
17
|
+
import infoLog from '../Utilities/infoLog';
|
|
18
|
+
import SceneTracker from '../Utilities/SceneTracker';
|
|
19
|
+
import {coerceDisplayMode} from './DisplayMode';
|
|
24
20
|
import HeadlessJsTaskError from './HeadlessJsTaskError';
|
|
25
|
-
import
|
|
21
|
+
import NativeHeadlessJsTaskSupport from './NativeHeadlessJsTaskSupport';
|
|
22
|
+
import renderApplication from './renderApplication';
|
|
23
|
+
import {unmountComponentAtNodeAndRemoveContainer} from './RendererProxy';
|
|
24
|
+
import invariant from 'invariant';
|
|
26
25
|
|
|
27
26
|
type Task = (taskData: any) => Promise<void>;
|
|
28
27
|
export type TaskProvider = () => Task;
|
|
@@ -250,9 +249,7 @@ const AppRegistry = {
|
|
|
250
249
|
* See https://reactnative.dev/docs/appregistry#unmountapplicationcomponentatroottag
|
|
251
250
|
*/
|
|
252
251
|
unmountApplicationComponentAtRootTag(rootTag: RootTag): void {
|
|
253
|
-
|
|
254
|
-
// $FlowFixMe[incompatible-call] RootTag: RootTag is incompatible with number, needs an updated synced version of the ReactNativeTypes.js file
|
|
255
|
-
ReactNative.unmountComponentAtNodeAndRemoveContainer(rootTag);
|
|
252
|
+
unmountComponentAtNodeAndRemoveContainer(rootTag);
|
|
256
253
|
},
|
|
257
254
|
|
|
258
255
|
/**
|
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import type {RootTag} from '
|
|
14
|
-
|
|
13
|
+
import type {RootTag} from '../Types/RootTagTypes';
|
|
14
|
+
|
|
15
|
+
import {unstable_hasComponent} from '../NativeComponent/NativeComponentRegistryUnstable';
|
|
15
16
|
|
|
16
17
|
const errorMessageForMethod = (methodName: string): string =>
|
|
17
18
|
"[ReactNative Architecture][JS] '" +
|
|
@@ -146,7 +147,7 @@ module.exports = {
|
|
|
146
147
|
errorMessageForMethod('setLayoutAnimationEnabledExperimental'),
|
|
147
148
|
);
|
|
148
149
|
},
|
|
149
|
-
// Please use AccessibilityInfo.
|
|
150
|
+
// Please use AccessibilityInfo.sendAccessibilityEvent instead.
|
|
150
151
|
// See SetAccessibilityFocusExample in AccessibilityExample.js for a migration example.
|
|
151
152
|
sendAccessibilityEvent: (reactTag: ?number, eventType: number): void =>
|
|
152
153
|
console.error(errorMessageForMethod('sendAccessibilityEvent')),
|