@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
|
@@ -22,12 +22,17 @@ type LinearGradientDirection =
|
|
|
22
22
|
| {type: 'angle', value: number}
|
|
23
23
|
| {type: 'keyword', value: string};
|
|
24
24
|
|
|
25
|
+
// null color indicate that the transition hint syntax is used. e.g. red, 20%, blue
|
|
26
|
+
type ColorStopColor = ProcessedColorValue | null;
|
|
27
|
+
// percentage or pixel value
|
|
28
|
+
type ColorStopPosition = number | string | null;
|
|
29
|
+
|
|
25
30
|
type ParsedGradientValue = {
|
|
26
31
|
type: 'linearGradient',
|
|
27
32
|
direction: LinearGradientDirection,
|
|
28
33
|
colorStops: $ReadOnlyArray<{
|
|
29
|
-
color:
|
|
30
|
-
position:
|
|
34
|
+
color: ColorStopColor,
|
|
35
|
+
position: ColorStopPosition,
|
|
31
36
|
}>,
|
|
32
37
|
};
|
|
33
38
|
|
|
@@ -49,33 +54,58 @@ export default function processBackgroundImage(
|
|
|
49
54
|
} else if (Array.isArray(backgroundImage)) {
|
|
50
55
|
for (const bgImage of backgroundImage) {
|
|
51
56
|
const processedColorStops: Array<{
|
|
52
|
-
color:
|
|
53
|
-
position:
|
|
57
|
+
color: ColorStopColor,
|
|
58
|
+
position: ColorStopPosition,
|
|
54
59
|
}> = [];
|
|
55
60
|
for (let index = 0; index < bgImage.colorStops.length; index++) {
|
|
56
61
|
const colorStop = bgImage.colorStops[index];
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
62
|
+
const positions = colorStop.positions;
|
|
63
|
+
// Color transition hint syntax (red, 20%, blue)
|
|
64
|
+
if (
|
|
65
|
+
colorStop.color == null &&
|
|
66
|
+
Array.isArray(positions) &&
|
|
67
|
+
positions.length === 1
|
|
68
|
+
) {
|
|
69
|
+
const position = positions[0];
|
|
70
|
+
if (
|
|
71
|
+
typeof position === 'number' ||
|
|
72
|
+
(typeof position === 'string' && position.endsWith('%'))
|
|
73
|
+
) {
|
|
74
|
+
processedColorStops.push({
|
|
75
|
+
color: null,
|
|
76
|
+
position,
|
|
77
|
+
});
|
|
78
|
+
} else {
|
|
79
|
+
// If a position is invalid, return an empty array and do not apply gradient. Same as web.
|
|
80
|
+
return [];
|
|
73
81
|
}
|
|
74
82
|
} else {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
83
|
+
const processedColor = processColor(colorStop.color);
|
|
84
|
+
if (processedColor == null) {
|
|
85
|
+
// If a color is invalid, return an empty array and do not apply gradient. Same as web.
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
88
|
+
if (positions != null && positions.length > 0) {
|
|
89
|
+
for (const position of positions) {
|
|
90
|
+
if (
|
|
91
|
+
typeof position === 'number' ||
|
|
92
|
+
(typeof position === 'string' && position.endsWith('%'))
|
|
93
|
+
) {
|
|
94
|
+
processedColorStops.push({
|
|
95
|
+
color: processedColor,
|
|
96
|
+
position,
|
|
97
|
+
});
|
|
98
|
+
} else {
|
|
99
|
+
// If a position is invalid, return an empty array and do not apply gradient. Same as web.
|
|
100
|
+
return [];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
processedColorStops.push({
|
|
105
|
+
color: processedColor,
|
|
106
|
+
position: null,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
79
109
|
}
|
|
80
110
|
}
|
|
81
111
|
|
|
@@ -109,12 +139,10 @@ export default function processBackgroundImage(
|
|
|
109
139
|
}
|
|
110
140
|
}
|
|
111
141
|
|
|
112
|
-
const fixedColorStops = getFixedColorStops(processedColorStops);
|
|
113
|
-
|
|
114
142
|
result = result.concat({
|
|
115
143
|
type: 'linearGradient',
|
|
116
144
|
direction,
|
|
117
|
-
colorStops:
|
|
145
|
+
colorStops: processedColorStops,
|
|
118
146
|
});
|
|
119
147
|
}
|
|
120
148
|
}
|
|
@@ -137,13 +165,6 @@ function parseCSSLinearGradient(
|
|
|
137
165
|
let direction: LinearGradientDirection = DEFAULT_DIRECTION;
|
|
138
166
|
const trimmedDirection = parts[0].trim().toLowerCase();
|
|
139
167
|
|
|
140
|
-
// matches individual color stops in a gradient function
|
|
141
|
-
// supports various color formats: named colors, hex colors, rgb(a), and hsl(a)
|
|
142
|
-
// e.g. "red 20%", "blue 50%", "rgba(0, 0, 0, 0.5) 30% 50%"
|
|
143
|
-
// TODO: does not support color hint syntax yet. It is WIP.
|
|
144
|
-
const colorStopRegex =
|
|
145
|
-
/\s*((?:(?:rgba?|hsla?)\s*\([^)]+\))|#[0-9a-fA-F]+|[a-zA-Z]+)(?:\s+(-?[0-9.]+%?)(?:\s+(-?[0-9.]+%?))?)?\s*/gi;
|
|
146
|
-
|
|
147
168
|
if (ANGLE_UNIT_REGEX.test(trimmedDirection)) {
|
|
148
169
|
const parsedAngle = getAngleInDegrees(trimmedDirection);
|
|
149
170
|
if (parsedAngle != null) {
|
|
@@ -165,59 +186,107 @@ function parseCSSLinearGradient(
|
|
|
165
186
|
// If a direction is invalid, return an empty array and do not apply any gradient. Same as web.
|
|
166
187
|
return [];
|
|
167
188
|
}
|
|
168
|
-
} else if (!colorStopRegex.test(trimmedDirection)) {
|
|
169
|
-
// If first part is not an angle/direction or a color stop, return an empty array and do not apply any gradient. Same as web.
|
|
170
|
-
return [];
|
|
171
189
|
}
|
|
172
|
-
colorStopRegex.lastIndex = 0;
|
|
173
190
|
|
|
191
|
+
const colorStopsString = parts.join(',');
|
|
174
192
|
const colorStops = [];
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
193
|
+
// split by comma, but not if it's inside a parentheses. e.g. red, rgba(0, 0, 0, 0.5), green => ["red", "rgba(0, 0, 0, 0.5)", "green"]
|
|
194
|
+
const stops = colorStopsString.split(/,(?![^(]*\))/);
|
|
195
|
+
let prevStop = null;
|
|
196
|
+
for (let i = 0; i < stops.length; i++) {
|
|
197
|
+
const stop = stops[i];
|
|
198
|
+
const trimmedStop = stop.trim().toLowerCase();
|
|
199
|
+
// Match function like pattern or single words
|
|
200
|
+
const colorStopParts = trimmedStop.match(/\S+\([^)]*\)|\S+/g);
|
|
201
|
+
if (colorStopParts == null) {
|
|
202
|
+
// If a color stop is invalid, return an empty array and do not apply any gradient. Same as web.
|
|
182
203
|
return [];
|
|
183
204
|
}
|
|
205
|
+
// Case 1: [color, position, position]
|
|
206
|
+
if (colorStopParts.length === 3) {
|
|
207
|
+
const color = colorStopParts[0];
|
|
208
|
+
const position1 = getPositionFromCSSValue(colorStopParts[1]);
|
|
209
|
+
const position2 = getPositionFromCSSValue(colorStopParts[2]);
|
|
210
|
+
const processedColor = processColor(color);
|
|
211
|
+
if (processedColor == null) {
|
|
212
|
+
// If a color is invalid, return an empty array and do not apply any gradient. Same as web.
|
|
213
|
+
return [];
|
|
214
|
+
}
|
|
184
215
|
|
|
185
|
-
|
|
186
|
-
if (position1.endsWith('%')) {
|
|
187
|
-
colorStops.push({
|
|
188
|
-
color: processedColor,
|
|
189
|
-
position: parseFloat(position1) / 100,
|
|
190
|
-
});
|
|
191
|
-
} else {
|
|
216
|
+
if (position1 == null || position2 == null) {
|
|
192
217
|
// If a position is invalid, return an empty array and do not apply any gradient. Same as web.
|
|
193
218
|
return [];
|
|
194
219
|
}
|
|
195
|
-
|
|
220
|
+
|
|
221
|
+
colorStops.push({
|
|
222
|
+
color: processedColor,
|
|
223
|
+
position: position1,
|
|
224
|
+
});
|
|
196
225
|
colorStops.push({
|
|
197
226
|
color: processedColor,
|
|
198
|
-
position:
|
|
227
|
+
position: position2,
|
|
199
228
|
});
|
|
200
229
|
}
|
|
201
|
-
|
|
202
|
-
if (
|
|
203
|
-
|
|
230
|
+
// Case 2: [color, position]
|
|
231
|
+
else if (colorStopParts.length === 2) {
|
|
232
|
+
const color = colorStopParts[0];
|
|
233
|
+
const position = getPositionFromCSSValue(colorStopParts[1]);
|
|
234
|
+
const processedColor = processColor(color);
|
|
235
|
+
if (processedColor == null) {
|
|
236
|
+
// If a color is invalid, return an empty array and do not apply any gradient. Same as web.
|
|
237
|
+
return [];
|
|
238
|
+
}
|
|
239
|
+
if (position == null) {
|
|
240
|
+
// If a position is invalid, return an empty array and do not apply any gradient. Same as web.
|
|
241
|
+
return [];
|
|
242
|
+
}
|
|
243
|
+
colorStops.push({
|
|
244
|
+
color: processedColor,
|
|
245
|
+
position,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
// Case 3: [color]
|
|
249
|
+
// Case 4: [position] => transition hint syntax
|
|
250
|
+
else if (colorStopParts.length === 1) {
|
|
251
|
+
const position = getPositionFromCSSValue(colorStopParts[0]);
|
|
252
|
+
if (position != null) {
|
|
253
|
+
// handle invalid transition hint syntax. transition hint syntax must have color before and after the position. e.g. red, 20%, blue
|
|
254
|
+
if (
|
|
255
|
+
(prevStop != null &&
|
|
256
|
+
prevStop.length === 1 &&
|
|
257
|
+
getPositionFromCSSValue(prevStop[0]) != null) ||
|
|
258
|
+
i === stops.length - 1 ||
|
|
259
|
+
i === 0
|
|
260
|
+
) {
|
|
261
|
+
// If the last stop is a transition hint syntax, return an empty array and do not apply any gradient. Same as web.
|
|
262
|
+
return [];
|
|
263
|
+
}
|
|
204
264
|
colorStops.push({
|
|
205
|
-
color:
|
|
206
|
-
position
|
|
265
|
+
color: null,
|
|
266
|
+
position,
|
|
207
267
|
});
|
|
208
268
|
} else {
|
|
209
|
-
|
|
210
|
-
|
|
269
|
+
const processedColor = processColor(colorStopParts[0]);
|
|
270
|
+
if (processedColor == null) {
|
|
271
|
+
// If a color is invalid, return an empty array and do not apply any gradient. Same as web.
|
|
272
|
+
return [];
|
|
273
|
+
}
|
|
274
|
+
colorStops.push({
|
|
275
|
+
color: processedColor,
|
|
276
|
+
position: null,
|
|
277
|
+
});
|
|
211
278
|
}
|
|
279
|
+
} else {
|
|
280
|
+
// If a color stop is invalid, return an empty array and do not apply any gradient. Same as web.
|
|
281
|
+
return [];
|
|
212
282
|
}
|
|
283
|
+
prevStop = colorStopParts;
|
|
213
284
|
}
|
|
214
285
|
|
|
215
|
-
const fixedColorStops = getFixedColorStops(colorStops);
|
|
216
|
-
|
|
217
286
|
gradients.push({
|
|
218
287
|
type: 'linearGradient',
|
|
219
288
|
direction,
|
|
220
|
-
colorStops
|
|
289
|
+
colorStops,
|
|
221
290
|
});
|
|
222
291
|
}
|
|
223
292
|
|
|
@@ -283,79 +352,12 @@ function getAngleInDegrees(angle?: string): ?number {
|
|
|
283
352
|
}
|
|
284
353
|
}
|
|
285
354
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
color: ProcessedColorValue,
|
|
290
|
-
position: number | null,
|
|
291
|
-
}>,
|
|
292
|
-
): Array<{
|
|
293
|
-
color: ProcessedColorValue,
|
|
294
|
-
position: number,
|
|
295
|
-
}> {
|
|
296
|
-
let fixedColorStops: Array<{
|
|
297
|
-
color: ProcessedColorValue,
|
|
298
|
-
position: number,
|
|
299
|
-
}> = [];
|
|
300
|
-
let hasNullPositions = false;
|
|
301
|
-
let maxPositionSoFar = colorStops[0].position ?? 0;
|
|
302
|
-
for (let i = 0; i < colorStops.length; i++) {
|
|
303
|
-
const colorStop = colorStops[i];
|
|
304
|
-
let newPosition = colorStop.position;
|
|
305
|
-
if (newPosition === null) {
|
|
306
|
-
// Step 1:
|
|
307
|
-
// If the first color stop does not have a position,
|
|
308
|
-
// set its position to 0%. If the last color stop does not have a position,
|
|
309
|
-
// set its position to 100%.
|
|
310
|
-
if (i === 0) {
|
|
311
|
-
newPosition = 0;
|
|
312
|
-
} else if (i === colorStops.length - 1) {
|
|
313
|
-
newPosition = 1;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
// Step 2:
|
|
317
|
-
// If a color stop or transition hint has a position
|
|
318
|
-
// that is less than the specified position of any color stop or transition hint
|
|
319
|
-
// before it in the list, set its position to be equal to the
|
|
320
|
-
// largest specified position of any color stop or transition hint before it.
|
|
321
|
-
if (newPosition !== null) {
|
|
322
|
-
newPosition = Math.max(newPosition, maxPositionSoFar);
|
|
323
|
-
fixedColorStops[i] = {
|
|
324
|
-
color: colorStop.color,
|
|
325
|
-
position: newPosition,
|
|
326
|
-
};
|
|
327
|
-
maxPositionSoFar = newPosition;
|
|
328
|
-
} else {
|
|
329
|
-
hasNullPositions = true;
|
|
330
|
-
}
|
|
355
|
+
function getPositionFromCSSValue(position: string) {
|
|
356
|
+
if (position.endsWith('px')) {
|
|
357
|
+
return parseFloat(position);
|
|
331
358
|
}
|
|
332
359
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
// then, for each run of adjacent color stops without positions,
|
|
336
|
-
// set their positions so that they are evenly spaced between the preceding and
|
|
337
|
-
// following color stops with positions.
|
|
338
|
-
if (hasNullPositions) {
|
|
339
|
-
let lastDefinedIndex = 0;
|
|
340
|
-
for (let i = 1; i < fixedColorStops.length; i++) {
|
|
341
|
-
if (fixedColorStops[i] !== undefined) {
|
|
342
|
-
const unpositionedStops = i - lastDefinedIndex - 1;
|
|
343
|
-
if (unpositionedStops > 0) {
|
|
344
|
-
const startPosition = fixedColorStops[lastDefinedIndex].position;
|
|
345
|
-
const endPosition = fixedColorStops[i].position;
|
|
346
|
-
const increment =
|
|
347
|
-
(endPosition - startPosition) / (unpositionedStops + 1);
|
|
348
|
-
for (let j = 1; j <= unpositionedStops; j++) {
|
|
349
|
-
fixedColorStops[lastDefinedIndex + j] = {
|
|
350
|
-
color: colorStops[lastDefinedIndex + j].color,
|
|
351
|
-
position: startPosition + increment * j,
|
|
352
|
-
};
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
lastDefinedIndex = i;
|
|
356
|
-
}
|
|
357
|
-
}
|
|
360
|
+
if (position.endsWith('%')) {
|
|
361
|
+
return position;
|
|
358
362
|
}
|
|
359
|
-
|
|
360
|
-
return fixedColorStops;
|
|
361
363
|
}
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
import type {ColorValue, NativeColorValue} from './StyleSheet';
|
|
14
14
|
|
|
15
|
-
const Platform = require('../Utilities/Platform');
|
|
16
|
-
const normalizeColor = require('./normalizeColor');
|
|
15
|
+
const Platform = require('../Utilities/Platform').default;
|
|
16
|
+
const normalizeColor = require('./normalizeColor').default;
|
|
17
17
|
|
|
18
18
|
export type ProcessedColorValue = number | NativeColorValue;
|
|
19
19
|
|
package/Libraries/Text/Text.d.ts
CHANGED
|
@@ -263,7 +263,7 @@ export interface TextProps
|
|
|
263
263
|
|
|
264
264
|
/**
|
|
265
265
|
* This function is called on long press.
|
|
266
|
-
* e.g., `onLongPress={this.increaseSize}
|
|
266
|
+
* e.g., `onLongPress={this.increaseSize}>`
|
|
267
267
|
*/
|
|
268
268
|
onLongPress?: ((event: GestureResponderEvent) => void) | undefined;
|
|
269
269
|
|
package/Libraries/Text/Text.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import type {TextStyleProp} from '../StyleSheet/StyleSheet';
|
|
12
12
|
import type {____TextStyle_Internal as TextStyleInternal} from '../StyleSheet/StyleSheetTypes';
|
|
13
|
-
import type {
|
|
13
|
+
import type {GestureResponderEvent} from '../Types/CoreEventTypes';
|
|
14
14
|
import type {NativeTextProps} from './TextNativeComponent';
|
|
15
15
|
import type {PressRetentionOffset, TextProps} from './TextProps';
|
|
16
16
|
|
|
@@ -24,6 +24,8 @@ import {NativeText, NativeVirtualText} from './TextNativeComponent';
|
|
|
24
24
|
import * as React from 'react';
|
|
25
25
|
import {useContext, useMemo, useState} from 'react';
|
|
26
26
|
|
|
27
|
+
export type {TextProps} from './TextProps';
|
|
28
|
+
|
|
27
29
|
type TextForwardRef = React.ElementRef<
|
|
28
30
|
typeof NativeText | typeof NativeVirtualText,
|
|
29
31
|
>;
|
|
@@ -34,7 +36,7 @@ type TextForwardRef = React.ElementRef<
|
|
|
34
36
|
* @see https://reactnative.dev/docs/text
|
|
35
37
|
*/
|
|
36
38
|
const Text: component(
|
|
37
|
-
ref
|
|
39
|
+
ref?: React.RefSetter<TextForwardRef>,
|
|
38
40
|
...props: TextProps
|
|
39
41
|
) = React.forwardRef(
|
|
40
42
|
(
|
|
@@ -331,14 +333,14 @@ const Text: component(
|
|
|
331
333
|
Text.displayName = 'Text';
|
|
332
334
|
|
|
333
335
|
type TextPressabilityProps = $ReadOnly<{
|
|
334
|
-
onLongPress?: ?(event:
|
|
335
|
-
onPress?: ?(event:
|
|
336
|
-
onPressIn?: ?(event:
|
|
337
|
-
onPressOut?: ?(event:
|
|
338
|
-
onResponderGrant?: ?(event:
|
|
339
|
-
onResponderMove?: ?(event:
|
|
340
|
-
onResponderRelease?: ?(event:
|
|
341
|
-
onResponderTerminate?: ?(event:
|
|
336
|
+
onLongPress?: ?(event: GestureResponderEvent) => mixed,
|
|
337
|
+
onPress?: ?(event: GestureResponderEvent) => mixed,
|
|
338
|
+
onPressIn?: ?(event: GestureResponderEvent) => mixed,
|
|
339
|
+
onPressOut?: ?(event: GestureResponderEvent) => mixed,
|
|
340
|
+
onResponderGrant?: ?(event: GestureResponderEvent) => void,
|
|
341
|
+
onResponderMove?: ?(event: GestureResponderEvent) => void,
|
|
342
|
+
onResponderRelease?: ?(event: GestureResponderEvent) => void,
|
|
343
|
+
onResponderTerminate?: ?(event: GestureResponderEvent) => void,
|
|
342
344
|
onResponderTerminationRequest?: ?() => boolean,
|
|
343
345
|
onStartShouldSetResponder?: ?() => boolean,
|
|
344
346
|
pressRetentionOffset?: ?PressRetentionOffset,
|
|
@@ -375,12 +377,12 @@ function useTextPressability({
|
|
|
375
377
|
// in the best case, and cause issues with text selection in the worst case. Forcing
|
|
376
378
|
// the isHighlighted prop to false on all platforms except iOS.
|
|
377
379
|
if (Platform.OS === 'ios') {
|
|
378
|
-
_onPressIn = (event:
|
|
380
|
+
_onPressIn = (event: GestureResponderEvent) => {
|
|
379
381
|
setHighlighted(suppressHighlighting == null || !suppressHighlighting);
|
|
380
382
|
onPressIn?.(event);
|
|
381
383
|
};
|
|
382
384
|
|
|
383
|
-
_onPressOut = (event:
|
|
385
|
+
_onPressOut = (event: GestureResponderEvent) => {
|
|
384
386
|
setHighlighted(false);
|
|
385
387
|
onPressOut?.(event);
|
|
386
388
|
};
|
|
@@ -412,25 +414,25 @@ function useTextPressability({
|
|
|
412
414
|
eventHandlers == null
|
|
413
415
|
? null
|
|
414
416
|
: {
|
|
415
|
-
onResponderGrant(event:
|
|
417
|
+
onResponderGrant(event: GestureResponderEvent) {
|
|
416
418
|
eventHandlers.onResponderGrant(event);
|
|
417
419
|
if (onResponderGrant != null) {
|
|
418
420
|
onResponderGrant(event);
|
|
419
421
|
}
|
|
420
422
|
},
|
|
421
|
-
onResponderMove(event:
|
|
423
|
+
onResponderMove(event: GestureResponderEvent) {
|
|
422
424
|
eventHandlers.onResponderMove(event);
|
|
423
425
|
if (onResponderMove != null) {
|
|
424
426
|
onResponderMove(event);
|
|
425
427
|
}
|
|
426
428
|
},
|
|
427
|
-
onResponderRelease(event:
|
|
429
|
+
onResponderRelease(event: GestureResponderEvent) {
|
|
428
430
|
eventHandlers.onResponderRelease(event);
|
|
429
431
|
if (onResponderRelease != null) {
|
|
430
432
|
onResponderRelease(event);
|
|
431
433
|
}
|
|
432
434
|
},
|
|
433
|
-
onResponderTerminate(event:
|
|
435
|
+
onResponderTerminate(event: GestureResponderEvent) {
|
|
434
436
|
eventHandlers.onResponderTerminate(event);
|
|
435
437
|
if (onResponderTerminate != null) {
|
|
436
438
|
onResponderTerminate(event);
|
|
@@ -534,4 +536,4 @@ const verticalAlignToTextAlignVerticalMap = {
|
|
|
534
536
|
middle: 'center',
|
|
535
537
|
};
|
|
536
538
|
|
|
537
|
-
|
|
539
|
+
export default Text;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import type {TextStyleProp} from '../StyleSheet/StyleSheet';
|
|
12
12
|
import type {____TextStyle_Internal as TextStyleInternal} from '../StyleSheet/StyleSheetTypes';
|
|
13
|
-
import type {
|
|
13
|
+
import type {GestureResponderEvent} from '../Types/CoreEventTypes';
|
|
14
14
|
import type {NativeTextProps} from './TextNativeComponent';
|
|
15
15
|
import type {PressRetentionOffset, TextProps} from './TextProps';
|
|
16
16
|
|
|
@@ -24,6 +24,8 @@ import {NativeText, NativeVirtualText} from './TextNativeComponent';
|
|
|
24
24
|
import * as React from 'react';
|
|
25
25
|
import {useContext, useMemo, useState} from 'react';
|
|
26
26
|
|
|
27
|
+
export type {TextProps} from './TextProps';
|
|
28
|
+
|
|
27
29
|
type TextForwardRef = React.ElementRef<
|
|
28
30
|
typeof NativeText | typeof NativeVirtualText,
|
|
29
31
|
>;
|
|
@@ -34,7 +36,7 @@ type TextForwardRef = React.ElementRef<
|
|
|
34
36
|
* @see https://reactnative.dev/docs/text
|
|
35
37
|
*/
|
|
36
38
|
const Text: component(
|
|
37
|
-
ref
|
|
39
|
+
ref?: React.RefSetter<TextForwardRef>,
|
|
38
40
|
...props: TextProps
|
|
39
41
|
) = React.forwardRef(
|
|
40
42
|
(
|
|
@@ -371,14 +373,14 @@ const Text: component(
|
|
|
371
373
|
Text.displayName = 'Text';
|
|
372
374
|
|
|
373
375
|
type TextPressabilityProps = $ReadOnly<{
|
|
374
|
-
onLongPress?: ?(event:
|
|
375
|
-
onPress?: ?(event:
|
|
376
|
-
onPressIn?: ?(event:
|
|
377
|
-
onPressOut?: ?(event:
|
|
378
|
-
onResponderGrant?: ?(event:
|
|
379
|
-
onResponderMove?: ?(event:
|
|
380
|
-
onResponderRelease?: ?(event:
|
|
381
|
-
onResponderTerminate?: ?(event:
|
|
376
|
+
onLongPress?: ?(event: GestureResponderEvent) => mixed,
|
|
377
|
+
onPress?: ?(event: GestureResponderEvent) => mixed,
|
|
378
|
+
onPressIn?: ?(event: GestureResponderEvent) => mixed,
|
|
379
|
+
onPressOut?: ?(event: GestureResponderEvent) => mixed,
|
|
380
|
+
onResponderGrant?: ?(event: GestureResponderEvent) => void,
|
|
381
|
+
onResponderMove?: ?(event: GestureResponderEvent) => void,
|
|
382
|
+
onResponderRelease?: ?(event: GestureResponderEvent) => void,
|
|
383
|
+
onResponderTerminate?: ?(event: GestureResponderEvent) => void,
|
|
382
384
|
onResponderTerminationRequest?: ?() => boolean,
|
|
383
385
|
onStartShouldSetResponder?: ?() => boolean,
|
|
384
386
|
pressRetentionOffset?: ?PressRetentionOffset,
|
|
@@ -415,12 +417,12 @@ function useTextPressability({
|
|
|
415
417
|
// in the best case, and cause issues with text selection in the worst case. Forcing
|
|
416
418
|
// the isHighlighted prop to false on all platforms except iOS.
|
|
417
419
|
if (Platform.OS === 'ios') {
|
|
418
|
-
_onPressIn = (event:
|
|
420
|
+
_onPressIn = (event: GestureResponderEvent) => {
|
|
419
421
|
setHighlighted(suppressHighlighting == null || !suppressHighlighting);
|
|
420
422
|
onPressIn?.(event);
|
|
421
423
|
};
|
|
422
424
|
|
|
423
|
-
_onPressOut = (event:
|
|
425
|
+
_onPressOut = (event: GestureResponderEvent) => {
|
|
424
426
|
setHighlighted(false);
|
|
425
427
|
onPressOut?.(event);
|
|
426
428
|
};
|
|
@@ -452,25 +454,25 @@ function useTextPressability({
|
|
|
452
454
|
eventHandlers == null
|
|
453
455
|
? null
|
|
454
456
|
: {
|
|
455
|
-
onResponderGrant(event:
|
|
457
|
+
onResponderGrant(event: GestureResponderEvent) {
|
|
456
458
|
eventHandlers.onResponderGrant(event);
|
|
457
459
|
if (onResponderGrant != null) {
|
|
458
460
|
onResponderGrant(event);
|
|
459
461
|
}
|
|
460
462
|
},
|
|
461
|
-
onResponderMove(event:
|
|
463
|
+
onResponderMove(event: GestureResponderEvent) {
|
|
462
464
|
eventHandlers.onResponderMove(event);
|
|
463
465
|
if (onResponderMove != null) {
|
|
464
466
|
onResponderMove(event);
|
|
465
467
|
}
|
|
466
468
|
},
|
|
467
|
-
onResponderRelease(event:
|
|
469
|
+
onResponderRelease(event: GestureResponderEvent) {
|
|
468
470
|
eventHandlers.onResponderRelease(event);
|
|
469
471
|
if (onResponderRelease != null) {
|
|
470
472
|
onResponderRelease(event);
|
|
471
473
|
}
|
|
472
474
|
},
|
|
473
|
-
onResponderTerminate(event:
|
|
475
|
+
onResponderTerminate(event: GestureResponderEvent) {
|
|
474
476
|
eventHandlers.onResponderTerminate(event);
|
|
475
477
|
if (onResponderTerminate != null) {
|
|
476
478
|
onResponderTerminate(event);
|
|
@@ -574,4 +576,4 @@ const verticalAlignToTextAlignVerticalMap = {
|
|
|
574
576
|
middle: 'center',
|
|
575
577
|
};
|
|
576
578
|
|
|
577
|
-
|
|
579
|
+
export default Text;
|
|
@@ -15,9 +15,8 @@ const React = require('react');
|
|
|
15
15
|
/**
|
|
16
16
|
* Whether the current element is the descendant of a <Text> element.
|
|
17
17
|
*/
|
|
18
|
-
const TextAncestorContext: React
|
|
19
|
-
React.createContext(false);
|
|
18
|
+
const TextAncestorContext: React.Context<boolean> = React.createContext(false);
|
|
20
19
|
if (__DEV__) {
|
|
21
20
|
TextAncestorContext.displayName = 'TextAncestorContext';
|
|
22
21
|
}
|
|
23
|
-
|
|
22
|
+
export default TextAncestorContext;
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {HostComponent} from '
|
|
11
|
+
import type {HostComponent} from '../../src/private/types/HostComponent';
|
|
12
12
|
import type {ProcessedColorValue} from '../StyleSheet/processColor';
|
|
13
|
-
import type {
|
|
13
|
+
import type {GestureResponderEvent} from '../Types/CoreEventTypes';
|
|
14
14
|
import type {TextProps} from './TextProps';
|
|
15
15
|
|
|
16
16
|
import {createViewConfig} from '../NativeComponent/ViewConfig';
|
|
@@ -21,7 +21,7 @@ export type NativeTextProps = $ReadOnly<{
|
|
|
21
21
|
...TextProps,
|
|
22
22
|
isHighlighted?: ?boolean,
|
|
23
23
|
selectionColor?: ?ProcessedColorValue,
|
|
24
|
-
onClick?: ?(event:
|
|
24
|
+
onClick?: ?(event: GestureResponderEvent) => mixed,
|
|
25
25
|
// This is only needed for platforms that optimize text hit testing, e.g.,
|
|
26
26
|
// react-native-windows. It can be used to only hit test virtual text spans
|
|
27
27
|
// that have pressable events attached to them.
|