@office-iss/react-native-win32 0.70.3 → 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 +268 -51
- package/CHANGELOG.md +101 -29
- 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 +1 -0
- 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 -49
- 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 +4 -0
- 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
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {TurboModule} from '../../TurboModule/RCTExport';
|
|
12
|
+
|
|
12
13
|
import * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';
|
|
13
14
|
|
|
14
15
|
export interface Spec extends TurboModule {
|
|
@@ -28,6 +29,10 @@ export interface Spec extends TurboModule {
|
|
|
28
29
|
onSuccess: (isReduceMotionEnabled: boolean) => void,
|
|
29
30
|
onError: (error: Object) => void,
|
|
30
31
|
) => void;
|
|
32
|
+
+getCurrentPrefersCrossFadeTransitionsState?: (
|
|
33
|
+
onSuccess: (prefersCrossFadeTransitions: boolean) => void,
|
|
34
|
+
onError: (error: Object) => void,
|
|
35
|
+
) => void;
|
|
31
36
|
+getCurrentReduceTransparencyState: (
|
|
32
37
|
onSuccess: (isReduceTransparencyEnabled: boolean) => void,
|
|
33
38
|
onError: (error: Object) => void,
|
|
@@ -0,0 +1,86 @@
|
|
|
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 {Constructor} from '../../../types/private/Utilities';
|
|
12
|
+
import {NativeMethods} from '../../../types/public/ReactNativeTypes';
|
|
13
|
+
import {ColorValue, StyleProp} from '../../StyleSheet/StyleSheet';
|
|
14
|
+
import {ViewStyle} from '../../StyleSheet/StyleSheetTypes';
|
|
15
|
+
import {LayoutChangeEvent} from '../../Types/CoreEventTypes';
|
|
16
|
+
import {ViewProps} from '../View/ViewPropTypes';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @see https://reactnative.dev/docs/activityindicator#props
|
|
20
|
+
*/
|
|
21
|
+
export interface ActivityIndicatorProps extends ViewProps {
|
|
22
|
+
/**
|
|
23
|
+
* Whether to show the indicator (true, the default) or hide it (false).
|
|
24
|
+
*/
|
|
25
|
+
animating?: boolean | undefined;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The foreground color of the spinner (default is gray).
|
|
29
|
+
*/
|
|
30
|
+
color?: ColorValue | undefined;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Whether the indicator should hide when not animating (true by default).
|
|
34
|
+
*/
|
|
35
|
+
hidesWhenStopped?: boolean | undefined;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Size of the indicator.
|
|
39
|
+
* Small has a height of 20, large has a height of 36.
|
|
40
|
+
*
|
|
41
|
+
* enum('small', 'large')
|
|
42
|
+
*/
|
|
43
|
+
size?: number | 'small' | 'large' | undefined;
|
|
44
|
+
|
|
45
|
+
style?: StyleProp<ViewStyle> | undefined;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
declare class ActivityIndicatorComponent extends React.Component<ActivityIndicatorProps> {}
|
|
49
|
+
declare const ActivityIndicatorBase: Constructor<NativeMethods> &
|
|
50
|
+
typeof ActivityIndicatorComponent;
|
|
51
|
+
export class ActivityIndicator extends ActivityIndicatorBase {}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @see https://reactnative.dev/docs/activityindicatorios#props
|
|
55
|
+
*/
|
|
56
|
+
export interface ActivityIndicatorIOSProps extends ViewProps {
|
|
57
|
+
/**
|
|
58
|
+
* Whether to show the indicator (true, the default) or hide it (false).
|
|
59
|
+
*/
|
|
60
|
+
animating?: boolean | undefined;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The foreground color of the spinner (default is gray).
|
|
64
|
+
*/
|
|
65
|
+
color?: ColorValue | undefined;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Whether the indicator should hide when not animating (true by default).
|
|
69
|
+
*/
|
|
70
|
+
hidesWhenStopped?: boolean | undefined;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Invoked on mount and layout changes with
|
|
74
|
+
*/
|
|
75
|
+
onLayout?: ((event: LayoutChangeEvent) => void) | undefined;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Size of the indicator.
|
|
79
|
+
* Small has a height of 20, large has a height of 36.
|
|
80
|
+
*
|
|
81
|
+
* enum('small', 'large')
|
|
82
|
+
*/
|
|
83
|
+
size?: 'small' | 'large' | undefined;
|
|
84
|
+
|
|
85
|
+
style?: StyleProp<ViewStyle> | undefined;
|
|
86
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
* @flow
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
'use strict';
|
|
12
|
+
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
13
|
+
import type {ViewProps} from '../View/ViewPropTypes';
|
|
14
|
+
|
|
15
|
+
import {type ColorValue} from '../../StyleSheet/StyleSheet';
|
|
16
|
+
import * as React from 'react';
|
|
17
|
+
|
|
18
|
+
type IndicatorSize = number | 'small' | 'large';
|
|
19
|
+
|
|
20
|
+
type IOSProps = $ReadOnly<{|
|
|
21
|
+
/**
|
|
22
|
+
Whether the indicator should hide when not animating.
|
|
23
|
+
|
|
24
|
+
@platform ios
|
|
25
|
+
*/
|
|
26
|
+
hidesWhenStopped?: ?boolean,
|
|
27
|
+
|}>;
|
|
28
|
+
|
|
29
|
+
type Props = $ReadOnly<{|
|
|
30
|
+
...ViewProps,
|
|
31
|
+
...IOSProps,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
Whether to show the indicator (`true`) or hide it (`false`).
|
|
35
|
+
*/
|
|
36
|
+
animating?: ?boolean,
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
The foreground color of the spinner.
|
|
40
|
+
|
|
41
|
+
@default {@platform android} `null` (system accent default color)
|
|
42
|
+
@default {@platform ios} '#999999'
|
|
43
|
+
*/
|
|
44
|
+
color?: ?ColorValue,
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
Size of the indicator.
|
|
48
|
+
|
|
49
|
+
@type enum(`'small'`, `'large'`)
|
|
50
|
+
@type {@platform android} number
|
|
51
|
+
*/
|
|
52
|
+
size?: ?IndicatorSize,
|
|
53
|
+
|}>;
|
|
54
|
+
|
|
55
|
+
export type ActivityIndicator = React.AbstractComponent<
|
|
56
|
+
Props,
|
|
57
|
+
HostComponent<mixed>,
|
|
58
|
+
>;
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
'use strict';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
13
|
+
import type {ViewProps} from '../View/ViewPropTypes';
|
|
14
|
+
import type {ActivityIndicator as ActivityIndicatorType} from './ActivityIndicator.flow';
|
|
15
|
+
|
|
15
16
|
import StyleSheet, {type ColorValue} from '../../StyleSheet/StyleSheet';
|
|
17
|
+
import Platform from '../../Utilities/Platform';
|
|
16
18
|
import View from '../View/View';
|
|
17
|
-
import
|
|
18
|
-
import type {ViewProps} from '../View/ViewPropTypes';
|
|
19
|
+
import * as React from 'react';
|
|
19
20
|
|
|
20
21
|
const PlatformActivityIndicator =
|
|
21
22
|
Platform.OS === 'android'
|
|
@@ -183,10 +184,8 @@ const ActivityIndicator = (
|
|
|
183
184
|
```
|
|
184
185
|
*/
|
|
185
186
|
|
|
186
|
-
const ActivityIndicatorWithRef:
|
|
187
|
-
|
|
188
|
-
HostComponent<mixed>,
|
|
189
|
-
> = React.forwardRef(ActivityIndicator);
|
|
187
|
+
const ActivityIndicatorWithRef: ActivityIndicatorType =
|
|
188
|
+
React.forwardRef(ActivityIndicator);
|
|
190
189
|
ActivityIndicatorWithRef.displayName = 'ActivityIndicator';
|
|
191
190
|
|
|
192
191
|
const styles = StyleSheet.create({
|
|
@@ -8,13 +8,12 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {
|
|
12
|
-
|
|
11
|
+
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
13
12
|
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
13
|
+
import type {WithDefault} from '../../Types/CodegenTypes';
|
|
14
14
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
15
15
|
|
|
16
16
|
import codegenNativeComponent from '../../Utilities/codegenNativeComponent';
|
|
17
|
-
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
18
17
|
|
|
19
18
|
type NativeProps = $ReadOnly<{|
|
|
20
19
|
...ViewProps,
|
|
@@ -0,0 +1,42 @@
|
|
|
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 {ColorValue} from '../StyleSheet/StyleSheet';
|
|
12
|
+
import {TouchableNativeFeedbackProps} from './Touchable/TouchableNativeFeedback';
|
|
13
|
+
import {TouchableOpacityProps} from './Touchable/TouchableOpacity';
|
|
14
|
+
|
|
15
|
+
export interface ButtonProps
|
|
16
|
+
extends Pick<
|
|
17
|
+
TouchableNativeFeedbackProps & TouchableOpacityProps,
|
|
18
|
+
| 'accessibilityLabel'
|
|
19
|
+
| 'accessibilityState'
|
|
20
|
+
| 'hasTVPreferredFocus'
|
|
21
|
+
| 'nextFocusDown'
|
|
22
|
+
| 'nextFocusForward'
|
|
23
|
+
| 'nextFocusLeft'
|
|
24
|
+
| 'nextFocusRight'
|
|
25
|
+
| 'nextFocusUp'
|
|
26
|
+
| 'testID'
|
|
27
|
+
| 'disabled'
|
|
28
|
+
| 'onPress'
|
|
29
|
+
| 'touchSoundDisabled'
|
|
30
|
+
> {
|
|
31
|
+
/**
|
|
32
|
+
* Text to display inside the button. On Android the given title will be converted to the uppercased form.
|
|
33
|
+
*/
|
|
34
|
+
title: string;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Color of the text (iOS), or background color of the button (Android).
|
|
38
|
+
*/
|
|
39
|
+
color?: ColorValue | undefined;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export class Button extends React.Component<ButtonProps> {}
|
|
@@ -0,0 +1,265 @@
|
|
|
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
|
+
* @flow
|
|
9
|
+
* @generate-docs
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
import type {PressEvent} from '../Types/CoreEventTypes';
|
|
15
|
+
import type {
|
|
16
|
+
AccessibilityActionEvent,
|
|
17
|
+
AccessibilityActionInfo,
|
|
18
|
+
AccessibilityState,
|
|
19
|
+
} from './View/ViewAccessibility';
|
|
20
|
+
|
|
21
|
+
import {type ColorValue} from '../StyleSheet/StyleSheet';
|
|
22
|
+
import * as React from 'react';
|
|
23
|
+
|
|
24
|
+
type ButtonProps = $ReadOnly<{|
|
|
25
|
+
/**
|
|
26
|
+
Text to display inside the button. On Android the given title will be
|
|
27
|
+
converted to the uppercased form.
|
|
28
|
+
*/
|
|
29
|
+
title: string,
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
Handler to be called when the user taps the button. The first function
|
|
33
|
+
argument is an event in form of [PressEvent](pressevent).
|
|
34
|
+
*/
|
|
35
|
+
onPress: (event?: PressEvent) => mixed,
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
If `true`, doesn't play system sound on touch.
|
|
39
|
+
|
|
40
|
+
@platform android
|
|
41
|
+
|
|
42
|
+
@default false
|
|
43
|
+
*/
|
|
44
|
+
touchSoundDisabled?: ?boolean,
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
Color of the text (iOS), or background color of the button (Android).
|
|
48
|
+
|
|
49
|
+
@default {@platform android} '#2196F3'
|
|
50
|
+
@default {@platform ios} '#007AFF'
|
|
51
|
+
*/
|
|
52
|
+
color?: ?ColorValue,
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
TV preferred focus.
|
|
56
|
+
|
|
57
|
+
@platform tv
|
|
58
|
+
|
|
59
|
+
@default false
|
|
60
|
+
*/
|
|
61
|
+
hasTVPreferredFocus?: ?boolean,
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
Designates the next view to receive focus when the user navigates down. See
|
|
65
|
+
the [Android documentation][android:nextFocusDown].
|
|
66
|
+
|
|
67
|
+
[android:nextFocusDown]:
|
|
68
|
+
https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusDown
|
|
69
|
+
|
|
70
|
+
@platform android, tv
|
|
71
|
+
*/
|
|
72
|
+
nextFocusDown?: ?number,
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
Designates the next view to receive focus when the user navigates forward.
|
|
76
|
+
See the [Android documentation][android:nextFocusForward].
|
|
77
|
+
|
|
78
|
+
[android:nextFocusForward]:
|
|
79
|
+
https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusForward
|
|
80
|
+
|
|
81
|
+
@platform android, tv
|
|
82
|
+
*/
|
|
83
|
+
nextFocusForward?: ?number,
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
Designates the next view to receive focus when the user navigates left. See
|
|
87
|
+
the [Android documentation][android:nextFocusLeft].
|
|
88
|
+
|
|
89
|
+
[android:nextFocusLeft]:
|
|
90
|
+
https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusLeft
|
|
91
|
+
|
|
92
|
+
@platform android, tv
|
|
93
|
+
*/
|
|
94
|
+
nextFocusLeft?: ?number,
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
Designates the next view to receive focus when the user navigates right. See
|
|
98
|
+
the [Android documentation][android:nextFocusRight].
|
|
99
|
+
|
|
100
|
+
[android:nextFocusRight]:
|
|
101
|
+
https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusRight
|
|
102
|
+
|
|
103
|
+
@platform android, tv
|
|
104
|
+
*/
|
|
105
|
+
nextFocusRight?: ?number,
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
Designates the next view to receive focus when the user navigates up. See
|
|
109
|
+
the [Android documentation][android:nextFocusUp].
|
|
110
|
+
|
|
111
|
+
[android:nextFocusUp]:
|
|
112
|
+
https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusUp
|
|
113
|
+
|
|
114
|
+
@platform android, tv
|
|
115
|
+
*/
|
|
116
|
+
nextFocusUp?: ?number,
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
Text to display for blindness accessibility features.
|
|
120
|
+
*/
|
|
121
|
+
accessibilityLabel?: ?string,
|
|
122
|
+
/**
|
|
123
|
+
* Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
|
|
124
|
+
* https://github.com/facebook/react-native/issues/34424
|
|
125
|
+
*/
|
|
126
|
+
'aria-label'?: ?string,
|
|
127
|
+
/**
|
|
128
|
+
If `true`, disable all interactions for this component.
|
|
129
|
+
|
|
130
|
+
@default false
|
|
131
|
+
*/
|
|
132
|
+
disabled?: ?boolean,
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
Used to locate this view in end-to-end tests.
|
|
136
|
+
*/
|
|
137
|
+
testID?: ?string,
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Accessibility props.
|
|
141
|
+
*/
|
|
142
|
+
accessible?: ?boolean,
|
|
143
|
+
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
144
|
+
onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
|
|
145
|
+
accessibilityState?: ?AccessibilityState,
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* [Android] Controlling if a view fires accessibility events and if it is reported to accessibility services.
|
|
149
|
+
*/
|
|
150
|
+
importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
|
|
151
|
+
accessibilityHint?: ?string,
|
|
152
|
+
accessibilityLanguage?: ?Stringish,
|
|
153
|
+
|}>;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
A basic button component that should render nicely on any platform. Supports a
|
|
157
|
+
minimal level of customization.
|
|
158
|
+
|
|
159
|
+
If this button doesn't look right for your app, you can build your own button
|
|
160
|
+
using [TouchableOpacity](touchableopacity) or
|
|
161
|
+
[TouchableWithoutFeedback](touchablewithoutfeedback). For inspiration, look at
|
|
162
|
+
the [source code for this button component][button:source]. Or, take a look at
|
|
163
|
+
the [wide variety of button components built by the community]
|
|
164
|
+
[button:examples].
|
|
165
|
+
|
|
166
|
+
[button:source]:
|
|
167
|
+
https://github.com/facebook/react-native/blob/HEAD/Libraries/Components/Button.js
|
|
168
|
+
|
|
169
|
+
[button:examples]:
|
|
170
|
+
https://js.coach/?menu%5Bcollections%5D=React%20Native&page=1&query=button
|
|
171
|
+
|
|
172
|
+
```jsx
|
|
173
|
+
<Button
|
|
174
|
+
onPress={onPressLearnMore}
|
|
175
|
+
title="Learn More"
|
|
176
|
+
color="#841584"
|
|
177
|
+
accessibilityLabel="Learn more about this purple button"
|
|
178
|
+
/>
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
```SnackPlayer name=Button%20Example
|
|
182
|
+
import React from 'react';
|
|
183
|
+
import { StyleSheet, Button, View, SafeAreaView, Text, Alert } from 'react-native';
|
|
184
|
+
|
|
185
|
+
const Separator = () => (
|
|
186
|
+
<View style={styles.separator} />
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
const App = () => (
|
|
190
|
+
<SafeAreaView style={styles.container}>
|
|
191
|
+
<View>
|
|
192
|
+
<Text style={styles.title}>
|
|
193
|
+
The title and onPress handler are required. It is recommended to set accessibilityLabel to help make your app usable by everyone.
|
|
194
|
+
</Text>
|
|
195
|
+
<Button
|
|
196
|
+
title="Press me"
|
|
197
|
+
onPress={() => Alert.alert('Simple Button pressed')}
|
|
198
|
+
/>
|
|
199
|
+
</View>
|
|
200
|
+
<Separator />
|
|
201
|
+
<View>
|
|
202
|
+
<Text style={styles.title}>
|
|
203
|
+
Adjust the color in a way that looks standard on each platform. On iOS, the color prop controls the color of the text. On Android, the color adjusts the background color of the button.
|
|
204
|
+
</Text>
|
|
205
|
+
<Button
|
|
206
|
+
title="Press me"
|
|
207
|
+
color="#f194ff"
|
|
208
|
+
onPress={() => Alert.alert('Button with adjusted color pressed')}
|
|
209
|
+
/>
|
|
210
|
+
</View>
|
|
211
|
+
<Separator />
|
|
212
|
+
<View>
|
|
213
|
+
<Text style={styles.title}>
|
|
214
|
+
All interaction for the component are disabled.
|
|
215
|
+
</Text>
|
|
216
|
+
<Button
|
|
217
|
+
title="Press me"
|
|
218
|
+
disabled
|
|
219
|
+
onPress={() => Alert.alert('Cannot press this one')}
|
|
220
|
+
/>
|
|
221
|
+
</View>
|
|
222
|
+
<Separator />
|
|
223
|
+
<View>
|
|
224
|
+
<Text style={styles.title}>
|
|
225
|
+
This layout strategy lets the title define the width of the button.
|
|
226
|
+
</Text>
|
|
227
|
+
<View style={styles.fixToText}>
|
|
228
|
+
<Button
|
|
229
|
+
title="Left button"
|
|
230
|
+
onPress={() => Alert.alert('Left button pressed')}
|
|
231
|
+
/>
|
|
232
|
+
<Button
|
|
233
|
+
title="Right button"
|
|
234
|
+
onPress={() => Alert.alert('Right button pressed')}
|
|
235
|
+
/>
|
|
236
|
+
</View>
|
|
237
|
+
</View>
|
|
238
|
+
</SafeAreaView>
|
|
239
|
+
);
|
|
240
|
+
|
|
241
|
+
const styles = StyleSheet.create({
|
|
242
|
+
container: {
|
|
243
|
+
flex: 1,
|
|
244
|
+
justifyContent: 'center',
|
|
245
|
+
marginHorizontal: 16,
|
|
246
|
+
},
|
|
247
|
+
title: {
|
|
248
|
+
textAlign: 'center',
|
|
249
|
+
marginVertical: 8,
|
|
250
|
+
},
|
|
251
|
+
fixToText: {
|
|
252
|
+
flexDirection: 'row',
|
|
253
|
+
justifyContent: 'space-between',
|
|
254
|
+
},
|
|
255
|
+
separator: {
|
|
256
|
+
marginVertical: 8,
|
|
257
|
+
borderBottomColor: '#737373',
|
|
258
|
+
borderBottomWidth: StyleSheet.hairlineWidth,
|
|
259
|
+
},
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
export default App;
|
|
263
|
+
```
|
|
264
|
+
*/
|
|
265
|
+
export type Button = React.ComponentType<ButtonProps>;
|
|
@@ -11,21 +11,22 @@
|
|
|
11
11
|
|
|
12
12
|
'use strict';
|
|
13
13
|
|
|
14
|
-
import
|
|
15
|
-
import
|
|
14
|
+
import type {PressEvent} from '../Types/CoreEventTypes';
|
|
15
|
+
import type {Button as ButtonType} from './Button.flow';
|
|
16
|
+
import type {
|
|
17
|
+
AccessibilityActionEvent,
|
|
18
|
+
AccessibilityActionInfo,
|
|
19
|
+
AccessibilityState,
|
|
20
|
+
} from './View/ViewAccessibility';
|
|
21
|
+
|
|
16
22
|
import StyleSheet, {type ColorValue} from '../StyleSheet/StyleSheet';
|
|
17
23
|
import Text from '../Text/Text';
|
|
24
|
+
import Platform from '../Utilities/Platform';
|
|
18
25
|
import TouchableNativeFeedback from './Touchable/TouchableNativeFeedback';
|
|
19
26
|
import TouchableOpacity from './Touchable/TouchableOpacity';
|
|
20
27
|
import View from './View/View';
|
|
21
28
|
import invariant from 'invariant';
|
|
22
|
-
|
|
23
|
-
import type {
|
|
24
|
-
AccessibilityState,
|
|
25
|
-
AccessibilityActionEvent,
|
|
26
|
-
AccessibilityActionInfo,
|
|
27
|
-
} from './View/ViewAccessibility';
|
|
28
|
-
import type {PressEvent} from '../Types/CoreEventTypes';
|
|
29
|
+
import * as React from 'react';
|
|
29
30
|
|
|
30
31
|
type ButtonProps = $ReadOnly<{|
|
|
31
32
|
/**
|
|
@@ -125,7 +126,11 @@ type ButtonProps = $ReadOnly<{|
|
|
|
125
126
|
Text to display for blindness accessibility features.
|
|
126
127
|
*/
|
|
127
128
|
accessibilityLabel?: ?string,
|
|
128
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
|
|
131
|
+
* https://github.com/facebook/react-native/issues/34424
|
|
132
|
+
*/
|
|
133
|
+
'aria-label'?: ?string,
|
|
129
134
|
/**
|
|
130
135
|
If `true`, disable all interactions for this component.
|
|
131
136
|
|
|
@@ -145,6 +150,22 @@ type ButtonProps = $ReadOnly<{|
|
|
|
145
150
|
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
146
151
|
onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
|
|
147
152
|
accessibilityState?: ?AccessibilityState,
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* alias for accessibilityState
|
|
156
|
+
*
|
|
157
|
+
* see https://reactnative.dev/docs/accessibility#accessibilitystate
|
|
158
|
+
*/
|
|
159
|
+
'aria-busy'?: ?boolean,
|
|
160
|
+
'aria-checked'?: ?boolean | 'mixed',
|
|
161
|
+
'aria-disabled'?: ?boolean,
|
|
162
|
+
'aria-expanded'?: ?boolean,
|
|
163
|
+
'aria-selected'?: ?boolean,
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* [Android] Controlling if a view fires accessibility events and if it is reported to accessibility services.
|
|
167
|
+
*/
|
|
168
|
+
importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
|
|
148
169
|
accessibilityHint?: ?string,
|
|
149
170
|
accessibilityLanguage?: ?Stringish,
|
|
150
171
|
|}>;
|
|
@@ -264,6 +285,14 @@ class Button extends React.Component<ButtonProps> {
|
|
|
264
285
|
render(): React.Node {
|
|
265
286
|
const {
|
|
266
287
|
accessibilityLabel,
|
|
288
|
+
accessibilityState,
|
|
289
|
+
'aria-busy': ariaBusy,
|
|
290
|
+
'aria-checked': ariaChecked,
|
|
291
|
+
'aria-disabled': ariaDisabled,
|
|
292
|
+
'aria-expanded': ariaExpanded,
|
|
293
|
+
'aria-label': ariaLabel,
|
|
294
|
+
'aria-selected': ariaSelected,
|
|
295
|
+
importantForAccessibility,
|
|
267
296
|
color,
|
|
268
297
|
onPress,
|
|
269
298
|
touchSoundDisabled,
|
|
@@ -291,15 +320,23 @@ class Button extends React.Component<ButtonProps> {
|
|
|
291
320
|
}
|
|
292
321
|
}
|
|
293
322
|
|
|
323
|
+
let _accessibilityState = {
|
|
324
|
+
busy: ariaBusy ?? accessibilityState?.busy,
|
|
325
|
+
checked: ariaChecked ?? accessibilityState?.checked,
|
|
326
|
+
disabled: ariaDisabled ?? accessibilityState?.disabled,
|
|
327
|
+
expanded: ariaExpanded ?? accessibilityState?.expanded,
|
|
328
|
+
selected: ariaSelected ?? accessibilityState?.selected,
|
|
329
|
+
};
|
|
330
|
+
|
|
294
331
|
const disabled =
|
|
295
332
|
this.props.disabled != null
|
|
296
333
|
? this.props.disabled
|
|
297
|
-
:
|
|
334
|
+
: _accessibilityState?.disabled;
|
|
298
335
|
|
|
299
|
-
|
|
300
|
-
disabled !==
|
|
301
|
-
? {...
|
|
302
|
-
:
|
|
336
|
+
_accessibilityState =
|
|
337
|
+
disabled !== _accessibilityState?.disabled
|
|
338
|
+
? {..._accessibilityState, disabled}
|
|
339
|
+
: _accessibilityState;
|
|
303
340
|
|
|
304
341
|
if (disabled) {
|
|
305
342
|
buttonStyles.push(styles.buttonDisabled);
|
|
@@ -315,16 +352,23 @@ class Button extends React.Component<ButtonProps> {
|
|
|
315
352
|
const Touchable =
|
|
316
353
|
Platform.OS === 'android' ? TouchableNativeFeedback : TouchableOpacity;
|
|
317
354
|
|
|
355
|
+
// If `no` is specified for `importantForAccessibility`, it will be changed to `no-hide-descendants` because the text inside should not be focused.
|
|
356
|
+
const _importantForAccessibility =
|
|
357
|
+
importantForAccessibility === 'no'
|
|
358
|
+
? 'no-hide-descendants'
|
|
359
|
+
: importantForAccessibility;
|
|
360
|
+
|
|
318
361
|
return (
|
|
319
362
|
<Touchable
|
|
320
363
|
accessible={accessible}
|
|
321
364
|
accessibilityActions={accessibilityActions}
|
|
322
365
|
onAccessibilityAction={onAccessibilityAction}
|
|
323
|
-
accessibilityLabel={accessibilityLabel}
|
|
366
|
+
accessibilityLabel={ariaLabel || accessibilityLabel}
|
|
324
367
|
accessibilityHint={accessibilityHint}
|
|
325
368
|
accessibilityLanguage={accessibilityLanguage}
|
|
326
369
|
accessibilityRole="button"
|
|
327
|
-
accessibilityState={
|
|
370
|
+
accessibilityState={_accessibilityState}
|
|
371
|
+
importantForAccessibility={_importantForAccessibility}
|
|
328
372
|
hasTVPreferredFocus={hasTVPreferredFocus}
|
|
329
373
|
nextFocusDown={nextFocusDown}
|
|
330
374
|
nextFocusForward={nextFocusForward}
|
|
@@ -387,4 +431,4 @@ const styles = StyleSheet.create({
|
|
|
387
431
|
}),
|
|
388
432
|
});
|
|
389
433
|
|
|
390
|
-
module.exports = Button;
|
|
434
|
+
module.exports = (Button: ButtonType);
|
|
@@ -0,0 +1,28 @@
|
|
|
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 ClipboardStatic {
|
|
11
|
+
getString(): Promise<string>;
|
|
12
|
+
setString(content: string): void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Clipboard has been extracted from react-native core and will be removed in a future release.
|
|
17
|
+
* It can now be installed and imported from `@react-native-community/clipboard` instead of 'react-native'.
|
|
18
|
+
* @see https://github.com/react-native-community/clipboard
|
|
19
|
+
* @deprecated
|
|
20
|
+
*/
|
|
21
|
+
export const Clipboard: ClipboardStatic;
|
|
22
|
+
/**
|
|
23
|
+
* Clipboard has been extracted from react-native core and will be removed in a future release.
|
|
24
|
+
* It can now be installed and imported from `@react-native-community/clipboard` instead of 'react-native'.
|
|
25
|
+
* @see https://github.com/react-native-community/clipboard
|
|
26
|
+
* @deprecated
|
|
27
|
+
*/
|
|
28
|
+
export type Clipboard = ClipboardStatic;
|