@office-iss/react-native-win32 0.0.0-canary.29 → 0.0.0-canary.291
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 +5 -2
- package/.eslintrc.js +27 -2
- package/.flowconfig +81 -39
- package/CHANGELOG.json +5994 -1
- package/CHANGELOG.md +2389 -4
- package/IntegrationTests/AccessibilityManagerTest.js +23 -21
- package/IntegrationTests/AppEventsTest.js +48 -33
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +21 -18
- package/IntegrationTests/ImageCachePolicyTest.js +65 -82
- package/IntegrationTests/ImageSnapshotTest.js +18 -21
- package/IntegrationTests/IntegrationTestHarnessTest.js +35 -50
- package/IntegrationTests/IntegrationTestsApp.js +24 -24
- package/IntegrationTests/LayoutEventsTest.js +27 -20
- package/IntegrationTests/LoggingTestModule.js +11 -12
- package/IntegrationTests/PromiseTest.js +52 -43
- package/IntegrationTests/SimpleSnapshotTest.js +20 -27
- package/IntegrationTests/SyncMethodTest.js +10 -14
- package/IntegrationTests/TimersTest.js +23 -8
- 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 +87 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +87 -26
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +5 -43
- package/Libraries/Alert/Alert.d.ts +94 -0
- package/Libraries/Alert/Alert.js +66 -19
- package/Libraries/Alert/Alert.win32.js +37 -12
- package/Libraries/Alert/NativeAlertManager.js +5 -26
- package/Libraries/Alert/RCTAlertManager.android.js +3 -5
- package/Libraries/Alert/RCTAlertManager.ios.js +3 -4
- package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
- package/Libraries/Animated/Animated.d.ts +626 -0
- package/Libraries/Animated/Animated.js +19 -0
- package/Libraries/Animated/Animated.js.flow +13 -0
- package/Libraries/Animated/AnimatedEvent.js +256 -0
- package/Libraries/Animated/AnimatedExports.js +47 -0
- package/Libraries/Animated/AnimatedExports.js.flow +60 -0
- package/Libraries/Animated/AnimatedImplementation.js +754 -0
- package/Libraries/Animated/AnimatedMock.js +195 -0
- package/Libraries/Animated/AnimatedPlatformConfig.js +13 -0
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +248 -0
- package/Libraries/Animated/NativeAnimatedAllowlist.js +122 -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 +189 -0
- package/Libraries/Animated/animations/DecayAnimation.js +122 -0
- package/Libraries/Animated/animations/SpringAnimation.js +373 -0
- package/Libraries/Animated/animations/TimingAnimation.js +174 -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 +138 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +22 -0
- package/Libraries/Animated/components/AnimatedText.js +22 -0
- package/Libraries/Animated/components/AnimatedView.js +20 -0
- package/Libraries/Animated/createAnimatedComponent.js +149 -0
- package/Libraries/Animated/nodes/AnimatedAddition.js +71 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +323 -0
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +80 -0
- package/Libraries/Animated/nodes/AnimatedDivision.js +87 -0
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +420 -0
- package/Libraries/Animated/nodes/AnimatedModulo.js +66 -0
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +70 -0
- package/Libraries/Animated/nodes/AnimatedNode.js +180 -0
- package/Libraries/Animated/nodes/AnimatedObject.js +170 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +305 -0
- package/Libraries/Animated/nodes/AnimatedStyle.js +255 -0
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +71 -0
- package/Libraries/Animated/nodes/AnimatedTracking.js +104 -0
- package/Libraries/Animated/nodes/AnimatedTransform.js +202 -0
- package/Libraries/Animated/nodes/AnimatedValue.js +374 -0
- package/Libraries/Animated/nodes/AnimatedValueXY.js +240 -0
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +85 -0
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +18 -0
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +23 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +108 -144
- package/Libraries/AppState/NativeAppState.js +5 -22
- package/Libraries/BatchedBridge/BatchedBridge.js +6 -4
- package/Libraries/BatchedBridge/MessageQueue.js +140 -117
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +40 -23
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
- package/Libraries/Blob/Blob.js +24 -7
- package/Libraries/Blob/BlobManager.js +9 -11
- package/Libraries/Blob/BlobRegistry.js +18 -19
- package/Libraries/Blob/BlobTypes.js +1 -1
- package/Libraries/Blob/File.js +5 -5
- package/Libraries/Blob/FileReader.js +9 -155
- package/Libraries/Blob/FileReader_new.js +231 -0
- package/Libraries/Blob/FileReader_old.js +186 -0
- package/Libraries/Blob/NativeBlobModule.js +5 -18
- package/Libraries/Blob/NativeFileReaderModule.js +5 -15
- package/Libraries/Blob/URL.js +52 -88
- package/Libraries/Blob/URLSearchParams.js +145 -0
- package/Libraries/Blob/URLSearchParams.js.flow +28 -0
- package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
- package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
- package/Libraries/BugReporting/BugReporting.js +10 -11
- package/Libraries/BugReporting/NativeBugReporting.js +5 -12
- package/Libraries/BugReporting/dumpReactTree.js +3 -3
- package/Libraries/BugReporting/getReactData.js +18 -9
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +177 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +493 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +466 -96
- 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.js.flow +20 -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 +85 -60
- 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 +331 -128
- package/Libraries/Components/Button.win32.js +460 -0
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/Clipboard.js +4 -6
- package/Libraries/Components/Clipboard/NativeClipboard.js +5 -14
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +4 -116
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +49 -126
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +67 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +138 -0
- 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 +89 -79
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +129 -63
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +5 -13
- package/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +21 -0
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +61 -0
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +29 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +175 -76
- package/Libraries/Components/Pressable/Pressable.win32.js +402 -0
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +49 -34
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +32 -66
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +14 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +5 -27
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +54 -0
- 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 +31 -50
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +6 -7
- 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 +36 -21
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +11 -20
- package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
- package/Libraries/Components/ScrollView/ScrollView.js +1152 -470
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +7 -7
- package/Libraries/Components/ScrollView/ScrollViewContext.js +24 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +166 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +14 -17
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +210 -67
- package/Libraries/Components/ScrollView/processDecelerationRate.js +3 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +5 -15
- package/Libraries/Components/Sound/SoundManager.js +4 -5
- package/Libraries/Components/StaticRenderer.js +5 -5
- 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 +92 -86
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +5 -56
- package/Libraries/Components/Switch/Switch.d.ts +118 -0
- package/Libraries/Components/Switch/Switch.js +206 -148
- package/Libraries/Components/Switch/SwitchNativeComponent.js +5 -50
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +266 -98
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +32 -25
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +5 -18
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +27 -34
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +22 -42
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +172 -0
- package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +9 -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 +1049 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1157 -0
- package/Libraries/Components/TextInput/TextInput.js +1236 -534
- package/Libraries/Components/TextInput/TextInput.win32.js +2044 -179
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +29 -0
- package/Libraries/Components/TextInput/TextInputState.js +29 -22
- package/Libraries/Components/TextInput/TextInputState.win32.js +42 -31
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +26 -0
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +5 -31
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +12 -11
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +109 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +17 -11
- package/Libraries/Components/Touchable/BoundingDimensions.js +14 -7
- package/Libraries/Components/Touchable/PooledClass.js +27 -16
- package/Libraries/Components/Touchable/Position.js +10 -6
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +9 -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 +131 -142
- package/Libraries/Components/Touchable/Touchable.win32.js +978 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +66 -60
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +62 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +104 -73
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +183 -116
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +304 -51
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +81 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +148 -68
- 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 +235 -141
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +4 -19
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +13 -6
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +215 -70
- package/Libraries/Components/View/ReactNativeViewAttributes.js +8 -4
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +38 -14
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +109 -17
- package/Libraries/Components/View/View.win32.js +276 -0
- package/Libraries/Components/View/ViewAccessibility.d.ts +566 -0
- package/Libraries/Components/View/ViewAccessibility.js +334 -12
- package/Libraries/Components/View/ViewAccessibility.win32.js +421 -0
- package/Libraries/Components/View/ViewNativeComponent.js +15 -71
- package/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
- package/Libraries/Components/View/ViewPropTypes.js +187 -177
- package/Libraries/Components/View/ViewPropTypes.win32.js +588 -0
- package/Libraries/Components/View/ViewWin32.d.ts +30 -12
- package/Libraries/Components/View/ViewWin32.js +130 -80
- package/Libraries/Core/Devtools/getDevServer.js +10 -11
- package/Libraries/Core/Devtools/loadBundleFromServer.js +154 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +155 -0
- package/Libraries/Core/Devtools/openFileInEditor.js +8 -6
- package/Libraries/Core/Devtools/openURLInBrowser.js +8 -6
- package/Libraries/Core/Devtools/parseErrorStack.js +17 -26
- package/Libraries/Core/Devtools/parseHermesStack.js +73 -46
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +17 -61
- package/Libraries/Core/ExceptionsManager.js +135 -117
- package/Libraries/Core/ExtendedError.js +33 -0
- package/Libraries/Core/InitializeCore.js +14 -6
- package/Libraries/Core/NativeExceptionsManager.js +5 -100
- package/Libraries/Core/RawEventEmitter.js +39 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +47 -38
- package/Libraries/Core/ReactNativeVersion.js +11 -7
- package/Libraries/Core/ReactNativeVersionCheck.js +10 -9
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +10 -9
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +5 -21
- package/Libraries/Core/Timers/JSTimers.js +104 -128
- package/Libraries/Core/Timers/NativeTiming.js +5 -19
- package/Libraries/Core/Timers/immediateShim.js +61 -0
- package/Libraries/Core/Timers/queueMicrotask.js +41 -0
- package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +19 -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 +3 -3
- package/Libraries/Core/setUpBatchedBridge.js +21 -27
- package/Libraries/Core/setUpDeveloperTools.js +29 -63
- package/Libraries/Core/setUpErrorHandling.js +21 -19
- package/Libraries/Core/setUpGlobals.js +8 -6
- package/Libraries/Core/setUpNavigator.js +8 -7
- package/Libraries/Core/setUpPerformance.js +31 -0
- package/Libraries/Core/setUpReactDevTools.js +217 -15
- package/Libraries/Core/setUpReactRefresh.js +5 -7
- package/Libraries/Core/setUpRegeneratorRuntime.js +28 -9
- package/Libraries/Core/setUpSegmentFetcher.js +9 -47
- package/Libraries/Core/setUpTimers.js +78 -8
- package/Libraries/Core/setUpXHR.js +16 -13
- package/Libraries/Debugging/DebuggingOverlay.js +110 -0
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +516 -0
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +100 -40
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +29 -68
- package/Libraries/EventEmitter/RCTEventEmitter.js +4 -4
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +3 -5
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +35 -11
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/Image/AssetRegistry.js +7 -25
- package/Libraries/Image/AssetSourceResolver.js +82 -45
- package/Libraries/Image/AssetUtils.js +47 -0
- package/Libraries/Image/Image.android.js +206 -271
- package/Libraries/Image/Image.d.ts +389 -0
- package/Libraries/Image/Image.ios.js +145 -104
- package/Libraries/Image/Image.js.flow +27 -0
- package/Libraries/Image/Image.win32.js +150 -93
- package/Libraries/Image/ImageAnalyticsTagContext.js +22 -0
- package/Libraries/Image/ImageBackground.js +32 -14
- package/Libraries/Image/ImageInjection.js +87 -0
- package/Libraries/Image/ImageProps.js +262 -61
- package/Libraries/Image/ImageResizeMode.d.ts +56 -0
- package/Libraries/Image/ImageResizeMode.js +5 -2
- package/Libraries/Image/ImageSource.d.ts +74 -0
- package/Libraries/Image/ImageSource.js +73 -23
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageTypes.d.ts +25 -25
- package/Libraries/Image/ImageTypes.flow.js +88 -0
- package/Libraries/Image/ImageTypes.js +8 -8
- package/Libraries/Image/ImageTypes.js.map +1 -0
- package/Libraries/Image/ImageUtils.js +25 -0
- package/Libraries/Image/ImageViewNativeComponent.js +145 -30
- 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 -32
- package/Libraries/Image/NativeImageStoreAndroid.js +13 -0
- package/Libraries/Image/NativeImageStoreIOS.js +13 -0
- package/Libraries/Image/RelativeImageStub.js +5 -3
- package/Libraries/Image/Tests/ImageWin32Test.d.ts +9 -8
- package/Libraries/Image/Tests/ImageWin32Test.js +22 -19
- package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -0
- package/Libraries/Image/TextInlineImageNativeComponent.js +36 -7
- package/Libraries/Image/assetPaths.js +36 -0
- package/Libraries/Image/nativeImageSource.js +7 -9
- package/Libraries/Image/resolveAssetSource.js +68 -32
- package/Libraries/Image/resolveAssetSource.win32.js +19 -7
- package/Libraries/Interaction/FrameRateLogger.js +11 -23
- package/Libraries/Interaction/InteractionManager.d.ts +87 -0
- package/Libraries/Interaction/InteractionManager.js +49 -44
- package/Libraries/Interaction/InteractionManagerStub.js +184 -0
- package/Libraries/Interaction/JSEventLoopWatchdog.js +12 -17
- package/Libraries/Interaction/NativeFrameRateLogger.js +5 -16
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.js +55 -54
- package/Libraries/Interaction/TaskQueue.js +20 -20
- package/Libraries/Interaction/TouchHistoryMath.js +59 -30
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +105 -42
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +57 -47
- package/Libraries/Linking/NativeIntentAndroid.js +13 -0
- package/Libraries/Linking/NativeLinkingManager.js +13 -0
- package/Libraries/Lists/FillRateHelper.js +7 -233
- package/Libraries/Lists/FlatList.d.ts +244 -0
- package/Libraries/Lists/FlatList.js +216 -152
- package/Libraries/Lists/SectionList.d.ts +267 -0
- package/Libraries/Lists/SectionList.js +72 -70
- package/Libraries/Lists/SectionListModern.js +242 -0
- package/Libraries/Lists/ViewabilityHelper.js +12 -328
- package/Libraries/Lists/VirtualizeUtils.js +5 -236
- package/Libraries/Lists/VirtualizedList.js +12 -2225
- package/Libraries/Lists/VirtualizedListContext.js +18 -0
- package/Libraries/Lists/VirtualizedSectionList.js +13 -566
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +5 -4
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +9 -9
- package/Libraries/LogBox/Data/LogBoxData.js +120 -89
- package/Libraries/LogBox/Data/LogBoxLog.js +152 -17
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +10 -9
- package/Libraries/LogBox/Data/parseLogBoxLog.js +297 -84
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +195 -90
- package/Libraries/LogBox/LogBoxInspectorContainer.js +9 -9
- package/Libraries/LogBox/LogBoxNotificationContainer.js +13 -10
- package/Libraries/LogBox/UI/AnsiHighlight.js +47 -25
- package/Libraries/LogBox/UI/LogBoxButton.js +13 -12
- 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 +14 -78
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +93 -0
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +65 -39
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +192 -0
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +18 -54
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +60 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +27 -81
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +119 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +78 -0
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +12 -11
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +21 -17
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +198 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +9 -13
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +140 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +12 -12
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +120 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +21 -13
- package/Libraries/LogBox/UI/LogBoxMessage.js +100 -19
- package/Libraries/LogBox/UI/LogBoxNotification.js +24 -158
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +65 -0
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +69 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +60 -0
- package/Libraries/LogBox/UI/LogBoxStyle.js +1 -3
- package/Libraries/LogBox/UI/LogBoxStyle.win32.js +65 -0
- package/Libraries/Modal/Modal.d.ts +116 -0
- package/Libraries/Modal/Modal.js +243 -128
- package/Libraries/Modal/NativeModalManager.js +5 -14
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +4 -117
- package/Libraries/NativeComponent/BaseViewConfig.android.js +432 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +432 -0
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +424 -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 +148 -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 +22 -6
- package/Libraries/Network/NativeNetworkingAndroid.js +5 -30
- package/Libraries/Network/NativeNetworkingIOS.js +5 -30
- package/Libraries/Network/RCTNetworking.android.js +33 -21
- package/Libraries/Network/RCTNetworking.ios.js +23 -19
- package/Libraries/Network/RCTNetworking.js.flow +44 -0
- package/Libraries/Network/RCTNetworking.win32.js +41 -70
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +57 -0
- package/Libraries/Network/XMLHttpRequest.js +11 -610
- package/Libraries/Network/XMLHttpRequest_new.js +794 -0
- package/Libraries/Network/XMLHttpRequest_old.js +701 -0
- package/Libraries/Network/convertRequestBody.js +9 -6
- package/Libraries/Network/fetch.js +6 -4
- package/Libraries/NewAppScreen/components/Colors.js +2 -3
- package/Libraries/NewAppScreen/components/DebugInstructions.js +9 -8
- package/Libraries/NewAppScreen/components/Header.js +36 -16
- package/Libraries/NewAppScreen/components/HermesBadge.js +51 -0
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +50 -27
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +5 -4
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +12 -6
- 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 +163 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +103 -64
- package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
- package/Libraries/PersonaCoin/PersonaCoin.js +16 -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 +5 -4
- package/Libraries/Pressability/HoverState.win32.js +63 -0
- package/Libraries/Pressability/Pressability.js +274 -180
- package/Libraries/Pressability/Pressability.win32.js +1093 -0
- package/Libraries/Pressability/PressabilityDebug.js +33 -29
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
- package/Libraries/Pressability/PressabilityTypes.js +18 -0
- package/Libraries/Pressability/usePressability.js +28 -11
- package/Libraries/Promise.js +7 -37
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +5 -66
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +247 -93
- 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 +209 -0
- package/Libraries/ReactNative/AppContainer-prod.js +50 -0
- package/Libraries/ReactNative/AppContainer.js +15 -140
- package/Libraries/ReactNative/AppRegistry.d.ts +121 -0
- package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
- package/Libraries/ReactNative/AppRegistry.js +21 -292
- package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
- package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
- package/Libraries/ReactNative/BridgelessUIManager.js +414 -0
- package/Libraries/ReactNative/DisplayMode.js +32 -0
- package/Libraries/ReactNative/FabricUIManager.js +130 -29
- package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/I18nManager.js +22 -16
- 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 +82 -55
- package/Libraries/ReactNative/PaperUIManager.win32.js +210 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +150 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +152 -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 +175 -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 +114 -0
- package/Libraries/ReactNative/UIManager.js +180 -26
- package/Libraries/ReactNative/UIManagerProperties.js +6 -9
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +33 -0
- package/Libraries/ReactNative/getNativeComponentAttributes.js +58 -31
- package/Libraries/ReactNative/renderApplication.js +72 -23
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +10 -6
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +95 -20
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +16297 -19948
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +8563 -5501
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +9018 -5570
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16537 -20505
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +8466 -5422
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +9225 -5791
- package/Libraries/Renderer/shims/ReactFabric.js +10 -9
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +5 -3
- package/Libraries/Renderer/shims/ReactNative.js +6 -5
- package/Libraries/Renderer/shims/ReactNativeTypes.js +215 -118
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +27 -37
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +8 -7
- package/Libraries/Settings/NativeSettingsManager.js +5 -18
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Settings/Settings.ios.js +8 -8
- package/Libraries/Settings/Settings.js +33 -0
- package/Libraries/Settings/Settings.win32.js +3 -3
- package/Libraries/Share/NativeShareModule.js +5 -16
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +42 -27
- 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 +53 -17
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
- 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 +10 -4
- package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +2 -4
- package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +2 -2
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +3 -5
- package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
- package/Libraries/StyleSheet/StyleSheet.js +48 -224
- package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
- package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +110 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +573 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +505 -143
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +11 -35
- package/Libraries/StyleSheet/flattenStyle.js +18 -9
- package/Libraries/StyleSheet/normalizeColor.js +12 -371
- 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/processBackgroundImage.js +363 -0
- package/Libraries/StyleSheet/processBoxShadow.js +213 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +7 -9
- package/Libraries/StyleSheet/processColorArray.js +19 -8
- package/Libraries/StyleSheet/processFilter.js +325 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +132 -112
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +2 -2
- package/Libraries/StyleSheet/splitLayoutProps.js +57 -49
- package/Libraries/Text/Text.d.ts +306 -0
- package/Libraries/Text/Text.js +507 -270
- package/Libraries/Text/Text.win32.js +579 -0
- package/Libraries/Text/TextAncestor.js +6 -2
- package/Libraries/Text/TextNativeComponent.js +82 -0
- package/Libraries/Text/TextNativeComponent.win32.js +117 -0
- package/Libraries/Text/TextProps.js +203 -84
- package/Libraries/Text/TextProps.win32.js +322 -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 +24 -16
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +5 -28
- package/Libraries/Types/CodegenTypes.js +13 -5
- package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
- package/Libraries/Types/CodegenTypesNamespace.js +14 -0
- package/Libraries/Types/CoreEventTypes.d.ts +264 -0
- package/Libraries/Types/CoreEventTypes.js +260 -92
- package/Libraries/Types/CoreEventTypes.win32.js +378 -0
- package/Libraries/Types/ReactDevToolsTypes.js +54 -0
- package/Libraries/Types/RootTagTypes.js +11 -0
- package/Libraries/Types/UIManagerJSInterface.js +16 -0
- package/Libraries/UTFSequence.js +10 -7
- package/Libraries/Utilities/Appearance.d.ts +53 -0
- package/Libraries/Utilities/Appearance.js +110 -63
- package/Libraries/Utilities/BackHandler.android.js +20 -40
- package/Libraries/Utilities/BackHandler.d.ts +34 -0
- package/Libraries/Utilities/BackHandler.ios.js +20 -110
- package/Libraries/Utilities/BackHandler.js.flow +25 -0
- package/Libraries/Utilities/BackHandler.win32.js +96 -7
- package/Libraries/Utilities/DevLoadingView.js +64 -0
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +69 -48
- package/Libraries/Utilities/DeviceInfo.js +3 -3
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +34 -48
- package/Libraries/Utilities/Dimensions.win32.js +111 -18
- package/Libraries/Utilities/FeatureDetection.js +29 -0
- package/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
- package/Libraries/Utilities/FocusManager.win32.js +42 -0
- package/Libraries/Utilities/GlobalPerformanceLogger.js +5 -6
- package/Libraries/Utilities/HMRClient.js +78 -43
- package/Libraries/Utilities/HMRClientProdShim.js +2 -2
- 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 +42 -21
- package/Libraries/Utilities/Platform.d.ts +106 -0
- package/Libraries/Utilities/Platform.ios.js +44 -24
- package/Libraries/Utilities/Platform.js.flow +13 -0
- package/Libraries/Utilities/Platform.win32.js +45 -18
- package/Libraries/Utilities/PlatformTypes.js +222 -0
- package/Libraries/Utilities/PolyfillFunctions.js +9 -11
- package/Libraries/Utilities/RCTLog.js +7 -6
- package/Libraries/Utilities/ReactNativeTestTools.js +38 -60
- package/Libraries/Utilities/SceneTracker.js +7 -6
- package/Libraries/Utilities/__mocks__/BackHandler.js +7 -12
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +3 -3
- package/Libraries/Utilities/__mocks__/PixelRatio.js +2 -2
- package/Libraries/Utilities/binaryToBase64.js +7 -5
- package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
- package/Libraries/Utilities/codegenNativeCommands.js +8 -8
- package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
- package/Libraries/Utilities/codegenNativeComponent.js +27 -17
- package/Libraries/Utilities/createPerformanceLogger.js +259 -244
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +13 -7
- package/Libraries/Utilities/defineLazyObjectProperty.js +4 -4
- package/Libraries/Utilities/differ/deepDiffer.js +8 -8
- package/Libraries/Utilities/differ/insetsDiffer.js +4 -4
- package/Libraries/Utilities/differ/matricesDiffer.js +5 -4
- package/Libraries/Utilities/differ/pointsDiffer.js +4 -4
- package/Libraries/Utilities/differ/sizesDiffer.js +13 -7
- package/Libraries/Utilities/dismissKeyboard.js +4 -3
- package/Libraries/Utilities/infoLog.js +4 -3
- package/Libraries/Utilities/logError.js +3 -3
- package/Libraries/Utilities/mapWithSeparator.js +2 -2
- package/Libraries/Utilities/stringifySafe.js +10 -10
- package/Libraries/Utilities/stringifyViewConfig.js +22 -0
- package/Libraries/Utilities/useColorScheme.js +10 -16
- package/Libraries/Utilities/useMergeRefs.js +59 -0
- package/Libraries/Utilities/useRefEffect.js +45 -0
- package/Libraries/Utilities/useWindowDimensions.js +15 -8
- package/Libraries/Utilities/warnOnce.js +4 -6
- package/Libraries/Vibration/NativeVibration.js +5 -17
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +19 -17
- package/Libraries/WebSocket/NativeWebSocketModule.js +5 -27
- package/Libraries/WebSocket/WebSocket.js +9 -266
- package/Libraries/WebSocket/WebSocketEvent.js +6 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +78 -31
- package/Libraries/WebSocket/WebSocket_new.js +325 -0
- package/Libraries/WebSocket/WebSocket_old.js +297 -0
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +2 -2
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +5 -7
- package/Libraries/__tests__/ButtonWin32-test.js +17 -0
- package/Libraries/platform-types.d.ts +25 -0
- package/Libraries/promiseRejectionTrackingOptions.js +72 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/core/ErrorUtils.js +5 -3
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/Libraries/vendor/emitter/EventEmitter.js +137 -191
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
- package/babel.config.js +3 -0
- package/flow/HermesInternalType.js +114 -0
- package/flow/Stringish.js +1 -1
- package/flow/console.js +1 -1
- package/flow/global.js +90 -0
- package/index.js +454 -421
- package/index.win32.js +792 -44
- package/interface.js +8 -12
- 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 +28 -16
- package/jest/mockModal.js +32 -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 +29 -22
- package/jest/setup.js +442 -287
- package/jest-snapshot-resolver.js +2 -0
- package/jest.config.js +38 -0
- package/just-task.js +11 -53
- package/metro.config.js +5 -20
- package/metroShortPathAssetDataPlugin.js +15 -0
- package/overrides.json +304 -251
- package/package.json +86 -47
- package/react-native.config.js +2 -0
- package/rn-get-polyfills.js +3 -6
- package/saveAssetPlugin.js +45 -0
- package/src/private/animated/NativeAnimatedHelper.js +453 -0
- package/src/private/animated/NativeAnimatedHelper.win32.js +456 -0
- package/src/private/animated/NativeAnimatedValidation.js +64 -0
- package/src/private/animated/createAnimatedPropsHook.js +380 -0
- package/src/private/animated/createAnimatedPropsMemoHook.js +407 -0
- package/src/private/components/HScrollViewNativeComponents.js +30 -0
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +32 -0
- package/src/private/components/VScrollViewNativeComponents.js +25 -0
- package/src/private/debugging/FuseboxSessionObserver.js +42 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +20 -0
- package/src/private/debugging/setUpFuseboxReactDevToolsDispatcher.js +114 -0
- package/src/private/devmenu/DevMenu.d.ts +20 -0
- package/src/private/devmenu/DevMenu.js +31 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +336 -0
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +115 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +75 -0
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/inspector/BorderBox.js +44 -0
- package/src/private/inspector/BoxInspector.js +130 -0
- package/src/private/inspector/ElementBox.js +151 -0
- package/src/private/inspector/ElementProperties.js +125 -0
- package/src/private/inspector/Inspector.js +209 -0
- package/src/private/inspector/InspectorOverlay.js +66 -0
- package/src/private/inspector/InspectorPanel.js +166 -0
- package/src/private/inspector/NetworkOverlay.js +627 -0
- package/src/private/inspector/PerformanceOverlay.js +65 -0
- package/src/private/inspector/ReactDevToolsOverlay.js +166 -0
- package/src/private/inspector/StyleInspector.js +76 -0
- package/src/private/inspector/XHRInterceptor.js +217 -0
- package/src/private/inspector/getInspectorDataForViewAtPoint.js +81 -0
- package/src/private/inspector/resolveBoxStyle.js +115 -0
- package/src/private/renderer/errorhandling/ErrorHandlers.js +83 -0
- package/src/private/setup/setUpDOM.js +76 -0
- package/src/private/setup/setUpIntersectionObserver.js +27 -0
- package/src/private/setup/setUpMutationObserver.js +31 -0
- package/src/private/setup/setUpPerformanceObserver.js +64 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +53 -0
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +124 -0
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +27 -0
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +62 -0
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +61 -0
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +36 -0
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +71 -0
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +26 -0
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +147 -0
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +25 -0
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +61 -0
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +26 -0
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +42 -0
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfoWin32.js +48 -0
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +70 -0
- package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +56 -0
- package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +35 -0
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +77 -0
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +78 -0
- package/src/private/specs_DEPRECATED/modules/NativeAppState.js +33 -0
- package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +30 -0
- package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +61 -0
- package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +20 -0
- package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +21 -0
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +24 -0
- package/src/private/specs_DEPRECATED/modules/NativeDevMenu.js +22 -0
- package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +33 -0
- package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +19 -0
- package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +58 -0
- package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +48 -0
- package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +91 -0
- package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +22 -0
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +22 -0
- package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +20 -0
- package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +28 -0
- package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +52 -0
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +30 -0
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +37 -0
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderWin32.js +45 -0
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +26 -0
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +33 -0
- package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +30 -0
- package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +19 -0
- package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +20 -0
- package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +27 -0
- package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +20 -0
- package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +21 -0
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +37 -0
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +37 -0
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +78 -0
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +44 -0
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +37 -0
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsWin.js +39 -0
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +103 -0
- package/src/private/specs_DEPRECATED/modules/NativeReactDevToolsSettingsManager.js +22 -0
- package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +20 -0
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +66 -0
- package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +28 -0
- package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +25 -0
- package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +23 -0
- package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +22 -0
- package/src/private/specs_DEPRECATED/modules/NativeSourceCode.js +36 -0
- package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid.js +68 -0
- package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS.js +89 -0
- package/src/private/specs_DEPRECATED/modules/NativeTiming.js +26 -0
- package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +38 -0
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +184 -0
- package/src/private/specs_DEPRECATED/modules/NativeVibration.js +24 -0
- package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +34 -0
- package/src/private/styles/composeStyles.js +27 -0
- package/src/private/types/HostComponent.js +16 -0
- package/src/private/types/HostInstance.js +108 -0
- package/src/private/webapis/dom/events/CustomEvent.js +38 -0
- package/src/private/webapis/dom/events/Event.js +236 -0
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
- package/src/private/webapis/dom/events/EventTarget.js +436 -0
- package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +121 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +259 -0
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +72 -0
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +332 -0
- package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +150 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +44 -0
- package/src/private/webapis/dom/nodes/internals/Traversal.js +54 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +579 -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/geometry/DOMRect.js +82 -0
- package/src/private/webapis/geometry/DOMRectList.js +76 -0
- package/src/private/webapis/geometry/DOMRectReadOnly.js +188 -0
- package/src/private/webapis/html/events/MessageEvent.js +56 -0
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +345 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +167 -0
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +280 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +43 -0
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +186 -0
- package/src/private/webapis/mutationobserver/MutationRecord.js +82 -0
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +225 -0
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +58 -0
- package/src/private/webapis/performance/EventTiming.js +145 -0
- package/src/private/webapis/performance/LongTasks.js +39 -0
- package/src/private/webapis/performance/MemoryInfo.js +54 -0
- package/src/private/webapis/performance/Performance.js +287 -0
- package/src/private/webapis/performance/PerformanceEntry.js +68 -0
- package/src/private/webapis/performance/PerformanceObserver.js +232 -0
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
- package/src/private/webapis/performance/UserTiming.js +72 -0
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +105 -0
- package/src/private/webapis/performance/internals/Utilities.js +18 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +92 -0
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
- package/src/private/webapis/utils/ArrayLikeUtils.js +46 -0
- package/src/private/webapis/websockets/events/CloseEvent.js +52 -0
- package/src/private/webapis/xhr/events/ProgressEvent.js +52 -0
- package/src/types/globals.d.ts +628 -0
- package/src/types/third_party/event-target-shim.d.ts +392 -0
- package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +177 -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 +566 -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 +13 -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 +306 -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/index.d.ts +167 -0
- package/types/modules/BatchedBridge.d.ts +32 -0
- package/types/modules/Codegen.d.ts +80 -0
- package/types/modules/Devtools.d.ts +32 -0
- package/types/modules/LaunchScreen.d.ts +26 -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 +139 -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/IntegrationTests/launchWebSocketServer.command +0 -18
- 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/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/HeapCapture/HeapCapture.js +0 -31
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -20
- package/Libraries/Image/ImagePickerIOS.js +0 -105
- package/Libraries/Image/ImageViewViewConfig.js +0 -68
- package/Libraries/Image/NativeImagePickerIOS.js +0 -40
- package/Libraries/Image/assetPathUtils.js +0 -91
- package/Libraries/Inspector/BorderBox.js +0 -32
- package/Libraries/Inspector/BoxInspector.js +0 -110
- package/Libraries/Inspector/ElementBox.js +0 -138
- package/Libraries/Inspector/ElementProperties.js +0 -147
- package/Libraries/Inspector/Inspector.js +0 -312
- package/Libraries/Inspector/Inspector.win32.js +0 -318
- package/Libraries/Inspector/InspectorOverlay.js +0 -90
- package/Libraries/Inspector/InspectorOverlay.win32.js +0 -91
- package/Libraries/Inspector/InspectorPanel.js +0 -170
- package/Libraries/Inspector/NetworkOverlay.js +0 -601
- package/Libraries/Inspector/PerformanceOverlay.js +0 -63
- package/Libraries/Inspector/StyleInspector.js +0 -70
- package/Libraries/Inspector/resolveBoxStyle.js +0 -114
- 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/JSInspector/InspectorAgent.js +0 -27
- package/Libraries/JSInspector/JSInspector.js +0 -36
- package/Libraries/JSInspector/NetworkAgent.js +0 -300
- package/Libraries/Linking/NativeLinking.js +0 -41
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -21
- package/Libraries/Network/XHRInterceptor.js +0 -166
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -20
- package/Libraries/Performance/PureComponentDebug.js +0 -73
- package/Libraries/Performance/QuickPerformanceLogger.js +0 -101
- package/Libraries/Performance/SamplingProfiler.js +0 -39
- package/Libraries/ReactNative/DummyUIManager.js +0 -123
- package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
- 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/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/StyleSheet.win32.js +0 -366
- package/Libraries/StyleSheet/StyleSheetValidation.js +0 -97
- package/Libraries/StyleSheet/StyleSheetValidation.win32.js +0 -102
- package/Libraries/Utilities/BackHandler.win32.d.ts +0 -2
- package/Libraries/Utilities/DeviceInfo.win32.js +0 -21
- 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/Utilities/verifyComponentAttributeEquivalence.js +0 -134
- package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
- 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/AnExSlides.md +0 -107
- 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/Position.js +0 -16
- package/flow/Promise.js +0 -47
- package/flow/fbjs.js +0 -258
- package/flow/jest.js +0 -1189
- 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,163 +1,232 @@
|
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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';
|
|
11
|
+
import type {HostInstance} from '../../../src/private/types/HostInstance';
|
|
12
|
+
import type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';
|
|
13
|
+
import type {
|
|
14
|
+
GestureResponderEvent,
|
|
15
|
+
NativeSyntheticEvent,
|
|
16
|
+
ScrollEvent,
|
|
17
|
+
} from '../../Types/CoreEventTypes';
|
|
29
18
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
30
|
-
import type {
|
|
31
|
-
|
|
32
|
-
import
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
type
|
|
19
|
+
import type {TextInputInstance, TextInputType} from './TextInput.flow';
|
|
20
|
+
|
|
21
|
+
import usePressability from '../../Pressability/usePressability';
|
|
22
|
+
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
23
|
+
import StyleSheet, {
|
|
24
|
+
type ColorValue,
|
|
25
|
+
type TextStyleProp,
|
|
26
|
+
type ViewStyleProp,
|
|
27
|
+
} from '../../StyleSheet/StyleSheet';
|
|
28
|
+
import Text from '../../Text/Text';
|
|
29
|
+
import TextAncestor from '../../Text/TextAncestor';
|
|
30
|
+
import Platform from '../../Utilities/Platform';
|
|
31
|
+
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
32
|
+
import TextInputState from './TextInputState';
|
|
33
|
+
import invariant from 'invariant';
|
|
34
|
+
import nullthrows from 'nullthrows';
|
|
35
|
+
import * as React from 'react';
|
|
36
|
+
import {useCallback, useLayoutEffect, useRef, useState} from 'react';
|
|
37
37
|
|
|
38
38
|
let AndroidTextInput;
|
|
39
39
|
let AndroidTextInputCommands;
|
|
40
|
-
let RCTMultilineTextInputView;
|
|
41
40
|
let RCTSinglelineTextInputView;
|
|
41
|
+
let RCTSinglelineTextInputNativeCommands;
|
|
42
|
+
let RCTMultilineTextInputView;
|
|
43
|
+
let RCTMultilineTextInputNativeCommands;
|
|
42
44
|
|
|
43
45
|
if (Platform.OS === 'android') {
|
|
44
46
|
AndroidTextInput = require('./AndroidTextInputNativeComponent').default;
|
|
45
|
-
AndroidTextInputCommands =
|
|
46
|
-
.Commands;
|
|
47
|
+
AndroidTextInputCommands =
|
|
48
|
+
require('./AndroidTextInputNativeComponent').Commands;
|
|
47
49
|
} else if (Platform.OS === 'ios') {
|
|
48
|
-
|
|
49
|
-
.default;
|
|
50
|
-
|
|
51
|
-
.
|
|
50
|
+
RCTSinglelineTextInputView =
|
|
51
|
+
require('./RCTSingelineTextInputNativeComponent').default;
|
|
52
|
+
RCTSinglelineTextInputNativeCommands =
|
|
53
|
+
require('./RCTSingelineTextInputNativeComponent').Commands;
|
|
54
|
+
RCTMultilineTextInputView =
|
|
55
|
+
require('./RCTMultilineTextInputNativeComponent').default;
|
|
56
|
+
RCTMultilineTextInputNativeCommands =
|
|
57
|
+
require('./RCTMultilineTextInputNativeComponent').Commands;
|
|
52
58
|
}
|
|
53
59
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
/**
|
|
61
|
+
* @see TextInputProps.onChange
|
|
62
|
+
*/
|
|
63
|
+
type TextInputChangeEventData = $ReadOnly<{
|
|
64
|
+
eventCount: number,
|
|
65
|
+
target: number,
|
|
66
|
+
text: string,
|
|
67
|
+
}>;
|
|
68
|
+
|
|
69
|
+
export type TextInputChangeEvent =
|
|
70
|
+
NativeSyntheticEvent<TextInputChangeEventData>;
|
|
61
71
|
|
|
62
|
-
export type TextInputEvent =
|
|
63
|
-
$ReadOnly<{
|
|
72
|
+
export type TextInputEvent = NativeSyntheticEvent<
|
|
73
|
+
$ReadOnly<{
|
|
64
74
|
eventCount: number,
|
|
65
75
|
previousText: string,
|
|
66
|
-
range: $ReadOnly<{
|
|
76
|
+
range: $ReadOnly<{
|
|
67
77
|
start: number,
|
|
68
78
|
end: number,
|
|
69
|
-
|
|
79
|
+
}>,
|
|
70
80
|
target: number,
|
|
71
81
|
text: string,
|
|
72
|
-
|
|
82
|
+
}>,
|
|
73
83
|
>;
|
|
74
84
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|}>,
|
|
83
|
-
>;
|
|
85
|
+
type TextInputContentSizeChangeEventData = $ReadOnly<{
|
|
86
|
+
target: number,
|
|
87
|
+
contentSize: $ReadOnly<{
|
|
88
|
+
width: number,
|
|
89
|
+
height: number,
|
|
90
|
+
}>,
|
|
91
|
+
}>;
|
|
84
92
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
>;
|
|
93
|
+
/**
|
|
94
|
+
* @see TextInputProps.onContentSizeChange
|
|
95
|
+
*/
|
|
96
|
+
export type TextInputContentSizeChangeEvent =
|
|
97
|
+
NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
|
|
98
|
+
|
|
99
|
+
export type TargetEvent = $ReadOnly<{
|
|
100
|
+
target: number,
|
|
101
|
+
}>;
|
|
90
102
|
|
|
91
|
-
|
|
92
|
-
|
|
103
|
+
type TextInputFocusEventData = TargetEvent;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @see TextInputProps.onBlur
|
|
107
|
+
*/
|
|
108
|
+
export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
|
|
93
109
|
|
|
94
|
-
|
|
110
|
+
/**
|
|
111
|
+
* @see TextInputProps.onFocus
|
|
112
|
+
*/
|
|
113
|
+
export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
|
|
114
|
+
|
|
115
|
+
type TextInputScrollEventData = {
|
|
116
|
+
contentOffset: {x: number, y: number},
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* @see TextInputProps.onScroll
|
|
121
|
+
*/
|
|
122
|
+
export type TextInputScrollEvent =
|
|
123
|
+
NativeSyntheticEvent<TextInputScrollEventData>;
|
|
124
|
+
|
|
125
|
+
type Selection = $ReadOnly<{
|
|
95
126
|
start: number,
|
|
96
127
|
end: number,
|
|
97
|
-
|
|
128
|
+
}>;
|
|
98
129
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|}>,
|
|
104
|
-
>;
|
|
130
|
+
type TextInputSelectionChangeEventData = $ReadOnly<{
|
|
131
|
+
...TargetEvent,
|
|
132
|
+
selection: Selection,
|
|
133
|
+
}>;
|
|
105
134
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|}>,
|
|
112
|
-
>;
|
|
135
|
+
/**
|
|
136
|
+
* @see TextInputProps.onSelectionChange
|
|
137
|
+
*/
|
|
138
|
+
export type TextInputSelectionChangeEvent =
|
|
139
|
+
NativeSyntheticEvent<TextInputSelectionChangeEventData>;
|
|
113
140
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
141
|
+
type TextInputKeyPressEventData = $ReadOnly<{
|
|
142
|
+
...TargetEvent,
|
|
143
|
+
key: string,
|
|
144
|
+
target?: ?number,
|
|
145
|
+
eventCount?: ?number,
|
|
146
|
+
}>;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* @see TextInputProps.onKeyPress
|
|
150
|
+
*/
|
|
151
|
+
export type TextInputKeyPressEvent =
|
|
152
|
+
NativeSyntheticEvent<TextInputKeyPressEventData>;
|
|
153
|
+
|
|
154
|
+
type TextInputEndEditingEventData = $ReadOnly<{
|
|
155
|
+
...TargetEvent,
|
|
156
|
+
eventCount: number,
|
|
157
|
+
text: string,
|
|
158
|
+
}>;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* @see TextInputProps.onEndEditing
|
|
162
|
+
*/
|
|
163
|
+
export type TextInputEndEditingEvent =
|
|
164
|
+
NativeSyntheticEvent<TextInputEndEditingEventData>;
|
|
165
|
+
|
|
166
|
+
type TextInputSubmitEditingEventData = $ReadOnly<{
|
|
167
|
+
...TargetEvent,
|
|
168
|
+
eventCount: number,
|
|
169
|
+
text: string,
|
|
170
|
+
}>;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* @see TextInputProps.onSubmitEditing
|
|
174
|
+
*/
|
|
175
|
+
export type TextInputSubmitEditingEvent =
|
|
176
|
+
NativeSyntheticEvent<TextInputSubmitEditingEventData>;
|
|
177
|
+
|
|
178
|
+
export type TextInputEditingEvent =
|
|
179
|
+
NativeSyntheticEvent<TextInputEndEditingEventData>;
|
|
121
180
|
|
|
122
181
|
type DataDetectorTypesType =
|
|
123
182
|
| 'phoneNumber'
|
|
124
183
|
| 'link'
|
|
125
184
|
| 'address'
|
|
126
185
|
| 'calendarEvent'
|
|
186
|
+
| 'trackingNumber'
|
|
187
|
+
| 'flightNumber'
|
|
188
|
+
| 'lookupSuggestion'
|
|
127
189
|
| 'none'
|
|
128
190
|
| 'all';
|
|
129
191
|
|
|
130
192
|
export type KeyboardType =
|
|
131
|
-
// Cross Platform
|
|
132
193
|
| 'default'
|
|
133
194
|
| 'email-address'
|
|
134
195
|
| 'numeric'
|
|
135
196
|
| 'phone-pad'
|
|
136
197
|
| 'number-pad'
|
|
137
198
|
| 'decimal-pad'
|
|
138
|
-
|
|
199
|
+
| 'url';
|
|
200
|
+
|
|
201
|
+
export type KeyboardTypeIOS =
|
|
139
202
|
| 'ascii-capable'
|
|
140
203
|
| 'numbers-and-punctuation'
|
|
141
|
-
| 'url'
|
|
142
204
|
| 'name-phone-pad'
|
|
143
205
|
| 'twitter'
|
|
144
206
|
| 'web-search'
|
|
145
207
|
// iOS 10+ only
|
|
146
|
-
| 'ascii-capable-number-pad'
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
export type
|
|
151
|
-
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
| 'send'
|
|
157
|
-
// Android-only
|
|
208
|
+
| 'ascii-capable-number-pad';
|
|
209
|
+
|
|
210
|
+
export type KeyboardTypeAndroid = 'visible-password';
|
|
211
|
+
|
|
212
|
+
export type KeyboardTypeOptions =
|
|
213
|
+
| KeyboardType
|
|
214
|
+
| KeyboardTypeIOS
|
|
215
|
+
| KeyboardTypeAndroid;
|
|
216
|
+
|
|
217
|
+
export type InputModeOptions =
|
|
158
218
|
| 'none'
|
|
159
|
-
| '
|
|
160
|
-
|
|
219
|
+
| 'text'
|
|
220
|
+
| 'decimal'
|
|
221
|
+
| 'numeric'
|
|
222
|
+
| 'tel'
|
|
223
|
+
| 'search'
|
|
224
|
+
| 'email'
|
|
225
|
+
| 'url';
|
|
226
|
+
|
|
227
|
+
export type ReturnKeyType = 'done' | 'go' | 'next' | 'search' | 'send';
|
|
228
|
+
|
|
229
|
+
export type ReturnKeyTypeIOS =
|
|
161
230
|
| 'default'
|
|
162
231
|
| 'emergency-call'
|
|
163
232
|
| 'google'
|
|
@@ -165,6 +234,15 @@ export type ReturnKeyType =
|
|
|
165
234
|
| 'route'
|
|
166
235
|
| 'yahoo';
|
|
167
236
|
|
|
237
|
+
export type ReturnKeyTypeAndroid = 'none' | 'previous';
|
|
238
|
+
|
|
239
|
+
export type ReturnKeyTypeOptions =
|
|
240
|
+
| ReturnKeyType
|
|
241
|
+
| ReturnKeyTypeIOS
|
|
242
|
+
| ReturnKeyTypeAndroid;
|
|
243
|
+
|
|
244
|
+
export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
|
|
245
|
+
|
|
168
246
|
export type AutoCapitalize = 'none' | 'sentences' | 'words' | 'characters';
|
|
169
247
|
|
|
170
248
|
export type TextContentType =
|
|
@@ -175,6 +253,15 @@ export type TextContentType =
|
|
|
175
253
|
| 'addressState'
|
|
176
254
|
| 'countryName'
|
|
177
255
|
| 'creditCardNumber'
|
|
256
|
+
| 'creditCardExpiration'
|
|
257
|
+
| 'creditCardExpirationMonth'
|
|
258
|
+
| 'creditCardExpirationYear'
|
|
259
|
+
| 'creditCardSecurityCode'
|
|
260
|
+
| 'creditCardType'
|
|
261
|
+
| 'creditCardName'
|
|
262
|
+
| 'creditCardGivenName'
|
|
263
|
+
| 'creditCardMiddleName'
|
|
264
|
+
| 'creditCardFamilyName'
|
|
178
265
|
| 'emailAddress'
|
|
179
266
|
| 'familyName'
|
|
180
267
|
| 'fullStreetAddress'
|
|
@@ -195,30 +282,36 @@ export type TextContentType =
|
|
|
195
282
|
| 'username'
|
|
196
283
|
| 'password'
|
|
197
284
|
| 'newPassword'
|
|
198
|
-
| 'oneTimeCode'
|
|
285
|
+
| 'oneTimeCode'
|
|
286
|
+
| 'birthdate'
|
|
287
|
+
| 'birthdateDay'
|
|
288
|
+
| 'birthdateMonth'
|
|
289
|
+
| 'birthdateYear'
|
|
290
|
+
| 'cellularEID'
|
|
291
|
+
| 'cellularIMEI'
|
|
292
|
+
| 'dateTime'
|
|
293
|
+
| 'flightNumber'
|
|
294
|
+
| 'shipmentTrackingNumber';
|
|
199
295
|
|
|
200
|
-
type
|
|
296
|
+
export type EnterKeyHintTypeAndroid = 'previous';
|
|
201
297
|
|
|
202
|
-
type
|
|
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,
|
|
298
|
+
export type EnterKeyHintTypeIOS = 'enter';
|
|
209
299
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
300
|
+
export type EnterKeyHintType = 'done' | 'go' | 'next' | 'search' | 'send';
|
|
301
|
+
|
|
302
|
+
export type EnterKeyHintTypeOptions =
|
|
303
|
+
| EnterKeyHintType
|
|
304
|
+
| EnterKeyHintTypeAndroid
|
|
305
|
+
| EnterKeyHintTypeIOS;
|
|
306
|
+
|
|
307
|
+
type PasswordRules = string;
|
|
215
308
|
|
|
309
|
+
export type TextInputIOSProps = $ReadOnly<{
|
|
216
310
|
/**
|
|
217
|
-
* If
|
|
218
|
-
* automatically enables it when there is text. The default value is `false`.
|
|
311
|
+
* If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.
|
|
219
312
|
* @platform ios
|
|
220
313
|
*/
|
|
221
|
-
|
|
314
|
+
disableKeyboardShortcuts?: ?boolean,
|
|
222
315
|
|
|
223
316
|
/**
|
|
224
317
|
* When the clear button should appear on the right side of the text view.
|
|
@@ -255,6 +348,13 @@ type IOSProps = $ReadOnly<{|
|
|
|
255
348
|
| ?DataDetectorTypesType
|
|
256
349
|
| $ReadOnlyArray<DataDetectorTypesType>,
|
|
257
350
|
|
|
351
|
+
/**
|
|
352
|
+
* If `true`, the keyboard disables the return key when there is no text and
|
|
353
|
+
* automatically enables it when there is text. The default value is `false`.
|
|
354
|
+
* @platform ios
|
|
355
|
+
*/
|
|
356
|
+
enablesReturnKeyAutomatically?: ?boolean,
|
|
357
|
+
|
|
258
358
|
/**
|
|
259
359
|
* An optional identifier which links a custom InputAccessoryView to
|
|
260
360
|
* this text input. The InputAccessoryView is rendered above the
|
|
@@ -264,11 +364,16 @@ type IOSProps = $ReadOnly<{|
|
|
|
264
364
|
inputAccessoryViewID?: ?string,
|
|
265
365
|
|
|
266
366
|
/**
|
|
267
|
-
*
|
|
268
|
-
* expected semantic meaning for the content that users enter.
|
|
367
|
+
* An optional label that overrides the default input accessory view button label.
|
|
269
368
|
* @platform ios
|
|
270
369
|
*/
|
|
271
|
-
|
|
370
|
+
inputAccessoryViewButtonLabel?: ?string,
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Determines the color of the keyboard.
|
|
374
|
+
* @platform ios
|
|
375
|
+
*/
|
|
376
|
+
keyboardAppearance?: ?('default' | 'light' | 'dark'),
|
|
272
377
|
|
|
273
378
|
/**
|
|
274
379
|
* Provide rules for your password.
|
|
@@ -293,61 +398,62 @@ type IOSProps = $ReadOnly<{|
|
|
|
293
398
|
* @platform ios
|
|
294
399
|
*/
|
|
295
400
|
scrollEnabled?: ?boolean,
|
|
296
|
-
|}>;
|
|
297
401
|
|
|
298
|
-
type AndroidProps = $ReadOnly<{|
|
|
299
402
|
/**
|
|
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
|
|
403
|
+
* If `false`, disables spell-check style (i.e. red underlines).
|
|
404
|
+
* The default value is inherited from `autoCorrect`.
|
|
405
|
+
* @platform ios
|
|
322
406
|
*/
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
407
|
+
spellCheck?: ?boolean,
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* Give the keyboard and the system information about the
|
|
411
|
+
* expected semantic meaning for the content that users enter.
|
|
412
|
+
* `autoComplete` property accomplishes same behavior and is recommended as its supported by both platforms.
|
|
413
|
+
* Avoid using both `autoComplete` and `textContentType`, you can use `Platform.select` for differing platform behaviors.
|
|
414
|
+
* For backwards compatibility, when both set, `textContentType` takes precedence on iOS.
|
|
415
|
+
* @platform ios
|
|
416
|
+
*/
|
|
417
|
+
textContentType?: ?TextContentType,
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Set line break strategy on iOS.
|
|
421
|
+
* @platform ios
|
|
422
|
+
*/
|
|
423
|
+
lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* Set line break mode on iOS.
|
|
427
|
+
* @platform ios
|
|
428
|
+
*/
|
|
429
|
+
lineBreakModeIOS?: ?(
|
|
430
|
+
| 'wordWrapping'
|
|
431
|
+
| 'char'
|
|
432
|
+
| 'clip'
|
|
433
|
+
| 'head'
|
|
434
|
+
| 'middle'
|
|
435
|
+
| 'tail'
|
|
337
436
|
),
|
|
338
437
|
|
|
339
438
|
/**
|
|
340
|
-
*
|
|
341
|
-
*
|
|
439
|
+
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
440
|
+
* neither delete one or two spaces after a cut or delete operation.
|
|
441
|
+
*
|
|
442
|
+
* The default value is `true`.
|
|
443
|
+
*
|
|
444
|
+
* @platform ios
|
|
342
445
|
*/
|
|
343
|
-
|
|
446
|
+
smartInsertDelete?: ?boolean,
|
|
447
|
+
}>;
|
|
344
448
|
|
|
449
|
+
export type TextInputAndroidProps = $ReadOnly<{
|
|
345
450
|
/**
|
|
346
|
-
*
|
|
347
|
-
* `
|
|
451
|
+
* When provided it will set the color of the cursor (or "caret") in the component.
|
|
452
|
+
* Unlike the behavior of `selectionColor` the cursor color will be set independently
|
|
453
|
+
* from the color of the text selection box.
|
|
348
454
|
* @platform android
|
|
349
455
|
*/
|
|
350
|
-
|
|
456
|
+
cursorColor?: ?ColorValue,
|
|
351
457
|
|
|
352
458
|
/**
|
|
353
459
|
* When `false`, if there is a small amount of space available around a text input
|
|
@@ -360,17 +466,27 @@ type AndroidProps = $ReadOnly<{|
|
|
|
360
466
|
disableFullscreenUI?: ?boolean,
|
|
361
467
|
|
|
362
468
|
/**
|
|
363
|
-
*
|
|
364
|
-
*
|
|
365
|
-
*
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
*
|
|
371
|
-
*
|
|
469
|
+
* Determines whether the individual fields in your app should be included in a
|
|
470
|
+
* view structure for autofill purposes on Android API Level 26+. Defaults to auto.
|
|
471
|
+
* To disable auto complete, use `off`.
|
|
472
|
+
*
|
|
473
|
+
* *Android Only*
|
|
474
|
+
*
|
|
475
|
+
* The following values work on Android only:
|
|
476
|
+
*
|
|
477
|
+
* - `auto` - let Android decide
|
|
478
|
+
* - `no` - not important for autofill
|
|
479
|
+
* - `noExcludeDescendants` - this view and its children aren't important for autofill
|
|
480
|
+
* - `yes` - is important for autofill
|
|
481
|
+
* - `yesExcludeDescendants` - this view is important for autofill but its children aren't
|
|
372
482
|
*/
|
|
373
|
-
|
|
483
|
+
importantForAutofill?: ?(
|
|
484
|
+
| 'auto'
|
|
485
|
+
| 'no'
|
|
486
|
+
| 'noExcludeDescendants'
|
|
487
|
+
| 'yes'
|
|
488
|
+
| 'yesExcludeDescendants'
|
|
489
|
+
),
|
|
374
490
|
|
|
375
491
|
/**
|
|
376
492
|
* If defined, the provided image resource will be rendered on the left.
|
|
@@ -391,27 +507,47 @@ type AndroidProps = $ReadOnly<{|
|
|
|
391
507
|
*/
|
|
392
508
|
inlineImagePadding?: ?number,
|
|
393
509
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
510
|
+
/**
|
|
511
|
+
* Sets the number of lines for a `TextInput`. Use it with multiline set to
|
|
512
|
+
* `true` to be able to fill the lines.
|
|
513
|
+
* @platform android
|
|
514
|
+
*/
|
|
515
|
+
numberOfLines?: ?number,
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Sets the return key to the label. Use it instead of `returnKeyType`.
|
|
519
|
+
* @platform android
|
|
520
|
+
*/
|
|
521
|
+
returnKeyLabel?: ?string,
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Sets the number of rows for a `TextInput`. Use it with multiline set to
|
|
525
|
+
* `true` to be able to fill the lines.
|
|
526
|
+
* @platform android
|
|
527
|
+
*/
|
|
528
|
+
rows?: ?number,
|
|
401
529
|
|
|
402
530
|
/**
|
|
403
531
|
* When `false`, it will prevent the soft keyboard from showing when the field is focused.
|
|
404
532
|
* Defaults to `true`.
|
|
405
|
-
* @platform android
|
|
406
533
|
*/
|
|
407
534
|
showSoftInputOnFocus?: ?boolean,
|
|
408
|
-
|}>;
|
|
409
535
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
536
|
+
/**
|
|
537
|
+
* Set text break strategy on Android API Level 23+, possible values are `simple`, `highQuality`, `balanced`
|
|
538
|
+
* The default value is `simple`.
|
|
539
|
+
* @platform android
|
|
540
|
+
*/
|
|
541
|
+
textBreakStrategy?: ?('simple' | 'highQuality' | 'balanced'),
|
|
542
|
+
|
|
543
|
+
/**
|
|
544
|
+
* The color of the `TextInput` underline.
|
|
545
|
+
* @platform android
|
|
546
|
+
*/
|
|
547
|
+
underlineColorAndroid?: ?ColorValue,
|
|
548
|
+
}>;
|
|
414
549
|
|
|
550
|
+
type TextInputBaseProps = $ReadOnly<{
|
|
415
551
|
/**
|
|
416
552
|
* Can tell `TextInput` to automatically capitalize certain characters.
|
|
417
553
|
*
|
|
@@ -422,6 +558,137 @@ export type Props = $ReadOnly<{|
|
|
|
422
558
|
*/
|
|
423
559
|
autoCapitalize?: ?AutoCapitalize,
|
|
424
560
|
|
|
561
|
+
/**
|
|
562
|
+
* Specifies autocomplete hints for the system, so it can provide autofill.
|
|
563
|
+
* On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
|
|
564
|
+
* To disable autocomplete, set autoComplete to off.
|
|
565
|
+
*
|
|
566
|
+
* The following values work across platforms:
|
|
567
|
+
*
|
|
568
|
+
* - `additional-name`
|
|
569
|
+
* - `address-line1`
|
|
570
|
+
* - `address-line2`
|
|
571
|
+
* - `birthdate-day` (iOS 17+)
|
|
572
|
+
* - `birthdate-full` (iOS 17+)
|
|
573
|
+
* - `birthdate-month` (iOS 17+)
|
|
574
|
+
* - `birthdate-year` (iOS 17+)
|
|
575
|
+
* - `cc-number`
|
|
576
|
+
* - `cc-csc` (iOS 17+)
|
|
577
|
+
* - `cc-exp` (iOS 17+)
|
|
578
|
+
* - `cc-exp-day` (iOS 17+)
|
|
579
|
+
* - `cc-exp-month` (iOS 17+)
|
|
580
|
+
* - `cc-exp-year` (iOS 17+)
|
|
581
|
+
* - `country`
|
|
582
|
+
* - `current-password`
|
|
583
|
+
* - `email`
|
|
584
|
+
* - `family-name`
|
|
585
|
+
* - `given-name`
|
|
586
|
+
* - `honorific-prefix`
|
|
587
|
+
* - `honorific-suffix`
|
|
588
|
+
* - `name`
|
|
589
|
+
* - `new-password`
|
|
590
|
+
* - `off`
|
|
591
|
+
* - `one-time-code`
|
|
592
|
+
* - `postal-code`
|
|
593
|
+
* - `street-address`
|
|
594
|
+
* - `tel`
|
|
595
|
+
* - `username`
|
|
596
|
+
*
|
|
597
|
+
* The following values work on iOS only:
|
|
598
|
+
*
|
|
599
|
+
* - `cc-name` (iOS 17+)
|
|
600
|
+
* - `cc-given-name` (iOS 17+)
|
|
601
|
+
* - `cc-middle-name` (iOS 17+)
|
|
602
|
+
* - `cc-family-name` (iOS 17+)
|
|
603
|
+
* - `cc-type` (iOS 17+)
|
|
604
|
+
* - `nickname`
|
|
605
|
+
* - `organization`
|
|
606
|
+
* - `organization-title`
|
|
607
|
+
* - `url`
|
|
608
|
+
*
|
|
609
|
+
* The following values work on Android only:
|
|
610
|
+
*
|
|
611
|
+
* - `gender`
|
|
612
|
+
* - `name-family`
|
|
613
|
+
* - `name-given`
|
|
614
|
+
* - `name-middle`
|
|
615
|
+
* - `name-middle-initial`
|
|
616
|
+
* - `name-prefix`
|
|
617
|
+
* - `name-suffix`
|
|
618
|
+
* - `password`
|
|
619
|
+
* - `password-new`
|
|
620
|
+
* - `postal-address`
|
|
621
|
+
* - `postal-address-country`
|
|
622
|
+
* - `postal-address-extended`
|
|
623
|
+
* - `postal-address-extended-postal-code`
|
|
624
|
+
* - `postal-address-locality`
|
|
625
|
+
* - `postal-address-region`
|
|
626
|
+
* - `sms-otp`
|
|
627
|
+
* - `tel-country-code`
|
|
628
|
+
* - `tel-national`
|
|
629
|
+
* - `tel-device`
|
|
630
|
+
* - `username-new`
|
|
631
|
+
*/
|
|
632
|
+
autoComplete?: ?(
|
|
633
|
+
| 'additional-name'
|
|
634
|
+
| 'address-line1'
|
|
635
|
+
| 'address-line2'
|
|
636
|
+
| 'birthdate-day'
|
|
637
|
+
| 'birthdate-full'
|
|
638
|
+
| 'birthdate-month'
|
|
639
|
+
| 'birthdate-year'
|
|
640
|
+
| 'cc-csc'
|
|
641
|
+
| 'cc-exp'
|
|
642
|
+
| 'cc-exp-day'
|
|
643
|
+
| 'cc-exp-month'
|
|
644
|
+
| 'cc-exp-year'
|
|
645
|
+
| 'cc-number'
|
|
646
|
+
| 'cc-name'
|
|
647
|
+
| 'cc-given-name'
|
|
648
|
+
| 'cc-middle-name'
|
|
649
|
+
| 'cc-family-name'
|
|
650
|
+
| 'cc-type'
|
|
651
|
+
| 'country'
|
|
652
|
+
| 'current-password'
|
|
653
|
+
| 'email'
|
|
654
|
+
| 'family-name'
|
|
655
|
+
| 'gender'
|
|
656
|
+
| 'given-name'
|
|
657
|
+
| 'honorific-prefix'
|
|
658
|
+
| 'honorific-suffix'
|
|
659
|
+
| 'name'
|
|
660
|
+
| 'name-family'
|
|
661
|
+
| 'name-given'
|
|
662
|
+
| 'name-middle'
|
|
663
|
+
| 'name-middle-initial'
|
|
664
|
+
| 'name-prefix'
|
|
665
|
+
| 'name-suffix'
|
|
666
|
+
| 'new-password'
|
|
667
|
+
| 'nickname'
|
|
668
|
+
| 'one-time-code'
|
|
669
|
+
| 'organization'
|
|
670
|
+
| 'organization-title'
|
|
671
|
+
| 'password'
|
|
672
|
+
| 'password-new'
|
|
673
|
+
| 'postal-address'
|
|
674
|
+
| 'postal-address-country'
|
|
675
|
+
| 'postal-address-extended'
|
|
676
|
+
| 'postal-address-extended-postal-code'
|
|
677
|
+
| 'postal-address-locality'
|
|
678
|
+
| 'postal-address-region'
|
|
679
|
+
| 'postal-code'
|
|
680
|
+
| 'street-address'
|
|
681
|
+
| 'sms-otp'
|
|
682
|
+
| 'tel'
|
|
683
|
+
| 'tel-country-code'
|
|
684
|
+
| 'tel-national'
|
|
685
|
+
| 'tel-device'
|
|
686
|
+
| 'url'
|
|
687
|
+
| 'username'
|
|
688
|
+
| 'username-new'
|
|
689
|
+
| 'off'
|
|
690
|
+
),
|
|
691
|
+
|
|
425
692
|
/**
|
|
426
693
|
* If `false`, disables auto-correct. The default value is `true`.
|
|
427
694
|
*/
|
|
@@ -440,19 +707,67 @@ export type Props = $ReadOnly<{|
|
|
|
440
707
|
allowFontScaling?: ?boolean,
|
|
441
708
|
|
|
442
709
|
/**
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
*
|
|
446
|
-
*
|
|
447
|
-
*
|
|
710
|
+
* If `true`, caret is hidden. The default value is `false`.
|
|
711
|
+
*
|
|
712
|
+
* On Android devices manufactured by Xiaomi with Android Q,
|
|
713
|
+
* when keyboardType equals 'email-address'this will be set
|
|
714
|
+
* in native to 'true' to prevent a system related crash. This
|
|
715
|
+
* will cause cursor to be disabled as a side-effect.
|
|
716
|
+
*
|
|
448
717
|
*/
|
|
449
|
-
|
|
718
|
+
caretHidden?: ?boolean,
|
|
719
|
+
|
|
720
|
+
/*
|
|
721
|
+
* If `true`, contextMenuHidden is hidden. The default value is `false`.
|
|
722
|
+
*/
|
|
723
|
+
contextMenuHidden?: ?boolean,
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Provides an initial value that will change when the user starts typing.
|
|
727
|
+
* Useful for simple use-cases where you do not want to deal with listening
|
|
728
|
+
* to events and updating the value prop to keep the controlled state in sync.
|
|
729
|
+
*/
|
|
730
|
+
defaultValue?: ?Stringish,
|
|
450
731
|
|
|
451
732
|
/**
|
|
452
733
|
* If `false`, text is not editable. The default value is `true`.
|
|
453
734
|
*/
|
|
454
735
|
editable?: ?boolean,
|
|
455
736
|
|
|
737
|
+
forwardedRef?: ?React.RefSetter<TextInputInstance>,
|
|
738
|
+
|
|
739
|
+
/**
|
|
740
|
+
* `enterKeyHint` defines what action label (or icon) to present for the enter key on virtual keyboards.
|
|
741
|
+
*
|
|
742
|
+
* The following values is supported:
|
|
743
|
+
*
|
|
744
|
+
* - `enter`
|
|
745
|
+
* - `done`
|
|
746
|
+
* - `go`
|
|
747
|
+
* - `next`
|
|
748
|
+
* - `previous`
|
|
749
|
+
* - `search`
|
|
750
|
+
* - `send`
|
|
751
|
+
*/
|
|
752
|
+
enterKeyHint?: ?EnterKeyHintTypeOptions,
|
|
753
|
+
|
|
754
|
+
/**
|
|
755
|
+
* `inputMode` works like the `inputmode` attribute in HTML, it determines which
|
|
756
|
+
* keyboard to open, e.g.`numeric` and has precedence over keyboardType
|
|
757
|
+
*
|
|
758
|
+
* Support the following values:
|
|
759
|
+
*
|
|
760
|
+
* - `none`
|
|
761
|
+
* - `text`
|
|
762
|
+
* - `decimal`
|
|
763
|
+
* - `numeric`
|
|
764
|
+
* - `tel`
|
|
765
|
+
* - `search`
|
|
766
|
+
* - `email`
|
|
767
|
+
* - `url`
|
|
768
|
+
*/
|
|
769
|
+
inputMode?: ?InputModeOptions,
|
|
770
|
+
|
|
456
771
|
/**
|
|
457
772
|
* Determines which keyboard to open, e.g.`numeric`.
|
|
458
773
|
*
|
|
@@ -464,6 +779,7 @@ export type Props = $ReadOnly<{|
|
|
|
464
779
|
* - `decimal-pad`
|
|
465
780
|
* - `email-address`
|
|
466
781
|
* - `phone-pad`
|
|
782
|
+
* - `url`
|
|
467
783
|
*
|
|
468
784
|
* *iOS Only*
|
|
469
785
|
*
|
|
@@ -471,7 +787,6 @@ export type Props = $ReadOnly<{|
|
|
|
471
787
|
*
|
|
472
788
|
* - `ascii-capable`
|
|
473
789
|
* - `numbers-and-punctuation`
|
|
474
|
-
* - `url`
|
|
475
790
|
* - `name-phone-pad`
|
|
476
791
|
* - `twitter`
|
|
477
792
|
* - `web-search`
|
|
@@ -481,42 +796,18 @@ export type Props = $ReadOnly<{|
|
|
|
481
796
|
* The following values work on Android only:
|
|
482
797
|
*
|
|
483
798
|
* - `visible-password`
|
|
799
|
+
*
|
|
484
800
|
*/
|
|
485
|
-
keyboardType?: ?
|
|
801
|
+
keyboardType?: ?KeyboardTypeOptions,
|
|
486
802
|
|
|
487
803
|
/**
|
|
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`
|
|
804
|
+
* Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.
|
|
805
|
+
* Possible values:
|
|
806
|
+
* `null/undefined` (default): inherit from the parent node or the global default (0)
|
|
807
|
+
* `0`: no max, ignore parent/global default
|
|
808
|
+
* `>= 1`: sets the maxFontSizeMultiplier of this node to this value
|
|
518
809
|
*/
|
|
519
|
-
|
|
810
|
+
maxFontSizeMultiplier?: ?number,
|
|
520
811
|
|
|
521
812
|
/**
|
|
522
813
|
* Limits the maximum number of characters that can be entered. Use this
|
|
@@ -533,17 +824,12 @@ export type Props = $ReadOnly<{|
|
|
|
533
824
|
/**
|
|
534
825
|
* Callback that is called when the text input is blurred.
|
|
535
826
|
*/
|
|
536
|
-
onBlur?: ?(e:
|
|
537
|
-
|
|
538
|
-
/**
|
|
539
|
-
* Callback that is called when the text input is focused.
|
|
540
|
-
*/
|
|
541
|
-
onFocus?: ?(e: FocusEvent) => mixed,
|
|
827
|
+
onBlur?: ?(e: TextInputBlurEvent) => mixed,
|
|
542
828
|
|
|
543
829
|
/**
|
|
544
830
|
* Callback that is called when the text input's text changes.
|
|
545
831
|
*/
|
|
546
|
-
onChange?: ?(e:
|
|
832
|
+
onChange?: ?(e: TextInputChangeEvent) => mixed,
|
|
547
833
|
|
|
548
834
|
/**
|
|
549
835
|
* Callback that is called when the text input's text changes.
|
|
@@ -558,25 +844,17 @@ export type Props = $ReadOnly<{|
|
|
|
558
844
|
*
|
|
559
845
|
* Only called for multiline text inputs.
|
|
560
846
|
*/
|
|
561
|
-
onContentSizeChange?: ?(e:
|
|
847
|
+
onContentSizeChange?: ?(e: TextInputContentSizeChangeEvent) => mixed,
|
|
562
848
|
|
|
563
849
|
/**
|
|
564
850
|
* Callback that is called when text input ends.
|
|
565
851
|
*/
|
|
566
|
-
onEndEditing?: ?(e:
|
|
567
|
-
|
|
568
|
-
/**
|
|
569
|
-
* Callback that is called when the text input selection is changed.
|
|
570
|
-
* This will be called with
|
|
571
|
-
* `{ nativeEvent: { selection: { start, end } } }`.
|
|
572
|
-
*/
|
|
573
|
-
onSelectionChange?: ?(e: SelectionChangeEvent) => mixed,
|
|
852
|
+
onEndEditing?: ?(e: TextInputEndEditingEvent) => mixed,
|
|
574
853
|
|
|
575
854
|
/**
|
|
576
|
-
* Callback that is called when the text input
|
|
577
|
-
* Invalid if `multiline={true}` is specified.
|
|
855
|
+
* Callback that is called when the text input is focused.
|
|
578
856
|
*/
|
|
579
|
-
|
|
857
|
+
onFocus?: ?(e: TextInputFocusEvent) => mixed,
|
|
580
858
|
|
|
581
859
|
/**
|
|
582
860
|
* Callback that is called when a key is pressed.
|
|
@@ -585,7 +863,35 @@ export type Props = $ReadOnly<{|
|
|
|
585
863
|
* the typed-in character otherwise including `' '` for space.
|
|
586
864
|
* Fires before `onChange` callbacks.
|
|
587
865
|
*/
|
|
588
|
-
onKeyPress?: ?(e:
|
|
866
|
+
onKeyPress?: ?(e: TextInputKeyPressEvent) => mixed,
|
|
867
|
+
|
|
868
|
+
/**
|
|
869
|
+
* Called when a single tap gesture is detected.
|
|
870
|
+
*/
|
|
871
|
+
onPress?: ?(event: GestureResponderEvent) => mixed,
|
|
872
|
+
|
|
873
|
+
/**
|
|
874
|
+
* Called when a touch is engaged.
|
|
875
|
+
*/
|
|
876
|
+
onPressIn?: ?(event: GestureResponderEvent) => mixed,
|
|
877
|
+
|
|
878
|
+
/**
|
|
879
|
+
* Called when a touch is released.
|
|
880
|
+
*/
|
|
881
|
+
onPressOut?: ?(event: GestureResponderEvent) => mixed,
|
|
882
|
+
|
|
883
|
+
/**
|
|
884
|
+
* Callback that is called when the text input selection is changed.
|
|
885
|
+
* This will be called with
|
|
886
|
+
* `{ nativeEvent: { selection: { start, end } } }`.
|
|
887
|
+
*/
|
|
888
|
+
onSelectionChange?: ?(e: TextInputSelectionChangeEvent) => mixed,
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* Callback that is called when the text input's submit button is pressed.
|
|
892
|
+
* Invalid if `multiline={true}` is specified.
|
|
893
|
+
*/
|
|
894
|
+
onSubmitEditing?: ?(e: TextInputSubmitEditingEvent) => mixed,
|
|
589
895
|
|
|
590
896
|
/**
|
|
591
897
|
* Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.
|
|
@@ -604,43 +910,74 @@ export type Props = $ReadOnly<{|
|
|
|
604
910
|
*/
|
|
605
911
|
placeholderTextColor?: ?ColorValue,
|
|
606
912
|
|
|
913
|
+
/** `readOnly` works like the `readonly` attribute in HTML.
|
|
914
|
+
* If `true`, text is not editable. The default value is `false`.
|
|
915
|
+
* See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly
|
|
916
|
+
* for more details.
|
|
917
|
+
*/
|
|
918
|
+
readOnly?: ?boolean,
|
|
919
|
+
|
|
607
920
|
/**
|
|
608
|
-
*
|
|
609
|
-
*
|
|
921
|
+
* Determines how the return key should look. On Android you can also use
|
|
922
|
+
* `returnKeyLabel`.
|
|
923
|
+
*
|
|
924
|
+
* *Cross platform*
|
|
925
|
+
*
|
|
926
|
+
* The following values work across platforms:
|
|
927
|
+
*
|
|
928
|
+
* - `done`
|
|
929
|
+
* - `go`
|
|
930
|
+
* - `next`
|
|
931
|
+
* - `search`
|
|
932
|
+
* - `send`
|
|
933
|
+
*
|
|
934
|
+
* *Android Only*
|
|
935
|
+
*
|
|
936
|
+
* The following values work on Android only:
|
|
937
|
+
*
|
|
938
|
+
* - `none`
|
|
939
|
+
* - `previous`
|
|
940
|
+
*
|
|
941
|
+
* *iOS Only*
|
|
942
|
+
*
|
|
943
|
+
* The following values work on iOS only:
|
|
944
|
+
*
|
|
945
|
+
* - `default`
|
|
946
|
+
* - `emergency-call`
|
|
947
|
+
* - `google`
|
|
948
|
+
* - `join`
|
|
949
|
+
* - `route`
|
|
950
|
+
* - `yahoo`
|
|
610
951
|
*/
|
|
611
|
-
|
|
952
|
+
returnKeyType?: ?ReturnKeyTypeOptions,
|
|
612
953
|
|
|
613
954
|
/**
|
|
614
|
-
*
|
|
955
|
+
* If `true`, the text input obscures the text entered so that sensitive text
|
|
956
|
+
* like passwords stay secure. The default value is `false`. Does not work with 'multiline={true}'.
|
|
615
957
|
*/
|
|
616
|
-
|
|
958
|
+
secureTextEntry?: ?boolean,
|
|
617
959
|
|
|
618
960
|
/**
|
|
619
961
|
* The start and end of the text input's selection. Set start and end to
|
|
620
962
|
* the same value to position the cursor.
|
|
621
963
|
*/
|
|
622
|
-
selection?: ?$ReadOnly<{
|
|
964
|
+
selection?: ?$ReadOnly<{
|
|
623
965
|
start: number,
|
|
624
966
|
end?: ?number,
|
|
625
|
-
|
|
967
|
+
}>,
|
|
626
968
|
|
|
627
969
|
/**
|
|
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.
|
|
970
|
+
* The highlight and cursor color of the text input.
|
|
635
971
|
*/
|
|
636
|
-
|
|
972
|
+
selectionColor?: ?ColorValue,
|
|
637
973
|
|
|
638
974
|
/**
|
|
639
|
-
*
|
|
640
|
-
*
|
|
641
|
-
*
|
|
975
|
+
* When provided it will set the color of the selection handles when highlighting text.
|
|
976
|
+
* Unlike the behavior of `selectionColor` the handle color will be set independently
|
|
977
|
+
* from the color of the text selection box.
|
|
978
|
+
* @platform android
|
|
642
979
|
*/
|
|
643
|
-
|
|
980
|
+
selectionHandleColor?: ?ColorValue,
|
|
644
981
|
|
|
645
982
|
/**
|
|
646
983
|
* If `true`, all text will automatically be selected on focus.
|
|
@@ -653,9 +990,34 @@ export type Props = $ReadOnly<{|
|
|
|
653
990
|
* multiline fields. Note that for multiline fields, setting `blurOnSubmit`
|
|
654
991
|
* to `true` means that pressing return will blur the field and trigger the
|
|
655
992
|
* `onSubmitEditing` event instead of inserting a newline into the field.
|
|
993
|
+
*
|
|
994
|
+
* @deprecated
|
|
995
|
+
* Note that `submitBehavior` now takes the place of `blurOnSubmit` and will
|
|
996
|
+
* override any behavior defined by `blurOnSubmit`.
|
|
997
|
+
* @see submitBehavior
|
|
656
998
|
*/
|
|
657
999
|
blurOnSubmit?: ?boolean,
|
|
658
1000
|
|
|
1001
|
+
/**
|
|
1002
|
+
* When the return key is pressed,
|
|
1003
|
+
*
|
|
1004
|
+
* For single line inputs:
|
|
1005
|
+
*
|
|
1006
|
+
* - `'newline`' defaults to `'blurAndSubmit'`
|
|
1007
|
+
* - `undefined` defaults to `'blurAndSubmit'`
|
|
1008
|
+
*
|
|
1009
|
+
* For multiline inputs:
|
|
1010
|
+
*
|
|
1011
|
+
* - `'newline'` adds a newline
|
|
1012
|
+
* - `undefined` defaults to `'newline'`
|
|
1013
|
+
*
|
|
1014
|
+
* For both single line and multiline inputs:
|
|
1015
|
+
*
|
|
1016
|
+
* - `'submit'` will only send a submit event and not blur the input
|
|
1017
|
+
* - `'blurAndSubmit`' will both blur the input and send a submit event
|
|
1018
|
+
*/
|
|
1019
|
+
submitBehavior?: ?SubmitBehavior,
|
|
1020
|
+
|
|
659
1021
|
/**
|
|
660
1022
|
* Note that not all Text styles are supported, an incomplete list of what is not supported includes:
|
|
661
1023
|
*
|
|
@@ -676,29 +1038,147 @@ export type Props = $ReadOnly<{|
|
|
|
676
1038
|
style?: ?TextStyleProp,
|
|
677
1039
|
|
|
678
1040
|
/**
|
|
679
|
-
*
|
|
680
|
-
*
|
|
1041
|
+
* The value to show for the text input. `TextInput` is a controlled
|
|
1042
|
+
* component, which means the native value will be forced to match this
|
|
1043
|
+
* value prop if provided. For most uses, this works great, but in some
|
|
1044
|
+
* cases this may cause flickering - one common cause is preventing edits
|
|
1045
|
+
* by keeping value the same. In addition to simply setting the same value,
|
|
1046
|
+
* either set `editable={false}`, or set/update `maxLength` to prevent
|
|
1047
|
+
* unwanted edits without flicker.
|
|
681
1048
|
*/
|
|
682
|
-
|
|
1049
|
+
value?: ?Stringish,
|
|
1050
|
+
}>;
|
|
683
1051
|
|
|
684
|
-
|
|
685
|
-
|
|
1052
|
+
export type TextInputProps = $ReadOnly<{
|
|
1053
|
+
...$Diff<ViewProps, $ReadOnly<{style: ?ViewStyleProp}>>,
|
|
1054
|
+
...TextInputIOSProps,
|
|
1055
|
+
...TextInputAndroidProps,
|
|
1056
|
+
...TextInputBaseProps,
|
|
1057
|
+
}>;
|
|
1058
|
+
|
|
1059
|
+
type TextInputStateType = $ReadOnly<{
|
|
1060
|
+
/**
|
|
1061
|
+
* @deprecated Use currentlyFocusedInput
|
|
1062
|
+
* Returns the ID of the currently focused text field, if one exists
|
|
1063
|
+
* If no text field is focused it returns null
|
|
686
1064
|
*/
|
|
687
|
-
|
|
1065
|
+
currentlyFocusedField: () => ?number,
|
|
688
1066
|
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
1067
|
+
/**
|
|
1068
|
+
* Returns the ref of the currently focused text field, if one exists
|
|
1069
|
+
* If no text field is focused it returns null
|
|
1070
|
+
*/
|
|
1071
|
+
currentlyFocusedInput: () => ?HostInstance,
|
|
1072
|
+
|
|
1073
|
+
/**
|
|
1074
|
+
* @param textField ref of the text field to focus
|
|
1075
|
+
* Focuses the specified text field
|
|
1076
|
+
* noop if the text field was already focused
|
|
1077
|
+
*/
|
|
1078
|
+
focusTextInput: (textField: ?HostInstance) => void,
|
|
1079
|
+
|
|
1080
|
+
/**
|
|
1081
|
+
* @param textField ref of the text field to focus
|
|
1082
|
+
* Unfocuses the specified text field
|
|
1083
|
+
* noop if it wasn't focused
|
|
1084
|
+
*/
|
|
1085
|
+
blurTextInput: (textField: ?HostInstance) => void,
|
|
1086
|
+
}>;
|
|
693
1087
|
|
|
694
|
-
type
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
1088
|
+
type ViewCommands = $NonMaybeType<
|
|
1089
|
+
| typeof AndroidTextInputCommands
|
|
1090
|
+
| typeof RCTMultilineTextInputNativeCommands
|
|
1091
|
+
| typeof RCTSinglelineTextInputNativeCommands,
|
|
1092
|
+
>;
|
|
1093
|
+
|
|
1094
|
+
type LastNativeSelection = {
|
|
1095
|
+
selection: Selection,
|
|
1096
|
+
mostRecentEventCount: number,
|
|
1097
|
+
};
|
|
699
1098
|
|
|
700
1099
|
const emptyFunctionThatReturnsTrue = () => true;
|
|
701
1100
|
|
|
1101
|
+
/**
|
|
1102
|
+
* This hook handles the synchronization between the state of the text input
|
|
1103
|
+
* in native and in JavaScript. This is necessary due to the asynchronous nature
|
|
1104
|
+
* of text input events.
|
|
1105
|
+
*/
|
|
1106
|
+
function useTextInputStateSynchronization({
|
|
1107
|
+
props,
|
|
1108
|
+
mostRecentEventCount,
|
|
1109
|
+
selection,
|
|
1110
|
+
inputRef,
|
|
1111
|
+
text,
|
|
1112
|
+
viewCommands,
|
|
1113
|
+
}: {
|
|
1114
|
+
props: TextInputProps,
|
|
1115
|
+
mostRecentEventCount: number,
|
|
1116
|
+
selection: ?Selection,
|
|
1117
|
+
inputRef: React.RefObject<null | TextInputInstance>,
|
|
1118
|
+
text?: string,
|
|
1119
|
+
viewCommands: ViewCommands,
|
|
1120
|
+
}): {
|
|
1121
|
+
setLastNativeText: string => void,
|
|
1122
|
+
setLastNativeSelection: LastNativeSelection => void,
|
|
1123
|
+
} {
|
|
1124
|
+
const [lastNativeText, setLastNativeText] = useState<?Stringish>(props.value);
|
|
1125
|
+
const [lastNativeSelectionState, setLastNativeSelection] =
|
|
1126
|
+
useState<LastNativeSelection>({
|
|
1127
|
+
selection: {start: -1, end: -1},
|
|
1128
|
+
mostRecentEventCount: mostRecentEventCount,
|
|
1129
|
+
});
|
|
1130
|
+
|
|
1131
|
+
const lastNativeSelection = lastNativeSelectionState.selection;
|
|
1132
|
+
|
|
1133
|
+
// This is necessary in case native updates the text and JS decides
|
|
1134
|
+
// that the update should be ignored and we should stick with the value
|
|
1135
|
+
// that we have in JS.
|
|
1136
|
+
useLayoutEffect(() => {
|
|
1137
|
+
const nativeUpdate: {text?: string, selection?: Selection} = {};
|
|
1138
|
+
|
|
1139
|
+
if (lastNativeText !== props.value && typeof props.value === 'string') {
|
|
1140
|
+
nativeUpdate.text = props.value;
|
|
1141
|
+
setLastNativeText(props.value);
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
if (
|
|
1145
|
+
selection &&
|
|
1146
|
+
lastNativeSelection &&
|
|
1147
|
+
(lastNativeSelection.start !== selection.start ||
|
|
1148
|
+
lastNativeSelection.end !== selection.end)
|
|
1149
|
+
) {
|
|
1150
|
+
nativeUpdate.selection = selection;
|
|
1151
|
+
setLastNativeSelection({selection, mostRecentEventCount});
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
if (Object.keys(nativeUpdate).length === 0) {
|
|
1155
|
+
return;
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
if (inputRef.current != null) {
|
|
1159
|
+
viewCommands.setTextAndSelection(
|
|
1160
|
+
inputRef.current,
|
|
1161
|
+
mostRecentEventCount,
|
|
1162
|
+
text,
|
|
1163
|
+
selection?.start ?? -1,
|
|
1164
|
+
selection?.end ?? -1,
|
|
1165
|
+
);
|
|
1166
|
+
}
|
|
1167
|
+
}, [
|
|
1168
|
+
mostRecentEventCount,
|
|
1169
|
+
inputRef,
|
|
1170
|
+
props.value,
|
|
1171
|
+
props.defaultValue,
|
|
1172
|
+
lastNativeText,
|
|
1173
|
+
selection,
|
|
1174
|
+
lastNativeSelection,
|
|
1175
|
+
text,
|
|
1176
|
+
viewCommands,
|
|
1177
|
+
]);
|
|
1178
|
+
|
|
1179
|
+
return {setLastNativeText, setLastNativeSelection};
|
|
1180
|
+
}
|
|
1181
|
+
|
|
702
1182
|
/**
|
|
703
1183
|
* A foundational component for inputting text into the app via a
|
|
704
1184
|
* keyboard. Props provide configurability for several features, such as
|
|
@@ -753,8 +1233,8 @@ const emptyFunctionThatReturnsTrue = () => true;
|
|
|
753
1233
|
* return (
|
|
754
1234
|
* <TextInput
|
|
755
1235
|
* {...this.props} // Inherit any props passed to it; e.g., multiline, numberOfLines below
|
|
756
|
-
* editable
|
|
757
|
-
* maxLength
|
|
1236
|
+
* editable={true}
|
|
1237
|
+
* maxLength={40}
|
|
758
1238
|
* />
|
|
759
1239
|
* );
|
|
760
1240
|
* }
|
|
@@ -778,8 +1258,8 @@ const emptyFunctionThatReturnsTrue = () => true;
|
|
|
778
1258
|
* borderBottomWidth: 1 }}
|
|
779
1259
|
* >
|
|
780
1260
|
* <UselessTextInput
|
|
781
|
-
* multiline
|
|
782
|
-
* numberOfLines
|
|
1261
|
+
* multiline={true}
|
|
1262
|
+
* numberOfLines={4}
|
|
783
1263
|
* onChangeText={(text) => this.setState({text})}
|
|
784
1264
|
* value={this.state.text}
|
|
785
1265
|
* />
|
|
@@ -810,96 +1290,58 @@ const emptyFunctionThatReturnsTrue = () => true;
|
|
|
810
1290
|
* or control this param programmatically with native code.
|
|
811
1291
|
*
|
|
812
1292
|
*/
|
|
813
|
-
function InternalTextInput(props:
|
|
814
|
-
const
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
1293
|
+
function InternalTextInput(props: TextInputProps): React.Node {
|
|
1294
|
+
const {
|
|
1295
|
+
'aria-busy': ariaBusy,
|
|
1296
|
+
'aria-checked': ariaChecked,
|
|
1297
|
+
'aria-disabled': ariaDisabled,
|
|
1298
|
+
'aria-expanded': ariaExpanded,
|
|
1299
|
+
'aria-selected': ariaSelected,
|
|
1300
|
+
accessibilityState,
|
|
1301
|
+
id,
|
|
1302
|
+
tabIndex,
|
|
1303
|
+
selection: propsSelection,
|
|
1304
|
+
selectionColor,
|
|
1305
|
+
selectionHandleColor,
|
|
1306
|
+
cursorColor,
|
|
1307
|
+
...otherProps
|
|
1308
|
+
} = props;
|
|
1309
|
+
|
|
1310
|
+
const inputRef = useRef<null | TextInputInstance>(null);
|
|
1311
|
+
|
|
1312
|
+
const selection: ?Selection =
|
|
1313
|
+
propsSelection == null
|
|
826
1314
|
? null
|
|
827
1315
|
: {
|
|
828
|
-
start:
|
|
829
|
-
end:
|
|
1316
|
+
start: propsSelection.start,
|
|
1317
|
+
end: propsSelection.end ?? propsSelection.start,
|
|
830
1318
|
};
|
|
831
1319
|
|
|
832
|
-
const [mostRecentEventCount, setMostRecentEventCount] = useState<number>(0);
|
|
833
|
-
|
|
834
|
-
const [lastNativeText, setLastNativeText] = useState<?Stringish>(props.value);
|
|
835
|
-
const [lastNativeSelectionState, setLastNativeSelection] = useState<{|
|
|
836
|
-
selection: ?Selection,
|
|
837
|
-
mostRecentEventCount: number,
|
|
838
|
-
|}>({selection, mostRecentEventCount});
|
|
839
|
-
|
|
840
|
-
const lastNativeSelection = lastNativeSelectionState.selection;
|
|
841
|
-
const lastNativeSelectionEventCount =
|
|
842
|
-
lastNativeSelectionState.mostRecentEventCount;
|
|
843
|
-
|
|
844
|
-
if (lastNativeSelectionEventCount < mostRecentEventCount) {
|
|
845
|
-
selection = null;
|
|
846
|
-
}
|
|
847
|
-
|
|
848
1320
|
const text =
|
|
849
1321
|
typeof props.value === 'string'
|
|
850
1322
|
? props.value
|
|
851
1323
|
: typeof props.defaultValue === 'string'
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
// This is necessary in case native updates the text and JS decides
|
|
856
|
-
// that the update should be ignored and we should stick with the value
|
|
857
|
-
// that we have in JS.
|
|
858
|
-
useEffect(() => {
|
|
859
|
-
const nativeUpdate = {};
|
|
860
|
-
|
|
861
|
-
if (lastNativeText !== props.value && typeof props.value === 'string') {
|
|
862
|
-
nativeUpdate.text = props.value;
|
|
863
|
-
setLastNativeText(props.value);
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
if (
|
|
867
|
-
selection &&
|
|
868
|
-
lastNativeSelection &&
|
|
869
|
-
(lastNativeSelection.start !== selection.start ||
|
|
870
|
-
lastNativeSelection.end !== selection.end)
|
|
871
|
-
) {
|
|
872
|
-
nativeUpdate.selection = selection;
|
|
873
|
-
setLastNativeSelection({selection, mostRecentEventCount});
|
|
874
|
-
}
|
|
1324
|
+
? props.defaultValue
|
|
1325
|
+
: undefined;
|
|
875
1326
|
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
1327
|
+
const viewCommands =
|
|
1328
|
+
AndroidTextInputCommands ||
|
|
1329
|
+
(props.multiline === true
|
|
1330
|
+
? RCTMultilineTextInputNativeCommands
|
|
1331
|
+
: RCTSinglelineTextInputNativeCommands);
|
|
879
1332
|
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
}
|
|
891
|
-
}, [
|
|
892
|
-
mostRecentEventCount,
|
|
893
|
-
inputRef,
|
|
894
|
-
props.value,
|
|
895
|
-
props.defaultValue,
|
|
896
|
-
lastNativeText,
|
|
897
|
-
selection,
|
|
898
|
-
lastNativeSelection,
|
|
899
|
-
text,
|
|
900
|
-
]);
|
|
1333
|
+
const [mostRecentEventCount, setMostRecentEventCount] = useState<number>(0);
|
|
1334
|
+
const {setLastNativeText, setLastNativeSelection} =
|
|
1335
|
+
useTextInputStateSynchronization({
|
|
1336
|
+
props,
|
|
1337
|
+
inputRef,
|
|
1338
|
+
mostRecentEventCount,
|
|
1339
|
+
selection,
|
|
1340
|
+
text,
|
|
1341
|
+
viewCommands,
|
|
1342
|
+
});
|
|
901
1343
|
|
|
902
|
-
|
|
1344
|
+
useLayoutEffect(() => {
|
|
903
1345
|
const inputRefValue = inputRef.current;
|
|
904
1346
|
|
|
905
1347
|
if (inputRefValue != null) {
|
|
@@ -907,98 +1349,86 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
907
1349
|
|
|
908
1350
|
return () => {
|
|
909
1351
|
TextInputState.unregisterInput(inputRefValue);
|
|
910
|
-
};
|
|
911
|
-
}
|
|
912
|
-
}, [inputRef]);
|
|
913
|
-
|
|
914
|
-
useEffect(() => {
|
|
915
|
-
// When unmounting we need to blur the input
|
|
916
|
-
return () => {
|
|
917
|
-
if (isFocused()) {
|
|
918
|
-
nullthrows(inputRef.current).blur();
|
|
919
|
-
}
|
|
920
|
-
};
|
|
921
|
-
}, [inputRef]);
|
|
922
1352
|
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
mostRecentEventCount,
|
|
928
|
-
'',
|
|
929
|
-
0,
|
|
930
|
-
0,
|
|
931
|
-
);
|
|
932
|
-
} else if (inputRef.current != null) {
|
|
933
|
-
inputRef.current.setNativeProps({text: ''});
|
|
1353
|
+
if (TextInputState.currentlyFocusedInput() === inputRefValue) {
|
|
1354
|
+
nullthrows(inputRefValue).blur();
|
|
1355
|
+
}
|
|
1356
|
+
};
|
|
934
1357
|
}
|
|
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
|
-
}
|
|
1358
|
+
}, []);
|
|
941
1359
|
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
const _setNativeRef = setAndForwardRef({
|
|
947
|
-
getForwardedRef: () => props.forwardedRef,
|
|
948
|
-
setLocalRef: ref => {
|
|
949
|
-
inputRef.current = ref;
|
|
1360
|
+
const setLocalRef = useCallback(
|
|
1361
|
+
(instance: HostInstance | null) => {
|
|
1362
|
+
// $FlowExpectedError[incompatible-type]
|
|
1363
|
+
inputRef.current = instance;
|
|
950
1364
|
|
|
951
1365
|
/*
|
|
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
|
-
|
|
1366
|
+
Hi reader from the future. I'm sorry for this.
|
|
1367
|
+
|
|
1368
|
+
This is a hack. Ideally we would forwardRef to the underlying
|
|
1369
|
+
host component. However, since TextInput has it's own methods that can be
|
|
1370
|
+
called as well, if we used the standard forwardRef then these
|
|
1371
|
+
methods wouldn't be accessible and thus be a breaking change.
|
|
1372
|
+
|
|
1373
|
+
We have a couple of options of how to handle this:
|
|
1374
|
+
- Return a new ref with everything we methods from both. This is problematic
|
|
1375
|
+
because we need React to also know it is a host component which requires
|
|
1376
|
+
internals of the class implementation of the ref.
|
|
1377
|
+
- Break the API and have some other way to call one set of the methods or
|
|
1378
|
+
the other. This is our long term approach as we want to eventually
|
|
1379
|
+
get the methods on host components off the ref. So instead of calling
|
|
1380
|
+
ref.measure() you might call ReactNative.measure(ref). This would hopefully
|
|
1381
|
+
let the ref for TextInput then have the methods like `.clear`. Or we do it
|
|
1382
|
+
the other way and make it TextInput.clear(textInputRef) which would be fine
|
|
1383
|
+
too. Either way though is a breaking change that is longer term.
|
|
1384
|
+
- Mutate this ref. :( Gross, but accomplishes what we need in the meantime
|
|
1385
|
+
before we can get to the long term breaking change.
|
|
1386
|
+
*/
|
|
1387
|
+
if (instance != null) {
|
|
1388
|
+
// $FlowFixMe[prop-missing] - See the explanation above.
|
|
1389
|
+
Object.assign(instance, {
|
|
1390
|
+
clear(): void {
|
|
1391
|
+
if (inputRef.current != null) {
|
|
1392
|
+
viewCommands.setTextAndSelection(
|
|
1393
|
+
inputRef.current,
|
|
1394
|
+
mostRecentEventCount,
|
|
1395
|
+
'',
|
|
1396
|
+
0,
|
|
1397
|
+
0,
|
|
1398
|
+
);
|
|
1399
|
+
}
|
|
1400
|
+
},
|
|
1401
|
+
// TODO: Fix this returning true on null === null, when no input is focused
|
|
1402
|
+
isFocused(): boolean {
|
|
1403
|
+
return TextInputState.currentlyFocusedInput() === inputRef.current;
|
|
1404
|
+
},
|
|
1405
|
+
getNativeRef(): ?TextInputInstance {
|
|
1406
|
+
return inputRef.current;
|
|
1407
|
+
},
|
|
1408
|
+
setSelection(start: number, end: number): void {
|
|
1409
|
+
if (inputRef.current != null) {
|
|
1410
|
+
viewCommands.setTextAndSelection(
|
|
1411
|
+
inputRef.current,
|
|
1412
|
+
mostRecentEventCount,
|
|
1413
|
+
null,
|
|
1414
|
+
start,
|
|
1415
|
+
end,
|
|
1416
|
+
);
|
|
1417
|
+
}
|
|
1418
|
+
},
|
|
1419
|
+
});
|
|
977
1420
|
}
|
|
978
1421
|
},
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
const _onPress = (event: PressEvent) => {
|
|
982
|
-
if (props.editable || props.editable === undefined) {
|
|
983
|
-
nullthrows(inputRef.current).focus();
|
|
984
|
-
}
|
|
985
|
-
};
|
|
1422
|
+
[mostRecentEventCount, viewCommands],
|
|
1423
|
+
);
|
|
986
1424
|
|
|
987
|
-
|
|
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
|
-
}
|
|
1425
|
+
// $FlowExpectedError[incompatible-call]
|
|
1426
|
+
const ref = useMergeRefs<HostInstance>(setLocalRef, props.forwardedRef);
|
|
998
1427
|
|
|
999
|
-
|
|
1428
|
+
const _onChange = (event: TextInputChangeEvent) => {
|
|
1429
|
+
const currentText = event.nativeEvent.text;
|
|
1000
1430
|
props.onChange && props.onChange(event);
|
|
1001
|
-
props.onChangeText && props.onChangeText(
|
|
1431
|
+
props.onChangeText && props.onChangeText(currentText);
|
|
1002
1432
|
|
|
1003
1433
|
if (inputRef.current == null) {
|
|
1004
1434
|
// calling `props.onChange` or `props.onChangeText`
|
|
@@ -1006,7 +1436,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1006
1436
|
return;
|
|
1007
1437
|
}
|
|
1008
1438
|
|
|
1009
|
-
setLastNativeText(
|
|
1439
|
+
setLastNativeText(currentText);
|
|
1010
1440
|
// This must happen last, after we call setLastNativeText.
|
|
1011
1441
|
// Different ordering can cause bugs when editing AndroidTextInputs
|
|
1012
1442
|
// with multiple Fragments.
|
|
@@ -1014,7 +1444,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1014
1444
|
setMostRecentEventCount(event.nativeEvent.eventCount);
|
|
1015
1445
|
};
|
|
1016
1446
|
|
|
1017
|
-
const _onSelectionChange = (event:
|
|
1447
|
+
const _onSelectionChange = (event: TextInputSelectionChangeEvent) => {
|
|
1018
1448
|
props.onSelectionChange && props.onSelectionChange(event);
|
|
1019
1449
|
|
|
1020
1450
|
if (inputRef.current == null) {
|
|
@@ -1029,14 +1459,14 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1029
1459
|
});
|
|
1030
1460
|
};
|
|
1031
1461
|
|
|
1032
|
-
const _onFocus = (event:
|
|
1462
|
+
const _onFocus = (event: TextInputFocusEvent) => {
|
|
1033
1463
|
TextInputState.focusInput(inputRef.current);
|
|
1034
1464
|
if (props.onFocus) {
|
|
1035
1465
|
props.onFocus(event);
|
|
1036
1466
|
}
|
|
1037
1467
|
};
|
|
1038
1468
|
|
|
1039
|
-
const _onBlur = (event:
|
|
1469
|
+
const _onBlur = (event: TextInputBlurEvent) => {
|
|
1040
1470
|
TextInputState.blurInput(inputRef.current);
|
|
1041
1471
|
if (props.onBlur) {
|
|
1042
1472
|
props.onBlur(event);
|
|
@@ -1048,31 +1478,152 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1048
1478
|
};
|
|
1049
1479
|
|
|
1050
1480
|
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
1481
|
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1482
|
+
const multiline = props.multiline ?? false;
|
|
1483
|
+
|
|
1484
|
+
let submitBehavior: SubmitBehavior;
|
|
1485
|
+
if (props.submitBehavior != null) {
|
|
1486
|
+
// `submitBehavior` is set explicitly
|
|
1487
|
+
if (!multiline && props.submitBehavior === 'newline') {
|
|
1488
|
+
// For single line text inputs, `'newline'` is not a valid option
|
|
1489
|
+
submitBehavior = 'blurAndSubmit';
|
|
1490
|
+
} else {
|
|
1491
|
+
submitBehavior = props.submitBehavior;
|
|
1492
|
+
}
|
|
1493
|
+
} else if (multiline) {
|
|
1494
|
+
if (props.blurOnSubmit === true) {
|
|
1495
|
+
submitBehavior = 'blurAndSubmit';
|
|
1496
|
+
} else {
|
|
1497
|
+
submitBehavior = 'newline';
|
|
1498
|
+
}
|
|
1499
|
+
} else {
|
|
1500
|
+
// Single line
|
|
1501
|
+
if (props.blurOnSubmit !== false) {
|
|
1502
|
+
submitBehavior = 'blurAndSubmit';
|
|
1503
|
+
} else {
|
|
1504
|
+
submitBehavior = 'submit';
|
|
1505
|
+
}
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
const accessible = props.accessible !== false;
|
|
1509
|
+
const focusable = props.focusable !== false;
|
|
1510
|
+
|
|
1511
|
+
const {
|
|
1512
|
+
editable,
|
|
1513
|
+
hitSlop,
|
|
1514
|
+
onPress,
|
|
1515
|
+
onPressIn,
|
|
1516
|
+
onPressOut,
|
|
1517
|
+
rejectResponderTermination,
|
|
1518
|
+
} = props;
|
|
1519
|
+
|
|
1520
|
+
const config = React.useMemo(
|
|
1521
|
+
() => ({
|
|
1522
|
+
hitSlop,
|
|
1523
|
+
onPress: (event: GestureResponderEvent) => {
|
|
1524
|
+
onPress?.(event);
|
|
1525
|
+
if (editable !== false) {
|
|
1526
|
+
if (inputRef.current != null) {
|
|
1527
|
+
inputRef.current.focus();
|
|
1528
|
+
}
|
|
1529
|
+
}
|
|
1530
|
+
},
|
|
1531
|
+
onPressIn: onPressIn,
|
|
1532
|
+
onPressOut: onPressOut,
|
|
1533
|
+
cancelable: Platform.OS === 'ios' ? !rejectResponderTermination : null,
|
|
1534
|
+
}),
|
|
1535
|
+
[
|
|
1536
|
+
editable,
|
|
1537
|
+
hitSlop,
|
|
1538
|
+
onPress,
|
|
1539
|
+
onPressIn,
|
|
1540
|
+
onPressOut,
|
|
1541
|
+
rejectResponderTermination,
|
|
1542
|
+
],
|
|
1543
|
+
);
|
|
1544
|
+
|
|
1545
|
+
// Hide caret during test runs due to a flashing caret
|
|
1546
|
+
// makes screenshot tests flakey
|
|
1547
|
+
let caretHidden = props.caretHidden;
|
|
1548
|
+
if (Platform.isTesting) {
|
|
1549
|
+
caretHidden = true;
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
// TextInput handles onBlur and onFocus events
|
|
1553
|
+
// so omitting onBlur and onFocus pressability handlers here.
|
|
1554
|
+
const {onBlur, onFocus, ...eventHandlers} = usePressability(config);
|
|
1555
|
+
|
|
1556
|
+
let _accessibilityState;
|
|
1557
|
+
if (
|
|
1558
|
+
accessibilityState != null ||
|
|
1559
|
+
ariaBusy != null ||
|
|
1560
|
+
ariaChecked != null ||
|
|
1561
|
+
ariaDisabled != null ||
|
|
1562
|
+
ariaExpanded != null ||
|
|
1563
|
+
ariaSelected != null
|
|
1564
|
+
) {
|
|
1565
|
+
_accessibilityState = {
|
|
1566
|
+
busy: ariaBusy ?? accessibilityState?.busy,
|
|
1567
|
+
checked: ariaChecked ?? accessibilityState?.checked,
|
|
1568
|
+
disabled: ariaDisabled ?? accessibilityState?.disabled,
|
|
1569
|
+
expanded: ariaExpanded ?? accessibilityState?.expanded,
|
|
1570
|
+
selected: ariaSelected ?? accessibilityState?.selected,
|
|
1571
|
+
};
|
|
1572
|
+
}
|
|
1063
1573
|
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1574
|
+
// Keep the original (potentially nested) style when possible, as React can diff these more efficiently
|
|
1575
|
+
let _style = props.style;
|
|
1576
|
+
const flattenedStyle = flattenStyle<TextStyleProp>(props.style);
|
|
1577
|
+
if (flattenedStyle != null) {
|
|
1578
|
+
let overrides: ?{...TextStyleInternal} = null;
|
|
1579
|
+
if (typeof flattenedStyle?.fontWeight === 'number') {
|
|
1580
|
+
overrides = overrides || ({}: {...TextStyleInternal});
|
|
1581
|
+
overrides.fontWeight =
|
|
1582
|
+
// $FlowFixMe[incompatible-cast]
|
|
1583
|
+
(flattenedStyle.fontWeight.toString(): TextStyleInternal['fontWeight']);
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1586
|
+
if (flattenedStyle.verticalAlign != null) {
|
|
1587
|
+
overrides = overrides || ({}: {...TextStyleInternal});
|
|
1588
|
+
overrides.textAlignVertical =
|
|
1589
|
+
verticalAlignToTextAlignVerticalMap[flattenedStyle.verticalAlign];
|
|
1590
|
+
overrides.verticalAlign = undefined;
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1593
|
+
if (overrides != null) {
|
|
1594
|
+
// $FlowFixMe[incompatible-type]
|
|
1595
|
+
_style = [_style, overrides];
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1067
1598
|
|
|
1068
|
-
|
|
1069
|
-
|
|
1599
|
+
if (Platform.OS === 'ios') {
|
|
1600
|
+
const RCTTextInputView =
|
|
1601
|
+
props.multiline === true
|
|
1602
|
+
? RCTMultilineTextInputView
|
|
1603
|
+
: RCTSinglelineTextInputView;
|
|
1604
|
+
|
|
1605
|
+
const useMultilineDefaultStyle =
|
|
1606
|
+
props.multiline === true &&
|
|
1607
|
+
(flattenedStyle == null ||
|
|
1608
|
+
(flattenedStyle.padding == null &&
|
|
1609
|
+
flattenedStyle.paddingVertical == null &&
|
|
1610
|
+
flattenedStyle.paddingTop == null));
|
|
1070
1611
|
|
|
1071
1612
|
textInput = (
|
|
1072
1613
|
<RCTTextInputView
|
|
1073
|
-
|
|
1074
|
-
{
|
|
1614
|
+
// Figure out imperative + forward refs.
|
|
1615
|
+
ref={(ref: $FlowFixMe)}
|
|
1616
|
+
{...otherProps}
|
|
1617
|
+
{...eventHandlers}
|
|
1618
|
+
accessibilityState={_accessibilityState}
|
|
1619
|
+
accessible={accessible}
|
|
1620
|
+
submitBehavior={submitBehavior}
|
|
1621
|
+
caretHidden={caretHidden}
|
|
1075
1622
|
dataDetectorTypes={props.dataDetectorTypes}
|
|
1623
|
+
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1624
|
+
mostRecentEventCount={mostRecentEventCount}
|
|
1625
|
+
nativeID={id ?? props.nativeID}
|
|
1626
|
+
numberOfLines={props.rows ?? props.numberOfLines}
|
|
1076
1627
|
onBlur={_onBlur}
|
|
1077
1628
|
onChange={_onChange}
|
|
1078
1629
|
onContentSizeChange={props.onContentSizeChange}
|
|
@@ -1081,90 +1632,246 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1081
1632
|
onSelectionChange={_onSelectionChange}
|
|
1082
1633
|
onSelectionChangeShouldSetResponder={emptyFunctionThatReturnsTrue}
|
|
1083
1634
|
selection={selection}
|
|
1084
|
-
|
|
1635
|
+
selectionColor={selectionColor}
|
|
1636
|
+
style={StyleSheet.compose(
|
|
1637
|
+
useMultilineDefaultStyle ? styles.multilineDefault : null,
|
|
1638
|
+
_style,
|
|
1639
|
+
)}
|
|
1085
1640
|
text={text}
|
|
1086
1641
|
/>
|
|
1087
1642
|
);
|
|
1088
1643
|
} else if (Platform.OS === 'android') {
|
|
1089
|
-
const style = [props.style];
|
|
1090
1644
|
const autoCapitalize = props.autoCapitalize || 'sentences';
|
|
1645
|
+
const _accessibilityLabelledBy =
|
|
1646
|
+
props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
|
|
1647
|
+
const placeholder = props.placeholder ?? '';
|
|
1091
1648
|
let children = props.children;
|
|
1092
|
-
|
|
1093
|
-
React.Children.forEach(children, () => ++childCount);
|
|
1649
|
+
const childCount = React.Children.count(children);
|
|
1094
1650
|
invariant(
|
|
1095
|
-
!(props.value && childCount),
|
|
1651
|
+
!(props.value != null && childCount),
|
|
1096
1652
|
'Cannot specify both value and children.',
|
|
1097
1653
|
);
|
|
1098
1654
|
if (childCount > 1) {
|
|
1099
1655
|
children = <Text>{children}</Text>;
|
|
1100
1656
|
}
|
|
1101
|
-
|
|
1657
|
+
// For consistency with iOS set cursor/selectionHandle color as selectionColor
|
|
1658
|
+
const colorProps = {
|
|
1659
|
+
selectionColor,
|
|
1660
|
+
selectionHandleColor:
|
|
1661
|
+
selectionHandleColor === undefined
|
|
1662
|
+
? selectionColor
|
|
1663
|
+
: selectionHandleColor,
|
|
1664
|
+
cursorColor: cursorColor === undefined ? selectionColor : cursorColor,
|
|
1665
|
+
};
|
|
1102
1666
|
textInput = (
|
|
1103
|
-
/* $FlowFixMe the types for AndroidTextInput don't match up
|
|
1104
|
-
|
|
1667
|
+
/* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match up
|
|
1668
|
+
* exactly with the props for TextInput. This will need to get fixed */
|
|
1669
|
+
/* $FlowFixMe[incompatible-type] the types for AndroidTextInput don't
|
|
1670
|
+
* match up exactly with the props for TextInput. This will need to get
|
|
1671
|
+
* fixed */
|
|
1672
|
+
/* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput don't
|
|
1673
|
+
* match up exactly with the props for TextInput. This will need to get
|
|
1674
|
+
* fixed */
|
|
1105
1675
|
<AndroidTextInput
|
|
1106
|
-
|
|
1107
|
-
{
|
|
1676
|
+
// Figure out imperative + forward refs.
|
|
1677
|
+
ref={(ref: $FlowFixMe)}
|
|
1678
|
+
{...otherProps}
|
|
1679
|
+
{...colorProps}
|
|
1680
|
+
{...eventHandlers}
|
|
1681
|
+
accessibilityState={_accessibilityState}
|
|
1682
|
+
accessibilityLabelledBy={_accessibilityLabelledBy}
|
|
1683
|
+
accessible={accessible}
|
|
1108
1684
|
autoCapitalize={autoCapitalize}
|
|
1685
|
+
submitBehavior={submitBehavior}
|
|
1686
|
+
caretHidden={caretHidden}
|
|
1109
1687
|
children={children}
|
|
1110
1688
|
disableFullscreenUI={props.disableFullscreenUI}
|
|
1689
|
+
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1111
1690
|
mostRecentEventCount={mostRecentEventCount}
|
|
1691
|
+
nativeID={id ?? props.nativeID}
|
|
1692
|
+
numberOfLines={props.rows ?? props.numberOfLines}
|
|
1112
1693
|
onBlur={_onBlur}
|
|
1113
1694
|
onChange={_onChange}
|
|
1114
1695
|
onFocus={_onFocus}
|
|
1115
|
-
/* $FlowFixMe the types for AndroidTextInput don't match
|
|
1116
|
-
* with the props for TextInput. This will need to get fixed
|
|
1696
|
+
/* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match
|
|
1697
|
+
* up exactly with the props for TextInput. This will need to get fixed
|
|
1698
|
+
*/
|
|
1699
|
+
/* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput
|
|
1700
|
+
* don't match up exactly with the props for TextInput. This will need
|
|
1701
|
+
* to get fixed */
|
|
1117
1702
|
onScroll={_onScroll}
|
|
1118
1703
|
onSelectionChange={_onSelectionChange}
|
|
1119
|
-
|
|
1120
|
-
style={
|
|
1704
|
+
placeholder={placeholder}
|
|
1705
|
+
style={_style}
|
|
1121
1706
|
text={text}
|
|
1122
1707
|
textBreakStrategy={props.textBreakStrategy}
|
|
1123
1708
|
/>
|
|
1124
1709
|
);
|
|
1125
1710
|
}
|
|
1126
1711
|
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>
|
|
1712
|
+
<TextAncestor.Provider value={true}>{textInput}</TextAncestor.Provider>
|
|
1141
1713
|
);
|
|
1142
1714
|
}
|
|
1143
1715
|
|
|
1144
|
-
const
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1716
|
+
const enterKeyHintToReturnTypeMap = {
|
|
1717
|
+
enter: 'default',
|
|
1718
|
+
done: 'done',
|
|
1719
|
+
go: 'go',
|
|
1720
|
+
next: 'next',
|
|
1721
|
+
previous: 'previous',
|
|
1722
|
+
search: 'search',
|
|
1723
|
+
send: 'send',
|
|
1724
|
+
};
|
|
1725
|
+
|
|
1726
|
+
const inputModeToKeyboardTypeMap = {
|
|
1727
|
+
none: 'default',
|
|
1728
|
+
text: 'default',
|
|
1729
|
+
decimal: 'decimal-pad',
|
|
1730
|
+
numeric: 'number-pad',
|
|
1731
|
+
tel: 'phone-pad',
|
|
1732
|
+
search: Platform.OS === 'ios' ? 'web-search' : 'default',
|
|
1733
|
+
email: 'email-address',
|
|
1734
|
+
url: 'url',
|
|
1735
|
+
};
|
|
1736
|
+
|
|
1737
|
+
// Map HTML autocomplete values to Android autoComplete values
|
|
1738
|
+
const autoCompleteWebToAutoCompleteAndroidMap = {
|
|
1739
|
+
'address-line1': 'postal-address-region',
|
|
1740
|
+
'address-line2': 'postal-address-locality',
|
|
1741
|
+
bday: 'birthdate-full',
|
|
1742
|
+
'bday-day': 'birthdate-day',
|
|
1743
|
+
'bday-month': 'birthdate-month',
|
|
1744
|
+
'bday-year': 'birthdate-year',
|
|
1745
|
+
'cc-csc': 'cc-csc',
|
|
1746
|
+
'cc-exp': 'cc-exp',
|
|
1747
|
+
'cc-exp-month': 'cc-exp-month',
|
|
1748
|
+
'cc-exp-year': 'cc-exp-year',
|
|
1749
|
+
'cc-number': 'cc-number',
|
|
1750
|
+
country: 'postal-address-country',
|
|
1751
|
+
'current-password': 'password',
|
|
1752
|
+
email: 'email',
|
|
1753
|
+
'honorific-prefix': 'name-prefix',
|
|
1754
|
+
'honorific-suffix': 'name-suffix',
|
|
1755
|
+
name: 'name',
|
|
1756
|
+
'additional-name': 'name-middle',
|
|
1757
|
+
'family-name': 'name-family',
|
|
1758
|
+
'given-name': 'name-given',
|
|
1759
|
+
'new-password': 'password-new',
|
|
1760
|
+
off: 'off',
|
|
1761
|
+
'one-time-code': 'sms-otp',
|
|
1762
|
+
'postal-code': 'postal-code',
|
|
1763
|
+
sex: 'gender',
|
|
1764
|
+
'street-address': 'street-address',
|
|
1765
|
+
tel: 'tel',
|
|
1766
|
+
'tel-country-code': 'tel-country-code',
|
|
1767
|
+
'tel-national': 'tel-national',
|
|
1768
|
+
username: 'username',
|
|
1769
|
+
};
|
|
1155
1770
|
|
|
1156
|
-
//
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1771
|
+
// Map HTML autocomplete values to iOS textContentType values
|
|
1772
|
+
const autoCompleteWebToTextContentTypeMap = {
|
|
1773
|
+
'address-line1': 'streetAddressLine1',
|
|
1774
|
+
'address-line2': 'streetAddressLine2',
|
|
1775
|
+
bday: 'birthdate',
|
|
1776
|
+
'bday-day': 'birthdateDay',
|
|
1777
|
+
'bday-month': 'birthdateMonth',
|
|
1778
|
+
'bday-year': 'birthdateYear',
|
|
1779
|
+
'cc-csc': 'creditCardSecurityCode',
|
|
1780
|
+
'cc-exp-month': 'creditCardExpirationMonth',
|
|
1781
|
+
'cc-exp-year': 'creditCardExpirationYear',
|
|
1782
|
+
'cc-exp': 'creditCardExpiration',
|
|
1783
|
+
'cc-given-name': 'creditCardGivenName',
|
|
1784
|
+
'cc-additional-name': 'creditCardMiddleName',
|
|
1785
|
+
'cc-family-name': 'creditCardFamilyName',
|
|
1786
|
+
'cc-name': 'creditCardName',
|
|
1787
|
+
'cc-number': 'creditCardNumber',
|
|
1788
|
+
'cc-type': 'creditCardType',
|
|
1789
|
+
'current-password': 'password',
|
|
1790
|
+
country: 'countryName',
|
|
1791
|
+
email: 'emailAddress',
|
|
1792
|
+
name: 'name',
|
|
1793
|
+
'additional-name': 'middleName',
|
|
1794
|
+
'family-name': 'familyName',
|
|
1795
|
+
'given-name': 'givenName',
|
|
1796
|
+
nickname: 'nickname',
|
|
1797
|
+
'honorific-prefix': 'namePrefix',
|
|
1798
|
+
'honorific-suffix': 'nameSuffix',
|
|
1799
|
+
'new-password': 'newPassword',
|
|
1800
|
+
off: 'none',
|
|
1801
|
+
'one-time-code': 'oneTimeCode',
|
|
1802
|
+
organization: 'organizationName',
|
|
1803
|
+
'organization-title': 'jobTitle',
|
|
1804
|
+
'postal-code': 'postalCode',
|
|
1805
|
+
'street-address': 'fullStreetAddress',
|
|
1806
|
+
tel: 'telephoneNumber',
|
|
1807
|
+
url: 'URL',
|
|
1808
|
+
username: 'username',
|
|
1161
1809
|
};
|
|
1162
1810
|
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1811
|
+
const ExportedForwardRef: component(
|
|
1812
|
+
ref?: React.RefSetter<TextInputInstance>,
|
|
1813
|
+
...props: React.ElementConfig<typeof InternalTextInput>
|
|
1814
|
+
) = React.forwardRef(function TextInput(
|
|
1815
|
+
{
|
|
1816
|
+
allowFontScaling = true,
|
|
1817
|
+
rejectResponderTermination = true,
|
|
1818
|
+
underlineColorAndroid = 'transparent',
|
|
1819
|
+
autoComplete,
|
|
1820
|
+
textContentType,
|
|
1821
|
+
readOnly,
|
|
1822
|
+
editable,
|
|
1823
|
+
enterKeyHint,
|
|
1824
|
+
returnKeyType,
|
|
1825
|
+
inputMode,
|
|
1826
|
+
showSoftInputOnFocus,
|
|
1827
|
+
keyboardType,
|
|
1828
|
+
...restProps
|
|
1829
|
+
},
|
|
1830
|
+
forwardedRef: React.RefSetter<TextInputInstance>,
|
|
1831
|
+
) {
|
|
1832
|
+
return (
|
|
1833
|
+
<InternalTextInput
|
|
1834
|
+
allowFontScaling={allowFontScaling}
|
|
1835
|
+
rejectResponderTermination={rejectResponderTermination}
|
|
1836
|
+
underlineColorAndroid={underlineColorAndroid}
|
|
1837
|
+
editable={readOnly !== undefined ? !readOnly : editable}
|
|
1838
|
+
returnKeyType={
|
|
1839
|
+
enterKeyHint ? enterKeyHintToReturnTypeMap[enterKeyHint] : returnKeyType
|
|
1840
|
+
}
|
|
1841
|
+
keyboardType={
|
|
1842
|
+
inputMode ? inputModeToKeyboardTypeMap[inputMode] : keyboardType
|
|
1843
|
+
}
|
|
1844
|
+
showSoftInputOnFocus={
|
|
1845
|
+
inputMode == null ? showSoftInputOnFocus : inputMode !== 'none'
|
|
1846
|
+
}
|
|
1847
|
+
autoComplete={
|
|
1848
|
+
Platform.OS === 'android'
|
|
1849
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1850
|
+
// $FlowFixMe[prop-missing]
|
|
1851
|
+
autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
|
|
1852
|
+
autoComplete
|
|
1853
|
+
: undefined
|
|
1854
|
+
}
|
|
1855
|
+
textContentType={
|
|
1856
|
+
textContentType != null
|
|
1857
|
+
? textContentType
|
|
1858
|
+
: Platform.OS === 'ios' &&
|
|
1859
|
+
autoComplete &&
|
|
1860
|
+
autoComplete in autoCompleteWebToTextContentTypeMap
|
|
1861
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1862
|
+
// $FlowFixMe[prop-missing]
|
|
1863
|
+
autoCompleteWebToTextContentTypeMap[autoComplete]
|
|
1864
|
+
: textContentType
|
|
1865
|
+
}
|
|
1866
|
+
{...restProps}
|
|
1867
|
+
forwardedRef={forwardedRef}
|
|
1868
|
+
/>
|
|
1869
|
+
);
|
|
1870
|
+
});
|
|
1871
|
+
|
|
1872
|
+
ExportedForwardRef.displayName = 'TextInput';
|
|
1166
1873
|
|
|
1167
|
-
// $FlowFixMe
|
|
1874
|
+
// $FlowFixMe[prop-missing]
|
|
1168
1875
|
ExportedForwardRef.State = {
|
|
1169
1876
|
currentlyFocusedInput: TextInputState.currentlyFocusedInput,
|
|
1170
1877
|
|
|
@@ -1173,18 +1880,12 @@ ExportedForwardRef.State = {
|
|
|
1173
1880
|
blurTextInput: TextInputState.blurTextInput,
|
|
1174
1881
|
};
|
|
1175
1882
|
|
|
1176
|
-
type TextInputComponentStatics = $ReadOnly<{
|
|
1177
|
-
State:
|
|
1178
|
-
|
|
1179
|
-
currentlyFocusedField: typeof TextInputState.currentlyFocusedField,
|
|
1180
|
-
focusTextInput: typeof TextInputState.focusTextInput,
|
|
1181
|
-
blurTextInput: typeof TextInputState.blurTextInput,
|
|
1182
|
-
|}>,
|
|
1183
|
-
propTypes: typeof DeprecatedTextInputPropTypes,
|
|
1184
|
-
|}>;
|
|
1883
|
+
export type TextInputComponentStatics = $ReadOnly<{
|
|
1884
|
+
State: TextInputStateType,
|
|
1885
|
+
}>;
|
|
1185
1886
|
|
|
1186
1887
|
const styles = StyleSheet.create({
|
|
1187
|
-
|
|
1888
|
+
multilineDefault: {
|
|
1188
1889
|
// This default top inset makes RCTMultilineTextInputView seem as close as possible
|
|
1189
1890
|
// to single-line RCTSinglelineTextInputView defaults, using the system defaults
|
|
1190
1891
|
// of font size 17 and a height of 31 points.
|
|
@@ -1192,11 +1893,12 @@ const styles = StyleSheet.create({
|
|
|
1192
1893
|
},
|
|
1193
1894
|
});
|
|
1194
1895
|
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1896
|
+
const verticalAlignToTextAlignVerticalMap = {
|
|
1897
|
+
auto: 'auto',
|
|
1898
|
+
top: 'top',
|
|
1899
|
+
bottom: 'bottom',
|
|
1900
|
+
middle: 'center',
|
|
1901
|
+
};
|
|
1902
|
+
|
|
1903
|
+
// $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
|
|
1904
|
+
export default ExportedForwardRef as any as TextInputType;
|