@office-iss/react-native-win32 0.78.3 → 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 +159 -46
- package/CHANGELOG.md +49 -26
- 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 -24
- 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,121 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
* @flow strict-local
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// flowlint unsafe-getters-setters:off
|
|
12
|
+
|
|
13
|
+
import type {RootTag} from '../../../../../Libraries/ReactNative/RootTag';
|
|
14
|
+
import type {ViewConfig} from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';
|
|
15
|
+
import type HTMLCollection from '../oldstylecollections/HTMLCollection';
|
|
16
|
+
import type {ReactNativeDocumentInstanceHandle} from './internals/ReactNativeDocumentInstanceHandle';
|
|
17
|
+
import type ReadOnlyElement from './ReadOnlyElement';
|
|
18
|
+
|
|
19
|
+
import {createHTMLCollection} from '../oldstylecollections/HTMLCollection';
|
|
20
|
+
import {
|
|
21
|
+
createReactNativeDocumentElementInstanceHandle,
|
|
22
|
+
setNativeElementReferenceForReactNativeDocumentElementInstanceHandle,
|
|
23
|
+
setPublicInstanceForReactNativeDocumentElementInstanceHandle,
|
|
24
|
+
} from './internals/ReactNativeDocumentElementInstanceHandle';
|
|
25
|
+
import {createReactNativeDocumentInstanceHandle} from './internals/ReactNativeDocumentInstanceHandle';
|
|
26
|
+
import ReactNativeElement from './ReactNativeElement';
|
|
27
|
+
import ReadOnlyNode from './ReadOnlyNode';
|
|
28
|
+
import NativeDOM from './specs/NativeDOM';
|
|
29
|
+
|
|
30
|
+
export default class ReactNativeDocument extends ReadOnlyNode {
|
|
31
|
+
_documentElement: ReactNativeElement;
|
|
32
|
+
|
|
33
|
+
constructor(
|
|
34
|
+
rootTag: RootTag,
|
|
35
|
+
instanceHandle: ReactNativeDocumentInstanceHandle,
|
|
36
|
+
) {
|
|
37
|
+
super(instanceHandle, null);
|
|
38
|
+
this._documentElement = createDocumentElement(rootTag, this);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get childElementCount(): number {
|
|
42
|
+
// just `documentElement`.
|
|
43
|
+
return 1;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
get children(): HTMLCollection<ReadOnlyElement> {
|
|
47
|
+
return createHTMLCollection([this.documentElement]);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
get documentElement(): ReactNativeElement {
|
|
51
|
+
return this._documentElement;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
get firstElementChild(): ReadOnlyElement | null {
|
|
55
|
+
return this.documentElement;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
get lastElementChild(): ReadOnlyElement | null {
|
|
59
|
+
return this.documentElement;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
get nodeName(): string {
|
|
63
|
+
return '#document';
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
get nodeType(): number {
|
|
67
|
+
return ReadOnlyNode.DOCUMENT_NODE;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
get nodeValue(): null {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// $FlowExpectedError[incompatible-extend] This is defined as returning string in Node, but it's actually null in Document.
|
|
75
|
+
get textContent(): null {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function createDocumentElement(
|
|
81
|
+
rootTag: RootTag,
|
|
82
|
+
ownerDocument: ReactNativeDocument,
|
|
83
|
+
): ReactNativeElement {
|
|
84
|
+
// In the case of the document object, React does not create an instance
|
|
85
|
+
// handle for it, so we create a custom one.
|
|
86
|
+
const instanceHandle = createReactNativeDocumentElementInstanceHandle();
|
|
87
|
+
|
|
88
|
+
// $FlowExpectedError[incompatible-type]
|
|
89
|
+
const rootTagIsNumber: number = rootTag;
|
|
90
|
+
// $FlowExpectedError[incompatible-type]
|
|
91
|
+
const viewConfig: ViewConfig = null;
|
|
92
|
+
|
|
93
|
+
const documentElement = new ReactNativeElement(
|
|
94
|
+
rootTagIsNumber,
|
|
95
|
+
viewConfig,
|
|
96
|
+
instanceHandle,
|
|
97
|
+
ownerDocument,
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
// The root shadow node was created ahead of time without an instance
|
|
101
|
+
// handle, so we need to link them now.
|
|
102
|
+
const rootShadowNode = NativeDOM.linkRootNode(rootTag, instanceHandle);
|
|
103
|
+
setNativeElementReferenceForReactNativeDocumentElementInstanceHandle(
|
|
104
|
+
instanceHandle,
|
|
105
|
+
rootShadowNode,
|
|
106
|
+
);
|
|
107
|
+
setPublicInstanceForReactNativeDocumentElementInstanceHandle(
|
|
108
|
+
instanceHandle,
|
|
109
|
+
documentElement,
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
return documentElement;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export function createReactNativeDocument(
|
|
116
|
+
rootTag: RootTag,
|
|
117
|
+
): ReactNativeDocument {
|
|
118
|
+
const instanceHandle = createReactNativeDocumentInstanceHandle(rootTag);
|
|
119
|
+
const document = new ReactNativeDocument(rootTag, instanceHandle);
|
|
120
|
+
return document;
|
|
121
|
+
}
|
|
@@ -11,25 +11,31 @@
|
|
|
11
11
|
// flowlint unsafe-getters-setters:off
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
|
-
HostInstance,
|
|
15
|
-
INativeMethods,
|
|
16
14
|
InternalInstanceHandle,
|
|
15
|
+
Node as ShadowNode,
|
|
16
|
+
ViewConfig,
|
|
17
|
+
} from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';
|
|
18
|
+
import type {
|
|
19
|
+
HostInstance,
|
|
20
|
+
LegacyHostInstanceMethods,
|
|
17
21
|
MeasureInWindowOnSuccessCallback,
|
|
18
22
|
MeasureLayoutOnSuccessCallback,
|
|
19
23
|
MeasureOnSuccessCallback,
|
|
20
|
-
|
|
21
|
-
} from '
|
|
24
|
+
} from '../../../types/HostInstance';
|
|
25
|
+
import type {InstanceHandle} from './internals/NodeInternals';
|
|
26
|
+
import type ReactNativeDocument from './ReactNativeDocument';
|
|
22
27
|
|
|
23
28
|
import TextInputState from '../../../../../Libraries/Components/TextInput/TextInputState';
|
|
24
29
|
import {getFabricUIManager} from '../../../../../Libraries/ReactNative/FabricUIManager';
|
|
25
30
|
import {create as createAttributePayload} from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';
|
|
26
31
|
import warnForStyleProps from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps';
|
|
27
|
-
import ReadOnlyElement, {getBoundingClientRect} from './ReadOnlyElement';
|
|
28
|
-
import ReadOnlyNode, {setInstanceHandle} from './ReadOnlyNode';
|
|
29
32
|
import {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
getNativeElementReference,
|
|
34
|
+
getPublicInstanceFromInstanceHandle,
|
|
35
|
+
setInstanceHandle,
|
|
36
|
+
setOwnerDocument,
|
|
37
|
+
} from './internals/NodeInternals';
|
|
38
|
+
import ReadOnlyElement, {getBoundingClientRect} from './ReadOnlyElement';
|
|
33
39
|
import NativeDOM from './specs/NativeDOM';
|
|
34
40
|
import nullthrows from 'nullthrows';
|
|
35
41
|
|
|
@@ -54,13 +60,13 @@ const noop = () => {};
|
|
|
54
60
|
// was slower than this method because the engine has to create an object than
|
|
55
61
|
// we then discard to create a new one.
|
|
56
62
|
|
|
57
|
-
class
|
|
63
|
+
class ReactNativeElement
|
|
58
64
|
extends ReadOnlyElement
|
|
59
|
-
implements
|
|
65
|
+
implements LegacyHostInstanceMethods
|
|
60
66
|
{
|
|
61
67
|
// These need to be accessible from `ReactFabricPublicInstanceUtils`.
|
|
62
68
|
__nativeTag: number;
|
|
63
|
-
__internalInstanceHandle:
|
|
69
|
+
__internalInstanceHandle: InstanceHandle;
|
|
64
70
|
|
|
65
71
|
__viewConfig: ViewConfig;
|
|
66
72
|
|
|
@@ -69,12 +75,13 @@ class ReactNativeElementMethods
|
|
|
69
75
|
constructor(
|
|
70
76
|
tag: number,
|
|
71
77
|
viewConfig: ViewConfig,
|
|
72
|
-
|
|
78
|
+
instanceHandle: InstanceHandle,
|
|
79
|
+
ownerDocument: ReactNativeDocument,
|
|
73
80
|
) {
|
|
74
|
-
super(
|
|
81
|
+
super(instanceHandle, ownerDocument);
|
|
75
82
|
|
|
76
83
|
this.__nativeTag = tag;
|
|
77
|
-
this.__internalInstanceHandle =
|
|
84
|
+
this.__internalInstanceHandle = instanceHandle;
|
|
78
85
|
this.__viewConfig = viewConfig;
|
|
79
86
|
}
|
|
80
87
|
|
|
@@ -85,7 +92,7 @@ class ReactNativeElementMethods
|
|
|
85
92
|
}
|
|
86
93
|
|
|
87
94
|
get offsetLeft(): number {
|
|
88
|
-
const node =
|
|
95
|
+
const node = getNativeElementReference(this);
|
|
89
96
|
|
|
90
97
|
if (node != null) {
|
|
91
98
|
const offset = NativeDOM.getOffset(node);
|
|
@@ -96,7 +103,7 @@ class ReactNativeElementMethods
|
|
|
96
103
|
}
|
|
97
104
|
|
|
98
105
|
get offsetParent(): ReadOnlyElement | null {
|
|
99
|
-
const node =
|
|
106
|
+
const node = getNativeElementReference(this);
|
|
100
107
|
|
|
101
108
|
if (node != null) {
|
|
102
109
|
const offset = NativeDOM.getOffset(node);
|
|
@@ -105,7 +112,7 @@ class ReactNativeElementMethods
|
|
|
105
112
|
// in JavaScript yet.
|
|
106
113
|
if (offset[0] != null) {
|
|
107
114
|
const offsetParentInstanceHandle = offset[0];
|
|
108
|
-
const offsetParent =
|
|
115
|
+
const offsetParent = getPublicInstanceFromInstanceHandle(
|
|
109
116
|
offsetParentInstanceHandle,
|
|
110
117
|
);
|
|
111
118
|
// $FlowExpectedError[incompatible-type] The value returned by `getOffset` is always an instance handle for `ReadOnlyElement`.
|
|
@@ -118,7 +125,7 @@ class ReactNativeElementMethods
|
|
|
118
125
|
}
|
|
119
126
|
|
|
120
127
|
get offsetTop(): number {
|
|
121
|
-
const node =
|
|
128
|
+
const node = getNativeElementReference(this);
|
|
122
129
|
|
|
123
130
|
if (node != null) {
|
|
124
131
|
const offset = NativeDOM.getOffset(node);
|
|
@@ -139,26 +146,28 @@ class ReactNativeElementMethods
|
|
|
139
146
|
*/
|
|
140
147
|
|
|
141
148
|
blur(): void {
|
|
142
|
-
// $FlowFixMe[incompatible-exact] Migrate all usages of `NativeMethods` to an interface to fix this.
|
|
143
149
|
TextInputState.blurTextInput(this);
|
|
144
150
|
}
|
|
145
151
|
|
|
146
152
|
focus() {
|
|
147
|
-
// $FlowFixMe[incompatible-exact] Migrate all usages of `NativeMethods` to an interface to fix this.
|
|
148
153
|
TextInputState.focusTextInput(this);
|
|
149
154
|
}
|
|
150
155
|
|
|
151
156
|
measure(callback: MeasureOnSuccessCallback) {
|
|
152
|
-
const node =
|
|
157
|
+
const node = getNativeElementReference(this);
|
|
153
158
|
if (node != null) {
|
|
154
|
-
|
|
159
|
+
// $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
|
|
160
|
+
const shadowNode: ShadowNode = node;
|
|
161
|
+
nullthrows(getFabricUIManager()).measure(shadowNode, callback);
|
|
155
162
|
}
|
|
156
163
|
}
|
|
157
164
|
|
|
158
165
|
measureInWindow(callback: MeasureInWindowOnSuccessCallback) {
|
|
159
|
-
const node =
|
|
166
|
+
const node = getNativeElementReference(this);
|
|
160
167
|
if (node != null) {
|
|
161
|
-
|
|
168
|
+
// $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
|
|
169
|
+
const shadowNode: ShadowNode = node;
|
|
170
|
+
nullthrows(getFabricUIManager()).measureInWindow(shadowNode, callback);
|
|
162
171
|
}
|
|
163
172
|
}
|
|
164
173
|
|
|
@@ -167,7 +176,7 @@ class ReactNativeElementMethods
|
|
|
167
176
|
onSuccess: MeasureLayoutOnSuccessCallback,
|
|
168
177
|
onFail?: () => void /* currently unused */,
|
|
169
178
|
) {
|
|
170
|
-
if (!(relativeToNativeNode instanceof
|
|
179
|
+
if (!(relativeToNativeNode instanceof ReactNativeElement)) {
|
|
171
180
|
if (__DEV__) {
|
|
172
181
|
console.error(
|
|
173
182
|
'Warning: ref.measureLayout must be called with a ref to a native component.',
|
|
@@ -177,13 +186,18 @@ class ReactNativeElementMethods
|
|
|
177
186
|
return;
|
|
178
187
|
}
|
|
179
188
|
|
|
180
|
-
const toStateNode =
|
|
181
|
-
const fromStateNode =
|
|
189
|
+
const toStateNode = getNativeElementReference(this);
|
|
190
|
+
const fromStateNode = getNativeElementReference(relativeToNativeNode);
|
|
182
191
|
|
|
183
192
|
if (toStateNode != null && fromStateNode != null) {
|
|
193
|
+
// $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
|
|
194
|
+
const toStateShadowNode: ShadowNode = toStateNode;
|
|
195
|
+
// $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
|
|
196
|
+
const fromStateShadowNode: ShadowNode = fromStateNode;
|
|
197
|
+
|
|
184
198
|
nullthrows(getFabricUIManager()).measureLayout(
|
|
185
|
-
|
|
186
|
-
|
|
199
|
+
toStateShadowNode,
|
|
200
|
+
fromStateShadowNode,
|
|
187
201
|
onFail != null ? onFail : noop,
|
|
188
202
|
onSuccess != null ? onSuccess : noop,
|
|
189
203
|
);
|
|
@@ -200,32 +214,49 @@ class ReactNativeElementMethods
|
|
|
200
214
|
this.__viewConfig.validAttributes,
|
|
201
215
|
);
|
|
202
216
|
|
|
203
|
-
const node =
|
|
217
|
+
const node = getNativeElementReference(this);
|
|
204
218
|
|
|
205
219
|
if (node != null && updatePayload != null) {
|
|
206
|
-
|
|
220
|
+
// $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
|
|
221
|
+
const shadowNode: ShadowNode = node;
|
|
222
|
+
nullthrows(getFabricUIManager()).setNativeProps(
|
|
223
|
+
shadowNode,
|
|
224
|
+
updatePayload,
|
|
225
|
+
);
|
|
207
226
|
}
|
|
208
227
|
}
|
|
209
228
|
}
|
|
210
229
|
|
|
211
|
-
|
|
212
|
-
// calling super() in the original class.
|
|
213
|
-
function ReactNativeElement(
|
|
214
|
-
this: ReactNativeElementMethods,
|
|
215
|
-
tag: number,
|
|
216
|
-
viewConfig: ViewConfig,
|
|
217
|
-
internalInstanceHandle: InternalInstanceHandle,
|
|
218
|
-
) {
|
|
219
|
-
this.__nativeTag = tag;
|
|
220
|
-
this.__internalInstanceHandle = internalInstanceHandle;
|
|
221
|
-
this.__viewConfig = viewConfig;
|
|
222
|
-
setInstanceHandle(this, internalInstanceHandle);
|
|
223
|
-
}
|
|
230
|
+
type ReactNativeElementT = ReactNativeElement;
|
|
224
231
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
)
|
|
232
|
+
function replaceConstructorWithoutSuper(
|
|
233
|
+
ReactNativeElementClass: Class<ReactNativeElementT>,
|
|
234
|
+
): Class<ReactNativeElementT> {
|
|
235
|
+
// Alternative constructor just implemented to provide a better performance than
|
|
236
|
+
// calling super() in the original class.
|
|
237
|
+
// eslint-disable-next-line no-shadow
|
|
238
|
+
function ReactNativeElement(
|
|
239
|
+
this: ReactNativeElementT,
|
|
240
|
+
tag: number,
|
|
241
|
+
viewConfig: ViewConfig,
|
|
242
|
+
internalInstanceHandle: InternalInstanceHandle,
|
|
243
|
+
ownerDocument: ReactNativeDocument,
|
|
244
|
+
) {
|
|
245
|
+
// Inlined from `ReadOnlyNode`
|
|
246
|
+
setOwnerDocument(this, ownerDocument);
|
|
247
|
+
setInstanceHandle(this, internalInstanceHandle);
|
|
248
|
+
|
|
249
|
+
this.__nativeTag = tag;
|
|
250
|
+
this.__internalInstanceHandle = internalInstanceHandle;
|
|
251
|
+
this.__viewConfig = viewConfig;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
ReactNativeElement.prototype = ReactNativeElementClass.prototype;
|
|
255
|
+
|
|
256
|
+
// $FlowExpectedError[incompatible-return]
|
|
257
|
+
return ReactNativeElement;
|
|
258
|
+
}
|
|
228
259
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
260
|
+
export default replaceConstructorWithoutSuper(
|
|
261
|
+
ReactNativeElement,
|
|
262
|
+
) as typeof ReactNativeElement;
|
|
@@ -12,9 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
import type ReadOnlyElement from './ReadOnlyElement';
|
|
14
14
|
|
|
15
|
-
import
|
|
15
|
+
import {getNativeTextReference} from './internals/NodeInternals';
|
|
16
|
+
import {getElementSibling} from './internals/Traversal';
|
|
17
|
+
import ReadOnlyNode from './ReadOnlyNode';
|
|
16
18
|
import NativeDOM from './specs/NativeDOM';
|
|
17
|
-
import {getElementSibling} from './utilities/Traversal';
|
|
18
19
|
|
|
19
20
|
export default class ReadOnlyCharacterData extends ReadOnlyNode {
|
|
20
21
|
get nextElementSibling(): ReadOnlyElement | null {
|
|
@@ -26,10 +27,10 @@ export default class ReadOnlyCharacterData extends ReadOnlyNode {
|
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
get data(): string {
|
|
29
|
-
const
|
|
30
|
+
const node = getNativeTextReference(this);
|
|
30
31
|
|
|
31
|
-
if (
|
|
32
|
-
return NativeDOM.getTextContent(
|
|
32
|
+
if (node != null) {
|
|
33
|
+
return NativeDOM.getTextContent(node);
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
return '';
|
|
@@ -42,7 +43,7 @@ export default class ReadOnlyCharacterData extends ReadOnlyNode {
|
|
|
42
43
|
/**
|
|
43
44
|
* @override
|
|
44
45
|
*/
|
|
45
|
-
get textContent(): string
|
|
46
|
+
get textContent(): string {
|
|
46
47
|
return this.data;
|
|
47
48
|
}
|
|
48
49
|
|
|
@@ -12,15 +12,15 @@
|
|
|
12
12
|
|
|
13
13
|
import type HTMLCollection from '../oldstylecollections/HTMLCollection';
|
|
14
14
|
|
|
15
|
-
import DOMRect from '
|
|
15
|
+
import DOMRect from '../../geometry/DOMRect';
|
|
16
16
|
import {createHTMLCollection} from '../oldstylecollections/HTMLCollection';
|
|
17
|
-
import
|
|
18
|
-
getChildNodes,
|
|
17
|
+
import {
|
|
19
18
|
getInstanceHandle,
|
|
20
|
-
|
|
21
|
-
} from './
|
|
19
|
+
getNativeElementReference,
|
|
20
|
+
} from './internals/NodeInternals';
|
|
21
|
+
import {getElementSibling} from './internals/Traversal';
|
|
22
|
+
import ReadOnlyNode, {getChildNodes} from './ReadOnlyNode';
|
|
22
23
|
import NativeDOM from './specs/NativeDOM';
|
|
23
|
-
import {getElementSibling} from './utilities/Traversal';
|
|
24
24
|
|
|
25
25
|
export default class ReadOnlyElement extends ReadOnlyNode {
|
|
26
26
|
get childElementCount(): number {
|
|
@@ -32,7 +32,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
get clientHeight(): number {
|
|
35
|
-
const node =
|
|
35
|
+
const node = getNativeElementReference(this);
|
|
36
36
|
|
|
37
37
|
if (node != null) {
|
|
38
38
|
const innerSize = NativeDOM.getInnerSize(node);
|
|
@@ -43,7 +43,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
get clientLeft(): number {
|
|
46
|
-
const node =
|
|
46
|
+
const node = getNativeElementReference(this);
|
|
47
47
|
|
|
48
48
|
if (node != null) {
|
|
49
49
|
const borderSize = NativeDOM.getBorderWidth(node);
|
|
@@ -54,7 +54,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
get clientTop(): number {
|
|
57
|
-
const node =
|
|
57
|
+
const node = getNativeElementReference(this);
|
|
58
58
|
|
|
59
59
|
if (node != null) {
|
|
60
60
|
const borderSize = NativeDOM.getBorderWidth(node);
|
|
@@ -65,7 +65,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
get clientWidth(): number {
|
|
68
|
-
const node =
|
|
68
|
+
const node = getNativeElementReference(this);
|
|
69
69
|
|
|
70
70
|
if (node != null) {
|
|
71
71
|
const innerSize = NativeDOM.getInnerSize(node);
|
|
@@ -126,7 +126,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
get scrollHeight(): number {
|
|
129
|
-
const node =
|
|
129
|
+
const node = getNativeElementReference(this);
|
|
130
130
|
|
|
131
131
|
if (node != null) {
|
|
132
132
|
const scrollSize = NativeDOM.getScrollSize(node);
|
|
@@ -137,7 +137,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
get scrollLeft(): number {
|
|
140
|
-
const node =
|
|
140
|
+
const node = getNativeElementReference(this);
|
|
141
141
|
|
|
142
142
|
if (node != null) {
|
|
143
143
|
const scrollPosition = NativeDOM.getScrollPosition(node);
|
|
@@ -148,7 +148,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
get scrollTop(): number {
|
|
151
|
-
const node =
|
|
151
|
+
const node = getNativeElementReference(this);
|
|
152
152
|
|
|
153
153
|
if (node != null) {
|
|
154
154
|
const scrollPosition = NativeDOM.getScrollPosition(node);
|
|
@@ -159,7 +159,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
get scrollWidth(): number {
|
|
162
|
-
const node =
|
|
162
|
+
const node = getNativeElementReference(this);
|
|
163
163
|
|
|
164
164
|
if (node != null) {
|
|
165
165
|
const scrollSize = NativeDOM.getScrollSize(node);
|
|
@@ -170,7 +170,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
get tagName(): string {
|
|
173
|
-
const node =
|
|
173
|
+
const node = getNativeElementReference(this);
|
|
174
174
|
|
|
175
175
|
if (node != null) {
|
|
176
176
|
return NativeDOM.getTagName(node);
|
|
@@ -179,11 +179,11 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
179
179
|
return '';
|
|
180
180
|
}
|
|
181
181
|
|
|
182
|
-
get textContent(): string
|
|
183
|
-
const
|
|
182
|
+
get textContent(): string {
|
|
183
|
+
const node = getNativeElementReference(this);
|
|
184
184
|
|
|
185
|
-
if (
|
|
186
|
-
return NativeDOM.getTextContent(
|
|
185
|
+
if (node != null) {
|
|
186
|
+
return NativeDOM.getTextContent(node);
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
return '';
|
|
@@ -197,7 +197,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
197
197
|
* Pointer Capture APIs
|
|
198
198
|
*/
|
|
199
199
|
hasPointerCapture(pointerId: number): boolean {
|
|
200
|
-
const node =
|
|
200
|
+
const node = getNativeElementReference(this);
|
|
201
201
|
if (node != null) {
|
|
202
202
|
return NativeDOM.hasPointerCapture(node, pointerId);
|
|
203
203
|
}
|
|
@@ -205,14 +205,14 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
setPointerCapture(pointerId: number): void {
|
|
208
|
-
const node =
|
|
208
|
+
const node = getNativeElementReference(this);
|
|
209
209
|
if (node != null) {
|
|
210
210
|
NativeDOM.setPointerCapture(node, pointerId);
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
releasePointerCapture(pointerId: number): void {
|
|
215
|
-
const node =
|
|
215
|
+
const node = getNativeElementReference(this);
|
|
216
216
|
if (node != null) {
|
|
217
217
|
NativeDOM.releasePointerCapture(node, pointerId);
|
|
218
218
|
}
|
|
@@ -232,13 +232,13 @@ function getChildElements(node: ReadOnlyNode): $ReadOnlyArray<ReadOnlyElement> {
|
|
|
232
232
|
* implement methods like `offsetWidth` and `offsetHeight`.
|
|
233
233
|
*/
|
|
234
234
|
export function getBoundingClientRect(
|
|
235
|
-
|
|
235
|
+
element: ReadOnlyElement,
|
|
236
236
|
{includeTransform}: {includeTransform: boolean},
|
|
237
237
|
): DOMRect {
|
|
238
|
-
const
|
|
238
|
+
const node = getNativeElementReference(element);
|
|
239
239
|
|
|
240
|
-
if (
|
|
241
|
-
const rect = NativeDOM.getBoundingClientRect(
|
|
240
|
+
if (node != null) {
|
|
241
|
+
const rect = NativeDOM.getBoundingClientRect(node, includeTransform);
|
|
242
242
|
return new DOMRect(rect[0], rect[1], rect[2], rect[3]);
|
|
243
243
|
}
|
|
244
244
|
|