@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
package/Libraries/Blob/File.js
CHANGED
|
@@ -10,12 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
import type {BlobOptions} from './BlobTypes';
|
|
14
14
|
|
|
15
|
+
const Blob = require('./Blob');
|
|
15
16
|
const invariant = require('invariant');
|
|
16
17
|
|
|
17
|
-
import type {BlobOptions} from './BlobTypes';
|
|
18
|
-
|
|
19
18
|
/**
|
|
20
19
|
* The File interface provides information about files.
|
|
21
20
|
*/
|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
const EventTarget = require('event-target-shim');
|
|
11
|
+
import type Blob from './Blob';
|
|
13
12
|
|
|
14
13
|
import NativeFileReaderModule from './NativeFileReaderModule';
|
|
15
14
|
|
|
15
|
+
const EventTarget = require('event-target-shim');
|
|
16
|
+
|
|
16
17
|
type ReadyState =
|
|
17
18
|
| 0 // EMPTY
|
|
18
19
|
| 1 // LOADING
|
|
@@ -73,11 +74,11 @@ class FileReader extends (EventTarget(...READER_EVENTS): any) {
|
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
|
|
76
|
-
readAsArrayBuffer() {
|
|
77
|
+
readAsArrayBuffer(): any {
|
|
77
78
|
throw new Error('FileReader.readAsArrayBuffer is not implemented');
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
readAsDataURL(blob: ?Blob) {
|
|
81
|
+
readAsDataURL(blob: ?Blob): void {
|
|
81
82
|
this._aborted = false;
|
|
82
83
|
|
|
83
84
|
if (blob == null) {
|
|
@@ -104,7 +105,7 @@ class FileReader extends (EventTarget(...READER_EVENTS): any) {
|
|
|
104
105
|
);
|
|
105
106
|
}
|
|
106
107
|
|
|
107
|
-
readAsText(blob: ?Blob, encoding: string = 'UTF-8') {
|
|
108
|
+
readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {
|
|
108
109
|
this._aborted = false;
|
|
109
110
|
|
|
110
111
|
if (blob == null) {
|
package/Libraries/Blob/URL.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @flow
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
import type Blob from './Blob';
|
|
12
12
|
|
|
13
13
|
import NativeBlobModule from './NativeBlobModule';
|
|
14
14
|
|
|
@@ -54,7 +54,7 @@ if (
|
|
|
54
54
|
// Small subset from whatwg-url: https://github.com/jsdom/whatwg-url/tree/master/src
|
|
55
55
|
// The reference code bloat comes from Unicode issues with URLs, so those won't work here.
|
|
56
56
|
export class URLSearchParams {
|
|
57
|
-
_searchParams = [];
|
|
57
|
+
_searchParams: Array<Array<string>> = [];
|
|
58
58
|
|
|
59
59
|
constructor(params: any) {
|
|
60
60
|
if (typeof params === 'object') {
|
|
@@ -62,35 +62,36 @@ export class URLSearchParams {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
append(key: string, value: string) {
|
|
65
|
+
append(key: string, value: string): void {
|
|
66
66
|
this._searchParams.push([key, value]);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
delete(name: string) {
|
|
69
|
+
delete(name: string): void {
|
|
70
70
|
throw new Error('URLSearchParams.delete is not implemented');
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
get(name: string) {
|
|
73
|
+
get(name: string): void {
|
|
74
74
|
throw new Error('URLSearchParams.get is not implemented');
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
getAll(name: string) {
|
|
77
|
+
getAll(name: string): void {
|
|
78
78
|
throw new Error('URLSearchParams.getAll is not implemented');
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
has(name: string) {
|
|
81
|
+
has(name: string): void {
|
|
82
82
|
throw new Error('URLSearchParams.has is not implemented');
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
set(name: string, value: string) {
|
|
85
|
+
set(name: string, value: string): void {
|
|
86
86
|
throw new Error('URLSearchParams.set is not implemented');
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
sort() {
|
|
89
|
+
sort(): void {
|
|
90
90
|
throw new Error('URLSearchParams.sort is not implemented');
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
// $FlowFixMe[unsupported-syntax]
|
|
94
|
+
// $FlowFixMe[missing-local-annot]
|
|
94
95
|
[Symbol.iterator]() {
|
|
95
96
|
return this._searchParams[Symbol.iterator]();
|
|
96
97
|
}
|
|
@@ -134,6 +135,7 @@ export class URL {
|
|
|
134
135
|
// Do nothing.
|
|
135
136
|
}
|
|
136
137
|
|
|
138
|
+
// $FlowFixMe[missing-local-annot]
|
|
137
139
|
constructor(url: string, base: string | URL) {
|
|
138
140
|
let baseUrl = null;
|
|
139
141
|
if (!base || validateBaseUrl(url)) {
|
|
@@ -0,0 +1,128 @@
|
|
|
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
|
+
import {HostComponent} from '../../../types/public/ReactNativeTypes';
|
|
12
|
+
import {EmitterSubscription} from '../../vendor/emitter/EventEmitter';
|
|
13
|
+
|
|
14
|
+
type AccessibilityChangeEventName =
|
|
15
|
+
| 'change' // deprecated, maps to screenReaderChanged
|
|
16
|
+
| 'boldTextChanged' // iOS-only Event
|
|
17
|
+
| 'grayscaleChanged' // iOS-only Event
|
|
18
|
+
| 'invertColorsChanged' // iOS-only Event
|
|
19
|
+
| 'reduceMotionChanged'
|
|
20
|
+
| 'screenReaderChanged'
|
|
21
|
+
| 'reduceTransparencyChanged'; // iOS-only Event
|
|
22
|
+
|
|
23
|
+
type AccessibilityChangeEvent = boolean;
|
|
24
|
+
|
|
25
|
+
type AccessibilityChangeEventHandler = (
|
|
26
|
+
event: AccessibilityChangeEvent,
|
|
27
|
+
) => void;
|
|
28
|
+
|
|
29
|
+
type AccessibilityAnnouncementEventName = 'announcementFinished'; // iOS-only Event
|
|
30
|
+
|
|
31
|
+
type AccessibilityAnnouncementFinishedEvent = {
|
|
32
|
+
announcement: string;
|
|
33
|
+
success: boolean;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
type AccessibilityAnnouncementFinishedEventHandler = (
|
|
37
|
+
event: AccessibilityAnnouncementFinishedEvent,
|
|
38
|
+
) => void;
|
|
39
|
+
|
|
40
|
+
type AccessibilityEventTypes = 'click' | 'focus';
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @see https://reactnative.dev/docs/accessibilityinfo
|
|
44
|
+
*/
|
|
45
|
+
export interface AccessibilityInfoStatic {
|
|
46
|
+
/**
|
|
47
|
+
* Query whether bold text is currently enabled.
|
|
48
|
+
*
|
|
49
|
+
* @platform ios
|
|
50
|
+
*/
|
|
51
|
+
isBoldTextEnabled: () => Promise<boolean>;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Query whether grayscale is currently enabled.
|
|
55
|
+
*
|
|
56
|
+
* @platform ios
|
|
57
|
+
*/
|
|
58
|
+
isGrayscaleEnabled: () => Promise<boolean>;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Query whether invert colors is currently enabled.
|
|
62
|
+
*
|
|
63
|
+
* @platform ios
|
|
64
|
+
*/
|
|
65
|
+
isInvertColorsEnabled: () => Promise<boolean>;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Query whether reduce motion is currently enabled.
|
|
69
|
+
*/
|
|
70
|
+
isReduceMotionEnabled: () => Promise<boolean>;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Query whether reduce transparency is currently enabled.
|
|
74
|
+
*
|
|
75
|
+
* @platform ios
|
|
76
|
+
*/
|
|
77
|
+
isReduceTransparencyEnabled: () => Promise<boolean>;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Query whether a screen reader is currently enabled.
|
|
81
|
+
*/
|
|
82
|
+
isScreenReaderEnabled: () => Promise<boolean>;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Add an event handler. Supported events:
|
|
86
|
+
* - announcementFinished: iOS-only event. Fires when the screen reader has finished making an announcement.
|
|
87
|
+
* The argument to the event handler is a dictionary with these keys:
|
|
88
|
+
* - announcement: The string announced by the screen reader.
|
|
89
|
+
* - success: A boolean indicating whether the announcement was successfully made.
|
|
90
|
+
* - AccessibilityEventName constants other than announcementFinished: Fires on accessibility feature change.
|
|
91
|
+
* The argument to the event handler is a boolean.
|
|
92
|
+
* The boolean is true when the related event's feature is enabled and false otherwise.
|
|
93
|
+
*
|
|
94
|
+
*/
|
|
95
|
+
addEventListener(
|
|
96
|
+
eventName: AccessibilityChangeEventName,
|
|
97
|
+
handler: AccessibilityChangeEventHandler,
|
|
98
|
+
): EmitterSubscription;
|
|
99
|
+
addEventListener(
|
|
100
|
+
eventName: AccessibilityAnnouncementEventName,
|
|
101
|
+
handler: AccessibilityAnnouncementFinishedEventHandler,
|
|
102
|
+
): EmitterSubscription;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Set accessibility focus to a react component.
|
|
106
|
+
*/
|
|
107
|
+
setAccessibilityFocus: (reactTag: number) => void;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Post a string to be announced by the screen reader.
|
|
111
|
+
*/
|
|
112
|
+
announceForAccessibility: (announcement: string) => void;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Gets the timeout in millisecond that the user needs.
|
|
116
|
+
* This value is set in "Time to take action (Accessibility timeout)" of "Accessibility" settings.
|
|
117
|
+
*
|
|
118
|
+
* @platform android
|
|
119
|
+
*/
|
|
120
|
+
getRecommendedTimeoutMillis: (originalTimeout: number) => Promise<number>;
|
|
121
|
+
sendAccessibilityEvent: (
|
|
122
|
+
handle: React.ElementRef<HostComponent<unknown>>,
|
|
123
|
+
eventType: AccessibilityEventTypes,
|
|
124
|
+
) => void;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export const AccessibilityInfo: AccessibilityInfoStatic;
|
|
128
|
+
export type AccessibilityInfo = AccessibilityInfoStatic;
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
12
|
+
import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
13
|
+
import type {ElementRef} from 'react';
|
|
14
|
+
|
|
15
|
+
// Events that are only supported on Android.
|
|
16
|
+
type AccessibilityEventDefinitionsAndroid = {
|
|
17
|
+
accessibilityServiceChanged: [boolean],
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// Events that are only supported on iOS.
|
|
21
|
+
type AccessibilityEventDefinitionsIOS = {
|
|
22
|
+
announcementFinished: [{announcement: string, success: boolean}],
|
|
23
|
+
boldTextChanged: [boolean],
|
|
24
|
+
grayscaleChanged: [boolean],
|
|
25
|
+
invertColorsChanged: [boolean],
|
|
26
|
+
reduceTransparencyChanged: [boolean],
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
type AccessibilityEventDefinitions = {
|
|
30
|
+
...AccessibilityEventDefinitionsAndroid,
|
|
31
|
+
...AccessibilityEventDefinitionsIOS,
|
|
32
|
+
change: [boolean], // screenReaderChanged
|
|
33
|
+
reduceMotionChanged: [boolean],
|
|
34
|
+
screenReaderChanged: [boolean],
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
type AccessibilityEventTypes = 'click' | 'focus';
|
|
38
|
+
/**
|
|
39
|
+
* Sometimes it's useful to know whether or not the device has a screen reader
|
|
40
|
+
* that is currently active. The `AccessibilityInfo` API is designed for this
|
|
41
|
+
* purpose. You can use it to query the current state of the screen reader as
|
|
42
|
+
* well as to register to be notified when the state of the screen reader
|
|
43
|
+
* changes.
|
|
44
|
+
*
|
|
45
|
+
* See https://reactnative.dev/docs/accessibilityinfo
|
|
46
|
+
*/
|
|
47
|
+
export type AccessibilityInfoType = {
|
|
48
|
+
/**
|
|
49
|
+
* Query whether bold text is currently enabled.
|
|
50
|
+
*
|
|
51
|
+
* Returns a promise which resolves to a boolean.
|
|
52
|
+
* The result is `true` when bold text is enabled and `false` otherwise.
|
|
53
|
+
*
|
|
54
|
+
* See https://reactnative.dev/docs/accessibilityinfo#isBoldTextEnabled
|
|
55
|
+
*/
|
|
56
|
+
isBoldTextEnabled: () => Promise<boolean>,
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Query whether grayscale is currently enabled.
|
|
60
|
+
*
|
|
61
|
+
* Returns a promise which resolves to a boolean.
|
|
62
|
+
* The result is `true` when grayscale is enabled and `false` otherwise.
|
|
63
|
+
*
|
|
64
|
+
* See https://reactnative.dev/docs/accessibilityinfo#isGrayscaleEnabled
|
|
65
|
+
*/
|
|
66
|
+
isGrayscaleEnabled: () => Promise<boolean>,
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Query whether inverted colors are currently enabled.
|
|
70
|
+
*
|
|
71
|
+
* Returns a promise which resolves to a boolean.
|
|
72
|
+
* The result is `true` when invert color is enabled and `false` otherwise.
|
|
73
|
+
*
|
|
74
|
+
* See https://reactnative.dev/docs/accessibilityinfo#isInvertColorsEnabled
|
|
75
|
+
*/
|
|
76
|
+
isInvertColorsEnabled: () => Promise<boolean>,
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Query whether reduced motion is currently enabled.
|
|
80
|
+
*
|
|
81
|
+
* Returns a promise which resolves to a boolean.
|
|
82
|
+
* The result is `true` when a reduce motion is enabled and `false` otherwise.
|
|
83
|
+
*
|
|
84
|
+
* See https://reactnative.dev/docs/accessibilityinfo#isReduceMotionEnabled
|
|
85
|
+
*/
|
|
86
|
+
isReduceMotionEnabled: () => Promise<boolean>,
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Query whether reduce motion and prefer cross-fade transitions settings are currently enabled.
|
|
90
|
+
*
|
|
91
|
+
* Returns a promise which resolves to a boolean.
|
|
92
|
+
* The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise.
|
|
93
|
+
*
|
|
94
|
+
* See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions
|
|
95
|
+
*/
|
|
96
|
+
prefersCrossFadeTransitions: () => Promise<boolean>,
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Query whether reduced transparency is currently enabled.
|
|
100
|
+
*
|
|
101
|
+
* Returns a promise which resolves to a boolean.
|
|
102
|
+
* The result is `true` when a reduce transparency is enabled and `false` otherwise.
|
|
103
|
+
*
|
|
104
|
+
* See https://reactnative.dev/docs/accessibilityinfo#isReduceTransparencyEnabled
|
|
105
|
+
*/
|
|
106
|
+
isReduceTransparencyEnabled: () => Promise<boolean>,
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Query whether a screen reader is currently enabled.
|
|
110
|
+
*
|
|
111
|
+
* Returns a promise which resolves to a boolean.
|
|
112
|
+
* The result is `true` when a screen reader is enabled and `false` otherwise.
|
|
113
|
+
*
|
|
114
|
+
* See https://reactnative.dev/docs/accessibilityinfo#isScreenReaderEnabled
|
|
115
|
+
*/
|
|
116
|
+
isScreenReaderEnabled: () => Promise<boolean>,
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Query whether Accessibility Service is currently enabled.
|
|
120
|
+
*
|
|
121
|
+
* Returns a promise which resolves to a boolean.
|
|
122
|
+
* The result is `true` when any service is enabled and `false` otherwise.
|
|
123
|
+
*
|
|
124
|
+
* @platform android
|
|
125
|
+
*
|
|
126
|
+
* See https://reactnative.dev/docs/accessibilityinfo/#isaccessibilityserviceenabled-android
|
|
127
|
+
*/
|
|
128
|
+
isAccessibilityServiceEnabled: () => Promise<boolean>,
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Add an event handler. Supported events:
|
|
132
|
+
*
|
|
133
|
+
* - `reduceMotionChanged`: Fires when the state of the reduce motion toggle changes.
|
|
134
|
+
* The argument to the event handler is a boolean. The boolean is `true` when a reduce
|
|
135
|
+
* motion is enabled (or when "Transition Animation Scale" in "Developer options" is
|
|
136
|
+
* "Animation off") and `false` otherwise.
|
|
137
|
+
* - `screenReaderChanged`: Fires when the state of the screen reader changes. The argument
|
|
138
|
+
* to the event handler is a boolean. The boolean is `true` when a screen
|
|
139
|
+
* reader is enabled and `false` otherwise.
|
|
140
|
+
*
|
|
141
|
+
* These events are only supported on iOS:
|
|
142
|
+
*
|
|
143
|
+
* - `boldTextChanged`: iOS-only event. Fires when the state of the bold text toggle changes.
|
|
144
|
+
* The argument to the event handler is a boolean. The boolean is `true` when a bold text
|
|
145
|
+
* is enabled and `false` otherwise.
|
|
146
|
+
* - `grayscaleChanged`: iOS-only event. Fires when the state of the gray scale toggle changes.
|
|
147
|
+
* The argument to the event handler is a boolean. The boolean is `true` when a gray scale
|
|
148
|
+
* is enabled and `false` otherwise.
|
|
149
|
+
* - `invertColorsChanged`: iOS-only event. Fires when the state of the invert colors toggle
|
|
150
|
+
* changes. The argument to the event handler is a boolean. The boolean is `true` when a invert
|
|
151
|
+
* colors is enabled and `false` otherwise.
|
|
152
|
+
* - `reduceTransparencyChanged`: iOS-only event. Fires when the state of the reduce transparency
|
|
153
|
+
* toggle changes. The argument to the event handler is a boolean. The boolean is `true`
|
|
154
|
+
* when a reduce transparency is enabled and `false` otherwise.
|
|
155
|
+
* - `announcementFinished`: iOS-only event. Fires when the screen reader has
|
|
156
|
+
* finished making an announcement. The argument to the event handler is a
|
|
157
|
+
* dictionary with these keys:
|
|
158
|
+
* - `announcement`: The string announced by the screen reader.
|
|
159
|
+
* - `success`: A boolean indicating whether the announcement was
|
|
160
|
+
* successfully made.
|
|
161
|
+
*
|
|
162
|
+
* See https://reactnative.dev/docs/accessibilityinfo#addeventlistener
|
|
163
|
+
*/
|
|
164
|
+
addEventListener<K: $Keys<AccessibilityEventDefinitions>>(
|
|
165
|
+
eventName: K,
|
|
166
|
+
handler: (...$ElementType<AccessibilityEventDefinitions, K>) => void,
|
|
167
|
+
): EventSubscription,
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Set accessibility focus to a React component.
|
|
171
|
+
*
|
|
172
|
+
* See https://reactnative.dev/docs/accessibilityinfo#setaccessibilityfocus
|
|
173
|
+
*/
|
|
174
|
+
setAccessibilityFocus: (reactTag: number) => void,
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Send a named accessibility event to a HostComponent.
|
|
178
|
+
*/
|
|
179
|
+
sendAccessibilityEvent: (
|
|
180
|
+
handle: ElementRef<HostComponent<mixed>>,
|
|
181
|
+
eventType: AccessibilityEventTypes,
|
|
182
|
+
) => void,
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Post a string to be announced by the screen reader.
|
|
186
|
+
*
|
|
187
|
+
* See https://reactnative.dev/docs/accessibilityinfo#announceforaccessibility
|
|
188
|
+
*/
|
|
189
|
+
announceForAccessibility: (announcement: string) => void,
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Post a string to be announced by the screen reader.
|
|
193
|
+
* - `announcement`: The string announced by the screen reader.
|
|
194
|
+
* - `options`: An object that configures the reading options.
|
|
195
|
+
* - `queue`: The announcement will be queued behind existing announcements. iOS only.
|
|
196
|
+
*/
|
|
197
|
+
announceForAccessibilityWithOptions: (
|
|
198
|
+
announcement: string,
|
|
199
|
+
options: {queue?: boolean},
|
|
200
|
+
) => void,
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Get the recommended timeout for changes to the UI needed by this user.
|
|
204
|
+
*
|
|
205
|
+
* See https://reactnative.dev/docs/accessibilityinfo#getrecommendedtimeoutmillis
|
|
206
|
+
*/
|
|
207
|
+
getRecommendedTimeoutMillis: (originalTimeout: number) => Promise<number>,
|
|
208
|
+
};
|
|
@@ -8,15 +8,17 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
|
|
12
|
-
import {sendAccessibilityEvent} from '../../Renderer/shims/ReactNative';
|
|
13
11
|
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
14
|
-
import Platform from '../../Utilities/Platform';
|
|
15
12
|
import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
13
|
+
import type {AccessibilityInfoType} from './AccessibilityInfo.flow';
|
|
14
|
+
import type {ElementRef} from 'react';
|
|
15
|
+
|
|
16
|
+
import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
|
|
17
|
+
import {sendAccessibilityEvent} from '../../ReactNative/RendererProxy';
|
|
18
|
+
import Platform from '../../Utilities/Platform';
|
|
19
|
+
import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
|
|
16
20
|
import NativeAccessibilityInfoAndroid from './NativeAccessibilityInfo';
|
|
17
21
|
import NativeAccessibilityManagerIOS from './NativeAccessibilityManager';
|
|
18
|
-
import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
|
|
19
|
-
import type {ElementRef} from 'react';
|
|
20
22
|
|
|
21
23
|
// Events that are only supported on Android.
|
|
22
24
|
type AccessibilityEventDefinitionsAndroid = {
|
|
@@ -73,7 +75,7 @@ const EventNames: Map<
|
|
|
73
75
|
*
|
|
74
76
|
* See https://reactnative.dev/docs/accessibilityinfo
|
|
75
77
|
*/
|
|
76
|
-
const AccessibilityInfo = {
|
|
78
|
+
const AccessibilityInfo: AccessibilityInfoType = {
|
|
77
79
|
/**
|
|
78
80
|
* Query whether bold text is currently enabled.
|
|
79
81
|
*
|
|
@@ -178,6 +180,34 @@ const AccessibilityInfo = {
|
|
|
178
180
|
});
|
|
179
181
|
},
|
|
180
182
|
|
|
183
|
+
/**
|
|
184
|
+
* Query whether reduce motion and prefer cross-fade transitions settings are currently enabled.
|
|
185
|
+
*
|
|
186
|
+
* Returns a promise which resolves to a boolean.
|
|
187
|
+
* The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise.
|
|
188
|
+
*
|
|
189
|
+
* See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions
|
|
190
|
+
*/
|
|
191
|
+
prefersCrossFadeTransitions(): Promise<boolean> {
|
|
192
|
+
return new Promise((resolve, reject) => {
|
|
193
|
+
if (Platform.OS === 'android') {
|
|
194
|
+
return Promise.resolve(false);
|
|
195
|
+
} else {
|
|
196
|
+
if (
|
|
197
|
+
NativeAccessibilityManagerIOS?.getCurrentPrefersCrossFadeTransitionsState !=
|
|
198
|
+
null
|
|
199
|
+
) {
|
|
200
|
+
NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState(
|
|
201
|
+
resolve,
|
|
202
|
+
reject,
|
|
203
|
+
);
|
|
204
|
+
} else {
|
|
205
|
+
reject(null);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
},
|
|
210
|
+
|
|
181
211
|
/**
|
|
182
212
|
* Query whether reduced transparency is currently enabled.
|
|
183
213
|
*
|
|
@@ -295,12 +325,14 @@ const AccessibilityInfo = {
|
|
|
295
325
|
*/
|
|
296
326
|
addEventListener<K: $Keys<AccessibilityEventDefinitions>>(
|
|
297
327
|
eventName: K,
|
|
328
|
+
// $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423)
|
|
298
329
|
handler: (...$ElementType<AccessibilityEventDefinitions, K>) => void,
|
|
299
330
|
): EventSubscription {
|
|
300
331
|
const deviceEventName = EventNames.get(eventName);
|
|
301
332
|
return deviceEventName == null
|
|
302
333
|
? {remove(): void {}}
|
|
303
|
-
:
|
|
334
|
+
: // $FlowFixMe[incompatible-call]
|
|
335
|
+
RCTDeviceEventEmitter.addListener(deviceEventName, handler);
|
|
304
336
|
},
|
|
305
337
|
|
|
306
338
|
/**
|
|
@@ -315,7 +347,7 @@ const AccessibilityInfo = {
|
|
|
315
347
|
/**
|
|
316
348
|
* Send a named accessibility event to a HostComponent.
|
|
317
349
|
*/
|
|
318
|
-
|
|
350
|
+
sendAccessibilityEvent(
|
|
319
351
|
handle: ElementRef<HostComponent<mixed>>,
|
|
320
352
|
eventType: AccessibilityEventTypes,
|
|
321
353
|
) {
|
|
@@ -8,15 +8,17 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
|
|
12
|
-
import {sendAccessibilityEvent} from '../../Renderer/shims/ReactNative';
|
|
13
11
|
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
14
|
-
import Platform from '../../Utilities/Platform';
|
|
15
12
|
import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
13
|
+
import type {AccessibilityInfoType} from './AccessibilityInfo.flow';
|
|
14
|
+
import type {ElementRef} from 'react';
|
|
15
|
+
|
|
16
|
+
import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
|
|
17
|
+
import {sendAccessibilityEvent} from '../../ReactNative/RendererProxy';
|
|
18
|
+
import Platform from '../../Utilities/Platform';
|
|
19
|
+
import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
|
|
16
20
|
import NativeAccessibilityInfo from './NativeAccessibilityInfo';
|
|
17
21
|
import NativeAccessibilityManagerIOS from './NativeAccessibilityManager';
|
|
18
|
-
import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
|
|
19
|
-
import type {ElementRef} from 'react';
|
|
20
22
|
|
|
21
23
|
// Events that are only supported on Android.
|
|
22
24
|
type AccessibilityEventDefinitionsAndroid = {
|
|
@@ -79,7 +81,7 @@ const EventNames: Map<
|
|
|
79
81
|
*
|
|
80
82
|
* See https://reactnative.dev/docs/accessibilityinfo
|
|
81
83
|
*/
|
|
82
|
-
const AccessibilityInfo = {
|
|
84
|
+
const AccessibilityInfo: AccessibilityInfoType = {
|
|
83
85
|
/**
|
|
84
86
|
* Query whether bold text is currently enabled.
|
|
85
87
|
*
|
|
@@ -184,6 +186,34 @@ const AccessibilityInfo = {
|
|
|
184
186
|
});
|
|
185
187
|
},
|
|
186
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Query whether reduce motion and prefer cross-fade transitions settings are currently enabled.
|
|
191
|
+
*
|
|
192
|
+
* Returns a promise which resolves to a boolean.
|
|
193
|
+
* The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise.
|
|
194
|
+
*
|
|
195
|
+
* See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions
|
|
196
|
+
*/
|
|
197
|
+
prefersCrossFadeTransitions(): Promise<boolean> {
|
|
198
|
+
return new Promise((resolve, reject) => {
|
|
199
|
+
if (Platform.OS === 'android') {
|
|
200
|
+
return Promise.resolve(false);
|
|
201
|
+
} else {
|
|
202
|
+
if (
|
|
203
|
+
NativeAccessibilityManagerIOS?.getCurrentPrefersCrossFadeTransitionsState !=
|
|
204
|
+
null
|
|
205
|
+
) {
|
|
206
|
+
NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState(
|
|
207
|
+
resolve,
|
|
208
|
+
reject,
|
|
209
|
+
);
|
|
210
|
+
} else {
|
|
211
|
+
reject(null);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
},
|
|
216
|
+
|
|
187
217
|
/**
|
|
188
218
|
* Query whether reduced transparency is currently enabled.
|
|
189
219
|
*
|
|
@@ -301,12 +331,14 @@ const AccessibilityInfo = {
|
|
|
301
331
|
*/
|
|
302
332
|
addEventListener<K: $Keys<AccessibilityEventDefinitions>>(
|
|
303
333
|
eventName: K,
|
|
334
|
+
// $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423)
|
|
304
335
|
handler: (...$ElementType<AccessibilityEventDefinitions, K>) => void,
|
|
305
336
|
): EventSubscription {
|
|
306
337
|
const deviceEventName = EventNames.get(eventName);
|
|
307
338
|
return deviceEventName == null
|
|
308
339
|
? {remove(): void {}}
|
|
309
|
-
:
|
|
340
|
+
: // $FlowFixMe[incompatible-call]
|
|
341
|
+
RCTDeviceEventEmitter.addListener(deviceEventName, handler);
|
|
310
342
|
},
|
|
311
343
|
|
|
312
344
|
/**
|
|
@@ -321,7 +353,7 @@ const AccessibilityInfo = {
|
|
|
321
353
|
/**
|
|
322
354
|
* Send a named accessibility event to a HostComponent.
|
|
323
355
|
*/
|
|
324
|
-
|
|
356
|
+
sendAccessibilityEvent(
|
|
325
357
|
handle: ElementRef<HostComponent<mixed>>,
|
|
326
358
|
eventType: AccessibilityEventTypes,
|
|
327
359
|
) {
|