@office-iss/react-native-win32 0.78.2 → 0.79.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +4 -1
- package/CHANGELOG.json +166 -38
- package/CHANGELOG.md +53 -22
- package/IntegrationTests/AccessibilityManagerTest.js +17 -12
- package/IntegrationTests/AppEventsTest.js +47 -32
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
- package/IntegrationTests/ImageCachePolicyTest.js +64 -81
- package/IntegrationTests/ImageSnapshotTest.js +17 -20
- package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
- package/IntegrationTests/IntegrationTestsApp.js +11 -6
- package/IntegrationTests/LayoutEventsTest.js +17 -12
- package/IntegrationTests/LoggingTestModule.js +2 -1
- package/IntegrationTests/PromiseTest.js +51 -43
- package/IntegrationTests/SimpleSnapshotTest.js +19 -24
- package/IntegrationTests/SyncMethodTest.js +9 -13
- package/IntegrationTests/TimersTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +39 -18
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
- package/Libraries/Alert/Alert.js +33 -10
- package/Libraries/Alert/Alert.win32.js +32 -9
- package/Libraries/Alert/NativeAlertManager.js +2 -2
- package/Libraries/Alert/RCTAlertManager.android.js +1 -1
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
- package/Libraries/Animated/Animated.js +8 -37
- package/Libraries/Animated/Animated.js.flow +15 -0
- package/Libraries/Animated/AnimatedExports.js +47 -0
- package/Libraries/Animated/AnimatedExports.js.flow +48 -0
- package/Libraries/Animated/AnimatedMock.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +2 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
- package/Libraries/Animated/animations/Animation.js +1 -4
- package/Libraries/Animated/createAnimatedComponent.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
- package/Libraries/Animated/nodes/AnimatedValue.js +30 -22
- package/Libraries/Animated/useAnimatedProps.js +4 -333
- package/Libraries/Animated/useAnimatedValue.js +1 -3
- package/Libraries/AppState/AppState.js +24 -7
- package/Libraries/AppState/NativeAppState.js +2 -2
- package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
- package/Libraries/BatchedBridge/MessageQueue.js +5 -4
- package/Libraries/BatchedBridge/NativeModules.js +6 -4
- package/Libraries/Blob/Blob.js +5 -5
- package/Libraries/Blob/BlobManager.js +3 -2
- package/Libraries/Blob/BlobRegistry.js +3 -9
- package/Libraries/Blob/File.js +3 -2
- package/Libraries/Blob/FileReader.js +8 -174
- package/Libraries/Blob/FileReader_new.js +231 -0
- package/Libraries/Blob/FileReader_old.js +186 -0
- package/Libraries/Blob/NativeBlobModule.js +2 -2
- package/Libraries/Blob/NativeFileReaderModule.js +2 -2
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +9 -10
- package/Libraries/Blob/URLSearchParams.js.flow +23 -0
- package/Libraries/BugReporting/BugReporting.js +2 -2
- package/Libraries/BugReporting/NativeBugReporting.js +2 -2
- package/Libraries/BugReporting/dumpReactTree.js +2 -2
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +11 -11
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
- package/Libraries/Components/Button.js +6 -6
- package/Libraries/Components/Button.win32.js +6 -9
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +14 -100
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +64 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +138 -0
- package/Libraries/Components/Keyboard/Keyboard.js +9 -9
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +24 -25
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +7 -5
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +28 -73
- package/Libraries/Components/Pressable/Pressable.win32.js +29 -75
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +17 -17
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +4 -47
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +13 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +54 -0
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/RefreshControl.js +17 -14
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollView.js +139 -134
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +7 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +10 -11
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +4 -4
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
- package/Libraries/Components/StatusBar/StatusBar.js +57 -31
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
- package/Libraries/Components/Switch/Switch.js +74 -45
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -35
- package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +2 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +5 -2
- package/Libraries/Components/TextInput/TextInput.flow.js +131 -121
- package/Libraries/Components/TextInput/TextInput.js +152 -149
- package/Libraries/Components/TextInput/TextInput.win32.js +154 -151
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.js +6 -20
- package/Libraries/Components/TextInput/TextInputState.win32.js +6 -20
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +23 -23
- package/Libraries/Components/Touchable/Touchable.win32.js +23 -23
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
- package/Libraries/Components/Touchable/TouchableHighlight.js +44 -23
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +102 -54
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +252 -47
- package/Libraries/Components/Touchable/TouchableOpacity.js +57 -15
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +114 -61
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +17 -3
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
- package/Libraries/Components/View/View.js +2 -2
- package/Libraries/Components/View/View.win32.js +2 -2
- package/Libraries/Components/View/ViewAccessibility.js +245 -5
- package/Libraries/Components/View/ViewAccessibility.win32.js +245 -5
- package/Libraries/Components/View/ViewNativeComponent.js +2 -4
- package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/Libraries/Components/View/ViewPropTypes.js +65 -253
- package/Libraries/Components/View/ViewPropTypes.win32.js +123 -312
- package/Libraries/Core/Devtools/getDevServer.js +1 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +4 -2
- package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
- package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
- package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +6 -5
- package/Libraries/Core/ExceptionsManager.js +6 -4
- package/Libraries/Core/InitializeCore.js +7 -3
- package/Libraries/Core/NativeExceptionsManager.js +2 -2
- package/Libraries/Core/RawEventEmitter.js +2 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -5
- package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +2 -4
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +10 -8
- package/Libraries/Core/Timers/NativeTiming.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +2 -9
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/registerCallableModule.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +13 -8
- package/Libraries/Core/setUpDeveloperTools.js +3 -35
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +26 -6
- package/Libraries/Core/setUpReactRefresh.js +1 -1
- package/Libraries/Core/setUpTimers.js +45 -66
- package/Libraries/Core/setUpXHR.js +11 -8
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +10 -7
- package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -5
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
- package/Libraries/Events/CustomEvent.js +3 -3
- package/Libraries/Events/EventPolyfill.js +2 -2
- package/Libraries/Image/AssetRegistry.js +8 -1
- package/Libraries/Image/AssetSourceResolver.js +4 -4
- package/Libraries/Image/Image.android.js +4 -2
- package/Libraries/Image/Image.ios.js +1 -1
- package/Libraries/Image/Image.js.flow +27 -0
- package/Libraries/Image/Image.win32.js +1 -1
- package/Libraries/Image/ImageBackground.js +2 -2
- package/Libraries/Image/ImageProps.js +109 -39
- package/Libraries/Image/ImageTypes.flow.js +16 -6
- package/Libraries/Image/ImageViewNativeComponent.js +8 -11
- package/Libraries/Image/NativeImageEditor.js +2 -2
- package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
- package/Libraries/Image/NativeImageLoaderWin32.js +2 -2
- package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
- package/Libraries/Image/NativeImageStoreIOS.js +2 -2
- package/Libraries/Image/RelativeImageStub.js +3 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +2 -4
- package/Libraries/Image/nativeImageSource.js +3 -3
- package/Libraries/Image/resolveAssetSource.js +4 -2
- package/Libraries/Image/resolveAssetSource.win32.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +20 -9
- package/Libraries/Interaction/InteractionManagerStub.js +10 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +2 -2
- package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
- package/Libraries/Interaction/PanResponder.js +49 -46
- package/Libraries/Interaction/TaskQueue.js +4 -4
- package/Libraries/Interaction/TouchHistoryMath.js +27 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +20 -6
- package/Libraries/Linking/Linking.d.ts +3 -3
- package/Libraries/Linking/Linking.js +10 -9
- package/Libraries/Linking/NativeIntentAndroid.js +2 -2
- package/Libraries/Linking/NativeLinkingManager.js +2 -2
- package/Libraries/Lists/FillRateHelper.js +4 -4
- package/Libraries/Lists/FlatList.js +30 -30
- package/Libraries/Lists/SectionList.js +10 -10
- package/Libraries/Lists/SectionListModern.js +9 -7
- package/Libraries/Lists/ViewabilityHelper.js +4 -3
- package/Libraries/Lists/VirtualizeUtils.js +3 -5
- package/Libraries/Lists/VirtualizedList.js +6 -6
- package/Libraries/Lists/VirtualizedListContext.js +5 -5
- package/Libraries/Lists/VirtualizedSectionList.js +5 -3
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +15 -15
- package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
- package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
- package/Libraries/LogBox/LogBox.js +22 -2
- package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
- package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -4
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -4
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -2
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
- package/Libraries/Modal/Modal.js +82 -89
- package/Libraries/Modal/NativeModalManager.js +2 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +19 -9
- package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
- package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
- package/Libraries/Network/NativeNetworkingIOS.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +44 -0
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +10 -685
- package/Libraries/Network/XMLHttpRequest_new.js +794 -0
- package/Libraries/Network/XMLHttpRequest_old.js +701 -0
- package/Libraries/Network/convertRequestBody.js +7 -4
- package/Libraries/Network/fetch.js +4 -3
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +65 -63
- package/Libraries/Pressability/HoverState.js +1 -0
- package/Libraries/Pressability/HoverState.win32.js +1 -0
- package/Libraries/Pressability/Pressability.js +34 -34
- package/Libraries/Pressability/Pressability.win32.js +35 -35
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
- package/Libraries/Promise.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
- package/Libraries/ReactNative/AppContainer-dev.js +4 -3
- package/Libraries/ReactNative/AppContainer.js +3 -3
- package/Libraries/ReactNative/AppRegistry.js +4 -4
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
- package/Libraries/ReactNative/FabricUIManager.js +22 -10
- package/Libraries/ReactNative/I18nManager.js +4 -3
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
- package/Libraries/ReactNative/NativeI18nManager.js +2 -2
- package/Libraries/ReactNative/NativeUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.js +6 -6
- package/Libraries/ReactNative/PaperUIManager.win32.js +6 -6
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +7 -5
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -30
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
- package/Libraries/ReactNative/RendererImplementation.js +12 -5
- package/Libraries/ReactNative/RootTag.js +1 -1
- package/Libraries/ReactNative/UIManager.d.ts +1 -0
- package/Libraries/ReactNative/UIManager.js +3 -3
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +10 -9
- package/Libraries/ReactNative/requireNativeComponent.js +3 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +30 -10
- package/Libraries/Renderer/shims/ReactNativeTypes.js +40 -89
- package/Libraries/Settings/NativeSettingsManager.js +2 -2
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +3 -3
- package/Libraries/Settings/Settings.win32.js +3 -3
- package/Libraries/Share/NativeShareModule.js +2 -2
- package/Libraries/Share/Share.js +11 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
- package/Libraries/StyleSheet/Rect.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +4 -3
- package/Libraries/StyleSheet/StyleSheet.win32.js +5 -4
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
- package/Libraries/StyleSheet/processBoxShadow.js +4 -0
- package/Libraries/StyleSheet/processColor.js +2 -2
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +4 -0
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.d.ts +1 -1
- package/Libraries/Text/Text.js +19 -17
- package/Libraries/Text/Text.win32.js +19 -17
- package/Libraries/Text/TextAncestor.js +2 -3
- package/Libraries/Text/TextNativeComponent.js +3 -3
- package/Libraries/Text/TextNativeComponent.win32.js +3 -3
- package/Libraries/Text/TextProps.js +134 -94
- package/Libraries/Text/TextProps.win32.js +134 -94
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/Types/CodegenTypes.js +5 -4
- package/Libraries/Types/CoreEventTypes.js +119 -86
- package/Libraries/Types/CoreEventTypes.win32.js +131 -93
- package/Libraries/Types/ReactDevToolsTypes.js +4 -8
- package/Libraries/UTFSequence.js +4 -3
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/BackHandler.android.js +3 -3
- package/Libraries/Utilities/BackHandler.ios.js +7 -7
- package/Libraries/Utilities/BackHandler.js.flow +25 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -3
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DevSettings.js +15 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/DeviceInfo.win32.js +1 -1
- package/Libraries/Utilities/Dimensions.js +5 -0
- package/Libraries/Utilities/Dimensions.win32.js +5 -0
- package/Libraries/Utilities/FeatureDetection.js +2 -4
- package/Libraries/Utilities/FocusManager.win32.js +3 -3
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/HMRClient.js +7 -7
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +2 -2
- package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
- package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
- package/Libraries/Utilities/Platform.android.js +6 -6
- package/Libraries/Utilities/Platform.ios.js +6 -6
- package/{flow/Position.js → Libraries/Utilities/Platform.js.flow} +3 -6
- package/Libraries/Utilities/Platform.win32.js +4 -4
- package/Libraries/Utilities/{Platform.flow.win32.js → PlatformTypes.js} +105 -14
- package/Libraries/Utilities/PolyfillFunctions.js +3 -5
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +6 -6
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +3 -3
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +6 -6
- package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
- package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
- package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
- package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
- package/Libraries/Utilities/dismissKeyboard.js +3 -2
- package/Libraries/Utilities/infoLog.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +2 -2
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +2 -2
- package/Libraries/Vibration/Vibration.js +4 -4
- package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
- package/Libraries/WebSocket/WebSocket.js +8 -285
- package/Libraries/WebSocket/WebSocketEvent.js +2 -2
- package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
- package/Libraries/WebSocket/WebSocket_new.js +325 -0
- package/Libraries/WebSocket/WebSocket_old.js +297 -0
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -4
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +21 -9
- package/flow/jest.js +14 -14
- package/index.js +153 -237
- package/index.win32.js +64 -55
- package/jest/mockScrollView.js +1 -1
- package/jest/setup.js +314 -264
- package/overrides.json +64 -75
- package/package.json +24 -25
- package/src/private/animated/createAnimatedPropsHook.js +360 -0
- package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
- package/src/private/components/HScrollViewNativeComponents.js +2 -2
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
- package/src/private/components/VScrollViewNativeComponents.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
- package/src/private/devmenu/DevMenu.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +53 -75
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +5 -7
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -12
- package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
- package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
- package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +20 -15
- package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
- package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +11 -10
- package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
- package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +43 -27
- package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +8 -6
- package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +11 -10
- package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
- package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +5 -2
- package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +6 -6
- package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
- package/src/private/renderer/errorhandling/ErrorHandlers.js +5 -5
- package/src/private/setup/setUpDOM.js +43 -3
- package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +8 -8
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +9 -9
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +5 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +5 -10
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +6 -6
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +184 -0
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
- package/{flow/react.js → src/private/types/HostComponent.js} +6 -5
- package/src/private/types/HostInstance.js +50 -0
- package/src/private/webapis/dom/events/CustomEvent.js +38 -0
- package/src/private/webapis/dom/events/Event.js +236 -0
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
- package/src/private/webapis/dom/events/EventTarget.js +436 -0
- package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +121 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +82 -51
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +7 -6
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +26 -26
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +56 -78
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +44 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
- package/src/private/webapis/html/events/MessageEvent.js +56 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +6 -6
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
- package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +20 -17
- package/src/private/webapis/mutationobserver/MutationObserver.js +11 -11
- package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +12 -14
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/Performance.js +3 -3
- package/src/private/webapis/performance/PerformanceObserver.js +8 -8
- package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
- package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
- package/src/private/webapis/websockets/events/CloseEvent.js +52 -0
- package/src/private/webapis/xhr/events/ProgressEvent.js +52 -0
- package/src/types/globals.d.ts +628 -0
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/src-win/Libraries/Text/Text.d.ts +1 -1
- package/types/index.d.ts +2 -58
- package/Libraries/Animated/AnimatedWeb.js +0 -26
- package/Libraries/Inspector/Inspector.win32.js +0 -212
- package/Libraries/Inspector/InspectorOverlay.win32.js +0 -68
- package/Libraries/JSInspector/InspectorAgent.js +0 -27
- package/Libraries/JSInspector/JSInspector.js +0 -33
- package/Libraries/JSInspector/NetworkAgent.js +0 -295
- package/Libraries/Utilities/DebugEnvironment.js +0 -16
- package/Libraries/Utilities/Platform.flow.js +0 -91
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
- package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
- package/src/private/specs/modules/NativeCPUTime.js +0 -24
- package/src/private/specs/modules/NativeFantom.js +0 -37
- package/src/private/specs/modules/NativeUIManager.js +0 -111
- package/types/modules/globals.d.ts +0 -599
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfoWin32.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
- /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
- /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
|
@@ -0,0 +1,360 @@
|
|
|
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 strict-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type {AnimatedPropsAllowlist} from '../../../Libraries/Animated/nodes/AnimatedProps';
|
|
12
|
+
import type {EventSubscription} from '../../../Libraries/EventEmitter/NativeEventEmitter';
|
|
13
|
+
|
|
14
|
+
import {AnimatedEvent} from '../../../Libraries/Animated/AnimatedEvent';
|
|
15
|
+
import AnimatedNode from '../../../Libraries/Animated/nodes/AnimatedNode';
|
|
16
|
+
import AnimatedProps from '../../../Libraries/Animated/nodes/AnimatedProps';
|
|
17
|
+
import AnimatedValue from '../../../Libraries/Animated/nodes/AnimatedValue';
|
|
18
|
+
import {isPublicInstance as isFabricPublicInstance} from '../../../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils';
|
|
19
|
+
import useRefEffect from '../../../Libraries/Utilities/useRefEffect';
|
|
20
|
+
import * as ReactNativeFeatureFlags from '../featureflags/ReactNativeFeatureFlags';
|
|
21
|
+
import {createAnimatedPropsMemoHook} from './createAnimatedPropsMemoHook';
|
|
22
|
+
import NativeAnimatedHelper from './NativeAnimatedHelper';
|
|
23
|
+
import {
|
|
24
|
+
useCallback,
|
|
25
|
+
useEffect,
|
|
26
|
+
useInsertionEffect,
|
|
27
|
+
useReducer,
|
|
28
|
+
useRef,
|
|
29
|
+
} from 'react';
|
|
30
|
+
|
|
31
|
+
type ReducedProps<TProps> = {
|
|
32
|
+
...TProps,
|
|
33
|
+
collapsable: boolean,
|
|
34
|
+
...
|
|
35
|
+
};
|
|
36
|
+
type CallbackRef<T> = T => mixed;
|
|
37
|
+
|
|
38
|
+
export type AnimatedPropsHook = <TProps: {...}, TInstance>(
|
|
39
|
+
props: TProps,
|
|
40
|
+
) => [ReducedProps<TProps>, CallbackRef<TInstance | null>];
|
|
41
|
+
|
|
42
|
+
type UpdateCallback = () => void;
|
|
43
|
+
|
|
44
|
+
type AnimatedValueListeners = Array<{
|
|
45
|
+
propValue: AnimatedValue,
|
|
46
|
+
listenerId: string,
|
|
47
|
+
}>;
|
|
48
|
+
|
|
49
|
+
export default function createAnimatedPropsHook(
|
|
50
|
+
allowlist: ?AnimatedPropsAllowlist,
|
|
51
|
+
): AnimatedPropsHook {
|
|
52
|
+
const useAnimatedPropsMemo = createAnimatedPropsMemoHook(allowlist);
|
|
53
|
+
|
|
54
|
+
return function useAnimatedProps<TProps: {...}, TInstance>(
|
|
55
|
+
props: TProps,
|
|
56
|
+
): [ReducedProps<TProps>, CallbackRef<TInstance | null>] {
|
|
57
|
+
const [, scheduleUpdate] = useReducer<number, void>(count => count + 1, 0);
|
|
58
|
+
const onUpdateRef = useRef<UpdateCallback | null>(null);
|
|
59
|
+
const timerRef = useRef<TimeoutID | null>(null);
|
|
60
|
+
|
|
61
|
+
const node = useAnimatedPropsMemo(
|
|
62
|
+
() => new AnimatedProps(props, () => onUpdateRef.current?.(), allowlist),
|
|
63
|
+
props,
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
const useNativePropsInFabric =
|
|
67
|
+
ReactNativeFeatureFlags.shouldUseSetNativePropsInFabric();
|
|
68
|
+
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
// If multiple components call `flushQueue`, the first one will flush the
|
|
71
|
+
// queue and subsequent ones will do nothing.
|
|
72
|
+
NativeAnimatedHelper.API.flushQueue();
|
|
73
|
+
let drivenAnimationEndedListener: ?EventSubscription = null;
|
|
74
|
+
if (node.__isNative) {
|
|
75
|
+
drivenAnimationEndedListener =
|
|
76
|
+
NativeAnimatedHelper.nativeEventEmitter.addListener(
|
|
77
|
+
'onUserDrivenAnimationEnded',
|
|
78
|
+
data => {
|
|
79
|
+
node.update();
|
|
80
|
+
},
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return () => {
|
|
85
|
+
drivenAnimationEndedListener?.remove();
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
// NOTE: This feature flag must be evaluated inside the hook because this
|
|
90
|
+
// module factory can be evaluated much sooner, before overrides are set.
|
|
91
|
+
const useAnimatedPropsLifecycle =
|
|
92
|
+
ReactNativeFeatureFlags.scheduleAnimatedCleanupInMicrotask()
|
|
93
|
+
? useAnimatedPropsLifecycleWithCleanupInMicrotask
|
|
94
|
+
: useAnimatedPropsLifecycleWithPrevNodeRef;
|
|
95
|
+
|
|
96
|
+
useAnimatedPropsLifecycle(node);
|
|
97
|
+
|
|
98
|
+
// TODO: This "effect" does three things:
|
|
99
|
+
//
|
|
100
|
+
// 1) Call `setNativeView`.
|
|
101
|
+
// 2) Update `onUpdateRef`.
|
|
102
|
+
// 3) Update listeners for `AnimatedEvent` props.
|
|
103
|
+
//
|
|
104
|
+
// Ideally, each of these would be separate "effects" so that they are not
|
|
105
|
+
// unnecessarily re-run when irrelevant dependencies change. For example, we
|
|
106
|
+
// should be able to hoist all `AnimatedEvent` props and only do #3 if either
|
|
107
|
+
// the `AnimatedEvent` props change or `instance` changes.
|
|
108
|
+
//
|
|
109
|
+
// But there is no way to transparently compose three separate callback refs,
|
|
110
|
+
// so we just combine them all into one for now.
|
|
111
|
+
const refEffect = useCallback(
|
|
112
|
+
(instance: TInstance) => {
|
|
113
|
+
// NOTE: This may be called more often than necessary (e.g. when `props`
|
|
114
|
+
// changes), but `setNativeView` already optimizes for that.
|
|
115
|
+
node.setNativeView(instance);
|
|
116
|
+
|
|
117
|
+
// NOTE: When using the JS animation driver, this callback is called on
|
|
118
|
+
// every animation frame. When using the native driver, this callback is
|
|
119
|
+
// called when the animation completes.
|
|
120
|
+
onUpdateRef.current = () => {
|
|
121
|
+
if (process.env.NODE_ENV === 'test') {
|
|
122
|
+
// Check 1: this is a test.
|
|
123
|
+
// call `scheduleUpdate` to bypass use of setNativeProps.
|
|
124
|
+
return scheduleUpdate();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const isFabricNode = isFabricInstance(instance);
|
|
128
|
+
if (node.__isNative) {
|
|
129
|
+
// Check 2: this is an animation driven by native.
|
|
130
|
+
// In native driven animations, this callback is only called once the animation completes.
|
|
131
|
+
if (isFabricNode) {
|
|
132
|
+
// Call `scheduleUpdate` to synchronise Fiber and Shadow tree.
|
|
133
|
+
// Must not be called in Paper.
|
|
134
|
+
scheduleUpdate();
|
|
135
|
+
}
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (
|
|
140
|
+
typeof instance !== 'object' ||
|
|
141
|
+
typeof instance?.setNativeProps !== 'function'
|
|
142
|
+
) {
|
|
143
|
+
// Check 3: the instance does not support setNativeProps. Call `scheduleUpdate`.
|
|
144
|
+
return scheduleUpdate();
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (!isFabricNode) {
|
|
148
|
+
// Check 4: this is a paper instance, call setNativeProps.
|
|
149
|
+
// $FlowIgnore[not-a-function] - Assume it's still a function.
|
|
150
|
+
// $FlowFixMe[incompatible-use]
|
|
151
|
+
return instance.setNativeProps(node.__getAnimatedValue());
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (!useNativePropsInFabric) {
|
|
155
|
+
// Check 5: setNativeProps are disabled.
|
|
156
|
+
return scheduleUpdate();
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// This is a Fabric instance and setNativeProps is supported.
|
|
160
|
+
|
|
161
|
+
// $FlowIgnore[not-a-function] - Assume it's still a function.
|
|
162
|
+
// $FlowFixMe[incompatible-use]
|
|
163
|
+
instance.setNativeProps(node.__getAnimatedValue());
|
|
164
|
+
|
|
165
|
+
// Keeping state of Fiber tree and Shadow tree in sync.
|
|
166
|
+
//
|
|
167
|
+
// This is done by calling `scheduleUpdate` which will trigger a commit.
|
|
168
|
+
// However, React commit is not fast enough to drive animations.
|
|
169
|
+
// This is where setNativeProps comes in handy but the state between
|
|
170
|
+
// Fiber tree and Shadow tree needs to be kept in sync.
|
|
171
|
+
// The goal is to call `scheduleUpdate` as little as possible to maintain
|
|
172
|
+
// performance but frequently enough to keep state in sync.
|
|
173
|
+
// Debounce is set to 48ms, which is 3 * the duration of a frame.
|
|
174
|
+
// 3 frames was the highest value where flickering state was not observed.
|
|
175
|
+
if (timerRef.current != null) {
|
|
176
|
+
clearTimeout(timerRef.current);
|
|
177
|
+
}
|
|
178
|
+
timerRef.current = setTimeout(() => {
|
|
179
|
+
timerRef.current = null;
|
|
180
|
+
scheduleUpdate();
|
|
181
|
+
}, 48);
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
const target = getEventTarget(instance);
|
|
185
|
+
const events = [];
|
|
186
|
+
const animatedValueListeners: AnimatedValueListeners = [];
|
|
187
|
+
|
|
188
|
+
for (const propName in props) {
|
|
189
|
+
// $FlowFixMe[invalid-computed-prop]
|
|
190
|
+
const propValue = props[propName];
|
|
191
|
+
if (propValue instanceof AnimatedEvent && propValue.__isNative) {
|
|
192
|
+
propValue.__attach(target, propName);
|
|
193
|
+
events.push([propName, propValue]);
|
|
194
|
+
// $FlowFixMe[incompatible-call] - the `addListenersToPropsValue` drills down the propValue.
|
|
195
|
+
addListenersToPropsValue(propValue, animatedValueListeners);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return () => {
|
|
200
|
+
onUpdateRef.current = null;
|
|
201
|
+
|
|
202
|
+
for (const [propName, propValue] of events) {
|
|
203
|
+
propValue.__detach(target, propName);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
for (const {propValue, listenerId} of animatedValueListeners) {
|
|
207
|
+
propValue.removeListener(listenerId);
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
},
|
|
211
|
+
[node, useNativePropsInFabric, props],
|
|
212
|
+
);
|
|
213
|
+
const callbackRef = useRefEffect<TInstance>(refEffect);
|
|
214
|
+
|
|
215
|
+
return [reduceAnimatedProps<TProps>(node, props), callbackRef];
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function reduceAnimatedProps<TProps>(
|
|
220
|
+
node: AnimatedProps,
|
|
221
|
+
props: TProps,
|
|
222
|
+
): ReducedProps<TProps> {
|
|
223
|
+
// Force `collapsable` to be false so that the native view is not flattened.
|
|
224
|
+
// Flattened views cannot be accurately referenced by the native driver.
|
|
225
|
+
return {
|
|
226
|
+
...node.__getValueWithStaticProps(props),
|
|
227
|
+
collapsable: false,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function addListenersToPropsValue(
|
|
232
|
+
propValue: AnimatedValue,
|
|
233
|
+
accumulator: AnimatedValueListeners,
|
|
234
|
+
) {
|
|
235
|
+
// propValue can be a scalar value, an array or an object.
|
|
236
|
+
if (propValue instanceof AnimatedValue) {
|
|
237
|
+
const listenerId = propValue.addListener(() => {});
|
|
238
|
+
accumulator.push({propValue, listenerId});
|
|
239
|
+
} else if (Array.isArray(propValue)) {
|
|
240
|
+
// An array can be an array of scalar values, arrays of arrays, or arrays of objects
|
|
241
|
+
for (const prop of propValue) {
|
|
242
|
+
addListenersToPropsValue(prop, accumulator);
|
|
243
|
+
}
|
|
244
|
+
} else if (propValue instanceof Object) {
|
|
245
|
+
addAnimatedValuesListenersToProps(propValue, accumulator);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function addAnimatedValuesListenersToProps(
|
|
250
|
+
props: AnimatedNode,
|
|
251
|
+
accumulator: AnimatedValueListeners,
|
|
252
|
+
) {
|
|
253
|
+
for (const propName in props) {
|
|
254
|
+
// $FlowFixMe[prop-missing] - This is an object contained in a prop, but we don't know the exact type.
|
|
255
|
+
const propValue = props[propName];
|
|
256
|
+
addListenersToPropsValue(propValue, accumulator);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`
|
|
262
|
+
* and `__detach`. However, this is more complicated because `AnimatedProps`
|
|
263
|
+
* uses reference counting to determine when to recursively detach its children
|
|
264
|
+
* nodes. So in order to optimize this, we avoid detaching until the next attach
|
|
265
|
+
* unless we are unmounting.
|
|
266
|
+
*/
|
|
267
|
+
function useAnimatedPropsLifecycleWithPrevNodeRef(node: AnimatedProps): void {
|
|
268
|
+
const prevNodeRef = useRef<?AnimatedProps>(null);
|
|
269
|
+
const isUnmountingRef = useRef<boolean>(false);
|
|
270
|
+
|
|
271
|
+
useInsertionEffect(() => {
|
|
272
|
+
isUnmountingRef.current = false;
|
|
273
|
+
return () => {
|
|
274
|
+
isUnmountingRef.current = true;
|
|
275
|
+
};
|
|
276
|
+
}, []);
|
|
277
|
+
|
|
278
|
+
useInsertionEffect(() => {
|
|
279
|
+
node.__attach();
|
|
280
|
+
if (prevNodeRef.current != null) {
|
|
281
|
+
const prevNode = prevNodeRef.current;
|
|
282
|
+
// TODO: Stop restoring default values (unless `reset` is called).
|
|
283
|
+
prevNode.__restoreDefaultValues();
|
|
284
|
+
prevNode.__detach();
|
|
285
|
+
prevNodeRef.current = null;
|
|
286
|
+
}
|
|
287
|
+
return () => {
|
|
288
|
+
if (isUnmountingRef.current) {
|
|
289
|
+
// NOTE: Do not restore default values on unmount, see D18197735.
|
|
290
|
+
node.__detach();
|
|
291
|
+
} else {
|
|
292
|
+
prevNodeRef.current = node;
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
}, [node]);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`
|
|
300
|
+
* and `__detach`. However, `__detach` occurs in a microtask for these reasons:
|
|
301
|
+
*
|
|
302
|
+
* 1. Optimizes detaching and attaching `AnimatedNode` instances that rely on
|
|
303
|
+
* reference counting to cleanup state, by causing detach to be scheduled
|
|
304
|
+
* after any subsequent attach.
|
|
305
|
+
* 2. Avoids calling `detach` during the insertion effect phase (which
|
|
306
|
+
* occurs during the commit phase), which may invoke completion callbacks.
|
|
307
|
+
*
|
|
308
|
+
* We should avoid invoking completion callbacks during the commit phase because
|
|
309
|
+
* callbacks may update state, which is unsupported and will force synchronous
|
|
310
|
+
* updates.
|
|
311
|
+
*/
|
|
312
|
+
function useAnimatedPropsLifecycleWithCleanupInMicrotask(
|
|
313
|
+
node: AnimatedProps,
|
|
314
|
+
): void {
|
|
315
|
+
const isMounted = useRef<boolean>(false);
|
|
316
|
+
|
|
317
|
+
useInsertionEffect(() => {
|
|
318
|
+
isMounted.current = true;
|
|
319
|
+
node.__attach();
|
|
320
|
+
|
|
321
|
+
return () => {
|
|
322
|
+
isMounted.current = false;
|
|
323
|
+
queueMicrotask(() => {
|
|
324
|
+
// NOTE: Do not restore default values on unmount, see D18197735.
|
|
325
|
+
if (isMounted.current) {
|
|
326
|
+
// TODO: Stop restoring default values (unless `reset` is called).
|
|
327
|
+
node.__restoreDefaultValues();
|
|
328
|
+
}
|
|
329
|
+
node.__detach();
|
|
330
|
+
});
|
|
331
|
+
};
|
|
332
|
+
}, [node]);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
function getEventTarget<TInstance>(instance: TInstance): TInstance {
|
|
336
|
+
return typeof instance === 'object' &&
|
|
337
|
+
typeof instance?.getScrollableNode === 'function'
|
|
338
|
+
? // $FlowFixMe[incompatible-use] - Legacy instance assumptions.
|
|
339
|
+
instance.getScrollableNode()
|
|
340
|
+
: instance;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// $FlowFixMe[unclear-type] - Legacy instance assumptions.
|
|
344
|
+
function isFabricInstance(instance: any): boolean {
|
|
345
|
+
return (
|
|
346
|
+
isFabricPublicInstance(instance) ||
|
|
347
|
+
// Some components have a setNativeProps function but aren't a host component
|
|
348
|
+
// such as lists like FlatList and SectionList. These should also use
|
|
349
|
+
// forceUpdate in Fabric since setNativeProps doesn't exist on the underlying
|
|
350
|
+
// host component. This crazy hack is essentially special casing those lists and
|
|
351
|
+
// ScrollView itself to use forceUpdate in Fabric.
|
|
352
|
+
// If these components end up using forwardRef then these hacks can go away
|
|
353
|
+
// as instance would actually be the underlying host component and the above check
|
|
354
|
+
// would be sufficient.
|
|
355
|
+
isFabricPublicInstance(instance?.getNativeScrollRef?.()) ||
|
|
356
|
+
isFabricPublicInstance(
|
|
357
|
+
instance?.getScrollResponder?.()?.getNativeScrollRef?.(),
|
|
358
|
+
)
|
|
359
|
+
);
|
|
360
|
+
}
|
|
@@ -17,8 +17,9 @@ import {AnimatedEvent} from '../../../Libraries/Animated/AnimatedEvent';
|
|
|
17
17
|
import AnimatedNode from '../../../Libraries/Animated/nodes/AnimatedNode';
|
|
18
18
|
import {isPlainObject} from '../../../Libraries/Animated/nodes/AnimatedObject';
|
|
19
19
|
import flattenStyle from '../../../Libraries/StyleSheet/flattenStyle';
|
|
20
|
+
import * as ReactNativeFeatureFlags from '../featureflags/ReactNativeFeatureFlags';
|
|
20
21
|
import nullthrows from 'nullthrows';
|
|
21
|
-
import {useMemo, useState} from 'react';
|
|
22
|
+
import {useInsertionEffect, useMemo, useRef, useState} from 'react';
|
|
22
23
|
|
|
23
24
|
type CompositeKey = {
|
|
24
25
|
style?: {[string]: CompositeKeyComponent},
|
|
@@ -48,43 +49,94 @@ type $ReadOnlyCompositeKeyComponent =
|
|
|
48
49
|
| $ReadOnlyArray<$ReadOnlyCompositeKeyComponent | null>
|
|
49
50
|
| $ReadOnly<{[string]: $ReadOnlyCompositeKeyComponent}>;
|
|
50
51
|
|
|
52
|
+
type AnimatedPropsMemoHook = (
|
|
53
|
+
() => AnimatedProps,
|
|
54
|
+
props: $ReadOnly<{[string]: mixed}>,
|
|
55
|
+
) => AnimatedProps;
|
|
56
|
+
|
|
51
57
|
/**
|
|
52
|
-
*
|
|
53
|
-
* subset of `props` that are instances of `AnimatedNode` or
|
|
58
|
+
* Creates a hook that returns an `AnimatedProps` object that is memoized based
|
|
59
|
+
* on the subset of `props` that are instances of `AnimatedNode` or
|
|
60
|
+
* `AnimatedEvent`.
|
|
54
61
|
*/
|
|
55
|
-
export function
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
): AnimatedProps {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
62
|
+
export function createAnimatedPropsMemoHook(
|
|
63
|
+
allowlist: ?AnimatedPropsAllowlist,
|
|
64
|
+
): AnimatedPropsMemoHook {
|
|
65
|
+
return function useAnimatedPropsMemo(
|
|
66
|
+
create: () => AnimatedProps,
|
|
67
|
+
props: $ReadOnly<{[string]: mixed}>,
|
|
68
|
+
): AnimatedProps {
|
|
69
|
+
// NOTE: This feature flag must be evaluated inside the hook because this
|
|
70
|
+
// module factory can be evaluated much sooner, before overrides are set.
|
|
71
|
+
const useAnimatedPropsImpl =
|
|
72
|
+
ReactNativeFeatureFlags.avoidStateUpdateInAnimatedPropsMemo()
|
|
73
|
+
? useAnimatedPropsMemo_ref
|
|
74
|
+
: useAnimatedPropsMemo_state;
|
|
75
|
+
return useAnimatedPropsImpl(create, props);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
function useAnimatedPropsMemo_ref(
|
|
79
|
+
create: () => AnimatedProps,
|
|
80
|
+
props: $ReadOnly<{[string]: mixed}>,
|
|
81
|
+
): AnimatedProps {
|
|
82
|
+
const compositeKey = useMemo(
|
|
83
|
+
() => createCompositeKeyForProps(props, allowlist),
|
|
84
|
+
[props],
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
const prevRef = useRef<?$ReadOnly<{
|
|
88
|
+
compositeKey: typeof compositeKey,
|
|
89
|
+
node: AnimatedProps,
|
|
90
|
+
}>>();
|
|
91
|
+
const prev = prevRef.current;
|
|
92
|
+
|
|
93
|
+
const next =
|
|
94
|
+
prev != null &&
|
|
95
|
+
areCompositeKeysEqual(prev.compositeKey, compositeKey, allowlist)
|
|
96
|
+
? prev
|
|
97
|
+
: {
|
|
98
|
+
compositeKey,
|
|
99
|
+
node: create(),
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
useInsertionEffect(() => {
|
|
103
|
+
prevRef.current = next;
|
|
104
|
+
}, [next]);
|
|
105
|
+
|
|
106
|
+
return next.node;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function useAnimatedPropsMemo_state(
|
|
110
|
+
create: () => AnimatedProps,
|
|
111
|
+
props: $ReadOnly<{[string]: mixed}>,
|
|
112
|
+
): AnimatedProps {
|
|
113
|
+
const compositeKey = useMemo(
|
|
114
|
+
() => createCompositeKeyForProps(props, allowlist),
|
|
115
|
+
[props],
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
const [state, setState] = useState<{
|
|
119
|
+
allowlist: ?AnimatedPropsAllowlist,
|
|
120
|
+
compositeKey: $ReadOnlyCompositeKey | null,
|
|
121
|
+
value: AnimatedProps,
|
|
122
|
+
}>(() => ({
|
|
82
123
|
allowlist,
|
|
83
124
|
compositeKey,
|
|
84
125
|
value: create(),
|
|
85
|
-
});
|
|
126
|
+
}));
|
|
127
|
+
|
|
128
|
+
if (
|
|
129
|
+
state.allowlist !== allowlist ||
|
|
130
|
+
!areCompositeKeysEqual(state.compositeKey, compositeKey)
|
|
131
|
+
) {
|
|
132
|
+
setState({
|
|
133
|
+
allowlist,
|
|
134
|
+
compositeKey,
|
|
135
|
+
value: create(),
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return state.value;
|
|
86
139
|
}
|
|
87
|
-
return state.value;
|
|
88
140
|
}
|
|
89
141
|
|
|
90
142
|
/**
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
|
|
12
12
|
import type {ScrollViewNativeProps} from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponentType';
|
|
13
13
|
import type {ViewProps} from '../../../Libraries/Components/View/ViewPropTypes';
|
|
14
|
-
import type {HostComponent} from '
|
|
14
|
+
import type {HostComponent} from '../types/HostComponent';
|
|
15
15
|
|
|
16
16
|
import AndroidHorizontalScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent';
|
|
17
17
|
import ScrollContentViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollContentViewNativeComponent';
|
|
18
18
|
import ScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponent';
|
|
19
19
|
import Platform from '../../../Libraries/Utilities/Platform';
|
|
20
|
-
import AndroidHorizontalScrollContentViewNativeComponent from '../
|
|
20
|
+
import AndroidHorizontalScrollContentViewNativeComponent from '../specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent';
|
|
21
21
|
|
|
22
22
|
export const HScrollViewNativeComponent: HostComponent<ScrollViewNativeProps> =
|
|
23
23
|
Platform.OS === 'android'
|
|
@@ -20,10 +20,10 @@ const exported: component(
|
|
|
20
20
|
ref?: React.RefSetter<React.ElementRef<typeof View>>,
|
|
21
21
|
...ViewProps
|
|
22
22
|
) = Platform.select({
|
|
23
|
-
ios: require('../../../src/private/
|
|
23
|
+
ios: require('../../../src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent')
|
|
24
24
|
.default,
|
|
25
25
|
android: UIManager.hasViewManagerConfig('RCTSafeAreaView')
|
|
26
|
-
? require('../../../src/private/
|
|
26
|
+
? require('../../../src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent')
|
|
27
27
|
.default
|
|
28
28
|
: View,
|
|
29
29
|
default: View,
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
import type {ScrollViewNativeProps} from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponentType';
|
|
13
13
|
import type {ViewProps} from '../../../Libraries/Components/View/ViewPropTypes';
|
|
14
|
-
import type {HostComponent} from '
|
|
14
|
+
import type {HostComponent} from '../types/HostComponent';
|
|
15
15
|
|
|
16
16
|
import ScrollContentViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollContentViewNativeComponent';
|
|
17
17
|
import ScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponent';
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import NativeReactDevToolsSettingsManager from '../
|
|
11
|
+
import NativeReactDevToolsSettingsManager from '../specs_DEPRECATED/modules/NativeReactDevToolsSettingsManager';
|
|
12
12
|
|
|
13
13
|
module.exports = {
|
|
14
14
|
setGlobalHookSettings(settings: string) {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import NativeReactDevToolsSettingsManager from '../
|
|
11
|
+
import NativeReactDevToolsSettingsManager from '../specs_DEPRECATED/modules/NativeReactDevToolsSettingsManager';
|
|
12
12
|
|
|
13
13
|
module.exports = {
|
|
14
14
|
setGlobalHookSettings(settings: string) {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import NativeDevMenu from '../
|
|
11
|
+
import NativeDevMenu from '../specs_DEPRECATED/modules/NativeDevMenu';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* The DevMenu module exposes methods for interacting with the Dev Menu in development.
|
|
@@ -28,4 +28,4 @@ const DevMenu: DevMenuStatic = {
|
|
|
28
28
|
},
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
export default DevMenu;
|