@office-iss/react-native-win32 0.0.0-canary.283 → 0.0.0-canary.285
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 +1 -1
- package/CHANGELOG.json +79 -1
- package/CHANGELOG.md +32 -8
- 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 +1 -1
- 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.flow.js +62 -0
- package/Libraries/Alert/Alert.js +5 -28
- package/Libraries/Alert/Alert.win32.js +6 -28
- package/Libraries/Alert/NativeAlertManager.js +2 -2
- package/Libraries/Alert/RCTAlertManager.android.js +1 -1
- package/Libraries/Alert/RCTAlertManager.flow.js +20 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Animated/AnimatedMock.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +2 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
- package/Libraries/Animated/createAnimatedComponent.js +3 -3
- package/Libraries/Animated/nodes/AnimatedValue.js +35 -13
- package/Libraries/Animated/useAnimatedProps.js +4 -332
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/AppState/NativeAppState.js +2 -2
- package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
- package/Libraries/BatchedBridge/MessageQueue.js +2 -2
- package/Libraries/BatchedBridge/NativeModules.js +4 -3
- package/Libraries/Blob/Blob.js +4 -4
- 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/URLSearchParams.js +1 -2
- 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/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.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +5 -5
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.win32.js +2 -2
- 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 +7 -7
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +9 -9
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +18 -22
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
- package/Libraries/Components/Pressable/Pressable.js +4 -4
- package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +9 -9
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +10 -11
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/RefreshControl.js +9 -9
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +32 -26
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- 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 +33 -18
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
- package/Libraries/Components/Switch/Switch.js +6 -6
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +31 -31
- package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +117 -107
- package/Libraries/Components/TextInput/TextInput.js +122 -115
- package/Libraries/Components/TextInput/TextInput.win32.js +124 -117
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.js +3 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +3 -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/TouchableBounce.js +6 -6
- package/Libraries/Components/Touchable/TouchableHighlight.js +12 -12
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +15 -15
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -7
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -4
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
- package/Libraries/Components/View/View.js +1 -1
- package/Libraries/Components/View/View.win32.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +2 -2
- package/Libraries/Components/View/ViewAccessibility.win32.js +2 -2
- package/Libraries/Components/View/ViewPropTypes.js +22 -22
- package/Libraries/Components/View/ViewPropTypes.win32.js +22 -22
- 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 +5 -4
- package/Libraries/Core/ExceptionsManager.js +6 -4
- package/Libraries/Core/InitializeCore.js +5 -2
- 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 +4 -4
- 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 +4 -3
- package/Libraries/Core/setUpDeveloperTools.js +2 -9
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -5
- package/Libraries/Core/setUpTimers.js +45 -66
- package/Libraries/Core/setUpXHR.js +6 -6
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Events/CustomEvent.js +2 -2
- package/Libraries/Image/AssetRegistry.js +8 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +3 -1
- package/Libraries/Image/Image.ios.js +1 -1
- package/Libraries/Image/Image.win32.js +1 -1
- package/Libraries/Image/ImageBackground.js +1 -1
- package/Libraries/Image/ImageProps.js +17 -17
- package/Libraries/Image/ImageViewNativeComponent.js +4 -5
- 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/nativeImageSource.js +3 -3
- package/Libraries/Image/resolveAssetSource.js +4 -2
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +11 -8
- package/Libraries/Interaction/InteractionManagerStub.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
- package/Libraries/Interaction/PanResponder.js +8 -8
- package/Libraries/Interaction/TaskQueue.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +27 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
- 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 +1 -1
- package/Libraries/Lists/FlatList.js +10 -11
- package/Libraries/Lists/SectionList.js +7 -9
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/ViewabilityHelper.js +1 -1
- package/Libraries/Lists/VirtualizeUtils.js +1 -3
- package/Libraries/Lists/VirtualizedList.js +1 -1
- package/Libraries/Lists/VirtualizedListContext.js +1 -3
- package/Libraries/Lists/VirtualizedSectionList.js +1 -1
- 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 +13 -1
- package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +4 -4
- 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/LogBoxInspectorMessageHeader.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
- package/Libraries/Modal/Modal.js +10 -10
- package/Libraries/Modal/NativeModalManager.js +2 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
- 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/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.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +11 -685
- package/Libraries/Network/XMLHttpRequest_new.js +790 -0
- package/Libraries/Network/XMLHttpRequest_old.js +697 -0
- package/Libraries/Network/convertRequestBody.js +3 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
- package/Libraries/Pressability/Pressability.js +10 -10
- package/Libraries/Pressability/Pressability.win32.js +10 -10
- 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/ReactNative/AppContainer-dev.js +2 -2
- package/Libraries/ReactNative/AppContainer.js +3 -3
- package/Libraries/ReactNative/AppRegistry.js +1 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
- package/Libraries/ReactNative/FabricUIManager.js +18 -8
- 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 +3 -4
- package/Libraries/ReactNative/PaperUIManager.win32.js +3 -4
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -31
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
- package/Libraries/ReactNative/RendererImplementation.js +9 -0
- 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 +6 -5
- package/Libraries/ReactNative/requireNativeComponent.js +2 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +12 -6
- package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -1
- package/Libraries/Settings/NativeSettingsManager.js +2 -2
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +1 -1
- package/Libraries/Settings/Settings.win32.js +1 -1
- package/Libraries/Share/NativeShareModule.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/Rect.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +3 -2
- package/Libraries/StyleSheet/StyleSheet.win32.js +3 -2
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
- package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
- package/Libraries/StyleSheet/processBoxShadow.js +4 -0
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/Text/Text.js +1 -1
- package/Libraries/Text/Text.win32.js +1 -1
- package/Libraries/Text/TextAncestor.js +2 -3
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/Types/CodegenTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.js +42 -40
- package/Libraries/Types/CoreEventTypes.win32.js +42 -40
- package/Libraries/UTFSequence.js +2 -2
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/BackHandler.android.js +2 -2
- package/Libraries/Utilities/BackHandler.ios.js +2 -2
- package/Libraries/Utilities/BackHandler.win32.js +2 -2
- package/Libraries/Utilities/HMRClient.js +2 -2
- 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 +4 -4
- package/Libraries/Utilities/Platform.flow.js +8 -8
- package/Libraries/Utilities/Platform.flow.win32.js +8 -8
- package/Libraries/Utilities/Platform.ios.js +4 -4
- package/Libraries/Utilities/Platform.win32.js +2 -2
- package/Libraries/Utilities/ReactNativeTestTools.js +5 -5
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/differ/deepDiffer.js +3 -3
- package/Libraries/Utilities/dismissKeyboard.js +2 -1
- package/Libraries/Utilities/stringifySafe.js +2 -2
- package/Libraries/Vibration/NativeVibration.js +2 -2
- package/Libraries/Vibration/Vibration.js +1 -1
- 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/vendor/core/ErrorUtils.js +1 -1
- package/flow/jest.js +14 -14
- package/index.js +40 -38
- package/index.win32.js +40 -38
- package/jest/mockScrollView.js +1 -1
- package/jest/setup.js +305 -262
- package/overrides.json +44 -56
- package/package.json +17 -17
- package/src/private/animated/createAnimatedPropsHook.js +360 -0
- package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
- package/src/private/components/HScrollViewNativeComponents.js +1 -1
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
- package/src/private/devmenu/DevMenu.js +1 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +29 -55
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +4 -8
- 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 +8 -8
- package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +18 -15
- package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
- package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
- package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +40 -24
- package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +7 -6
- package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
- package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +1 -1
- package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +5 -3
- package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -4
- package/src/private/setup/setUpDOM.js +7 -2
- package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +6 -6
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +2 -2
- 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 +2 -2
- 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/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 → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
- package/src/private/webapis/dom/events/CustomEvent.js +40 -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 +120 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +48 -25
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +6 -5
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +25 -25
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +55 -77
- 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 +43 -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 +63 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +54 -0
- package/src/private/webapis/xhr/events/ProgressEvent.js +54 -0
- package/types/index.d.ts +0 -5
- 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/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 → 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/NativePermissionsAndroid.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/{specs → specs_DEPRECATED}/modules/NativeUIManager.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,120 @@
|
|
|
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
|
+
get textContent(): null {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function createDocumentElement(
|
|
80
|
+
rootTag: RootTag,
|
|
81
|
+
ownerDocument: ReactNativeDocument,
|
|
82
|
+
): ReactNativeElement {
|
|
83
|
+
// In the case of the document object, React does not create an instance
|
|
84
|
+
// handle for it, so we create a custom one.
|
|
85
|
+
const instanceHandle = createReactNativeDocumentElementInstanceHandle();
|
|
86
|
+
|
|
87
|
+
// $FlowExpectedError[incompatible-type]
|
|
88
|
+
const rootTagIsNumber: number = rootTag;
|
|
89
|
+
// $FlowExpectedError[incompatible-type]
|
|
90
|
+
const viewConfig: ViewConfig = null;
|
|
91
|
+
|
|
92
|
+
const documentElement = new ReactNativeElement(
|
|
93
|
+
rootTagIsNumber,
|
|
94
|
+
viewConfig,
|
|
95
|
+
instanceHandle,
|
|
96
|
+
ownerDocument,
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
// The root shadow node was created ahead of time without an instance
|
|
100
|
+
// handle, so we need to link them now.
|
|
101
|
+
const rootShadowNode = NativeDOM.linkRootNode(rootTag, instanceHandle);
|
|
102
|
+
setNativeElementReferenceForReactNativeDocumentElementInstanceHandle(
|
|
103
|
+
instanceHandle,
|
|
104
|
+
rootShadowNode,
|
|
105
|
+
);
|
|
106
|
+
setPublicInstanceForReactNativeDocumentElementInstanceHandle(
|
|
107
|
+
instanceHandle,
|
|
108
|
+
documentElement,
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
return documentElement;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export function createReactNativeDocument(
|
|
115
|
+
rootTag: RootTag,
|
|
116
|
+
): ReactNativeDocument {
|
|
117
|
+
const instanceHandle = createReactNativeDocumentInstanceHandle(rootTag);
|
|
118
|
+
const document = new ReactNativeDocument(rootTag, instanceHandle);
|
|
119
|
+
return document;
|
|
120
|
+
}
|
|
@@ -17,19 +17,23 @@ import type {
|
|
|
17
17
|
MeasureInWindowOnSuccessCallback,
|
|
18
18
|
MeasureLayoutOnSuccessCallback,
|
|
19
19
|
MeasureOnSuccessCallback,
|
|
20
|
+
Node as ShadowNode,
|
|
20
21
|
ViewConfig,
|
|
21
22
|
} from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';
|
|
23
|
+
import type {InstanceHandle} from './internals/NodeInternals';
|
|
24
|
+
import type ReactNativeDocument from './ReactNativeDocument';
|
|
22
25
|
|
|
23
26
|
import TextInputState from '../../../../../Libraries/Components/TextInput/TextInputState';
|
|
24
27
|
import {getFabricUIManager} from '../../../../../Libraries/ReactNative/FabricUIManager';
|
|
25
28
|
import {create as createAttributePayload} from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';
|
|
26
29
|
import warnForStyleProps from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps';
|
|
27
|
-
import ReadOnlyElement, {getBoundingClientRect} from './ReadOnlyElement';
|
|
28
|
-
import ReadOnlyNode, {setInstanceHandle} from './ReadOnlyNode';
|
|
29
30
|
import {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
getNativeElementReference,
|
|
32
|
+
getPublicInstanceFromInstanceHandle,
|
|
33
|
+
setInstanceHandle,
|
|
34
|
+
setOwnerDocument,
|
|
35
|
+
} from './internals/NodeInternals';
|
|
36
|
+
import ReadOnlyElement, {getBoundingClientRect} from './ReadOnlyElement';
|
|
33
37
|
import NativeDOM from './specs/NativeDOM';
|
|
34
38
|
import nullthrows from 'nullthrows';
|
|
35
39
|
|
|
@@ -60,7 +64,7 @@ class ReactNativeElementMethods
|
|
|
60
64
|
{
|
|
61
65
|
// These need to be accessible from `ReactFabricPublicInstanceUtils`.
|
|
62
66
|
__nativeTag: number;
|
|
63
|
-
__internalInstanceHandle:
|
|
67
|
+
__internalInstanceHandle: InstanceHandle;
|
|
64
68
|
|
|
65
69
|
__viewConfig: ViewConfig;
|
|
66
70
|
|
|
@@ -69,12 +73,13 @@ class ReactNativeElementMethods
|
|
|
69
73
|
constructor(
|
|
70
74
|
tag: number,
|
|
71
75
|
viewConfig: ViewConfig,
|
|
72
|
-
|
|
76
|
+
instanceHandle: InstanceHandle,
|
|
77
|
+
ownerDocument: ReactNativeDocument,
|
|
73
78
|
) {
|
|
74
|
-
super(
|
|
79
|
+
super(instanceHandle, ownerDocument);
|
|
75
80
|
|
|
76
81
|
this.__nativeTag = tag;
|
|
77
|
-
this.__internalInstanceHandle =
|
|
82
|
+
this.__internalInstanceHandle = instanceHandle;
|
|
78
83
|
this.__viewConfig = viewConfig;
|
|
79
84
|
}
|
|
80
85
|
|
|
@@ -85,7 +90,7 @@ class ReactNativeElementMethods
|
|
|
85
90
|
}
|
|
86
91
|
|
|
87
92
|
get offsetLeft(): number {
|
|
88
|
-
const node =
|
|
93
|
+
const node = getNativeElementReference(this);
|
|
89
94
|
|
|
90
95
|
if (node != null) {
|
|
91
96
|
const offset = NativeDOM.getOffset(node);
|
|
@@ -96,7 +101,7 @@ class ReactNativeElementMethods
|
|
|
96
101
|
}
|
|
97
102
|
|
|
98
103
|
get offsetParent(): ReadOnlyElement | null {
|
|
99
|
-
const node =
|
|
104
|
+
const node = getNativeElementReference(this);
|
|
100
105
|
|
|
101
106
|
if (node != null) {
|
|
102
107
|
const offset = NativeDOM.getOffset(node);
|
|
@@ -105,7 +110,7 @@ class ReactNativeElementMethods
|
|
|
105
110
|
// in JavaScript yet.
|
|
106
111
|
if (offset[0] != null) {
|
|
107
112
|
const offsetParentInstanceHandle = offset[0];
|
|
108
|
-
const offsetParent =
|
|
113
|
+
const offsetParent = getPublicInstanceFromInstanceHandle(
|
|
109
114
|
offsetParentInstanceHandle,
|
|
110
115
|
);
|
|
111
116
|
// $FlowExpectedError[incompatible-type] The value returned by `getOffset` is always an instance handle for `ReadOnlyElement`.
|
|
@@ -118,7 +123,7 @@ class ReactNativeElementMethods
|
|
|
118
123
|
}
|
|
119
124
|
|
|
120
125
|
get offsetTop(): number {
|
|
121
|
-
const node =
|
|
126
|
+
const node = getNativeElementReference(this);
|
|
122
127
|
|
|
123
128
|
if (node != null) {
|
|
124
129
|
const offset = NativeDOM.getOffset(node);
|
|
@@ -149,16 +154,20 @@ class ReactNativeElementMethods
|
|
|
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,10 +214,15 @@ 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
|
}
|
|
@@ -215,11 +234,15 @@ function ReactNativeElement(
|
|
|
215
234
|
tag: number,
|
|
216
235
|
viewConfig: ViewConfig,
|
|
217
236
|
internalInstanceHandle: InternalInstanceHandle,
|
|
237
|
+
ownerDocument: ReactNativeDocument,
|
|
218
238
|
) {
|
|
239
|
+
// Inlined from `ReadOnlyNode`
|
|
240
|
+
setOwnerDocument(this, ownerDocument);
|
|
241
|
+
setInstanceHandle(this, internalInstanceHandle);
|
|
242
|
+
|
|
219
243
|
this.__nativeTag = tag;
|
|
220
244
|
this.__internalInstanceHandle = internalInstanceHandle;
|
|
221
245
|
this.__viewConfig = viewConfig;
|
|
222
|
-
setInstanceHandle(this, internalInstanceHandle);
|
|
223
246
|
}
|
|
224
247
|
|
|
225
248
|
ReactNativeElement.prototype = Object.create(
|
|
@@ -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 '';
|
|
@@ -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);
|
|
@@ -180,10 +180,10 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
get textContent(): string | null {
|
|
183
|
-
const
|
|
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
|
|