react-native-windows 0.72.13 → 0.73.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +16 -5
- package/Chakra/ChakraHelpers.cpp +1 -1
- package/Chakra/ChakraUtils.cpp +1 -1
- package/Chakra/ChakraValue.h +1 -1
- package/Common/packages.lock.json +13 -0
- package/Directory.Build.props +6 -2
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
- package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
- package/Folly/cgmanifest.json +1 -1
- package/Folly/packages.lock.json +23 -0
- package/Libraries/Animated/Animated.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
- package/Libraries/Animated/NativeAnimatedModule.js +6 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
- package/Libraries/Animated/animations/Animation.js +57 -3
- package/Libraries/Animated/animations/DecayAnimation.js +9 -0
- package/Libraries/Animated/animations/SpringAnimation.js +8 -0
- package/Libraries/Animated/animations/TimingAnimation.js +8 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +1 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
- package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +9 -10
- package/Libraries/AppState/AppState.d.ts +1 -1
- package/Libraries/AppState/NativeAppState.js +8 -4
- package/Libraries/AppTheme/AppTheme.js +5 -5
- package/Libraries/BatchedBridge/MessageQueue.js +45 -36
- package/Libraries/Blob/Blob.js +6 -2
- package/Libraries/Blob/BlobManager.js +9 -10
- package/Libraries/Blob/BlobRegistry.js +14 -9
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/FileReader.js +1 -2
- package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
- package/Libraries/Components/Glyph/Glyph.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
- package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
- package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
- package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Pressable/Pressable.js +3 -2
- package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
- package/Libraries/Components/ScrollView/ScrollView.js +3 -1
- package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
- package/Libraries/Components/Switch/Switch.js +1 -0
- package/Libraries/Components/Switch/Switch.windows.js +259 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
- package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
- package/Libraries/Components/TextInput/TextInput.js +62 -10
- package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
- package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.js +46 -32
- package/Libraries/Components/View/View.windows.js +23 -7
- package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
- package/Libraries/Components/View/ViewNativeComponent.js +1 -0
- package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
- package/Libraries/Components/View/ViewPropTypes.js +18 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
- package/Libraries/Core/ExceptionsManager.js +16 -7
- package/Libraries/Core/ExtendedError.js +12 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
- package/Libraries/Core/setUpDeveloperTools.js +5 -1
- package/Libraries/Core/setUpIntersectionObserver.js +16 -0
- package/Libraries/Core/setUpMutationObserver.js +16 -0
- package/Libraries/Core/setUpPerformance.js +6 -13
- package/Libraries/Core/setUpPerformanceObserver.js +16 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
- package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
- package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
- package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
- package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
- package/Libraries/Image/Image.android.js +8 -2
- package/Libraries/Image/Image.d.ts +1 -1
- package/Libraries/Image/Image.ios.js +4 -1
- package/Libraries/Image/Image.windows.js +6 -3
- package/Libraries/Image/ImageBackground.js +3 -0
- package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
- package/Libraries/Inspector/NetworkOverlay.js +2 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
- package/Libraries/Interaction/PanResponder.js +1 -4
- package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -1
- package/Libraries/Lists/FlatList.js +15 -5
- package/Libraries/Lists/SectionList.js +4 -0
- package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
- package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
- package/Libraries/MutationObserver/MutationObserver.js +184 -0
- package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
- package/Libraries/MutationObserver/MutationRecord.js +82 -0
- package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
- package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
- package/Libraries/Network/RCTNetworking.android.js +2 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
- package/Libraries/Pressability/Pressability.js +28 -3
- package/Libraries/Pressability/Pressability.windows.js +30 -5
- package/Libraries/ReactNative/AppContainer.js +2 -3
- package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
- package/Libraries/ReactNative/AppRegistry.js +66 -53
- package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
- package/Libraries/ReactNative/FabricUIManager.js +143 -34
- package/Libraries/ReactNative/I18nManager.js +5 -11
- package/Libraries/ReactNative/NativeI18nManager.js +7 -5
- package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
- package/Libraries/ReactNative/UIManager.js +8 -0
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
- package/Libraries/Renderer/shims/ReactFabric.js +5 -6
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
- package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
- package/Libraries/Share/Share.d.ts +3 -9
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
- package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
- package/Libraries/StyleSheet/flattenStyle.js +4 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
- package/Libraries/StyleSheet/processColor.js +1 -2
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
- package/Libraries/Text/Text.d.ts +5 -5
- package/Libraries/Text/Text.js +17 -10
- package/Libraries/Text/Text.windows.js +53 -20
- package/Libraries/Text/TextProps.windows.js +275 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CoreEventTypes.d.ts +5 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
- package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
- package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
- package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
- package/Libraries/Utilities/Platform.android.js +12 -8
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.flow.js +84 -0
- package/Libraries/Utilities/Platform.flow.windows.js +111 -0
- package/Libraries/Utilities/Platform.ios.js +12 -8
- package/Libraries/Utilities/Platform.windows.js +12 -8
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +63 -32
- package/Libraries/Utilities/useColorScheme.js +7 -8
- package/Libraries/WebPerformance/MemoryInfo.js +1 -1
- package/Libraries/WebPerformance/NativePerformance.js +3 -8
- package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
- package/Libraries/WebPerformance/Performance.js +42 -15
- package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
- package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
- package/Libraries/__tests__/ViewWindows-test.js +3 -3
- package/Libraries/platform-types.d.ts +6 -2
- package/Libraries/promiseRejectionTrackingOptions.js +1 -3
- package/Libraries/vendor/emitter/EventEmitter.js +20 -18
- package/Microsoft.ReactNative/Composition.Input.idl +103 -0
- package/Microsoft.ReactNative/CompositionContext.idl +31 -8
- package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
- package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
- package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
- package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
- package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
- package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
- package/Microsoft.ReactNative/IReactContext.cpp +1 -1
- package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
- package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
- package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
- package/Microsoft.ReactNative/ReactApplication.h +4 -4
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
- package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
- package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
- package/Microsoft.ReactNative/ReactHost/React.h +3 -6
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
- package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
- package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
- package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
- package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
- package/Microsoft.ReactNative/ReactRootView.h +2 -2
- package/Microsoft.ReactNative/ReactSupport.h +1 -1
- package/Microsoft.ReactNative/RedBox.cpp +1 -1
- package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
- package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
- package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
- package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
- package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
- package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
- package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
- package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
- package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
- package/Microsoft.ReactNative/XamlHelper.h +1 -1
- package/Microsoft.ReactNative/packages.lock.json +128 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
- package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
- package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
- package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
- package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
- package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
- package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
- package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
- package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
- package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
- package/Mso/compilerAdapters/compilerFeatures.h +1 -1
- package/Mso/compilerAdapters/functionDecorations.h +6 -6
- package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
- package/Mso/dispatchQueue/dispatchQueue.h +3 -3
- package/Mso/motifCpp/motifCppTest.h +1 -1
- package/Mso/motifCpp/testCheck.h +1 -1
- package/Mso/oacr/oacr.h +1 -1
- package/Mso/smartPtr/smartPointerBase.h +1 -1
- package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
- package/Mso/src/dispatchQueue/queueService.cpp +1 -1
- package/Mso/src/dispatchQueue/taskQueue.h +1 -1
- package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
- package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
- package/Mso/src/future/futureImpl.cpp +5 -5
- package/Mso/src/future/futureImpl.h +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/HybridCRT.props +34 -0
- package/PropertySheets/JSEngine.props +1 -2
- package/PropertySheets/React.Cpp.props +0 -1
- package/PropertySheets/Warnings.props +1 -1
- package/PropertySheets/WinUI.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +15 -9
- package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
- package/ReactCommon/Yoga.cpp +497 -3895
- package/ReactCommon/packages.lock.json +30 -0
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/rnw-dependencies.ps1 +79 -26
- package/Shared/BaseScriptStoreImpl.cpp +42 -13
- package/Shared/BaseScriptStoreImpl.h +1 -1
- package/Shared/Composition/AutoDraw.h +36 -0
- package/Shared/CxxMessageQueue.cpp +1 -1
- package/Shared/DevSettings.h +3 -0
- package/Shared/DevSupportManager.h +1 -1
- package/Shared/Hasher.cpp +64 -0
- package/Shared/Hasher.h +24 -0
- package/Shared/HermesRuntimeHolder.cpp +6 -6
- package/Shared/IDevSupportManager.h +1 -1
- package/Shared/JSI/ChakraApi.cpp +1 -1
- package/Shared/JSI/ChakraRuntime.cpp +10 -10
- package/Shared/JSI/ChakraRuntime.h +6 -6
- package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
- package/Shared/Modules/IRequestBodyHandler.h +1 -1
- package/Shared/Modules/IUriHandler.h +1 -1
- package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
- package/Shared/Modules/WebSocketModule.cpp +1 -1
- package/Shared/Networking/DefaultBlobResource.cpp +2 -2
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
- package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
- package/Shared/OInstance.cpp +9 -23
- package/Shared/OInstance.h +1 -1
- package/Shared/PackagerConnection.h +1 -1
- package/Shared/SafeLoadLibrary.cpp +8 -44
- package/Shared/SafeLoadLibrary.h +1 -5
- package/Shared/Shared.vcxitems +50 -20
- package/Shared/Shared.vcxitems.filters +26 -17
- package/Shared/Threading/BatchingQueueThread.cpp +5 -5
- package/Shared/Threading/BatchingQueueThread.h +4 -4
- package/Shared/TurboModuleManager.cpp +1 -1
- package/Shared/Utils.cpp +1 -1
- package/Shared/tracing/fbsystrace.h +1 -1
- package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
- package/codegen/NativeAppStateSpec.g.h +11 -21
- package/codegen/NativeDeviceInfoSpec.g.h +4 -14
- package/codegen/NativeI18nManagerSpec.g.h +6 -16
- package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
- package/codegen/NativeMutationObserverSpec.g.h +90 -0
- package/codegen/NativePerformanceObserverSpec.g.h +19 -13
- package/codegen/NativePerformanceSpec.g.h +6 -23
- package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
- package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
- package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
- package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
- package/codegen/NativeSourceCodeSpec.g.h +3 -13
- package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
- package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
- package/codegen/react/components/rnwcore/Props.h +16 -17
- package/codegen/rnwcoreJSI-generated.cpp +1462 -319
- package/codegen/rnwcoreJSI.h +1609 -462
- package/fmt/packages.lock.json +13 -0
- package/index.windows.js +3 -3
- package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
- package/jest/__tests__/setup-test.js +18 -0
- package/jest/mockModal.js +6 -4
- package/jest/setup.js +61 -30
- package/just-task.js +1 -0
- package/package.json +37 -42
- package/template/cs-app/proj/MyApp.csproj +0 -1
- package/template/cs-lib/proj/MyLib.csproj +0 -1
- package/templates/.clang-format +4 -0
- package/templates/cpp-app/metro.config.js +51 -0
- package/templates/cpp-app/template.config.js +119 -0
- package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
- package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
- package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
- package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
- package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
- package/templates/cpp-app/windows/MyApp/pch.h +35 -0
- package/templates/cpp-app/windows/MyApp/resource.h +18 -0
- package/templates/cpp-app/windows/MyApp/small.ico +0 -0
- package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
- package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
- package/templates/cpp-app/windows/MyApp.sln +176 -0
- package/templates/cpp-app/windows/_gitignore +41 -0
- package/templates/old/generateWrapper.js +67 -0
- package/templates/old/uwp-cpp-app/template.config.js +15 -0
- package/templates/old/uwp-cpp-lib/template.config.js +15 -0
- package/templates/old/uwp-cs-app/template.config.js +15 -0
- package/templates/old/uwp-cs-lib/template.config.js +15 -0
- package/types/experimental.d.ts +44 -0
- package/types/index.d.ts +2 -1
- package/types/modules/Devtools.d.ts +1 -0
- package/types/modules/globals.d.ts +16 -1
- package/Libraries/Components/View/ViewWindows.d.ts +0 -19
- package/Libraries/Components/View/ViewWindows.js +0 -22
- package/Libraries/Components/View/ViewWindows.js.map +0 -1
- package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
- package/Libraries/Components/View/ViewWindowsProps.js +0 -8
- package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
- package/Libraries/Utilities/AcessibilityMapping.js +0 -154
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
- package/Libraries/Utilities/useColorScheme.windows.js +0 -26
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
- package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
- package/Shared/V8JSIRuntimeHolder.cpp +0 -71
- package/Shared/V8JSIRuntimeHolder.h +0 -56
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
- package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
- package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
- package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
- package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
- package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
- package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
- /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
- /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
|
@@ -30,7 +30,7 @@ namespace folly {
|
|
|
30
30
|
|
|
31
31
|
// to_ascii_alphabet
|
|
32
32
|
//
|
|
33
|
-
// Used
|
|
33
|
+
// Used implicitly by to_ascii_lower and to_ascii_upper below.
|
|
34
34
|
//
|
|
35
35
|
// This alphabet translates digits to 0-9,a-z or 0-9,A-Z. The largest supported
|
|
36
36
|
// base is 36; operator() presumes an argument less than that.
|
package/Folly/cgmanifest.json
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"dependencies": {
|
|
4
|
+
"native,Version=v0.0": {
|
|
5
|
+
"boost": {
|
|
6
|
+
"type": "Direct",
|
|
7
|
+
"requested": "[1.76.0, )",
|
|
8
|
+
"resolved": "1.76.0",
|
|
9
|
+
"contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
|
|
10
|
+
},
|
|
11
|
+
"fmt": {
|
|
12
|
+
"type": "Project"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"native,Version=v0.0/win10-arm": {},
|
|
16
|
+
"native,Version=v0.0/win10-arm-aot": {},
|
|
17
|
+
"native,Version=v0.0/win10-arm64-aot": {},
|
|
18
|
+
"native,Version=v0.0/win10-x64": {},
|
|
19
|
+
"native,Version=v0.0/win10-x64-aot": {},
|
|
20
|
+
"native,Version=v0.0/win10-x86": {},
|
|
21
|
+
"native,Version=v0.0/win10-x86-aot": {}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -21,7 +21,7 @@ import Platform from '../Utilities/Platform';
|
|
|
21
21
|
import AnimatedImplementation from './AnimatedImplementation';
|
|
22
22
|
import AnimatedMock from './AnimatedMock';
|
|
23
23
|
|
|
24
|
-
const Animated = ((Platform.
|
|
24
|
+
const Animated = ((Platform.isDisableAnimations
|
|
25
25
|
? AnimatedMock
|
|
26
26
|
: AnimatedImplementation): typeof AnimatedImplementation);
|
|
27
27
|
|
|
@@ -378,7 +378,7 @@ const parallel = function (
|
|
|
378
378
|
}
|
|
379
379
|
|
|
380
380
|
animations.forEach((animation, idx) => {
|
|
381
|
-
const cb = function (endResult: EndResult
|
|
381
|
+
const cb = function (endResult: EndResult) {
|
|
382
382
|
hasEnded[idx] = true;
|
|
383
383
|
doneCount++;
|
|
384
384
|
if (doneCount === animations.length) {
|
|
@@ -28,9 +28,7 @@ import invariant from 'invariant';
|
|
|
28
28
|
|
|
29
29
|
// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.
|
|
30
30
|
const NativeAnimatedModule =
|
|
31
|
-
|
|
32
|
-
? NativeAnimatedTurboModule
|
|
33
|
-
: NativeAnimatedNonTurboModule;
|
|
31
|
+
NativeAnimatedNonTurboModule ?? NativeAnimatedTurboModule;
|
|
34
32
|
|
|
35
33
|
let __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */
|
|
36
34
|
let __nativeAnimationIdCount = 1; /* used for started animations */
|
|
@@ -425,6 +423,9 @@ const SUPPORTED_TRANSFORMS = {
|
|
|
425
423
|
rotateY: true,
|
|
426
424
|
rotateZ: true,
|
|
427
425
|
perspective: true,
|
|
426
|
+
skewX: true,
|
|
427
|
+
skewY: true,
|
|
428
|
+
matrix: ReactNativeFeatureFlags.shouldUseAnimatedObjectForTransform(),
|
|
428
429
|
};
|
|
429
430
|
|
|
430
431
|
const SUPPORTED_INTERPOLATION_PARAMS = {
|
|
@@ -451,19 +452,19 @@ function addWhitelistedInterpolationParam(param: string): void {
|
|
|
451
452
|
}
|
|
452
453
|
|
|
453
454
|
function isSupportedColorStyleProp(prop: string): boolean {
|
|
454
|
-
return SUPPORTED_COLOR_STYLES
|
|
455
|
+
return SUPPORTED_COLOR_STYLES[prop] === true;
|
|
455
456
|
}
|
|
456
457
|
|
|
457
458
|
function isSupportedStyleProp(prop: string): boolean {
|
|
458
|
-
return SUPPORTED_STYLES
|
|
459
|
+
return SUPPORTED_STYLES[prop] === true;
|
|
459
460
|
}
|
|
460
461
|
|
|
461
462
|
function isSupportedTransformProp(prop: string): boolean {
|
|
462
|
-
return SUPPORTED_TRANSFORMS
|
|
463
|
+
return SUPPORTED_TRANSFORMS[prop] === true;
|
|
463
464
|
}
|
|
464
465
|
|
|
465
466
|
function isSupportedInterpolationParam(param: string): boolean {
|
|
466
|
-
return SUPPORTED_INTERPOLATION_PARAMS
|
|
467
|
+
return SUPPORTED_INTERPOLATION_PARAMS[param] === true;
|
|
467
468
|
}
|
|
468
469
|
|
|
469
470
|
function validateTransform(
|
|
@@ -562,10 +563,13 @@ function transformDataType(value: number | string): number | string {
|
|
|
562
563
|
if (typeof value !== 'string') {
|
|
563
564
|
return value;
|
|
564
565
|
}
|
|
565
|
-
|
|
566
|
+
|
|
567
|
+
// Normalize degrees and radians to a number expressed in radians
|
|
568
|
+
if (value.endsWith('deg')) {
|
|
566
569
|
const degrees = parseFloat(value) || 0;
|
|
567
|
-
|
|
568
|
-
|
|
570
|
+
return (degrees * Math.PI) / 180.0;
|
|
571
|
+
} else if (value.endsWith('rad')) {
|
|
572
|
+
return parseFloat(value) || 0;
|
|
569
573
|
} else {
|
|
570
574
|
return value;
|
|
571
575
|
}
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
import type {TurboModule} from '../TurboModule/RCTExport';
|
|
12
12
|
|
|
13
13
|
import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
|
|
14
|
+
import shouldUseTurboAnimatedModule from './shouldUseTurboAnimatedModule';
|
|
14
15
|
|
|
15
|
-
type EndResult = {finished: boolean, ...};
|
|
16
|
+
type EndResult = {finished: boolean, value?: number, ...};
|
|
16
17
|
type EndCallback = (result: EndResult) => void;
|
|
17
18
|
type SaveValueCallback = (value: number) => void;
|
|
18
19
|
|
|
@@ -70,4 +71,7 @@ export interface Spec extends TurboModule {
|
|
|
70
71
|
+queueAndExecuteBatchedOperations?: (operationsAndArgs: Array<any>) => void;
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
|
|
74
|
+
const NativeModule: ?Spec = !shouldUseTurboAnimatedModule()
|
|
75
|
+
? TurboModuleRegistry.get<Spec>('NativeAnimatedModule')
|
|
76
|
+
: null;
|
|
77
|
+
export default NativeModule;
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
import type {TurboModule} from '../TurboModule/RCTExport';
|
|
12
12
|
|
|
13
13
|
import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
|
|
14
|
+
import shouldUseTurboAnimatedModule from './shouldUseTurboAnimatedModule';
|
|
14
15
|
|
|
15
|
-
type EndResult = {finished: boolean, ...};
|
|
16
|
+
type EndResult = {finished: boolean, value?: number, ...};
|
|
16
17
|
type EndCallback = (result: EndResult) => void;
|
|
17
18
|
type SaveValueCallback = (value: number) => void;
|
|
18
19
|
|
|
@@ -70,6 +71,8 @@ export interface Spec extends TurboModule {
|
|
|
70
71
|
+queueAndExecuteBatchedOperations?: (operationsAndArgs: Array<any>) => void;
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
|
|
74
|
-
'NativeAnimatedTurboModule'
|
|
75
|
-
|
|
74
|
+
const NativeModule: ?Spec = shouldUseTurboAnimatedModule()
|
|
75
|
+
? TurboModuleRegistry.get<Spec>('NativeAnimatedTurboModule')
|
|
76
|
+
: null;
|
|
77
|
+
|
|
78
|
+
export default NativeModule;
|
|
@@ -11,11 +11,16 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
14
|
+
import type AnimatedNode from '../nodes/AnimatedNode';
|
|
14
15
|
import type AnimatedValue from '../nodes/AnimatedValue';
|
|
15
16
|
|
|
17
|
+
import Platform from '../../Utilities/Platform';
|
|
16
18
|
import NativeAnimatedHelper from '../NativeAnimatedHelper';
|
|
19
|
+
import AnimatedColor from '../nodes/AnimatedColor';
|
|
20
|
+
import AnimatedProps from '../nodes/AnimatedProps';
|
|
21
|
+
import AnimatedValueXY from '../nodes/AnimatedValueXY';
|
|
17
22
|
|
|
18
|
-
export type EndResult = {finished: boolean, ...};
|
|
23
|
+
export type EndResult = {finished: boolean, value?: number, ...};
|
|
19
24
|
export type EndCallback = (result: EndResult) => void;
|
|
20
25
|
|
|
21
26
|
export type AnimationConfig = {
|
|
@@ -37,6 +42,7 @@ export default class Animation {
|
|
|
37
42
|
__nativeId: number;
|
|
38
43
|
__onEnd: ?EndCallback;
|
|
39
44
|
__iterations: number;
|
|
45
|
+
|
|
40
46
|
start(
|
|
41
47
|
fromValue: number,
|
|
42
48
|
onUpdate: (value: number) => void,
|
|
@@ -44,22 +50,55 @@ export default class Animation {
|
|
|
44
50
|
previousAnimation: ?Animation,
|
|
45
51
|
animatedValue: AnimatedValue,
|
|
46
52
|
): void {}
|
|
53
|
+
|
|
47
54
|
stop(): void {
|
|
48
55
|
if (this.__nativeId) {
|
|
49
56
|
NativeAnimatedHelper.API.stopAnimation(this.__nativeId);
|
|
50
57
|
}
|
|
51
58
|
}
|
|
59
|
+
|
|
52
60
|
__getNativeAnimationConfig(): any {
|
|
53
61
|
// Subclasses that have corresponding animation implementation done in native
|
|
54
62
|
// should override this method
|
|
55
63
|
throw new Error('This animation type cannot be offloaded to native');
|
|
56
64
|
}
|
|
65
|
+
|
|
57
66
|
// Helper function for subclasses to make sure onEnd is only called once.
|
|
58
67
|
__debouncedOnEnd(result: EndResult): void {
|
|
59
68
|
const onEnd = this.__onEnd;
|
|
60
69
|
this.__onEnd = null;
|
|
61
70
|
onEnd && onEnd(result);
|
|
62
71
|
}
|
|
72
|
+
|
|
73
|
+
__findAnimatedPropsNodes(node: AnimatedNode): Array<AnimatedProps> {
|
|
74
|
+
const result = [];
|
|
75
|
+
|
|
76
|
+
if (node instanceof AnimatedProps) {
|
|
77
|
+
result.push(node);
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Vectorized animations (animations on AnimatedValueXY, AnimatedColor nodes)
|
|
82
|
+
// are split into multiple animations for each component that execute in parallel.
|
|
83
|
+
// Calling update() on AnimatedProps when each animation completes results in
|
|
84
|
+
// potential flickering as all animations that are part of the vectorized animation
|
|
85
|
+
// may not have completed yet. For example, only the animation for the red channel of
|
|
86
|
+
// an animating color may have been completed, resulting in a temporary red color
|
|
87
|
+
// being rendered. So, for now, ignore AnimatedProps that use a vectorized animation.
|
|
88
|
+
if (
|
|
89
|
+
Platform.OS === 'ios' &&
|
|
90
|
+
(node instanceof AnimatedValueXY || node instanceof AnimatedColor)
|
|
91
|
+
) {
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
for (const child of node.__getChildren()) {
|
|
96
|
+
result.push(...this.__findAnimatedPropsNodes(child));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
|
|
63
102
|
__startNativeAnimation(animatedValue: AnimatedValue): void {
|
|
64
103
|
const startNativeAnimationWaitId = `${startNativeAnimationNextId}:startAnimation`;
|
|
65
104
|
startNativeAnimationNextId += 1;
|
|
@@ -74,8 +113,23 @@ export default class Animation {
|
|
|
74
113
|
this.__nativeId,
|
|
75
114
|
animatedValue.__getNativeTag(),
|
|
76
115
|
config,
|
|
77
|
-
|
|
78
|
-
|
|
116
|
+
result => {
|
|
117
|
+
this.__debouncedOnEnd(result);
|
|
118
|
+
|
|
119
|
+
// When using natively driven animations, once the animation completes,
|
|
120
|
+
// we need to ensure that the JS side nodes are synced with the updated
|
|
121
|
+
// values.
|
|
122
|
+
const {value} = result;
|
|
123
|
+
if (value != null) {
|
|
124
|
+
animatedValue.__onAnimatedValueUpdateReceived(value);
|
|
125
|
+
|
|
126
|
+
// Once the JS side node is synced with the updated values, trigger an
|
|
127
|
+
// update on the AnimatedProps nodes to call any registered callbacks.
|
|
128
|
+
this.__findAnimatedPropsNodes(animatedValue).forEach(node =>
|
|
129
|
+
node.update(),
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
},
|
|
79
133
|
);
|
|
80
134
|
} catch (e) {
|
|
81
135
|
throw e;
|
|
@@ -85,6 +85,15 @@ export default class DecayAnimation extends Animation {
|
|
|
85
85
|
this._onUpdate = onUpdate;
|
|
86
86
|
this.__onEnd = onEnd;
|
|
87
87
|
this._startTime = Date.now();
|
|
88
|
+
|
|
89
|
+
if (!this._useNativeDriver && animatedValue.__isNative === true) {
|
|
90
|
+
throw new Error(
|
|
91
|
+
'Attempting to run JS driven animation on animated node ' +
|
|
92
|
+
'that has been moved to "native" earlier by starting an ' +
|
|
93
|
+
'animation with `useNativeDriver: true`',
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
88
97
|
if (this._useNativeDriver) {
|
|
89
98
|
this.__startNativeAnimation(animatedValue);
|
|
90
99
|
} else {
|
|
@@ -221,6 +221,14 @@ export default class SpringAnimation extends Animation {
|
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
const start = () => {
|
|
224
|
+
if (!this._useNativeDriver && animatedValue.__isNative === true) {
|
|
225
|
+
throw new Error(
|
|
226
|
+
'Attempting to run JS driven animation on animated node ' +
|
|
227
|
+
'that has been moved to "native" earlier by starting an ' +
|
|
228
|
+
'animation with `useNativeDriver: true`',
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
|
|
224
232
|
if (this._useNativeDriver) {
|
|
225
233
|
this.__startNativeAnimation(animatedValue);
|
|
226
234
|
} else {
|
|
@@ -112,6 +112,14 @@ export default class TimingAnimation extends Animation {
|
|
|
112
112
|
this.__onEnd = onEnd;
|
|
113
113
|
|
|
114
114
|
const start = () => {
|
|
115
|
+
if (!this._useNativeDriver && animatedValue.__isNative === true) {
|
|
116
|
+
throw new Error(
|
|
117
|
+
'Attempting to run JS driven animation on animated node ' +
|
|
118
|
+
'that has been moved to "native" earlier by starting an ' +
|
|
119
|
+
'animation with `useNativeDriver: true`',
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
115
123
|
// Animations that sometimes have 0 duration and sometimes do not
|
|
116
124
|
// still need to use the native driver when duration is 0 so as to
|
|
117
125
|
// not cause intermixed JS and native animations.
|
|
@@ -18,12 +18,13 @@ import * as React from 'react';
|
|
|
18
18
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
19
19
|
*/
|
|
20
20
|
const FlatListWithEventThrottle = React.forwardRef(
|
|
21
|
+
// $FlowFixMe[incompatible-call]
|
|
21
22
|
(
|
|
22
23
|
props: React.ElementConfig<typeof FlatList>,
|
|
23
24
|
ref:
|
|
24
25
|
| ((null | FlatList<mixed>) => mixed)
|
|
25
26
|
| {current: null | FlatList<mixed>, ...},
|
|
26
|
-
) => <FlatList
|
|
27
|
+
) => <FlatList {...props} ref={ref} />,
|
|
27
28
|
);
|
|
28
29
|
|
|
29
30
|
export default (createAnimatedComponent(
|
|
@@ -61,6 +61,7 @@ const AnimatedScrollView: AnimatedComponentType<Props, Instance> =
|
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
|
|
64
|
+
// $FlowFixMe[incompatible-call]
|
|
64
65
|
(
|
|
65
66
|
props: {
|
|
66
67
|
...React.ElementConfig<typeof ScrollView>,
|
|
@@ -76,6 +77,7 @@ const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
|
|
|
76
77
|
const {intermediatePropsForRefreshControl, intermediatePropsForScrollView} =
|
|
77
78
|
useMemo(() => {
|
|
78
79
|
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
80
|
+
// $FlowFixMe[incompatible-call]
|
|
79
81
|
const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
|
|
80
82
|
return {
|
|
81
83
|
intermediatePropsForRefreshControl: {style: outer},
|
|
@@ -19,6 +19,7 @@ import * as React from 'react';
|
|
|
19
19
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
20
20
|
*/
|
|
21
21
|
const SectionListWithEventThrottle = React.forwardRef(
|
|
22
|
+
// $FlowFixMe[incompatible-call]
|
|
22
23
|
(
|
|
23
24
|
props: React.ElementConfig<typeof SectionList>,
|
|
24
25
|
ref:
|
|
@@ -27,7 +28,7 @@ const SectionListWithEventThrottle = React.forwardRef(
|
|
|
27
28
|
current: null | SectionList<SectionBase<$FlowFixMe>>,
|
|
28
29
|
...
|
|
29
30
|
},
|
|
30
|
-
) => <SectionList
|
|
31
|
+
) => <SectionList {...props} ref={ref} />,
|
|
31
32
|
);
|
|
32
33
|
|
|
33
34
|
export default (createAnimatedComponent(
|
|
@@ -37,6 +37,7 @@ export default function createAnimatedComponent<TProps: {...}, TInstance>(
|
|
|
37
37
|
// $FlowFixMe[incompatible-call]
|
|
38
38
|
props,
|
|
39
39
|
);
|
|
40
|
+
// $FlowFixMe[incompatible-call]
|
|
40
41
|
const ref = useMergeRefs<TInstance | null>(callbackRef, forwardedRef);
|
|
41
42
|
|
|
42
43
|
// Some components require explicit passthrough values for animation
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import type {NativeColorValue} from '../../StyleSheet/PlatformColorValueTypes';
|
|
14
13
|
import type {ProcessedColorValue} from '../../StyleSheet/processColor';
|
|
15
14
|
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
15
|
+
import type {NativeColorValue} from '../../StyleSheet/StyleSheetTypes';
|
|
16
16
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
17
17
|
|
|
18
18
|
import normalizeColor from '../../StyleSheet/normalizeColor';
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow
|
|
8
|
+
* @format
|
|
9
|
+
* @oncall react_native
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
15
|
+
|
|
16
|
+
import AnimatedNode from './AnimatedNode';
|
|
17
|
+
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
18
|
+
import * as React from 'react';
|
|
19
|
+
|
|
20
|
+
const MAX_DEPTH = 5;
|
|
21
|
+
|
|
22
|
+
function isPlainObject(value: any): boolean {
|
|
23
|
+
return (
|
|
24
|
+
value !== null &&
|
|
25
|
+
typeof value === 'object' &&
|
|
26
|
+
Object.getPrototypeOf(value).isPrototypeOf(Object)
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Recurse through values, executing fn for any AnimatedNodes
|
|
31
|
+
function visit(value: any, fn: any => void, depth: number = 0): void {
|
|
32
|
+
if (depth >= MAX_DEPTH) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (value instanceof AnimatedNode) {
|
|
37
|
+
fn(value);
|
|
38
|
+
} else if (Array.isArray(value)) {
|
|
39
|
+
value.forEach(element => {
|
|
40
|
+
visit(element, fn, depth + 1);
|
|
41
|
+
});
|
|
42
|
+
} else if (isPlainObject(value)) {
|
|
43
|
+
Object.values(value).forEach(element => {
|
|
44
|
+
visit(element, fn, depth + 1);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Returns a copy of value with a transformation fn applied to any AnimatedNodes
|
|
50
|
+
function mapAnimatedNodes(value: any, fn: any => any, depth: number = 0): any {
|
|
51
|
+
if (depth >= MAX_DEPTH) {
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (value instanceof AnimatedNode) {
|
|
56
|
+
return fn(value);
|
|
57
|
+
} else if (Array.isArray(value)) {
|
|
58
|
+
return value.map(element => mapAnimatedNodes(element, fn, depth + 1));
|
|
59
|
+
} else if (isPlainObject(value)) {
|
|
60
|
+
const result: {[string]: any} = {};
|
|
61
|
+
for (const key in value) {
|
|
62
|
+
result[key] = mapAnimatedNodes(value[key], fn, depth + 1);
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
65
|
+
} else {
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function hasAnimatedNode(value: any, depth: number = 0): boolean {
|
|
71
|
+
if (depth >= MAX_DEPTH) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (value instanceof AnimatedNode) {
|
|
76
|
+
return true;
|
|
77
|
+
} else if (Array.isArray(value)) {
|
|
78
|
+
for (const element of value) {
|
|
79
|
+
if (hasAnimatedNode(element, depth + 1)) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} else if (isPlainObject(value)) {
|
|
84
|
+
// Don't consider React elements
|
|
85
|
+
if (React.isValidElement(value)) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
for (const key in value) {
|
|
89
|
+
if (hasAnimatedNode(value[key], depth + 1)) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export default class AnimatedObject extends AnimatedWithChildren {
|
|
98
|
+
_value: any;
|
|
99
|
+
|
|
100
|
+
constructor(value: any) {
|
|
101
|
+
super();
|
|
102
|
+
this._value = value;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
__getValue(): any {
|
|
106
|
+
return mapAnimatedNodes(this._value, node => {
|
|
107
|
+
return node.__getValue();
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
__getAnimatedValue(): any {
|
|
112
|
+
return mapAnimatedNodes(this._value, node => {
|
|
113
|
+
return node.__getAnimatedValue();
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
__attach(): void {
|
|
118
|
+
super.__attach();
|
|
119
|
+
visit(this._value, node => {
|
|
120
|
+
node.__addChild(this);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
__detach(): void {
|
|
125
|
+
visit(this._value, node => {
|
|
126
|
+
node.__removeChild(this);
|
|
127
|
+
});
|
|
128
|
+
super.__detach();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
__makeNative(platformConfig: ?PlatformConfig): void {
|
|
132
|
+
visit(this._value, value => {
|
|
133
|
+
value.__makeNative(platformConfig);
|
|
134
|
+
});
|
|
135
|
+
super.__makeNative(platformConfig);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
__getNativeConfig(): any {
|
|
139
|
+
return {
|
|
140
|
+
type: 'object',
|
|
141
|
+
value: mapAnimatedNodes(this._value, node => {
|
|
142
|
+
return {nodeTag: node.__getNativeTag()};
|
|
143
|
+
}),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -16,9 +16,27 @@ import {findNodeHandle} from '../../ReactNative/RendererProxy';
|
|
|
16
16
|
import {AnimatedEvent} from '../AnimatedEvent';
|
|
17
17
|
import NativeAnimatedHelper from '../NativeAnimatedHelper';
|
|
18
18
|
import AnimatedNode from './AnimatedNode';
|
|
19
|
+
import AnimatedObject, {hasAnimatedNode} from './AnimatedObject';
|
|
19
20
|
import AnimatedStyle from './AnimatedStyle';
|
|
20
21
|
import invariant from 'invariant';
|
|
21
22
|
|
|
23
|
+
function createAnimatedProps(inputProps: Object): Object {
|
|
24
|
+
const props: Object = {};
|
|
25
|
+
for (const key in inputProps) {
|
|
26
|
+
const value = inputProps[key];
|
|
27
|
+
if (key === 'style') {
|
|
28
|
+
props[key] = new AnimatedStyle(value);
|
|
29
|
+
} else if (value instanceof AnimatedNode) {
|
|
30
|
+
props[key] = value;
|
|
31
|
+
} else if (hasAnimatedNode(value)) {
|
|
32
|
+
props[key] = new AnimatedObject(value);
|
|
33
|
+
} else {
|
|
34
|
+
props[key] = value;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return props;
|
|
38
|
+
}
|
|
39
|
+
|
|
22
40
|
export default class AnimatedProps extends AnimatedNode {
|
|
23
41
|
_props: Object;
|
|
24
42
|
_animatedView: any;
|
|
@@ -26,13 +44,7 @@ export default class AnimatedProps extends AnimatedNode {
|
|
|
26
44
|
|
|
27
45
|
constructor(props: Object, callback: () => void) {
|
|
28
46
|
super();
|
|
29
|
-
|
|
30
|
-
props = {
|
|
31
|
-
...props,
|
|
32
|
-
style: new AnimatedStyle(props.style),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
this._props = props;
|
|
47
|
+
this._props = createAnimatedProps(props);
|
|
36
48
|
this._callback = callback;
|
|
37
49
|
}
|
|
38
50
|
|