@office-iss/react-native-win32 0.78.2 → 0.79.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +4 -1
- package/CHANGELOG.json +166 -38
- package/CHANGELOG.md +53 -22
- package/IntegrationTests/AccessibilityManagerTest.js +17 -12
- package/IntegrationTests/AppEventsTest.js +47 -32
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
- package/IntegrationTests/ImageCachePolicyTest.js +64 -81
- package/IntegrationTests/ImageSnapshotTest.js +17 -20
- package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
- package/IntegrationTests/IntegrationTestsApp.js +11 -6
- package/IntegrationTests/LayoutEventsTest.js +17 -12
- package/IntegrationTests/LoggingTestModule.js +2 -1
- package/IntegrationTests/PromiseTest.js +51 -43
- package/IntegrationTests/SimpleSnapshotTest.js +19 -24
- package/IntegrationTests/SyncMethodTest.js +9 -13
- package/IntegrationTests/TimersTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +39 -18
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
- package/Libraries/Alert/Alert.js +33 -10
- package/Libraries/Alert/Alert.win32.js +32 -9
- package/Libraries/Alert/NativeAlertManager.js +2 -2
- package/Libraries/Alert/RCTAlertManager.android.js +1 -1
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
- package/Libraries/Animated/Animated.js +8 -37
- package/Libraries/Animated/Animated.js.flow +15 -0
- package/Libraries/Animated/AnimatedExports.js +47 -0
- package/Libraries/Animated/AnimatedExports.js.flow +48 -0
- package/Libraries/Animated/AnimatedMock.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +2 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
- package/Libraries/Animated/animations/Animation.js +1 -4
- package/Libraries/Animated/createAnimatedComponent.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
- package/Libraries/Animated/nodes/AnimatedValue.js +30 -22
- package/Libraries/Animated/useAnimatedProps.js +4 -333
- package/Libraries/Animated/useAnimatedValue.js +1 -3
- package/Libraries/AppState/AppState.js +24 -7
- package/Libraries/AppState/NativeAppState.js +2 -2
- package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
- package/Libraries/BatchedBridge/MessageQueue.js +5 -4
- package/Libraries/BatchedBridge/NativeModules.js +6 -4
- package/Libraries/Blob/Blob.js +5 -5
- package/Libraries/Blob/BlobManager.js +3 -2
- package/Libraries/Blob/BlobRegistry.js +3 -9
- package/Libraries/Blob/File.js +3 -2
- package/Libraries/Blob/FileReader.js +8 -174
- package/Libraries/Blob/FileReader_new.js +231 -0
- package/Libraries/Blob/FileReader_old.js +186 -0
- package/Libraries/Blob/NativeBlobModule.js +2 -2
- package/Libraries/Blob/NativeFileReaderModule.js +2 -2
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +9 -10
- package/Libraries/Blob/URLSearchParams.js.flow +23 -0
- package/Libraries/BugReporting/BugReporting.js +2 -2
- package/Libraries/BugReporting/NativeBugReporting.js +2 -2
- package/Libraries/BugReporting/dumpReactTree.js +2 -2
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +11 -11
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
- package/Libraries/Components/Button.js +6 -6
- package/Libraries/Components/Button.win32.js +6 -9
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +14 -100
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +64 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +138 -0
- package/Libraries/Components/Keyboard/Keyboard.js +9 -9
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +24 -25
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +7 -5
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +28 -73
- package/Libraries/Components/Pressable/Pressable.win32.js +29 -75
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +17 -17
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +4 -47
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +13 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +54 -0
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/RefreshControl.js +17 -14
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollView.js +139 -134
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +7 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +10 -11
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +4 -4
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
- package/Libraries/Components/StatusBar/StatusBar.js +57 -31
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
- package/Libraries/Components/Switch/Switch.js +74 -45
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -35
- package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +2 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +5 -2
- package/Libraries/Components/TextInput/TextInput.flow.js +131 -121
- package/Libraries/Components/TextInput/TextInput.js +152 -149
- package/Libraries/Components/TextInput/TextInput.win32.js +154 -151
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.js +6 -20
- package/Libraries/Components/TextInput/TextInputState.win32.js +6 -20
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +23 -23
- package/Libraries/Components/Touchable/Touchable.win32.js +23 -23
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
- package/Libraries/Components/Touchable/TouchableHighlight.js +44 -23
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +102 -54
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +252 -47
- package/Libraries/Components/Touchable/TouchableOpacity.js +57 -15
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +114 -61
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +17 -3
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
- package/Libraries/Components/View/View.js +2 -2
- package/Libraries/Components/View/View.win32.js +2 -2
- package/Libraries/Components/View/ViewAccessibility.js +245 -5
- package/Libraries/Components/View/ViewAccessibility.win32.js +245 -5
- package/Libraries/Components/View/ViewNativeComponent.js +2 -4
- package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/Libraries/Components/View/ViewPropTypes.js +65 -253
- package/Libraries/Components/View/ViewPropTypes.win32.js +123 -312
- package/Libraries/Core/Devtools/getDevServer.js +1 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +4 -2
- package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
- package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
- package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +6 -5
- package/Libraries/Core/ExceptionsManager.js +6 -4
- package/Libraries/Core/InitializeCore.js +7 -3
- package/Libraries/Core/NativeExceptionsManager.js +2 -2
- package/Libraries/Core/RawEventEmitter.js +2 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -5
- package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +2 -4
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +10 -8
- package/Libraries/Core/Timers/NativeTiming.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +2 -9
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/registerCallableModule.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +13 -8
- package/Libraries/Core/setUpDeveloperTools.js +3 -35
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +26 -6
- package/Libraries/Core/setUpReactRefresh.js +1 -1
- package/Libraries/Core/setUpTimers.js +45 -66
- package/Libraries/Core/setUpXHR.js +11 -8
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +10 -7
- package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -5
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
- package/Libraries/Events/CustomEvent.js +3 -3
- package/Libraries/Events/EventPolyfill.js +2 -2
- package/Libraries/Image/AssetRegistry.js +8 -1
- package/Libraries/Image/AssetSourceResolver.js +4 -4
- package/Libraries/Image/Image.android.js +4 -2
- package/Libraries/Image/Image.ios.js +1 -1
- package/Libraries/Image/Image.js.flow +27 -0
- package/Libraries/Image/Image.win32.js +1 -1
- package/Libraries/Image/ImageBackground.js +2 -2
- package/Libraries/Image/ImageProps.js +109 -39
- package/Libraries/Image/ImageTypes.flow.js +16 -6
- package/Libraries/Image/ImageViewNativeComponent.js +8 -11
- package/Libraries/Image/NativeImageEditor.js +2 -2
- package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
- package/Libraries/Image/NativeImageLoaderWin32.js +2 -2
- package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
- package/Libraries/Image/NativeImageStoreIOS.js +2 -2
- package/Libraries/Image/RelativeImageStub.js +3 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +2 -4
- package/Libraries/Image/nativeImageSource.js +3 -3
- package/Libraries/Image/resolveAssetSource.js +4 -2
- package/Libraries/Image/resolveAssetSource.win32.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +20 -9
- package/Libraries/Interaction/InteractionManagerStub.js +10 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +2 -2
- package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
- package/Libraries/Interaction/PanResponder.js +49 -46
- package/Libraries/Interaction/TaskQueue.js +4 -4
- package/Libraries/Interaction/TouchHistoryMath.js +27 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +20 -6
- package/Libraries/Linking/Linking.d.ts +3 -3
- package/Libraries/Linking/Linking.js +10 -9
- package/Libraries/Linking/NativeIntentAndroid.js +2 -2
- package/Libraries/Linking/NativeLinkingManager.js +2 -2
- package/Libraries/Lists/FillRateHelper.js +4 -4
- package/Libraries/Lists/FlatList.js +30 -30
- package/Libraries/Lists/SectionList.js +10 -10
- package/Libraries/Lists/SectionListModern.js +9 -7
- package/Libraries/Lists/ViewabilityHelper.js +4 -3
- package/Libraries/Lists/VirtualizeUtils.js +3 -5
- package/Libraries/Lists/VirtualizedList.js +6 -6
- package/Libraries/Lists/VirtualizedListContext.js +5 -5
- package/Libraries/Lists/VirtualizedSectionList.js +5 -3
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +15 -15
- package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
- package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
- package/Libraries/LogBox/LogBox.js +22 -2
- package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
- package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -4
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -4
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -2
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
- package/Libraries/Modal/Modal.js +82 -89
- package/Libraries/Modal/NativeModalManager.js +2 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +19 -9
- package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
- package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
- package/Libraries/Network/NativeNetworkingIOS.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +44 -0
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +10 -685
- package/Libraries/Network/XMLHttpRequest_new.js +794 -0
- package/Libraries/Network/XMLHttpRequest_old.js +701 -0
- package/Libraries/Network/convertRequestBody.js +7 -4
- package/Libraries/Network/fetch.js +4 -3
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +65 -63
- package/Libraries/Pressability/HoverState.js +1 -0
- package/Libraries/Pressability/HoverState.win32.js +1 -0
- package/Libraries/Pressability/Pressability.js +34 -34
- package/Libraries/Pressability/Pressability.win32.js +35 -35
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
- package/Libraries/Promise.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
- package/Libraries/ReactNative/AppContainer-dev.js +4 -3
- package/Libraries/ReactNative/AppContainer.js +3 -3
- package/Libraries/ReactNative/AppRegistry.js +4 -4
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
- package/Libraries/ReactNative/FabricUIManager.js +22 -10
- package/Libraries/ReactNative/I18nManager.js +4 -3
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
- package/Libraries/ReactNative/NativeI18nManager.js +2 -2
- package/Libraries/ReactNative/NativeUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.js +6 -6
- package/Libraries/ReactNative/PaperUIManager.win32.js +6 -6
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +7 -5
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -30
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
- package/Libraries/ReactNative/RendererImplementation.js +12 -5
- package/Libraries/ReactNative/RootTag.js +1 -1
- package/Libraries/ReactNative/UIManager.d.ts +1 -0
- package/Libraries/ReactNative/UIManager.js +3 -3
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +10 -9
- package/Libraries/ReactNative/requireNativeComponent.js +3 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +30 -10
- package/Libraries/Renderer/shims/ReactNativeTypes.js +40 -89
- package/Libraries/Settings/NativeSettingsManager.js +2 -2
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +3 -3
- package/Libraries/Settings/Settings.win32.js +3 -3
- package/Libraries/Share/NativeShareModule.js +2 -2
- package/Libraries/Share/Share.js +11 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
- package/Libraries/StyleSheet/Rect.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +4 -3
- package/Libraries/StyleSheet/StyleSheet.win32.js +5 -4
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
- package/Libraries/StyleSheet/processBoxShadow.js +4 -0
- package/Libraries/StyleSheet/processColor.js +2 -2
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +4 -0
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.d.ts +1 -1
- package/Libraries/Text/Text.js +19 -17
- package/Libraries/Text/Text.win32.js +19 -17
- package/Libraries/Text/TextAncestor.js +2 -3
- package/Libraries/Text/TextNativeComponent.js +3 -3
- package/Libraries/Text/TextNativeComponent.win32.js +3 -3
- package/Libraries/Text/TextProps.js +134 -94
- package/Libraries/Text/TextProps.win32.js +134 -94
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/Types/CodegenTypes.js +5 -4
- package/Libraries/Types/CoreEventTypes.js +119 -86
- package/Libraries/Types/CoreEventTypes.win32.js +131 -93
- package/Libraries/Types/ReactDevToolsTypes.js +4 -8
- package/Libraries/UTFSequence.js +4 -3
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/BackHandler.android.js +3 -3
- package/Libraries/Utilities/BackHandler.ios.js +7 -7
- package/Libraries/Utilities/BackHandler.js.flow +25 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -3
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DevSettings.js +15 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/DeviceInfo.win32.js +1 -1
- package/Libraries/Utilities/Dimensions.js +5 -0
- package/Libraries/Utilities/Dimensions.win32.js +5 -0
- package/Libraries/Utilities/FeatureDetection.js +2 -4
- package/Libraries/Utilities/FocusManager.win32.js +3 -3
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/HMRClient.js +7 -7
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +2 -2
- package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
- package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
- package/Libraries/Utilities/Platform.android.js +6 -6
- package/Libraries/Utilities/Platform.ios.js +6 -6
- package/{flow/Position.js → Libraries/Utilities/Platform.js.flow} +3 -6
- package/Libraries/Utilities/Platform.win32.js +4 -4
- package/Libraries/Utilities/{Platform.flow.win32.js → PlatformTypes.js} +105 -14
- package/Libraries/Utilities/PolyfillFunctions.js +3 -5
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +6 -6
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +3 -3
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +6 -6
- package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
- package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
- package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
- package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
- package/Libraries/Utilities/dismissKeyboard.js +3 -2
- package/Libraries/Utilities/infoLog.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +2 -2
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +2 -2
- package/Libraries/Vibration/Vibration.js +4 -4
- package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
- package/Libraries/WebSocket/WebSocket.js +8 -285
- package/Libraries/WebSocket/WebSocketEvent.js +2 -2
- package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
- package/Libraries/WebSocket/WebSocket_new.js +325 -0
- package/Libraries/WebSocket/WebSocket_old.js +297 -0
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -4
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +21 -9
- package/flow/jest.js +14 -14
- package/index.js +153 -237
- package/index.win32.js +64 -55
- package/jest/mockScrollView.js +1 -1
- package/jest/setup.js +314 -264
- package/overrides.json +64 -75
- package/package.json +24 -25
- package/src/private/animated/createAnimatedPropsHook.js +360 -0
- package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
- package/src/private/components/HScrollViewNativeComponents.js +2 -2
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
- package/src/private/components/VScrollViewNativeComponents.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
- package/src/private/devmenu/DevMenu.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +53 -75
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +5 -7
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -12
- package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
- package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
- package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +20 -15
- package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
- package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +11 -10
- package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
- package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +43 -27
- package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +8 -6
- package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +11 -10
- package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
- package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +5 -2
- package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +6 -6
- package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
- package/src/private/renderer/errorhandling/ErrorHandlers.js +5 -5
- package/src/private/setup/setUpDOM.js +43 -3
- package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +8 -8
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +9 -9
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +5 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +5 -10
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +6 -6
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +184 -0
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
- package/{flow/react.js → src/private/types/HostComponent.js} +6 -5
- package/src/private/types/HostInstance.js +50 -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 +82 -51
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +7 -6
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +26 -26
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +56 -78
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -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/specs/NativeDOM.js +305 -194
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
- package/src/private/webapis/html/events/MessageEvent.js +56 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +6 -6
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
- package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +20 -17
- package/src/private/webapis/mutationobserver/MutationObserver.js +11 -11
- package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +12 -14
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/Performance.js +3 -3
- package/src/private/webapis/performance/PerformanceObserver.js +8 -8
- package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
- package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
- 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-win/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/src-win/Libraries/Text/Text.d.ts +1 -1
- package/types/index.d.ts +2 -58
- package/Libraries/Animated/AnimatedWeb.js +0 -26
- package/Libraries/Inspector/Inspector.win32.js +0 -212
- package/Libraries/Inspector/InspectorOverlay.win32.js +0 -68
- package/Libraries/JSInspector/InspectorAgent.js +0 -27
- package/Libraries/JSInspector/JSInspector.js +0 -33
- package/Libraries/JSInspector/NetworkAgent.js +0 -295
- package/Libraries/Utilities/DebugEnvironment.js +0 -16
- package/Libraries/Utilities/Platform.flow.js +0 -91
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
- package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
- package/src/private/specs/modules/NativeCPUTime.js +0 -24
- package/src/private/specs/modules/NativeFantom.js +0 -37
- package/src/private/specs/modules/NativeUIManager.js +0 -111
- package/types/modules/globals.d.ts +0 -599
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfoWin32.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
- /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
- /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {HostInstance} from '
|
|
11
|
+
import type {HostInstance} from '../../../src/private/types/HostInstance';
|
|
12
12
|
import type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';
|
|
13
13
|
import type {
|
|
14
|
-
|
|
14
|
+
GestureResponderEvent,
|
|
15
|
+
NativeSyntheticEvent,
|
|
15
16
|
ScrollEvent,
|
|
16
|
-
SyntheticEvent,
|
|
17
17
|
} from '../../Types/CoreEventTypes';
|
|
18
18
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
19
|
-
import type {TextInputType} from './TextInput.flow';
|
|
19
|
+
import type {TextInputInstance, TextInputType} from './TextInput.flow';
|
|
20
20
|
|
|
21
21
|
import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
22
22
|
import usePressability from '../../Pressability/usePressability';
|
|
@@ -36,14 +36,6 @@ import nullthrows from 'nullthrows';
|
|
|
36
36
|
import * as React from 'react';
|
|
37
37
|
import {useCallback, useLayoutEffect, useRef, useState} from 'react';
|
|
38
38
|
|
|
39
|
-
type ReactRefSetter<T> = {current: null | T, ...} | ((ref: null | T) => mixed);
|
|
40
|
-
type TextInputInstance = HostInstance & {
|
|
41
|
-
+clear: () => void,
|
|
42
|
-
+isFocused: () => boolean,
|
|
43
|
-
+getNativeRef: () => ?HostInstance,
|
|
44
|
-
+setSelection: (start: number, end: number) => void,
|
|
45
|
-
};
|
|
46
|
-
|
|
47
39
|
let AndroidTextInput;
|
|
48
40
|
let AndroidTextInputCommands;
|
|
49
41
|
let RCTSinglelineTextInputView;
|
|
@@ -66,73 +58,79 @@ if (Platform.OS === 'android') {
|
|
|
66
58
|
require('./RCTMultilineTextInputNativeComponent').Commands;
|
|
67
59
|
}
|
|
68
60
|
|
|
69
|
-
export type
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
61
|
+
export type TextInputChangeEventData = $ReadOnly<{
|
|
62
|
+
eventCount: number,
|
|
63
|
+
target: number,
|
|
64
|
+
text: string,
|
|
65
|
+
}>;
|
|
66
|
+
|
|
67
|
+
export type TextInputChangeEvent =
|
|
68
|
+
NativeSyntheticEvent<TextInputChangeEventData>;
|
|
76
69
|
|
|
77
|
-
export type TextInputEvent =
|
|
78
|
-
$ReadOnly<{
|
|
70
|
+
export type TextInputEvent = NativeSyntheticEvent<
|
|
71
|
+
$ReadOnly<{
|
|
79
72
|
eventCount: number,
|
|
80
73
|
previousText: string,
|
|
81
|
-
range: $ReadOnly<{
|
|
74
|
+
range: $ReadOnly<{
|
|
82
75
|
start: number,
|
|
83
76
|
end: number,
|
|
84
|
-
|
|
77
|
+
}>,
|
|
85
78
|
target: number,
|
|
86
79
|
text: string,
|
|
87
|
-
|
|
80
|
+
}>,
|
|
88
81
|
>;
|
|
89
82
|
|
|
90
|
-
export type
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|}>,
|
|
98
|
-
>;
|
|
83
|
+
export type TextInputContentSizeChangeEventData = $ReadOnly<{
|
|
84
|
+
target: number,
|
|
85
|
+
contentSize: $ReadOnly<{
|
|
86
|
+
width: number,
|
|
87
|
+
height: number,
|
|
88
|
+
}>,
|
|
89
|
+
}>;
|
|
99
90
|
|
|
100
|
-
type
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
91
|
+
export type TextInputContentSizeChangeEvent =
|
|
92
|
+
NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
|
|
93
|
+
|
|
94
|
+
export type TargetEvent = $ReadOnly<{
|
|
95
|
+
target: number,
|
|
96
|
+
}>;
|
|
97
|
+
|
|
98
|
+
export type TextInputFocusEventData = TargetEvent;
|
|
105
99
|
|
|
106
|
-
export type
|
|
107
|
-
export type
|
|
100
|
+
export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
|
|
101
|
+
export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
|
|
108
102
|
|
|
109
|
-
type Selection = $ReadOnly<{
|
|
103
|
+
type Selection = $ReadOnly<{
|
|
110
104
|
start: number,
|
|
111
105
|
end: number,
|
|
112
|
-
|
|
106
|
+
}>;
|
|
113
107
|
|
|
114
|
-
export type
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|}>,
|
|
119
|
-
>;
|
|
108
|
+
export type TextInputSelectionChangeEventData = $ReadOnly<{
|
|
109
|
+
...TargetEvent,
|
|
110
|
+
selection: Selection,
|
|
111
|
+
}>;
|
|
120
112
|
|
|
121
|
-
export type
|
|
122
|
-
|
|
123
|
-
key: string,
|
|
124
|
-
target?: ?number,
|
|
125
|
-
eventCount?: ?number,
|
|
126
|
-
|}>,
|
|
127
|
-
>;
|
|
113
|
+
export type TextInputSelectionChangeEvent =
|
|
114
|
+
NativeSyntheticEvent<TextInputSelectionChangeEventData>;
|
|
128
115
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
116
|
+
type TextInputKeyPressEventData = $ReadOnly<{
|
|
117
|
+
...TargetEvent,
|
|
118
|
+
key: string,
|
|
119
|
+
target?: ?number,
|
|
120
|
+
eventCount?: ?number,
|
|
121
|
+
}>;
|
|
122
|
+
|
|
123
|
+
export type TextInputKeyPressEvent =
|
|
124
|
+
NativeSyntheticEvent<TextInputKeyPressEventData>;
|
|
125
|
+
|
|
126
|
+
export type TextInputEndEditingEventData = $ReadOnly<{
|
|
127
|
+
...TargetEvent,
|
|
128
|
+
eventCount: number,
|
|
129
|
+
text: string,
|
|
130
|
+
}>;
|
|
131
|
+
|
|
132
|
+
export type TextInputEditingEvent =
|
|
133
|
+
NativeSyntheticEvent<TextInputEndEditingEventData>;
|
|
136
134
|
|
|
137
135
|
type DataDetectorTypesType =
|
|
138
136
|
| 'phoneNumber'
|
|
@@ -146,26 +144,31 @@ type DataDetectorTypesType =
|
|
|
146
144
|
| 'all';
|
|
147
145
|
|
|
148
146
|
export type KeyboardType =
|
|
149
|
-
// Cross Platform
|
|
150
147
|
| 'default'
|
|
151
148
|
| 'email-address'
|
|
152
149
|
| 'numeric'
|
|
153
150
|
| 'phone-pad'
|
|
154
151
|
| 'number-pad'
|
|
155
152
|
| 'decimal-pad'
|
|
156
|
-
| 'url'
|
|
157
|
-
|
|
153
|
+
| 'url';
|
|
154
|
+
|
|
155
|
+
export type KeyboardTypeIOS =
|
|
158
156
|
| 'ascii-capable'
|
|
159
157
|
| 'numbers-and-punctuation'
|
|
160
158
|
| 'name-phone-pad'
|
|
161
159
|
| 'twitter'
|
|
162
160
|
| 'web-search'
|
|
163
161
|
// iOS 10+ only
|
|
164
|
-
| 'ascii-capable-number-pad'
|
|
165
|
-
// Android-only
|
|
166
|
-
| 'visible-password';
|
|
162
|
+
| 'ascii-capable-number-pad';
|
|
167
163
|
|
|
168
|
-
export type
|
|
164
|
+
export type KeyboardTypeAndroid = 'visible-password';
|
|
165
|
+
|
|
166
|
+
export type KeyboardTypeOptions =
|
|
167
|
+
| KeyboardType
|
|
168
|
+
| KeyboardTypeIOS
|
|
169
|
+
| KeyboardTypeAndroid;
|
|
170
|
+
|
|
171
|
+
export type InputModeOptions =
|
|
169
172
|
| 'none'
|
|
170
173
|
| 'text'
|
|
171
174
|
| 'decimal'
|
|
@@ -175,17 +178,9 @@ export type InputMode =
|
|
|
175
178
|
| 'email'
|
|
176
179
|
| 'url';
|
|
177
180
|
|
|
178
|
-
export type ReturnKeyType =
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
| 'go'
|
|
182
|
-
| 'next'
|
|
183
|
-
| 'search'
|
|
184
|
-
| 'send'
|
|
185
|
-
// Android-only
|
|
186
|
-
| 'none'
|
|
187
|
-
| 'previous'
|
|
188
|
-
// iOS-only
|
|
181
|
+
export type ReturnKeyType = 'done' | 'go' | 'next' | 'search' | 'send';
|
|
182
|
+
|
|
183
|
+
export type ReturnKeyTypeIOS =
|
|
189
184
|
| 'default'
|
|
190
185
|
| 'emergency-call'
|
|
191
186
|
| 'google'
|
|
@@ -193,6 +188,13 @@ export type ReturnKeyType =
|
|
|
193
188
|
| 'route'
|
|
194
189
|
| 'yahoo';
|
|
195
190
|
|
|
191
|
+
export type ReturnKeyTypeAndroid = 'none' | 'previous';
|
|
192
|
+
|
|
193
|
+
export type ReturnKeyTypeOptions =
|
|
194
|
+
| ReturnKeyType
|
|
195
|
+
| ReturnKeyTypeIOS
|
|
196
|
+
| ReturnKeyTypeAndroid;
|
|
197
|
+
|
|
196
198
|
export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
|
|
197
199
|
|
|
198
200
|
export type AutoCapitalize = 'none' | 'sentences' | 'words' | 'characters';
|
|
@@ -245,21 +247,20 @@ export type TextContentType =
|
|
|
245
247
|
| 'flightNumber'
|
|
246
248
|
| 'shipmentTrackingNumber';
|
|
247
249
|
|
|
248
|
-
export type
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
|
257
|
-
|
|
258
|
-
| 'enter';
|
|
250
|
+
export type EnterKeyHintTypeAndroid = 'previous';
|
|
251
|
+
|
|
252
|
+
export type EnterKeyHintTypeIOS = 'enter';
|
|
253
|
+
|
|
254
|
+
export type EnterKeyHintType = 'done' | 'go' | 'next' | 'search' | 'send';
|
|
255
|
+
|
|
256
|
+
export type EnterKeyHintTypeOptions =
|
|
257
|
+
| EnterKeyHintType
|
|
258
|
+
| EnterKeyHintTypeAndroid
|
|
259
|
+
| EnterKeyHintTypeIOS;
|
|
259
260
|
|
|
260
261
|
type PasswordRules = string;
|
|
261
262
|
|
|
262
|
-
type
|
|
263
|
+
export type TextInputIOSProps = $ReadOnly<{
|
|
263
264
|
/**
|
|
264
265
|
* If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.
|
|
265
266
|
* @platform ios
|
|
@@ -397,9 +398,9 @@ type IOSProps = $ReadOnly<{|
|
|
|
397
398
|
* @platform ios
|
|
398
399
|
*/
|
|
399
400
|
smartInsertDelete?: ?boolean,
|
|
400
|
-
|
|
401
|
+
}>;
|
|
401
402
|
|
|
402
|
-
type
|
|
403
|
+
export type TextInputAndroidProps = $ReadOnly<{
|
|
403
404
|
/**
|
|
404
405
|
* When provided it will set the color of the cursor (or "caret") in the component.
|
|
405
406
|
* Unlike the behavior of `selectionColor` the cursor color will be set independently
|
|
@@ -483,12 +484,12 @@ type AndroidProps = $ReadOnly<{|
|
|
|
483
484
|
* @platform android
|
|
484
485
|
*/
|
|
485
486
|
underlineColorAndroid?: ?ColorValue,
|
|
486
|
-
|
|
487
|
+
}>;
|
|
487
488
|
|
|
488
|
-
export type
|
|
489
|
-
...$Diff<ViewProps, $ReadOnly<{
|
|
490
|
-
...
|
|
491
|
-
...
|
|
489
|
+
export type TextInputProps = $ReadOnly<{
|
|
490
|
+
...$Diff<ViewProps, $ReadOnly<{style: ?ViewStyleProp}>>,
|
|
491
|
+
...TextInputIOSProps,
|
|
492
|
+
...TextInputAndroidProps,
|
|
492
493
|
|
|
493
494
|
/**
|
|
494
495
|
* Can tell `TextInput` to automatically capitalize certain characters.
|
|
@@ -676,7 +677,7 @@ export type Props = $ReadOnly<{|
|
|
|
676
677
|
*/
|
|
677
678
|
editable?: ?boolean,
|
|
678
679
|
|
|
679
|
-
forwardedRef?: ?
|
|
680
|
+
forwardedRef?: ?React.RefSetter<TextInputInstance>,
|
|
680
681
|
|
|
681
682
|
/**
|
|
682
683
|
* `enterKeyHint` defines what action label (or icon) to present for the enter key on virtual keyboards.
|
|
@@ -691,7 +692,7 @@ export type Props = $ReadOnly<{|
|
|
|
691
692
|
* - `search`
|
|
692
693
|
* - `send`
|
|
693
694
|
*/
|
|
694
|
-
enterKeyHint?: ?
|
|
695
|
+
enterKeyHint?: ?EnterKeyHintTypeOptions,
|
|
695
696
|
|
|
696
697
|
/**
|
|
697
698
|
* `inputMode` works like the `inputmode` attribute in HTML, it determines which
|
|
@@ -708,7 +709,7 @@ export type Props = $ReadOnly<{|
|
|
|
708
709
|
* - `email`
|
|
709
710
|
* - `url`
|
|
710
711
|
*/
|
|
711
|
-
inputMode?: ?
|
|
712
|
+
inputMode?: ?InputModeOptions,
|
|
712
713
|
|
|
713
714
|
/**
|
|
714
715
|
* Determines which keyboard to open, e.g.`numeric`.
|
|
@@ -740,7 +741,7 @@ export type Props = $ReadOnly<{|
|
|
|
740
741
|
* - `visible-password`
|
|
741
742
|
*
|
|
742
743
|
*/
|
|
743
|
-
keyboardType?: ?
|
|
744
|
+
keyboardType?: ?KeyboardTypeOptions,
|
|
744
745
|
|
|
745
746
|
/**
|
|
746
747
|
* Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.
|
|
@@ -766,12 +767,12 @@ export type Props = $ReadOnly<{|
|
|
|
766
767
|
/**
|
|
767
768
|
* Callback that is called when the text input is blurred.
|
|
768
769
|
*/
|
|
769
|
-
onBlur?: ?(e:
|
|
770
|
+
onBlur?: ?(e: TextInputBlurEvent) => mixed,
|
|
770
771
|
|
|
771
772
|
/**
|
|
772
773
|
* Callback that is called when the text input's text changes.
|
|
773
774
|
*/
|
|
774
|
-
onChange?: ?(e:
|
|
775
|
+
onChange?: ?(e: TextInputChangeEvent) => mixed,
|
|
775
776
|
|
|
776
777
|
/**
|
|
777
778
|
* Callback that is called when the text input's text changes.
|
|
@@ -786,17 +787,17 @@ export type Props = $ReadOnly<{|
|
|
|
786
787
|
*
|
|
787
788
|
* Only called for multiline text inputs.
|
|
788
789
|
*/
|
|
789
|
-
onContentSizeChange?: ?(e:
|
|
790
|
+
onContentSizeChange?: ?(e: TextInputContentSizeChangeEvent) => mixed,
|
|
790
791
|
|
|
791
792
|
/**
|
|
792
793
|
* Callback that is called when text input ends.
|
|
793
794
|
*/
|
|
794
|
-
onEndEditing?: ?(e:
|
|
795
|
+
onEndEditing?: ?(e: TextInputEditingEvent) => mixed,
|
|
795
796
|
|
|
796
797
|
/**
|
|
797
798
|
* Callback that is called when the text input is focused.
|
|
798
799
|
*/
|
|
799
|
-
onFocus?: ?(e:
|
|
800
|
+
onFocus?: ?(e: TextInputFocusEvent) => mixed,
|
|
800
801
|
|
|
801
802
|
/**
|
|
802
803
|
* Callback that is called when a key is pressed.
|
|
@@ -805,35 +806,35 @@ export type Props = $ReadOnly<{|
|
|
|
805
806
|
* the typed-in character otherwise including `' '` for space.
|
|
806
807
|
* Fires before `onChange` callbacks.
|
|
807
808
|
*/
|
|
808
|
-
onKeyPress?: ?(e:
|
|
809
|
+
onKeyPress?: ?(e: TextInputKeyPressEvent) => mixed,
|
|
809
810
|
|
|
810
811
|
/**
|
|
811
812
|
* Called when a single tap gesture is detected.
|
|
812
813
|
*/
|
|
813
|
-
onPress?: ?(event:
|
|
814
|
+
onPress?: ?(event: GestureResponderEvent) => mixed,
|
|
814
815
|
|
|
815
816
|
/**
|
|
816
817
|
* Called when a touch is engaged.
|
|
817
818
|
*/
|
|
818
|
-
onPressIn?: ?(event:
|
|
819
|
+
onPressIn?: ?(event: GestureResponderEvent) => mixed,
|
|
819
820
|
|
|
820
821
|
/**
|
|
821
822
|
* Called when a touch is released.
|
|
822
823
|
*/
|
|
823
|
-
onPressOut?: ?(event:
|
|
824
|
+
onPressOut?: ?(event: GestureResponderEvent) => mixed,
|
|
824
825
|
|
|
825
826
|
/**
|
|
826
827
|
* Callback that is called when the text input selection is changed.
|
|
827
828
|
* This will be called with
|
|
828
829
|
* `{ nativeEvent: { selection: { start, end } } }`.
|
|
829
830
|
*/
|
|
830
|
-
onSelectionChange?: ?(e:
|
|
831
|
+
onSelectionChange?: ?(e: TextInputSelectionChangeEvent) => mixed,
|
|
831
832
|
|
|
832
833
|
/**
|
|
833
834
|
* Callback that is called when the text input's submit button is pressed.
|
|
834
835
|
* Invalid if `multiline={true}` is specified.
|
|
835
836
|
*/
|
|
836
|
-
onSubmitEditing?: ?(e:
|
|
837
|
+
onSubmitEditing?: ?(e: TextInputEditingEvent) => mixed,
|
|
837
838
|
|
|
838
839
|
/**
|
|
839
840
|
* Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.
|
|
@@ -891,7 +892,7 @@ export type Props = $ReadOnly<{|
|
|
|
891
892
|
* - `route`
|
|
892
893
|
* - `yahoo`
|
|
893
894
|
*/
|
|
894
|
-
returnKeyType?: ?
|
|
895
|
+
returnKeyType?: ?ReturnKeyTypeOptions,
|
|
895
896
|
|
|
896
897
|
/**
|
|
897
898
|
* If `true`, the text input obscures the text entered so that sensitive text
|
|
@@ -903,10 +904,10 @@ export type Props = $ReadOnly<{|
|
|
|
903
904
|
* The start and end of the text input's selection. Set start and end to
|
|
904
905
|
* the same value to position the cursor.
|
|
905
906
|
*/
|
|
906
|
-
selection?: ?$ReadOnly<{
|
|
907
|
+
selection?: ?$ReadOnly<{
|
|
907
908
|
start: number,
|
|
908
909
|
end?: ?number,
|
|
909
|
-
|
|
910
|
+
}>,
|
|
910
911
|
|
|
911
912
|
/**
|
|
912
913
|
* The highlight and cursor color of the text input.
|
|
@@ -987,7 +988,7 @@ export type Props = $ReadOnly<{|
|
|
|
987
988
|
* unwanted edits without flicker.
|
|
988
989
|
*/
|
|
989
990
|
value?: ?Stringish,
|
|
990
|
-
|
|
991
|
+
}>;
|
|
991
992
|
|
|
992
993
|
type ViewCommands = $NonMaybeType<
|
|
993
994
|
| typeof AndroidTextInputCommands
|
|
@@ -995,10 +996,10 @@ type ViewCommands = $NonMaybeType<
|
|
|
995
996
|
| typeof RCTSinglelineTextInputNativeCommands,
|
|
996
997
|
>;
|
|
997
998
|
|
|
998
|
-
type LastNativeSelection = {
|
|
999
|
+
type LastNativeSelection = {
|
|
999
1000
|
selection: Selection,
|
|
1000
1001
|
mostRecentEventCount: number,
|
|
1001
|
-
|
|
1002
|
+
};
|
|
1002
1003
|
|
|
1003
1004
|
const emptyFunctionThatReturnsTrue = () => true;
|
|
1004
1005
|
|
|
@@ -1015,11 +1016,11 @@ function useTextInputStateSynchronization_STATE({
|
|
|
1015
1016
|
text,
|
|
1016
1017
|
viewCommands,
|
|
1017
1018
|
}: {
|
|
1018
|
-
props:
|
|
1019
|
+
props: TextInputProps,
|
|
1019
1020
|
mostRecentEventCount: number,
|
|
1020
1021
|
selection: ?Selection,
|
|
1021
|
-
inputRef: React.RefObject<null |
|
|
1022
|
-
text
|
|
1022
|
+
inputRef: React.RefObject<null | TextInputInstance>,
|
|
1023
|
+
text?: string,
|
|
1023
1024
|
viewCommands: ViewCommands,
|
|
1024
1025
|
}): {
|
|
1025
1026
|
setLastNativeText: string => void,
|
|
@@ -1096,11 +1097,11 @@ function useTextInputStateSynchronization_REFS({
|
|
|
1096
1097
|
text,
|
|
1097
1098
|
viewCommands,
|
|
1098
1099
|
}: {
|
|
1099
|
-
props:
|
|
1100
|
+
props: TextInputProps,
|
|
1100
1101
|
mostRecentEventCount: number,
|
|
1101
1102
|
selection: ?Selection,
|
|
1102
|
-
inputRef: React.RefObject<null |
|
|
1103
|
-
text
|
|
1103
|
+
inputRef: React.RefObject<null | TextInputInstance>,
|
|
1104
|
+
text?: string,
|
|
1104
1105
|
viewCommands: ViewCommands,
|
|
1105
1106
|
}): {
|
|
1106
1107
|
setLastNativeText: string => void,
|
|
@@ -1282,7 +1283,7 @@ function useTextInputStateSynchronization_REFS({
|
|
|
1282
1283
|
* or control this param programmatically with native code.
|
|
1283
1284
|
*
|
|
1284
1285
|
*/
|
|
1285
|
-
function InternalTextInput(props:
|
|
1286
|
+
function InternalTextInput(props: TextInputProps): React.Node {
|
|
1286
1287
|
const {
|
|
1287
1288
|
'aria-busy': ariaBusy,
|
|
1288
1289
|
'aria-checked': ariaChecked,
|
|
@@ -1299,7 +1300,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1299
1300
|
...otherProps
|
|
1300
1301
|
} = props;
|
|
1301
1302
|
|
|
1302
|
-
const inputRef = useRef<null |
|
|
1303
|
+
const inputRef = useRef<null | TextInputInstance>(null);
|
|
1303
1304
|
|
|
1304
1305
|
const selection: ?Selection =
|
|
1305
1306
|
propsSelection == null
|
|
@@ -1314,7 +1315,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1314
1315
|
? props.value
|
|
1315
1316
|
: typeof props.defaultValue === 'string'
|
|
1316
1317
|
? props.defaultValue
|
|
1317
|
-
:
|
|
1318
|
+
: undefined;
|
|
1318
1319
|
|
|
1319
1320
|
const viewCommands =
|
|
1320
1321
|
AndroidTextInputCommands ||
|
|
@@ -1354,7 +1355,8 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1354
1355
|
}, []);
|
|
1355
1356
|
|
|
1356
1357
|
const setLocalRef = useCallback(
|
|
1357
|
-
(instance:
|
|
1358
|
+
(instance: HostInstance | null) => {
|
|
1359
|
+
// $FlowExpectedError[incompatible-type]
|
|
1358
1360
|
inputRef.current = instance;
|
|
1359
1361
|
|
|
1360
1362
|
/*
|
|
@@ -1380,7 +1382,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1380
1382
|
before we can get to the long term breaking change.
|
|
1381
1383
|
*/
|
|
1382
1384
|
if (instance != null) {
|
|
1383
|
-
// $FlowFixMe[
|
|
1385
|
+
// $FlowFixMe[prop-missing] - See the explanation above.
|
|
1384
1386
|
Object.assign(instance, {
|
|
1385
1387
|
clear(): void {
|
|
1386
1388
|
if (inputRef.current != null) {
|
|
@@ -1397,7 +1399,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1397
1399
|
isFocused(): boolean {
|
|
1398
1400
|
return TextInputState.currentlyFocusedInput() === inputRef.current;
|
|
1399
1401
|
},
|
|
1400
|
-
getNativeRef(): ?
|
|
1402
|
+
getNativeRef(): ?TextInputInstance {
|
|
1401
1403
|
return inputRef.current;
|
|
1402
1404
|
},
|
|
1403
1405
|
setSelection(start: number, end: number): void {
|
|
@@ -1417,9 +1419,10 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1417
1419
|
[mostRecentEventCount, viewCommands],
|
|
1418
1420
|
);
|
|
1419
1421
|
|
|
1420
|
-
|
|
1422
|
+
// $FlowExpectedError[incompatible-call]
|
|
1423
|
+
const ref = useMergeRefs<HostInstance>(setLocalRef, props.forwardedRef);
|
|
1421
1424
|
|
|
1422
|
-
const _onChange = (event:
|
|
1425
|
+
const _onChange = (event: TextInputChangeEvent) => {
|
|
1423
1426
|
const currentText = event.nativeEvent.text;
|
|
1424
1427
|
props.onChange && props.onChange(event);
|
|
1425
1428
|
props.onChangeText && props.onChangeText(currentText);
|
|
@@ -1438,7 +1441,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1438
1441
|
setMostRecentEventCount(event.nativeEvent.eventCount);
|
|
1439
1442
|
};
|
|
1440
1443
|
|
|
1441
|
-
const _onSelectionChange = (event:
|
|
1444
|
+
const _onSelectionChange = (event: TextInputSelectionChangeEvent) => {
|
|
1442
1445
|
props.onSelectionChange && props.onSelectionChange(event);
|
|
1443
1446
|
|
|
1444
1447
|
if (inputRef.current == null) {
|
|
@@ -1453,14 +1456,14 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1453
1456
|
});
|
|
1454
1457
|
};
|
|
1455
1458
|
|
|
1456
|
-
const _onFocus = (event:
|
|
1459
|
+
const _onFocus = (event: TextInputFocusEvent) => {
|
|
1457
1460
|
TextInputState.focusInput(inputRef.current);
|
|
1458
1461
|
if (props.onFocus) {
|
|
1459
1462
|
props.onFocus(event);
|
|
1460
1463
|
}
|
|
1461
1464
|
};
|
|
1462
1465
|
|
|
1463
|
-
const _onBlur = (event:
|
|
1466
|
+
const _onBlur = (event: TextInputBlurEvent) => {
|
|
1464
1467
|
TextInputState.blurInput(inputRef.current);
|
|
1465
1468
|
if (props.onBlur) {
|
|
1466
1469
|
props.onBlur(event);
|
|
@@ -1514,7 +1517,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1514
1517
|
const config = React.useMemo(
|
|
1515
1518
|
() => ({
|
|
1516
1519
|
hitSlop,
|
|
1517
|
-
onPress: (event:
|
|
1520
|
+
onPress: (event: GestureResponderEvent) => {
|
|
1518
1521
|
onPress?.(event);
|
|
1519
1522
|
if (editable !== false) {
|
|
1520
1523
|
if (inputRef.current != null) {
|
|
@@ -1605,8 +1608,8 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1605
1608
|
|
|
1606
1609
|
textInput = (
|
|
1607
1610
|
<RCTTextInputView
|
|
1608
|
-
//
|
|
1609
|
-
ref={ref}
|
|
1611
|
+
// Figure out imperative + forward refs.
|
|
1612
|
+
ref={(ref: $FlowFixMe)}
|
|
1610
1613
|
{...otherProps}
|
|
1611
1614
|
{...eventHandlers}
|
|
1612
1615
|
accessibilityState={_accessibilityState}
|
|
@@ -1617,6 +1620,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1617
1620
|
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1618
1621
|
mostRecentEventCount={mostRecentEventCount}
|
|
1619
1622
|
nativeID={id ?? props.nativeID}
|
|
1623
|
+
numberOfLines={props.rows ?? props.numberOfLines}
|
|
1620
1624
|
onBlur={_onBlur}
|
|
1621
1625
|
onChange={_onChange}
|
|
1622
1626
|
onContentSizeChange={props.onContentSizeChange}
|
|
@@ -1666,8 +1670,8 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1666
1670
|
* match up exactly with the props for TextInput. This will need to get
|
|
1667
1671
|
* fixed */
|
|
1668
1672
|
<AndroidTextInput
|
|
1669
|
-
//
|
|
1670
|
-
ref={ref}
|
|
1673
|
+
// Figure out imperative + forward refs.
|
|
1674
|
+
ref={(ref: $FlowFixMe)}
|
|
1671
1675
|
{...otherProps}
|
|
1672
1676
|
{...colorProps}
|
|
1673
1677
|
{...eventHandlers}
|
|
@@ -1804,7 +1808,6 @@ const autoCompleteWebToTextContentTypeMap = {
|
|
|
1804
1808
|
const ExportedForwardRef: component(
|
|
1805
1809
|
ref: React.RefSetter<TextInputInstance>,
|
|
1806
1810
|
...props: React.ElementConfig<typeof InternalTextInput>
|
|
1807
|
-
// $FlowFixMe[incompatible-call]
|
|
1808
1811
|
) = React.forwardRef(function TextInput(
|
|
1809
1812
|
{
|
|
1810
1813
|
allowFontScaling = true,
|
|
@@ -1821,7 +1824,7 @@ const ExportedForwardRef: component(
|
|
|
1821
1824
|
keyboardType,
|
|
1822
1825
|
...restProps
|
|
1823
1826
|
},
|
|
1824
|
-
forwardedRef:
|
|
1827
|
+
forwardedRef: React.RefSetter<TextInputInstance>,
|
|
1825
1828
|
) {
|
|
1826
1829
|
return (
|
|
1827
1830
|
<InternalTextInput
|
|
@@ -1874,14 +1877,14 @@ ExportedForwardRef.State = {
|
|
|
1874
1877
|
blurTextInput: TextInputState.blurTextInput,
|
|
1875
1878
|
};
|
|
1876
1879
|
|
|
1877
|
-
export type TextInputComponentStatics = $ReadOnly<{
|
|
1878
|
-
State: $ReadOnly<{
|
|
1880
|
+
export type TextInputComponentStatics = $ReadOnly<{
|
|
1881
|
+
State: $ReadOnly<{
|
|
1879
1882
|
currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput,
|
|
1880
1883
|
currentlyFocusedField: typeof TextInputState.currentlyFocusedField,
|
|
1881
1884
|
focusTextInput: typeof TextInputState.focusTextInput,
|
|
1882
1885
|
blurTextInput: typeof TextInputState.blurTextInput,
|
|
1883
|
-
|
|
1884
|
-
|
|
1886
|
+
}>,
|
|
1887
|
+
}>;
|
|
1885
1888
|
|
|
1886
1889
|
const styles = StyleSheet.create({
|
|
1887
1890
|
multilineDefault: {
|
|
@@ -1900,4 +1903,4 @@ const verticalAlignToTextAlignVerticalMap = {
|
|
|
1900
1903
|
};
|
|
1901
1904
|
|
|
1902
1905
|
// $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
|
|
1903
|
-
|
|
1906
|
+
export default ExportedForwardRef as any as TextInputType;
|