react-native-tvos 0.76.6-0 → 0.77.0-0
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/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
- package/Libraries/Animated/animations/Animation.js +60 -25
- package/Libraries/Animated/animations/DecayAnimation.js +26 -38
- package/Libraries/Animated/animations/SpringAnimation.js +33 -39
- package/Libraries/Animated/animations/TimingAnimation.js +34 -42
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
- package/Libraries/Animated/createAnimatedComponent.js +60 -33
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
- package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
- package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +104 -46
- package/Libraries/Animated/nodes/AnimatedStyle.js +116 -39
- package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
- package/Libraries/Animated/useAnimatedProps.js +41 -35
- package/Libraries/AppDelegate/RCTAppDelegate.h +10 -64
- package/Libraries/AppDelegate/RCTAppDelegate.mm +23 -21
- package/Libraries/AppDelegate/RCTAppSetupUtils.h +5 -1
- package/Libraries/AppDelegate/RCTAppSetupUtils.mm +8 -14
- package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +32 -0
- package/Libraries/AppDelegate/RCTDependencyProvider.h +26 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.h +6 -2
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +27 -43
- package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +56 -0
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -1
- package/Libraries/Blob/React-RCTBlob.podspec +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
- package/Libraries/Components/Button.js +9 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +7 -7
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
- package/Libraries/Components/ScrollView/ScrollView.js +51 -90
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
- package/Libraries/Components/Switch/Switch.js +8 -6
- package/Libraries/Components/TV/TVFocusGuideView.js +2 -5
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
- package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
- package/Libraries/Components/TextInput/TextInput.js +38 -14
- package/Libraries/Components/TextInput/TextInputState.js +11 -13
- package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
- package/Libraries/Components/Touchable/Position.js +7 -2
- package/Libraries/Components/Touchable/Touchable.js +4 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -7
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
- package/Libraries/Components/View/View.js +6 -11
- package/Libraries/Components/View/ViewNativeComponent.js +8 -111
- package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
- package/Libraries/Components/View/ViewPropTypes.js +0 -3
- package/Libraries/Core/ExceptionsManager.js +50 -29
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -10
- package/Libraries/Core/setUpDeveloperTools.js +1 -5
- package/Libraries/Core/setUpErrorHandling.js +20 -18
- package/Libraries/Core/setUpReactDevTools.js +107 -8
- package/Libraries/Core/setUpSegmentFetcher.js +1 -0
- package/Libraries/Core/setUpTimers.js +21 -18
- package/Libraries/Debugging/DebuggingOverlay.js +4 -5
- package/Libraries/Image/AssetSourceResolver.js +12 -1
- package/Libraries/Image/Image.android.js +1 -5
- package/Libraries/Image/Image.d.ts +20 -29
- package/Libraries/Image/Image.ios.js +0 -2
- package/Libraries/Image/ImageBackground.js +2 -5
- package/Libraries/Image/ImageProps.js +7 -6
- package/Libraries/Image/ImageResizeMode.d.ts +8 -1
- package/Libraries/Image/ImageResizeMode.js +4 -1
- package/Libraries/Image/ImageSource.d.ts +0 -2
- package/Libraries/Image/ImageSource.js +0 -2
- package/Libraries/Image/ImageTypes.flow.js +11 -9
- package/Libraries/Image/ImageUtils.js +6 -3
- package/Libraries/Image/ImageViewNativeComponent.js +5 -3
- package/Libraries/Image/RCTImageUtils.mm +2 -0
- package/Libraries/Image/RCTResizeMode.h +4 -1
- package/Libraries/Image/RCTResizeMode.mm +1 -0
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/Inspector.js +1 -0
- package/Libraries/Inspector/NetworkOverlay.js +4 -0
- package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
- package/Libraries/Interaction/InteractionManager.js +6 -1
- package/Libraries/Interaction/InteractionManagerStub.js +176 -0
- package/Libraries/Interaction/TouchHistoryMath.js +22 -19
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/LinkingIOS/RCTLinkingManager.mm +2 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/Lists/FlatList.d.ts +1 -2
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +7 -7
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +3 -3
- package/Libraries/LogBox/LogBox.js +18 -5
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
- package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.d.ts +12 -0
- package/Libraries/Modal/Modal.js +31 -4
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
- package/Libraries/NativeComponent/TVViewConfig.js +1 -0
- package/Libraries/Network/FormData.js +11 -3
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/Network/XHRInterceptor.js +63 -14
- package/Libraries/Network/XMLHttpRequest.js +26 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
- package/Libraries/Pressability/HoverState.js +2 -0
- package/Libraries/Pressability/Pressability.js +4 -5
- package/Libraries/Pressability/usePressability.js +4 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.js +1 -11
- package/Libraries/ReactNative/DisplayMode.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
- package/Libraries/ReactNative/RendererImplementation.js +18 -17
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
- package/Libraries/ReactNative/renderApplication.js +9 -8
- package/Libraries/ReactNative/requireNativeComponent.js +5 -2
- package/Libraries/Renderer/shims/ReactFabric.js +3 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +3 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +7 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
- package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
- package/Libraries/StyleSheet/processTransform.js +3 -34
- package/Libraries/Text/RCTTextAttributes.h +1 -2
- package/Libraries/Text/RCTTextAttributes.mm +9 -13
- package/Libraries/Text/Text.js +248 -249
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.h +1 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +24 -2
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +1 -0
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
- package/Libraries/Text/TextNativeComponent.js +0 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
- package/Libraries/Types/CoreEventTypes.d.ts +3 -10
- package/Libraries/Types/CoreEventTypes.js +4 -6
- package/Libraries/Utilities/Appearance.js +3 -1
- package/Libraries/Utilities/BackHandler.android.js +6 -18
- package/Libraries/Utilities/BackHandler.d.ts +0 -4
- package/Libraries/Utilities/BackHandler.ios.js +3 -16
- package/Libraries/Utilities/BackHandler.js.flow +0 -4
- package/Libraries/Utilities/HMRClient.js +3 -4
- package/Libraries/Utilities/Platform.flow.js +2 -2
- package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/setAndForwardRef.js +2 -2
- package/Libraries/Utilities/useMergeRefs.js +26 -7
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/Libraries/WebSocket/WebSocketEvent.js +4 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/React/Base/RCTBridge.h +3 -0
- package/React/Base/RCTBridge.mm +12 -11
- package/React/Base/RCTBridgeModule.h +1 -9
- package/React/Base/RCTBridgeProxy.h +3 -0
- package/React/Base/RCTBridgeProxy.mm +10 -0
- package/React/Base/RCTCallInvoker.mm +5 -0
- package/React/Base/RCTConstants.h +2 -12
- package/React/Base/RCTConstants.m +3 -31
- package/React/Base/RCTConvert.mm +3 -0
- package/React/Base/RCTKeyCommands.m +0 -2
- package/React/Base/RCTModuleData.h +1 -7
- package/React/Base/RCTModuleData.mm +27 -34
- package/React/Base/RCTModuleMethod.mm +1 -1
- package/React/Base/RCTTouchEvent.m +1 -1
- package/React/Base/RCTUtils.h +1 -1
- package/React/Base/RCTUtils.m +9 -10
- package/React/Base/RCTVersion.m +2 -2
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +7 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -5
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +1 -1
- package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +57 -0
- package/React/CoreModules/RCTAccessibilityManager.h +1 -0
- package/React/CoreModules/RCTAccessibilityManager.mm +27 -0
- package/React/CoreModules/RCTActionSheetManager.mm +14 -7
- package/React/CoreModules/RCTAppearance.h +1 -1
- package/React/CoreModules/RCTAppearance.mm +8 -2
- package/React/CoreModules/RCTDevLoadingView.mm +42 -25
- package/React/CoreModules/RCTDevMenu.mm +5 -1
- package/{ReactAndroid/src/main/java/com/facebook/perftest/PerfTestConfig.java → React/CoreModules/RCTDevToolsRuntimeSettingsModule.h} +3 -7
- package/React/CoreModules/RCTDevToolsRuntimeSettingsModule.mm +58 -0
- package/React/CoreModules/RCTDeviceInfo.mm +4 -1
- package/React/CoreModules/RCTEventDispatcher.mm +1 -1
- package/React/CoreModules/RCTExceptionsManager.h +2 -6
- package/React/CoreModules/RCTExceptionsManager.mm +35 -30
- package/React/CoreModules/React-CoreModules.podspec +12 -2
- package/React/CxxBridge/RCTCxxBridge.mm +20 -23
- package/React/CxxModule/RCTCxxMethod.mm +10 -2
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -5
- package/React/DevSupport/RCTPackagerConnection.mm +11 -0
- package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +5 -1
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +2395 -0
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +2854 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +2982 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8201 -0
- package/React/Fabric/AppleEventBeat.cpp +31 -0
- package/{ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h → React/Fabric/AppleEventBeat.h} +8 -11
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +0 -8
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +3 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +106 -59
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +2 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +35 -15
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +9 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +161 -96
- package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +1 -2
- package/React/Fabric/RCTScheduler.h +3 -2
- package/React/Fabric/RCTScheduler.mm +5 -8
- package/React/Fabric/RCTSurfacePointerHandler.mm +8 -6
- package/React/Fabric/RCTSurfacePresenter.mm +6 -18
- package/React/Fabric/Surface/RCTFabricSurface.mm +7 -6
- package/React/Fabric/Utils/PlatformRunLoopObserver.h +6 -3
- package/React/Fabric/Utils/PlatformRunLoopObserver.mm +2 -5
- package/React/Fabric/Utils/RCTLinearGradient.h +19 -0
- package/React/Fabric/Utils/RCTLinearGradient.mm +134 -0
- package/React/I18n/FBXXHashUtils.h +10 -8
- package/React/Inspector/RCTCxxInspectorPackagerConnection.mm +3 -0
- package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +3 -0
- package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +12 -1
- package/React/Inspector/RCTInspector.mm +1 -1
- package/React/Modules/{RCTUIManager.m → RCTUIManager.mm} +7 -4
- package/React/React-RCTFBReactNativeSpec.podspec +87 -0
- package/React/React-RCTFabric.podspec +3 -1
- package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +274 -0
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +20 -20
- package/React/Tests/Text/RCTTextAttributesTest.mm +49 -0
- package/React/Views/RCTBorderDrawing.h +5 -5
- package/React/Views/RCTBorderDrawing.m +21 -23
- package/React/Views/{RCTComponentData.m → RCTComponentData.mm} +5 -4
- package/React/Views/RCTLayout.m +3 -0
- package/React/Views/RCTModalHostViewController.m +1 -1
- package/React/Views/RCTModalHostViewManager.m +3 -23
- package/React/Views/RCTView.m +9 -10
- package/React/Views/RCTViewManager.m +1 -1
- package/React/Views/ScrollView/RCTScrollEvent.m +3 -0
- package/React/Views/ScrollView/RCTScrollView.h +1 -1
- package/React/Views/ScrollView/RCTScrollView.m +80 -26
- package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +4 -2
- package/ReactAndroid/api/ReactAndroid.api +339 -814
- package/ReactAndroid/build.gradle.kts +48 -13
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +1 -1
- package/ReactAndroid/gradle.properties +8 -2
- package/ReactAndroid/hermes-engine/build.gradle.kts +28 -26
- package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/NoopPrinter.kt +4 -5
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/PrinterHolder.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +45 -0
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +74 -34
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +109 -27
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +25 -7
- package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +35 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +43 -27
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +53 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/{ViewManagerOnDemandReactPackage.java → ViewManagerOnDemandReactPackage.kt} +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +22 -30
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.kt +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.java +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{InvalidIteratorException.java → InvalidIteratorException.kt} +4 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JSApplicationCausedNativeException.java → JSApplicationCausedNativeException.kt} +7 -16
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.kt +148 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +180 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.kt +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ObjectAlreadyConsumedException.java → ObjectAlreadyConsumedException.kt} +4 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.kt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +8 -13
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{RetryableMountingLayerException.java → RetryableMountingLayerException.kt} +6 -11
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +6 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +49 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/{SurfaceDelegate.java → SurfaceDelegate.kt} +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.kt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +14 -15
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +52 -3
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +14 -18
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +124 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +33 -26
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +28 -38
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +37 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +23 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +6 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +24 -26
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/{BindingImpl.kt → FabricUIManagerBinding.kt} +26 -20
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +62 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +10 -14
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +10 -57
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +5 -17
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +45 -62
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +10 -18
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +3 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +27 -11
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +63 -0
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +20 -10
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +80 -66
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +107 -124
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -27
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +25 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +136 -144
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +23 -27
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +25 -22
- package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +11 -16
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +121 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolsruntimesettings/ReactDevToolsRuntimeSettingsModule.kt +49 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +57 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogTitle.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +21 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ImageCacheControl.kt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +19 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +21 -14
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +143 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +270 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/reactdevtoolssettings/ReactDevToolsSettingsManagerModule.kt +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +126 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.kt +8 -4
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.kt +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +15 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +153 -81
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +75 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{Continuation.java → Continuation.kt} +4 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{ExecutorException.java → ExecutorException.kt} +3 -9
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{UnobservedTaskException.java → UnobservedTaskException.kt} +2 -8
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +272 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +398 -62
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +42 -36
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +13 -14
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactClippingProhibitedView.java → ReactClippingProhibitedView.kt} +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactCompoundView.java → ReactCompoundView.kt} +3 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactCompoundViewGroup.java → ReactCompoundViewGroup.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +257 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +1071 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +200 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +16 -20
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +189 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +15 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +107 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +53 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +14 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +20 -29
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +137 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.kt +129 -0
- package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +96 -90
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +8 -56
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +74 -171
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +0 -35
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +24 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +25 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +27 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +56 -100
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +15 -93
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +44 -81
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.kt +101 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +28 -49
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +12 -63
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +5 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +153 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +72 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.kt +60 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +45 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +12 -59
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -54
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.kt +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +114 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactVirtualTextShadowNode.java → ReactVirtualTextShadowNode.kt} +3 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +38 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +161 -56
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +25 -38
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +54 -58
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +16 -60
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.kt +82 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +9 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +149 -351
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +489 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +42 -0
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +11 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +4 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +7 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.cpp +4 -2
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.h +2 -0
- package/ReactAndroid/src/main/jni/react/fabric/{AsyncEventBeat.cpp → AndroidEventBeat.cpp} +10 -32
- package/ReactAndroid/src/main/jni/react/fabric/{AsyncEventBeat.h → AndroidEventBeat.h} +6 -9
- package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -156
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +422 -313
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -4
- package/ReactAndroid/src/main/jni/react/fabric/{Binding.cpp → FabricUIManagerBinding.cpp} +233 -151
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +174 -0
- package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp +5 -6
- package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h +2 -2
- package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +2 -2
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +16 -48
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -3
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +8 -36
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -9
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +149 -163
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +32 -34
- package/ReactAndroid/src/main/jni/react/jni/JCallback.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +2 -3
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +2 -3
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +29 -8
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +3 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.cpp +12 -3
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.h +15 -4
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +0 -3
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +1 -1
- package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +13 -0
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +5 -6
- package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
- package/ReactCommon/React-Fabric.podspec +4 -2
- package/ReactCommon/React-FabricComponents.podspec +7 -4
- package/ReactCommon/React-FabricImage.podspec +6 -2
- package/ReactCommon/ReactCommon.podspec +5 -3
- package/ReactCommon/callinvoker/React-callinvoker.podspec +0 -6
- package/ReactCommon/cxxreact/CMakeLists.txt +0 -1
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +6 -3
- package/ReactCommon/cxxreact/JSBigString.cpp +4 -4
- package/ReactCommon/cxxreact/JSExecutor.cpp +2 -4
- package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -2
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +22 -0
- package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +27 -0
- package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.h +56 -0
- package/ReactCommon/hermes/React-hermes.podspec +3 -1
- package/ReactCommon/jsc/JSCRuntime.cpp +9 -9
- package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +369 -98
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +34 -8
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +8 -4
- package/ReactCommon/jserrorhandler/StackTraceParser.cpp +317 -0
- package/ReactCommon/jserrorhandler/StackTraceParser.h +23 -0
- package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +1196 -0
- package/ReactCommon/jsi/React-jsi.podspec +8 -3
- package/ReactCommon/jsi/jsi/decorator.h +16 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +113 -2
- package/ReactCommon/jsi/jsi/jsi.h +19 -6
- package/ReactCommon/jsi/jsi/test/testlib.cpp +59 -0
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -2
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +6 -40
- package/ReactCommon/jsinspector-modern/HostAgent.h +4 -1
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +2 -0
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +8 -7
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +2 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -9
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +6 -3
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +59 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.h +41 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -33
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +130 -0
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +4 -13
- package/ReactCommon/logger/React-logger.podspec +2 -1
- package/ReactCommon/react/bridging/Base.h +29 -4
- package/ReactCommon/react/bridging/Convert.h +2 -2
- package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +66 -59
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +67 -60
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +191 -218
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +31 -33
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +37 -45
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -17
- package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsTest.cpp +23 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -16
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +22 -22
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +65 -45
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +5 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +2 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -8
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +4 -22
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +9 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +18 -2
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +24 -0
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.cpp +35 -0
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.h +27 -0
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/README.md +6 -0
- package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +21 -3
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +54 -57
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +24 -26
- package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +19 -3
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +18 -3
- package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +6 -1
- package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +3 -1
- package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +18 -3
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +2 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +6 -3
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleJSIBindings.cpp +5 -4
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.kt +277 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +245 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +4 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +3 -2
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +261 -28
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +131 -0
- package/ReactCommon/react/performance/timeline/CircularBuffer.h +133 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryBuffer.h +40 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +38 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.h +34 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +59 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +39 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +140 -206
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +82 -131
- package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +92 -0
- package/ReactCommon/react/performance/timeline/PerformanceObserver.h +139 -0
- package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.cpp +34 -0
- package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.h +54 -0
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/performance/timeline/tests/CircularBufferTest.cpp +127 -0
- package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +238 -254
- package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +272 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -4
- package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +13 -28
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +8 -6
- package/ReactCommon/react/renderer/attributedstring/conversions.h +4 -0
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +3 -3
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +5 -18
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +110 -36
- package/ReactCommon/react/renderer/components/image/ImageProps.h +8 -1
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +27 -0
- package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.cpp +0 -1
- package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +0 -1
- package/ReactCommon/react/renderer/components/rncore/Props.cpp +1 -0
- package/ReactCommon/react/renderer/components/rncore/Props.h +1 -0
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +0 -1
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +0 -11
- package/ReactCommon/react/renderer/components/rncore/States.h +0 -12
- package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h +18 -0
- package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp +29 -0
- package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h +26 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +8 -6
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +5 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +0 -8
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +98 -100
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +0 -1
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -2
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -10
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +18 -16
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
- package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +93 -0
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +38 -2
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +10 -0
- package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp → TextInputEventEmitter.cpp} +3 -1
- package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.h → TextInputEventEmitter.h} +1 -0
- package/ReactCommon/react/renderer/components/textinput/baseConversions.h +46 -0
- package/ReactCommon/react/{utils/CoreFeatures.cpp → renderer/components/textinput/basePrimitives.h} +7 -4
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +8 -6
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +44 -57
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +1 -3
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +3 -20
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +0 -4
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +8 -1
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +1 -0
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +1 -18
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +1 -5
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +0 -20
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/primitives.h +1 -20
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h +0 -12
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +36 -34
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +206 -149
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +8 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +48 -36
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +18 -18
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -2
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +60 -60
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +23 -17
- package/ReactCommon/react/renderer/components/view/conversions.h +136 -68
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +22 -20
- package/ReactCommon/react/renderer/components/view/primitives.h +2 -0
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +20 -20
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +2 -2
- package/ReactCommon/react/renderer/core/EventBeat.cpp +47 -14
- package/ReactCommon/react/renderer/core/EventBeat.h +87 -31
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +4 -9
- package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -3
- package/ReactCommon/react/renderer/core/EventEmitter.h +0 -2
- package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
- package/ReactCommon/react/renderer/core/EventQueue.cpp +3 -18
- package/ReactCommon/react/renderer/core/EventQueue.h +1 -8
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +4 -4
- package/ReactCommon/react/renderer/core/Props.cpp +3 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +6 -0
- package/ReactCommon/react/renderer/core/RawValue.h +20 -20
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +21 -28
- package/ReactCommon/react/renderer/core/ShadowNode.h +4 -13
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +24 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +38 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +0 -1
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +5 -5
- package/ReactCommon/react/renderer/core/conversions.h +3 -3
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +4 -2
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +2 -51
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +18 -18
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -0
- package/ReactCommon/react/renderer/dom/DOM.cpp +4 -7
- package/ReactCommon/react/renderer/graphics/BackgroundImage.h +4 -32
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +62 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -1
- package/ReactCommon/react/renderer/graphics/Transform.h +4 -4
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +20 -48
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +2 -0
- package/ReactCommon/react/renderer/imagemanager/ImageRequest.cpp +4 -8
- package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +2 -12
- package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +1 -0
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +27 -3
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +15 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +5 -2
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +24 -16
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +44 -8
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +4 -3
- package/ReactCommon/react/renderer/imagemanager/primitives.h +5 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +36 -23
- package/ReactCommon/react/renderer/mounting/Differentiator.h +41 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +12 -7
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -3
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +5 -4
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -130
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -7
- package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -8
- package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -44
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +4 -4
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +1 -1
- package/ReactCommon/react/renderer/mounting/stubs/stubs.h +2 -2
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +3 -3
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +35 -109
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +10 -6
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +5 -2
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +36 -16
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +4 -3
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +6 -2
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +1 -0
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +9 -6
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +11 -1
- package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +14 -16
- package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +15 -4
- package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +2 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +6 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +42 -51
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +0 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +86 -68
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +33 -37
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -3
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -2
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -2
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +3 -3
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +25 -0
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +4 -10
- package/ReactCommon/react/renderer/uimanager/UIManager.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +1 -3
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +1 -1
- package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +5 -2
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -2
- package/ReactCommon/react/runtime/ReactInstance.cpp +189 -39
- package/ReactCommon/react/runtime/ReactInstance.h +1 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +1 -1
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +3 -6
- package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +20 -2
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +7 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost+Internal.h +3 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +14 -6
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +59 -21
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +11 -6
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +65 -27
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +2 -131
- package/ReactCommon/react/timing/CMakeLists.txt +1 -1
- package/ReactCommon/react/timing/primitives.h +2 -0
- package/ReactCommon/react/utils/RunLoopObserver.cpp +2 -4
- package/ReactCommon/react/utils/RunLoopObserver.h +1 -3
- package/ReactCommon/react/utils/SharedFunction.h +1 -0
- package/ReactCommon/reactperflogger/CMakeLists.txt +4 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -0
- package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +143 -0
- package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.h +48 -0
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.cpp +65 -0
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.h +35 -0
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +2 -0
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +2 -1
- package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -2
- package/ReactCommon/yoga/yoga/YGEnums.h +8 -2
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +38 -28
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -0
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +51 -117
- package/ReactCommon/yoga/yoga/algorithm/Align.h +4 -4
- package/ReactCommon/yoga/yoga/algorithm/Baseline.cpp +2 -6
- package/ReactCommon/yoga/yoga/algorithm/BoundAxis.h +13 -6
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +349 -341
- package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +19 -18
- package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +2 -4
- package/ReactCommon/yoga/yoga/enums/BoxSizing.h +40 -0
- package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
- package/ReactCommon/yoga/yoga/enums/Errata.h +1 -1
- package/ReactCommon/yoga/yoga/node/LayoutableChildren.h +148 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +60 -7
- package/ReactCommon/yoga/yoga/node/Node.h +51 -9
- package/ReactCommon/yoga/yoga/style/Style.h +64 -1
- package/ReactCommon/yoga/yoga/style/StyleLength.h +0 -32
- package/ReactCommon/yoga/yoga/style/StyleValuePool.h +4 -4
- package/cli.js +2 -2
- package/gradle/libs.versions.toml +9 -8
- package/index.js +15 -8
- package/jest/setup.js +31 -0
- package/package.json +11 -13
- package/scripts/cocoapods/codegen_utils.rb +42 -17
- package/scripts/cocoapods/helpers.rb +16 -2
- package/scripts/cocoapods/new_architecture.rb +2 -0
- package/scripts/cocoapods/spm.rb +1 -1
- package/scripts/cocoapods/utils.rb +2 -0
- package/scripts/codegen/generate-artifacts-executor.js +336 -172
- package/scripts/codegen/generate-specs-cli-executor.js +3 -3
- package/scripts/codegen/templates/RCTAppDependencyProviderH.template +25 -0
- package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +55 -0
- package/scripts/codegen/templates/RCTThirdPartyComponentsProviderH.template +16 -0
- package/scripts/codegen/templates/RCTThirdPartyComponentsProviderMM.template +23 -0
- package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +34 -0
- package/scripts/generate-provider-cli.js +1 -2
- package/scripts/ios-configure-glog.sh +2 -2
- package/scripts/react-native-xcode.sh +8 -5
- package/scripts/react_native_pods.rb +16 -0
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +15 -9
- package/sdks/hermes-engine/hermes-utils.rb +29 -8
- package/sdks/hermes-engine/utils/build-ios-framework.sh +4 -24
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/animated/NativeAnimatedHelper.js +18 -16
- package/src/private/animated/useAnimatedPropsMemo.js +356 -0
- package/src/private/components/HScrollViewNativeComponents.js +1 -27
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
- package/src/private/components/VScrollViewNativeComponents.js +2 -25
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
- package/{Libraries/ReactNative/ReactFabricInternals.js → src/private/debugging/ReactDevToolsSettingsManager.js.flow} +5 -6
- package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
- package/src/private/devmenu/DevMenu.d.ts +20 -0
- package/src/private/devmenu/DevMenu.js +31 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +96 -82
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -18
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/setup/setUpDOM.js +14 -6
- package/src/private/setup/setUpMutationObserver.js +5 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
- package/src/private/specs/modules/NativeAppearance.js +4 -10
- package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
- package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
- package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
- package/src/private/webapis/performance/EventTiming.js +13 -8
- package/src/private/webapis/performance/Performance.js +66 -73
- package/src/private/webapis/performance/PerformanceEntry.js +2 -5
- package/src/private/webapis/performance/PerformanceObserver.js +65 -164
- package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +11 -7
- package/src/private/webapis/performance/Utilities.js +18 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
- package/third-party-podspecs/DoubleConversion.podspec +1 -0
- package/third-party-podspecs/RCT-Folly.podspec +20 -11
- package/third-party-podspecs/boost.podspec +4 -0
- package/third-party-podspecs/fast_float.podspec +29 -0
- package/third-party-podspecs/glog.podspec +2 -1
- package/types/index.d.ts +1 -1
- package/types/public/ReactNativeTypes.d.ts +4 -8
- package/types/tsconfig.json +13 -13
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.js.flow +0 -19
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
- package/React/Base/RCTRuntimeExecutorModule.h +0 -19
- package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.java +0 -30
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.java +0 -38
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.java +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.java +0 -159
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +0 -131
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/EagerModuleProvider.java +0 -26
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +0 -69
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +0 -67
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +0 -14
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.java +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +0 -219
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +0 -266
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java +0 -28
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.java +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.java +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +0 -174
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +0 -68
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +0 -79
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/AndroidManifest.xml +0 -10
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +0 -74
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +0 -90
- package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +0 -34
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.kt +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +0 -280
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +0 -175
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +0 -104
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +0 -159
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.java +0 -73
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.java +0 -42
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -329
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +0 -85
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.java +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +0 -138
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +0 -82
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +0 -141
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +0 -151
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +0 -194
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.java +0 -65
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +0 -55
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +0 -153
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +0 -198
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.java +0 -47
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.java +0 -63
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +0 -95
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +0 -146
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +0 -588
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +0 -58
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h +0 -48
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.h +0 -32
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.mm +0 -34
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.java +0 -246
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +0 -281
- package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +0 -130
- package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.h +0 -91
- package/ReactCommon/react/performance/timeline/BoundedConsumableBuffer.h +0 -247
- package/ReactCommon/react/performance/timeline/tests/BoundedConsumableBufferTest.cpp +0 -219
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +0 -57
- package/ReactCommon/react/utils/CoreFeatures.h +0 -30
- package/src/private/components/useSyncOnScroll.js +0 -48
- package/src/private/fusebox/README.md +0 -12
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
- package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
- package/types/experimental.d.ts +0 -59
- /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
#include <cfloat>
|
|
11
11
|
#include <cmath>
|
|
12
12
|
#include <cstring>
|
|
13
|
-
#include <string>
|
|
14
13
|
|
|
15
14
|
#include <yoga/Yoga.h>
|
|
16
15
|
|
|
@@ -38,13 +37,15 @@ std::atomic<uint32_t> gCurrentGenerationCount(0);
|
|
|
38
37
|
|
|
39
38
|
static void constrainMaxSizeForMode(
|
|
40
39
|
const yoga::Node* node,
|
|
40
|
+
Direction direction,
|
|
41
41
|
FlexDirection axis,
|
|
42
42
|
float ownerAxisSize,
|
|
43
43
|
float ownerWidth,
|
|
44
44
|
/*in_out*/ SizingMode* mode,
|
|
45
45
|
/*in_out*/ float* size) {
|
|
46
46
|
const FloatOptional maxSize =
|
|
47
|
-
node->style().
|
|
47
|
+
node->style().resolvedMaxDimension(
|
|
48
|
+
direction, dimension(axis), ownerAxisSize, ownerWidth) +
|
|
48
49
|
FloatOptional(node->style().computeMarginForAxis(axis, ownerWidth));
|
|
49
50
|
switch (*mode) {
|
|
50
51
|
case SizingMode::StretchFit:
|
|
@@ -79,15 +80,15 @@ static void computeFlexBasisForChild(
|
|
|
79
80
|
resolveDirection(node->style().flexDirection(), direction);
|
|
80
81
|
const bool isMainAxisRow = isRow(mainAxis);
|
|
81
82
|
const float mainAxisSize = isMainAxisRow ? width : height;
|
|
82
|
-
const float
|
|
83
|
+
const float mainAxisOwnerSize = isMainAxisRow ? ownerWidth : ownerHeight;
|
|
83
84
|
|
|
84
85
|
float childWidth = YGUndefined;
|
|
85
86
|
float childHeight = YGUndefined;
|
|
86
87
|
SizingMode childWidthSizingMode;
|
|
87
88
|
SizingMode childHeightSizingMode;
|
|
88
89
|
|
|
89
|
-
const FloatOptional resolvedFlexBasis =
|
|
90
|
-
|
|
90
|
+
const FloatOptional resolvedFlexBasis = child->resolveFlexBasis(
|
|
91
|
+
direction, mainAxis, mainAxisOwnerSize, ownerWidth);
|
|
91
92
|
const bool isRowStyleDimDefined =
|
|
92
93
|
child->hasDefiniteLength(Dimension::Width, ownerWidth);
|
|
93
94
|
const bool isColumnStyleDimDefined =
|
|
@@ -110,7 +111,8 @@ static void computeFlexBasisForChild(
|
|
|
110
111
|
child, FlexDirection::Row, direction, ownerWidth));
|
|
111
112
|
|
|
112
113
|
child->setLayoutComputedFlexBasis(yoga::maxOrDefined(
|
|
113
|
-
child->getResolvedDimension(
|
|
114
|
+
child->getResolvedDimension(
|
|
115
|
+
direction, Dimension::Width, ownerWidth, ownerWidth),
|
|
114
116
|
paddingAndBorder));
|
|
115
117
|
} else if (!isMainAxisRow && isColumnStyleDimDefined) {
|
|
116
118
|
// The height is definite, so use that as the flex basis.
|
|
@@ -118,7 +120,8 @@ static void computeFlexBasisForChild(
|
|
|
118
120
|
FloatOptional(paddingAndBorderForAxis(
|
|
119
121
|
child, FlexDirection::Column, direction, ownerWidth));
|
|
120
122
|
child->setLayoutComputedFlexBasis(yoga::maxOrDefined(
|
|
121
|
-
child->getResolvedDimension(
|
|
123
|
+
child->getResolvedDimension(
|
|
124
|
+
direction, Dimension::Height, ownerHeight, ownerWidth),
|
|
122
125
|
paddingAndBorder));
|
|
123
126
|
} else {
|
|
124
127
|
// Compute the flex basis and hypothetical main size (i.e. the clamped flex
|
|
@@ -132,16 +135,19 @@ static void computeFlexBasisForChild(
|
|
|
132
135
|
child->style().computeMarginForAxis(FlexDirection::Column, ownerWidth);
|
|
133
136
|
|
|
134
137
|
if (isRowStyleDimDefined) {
|
|
135
|
-
childWidth = child
|
|
136
|
-
|
|
138
|
+
childWidth = child
|
|
139
|
+
->getResolvedDimension(
|
|
140
|
+
direction, Dimension::Width, ownerWidth, ownerWidth)
|
|
137
141
|
.unwrap() +
|
|
138
142
|
marginRow;
|
|
139
143
|
childWidthSizingMode = SizingMode::StretchFit;
|
|
140
144
|
}
|
|
141
145
|
if (isColumnStyleDimDefined) {
|
|
142
|
-
childHeight =
|
|
143
|
-
|
|
144
|
-
|
|
146
|
+
childHeight =
|
|
147
|
+
child
|
|
148
|
+
->getResolvedDimension(
|
|
149
|
+
direction, Dimension::Height, ownerHeight, ownerWidth)
|
|
150
|
+
.unwrap() +
|
|
145
151
|
marginColumn;
|
|
146
152
|
childHeightSizingMode = SizingMode::StretchFit;
|
|
147
153
|
}
|
|
@@ -216,6 +222,7 @@ static void computeFlexBasisForChild(
|
|
|
216
222
|
|
|
217
223
|
constrainMaxSizeForMode(
|
|
218
224
|
child,
|
|
225
|
+
direction,
|
|
219
226
|
FlexDirection::Row,
|
|
220
227
|
ownerWidth,
|
|
221
228
|
ownerWidth,
|
|
@@ -223,6 +230,7 @@ static void computeFlexBasisForChild(
|
|
|
223
230
|
&childWidth);
|
|
224
231
|
constrainMaxSizeForMode(
|
|
225
232
|
child,
|
|
233
|
+
direction,
|
|
226
234
|
FlexDirection::Column,
|
|
227
235
|
ownerHeight,
|
|
228
236
|
ownerWidth,
|
|
@@ -467,12 +475,29 @@ static void zeroOutLayoutRecursively(yoga::Node* const node) {
|
|
|
467
475
|
}
|
|
468
476
|
}
|
|
469
477
|
|
|
478
|
+
static void cleanupContentsNodesRecursively(yoga::Node* const node) {
|
|
479
|
+
for (auto child : node->getChildren()) {
|
|
480
|
+
if (child->style().display() == Display::Contents) {
|
|
481
|
+
child->getLayout() = {};
|
|
482
|
+
child->setLayoutDimension(0, Dimension::Width);
|
|
483
|
+
child->setLayoutDimension(0, Dimension::Height);
|
|
484
|
+
child->setHasNewLayout(true);
|
|
485
|
+
child->setDirty(false);
|
|
486
|
+
child->cloneChildrenIfNeeded();
|
|
487
|
+
|
|
488
|
+
cleanupContentsNodesRecursively(child);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
|
|
470
493
|
static float calculateAvailableInnerDimension(
|
|
471
494
|
const yoga::Node* const node,
|
|
495
|
+
const Direction direction,
|
|
472
496
|
const Dimension dimension,
|
|
473
497
|
const float availableDim,
|
|
474
498
|
const float paddingAndBorder,
|
|
475
|
-
const float ownerDim
|
|
499
|
+
const float ownerDim,
|
|
500
|
+
const float ownerWidth) {
|
|
476
501
|
float availableInnerDim = availableDim - paddingAndBorder;
|
|
477
502
|
// Max dimension overrides predefined dimension value; Min dimension in turn
|
|
478
503
|
// overrides both of the above
|
|
@@ -480,13 +505,15 @@ static float calculateAvailableInnerDimension(
|
|
|
480
505
|
// We want to make sure our available height does not violate min and max
|
|
481
506
|
// constraints
|
|
482
507
|
const FloatOptional minDimensionOptional =
|
|
483
|
-
node->style().
|
|
508
|
+
node->style().resolvedMinDimension(
|
|
509
|
+
direction, dimension, ownerDim, ownerWidth);
|
|
484
510
|
const float minInnerDim = minDimensionOptional.isUndefined()
|
|
485
511
|
? 0.0f
|
|
486
512
|
: minDimensionOptional.unwrap() - paddingAndBorder;
|
|
487
513
|
|
|
488
514
|
const FloatOptional maxDimensionOptional =
|
|
489
|
-
node->style().
|
|
515
|
+
node->style().resolvedMaxDimension(
|
|
516
|
+
direction, dimension, ownerDim, ownerWidth);
|
|
490
517
|
|
|
491
518
|
const float maxInnerDim = maxDimensionOptional.isUndefined()
|
|
492
519
|
? FLT_MAX
|
|
@@ -512,7 +539,7 @@ static float computeFlexBasisForChildren(
|
|
|
512
539
|
const uint32_t generationCount) {
|
|
513
540
|
float totalOuterFlexBasis = 0.0f;
|
|
514
541
|
YGNodeRef singleFlexChild = nullptr;
|
|
515
|
-
|
|
542
|
+
auto children = node->getLayoutChildren();
|
|
516
543
|
SizingMode sizingModeMainDim =
|
|
517
544
|
isRow(mainAxis) ? widthSizingMode : heightSizingMode;
|
|
518
545
|
// If there is only one child with flexGrow + flexShrink it means we can set
|
|
@@ -536,7 +563,7 @@ static float computeFlexBasisForChildren(
|
|
|
536
563
|
}
|
|
537
564
|
|
|
538
565
|
for (auto child : children) {
|
|
539
|
-
child->
|
|
566
|
+
child->processDimensions();
|
|
540
567
|
if (child->style().display() == Display::None) {
|
|
541
568
|
zeroOutLayoutRecursively(child);
|
|
542
569
|
child->setHasNewLayout(true);
|
|
@@ -590,7 +617,8 @@ static float distributeFreeSpaceSecondPass(
|
|
|
590
617
|
const FlexDirection mainAxis,
|
|
591
618
|
const FlexDirection crossAxis,
|
|
592
619
|
const Direction direction,
|
|
593
|
-
const float
|
|
620
|
+
const float ownerWidth,
|
|
621
|
+
const float mainAxisOwnerSize,
|
|
594
622
|
const float availableInnerMainDim,
|
|
595
623
|
const float availableInnerCrossDim,
|
|
596
624
|
const float availableInnerWidth,
|
|
@@ -611,9 +639,11 @@ static float distributeFreeSpaceSecondPass(
|
|
|
611
639
|
for (auto currentLineChild : flexLine.itemsInFlow) {
|
|
612
640
|
childFlexBasis = boundAxisWithinMinAndMax(
|
|
613
641
|
currentLineChild,
|
|
642
|
+
direction,
|
|
614
643
|
mainAxis,
|
|
615
644
|
currentLineChild->getLayout().computedFlexBasis,
|
|
616
|
-
|
|
645
|
+
mainAxisOwnerSize,
|
|
646
|
+
ownerWidth)
|
|
617
647
|
.unwrap();
|
|
618
648
|
float updatedMainSize = childFlexBasis;
|
|
619
649
|
|
|
@@ -662,13 +692,6 @@ static float distributeFreeSpaceSecondPass(
|
|
|
662
692
|
}
|
|
663
693
|
}
|
|
664
694
|
|
|
665
|
-
yoga::assertFatalWithNode(
|
|
666
|
-
currentLineChild,
|
|
667
|
-
yoga::isDefined(updatedMainSize),
|
|
668
|
-
("updatedMainSize is undefined. mainAxisownerSize: " +
|
|
669
|
-
std::to_string(mainAxisownerSize))
|
|
670
|
-
.c_str());
|
|
671
|
-
|
|
672
695
|
deltaFreeSpace += updatedMainSize - childFlexBasis;
|
|
673
696
|
|
|
674
697
|
const float marginMain = currentLineChild->style().computeMarginForAxis(
|
|
@@ -708,14 +731,17 @@ static float distributeFreeSpaceSecondPass(
|
|
|
708
731
|
? SizingMode::MaxContent
|
|
709
732
|
: SizingMode::FitContent;
|
|
710
733
|
} else {
|
|
711
|
-
childCrossSize =
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
734
|
+
childCrossSize = currentLineChild
|
|
735
|
+
->getResolvedDimension(
|
|
736
|
+
direction,
|
|
737
|
+
dimension(crossAxis),
|
|
738
|
+
availableInnerCrossDim,
|
|
739
|
+
availableInnerWidth)
|
|
740
|
+
.unwrap() +
|
|
715
741
|
marginCross;
|
|
716
742
|
const bool isLoosePercentageMeasurement =
|
|
717
|
-
currentLineChild->
|
|
718
|
-
|
|
743
|
+
currentLineChild->getProcessedDimension(dimension(crossAxis))
|
|
744
|
+
.unit() == Unit::Percent &&
|
|
719
745
|
sizingModeCrossDim != SizingMode::StretchFit;
|
|
720
746
|
childCrossSizingMode =
|
|
721
747
|
yoga::isUndefined(childCrossSize) || isLoosePercentageMeasurement
|
|
@@ -725,6 +751,7 @@ static float distributeFreeSpaceSecondPass(
|
|
|
725
751
|
|
|
726
752
|
constrainMaxSizeForMode(
|
|
727
753
|
currentLineChild,
|
|
754
|
+
direction,
|
|
728
755
|
mainAxis,
|
|
729
756
|
availableInnerMainDim,
|
|
730
757
|
availableInnerWidth,
|
|
@@ -732,6 +759,7 @@ static float distributeFreeSpaceSecondPass(
|
|
|
732
759
|
&childMainSize);
|
|
733
760
|
constrainMaxSizeForMode(
|
|
734
761
|
currentLineChild,
|
|
762
|
+
direction,
|
|
735
763
|
crossAxis,
|
|
736
764
|
availableInnerCrossDim,
|
|
737
765
|
availableInnerWidth,
|
|
@@ -757,20 +785,6 @@ static float distributeFreeSpaceSecondPass(
|
|
|
757
785
|
const bool isLayoutPass = performLayout && !requiresStretchLayout;
|
|
758
786
|
// Recursively call the layout algorithm for this child with the updated
|
|
759
787
|
// main size.
|
|
760
|
-
|
|
761
|
-
yoga::assertFatalWithNode(
|
|
762
|
-
currentLineChild,
|
|
763
|
-
yoga::isUndefined(childMainSize)
|
|
764
|
-
? childMainSizingMode == SizingMode::MaxContent
|
|
765
|
-
: true,
|
|
766
|
-
"childMainSize is undefined so childMainSizingMode must be MaxContent");
|
|
767
|
-
yoga::assertFatalWithNode(
|
|
768
|
-
currentLineChild,
|
|
769
|
-
yoga::isUndefined(childCrossSize)
|
|
770
|
-
? childCrossSizingMode == SizingMode::MaxContent
|
|
771
|
-
: true,
|
|
772
|
-
"childCrossSize is undefined so childCrossSizingMode must be MaxContent");
|
|
773
|
-
|
|
774
788
|
calculateLayoutInternal(
|
|
775
789
|
currentLineChild,
|
|
776
790
|
childWidth,
|
|
@@ -800,7 +814,8 @@ static void distributeFreeSpaceFirstPass(
|
|
|
800
814
|
FlexLine& flexLine,
|
|
801
815
|
const Direction direction,
|
|
802
816
|
const FlexDirection mainAxis,
|
|
803
|
-
const float
|
|
817
|
+
const float ownerWidth,
|
|
818
|
+
const float mainAxisOwnerSize,
|
|
804
819
|
const float availableInnerMainDim,
|
|
805
820
|
const float availableInnerWidth) {
|
|
806
821
|
float flexShrinkScaledFactor = 0;
|
|
@@ -812,9 +827,11 @@ static void distributeFreeSpaceFirstPass(
|
|
|
812
827
|
for (auto currentLineChild : flexLine.itemsInFlow) {
|
|
813
828
|
float childFlexBasis = boundAxisWithinMinAndMax(
|
|
814
829
|
currentLineChild,
|
|
830
|
+
direction,
|
|
815
831
|
mainAxis,
|
|
816
832
|
currentLineChild->getLayout().computedFlexBasis,
|
|
817
|
-
|
|
833
|
+
mainAxisOwnerSize,
|
|
834
|
+
ownerWidth)
|
|
818
835
|
.unwrap();
|
|
819
836
|
|
|
820
837
|
if (flexLine.layout.remainingFreeSpace < 0) {
|
|
@@ -908,7 +925,8 @@ static void resolveFlexibleLength(
|
|
|
908
925
|
const FlexDirection mainAxis,
|
|
909
926
|
const FlexDirection crossAxis,
|
|
910
927
|
const Direction direction,
|
|
911
|
-
const float
|
|
928
|
+
const float ownerWidth,
|
|
929
|
+
const float mainAxisOwnerSize,
|
|
912
930
|
const float availableInnerMainDim,
|
|
913
931
|
const float availableInnerCrossDim,
|
|
914
932
|
const float availableInnerWidth,
|
|
@@ -925,7 +943,8 @@ static void resolveFlexibleLength(
|
|
|
925
943
|
flexLine,
|
|
926
944
|
direction,
|
|
927
945
|
mainAxis,
|
|
928
|
-
|
|
946
|
+
ownerWidth,
|
|
947
|
+
mainAxisOwnerSize,
|
|
929
948
|
availableInnerMainDim,
|
|
930
949
|
availableInnerWidth);
|
|
931
950
|
|
|
@@ -936,7 +955,8 @@ static void resolveFlexibleLength(
|
|
|
936
955
|
mainAxis,
|
|
937
956
|
crossAxis,
|
|
938
957
|
direction,
|
|
939
|
-
|
|
958
|
+
ownerWidth,
|
|
959
|
+
mainAxisOwnerSize,
|
|
940
960
|
availableInnerMainDim,
|
|
941
961
|
availableInnerCrossDim,
|
|
942
962
|
availableInnerWidth,
|
|
@@ -954,13 +974,12 @@ static void resolveFlexibleLength(
|
|
|
954
974
|
static void justifyMainAxis(
|
|
955
975
|
yoga::Node* const node,
|
|
956
976
|
FlexLine& flexLine,
|
|
957
|
-
const size_t startOfLineIndex,
|
|
958
977
|
const FlexDirection mainAxis,
|
|
959
978
|
const FlexDirection crossAxis,
|
|
960
979
|
const Direction direction,
|
|
961
980
|
const SizingMode sizingModeMainDim,
|
|
962
981
|
const SizingMode sizingModeCrossDim,
|
|
963
|
-
const float
|
|
982
|
+
const float mainAxisOwnerSize,
|
|
964
983
|
const float ownerWidth,
|
|
965
984
|
const float availableInnerMainDim,
|
|
966
985
|
const float availableInnerCrossDim,
|
|
@@ -982,8 +1001,9 @@ static void justifyMainAxis(
|
|
|
982
1001
|
if (sizingModeMainDim == SizingMode::FitContent &&
|
|
983
1002
|
flexLine.layout.remainingFreeSpace > 0) {
|
|
984
1003
|
if (style.minDimension(dimension(mainAxis)).isDefined() &&
|
|
985
|
-
style
|
|
986
|
-
.
|
|
1004
|
+
style
|
|
1005
|
+
.resolvedMinDimension(
|
|
1006
|
+
direction, dimension(mainAxis), mainAxisOwnerSize, ownerWidth)
|
|
987
1007
|
.isDefined()) {
|
|
988
1008
|
// This condition makes sure that if the size of main dimension(after
|
|
989
1009
|
// considering child nodes main dim, leading and trailing padding etc)
|
|
@@ -992,9 +1012,11 @@ static void justifyMainAxis(
|
|
|
992
1012
|
|
|
993
1013
|
// `minAvailableMainDim` denotes minimum available space in which child
|
|
994
1014
|
// can be laid out, it will exclude space consumed by padding and border.
|
|
995
|
-
const float minAvailableMainDim =
|
|
996
|
-
|
|
997
|
-
|
|
1015
|
+
const float minAvailableMainDim =
|
|
1016
|
+
style
|
|
1017
|
+
.resolvedMinDimension(
|
|
1018
|
+
direction, dimension(mainAxis), mainAxisOwnerSize, ownerWidth)
|
|
1019
|
+
.unwrap() -
|
|
998
1020
|
leadingPaddingAndBorderMain - trailingPaddingAndBorderMain;
|
|
999
1021
|
const float occupiedSpaceByChildNodes =
|
|
1000
1022
|
availableInnerMainDim - flexLine.layout.remainingFreeSpace;
|
|
@@ -1051,102 +1073,69 @@ static void justifyMainAxis(
|
|
|
1051
1073
|
float maxAscentForCurrentLine = 0;
|
|
1052
1074
|
float maxDescentForCurrentLine = 0;
|
|
1053
1075
|
bool isNodeBaselineLayout = isBaselineLayout(node);
|
|
1054
|
-
for (
|
|
1055
|
-
const auto child = node->getChild(i);
|
|
1056
|
-
const Style& childStyle = child->style();
|
|
1076
|
+
for (auto child : flexLine.itemsInFlow) {
|
|
1057
1077
|
const LayoutResults& childLayout = child->getLayout();
|
|
1058
|
-
if (
|
|
1059
|
-
|
|
1078
|
+
if (child->style().flexStartMarginIsAuto(mainAxis, direction) &&
|
|
1079
|
+
flexLine.layout.remainingFreeSpace > 0.0f) {
|
|
1080
|
+
flexLine.layout.mainDim += flexLine.layout.remainingFreeSpace /
|
|
1081
|
+
static_cast<float>(flexLine.numberOfAutoMargins);
|
|
1060
1082
|
}
|
|
1061
|
-
if (childStyle.positionType() == PositionType::Absolute &&
|
|
1062
|
-
child->style().isFlexStartPositionDefined(mainAxis, direction) &&
|
|
1063
|
-
!child->style().isFlexStartPositionAuto(mainAxis, direction)) {
|
|
1064
|
-
if (performLayout) {
|
|
1065
|
-
// In case the child is position absolute and has left/top being
|
|
1066
|
-
// defined, we override the position to whatever the user said (and
|
|
1067
|
-
// margin/border).
|
|
1068
|
-
child->setLayoutPosition(
|
|
1069
|
-
child->style().computeFlexStartPosition(
|
|
1070
|
-
mainAxis, direction, availableInnerMainDim) +
|
|
1071
|
-
node->style().computeFlexStartBorder(mainAxis, direction) +
|
|
1072
|
-
child->style().computeFlexStartMargin(
|
|
1073
|
-
mainAxis, direction, availableInnerWidth),
|
|
1074
|
-
flexStartEdge(mainAxis));
|
|
1075
|
-
}
|
|
1076
|
-
} else {
|
|
1077
|
-
// Now that we placed the element, we need to update the variables.
|
|
1078
|
-
// We need to do that only for relative elements. Absolute elements do not
|
|
1079
|
-
// take part in that phase.
|
|
1080
|
-
if (childStyle.positionType() != PositionType::Absolute) {
|
|
1081
|
-
if (child->style().flexStartMarginIsAuto(mainAxis, direction) &&
|
|
1082
|
-
flexLine.layout.remainingFreeSpace > 0.0f) {
|
|
1083
|
-
flexLine.layout.mainDim += flexLine.layout.remainingFreeSpace /
|
|
1084
|
-
static_cast<float>(flexLine.numberOfAutoMargins);
|
|
1085
|
-
}
|
|
1086
1083
|
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
if (child != flexLine.itemsInFlow.back()) {
|
|
1095
|
-
flexLine.layout.mainDim += betweenMainDim;
|
|
1096
|
-
}
|
|
1084
|
+
if (performLayout) {
|
|
1085
|
+
child->setLayoutPosition(
|
|
1086
|
+
childLayout.position(flexStartEdge(mainAxis)) +
|
|
1087
|
+
flexLine.layout.mainDim,
|
|
1088
|
+
flexStartEdge(mainAxis));
|
|
1089
|
+
}
|
|
1097
1090
|
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
static_cast<float>(flexLine.numberOfAutoMargins);
|
|
1102
|
-
}
|
|
1103
|
-
bool canSkipFlex =
|
|
1104
|
-
!performLayout && sizingModeCrossDim == SizingMode::StretchFit;
|
|
1105
|
-
if (canSkipFlex) {
|
|
1106
|
-
// If we skipped the flex step, then we can't rely on the measuredDims
|
|
1107
|
-
// because they weren't computed. This means we can't call
|
|
1108
|
-
// dimensionWithMargin.
|
|
1109
|
-
flexLine.layout.mainDim += child->style().computeMarginForAxis(
|
|
1110
|
-
mainAxis, availableInnerWidth) +
|
|
1111
|
-
childLayout.computedFlexBasis.unwrap();
|
|
1112
|
-
flexLine.layout.crossDim = availableInnerCrossDim;
|
|
1113
|
-
} else {
|
|
1114
|
-
// The main dimension is the sum of all the elements dimension plus
|
|
1115
|
-
// the spacing.
|
|
1116
|
-
flexLine.layout.mainDim +=
|
|
1117
|
-
child->dimensionWithMargin(mainAxis, availableInnerWidth);
|
|
1118
|
-
|
|
1119
|
-
if (isNodeBaselineLayout) {
|
|
1120
|
-
// If the child is baseline aligned then the cross dimension is
|
|
1121
|
-
// calculated by adding maxAscent and maxDescent from the baseline.
|
|
1122
|
-
const float ascent = calculateBaseline(child) +
|
|
1123
|
-
child->style().computeFlexStartMargin(
|
|
1124
|
-
FlexDirection::Column, direction, availableInnerWidth);
|
|
1125
|
-
const float descent =
|
|
1126
|
-
child->getLayout().measuredDimension(Dimension::Height) +
|
|
1127
|
-
child->style().computeMarginForAxis(
|
|
1128
|
-
FlexDirection::Column, availableInnerWidth) -
|
|
1129
|
-
ascent;
|
|
1091
|
+
if (child != flexLine.itemsInFlow.back()) {
|
|
1092
|
+
flexLine.layout.mainDim += betweenMainDim;
|
|
1093
|
+
}
|
|
1130
1094
|
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1095
|
+
if (child->style().flexEndMarginIsAuto(mainAxis, direction) &&
|
|
1096
|
+
flexLine.layout.remainingFreeSpace > 0.0f) {
|
|
1097
|
+
flexLine.layout.mainDim += flexLine.layout.remainingFreeSpace /
|
|
1098
|
+
static_cast<float>(flexLine.numberOfAutoMargins);
|
|
1099
|
+
}
|
|
1100
|
+
bool canSkipFlex =
|
|
1101
|
+
!performLayout && sizingModeCrossDim == SizingMode::StretchFit;
|
|
1102
|
+
if (canSkipFlex) {
|
|
1103
|
+
// If we skipped the flex step, then we can't rely on the measuredDims
|
|
1104
|
+
// because they weren't computed. This means we can't call
|
|
1105
|
+
// dimensionWithMargin.
|
|
1106
|
+
flexLine.layout.mainDim +=
|
|
1107
|
+
child->style().computeMarginForAxis(mainAxis, availableInnerWidth) +
|
|
1108
|
+
childLayout.computedFlexBasis.unwrap();
|
|
1109
|
+
flexLine.layout.crossDim = availableInnerCrossDim;
|
|
1110
|
+
} else {
|
|
1111
|
+
// The main dimension is the sum of all the elements dimension plus
|
|
1112
|
+
// the spacing.
|
|
1113
|
+
flexLine.layout.mainDim +=
|
|
1114
|
+
child->dimensionWithMargin(mainAxis, availableInnerWidth);
|
|
1115
|
+
|
|
1116
|
+
if (isNodeBaselineLayout) {
|
|
1117
|
+
// If the child is baseline aligned then the cross dimension is
|
|
1118
|
+
// calculated by adding maxAscent and maxDescent from the baseline.
|
|
1119
|
+
const float ascent = calculateBaseline(child) +
|
|
1120
|
+
child->style().computeFlexStartMargin(
|
|
1121
|
+
FlexDirection::Column, direction, availableInnerWidth);
|
|
1122
|
+
const float descent =
|
|
1123
|
+
child->getLayout().measuredDimension(Dimension::Height) +
|
|
1124
|
+
child->style().computeMarginForAxis(
|
|
1125
|
+
FlexDirection::Column, availableInnerWidth) -
|
|
1126
|
+
ascent;
|
|
1127
|
+
|
|
1128
|
+
maxAscentForCurrentLine =
|
|
1129
|
+
yoga::maxOrDefined(maxAscentForCurrentLine, ascent);
|
|
1130
|
+
maxDescentForCurrentLine =
|
|
1131
|
+
yoga::maxOrDefined(maxDescentForCurrentLine, descent);
|
|
1132
|
+
} else {
|
|
1133
|
+
// The cross dimension is the max of the elements dimension since
|
|
1134
|
+
// there can only be one element in that cross dimension in the case
|
|
1135
|
+
// when the items are not baseline aligned
|
|
1136
|
+
flexLine.layout.crossDim = yoga::maxOrDefined(
|
|
1137
|
+
flexLine.layout.crossDim,
|
|
1138
|
+
child->dimensionWithMargin(crossAxis, availableInnerWidth));
|
|
1150
1139
|
}
|
|
1151
1140
|
}
|
|
1152
1141
|
}
|
|
@@ -1317,10 +1306,14 @@ static void calculateLayoutImpl(
|
|
|
1317
1306
|
ownerHeight,
|
|
1318
1307
|
layoutMarkerData,
|
|
1319
1308
|
reason);
|
|
1309
|
+
|
|
1310
|
+
// Clean and update all display: contents nodes with a direct path to the
|
|
1311
|
+
// current node as they will not be traversed
|
|
1312
|
+
cleanupContentsNodesRecursively(node);
|
|
1320
1313
|
return;
|
|
1321
1314
|
}
|
|
1322
1315
|
|
|
1323
|
-
const auto childCount = node->
|
|
1316
|
+
const auto childCount = node->getLayoutChildCount();
|
|
1324
1317
|
if (childCount == 0) {
|
|
1325
1318
|
measureNodeWithoutChildren(
|
|
1326
1319
|
node,
|
|
@@ -1331,6 +1324,10 @@ static void calculateLayoutImpl(
|
|
|
1331
1324
|
heightSizingMode,
|
|
1332
1325
|
ownerWidth,
|
|
1333
1326
|
ownerHeight);
|
|
1327
|
+
|
|
1328
|
+
// Clean and update all display: contents nodes with a direct path to the
|
|
1329
|
+
// current node as they will not be traversed
|
|
1330
|
+
cleanupContentsNodesRecursively(node);
|
|
1334
1331
|
return;
|
|
1335
1332
|
}
|
|
1336
1333
|
|
|
@@ -1346,6 +1343,9 @@ static void calculateLayoutImpl(
|
|
|
1346
1343
|
heightSizingMode,
|
|
1347
1344
|
ownerWidth,
|
|
1348
1345
|
ownerHeight)) {
|
|
1346
|
+
// Clean and update all display: contents nodes with a direct path to the
|
|
1347
|
+
// current node as they will not be traversed
|
|
1348
|
+
cleanupContentsNodesRecursively(node);
|
|
1349
1349
|
return;
|
|
1350
1350
|
}
|
|
1351
1351
|
|
|
@@ -1355,6 +1355,10 @@ static void calculateLayoutImpl(
|
|
|
1355
1355
|
// Reset layout flags, as they could have changed.
|
|
1356
1356
|
node->setLayoutHadOverflow(false);
|
|
1357
1357
|
|
|
1358
|
+
// Clean and update all display: contents nodes with a direct path to the
|
|
1359
|
+
// current node as they will not be traversed
|
|
1360
|
+
cleanupContentsNodesRecursively(node);
|
|
1361
|
+
|
|
1358
1362
|
// STEP 1: CALCULATE VALUES FOR REMAINDER OF ALGORITHM
|
|
1359
1363
|
const FlexDirection mainAxis =
|
|
1360
1364
|
resolveDirection(node->style().flexDirection(), direction);
|
|
@@ -1362,8 +1366,8 @@ static void calculateLayoutImpl(
|
|
|
1362
1366
|
const bool isMainAxisRow = isRow(mainAxis);
|
|
1363
1367
|
const bool isNodeFlexWrap = node->style().flexWrap() != Wrap::NoWrap;
|
|
1364
1368
|
|
|
1365
|
-
const float
|
|
1366
|
-
const float
|
|
1369
|
+
const float mainAxisOwnerSize = isMainAxisRow ? ownerWidth : ownerHeight;
|
|
1370
|
+
const float crossAxisOwnerSize = isMainAxisRow ? ownerHeight : ownerWidth;
|
|
1367
1371
|
|
|
1368
1372
|
const float paddingAndBorderAxisMain =
|
|
1369
1373
|
paddingAndBorderForAxis(node, mainAxis, direction, ownerWidth);
|
|
@@ -1387,16 +1391,20 @@ static void calculateLayoutImpl(
|
|
|
1387
1391
|
|
|
1388
1392
|
float availableInnerWidth = calculateAvailableInnerDimension(
|
|
1389
1393
|
node,
|
|
1394
|
+
direction,
|
|
1390
1395
|
Dimension::Width,
|
|
1391
1396
|
availableWidth - marginAxisRow,
|
|
1392
1397
|
paddingAndBorderAxisRow,
|
|
1398
|
+
ownerWidth,
|
|
1393
1399
|
ownerWidth);
|
|
1394
1400
|
float availableInnerHeight = calculateAvailableInnerDimension(
|
|
1395
1401
|
node,
|
|
1402
|
+
direction,
|
|
1396
1403
|
Dimension::Height,
|
|
1397
1404
|
availableHeight - marginAxisColumn,
|
|
1398
1405
|
paddingAndBorderAxisColumn,
|
|
1399
|
-
ownerHeight
|
|
1406
|
+
ownerHeight,
|
|
1407
|
+
ownerWidth);
|
|
1400
1408
|
|
|
1401
1409
|
float availableInnerMainDim =
|
|
1402
1410
|
isMainAxisRow ? availableInnerWidth : availableInnerHeight;
|
|
@@ -1436,9 +1444,9 @@ static void calculateLayoutImpl(
|
|
|
1436
1444
|
}
|
|
1437
1445
|
// STEP 4: COLLECT FLEX ITEMS INTO FLEX LINES
|
|
1438
1446
|
|
|
1439
|
-
//
|
|
1440
|
-
|
|
1441
|
-
|
|
1447
|
+
// Iterator representing the beginning of the current line
|
|
1448
|
+
Node::LayoutableChildren::Iterator startOfLineIterator =
|
|
1449
|
+
node->getLayoutChildren().begin();
|
|
1442
1450
|
|
|
1443
1451
|
// Number of lines.
|
|
1444
1452
|
size_t lineCount = 0;
|
|
@@ -1451,19 +1459,17 @@ static void calculateLayoutImpl(
|
|
|
1451
1459
|
|
|
1452
1460
|
// Max main dimension of all the lines.
|
|
1453
1461
|
float maxLineMainDim = 0;
|
|
1454
|
-
for (;
|
|
1455
|
-
lineCount++, startOfLineIndex = endOfLineIndex) {
|
|
1462
|
+
for (; startOfLineIterator != node->getLayoutChildren().end(); lineCount++) {
|
|
1456
1463
|
auto flexLine = calculateFlexLine(
|
|
1457
1464
|
node,
|
|
1458
1465
|
ownerDirection,
|
|
1459
|
-
|
|
1466
|
+
ownerWidth,
|
|
1467
|
+
mainAxisOwnerSize,
|
|
1460
1468
|
availableInnerWidth,
|
|
1461
1469
|
availableInnerMainDim,
|
|
1462
|
-
|
|
1470
|
+
startOfLineIterator,
|
|
1463
1471
|
lineCount);
|
|
1464
1472
|
|
|
1465
|
-
endOfLineIndex = flexLine.endOfLineIndex;
|
|
1466
|
-
|
|
1467
1473
|
// If we don't need to measure the cross axis, we can skip the entire flex
|
|
1468
1474
|
// step.
|
|
1469
1475
|
const bool canSkipFlex =
|
|
@@ -1480,16 +1486,28 @@ static void calculateLayoutImpl(
|
|
|
1480
1486
|
if (sizingModeMainDim != SizingMode::StretchFit) {
|
|
1481
1487
|
const auto& style = node->style();
|
|
1482
1488
|
const float minInnerWidth =
|
|
1483
|
-
style
|
|
1489
|
+
style
|
|
1490
|
+
.resolvedMinDimension(
|
|
1491
|
+
direction, Dimension::Width, ownerWidth, ownerWidth)
|
|
1492
|
+
.unwrap() -
|
|
1484
1493
|
paddingAndBorderAxisRow;
|
|
1485
1494
|
const float maxInnerWidth =
|
|
1486
|
-
style
|
|
1495
|
+
style
|
|
1496
|
+
.resolvedMaxDimension(
|
|
1497
|
+
direction, Dimension::Width, ownerWidth, ownerWidth)
|
|
1498
|
+
.unwrap() -
|
|
1487
1499
|
paddingAndBorderAxisRow;
|
|
1488
1500
|
const float minInnerHeight =
|
|
1489
|
-
style
|
|
1501
|
+
style
|
|
1502
|
+
.resolvedMinDimension(
|
|
1503
|
+
direction, Dimension::Height, ownerHeight, ownerWidth)
|
|
1504
|
+
.unwrap() -
|
|
1490
1505
|
paddingAndBorderAxisColumn;
|
|
1491
1506
|
const float maxInnerHeight =
|
|
1492
|
-
style
|
|
1507
|
+
style
|
|
1508
|
+
.resolvedMaxDimension(
|
|
1509
|
+
direction, Dimension::Height, ownerHeight, ownerWidth)
|
|
1510
|
+
.unwrap() -
|
|
1493
1511
|
paddingAndBorderAxisColumn;
|
|
1494
1512
|
|
|
1495
1513
|
const float minInnerMainDim =
|
|
@@ -1541,7 +1559,8 @@ static void calculateLayoutImpl(
|
|
|
1541
1559
|
mainAxis,
|
|
1542
1560
|
crossAxis,
|
|
1543
1561
|
direction,
|
|
1544
|
-
|
|
1562
|
+
ownerWidth,
|
|
1563
|
+
mainAxisOwnerSize,
|
|
1545
1564
|
availableInnerMainDim,
|
|
1546
1565
|
availableInnerCrossDim,
|
|
1547
1566
|
availableInnerWidth,
|
|
@@ -1568,13 +1587,12 @@ static void calculateLayoutImpl(
|
|
|
1568
1587
|
justifyMainAxis(
|
|
1569
1588
|
node,
|
|
1570
1589
|
flexLine,
|
|
1571
|
-
startOfLineIndex,
|
|
1572
1590
|
mainAxis,
|
|
1573
1591
|
crossAxis,
|
|
1574
1592
|
direction,
|
|
1575
1593
|
sizingModeMainDim,
|
|
1576
1594
|
sizingModeCrossDim,
|
|
1577
|
-
|
|
1595
|
+
mainAxisOwnerSize,
|
|
1578
1596
|
ownerWidth,
|
|
1579
1597
|
availableInnerMainDim,
|
|
1580
1598
|
availableInnerCrossDim,
|
|
@@ -1591,7 +1609,7 @@ static void calculateLayoutImpl(
|
|
|
1591
1609
|
crossAxis,
|
|
1592
1610
|
direction,
|
|
1593
1611
|
flexLine.layout.crossDim + paddingAndBorderAxisCross,
|
|
1594
|
-
|
|
1612
|
+
crossAxisOwnerSize,
|
|
1595
1613
|
ownerWidth) -
|
|
1596
1614
|
paddingAndBorderAxisCross;
|
|
1597
1615
|
}
|
|
@@ -1612,7 +1630,7 @@ static void calculateLayoutImpl(
|
|
|
1612
1630
|
crossAxis,
|
|
1613
1631
|
direction,
|
|
1614
1632
|
flexLine.layout.crossDim + paddingAndBorderAxisCross,
|
|
1615
|
-
|
|
1633
|
+
crossAxisOwnerSize,
|
|
1616
1634
|
ownerWidth) -
|
|
1617
1635
|
paddingAndBorderAxisCross;
|
|
1618
1636
|
}
|
|
@@ -1620,149 +1638,116 @@ static void calculateLayoutImpl(
|
|
|
1620
1638
|
// STEP 7: CROSS-AXIS ALIGNMENT
|
|
1621
1639
|
// We can skip child alignment if we're just measuring the container.
|
|
1622
1640
|
if (performLayout) {
|
|
1623
|
-
for (
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
child->
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1641
|
+
for (auto child : flexLine.itemsInFlow) {
|
|
1642
|
+
float leadingCrossDim = leadingPaddingAndBorderCross;
|
|
1643
|
+
|
|
1644
|
+
// For a relative children, we're either using alignItems (owner) or
|
|
1645
|
+
// alignSelf (child) in order to determine the position in the cross
|
|
1646
|
+
// axis
|
|
1647
|
+
const Align alignItem = resolveChildAlignment(node, child);
|
|
1648
|
+
|
|
1649
|
+
// If the child uses align stretch, we need to lay it out one more
|
|
1650
|
+
// time, this time forcing the cross-axis size to be the computed
|
|
1651
|
+
// cross size for the current line.
|
|
1652
|
+
if (alignItem == Align::Stretch &&
|
|
1653
|
+
!child->style().flexStartMarginIsAuto(crossAxis, direction) &&
|
|
1654
|
+
!child->style().flexEndMarginIsAuto(crossAxis, direction)) {
|
|
1655
|
+
// If the child defines a definite size for its cross axis, there's
|
|
1656
|
+
// no need to stretch.
|
|
1657
|
+
if (!child->hasDefiniteLength(
|
|
1658
|
+
dimension(crossAxis), availableInnerCrossDim)) {
|
|
1659
|
+
float childMainSize =
|
|
1660
|
+
child->getLayout().measuredDimension(dimension(mainAxis));
|
|
1661
|
+
const auto& childStyle = child->style();
|
|
1662
|
+
float childCrossSize = childStyle.aspectRatio().isDefined()
|
|
1663
|
+
? child->style().computeMarginForAxis(
|
|
1664
|
+
crossAxis, availableInnerWidth) +
|
|
1665
|
+
(isMainAxisRow
|
|
1666
|
+
? childMainSize / childStyle.aspectRatio().unwrap()
|
|
1667
|
+
: childMainSize * childStyle.aspectRatio().unwrap())
|
|
1668
|
+
: flexLine.layout.crossDim;
|
|
1669
|
+
|
|
1670
|
+
childMainSize += child->style().computeMarginForAxis(
|
|
1671
|
+
mainAxis, availableInnerWidth);
|
|
1672
|
+
|
|
1673
|
+
SizingMode childMainSizingMode = SizingMode::StretchFit;
|
|
1674
|
+
SizingMode childCrossSizingMode = SizingMode::StretchFit;
|
|
1675
|
+
constrainMaxSizeForMode(
|
|
1676
|
+
child,
|
|
1677
|
+
direction,
|
|
1678
|
+
mainAxis,
|
|
1679
|
+
availableInnerMainDim,
|
|
1680
|
+
availableInnerWidth,
|
|
1681
|
+
&childMainSizingMode,
|
|
1682
|
+
&childMainSize);
|
|
1683
|
+
constrainMaxSizeForMode(
|
|
1684
|
+
child,
|
|
1685
|
+
direction,
|
|
1686
|
+
crossAxis,
|
|
1687
|
+
availableInnerCrossDim,
|
|
1688
|
+
availableInnerWidth,
|
|
1689
|
+
&childCrossSizingMode,
|
|
1690
|
+
&childCrossSize);
|
|
1691
|
+
|
|
1692
|
+
const float childWidth =
|
|
1693
|
+
isMainAxisRow ? childMainSize : childCrossSize;
|
|
1694
|
+
const float childHeight =
|
|
1695
|
+
!isMainAxisRow ? childMainSize : childCrossSize;
|
|
1696
|
+
|
|
1697
|
+
auto alignContent = node->style().alignContent();
|
|
1698
|
+
auto crossAxisDoesNotGrow =
|
|
1699
|
+
alignContent != Align::Stretch && isNodeFlexWrap;
|
|
1700
|
+
const SizingMode childWidthSizingMode =
|
|
1701
|
+
yoga::isUndefined(childWidth) ||
|
|
1702
|
+
(!isMainAxisRow && crossAxisDoesNotGrow)
|
|
1703
|
+
? SizingMode::MaxContent
|
|
1704
|
+
: SizingMode::StretchFit;
|
|
1705
|
+
const SizingMode childHeightSizingMode =
|
|
1706
|
+
yoga::isUndefined(childHeight) ||
|
|
1707
|
+
(isMainAxisRow && crossAxisDoesNotGrow)
|
|
1708
|
+
? SizingMode::MaxContent
|
|
1709
|
+
: SizingMode::StretchFit;
|
|
1710
|
+
|
|
1711
|
+
calculateLayoutInternal(
|
|
1712
|
+
child,
|
|
1713
|
+
childWidth,
|
|
1714
|
+
childHeight,
|
|
1715
|
+
direction,
|
|
1716
|
+
childWidthSizingMode,
|
|
1717
|
+
childHeightSizingMode,
|
|
1718
|
+
availableInnerWidth,
|
|
1719
|
+
availableInnerHeight,
|
|
1720
|
+
true,
|
|
1721
|
+
LayoutPassReason::kStretch,
|
|
1722
|
+
layoutMarkerData,
|
|
1723
|
+
depth,
|
|
1724
|
+
generationCount);
|
|
1654
1725
|
}
|
|
1655
1726
|
} else {
|
|
1656
|
-
float
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
if (!child->hasDefiniteLength(
|
|
1672
|
-
dimension(crossAxis), availableInnerCrossDim)) {
|
|
1673
|
-
float childMainSize =
|
|
1674
|
-
child->getLayout().measuredDimension(dimension(mainAxis));
|
|
1675
|
-
const auto& childStyle = child->style();
|
|
1676
|
-
float childCrossSize = childStyle.aspectRatio().isDefined()
|
|
1677
|
-
? child->style().computeMarginForAxis(
|
|
1678
|
-
crossAxis, availableInnerWidth) +
|
|
1679
|
-
(isMainAxisRow
|
|
1680
|
-
? childMainSize / childStyle.aspectRatio().unwrap()
|
|
1681
|
-
: childMainSize * childStyle.aspectRatio().unwrap())
|
|
1682
|
-
: flexLine.layout.crossDim;
|
|
1683
|
-
|
|
1684
|
-
childMainSize += child->style().computeMarginForAxis(
|
|
1685
|
-
mainAxis, availableInnerWidth);
|
|
1686
|
-
|
|
1687
|
-
SizingMode childMainSizingMode = SizingMode::StretchFit;
|
|
1688
|
-
SizingMode childCrossSizingMode = SizingMode::StretchFit;
|
|
1689
|
-
constrainMaxSizeForMode(
|
|
1690
|
-
child,
|
|
1691
|
-
mainAxis,
|
|
1692
|
-
availableInnerMainDim,
|
|
1693
|
-
availableInnerWidth,
|
|
1694
|
-
&childMainSizingMode,
|
|
1695
|
-
&childMainSize);
|
|
1696
|
-
constrainMaxSizeForMode(
|
|
1697
|
-
child,
|
|
1698
|
-
crossAxis,
|
|
1699
|
-
availableInnerCrossDim,
|
|
1700
|
-
availableInnerWidth,
|
|
1701
|
-
&childCrossSizingMode,
|
|
1702
|
-
&childCrossSize);
|
|
1703
|
-
|
|
1704
|
-
const float childWidth =
|
|
1705
|
-
isMainAxisRow ? childMainSize : childCrossSize;
|
|
1706
|
-
const float childHeight =
|
|
1707
|
-
!isMainAxisRow ? childMainSize : childCrossSize;
|
|
1708
|
-
|
|
1709
|
-
auto alignContent = node->style().alignContent();
|
|
1710
|
-
auto crossAxisDoesNotGrow =
|
|
1711
|
-
alignContent != Align::Stretch && isNodeFlexWrap;
|
|
1712
|
-
const SizingMode childWidthSizingMode =
|
|
1713
|
-
yoga::isUndefined(childWidth) ||
|
|
1714
|
-
(!isMainAxisRow && crossAxisDoesNotGrow)
|
|
1715
|
-
? SizingMode::MaxContent
|
|
1716
|
-
: SizingMode::StretchFit;
|
|
1717
|
-
const SizingMode childHeightSizingMode =
|
|
1718
|
-
yoga::isUndefined(childHeight) ||
|
|
1719
|
-
(isMainAxisRow && crossAxisDoesNotGrow)
|
|
1720
|
-
? SizingMode::MaxContent
|
|
1721
|
-
: SizingMode::StretchFit;
|
|
1722
|
-
|
|
1723
|
-
calculateLayoutInternal(
|
|
1724
|
-
child,
|
|
1725
|
-
childWidth,
|
|
1726
|
-
childHeight,
|
|
1727
|
-
direction,
|
|
1728
|
-
childWidthSizingMode,
|
|
1729
|
-
childHeightSizingMode,
|
|
1730
|
-
availableInnerWidth,
|
|
1731
|
-
availableInnerHeight,
|
|
1732
|
-
true,
|
|
1733
|
-
LayoutPassReason::kStretch,
|
|
1734
|
-
layoutMarkerData,
|
|
1735
|
-
depth,
|
|
1736
|
-
generationCount);
|
|
1737
|
-
}
|
|
1727
|
+
const float remainingCrossDim = containerCrossAxis -
|
|
1728
|
+
child->dimensionWithMargin(crossAxis, availableInnerWidth);
|
|
1729
|
+
|
|
1730
|
+
if (child->style().flexStartMarginIsAuto(crossAxis, direction) &&
|
|
1731
|
+
child->style().flexEndMarginIsAuto(crossAxis, direction)) {
|
|
1732
|
+
leadingCrossDim += yoga::maxOrDefined(0.0f, remainingCrossDim / 2);
|
|
1733
|
+
} else if (child->style().flexEndMarginIsAuto(crossAxis, direction)) {
|
|
1734
|
+
// No-Op
|
|
1735
|
+
} else if (child->style().flexStartMarginIsAuto(
|
|
1736
|
+
crossAxis, direction)) {
|
|
1737
|
+
leadingCrossDim += yoga::maxOrDefined(0.0f, remainingCrossDim);
|
|
1738
|
+
} else if (alignItem == Align::FlexStart) {
|
|
1739
|
+
// No-Op
|
|
1740
|
+
} else if (alignItem == Align::Center) {
|
|
1741
|
+
leadingCrossDim += remainingCrossDim / 2;
|
|
1738
1742
|
} else {
|
|
1739
|
-
|
|
1740
|
-
child->dimensionWithMargin(crossAxis, availableInnerWidth);
|
|
1741
|
-
|
|
1742
|
-
if (child->style().flexStartMarginIsAuto(crossAxis, direction) &&
|
|
1743
|
-
child->style().flexEndMarginIsAuto(crossAxis, direction)) {
|
|
1744
|
-
leadingCrossDim +=
|
|
1745
|
-
yoga::maxOrDefined(0.0f, remainingCrossDim / 2);
|
|
1746
|
-
} else if (child->style().flexEndMarginIsAuto(
|
|
1747
|
-
crossAxis, direction)) {
|
|
1748
|
-
// No-Op
|
|
1749
|
-
} else if (child->style().flexStartMarginIsAuto(
|
|
1750
|
-
crossAxis, direction)) {
|
|
1751
|
-
leadingCrossDim += yoga::maxOrDefined(0.0f, remainingCrossDim);
|
|
1752
|
-
} else if (alignItem == Align::FlexStart) {
|
|
1753
|
-
// No-Op
|
|
1754
|
-
} else if (alignItem == Align::Center) {
|
|
1755
|
-
leadingCrossDim += remainingCrossDim / 2;
|
|
1756
|
-
} else {
|
|
1757
|
-
leadingCrossDim += remainingCrossDim;
|
|
1758
|
-
}
|
|
1743
|
+
leadingCrossDim += remainingCrossDim;
|
|
1759
1744
|
}
|
|
1760
|
-
// And we apply the position
|
|
1761
|
-
child->setLayoutPosition(
|
|
1762
|
-
child->getLayout().position(flexStartEdge(crossAxis)) +
|
|
1763
|
-
totalLineCrossDim + leadingCrossDim,
|
|
1764
|
-
flexStartEdge(crossAxis));
|
|
1765
1745
|
}
|
|
1746
|
+
// And we apply the position
|
|
1747
|
+
child->setLayoutPosition(
|
|
1748
|
+
child->getLayout().position(flexStartEdge(crossAxis)) +
|
|
1749
|
+
totalLineCrossDim + leadingCrossDim,
|
|
1750
|
+
flexStartEdge(crossAxis));
|
|
1766
1751
|
}
|
|
1767
1752
|
}
|
|
1768
1753
|
|
|
@@ -1777,12 +1762,16 @@ static void calculateLayoutImpl(
|
|
|
1777
1762
|
if (performLayout && (isNodeFlexWrap || isBaselineLayout(node))) {
|
|
1778
1763
|
float leadPerLine = 0;
|
|
1779
1764
|
float currentLead = leadingPaddingAndBorderCross;
|
|
1765
|
+
float extraSpacePerLine = 0;
|
|
1780
1766
|
|
|
1781
1767
|
const float unclampedCrossDim = sizingModeCrossDim == SizingMode::StretchFit
|
|
1782
1768
|
? availableInnerCrossDim + paddingAndBorderAxisCross
|
|
1783
|
-
: node->hasDefiniteLength(dimension(crossAxis),
|
|
1784
|
-
? node->getResolvedDimension(
|
|
1785
|
-
|
|
1769
|
+
: node->hasDefiniteLength(dimension(crossAxis), crossAxisOwnerSize)
|
|
1770
|
+
? node->getResolvedDimension(
|
|
1771
|
+
direction,
|
|
1772
|
+
dimension(crossAxis),
|
|
1773
|
+
crossAxisOwnerSize,
|
|
1774
|
+
ownerWidth)
|
|
1786
1775
|
.unwrap()
|
|
1787
1776
|
: totalLineCrossDim + paddingAndBorderAxisCross;
|
|
1788
1777
|
|
|
@@ -1809,7 +1798,8 @@ static void calculateLayoutImpl(
|
|
|
1809
1798
|
currentLead += remainingAlignContentDim / 2;
|
|
1810
1799
|
break;
|
|
1811
1800
|
case Align::Stretch:
|
|
1812
|
-
|
|
1801
|
+
extraSpacePerLine =
|
|
1802
|
+
remainingAlignContentDim / static_cast<float>(lineCount);
|
|
1813
1803
|
break;
|
|
1814
1804
|
case Align::SpaceAround:
|
|
1815
1805
|
currentLead +=
|
|
@@ -1833,17 +1823,18 @@ static void calculateLayoutImpl(
|
|
|
1833
1823
|
case Align::Baseline:
|
|
1834
1824
|
break;
|
|
1835
1825
|
}
|
|
1836
|
-
|
|
1826
|
+
Node::LayoutableChildren::Iterator endIterator =
|
|
1827
|
+
node->getLayoutChildren().begin();
|
|
1837
1828
|
for (size_t i = 0; i < lineCount; i++) {
|
|
1838
|
-
const
|
|
1839
|
-
|
|
1829
|
+
const Node::LayoutableChildren::Iterator startIterator = endIterator;
|
|
1830
|
+
auto iterator = startIterator;
|
|
1840
1831
|
|
|
1841
1832
|
// compute the line's height and find the endIndex
|
|
1842
1833
|
float lineHeight = 0;
|
|
1843
1834
|
float maxAscentForCurrentLine = 0;
|
|
1844
1835
|
float maxDescentForCurrentLine = 0;
|
|
1845
|
-
for (;
|
|
1846
|
-
const auto child =
|
|
1836
|
+
for (; iterator != node->getLayoutChildren().end(); iterator++) {
|
|
1837
|
+
const auto child = *iterator;
|
|
1847
1838
|
if (child->style().display() == Display::None) {
|
|
1848
1839
|
continue;
|
|
1849
1840
|
}
|
|
@@ -1876,11 +1867,12 @@ static void calculateLayoutImpl(
|
|
|
1876
1867
|
}
|
|
1877
1868
|
}
|
|
1878
1869
|
}
|
|
1879
|
-
|
|
1870
|
+
endIterator = iterator;
|
|
1880
1871
|
currentLead += i != 0 ? crossAxisGap : 0;
|
|
1872
|
+
lineHeight += extraSpacePerLine;
|
|
1881
1873
|
|
|
1882
|
-
for (
|
|
1883
|
-
const auto child =
|
|
1874
|
+
for (iterator = startIterator; iterator != endIterator; iterator++) {
|
|
1875
|
+
const auto child = *iterator;
|
|
1884
1876
|
if (child->style().display() == Display::None) {
|
|
1885
1877
|
continue;
|
|
1886
1878
|
}
|
|
@@ -2022,7 +2014,7 @@ static void calculateLayoutImpl(
|
|
|
2022
2014
|
mainAxis,
|
|
2023
2015
|
direction,
|
|
2024
2016
|
maxLineMainDim,
|
|
2025
|
-
|
|
2017
|
+
mainAxisOwnerSize,
|
|
2026
2018
|
ownerWidth),
|
|
2027
2019
|
dimension(mainAxis));
|
|
2028
2020
|
|
|
@@ -2035,9 +2027,11 @@ static void calculateLayoutImpl(
|
|
|
2035
2027
|
availableInnerMainDim + paddingAndBorderAxisMain,
|
|
2036
2028
|
boundAxisWithinMinAndMax(
|
|
2037
2029
|
node,
|
|
2030
|
+
direction,
|
|
2038
2031
|
mainAxis,
|
|
2039
2032
|
FloatOptional{maxLineMainDim},
|
|
2040
|
-
|
|
2033
|
+
mainAxisOwnerSize,
|
|
2034
|
+
ownerWidth)
|
|
2041
2035
|
.unwrap()),
|
|
2042
2036
|
paddingAndBorderAxisMain),
|
|
2043
2037
|
dimension(mainAxis));
|
|
@@ -2054,7 +2048,7 @@ static void calculateLayoutImpl(
|
|
|
2054
2048
|
crossAxis,
|
|
2055
2049
|
direction,
|
|
2056
2050
|
totalLineCrossDim + paddingAndBorderAxisCross,
|
|
2057
|
-
|
|
2051
|
+
crossAxisOwnerSize,
|
|
2058
2052
|
ownerWidth),
|
|
2059
2053
|
dimension(crossAxis));
|
|
2060
2054
|
|
|
@@ -2067,10 +2061,12 @@ static void calculateLayoutImpl(
|
|
|
2067
2061
|
availableInnerCrossDim + paddingAndBorderAxisCross,
|
|
2068
2062
|
boundAxisWithinMinAndMax(
|
|
2069
2063
|
node,
|
|
2064
|
+
direction,
|
|
2070
2065
|
crossAxis,
|
|
2071
2066
|
FloatOptional{
|
|
2072
2067
|
totalLineCrossDim + paddingAndBorderAxisCross},
|
|
2073
|
-
|
|
2068
|
+
crossAxisOwnerSize,
|
|
2069
|
+
ownerWidth)
|
|
2074
2070
|
.unwrap()),
|
|
2075
2071
|
paddingAndBorderAxisCross),
|
|
2076
2072
|
dimension(crossAxis));
|
|
@@ -2079,8 +2075,7 @@ static void calculateLayoutImpl(
|
|
|
2079
2075
|
// As we only wrapped in normal direction yet, we need to reverse the
|
|
2080
2076
|
// positions on wrap-reverse.
|
|
2081
2077
|
if (performLayout && node->style().flexWrap() == Wrap::WrapReverse) {
|
|
2082
|
-
for (
|
|
2083
|
-
const auto child = node->getChild(i);
|
|
2078
|
+
for (auto child : node->getLayoutChildren()) {
|
|
2084
2079
|
if (child->style().positionType() != PositionType::Absolute) {
|
|
2085
2080
|
child->setLayoutPosition(
|
|
2086
2081
|
node->getLayout().measuredDimension(dimension(crossAxis)) -
|
|
@@ -2097,8 +2092,7 @@ static void calculateLayoutImpl(
|
|
|
2097
2092
|
const bool needsCrossTrailingPos = needsTrailingPosition(crossAxis);
|
|
2098
2093
|
|
|
2099
2094
|
if (needsMainTrailingPos || needsCrossTrailingPos) {
|
|
2100
|
-
for (
|
|
2101
|
-
const auto child = node->getChild(i);
|
|
2095
|
+
for (auto child : node->getLayoutChildren()) {
|
|
2102
2096
|
// Absolute children will be handled by their containing block since we
|
|
2103
2097
|
// cannot guarantee that their positions are set when their parents are
|
|
2104
2098
|
// done with layout.
|
|
@@ -2354,21 +2348,29 @@ void calculateLayout(
|
|
|
2354
2348
|
// visit all dirty nodes at least once. Subsequent visits will be skipped if
|
|
2355
2349
|
// the input parameters don't change.
|
|
2356
2350
|
gCurrentGenerationCount.fetch_add(1, std::memory_order_relaxed);
|
|
2357
|
-
node->
|
|
2351
|
+
node->processDimensions();
|
|
2352
|
+
const Direction direction = node->resolveDirection(ownerDirection);
|
|
2358
2353
|
float width = YGUndefined;
|
|
2359
2354
|
SizingMode widthSizingMode = SizingMode::MaxContent;
|
|
2360
2355
|
const auto& style = node->style();
|
|
2361
2356
|
if (node->hasDefiniteLength(Dimension::Width, ownerWidth)) {
|
|
2362
2357
|
width =
|
|
2363
|
-
(node->getResolvedDimension(
|
|
2364
|
-
|
|
2358
|
+
(node->getResolvedDimension(
|
|
2359
|
+
direction,
|
|
2360
|
+
dimension(FlexDirection::Row),
|
|
2361
|
+
ownerWidth,
|
|
2362
|
+
ownerWidth)
|
|
2365
2363
|
.unwrap() +
|
|
2366
2364
|
node->style().computeMarginForAxis(FlexDirection::Row, ownerWidth));
|
|
2367
2365
|
widthSizingMode = SizingMode::StretchFit;
|
|
2368
|
-
} else if (style
|
|
2369
|
-
.
|
|
2366
|
+
} else if (style
|
|
2367
|
+
.resolvedMaxDimension(
|
|
2368
|
+
direction, Dimension::Width, ownerWidth, ownerWidth)
|
|
2370
2369
|
.isDefined()) {
|
|
2371
|
-
width = style
|
|
2370
|
+
width = style
|
|
2371
|
+
.resolvedMaxDimension(
|
|
2372
|
+
direction, Dimension::Width, ownerWidth, ownerWidth)
|
|
2373
|
+
.unwrap();
|
|
2372
2374
|
widthSizingMode = SizingMode::FitContent;
|
|
2373
2375
|
} else {
|
|
2374
2376
|
width = ownerWidth;
|
|
@@ -2380,16 +2382,22 @@ void calculateLayout(
|
|
|
2380
2382
|
SizingMode heightSizingMode = SizingMode::MaxContent;
|
|
2381
2383
|
if (node->hasDefiniteLength(Dimension::Height, ownerHeight)) {
|
|
2382
2384
|
height =
|
|
2383
|
-
(node->getResolvedDimension(
|
|
2384
|
-
|
|
2385
|
+
(node->getResolvedDimension(
|
|
2386
|
+
direction,
|
|
2387
|
+
dimension(FlexDirection::Column),
|
|
2388
|
+
ownerHeight,
|
|
2389
|
+
ownerWidth)
|
|
2385
2390
|
.unwrap() +
|
|
2386
2391
|
node->style().computeMarginForAxis(FlexDirection::Column, ownerWidth));
|
|
2387
2392
|
heightSizingMode = SizingMode::StretchFit;
|
|
2388
|
-
} else if (style
|
|
2389
|
-
.
|
|
2393
|
+
} else if (style
|
|
2394
|
+
.resolvedMaxDimension(
|
|
2395
|
+
direction, Dimension::Height, ownerHeight, ownerWidth)
|
|
2390
2396
|
.isDefined()) {
|
|
2391
|
-
height =
|
|
2392
|
-
|
|
2397
|
+
height = style
|
|
2398
|
+
.resolvedMaxDimension(
|
|
2399
|
+
direction, Dimension::Height, ownerHeight, ownerWidth)
|
|
2400
|
+
.unwrap();
|
|
2393
2401
|
heightSizingMode = SizingMode::FitContent;
|
|
2394
2402
|
} else {
|
|
2395
2403
|
height = ownerHeight;
|