react-native-windows 0.82.3 → 0.83.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +2 -7
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -3
- package/Libraries/Animated/components/AnimatedImage.js +4 -3
- package/Libraries/Animated/components/AnimatedSectionList.js +2 -2
- package/Libraries/Animated/components/AnimatedText.js +7 -3
- package/Libraries/Animated/components/AnimatedView.js +3 -2
- package/Libraries/Animated/createAnimatedComponent.js +24 -12
- package/Libraries/Animated/nodes/AnimatedColor.js +26 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +43 -15
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +43 -15
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +2 -2
- package/Libraries/Components/Glyph/Glyph.js +4 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +2 -2
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +3 -3
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +1 -0
- package/Libraries/Components/ScrollView/ScrollView.windows.js +1 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +6 -6
- package/Libraries/Components/Switch/Switch.d.ts +2 -2
- package/Libraries/Components/Switch/Switch.windows.js +1 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +2 -5
- package/Libraries/Components/TextInput/TextInput.js +6 -0
- package/Libraries/Components/TextInput/TextInput.windows.js +6 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +7 -7
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +7 -7
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +19 -1
- package/Libraries/Components/View/View.d.ts +2 -2
- package/Libraries/Components/View/View.windows.js +0 -1
- package/Libraries/Components/View/ViewNativeComponent.js +13 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/setUpPerformance.js +2 -0
- package/Libraries/Debugging/DebuggingOverlay.js +14 -14
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +8 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +5 -2
- package/Libraries/Image/Image.d.ts +3 -3
- package/Libraries/Image/ImageInjection.js +3 -6
- package/Libraries/Image/ImageTypes.flow.js +3 -7
- package/Libraries/Lists/FlatList.js +8 -8
- package/Libraries/Lists/SectionList.d.ts +5 -1
- package/Libraries/Lists/ViewabilityHelper.js +1 -1
- package/Libraries/Lists/VirtualizedList.js +1 -0
- package/Libraries/LogBox/UI/AnsiHighlight.js +4 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +11 -2
- package/Libraries/NativeComponent/NativeComponentRegistry.d.ts +98 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -0
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +3 -1
- package/Libraries/NativeComponent/ViewConfigIgnore.windows.js +45 -0
- package/Libraries/Network/RCTNetworking.android.js +3 -1
- package/Libraries/Network/RCTNetworking.ios.js +3 -0
- package/Libraries/Network/RCTNetworking.windows.js +3 -0
- package/Libraries/Network/XMLHttpRequest.js +1 -41
- package/Libraries/Pressability/usePressability.js +14 -3
- package/Libraries/ReactNative/PaperUIManager.windows.js +3 -3
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +20 -82
- package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +6759 -4478
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3169 -3119
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4732 -3535
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +6646 -4070
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3136 -2825
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4761 -3312
- package/Libraries/Renderer/shims/ReactNative.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +2 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +44 -0
- package/Libraries/StyleSheet/processBackgroundPosition.js +284 -0
- package/Libraries/StyleSheet/processBackgroundRepeat.js +105 -0
- package/Libraries/StyleSheet/processBackgroundSize.js +104 -0
- package/Libraries/Text/Text.d.ts +2 -2
- package/Libraries/Text/TextNativeComponent.js +10 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -9
- package/Libraries/Utilities/DevLoadingView.js +14 -6
- package/Libraries/Utilities/HMRClient.js +13 -5
- package/Microsoft.ReactNative/CompositionComponentView.idl +2 -0
- package/Microsoft.ReactNative/CompositionHwndHost.idl +1 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +10 -40
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +3 -80
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +45 -12
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +8 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +61 -74
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +4 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +4 -3
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeWindow.cpp +245 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeWindow.h +80 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +20 -36
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +5 -0
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +1 -0
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +1 -1
- package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +20 -94
- package/Microsoft.ReactNative/Modules/LogBoxModule.h +1 -3
- package/Microsoft.ReactNative/ReactNativeAppBuilder.cpp +0 -41
- package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +0 -11
- package/Microsoft.ReactNative/ReactNativeIsland.idl +2 -3
- package/Microsoft.ReactNative/ReactNativeWin32App.cpp +31 -101
- package/Microsoft.ReactNative/ReactNativeWin32App.h +2 -13
- package/Microsoft.ReactNative/ReactNativeWindow.idl +44 -0
- package/Microsoft.ReactNative.Cxx/AutoDraw.h +9 -1
- package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +13 -16
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +24 -36
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +5 -8
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +8 -6
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +32 -49
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +27 -76
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +4 -2
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +19 -18
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +25 -48
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Convert.h +38 -31
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +11 -6
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/EventEmitter.h +47 -45
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Function.h +69 -89
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/HighResTimeStamp.h +8 -8
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +6 -6
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +16 -8
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +17 -24
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +17 -17
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +20 -29
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +2 -7
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +127 -115
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/Warnings.props +2 -1
- package/ReactCommon/ReactCommon.vcxproj +11 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +4 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +4 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +4 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +4 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +5 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +4 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +6 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +2 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +25 -35
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +86 -67
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSIExecutor.cpp +15 -8
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +4 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +84 -68
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +31 -35
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +4 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +2 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +24 -36
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +28 -66
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +5 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +3 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +8 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +19 -16
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +8 -9
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +25 -95
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/BaseViewProps.cpp +36 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +85 -42
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +2 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +2 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +25 -31
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +19 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +16 -1
- package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +1 -15
- package/Scripts/creaternwapp.cmd +1 -1
- package/Scripts/perf/compare-results.js +357 -0
- package/Scripts/perf/create-perf-test.js +343 -0
- package/Scripts/perf/post-pr-comment.js +210 -0
- package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +8 -0
- package/Shared/Hermes/HermesRuntimeTargetDelegate.h +3 -0
- package/Shared/Shared.vcxitems +15 -3
- package/Shared/Shared.vcxitems.filters +11 -3
- package/codegen/NativeIntersectionObserverSpec.g.h +2 -0
- package/codegen/NativeNetworkingIOSSpec.g.h +2 -0
- package/codegen/NativePerformanceSpec.g.h +6 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +229 -139
- package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +2 -1
- package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +42 -25
- package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +2 -1
- package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +2 -1
- package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +11 -6
- package/codegen/react/components/rnwcore/AndroidSwitch.g.h +11 -6
- package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +1 -0
- package/codegen/react/components/rnwcore/InputAccessory.g.h +2 -1
- package/codegen/react/components/rnwcore/ModalHostView.g.h +40 -23
- package/codegen/react/components/rnwcore/Props.cpp +6 -1
- package/codegen/react/components/rnwcore/Props.h +1 -0
- package/codegen/react/components/rnwcore/PullToRefreshView.g.h +11 -6
- package/codegen/react/components/rnwcore/SafeAreaView.g.h +1 -0
- package/codegen/react/components/rnwcore/Switch.g.h +11 -6
- package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +2 -1
- package/codegen/react/components/rnwcore/VirtualView.g.h +41 -8
- package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +45 -8
- package/codegen/rnwcoreJSI.h +3973 -6059
- package/index.js +6 -0
- package/index.windows.js +6 -0
- package/jest/mockComponent.js +6 -6
- package/jest/setup.js +15 -10
- package/package.json +27 -27
- package/src/private/components/virtualview/VirtualView.js +22 -27
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +6 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +100 -19
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +18 -3
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +12 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +76 -15
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/performance/ResourceTiming.js +31 -4
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +4 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +3 -0
- package/stubs/double-conversion/double-conversion.h +5 -0
- package/templates/cpp-app/template.config.js +1 -1
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
- package/templates/cpp-lib/template.config.js +1 -1
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
- package/types/index.d.ts +1 -0
- package/types/public/ReactNativeTypes.d.ts +115 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +0 -152
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -1574
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +0 -528
- package/Scripts/OpenSSL.nuspec +0 -39
- package/Scripts/OpenSSL.targets +0 -36
- package/codegen/rnwcoreJSI-generated.cpp +0 -3470
|
@@ -4,7 +4,7 @@
|
|
|
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
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<fecd2198c65b74c22fa1a6ce96343228>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -29,12 +29,14 @@ export interface Spec extends TurboModule {
|
|
|
29
29
|
+cdpInteractionMetricsEnabled?: () => boolean;
|
|
30
30
|
+cxxNativeAnimatedEnabled?: () => boolean;
|
|
31
31
|
+cxxNativeAnimatedRemoveJsSync?: () => boolean;
|
|
32
|
+
+disableEarlyViewCommandExecution?: () => boolean;
|
|
32
33
|
+disableFabricCommitInCXXAnimated?: () => boolean;
|
|
33
34
|
+disableMountItemReorderingAndroid?: () => boolean;
|
|
34
35
|
+disableOldAndroidAttachmentMetricsWorkarounds?: () => boolean;
|
|
35
36
|
+disableTextLayoutManagerCacheAndroid?: () => boolean;
|
|
36
37
|
+enableAccessibilityOrder?: () => boolean;
|
|
37
38
|
+enableAccumulatedUpdatesInRawPropsAndroid?: () => boolean;
|
|
39
|
+
+enableAndroidLinearText?: () => boolean;
|
|
38
40
|
+enableAndroidTextMeasurementOptimizations?: () => boolean;
|
|
39
41
|
+enableBridgelessArchitecture?: () => boolean;
|
|
40
42
|
+enableCppPropsIteratorSetter?: () => boolean;
|
|
@@ -49,36 +51,46 @@ export interface Spec extends TurboModule {
|
|
|
49
51
|
+enableIOSTextBaselineOffsetPerLine?: () => boolean;
|
|
50
52
|
+enableIOSViewClipToPaddingBox?: () => boolean;
|
|
51
53
|
+enableImagePrefetchingAndroid?: () => boolean;
|
|
54
|
+
+enableImagePrefetchingOnUiThreadAndroid?: () => boolean;
|
|
52
55
|
+enableImmediateUpdateModeForContentOffsetChanges?: () => boolean;
|
|
56
|
+
+enableImperativeFocus?: () => boolean;
|
|
53
57
|
+enableInteropViewManagerClassLookUpOptimizationIOS?: () => boolean;
|
|
58
|
+
+enableIntersectionObserverByDefault?: () => boolean;
|
|
59
|
+
+enableKeyEvents?: () => boolean;
|
|
54
60
|
+enableLayoutAnimationsOnAndroid?: () => boolean;
|
|
55
61
|
+enableLayoutAnimationsOnIOS?: () => boolean;
|
|
56
62
|
+enableMainQueueCoordinatorOnIOS?: () => boolean;
|
|
57
63
|
+enableModuleArgumentNSNullConversionIOS?: () => boolean;
|
|
58
64
|
+enableNativeCSSParsing?: () => boolean;
|
|
59
65
|
+enableNetworkEventReporting?: () => boolean;
|
|
60
|
-
+enableNewBackgroundAndBorderDrawables?: () => boolean;
|
|
61
66
|
+enablePreparedTextLayout?: () => boolean;
|
|
62
67
|
+enablePropsUpdateReconciliationAndroid?: () => boolean;
|
|
63
68
|
+enableResourceTimingAPI?: () => boolean;
|
|
69
|
+
+enableSwiftUIBasedFilters?: () => boolean;
|
|
64
70
|
+enableViewCulling?: () => boolean;
|
|
65
71
|
+enableViewRecycling?: () => boolean;
|
|
72
|
+
+enableViewRecyclingForImage?: () => boolean;
|
|
66
73
|
+enableViewRecyclingForScrollView?: () => boolean;
|
|
67
74
|
+enableViewRecyclingForText?: () => boolean;
|
|
68
75
|
+enableViewRecyclingForView?: () => boolean;
|
|
76
|
+
+enableVirtualViewClippingWithoutScrollViewClipping?: () => boolean;
|
|
77
|
+
+enableVirtualViewContainerStateExperimental?: () => boolean;
|
|
69
78
|
+enableVirtualViewDebugFeatures?: () => boolean;
|
|
70
79
|
+enableVirtualViewRenderState?: () => boolean;
|
|
71
80
|
+enableVirtualViewWindowFocusDetection?: () => boolean;
|
|
72
81
|
+enableWebPerformanceAPIsByDefault?: () => boolean;
|
|
73
82
|
+fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;
|
|
83
|
+
+fuseboxAssertSingleHostState?: () => boolean;
|
|
74
84
|
+fuseboxEnabledRelease?: () => boolean;
|
|
75
85
|
+fuseboxNetworkInspectionEnabled?: () => boolean;
|
|
76
86
|
+hideOffscreenVirtualViewsOnIOS?: () => boolean;
|
|
87
|
+
+overrideBySynchronousMountPropsAtMountingAndroid?: () => boolean;
|
|
88
|
+
+perfIssuesEnabled?: () => boolean;
|
|
77
89
|
+perfMonitorV2Enabled?: () => boolean;
|
|
78
90
|
+preparedTextCacheSize?: () => number;
|
|
79
91
|
+preventShadowTreeCommitExhaustion?: () => boolean;
|
|
80
|
-
+releaseImageDataWhenConsumed?: () => boolean;
|
|
81
92
|
+shouldPressibilityUseW3CPointerEventsForHover?: () => boolean;
|
|
93
|
+
+shouldTriggerResponderTransferOnScrollAndroid?: () => boolean;
|
|
82
94
|
+skipActivityIdentityAssertionOnHostPause?: () => boolean;
|
|
83
95
|
+sweepActiveTouchOnChildNativeGesturesAndroid?: () => boolean;
|
|
84
96
|
+traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
|
|
@@ -91,8 +103,11 @@ export interface Spec extends TurboModule {
|
|
|
91
103
|
+useOptimizedEventBatchingOnAndroid?: () => boolean;
|
|
92
104
|
+useRawPropsJsiValue?: () => boolean;
|
|
93
105
|
+useShadowNodeStateOnClone?: () => boolean;
|
|
106
|
+
+useSharedAnimatedBackend?: () => boolean;
|
|
107
|
+
+useTraitHiddenOnAndroid?: () => boolean;
|
|
94
108
|
+useTurboModuleInterop?: () => boolean;
|
|
95
109
|
+useTurboModules?: () => boolean;
|
|
110
|
+
+viewCullingOutsetRatio?: () => number;
|
|
96
111
|
+virtualViewHysteresisRatio?: () => number;
|
|
97
112
|
+virtualViewPrerenderRatio?: () => number;
|
|
98
113
|
}
|
|
@@ -41,4 +41,10 @@ export default function setUpDefaltReactNativeEnvironment(
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
require('../../../Libraries/ReactNative/AppRegistry');
|
|
44
|
+
|
|
45
|
+
if (
|
|
46
|
+
require('../../../src/private/featureflags/ReactNativeFeatureFlags').enableIntersectionObserverByDefault()
|
|
47
|
+
) {
|
|
48
|
+
require('./setUpIntersectionObserver').default();
|
|
49
|
+
}
|
|
44
50
|
}
|
|
@@ -55,8 +55,8 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
|
55
55
|
supportedCommands: ['setValue'],
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
-
// [windows #15582] removed interfaceOnly: true to generate the native component implementation
|
|
59
58
|
export default (codegenNativeComponent<SwitchNativeProps>('Switch', {
|
|
60
59
|
paperComponentName: 'RCTSwitch',
|
|
61
60
|
excludedPlatforms: ['android'],
|
|
61
|
+
//#Windows->15582 interfaceOnly: true,
|
|
62
62
|
}): ComponentType);
|
|
@@ -25,8 +25,10 @@ import type {InstanceHandle} from './internals/NodeInternals';
|
|
|
25
25
|
import type ReactNativeDocument from './ReactNativeDocument';
|
|
26
26
|
|
|
27
27
|
import TextInputState from '../../../../../Libraries/Components/TextInput/TextInputState';
|
|
28
|
+
import {Commands as ViewCommands} from '../../../../../Libraries/Components/View/ViewNativeComponent';
|
|
28
29
|
import {create as createAttributePayload} from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';
|
|
29
30
|
import warnForStyleProps from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps';
|
|
31
|
+
import * as ReactNativeFeatureFlags from '../../../featureflags/ReactNativeFeatureFlags';
|
|
30
32
|
import {
|
|
31
33
|
getNativeElementReference,
|
|
32
34
|
getPublicInstanceFromInstanceHandle,
|
|
@@ -140,11 +142,19 @@ class ReactNativeElement extends ReadOnlyElement implements NativeMethods {
|
|
|
140
142
|
*/
|
|
141
143
|
|
|
142
144
|
blur(): void {
|
|
143
|
-
TextInputState.
|
|
145
|
+
if (TextInputState.isTextInput(this)) {
|
|
146
|
+
TextInputState.blurTextInput(this);
|
|
147
|
+
} else if (ReactNativeFeatureFlags.enableImperativeFocus()) {
|
|
148
|
+
ViewCommands.blur(this);
|
|
149
|
+
}
|
|
144
150
|
}
|
|
145
151
|
|
|
146
152
|
focus() {
|
|
147
|
-
TextInputState.
|
|
153
|
+
if (TextInputState.isTextInput(this)) {
|
|
154
|
+
TextInputState.focusTextInput(this);
|
|
155
|
+
} else if (ReactNativeFeatureFlags.enableImperativeFocus()) {
|
|
156
|
+
ViewCommands.focus(this);
|
|
157
|
+
}
|
|
148
158
|
}
|
|
149
159
|
|
|
150
160
|
measure(callback: MeasureOnSuccessCallback) {
|
|
@@ -24,7 +24,7 @@ export type IntersectionObserverCallback = (
|
|
|
24
24
|
|
|
25
25
|
export interface IntersectionObserverInit {
|
|
26
26
|
root?: ?ReactNativeElement;
|
|
27
|
-
|
|
27
|
+
rootMargin?: string;
|
|
28
28
|
threshold?: number | $ReadOnlyArray<number>;
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -56,9 +56,8 @@ export interface IntersectionObserverInit {
|
|
|
56
56
|
* changes in degree of visibility; however, you can watch multiple target
|
|
57
57
|
* elements with the same observer.
|
|
58
58
|
*
|
|
59
|
-
* This implementation
|
|
60
|
-
*
|
|
61
|
-
* option `rnRootThreshold`.
|
|
59
|
+
* This implementation supports `threshold`, `root`, and `rootMargin` options and
|
|
60
|
+
* provides a React Native specific option `rnRootThreshold`.
|
|
62
61
|
*
|
|
63
62
|
*/
|
|
64
63
|
export default class IntersectionObserver {
|
|
@@ -68,6 +67,7 @@ export default class IntersectionObserver {
|
|
|
68
67
|
_intersectionObserverId: ?IntersectionObserverId;
|
|
69
68
|
_rootThresholds: $ReadOnlyArray<number> | null;
|
|
70
69
|
_root: ReactNativeElement | null;
|
|
70
|
+
_rootMargin: string;
|
|
71
71
|
|
|
72
72
|
constructor(
|
|
73
73
|
callback: IntersectionObserverCallback,
|
|
@@ -85,13 +85,6 @@ export default class IntersectionObserver {
|
|
|
85
85
|
);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
// $FlowExpectedError[prop-missing] it's not typed in React Native but exists on Web.
|
|
89
|
-
if (options?.rootMargin != null) {
|
|
90
|
-
throw new TypeError(
|
|
91
|
-
"Failed to construct 'IntersectionObserver': rootMargin is not supported",
|
|
92
|
-
);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
88
|
if (
|
|
96
89
|
options?.root != null &&
|
|
97
90
|
!(options?.root instanceof ReactNativeElement)
|
|
@@ -109,6 +102,7 @@ export default class IntersectionObserver {
|
|
|
109
102
|
this._rootThresholds != null, // only provide default if no rootThreshold
|
|
110
103
|
);
|
|
111
104
|
this._root = options?.root ?? null;
|
|
105
|
+
this._rootMargin = normalizeRootMargin(options?.rootMargin);
|
|
112
106
|
}
|
|
113
107
|
|
|
114
108
|
/**
|
|
@@ -128,12 +122,9 @@ export default class IntersectionObserver {
|
|
|
128
122
|
* Each side of the rectangle represented by `rootMargin` is added to the
|
|
129
123
|
* corresponding side in the root element's bounding box before the
|
|
130
124
|
* intersection test is performed.
|
|
131
|
-
*
|
|
132
|
-
* NOTE: This cannot currently be configured and `rootMargin` is always
|
|
133
|
-
* `null`.
|
|
134
125
|
*/
|
|
135
126
|
get rootMargin(): string {
|
|
136
|
-
return
|
|
127
|
+
return this._rootMargin;
|
|
137
128
|
}
|
|
138
129
|
|
|
139
130
|
/**
|
|
@@ -351,3 +342,73 @@ function normalizeThresholdValue(
|
|
|
351
342
|
|
|
352
343
|
return thresholdAsNumber;
|
|
353
344
|
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Validates and normalizes the rootMargin value.
|
|
348
|
+
* Accepts CSS margin syntax (e.g., "10px", "10px 20px", "10px 20px 30px 40px").
|
|
349
|
+
* Returns the normalized string or throws an error if invalid.
|
|
350
|
+
*
|
|
351
|
+
* Per W3C spec, rootMargin must be specified in pixels or percent.
|
|
352
|
+
* This implementation validates the basic format.
|
|
353
|
+
*/
|
|
354
|
+
function normalizeRootMargin(rootMargin: mixed): string {
|
|
355
|
+
if (rootMargin == null || rootMargin === '') {
|
|
356
|
+
return '0px 0px 0px 0px';
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
if (typeof rootMargin !== 'string') {
|
|
360
|
+
throw new TypeError(
|
|
361
|
+
"Failed to construct 'IntersectionObserver': Failed to read the 'rootMargin' property from 'IntersectionObserverInit': The provided value is not of type 'string'.",
|
|
362
|
+
);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
const marginStr = rootMargin.trim();
|
|
366
|
+
if (marginStr === '') {
|
|
367
|
+
return '0px 0px 0px 0px';
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// Split by whitespace and validate each value
|
|
371
|
+
const parts = marginStr.split(/\s+/);
|
|
372
|
+
if (parts.length > 4) {
|
|
373
|
+
throw new SyntaxError(
|
|
374
|
+
"Failed to construct 'IntersectionObserver': Failed to parse rootMargin: Too many values (expected 1-4).",
|
|
375
|
+
);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Validate each part matches the pattern: optional minus, digits, and unit (px or %)
|
|
379
|
+
const validPattern = /^-?\d+(\.\d+)?(px|%)$/;
|
|
380
|
+
for (const part of parts) {
|
|
381
|
+
if (!validPattern.test(part)) {
|
|
382
|
+
throw new SyntaxError(
|
|
383
|
+
`Failed to construct 'IntersectionObserver': Failed to parse rootMargin: '${part}' is not a valid length. Only 'px' and '%' units are allowed.`,
|
|
384
|
+
);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
// Normalize to 4 values following CSS margin shorthand rules
|
|
389
|
+
let normalized: Array<string>;
|
|
390
|
+
switch (parts.length) {
|
|
391
|
+
case 1:
|
|
392
|
+
// All sides the same
|
|
393
|
+
normalized = [parts[0], parts[0], parts[0], parts[0]];
|
|
394
|
+
break;
|
|
395
|
+
case 2:
|
|
396
|
+
// Vertical | Horizontal
|
|
397
|
+
normalized = [parts[0], parts[1], parts[0], parts[1]];
|
|
398
|
+
break;
|
|
399
|
+
case 3:
|
|
400
|
+
// Top | Horizontal | Bottom
|
|
401
|
+
normalized = [parts[0], parts[1], parts[2], parts[1]];
|
|
402
|
+
break;
|
|
403
|
+
case 4:
|
|
404
|
+
// Top | Right | Bottom | Left
|
|
405
|
+
normalized = parts;
|
|
406
|
+
break;
|
|
407
|
+
default:
|
|
408
|
+
throw new SyntaxError(
|
|
409
|
+
"Failed to construct 'IntersectionObserver': Failed to parse rootMargin.",
|
|
410
|
+
);
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
return normalized.join(' ');
|
|
414
|
+
}
|
|
@@ -175,6 +175,7 @@ export function observe({
|
|
|
175
175
|
targetShadowNode: targetNativeNodeReference,
|
|
176
176
|
thresholds: registeredObserver.observer.thresholds,
|
|
177
177
|
rootThresholds: registeredObserver.observer.rnRootThresholds,
|
|
178
|
+
rootMargin: registeredObserver.observer.rootMargin,
|
|
178
179
|
});
|
|
179
180
|
targetToTokenMap.set(target, token);
|
|
180
181
|
|
|
@@ -29,6 +29,7 @@ export type NativeIntersectionObserverObserveOptions = {
|
|
|
29
29
|
targetShadowNode: mixed,
|
|
30
30
|
thresholds: $ReadOnlyArray<number>,
|
|
31
31
|
rootThresholds?: ?$ReadOnlyArray<number>,
|
|
32
|
+
rootMargin?: ?string,
|
|
32
33
|
};
|
|
33
34
|
|
|
34
35
|
export opaque type NativeIntersectionObserverToken = mixed;
|
|
@@ -25,7 +25,10 @@ export type PerformanceResourceTimingJSON = {
|
|
|
25
25
|
connectEnd: DOMHighResTimeStamp,
|
|
26
26
|
responseStart: DOMHighResTimeStamp,
|
|
27
27
|
responseEnd: DOMHighResTimeStamp,
|
|
28
|
-
responseStatus:
|
|
28
|
+
responseStatus: number,
|
|
29
|
+
contentType: string,
|
|
30
|
+
encodedBodySize: number,
|
|
31
|
+
decodedBodySize: number,
|
|
29
32
|
...
|
|
30
33
|
};
|
|
31
34
|
|
|
@@ -39,7 +42,10 @@ export interface PerformanceResourceTimingInit {
|
|
|
39
42
|
+connectEnd: DOMHighResTimeStamp;
|
|
40
43
|
+responseStart: DOMHighResTimeStamp;
|
|
41
44
|
+responseEnd: DOMHighResTimeStamp;
|
|
42
|
-
+responseStatus
|
|
45
|
+
+responseStatus: number;
|
|
46
|
+
+contentType: string;
|
|
47
|
+
+encodedBodySize: number;
|
|
48
|
+
+decodedBodySize: number;
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
export class PerformanceResourceTiming extends PerformanceEntry {
|
|
@@ -49,7 +55,10 @@ export class PerformanceResourceTiming extends PerformanceEntry {
|
|
|
49
55
|
#connectEnd: DOMHighResTimeStamp;
|
|
50
56
|
#responseStart: DOMHighResTimeStamp;
|
|
51
57
|
#responseEnd: DOMHighResTimeStamp;
|
|
52
|
-
#responseStatus:
|
|
58
|
+
#responseStatus: number;
|
|
59
|
+
#contentType: string;
|
|
60
|
+
#encodedBodySize: number;
|
|
61
|
+
#decodedBodySize: number;
|
|
53
62
|
|
|
54
63
|
constructor(init: PerformanceResourceTimingInit) {
|
|
55
64
|
super('resource', init);
|
|
@@ -61,6 +70,9 @@ export class PerformanceResourceTiming extends PerformanceEntry {
|
|
|
61
70
|
this.#responseStart = init.responseStart;
|
|
62
71
|
this.#responseEnd = init.responseEnd;
|
|
63
72
|
this.#responseStatus = init.responseStatus;
|
|
73
|
+
this.#contentType = init.contentType;
|
|
74
|
+
this.#encodedBodySize = init.encodedBodySize;
|
|
75
|
+
this.#decodedBodySize = init.decodedBodySize;
|
|
64
76
|
}
|
|
65
77
|
|
|
66
78
|
get fetchStart(): DOMHighResTimeStamp {
|
|
@@ -87,10 +99,22 @@ export class PerformanceResourceTiming extends PerformanceEntry {
|
|
|
87
99
|
return this.#responseEnd;
|
|
88
100
|
}
|
|
89
101
|
|
|
90
|
-
get responseStatus():
|
|
102
|
+
get responseStatus(): number {
|
|
91
103
|
return this.#responseStatus;
|
|
92
104
|
}
|
|
93
105
|
|
|
106
|
+
get contentType(): string {
|
|
107
|
+
return this.#contentType;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
get encodedBodySize(): number {
|
|
111
|
+
return this.#encodedBodySize;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
get decodedBodySize(): number {
|
|
115
|
+
return this.#decodedBodySize;
|
|
116
|
+
}
|
|
117
|
+
|
|
94
118
|
toJSON(): PerformanceResourceTimingJSON {
|
|
95
119
|
return {
|
|
96
120
|
...super.toJSON(),
|
|
@@ -101,6 +125,9 @@ export class PerformanceResourceTiming extends PerformanceEntry {
|
|
|
101
125
|
responseStart: this.#responseStart,
|
|
102
126
|
responseEnd: this.#responseEnd,
|
|
103
127
|
responseStatus: this.#responseStatus,
|
|
128
|
+
contentType: this.contentType,
|
|
129
|
+
encodedBodySize: this.encodedBodySize,
|
|
130
|
+
decodedBodySize: this.decodedBodySize,
|
|
104
131
|
};
|
|
105
132
|
}
|
|
106
133
|
}
|
|
@@ -68,7 +68,10 @@ export function rawToPerformanceEntry(
|
|
|
68
68
|
connectEnd: entry.connectEnd ?? 0,
|
|
69
69
|
responseStart: entry.responseStart ?? 0,
|
|
70
70
|
responseEnd: entry.responseEnd ?? 0,
|
|
71
|
-
responseStatus: entry.responseStatus,
|
|
71
|
+
responseStatus: entry.responseStatus ?? 0,
|
|
72
|
+
contentType: entry.contentType ?? '',
|
|
73
|
+
encodedBodySize: entry.encodedBodySize ?? 0,
|
|
74
|
+
decodedBodySize: entry.decodedBodySize ?? 0,
|
|
72
75
|
});
|
|
73
76
|
default:
|
|
74
77
|
return new PerformanceEntry(rawToPerformanceEntryType(entry.entryType), {
|
|
@@ -37,6 +37,9 @@ export type RawPerformanceEntry = {
|
|
|
37
37
|
responseStart?: number,
|
|
38
38
|
responseEnd?: number,
|
|
39
39
|
responseStatus?: number,
|
|
40
|
+
contentType?: string,
|
|
41
|
+
encodedBodySize?: number,
|
|
42
|
+
decodedBodySize?: number,
|
|
40
43
|
};
|
|
41
44
|
|
|
42
45
|
export opaque type OpaqueNativeObserverHandle = mixed;
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
</AdditionalIncludeDirectories>
|
|
84
84
|
</ClCompile>
|
|
85
85
|
<Link>
|
|
86
|
-
<AdditionalDependencies>shell32.lib;user32.lib;windowsapp.lib;%(
|
|
86
|
+
<AdditionalDependencies>shell32.lib;user32.lib;windowsapp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
87
87
|
<SubSystem>Windows</SubSystem>
|
|
88
88
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
89
89
|
</Link>
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
</AdditionalIncludeDirectories>
|
|
86
86
|
</ClCompile>
|
|
87
87
|
<Link>
|
|
88
|
-
<AdditionalDependencies>shell32.lib;user32.lib;windowsapp.lib;%(
|
|
88
|
+
<AdditionalDependencies>shell32.lib;user32.lib;windowsapp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
89
89
|
<SubSystem>Console</SubSystem>
|
|
90
90
|
<GenerateWindowsMetadata>true</GenerateWindowsMetadata>
|
|
91
91
|
<ModuleDefinitionFile>{{ name }}.def</ModuleDefinitionFile>
|
package/types/index.d.ts
CHANGED
|
@@ -104,6 +104,7 @@ export * from '../Libraries/Components/View/ViewAccessibility';
|
|
|
104
104
|
export * from '../Libraries/Components/View/ViewPropTypes';
|
|
105
105
|
export * from '../Libraries/Components/Button';
|
|
106
106
|
export * from '../Libraries/Core/registerCallableModule';
|
|
107
|
+
export * as NativeComponentRegistry from '../Libraries/NativeComponent/NativeComponentRegistry';
|
|
107
108
|
export * from '../Libraries/EventEmitter/NativeEventEmitter';
|
|
108
109
|
export * from '../Libraries/EventEmitter/RCTDeviceEventEmitter';
|
|
109
110
|
export * from '../Libraries/EventEmitter/RCTNativeAppEventEmitter';
|
|
@@ -120,8 +120,6 @@ export type NativeMethodsMixin = NativeMethods;
|
|
|
120
120
|
*/
|
|
121
121
|
export type NativeMethodsMixinType = NativeMethods;
|
|
122
122
|
|
|
123
|
-
export type HostInstance = NativeMethods;
|
|
124
|
-
|
|
125
123
|
/**
|
|
126
124
|
* Represents a native component, such as those returned from `requireNativeComponent`.
|
|
127
125
|
*
|
|
@@ -137,3 +135,118 @@ export interface HostComponent<P>
|
|
|
137
135
|
> {
|
|
138
136
|
new (props: P, context?: any): React.Component<P> & HostInstance;
|
|
139
137
|
}
|
|
138
|
+
|
|
139
|
+
export interface ArrayLike<T> extends Iterable<T> {
|
|
140
|
+
[indexer: number]: T;
|
|
141
|
+
readonly length: number;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export interface HTMLCollection<T> extends Iterable<T>, ArrayLike<T> {
|
|
145
|
+
[index: number]: T;
|
|
146
|
+
readonly length: number;
|
|
147
|
+
item(index: number): null | T;
|
|
148
|
+
namedItem(name: string): null | T;
|
|
149
|
+
[Symbol.iterator](): Iterator<T>;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export interface NodeList<T> extends Iterable<T>, ArrayLike<T> {
|
|
153
|
+
[index: number]: T;
|
|
154
|
+
readonly length: number;
|
|
155
|
+
entries(): Iterator<[number, T]>;
|
|
156
|
+
forEach<ThisType>(
|
|
157
|
+
callbackFn: (value: T, index: number, array: NodeList<T>) => unknown,
|
|
158
|
+
thisArg?: ThisType,
|
|
159
|
+
): void;
|
|
160
|
+
item(index: number): null | T;
|
|
161
|
+
keys(): Iterator<number>;
|
|
162
|
+
values(): Iterator<T>;
|
|
163
|
+
[Symbol.iterator](): Iterator<T>;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface ReadOnlyNode {
|
|
167
|
+
get childNodes(): NodeList<ReadOnlyNode>;
|
|
168
|
+
compareDocumentPosition(otherNode: ReadOnlyNode): number;
|
|
169
|
+
contains(otherNode: ReadOnlyNode): boolean;
|
|
170
|
+
get firstChild(): null | ReadOnlyNode;
|
|
171
|
+
getRootNode(): ReadOnlyNode;
|
|
172
|
+
hasChildNodes(): boolean;
|
|
173
|
+
get isConnected(): boolean;
|
|
174
|
+
get lastChild(): null | ReadOnlyNode;
|
|
175
|
+
get nextSibling(): null | ReadOnlyNode;
|
|
176
|
+
get nodeName(): string;
|
|
177
|
+
get nodeType(): number;
|
|
178
|
+
get nodeValue(): null | string;
|
|
179
|
+
get ownerDocument(): null | ReactNativeDocument;
|
|
180
|
+
get parentElement(): null | ReadOnlyElement;
|
|
181
|
+
get parentNode(): null | ReadOnlyNode;
|
|
182
|
+
get previousSibling(): null | ReadOnlyNode;
|
|
183
|
+
get textContent(): string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export interface ReactNativeDocument extends ReadOnlyNode {
|
|
187
|
+
get childElementCount(): number;
|
|
188
|
+
get children(): HTMLCollection<ReadOnlyElement>;
|
|
189
|
+
get documentElement(): ReactNativeElement;
|
|
190
|
+
get firstElementChild(): null | ReadOnlyElement;
|
|
191
|
+
getElementById(id: string): null | ReadOnlyElement;
|
|
192
|
+
get lastElementChild(): null | ReadOnlyElement;
|
|
193
|
+
get nodeName(): string;
|
|
194
|
+
get nodeType(): number;
|
|
195
|
+
get nodeValue(): null;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export interface ReadOnlyElement extends ReadOnlyNode {
|
|
199
|
+
get childElementCount(): number;
|
|
200
|
+
get children(): HTMLCollection<ReadOnlyElement>;
|
|
201
|
+
get clientHeight(): number;
|
|
202
|
+
get clientLeft(): number;
|
|
203
|
+
get clientTop(): number;
|
|
204
|
+
get clientWidth(): number;
|
|
205
|
+
get firstElementChild(): null | ReadOnlyElement;
|
|
206
|
+
getBoundingClientRect(): DOMRect;
|
|
207
|
+
hasPointerCapture(pointerId: number): boolean;
|
|
208
|
+
get id(): string;
|
|
209
|
+
get lastElementChild(): null | ReadOnlyElement;
|
|
210
|
+
get nextElementSibling(): null | ReadOnlyElement;
|
|
211
|
+
get nodeName(): string;
|
|
212
|
+
get nodeType(): number;
|
|
213
|
+
get nodeValue(): null | string;
|
|
214
|
+
set nodeValue(value: string);
|
|
215
|
+
get previousElementSibling(): null | ReadOnlyElement;
|
|
216
|
+
releasePointerCapture(pointerId: number): void;
|
|
217
|
+
get scrollHeight(): number;
|
|
218
|
+
get scrollLeft(): number;
|
|
219
|
+
get scrollTop(): number;
|
|
220
|
+
get scrollWidth(): number;
|
|
221
|
+
setPointerCapture(pointerId: number): void;
|
|
222
|
+
get tagName(): string;
|
|
223
|
+
get textContent(): string;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export interface ReactNativeElement extends ReadOnlyElement, NativeMethods {
|
|
227
|
+
blur(): void;
|
|
228
|
+
focus(): void;
|
|
229
|
+
get offsetHeight(): number;
|
|
230
|
+
get offsetLeft(): number;
|
|
231
|
+
get offsetParent(): null | ReadOnlyElement;
|
|
232
|
+
get offsetTop(): number;
|
|
233
|
+
get offsetWidth(): number;
|
|
234
|
+
setNativeProps(nativeProps: {}): void;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export interface ReadOnlyCharacterData extends ReadOnlyNode {
|
|
238
|
+
get data(): string;
|
|
239
|
+
get length(): number;
|
|
240
|
+
get nextElementSibling(): null | ReadOnlyElement;
|
|
241
|
+
get nodeValue(): string;
|
|
242
|
+
get previousElementSibling(): null | ReadOnlyElement;
|
|
243
|
+
substringData(offset: number, count: number): string;
|
|
244
|
+
get textContent(): string;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export interface ReadOnlyText extends ReadOnlyCharacterData {
|
|
248
|
+
get nodeName(): string;
|
|
249
|
+
get nodeType(): number;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export type HostInstance = ReactNativeElement;
|