@office-iss/react-native-win32 0.0.0-canary.284 → 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/CHANGELOG.json +40 -1
- package/CHANGELOG.md +20 -8
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +38 -17
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
- package/Libraries/Alert/Alert.flow.js +62 -0
- package/Libraries/Alert/Alert.js +4 -27
- package/Libraries/Alert/Alert.win32.js +5 -27
- package/Libraries/Alert/NativeAlertManager.js +2 -2
- package/Libraries/Alert/RCTAlertManager.flow.js +20 -0
- package/Libraries/Animated/NativeAnimatedModule.js +2 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
- package/Libraries/Animated/createAnimatedComponent.js +3 -3
- package/Libraries/Animated/useAnimatedProps.js +4 -294
- package/Libraries/AppState/NativeAppState.js +2 -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/NativeBugReporting.js +2 -2
- 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/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
- package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +2 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +14 -18
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
- 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/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/InputAccessoryView.js +4 -2
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +98 -88
- package/Libraries/Components/TextInput/TextInput.js +103 -96
- package/Libraries/Components/TextInput/TextInput.win32.js +105 -98
- 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.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 +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -2
- 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/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/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- 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 +1 -1
- package/Libraries/Core/Timers/NativeTiming.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +2 -9
- package/Libraries/Core/setUpBatchedBridge.js +4 -3
- package/Libraries/Core/setUpDeveloperTools.js +2 -7
- package/Libraries/Core/setUpErrorHandling.js +1 -6
- package/Libraries/Core/setUpReactDevTools.js +22 -4
- package/Libraries/Core/setUpTimers.js +17 -17
- package/Libraries/Core/setUpXHR.js +1 -1
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Image/AssetRegistry.js +3 -1
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- 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/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 +1 -1
- package/Libraries/Image/resolveAssetSource.js +4 -2
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +8 -6
- 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 +2 -2
- package/Libraries/Interaction/TaskQueue.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.d.ts +3 -3
- package/Libraries/Linking/Linking.js +10 -8
- 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 +1 -1
- 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 +1 -1
- package/Libraries/Modal/Modal.js +3 -3
- 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/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +2 -2
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.js +1 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/FabricUIManager.js +18 -8
- package/Libraries/ReactNative/I18nManager.js +1 -1
- 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 +2 -3
- package/Libraries/ReactNative/PaperUIManager.win32.js +2 -3
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -31
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +1 -1
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +1 -1
- 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 +9 -4
- 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/StyleSheet.js +2 -1
- package/Libraries/StyleSheet/StyleSheet.win32.js +2 -1
- 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 +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/Types/CoreEventTypes.js +2 -0
- package/Libraries/Types/CoreEventTypes.win32.js +2 -0
- package/Libraries/Utilities/Appearance.js +0 -8
- 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/ReactNativeTestTools.js +3 -4
- package/Libraries/Utilities/dismissKeyboard.js +2 -1
- package/Libraries/Vibration/NativeVibration.js +2 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
- package/Libraries/WebSocket/WebSocket.js +8 -285
- package/Libraries/WebSocket/WebSocketEvent.js +1 -1
- 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/index.js +25 -26
- package/index.win32.js +25 -26
- package/jest/mockScrollView.js +1 -1
- package/jest/setup.js +91 -65
- package/overrides.json +30 -42
- package/package.json +16 -16
- 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 +23 -30
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -7
- 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 +14 -12
- package/{Libraries/Inspector → src/private/inspector}/Inspector.js +18 -15
- package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +5 -5
- package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +12 -10
- package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +35 -20
- package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +5 -5
- 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 +3 -2
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -4
- package/src/private/setup/setUpDOM.js +7 -2
- 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/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/IntersectionObserverEntry.js +1 -1
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +12 -9
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +4 -6
- 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 -44
- 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 -296
- package/Libraries/Utilities/DebugEnvironment.js +0 -16
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
- package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -76
- package/src/private/specs/modules/NativeCPUTime.js +0 -24
- package/src/private/specs/modules/NativeFantom.js +0 -43
- /package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +0 -0
- /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/NativeAccessibilityManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.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/NativeDeviceInfo.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.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/NativeNetworkingIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.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/NativeSampleTurboModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeUIManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.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
|
@@ -4,19 +4,26 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @flow strict
|
|
7
|
+
* @flow strict-local
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {
|
|
12
|
-
|
|
13
|
-
Node as ShadowNode,
|
|
14
|
-
} from '../../../../../../Libraries/Renderer/shims/ReactNativeTypes';
|
|
11
|
+
import type {RootTag} from '../../../../../../Libraries/ReactNative/RootTag';
|
|
12
|
+
import type {Node as ShadowNode} from '../../../../../../Libraries/Renderer/shims/ReactNativeTypes';
|
|
15
13
|
import type {TurboModule} from '../../../../../../Libraries/TurboModule/RCTExport';
|
|
14
|
+
import type {InstanceHandle} from '../internals/NodeInternals';
|
|
16
15
|
|
|
17
16
|
import * as TurboModuleRegistry from '../../../../../../Libraries/TurboModule/TurboModuleRegistry';
|
|
18
17
|
import nullthrows from 'nullthrows';
|
|
19
18
|
|
|
19
|
+
export opaque type NativeElementReference = ShadowNode;
|
|
20
|
+
export opaque type NativeTextReference = ShadowNode;
|
|
21
|
+
|
|
22
|
+
export type NativeNodeReference =
|
|
23
|
+
| NativeElementReference
|
|
24
|
+
| NativeTextReference
|
|
25
|
+
| RootTag;
|
|
26
|
+
|
|
20
27
|
export type MeasureInWindowOnSuccessCallback = (
|
|
21
28
|
x: number,
|
|
22
29
|
y: number,
|
|
@@ -41,78 +48,108 @@ export type MeasureLayoutOnSuccessCallback = (
|
|
|
41
48
|
) => void;
|
|
42
49
|
|
|
43
50
|
export interface Spec extends TurboModule {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
/*
|
|
52
|
+
* Methods from the `Node` interface (for `ReadOnlyNode`).
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
+compareDocumentPosition: (
|
|
56
|
+
nativeNodeReference: mixed /* NativeNodeReference */,
|
|
57
|
+
otherNativeNodeReference: mixed /* NativeNodeReference */,
|
|
58
|
+
) => number;
|
|
47
59
|
|
|
48
60
|
+getChildNodes: (
|
|
49
|
-
|
|
61
|
+
nativeNodeReference: mixed /* NativeNodeReference */,
|
|
50
62
|
) => $ReadOnlyArray<mixed> /* $ReadOnlyArray<InstanceHandle> */;
|
|
51
63
|
|
|
52
|
-
+
|
|
64
|
+
+getParentNode: (
|
|
65
|
+
nativeNodeReference: mixed /* NativeNodeReference */,
|
|
66
|
+
) => mixed /* ?InstanceHandle */;
|
|
53
67
|
|
|
54
|
-
+
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
) => number;
|
|
68
|
+
+isConnected: (
|
|
69
|
+
nativeNodeReference: mixed /* NativeNodeReference */,
|
|
70
|
+
) => boolean;
|
|
58
71
|
|
|
59
|
-
|
|
72
|
+
/*
|
|
73
|
+
* Methods from the `Element` interface (for `ReactNativeElement`).
|
|
74
|
+
*/
|
|
75
|
+
|
|
76
|
+
+getBorderWidth: (
|
|
77
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
78
|
+
) => $ReadOnlyArray<number> /* [topWidth: number, rightWidth: number, bottomWidth: number, leftWidth: number] */;
|
|
60
79
|
|
|
61
80
|
+getBoundingClientRect: (
|
|
62
|
-
|
|
81
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
63
82
|
includeTransform: boolean,
|
|
64
83
|
) => $ReadOnlyArray<number> /* [x: number, y: number, width: number, height: number] */;
|
|
65
84
|
|
|
66
|
-
+
|
|
67
|
-
|
|
68
|
-
) => $ReadOnlyArray<
|
|
85
|
+
+getInnerSize: (
|
|
86
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
87
|
+
) => $ReadOnlyArray<number> /* [width: number, height: number] */;
|
|
69
88
|
|
|
70
89
|
+getScrollPosition: (
|
|
71
|
-
|
|
90
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
72
91
|
) => $ReadOnlyArray<number> /* [scrollLeft: number, scrollTop: number] */;
|
|
73
92
|
|
|
74
93
|
+getScrollSize: (
|
|
75
|
-
|
|
94
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
76
95
|
) => $ReadOnlyArray<number> /* [scrollWidth: number, scrollHeight: number] */;
|
|
77
96
|
|
|
78
|
-
+
|
|
79
|
-
|
|
80
|
-
) =>
|
|
81
|
-
|
|
82
|
-
+getBorderWidth: (
|
|
83
|
-
shadowNode: mixed /* ShadowNode */,
|
|
84
|
-
) => $ReadOnlyArray<number> /* [topWidth: number, rightWidth: number, bottomWidth: number, leftWidth: number] */;
|
|
97
|
+
+getTagName: (
|
|
98
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
99
|
+
) => string;
|
|
85
100
|
|
|
86
|
-
+
|
|
101
|
+
+getTextContent: (
|
|
102
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
103
|
+
) => string;
|
|
87
104
|
|
|
88
105
|
+hasPointerCapture: (
|
|
89
|
-
|
|
106
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
90
107
|
pointerId: number,
|
|
91
108
|
) => boolean;
|
|
92
109
|
|
|
93
|
-
+
|
|
94
|
-
|
|
110
|
+
+releasePointerCapture: (
|
|
111
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
95
112
|
pointerId: number,
|
|
96
113
|
) => void;
|
|
97
114
|
|
|
98
|
-
+
|
|
99
|
-
|
|
115
|
+
+setPointerCapture: (
|
|
116
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
100
117
|
pointerId: number,
|
|
101
118
|
) => void;
|
|
102
119
|
|
|
120
|
+
/*
|
|
121
|
+
* Methods from the `HTMLElement` interface (for `ReactNativeElement`).
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
+getOffset: (
|
|
125
|
+
nativeElementReference: mixed /* NativeElementReference */,
|
|
126
|
+
) => $ReadOnlyArray<mixed> /* [offsetParent: ?InstanceHandle, top: number, left: number] */;
|
|
127
|
+
|
|
128
|
+
/*
|
|
129
|
+
* Special methods to handle the root node.
|
|
130
|
+
*/
|
|
131
|
+
|
|
132
|
+
+linkRootNode?: (
|
|
133
|
+
rootTag: number /* RootTag */,
|
|
134
|
+
instanceHandle: mixed /* InstanceHandle */,
|
|
135
|
+
) => mixed /* ?NativeElementReference */;
|
|
136
|
+
|
|
103
137
|
/**
|
|
104
|
-
* Legacy layout APIs
|
|
138
|
+
* Legacy layout APIs (for `ReactNativeElement`).
|
|
105
139
|
*/
|
|
106
140
|
|
|
107
|
-
+measure: (
|
|
141
|
+
+measure: (
|
|
142
|
+
nativeElementReference: mixed,
|
|
143
|
+
callback: MeasureOnSuccessCallback,
|
|
144
|
+
) => void;
|
|
108
145
|
|
|
109
146
|
+measureInWindow: (
|
|
110
|
-
|
|
147
|
+
nativeElementReference: mixed,
|
|
111
148
|
callback: MeasureInWindowOnSuccessCallback,
|
|
112
149
|
) => void;
|
|
113
150
|
|
|
114
151
|
+measureLayout: (
|
|
115
|
-
|
|
152
|
+
nativeElementReference: mixed,
|
|
116
153
|
relativeNode: mixed,
|
|
117
154
|
onFail: () => void,
|
|
118
155
|
onSuccess: MeasureLayoutOnSuccessCallback,
|
|
@@ -124,15 +161,22 @@ const RawNativeDOM = (TurboModuleRegistry.get<Spec>('NativeDOMCxx'): ?Spec);
|
|
|
124
161
|
// This is the actual interface of this module, but the native module codegen
|
|
125
162
|
// isn't expressive enough yet.
|
|
126
163
|
export interface RefinedSpec {
|
|
164
|
+
/*
|
|
165
|
+
* Methods from the `Node` interface (for `ReadOnlyNode`).
|
|
166
|
+
*/
|
|
167
|
+
|
|
127
168
|
/**
|
|
128
|
-
* This is a React Native implementation of `Node.prototype.
|
|
129
|
-
* (see https://developer.mozilla.org/en-US/docs/Web/API/Node/
|
|
169
|
+
* This is a React Native implementation of `Node.prototype.compareDocumentPosition`
|
|
170
|
+
* (see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition).
|
|
130
171
|
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
172
|
+
* It uses the version of the shadow nodes that are present in the current
|
|
173
|
+
* revision of the shadow tree (if any). If any of the nodes is not present,
|
|
174
|
+
* it just indicates they are disconnected.
|
|
134
175
|
*/
|
|
135
|
-
+
|
|
176
|
+
+compareDocumentPosition: (
|
|
177
|
+
nativeNodeReference: NativeNodeReference,
|
|
178
|
+
otherNativeNodeReference: NativeNodeReference,
|
|
179
|
+
) => number;
|
|
136
180
|
|
|
137
181
|
/**
|
|
138
182
|
* This is a React Native implementation of `Node.prototype.childNodes`
|
|
@@ -142,7 +186,19 @@ export interface RefinedSpec {
|
|
|
142
186
|
* of an active shadow tree, it returns an array of instance handles of its
|
|
143
187
|
* children. Otherwise, it returns an empty array.
|
|
144
188
|
*/
|
|
145
|
-
+getChildNodes: (
|
|
189
|
+
+getChildNodes: (
|
|
190
|
+
nativeNodeReference: NativeNodeReference,
|
|
191
|
+
) => $ReadOnlyArray<InstanceHandle>;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* This is a React Native implementation of `Node.prototype.parentNode`
|
|
195
|
+
* (see https://developer.mozilla.org/en-US/docs/Web/API/Node/parentNode).
|
|
196
|
+
*
|
|
197
|
+
* If a version of the given shadow node is present in the current revision of
|
|
198
|
+
* an active shadow tree, it returns the instance handle of its parent.
|
|
199
|
+
* Otherwise, it returns `null`.
|
|
200
|
+
*/
|
|
201
|
+
+getParentNode: (nativeNodeReference: NativeNodeReference) => ?InstanceHandle;
|
|
146
202
|
|
|
147
203
|
/**
|
|
148
204
|
* This is a React Native implementation of `Node.prototype.isConnected`
|
|
@@ -151,34 +207,34 @@ export interface RefinedSpec {
|
|
|
151
207
|
* Indicates whether a version of the given shadow node is present in the
|
|
152
208
|
* current revision of an active shadow tree.
|
|
153
209
|
*/
|
|
154
|
-
+isConnected: (
|
|
210
|
+
+isConnected: (nativeNodeReference: NativeNodeReference) => boolean;
|
|
155
211
|
|
|
156
|
-
|
|
157
|
-
*
|
|
158
|
-
* (see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition).
|
|
159
|
-
*
|
|
160
|
-
* It uses the version of the shadow nodes that are present in the current
|
|
161
|
-
* revision of the shadow tree (if any). If any of the nodes is not present,
|
|
162
|
-
* it just indicates they are disconnected.
|
|
212
|
+
/*
|
|
213
|
+
* Methods from the `Element` interface (for `ReactNativeElement`).
|
|
163
214
|
*/
|
|
164
|
-
+compareDocumentPosition: (
|
|
165
|
-
shadowNode: ShadowNode,
|
|
166
|
-
otherShadowNode: ShadowNode,
|
|
167
|
-
) => number;
|
|
168
215
|
|
|
169
216
|
/**
|
|
170
|
-
* This is a
|
|
171
|
-
*
|
|
217
|
+
* This is a method to access the border size of a shadow node, to implement
|
|
218
|
+
* these methods:
|
|
219
|
+
* - `Element.prototype.clientLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientLeft.
|
|
220
|
+
* - `Element.prototype.clientTop`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientTop.
|
|
172
221
|
*
|
|
173
222
|
* It uses the version of the shadow node that is present in the current
|
|
174
|
-
* revision of the shadow tree.
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* This is also used to access the text content of text nodes, which does not
|
|
179
|
-
* need any traversal.
|
|
223
|
+
* revision of the shadow tree. If the node is not present, it is not
|
|
224
|
+
* displayed (because any of its ancestors or itself have 'display: none'), or
|
|
225
|
+
* it has an inline display, it returns `undefined`. Otherwise, it returns its
|
|
226
|
+
* border size.
|
|
180
227
|
*/
|
|
181
|
-
+
|
|
228
|
+
+getBorderWidth: (
|
|
229
|
+
nativeElementReference: NativeElementReference,
|
|
230
|
+
) => $ReadOnly<
|
|
231
|
+
[
|
|
232
|
+
/* topWidth: */ number,
|
|
233
|
+
/* rightWidth: */ number,
|
|
234
|
+
/* bottomWidth: */ number,
|
|
235
|
+
/* leftWidth: */ number,
|
|
236
|
+
],
|
|
237
|
+
>;
|
|
182
238
|
|
|
183
239
|
/**
|
|
184
240
|
* This is a React Native implementation of `Element.prototype.getBoundingClientRect`
|
|
@@ -192,7 +248,7 @@ export interface RefinedSpec {
|
|
|
192
248
|
* and [`offsetHeight`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetHeight).
|
|
193
249
|
*/
|
|
194
250
|
+getBoundingClientRect: (
|
|
195
|
-
|
|
251
|
+
nativeElementReference: NativeElementReference,
|
|
196
252
|
includeTransform: boolean,
|
|
197
253
|
) => $ReadOnly<
|
|
198
254
|
[
|
|
@@ -204,28 +260,20 @@ export interface RefinedSpec {
|
|
|
204
260
|
>;
|
|
205
261
|
|
|
206
262
|
/**
|
|
207
|
-
* This is a method to access the
|
|
208
|
-
*
|
|
209
|
-
* - `
|
|
210
|
-
* - `
|
|
211
|
-
* - `HTMLElement.prototype.offsetLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft.
|
|
263
|
+
* This is a method to access the inner size of a shadow node, to implement
|
|
264
|
+
* these methods:
|
|
265
|
+
* - `Element.prototype.clientWidth`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientWidth.
|
|
266
|
+
* - `Element.prototype.clientHeight`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientHeight.
|
|
212
267
|
*
|
|
213
268
|
* It uses the version of the shadow node that is present in the current
|
|
214
|
-
* revision of the shadow tree. If the node is not present
|
|
215
|
-
* displayed (because any of its ancestors or itself have 'display: none'),
|
|
216
|
-
* it returns `undefined`. Otherwise, it returns its
|
|
217
|
-
*
|
|
218
|
-
* parent.
|
|
269
|
+
* revision of the shadow tree. If the node is not present, it is not
|
|
270
|
+
* displayed (because any of its ancestors or itself have 'display: none'), or
|
|
271
|
+
* it has an inline display, it returns `undefined`. Otherwise, it returns its
|
|
272
|
+
* inner size.
|
|
219
273
|
*/
|
|
220
|
-
+
|
|
221
|
-
|
|
222
|
-
) => $ReadOnly<
|
|
223
|
-
[
|
|
224
|
-
/* offsetParent: */ ?InstanceHandle,
|
|
225
|
-
/* top: */ number,
|
|
226
|
-
/* left: */ number,
|
|
227
|
-
],
|
|
228
|
-
>;
|
|
274
|
+
+getInnerSize: (
|
|
275
|
+
nativeElementReference: NativeElementReference,
|
|
276
|
+
) => $ReadOnly<[/* width: */ number, /* height: */ number]>;
|
|
229
277
|
|
|
230
278
|
/**
|
|
231
279
|
* This is a method to access scroll information for a shadow node, to
|
|
@@ -239,7 +287,7 @@ export interface RefinedSpec {
|
|
|
239
287
|
* `undefined`. Otherwise, it returns the scroll position.
|
|
240
288
|
*/
|
|
241
289
|
+getScrollPosition: (
|
|
242
|
-
|
|
290
|
+
nativeElementReference: NativeElementReference,
|
|
243
291
|
) => $ReadOnly<[/* scrollLeft: */ number, /* scrollTop: */ number]>;
|
|
244
292
|
|
|
245
293
|
/**
|
|
@@ -255,120 +303,165 @@ export interface RefinedSpec {
|
|
|
255
303
|
* `undefined`. Otherwise, it returns the scroll size.
|
|
256
304
|
*/
|
|
257
305
|
+getScrollSize: (
|
|
258
|
-
|
|
306
|
+
nativeElementReference: NativeElementReference,
|
|
259
307
|
) => $ReadOnly<[/* scrollWidth: */ number, /* scrollHeight: */ number]>;
|
|
260
308
|
|
|
261
309
|
/**
|
|
262
|
-
* This is a method to access the
|
|
263
|
-
*
|
|
264
|
-
|
|
265
|
-
|
|
310
|
+
* This is a method to access the normalized tag name of a shadow node, to
|
|
311
|
+
* implement `Element.prototype.tagName` (see https://developer.mozilla.org/en-US/docs/Web/API/Element/tagName).
|
|
312
|
+
*/
|
|
313
|
+
+getTagName: (nativeElementReference: NativeElementReference) => string;
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* This is a React Native implementation of `Element.prototype.textContent`
|
|
317
|
+
* (see https://developer.mozilla.org/en-US/docs/Web/API/Element/textContent).
|
|
266
318
|
*
|
|
267
319
|
* It uses the version of the shadow node that is present in the current
|
|
268
|
-
* revision of the shadow tree.
|
|
269
|
-
*
|
|
270
|
-
*
|
|
271
|
-
*
|
|
320
|
+
* revision of the shadow tree.
|
|
321
|
+
* If the version is present, is traverses all its children in DFS and
|
|
322
|
+
* concatenates all the text contents. Otherwise, it returns an empty string.
|
|
323
|
+
*
|
|
324
|
+
* This is also used to access the text content of text nodes, which does not
|
|
325
|
+
* need any traversal.
|
|
272
326
|
*/
|
|
273
|
-
+
|
|
274
|
-
|
|
275
|
-
|
|
327
|
+
+getTextContent: (nativeNodeReference: NativeNodeReference) => string;
|
|
328
|
+
|
|
329
|
+
+hasPointerCapture: (
|
|
330
|
+
nativeElementReference: NativeElementReference,
|
|
331
|
+
pointerId: number,
|
|
332
|
+
) => boolean;
|
|
333
|
+
|
|
334
|
+
+releasePointerCapture: (
|
|
335
|
+
nativeElementReference: NativeElementReference,
|
|
336
|
+
pointerId: number,
|
|
337
|
+
) => void;
|
|
338
|
+
|
|
339
|
+
+setPointerCapture: (
|
|
340
|
+
nativeElementReference: NativeElementReference,
|
|
341
|
+
pointerId: number,
|
|
342
|
+
) => void;
|
|
276
343
|
|
|
277
344
|
/**
|
|
278
|
-
* This is a method to access the
|
|
279
|
-
* these methods:
|
|
280
|
-
* - `
|
|
281
|
-
* - `
|
|
345
|
+
* This is a method to access the offset information for a shadow node, to
|
|
346
|
+
* implement these methods:
|
|
347
|
+
* - `HTMLElement.prototype.offsetParent`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent.
|
|
348
|
+
* - `HTMLElement.prototype.offsetTop`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop.
|
|
349
|
+
* - `HTMLElement.prototype.offsetLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft.
|
|
282
350
|
*
|
|
283
351
|
* It uses the version of the shadow node that is present in the current
|
|
284
|
-
* revision of the shadow tree. If the node is not present
|
|
285
|
-
* displayed (because any of its ancestors or itself have 'display: none'),
|
|
286
|
-
* it
|
|
287
|
-
*
|
|
352
|
+
* revision of the shadow tree. If the node is not present or is not
|
|
353
|
+
* displayed (because any of its ancestors or itself have 'display: none'),
|
|
354
|
+
* it returns `undefined`. Otherwise, it returns its parent (as all nodes in
|
|
355
|
+
* React Native are currently "positioned") and its offset relative to its
|
|
356
|
+
* parent.
|
|
288
357
|
*/
|
|
289
|
-
+
|
|
290
|
-
|
|
358
|
+
+getOffset: (
|
|
359
|
+
nativeElementReference: NativeElementReference,
|
|
291
360
|
) => $ReadOnly<
|
|
292
361
|
[
|
|
293
|
-
/*
|
|
294
|
-
/*
|
|
295
|
-
/*
|
|
296
|
-
/* leftWidth: */ number,
|
|
362
|
+
/* offsetParent: */ ?InstanceHandle,
|
|
363
|
+
/* top: */ number,
|
|
364
|
+
/* left: */ number,
|
|
297
365
|
],
|
|
298
366
|
>;
|
|
299
367
|
|
|
300
|
-
|
|
301
|
-
*
|
|
302
|
-
* implement `Element.prototype.tagName` (see https://developer.mozilla.org/en-US/docs/Web/API/Element/tagName).
|
|
368
|
+
/*
|
|
369
|
+
* Special methods to handle the root node.
|
|
303
370
|
*/
|
|
304
|
-
+getTagName: (shadowNode: ShadowNode) => string;
|
|
305
371
|
|
|
306
372
|
/**
|
|
307
|
-
*
|
|
373
|
+
* In React Native, surfaces that represent trees (similar to a `Document` on
|
|
374
|
+
* Web) are created in native first, and then populated from JavaScript.
|
|
375
|
+
*
|
|
376
|
+
* Because React does not create this special node, we need a way to link
|
|
377
|
+
* the JavaScript instance with that node, which is what this method allows.
|
|
378
|
+
*
|
|
379
|
+
* It also allows the implementation of `Node.prototype.ownerDocument` and
|
|
380
|
+
* `Node.prototype.getRootNode`
|
|
381
|
+
* (see https://developer.mozilla.org/en-US/docs/Web/API/Node/ownerDocument and
|
|
382
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode).
|
|
383
|
+
*
|
|
384
|
+
* Returns a shadow node representing the root node if it is still mounted.
|
|
308
385
|
*/
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
+releasePointerCapture: (shadowNode: ShadowNode, pointerId: number) => void;
|
|
386
|
+
+linkRootNode: (
|
|
387
|
+
rootTag: RootTag,
|
|
388
|
+
instanceHandle: InstanceHandle,
|
|
389
|
+
) => ?NativeElementReference;
|
|
315
390
|
|
|
316
391
|
/**
|
|
317
392
|
* Legacy layout APIs
|
|
318
393
|
*/
|
|
319
394
|
|
|
320
395
|
+measure: (
|
|
321
|
-
|
|
396
|
+
nativeElementReference: NativeElementReference,
|
|
322
397
|
callback: MeasureOnSuccessCallback,
|
|
323
398
|
) => void;
|
|
324
399
|
|
|
325
400
|
+measureInWindow: (
|
|
326
|
-
|
|
401
|
+
nativeElementReference: NativeElementReference,
|
|
327
402
|
callback: MeasureInWindowOnSuccessCallback,
|
|
328
403
|
) => void;
|
|
329
404
|
|
|
330
405
|
+measureLayout: (
|
|
331
|
-
|
|
332
|
-
relativeNode:
|
|
406
|
+
nativeElementReference: NativeElementReference,
|
|
407
|
+
relativeNode: NativeElementReference,
|
|
333
408
|
onFail: () => void,
|
|
334
409
|
onSuccess: MeasureLayoutOnSuccessCallback,
|
|
335
410
|
) => void;
|
|
336
411
|
}
|
|
337
412
|
|
|
338
413
|
const NativeDOM: RefinedSpec = {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
414
|
+
/*
|
|
415
|
+
* Methods from the `Node` interface (for `ReadOnlyNode`).
|
|
416
|
+
*/
|
|
417
|
+
|
|
418
|
+
compareDocumentPosition(nativeNodeReference, otherNativeNodeReference) {
|
|
419
|
+
return nullthrows(RawNativeDOM).compareDocumentPosition(
|
|
420
|
+
nativeNodeReference,
|
|
421
|
+
otherNativeNodeReference,
|
|
422
|
+
);
|
|
344
423
|
},
|
|
345
424
|
|
|
346
|
-
getChildNodes(
|
|
425
|
+
getChildNodes(nativeNodeReference) {
|
|
347
426
|
// $FlowExpectedError[incompatible-cast]
|
|
348
427
|
return (nullthrows(RawNativeDOM).getChildNodes(
|
|
349
|
-
|
|
428
|
+
nativeNodeReference,
|
|
350
429
|
): $ReadOnlyArray<InstanceHandle>);
|
|
351
430
|
},
|
|
352
431
|
|
|
353
|
-
|
|
354
|
-
|
|
432
|
+
getParentNode(nativeNodeReference) {
|
|
433
|
+
// $FlowExpectedError[incompatible-cast]
|
|
434
|
+
return (nullthrows(RawNativeDOM).getParentNode(
|
|
435
|
+
nativeNodeReference,
|
|
436
|
+
): ?InstanceHandle);
|
|
355
437
|
},
|
|
356
438
|
|
|
357
|
-
|
|
358
|
-
return nullthrows(RawNativeDOM).
|
|
359
|
-
shadowNode,
|
|
360
|
-
otherShadowNode,
|
|
361
|
-
);
|
|
439
|
+
isConnected(nativeNodeReference) {
|
|
440
|
+
return nullthrows(RawNativeDOM).isConnected(nativeNodeReference);
|
|
362
441
|
},
|
|
363
442
|
|
|
364
|
-
|
|
365
|
-
|
|
443
|
+
/*
|
|
444
|
+
* Methods from the `Element` interface (for `ReactNativeElement`).
|
|
445
|
+
*/
|
|
446
|
+
|
|
447
|
+
getBorderWidth(nativeNodeReference) {
|
|
448
|
+
// $FlowExpectedError[incompatible-cast]
|
|
449
|
+
return (nullthrows(RawNativeDOM).getBorderWidth(
|
|
450
|
+
nativeNodeReference,
|
|
451
|
+
): $ReadOnly<
|
|
452
|
+
[
|
|
453
|
+
/* topWidth: */ number,
|
|
454
|
+
/* rightWidth: */ number,
|
|
455
|
+
/* bottomWidth: */ number,
|
|
456
|
+
/* leftWidth: */ number,
|
|
457
|
+
],
|
|
458
|
+
>);
|
|
366
459
|
},
|
|
367
460
|
|
|
368
|
-
getBoundingClientRect(
|
|
461
|
+
getBoundingClientRect(nativeNodeReference, includeTransform: boolean) {
|
|
369
462
|
// $FlowExpectedError[incompatible-cast]
|
|
370
463
|
return (nullthrows(RawNativeDOM).getBoundingClientRect(
|
|
371
|
-
|
|
464
|
+
nativeNodeReference,
|
|
372
465
|
includeTransform,
|
|
373
466
|
): $ReadOnly<
|
|
374
467
|
[
|
|
@@ -380,84 +473,102 @@ const NativeDOM: RefinedSpec = {
|
|
|
380
473
|
>);
|
|
381
474
|
},
|
|
382
475
|
|
|
383
|
-
|
|
384
|
-
// $FlowExpectedError[incompatible-cast]
|
|
385
|
-
return (nullthrows(RawNativeDOM).getOffset(shadowNode): $ReadOnly<
|
|
386
|
-
[
|
|
387
|
-
/* offsetParent: */ ?InstanceHandle,
|
|
388
|
-
/* top: */ number,
|
|
389
|
-
/* left: */ number,
|
|
390
|
-
],
|
|
391
|
-
>);
|
|
392
|
-
},
|
|
393
|
-
|
|
394
|
-
getScrollPosition(shadowNode) {
|
|
476
|
+
getInnerSize(nativeNodeReference) {
|
|
395
477
|
// $FlowExpectedError[incompatible-cast]
|
|
396
|
-
return (nullthrows(RawNativeDOM).
|
|
397
|
-
|
|
398
|
-
>);
|
|
478
|
+
return (nullthrows(RawNativeDOM).getInnerSize(
|
|
479
|
+
nativeNodeReference,
|
|
480
|
+
): $ReadOnly<[/* width: */ number, /* height: */ number]>);
|
|
399
481
|
},
|
|
400
482
|
|
|
401
|
-
|
|
483
|
+
getScrollPosition(nativeNodeReference) {
|
|
402
484
|
// $FlowExpectedError[incompatible-cast]
|
|
403
|
-
return (nullthrows(RawNativeDOM).
|
|
404
|
-
|
|
405
|
-
>);
|
|
485
|
+
return (nullthrows(RawNativeDOM).getScrollPosition(
|
|
486
|
+
nativeNodeReference,
|
|
487
|
+
): $ReadOnly<[/* scrollLeft: */ number, /* scrollTop: */ number]>);
|
|
406
488
|
},
|
|
407
489
|
|
|
408
|
-
|
|
490
|
+
getScrollSize(nativeNodeReference) {
|
|
409
491
|
// $FlowExpectedError[incompatible-cast]
|
|
410
|
-
return (nullthrows(RawNativeDOM).
|
|
411
|
-
|
|
412
|
-
>);
|
|
492
|
+
return (nullthrows(RawNativeDOM).getScrollSize(
|
|
493
|
+
nativeNodeReference,
|
|
494
|
+
): $ReadOnly<[/* scrollWidth: */ number, /* scrollHeight: */ number]>);
|
|
413
495
|
},
|
|
414
496
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
return (nullthrows(RawNativeDOM).getBorderWidth(shadowNode): $ReadOnly<
|
|
418
|
-
[
|
|
419
|
-
/* topWidth: */ number,
|
|
420
|
-
/* rightWidth: */ number,
|
|
421
|
-
/* bottomWidth: */ number,
|
|
422
|
-
/* leftWidth: */ number,
|
|
423
|
-
],
|
|
424
|
-
>);
|
|
497
|
+
getTagName(nativeNodeReference) {
|
|
498
|
+
return nullthrows(RawNativeDOM).getTagName(nativeNodeReference);
|
|
425
499
|
},
|
|
426
500
|
|
|
427
|
-
|
|
428
|
-
return nullthrows(RawNativeDOM).
|
|
501
|
+
getTextContent(nativeNodeReference) {
|
|
502
|
+
return nullthrows(RawNativeDOM).getTextContent(nativeNodeReference);
|
|
429
503
|
},
|
|
430
504
|
|
|
431
|
-
hasPointerCapture(
|
|
432
|
-
return nullthrows(RawNativeDOM).hasPointerCapture(
|
|
505
|
+
hasPointerCapture(nativeNodeReference, pointerId) {
|
|
506
|
+
return nullthrows(RawNativeDOM).hasPointerCapture(
|
|
507
|
+
nativeNodeReference,
|
|
508
|
+
pointerId,
|
|
509
|
+
);
|
|
433
510
|
},
|
|
434
511
|
|
|
435
|
-
|
|
436
|
-
return nullthrows(RawNativeDOM).
|
|
512
|
+
releasePointerCapture(nativeNodeReference, pointerId) {
|
|
513
|
+
return nullthrows(RawNativeDOM).releasePointerCapture(
|
|
514
|
+
nativeNodeReference,
|
|
515
|
+
pointerId,
|
|
516
|
+
);
|
|
437
517
|
},
|
|
438
518
|
|
|
439
|
-
|
|
440
|
-
return nullthrows(RawNativeDOM).
|
|
441
|
-
|
|
519
|
+
setPointerCapture(nativeNodeReference, pointerId) {
|
|
520
|
+
return nullthrows(RawNativeDOM).setPointerCapture(
|
|
521
|
+
nativeNodeReference,
|
|
442
522
|
pointerId,
|
|
443
523
|
);
|
|
444
524
|
},
|
|
445
525
|
|
|
526
|
+
/*
|
|
527
|
+
* Methods from the `HTMLElement` interface (for `ReactNativeElement`).
|
|
528
|
+
*/
|
|
529
|
+
|
|
530
|
+
getOffset(nativeNodeReference) {
|
|
531
|
+
// $FlowExpectedError[incompatible-cast]
|
|
532
|
+
return (nullthrows(RawNativeDOM).getOffset(nativeNodeReference): $ReadOnly<
|
|
533
|
+
[
|
|
534
|
+
/* offsetParent: */ ?InstanceHandle,
|
|
535
|
+
/* top: */ number,
|
|
536
|
+
/* left: */ number,
|
|
537
|
+
],
|
|
538
|
+
>);
|
|
539
|
+
},
|
|
540
|
+
|
|
541
|
+
/*
|
|
542
|
+
* Special methods to handle the root node.
|
|
543
|
+
*/
|
|
544
|
+
|
|
545
|
+
linkRootNode(rootTag, instanceHandle) {
|
|
546
|
+
// $FlowExpectedError[incompatible-cast]
|
|
547
|
+
return (nullthrows(RawNativeDOM?.linkRootNode)(
|
|
548
|
+
// $FlowExpectedError[incompatible-call]
|
|
549
|
+
rootTag,
|
|
550
|
+
instanceHandle,
|
|
551
|
+
): ?NativeElementReference);
|
|
552
|
+
},
|
|
553
|
+
|
|
446
554
|
/**
|
|
447
555
|
* Legacy layout APIs
|
|
448
556
|
*/
|
|
449
557
|
|
|
450
|
-
measure(
|
|
451
|
-
return nullthrows(RawNativeDOM).measure(
|
|
558
|
+
measure(nativeNodeReference, callback) {
|
|
559
|
+
return nullthrows(RawNativeDOM).measure(nativeNodeReference, callback);
|
|
452
560
|
},
|
|
453
561
|
|
|
454
|
-
measureInWindow(
|
|
455
|
-
return nullthrows(RawNativeDOM).measureInWindow(
|
|
562
|
+
measureInWindow(nativeNodeReference, callback) {
|
|
563
|
+
return nullthrows(RawNativeDOM).measureInWindow(
|
|
564
|
+
nativeNodeReference,
|
|
565
|
+
callback,
|
|
566
|
+
);
|
|
456
567
|
},
|
|
457
568
|
|
|
458
|
-
measureLayout(
|
|
569
|
+
measureLayout(nativeNodeReference, relativeNode, onFail, onSuccess) {
|
|
459
570
|
return nullthrows(RawNativeDOM).measureLayout(
|
|
460
|
-
|
|
571
|
+
nativeNodeReference,
|
|
461
572
|
relativeNode,
|
|
462
573
|
onFail,
|
|
463
574
|
onSuccess,
|