@office-iss/react-native-win32 0.78.3 → 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 +159 -46
- package/CHANGELOG.md +49 -26
- 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 -24
- 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;
|
|
@@ -77,73 +69,79 @@ else if (Platform.OS === 'win32') {
|
|
|
77
69
|
}
|
|
78
70
|
// Windows]
|
|
79
71
|
|
|
80
|
-
export type
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|}>,
|
|
86
|
-
>;
|
|
72
|
+
export type TextInputChangeEventData = $ReadOnly<{
|
|
73
|
+
eventCount: number,
|
|
74
|
+
target: number,
|
|
75
|
+
text: string,
|
|
76
|
+
}>;
|
|
87
77
|
|
|
88
|
-
export type
|
|
89
|
-
|
|
78
|
+
export type TextInputChangeEvent =
|
|
79
|
+
NativeSyntheticEvent<TextInputChangeEventData>;
|
|
80
|
+
|
|
81
|
+
export type TextInputEvent = NativeSyntheticEvent<
|
|
82
|
+
$ReadOnly<{
|
|
90
83
|
eventCount: number,
|
|
91
84
|
previousText: string,
|
|
92
|
-
range: $ReadOnly<{
|
|
85
|
+
range: $ReadOnly<{
|
|
93
86
|
start: number,
|
|
94
87
|
end: number,
|
|
95
|
-
|
|
88
|
+
}>,
|
|
96
89
|
target: number,
|
|
97
90
|
text: string,
|
|
98
|
-
|
|
91
|
+
}>,
|
|
99
92
|
>;
|
|
100
93
|
|
|
101
|
-
export type
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|}>,
|
|
109
|
-
>;
|
|
94
|
+
export type TextInputContentSizeChangeEventData = $ReadOnly<{
|
|
95
|
+
target: number,
|
|
96
|
+
contentSize: $ReadOnly<{
|
|
97
|
+
width: number,
|
|
98
|
+
height: number,
|
|
99
|
+
}>,
|
|
100
|
+
}>;
|
|
110
101
|
|
|
111
|
-
type
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
102
|
+
export type TextInputContentSizeChangeEvent =
|
|
103
|
+
NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
|
|
104
|
+
|
|
105
|
+
export type TargetEvent = $ReadOnly<{
|
|
106
|
+
target: number,
|
|
107
|
+
}>;
|
|
116
108
|
|
|
117
|
-
export type
|
|
118
|
-
export type FocusEvent = TargetEvent;
|
|
109
|
+
export type TextInputFocusEventData = TargetEvent;
|
|
119
110
|
|
|
120
|
-
type
|
|
111
|
+
export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
|
|
112
|
+
export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
|
|
113
|
+
|
|
114
|
+
type Selection = $ReadOnly<{
|
|
121
115
|
start: number,
|
|
122
116
|
end: number,
|
|
123
|
-
|
|
117
|
+
}>;
|
|
124
118
|
|
|
125
|
-
export type
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|}>,
|
|
130
|
-
>;
|
|
119
|
+
export type TextInputSelectionChangeEventData = $ReadOnly<{
|
|
120
|
+
...TargetEvent,
|
|
121
|
+
selection: Selection,
|
|
122
|
+
}>;
|
|
131
123
|
|
|
132
|
-
export type
|
|
133
|
-
|
|
134
|
-
key: string,
|
|
135
|
-
target?: ?number,
|
|
136
|
-
eventCount?: ?number,
|
|
137
|
-
|}>,
|
|
138
|
-
>;
|
|
124
|
+
export type TextInputSelectionChangeEvent =
|
|
125
|
+
NativeSyntheticEvent<TextInputSelectionChangeEventData>;
|
|
139
126
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
127
|
+
type TextInputKeyPressEventData = $ReadOnly<{
|
|
128
|
+
...TargetEvent,
|
|
129
|
+
key: string,
|
|
130
|
+
target?: ?number,
|
|
131
|
+
eventCount?: ?number,
|
|
132
|
+
}>;
|
|
133
|
+
|
|
134
|
+
export type TextInputKeyPressEvent =
|
|
135
|
+
NativeSyntheticEvent<TextInputKeyPressEventData>;
|
|
136
|
+
|
|
137
|
+
export type TextInputEndEditingEventData = $ReadOnly<{
|
|
138
|
+
...TargetEvent,
|
|
139
|
+
eventCount: number,
|
|
140
|
+
text: string,
|
|
141
|
+
}>;
|
|
142
|
+
|
|
143
|
+
export type TextInputEditingEvent =
|
|
144
|
+
NativeSyntheticEvent<TextInputEndEditingEventData>;
|
|
147
145
|
|
|
148
146
|
type DataDetectorTypesType =
|
|
149
147
|
| 'phoneNumber'
|
|
@@ -157,26 +155,31 @@ type DataDetectorTypesType =
|
|
|
157
155
|
| 'all';
|
|
158
156
|
|
|
159
157
|
export type KeyboardType =
|
|
160
|
-
// Cross Platform
|
|
161
158
|
| 'default'
|
|
162
159
|
| 'email-address'
|
|
163
160
|
| 'numeric'
|
|
164
161
|
| 'phone-pad'
|
|
165
162
|
| 'number-pad'
|
|
166
163
|
| 'decimal-pad'
|
|
167
|
-
| 'url'
|
|
168
|
-
|
|
164
|
+
| 'url';
|
|
165
|
+
|
|
166
|
+
export type KeyboardTypeIOS =
|
|
169
167
|
| 'ascii-capable'
|
|
170
168
|
| 'numbers-and-punctuation'
|
|
171
169
|
| 'name-phone-pad'
|
|
172
170
|
| 'twitter'
|
|
173
171
|
| 'web-search'
|
|
174
172
|
// iOS 10+ only
|
|
175
|
-
| 'ascii-capable-number-pad'
|
|
176
|
-
|
|
177
|
-
|
|
173
|
+
| 'ascii-capable-number-pad';
|
|
174
|
+
|
|
175
|
+
export type KeyboardTypeAndroid = 'visible-password';
|
|
178
176
|
|
|
179
|
-
export type
|
|
177
|
+
export type KeyboardTypeOptions =
|
|
178
|
+
| KeyboardType
|
|
179
|
+
| KeyboardTypeIOS
|
|
180
|
+
| KeyboardTypeAndroid;
|
|
181
|
+
|
|
182
|
+
export type InputModeOptions =
|
|
180
183
|
| 'none'
|
|
181
184
|
| 'text'
|
|
182
185
|
| 'decimal'
|
|
@@ -186,17 +189,9 @@ export type InputMode =
|
|
|
186
189
|
| 'email'
|
|
187
190
|
| 'url';
|
|
188
191
|
|
|
189
|
-
export type ReturnKeyType =
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
| 'go'
|
|
193
|
-
| 'next'
|
|
194
|
-
| 'search'
|
|
195
|
-
| 'send'
|
|
196
|
-
// Android-only
|
|
197
|
-
| 'none'
|
|
198
|
-
| 'previous'
|
|
199
|
-
// iOS-only
|
|
192
|
+
export type ReturnKeyType = 'done' | 'go' | 'next' | 'search' | 'send';
|
|
193
|
+
|
|
194
|
+
export type ReturnKeyTypeIOS =
|
|
200
195
|
| 'default'
|
|
201
196
|
| 'emergency-call'
|
|
202
197
|
| 'google'
|
|
@@ -204,6 +199,13 @@ export type ReturnKeyType =
|
|
|
204
199
|
| 'route'
|
|
205
200
|
| 'yahoo';
|
|
206
201
|
|
|
202
|
+
export type ReturnKeyTypeAndroid = 'none' | 'previous';
|
|
203
|
+
|
|
204
|
+
export type ReturnKeyTypeOptions =
|
|
205
|
+
| ReturnKeyType
|
|
206
|
+
| ReturnKeyTypeIOS
|
|
207
|
+
| ReturnKeyTypeAndroid;
|
|
208
|
+
|
|
207
209
|
export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
|
|
208
210
|
|
|
209
211
|
export type AutoCapitalize = 'none' | 'sentences' | 'words' | 'characters';
|
|
@@ -256,21 +258,20 @@ export type TextContentType =
|
|
|
256
258
|
| 'flightNumber'
|
|
257
259
|
| 'shipmentTrackingNumber';
|
|
258
260
|
|
|
259
|
-
export type
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
|
268
|
-
|
|
269
|
-
| 'enter';
|
|
261
|
+
export type EnterKeyHintTypeAndroid = 'previous';
|
|
262
|
+
|
|
263
|
+
export type EnterKeyHintTypeIOS = 'enter';
|
|
264
|
+
|
|
265
|
+
export type EnterKeyHintType = 'done' | 'go' | 'next' | 'search' | 'send';
|
|
266
|
+
|
|
267
|
+
export type EnterKeyHintTypeOptions =
|
|
268
|
+
| EnterKeyHintType
|
|
269
|
+
| EnterKeyHintTypeAndroid
|
|
270
|
+
| EnterKeyHintTypeIOS;
|
|
270
271
|
|
|
271
272
|
type PasswordRules = string;
|
|
272
273
|
|
|
273
|
-
type
|
|
274
|
+
export type TextInputIOSProps = $ReadOnly<{
|
|
274
275
|
/**
|
|
275
276
|
* If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.
|
|
276
277
|
* @platform ios
|
|
@@ -405,9 +406,9 @@ type IOSProps = $ReadOnly<{|
|
|
|
405
406
|
* @platform ios
|
|
406
407
|
*/
|
|
407
408
|
smartInsertDelete?: ?boolean,
|
|
408
|
-
|
|
409
|
+
}>;
|
|
409
410
|
|
|
410
|
-
type
|
|
411
|
+
export type TextInputAndroidProps = $ReadOnly<{
|
|
411
412
|
/**
|
|
412
413
|
* When provided it will set the color of the cursor (or "caret") in the component.
|
|
413
414
|
* Unlike the behavior of `selectionColor` the cursor color will be set independently
|
|
@@ -491,7 +492,7 @@ type AndroidProps = $ReadOnly<{|
|
|
|
491
492
|
* @platform android
|
|
492
493
|
*/
|
|
493
494
|
underlineColorAndroid?: ?ColorValue,
|
|
494
|
-
|
|
495
|
+
}>;
|
|
495
496
|
|
|
496
497
|
// [Windows
|
|
497
498
|
|
|
@@ -503,7 +504,7 @@ type SubmitKeyEvent = $ReadOnly<{|
|
|
|
503
504
|
code: string,
|
|
504
505
|
|}>;
|
|
505
506
|
|
|
506
|
-
type
|
|
507
|
+
type TextInputWindowsProps = $ReadOnly<{|
|
|
507
508
|
/**
|
|
508
509
|
* If `true`, clears the text field synchronously before `onSubmitEditing` is emitted.
|
|
509
510
|
* @platform windows
|
|
@@ -519,11 +520,11 @@ type WindowsProps = $ReadOnly<{|
|
|
|
519
520
|
|
|
520
521
|
// Windows]
|
|
521
522
|
|
|
522
|
-
export type
|
|
523
|
-
...$Diff<ViewProps, $ReadOnly<{
|
|
524
|
-
...
|
|
525
|
-
...
|
|
526
|
-
...
|
|
523
|
+
export type TextInputProps = $ReadOnly<{
|
|
524
|
+
...$Diff<ViewProps, $ReadOnly<{style: ?ViewStyleProp}>>,
|
|
525
|
+
...TextInputIOSProps,
|
|
526
|
+
...TextInputAndroidProps,
|
|
527
|
+
...TextInputWindowsProps, // [Windows]
|
|
527
528
|
|
|
528
529
|
/**
|
|
529
530
|
* String to be read by screenreaders to indicate an error state. The acceptable parameters
|
|
@@ -719,7 +720,7 @@ export type Props = $ReadOnly<{|
|
|
|
719
720
|
*/
|
|
720
721
|
editable?: ?boolean,
|
|
721
722
|
|
|
722
|
-
forwardedRef?: ?
|
|
723
|
+
forwardedRef?: ?React.RefSetter<TextInputInstance>,
|
|
723
724
|
|
|
724
725
|
/**
|
|
725
726
|
* `enterKeyHint` defines what action label (or icon) to present for the enter key on virtual keyboards.
|
|
@@ -734,7 +735,7 @@ export type Props = $ReadOnly<{|
|
|
|
734
735
|
* - `search`
|
|
735
736
|
* - `send`
|
|
736
737
|
*/
|
|
737
|
-
enterKeyHint?: ?
|
|
738
|
+
enterKeyHint?: ?EnterKeyHintTypeOptions,
|
|
738
739
|
|
|
739
740
|
/**
|
|
740
741
|
* `inputMode` works like the `inputmode` attribute in HTML, it determines which
|
|
@@ -751,7 +752,7 @@ export type Props = $ReadOnly<{|
|
|
|
751
752
|
* - `email`
|
|
752
753
|
* - `url`
|
|
753
754
|
*/
|
|
754
|
-
inputMode?: ?
|
|
755
|
+
inputMode?: ?InputModeOptions,
|
|
755
756
|
|
|
756
757
|
/**
|
|
757
758
|
* Determines which keyboard to open, e.g.`numeric`.
|
|
@@ -783,7 +784,7 @@ export type Props = $ReadOnly<{|
|
|
|
783
784
|
* - `visible-password`
|
|
784
785
|
*
|
|
785
786
|
*/
|
|
786
|
-
keyboardType?: ?
|
|
787
|
+
keyboardType?: ?KeyboardTypeOptions,
|
|
787
788
|
|
|
788
789
|
/**
|
|
789
790
|
* Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.
|
|
@@ -809,12 +810,12 @@ export type Props = $ReadOnly<{|
|
|
|
809
810
|
/**
|
|
810
811
|
* Callback that is called when the text input is blurred.
|
|
811
812
|
*/
|
|
812
|
-
onBlur?: ?(e:
|
|
813
|
+
onBlur?: ?(e: TextInputBlurEvent) => mixed,
|
|
813
814
|
|
|
814
815
|
/**
|
|
815
816
|
* Callback that is called when the text input's text changes.
|
|
816
817
|
*/
|
|
817
|
-
onChange?: ?(e:
|
|
818
|
+
onChange?: ?(e: TextInputChangeEvent) => mixed,
|
|
818
819
|
|
|
819
820
|
/**
|
|
820
821
|
* Callback that is called when the text input's text changes.
|
|
@@ -829,17 +830,17 @@ export type Props = $ReadOnly<{|
|
|
|
829
830
|
*
|
|
830
831
|
* Only called for multiline text inputs.
|
|
831
832
|
*/
|
|
832
|
-
onContentSizeChange?: ?(e:
|
|
833
|
+
onContentSizeChange?: ?(e: TextInputContentSizeChangeEvent) => mixed,
|
|
833
834
|
|
|
834
835
|
/**
|
|
835
836
|
* Callback that is called when text input ends.
|
|
836
837
|
*/
|
|
837
|
-
onEndEditing?: ?(e:
|
|
838
|
+
onEndEditing?: ?(e: TextInputEditingEvent) => mixed,
|
|
838
839
|
|
|
839
840
|
/**
|
|
840
841
|
* Callback that is called when the text input is focused.
|
|
841
842
|
*/
|
|
842
|
-
onFocus?: ?(e:
|
|
843
|
+
onFocus?: ?(e: TextInputFocusEvent) => mixed,
|
|
843
844
|
|
|
844
845
|
/**
|
|
845
846
|
* Callback that is called when a key is pressed.
|
|
@@ -848,35 +849,35 @@ export type Props = $ReadOnly<{|
|
|
|
848
849
|
* the typed-in character otherwise including `' '` for space.
|
|
849
850
|
* Fires before `onChange` callbacks.
|
|
850
851
|
*/
|
|
851
|
-
onKeyPress?: ?(e:
|
|
852
|
+
onKeyPress?: ?(e: TextInputKeyPressEvent) => mixed,
|
|
852
853
|
|
|
853
854
|
/**
|
|
854
855
|
* Called when a single tap gesture is detected.
|
|
855
856
|
*/
|
|
856
|
-
onPress?: ?(event:
|
|
857
|
+
onPress?: ?(event: GestureResponderEvent) => mixed,
|
|
857
858
|
|
|
858
859
|
/**
|
|
859
860
|
* Called when a touch is engaged.
|
|
860
861
|
*/
|
|
861
|
-
onPressIn?: ?(event:
|
|
862
|
+
onPressIn?: ?(event: GestureResponderEvent) => mixed,
|
|
862
863
|
|
|
863
864
|
/**
|
|
864
865
|
* Called when a touch is released.
|
|
865
866
|
*/
|
|
866
|
-
onPressOut?: ?(event:
|
|
867
|
+
onPressOut?: ?(event: GestureResponderEvent) => mixed,
|
|
867
868
|
|
|
868
869
|
/**
|
|
869
870
|
* Callback that is called when the text input selection is changed.
|
|
870
871
|
* This will be called with
|
|
871
872
|
* `{ nativeEvent: { selection: { start, end } } }`.
|
|
872
873
|
*/
|
|
873
|
-
onSelectionChange?: ?(e:
|
|
874
|
+
onSelectionChange?: ?(e: TextInputSelectionChangeEvent) => mixed,
|
|
874
875
|
|
|
875
876
|
/**
|
|
876
877
|
* Callback that is called when the text input's submit button is pressed.
|
|
877
878
|
* Invalid if `multiline={true}` is specified.
|
|
878
879
|
*/
|
|
879
|
-
onSubmitEditing?: ?(e:
|
|
880
|
+
onSubmitEditing?: ?(e: TextInputEditingEvent) => mixed,
|
|
880
881
|
|
|
881
882
|
/**
|
|
882
883
|
* Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.
|
|
@@ -934,7 +935,7 @@ export type Props = $ReadOnly<{|
|
|
|
934
935
|
* - `route`
|
|
935
936
|
* - `yahoo`
|
|
936
937
|
*/
|
|
937
|
-
returnKeyType?: ?
|
|
938
|
+
returnKeyType?: ?ReturnKeyTypeOptions,
|
|
938
939
|
|
|
939
940
|
/**
|
|
940
941
|
* If `true`, the text input obscures the text entered so that sensitive text
|
|
@@ -946,10 +947,10 @@ export type Props = $ReadOnly<{|
|
|
|
946
947
|
* The start and end of the text input's selection. Set start and end to
|
|
947
948
|
* the same value to position the cursor.
|
|
948
949
|
*/
|
|
949
|
-
selection?: ?$ReadOnly<{
|
|
950
|
+
selection?: ?$ReadOnly<{
|
|
950
951
|
start: number,
|
|
951
952
|
end?: ?number,
|
|
952
|
-
|
|
953
|
+
}>,
|
|
953
954
|
|
|
954
955
|
/**
|
|
955
956
|
* The highlight and cursor color of the text input.
|
|
@@ -1030,7 +1031,7 @@ export type Props = $ReadOnly<{|
|
|
|
1030
1031
|
* unwanted edits without flicker.
|
|
1031
1032
|
*/
|
|
1032
1033
|
value?: ?Stringish,
|
|
1033
|
-
|
|
1034
|
+
}>;
|
|
1034
1035
|
|
|
1035
1036
|
type ViewCommands = $NonMaybeType<
|
|
1036
1037
|
| typeof AndroidTextInputCommands
|
|
@@ -1038,10 +1039,10 @@ type ViewCommands = $NonMaybeType<
|
|
|
1038
1039
|
| typeof RCTSinglelineTextInputNativeCommands,
|
|
1039
1040
|
>;
|
|
1040
1041
|
|
|
1041
|
-
type LastNativeSelection = {
|
|
1042
|
+
type LastNativeSelection = {
|
|
1042
1043
|
selection: Selection,
|
|
1043
1044
|
mostRecentEventCount: number,
|
|
1044
|
-
|
|
1045
|
+
};
|
|
1045
1046
|
|
|
1046
1047
|
const emptyFunctionThatReturnsTrue = () => true;
|
|
1047
1048
|
|
|
@@ -1058,11 +1059,11 @@ function useTextInputStateSynchronization_STATE({
|
|
|
1058
1059
|
text,
|
|
1059
1060
|
viewCommands,
|
|
1060
1061
|
}: {
|
|
1061
|
-
props:
|
|
1062
|
+
props: TextInputProps,
|
|
1062
1063
|
mostRecentEventCount: number,
|
|
1063
1064
|
selection: ?Selection,
|
|
1064
|
-
inputRef: React.RefObject<null |
|
|
1065
|
-
text
|
|
1065
|
+
inputRef: React.RefObject<null | TextInputInstance>,
|
|
1066
|
+
text?: string,
|
|
1066
1067
|
viewCommands: ViewCommands,
|
|
1067
1068
|
}): {
|
|
1068
1069
|
setLastNativeText: string => void,
|
|
@@ -1139,11 +1140,11 @@ function useTextInputStateSynchronization_REFS({
|
|
|
1139
1140
|
text,
|
|
1140
1141
|
viewCommands,
|
|
1141
1142
|
}: {
|
|
1142
|
-
props:
|
|
1143
|
+
props: TextInputProps,
|
|
1143
1144
|
mostRecentEventCount: number,
|
|
1144
1145
|
selection: ?Selection,
|
|
1145
|
-
inputRef: React.RefObject<null |
|
|
1146
|
-
text
|
|
1146
|
+
inputRef: React.RefObject<null | TextInputInstance>,
|
|
1147
|
+
text?: string,
|
|
1147
1148
|
viewCommands: ViewCommands,
|
|
1148
1149
|
}): {
|
|
1149
1150
|
setLastNativeText: string => void,
|
|
@@ -1325,7 +1326,7 @@ function useTextInputStateSynchronization_REFS({
|
|
|
1325
1326
|
* or control this param programmatically with native code.
|
|
1326
1327
|
*
|
|
1327
1328
|
*/
|
|
1328
|
-
function InternalTextInput(props:
|
|
1329
|
+
function InternalTextInput(props: TextInputProps): React.Node {
|
|
1329
1330
|
const {
|
|
1330
1331
|
'aria-busy': ariaBusy,
|
|
1331
1332
|
'aria-checked': ariaChecked,
|
|
@@ -1344,7 +1345,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1344
1345
|
...otherProps
|
|
1345
1346
|
} = props;
|
|
1346
1347
|
|
|
1347
|
-
const inputRef = useRef<null |
|
|
1348
|
+
const inputRef = useRef<null | TextInputInstance>(null);
|
|
1348
1349
|
|
|
1349
1350
|
const selection: ?Selection =
|
|
1350
1351
|
propsSelection == null
|
|
@@ -1359,7 +1360,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1359
1360
|
? props.value
|
|
1360
1361
|
: typeof props.defaultValue === 'string'
|
|
1361
1362
|
? props.defaultValue
|
|
1362
|
-
:
|
|
1363
|
+
: undefined;
|
|
1363
1364
|
|
|
1364
1365
|
const viewCommands =
|
|
1365
1366
|
WindowsTextInputCommands || // [Windows]
|
|
@@ -1401,7 +1402,8 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1401
1402
|
}, []);
|
|
1402
1403
|
|
|
1403
1404
|
const setLocalRef = useCallback(
|
|
1404
|
-
(instance:
|
|
1405
|
+
(instance: HostInstance | null) => {
|
|
1406
|
+
// $FlowExpectedError[incompatible-type]
|
|
1405
1407
|
inputRef.current = instance;
|
|
1406
1408
|
|
|
1407
1409
|
/*
|
|
@@ -1427,7 +1429,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1427
1429
|
before we can get to the long term breaking change.
|
|
1428
1430
|
*/
|
|
1429
1431
|
if (instance != null) {
|
|
1430
|
-
// $FlowFixMe[
|
|
1432
|
+
// $FlowFixMe[prop-missing] - See the explanation above.
|
|
1431
1433
|
Object.assign(instance, {
|
|
1432
1434
|
clear(): void {
|
|
1433
1435
|
if (inputRef.current != null) {
|
|
@@ -1448,7 +1450,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1448
1450
|
currentlyFocusedInput === inputRef.current
|
|
1449
1451
|
);
|
|
1450
1452
|
},
|
|
1451
|
-
getNativeRef(): ?
|
|
1453
|
+
getNativeRef(): ?TextInputInstance {
|
|
1452
1454
|
return inputRef.current;
|
|
1453
1455
|
},
|
|
1454
1456
|
setSelection(start: number, end: number): void {
|
|
@@ -1468,9 +1470,10 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1468
1470
|
[mostRecentEventCount, viewCommands],
|
|
1469
1471
|
);
|
|
1470
1472
|
|
|
1471
|
-
|
|
1473
|
+
// $FlowExpectedError[incompatible-call]
|
|
1474
|
+
const ref = useMergeRefs<HostInstance>(setLocalRef, props.forwardedRef);
|
|
1472
1475
|
|
|
1473
|
-
const _onChange = (event:
|
|
1476
|
+
const _onChange = (event: TextInputChangeEvent) => {
|
|
1474
1477
|
const currentText = event.nativeEvent.text;
|
|
1475
1478
|
props.onChange && props.onChange(event);
|
|
1476
1479
|
props.onChangeText && props.onChangeText(currentText);
|
|
@@ -1489,7 +1492,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1489
1492
|
setMostRecentEventCount(event.nativeEvent.eventCount);
|
|
1490
1493
|
};
|
|
1491
1494
|
|
|
1492
|
-
const _onSelectionChange = (event:
|
|
1495
|
+
const _onSelectionChange = (event: TextInputSelectionChangeEvent) => {
|
|
1493
1496
|
props.onSelectionChange && props.onSelectionChange(event);
|
|
1494
1497
|
|
|
1495
1498
|
if (inputRef.current == null) {
|
|
@@ -1504,14 +1507,14 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1504
1507
|
});
|
|
1505
1508
|
};
|
|
1506
1509
|
|
|
1507
|
-
const _onFocus = (event:
|
|
1510
|
+
const _onFocus = (event: TextInputFocusEvent) => {
|
|
1508
1511
|
TextInputState.focusInput(inputRef.current);
|
|
1509
1512
|
if (props.onFocus) {
|
|
1510
1513
|
props.onFocus(event);
|
|
1511
1514
|
}
|
|
1512
1515
|
};
|
|
1513
1516
|
|
|
1514
|
-
const _onBlur = (event:
|
|
1517
|
+
const _onBlur = (event: TextInputBlurEvent) => {
|
|
1515
1518
|
TextInputState.blurInput(inputRef.current);
|
|
1516
1519
|
if (props.onBlur) {
|
|
1517
1520
|
props.onBlur(event);
|
|
@@ -1571,7 +1574,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1571
1574
|
const config = React.useMemo(
|
|
1572
1575
|
() => ({
|
|
1573
1576
|
hitSlop,
|
|
1574
|
-
onPress: (event:
|
|
1577
|
+
onPress: (event: GestureResponderEvent) => {
|
|
1575
1578
|
onPress?.(event);
|
|
1576
1579
|
if (editable !== false) {
|
|
1577
1580
|
if (inputRef.current != null) {
|
|
@@ -1718,8 +1721,8 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1718
1721
|
|
|
1719
1722
|
textInput = (
|
|
1720
1723
|
<RCTTextInputView
|
|
1721
|
-
//
|
|
1722
|
-
ref={ref}
|
|
1724
|
+
// Figure out imperative + forward refs.
|
|
1725
|
+
ref={(ref: $FlowFixMe)}
|
|
1723
1726
|
{...otherProps}
|
|
1724
1727
|
{...eventHandlers}
|
|
1725
1728
|
accessibilityErrorMessage={accessibilityErrorMessage}
|
|
@@ -1731,6 +1734,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1731
1734
|
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1732
1735
|
mostRecentEventCount={mostRecentEventCount}
|
|
1733
1736
|
nativeID={id ?? props.nativeID}
|
|
1737
|
+
numberOfLines={props.rows ?? props.numberOfLines}
|
|
1734
1738
|
onBlur={_onBlur}
|
|
1735
1739
|
onChange={_onChange}
|
|
1736
1740
|
onContentSizeChange={props.onContentSizeChange}
|
|
@@ -1780,8 +1784,8 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1780
1784
|
* match up exactly with the props for TextInput. This will need to get
|
|
1781
1785
|
* fixed */
|
|
1782
1786
|
<AndroidTextInput
|
|
1783
|
-
//
|
|
1784
|
-
ref={ref}
|
|
1787
|
+
// Figure out imperative + forward refs.
|
|
1788
|
+
ref={(ref: $FlowFixMe)}
|
|
1785
1789
|
{...otherProps}
|
|
1786
1790
|
{...colorProps}
|
|
1787
1791
|
{...eventHandlers}
|
|
@@ -1945,7 +1949,6 @@ const autoCompleteWebToTextContentTypeMap = {
|
|
|
1945
1949
|
const ExportedForwardRef: component(
|
|
1946
1950
|
ref: React.RefSetter<TextInputInstance>,
|
|
1947
1951
|
...props: React.ElementConfig<typeof InternalTextInput>
|
|
1948
|
-
// $FlowFixMe[incompatible-call]
|
|
1949
1952
|
) = React.forwardRef(function TextInput(
|
|
1950
1953
|
{
|
|
1951
1954
|
allowFontScaling = true,
|
|
@@ -1962,7 +1965,7 @@ const ExportedForwardRef: component(
|
|
|
1962
1965
|
keyboardType,
|
|
1963
1966
|
...restProps
|
|
1964
1967
|
},
|
|
1965
|
-
forwardedRef:
|
|
1968
|
+
forwardedRef: React.RefSetter<TextInputInstance>,
|
|
1966
1969
|
) {
|
|
1967
1970
|
return (
|
|
1968
1971
|
<InternalTextInput
|
|
@@ -2014,14 +2017,14 @@ ExportedForwardRef.State = {
|
|
|
2014
2017
|
blurTextInput: TextInputState.blurTextInput,
|
|
2015
2018
|
};
|
|
2016
2019
|
|
|
2017
|
-
export type TextInputComponentStatics = $ReadOnly<{
|
|
2018
|
-
State: $ReadOnly<{
|
|
2020
|
+
export type TextInputComponentStatics = $ReadOnly<{
|
|
2021
|
+
State: $ReadOnly<{
|
|
2019
2022
|
currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput,
|
|
2020
2023
|
currentlyFocusedField: typeof TextInputState.currentlyFocusedField,
|
|
2021
2024
|
focusTextInput: typeof TextInputState.focusTextInput,
|
|
2022
2025
|
blurTextInput: typeof TextInputState.blurTextInput,
|
|
2023
|
-
|
|
2024
|
-
|
|
2026
|
+
}>,
|
|
2027
|
+
}>;
|
|
2025
2028
|
|
|
2026
2029
|
const styles = StyleSheet.create({
|
|
2027
2030
|
multilineDefault: {
|
|
@@ -2040,4 +2043,4 @@ const verticalAlignToTextAlignVerticalMap = {
|
|
|
2040
2043
|
};
|
|
2041
2044
|
|
|
2042
2045
|
// $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
|
|
2043
|
-
|
|
2046
|
+
export default ExportedForwardRef as any as TextInputType;
|