react-native-windows 0.71.10 → 0.72.0-preview.2
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 +13 -3
- package/Directory.Build.props +19 -19
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.windows.js +2 -0
- package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/AppTheme/AppTheme.js +1 -0
- package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.windows.js +3 -2
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
- package/Libraries/Components/Flyout/Flyout.js +110 -51
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
- package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
- package/Libraries/Components/Glyph/Glyph.js +43 -30
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Popup/Popup.d.ts +41 -19
- package/Libraries/Components/Popup/Popup.js +86 -52
- package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +35 -16
- package/Libraries/Components/View/View.windows.js +40 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.windows.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +10 -4
- package/Libraries/Pressability/Pressability.windows.js +11 -4
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +168 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/Text.windows.js +48 -38
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.windows.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.windows.js +26 -0
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/platform-types.d.ts +3 -5
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
- package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
- package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
- package/Microsoft.ReactNative/IReactContext.cpp +4 -0
- package/Microsoft.ReactNative/IReactContext.h +1 -0
- package/Microsoft.ReactNative/IReactContext.idl +5 -0
- package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
- package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
- package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
- package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
- package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
- package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
- package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
- package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
- package/Microsoft.ReactNative/QuirkSettings.h +5 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
- package/Microsoft.ReactNative/ReactApplication.h +3 -0
- package/Microsoft.ReactNative/ReactApplication.idl +3 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
- package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
- package/Microsoft.ReactNative/ReactHost/React.h +2 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
- package/Microsoft.ReactNative/RedBox.cpp +2 -1
- package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
- package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
- package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
- package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
- package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
- package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
- package/Microsoft.ReactNative/ViewProps.idl +30 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
- package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
- package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
- package/Microsoft.ReactNative/XamlHelper.h +27 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
- package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
- package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -2
- package/PropertySheets/Warnings.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +2 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
- package/ReactCommon/Yoga.cpp +60 -127
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
- package/Scripts/rnw-dependencies.ps1 +14 -6
- package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
- package/Shared/DevServerHelper.h +11 -2
- package/Shared/DevSettings.h +1 -0
- package/Shared/DevSupportManager.cpp +11 -1
- package/Shared/DevSupportManager.h +1 -0
- package/Shared/HermesRuntimeHolder.cpp +53 -30
- package/Shared/HermesRuntimeHolder.h +26 -11
- package/Shared/HermesSamplingProfiler.cpp +61 -8
- package/Shared/HermesSamplingProfiler.h +6 -3
- package/Shared/HermesShim.cpp +86 -82
- package/Shared/HermesShim.h +28 -8
- package/Shared/JSI/ChakraRuntime.cpp +7 -4
- package/Shared/JSI/ChakraRuntime.h +4 -4
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
- package/Shared/JSI/RuntimeHolder.h +2 -2
- package/Shared/Logging.cpp +1 -1
- package/Shared/Modules/BlobModule.cpp +3 -4
- package/Shared/Modules/BlobModule.h +0 -4
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
- package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
- package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
- package/Shared/OInstance.cpp +9 -2
- package/Shared/Shared.vcxitems +265 -58
- package/Shared/Shared.vcxitems.filters +312 -42
- package/Shared/V8JSIRuntimeHolder.cpp +1 -0
- package/Shared/V8JSIRuntimeHolder.h +7 -2
- package/codegen/NativeAppearanceSpec.g.h +9 -3
- package/codegen/NativeClipboardSpec.g.h +3 -3
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +3 -3
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
- package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
- package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
- package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
- package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
- package/codegen/NativeIntentAndroidSpec.g.h +15 -15
- package/codegen/NativeLinkingManagerSpec.g.h +12 -12
- package/codegen/NativePerformanceObserverSpec.g.h +48 -10
- package/codegen/NativePerformanceSpec.g.h +63 -0
- package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
- package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
- package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
- package/codegen/NativeShareModuleSpec.g.h +9 -3
- package/codegen/NativeUIManagerSpec.g.h +12 -12
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
- package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
- package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
- package/codegen/react/components/rnwcore/Props.cpp +47 -48
- package/codegen/react/components/rnwcore/Props.h +59 -166
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
- package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
- package/codegen/react/components/rnwcore/States.h +15 -30
- package/codegen/rnwcoreJSI-generated.cpp +87 -17
- package/codegen/rnwcoreJSI.h +1080 -376
- package/generate.js +6 -1
- package/include/Include.vcxitems +0 -1
- package/include/Include.vcxitems.filters +0 -3
- package/index.js +56 -42
- package/index.windows.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/just-task.js +12 -5
- package/package.json +34 -31
- package/rn-get-polyfills.js +1 -1
- package/template/metro.config.js +2 -0
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/Flyout/Flyout.js.map +0 -1
- package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
- package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
- package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
- package/Libraries/Components/Glyph/Glyph.js.map +0 -1
- package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
- package/Libraries/Components/Glyph/GlyphProps.js +0 -8
- package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
- package/Libraries/Components/Popup/Popup.js.map +0 -1
- package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
- package/Libraries/Components/Popup/PopupProps.js +0 -8
- package/Libraries/Components/Popup/PopupProps.js.map +0 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
- package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
- package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
- package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
- package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
- package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
- package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
- package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
- package/Shared/AsyncStorage/StorageFileIO.h +0 -40
- package/Shared/AsyncStorageModule.h +0 -25
- package/Shared/Modules/AsyncStorageModule.cpp +0 -87
- package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
- package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
- package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
- package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
- package/types/index.d.ts +0 -216
- package/types/modules/BatchedBridge.d.ts +0 -32
- package/types/modules/Codegen.d.ts +0 -74
- package/types/modules/Devtools.d.ts +0 -31
- package/types/modules/LaunchScreen.d.ts +0 -18
- package/types/modules/globals.d.ts +0 -577
- package/types/private/TimerMixin.d.ts +0 -19
- package/types/private/Utilities.d.ts +0 -10
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
- package/types/public/Insets.d.ts +0 -15
- package/types/public/ReactNativeRenderer.d.ts +0 -149
- package/types/public/ReactNativeTypes.d.ts +0 -143
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import typeof ScrollView from '../Components/ScrollView/ScrollView';
|
|
12
|
-
import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
|
|
13
|
-
import type {
|
|
14
|
-
ViewabilityConfig,
|
|
15
|
-
ViewabilityConfigCallbackPair,
|
|
16
|
-
ViewToken,
|
|
17
|
-
} from './ViewabilityHelper';
|
|
18
|
-
|
|
19
|
-
import * as React from 'react';
|
|
20
|
-
|
|
21
|
-
export type Item = any;
|
|
22
|
-
|
|
23
|
-
export type Separators = {
|
|
24
|
-
highlight: () => void,
|
|
25
|
-
unhighlight: () => void,
|
|
26
|
-
updateProps: (select: 'leading' | 'trailing', newProps: Object) => void,
|
|
27
|
-
...
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export type RenderItemProps<ItemT> = {
|
|
31
|
-
item: ItemT,
|
|
32
|
-
index: number,
|
|
33
|
-
separators: Separators,
|
|
34
|
-
...
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export type RenderItemType<ItemT> = (
|
|
38
|
-
info: RenderItemProps<ItemT>,
|
|
39
|
-
) => React.Node;
|
|
40
|
-
|
|
41
|
-
type RequiredProps = {|
|
|
42
|
-
/**
|
|
43
|
-
* The default accessor functions assume this is an Array<{key: string} | {id: string}> but you can override
|
|
44
|
-
* getItem, getItemCount, and keyExtractor to handle any type of index-based data.
|
|
45
|
-
*/
|
|
46
|
-
data?: any,
|
|
47
|
-
/**
|
|
48
|
-
* A generic accessor for extracting an item from any sort of data blob.
|
|
49
|
-
*/
|
|
50
|
-
getItem: (data: any, index: number) => ?Item,
|
|
51
|
-
/**
|
|
52
|
-
* Determines how many items are in the data blob.
|
|
53
|
-
*/
|
|
54
|
-
getItemCount: (data: any) => number,
|
|
55
|
-
|};
|
|
56
|
-
type OptionalProps = {|
|
|
57
|
-
renderItem?: ?RenderItemType<Item>,
|
|
58
|
-
/**
|
|
59
|
-
* `debug` will turn on extra logging and visual overlays to aid with debugging both usage and
|
|
60
|
-
* implementation, but with a significant perf hit.
|
|
61
|
-
*/
|
|
62
|
-
debug?: ?boolean,
|
|
63
|
-
/**
|
|
64
|
-
* DEPRECATED: Virtualization provides significant performance and memory optimizations, but fully
|
|
65
|
-
* unmounts react instances that are outside of the render window. You should only need to disable
|
|
66
|
-
* this for debugging purposes. Defaults to false.
|
|
67
|
-
*/
|
|
68
|
-
disableVirtualization?: ?boolean,
|
|
69
|
-
/**
|
|
70
|
-
* A marker property for telling the list to re-render (since it implements `PureComponent`). If
|
|
71
|
-
* any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the
|
|
72
|
-
* `data` prop, stick it here and treat it immutably.
|
|
73
|
-
*/
|
|
74
|
-
extraData?: any,
|
|
75
|
-
// e.g. height, y
|
|
76
|
-
getItemLayout?: (
|
|
77
|
-
data: any,
|
|
78
|
-
index: number,
|
|
79
|
-
) => {
|
|
80
|
-
length: number,
|
|
81
|
-
offset: number,
|
|
82
|
-
index: number,
|
|
83
|
-
...
|
|
84
|
-
},
|
|
85
|
-
horizontal?: ?boolean,
|
|
86
|
-
/**
|
|
87
|
-
* How many items to render in the initial batch. This should be enough to fill the screen but not
|
|
88
|
-
* much more. Note these items will never be unmounted as part of the windowed rendering in order
|
|
89
|
-
* to improve perceived performance of scroll-to-top actions.
|
|
90
|
-
*/
|
|
91
|
-
initialNumToRender?: ?number,
|
|
92
|
-
/**
|
|
93
|
-
* Instead of starting at the top with the first item, start at `initialScrollIndex`. This
|
|
94
|
-
* disables the "scroll to top" optimization that keeps the first `initialNumToRender` items
|
|
95
|
-
* always rendered and immediately renders the items starting at this initial index. Requires
|
|
96
|
-
* `getItemLayout` to be implemented.
|
|
97
|
-
*/
|
|
98
|
-
initialScrollIndex?: ?number,
|
|
99
|
-
/**
|
|
100
|
-
* Reverses the direction of scroll. Uses scale transforms of -1.
|
|
101
|
-
*/
|
|
102
|
-
inverted?: ?boolean,
|
|
103
|
-
keyExtractor?: ?(item: Item, index: number) => string,
|
|
104
|
-
/**
|
|
105
|
-
* Each cell is rendered using this element. Can be a React Component Class,
|
|
106
|
-
* or a render function. Defaults to using View.
|
|
107
|
-
*/
|
|
108
|
-
CellRendererComponent?: ?React.ComponentType<any>,
|
|
109
|
-
/**
|
|
110
|
-
* Rendered in between each item, but not at the top or bottom. By default, `highlighted` and
|
|
111
|
-
* `leadingItem` props are provided. `renderItem` provides `separators.highlight`/`unhighlight`
|
|
112
|
-
* which will update the `highlighted` prop, but you can also add custom props with
|
|
113
|
-
* `separators.updateProps`.
|
|
114
|
-
*/
|
|
115
|
-
ItemSeparatorComponent?: ?React.ComponentType<any>,
|
|
116
|
-
/**
|
|
117
|
-
* Takes an item from `data` and renders it into the list. Example usage:
|
|
118
|
-
*
|
|
119
|
-
* <FlatList
|
|
120
|
-
* ItemSeparatorComponent={Platform.OS !== 'android' && ({highlighted}) => (
|
|
121
|
-
* <View style={[style.separator, highlighted && {marginLeft: 0}]} />
|
|
122
|
-
* )}
|
|
123
|
-
* data={[{title: 'Title Text', key: 'item1'}]}
|
|
124
|
-
* ListItemComponent={({item, separators}) => (
|
|
125
|
-
* <TouchableHighlight
|
|
126
|
-
* onPress={() => this._onPress(item)}
|
|
127
|
-
* onShowUnderlay={separators.highlight}
|
|
128
|
-
* onHideUnderlay={separators.unhighlight}>
|
|
129
|
-
* <View style={{backgroundColor: 'white'}}>
|
|
130
|
-
* <Text>{item.title}</Text>
|
|
131
|
-
* </View>
|
|
132
|
-
* </TouchableHighlight>
|
|
133
|
-
* )}
|
|
134
|
-
* />
|
|
135
|
-
*
|
|
136
|
-
* Provides additional metadata like `index` if you need it, as well as a more generic
|
|
137
|
-
* `separators.updateProps` function which let's you set whatever props you want to change the
|
|
138
|
-
* rendering of either the leading separator or trailing separator in case the more common
|
|
139
|
-
* `highlight` and `unhighlight` (which set the `highlighted: boolean` prop) are insufficient for
|
|
140
|
-
* your use-case.
|
|
141
|
-
*/
|
|
142
|
-
ListItemComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
143
|
-
/**
|
|
144
|
-
* Rendered when the list is empty. Can be a React Component Class, a render function, or
|
|
145
|
-
* a rendered element.
|
|
146
|
-
*/
|
|
147
|
-
ListEmptyComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
148
|
-
/**
|
|
149
|
-
* Rendered at the bottom of all the items. Can be a React Component Class, a render function, or
|
|
150
|
-
* a rendered element.
|
|
151
|
-
*/
|
|
152
|
-
ListFooterComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
153
|
-
/**
|
|
154
|
-
* Styling for internal View for ListFooterComponent
|
|
155
|
-
*/
|
|
156
|
-
ListFooterComponentStyle?: ViewStyleProp,
|
|
157
|
-
/**
|
|
158
|
-
* Rendered at the top of all the items. Can be a React Component Class, a render function, or
|
|
159
|
-
* a rendered element.
|
|
160
|
-
*/
|
|
161
|
-
ListHeaderComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
162
|
-
/**
|
|
163
|
-
* Styling for internal View for ListHeaderComponent
|
|
164
|
-
*/
|
|
165
|
-
ListHeaderComponentStyle?: ViewStyleProp,
|
|
166
|
-
/**
|
|
167
|
-
* The maximum number of items to render in each incremental render batch. The more rendered at
|
|
168
|
-
* once, the better the fill rate, but responsiveness may suffer because rendering content may
|
|
169
|
-
* interfere with responding to button taps or other interactions.
|
|
170
|
-
*/
|
|
171
|
-
maxToRenderPerBatch?: ?number,
|
|
172
|
-
/**
|
|
173
|
-
* Called once when the scroll position gets within `onEndReachedThreshold` of the rendered
|
|
174
|
-
* content.
|
|
175
|
-
*/
|
|
176
|
-
onEndReached?: ?(info: {distanceFromEnd: number, ...}) => void,
|
|
177
|
-
/**
|
|
178
|
-
* How far from the end (in units of visible length of the list) the bottom edge of the
|
|
179
|
-
* list must be from the end of the content to trigger the `onEndReached` callback.
|
|
180
|
-
* Thus a value of 0.5 will trigger `onEndReached` when the end of the content is
|
|
181
|
-
* within half the visible length of the list. A value of 0 will not trigger until scrolling
|
|
182
|
-
* to the very end of the list.
|
|
183
|
-
*/
|
|
184
|
-
onEndReachedThreshold?: ?number,
|
|
185
|
-
/**
|
|
186
|
-
* If provided, a standard RefreshControl will be added for "Pull to Refresh" functionality. Make
|
|
187
|
-
* sure to also set the `refreshing` prop correctly.
|
|
188
|
-
*/
|
|
189
|
-
onRefresh?: ?() => void,
|
|
190
|
-
/**
|
|
191
|
-
* Used to handle failures when scrolling to an index that has not been measured yet. Recommended
|
|
192
|
-
* action is to either compute your own offset and `scrollTo` it, or scroll as far as possible and
|
|
193
|
-
* then try again after more items have been rendered.
|
|
194
|
-
*/
|
|
195
|
-
onScrollToIndexFailed?: ?(info: {
|
|
196
|
-
index: number,
|
|
197
|
-
highestMeasuredFrameIndex: number,
|
|
198
|
-
averageItemLength: number,
|
|
199
|
-
...
|
|
200
|
-
}) => void,
|
|
201
|
-
/**
|
|
202
|
-
* Called when the viewability of rows changes, as defined by the
|
|
203
|
-
* `viewabilityConfig` prop.
|
|
204
|
-
*/
|
|
205
|
-
onViewableItemsChanged?: ?(info: {
|
|
206
|
-
viewableItems: Array<ViewToken>,
|
|
207
|
-
changed: Array<ViewToken>,
|
|
208
|
-
...
|
|
209
|
-
}) => void,
|
|
210
|
-
persistentScrollbar?: ?boolean,
|
|
211
|
-
/**
|
|
212
|
-
* Set this when offset is needed for the loading indicator to show correctly.
|
|
213
|
-
*/
|
|
214
|
-
progressViewOffset?: number,
|
|
215
|
-
/**
|
|
216
|
-
* A custom refresh control element. When set, it overrides the default
|
|
217
|
-
* <RefreshControl> component built internally. The onRefresh and refreshing
|
|
218
|
-
* props are also ignored. Only works for vertical VirtualizedList.
|
|
219
|
-
*/
|
|
220
|
-
refreshControl?: ?React.Element<any>,
|
|
221
|
-
/**
|
|
222
|
-
* Set this true while waiting for new data from a refresh.
|
|
223
|
-
*/
|
|
224
|
-
refreshing?: ?boolean,
|
|
225
|
-
/**
|
|
226
|
-
* Note: may have bugs (missing content) in some circumstances - use at your own risk.
|
|
227
|
-
*
|
|
228
|
-
* This may improve scroll performance for large lists.
|
|
229
|
-
*/
|
|
230
|
-
removeClippedSubviews?: boolean,
|
|
231
|
-
/**
|
|
232
|
-
* Render a custom scroll component, e.g. with a differently styled `RefreshControl`.
|
|
233
|
-
*/
|
|
234
|
-
renderScrollComponent?: (props: Object) => React.Element<any>,
|
|
235
|
-
/**
|
|
236
|
-
* Amount of time between low-pri item render batches, e.g. for rendering items quite a ways off
|
|
237
|
-
* screen. Similar fill rate/responsiveness tradeoff as `maxToRenderPerBatch`.
|
|
238
|
-
*/
|
|
239
|
-
updateCellsBatchingPeriod?: ?number,
|
|
240
|
-
/**
|
|
241
|
-
* See `ViewabilityHelper` for flow type and further documentation.
|
|
242
|
-
*/
|
|
243
|
-
viewabilityConfig?: ViewabilityConfig,
|
|
244
|
-
/**
|
|
245
|
-
* List of ViewabilityConfig/onViewableItemsChanged pairs. A specific onViewableItemsChanged
|
|
246
|
-
* will be called when its corresponding ViewabilityConfig's conditions are met.
|
|
247
|
-
*/
|
|
248
|
-
viewabilityConfigCallbackPairs?: Array<ViewabilityConfigCallbackPair>,
|
|
249
|
-
/**
|
|
250
|
-
* Determines the maximum number of items rendered outside of the visible area, in units of
|
|
251
|
-
* visible lengths. So if your list fills the screen, then `windowSize={21}` (the default) will
|
|
252
|
-
* render the visible screen area plus up to 10 screens above and 10 below the viewport. Reducing
|
|
253
|
-
* this number will reduce memory consumption and may improve performance, but will increase the
|
|
254
|
-
* chance that fast scrolling may reveal momentary blank areas of unrendered content.
|
|
255
|
-
*/
|
|
256
|
-
windowSize?: ?number,
|
|
257
|
-
/**
|
|
258
|
-
* The legacy implementation is no longer supported.
|
|
259
|
-
*/
|
|
260
|
-
legacyImplementation?: empty,
|
|
261
|
-
|};
|
|
262
|
-
|
|
263
|
-
export type Props = {|
|
|
264
|
-
...React.ElementConfig<ScrollView>,
|
|
265
|
-
...RequiredProps,
|
|
266
|
-
...OptionalProps,
|
|
267
|
-
|};
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Subset of properties needed to calculate frame metrics
|
|
271
|
-
*/
|
|
272
|
-
export type FrameMetricProps = {
|
|
273
|
-
data: RequiredProps['data'],
|
|
274
|
-
getItemCount: RequiredProps['getItemCount'],
|
|
275
|
-
getItem: RequiredProps['getItem'],
|
|
276
|
-
getItemLayout?: OptionalProps['getItemLayout'],
|
|
277
|
-
keyExtractor?: OptionalProps['keyExtractor'],
|
|
278
|
-
...
|
|
279
|
-
};
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow strict
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
const React = require('react');
|
|
14
|
-
|
|
15
|
-
opaque type DoNotCommitUsageOfPureComponentDebug = {...};
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Identifies which prop or state changes triggered a re-render of a PureComponent. Usage:
|
|
19
|
-
*
|
|
20
|
-
* Change `extends React.PureComponent` to `extends PureComponentDebug` or inject it
|
|
21
|
-
* everywhere by putting this line in your app setup:
|
|
22
|
-
*
|
|
23
|
-
* React.PureComponent = require('PureComponentDebug');
|
|
24
|
-
*
|
|
25
|
-
* Should only be used for local testing, and will trigger a flow failure if you try to
|
|
26
|
-
* commit any usages.
|
|
27
|
-
*/
|
|
28
|
-
class PureComponentDebug<
|
|
29
|
-
P: DoNotCommitUsageOfPureComponentDebug,
|
|
30
|
-
S: ?{...} = void,
|
|
31
|
-
> extends React.Component<P, S> {
|
|
32
|
-
shouldComponentUpdate(nextProps: P, nextState: S): boolean {
|
|
33
|
-
const tag = this.constructor.name;
|
|
34
|
-
let ret = false;
|
|
35
|
-
const prevPropsKeys = Object.keys(this.props);
|
|
36
|
-
const nextPropsKeys = Object.keys(nextProps);
|
|
37
|
-
if (prevPropsKeys.length !== nextPropsKeys.length) {
|
|
38
|
-
ret = true;
|
|
39
|
-
console.warn(
|
|
40
|
-
'PureComponentDebug: different prop keys',
|
|
41
|
-
tag,
|
|
42
|
-
prevPropsKeys.filter(key => !nextPropsKeys.includes(key)),
|
|
43
|
-
nextPropsKeys.filter(key => !prevPropsKeys.includes(key)),
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
const prevStateKeys = Object.keys(this.state || {});
|
|
47
|
-
const nextStateKeys = Object.keys(nextState || {});
|
|
48
|
-
if (prevStateKeys.length !== nextStateKeys.length) {
|
|
49
|
-
ret = true;
|
|
50
|
-
console.warn(
|
|
51
|
-
'PureComponentDebug: different state keys',
|
|
52
|
-
tag,
|
|
53
|
-
prevStateKeys.filter(key => !nextStateKeys.includes(key)),
|
|
54
|
-
nextStateKeys.filter(key => !prevStateKeys.includes(key)),
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
for (const key in this.props) {
|
|
58
|
-
if (this.props[key] !== nextProps[key]) {
|
|
59
|
-
ret = true;
|
|
60
|
-
console.warn('PureComponentDebug: different prop values', tag, key);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
for (const key in this.state) {
|
|
64
|
-
// $FlowFixMe[incompatible-use]
|
|
65
|
-
if (this.state[key] !== (nextState || {})[key]) {
|
|
66
|
-
ret = true;
|
|
67
|
-
console.warn('PureComponentDebug: different state values', tag, key);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return ret;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
module.exports = PureComponentDebug;
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @format
|
|
8
|
-
* @flow strict
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
const AUTO_INSTANCE_KEY = -1;
|
|
14
|
-
|
|
15
|
-
export type FlowId = {
|
|
16
|
-
markerId: number,
|
|
17
|
-
instanceKey: number,
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export type PointData = $Shape<{
|
|
21
|
-
string: ?{[string]: string, ...},
|
|
22
|
-
int: ?{[string]: number, ...},
|
|
23
|
-
double: ?{[string]: number, ...},
|
|
24
|
-
bool: ?{[string]: boolean, ...},
|
|
25
|
-
string_array: ?{[string]: $ReadOnlyArray<string>, ...},
|
|
26
|
-
int_array: ?{[string]: $ReadOnlyArray<number>, ...},
|
|
27
|
-
double_array: ?{[string]: $ReadOnlyArray<number>, ...},
|
|
28
|
-
bool_array: ?{[string]: $ReadOnlyArray<boolean>, ...},
|
|
29
|
-
}>;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* API for tracking reliability of your user interactions
|
|
33
|
-
*
|
|
34
|
-
* Example:
|
|
35
|
-
* const flowId = UserFlow.newFlowId(QuickLogItentifiersExample.EXAMPLE_EVENT);
|
|
36
|
-
* ...
|
|
37
|
-
* UserFlow.start(flowId, {triggerSource: "user_click", cancelOnBackground: true});
|
|
38
|
-
* ...
|
|
39
|
-
* UserFlow.addAnnotation(flowId, "cached", "true");
|
|
40
|
-
* ...
|
|
41
|
-
* UserFlow.addPoint(flowId, "reload");
|
|
42
|
-
* ...
|
|
43
|
-
* UserFlow.endSuccess(flowId);
|
|
44
|
-
*/
|
|
45
|
-
const UserFlow = {
|
|
46
|
-
/**
|
|
47
|
-
* Creates FlowId from markerId and instanceKey.
|
|
48
|
-
* You will pass FlowId in every other method of UserFlow API.
|
|
49
|
-
*
|
|
50
|
-
* By default, instanceKey will generate unique instance every time you call userFlowGetId with markerId only.
|
|
51
|
-
*/
|
|
52
|
-
newFlowId(markerId: number, instanceKey: number = AUTO_INSTANCE_KEY): FlowId {
|
|
53
|
-
var resolvedInstanceKey = instanceKey;
|
|
54
|
-
if (instanceKey === AUTO_INSTANCE_KEY) {
|
|
55
|
-
if (global.nativeUserFlowNextInstanceKey) {
|
|
56
|
-
resolvedInstanceKey = global.nativeUserFlowNextInstanceKey(markerId);
|
|
57
|
-
} else {
|
|
58
|
-
// There is no JSI methods installed, API won't do anything
|
|
59
|
-
resolvedInstanceKey = 0;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
markerId: markerId,
|
|
64
|
-
instanceKey: resolvedInstanceKey,
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Starts new flow.
|
|
70
|
-
* Example:
|
|
71
|
-
* UserFlow.start(flowId, {triggerSource: 'user_click', cancelOnBackground: true})
|
|
72
|
-
*
|
|
73
|
-
* Specify triggerSource as a place where your flow has started.
|
|
74
|
-
* Specify if flow should be automatically cancelled if applicaton goes to background.
|
|
75
|
-
* It is recommended to use true for cancelOnBackground - this reduces amount of lost flows due to instrumentation mistakes.
|
|
76
|
-
* Only if you know that your flow should survive app backgrounding - use false. This includes cases of tracking cross application interactions.
|
|
77
|
-
*
|
|
78
|
-
*/
|
|
79
|
-
start(
|
|
80
|
-
flowId: FlowId,
|
|
81
|
-
options: {triggerSource: string, cancelOnBackground: boolean},
|
|
82
|
-
): void {
|
|
83
|
-
if (global.nativeUserFlowStart) {
|
|
84
|
-
global.nativeUserFlowStart(
|
|
85
|
-
flowId.markerId,
|
|
86
|
-
flowId.instanceKey,
|
|
87
|
-
options.triggerSource,
|
|
88
|
-
options.cancelOnBackground,
|
|
89
|
-
);
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
addAnnotation(
|
|
94
|
-
flowId: FlowId,
|
|
95
|
-
annotationName: string,
|
|
96
|
-
annotationValue: string | boolean,
|
|
97
|
-
): void {
|
|
98
|
-
if (global.nativeUserFlowAddAnnotation) {
|
|
99
|
-
global.nativeUserFlowAddAnnotation(
|
|
100
|
-
flowId.markerId,
|
|
101
|
-
flowId.instanceKey,
|
|
102
|
-
annotationName,
|
|
103
|
-
annotationValue,
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
|
|
108
|
-
addPoint(flowId: FlowId, pointName: string, data: ?PointData = null): void {
|
|
109
|
-
if (global.nativeUserFlowAddPoint) {
|
|
110
|
-
global.nativeUserFlowAddPoint(
|
|
111
|
-
flowId.markerId,
|
|
112
|
-
flowId.instanceKey,
|
|
113
|
-
pointName,
|
|
114
|
-
data,
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
|
|
119
|
-
endSuccess(flowId: FlowId): void {
|
|
120
|
-
if (global.nativeUserFlowEndSuccess) {
|
|
121
|
-
global.nativeUserFlowEndSuccess(flowId.markerId, flowId.instanceKey);
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Completes flow as failed
|
|
127
|
-
*
|
|
128
|
-
* ErrorName should be short and easily categorazable (it is attached as point to the UserFlow and can be used for aggregations).
|
|
129
|
-
* For example: io_error, network_error, parse_error, validation_error.
|
|
130
|
-
* DebugInfo is free-form string, where you can attach detailed error message. It is attached as data to the point (see ErrorName).
|
|
131
|
-
*/
|
|
132
|
-
endFailure(
|
|
133
|
-
flowId: FlowId,
|
|
134
|
-
errorName: string,
|
|
135
|
-
debugInfo: ?string = null,
|
|
136
|
-
): void {
|
|
137
|
-
if (global.nativeUserFlowEndFail) {
|
|
138
|
-
global.nativeUserFlowEndFail(
|
|
139
|
-
flowId.markerId,
|
|
140
|
-
flowId.instanceKey,
|
|
141
|
-
errorName,
|
|
142
|
-
debugInfo,
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
|
|
147
|
-
endCancel(flowId: FlowId, cancelReason: string): void {
|
|
148
|
-
if (global.nativeUserFlowEndCancel) {
|
|
149
|
-
global.nativeUserFlowEndCancel(
|
|
150
|
-
flowId.markerId,
|
|
151
|
-
flowId.instanceKey,
|
|
152
|
-
cancelReason,
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
module.exports = UserFlow;
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @format
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import {GestureResponderEvent} from '../../Types/CoreEventTypes';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Gesture recognition on mobile devices is much more complicated than web.
|
|
14
|
-
* A touch can go through several phases as the app determines what the user's intention is.
|
|
15
|
-
* For example, the app needs to determine if the touch is scrolling, sliding on a widget, or tapping.
|
|
16
|
-
* This can even change during the duration of a touch. There can also be multiple simultaneous touches.
|
|
17
|
-
*
|
|
18
|
-
* The touch responder system is needed to allow components to negotiate these touch interactions
|
|
19
|
-
* without any additional knowledge about their parent or child components.
|
|
20
|
-
* This system is implemented in ResponderEventPlugin.js, which contains further details and documentation.
|
|
21
|
-
*
|
|
22
|
-
* Best Practices
|
|
23
|
-
* Users can feel huge differences in the usability of web apps vs. native, and this is one of the big causes.
|
|
24
|
-
* Every action should have the following attributes:
|
|
25
|
-
* Feedback/highlighting- show the user what is handling their touch, and what will happen when they release the gesture
|
|
26
|
-
* Cancel-ability- when making an action, the user should be able to abort it mid-touch by dragging their finger away
|
|
27
|
-
*
|
|
28
|
-
* These features make users more comfortable while using an app,
|
|
29
|
-
* because it allows people to experiment and interact without fear of making mistakes.
|
|
30
|
-
*
|
|
31
|
-
* TouchableHighlight and Touchable*
|
|
32
|
-
* The responder system can be complicated to use.
|
|
33
|
-
* So we have provided an abstract Touchable implementation for things that should be "tappable".
|
|
34
|
-
* This uses the responder system and allows you to easily configure tap interactions declaratively.
|
|
35
|
-
* Use TouchableHighlight anywhere where you would use a button or link on web.
|
|
36
|
-
*/
|
|
37
|
-
export interface GestureResponderHandlers {
|
|
38
|
-
/**
|
|
39
|
-
* A view can become the touch responder by implementing the correct negotiation methods.
|
|
40
|
-
* There are two methods to ask the view if it wants to become responder:
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Does this view want to become responder on the start of a touch?
|
|
45
|
-
*/
|
|
46
|
-
onStartShouldSetResponder?:
|
|
47
|
-
| ((event: GestureResponderEvent) => boolean)
|
|
48
|
-
| undefined;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Called for every touch move on the View when it is not the responder: does this view want to "claim" touch responsiveness?
|
|
52
|
-
*/
|
|
53
|
-
onMoveShouldSetResponder?:
|
|
54
|
-
| ((event: GestureResponderEvent) => boolean)
|
|
55
|
-
| undefined;
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* If the View returns true and attempts to become the responder, one of the following will happen:
|
|
59
|
-
*/
|
|
60
|
-
|
|
61
|
-
onResponderEnd?: ((event: GestureResponderEvent) => void) | undefined;
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* The View is now responding for touch events.
|
|
65
|
-
* This is the time to highlight and show the user what is happening
|
|
66
|
-
*/
|
|
67
|
-
onResponderGrant?: ((event: GestureResponderEvent) => void) | undefined;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Something else is the responder right now and will not release it
|
|
71
|
-
*/
|
|
72
|
-
onResponderReject?: ((event: GestureResponderEvent) => void) | undefined;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* If the view is responding, the following handlers can be called:
|
|
76
|
-
*/
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* The user is moving their finger
|
|
80
|
-
*/
|
|
81
|
-
onResponderMove?: ((event: GestureResponderEvent) => void) | undefined;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Fired at the end of the touch, ie "touchUp"
|
|
85
|
-
*/
|
|
86
|
-
onResponderRelease?: ((event: GestureResponderEvent) => void) | undefined;
|
|
87
|
-
|
|
88
|
-
onResponderStart?: ((event: GestureResponderEvent) => void) | undefined;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Something else wants to become responder.
|
|
92
|
-
* Should this view release the responder? Returning true allows release
|
|
93
|
-
*/
|
|
94
|
-
onResponderTerminationRequest?:
|
|
95
|
-
| ((event: GestureResponderEvent) => boolean)
|
|
96
|
-
| undefined;
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* The responder has been taken from the View.
|
|
100
|
-
* Might be taken by other views after a call to onResponderTerminationRequest,
|
|
101
|
-
* or might be taken by the OS without asking (happens with control center/ notification center on iOS)
|
|
102
|
-
*/
|
|
103
|
-
onResponderTerminate?: ((event: GestureResponderEvent) => void) | undefined;
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* onStartShouldSetResponder and onMoveShouldSetResponder are called with a bubbling pattern,
|
|
107
|
-
* where the deepest node is called first.
|
|
108
|
-
* That means that the deepest component will become responder when multiple Views return true for *ShouldSetResponder handlers.
|
|
109
|
-
* This is desirable in most cases, because it makes sure all controls and buttons are usable.
|
|
110
|
-
*
|
|
111
|
-
* However, sometimes a parent will want to make sure that it becomes responder.
|
|
112
|
-
* This can be handled by using the capture phase.
|
|
113
|
-
* Before the responder system bubbles up from the deepest component,
|
|
114
|
-
* it will do a capture phase, firing on*ShouldSetResponderCapture.
|
|
115
|
-
* So if a parent View wants to prevent the child from becoming responder on a touch start,
|
|
116
|
-
* it should have a onStartShouldSetResponderCapture handler which returns true.
|
|
117
|
-
*/
|
|
118
|
-
onStartShouldSetResponderCapture?:
|
|
119
|
-
| ((event: GestureResponderEvent) => boolean)
|
|
120
|
-
| undefined;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* onStartShouldSetResponder and onMoveShouldSetResponder are called with a bubbling pattern,
|
|
124
|
-
* where the deepest node is called first.
|
|
125
|
-
* That means that the deepest component will become responder when multiple Views return true for *ShouldSetResponder handlers.
|
|
126
|
-
* This is desirable in most cases, because it makes sure all controls and buttons are usable.
|
|
127
|
-
*
|
|
128
|
-
* However, sometimes a parent will want to make sure that it becomes responder.
|
|
129
|
-
* This can be handled by using the capture phase.
|
|
130
|
-
* Before the responder system bubbles up from the deepest component,
|
|
131
|
-
* it will do a capture phase, firing on*ShouldSetResponderCapture.
|
|
132
|
-
* So if a parent View wants to prevent the child from becoming responder on a touch start,
|
|
133
|
-
* it should have a onStartShouldSetResponderCapture handler which returns true.
|
|
134
|
-
*/
|
|
135
|
-
onMoveShouldSetResponderCapture?:
|
|
136
|
-
| ((event: GestureResponderEvent) => boolean)
|
|
137
|
-
| undefined;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* React Native also implements unstable_batchedUpdates
|
|
142
|
-
*/
|
|
143
|
-
export function unstable_batchedUpdates<A, B>(
|
|
144
|
-
callback: (a: A, b: B) => any,
|
|
145
|
-
a: A,
|
|
146
|
-
b: B,
|
|
147
|
-
): void;
|
|
148
|
-
export function unstable_batchedUpdates<A>(callback: (a: A) => any, a: A): void;
|
|
149
|
-
export function unstable_batchedUpdates(callback: () => any): void;
|