@office-iss/react-native-win32 0.0.0-canary.283 → 0.0.0-canary.285
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 +1 -1
- package/CHANGELOG.json +79 -1
- package/CHANGELOG.md +32 -8
- 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 +1 -1
- 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.flow.js +62 -0
- package/Libraries/Alert/Alert.js +5 -28
- package/Libraries/Alert/Alert.win32.js +6 -28
- package/Libraries/Alert/NativeAlertManager.js +2 -2
- package/Libraries/Alert/RCTAlertManager.android.js +1 -1
- package/Libraries/Alert/RCTAlertManager.flow.js +20 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Animated/AnimatedMock.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +2 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
- package/Libraries/Animated/createAnimatedComponent.js +3 -3
- package/Libraries/Animated/nodes/AnimatedValue.js +35 -13
- package/Libraries/Animated/useAnimatedProps.js +4 -332
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/AppState/NativeAppState.js +2 -2
- package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
- package/Libraries/BatchedBridge/MessageQueue.js +2 -2
- package/Libraries/BatchedBridge/NativeModules.js +4 -3
- package/Libraries/Blob/Blob.js +4 -4
- 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/URLSearchParams.js +1 -2
- 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/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.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +5 -5
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.win32.js +2 -2
- 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 +7 -7
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +9 -9
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +18 -22
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
- package/Libraries/Components/Pressable/Pressable.js +4 -4
- package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +9 -9
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +10 -11
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/RefreshControl.js +9 -9
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +32 -26
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- 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 +33 -18
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
- package/Libraries/Components/Switch/Switch.js +6 -6
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +31 -31
- package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +117 -107
- package/Libraries/Components/TextInput/TextInput.js +122 -115
- package/Libraries/Components/TextInput/TextInput.win32.js +124 -117
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.js +3 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +3 -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/TouchableBounce.js +6 -6
- package/Libraries/Components/Touchable/TouchableHighlight.js +12 -12
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +15 -15
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -7
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -4
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
- package/Libraries/Components/View/View.js +1 -1
- package/Libraries/Components/View/View.win32.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +2 -2
- package/Libraries/Components/View/ViewAccessibility.win32.js +2 -2
- package/Libraries/Components/View/ViewPropTypes.js +22 -22
- package/Libraries/Components/View/ViewPropTypes.win32.js +22 -22
- 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 +5 -4
- package/Libraries/Core/ExceptionsManager.js +6 -4
- package/Libraries/Core/InitializeCore.js +5 -2
- 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 +4 -4
- 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 +4 -3
- package/Libraries/Core/setUpDeveloperTools.js +2 -9
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -5
- package/Libraries/Core/setUpTimers.js +45 -66
- package/Libraries/Core/setUpXHR.js +6 -6
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Events/CustomEvent.js +2 -2
- package/Libraries/Image/AssetRegistry.js +8 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +3 -1
- package/Libraries/Image/Image.ios.js +1 -1
- package/Libraries/Image/Image.win32.js +1 -1
- package/Libraries/Image/ImageBackground.js +1 -1
- package/Libraries/Image/ImageProps.js +17 -17
- package/Libraries/Image/ImageViewNativeComponent.js +4 -5
- 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/nativeImageSource.js +3 -3
- package/Libraries/Image/resolveAssetSource.js +4 -2
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +11 -8
- package/Libraries/Interaction/InteractionManagerStub.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
- package/Libraries/Interaction/PanResponder.js +8 -8
- package/Libraries/Interaction/TaskQueue.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +27 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
- 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 +1 -1
- package/Libraries/Lists/FlatList.js +10 -11
- package/Libraries/Lists/SectionList.js +7 -9
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/ViewabilityHelper.js +1 -1
- package/Libraries/Lists/VirtualizeUtils.js +1 -3
- package/Libraries/Lists/VirtualizedList.js +1 -1
- package/Libraries/Lists/VirtualizedListContext.js +1 -3
- package/Libraries/Lists/VirtualizedSectionList.js +1 -1
- 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 +13 -1
- package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +4 -4
- 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/LogBoxInspectorMessageHeader.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
- package/Libraries/Modal/Modal.js +10 -10
- package/Libraries/Modal/NativeModalManager.js +2 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
- 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/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.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +11 -685
- package/Libraries/Network/XMLHttpRequest_new.js +790 -0
- package/Libraries/Network/XMLHttpRequest_old.js +697 -0
- package/Libraries/Network/convertRequestBody.js +3 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
- package/Libraries/Pressability/Pressability.js +10 -10
- package/Libraries/Pressability/Pressability.win32.js +10 -10
- 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/ReactNative/AppContainer-dev.js +2 -2
- package/Libraries/ReactNative/AppContainer.js +3 -3
- package/Libraries/ReactNative/AppRegistry.js +1 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
- package/Libraries/ReactNative/FabricUIManager.js +18 -8
- 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 +3 -4
- package/Libraries/ReactNative/PaperUIManager.win32.js +3 -4
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -31
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
- package/Libraries/ReactNative/RendererImplementation.js +9 -0
- 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 +6 -5
- package/Libraries/ReactNative/requireNativeComponent.js +2 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +12 -6
- package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -1
- package/Libraries/Settings/NativeSettingsManager.js +2 -2
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +1 -1
- package/Libraries/Settings/Settings.win32.js +1 -1
- package/Libraries/Share/NativeShareModule.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/Rect.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +3 -2
- package/Libraries/StyleSheet/StyleSheet.win32.js +3 -2
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
- package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
- package/Libraries/StyleSheet/processBoxShadow.js +4 -0
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/Text/Text.js +1 -1
- package/Libraries/Text/Text.win32.js +1 -1
- package/Libraries/Text/TextAncestor.js +2 -3
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/Types/CodegenTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.js +42 -40
- package/Libraries/Types/CoreEventTypes.win32.js +42 -40
- package/Libraries/UTFSequence.js +2 -2
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/BackHandler.android.js +2 -2
- package/Libraries/Utilities/BackHandler.ios.js +2 -2
- package/Libraries/Utilities/BackHandler.win32.js +2 -2
- package/Libraries/Utilities/HMRClient.js +2 -2
- 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 +4 -4
- package/Libraries/Utilities/Platform.flow.js +8 -8
- package/Libraries/Utilities/Platform.flow.win32.js +8 -8
- package/Libraries/Utilities/Platform.ios.js +4 -4
- package/Libraries/Utilities/Platform.win32.js +2 -2
- package/Libraries/Utilities/ReactNativeTestTools.js +5 -5
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/differ/deepDiffer.js +3 -3
- package/Libraries/Utilities/dismissKeyboard.js +2 -1
- package/Libraries/Utilities/stringifySafe.js +2 -2
- package/Libraries/Vibration/NativeVibration.js +2 -2
- package/Libraries/Vibration/Vibration.js +1 -1
- 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/vendor/core/ErrorUtils.js +1 -1
- package/flow/jest.js +14 -14
- package/index.js +40 -38
- package/index.win32.js +40 -38
- package/jest/mockScrollView.js +1 -1
- package/jest/setup.js +305 -262
- package/overrides.json +44 -56
- package/package.json +17 -17
- package/src/private/animated/createAnimatedPropsHook.js +360 -0
- package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
- package/src/private/components/HScrollViewNativeComponents.js +1 -1
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
- package/src/private/devmenu/DevMenu.js +1 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +29 -55
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +4 -8
- 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 +8 -8
- package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +18 -15
- package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
- package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
- package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +40 -24
- package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +7 -6
- package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
- package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +1 -1
- package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +5 -3
- package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -4
- package/src/private/setup/setUpDOM.js +7 -2
- package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +6 -6
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +2 -2
- 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 +2 -2
- 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/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 → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
- package/src/private/webapis/dom/events/CustomEvent.js +40 -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 +120 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +48 -25
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +6 -5
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +25 -25
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +55 -77
- 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 +43 -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 +63 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +54 -0
- package/src/private/webapis/xhr/events/ProgressEvent.js +54 -0
- package/types/index.d.ts +0 -5
- 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/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 → 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/NativePermissionsAndroid.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/{specs → specs_DEPRECATED}/modules/NativeUIManager.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
|
}
|
package/Libraries/Text/Text.js
CHANGED
|
@@ -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$Context
|
|
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;
|
|
@@ -12,7 +12,7 @@ import type {TurboModule} from './RCTExport';
|
|
|
12
12
|
|
|
13
13
|
import invariant from 'invariant';
|
|
14
14
|
|
|
15
|
-
const NativeModules = require('../BatchedBridge/NativeModules');
|
|
15
|
+
const NativeModules = require('../BatchedBridge/NativeModules').default;
|
|
16
16
|
|
|
17
17
|
const turboModuleProxy = global.__turboModuleProxy;
|
|
18
18
|
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../../src/private/
|
|
12
|
-
import NativeSampleTurboModule from '../../../src/private/
|
|
11
|
+
export * from '../../../src/private/specs_DEPRECATED/modules/NativeSampleTurboModule';
|
|
12
|
+
import NativeSampleTurboModule from '../../../src/private/specs_DEPRECATED/modules/NativeSampleTurboModule';
|
|
13
13
|
export default NativeSampleTurboModule;
|
|
@@ -29,7 +29,8 @@ export type DirectEventHandler<
|
|
|
29
29
|
export type Double = number;
|
|
30
30
|
export type Float = number;
|
|
31
31
|
export type Int32 = number;
|
|
32
|
-
|
|
32
|
+
/* $FlowFixMe[unclear-type] Object is forbidden in strict mode */
|
|
33
|
+
export type UnsafeObject = Object;
|
|
33
34
|
export type UnsafeMixed = mixed;
|
|
34
35
|
|
|
35
36
|
type DefaultTypes = number | boolean | string | $ReadOnlyArray<string>;
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
import type {HostInstance} from '../Renderer/shims/ReactNativeTypes';
|
|
12
12
|
|
|
13
|
-
export type SyntheticEvent<+T> = $ReadOnly<{
|
|
13
|
+
export type SyntheticEvent<+T> = $ReadOnly<{
|
|
14
14
|
bubbles: ?boolean,
|
|
15
15
|
cancelable: ?boolean,
|
|
16
16
|
currentTarget: number | HostInstance,
|
|
17
17
|
defaultPrevented: ?boolean,
|
|
18
|
-
dispatchConfig: $ReadOnly<{
|
|
18
|
+
dispatchConfig: $ReadOnly<{
|
|
19
19
|
registrationName: string,
|
|
20
|
-
|
|
20
|
+
}>,
|
|
21
21
|
eventPhase: ?number,
|
|
22
22
|
preventDefault: () => void,
|
|
23
23
|
isDefaultPrevented: () => boolean,
|
|
@@ -29,16 +29,16 @@ export type SyntheticEvent<+T> = $ReadOnly<{|
|
|
|
29
29
|
target: ?number | HostInstance,
|
|
30
30
|
timeStamp: number,
|
|
31
31
|
type: ?string,
|
|
32
|
-
|
|
32
|
+
}>;
|
|
33
33
|
|
|
34
|
-
export type ResponderSyntheticEvent<T> = $ReadOnly<{
|
|
34
|
+
export type ResponderSyntheticEvent<T> = $ReadOnly<{
|
|
35
35
|
...SyntheticEvent<T>,
|
|
36
|
-
touchHistory: $ReadOnly<{
|
|
36
|
+
touchHistory: $ReadOnly<{
|
|
37
37
|
indexOfSingleActiveTouch: number,
|
|
38
38
|
mostRecentTimeStamp: number,
|
|
39
39
|
numberActiveTouches: number,
|
|
40
40
|
touchBank: $ReadOnlyArray<
|
|
41
|
-
$ReadOnly<{
|
|
41
|
+
$ReadOnly<{
|
|
42
42
|
touchActive: boolean,
|
|
43
43
|
startPageX: number,
|
|
44
44
|
startPageY: number,
|
|
@@ -49,37 +49,37 @@ export type ResponderSyntheticEvent<T> = $ReadOnly<{|
|
|
|
49
49
|
previousPageX: number,
|
|
50
50
|
previousPageY: number,
|
|
51
51
|
previousTimeStamp: number,
|
|
52
|
-
|
|
52
|
+
}>,
|
|
53
53
|
>,
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
}>,
|
|
55
|
+
}>;
|
|
56
56
|
|
|
57
|
-
export type Layout = $ReadOnly<{
|
|
57
|
+
export type Layout = $ReadOnly<{
|
|
58
58
|
x: number,
|
|
59
59
|
y: number,
|
|
60
60
|
width: number,
|
|
61
61
|
height: number,
|
|
62
|
-
|
|
62
|
+
}>;
|
|
63
63
|
|
|
64
|
-
export type TextLayout = $ReadOnly<{
|
|
64
|
+
export type TextLayout = $ReadOnly<{
|
|
65
65
|
...Layout,
|
|
66
66
|
ascender: number,
|
|
67
67
|
capHeight: number,
|
|
68
68
|
descender: number,
|
|
69
69
|
text: string,
|
|
70
70
|
xHeight: number,
|
|
71
|
-
|
|
71
|
+
}>;
|
|
72
72
|
|
|
73
73
|
export type LayoutEvent = SyntheticEvent<
|
|
74
|
-
$ReadOnly<{
|
|
74
|
+
$ReadOnly<{
|
|
75
75
|
layout: Layout,
|
|
76
|
-
|
|
76
|
+
}>,
|
|
77
77
|
>;
|
|
78
78
|
|
|
79
79
|
export type TextLayoutEvent = SyntheticEvent<
|
|
80
|
-
$ReadOnly<{
|
|
80
|
+
$ReadOnly<{
|
|
81
81
|
lines: Array<TextLayout>,
|
|
82
|
-
|
|
82
|
+
}>,
|
|
83
83
|
>;
|
|
84
84
|
|
|
85
85
|
/**
|
|
@@ -221,7 +221,7 @@ export interface NativePointerEvent extends NativeMouseEvent {
|
|
|
221
221
|
export type PointerEvent = SyntheticEvent<NativePointerEvent>;
|
|
222
222
|
|
|
223
223
|
export type PressEvent = ResponderSyntheticEvent<
|
|
224
|
-
$ReadOnly<{
|
|
224
|
+
$ReadOnly<{
|
|
225
225
|
changedTouches: $ReadOnlyArray<$PropertyType<PressEvent, 'nativeEvent'>>,
|
|
226
226
|
force?: number,
|
|
227
227
|
identifier: number,
|
|
@@ -232,60 +232,62 @@ export type PressEvent = ResponderSyntheticEvent<
|
|
|
232
232
|
target: ?number,
|
|
233
233
|
timestamp: number,
|
|
234
234
|
touches: $ReadOnlyArray<$PropertyType<PressEvent, 'nativeEvent'>>,
|
|
235
|
-
|
|
235
|
+
}>,
|
|
236
236
|
>;
|
|
237
237
|
|
|
238
238
|
export type ScrollEvent = SyntheticEvent<
|
|
239
|
-
$ReadOnly<{
|
|
240
|
-
contentInset: $ReadOnly<{
|
|
239
|
+
$ReadOnly<{
|
|
240
|
+
contentInset: $ReadOnly<{
|
|
241
241
|
bottom: number,
|
|
242
242
|
left: number,
|
|
243
243
|
right: number,
|
|
244
244
|
top: number,
|
|
245
|
-
|
|
246
|
-
contentOffset: $ReadOnly<{
|
|
245
|
+
}>,
|
|
246
|
+
contentOffset: $ReadOnly<{
|
|
247
247
|
y: number,
|
|
248
248
|
x: number,
|
|
249
|
-
|
|
250
|
-
contentSize: $ReadOnly<{
|
|
249
|
+
}>,
|
|
250
|
+
contentSize: $ReadOnly<{
|
|
251
251
|
height: number,
|
|
252
252
|
width: number,
|
|
253
|
-
|
|
254
|
-
layoutMeasurement: $ReadOnly<{
|
|
253
|
+
}>,
|
|
254
|
+
layoutMeasurement: $ReadOnly<{
|
|
255
255
|
height: number,
|
|
256
256
|
width: number,
|
|
257
|
-
|
|
258
|
-
targetContentOffset?: $ReadOnly<{
|
|
257
|
+
}>,
|
|
258
|
+
targetContentOffset?: $ReadOnly<{
|
|
259
259
|
y: number,
|
|
260
260
|
x: number,
|
|
261
|
-
|
|
262
|
-
velocity?: $ReadOnly<{
|
|
261
|
+
}>,
|
|
262
|
+
velocity?: $ReadOnly<{
|
|
263
263
|
y: number,
|
|
264
264
|
x: number,
|
|
265
|
-
|
|
265
|
+
}>,
|
|
266
266
|
zoomScale?: number,
|
|
267
267
|
responderIgnoreScroll?: boolean,
|
|
268
|
-
|
|
268
|
+
}>,
|
|
269
269
|
>;
|
|
270
270
|
|
|
271
271
|
export type BlurEvent = SyntheticEvent<
|
|
272
|
-
$ReadOnly<{
|
|
272
|
+
$ReadOnly<{
|
|
273
273
|
target: number,
|
|
274
|
-
|
|
274
|
+
...
|
|
275
|
+
}>,
|
|
275
276
|
>;
|
|
276
277
|
|
|
277
278
|
export type FocusEvent = SyntheticEvent<
|
|
278
|
-
$ReadOnly<{
|
|
279
|
+
$ReadOnly<{
|
|
279
280
|
target: number,
|
|
280
|
-
|
|
281
|
+
...
|
|
282
|
+
}>,
|
|
281
283
|
>;
|
|
282
284
|
|
|
283
285
|
export type MouseEvent = SyntheticEvent<
|
|
284
|
-
$ReadOnly<{
|
|
286
|
+
$ReadOnly<{
|
|
285
287
|
clientX: number,
|
|
286
288
|
clientY: number,
|
|
287
289
|
pageX: number,
|
|
288
290
|
pageY: number,
|
|
289
291
|
timestamp: number,
|
|
290
|
-
|
|
292
|
+
}>,
|
|
291
293
|
>;
|