@office-iss/react-native-win32 0.0.0-canary.25 → 0.0.0-canary.251
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 +13 -0
- package/.eslintrc.js +22 -0
- package/.flowconfig +63 -35
- package/CHANGELOG.json +5126 -1
- package/CHANGELOG.md +2045 -4
- package/IntegrationTests/AccessibilityManagerTest.js +8 -11
- package/IntegrationTests/AppEventsTest.js +3 -3
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +12 -5
- package/IntegrationTests/ImageCachePolicyTest.js +5 -5
- package/IntegrationTests/ImageSnapshotTest.js +2 -2
- package/IntegrationTests/IntegrationTestHarnessTest.js +9 -6
- package/IntegrationTests/IntegrationTestsApp.js +16 -21
- package/IntegrationTests/LayoutEventsTest.js +14 -12
- package/IntegrationTests/LoggingTestModule.js +10 -12
- package/IntegrationTests/PromiseTest.js +2 -1
- package/IntegrationTests/SimpleSnapshotTest.js +2 -4
- package/IntegrationTests/SyncMethodTest.js +2 -2
- package/IntegrationTests/TimersTest.js +20 -5
- package/IntegrationTests/WebSocketTest.js +5 -5
- package/IntegrationTests/launchWebSocketServer.sh +12 -0
- package/IntegrationTests/websocket_integration_test_server.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +86 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +38 -11
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +5 -43
- package/Libraries/Alert/Alert.d.ts +91 -0
- package/Libraries/Alert/Alert.js +28 -10
- package/Libraries/Alert/Alert.win32.js +8 -6
- package/Libraries/Alert/NativeAlertManager.js +5 -26
- package/Libraries/Alert/RCTAlertManager.android.js +2 -4
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -3
- package/Libraries/Animated/Animated.d.ts +626 -0
- package/Libraries/Animated/Animated.js +48 -0
- package/Libraries/Animated/AnimatedEvent.js +256 -0
- package/Libraries/Animated/AnimatedImplementation.js +752 -0
- package/Libraries/Animated/AnimatedMock.js +195 -0
- package/Libraries/Animated/AnimatedPlatformConfig.js +13 -0
- package/Libraries/Animated/AnimatedWeb.js +26 -0
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +250 -0
- package/Libraries/Animated/NativeAnimatedHelper.js +615 -0
- package/Libraries/Animated/NativeAnimatedHelper.win32.js +617 -0
- package/Libraries/Animated/NativeAnimatedModule.js +13 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +13 -0
- package/Libraries/Animated/SpringConfig.js +98 -0
- package/Libraries/Animated/animations/Animation.js +126 -0
- package/Libraries/Animated/animations/DecayAnimation.js +133 -0
- package/Libraries/Animated/animations/SpringAnimation.js +378 -0
- package/Libraries/Animated/animations/TimingAnimation.js +180 -0
- package/Libraries/Animated/bezier.js +164 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +20 -0
- package/Libraries/Animated/components/AnimatedImage.js +22 -0
- package/Libraries/Animated/components/AnimatedScrollView.js +136 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +20 -0
- package/Libraries/Animated/components/AnimatedText.js +22 -0
- package/Libraries/Animated/components/AnimatedView.js +20 -0
- package/Libraries/Animated/createAnimatedComponent.js +73 -0
- package/Libraries/Animated/nodes/AnimatedAddition.js +64 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +320 -0
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +72 -0
- package/Libraries/Animated/nodes/AnimatedDivision.js +80 -0
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +415 -0
- package/Libraries/Animated/nodes/AnimatedModulo.js +63 -0
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +63 -0
- package/Libraries/Animated/nodes/AnimatedNode.js +197 -0
- package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +186 -0
- package/Libraries/Animated/nodes/AnimatedStyle.js +130 -0
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +64 -0
- package/Libraries/Animated/nodes/AnimatedTracking.js +100 -0
- package/Libraries/Animated/nodes/AnimatedTransform.js +130 -0
- package/Libraries/Animated/nodes/AnimatedValue.js +302 -0
- package/Libraries/Animated/nodes/AnimatedValueXY.js +236 -0
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +88 -0
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +248 -0
- 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 +91 -144
- package/Libraries/AppState/NativeAppState.js +5 -22
- package/Libraries/BatchedBridge/BatchedBridge.js +2 -2
- package/Libraries/BatchedBridge/MessageQueue.js +136 -114
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +34 -21
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
- package/Libraries/Blob/Blob.js +20 -3
- package/Libraries/Blob/BlobManager.js +7 -10
- package/Libraries/Blob/BlobRegistry.js +15 -10
- package/Libraries/Blob/BlobTypes.js +1 -1
- package/Libraries/Blob/File.js +3 -4
- package/Libraries/Blob/FileReader.js +35 -15
- package/Libraries/Blob/NativeBlobModule.js +5 -18
- package/Libraries/Blob/NativeFileReaderModule.js +5 -15
- package/Libraries/Blob/URL.js +61 -50
- package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
- package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
- package/Libraries/BugReporting/BugReporting.js +8 -9
- package/Libraries/BugReporting/NativeBugReporting.js +5 -12
- package/Libraries/BugReporting/dumpReactTree.js +1 -1
- package/Libraries/BugReporting/getReactData.js +17 -8
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +421 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +391 -95
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +5 -19
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +11 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -51
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +36 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +36 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +73 -48
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +4 -47
- package/Libraries/Components/Button/ButtonWin32.Props.d.ts +36 -36
- package/Libraries/Components/Button/ButtonWin32.Props.js +3 -3
- package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -0
- package/Libraries/Components/Button/ButtonWin32.d.ts +19 -19
- package/Libraries/Components/Button/ButtonWin32.js +83 -103
- package/Libraries/Components/Button/ButtonWin32.js.map +1 -0
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.js +323 -125
- package/Libraries/Components/Button.win32.js +455 -0
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/Clipboard.js +3 -5
- package/Libraries/Components/Clipboard/NativeClipboard.js +5 -14
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +4 -116
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +32 -32
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
- package/Libraries/Components/EnterString.win32.d.ts +12 -12
- package/Libraries/Components/EnterString.win32.js +82 -114
- package/Libraries/Components/EnterString.win32.js.map +1 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +81 -71
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +99 -56
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +5 -13
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +176 -43
- package/Libraries/Components/Pressable/Pressable.win32.js +437 -0
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +38 -23
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +24 -21
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +5 -27
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +4 -77
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -56
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +16 -38
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +6 -9
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +4 -20
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +12 -39
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +12 -41
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +5 -32
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +39 -21
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +13 -20
- package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
- package/Libraries/Components/ScrollView/ScrollView.js +1184 -427
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
- package/Libraries/Components/ScrollView/ScrollViewContext.js +22 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +167 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +11 -17
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +207 -62
- package/Libraries/Components/ScrollView/processDecelerationRate.js +2 -4
- package/Libraries/Components/Sound/NativeSoundManager.js +5 -15
- package/Libraries/Components/Sound/SoundManager.js +3 -4
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +5 -27
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +5 -35
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +37 -59
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +5 -56
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +160 -133
- package/Libraries/Components/Switch/SwitchNativeComponent.js +5 -50
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +243 -58
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +20 -24
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +5 -18
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +26 -31
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +18 -38
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +161 -0
- package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
- package/Libraries/Components/TextInput/Tests/TextInputTest.js +128 -126
- package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +973 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1092 -0
- package/Libraries/Components/TextInput/TextInput.js +930 -395
- package/Libraries/Components/TextInput/TextInput.win32.js +1877 -179
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +29 -0
- package/Libraries/Components/TextInput/TextInputState.js +33 -10
- package/Libraries/Components/TextInput/TextInputState.win32.js +45 -17
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +23 -0
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +5 -31
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +11 -10
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +16 -10
- package/Libraries/Components/Touchable/BoundingDimensions.js +4 -5
- package/Libraries/Components/Touchable/PooledClass.js +26 -15
- package/Libraries/Components/Touchable/Position.js +3 -4
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +344 -381
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -0
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.js +118 -133
- package/Libraries/Components/Touchable/Touchable.win32.js +974 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +55 -54
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +62 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +62 -54
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +86 -67
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +99 -51
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +81 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +91 -57
- package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -34
- package/Libraries/Components/Touchable/TouchableWin32.Props.js +3 -3
- package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -0
- package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
- package/Libraries/Components/Touchable/TouchableWin32.Types.js +3 -3
- package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -0
- package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
- package/Libraries/Components/Touchable/TouchableWin32.js +507 -529
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +151 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +146 -107
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +4 -19
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +3 -4
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +173 -69
- package/Libraries/Components/View/ReactNativeViewAttributes.js +5 -3
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +35 -13
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +105 -13
- package/Libraries/Components/View/View.win32.js +276 -0
- package/Libraries/Components/View/ViewAccessibility.d.ts +551 -0
- package/Libraries/Components/View/ViewAccessibility.js +84 -3
- package/Libraries/Components/View/ViewAccessibility.win32.js +180 -0
- package/Libraries/Components/View/ViewNativeComponent.js +96 -57
- package/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
- package/Libraries/Components/View/ViewPropTypes.js +216 -66
- package/Libraries/Components/View/ViewPropTypes.win32.js +729 -0
- package/Libraries/Components/View/ViewWin32.d.ts +30 -12
- package/Libraries/Components/View/ViewWin32.js +129 -80
- package/Libraries/Core/Devtools/getDevServer.js +9 -8
- package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +153 -0
- package/Libraries/Core/Devtools/openFileInEditor.js +6 -2
- package/Libraries/Core/Devtools/openURLInBrowser.js +3 -2
- package/Libraries/Core/Devtools/parseErrorStack.js +14 -23
- package/Libraries/Core/Devtools/parseHermesStack.js +71 -44
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +13 -58
- package/Libraries/Core/ErrorHandlers.js +116 -0
- package/Libraries/Core/ExceptionsManager.js +91 -98
- package/Libraries/Core/ExtendedError.js +33 -0
- package/Libraries/Core/InitializeCore.js +6 -4
- package/Libraries/Core/NativeExceptionsManager.js +5 -100
- package/Libraries/Core/RawEventEmitter.js +39 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +45 -39
- package/Libraries/Core/ReactNativeVersion.js +13 -7
- package/Libraries/Core/ReactNativeVersionCheck.js +11 -8
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +11 -8
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +5 -21
- package/Libraries/Core/Timers/JSTimers.js +94 -120
- package/Libraries/Core/Timers/NativeTiming.js +5 -19
- package/Libraries/Core/Timers/immediateShim.js +68 -0
- package/Libraries/Core/Timers/queueMicrotask.js +41 -0
- package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
- package/Libraries/Core/checkNativeVersion.js +1 -1
- package/Libraries/Core/polyfillPromise.js +19 -3
- package/Libraries/Core/registerCallableModule.d.ts +16 -0
- package/Libraries/Core/registerCallableModule.js +42 -0
- package/Libraries/Core/setUpAlert.js +2 -2
- package/Libraries/Core/setUpBatchedBridge.js +24 -11
- package/Libraries/Core/setUpDeveloperTools.js +59 -60
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpGlobals.js +7 -6
- package/Libraries/Core/setUpIntersectionObserver.js +16 -0
- package/Libraries/Core/setUpMutationObserver.js +16 -0
- package/Libraries/Core/setUpNavigator.js +8 -7
- package/Libraries/Core/setUpPerformance.js +31 -0
- package/Libraries/Core/setUpPerformanceObserver.js +18 -0
- package/Libraries/Core/setUpReactDevTools.js +93 -10
- package/Libraries/Core/setUpReactRefresh.js +4 -2
- package/Libraries/Core/setUpRegeneratorRuntime.js +28 -9
- package/Libraries/Core/setUpSegmentFetcher.js +8 -47
- package/Libraries/Core/setUpTimers.js +82 -8
- package/Libraries/Core/setUpXHR.js +5 -5
- package/Libraries/Debugging/DebuggingOverlay.js +111 -0
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +13 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +92 -40
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +27 -68
- package/Libraries/EventEmitter/RCTEventEmitter.js +6 -2
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +2 -4
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +34 -11
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/HeapCapture/HeapCapture.js +3 -5
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +5 -12
- package/Libraries/Image/AssetRegistry.js +2 -27
- package/Libraries/Image/AssetSourceResolver.js +26 -38
- package/Libraries/Image/AssetUtils.js +47 -0
- package/Libraries/Image/Image.android.js +213 -271
- package/Libraries/Image/Image.d.ts +382 -0
- package/Libraries/Image/Image.ios.js +156 -102
- package/Libraries/Image/Image.win32.js +174 -99
- package/Libraries/Image/ImageAnalyticsTagContext.js +22 -0
- package/Libraries/Image/ImageBackground.js +38 -12
- package/Libraries/Image/ImageInjection.js +87 -0
- package/Libraries/Image/ImageProps.js +139 -25
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageResizeMode.js +1 -1
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSource.js +73 -21
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageTypes.d.ts +25 -25
- package/Libraries/Image/ImageTypes.flow.js +76 -0
- package/Libraries/Image/ImageTypes.js +8 -8
- package/Libraries/Image/ImageTypes.js.map +1 -0
- package/Libraries/Image/ImageUtils.js +22 -0
- package/Libraries/Image/ImageViewNativeComponent.js +143 -29
- package/Libraries/Image/NativeImageEditor.js +13 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +5 -32
- package/Libraries/Image/NativeImageLoaderIOS.js +5 -24
- package/Libraries/Image/NativeImageLoaderWin32.js +5 -29
- package/Libraries/Image/NativeImageStoreAndroid.js +13 -0
- package/Libraries/Image/NativeImageStoreIOS.js +13 -0
- package/Libraries/Image/RelativeImageStub.js +2 -2
- package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
- package/Libraries/Image/Tests/ImageWin32Test.js +22 -19
- package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -0
- package/Libraries/Image/TextInlineImageNativeComponent.js +38 -7
- package/Libraries/Image/assetPaths.js +36 -0
- package/Libraries/Image/nativeImageSource.js +4 -6
- package/Libraries/Image/resolveAssetSource.js +65 -31
- package/Libraries/Image/resolveAssetSource.win32.js +18 -6
- package/Libraries/Inspector/BorderBox.js +2 -2
- package/Libraries/Inspector/BoxInspector.js +4 -5
- package/Libraries/Inspector/ElementBox.js +15 -10
- package/Libraries/Inspector/ElementProperties.js +35 -62
- package/Libraries/Inspector/Inspector.js +150 -258
- package/Libraries/Inspector/Inspector.win32.js +154 -262
- package/Libraries/Inspector/InspectorOverlay.js +28 -53
- package/Libraries/Inspector/InspectorOverlay.win32.js +31 -54
- package/Libraries/Inspector/InspectorPanel.js +15 -27
- package/Libraries/Inspector/NetworkOverlay.js +24 -18
- package/Libraries/Inspector/PerformanceOverlay.js +5 -5
- package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
- package/Libraries/Inspector/StyleInspector.js +3 -3
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +83 -0
- package/Libraries/Inspector/resolveBoxStyle.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +10 -22
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +29 -40
- package/Libraries/Interaction/JSEventLoopWatchdog.js +10 -15
- package/Libraries/Interaction/NativeFrameRateLogger.js +5 -16
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.js +26 -28
- package/Libraries/Interaction/TaskQueue.js +14 -16
- package/Libraries/Interaction/TouchHistoryMath.js +12 -12
- package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +141 -0
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +279 -0
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +13 -0
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +172 -0
- package/Libraries/JSInspector/InspectorAgent.js +4 -4
- package/Libraries/JSInspector/JSInspector.js +2 -5
- package/Libraries/JSInspector/NetworkAgent.js +11 -16
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +86 -37
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +50 -41
- package/Libraries/Linking/NativeIntentAndroid.js +13 -0
- package/Libraries/Linking/NativeLinkingManager.js +13 -0
- package/Libraries/Lists/FillRateHelper.js +6 -232
- package/Libraries/Lists/FlatList.d.ts +245 -0
- package/Libraries/Lists/FlatList.js +194 -127
- package/Libraries/Lists/SectionList.d.ts +267 -0
- package/Libraries/Lists/SectionList.js +36 -31
- package/Libraries/Lists/SectionListModern.js +249 -0
- package/Libraries/Lists/ViewabilityHelper.js +10 -327
- package/Libraries/Lists/VirtualizeUtils.js +6 -235
- package/Libraries/Lists/VirtualizedList.js +10 -2224
- package/Libraries/Lists/VirtualizedListContext.js +18 -0
- package/Libraries/Lists/VirtualizedSectionList.js +9 -565
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -1
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +8 -8
- package/Libraries/LogBox/Data/LogBoxData.js +42 -67
- package/Libraries/LogBox/Data/LogBoxLog.js +120 -10
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +10 -9
- package/Libraries/LogBox/Data/parseLogBoxLog.js +266 -74
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +135 -80
- package/Libraries/LogBox/LogBoxInspectorContainer.js +6 -6
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -5
- package/Libraries/LogBox/UI/AnsiHighlight.js +17 -8
- package/Libraries/LogBox/UI/LogBoxButton.js +6 -7
- package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
- package/Libraries/LogBox/UI/LogBoxInspector.js +12 -14
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +12 -10
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +27 -35
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -9
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +177 -0
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -7
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +16 -14
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +196 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -5
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +6 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +118 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +19 -11
- package/Libraries/LogBox/UI/LogBoxMessage.js +100 -19
- package/Libraries/LogBox/UI/LogBoxNotification.js +15 -14
- package/Libraries/LogBox/UI/LogBoxStyle.js +1 -3
- package/Libraries/LogBox/UI/LogBoxStyle.win32.js +65 -0
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +140 -72
- package/Libraries/Modal/ModalInjection.js +15 -0
- package/Libraries/Modal/NativeModalManager.js +5 -14
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +4 -117
- package/Libraries/MutationObserver/MutationObserver.js +184 -0
- package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
- package/Libraries/MutationObserver/MutationRecord.js +84 -0
- package/Libraries/MutationObserver/NativeMutationObserver.js +13 -0
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +344 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +406 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +407 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +164 -0
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +30 -0
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +25 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +166 -0
- package/Libraries/NativeComponent/ViewConfig.js +52 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +51 -0
- package/Libraries/NativeModules/specs/NativeDevMenu.js +5 -16
- package/Libraries/NativeModules/specs/NativeDevSettings.js +5 -26
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +5 -12
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +5 -41
- package/Libraries/NativeModules/specs/NativeLogBox.js +5 -13
- package/Libraries/NativeModules/specs/NativeRedBox.js +5 -13
- package/Libraries/NativeModules/specs/NativeSourceCode.js +5 -14
- package/Libraries/Network/FormData.js +13 -5
- package/Libraries/Network/NativeNetworkingAndroid.js +5 -30
- package/Libraries/Network/NativeNetworkingIOS.js +5 -30
- package/Libraries/Network/RCTNetworking.android.js +16 -12
- package/Libraries/Network/RCTNetworking.ios.js +67 -18
- package/Libraries/Network/RCTNetworking.win32.js +84 -68
- package/Libraries/Network/XHRInterceptor.js +6 -7
- package/Libraries/Network/XMLHttpRequest.js +77 -28
- package/Libraries/Network/convertRequestBody.js +4 -4
- package/Libraries/Network/fetch.js +2 -1
- package/Libraries/NewAppScreen/components/Colors.js +2 -3
- package/Libraries/NewAppScreen/components/DebugInstructions.js +9 -6
- package/Libraries/NewAppScreen/components/Header.js +38 -16
- package/Libraries/NewAppScreen/components/HermesBadge.js +53 -0
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +52 -27
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +5 -2
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +12 -6
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +5 -12
- package/Libraries/Performance/SamplingProfiler.js +5 -5
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +116 -171
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +5 -52
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +116 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +60 -23
- package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
- package/Libraries/PersonaCoin/PersonaCoin.js +15 -22
- package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -0
- package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
- package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +20 -20
- package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -0
- package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
- package/Libraries/PersonaCoin/PersonaCoinTypes.js +24 -24
- package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -0
- package/Libraries/Pressability/HoverState.js +2 -4
- package/Libraries/Pressability/HoverState.win32.js +60 -0
- package/Libraries/Pressability/Pressability.js +243 -148
- package/Libraries/Pressability/Pressability.win32.js +1094 -0
- package/Libraries/Pressability/PressabilityDebug.js +31 -27
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
- package/Libraries/Pressability/PressabilityTypes.js +18 -0
- package/Libraries/Pressability/usePressability.js +25 -11
- package/Libraries/Promise.js +5 -35
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +5 -66
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +134 -83
- package/Libraries/QuirkSettings/CachingNativeQuirkSettings.js +30 -0
- package/Libraries/QuirkSettings/NativeQuirkSettings.js +17 -0
- package/Libraries/QuirkSettings/QuirkSettings.js +34 -0
- package/Libraries/QuirkSettings/Quirks.js +17 -0
- package/Libraries/ReactNative/AppContainer-dev.js +211 -0
- package/Libraries/ReactNative/AppContainer-prod.js +53 -0
- package/Libraries/ReactNative/AppContainer.js +11 -137
- package/Libraries/ReactNative/AppRegistry.d.ts +114 -0
- package/Libraries/ReactNative/AppRegistry.js +129 -72
- package/Libraries/ReactNative/BridgelessUIManager.js +418 -0
- package/Libraries/ReactNative/DisplayMode.js +32 -0
- package/Libraries/ReactNative/FabricUIManager.js +116 -27
- package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/I18nManager.js +17 -12
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +5 -13
- package/Libraries/ReactNative/NativeI18nManager.js +5 -18
- package/Libraries/ReactNative/NativeUIManager.js +5 -114
- package/Libraries/ReactNative/PaperUIManager.js +79 -52
- package/Libraries/ReactNative/PaperUIManager.win32.js +210 -0
- package/Libraries/ReactNative/ReactFabricInternals.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +100 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +33 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +31 -0
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
- package/Libraries/ReactNative/RendererImplementation.js +141 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.d.ts +13 -0
- package/Libraries/ReactNative/RootTag.js +27 -0
- package/Libraries/ReactNative/UIManager.d.ts +113 -0
- package/Libraries/ReactNative/UIManager.js +178 -24
- package/Libraries/ReactNative/UIManagerProperties.js +3 -8
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +334 -0
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +35 -0
- package/Libraries/ReactNative/getNativeComponentAttributes.js +39 -25
- package/Libraries/ReactNative/renderApplication.js +68 -21
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +4 -4
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +66 -11
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +24589 -17607
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +6859 -5144
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +7335 -5408
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +24904 -18066
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +6884 -5179
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +7295 -5351
- package/Libraries/Renderer/shims/ReactFabric.js +9 -8
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +4 -2
- package/Libraries/Renderer/shims/ReactNative.js +4 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +229 -76
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +23 -32
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +7 -6
- package/Libraries/Settings/NativeSettingsManager.js +5 -18
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Settings/Settings.ios.js +7 -7
- package/Libraries/Settings/Settings.js +33 -0
- package/Libraries/Share/NativeShareModule.js +5 -16
- package/Libraries/Share/Share.d.ts +74 -0
- package/Libraries/Share/Share.js +21 -12
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +5 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +10 -11
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +52 -16
- package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +15 -5
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +11 -5
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +4 -4
- package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +11 -12
- package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +2 -2
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -3
- package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
- package/Libraries/StyleSheet/StyleSheet.js +42 -56
- package/Libraries/StyleSheet/StyleSheet.win32.js +43 -57
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +410 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +385 -130
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +11 -35
- package/Libraries/StyleSheet/flattenStyle.js +14 -9
- package/Libraries/StyleSheet/normalizeColor.js +11 -370
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +69 -0
- package/Libraries/StyleSheet/processAspectRatio.js +63 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +6 -8
- package/Libraries/StyleSheet/processColorArray.js +18 -7
- package/Libraries/StyleSheet/processFilter.js +132 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +156 -111
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/StyleSheet/splitLayoutProps.js +57 -49
- package/Libraries/Text/Text.d.ts +304 -0
- package/Libraries/Text/Text.js +283 -266
- package/Libraries/Text/Text.win32.js +350 -0
- package/Libraries/Text/TextAncestor.js +7 -2
- package/Libraries/Text/TextNativeComponent.js +81 -0
- package/Libraries/Text/TextNativeComponent.win32.js +116 -0
- package/Libraries/Text/TextProps.js +103 -25
- package/Libraries/Text/TextProps.win32.js +281 -0
- package/Libraries/TurboModule/RCTExport.d.ts +12 -0
- package/Libraries/TurboModule/RCTExport.js +3 -1
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +60 -15
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +5 -28
- package/Libraries/Types/CodegenTypes.js +4 -2
- package/Libraries/Types/CoreEventTypes.d.ts +266 -0
- package/Libraries/Types/CoreEventTypes.js +143 -6
- package/Libraries/Types/CoreEventTypes.win32.js +342 -0
- package/Libraries/Types/ReactDevToolsTypes.js +58 -0
- package/Libraries/Types/RootTagTypes.js +11 -0
- package/Libraries/Types/UIManagerJSInterface.js +16 -0
- package/Libraries/UTFSequence.js +6 -4
- package/Libraries/Utilities/Appearance.d.ts +53 -0
- package/Libraries/Utilities/Appearance.js +44 -15
- package/Libraries/Utilities/BackHandler.android.js +14 -23
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/BackHandler.ios.js +14 -96
- package/Libraries/Utilities/BackHandler.win32.js +107 -7
- package/Libraries/Utilities/DebugEnvironment.js +16 -0
- package/Libraries/Utilities/DevLoadingView.js +66 -0
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +55 -48
- package/Libraries/Utilities/DeviceInfo.js +1 -3
- package/Libraries/Utilities/DeviceInfo.win32.js +0 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +30 -49
- package/Libraries/Utilities/Dimensions.win32.js +106 -18
- package/Libraries/Utilities/FeatureDetection.js +31 -0
- package/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
- package/Libraries/Utilities/FocusManager.win32.js +42 -0
- package/Libraries/Utilities/GlobalPerformanceLogger.js +4 -5
- package/Libraries/Utilities/HMRClient.js +100 -38
- package/Libraries/Utilities/HMRClientProdShim.js +2 -1
- package/Libraries/Utilities/IPerformanceLogger.d.ts +48 -0
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/NativeAppearance.js +5 -28
- package/Libraries/Utilities/NativeDevLoadingView.js +5 -17
- package/Libraries/Utilities/NativeDeviceInfo.js +4 -40
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +5 -30
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +5 -26
- package/Libraries/Utilities/NativePlatformConstantsWin.js +4 -21
- package/Libraries/Utilities/PerformanceLoggerContext.js +17 -10
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/PixelRatio.js +6 -6
- package/Libraries/Utilities/Platform.android.js +36 -15
- package/Libraries/Utilities/Platform.d.ts +106 -0
- package/Libraries/Utilities/Platform.flow.js +91 -0
- package/Libraries/Utilities/Platform.flow.win32.js +124 -0
- package/Libraries/Utilities/Platform.ios.js +38 -18
- package/Libraries/Utilities/Platform.win32.js +42 -15
- package/Libraries/Utilities/PolyfillFunctions.js +6 -6
- package/Libraries/Utilities/RCTLog.js +6 -5
- package/Libraries/Utilities/ReactNativeTestTools.js +34 -39
- package/Libraries/Utilities/SceneTracker.js +6 -5
- package/Libraries/Utilities/__mocks__/BackHandler.js +6 -6
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +2 -2
- package/Libraries/Utilities/binaryToBase64.js +6 -4
- package/Libraries/Utilities/codegenNativeCommands.js +6 -6
- package/Libraries/Utilities/codegenNativeComponent.js +24 -14
- package/Libraries/Utilities/createPerformanceLogger.js +266 -242
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +12 -6
- package/Libraries/Utilities/defineLazyObjectProperty.js +3 -3
- package/Libraries/Utilities/differ/deepDiffer.js +3 -3
- package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
- package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
- package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
- package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
- package/Libraries/Utilities/dismissKeyboard.js +1 -1
- package/Libraries/Utilities/infoLog.js +3 -2
- package/Libraries/Utilities/logError.js +2 -2
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +8 -8
- package/Libraries/Utilities/useColorScheme.js +10 -16
- package/Libraries/Utilities/useMergeRefs.js +40 -0
- package/Libraries/Utilities/useRefEffect.js +45 -0
- package/Libraries/Utilities/useWindowDimensions.js +15 -8
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +40 -39
- package/Libraries/Utilities/warnOnce.js +3 -5
- package/Libraries/Vibration/NativeVibration.js +5 -17
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +16 -14
- package/Libraries/WebSocket/NativeWebSocketModule.js +5 -27
- package/Libraries/WebSocket/WebSocket.js +46 -26
- package/Libraries/WebSocket/WebSocketEvent.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +15 -14
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +6 -6
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -3
- package/Libraries/__tests__/ButtonWin32-test.js +16 -0
- package/Libraries/platform-types.d.ts +25 -0
- package/Libraries/promiseRejectionTrackingOptions.js +71 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/core/ErrorUtils.js +2 -2
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/Libraries/vendor/emitter/EventEmitter.js +122 -193
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
- package/README.md +1 -1
- package/babel.config.js +3 -0
- package/flow/HermesInternalType.js +114 -0
- package/flow/Position.js +1 -1
- package/flow/Stringish.js +1 -1
- package/flow/console.js +1 -1
- package/flow/global.js +87 -0
- package/flow/jest.js +265 -167
- package/flow/react.js +15 -0
- package/index.js +349 -253
- package/index.win32.js +759 -42
- package/interface.js +9 -9
- package/jest/MockNativeMethods.js +1 -1
- package/jest/__tests__/setup-test.js +18 -0
- package/jest/assetFileTransformer.js +7 -5
- package/jest/local-setup.js +28 -0
- package/jest/mockComponent.js +24 -15
- package/jest/mockModal.js +34 -0
- package/jest/mockNativeComponent.js +40 -0
- package/jest/mockScrollView.js +35 -0
- package/jest/react-native-env.js +16 -0
- package/jest/renderer.js +6 -10
- package/jest/setup.js +141 -83
- package/jest-snapshot-resolver.js +2 -0
- package/jest.config.js +38 -0
- package/just-task.js +12 -80
- package/metro.config.js +5 -20
- package/metroShortPathAssetDataPlugin.js +15 -0
- package/overrides.json +534 -0
- package/package.json +86 -48
- package/react-native.config.js +2 -0
- package/rn-get-polyfills.js +3 -6
- package/saveAssetPlugin.js +45 -0
- package/src/private/core/composeStyles.js +27 -0
- package/src/private/core/setUpDOM.js +18 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +195 -0
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +103 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +53 -0
- package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
- package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
- package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
- package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
- package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
- package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
- package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
- package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
- package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
- package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
- package/src/private/specs/components/SwitchNativeComponent.js +61 -0
- package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
- package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
- package/src/private/specs/modules/NativeAlertManager.js +35 -0
- package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
- package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
- package/src/private/specs/modules/NativeAppState.js +33 -0
- package/src/private/specs/modules/NativeAppearance.js +36 -0
- package/src/private/specs/modules/NativeBlobModule.js +61 -0
- package/src/private/specs/modules/NativeBugReporting.js +20 -0
- package/src/private/specs/modules/NativeClipboard.js +21 -0
- package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
- package/src/private/specs/modules/NativeDevMenu.js +23 -0
- package/src/private/specs/modules/NativeDevSettings.js +33 -0
- package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
- package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
- package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
- package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
- package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
- package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
- package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
- package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
- package/src/private/specs/modules/NativeI18nManager.js +28 -0
- package/src/private/specs/modules/NativeImageEditor.js +52 -0
- package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
- package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
- package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
- package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
- package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
- package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
- package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
- package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
- package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
- package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
- package/src/private/specs/modules/NativeLinkingManager.js +27 -0
- package/src/private/specs/modules/NativeLogBox.js +20 -0
- package/src/private/specs/modules/NativeModalManager.js +21 -0
- package/src/private/specs/modules/NativeMutationObserver.js +58 -0
- package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
- package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
- package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
- package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
- package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
- package/src/private/specs/modules/NativePlatformConstantsWin.js +37 -0
- package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
- package/src/private/specs/modules/NativeRedBox.js +20 -0
- package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
- package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
- package/src/private/specs/modules/NativeSettingsManager.js +25 -0
- package/src/private/specs/modules/NativeShareModule.js +23 -0
- package/src/private/specs/modules/NativeSoundManager.js +22 -0
- package/src/private/specs/modules/NativeSourceCode.js +36 -0
- package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
- package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
- package/src/private/specs/modules/NativeTiming.js +26 -0
- package/src/private/specs/modules/NativeToastAndroid.js +38 -0
- package/src/private/specs/modules/NativeUIManager.js +111 -0
- package/src/private/specs/modules/NativeVibration.js +24 -0
- package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
- package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +189 -0
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +71 -0
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +357 -0
- package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
- package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
- package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
- package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
- package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +19 -0
- package/src/private/webapis/performance/EventCounts.js +78 -0
- package/src/private/webapis/performance/MemoryInfo.js +54 -0
- package/src/private/webapis/performance/Performance.js +293 -0
- package/src/private/webapis/performance/PerformanceEntry.js +53 -0
- package/src/private/webapis/performance/PerformanceEventTiming.js +55 -0
- package/src/private/webapis/performance/PerformanceObserver.js +345 -0
- package/src/private/webapis/performance/RawPerformanceEntry.js +82 -0
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
- package/src/private/webapis/performance/UserTiming.js +63 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +34 -0
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +61 -0
- package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +67 -0
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +127 -0
- package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
- package/src-win/Libraries/Components/Button/ButtonWin32.Props.ts +45 -0
- package/src-win/Libraries/Components/Button/ButtonWin32.tsx +94 -0
- package/src-win/Libraries/Components/EnterString.win32.tsx +110 -0
- package/src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx +185 -0
- package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +502 -0
- package/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
- package/src-win/Libraries/Components/Touchable/TouchableWin32.Props.tsx +46 -0
- package/src-win/Libraries/Components/Touchable/TouchableWin32.Types.tsx +137 -0
- package/src-win/Libraries/Components/Touchable/TouchableWin32.tsx +624 -0
- package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +551 -0
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
- package/src-win/Libraries/Components/View/ViewWin32.d.ts +30 -0
- package/src-win/Libraries/Image/ImageTypes.ts +27 -0
- package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +22 -0
- package/src-win/Libraries/Image/Tests/img/dpitest.png +0 -0
- package/src-win/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
- package/src-win/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
- package/src-win/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
- package/src-win/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
- package/src-win/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
- package/src-win/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
- package/src-win/Libraries/PersonaCoin/PersonaCoin.tsx +12 -0
- package/src-win/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +17 -0
- package/src-win/Libraries/PersonaCoin/PersonaCoinTypes.ts +36 -0
- package/src-win/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +38 -0
- package/src-win/Libraries/Text/Text.d.ts +304 -0
- package/src-win/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
- package/src-win/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
- package/src-win/Libraries/platform-types.d.ts +25 -0
- package/types/experimental.d.ts +145 -0
- package/types/index.d.ts +218 -0
- package/types/modules/BatchedBridge.d.ts +32 -0
- package/types/modules/Codegen.d.ts +74 -0
- package/types/modules/Devtools.d.ts +32 -0
- package/types/modules/LaunchScreen.d.ts +18 -0
- package/types/modules/globals.d.ts +599 -0
- package/types/private/TimerMixin.d.ts +19 -0
- package/types/private/Utilities.d.ts +10 -0
- package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
- package/types/public/Insets.d.ts +15 -0
- package/types/public/ReactNativeRenderer.d.ts +144 -0
- package/types/public/ReactNativeTypes.d.ts +143 -0
- package/IntegrationTests/AsyncStorageTest.js +0 -217
- package/IntegrationTests/PropertiesUpdateTest.js +0 -29
- package/IntegrationTests/RCTRootViewIntegrationTestApp.js +0 -92
- package/IntegrationTests/ReactContentSizeUpdateTest.js +0 -91
- package/IntegrationTests/SizeFlexibilityUpdateTest.js +0 -108
- package/Libraries/ART/ARTCGFloatArray.h +0 -18
- package/Libraries/ART/ARTContainer.h +0 -16
- package/Libraries/ART/ARTGroup.h +0 -17
- package/Libraries/ART/ARTNode.h +0 -30
- package/Libraries/ART/ARTRenderable.h +0 -23
- package/Libraries/ART/ARTShape.h +0 -16
- package/Libraries/ART/ARTSurfaceView.h +0 -14
- package/Libraries/ART/ARTText.h +0 -18
- package/Libraries/ART/ARTTextFrame.h +0 -23
- package/Libraries/ART/Brushes/ARTBrush.h +0 -33
- package/Libraries/ART/Brushes/ARTLinearGradient.h +0 -12
- package/Libraries/ART/Brushes/ARTPattern.h +0 -12
- package/Libraries/ART/Brushes/ARTRadialGradient.h +0 -12
- package/Libraries/ART/Brushes/ARTSolidColor.h +0 -12
- package/Libraries/ART/RCTConvert+ART.h +0 -29
- package/Libraries/ART/ViewManagers/ARTGroupManager.h +0 -12
- package/Libraries/ART/ViewManagers/ARTNodeManager.h +0 -16
- package/Libraries/ART/ViewManagers/ARTRenderableManager.h +0 -15
- package/Libraries/ART/ViewManagers/ARTShapeManager.h +0 -12
- package/Libraries/ART/ViewManagers/ARTSurfaceViewManager.h +0 -12
- package/Libraries/ART/ViewManagers/ARTTextManager.h +0 -12
- package/Libraries/Animated/examples/demo.html +0 -712
- package/Libraries/Animated/examples/pic1.jpg +0 -0
- package/Libraries/Animated/examples/pic2.jpg +0 -0
- package/Libraries/Animated/examples/pic3.jpg +0 -0
- package/Libraries/Animated/release/gulpfile.js +0 -155
- package/Libraries/Animated/src/Animated.js +0 -49
- package/Libraries/Animated/src/AnimatedEvent.js +0 -233
- package/Libraries/Animated/src/AnimatedImplementation.js +0 -712
- package/Libraries/Animated/src/AnimatedMock.js +0 -156
- package/Libraries/Animated/src/AnimatedWeb.js +0 -23
- package/Libraries/Animated/src/Easing.js +0 -252
- package/Libraries/Animated/src/NativeAnimatedHelper.js +0 -342
- package/Libraries/Animated/src/NativeAnimatedModule.js +0 -66
- package/Libraries/Animated/src/SpringConfig.js +0 -103
- package/Libraries/Animated/src/animations/Animation.js +0 -73
- package/Libraries/Animated/src/animations/DecayAnimation.js +0 -120
- package/Libraries/Animated/src/animations/SpringAnimation.js +0 -359
- package/Libraries/Animated/src/animations/TimingAnimation.js +0 -165
- package/Libraries/Animated/src/bezier.js +0 -153
- package/Libraries/Animated/src/components/AnimatedFlatList.js +0 -32
- package/Libraries/Animated/src/components/AnimatedImage.js +0 -25
- package/Libraries/Animated/src/components/AnimatedScrollView.js +0 -32
- package/Libraries/Animated/src/components/AnimatedSectionList.js +0 -32
- package/Libraries/Animated/src/components/AnimatedText.js +0 -25
- package/Libraries/Animated/src/components/AnimatedView.js +0 -23
- package/Libraries/Animated/src/createAnimatedComponent.js +0 -223
- package/Libraries/Animated/src/nodes/AnimatedAddition.js +0 -63
- package/Libraries/Animated/src/nodes/AnimatedDiffClamp.js +0 -71
- package/Libraries/Animated/src/nodes/AnimatedDivision.js +0 -68
- package/Libraries/Animated/src/nodes/AnimatedInterpolation.js +0 -373
- package/Libraries/Animated/src/nodes/AnimatedModulo.js +0 -62
- package/Libraries/Animated/src/nodes/AnimatedMultiplication.js +0 -63
- package/Libraries/Animated/src/nodes/AnimatedNode.js +0 -184
- package/Libraries/Animated/src/nodes/AnimatedProps.js +0 -176
- package/Libraries/Animated/src/nodes/AnimatedStyle.js +0 -127
- package/Libraries/Animated/src/nodes/AnimatedSubtraction.js +0 -63
- package/Libraries/Animated/src/nodes/AnimatedTracking.js +0 -102
- package/Libraries/Animated/src/nodes/AnimatedTransform.js +0 -121
- package/Libraries/Animated/src/nodes/AnimatedValue.js +0 -265
- package/Libraries/Animated/src/nodes/AnimatedValueXY.js +0 -226
- package/Libraries/Animated/src/nodes/AnimatedWithChildren.js +0 -87
- package/Libraries/Animated/src/polyfills/InteractionManager.js +0 -15
- package/Libraries/Animated/src/polyfills/Set.js +0 -26
- package/Libraries/Animated/src/polyfills/flattenStyle.js +0 -13
- package/Libraries/Blob/RCTBlobCollector.h +0 -30
- package/Libraries/Blob/RCTBlobManager.h +0 -28
- package/Libraries/Blob/RCTBlobPlugins.h +0 -41
- package/Libraries/Blob/RCTFileReaderModule.h +0 -12
- package/Libraries/CameraRoll/RCTAssetsLibraryRequestHandler.h +0 -15
- package/Libraries/CameraRoll/RCTCameraRollManager.h +0 -22
- package/Libraries/CameraRoll/RCTCameraRollPlugins.h +0 -43
- package/Libraries/CameraRoll/RCTImagePickerManager.h +0 -12
- package/Libraries/CameraRoll/RCTPhotoLibraryImageLoader.h +0 -12
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -162
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -271
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.win32.js +0 -33
- package/Libraries/Components/AppleTV/NativeTVNavigationEventEmitter.js +0 -23
- package/Libraries/Components/AppleTV/TVEventHandler.js +0 -52
- package/Libraries/Components/CheckBox/AndroidCheckBoxNativeComponent.js +0 -74
- package/Libraries/Components/CheckBox/CheckBox.android.js +0 -228
- package/Libraries/Components/CheckBox/CheckBox.ios.js +0 -13
- package/Libraries/Components/CheckBox/CheckBox.win32.js +0 -12
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -46
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -189
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -46
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -89
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.win32.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -22
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +0 -12
- package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +0 -13
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/MaskedViewIOS.win32.js +0 -13
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -68
- package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -68
- package/Libraries/Components/Picker/Picker.js +0 -159
- package/Libraries/Components/Picker/Picker.win32.d.ts +0 -1
- package/Libraries/Components/Picker/Picker.win32.js +0 -80
- package/Libraries/Components/Picker/PickerAndroid.android.js +0 -146
- package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
- package/Libraries/Components/Picker/PickerAndroid.js +0 -12
- package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
- package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
- package/Libraries/Components/Picker/PickerIOS.js +0 -14
- package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -63
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +0 -12
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -46
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -77
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -8
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -35
- package/Libraries/Components/ScrollResponder.js +0 -773
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -77
- package/Libraries/Components/ScrollView/__mocks__/ScrollViewMock.js +0 -39
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -46
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -46
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.js +0 -46
- package/Libraries/Components/Slider/Slider.js +0 -276
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -60
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -22
- package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -26
- package/Libraries/Components/Text/TextWin32.Props.js +0 -3
- package/Libraries/Components/Text/TextWin32.d.ts +0 -6
- package/Libraries/Components/Text/TextWin32.js +0 -41
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -84
- package/Libraries/Components/TextInput/RCTSinglelineTextInputViewConfig.js +0 -134
- package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +0 -51
- package/Libraries/Components/TextInput/TextInput.Types.win32.js +0 -3
- package/Libraries/Components/TextInput/TextInput.win32.d.ts +0 -68
- package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +0 -39
- package/Libraries/Components/Touchable/TVTouchable.js +0 -55
- package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.d.ts +0 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.js +0 -3
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.d.ts +0 -16
- package/Libraries/Components/Touchable/__mocks__/ensureComponentIsNative.js +0 -12
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -347
- package/Libraries/Components/View/ReactNativeViewViewConfig.win32.js +0 -384
- package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -74
- package/Libraries/Components/View/Tests/ViewWin32Test.d.ts +0 -8
- package/Libraries/Components/View/Tests/ViewWin32Test.js +0 -235
- package/Libraries/Components/View/ViewWin32.Props.d.ts +0 -149
- package/Libraries/Components/View/ViewWin32.Props.js +0 -11
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
- package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.js +0 -82
- package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
- package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
- package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
- package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
- package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
- package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
- package/Libraries/DeprecatedPropTypes/DeprecatedTVViewPropTypes.js +0 -23
- package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
- package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
- package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
- package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
- package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -44
- package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
- package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
- package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -130
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +0 -99
- package/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +0 -3864
- package/Libraries/Image/ImagePickerIOS.js +0 -105
- package/Libraries/Image/ImageViewViewConfig.js +0 -68
- package/Libraries/Image/NativeImagePickerIOS.js +0 -40
- package/Libraries/Image/RCTAnimatedImage.h +0 -21
- package/Libraries/Image/RCTGIFImageDecoder.h +0 -12
- package/Libraries/Image/RCTImageBlurUtils.h +0 -13
- package/Libraries/Image/RCTImageCache.h +0 -42
- package/Libraries/Image/RCTImageDataDecoder.h +0 -53
- package/Libraries/Image/RCTImageEditingManager.h +0 -12
- package/Libraries/Image/RCTImageLoader.h +0 -35
- package/Libraries/Image/RCTImageLoaderProtocol.h +0 -117
- package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +0 -52
- package/Libraries/Image/RCTImagePlugins.h +0 -44
- package/Libraries/Image/RCTImageShadowView.h +0 -12
- package/Libraries/Image/RCTImageStoreManager.h +0 -46
- package/Libraries/Image/RCTImageURLLoader.h +0 -73
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +0 -73
- package/Libraries/Image/RCTImageUtils.h +0 -93
- package/Libraries/Image/RCTImageView.h +0 -26
- package/Libraries/Image/RCTImageViewManager.h +0 -12
- package/Libraries/Image/RCTLocalAssetImageLoader.h +0 -12
- package/Libraries/Image/RCTResizeMode.h +0 -22
- package/Libraries/Image/RCTUIImageViewAnimated.h +0 -13
- package/Libraries/Image/assetPathUtils.js +0 -91
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -62
- package/Libraries/Interaction/InteractionMixin.js +0 -55
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Linking/NativeLinking.js +0 -41
- package/Libraries/LinkingIOS/RCTLinkingManager.h +0 -34
- package/Libraries/LinkingIOS/RCTLinkingPlugins.h +0 -40
- package/Libraries/NativeAnimation/Drivers/RCTAnimationDriver.h +0 -38
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +0 -12
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +0 -21
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +0 -12
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +0 -12
- package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.h +0 -12
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +0 -51
- package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.h +0 -12
- package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.h +0 -12
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +0 -12
- package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.h +0 -12
- package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.h +0 -12
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.h +0 -23
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.h +0 -14
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +0 -13
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +0 -13
- package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.h +0 -14
- package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +0 -30
- package/Libraries/NativeAnimation/RCTAnimationPlugins.h +0 -40
- package/Libraries/NativeAnimation/RCTAnimationUtils.h +0 -38
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +0 -20
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +0 -88
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -21
- package/Libraries/Network/RCTDataRequestHandler.h +0 -16
- package/Libraries/Network/RCTFileRequestHandler.h +0 -16
- package/Libraries/Network/RCTHTTPRequestHandler.h +0 -16
- package/Libraries/Network/RCTNetworkPlugins.h +0 -43
- package/Libraries/Network/RCTNetworkTask.h +0 -47
- package/Libraries/Network/RCTNetworking.h +0 -73
- package/Libraries/Performance/PureComponentDebug.js +0 -73
- package/Libraries/Performance/QuickPerformanceLogger.js +0 -101
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +0 -25
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.h +0 -40
- package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +0 -77
- package/Libraries/ReactNative/DummyUIManager.js +0 -123
- package/Libraries/ReactNative/RootTagContext.js +0 -15
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -20493
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -7440
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -7718
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -21091
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -7677
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -7955
- package/Libraries/Renderer/shims/ReactTypes.js +0 -192
- package/Libraries/Settings/RCTSettingsManager.h +0 -16
- package/Libraries/Settings/RCTSettingsPlugins.h +0 -40
- package/Libraries/Settings/Settings.android.js +0 -33
- package/Libraries/Storage/AsyncStorage.js +0 -360
- package/Libraries/Storage/NativeAsyncStorage.js +0 -44
- package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.android.js +0 -18
- package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.js +0 -17
- package/Libraries/StyleSheet/StyleSheetValidation.js +0 -97
- package/Libraries/StyleSheet/StyleSheetValidation.win32.js +0 -102
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +0 -26
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +0 -18
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +0 -20
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +0 -20
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.h +0 -12
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +0 -20
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +0 -20
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -27
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -16
- package/Libraries/Text/RCTConvert+Text.h +0 -22
- package/Libraries/Text/RCTTextAttributes.h +0 -97
- package/Libraries/Text/RCTTextTransform.h +0 -16
- package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -18
- package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -16
- package/Libraries/Text/Text/NSTextStorage+FontScaling.h +0 -20
- package/Libraries/Text/Text/RCTTextShadowView.h +0 -28
- package/Libraries/Text/Text/RCTTextView.h +0 -24
- package/Libraries/Text/Text/RCTTextViewManager.h +0 -14
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -16
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -16
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +0 -42
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +0 -42
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +0 -36
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +0 -48
- package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -25
- package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -60
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -17
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -12
- package/Libraries/Text/TextInput/RCTTextSelection.h +0 -26
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -16
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -16
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +0 -34
- package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -12
- package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -12
- package/Libraries/TypeSafety/RCTConvertHelpers.h +0 -73
- package/Libraries/TypeSafety/RCTTypedModuleConstants.h +0 -47
- package/Libraries/Utilities/BackHandler.win32.d.ts +0 -2
- package/Libraries/Utilities/JSDevSupportModule.js +0 -40
- package/Libraries/Utilities/LoadingView.android.js +0 -29
- package/Libraries/Utilities/LoadingView.ios.js +0 -40
- package/Libraries/Utilities/LoadingView.js +0 -16
- package/Libraries/Utilities/MatrixMath.js +0 -752
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -25
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -211
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -38
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/Libraries/Vibration/RCTVibration.h +0 -12
- package/Libraries/Vibration/RCTVibrationPlugins.h +0 -40
- package/Libraries/WebSocket/RCTReconnectingWebSocket.h +0 -37
- package/Libraries/WebSocket/RCTSRWebSocket.h +0 -132
- package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -16
- package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -16
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -20
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -18
- package/Libraries/Wrapper/RCTWrapper.h +0 -66
- package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -22
- package/Libraries/Wrapper/RCTWrapperView.h +0 -36
- package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -25
- package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -20
- package/Libraries/polyfills/Object.es7.js +0 -58
- package/Libraries/polyfills/console.js +0 -641
- package/Libraries/polyfills/error-guard.js +0 -115
- package/Libraries/promiseRejectionIsError.js +0 -24
- package/Libraries/vendor/emitter/EmitterSubscription.js +0 -59
- package/Libraries/vendor/emitter/EventSubscription.js +0 -40
- package/Libraries/vendor/emitter/EventSubscriptionVendor.js +0 -101
- package/RNTester/APIExamples/AccessibilityExampleWin32.d.ts +0 -8
- package/RNTester/APIExamples/AccessibilityExampleWin32.js +0 -262
- package/RNTester/APIExamples/ThemingModuleAPI.d.ts +0 -8
- package/RNTester/APIExamples/ThemingModuleAPI.js +0 -80
- package/RNTester/js/RNTesterApp.android.js +0 -363
- package/RNTester/js/RNTesterApp.ios.js +0 -272
- package/RNTester/js/RNTesterApp.win32.js +0 -285
- package/RNTester/js/assets/bandaged.png +0 -0
- package/RNTester/js/assets/bunny.png +0 -0
- package/RNTester/js/assets/call.png +0 -0
- package/RNTester/js/assets/dislike.png +0 -0
- package/RNTester/js/assets/fist.png +0 -0
- package/RNTester/js/assets/flowers.png +0 -0
- package/RNTester/js/assets/flux@3x.png +0 -0
- package/RNTester/js/assets/hawk.png +0 -0
- package/RNTester/js/assets/heart.png +0 -0
- package/RNTester/js/assets/helloworld.html +0 -25
- package/RNTester/js/assets/imageMask.png +0 -0
- package/RNTester/js/assets/like.png +0 -0
- package/RNTester/js/assets/liking.png +0 -0
- package/RNTester/js/assets/messagingtest.html +0 -28
- package/RNTester/js/assets/party.png +0 -0
- package/RNTester/js/assets/poke.png +0 -0
- package/RNTester/js/assets/relay@3x.png +0 -0
- package/RNTester/js/assets/slider-left.png +0 -0
- package/RNTester/js/assets/slider-left@2x.png +0 -0
- package/RNTester/js/assets/slider-right.png +0 -0
- package/RNTester/js/assets/slider-right@2x.png +0 -0
- package/RNTester/js/assets/slider.png +0 -0
- package/RNTester/js/assets/slider@2x.png +0 -0
- package/RNTester/js/assets/superlike.png +0 -0
- package/RNTester/js/assets/trees.jpg +0 -0
- package/RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif +0 -0
- package/RNTester/js/assets/uie_comment_highlighted@2x.png +0 -0
- package/RNTester/js/assets/uie_comment_normal@2x.png +0 -0
- package/RNTester/js/assets/uie_thumb_big.png +0 -0
- package/RNTester/js/assets/uie_thumb_normal@2x.png +0 -0
- package/RNTester/js/assets/uie_thumb_selected@2x.png +0 -0
- package/RNTester/js/assets/victory.png +0 -0
- package/RNTester/js/components/ListExampleShared.js +0 -377
- package/RNTester/js/components/ListExampleShared.win32.js +0 -384
- package/RNTester/js/components/RNTesterBlock.js +0 -105
- package/RNTester/js/components/RNTesterButton.js +0 -50
- package/RNTester/js/components/RNTesterExampleContainer.js +0 -80
- package/RNTester/js/components/RNTesterExampleFilter.js +0 -120
- package/RNTester/js/components/RNTesterExampleFilter.win32.js +0 -120
- package/RNTester/js/components/RNTesterExampleList.js +0 -254
- package/RNTester/js/components/RNTesterPage.js +0 -76
- package/RNTester/js/components/RNTesterSettingSwitchRow.js +0 -60
- package/RNTester/js/components/RNTesterTheme.js +0 -90
- package/RNTester/js/components/RNTesterTitle.js +0 -58
- package/RNTester/js/components/TextInlineView.js +0 -207
- package/RNTester/js/components/TextLegend.js +0 -248
- package/RNTester/js/components/createExamplePage.js +0 -31
- package/RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js +0 -177
- package/RNTester/js/examples/Accessibility/AccessibilityExample.js +0 -792
- package/RNTester/js/examples/Accessibility/AccessibilityIOSExample.js +0 -72
- package/RNTester/js/examples/Accessibility/check.png +0 -0
- package/RNTester/js/examples/Accessibility/mixed.png +0 -0
- package/RNTester/js/examples/Accessibility/uncheck.png +0 -0
- package/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +0 -342
- package/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js +0 -162
- package/RNTester/js/examples/Alert/AlertExample.js +0 -158
- package/RNTester/js/examples/Alert/AlertIOSExample.js +0 -204
- package/RNTester/js/examples/Animated/AnimatedExample.js +0 -347
- package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExApp.js +0 -407
- package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExBobble.js +0 -171
- package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExChained.js +0 -120
- package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExScroll.js +0 -124
- package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExSet.js +0 -149
- package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExTilt.js +0 -154
- package/RNTester/js/examples/AppState/AppStateExample.js +0 -106
- package/RNTester/js/examples/Appearance/AppearanceExample.js +0 -219
- package/RNTester/js/examples/AsyncStorage/AsyncStorageExample.js +0 -103
- package/RNTester/js/examples/Border/BorderExample.js +0 -301
- package/RNTester/js/examples/BoxShadow/BoxShadowExample.js +0 -100
- package/RNTester/js/examples/Button/ButtonExample.js +0 -127
- package/RNTester/js/examples/CheckBox/CheckBoxExample.js +0 -148
- package/RNTester/js/examples/Clipboard/ClipboardExample.js +0 -68
- package/RNTester/js/examples/ColorGradientWin32Example.js +0 -109
- package/RNTester/js/examples/Crash/CrashExample.js +0 -52
- package/RNTester/js/examples/DatePicker/DatePickerAndroidExample.js +0 -170
- package/RNTester/js/examples/DatePicker/DatePickerIOSExample.js +0 -150
- package/RNTester/js/examples/DevSettings/DevSettingsExample.js +0 -47
- package/RNTester/js/examples/Dimensions/DimensionsExample.js +0 -68
- package/RNTester/js/examples/FlatList/FlatListExample.js +0 -287
- package/RNTester/js/examples/Image/ImageCapInsetsExample.js +0 -68
- package/RNTester/js/examples/Image/ImageExample.js +0 -955
- package/RNTester/js/examples/InputAccessoryView/InputAccessoryViewExample.js +0 -121
- package/RNTester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js +0 -77
- package/RNTester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js +0 -120
- package/RNTester/js/examples/Layout/LayoutAnimationExample.js +0 -221
- package/RNTester/js/examples/Layout/LayoutEventsExample.js +0 -165
- package/RNTester/js/examples/Layout/LayoutExample.js +0 -206
- package/RNTester/js/examples/Linking/LinkingExample.js +0 -128
- package/RNTester/js/examples/MaskedView/MaskedViewExample.js +0 -236
- package/RNTester/js/examples/Modal/ModalExample.js +0 -283
- package/RNTester/js/examples/MultiColumn/MultiColumnExample.js +0 -189
- package/RNTester/js/examples/NativeAnimation/NativeAnimationsExample.js +0 -702
- package/RNTester/js/examples/NewAppScreen/NewAppScreenExample.js +0 -77
- package/RNTester/js/examples/OrientationChange/OrientationChangeExample.js +0 -66
- package/RNTester/js/examples/PanResponder/PanResponderExample.js +0 -154
- package/RNTester/js/examples/PermissionsAndroid/PermissionsExample.js +0 -130
- package/RNTester/js/examples/Picker/PickerExample.js +0 -220
- package/RNTester/js/examples/Picker/PickerIOSExample.js +0 -190
- package/RNTester/js/examples/PlatformColor/PlatformColorExample.js +0 -355
- package/RNTester/js/examples/PointerEvents/PointerEventsExample.js +0 -240
- package/RNTester/js/examples/Pressable/PressableExample.js +0 -426
- package/RNTester/js/examples/ProgressBarAndroid/ProgressBarAndroidExample.android.js +0 -94
- package/RNTester/js/examples/ProgressViewIOS/ProgressViewIOSExample.js +0 -103
- package/RNTester/js/examples/PushNotificationIOS/PushNotificationIOSExample.js +0 -267
- package/RNTester/js/examples/RCTRootView/RCTRootViewIOSExample.js +0 -95
- package/RNTester/js/examples/RTL/RTLExample.js +0 -747
- package/RNTester/js/examples/RefreshControl/RefreshControlExample.js +0 -127
- package/RNTester/js/examples/RootViewSizeFlexibilityExample/RootViewSizeFlexibilityExampleApp.js +0 -68
- package/RNTester/js/examples/SafeAreaView/SafeAreaViewExample.js +0 -137
- package/RNTester/js/examples/ScrollView/ScrollViewAnimatedExample.js +0 -107
- package/RNTester/js/examples/ScrollView/ScrollViewExample.js +0 -346
- package/RNTester/js/examples/ScrollView/ScrollViewSimpleExample.js +0 -105
- package/RNTester/js/examples/SectionList/SectionListExample.js +0 -301
- package/RNTester/js/examples/SegmentedControlIOS/SegmentedControlIOSExample.js +0 -183
- package/RNTester/js/examples/SetPropertiesExample/SetPropertiesExampleApp.js +0 -34
- package/RNTester/js/examples/Share/ShareExample.js +0 -124
- package/RNTester/js/examples/Slider/SliderExample.js +0 -136
- package/RNTester/js/examples/Snapshot/SnapshotExample.js +0 -69
- package/RNTester/js/examples/Snapshot/SnapshotViewIOS.android.js +0 -12
- package/RNTester/js/examples/Snapshot/SnapshotViewIOS.ios.js +0 -67
- package/RNTester/js/examples/StatusBar/StatusBarExample.js +0 -522
- package/RNTester/js/examples/Switch/SwitchExample.js +0 -239
- package/RNTester/js/examples/TVEventHandler/TVEventHandlerExample.js +0 -88
- package/RNTester/js/examples/Text/TextExample.android.js +0 -864
- package/RNTester/js/examples/Text/TextExample.ios.js +0 -1153
- package/RNTester/js/examples/TextInput/TextInputExample.android.js +0 -424
- package/RNTester/js/examples/TextInput/TextInputExample.ios.js +0 -710
- package/RNTester/js/examples/TextInput/TextInputSharedExamples.js +0 -618
- package/RNTester/js/examples/Timer/TimerExample.js +0 -373
- package/RNTester/js/examples/ToastAndroid/ToastAndroidExample.android.js +0 -136
- package/RNTester/js/examples/Touchable/TouchableExample.js +0 -664
- package/RNTester/js/examples/Transform/TransformExample.js +0 -336
- package/RNTester/js/examples/TransparentHitTest/TransparentHitTestExample.js +0 -50
- package/RNTester/js/examples/TurboModule/SampleTurboModuleExample.js +0 -190
- package/RNTester/js/examples/TurboModule/TurboModuleExample.js +0 -26
- package/RNTester/js/examples/Vibration/VibrationExample.js +0 -127
- package/RNTester/js/examples/View/ViewExample.js +0 -471
- package/RNTester/js/examples/WebSocket/WebSocketExample.js +0 -356
- package/RNTester/js/examples/WebSocket/http_test_server.js +0 -33
- package/RNTester/js/examples/WebSocket/websocket_test_server.js +0 -46
- package/RNTester/js/examples/XHR/XHRExample.js +0 -62
- package/RNTester/js/examples/XHR/XHRExampleAbortController.js +0 -58
- package/RNTester/js/examples/XHR/XHRExampleBinaryUpload.js +0 -149
- package/RNTester/js/examples/XHR/XHRExampleDownload.js +0 -242
- package/RNTester/js/examples/XHR/XHRExampleFetch.js +0 -133
- package/RNTester/js/examples/XHR/XHRExampleHeaders.js +0 -114
- package/RNTester/js/examples/XHR/XHRExampleOnTimeOut.js +0 -99
- package/RNTester/js/types/RNTesterTypes.js +0 -47
- package/RNTester/js/utils/RNTesterActions.js +0 -53
- package/RNTester/js/utils/RNTesterList.android.js +0 -257
- package/RNTester/js/utils/RNTesterList.ios.js +0 -366
- package/RNTester/js/utils/RNTesterList.win32.js +0 -240
- package/RNTester/js/utils/RNTesterNavigationReducer.js +0 -49
- package/RNTester/js/utils/RNTesterStatePersister.js +0 -86
- package/RNTester/js/utils/URIActionMap.js +0 -48
- package/api-extractor.json +0 -25
- package/demo/DocPagePropsList.d.ts +0 -18
- package/demo/DocPagePropsList.js +0 -7
- package/demo/DocPagePropsList.js.map +0 -1
- package/docs/api/index.md +0 -12
- package/docs/api/react-native-win32.accessibilityactionevent.md +0 -13
- package/docs/api/react-native-win32.accessibilityactioninfo.md +0 -14
- package/docs/api/react-native-win32.accessibilityactionname.md +0 -11
- package/docs/api/react-native-win32.accessibilityannotationinfo.md +0 -16
- package/docs/api/react-native-win32.accessibilitystate.md +0 -14
- package/docs/api/react-native-win32.annotationtype.md +0 -11
- package/docs/api/react-native-win32.ariarole.md +0 -11
- package/docs/api/react-native-win32.basepropswin32.md +0 -17
- package/docs/api/react-native-win32.buttonwin32._constructor_.md +0 -20
- package/docs/api/react-native-win32.buttonwin32.md +0 -27
- package/docs/api/react-native-win32.buttonwin32.render.md +0 -15
- package/docs/api/react-native-win32.buttonwin32omitstyles.md +0 -11
- package/docs/api/react-native-win32.colorgradientwin32.md +0 -15
- package/docs/api/react-native-win32.cursor.md +0 -11
- package/docs/api/react-native-win32.eventphase.md +0 -21
- package/docs/api/react-native-win32.gradientcolorstop.md +0 -16
- package/docs/api/react-native-win32.gradientcolorvaluewin32.md +0 -16
- package/docs/api/react-native-win32.ibuttonwin32props.md +0 -25
- package/docs/api/react-native-win32.ibuttonwin32props.onblur.md +0 -13
- package/docs/api/react-native-win32.ibuttonwin32props.onfocus.md +0 -13
- package/docs/api/react-native-win32.ibuttonwin32props.onmouseenter.md +0 -13
- package/docs/api/react-native-win32.ibuttonwin32props.onmouseleave.md +0 -13
- package/docs/api/react-native-win32.ibuttonwin32props.ontouchend.md +0 -13
- package/docs/api/react-native-win32.ibuttonwin32props.ontouchstart.md +0 -13
- package/docs/api/react-native-win32.ibuttonwin32props.style.md +0 -13
- package/docs/api/react-native-win32.ibuttonwin32style.md +0 -13
- package/docs/api/react-native-win32.ichildasfunction.md +0 -13
- package/docs/api/react-native-win32.idimensions.height.md +0 -11
- package/docs/api/react-native-win32.idimensions.md +0 -21
- package/docs/api/react-native-win32.idimensions.width.md +0 -11
- package/docs/api/react-native-win32.ihandledkeyboardevent.md +0 -11
- package/docs/api/react-native-win32.ikeyboardevent.md +0 -11
- package/docs/api/react-native-win32.inativekeyboardevent.altkey.md +0 -11
- package/docs/api/react-native-win32.inativekeyboardevent.ctrlkey.md +0 -11
- package/docs/api/react-native-win32.inativekeyboardevent.eventphase.md +0 -11
- package/docs/api/react-native-win32.inativekeyboardevent.key.md +0 -11
- package/docs/api/react-native-win32.inativekeyboardevent.md +0 -23
- package/docs/api/react-native-win32.inativekeyboardevent.metakey.md +0 -11
- package/docs/api/react-native-win32.inativekeyboardevent.shiftkey.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.brandiconsource.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.color.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.disabled.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.displayname.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.emailaddress.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.initials.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.md +0 -29
- package/docs/api/react-native-win32.ipersonacoinprops.onerror.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.onload.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.presence.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.size.md +0 -11
- package/docs/api/react-native-win32.ipersonacoinprops.source.md +0 -11
- package/docs/api/react-native-win32.iposition.left.md +0 -11
- package/docs/api/react-native-win32.iposition.md +0 -21
- package/docs/api/react-native-win32.iposition.top.md +0 -11
- package/docs/api/react-native-win32.ipressevent.md +0 -24
- package/docs/api/react-native-win32.ipressinlocation.locationx.md +0 -11
- package/docs/api/react-native-win32.ipressinlocation.locationy.md +0 -11
- package/docs/api/react-native-win32.ipressinlocation.md +0 -23
- package/docs/api/react-native-win32.ipressinlocation.pagex.md +0 -11
- package/docs/api/react-native-win32.ipressinlocation.pagey.md +0 -11
- package/docs/api/react-native-win32.irenderchild.md +0 -13
- package/docs/api/react-native-win32.irenderstyle.md +0 -13
- package/docs/api/react-native-win32.irespondersyntheticevent.md +0 -21
- package/docs/api/react-native-win32.irespondersyntheticevent.touchhistory.md +0 -16
- package/docs/api/react-native-win32.isignal.md +0 -13
- package/docs/api/react-native-win32.istate.md +0 -13
- package/docs/api/react-native-win32.istateconditions.md +0 -15
- package/docs/api/react-native-win32.itextwin32props.md +0 -20
- package/docs/api/react-native-win32.itextwin32props.textstyle.md +0 -25
- package/docs/api/react-native-win32.itextwin32props.tooltip.md +0 -13
- package/docs/api/react-native-win32.itouchablewin32props.children.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.disabled.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.filterkeys.md +0 -13
- package/docs/api/react-native-win32.itouchablewin32props.md +0 -36
- package/docs/api/react-native-win32.itouchablewin32props.onlongpress.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.rejectrespondertermination.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.renderstyle.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablegethighlightdelayms.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablegethitslop.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablegetlongpressdelayms.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressoutdelayms.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressrectoffset.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressin.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressout.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypress.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypressdown.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablehandlelongpress.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchablehandlepress.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32props.touchsounddisabled.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32state.isfocused.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32state.ishovered.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32state.ispressed.md +0 -11
- package/docs/api/react-native-win32.itouchablewin32state.md +0 -20
- package/docs/api/react-native-win32.itouchinfo.currentpagex.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.currentpagey.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.currenttimestamp.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.md +0 -29
- package/docs/api/react-native-win32.itouchinfo.previouspagex.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.previouspagey.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.previoustimestamp.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.startpagex.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.startpagey.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.starttimestamp.md +0 -11
- package/docs/api/react-native-win32.itouchinfo.touchactive.md +0 -11
- package/docs/api/react-native-win32.itransitions.md +0 -15
- package/docs/api/react-native-win32.iviewwin32.focus.md +0 -11
- package/docs/api/react-native-win32.iviewwin32.md +0 -18
- package/docs/api/react-native-win32.iviewwin32props.acceptskeyboardfocus.md +0 -16
- package/docs/api/react-native-win32.iviewwin32props.accessibilityactions.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.accessibilityannotation.md +0 -15
- package/docs/api/react-native-win32.iviewwin32props.accessibilitylevel.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.accessibilitypositioninset.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.accessibilitysetsize.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.animationclass.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.children.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.cursor.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.focusable.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.keydownevents.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.keyupevents.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.md +0 -44
- package/docs/api/react-native-win32.iviewwin32props.onblur.md +0 -15
- package/docs/api/react-native-win32.iviewwin32props.onblurcapture.md +0 -15
- package/docs/api/react-native-win32.iviewwin32props.onfocus.md +0 -15
- package/docs/api/react-native-win32.iviewwin32props.onfocuscapture.md +0 -15
- package/docs/api/react-native-win32.iviewwin32props.onkeydown.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.onkeydowncapture.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.onkeyup.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.onkeyupcapture.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.onmouseenter.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.onmouseleave.md +0 -11
- package/docs/api/react-native-win32.iviewwin32props.tooltip.md +0 -13
- package/docs/api/react-native-win32.iviewwin32props.type.md +0 -11
- package/docs/api/react-native-win32.md +0 -85
- package/docs/api/react-native-win32.omittedaccessibilitypropswin32.md +0 -15
- package/docs/api/react-native-win32.personacoin.md +0 -11
- package/docs/api/react-native-win32.personacoinpresence.md +0 -25
- package/docs/api/react-native-win32.personacoinsize.md +0 -23
- package/docs/api/react-native-win32.sharedaccessibilitypropsiosandwin32.md +0 -13
- package/docs/api/react-native-win32.textstyle.md +0 -13
- package/docs/api/react-native-win32.textwin32._constructor_.md +0 -20
- package/docs/api/react-native-win32.textwin32.md +0 -25
- package/docs/api/react-native-win32.textwin32.render.md +0 -15
- package/docs/api/react-native-win32.textwin32omittypes.md +0 -11
- package/docs/api/react-native-win32.touchablewin32._constructor_.md +0 -20
- package/docs/api/react-native-win32.touchablewin32.componentwillunmount.md +0 -15
- package/docs/api/react-native-win32.touchablewin32.focus.md +0 -11
- package/docs/api/react-native-win32.touchablewin32.md +0 -34
- package/docs/api/react-native-win32.touchablewin32.render.md +0 -15
- package/docs/api/react-native-win32.usefrom.md +0 -13
- package/docs/api/react-native-win32.viewwin32.md +0 -11
- package/docs/api/react-native-win32.viewwin32omittypes.md +0 -11
- package/etc/react-native-win32.api.md +0 -481
- package/flow/Promise.js +0 -47
- package/flow/fbjs.js +0 -258
- package/flow/use-subscription.js +0 -19
- package/jest/preprocessor.js +0 -120
- package/typings-index.d.ts +0 -20
- package/typings-index.js +0 -40
|
@@ -1,54 +1,67 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @flow
|
|
7
|
+
* @flow strict-local
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
const DeprecatedTextInputPropTypes = require('../../DeprecatedPropTypes/DeprecatedTextInputPropTypes');
|
|
14
|
-
const Platform = require('../../Utilities/Platform');
|
|
15
|
-
const React = require('react');
|
|
16
|
-
const ReactNative = require('../../Renderer/shims/ReactNative');
|
|
17
|
-
const StyleSheet = require('../../StyleSheet/StyleSheet');
|
|
18
|
-
const Text = require('../../Text/Text');
|
|
19
|
-
const TextAncestor = require('../../Text/TextAncestor');
|
|
20
|
-
const TextInputState = require('./TextInputState');
|
|
21
|
-
const TouchableWithoutFeedback = require('../Touchable/TouchableWithoutFeedback');
|
|
22
|
-
|
|
23
|
-
const invariant = require('invariant');
|
|
24
|
-
const nullthrows = require('nullthrows');
|
|
25
|
-
const setAndForwardRef = require('../../Utilities/setAndForwardRef');
|
|
26
|
-
|
|
27
|
-
import type {TextStyleProp, ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
28
|
-
import type {ColorValue} from '../../StyleSheet/StyleSheetTypes';
|
|
29
|
-
import type {ViewProps} from '../View/ViewPropTypes';
|
|
30
|
-
import type {SyntheticEvent, ScrollEvent} from '../../Types/CoreEventTypes';
|
|
31
|
-
import type {PressEvent} from '../../Types/CoreEventTypes';
|
|
32
11
|
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
33
|
-
|
|
34
|
-
|
|
12
|
+
import type {
|
|
13
|
+
PressEvent,
|
|
14
|
+
ScrollEvent,
|
|
15
|
+
SyntheticEvent,
|
|
16
|
+
} from '../../Types/CoreEventTypes';
|
|
17
|
+
import type {ViewProps} from '../View/ViewPropTypes';
|
|
18
|
+
import type {TextInputType} from './TextInput.flow';
|
|
19
|
+
|
|
20
|
+
import usePressability from '../../Pressability/usePressability';
|
|
21
|
+
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
22
|
+
import StyleSheet, {
|
|
23
|
+
type ColorValue,
|
|
24
|
+
type TextStyleProp,
|
|
25
|
+
type ViewStyleProp,
|
|
26
|
+
} from '../../StyleSheet/StyleSheet';
|
|
27
|
+
import Text from '../../Text/Text';
|
|
28
|
+
import TextAncestor from '../../Text/TextAncestor';
|
|
29
|
+
import Platform from '../../Utilities/Platform';
|
|
30
|
+
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
31
|
+
import TextInputState from './TextInputState';
|
|
32
|
+
import invariant from 'invariant';
|
|
33
|
+
import nullthrows from 'nullthrows';
|
|
34
|
+
import * as React from 'react';
|
|
35
|
+
import {useCallback, useLayoutEffect, useRef, useState} from 'react';
|
|
35
36
|
|
|
36
37
|
type ReactRefSetter<T> = {current: null | T, ...} | ((ref: null | T) => mixed);
|
|
38
|
+
type TextInputInstance = React.ElementRef<HostComponent<mixed>> & {
|
|
39
|
+
+clear: () => void,
|
|
40
|
+
+isFocused: () => boolean,
|
|
41
|
+
+getNativeRef: () => ?React.ElementRef<HostComponent<mixed>>,
|
|
42
|
+
+setSelection: (start: number, end: number) => void,
|
|
43
|
+
};
|
|
37
44
|
|
|
38
45
|
let AndroidTextInput;
|
|
39
46
|
let AndroidTextInputCommands;
|
|
40
|
-
let RCTMultilineTextInputView;
|
|
41
47
|
let RCTSinglelineTextInputView;
|
|
48
|
+
let RCTSinglelineTextInputNativeCommands;
|
|
49
|
+
let RCTMultilineTextInputView;
|
|
50
|
+
let RCTMultilineTextInputNativeCommands;
|
|
42
51
|
|
|
43
52
|
if (Platform.OS === 'android') {
|
|
44
53
|
AndroidTextInput = require('./AndroidTextInputNativeComponent').default;
|
|
45
|
-
AndroidTextInputCommands =
|
|
46
|
-
.Commands;
|
|
54
|
+
AndroidTextInputCommands =
|
|
55
|
+
require('./AndroidTextInputNativeComponent').Commands;
|
|
47
56
|
} else if (Platform.OS === 'ios') {
|
|
48
|
-
|
|
49
|
-
.default;
|
|
50
|
-
|
|
51
|
-
.
|
|
57
|
+
RCTSinglelineTextInputView =
|
|
58
|
+
require('./RCTSingelineTextInputNativeComponent').default;
|
|
59
|
+
RCTSinglelineTextInputNativeCommands =
|
|
60
|
+
require('./RCTSingelineTextInputNativeComponent').Commands;
|
|
61
|
+
RCTMultilineTextInputView =
|
|
62
|
+
require('./RCTMultilineTextInputNativeComponent').default;
|
|
63
|
+
RCTMultilineTextInputNativeCommands =
|
|
64
|
+
require('./RCTMultilineTextInputNativeComponent').Commands;
|
|
52
65
|
}
|
|
53
66
|
|
|
54
67
|
export type ChangeEvent = SyntheticEvent<
|
|
@@ -124,6 +137,9 @@ type DataDetectorTypesType =
|
|
|
124
137
|
| 'link'
|
|
125
138
|
| 'address'
|
|
126
139
|
| 'calendarEvent'
|
|
140
|
+
| 'trackingNumber'
|
|
141
|
+
| 'flightNumber'
|
|
142
|
+
| 'lookupSuggestion'
|
|
127
143
|
| 'none'
|
|
128
144
|
| 'all';
|
|
129
145
|
|
|
@@ -135,10 +151,10 @@ export type KeyboardType =
|
|
|
135
151
|
| 'phone-pad'
|
|
136
152
|
| 'number-pad'
|
|
137
153
|
| 'decimal-pad'
|
|
154
|
+
| 'url'
|
|
138
155
|
// iOS-only
|
|
139
156
|
| 'ascii-capable'
|
|
140
157
|
| 'numbers-and-punctuation'
|
|
141
|
-
| 'url'
|
|
142
158
|
| 'name-phone-pad'
|
|
143
159
|
| 'twitter'
|
|
144
160
|
| 'web-search'
|
|
@@ -147,6 +163,16 @@ export type KeyboardType =
|
|
|
147
163
|
// Android-only
|
|
148
164
|
| 'visible-password';
|
|
149
165
|
|
|
166
|
+
export type InputMode =
|
|
167
|
+
| 'none'
|
|
168
|
+
| 'text'
|
|
169
|
+
| 'decimal'
|
|
170
|
+
| 'numeric'
|
|
171
|
+
| 'tel'
|
|
172
|
+
| 'search'
|
|
173
|
+
| 'email'
|
|
174
|
+
| 'url';
|
|
175
|
+
|
|
150
176
|
export type ReturnKeyType =
|
|
151
177
|
// Cross Platform
|
|
152
178
|
| 'done'
|
|
@@ -165,6 +191,8 @@ export type ReturnKeyType =
|
|
|
165
191
|
| 'route'
|
|
166
192
|
| 'yahoo';
|
|
167
193
|
|
|
194
|
+
export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
|
|
195
|
+
|
|
168
196
|
export type AutoCapitalize = 'none' | 'sentences' | 'words' | 'characters';
|
|
169
197
|
|
|
170
198
|
export type TextContentType =
|
|
@@ -175,6 +203,15 @@ export type TextContentType =
|
|
|
175
203
|
| 'addressState'
|
|
176
204
|
| 'countryName'
|
|
177
205
|
| 'creditCardNumber'
|
|
206
|
+
| 'creditCardExpiration'
|
|
207
|
+
| 'creditCardExpirationMonth'
|
|
208
|
+
| 'creditCardExpirationYear'
|
|
209
|
+
| 'creditCardSecurityCode'
|
|
210
|
+
| 'creditCardType'
|
|
211
|
+
| 'creditCardName'
|
|
212
|
+
| 'creditCardGivenName'
|
|
213
|
+
| 'creditCardMiddleName'
|
|
214
|
+
| 'creditCardFamilyName'
|
|
178
215
|
| 'emailAddress'
|
|
179
216
|
| 'familyName'
|
|
180
217
|
| 'fullStreetAddress'
|
|
@@ -195,31 +232,27 @@ export type TextContentType =
|
|
|
195
232
|
| 'username'
|
|
196
233
|
| 'password'
|
|
197
234
|
| 'newPassword'
|
|
198
|
-
| 'oneTimeCode'
|
|
235
|
+
| 'oneTimeCode'
|
|
236
|
+
| 'birthdate'
|
|
237
|
+
| 'birthdateDay'
|
|
238
|
+
| 'birthdateMonth'
|
|
239
|
+
| 'birthdateYear';
|
|
240
|
+
|
|
241
|
+
export type enterKeyHintType =
|
|
242
|
+
// Cross Platform
|
|
243
|
+
| 'done'
|
|
244
|
+
| 'go'
|
|
245
|
+
| 'next'
|
|
246
|
+
| 'search'
|
|
247
|
+
| 'send'
|
|
248
|
+
// Android-only
|
|
249
|
+
| 'previous'
|
|
250
|
+
// iOS-only
|
|
251
|
+
| 'enter';
|
|
199
252
|
|
|
200
253
|
type PasswordRules = string;
|
|
201
254
|
|
|
202
255
|
type IOSProps = $ReadOnly<{|
|
|
203
|
-
/**
|
|
204
|
-
* If `false`, disables spell-check style (i.e. red underlines).
|
|
205
|
-
* The default value is inherited from `autoCorrect`.
|
|
206
|
-
* @platform ios
|
|
207
|
-
*/
|
|
208
|
-
spellCheck?: ?boolean,
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Determines the color of the keyboard.
|
|
212
|
-
* @platform ios
|
|
213
|
-
*/
|
|
214
|
-
keyboardAppearance?: ?('default' | 'light' | 'dark'),
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* If `true`, the keyboard disables the return key when there is no text and
|
|
218
|
-
* automatically enables it when there is text. The default value is `false`.
|
|
219
|
-
* @platform ios
|
|
220
|
-
*/
|
|
221
|
-
enablesReturnKeyAutomatically?: ?boolean,
|
|
222
|
-
|
|
223
256
|
/**
|
|
224
257
|
* When the clear button should appear on the right side of the text view.
|
|
225
258
|
* This property is supported only for single-line TextInput component.
|
|
@@ -255,6 +288,13 @@ type IOSProps = $ReadOnly<{|
|
|
|
255
288
|
| ?DataDetectorTypesType
|
|
256
289
|
| $ReadOnlyArray<DataDetectorTypesType>,
|
|
257
290
|
|
|
291
|
+
/**
|
|
292
|
+
* If `true`, the keyboard disables the return key when there is no text and
|
|
293
|
+
* automatically enables it when there is text. The default value is `false`.
|
|
294
|
+
* @platform ios
|
|
295
|
+
*/
|
|
296
|
+
enablesReturnKeyAutomatically?: ?boolean,
|
|
297
|
+
|
|
258
298
|
/**
|
|
259
299
|
* An optional identifier which links a custom InputAccessoryView to
|
|
260
300
|
* this text input. The InputAccessoryView is rendered above the
|
|
@@ -264,11 +304,10 @@ type IOSProps = $ReadOnly<{|
|
|
|
264
304
|
inputAccessoryViewID?: ?string,
|
|
265
305
|
|
|
266
306
|
/**
|
|
267
|
-
*
|
|
268
|
-
* expected semantic meaning for the content that users enter.
|
|
307
|
+
* Determines the color of the keyboard.
|
|
269
308
|
* @platform ios
|
|
270
309
|
*/
|
|
271
|
-
|
|
310
|
+
keyboardAppearance?: ?('default' | 'light' | 'dark'),
|
|
272
311
|
|
|
273
312
|
/**
|
|
274
313
|
* Provide rules for your password.
|
|
@@ -293,61 +332,49 @@ type IOSProps = $ReadOnly<{|
|
|
|
293
332
|
* @platform ios
|
|
294
333
|
*/
|
|
295
334
|
scrollEnabled?: ?boolean,
|
|
296
|
-
|}>;
|
|
297
335
|
|
|
298
|
-
type AndroidProps = $ReadOnly<{|
|
|
299
336
|
/**
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
* *Android Only*
|
|
304
|
-
*
|
|
305
|
-
* The following values work on Android only:
|
|
306
|
-
*
|
|
307
|
-
* - `username`
|
|
308
|
-
* - `password`
|
|
309
|
-
* - `email`
|
|
310
|
-
* - `name`
|
|
311
|
-
* - `tel`
|
|
312
|
-
* - `street-address`
|
|
313
|
-
* - `postal-code`
|
|
314
|
-
* - `cc-number`
|
|
315
|
-
* - `cc-csc`
|
|
316
|
-
* - `cc-exp`
|
|
317
|
-
* - `cc-exp-month`
|
|
318
|
-
* - `cc-exp-year`
|
|
319
|
-
* - `off`
|
|
320
|
-
*
|
|
321
|
-
* @platform android
|
|
337
|
+
* If `false`, disables spell-check style (i.e. red underlines).
|
|
338
|
+
* The default value is inherited from `autoCorrect`.
|
|
339
|
+
* @platform ios
|
|
322
340
|
*/
|
|
323
|
-
|
|
324
|
-
| 'cc-csc'
|
|
325
|
-
| 'cc-exp'
|
|
326
|
-
| 'cc-exp-month'
|
|
327
|
-
| 'cc-exp-year'
|
|
328
|
-
| 'cc-number'
|
|
329
|
-
| 'email'
|
|
330
|
-
| 'name'
|
|
331
|
-
| 'password'
|
|
332
|
-
| 'postal-code'
|
|
333
|
-
| 'street-address'
|
|
334
|
-
| 'tel'
|
|
335
|
-
| 'username'
|
|
336
|
-
| 'off'
|
|
337
|
-
),
|
|
341
|
+
spellCheck?: ?boolean,
|
|
338
342
|
|
|
339
343
|
/**
|
|
340
|
-
*
|
|
341
|
-
*
|
|
344
|
+
* Give the keyboard and the system information about the
|
|
345
|
+
* expected semantic meaning for the content that users enter.
|
|
346
|
+
* `autoComplete` property accomplishes same behavior and is recommended as its supported by both platforms.
|
|
347
|
+
* Avoid using both `autoComplete` and `textContentType`, you can use `Platform.select` for differing platform behaviors.
|
|
348
|
+
* For backwards compatibility, when both set, `textContentType` takes precedence on iOS.
|
|
349
|
+
* @platform ios
|
|
342
350
|
*/
|
|
343
|
-
|
|
351
|
+
textContentType?: ?TextContentType,
|
|
344
352
|
|
|
345
353
|
/**
|
|
346
|
-
*
|
|
347
|
-
*
|
|
354
|
+
* Set line break strategy on iOS.
|
|
355
|
+
* @platform ios
|
|
356
|
+
*/
|
|
357
|
+
lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
361
|
+
* neither delete one or two spaces after a cut or delete operation.
|
|
362
|
+
*
|
|
363
|
+
* The default value is `true`.
|
|
364
|
+
*
|
|
365
|
+
* @platform ios
|
|
366
|
+
*/
|
|
367
|
+
smartInsertDelete?: ?boolean,
|
|
368
|
+
|}>;
|
|
369
|
+
|
|
370
|
+
type AndroidProps = $ReadOnly<{|
|
|
371
|
+
/**
|
|
372
|
+
* When provided it will set the color of the cursor (or "caret") in the component.
|
|
373
|
+
* Unlike the behavior of `selectionColor` the cursor color will be set independently
|
|
374
|
+
* from the color of the text selection box.
|
|
348
375
|
* @platform android
|
|
349
376
|
*/
|
|
350
|
-
|
|
377
|
+
cursorColor?: ?ColorValue,
|
|
351
378
|
|
|
352
379
|
/**
|
|
353
380
|
* When `false`, if there is a small amount of space available around a text input
|
|
@@ -359,18 +386,13 @@ type AndroidProps = $ReadOnly<{|
|
|
|
359
386
|
*/
|
|
360
387
|
disableFullscreenUI?: ?boolean,
|
|
361
388
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* The color of the `TextInput` underline.
|
|
371
|
-
* @platform android
|
|
372
|
-
*/
|
|
373
|
-
underlineColorAndroid?: ?ColorValue,
|
|
389
|
+
importantForAutofill?: ?(
|
|
390
|
+
| 'auto'
|
|
391
|
+
| 'no'
|
|
392
|
+
| 'noExcludeDescendants'
|
|
393
|
+
| 'yes'
|
|
394
|
+
| 'yesExcludeDescendants'
|
|
395
|
+
),
|
|
374
396
|
|
|
375
397
|
/**
|
|
376
398
|
* If defined, the provided image resource will be rendered on the left.
|
|
@@ -391,20 +413,44 @@ type AndroidProps = $ReadOnly<{|
|
|
|
391
413
|
*/
|
|
392
414
|
inlineImagePadding?: ?number,
|
|
393
415
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
416
|
+
/**
|
|
417
|
+
* Sets the number of lines for a `TextInput`. Use it with multiline set to
|
|
418
|
+
* `true` to be able to fill the lines.
|
|
419
|
+
* @platform android
|
|
420
|
+
*/
|
|
421
|
+
numberOfLines?: ?number,
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Sets the return key to the label. Use it instead of `returnKeyType`.
|
|
425
|
+
* @platform android
|
|
426
|
+
*/
|
|
427
|
+
returnKeyLabel?: ?string,
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Sets the number of rows for a `TextInput`. Use it with multiline set to
|
|
431
|
+
* `true` to be able to fill the lines.
|
|
432
|
+
* @platform android
|
|
433
|
+
*/
|
|
434
|
+
rows?: ?number,
|
|
401
435
|
|
|
402
436
|
/**
|
|
403
437
|
* When `false`, it will prevent the soft keyboard from showing when the field is focused.
|
|
404
438
|
* Defaults to `true`.
|
|
405
|
-
* @platform android
|
|
406
439
|
*/
|
|
407
440
|
showSoftInputOnFocus?: ?boolean,
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
* Set text break strategy on Android API Level 23+, possible values are `simple`, `highQuality`, `balanced`
|
|
444
|
+
* The default value is `simple`.
|
|
445
|
+
* @platform android
|
|
446
|
+
*/
|
|
447
|
+
textBreakStrategy?: ?('simple' | 'highQuality' | 'balanced'),
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* The color of the `TextInput` underline.
|
|
451
|
+
* @platform android
|
|
452
|
+
*/
|
|
453
|
+
underlineColorAndroid?: ?ColorValue,
|
|
408
454
|
|}>;
|
|
409
455
|
|
|
410
456
|
export type Props = $ReadOnly<{|
|
|
@@ -422,6 +468,137 @@ export type Props = $ReadOnly<{|
|
|
|
422
468
|
*/
|
|
423
469
|
autoCapitalize?: ?AutoCapitalize,
|
|
424
470
|
|
|
471
|
+
/**
|
|
472
|
+
* Specifies autocomplete hints for the system, so it can provide autofill.
|
|
473
|
+
* On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
474
|
+
* To disable autocomplete, set autoComplete to off.
|
|
475
|
+
*
|
|
476
|
+
* The following values work across platforms:
|
|
477
|
+
*
|
|
478
|
+
* - `additional-name`
|
|
479
|
+
* - `address-line1`
|
|
480
|
+
* - `address-line2`
|
|
481
|
+
* - `birthdate-day` (iOS 17+)
|
|
482
|
+
* - `birthdate-full` (iOS 17+)
|
|
483
|
+
* - `birthdate-month` (iOS 17+)
|
|
484
|
+
* - `birthdate-year` (iOS 17+)
|
|
485
|
+
* - `cc-number`
|
|
486
|
+
* - `cc-csc` (iOS 17+)
|
|
487
|
+
* - `cc-exp` (iOS 17+)
|
|
488
|
+
* - `cc-exp-day` (iOS 17+)
|
|
489
|
+
* - `cc-exp-month` (iOS 17+)
|
|
490
|
+
* - `cc-exp-year` (iOS 17+)
|
|
491
|
+
* - `country`
|
|
492
|
+
* - `current-password`
|
|
493
|
+
* - `email`
|
|
494
|
+
* - `family-name`
|
|
495
|
+
* - `given-name`
|
|
496
|
+
* - `honorific-prefix`
|
|
497
|
+
* - `honorific-suffix`
|
|
498
|
+
* - `name`
|
|
499
|
+
* - `new-password`
|
|
500
|
+
* - `off`
|
|
501
|
+
* - `one-time-code`
|
|
502
|
+
* - `postal-code`
|
|
503
|
+
* - `street-address`
|
|
504
|
+
* - `tel`
|
|
505
|
+
* - `username`
|
|
506
|
+
*
|
|
507
|
+
* The following values work on iOS only:
|
|
508
|
+
*
|
|
509
|
+
* - `cc-name` (iOS 17+)
|
|
510
|
+
* - `cc-given-name` (iOS 17+)
|
|
511
|
+
* - `cc-middle-name` (iOS 17+)
|
|
512
|
+
* - `cc-family-name` (iOS 17+)
|
|
513
|
+
* - `cc-type` (iOS 17+)
|
|
514
|
+
* - `nickname`
|
|
515
|
+
* - `organization`
|
|
516
|
+
* - `organization-title`
|
|
517
|
+
* - `url`
|
|
518
|
+
*
|
|
519
|
+
* The following values work on Android only:
|
|
520
|
+
*
|
|
521
|
+
* - `gender`
|
|
522
|
+
* - `name-family`
|
|
523
|
+
* - `name-given`
|
|
524
|
+
* - `name-middle`
|
|
525
|
+
* - `name-middle-initial`
|
|
526
|
+
* - `name-prefix`
|
|
527
|
+
* - `name-suffix`
|
|
528
|
+
* - `password`
|
|
529
|
+
* - `password-new`
|
|
530
|
+
* - `postal-address`
|
|
531
|
+
* - `postal-address-country`
|
|
532
|
+
* - `postal-address-extended`
|
|
533
|
+
* - `postal-address-extended-postal-code`
|
|
534
|
+
* - `postal-address-locality`
|
|
535
|
+
* - `postal-address-region`
|
|
536
|
+
* - `sms-otp`
|
|
537
|
+
* - `tel-country-code`
|
|
538
|
+
* - `tel-national`
|
|
539
|
+
* - `tel-device`
|
|
540
|
+
* - `username-new`
|
|
541
|
+
*/
|
|
542
|
+
autoComplete?: ?(
|
|
543
|
+
| 'additional-name'
|
|
544
|
+
| 'address-line1'
|
|
545
|
+
| 'address-line2'
|
|
546
|
+
| 'birthdate-day'
|
|
547
|
+
| 'birthdate-full'
|
|
548
|
+
| 'birthdate-month'
|
|
549
|
+
| 'birthdate-year'
|
|
550
|
+
| 'cc-csc'
|
|
551
|
+
| 'cc-exp'
|
|
552
|
+
| 'cc-exp-day'
|
|
553
|
+
| 'cc-exp-month'
|
|
554
|
+
| 'cc-exp-year'
|
|
555
|
+
| 'cc-number'
|
|
556
|
+
| 'cc-name'
|
|
557
|
+
| 'cc-given-name'
|
|
558
|
+
| 'cc-middle-name'
|
|
559
|
+
| 'cc-family-name'
|
|
560
|
+
| 'cc-type'
|
|
561
|
+
| 'country'
|
|
562
|
+
| 'current-password'
|
|
563
|
+
| 'email'
|
|
564
|
+
| 'family-name'
|
|
565
|
+
| 'gender'
|
|
566
|
+
| 'given-name'
|
|
567
|
+
| 'honorific-prefix'
|
|
568
|
+
| 'honorific-suffix'
|
|
569
|
+
| 'name'
|
|
570
|
+
| 'name-family'
|
|
571
|
+
| 'name-given'
|
|
572
|
+
| 'name-middle'
|
|
573
|
+
| 'name-middle-initial'
|
|
574
|
+
| 'name-prefix'
|
|
575
|
+
| 'name-suffix'
|
|
576
|
+
| 'new-password'
|
|
577
|
+
| 'nickname'
|
|
578
|
+
| 'one-time-code'
|
|
579
|
+
| 'organization'
|
|
580
|
+
| 'organization-title'
|
|
581
|
+
| 'password'
|
|
582
|
+
| 'password-new'
|
|
583
|
+
| 'postal-address'
|
|
584
|
+
| 'postal-address-country'
|
|
585
|
+
| 'postal-address-extended'
|
|
586
|
+
| 'postal-address-extended-postal-code'
|
|
587
|
+
| 'postal-address-locality'
|
|
588
|
+
| 'postal-address-region'
|
|
589
|
+
| 'postal-code'
|
|
590
|
+
| 'street-address'
|
|
591
|
+
| 'sms-otp'
|
|
592
|
+
| 'tel'
|
|
593
|
+
| 'tel-country-code'
|
|
594
|
+
| 'tel-national'
|
|
595
|
+
| 'tel-device'
|
|
596
|
+
| 'url'
|
|
597
|
+
| 'username'
|
|
598
|
+
| 'username-new'
|
|
599
|
+
| 'off'
|
|
600
|
+
),
|
|
601
|
+
|
|
425
602
|
/**
|
|
426
603
|
* If `false`, disables auto-correct. The default value is `true`.
|
|
427
604
|
*/
|
|
@@ -440,19 +617,67 @@ export type Props = $ReadOnly<{|
|
|
|
440
617
|
allowFontScaling?: ?boolean,
|
|
441
618
|
|
|
442
619
|
/**
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
*
|
|
446
|
-
*
|
|
447
|
-
*
|
|
620
|
+
* If `true`, caret is hidden. The default value is `false`.
|
|
621
|
+
*
|
|
622
|
+
* On Android devices manufactured by Xiaomi with Android Q,
|
|
623
|
+
* when keyboardType equals 'email-address'this will be set
|
|
624
|
+
* in native to 'true' to prevent a system related crash. This
|
|
625
|
+
* will cause cursor to be disabled as a side-effect.
|
|
626
|
+
*
|
|
448
627
|
*/
|
|
449
|
-
|
|
628
|
+
caretHidden?: ?boolean,
|
|
629
|
+
|
|
630
|
+
/*
|
|
631
|
+
* If `true`, contextMenuHidden is hidden. The default value is `false`.
|
|
632
|
+
*/
|
|
633
|
+
contextMenuHidden?: ?boolean,
|
|
634
|
+
|
|
635
|
+
/**
|
|
636
|
+
* Provides an initial value that will change when the user starts typing.
|
|
637
|
+
* Useful for simple use-cases where you do not want to deal with listening
|
|
638
|
+
* to events and updating the value prop to keep the controlled state in sync.
|
|
639
|
+
*/
|
|
640
|
+
defaultValue?: ?Stringish,
|
|
450
641
|
|
|
451
642
|
/**
|
|
452
643
|
* If `false`, text is not editable. The default value is `true`.
|
|
453
644
|
*/
|
|
454
645
|
editable?: ?boolean,
|
|
455
646
|
|
|
647
|
+
forwardedRef?: ?ReactRefSetter<TextInputInstance>,
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* `enterKeyHint` defines what action label (or icon) to present for the enter key on virtual keyboards.
|
|
651
|
+
*
|
|
652
|
+
* The following values is supported:
|
|
653
|
+
*
|
|
654
|
+
* - `enter`
|
|
655
|
+
* - `done`
|
|
656
|
+
* - `go`
|
|
657
|
+
* - `next`
|
|
658
|
+
* - `previous`
|
|
659
|
+
* - `search`
|
|
660
|
+
* - `send`
|
|
661
|
+
*/
|
|
662
|
+
enterKeyHint?: ?enterKeyHintType,
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* `inputMode` works like the `inputmode` attribute in HTML, it determines which
|
|
666
|
+
* keyboard to open, e.g.`numeric` and has precedence over keyboardType
|
|
667
|
+
*
|
|
668
|
+
* Support the following values:
|
|
669
|
+
*
|
|
670
|
+
* - `none`
|
|
671
|
+
* - `text`
|
|
672
|
+
* - `decimal`
|
|
673
|
+
* - `numeric`
|
|
674
|
+
* - `tel`
|
|
675
|
+
* - `search`
|
|
676
|
+
* - `email`
|
|
677
|
+
* - `url`
|
|
678
|
+
*/
|
|
679
|
+
inputMode?: ?InputMode,
|
|
680
|
+
|
|
456
681
|
/**
|
|
457
682
|
* Determines which keyboard to open, e.g.`numeric`.
|
|
458
683
|
*
|
|
@@ -464,6 +689,7 @@ export type Props = $ReadOnly<{|
|
|
|
464
689
|
* - `decimal-pad`
|
|
465
690
|
* - `email-address`
|
|
466
691
|
* - `phone-pad`
|
|
692
|
+
* - `url`
|
|
467
693
|
*
|
|
468
694
|
* *iOS Only*
|
|
469
695
|
*
|
|
@@ -471,7 +697,6 @@ export type Props = $ReadOnly<{|
|
|
|
471
697
|
*
|
|
472
698
|
* - `ascii-capable`
|
|
473
699
|
* - `numbers-and-punctuation`
|
|
474
|
-
* - `url`
|
|
475
700
|
* - `name-phone-pad`
|
|
476
701
|
* - `twitter`
|
|
477
702
|
* - `web-search`
|
|
@@ -481,42 +706,18 @@ export type Props = $ReadOnly<{|
|
|
|
481
706
|
* The following values work on Android only:
|
|
482
707
|
*
|
|
483
708
|
* - `visible-password`
|
|
709
|
+
*
|
|
484
710
|
*/
|
|
485
711
|
keyboardType?: ?KeyboardType,
|
|
486
712
|
|
|
487
713
|
/**
|
|
488
|
-
*
|
|
489
|
-
*
|
|
490
|
-
*
|
|
491
|
-
*
|
|
492
|
-
*
|
|
493
|
-
* The following values work across platforms:
|
|
494
|
-
*
|
|
495
|
-
* - `done`
|
|
496
|
-
* - `go`
|
|
497
|
-
* - `next`
|
|
498
|
-
* - `search`
|
|
499
|
-
* - `send`
|
|
500
|
-
*
|
|
501
|
-
* *Android Only*
|
|
502
|
-
*
|
|
503
|
-
* The following values work on Android only:
|
|
504
|
-
*
|
|
505
|
-
* - `none`
|
|
506
|
-
* - `previous`
|
|
507
|
-
*
|
|
508
|
-
* *iOS Only*
|
|
509
|
-
*
|
|
510
|
-
* The following values work on iOS only:
|
|
511
|
-
*
|
|
512
|
-
* - `default`
|
|
513
|
-
* - `emergency-call`
|
|
514
|
-
* - `google`
|
|
515
|
-
* - `join`
|
|
516
|
-
* - `route`
|
|
517
|
-
* - `yahoo`
|
|
714
|
+
* Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.
|
|
715
|
+
* Possible values:
|
|
716
|
+
* `null/undefined` (default): inherit from the parent node or the global default (0)
|
|
717
|
+
* `0`: no max, ignore parent/global default
|
|
718
|
+
* `>= 1`: sets the maxFontSizeMultiplier of this node to this value
|
|
518
719
|
*/
|
|
519
|
-
|
|
720
|
+
maxFontSizeMultiplier?: ?number,
|
|
520
721
|
|
|
521
722
|
/**
|
|
522
723
|
* Limits the maximum number of characters that can be entered. Use this
|
|
@@ -535,11 +736,6 @@ export type Props = $ReadOnly<{|
|
|
|
535
736
|
*/
|
|
536
737
|
onBlur?: ?(e: BlurEvent) => mixed,
|
|
537
738
|
|
|
538
|
-
/**
|
|
539
|
-
* Callback that is called when the text input is focused.
|
|
540
|
-
*/
|
|
541
|
-
onFocus?: ?(e: FocusEvent) => mixed,
|
|
542
|
-
|
|
543
739
|
/**
|
|
544
740
|
* Callback that is called when the text input's text changes.
|
|
545
741
|
*/
|
|
@@ -565,6 +761,35 @@ export type Props = $ReadOnly<{|
|
|
|
565
761
|
*/
|
|
566
762
|
onEndEditing?: ?(e: EditingEvent) => mixed,
|
|
567
763
|
|
|
764
|
+
/**
|
|
765
|
+
* Callback that is called when the text input is focused.
|
|
766
|
+
*/
|
|
767
|
+
onFocus?: ?(e: FocusEvent) => mixed,
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* Callback that is called when a key is pressed.
|
|
771
|
+
* This will be called with `{ nativeEvent: { key: keyValue } }`
|
|
772
|
+
* where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and
|
|
773
|
+
* the typed-in character otherwise including `' '` for space.
|
|
774
|
+
* Fires before `onChange` callbacks.
|
|
775
|
+
*/
|
|
776
|
+
onKeyPress?: ?(e: KeyPressEvent) => mixed,
|
|
777
|
+
|
|
778
|
+
/**
|
|
779
|
+
* Called when a single tap gesture is detected.
|
|
780
|
+
*/
|
|
781
|
+
onPress?: ?(event: PressEvent) => mixed,
|
|
782
|
+
|
|
783
|
+
/**
|
|
784
|
+
* Called when a touch is engaged.
|
|
785
|
+
*/
|
|
786
|
+
onPressIn?: ?(event: PressEvent) => mixed,
|
|
787
|
+
|
|
788
|
+
/**
|
|
789
|
+
* Called when a touch is released.
|
|
790
|
+
*/
|
|
791
|
+
onPressOut?: ?(event: PressEvent) => mixed,
|
|
792
|
+
|
|
568
793
|
/**
|
|
569
794
|
* Callback that is called when the text input selection is changed.
|
|
570
795
|
* This will be called with
|
|
@@ -578,15 +803,6 @@ export type Props = $ReadOnly<{|
|
|
|
578
803
|
*/
|
|
579
804
|
onSubmitEditing?: ?(e: EditingEvent) => mixed,
|
|
580
805
|
|
|
581
|
-
/**
|
|
582
|
-
* Callback that is called when a key is pressed.
|
|
583
|
-
* This will be called with `{ nativeEvent: { key: keyValue } }`
|
|
584
|
-
* where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and
|
|
585
|
-
* the typed-in character otherwise including `' '` for space.
|
|
586
|
-
* Fires before `onChange` callbacks.
|
|
587
|
-
*/
|
|
588
|
-
onKeyPress?: ?(e: KeyPressEvent) => mixed,
|
|
589
|
-
|
|
590
806
|
/**
|
|
591
807
|
* Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.
|
|
592
808
|
* May also contain other properties from ScrollEvent but on Android contentSize
|
|
@@ -604,16 +820,52 @@ export type Props = $ReadOnly<{|
|
|
|
604
820
|
*/
|
|
605
821
|
placeholderTextColor?: ?ColorValue,
|
|
606
822
|
|
|
823
|
+
/** `readOnly` works like the `readonly` attribute in HTML.
|
|
824
|
+
* If `true`, text is not editable. The default value is `false`.
|
|
825
|
+
* See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly
|
|
826
|
+
* for more details.
|
|
827
|
+
*/
|
|
828
|
+
readOnly?: ?boolean,
|
|
829
|
+
|
|
607
830
|
/**
|
|
608
|
-
*
|
|
609
|
-
*
|
|
831
|
+
* Determines how the return key should look. On Android you can also use
|
|
832
|
+
* `returnKeyLabel`.
|
|
833
|
+
*
|
|
834
|
+
* *Cross platform*
|
|
835
|
+
*
|
|
836
|
+
* The following values work across platforms:
|
|
837
|
+
*
|
|
838
|
+
* - `done`
|
|
839
|
+
* - `go`
|
|
840
|
+
* - `next`
|
|
841
|
+
* - `search`
|
|
842
|
+
* - `send`
|
|
843
|
+
*
|
|
844
|
+
* *Android Only*
|
|
845
|
+
*
|
|
846
|
+
* The following values work on Android only:
|
|
847
|
+
*
|
|
848
|
+
* - `none`
|
|
849
|
+
* - `previous`
|
|
850
|
+
*
|
|
851
|
+
* *iOS Only*
|
|
852
|
+
*
|
|
853
|
+
* The following values work on iOS only:
|
|
854
|
+
*
|
|
855
|
+
* - `default`
|
|
856
|
+
* - `emergency-call`
|
|
857
|
+
* - `google`
|
|
858
|
+
* - `join`
|
|
859
|
+
* - `route`
|
|
860
|
+
* - `yahoo`
|
|
610
861
|
*/
|
|
611
|
-
|
|
862
|
+
returnKeyType?: ?ReturnKeyType,
|
|
612
863
|
|
|
613
864
|
/**
|
|
614
|
-
*
|
|
865
|
+
* If `true`, the text input obscures the text entered so that sensitive text
|
|
866
|
+
* like passwords stay secure. The default value is `false`. Does not work with 'multiline={true}'.
|
|
615
867
|
*/
|
|
616
|
-
|
|
868
|
+
secureTextEntry?: ?boolean,
|
|
617
869
|
|
|
618
870
|
/**
|
|
619
871
|
* The start and end of the text input's selection. Set start and end to
|
|
@@ -625,22 +877,15 @@ export type Props = $ReadOnly<{|
|
|
|
625
877
|
|}>,
|
|
626
878
|
|
|
627
879
|
/**
|
|
628
|
-
* The
|
|
629
|
-
* component, which means the native value will be forced to match this
|
|
630
|
-
* value prop if provided. For most uses, this works great, but in some
|
|
631
|
-
* cases this may cause flickering - one common cause is preventing edits
|
|
632
|
-
* by keeping value the same. In addition to simply setting the same value,
|
|
633
|
-
* either set `editable={false}`, or set/update `maxLength` to prevent
|
|
634
|
-
* unwanted edits without flicker.
|
|
880
|
+
* The highlight and cursor color of the text input.
|
|
635
881
|
*/
|
|
636
|
-
|
|
882
|
+
selectionColor?: ?ColorValue,
|
|
637
883
|
|
|
638
884
|
/**
|
|
639
|
-
*
|
|
640
|
-
*
|
|
641
|
-
* to events and updating the value prop to keep the controlled state in sync.
|
|
885
|
+
* The text selection handle color.
|
|
886
|
+
* @platform android
|
|
642
887
|
*/
|
|
643
|
-
|
|
888
|
+
selectionHandleColor?: ?ColorValue,
|
|
644
889
|
|
|
645
890
|
/**
|
|
646
891
|
* If `true`, all text will automatically be selected on focus.
|
|
@@ -653,9 +898,34 @@ export type Props = $ReadOnly<{|
|
|
|
653
898
|
* multiline fields. Note that for multiline fields, setting `blurOnSubmit`
|
|
654
899
|
* to `true` means that pressing return will blur the field and trigger the
|
|
655
900
|
* `onSubmitEditing` event instead of inserting a newline into the field.
|
|
901
|
+
*
|
|
902
|
+
* @deprecated
|
|
903
|
+
* Note that `submitBehavior` now takes the place of `blurOnSubmit` and will
|
|
904
|
+
* override any behavior defined by `blurOnSubmit`.
|
|
905
|
+
* @see submitBehavior
|
|
656
906
|
*/
|
|
657
907
|
blurOnSubmit?: ?boolean,
|
|
658
908
|
|
|
909
|
+
/**
|
|
910
|
+
* When the return key is pressed,
|
|
911
|
+
*
|
|
912
|
+
* For single line inputs:
|
|
913
|
+
*
|
|
914
|
+
* - `'newline`' defaults to `'blurAndSubmit'`
|
|
915
|
+
* - `undefined` defaults to `'blurAndSubmit'`
|
|
916
|
+
*
|
|
917
|
+
* For multiline inputs:
|
|
918
|
+
*
|
|
919
|
+
* - `'newline'` adds a newline
|
|
920
|
+
* - `undefined` defaults to `'newline'`
|
|
921
|
+
*
|
|
922
|
+
* For both single line and multiline inputs:
|
|
923
|
+
*
|
|
924
|
+
* - `'submit'` will only send a submit event and not blur the input
|
|
925
|
+
* - `'blurAndSubmit`' will both blur the input and send a submit event
|
|
926
|
+
*/
|
|
927
|
+
submitBehavior?: ?SubmitBehavior,
|
|
928
|
+
|
|
659
929
|
/**
|
|
660
930
|
* Note that not all Text styles are supported, an incomplete list of what is not supported includes:
|
|
661
931
|
*
|
|
@@ -676,25 +946,15 @@ export type Props = $ReadOnly<{|
|
|
|
676
946
|
style?: ?TextStyleProp,
|
|
677
947
|
|
|
678
948
|
/**
|
|
679
|
-
*
|
|
680
|
-
*
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
*
|
|
949
|
+
* The value to show for the text input. `TextInput` is a controlled
|
|
950
|
+
* component, which means the native value will be forced to match this
|
|
951
|
+
* value prop if provided. For most uses, this works great, but in some
|
|
952
|
+
* cases this may cause flickering - one common cause is preventing edits
|
|
953
|
+
* by keeping value the same. In addition to simply setting the same value,
|
|
954
|
+
* either set `editable={false}`, or set/update `maxLength` to prevent
|
|
955
|
+
* unwanted edits without flicker.
|
|
686
956
|
*/
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
forwardedRef?: ?ReactRefSetter<
|
|
690
|
-
React.ElementRef<HostComponent<mixed>> & ImperativeMethods,
|
|
691
|
-
>,
|
|
692
|
-
|}>;
|
|
693
|
-
|
|
694
|
-
type ImperativeMethods = $ReadOnly<{|
|
|
695
|
-
clear: () => void,
|
|
696
|
-
isFocused: () => boolean,
|
|
697
|
-
getNativeRef: () => ?React.ElementRef<HostComponent<mixed>>,
|
|
957
|
+
value?: ?Stringish,
|
|
698
958
|
|}>;
|
|
699
959
|
|
|
700
960
|
const emptyFunctionThatReturnsTrue = () => true;
|
|
@@ -753,8 +1013,8 @@ const emptyFunctionThatReturnsTrue = () => true;
|
|
|
753
1013
|
* return (
|
|
754
1014
|
* <TextInput
|
|
755
1015
|
* {...this.props} // Inherit any props passed to it; e.g., multiline, numberOfLines below
|
|
756
|
-
* editable
|
|
757
|
-
* maxLength
|
|
1016
|
+
* editable={true}
|
|
1017
|
+
* maxLength={40}
|
|
758
1018
|
* />
|
|
759
1019
|
* );
|
|
760
1020
|
* }
|
|
@@ -778,8 +1038,8 @@ const emptyFunctionThatReturnsTrue = () => true;
|
|
|
778
1038
|
* borderBottomWidth: 1 }}
|
|
779
1039
|
* >
|
|
780
1040
|
* <UselessTextInput
|
|
781
|
-
* multiline
|
|
782
|
-
* numberOfLines
|
|
1041
|
+
* multiline={true}
|
|
1042
|
+
* numberOfLines={4}
|
|
783
1043
|
* onChangeText={(text) => this.setState({text})}
|
|
784
1044
|
* value={this.state.text}
|
|
785
1045
|
* />
|
|
@@ -811,52 +1071,67 @@ const emptyFunctionThatReturnsTrue = () => true;
|
|
|
811
1071
|
*
|
|
812
1072
|
*/
|
|
813
1073
|
function InternalTextInput(props: Props): React.Node {
|
|
1074
|
+
const {
|
|
1075
|
+
'aria-busy': ariaBusy,
|
|
1076
|
+
'aria-checked': ariaChecked,
|
|
1077
|
+
'aria-disabled': ariaDisabled,
|
|
1078
|
+
'aria-expanded': ariaExpanded,
|
|
1079
|
+
'aria-selected': ariaSelected,
|
|
1080
|
+
accessibilityState,
|
|
1081
|
+
id,
|
|
1082
|
+
tabIndex,
|
|
1083
|
+
selection: propsSelection,
|
|
1084
|
+
selectionColor,
|
|
1085
|
+
selectionHandleColor,
|
|
1086
|
+
cursorColor,
|
|
1087
|
+
...otherProps
|
|
1088
|
+
} = props;
|
|
1089
|
+
|
|
814
1090
|
const inputRef = useRef<null | React.ElementRef<HostComponent<mixed>>>(null);
|
|
815
1091
|
|
|
816
|
-
//
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
// a controlled component will pass in the *previous* selection, even if the controlled
|
|
820
|
-
// component didn't mean to modify the selection at all.
|
|
821
|
-
// Therefore, we ignore selections and pass them through until the selection event has
|
|
822
|
-
// been sent.
|
|
823
|
-
// Note that this mitigation is NOT needed for Fabric.
|
|
824
|
-
let selection: ?Selection =
|
|
825
|
-
props.selection == null
|
|
1092
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1093
|
+
const selection: ?Selection =
|
|
1094
|
+
propsSelection == null
|
|
826
1095
|
? null
|
|
827
1096
|
: {
|
|
828
|
-
start:
|
|
829
|
-
end:
|
|
1097
|
+
start: propsSelection.start,
|
|
1098
|
+
end: propsSelection.end ?? propsSelection.start,
|
|
830
1099
|
};
|
|
831
1100
|
|
|
832
1101
|
const [mostRecentEventCount, setMostRecentEventCount] = useState<number>(0);
|
|
833
|
-
|
|
834
1102
|
const [lastNativeText, setLastNativeText] = useState<?Stringish>(props.value);
|
|
835
1103
|
const [lastNativeSelectionState, setLastNativeSelection] = useState<{|
|
|
836
|
-
selection:
|
|
1104
|
+
selection: Selection,
|
|
837
1105
|
mostRecentEventCount: number,
|
|
838
|
-
|}>({
|
|
1106
|
+
|}>({
|
|
1107
|
+
selection: {start: -1, end: -1},
|
|
1108
|
+
mostRecentEventCount: mostRecentEventCount,
|
|
1109
|
+
});
|
|
839
1110
|
|
|
840
1111
|
const lastNativeSelection = lastNativeSelectionState.selection;
|
|
841
|
-
const lastNativeSelectionEventCount =
|
|
842
|
-
lastNativeSelectionState.mostRecentEventCount;
|
|
843
1112
|
|
|
844
|
-
|
|
845
|
-
|
|
1113
|
+
let viewCommands;
|
|
1114
|
+
if (AndroidTextInputCommands) {
|
|
1115
|
+
viewCommands = AndroidTextInputCommands;
|
|
1116
|
+
} else {
|
|
1117
|
+
viewCommands =
|
|
1118
|
+
props.multiline === true
|
|
1119
|
+
? RCTMultilineTextInputNativeCommands
|
|
1120
|
+
: RCTSinglelineTextInputNativeCommands;
|
|
846
1121
|
}
|
|
847
1122
|
|
|
848
1123
|
const text =
|
|
849
1124
|
typeof props.value === 'string'
|
|
850
1125
|
? props.value
|
|
851
1126
|
: typeof props.defaultValue === 'string'
|
|
852
|
-
|
|
853
|
-
|
|
1127
|
+
? props.defaultValue
|
|
1128
|
+
: '';
|
|
854
1129
|
|
|
855
1130
|
// This is necessary in case native updates the text and JS decides
|
|
856
1131
|
// that the update should be ignored and we should stick with the value
|
|
857
1132
|
// that we have in JS.
|
|
858
|
-
|
|
859
|
-
const nativeUpdate = {};
|
|
1133
|
+
useLayoutEffect(() => {
|
|
1134
|
+
const nativeUpdate: {text?: string, selection?: Selection} = {};
|
|
860
1135
|
|
|
861
1136
|
if (lastNativeText !== props.value && typeof props.value === 'string') {
|
|
862
1137
|
nativeUpdate.text = props.value;
|
|
@@ -877,16 +1152,14 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
877
1152
|
return;
|
|
878
1153
|
}
|
|
879
1154
|
|
|
880
|
-
if (
|
|
881
|
-
|
|
1155
|
+
if (inputRef.current != null) {
|
|
1156
|
+
viewCommands.setTextAndSelection(
|
|
882
1157
|
inputRef.current,
|
|
883
1158
|
mostRecentEventCount,
|
|
884
1159
|
text,
|
|
885
1160
|
selection?.start ?? -1,
|
|
886
1161
|
selection?.end ?? -1,
|
|
887
1162
|
);
|
|
888
|
-
} else if (inputRef.current != null) {
|
|
889
|
-
inputRef.current.setNativeProps(nativeUpdate);
|
|
890
1163
|
}
|
|
891
1164
|
}, [
|
|
892
1165
|
mostRecentEventCount,
|
|
@@ -897,9 +1170,10 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
897
1170
|
selection,
|
|
898
1171
|
lastNativeSelection,
|
|
899
1172
|
text,
|
|
1173
|
+
viewCommands,
|
|
900
1174
|
]);
|
|
901
1175
|
|
|
902
|
-
|
|
1176
|
+
useLayoutEffect(() => {
|
|
903
1177
|
const inputRefValue = inputRef.current;
|
|
904
1178
|
|
|
905
1179
|
if (inputRefValue != null) {
|
|
@@ -907,98 +1181,84 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
907
1181
|
|
|
908
1182
|
return () => {
|
|
909
1183
|
TextInputState.unregisterInput(inputRefValue);
|
|
1184
|
+
|
|
1185
|
+
if (TextInputState.currentlyFocusedInput() === inputRefValue) {
|
|
1186
|
+
nullthrows(inputRefValue).blur();
|
|
1187
|
+
}
|
|
910
1188
|
};
|
|
911
1189
|
}
|
|
912
1190
|
}, [inputRef]);
|
|
913
1191
|
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
if (isFocused()) {
|
|
918
|
-
nullthrows(inputRef.current).blur();
|
|
919
|
-
}
|
|
920
|
-
};
|
|
921
|
-
}, [inputRef]);
|
|
922
|
-
|
|
923
|
-
function clear(): void {
|
|
924
|
-
if (AndroidTextInputCommands && inputRef.current != null) {
|
|
925
|
-
AndroidTextInputCommands.setTextAndSelection(
|
|
926
|
-
inputRef.current,
|
|
927
|
-
mostRecentEventCount,
|
|
928
|
-
'',
|
|
929
|
-
0,
|
|
930
|
-
0,
|
|
931
|
-
);
|
|
932
|
-
} else if (inputRef.current != null) {
|
|
933
|
-
inputRef.current.setNativeProps({text: ''});
|
|
934
|
-
}
|
|
935
|
-
}
|
|
936
|
-
|
|
937
|
-
// TODO: Fix this returning true on null === null, when no input is focused
|
|
938
|
-
function isFocused(): boolean {
|
|
939
|
-
return TextInputState.currentlyFocusedInput() === inputRef.current;
|
|
940
|
-
}
|
|
941
|
-
|
|
942
|
-
function getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
|
|
943
|
-
return inputRef.current;
|
|
944
|
-
}
|
|
945
|
-
|
|
946
|
-
const _setNativeRef = setAndForwardRef({
|
|
947
|
-
getForwardedRef: () => props.forwardedRef,
|
|
948
|
-
setLocalRef: ref => {
|
|
949
|
-
inputRef.current = ref;
|
|
1192
|
+
const setLocalRef = useCallback(
|
|
1193
|
+
(instance: TextInputInstance | null) => {
|
|
1194
|
+
inputRef.current = instance;
|
|
950
1195
|
|
|
951
1196
|
/*
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
if (
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
1197
|
+
Hi reader from the future. I'm sorry for this.
|
|
1198
|
+
|
|
1199
|
+
This is a hack. Ideally we would forwardRef to the underlying
|
|
1200
|
+
host component. However, since TextInput has it's own methods that can be
|
|
1201
|
+
called as well, if we used the standard forwardRef then these
|
|
1202
|
+
methods wouldn't be accessible and thus be a breaking change.
|
|
1203
|
+
|
|
1204
|
+
We have a couple of options of how to handle this:
|
|
1205
|
+
- Return a new ref with everything we methods from both. This is problematic
|
|
1206
|
+
because we need React to also know it is a host component which requires
|
|
1207
|
+
internals of the class implementation of the ref.
|
|
1208
|
+
- Break the API and have some other way to call one set of the methods or
|
|
1209
|
+
the other. This is our long term approach as we want to eventually
|
|
1210
|
+
get the methods on host components off the ref. So instead of calling
|
|
1211
|
+
ref.measure() you might call ReactNative.measure(ref). This would hopefully
|
|
1212
|
+
let the ref for TextInput then have the methods like `.clear`. Or we do it
|
|
1213
|
+
the other way and make it TextInput.clear(textInputRef) which would be fine
|
|
1214
|
+
too. Either way though is a breaking change that is longer term.
|
|
1215
|
+
- Mutate this ref. :( Gross, but accomplishes what we need in the meantime
|
|
1216
|
+
before we can get to the long term breaking change.
|
|
1217
|
+
*/
|
|
1218
|
+
if (instance != null) {
|
|
1219
|
+
// $FlowFixMe[incompatible-use] - See the explanation above.
|
|
1220
|
+
Object.assign(instance, {
|
|
1221
|
+
clear(): void {
|
|
1222
|
+
if (inputRef.current != null) {
|
|
1223
|
+
viewCommands.setTextAndSelection(
|
|
1224
|
+
inputRef.current,
|
|
1225
|
+
mostRecentEventCount,
|
|
1226
|
+
'',
|
|
1227
|
+
0,
|
|
1228
|
+
0,
|
|
1229
|
+
);
|
|
1230
|
+
}
|
|
1231
|
+
},
|
|
1232
|
+
// TODO: Fix this returning true on null === null, when no input is focused
|
|
1233
|
+
isFocused(): boolean {
|
|
1234
|
+
return TextInputState.currentlyFocusedInput() === inputRef.current;
|
|
1235
|
+
},
|
|
1236
|
+
getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
|
|
1237
|
+
return inputRef.current;
|
|
1238
|
+
},
|
|
1239
|
+
setSelection(start: number, end: number): void {
|
|
1240
|
+
if (inputRef.current != null) {
|
|
1241
|
+
viewCommands.setTextAndSelection(
|
|
1242
|
+
inputRef.current,
|
|
1243
|
+
mostRecentEventCount,
|
|
1244
|
+
null,
|
|
1245
|
+
start,
|
|
1246
|
+
end,
|
|
1247
|
+
);
|
|
1248
|
+
}
|
|
1249
|
+
},
|
|
1250
|
+
});
|
|
977
1251
|
}
|
|
978
1252
|
},
|
|
979
|
-
|
|
1253
|
+
[mostRecentEventCount, viewCommands],
|
|
1254
|
+
);
|
|
980
1255
|
|
|
981
|
-
const
|
|
982
|
-
if (props.editable || props.editable === undefined) {
|
|
983
|
-
nullthrows(inputRef.current).focus();
|
|
984
|
-
}
|
|
985
|
-
};
|
|
1256
|
+
const ref = useMergeRefs<TextInputInstance>(setLocalRef, props.forwardedRef);
|
|
986
1257
|
|
|
987
1258
|
const _onChange = (event: ChangeEvent) => {
|
|
988
|
-
|
|
989
|
-
// Do nothing
|
|
990
|
-
} else if (inputRef.current != null) {
|
|
991
|
-
// Make sure to fire the mostRecentEventCount first so it is already set on
|
|
992
|
-
// native when the text value is set.
|
|
993
|
-
// This is now only relevant on iOS until we migrate to ViewCommands everywhere
|
|
994
|
-
inputRef.current.setNativeProps({
|
|
995
|
-
mostRecentEventCount: event.nativeEvent.eventCount,
|
|
996
|
-
});
|
|
997
|
-
}
|
|
998
|
-
|
|
999
|
-
const text = event.nativeEvent.text;
|
|
1259
|
+
const currentText = event.nativeEvent.text;
|
|
1000
1260
|
props.onChange && props.onChange(event);
|
|
1001
|
-
props.onChangeText && props.onChangeText(
|
|
1261
|
+
props.onChangeText && props.onChangeText(currentText);
|
|
1002
1262
|
|
|
1003
1263
|
if (inputRef.current == null) {
|
|
1004
1264
|
// calling `props.onChange` or `props.onChangeText`
|
|
@@ -1006,7 +1266,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1006
1266
|
return;
|
|
1007
1267
|
}
|
|
1008
1268
|
|
|
1009
|
-
setLastNativeText(
|
|
1269
|
+
setLastNativeText(currentText);
|
|
1010
1270
|
// This must happen last, after we call setLastNativeText.
|
|
1011
1271
|
// Different ordering can cause bugs when editing AndroidTextInputs
|
|
1012
1272
|
// with multiple Fragments.
|
|
@@ -1048,31 +1308,134 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1048
1308
|
};
|
|
1049
1309
|
|
|
1050
1310
|
let textInput = null;
|
|
1051
|
-
let additionalTouchableProps: {|
|
|
1052
|
-
rejectResponderTermination?: $PropertyType<
|
|
1053
|
-
Props,
|
|
1054
|
-
'rejectResponderTermination',
|
|
1055
|
-
>,
|
|
1056
|
-
// This is a hack to let Flow know we want an exact object
|
|
1057
|
-
|} = {...null};
|
|
1058
1311
|
|
|
1059
|
-
|
|
1060
|
-
const RCTTextInputView = props.multiline
|
|
1061
|
-
? RCTMultilineTextInputView
|
|
1062
|
-
: RCTSinglelineTextInputView;
|
|
1312
|
+
const multiline = props.multiline ?? false;
|
|
1063
1313
|
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1314
|
+
let submitBehavior: SubmitBehavior;
|
|
1315
|
+
if (props.submitBehavior != null) {
|
|
1316
|
+
// `submitBehavior` is set explicitly
|
|
1317
|
+
if (!multiline && props.submitBehavior === 'newline') {
|
|
1318
|
+
// For single line text inputs, `'newline'` is not a valid option
|
|
1319
|
+
submitBehavior = 'blurAndSubmit';
|
|
1320
|
+
} else {
|
|
1321
|
+
submitBehavior = props.submitBehavior;
|
|
1322
|
+
}
|
|
1323
|
+
} else if (multiline) {
|
|
1324
|
+
if (props.blurOnSubmit === true) {
|
|
1325
|
+
submitBehavior = 'blurAndSubmit';
|
|
1326
|
+
} else {
|
|
1327
|
+
submitBehavior = 'newline';
|
|
1328
|
+
}
|
|
1329
|
+
} else {
|
|
1330
|
+
// Single line
|
|
1331
|
+
if (props.blurOnSubmit !== false) {
|
|
1332
|
+
submitBehavior = 'blurAndSubmit';
|
|
1333
|
+
} else {
|
|
1334
|
+
submitBehavior = 'submit';
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
const accessible = props.accessible !== false;
|
|
1339
|
+
const focusable = props.focusable !== false;
|
|
1340
|
+
|
|
1341
|
+
const {
|
|
1342
|
+
editable,
|
|
1343
|
+
hitSlop,
|
|
1344
|
+
onPress,
|
|
1345
|
+
onPressIn,
|
|
1346
|
+
onPressOut,
|
|
1347
|
+
rejectResponderTermination,
|
|
1348
|
+
} = props;
|
|
1349
|
+
|
|
1350
|
+
const config = React.useMemo(
|
|
1351
|
+
() => ({
|
|
1352
|
+
hitSlop,
|
|
1353
|
+
onPress: (event: PressEvent) => {
|
|
1354
|
+
onPress?.(event);
|
|
1355
|
+
if (editable !== false) {
|
|
1356
|
+
if (inputRef.current != null) {
|
|
1357
|
+
inputRef.current.focus();
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
},
|
|
1361
|
+
onPressIn: onPressIn,
|
|
1362
|
+
onPressOut: onPressOut,
|
|
1363
|
+
cancelable: Platform.OS === 'ios' ? !rejectResponderTermination : null,
|
|
1364
|
+
}),
|
|
1365
|
+
[
|
|
1366
|
+
editable,
|
|
1367
|
+
hitSlop,
|
|
1368
|
+
onPress,
|
|
1369
|
+
onPressIn,
|
|
1370
|
+
onPressOut,
|
|
1371
|
+
rejectResponderTermination,
|
|
1372
|
+
],
|
|
1373
|
+
);
|
|
1374
|
+
|
|
1375
|
+
// Hide caret during test runs due to a flashing caret
|
|
1376
|
+
// makes screenshot tests flakey
|
|
1377
|
+
let caretHidden = props.caretHidden;
|
|
1378
|
+
if (Platform.isTesting) {
|
|
1379
|
+
caretHidden = true;
|
|
1380
|
+
}
|
|
1067
1381
|
|
|
1068
|
-
|
|
1069
|
-
|
|
1382
|
+
// TextInput handles onBlur and onFocus events
|
|
1383
|
+
// so omitting onBlur and onFocus pressability handlers here.
|
|
1384
|
+
const {onBlur, onFocus, ...eventHandlers} = usePressability(config) || {};
|
|
1385
|
+
|
|
1386
|
+
let _accessibilityState;
|
|
1387
|
+
if (
|
|
1388
|
+
accessibilityState != null ||
|
|
1389
|
+
ariaBusy != null ||
|
|
1390
|
+
ariaChecked != null ||
|
|
1391
|
+
ariaDisabled != null ||
|
|
1392
|
+
ariaExpanded != null ||
|
|
1393
|
+
ariaSelected != null
|
|
1394
|
+
) {
|
|
1395
|
+
_accessibilityState = {
|
|
1396
|
+
busy: ariaBusy ?? accessibilityState?.busy,
|
|
1397
|
+
checked: ariaChecked ?? accessibilityState?.checked,
|
|
1398
|
+
disabled: ariaDisabled ?? accessibilityState?.disabled,
|
|
1399
|
+
expanded: ariaExpanded ?? accessibilityState?.expanded,
|
|
1400
|
+
selected: ariaSelected ?? accessibilityState?.selected,
|
|
1401
|
+
};
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1404
|
+
const style = flattenStyle<TextStyleProp>(props.style);
|
|
1405
|
+
|
|
1406
|
+
if (typeof style?.fontWeight === 'number') {
|
|
1407
|
+
// $FlowFixMe[prop-missing]
|
|
1408
|
+
// $FlowFixMe[cannot-write]
|
|
1409
|
+
style.fontWeight = style?.fontWeight.toString();
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
if (Platform.OS === 'ios') {
|
|
1413
|
+
const RCTTextInputView =
|
|
1414
|
+
props.multiline === true
|
|
1415
|
+
? RCTMultilineTextInputView
|
|
1416
|
+
: RCTSinglelineTextInputView;
|
|
1417
|
+
|
|
1418
|
+
const useMultilineDefaultStyle =
|
|
1419
|
+
props.multiline === true &&
|
|
1420
|
+
(style == null ||
|
|
1421
|
+
(style.padding == null &&
|
|
1422
|
+
style.paddingVertical == null &&
|
|
1423
|
+
style.paddingTop == null));
|
|
1070
1424
|
|
|
1071
1425
|
textInput = (
|
|
1072
1426
|
<RCTTextInputView
|
|
1073
|
-
|
|
1074
|
-
{
|
|
1427
|
+
// $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
|
|
1428
|
+
ref={ref}
|
|
1429
|
+
{...otherProps}
|
|
1430
|
+
{...eventHandlers}
|
|
1431
|
+
accessibilityState={_accessibilityState}
|
|
1432
|
+
accessible={accessible}
|
|
1433
|
+
submitBehavior={submitBehavior}
|
|
1434
|
+
caretHidden={caretHidden}
|
|
1075
1435
|
dataDetectorTypes={props.dataDetectorTypes}
|
|
1436
|
+
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1437
|
+
mostRecentEventCount={mostRecentEventCount}
|
|
1438
|
+
nativeID={id ?? props.nativeID}
|
|
1076
1439
|
onBlur={_onBlur}
|
|
1077
1440
|
onChange={_onChange}
|
|
1078
1441
|
onContentSizeChange={props.onContentSizeChange}
|
|
@@ -1081,42 +1444,76 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1081
1444
|
onSelectionChange={_onSelectionChange}
|
|
1082
1445
|
onSelectionChangeShouldSetResponder={emptyFunctionThatReturnsTrue}
|
|
1083
1446
|
selection={selection}
|
|
1084
|
-
|
|
1447
|
+
selectionColor={selectionColor}
|
|
1448
|
+
style={StyleSheet.compose(
|
|
1449
|
+
useMultilineDefaultStyle ? styles.multilineDefault : null,
|
|
1450
|
+
style,
|
|
1451
|
+
)}
|
|
1085
1452
|
text={text}
|
|
1086
1453
|
/>
|
|
1087
1454
|
);
|
|
1088
1455
|
} else if (Platform.OS === 'android') {
|
|
1089
|
-
const style = [props.style];
|
|
1090
1456
|
const autoCapitalize = props.autoCapitalize || 'sentences';
|
|
1457
|
+
const _accessibilityLabelledBy =
|
|
1458
|
+
props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
|
|
1459
|
+
const placeholder = props.placeholder ?? '';
|
|
1091
1460
|
let children = props.children;
|
|
1092
|
-
|
|
1093
|
-
React.Children.forEach(children, () => ++childCount);
|
|
1461
|
+
const childCount = React.Children.count(children);
|
|
1094
1462
|
invariant(
|
|
1095
|
-
!(props.value && childCount),
|
|
1463
|
+
!(props.value != null && childCount),
|
|
1096
1464
|
'Cannot specify both value and children.',
|
|
1097
1465
|
);
|
|
1098
1466
|
if (childCount > 1) {
|
|
1099
1467
|
children = <Text>{children}</Text>;
|
|
1100
1468
|
}
|
|
1101
|
-
|
|
1469
|
+
// For consistency with iOS set cursor/selectionHandle color as selectionColor
|
|
1470
|
+
const colorProps = {
|
|
1471
|
+
selectionColor,
|
|
1472
|
+
selectionHandleColor:
|
|
1473
|
+
selectionHandleColor === undefined
|
|
1474
|
+
? selectionColor
|
|
1475
|
+
: selectionHandleColor,
|
|
1476
|
+
cursorColor: cursorColor === undefined ? selectionColor : cursorColor,
|
|
1477
|
+
};
|
|
1102
1478
|
textInput = (
|
|
1103
|
-
/* $FlowFixMe the types for AndroidTextInput don't match up
|
|
1104
|
-
|
|
1479
|
+
/* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match up
|
|
1480
|
+
* exactly with the props for TextInput. This will need to get fixed */
|
|
1481
|
+
/* $FlowFixMe[incompatible-type] the types for AndroidTextInput don't
|
|
1482
|
+
* match up exactly with the props for TextInput. This will need to get
|
|
1483
|
+
* fixed */
|
|
1484
|
+
/* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput don't
|
|
1485
|
+
* match up exactly with the props for TextInput. This will need to get
|
|
1486
|
+
* fixed */
|
|
1105
1487
|
<AndroidTextInput
|
|
1106
|
-
|
|
1107
|
-
{
|
|
1488
|
+
// $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
|
|
1489
|
+
ref={ref}
|
|
1490
|
+
{...otherProps}
|
|
1491
|
+
{...colorProps}
|
|
1492
|
+
{...eventHandlers}
|
|
1493
|
+
accessibilityState={_accessibilityState}
|
|
1494
|
+
accessibilityLabelledBy={_accessibilityLabelledBy}
|
|
1495
|
+
accessible={accessible}
|
|
1108
1496
|
autoCapitalize={autoCapitalize}
|
|
1497
|
+
submitBehavior={submitBehavior}
|
|
1498
|
+
caretHidden={caretHidden}
|
|
1109
1499
|
children={children}
|
|
1110
1500
|
disableFullscreenUI={props.disableFullscreenUI}
|
|
1501
|
+
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1111
1502
|
mostRecentEventCount={mostRecentEventCount}
|
|
1503
|
+
nativeID={id ?? props.nativeID}
|
|
1504
|
+
numberOfLines={props.rows ?? props.numberOfLines}
|
|
1112
1505
|
onBlur={_onBlur}
|
|
1113
1506
|
onChange={_onChange}
|
|
1114
1507
|
onFocus={_onFocus}
|
|
1115
|
-
/* $FlowFixMe the types for AndroidTextInput don't match
|
|
1116
|
-
* with the props for TextInput. This will need to get fixed
|
|
1508
|
+
/* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match
|
|
1509
|
+
* up exactly with the props for TextInput. This will need to get fixed
|
|
1510
|
+
*/
|
|
1511
|
+
/* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput
|
|
1512
|
+
* don't match up exactly with the props for TextInput. This will need
|
|
1513
|
+
* to get fixed */
|
|
1117
1514
|
onScroll={_onScroll}
|
|
1118
1515
|
onSelectionChange={_onSelectionChange}
|
|
1119
|
-
|
|
1516
|
+
placeholder={placeholder}
|
|
1120
1517
|
style={style}
|
|
1121
1518
|
text={text}
|
|
1122
1519
|
textBreakStrategy={props.textBreakStrategy}
|
|
@@ -1124,47 +1521,185 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1124
1521
|
);
|
|
1125
1522
|
}
|
|
1126
1523
|
return (
|
|
1127
|
-
<TextAncestor.Provider value={true}>
|
|
1128
|
-
<TouchableWithoutFeedback
|
|
1129
|
-
onLayout={props.onLayout}
|
|
1130
|
-
onPress={_onPress}
|
|
1131
|
-
accessible={props.accessible}
|
|
1132
|
-
accessibilityLabel={props.accessibilityLabel}
|
|
1133
|
-
accessibilityRole={props.accessibilityRole}
|
|
1134
|
-
accessibilityState={props.accessibilityState}
|
|
1135
|
-
nativeID={props.nativeID}
|
|
1136
|
-
testID={props.testID}
|
|
1137
|
-
{...additionalTouchableProps}>
|
|
1138
|
-
{textInput}
|
|
1139
|
-
</TouchableWithoutFeedback>
|
|
1140
|
-
</TextAncestor.Provider>
|
|
1524
|
+
<TextAncestor.Provider value={true}>{textInput}</TextAncestor.Provider>
|
|
1141
1525
|
);
|
|
1142
1526
|
}
|
|
1143
1527
|
|
|
1528
|
+
const enterKeyHintToReturnTypeMap = {
|
|
1529
|
+
enter: 'default',
|
|
1530
|
+
done: 'done',
|
|
1531
|
+
go: 'go',
|
|
1532
|
+
next: 'next',
|
|
1533
|
+
previous: 'previous',
|
|
1534
|
+
search: 'search',
|
|
1535
|
+
send: 'send',
|
|
1536
|
+
};
|
|
1537
|
+
|
|
1538
|
+
const inputModeToKeyboardTypeMap = {
|
|
1539
|
+
none: 'default',
|
|
1540
|
+
text: 'default',
|
|
1541
|
+
decimal: 'decimal-pad',
|
|
1542
|
+
numeric: 'number-pad',
|
|
1543
|
+
tel: 'phone-pad',
|
|
1544
|
+
search: Platform.OS === 'ios' ? 'web-search' : 'default',
|
|
1545
|
+
email: 'email-address',
|
|
1546
|
+
url: 'url',
|
|
1547
|
+
};
|
|
1548
|
+
|
|
1549
|
+
// Map HTML autocomplete values to Android autoComplete values
|
|
1550
|
+
const autoCompleteWebToAutoCompleteAndroidMap = {
|
|
1551
|
+
'address-line1': 'postal-address-region',
|
|
1552
|
+
'address-line2': 'postal-address-locality',
|
|
1553
|
+
bday: 'birthdate-full',
|
|
1554
|
+
'bday-day': 'birthdate-day',
|
|
1555
|
+
'bday-month': 'birthdate-month',
|
|
1556
|
+
'bday-year': 'birthdate-year',
|
|
1557
|
+
'cc-csc': 'cc-csc',
|
|
1558
|
+
'cc-exp': 'cc-exp',
|
|
1559
|
+
'cc-exp-month': 'cc-exp-month',
|
|
1560
|
+
'cc-exp-year': 'cc-exp-year',
|
|
1561
|
+
'cc-number': 'cc-number',
|
|
1562
|
+
country: 'postal-address-country',
|
|
1563
|
+
'current-password': 'password',
|
|
1564
|
+
email: 'email',
|
|
1565
|
+
'honorific-prefix': 'name-prefix',
|
|
1566
|
+
'honorific-suffix': 'name-suffix',
|
|
1567
|
+
name: 'name',
|
|
1568
|
+
'additional-name': 'name-middle',
|
|
1569
|
+
'family-name': 'name-family',
|
|
1570
|
+
'given-name': 'name-given',
|
|
1571
|
+
'new-password': 'password-new',
|
|
1572
|
+
off: 'off',
|
|
1573
|
+
'one-time-code': 'sms-otp',
|
|
1574
|
+
'postal-code': 'postal-code',
|
|
1575
|
+
sex: 'gender',
|
|
1576
|
+
'street-address': 'street-address',
|
|
1577
|
+
tel: 'tel',
|
|
1578
|
+
'tel-country-code': 'tel-country-code',
|
|
1579
|
+
'tel-national': 'tel-national',
|
|
1580
|
+
username: 'username',
|
|
1581
|
+
};
|
|
1582
|
+
|
|
1583
|
+
// Map HTML autocomplete values to iOS textContentType values
|
|
1584
|
+
const autoCompleteWebToTextContentTypeMap = {
|
|
1585
|
+
'address-line1': 'streetAddressLine1',
|
|
1586
|
+
'address-line2': 'streetAddressLine2',
|
|
1587
|
+
bday: 'birthdate',
|
|
1588
|
+
'bday-day': 'birthdateDay',
|
|
1589
|
+
'bday-month': 'birthdateMonth',
|
|
1590
|
+
'bday-year': 'birthdateYear',
|
|
1591
|
+
'cc-csc': 'creditCardSecurityCode',
|
|
1592
|
+
'cc-exp-month': 'creditCardExpirationMonth',
|
|
1593
|
+
'cc-exp-year': 'creditCardExpirationYear',
|
|
1594
|
+
'cc-exp': 'creditCardExpiration',
|
|
1595
|
+
'cc-given-name': 'creditCardGivenName',
|
|
1596
|
+
'cc-additional-name': 'creditCardMiddleName',
|
|
1597
|
+
'cc-family-name': 'creditCardFamilyName',
|
|
1598
|
+
'cc-name': 'creditCardName',
|
|
1599
|
+
'cc-number': 'creditCardNumber',
|
|
1600
|
+
'cc-type': 'creditCardType',
|
|
1601
|
+
'current-password': 'password',
|
|
1602
|
+
country: 'countryName',
|
|
1603
|
+
email: 'emailAddress',
|
|
1604
|
+
name: 'name',
|
|
1605
|
+
'additional-name': 'middleName',
|
|
1606
|
+
'family-name': 'familyName',
|
|
1607
|
+
'given-name': 'givenName',
|
|
1608
|
+
nickname: 'nickname',
|
|
1609
|
+
'honorific-prefix': 'namePrefix',
|
|
1610
|
+
'honorific-suffix': 'nameSuffix',
|
|
1611
|
+
'new-password': 'newPassword',
|
|
1612
|
+
off: 'none',
|
|
1613
|
+
'one-time-code': 'oneTimeCode',
|
|
1614
|
+
organization: 'organizationName',
|
|
1615
|
+
'organization-title': 'jobTitle',
|
|
1616
|
+
'postal-code': 'postalCode',
|
|
1617
|
+
'street-address': 'fullStreetAddress',
|
|
1618
|
+
tel: 'telephoneNumber',
|
|
1619
|
+
url: 'URL',
|
|
1620
|
+
username: 'username',
|
|
1621
|
+
};
|
|
1622
|
+
|
|
1144
1623
|
const ExportedForwardRef: React.AbstractComponent<
|
|
1145
1624
|
React.ElementConfig<typeof InternalTextInput>,
|
|
1146
|
-
|
|
1625
|
+
TextInputInstance,
|
|
1626
|
+
// $FlowFixMe[incompatible-call]
|
|
1147
1627
|
> = React.forwardRef(function TextInput(
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1628
|
+
{
|
|
1629
|
+
allowFontScaling = true,
|
|
1630
|
+
rejectResponderTermination = true,
|
|
1631
|
+
underlineColorAndroid = 'transparent',
|
|
1632
|
+
autoComplete,
|
|
1633
|
+
textContentType,
|
|
1634
|
+
readOnly,
|
|
1635
|
+
editable,
|
|
1636
|
+
enterKeyHint,
|
|
1637
|
+
returnKeyType,
|
|
1638
|
+
inputMode,
|
|
1639
|
+
showSoftInputOnFocus,
|
|
1640
|
+
keyboardType,
|
|
1641
|
+
...restProps
|
|
1642
|
+
},
|
|
1643
|
+
forwardedRef: ReactRefSetter<TextInputInstance>,
|
|
1152
1644
|
) {
|
|
1153
|
-
|
|
1154
|
-
|
|
1645
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
1646
|
+
let style = flattenStyle(restProps.style);
|
|
1647
|
+
|
|
1648
|
+
if (style?.verticalAlign != null) {
|
|
1649
|
+
// $FlowFixMe[prop-missing]
|
|
1650
|
+
// $FlowFixMe[cannot-write]
|
|
1651
|
+
style.textAlignVertical =
|
|
1652
|
+
// $FlowFixMe[invalid-computed-prop]
|
|
1653
|
+
verticalAlignToTextAlignVerticalMap[style.verticalAlign];
|
|
1654
|
+
// $FlowFixMe[prop-missing]
|
|
1655
|
+
// $FlowFixMe[cannot-write]
|
|
1656
|
+
delete style.verticalAlign;
|
|
1657
|
+
}
|
|
1155
1658
|
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
}
|
|
1659
|
+
return (
|
|
1660
|
+
<InternalTextInput
|
|
1661
|
+
allowFontScaling={allowFontScaling}
|
|
1662
|
+
rejectResponderTermination={rejectResponderTermination}
|
|
1663
|
+
underlineColorAndroid={underlineColorAndroid}
|
|
1664
|
+
editable={readOnly !== undefined ? !readOnly : editable}
|
|
1665
|
+
returnKeyType={
|
|
1666
|
+
enterKeyHint ? enterKeyHintToReturnTypeMap[enterKeyHint] : returnKeyType
|
|
1667
|
+
}
|
|
1668
|
+
keyboardType={
|
|
1669
|
+
inputMode ? inputModeToKeyboardTypeMap[inputMode] : keyboardType
|
|
1670
|
+
}
|
|
1671
|
+
showSoftInputOnFocus={
|
|
1672
|
+
inputMode == null ? showSoftInputOnFocus : inputMode !== 'none'
|
|
1673
|
+
}
|
|
1674
|
+
autoComplete={
|
|
1675
|
+
Platform.OS === 'android'
|
|
1676
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1677
|
+
// $FlowFixMe[prop-missing]
|
|
1678
|
+
autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
|
|
1679
|
+
autoComplete
|
|
1680
|
+
: undefined
|
|
1681
|
+
}
|
|
1682
|
+
textContentType={
|
|
1683
|
+
textContentType != null
|
|
1684
|
+
? textContentType
|
|
1685
|
+
: Platform.OS === 'ios' &&
|
|
1686
|
+
autoComplete &&
|
|
1687
|
+
autoComplete in autoCompleteWebToTextContentTypeMap
|
|
1688
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1689
|
+
// $FlowFixMe[prop-missing]
|
|
1690
|
+
autoCompleteWebToTextContentTypeMap[autoComplete]
|
|
1691
|
+
: textContentType
|
|
1692
|
+
}
|
|
1693
|
+
{...restProps}
|
|
1694
|
+
forwardedRef={forwardedRef}
|
|
1695
|
+
style={style}
|
|
1696
|
+
/>
|
|
1697
|
+
);
|
|
1698
|
+
});
|
|
1162
1699
|
|
|
1163
|
-
|
|
1164
|
-
// $FlowFixMe
|
|
1165
|
-
ExportedForwardRef.propTypes = DeprecatedTextInputPropTypes;
|
|
1700
|
+
ExportedForwardRef.displayName = 'TextInput';
|
|
1166
1701
|
|
|
1167
|
-
// $FlowFixMe
|
|
1702
|
+
// $FlowFixMe[prop-missing]
|
|
1168
1703
|
ExportedForwardRef.State = {
|
|
1169
1704
|
currentlyFocusedInput: TextInputState.currentlyFocusedInput,
|
|
1170
1705
|
|
|
@@ -1173,18 +1708,17 @@ ExportedForwardRef.State = {
|
|
|
1173
1708
|
blurTextInput: TextInputState.blurTextInput,
|
|
1174
1709
|
};
|
|
1175
1710
|
|
|
1176
|
-
type TextInputComponentStatics = $ReadOnly<{|
|
|
1711
|
+
export type TextInputComponentStatics = $ReadOnly<{|
|
|
1177
1712
|
State: $ReadOnly<{|
|
|
1178
1713
|
currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput,
|
|
1179
1714
|
currentlyFocusedField: typeof TextInputState.currentlyFocusedField,
|
|
1180
1715
|
focusTextInput: typeof TextInputState.focusTextInput,
|
|
1181
1716
|
blurTextInput: typeof TextInputState.blurTextInput,
|
|
1182
1717
|
|}>,
|
|
1183
|
-
propTypes: typeof DeprecatedTextInputPropTypes,
|
|
1184
1718
|
|}>;
|
|
1185
1719
|
|
|
1186
1720
|
const styles = StyleSheet.create({
|
|
1187
|
-
|
|
1721
|
+
multilineDefault: {
|
|
1188
1722
|
// This default top inset makes RCTMultilineTextInputView seem as close as possible
|
|
1189
1723
|
// to single-line RCTSinglelineTextInputView defaults, using the system defaults
|
|
1190
1724
|
// of font size 17 and a height of 31 points.
|
|
@@ -1192,11 +1726,12 @@ const styles = StyleSheet.create({
|
|
|
1192
1726
|
},
|
|
1193
1727
|
});
|
|
1194
1728
|
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1729
|
+
const verticalAlignToTextAlignVerticalMap = {
|
|
1730
|
+
auto: 'auto',
|
|
1731
|
+
top: 'top',
|
|
1732
|
+
bottom: 'bottom',
|
|
1733
|
+
middle: 'center',
|
|
1734
|
+
};
|
|
1735
|
+
|
|
1736
|
+
// $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
|
|
1737
|
+
module.exports = ((ExportedForwardRef: any): TextInputType);
|