@office-iss/react-native-win32 0.70.3 → 0.71.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/.eslintignore +1 -0
- package/.eslintrc.js +2 -0
- package/.flowconfig +3 -6
- package/CHANGELOG.json +268 -51
- package/CHANGELOG.md +101 -29
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +0 -1
- package/IntegrationTests/BUCK +0 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +2 -3
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +4 -4
- package/IntegrationTests/WebSocketTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.d.ts +90 -0
- package/Libraries/Alert/Alert.js +7 -1
- package/Libraries/Alert/Alert.win32.js +1 -0
- package/Libraries/Alert/NativeAlertManager.js +2 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
- package/Libraries/Animated/Animated.d.ts +587 -0
- package/Libraries/Animated/Animated.js +13 -11
- package/Libraries/Animated/AnimatedEvent.js +12 -17
- package/Libraries/Animated/AnimatedImplementation.js +21 -23
- package/Libraries/Animated/AnimatedMock.js +11 -13
- package/Libraries/Animated/AnimatedWeb.js +2 -2
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +2 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +2 -7
- package/Libraries/Animated/animations/Animation.js +3 -4
- package/Libraries/Animated/animations/DecayAnimation.js +5 -8
- package/Libraries/Animated/animations/SpringAnimation.js +9 -14
- package/Libraries/Animated/animations/TimingAnimation.js +9 -13
- package/Libraries/Animated/bezier.js +2 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
- package/Libraries/Animated/components/AnimatedImage.js +5 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
- package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
- package/Libraries/Animated/components/AnimatedText.js +5 -6
- package/Libraries/Animated/components/AnimatedView.js +5 -6
- package/Libraries/Animated/createAnimatedComponent.js +13 -20
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
- package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
- package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
- package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
- package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
- package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
- package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
- package/Libraries/Animated/useAnimatedProps.js +8 -16
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +3 -7
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/MessageQueue.js +9 -5
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/BlobManager.js +5 -3
- package/Libraries/Blob/File.js +2 -3
- package/Libraries/Blob/FileReader.js +6 -5
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +11 -9
- package/Libraries/BugReporting/NativeBugReporting.js +1 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.flow.js +265 -0
- package/Libraries/Components/Button.js +62 -18
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
- package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +35 -8
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +73 -15
- package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
- package/Libraries/Components/ScrollView/ScrollView.js +87 -52
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
- package/Libraries/Components/Slider/Slider.d.ts +132 -0
- package/Libraries/Components/Slider/Slider.js +9 -9
- package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +7 -7
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +7 -7
- package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
- package/Libraries/Components/TextInput/TextInput.js +344 -38
- package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
- package/Libraries/Components/TextInput/TextInputState.js +22 -5
- package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
- package/Libraries/Components/Touchable/Touchable.js +12 -12
- package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
- package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
- package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
- package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +91 -8
- package/Libraries/Components/View/View.win32.js +176 -89
- package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
- package/Libraries/Components/View/ViewAccessibility.js +70 -1
- package/Libraries/Components/View/ViewNativeComponent.js +3 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
- package/Libraries/Components/View/ViewPropTypes.js +105 -13
- package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
- package/Libraries/Components/View/ViewWin32.Props.d.ts +1 -0
- package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +8 -0
- package/Libraries/Core/ExtendedError.js +11 -8
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/RawEventEmitter.js +2 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +13 -11
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/setUpBatchedBridge.js +1 -5
- package/Libraries/Core/setUpDeveloperTools.js +4 -6
- package/Libraries/Core/setUpReactDevTools.js +4 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
- package/Libraries/Core/setUpTimers.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
- package/Libraries/Image/AssetSourceResolver.js +4 -6
- package/Libraries/Image/Image.android.js +63 -45
- package/Libraries/Image/Image.d.ts +322 -0
- package/Libraries/Image/Image.flow.js +64 -0
- package/Libraries/Image/Image.ios.js +55 -28
- package/Libraries/Image/Image.win32.js +54 -25
- package/Libraries/Image/ImageBackground.js +18 -7
- package/Libraries/Image/ImageInjection.js +2 -1
- package/Libraries/Image/ImageProps.js +88 -5
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageUtils.js +21 -0
- package/Libraries/Image/ImageViewNativeComponent.js +8 -5
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
- package/Libraries/Image/nativeImageSource.js +2 -2
- package/Libraries/Image/resolveAssetSource.js +5 -5
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +3 -4
- package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
- package/Libraries/Inspector/ElementBox.js +4 -5
- package/Libraries/Inspector/ElementProperties.js +10 -11
- package/Libraries/Inspector/Inspector.js +22 -108
- package/Libraries/Inspector/Inspector.win32.js +23 -109
- package/Libraries/Inspector/InspectorOverlay.js +5 -5
- package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
- package/Libraries/Inspector/InspectorPanel.js +12 -10
- package/Libraries/Inspector/NetworkOverlay.js +7 -3
- package/Libraries/Inspector/PerformanceOverlay.js +3 -3
- package/Libraries/Inspector/StyleInspector.js +2 -2
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
- package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +8 -8
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.flow.js +257 -0
- package/Libraries/Interaction/PanResponder.js +4 -3
- package/Libraries/JSInspector/JSInspector.js +0 -3
- package/Libraries/JSInspector/NetworkAgent.js +3 -3
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +3 -2
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/CellRenderMask.js +13 -3
- package/Libraries/Lists/ChildListCollection.js +72 -0
- package/Libraries/Lists/FillRateHelper.js +28 -17
- package/Libraries/Lists/FlatList.d.ts +292 -0
- package/Libraries/Lists/FlatList.js +70 -70
- package/Libraries/Lists/SectionList.d.ts +300 -0
- package/Libraries/Lists/SectionList.js +5 -5
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/StateSafePureComponent.js +85 -0
- package/Libraries/Lists/ViewabilityHelper.js +33 -12
- package/Libraries/Lists/VirtualizeUtils.js +17 -13
- package/Libraries/Lists/VirtualizedList.d.ts +317 -0
- package/Libraries/Lists/VirtualizedList.js +548 -890
- package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
- package/Libraries/Lists/VirtualizedListContext.js +7 -48
- package/Libraries/Lists/VirtualizedListProps.js +279 -0
- package/Libraries/Lists/VirtualizedSectionList.js +6 -3
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +9 -8
- package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +11 -11
- package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
- package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +14 -14
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTNetworking.android.js +4 -3
- package/Libraries/Network/RCTNetworking.ios.js +3 -2
- package/Libraries/Network/RCTNetworking.win32.js +1 -0
- package/Libraries/Network/convertRequestBody.js +1 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +6 -2
- package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +110 -195
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
- package/Libraries/Pressability/Pressability.js +12 -10
- package/Libraries/Pressability/Pressability.win32.js +9 -7
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
- package/Libraries/ReactNative/AppContainer.js +17 -7
- package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
- package/Libraries/ReactNative/AppRegistry.js +11 -14
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
- package/Libraries/ReactNative/FabricUIManager.js +3 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/PaperUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
- package/Libraries/ReactNative/RendererImplementation.js +112 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.js +0 -1
- package/Libraries/ReactNative/UIManager.d.ts +157 -0
- package/Libraries/ReactNative/UIManager.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +38 -20
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +7 -5
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
- package/Libraries/StyleSheet/StyleSheet.js +15 -11
- package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
- package/Libraries/StyleSheet/processAspectRatio.js +53 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +3 -4
- package/Libraries/StyleSheet/processColorArray.js +1 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +114 -105
- package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
- package/Libraries/Text/Text.d.ts +209 -0
- package/Libraries/Text/Text.js +94 -12
- package/Libraries/Text/TextNativeComponent.js +49 -41
- package/Libraries/Text/TextNativeComponent.win32.js +67 -49
- package/Libraries/Text/TextProps.js +64 -7
- package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CoreEventTypes.d.ts +263 -0
- package/Libraries/Types/CoreEventTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.win32.js +2 -1
- package/Libraries/Utilities/AcessibilityMapping.js +154 -0
- package/Libraries/Utilities/Appearance.d.ts +43 -0
- package/Libraries/Utilities/Appearance.js +3 -3
- package/Libraries/Utilities/BackHandler.android.js +3 -5
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -5
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +4 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +2 -2
- package/Libraries/Utilities/Dimensions.win32.js +2 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
- package/Libraries/Utilities/HMRClient.js +23 -8
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/Platform.android.js +11 -5
- package/Libraries/Utilities/Platform.d.ts +102 -0
- package/Libraries/Utilities/Platform.ios.js +12 -5
- package/Libraries/Utilities/Platform.win32.js +11 -5
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
- package/Libraries/Utilities/codegenNativeCommands.js +1 -10
- package/Libraries/Utilities/codegenNativeComponent.js +4 -1
- package/Libraries/Utilities/createPerformanceLogger.js +7 -8
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/useColorScheme.js +3 -2
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +1 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +11 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
- package/Libraries/__tests__/ButtonWin32-test.js +16 -0
- package/Libraries/platform-types.d.ts +25 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/babel.config.js +3 -0
- package/flow/jest.js +2 -2
- package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
- package/flow-typed/npm/yargs_v17.x.x.js +341 -0
- package/index.js +89 -55
- package/index.win32.js +89 -55
- package/interface.js +8 -0
- package/jest/react-native-env.js +18 -0
- package/jest/renderer.js +2 -2
- package/jest/setup.js +7 -9
- package/jest.config.js +9 -2
- package/overrides.json +40 -101
- package/package.json +34 -33
- package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
- package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
- package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
- package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
- package/src/Libraries/Components/View/ViewWin32.Props.ts +4 -0
- package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
- package/src/Libraries/platform-types.d.ts +25 -0
- package/types/index.d.ts +215 -0
- package/IntegrationTests/AsyncStorageTest.js +0 -261
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/Image/ImagePickerIOS.js +0 -103
- package/Libraries/Image/NativeImagePickerIOS.js +0 -38
- package/Libraries/Lists/VirtualizedList.win32.js +0 -9
- package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
- package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
- package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
- package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
- package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
- package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
- package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
- package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
- package/Libraries/Storage/AsyncStorage.js +0 -385
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
- package/Libraries/Utilities/JSDevSupportModule.js +0 -37
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
- package/rntypes/BatchedBridge.d.ts +0 -23
- package/rntypes/Devtools.d.ts +0 -20
- package/rntypes/LaunchScreen.d.ts +0 -9
- package/rntypes/globals.d.ts +0 -497
- package/rntypes/index.d.ts +0 -9754
- package/rntypes/legacy-properties.d.ts +0 -238
- package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
- package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
- package/src/rntypes/BatchedBridge.d.ts +0 -23
- package/src/rntypes/Devtools.d.ts +0 -20
- package/src/rntypes/LaunchScreen.d.ts +0 -9
- package/src/rntypes/globals.d.ts +0 -497
- package/src/rntypes/index.d.ts +0 -9754
- package/src/rntypes/legacy-properties.d.ts +0 -238
- package/src/typings-index.ts +0 -37
- package/typings-index.d.ts +0 -23
- package/typings-index.js +0 -47
- package/typings-index.js.map +0 -1
|
@@ -8,14 +8,13 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import * as React from 'react';
|
|
12
|
-
|
|
13
|
-
const Image = require('../../Image/Image');
|
|
14
|
-
const createAnimatedComponent = require('../createAnimatedComponent');
|
|
15
|
-
|
|
16
11
|
import type {AnimatedComponentType} from '../createAnimatedComponent';
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
import Image from '../../Image/Image';
|
|
14
|
+
import createAnimatedComponent from '../createAnimatedComponent';
|
|
15
|
+
import * as React from 'react';
|
|
16
|
+
|
|
17
|
+
export default (createAnimatedComponent(
|
|
19
18
|
(Image: $FlowFixMe),
|
|
20
19
|
): AnimatedComponentType<
|
|
21
20
|
React.ElementConfig<typeof Image>,
|
|
@@ -8,23 +8,119 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {____ViewStyle_Internal} from '../../StyleSheet/StyleSheetTypes';
|
|
12
|
+
import type {AnimatedComponentType} from '../createAnimatedComponent';
|
|
13
|
+
|
|
14
|
+
import RefreshControl from '../../Components/RefreshControl/RefreshControl';
|
|
15
|
+
import ScrollView from '../../Components/ScrollView/ScrollView';
|
|
16
|
+
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
17
|
+
import splitLayoutProps from '../../StyleSheet/splitLayoutProps';
|
|
18
|
+
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
19
|
+
import Platform from '../../Utilities/Platform';
|
|
20
|
+
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
21
|
+
import createAnimatedComponent from '../createAnimatedComponent';
|
|
22
|
+
import useAnimatedProps from '../useAnimatedProps';
|
|
11
23
|
import * as React from 'react';
|
|
24
|
+
import {useMemo} from 'react';
|
|
12
25
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import type {AnimatedComponentType} from '../createAnimatedComponent';
|
|
26
|
+
type Props = React.ElementConfig<typeof ScrollView>;
|
|
27
|
+
type Instance = React.ElementRef<typeof ScrollView>;
|
|
17
28
|
|
|
18
29
|
/**
|
|
19
30
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
20
31
|
*/
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
const AnimatedScrollView: AnimatedComponentType<Props, Instance> =
|
|
33
|
+
React.forwardRef((props, forwardedRef) => {
|
|
34
|
+
// (Android only) When a ScrollView has a RefreshControl and
|
|
35
|
+
// any `style` property set with an Animated.Value, the CSS
|
|
36
|
+
// gets incorrectly applied twice. This is because ScrollView
|
|
37
|
+
// swaps the parent/child relationship of itself and the
|
|
38
|
+
// RefreshControl component (see ScrollView.js for more details).
|
|
39
|
+
if (
|
|
40
|
+
Platform.OS === 'android' &&
|
|
41
|
+
props.refreshControl != null &&
|
|
42
|
+
props.style != null
|
|
43
|
+
) {
|
|
44
|
+
return (
|
|
45
|
+
<AnimatedScrollViewWithInvertedRefreshControl
|
|
46
|
+
scrollEventThrottle={0.0001}
|
|
47
|
+
{...props}
|
|
48
|
+
ref={forwardedRef}
|
|
49
|
+
refreshControl={props.refreshControl}
|
|
50
|
+
/>
|
|
51
|
+
);
|
|
52
|
+
} else {
|
|
53
|
+
return (
|
|
54
|
+
<AnimatedScrollViewWithoutInvertedRefreshControl
|
|
55
|
+
scrollEventThrottle={0.0001}
|
|
56
|
+
{...props}
|
|
57
|
+
ref={forwardedRef}
|
|
58
|
+
/>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
|
|
64
|
+
(
|
|
65
|
+
props: {
|
|
66
|
+
...React.ElementConfig<typeof ScrollView>,
|
|
67
|
+
// $FlowFixMe[unclear-type] Same Flow type as `refreshControl` in ScrollView
|
|
68
|
+
refreshControl: React.Element<any>,
|
|
69
|
+
},
|
|
70
|
+
forwardedRef,
|
|
71
|
+
) => {
|
|
72
|
+
// Split `props` into the animate-able props for the parent (RefreshControl)
|
|
73
|
+
// and child (ScrollView).
|
|
74
|
+
const {intermediatePropsForRefreshControl, intermediatePropsForScrollView} =
|
|
75
|
+
useMemo(() => {
|
|
76
|
+
const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
|
|
77
|
+
return {
|
|
78
|
+
intermediatePropsForRefreshControl: {style: outer},
|
|
79
|
+
intermediatePropsForScrollView: {...props, style: inner},
|
|
80
|
+
};
|
|
81
|
+
}, [props]);
|
|
82
|
+
|
|
83
|
+
// Handle animated props on `refreshControl`.
|
|
84
|
+
const [refreshControlAnimatedProps, refreshControlRef] = useAnimatedProps<
|
|
85
|
+
{style: ?____ViewStyle_Internal},
|
|
86
|
+
$FlowFixMe,
|
|
87
|
+
>(intermediatePropsForRefreshControl);
|
|
88
|
+
// NOTE: Assumes that refreshControl.ref` and `refreshControl.style` can be
|
|
89
|
+
// safely clobbered.
|
|
90
|
+
const refreshControl: React.Element<typeof RefreshControl> =
|
|
91
|
+
React.cloneElement(props.refreshControl, {
|
|
92
|
+
...refreshControlAnimatedProps,
|
|
93
|
+
ref: refreshControlRef,
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// Handle animated props on `NativeDirectionalScrollView`.
|
|
97
|
+
const [scrollViewAnimatedProps, scrollViewRef] = useAnimatedProps<
|
|
98
|
+
Props,
|
|
99
|
+
Instance,
|
|
100
|
+
>(intermediatePropsForScrollView);
|
|
101
|
+
const ref = useMergeRefs<Instance | null>(scrollViewRef, forwardedRef);
|
|
102
|
+
|
|
103
|
+
return (
|
|
104
|
+
// $FlowFixMe[incompatible-use] Investigate useAnimatedProps return value
|
|
105
|
+
<ScrollView
|
|
106
|
+
{...scrollViewAnimatedProps}
|
|
107
|
+
ref={ref}
|
|
108
|
+
refreshControl={refreshControl}
|
|
109
|
+
// Because `refreshControl` is a clone of `props.refreshControl` with
|
|
110
|
+
// `refreshControlAnimatedProps` added, we need to pass ScrollView.js
|
|
111
|
+
// the combined styles since it also splits the outer/inner styles for
|
|
112
|
+
// its parent/child, respectively. Without this, the refreshControl
|
|
113
|
+
// styles would be ignored.
|
|
114
|
+
style={StyleSheet.compose(
|
|
115
|
+
scrollViewAnimatedProps.style,
|
|
116
|
+
refreshControlAnimatedProps.style,
|
|
117
|
+
)}
|
|
118
|
+
/>
|
|
119
|
+
);
|
|
120
|
+
},
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
const AnimatedScrollViewWithoutInvertedRefreshControl =
|
|
124
|
+
createAnimatedComponent(ScrollView);
|
|
125
|
+
|
|
126
|
+
export default AnimatedScrollView;
|
|
@@ -8,12 +8,11 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import
|
|
11
|
+
import type {AnimatedComponentType} from '../createAnimatedComponent';
|
|
12
12
|
|
|
13
13
|
import SectionList from '../../Lists/SectionList';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import type {AnimatedComponentType} from '../createAnimatedComponent';
|
|
14
|
+
import createAnimatedComponent from '../createAnimatedComponent';
|
|
15
|
+
import * as React from 'react';
|
|
17
16
|
|
|
18
17
|
/**
|
|
19
18
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
@@ -22,7 +21,7 @@ const SectionListWithEventThrottle = React.forwardRef((props, ref) => (
|
|
|
22
21
|
<SectionList scrollEventThrottle={0.0001} {...props} ref={ref} />
|
|
23
22
|
));
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
export default (createAnimatedComponent(
|
|
26
25
|
SectionListWithEventThrottle,
|
|
27
26
|
): AnimatedComponentType<
|
|
28
27
|
React.ElementConfig<typeof SectionList>,
|
|
@@ -8,14 +8,13 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import * as React from 'react';
|
|
12
|
-
|
|
13
|
-
const Text = require('../../Text/Text');
|
|
14
|
-
const createAnimatedComponent = require('../createAnimatedComponent');
|
|
15
|
-
|
|
16
11
|
import type {AnimatedComponentType} from '../createAnimatedComponent';
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
import Text from '../../Text/Text';
|
|
14
|
+
import createAnimatedComponent from '../createAnimatedComponent';
|
|
15
|
+
import * as React from 'react';
|
|
16
|
+
|
|
17
|
+
export default (createAnimatedComponent(
|
|
19
18
|
(Text: $FlowFixMe),
|
|
20
19
|
): AnimatedComponentType<
|
|
21
20
|
React.ElementConfig<typeof Text>,
|
|
@@ -8,14 +8,13 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import * as React from 'react';
|
|
12
|
-
|
|
13
|
-
const View = require('../../Components/View/View');
|
|
14
|
-
const createAnimatedComponent = require('../createAnimatedComponent');
|
|
15
|
-
|
|
16
11
|
import type {AnimatedComponentType} from '../createAnimatedComponent';
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
import View from '../../Components/View/View';
|
|
14
|
+
import createAnimatedComponent from '../createAnimatedComponent';
|
|
15
|
+
import * as React from 'react';
|
|
16
|
+
|
|
17
|
+
export default (createAnimatedComponent(View): AnimatedComponentType<
|
|
19
18
|
React.ElementConfig<typeof View>,
|
|
20
19
|
React.ElementRef<typeof View>,
|
|
21
20
|
>);
|
|
@@ -10,16 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
import View from '../Components/View/View';
|
|
14
|
+
import setAndForwardRef from '../Utilities/setAndForwardRef';
|
|
15
|
+
import {AnimatedEvent} from './AnimatedEvent';
|
|
13
16
|
import * as createAnimatedComponentInjection from './createAnimatedComponentInjection';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const React = require('react');
|
|
19
|
-
const NativeAnimatedHelper = require('./NativeAnimatedHelper');
|
|
20
|
-
|
|
21
|
-
const invariant = require('invariant');
|
|
22
|
-
const setAndForwardRef = require('../Utilities/setAndForwardRef');
|
|
17
|
+
import NativeAnimatedHelper from './NativeAnimatedHelper';
|
|
18
|
+
import AnimatedProps from './nodes/AnimatedProps';
|
|
19
|
+
import invariant from 'invariant';
|
|
20
|
+
import * as React from 'react';
|
|
23
21
|
|
|
24
22
|
let animatedComponentNextId = 1;
|
|
25
23
|
|
|
@@ -55,7 +53,6 @@ function createAnimatedComponent<Props: {+[string]: mixed, ...}, Instance>(
|
|
|
55
53
|
_prevComponent: any;
|
|
56
54
|
_propsAnimated: AnimatedProps;
|
|
57
55
|
_eventDetachers: Array<Function> = [];
|
|
58
|
-
_initialAnimatedProps: Object;
|
|
59
56
|
|
|
60
57
|
// Only to be used in this file, and only in Fabric.
|
|
61
58
|
_animatedComponentId: string = `${animatedComponentNextId++}:animatedComponent`;
|
|
@@ -140,7 +137,7 @@ function createAnimatedComponent<Props: {+[string]: mixed, ...}, Instance>(
|
|
|
140
137
|
// components. If you want to animate a composite component, you need to
|
|
141
138
|
// re-render it. In this case, we have a fallback that uses forceUpdate.
|
|
142
139
|
// This fallback is also called in Fabric.
|
|
143
|
-
_animatedPropsCallback = () => {
|
|
140
|
+
_animatedPropsCallback = (): void => {
|
|
144
141
|
if (this._component == null) {
|
|
145
142
|
// AnimatedProps is created in will-mount because it's used in render.
|
|
146
143
|
// But this callback may be invoked before mount in async mode,
|
|
@@ -192,7 +189,7 @@ function createAnimatedComponent<Props: {+[string]: mixed, ...}, Instance>(
|
|
|
192
189
|
}
|
|
193
190
|
}
|
|
194
191
|
|
|
195
|
-
_setComponentRef = setAndForwardRef({
|
|
192
|
+
_setComponentRef: (ref: React.ElementRef<any>) => void = setAndForwardRef({
|
|
196
193
|
getForwardedRef: () => this.props.forwardedRef,
|
|
197
194
|
setLocalRef: ref => {
|
|
198
195
|
this._prevComponent = this._component;
|
|
@@ -200,18 +197,14 @@ function createAnimatedComponent<Props: {+[string]: mixed, ...}, Instance>(
|
|
|
200
197
|
},
|
|
201
198
|
});
|
|
202
199
|
|
|
203
|
-
render() {
|
|
204
|
-
const animatedProps =
|
|
205
|
-
|
|
200
|
+
render(): React.Node {
|
|
201
|
+
const animatedProps = this._propsAnimated.__getValue() || {};
|
|
202
|
+
|
|
206
203
|
const {style = {}, ...props} = animatedProps;
|
|
207
204
|
const {style: passthruStyle = {}, ...passthruProps} =
|
|
208
205
|
this.props.passthroughAnimatedPropExplicitValues || {};
|
|
209
206
|
const mergedStyle = {...style, ...passthruStyle};
|
|
210
207
|
|
|
211
|
-
if (!this._initialAnimatedProps) {
|
|
212
|
-
this._initialAnimatedProps = animatedProps;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
208
|
// Force `collapsable` to be false so that native view is not flattened.
|
|
216
209
|
// Flattened views cannot be accurately referenced by a native driver.
|
|
217
210
|
return (
|
|
@@ -277,5 +270,5 @@ function createAnimatedComponent<Props: {+[string]: mixed, ...}, Instance>(
|
|
|
277
270
|
}
|
|
278
271
|
|
|
279
272
|
// $FlowIgnore[incompatible-cast] - Will be compatible after refactors.
|
|
280
|
-
|
|
273
|
+
export default (createAnimatedComponentInjection.recordAndRetrieve() ??
|
|
281
274
|
createAnimatedComponent: typeof createAnimatedComponent);
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import useAnimatedProps from './useAnimatedProps';
|
|
12
|
-
import useMergeRefs from '../Utilities/useMergeRefs';
|
|
13
11
|
import StyleSheet from '../StyleSheet/StyleSheet';
|
|
12
|
+
import useMergeRefs from '../Utilities/useMergeRefs';
|
|
13
|
+
import useAnimatedProps from './useAnimatedProps';
|
|
14
14
|
import * as React from 'react';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const AnimatedInterpolation = require('./AnimatedInterpolation');
|
|
14
|
-
const AnimatedNode = require('./AnimatedNode');
|
|
15
|
-
const AnimatedValue = require('./AnimatedValue');
|
|
16
|
-
const AnimatedWithChildren = require('./AnimatedWithChildren');
|
|
17
|
-
|
|
18
13
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
19
14
|
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
15
|
+
import type AnimatedNode from './AnimatedNode';
|
|
16
|
+
|
|
17
|
+
import AnimatedInterpolation from './AnimatedInterpolation';
|
|
18
|
+
import AnimatedValue from './AnimatedValue';
|
|
19
|
+
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
20
20
|
|
|
21
|
-
class AnimatedAddition extends AnimatedWithChildren {
|
|
21
|
+
export default class AnimatedAddition extends AnimatedWithChildren {
|
|
22
22
|
_a: AnimatedNode;
|
|
23
23
|
_b: AnimatedNode;
|
|
24
24
|
|
|
@@ -62,5 +62,3 @@ class AnimatedAddition extends AnimatedWithChildren {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
module.exports = AnimatedAddition;
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import
|
|
14
|
-
import
|
|
13
|
+
import type {NativeColorValue} from '../../StyleSheet/PlatformColorValueTypes';
|
|
14
|
+
import type {ProcessedColorValue} from '../../StyleSheet/processColor';
|
|
15
|
+
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
16
|
+
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
17
|
+
|
|
15
18
|
import normalizeColor from '../../StyleSheet/normalizeColor';
|
|
16
19
|
import {processColorObject} from '../../StyleSheet/PlatformColorValueTypes';
|
|
17
20
|
import NativeAnimatedHelper from '../NativeAnimatedHelper';
|
|
18
|
-
|
|
19
|
-
import
|
|
20
|
-
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
21
|
-
import type {NativeColorValue} from '../../StyleSheet/PlatformColorValueTypes';
|
|
22
|
-
import type {ProcessedColorValue} from '../../StyleSheet/processColor';
|
|
21
|
+
import AnimatedValue from './AnimatedValue';
|
|
22
|
+
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
23
23
|
|
|
24
24
|
export type AnimatedColorConfig = $ReadOnly<{
|
|
25
25
|
useNativeDriver: boolean,
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const AnimatedInterpolation = require('./AnimatedInterpolation');
|
|
14
|
-
const AnimatedNode = require('./AnimatedNode');
|
|
15
|
-
const AnimatedWithChildren = require('./AnimatedWithChildren');
|
|
16
|
-
|
|
17
|
-
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
18
13
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
14
|
+
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
15
|
+
import type AnimatedNode from './AnimatedNode';
|
|
19
16
|
|
|
20
|
-
|
|
17
|
+
import AnimatedInterpolation from './AnimatedInterpolation';
|
|
18
|
+
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
19
|
+
|
|
20
|
+
export default class AnimatedDiffClamp extends AnimatedWithChildren {
|
|
21
21
|
_a: AnimatedNode;
|
|
22
22
|
_min: number;
|
|
23
23
|
_max: number;
|
|
@@ -70,5 +70,3 @@ class AnimatedDiffClamp extends AnimatedWithChildren {
|
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
|
|
74
|
-
module.exports = AnimatedDiffClamp;
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const AnimatedInterpolation = require('./AnimatedInterpolation');
|
|
14
|
-
const AnimatedNode = require('./AnimatedNode');
|
|
15
|
-
const AnimatedValue = require('./AnimatedValue');
|
|
16
|
-
const AnimatedWithChildren = require('./AnimatedWithChildren');
|
|
17
|
-
|
|
18
|
-
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
19
13
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
14
|
+
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
20
15
|
|
|
21
|
-
|
|
16
|
+
import AnimatedInterpolation from './AnimatedInterpolation';
|
|
17
|
+
import AnimatedNode from './AnimatedNode';
|
|
18
|
+
import AnimatedValue from './AnimatedValue';
|
|
19
|
+
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
20
|
+
|
|
21
|
+
export default class AnimatedDivision extends AnimatedWithChildren {
|
|
22
22
|
_a: AnimatedNode;
|
|
23
23
|
_b: AnimatedNode;
|
|
24
24
|
_warnedAboutDivideByZero: boolean = false;
|
|
@@ -78,5 +78,3 @@ class AnimatedDivision extends AnimatedWithChildren {
|
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
|
|
82
|
-
module.exports = AnimatedDivision;
|
|
@@ -12,14 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const AnimatedNode = require('./AnimatedNode');
|
|
16
|
-
const AnimatedWithChildren = require('./AnimatedWithChildren');
|
|
17
|
-
const NativeAnimatedHelper = require('../NativeAnimatedHelper');
|
|
18
|
-
|
|
19
|
-
const invariant = require('invariant');
|
|
20
|
-
const normalizeColor = require('../../StyleSheet/normalizeColor');
|
|
21
|
-
|
|
22
15
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
16
|
+
import type AnimatedNode from './AnimatedNode';
|
|
17
|
+
|
|
18
|
+
import normalizeColor from '../../StyleSheet/normalizeColor';
|
|
19
|
+
import NativeAnimatedHelper from '../NativeAnimatedHelper';
|
|
20
|
+
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
21
|
+
import invariant from 'invariant';
|
|
23
22
|
|
|
24
23
|
type ExtrapolateType = 'extend' | 'identity' | 'clamp';
|
|
25
24
|
|
|
@@ -299,7 +298,7 @@ function checkInfiniteRange(name: string, arr: $ReadOnlyArray<number>) {
|
|
|
299
298
|
);
|
|
300
299
|
}
|
|
301
300
|
|
|
302
|
-
class AnimatedInterpolation<
|
|
301
|
+
export default class AnimatedInterpolation<
|
|
303
302
|
OutputT: number | string,
|
|
304
303
|
> extends AnimatedWithChildren {
|
|
305
304
|
// Export for testing.
|
|
@@ -368,5 +367,3 @@ class AnimatedInterpolation<
|
|
|
368
367
|
};
|
|
369
368
|
}
|
|
370
369
|
}
|
|
371
|
-
|
|
372
|
-
module.exports = AnimatedInterpolation;
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const AnimatedInterpolation = require('./AnimatedInterpolation');
|
|
14
|
-
const AnimatedNode = require('./AnimatedNode');
|
|
15
|
-
const AnimatedWithChildren = require('./AnimatedWithChildren');
|
|
16
|
-
|
|
17
|
-
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
18
13
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
14
|
+
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
15
|
+
import type AnimatedNode from './AnimatedNode';
|
|
19
16
|
|
|
20
|
-
|
|
17
|
+
import AnimatedInterpolation from './AnimatedInterpolation';
|
|
18
|
+
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
19
|
+
|
|
20
|
+
export default class AnimatedModulo extends AnimatedWithChildren {
|
|
21
21
|
_a: AnimatedNode;
|
|
22
22
|
_modulus: number;
|
|
23
23
|
|
|
@@ -61,5 +61,3 @@ class AnimatedModulo extends AnimatedWithChildren {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
module.exports = AnimatedModulo;
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const AnimatedInterpolation = require('./AnimatedInterpolation');
|
|
14
|
-
const AnimatedNode = require('./AnimatedNode');
|
|
15
|
-
const AnimatedValue = require('./AnimatedValue');
|
|
16
|
-
const AnimatedWithChildren = require('./AnimatedWithChildren');
|
|
17
|
-
|
|
18
|
-
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
19
13
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
14
|
+
import type {InterpolationConfigType} from './AnimatedInterpolation';
|
|
15
|
+
import type AnimatedNode from './AnimatedNode';
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
import AnimatedInterpolation from './AnimatedInterpolation';
|
|
18
|
+
import AnimatedValue from './AnimatedValue';
|
|
19
|
+
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
20
|
+
|
|
21
|
+
export default class AnimatedMultiplication extends AnimatedWithChildren {
|
|
22
22
|
_a: AnimatedNode;
|
|
23
23
|
_b: AnimatedNode;
|
|
24
24
|
|
|
@@ -61,5 +61,3 @@ class AnimatedMultiplication extends AnimatedWithChildren {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
module.exports = AnimatedMultiplication;
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
import ReactNativeFeatureFlags from '../../ReactNative/ReactNativeFeatureFlags';
|
|
16
|
+
import NativeAnimatedHelper from '../NativeAnimatedHelper';
|
|
17
|
+
import invariant from 'invariant';
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
const NativeAnimatedAPI = NativeAnimatedHelper.API;
|
|
19
20
|
|
|
20
21
|
type ValueListenerCallback = (state: {value: number, ...}) => mixed;
|
|
21
22
|
|
|
@@ -23,12 +24,15 @@ let _uniqueId = 1;
|
|
|
23
24
|
|
|
24
25
|
// Note(vjeux): this would be better as an interface but flow doesn't
|
|
25
26
|
// support them yet
|
|
26
|
-
class AnimatedNode {
|
|
27
|
+
export default class AnimatedNode {
|
|
27
28
|
_listeners: {[key: string]: ValueListenerCallback, ...};
|
|
28
29
|
_platformConfig: ?PlatformConfig;
|
|
29
30
|
__nativeAnimatedValueListener: ?any;
|
|
30
31
|
__attach(): void {}
|
|
31
32
|
__detach(): void {
|
|
33
|
+
if (ReactNativeFeatureFlags.removeListenersOnDetach()) {
|
|
34
|
+
this.removeAllListeners();
|
|
35
|
+
}
|
|
32
36
|
if (this.__isNative && this.__nativeTag != null) {
|
|
33
37
|
NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);
|
|
34
38
|
this.__nativeTag = undefined;
|
|
@@ -53,7 +57,7 @@ class AnimatedNode {
|
|
|
53
57
|
this._listeners = {};
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
__makeNative(platformConfig: ?PlatformConfig) {
|
|
60
|
+
__makeNative(platformConfig: ?PlatformConfig): void {
|
|
57
61
|
if (!this.__isNative) {
|
|
58
62
|
throw new Error('This node cannot be made a "native" animated node');
|
|
59
63
|
}
|
|
@@ -193,5 +197,3 @@ class AnimatedNode {
|
|
|
193
197
|
this._platformConfig = platformConfig;
|
|
194
198
|
}
|
|
195
199
|
}
|
|
196
|
-
|
|
197
|
-
module.exports = AnimatedNode;
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
|
|
13
13
|
import type {PlatformConfig} from '../AnimatedPlatformConfig';
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class AnimatedProps extends AnimatedNode {
|
|
15
|
+
import {findNodeHandle} from '../../ReactNative/RendererProxy';
|
|
16
|
+
import {AnimatedEvent} from '../AnimatedEvent';
|
|
17
|
+
import NativeAnimatedHelper from '../NativeAnimatedHelper';
|
|
18
|
+
import AnimatedNode from './AnimatedNode';
|
|
19
|
+
import AnimatedStyle from './AnimatedStyle';
|
|
20
|
+
import invariant from 'invariant';
|
|
21
|
+
|
|
22
|
+
export default class AnimatedProps extends AnimatedNode {
|
|
23
23
|
_props: Object;
|
|
24
24
|
_animatedView: any;
|
|
25
25
|
_callback: () => void;
|
|
@@ -36,24 +36,12 @@ class AnimatedProps extends AnimatedNode {
|
|
|
36
36
|
this._callback = callback;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
__getValue(
|
|
39
|
+
__getValue(): Object {
|
|
40
40
|
const props: {[string]: any | ((...args: any) => void)} = {};
|
|
41
41
|
for (const key in this._props) {
|
|
42
42
|
const value = this._props[key];
|
|
43
43
|
if (value instanceof AnimatedNode) {
|
|
44
|
-
|
|
45
|
-
// driven nodes. On subsequent renders, we cannot use the value of natively driven nodes
|
|
46
|
-
// as they may not be up to date, so we use the initial value to ensure that values of
|
|
47
|
-
// native animated nodes do not impact rerenders.
|
|
48
|
-
if (value instanceof AnimatedStyle) {
|
|
49
|
-
props[key] = value.__getValue(
|
|
50
|
-
initialProps ? initialProps.style : null,
|
|
51
|
-
);
|
|
52
|
-
} else if (!initialProps || !value.__isNative) {
|
|
53
|
-
props[key] = value.__getValue();
|
|
54
|
-
} else if (initialProps.hasOwnProperty(key)) {
|
|
55
|
-
props[key] = initialProps[key];
|
|
56
|
-
}
|
|
44
|
+
props[key] = value.__getValue();
|
|
57
45
|
} else if (value instanceof AnimatedEvent) {
|
|
58
46
|
props[key] = value.__getHandler();
|
|
59
47
|
} else {
|
|
@@ -134,9 +122,7 @@ class AnimatedProps extends AnimatedNode {
|
|
|
134
122
|
|
|
135
123
|
__connectAnimatedView(): void {
|
|
136
124
|
invariant(this.__isNative, 'Expected node to be marked as "native"');
|
|
137
|
-
const nativeViewTag: ?number =
|
|
138
|
-
this._animatedView,
|
|
139
|
-
);
|
|
125
|
+
const nativeViewTag: ?number = findNodeHandle(this._animatedView);
|
|
140
126
|
invariant(
|
|
141
127
|
nativeViewTag != null,
|
|
142
128
|
'Unable to locate attached view in the native tree',
|
|
@@ -149,9 +135,7 @@ class AnimatedProps extends AnimatedNode {
|
|
|
149
135
|
|
|
150
136
|
__disconnectAnimatedView(): void {
|
|
151
137
|
invariant(this.__isNative, 'Expected node to be marked as "native"');
|
|
152
|
-
const nativeViewTag: ?number =
|
|
153
|
-
this._animatedView,
|
|
154
|
-
);
|
|
138
|
+
const nativeViewTag: ?number = findNodeHandle(this._animatedView);
|
|
155
139
|
invariant(
|
|
156
140
|
nativeViewTag != null,
|
|
157
141
|
'Unable to locate attached view in the native tree',
|
|
@@ -187,5 +171,3 @@ class AnimatedProps extends AnimatedNode {
|
|
|
187
171
|
};
|
|
188
172
|
}
|
|
189
173
|
}
|
|
190
|
-
|
|
191
|
-
module.exports = AnimatedProps;
|