react-native-windows 0.79.5 → 0.80.0-preview.10
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 +12 -3
- package/Directory.Build.props +11 -2
- package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -1
- package/Libraries/Alert/Alert.js +3 -0
- package/Libraries/Alert/Alert.windows.js +3 -0
- package/Libraries/Alert/RCTAlertManager.js +17 -0
- package/Libraries/Animated/Animated.js.flow +1 -3
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +2 -2
- package/Libraries/Animated/AnimatedExports.js.flow +140 -0
- package/Libraries/Animated/AnimatedImplementation.js +2 -123
- package/Libraries/Animated/Easing.js +13 -15
- package/Libraries/Animated/animations/Animation.js +8 -4
- package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
- package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
- package/Libraries/Animated/createAnimatedComponent.js +105 -57
- package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
- package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
- package/Libraries/AppState/AppState.js +7 -2
- package/Libraries/BatchedBridge/MessageQueue.js +2 -2
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/BlobManager.js +1 -0
- package/Libraries/Blob/FileReader.js +219 -8
- package/Libraries/Blob/URL.js +37 -12
- package/Libraries/Blob/URLSearchParams.js +106 -31
- package/Libraries/Blob/URLSearchParams.js.flow +12 -7
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
- package/Libraries/Components/Button.d.ts +3 -0
- package/Libraries/Components/Button.js +1 -1
- package/Libraries/Components/Button.windows.js +27 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
- package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
- package/Libraries/Components/Flyout/Flyout.js +11 -0
- package/Libraries/Components/Keyboard/Keyboard.js +5 -3
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Popup/Popup.js +11 -0
- package/Libraries/Components/Pressable/Pressable.js +20 -4
- package/Libraries/Components/Pressable/Pressable.windows.js +20 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
- package/Libraries/Components/ScrollView/ScrollView.js +132 -122
- package/Libraries/Components/ScrollView/ScrollView.windows.js +131 -122
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/Switch/Switch.d.ts +3 -0
- package/Libraries/Components/Switch/Switch.js +8 -4
- package/Libraries/Components/Switch/Switch.windows.js +17 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
- package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
- package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +1246 -0
- package/Libraries/Components/TextInput/TextInput.js +88 -1027
- package/Libraries/Components/TextInput/TextInput.windows.js +104 -1092
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +2 -1
- package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
- package/Libraries/Components/Touchable/Touchable.js +5 -5
- package/Libraries/Components/Touchable/Touchable.windows.js +5 -5
- package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +14 -7
- package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +10 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +6 -6
- package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +13 -6
- package/Libraries/Components/View/View.js +18 -21
- package/Libraries/Components/View/View.windows.js +39 -41
- package/Libraries/Components/View/ViewAccessibility.d.ts +8 -0
- package/Libraries/Components/View/ViewAccessibility.js +25 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -1
- package/Libraries/Components/View/ViewPropTypes.js +49 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +50 -2
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/setUpReactDevTools.js +5 -5
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
- package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
- package/Libraries/Image/AssetSourceResolver.js +17 -4
- package/Libraries/Image/AssetSourceResolver.windows.js +17 -4
- package/Libraries/Image/Image.d.ts +26 -10
- package/Libraries/Image/Image.js +17 -0
- package/Libraries/Image/Image.js.flow +5 -5
- package/Libraries/Image/Image.windows.js +13 -1
- package/Libraries/Image/ImageBackground.js +2 -0
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImageProps.js +22 -17
- package/Libraries/Image/ImageSource.js +3 -1
- package/Libraries/Image/ImageSourceUtils.js +4 -2
- package/Libraries/Image/ImageTypes.flow.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +13 -0
- package/Libraries/Interaction/InteractionManager.js +1 -1
- package/Libraries/Interaction/PanResponder.js +3 -3
- package/Libraries/Interaction/TaskQueue.js +1 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -2
- package/Libraries/Lists/FlatList.js +8 -11
- package/Libraries/Lists/SectionList.js +39 -42
- package/Libraries/Lists/SectionListModern.js +25 -34
- package/Libraries/Lists/VirtualizedList.js +1 -0
- package/Libraries/Lists/VirtualizedSectionList.js +1 -0
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
- package/Libraries/Modal/Modal.js +33 -7
- package/Libraries/Modal/Modal.windows.js +33 -10
- package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
- package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js +17 -0
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +781 -10
- package/Libraries/Performance/Systrace.js +7 -7
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.windows.js +1 -1
- package/Libraries/ReactNative/AppContainer-dev.js +5 -4
- package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
- package/Libraries/ReactNative/AppRegistry.js +2 -322
- package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
- package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
- package/Libraries/ReactNative/FabricUIManager.js +10 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
- package/Libraries/ReactNative/RendererImplementation.js +10 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +9 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
- package/Libraries/Settings/Settings.ios.js +1 -0
- package/Libraries/Settings/Settings.js +13 -19
- package/Libraries/Settings/SettingsFallback.js +33 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
- package/Libraries/StyleSheet/Rect.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.js +31 -200
- package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
- package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
- package/Libraries/StyleSheet/flattenStyle.js +14 -4
- package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
- package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
- package/Libraries/Text/Text.d.ts +2 -5
- package/Libraries/Text/Text.js +3 -3
- package/Libraries/Text/Text.windows.js +3 -3
- package/Libraries/Text/TextNativeComponent.js +0 -4
- package/Libraries/Text/TextProps.js +5 -33
- package/Libraries/Text/TextProps.windows.js +5 -32
- package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
- package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
- package/Libraries/Types/CoreEventTypes.d.ts +6 -1
- package/Libraries/Types/CoreEventTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.windows.js +1 -1
- package/Libraries/Utilities/Appearance.js +2 -0
- package/Libraries/Utilities/BackHandler.js +17 -0
- package/Libraries/Utilities/DeviceInfo.js +2 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Platform.js +17 -0
- package/Libraries/Utilities/PlatformTypes.js +11 -3
- package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
- package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
- package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
- package/Libraries/WebSocket/WebSocket.js +313 -8
- package/Libraries/vendor/core/ErrorUtils.js +28 -2
- package/Libraries/vendor/emitter/EventEmitter.js +6 -2
- package/Microsoft.ReactNative/CompositionSwitcher.idl +3 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +248 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +55 -160
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +30 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +36 -0
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +36 -33
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +22 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +11 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +37 -5
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +177 -25
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +29 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +17 -34
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +225 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +23 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +9 -3
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
- package/Microsoft.ReactNative/Fabric/ImageManager.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +16 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +64 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +11 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +36 -96
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +1 -1
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +29 -0
- package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/SampleTurboModule.h +3 -0
- package/Microsoft.ReactNative/TurboModulesProvider.h +1 -1
- package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +49 -0
- package/Microsoft.ReactNative/Utils/ThemeUtils.h +31 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/React.Cpp.props +4 -0
- package/PropertySheets/Warnings.props +45 -0
- package/README.md +6 -2
- package/ReactCommon/ReactCommon.vcxproj +9 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +6 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +253 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +5 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +4 -8
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +184 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +22 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +2 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +27 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +3 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +308 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +42 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +7 -51
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +10 -5
- package/Scripts/creaternwapp.cmd +9 -3
- package/Scripts/rnw-dependencies.ps1 +16 -3
- package/Shared/Shared.vcxitems +3 -2
- package/Shared/Shared.vcxitems.filters +2 -1
- package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
- package/codegen/NativePerformanceSpec.g.h +14 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +151 -127
- package/codegen/NativeSampleTurboModuleSpec.g.h +14 -8
- package/codegen/react/components/rnwcore/EventEmitters.cpp +48 -48
- package/codegen/rnwcoreJSI-generated.cpp +159 -129
- package/codegen/rnwcoreJSI.h +534 -408
- package/index.js +51 -331
- package/index.windows.js +70 -352
- package/interface.js +0 -4
- package/jest/resolver.js +31 -0
- package/jest/setup.js +6 -2
- package/package.json +29 -28
- package/src/private/animated/NativeAnimatedHelper.js +21 -8
- package/src/private/animated/createAnimatedPropsHook.js +11 -16
- package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
- package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
- package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
- package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
- package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
- package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.windows.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
- package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
- package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +12 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
- package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
- package/src/private/styles/composeStyles.js +12 -5
- package/src/private/types/HostComponent.js +1 -1
- package/src/private/types/HostInstance.js +67 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
- package/src/private/webapis/performance/Performance.js +1 -3
- package/src/private/webapis/performance/PerformanceEntry.js +6 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
- package/src/types/globals.d.ts +42 -0
- package/stubs/double-conversion/double-conversion.h +3 -1
- package/templates/cpp-app/template.config.js +2 -1
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +4 -0
- package/templates/cpp-lib/example/metro.config.js +1 -1
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +4 -0
- package/templates/old/generateWrapper.js +1 -1
- package/templates/old/uwp-cpp-app/template.config.js +1 -1
- package/types/index.d.ts +6 -3
- package/types/public/ReactNativeTypes.d.ts +2 -2
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
- package/Libraries/Blob/FileReader_new.js +0 -231
- package/Libraries/Blob/FileReader_old.js +0 -186
- package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
- package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
- package/Libraries/Events/CustomEvent.js +0 -32
- package/Libraries/Events/EventPolyfill.js +0 -239
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
- package/Libraries/Network/XMLHttpRequest_new.js +0 -794
- package/Libraries/Network/XMLHttpRequest_old.js +0 -701
- package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +0 -30
- package/Libraries/NewAppScreen/components/Header.js +0 -77
- package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
- package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +0 -31
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +0 -25
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
- package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
- package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
- package/Libraries/WebSocket/WebSocketEvent.js +0 -30
- package/Libraries/WebSocket/WebSocket_new.js +0 -325
- package/Libraries/WebSocket/WebSocket_old.js +0 -297
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
- package/jest/__tests__/setup-test.js +0 -18
- package/src/private/components/VScrollViewNativeComponents.js +0 -25
- package/src/private/utilities/ensureInstance.js +0 -21
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
- package/types/modules/LaunchScreen.d.ts +0 -18
- /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
- /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
|
@@ -1,239 +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-local
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
// https://dom.spec.whatwg.org/#dictdef-eventinit
|
|
12
|
-
type Event$Init = {
|
|
13
|
-
bubbles?: boolean,
|
|
14
|
-
cancelable?: boolean,
|
|
15
|
-
composed?: boolean,
|
|
16
|
-
/** Non-standard. See `composed` instead. */
|
|
17
|
-
scoped?: boolean,
|
|
18
|
-
...
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* This is a copy of the Event interface defined in Flow:
|
|
23
|
-
* https://github.com/facebook/flow/blob/741104e69c43057ebd32804dd6bcc1b5e97548ea/lib/dom.js
|
|
24
|
-
* which is itself a faithful interface of the W3 spec:
|
|
25
|
-
* https://dom.spec.whatwg.org/#interface-event
|
|
26
|
-
*
|
|
27
|
-
* Since Flow assumes that Event is provided and is on the global object,
|
|
28
|
-
* we must provide an implementation of Event for CustomEvent (and future
|
|
29
|
-
* alignment of React Native's event system with the W3 spec).
|
|
30
|
-
*/
|
|
31
|
-
interface IEvent {
|
|
32
|
-
constructor(type: string, eventInitDict?: Event$Init): void;
|
|
33
|
-
/**
|
|
34
|
-
* Returns the type of event, e.g. "click", "hashchange", or "submit".
|
|
35
|
-
*/
|
|
36
|
-
+type: string;
|
|
37
|
-
/**
|
|
38
|
-
* Returns the object to which event is dispatched (its target).
|
|
39
|
-
*/
|
|
40
|
-
+target: EventTarget; // TODO: nullable
|
|
41
|
-
/** @deprecated */
|
|
42
|
-
+srcElement: Element; // TODO: nullable
|
|
43
|
-
/**
|
|
44
|
-
* Returns the object whose event listener's callback is currently being invoked.
|
|
45
|
-
*/
|
|
46
|
-
+currentTarget: EventTarget; // TODO: nullable
|
|
47
|
-
/**
|
|
48
|
-
* Returns the invocation target objects of event's path (objects on which
|
|
49
|
-
* listeners will be invoked), except for any nodes in shadow trees of which
|
|
50
|
-
* the shadow root's mode is "closed" that are not reachable from event's
|
|
51
|
-
* currentTarget.
|
|
52
|
-
*/
|
|
53
|
-
composedPath(): Array<EventTarget>;
|
|
54
|
-
|
|
55
|
-
+NONE: number;
|
|
56
|
-
+AT_TARGET: number;
|
|
57
|
-
+BUBBLING_PHASE: number;
|
|
58
|
-
+CAPTURING_PHASE: number;
|
|
59
|
-
/**
|
|
60
|
-
* Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET,
|
|
61
|
-
* and BUBBLING_PHASE.
|
|
62
|
-
*/
|
|
63
|
-
+eventPhase: number;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* When dispatched in a tree, invoking this method prevents event from reaching
|
|
67
|
-
* any objects other than the current object.
|
|
68
|
-
*/
|
|
69
|
-
stopPropagation(): void;
|
|
70
|
-
/**
|
|
71
|
-
* Invoking this method prevents event from reaching any registered event
|
|
72
|
-
* listeners after the current one finishes running and, when dispatched in a
|
|
73
|
-
* tree, also prevents event from reaching any other objects.
|
|
74
|
-
*/
|
|
75
|
-
stopImmediatePropagation(): void;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Returns true or false depending on how event was initialized. True if
|
|
79
|
-
* event goes through its target's ancestors in reverse tree order, and
|
|
80
|
-
* false otherwise.
|
|
81
|
-
*/
|
|
82
|
-
+bubbles: boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Returns true or false depending on how event was initialized. Its
|
|
85
|
-
* return value does not always carry meaning, but true can indicate
|
|
86
|
-
* that part of the operation during which event was dispatched, can
|
|
87
|
-
* be canceled by invoking the preventDefault() method.
|
|
88
|
-
*/
|
|
89
|
-
+cancelable: boolean;
|
|
90
|
-
// returnValue: boolean; // legacy, and some subclasses still define it as a string!
|
|
91
|
-
/**
|
|
92
|
-
* If invoked when the cancelable attribute value is true, and while
|
|
93
|
-
* executing a listener for the event with passive set to false, signals to
|
|
94
|
-
* the operation that caused event to be dispatched that it needs to be
|
|
95
|
-
* canceled.
|
|
96
|
-
*/
|
|
97
|
-
preventDefault(): void;
|
|
98
|
-
/**
|
|
99
|
-
* Returns true if preventDefault() was invoked successfully to indicate
|
|
100
|
-
* cancelation, and false otherwise.
|
|
101
|
-
*/
|
|
102
|
-
+defaultPrevented: boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Returns true or false depending on how event was initialized. True if
|
|
105
|
-
* event invokes listeners past a ShadowRoot node that is the root of its
|
|
106
|
-
* target, and false otherwise.
|
|
107
|
-
*/
|
|
108
|
-
+composed: boolean;
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Returns true if event was dispatched by the user agent, and false otherwise.
|
|
112
|
-
*/
|
|
113
|
-
+isTrusted: boolean;
|
|
114
|
-
/**
|
|
115
|
-
* Returns the event's timestamp as the number of milliseconds measured relative
|
|
116
|
-
* to the time origin.
|
|
117
|
-
*/
|
|
118
|
-
+timeStamp: number;
|
|
119
|
-
|
|
120
|
-
/** Non-standard. See Event.prototype.composedPath */
|
|
121
|
-
+deepPath?: () => EventTarget[];
|
|
122
|
-
/** Non-standard. See Event.prototype.composed */
|
|
123
|
-
+scoped: boolean;
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* @deprecated
|
|
127
|
-
*/
|
|
128
|
-
initEvent(type: string, bubbles: boolean, cancelable: boolean): void;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
class EventPolyfill implements IEvent {
|
|
132
|
-
type: string;
|
|
133
|
-
bubbles: boolean;
|
|
134
|
-
cancelable: boolean;
|
|
135
|
-
composed: boolean;
|
|
136
|
-
// Non-standard. See `composed` instead.
|
|
137
|
-
scoped: boolean;
|
|
138
|
-
isTrusted: boolean;
|
|
139
|
-
defaultPrevented: boolean;
|
|
140
|
-
timeStamp: number;
|
|
141
|
-
|
|
142
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase
|
|
143
|
-
NONE: number;
|
|
144
|
-
AT_TARGET: number;
|
|
145
|
-
BUBBLING_PHASE: number;
|
|
146
|
-
CAPTURING_PHASE: number;
|
|
147
|
-
|
|
148
|
-
eventPhase: number;
|
|
149
|
-
|
|
150
|
-
currentTarget: EventTarget; // TODO: nullable
|
|
151
|
-
target: EventTarget; // TODO: nullable
|
|
152
|
-
/** @deprecated */
|
|
153
|
-
srcElement: Element; // TODO: nullable
|
|
154
|
-
|
|
155
|
-
// React Native-specific: proxy data to a NativeSyntheticEvent when
|
|
156
|
-
// certain methods are called.
|
|
157
|
-
// NativeSyntheticEvent will also have a reference to this instance -
|
|
158
|
-
// it is circular - and both classes use this reference to keep
|
|
159
|
-
// data with the other in sync.
|
|
160
|
-
_syntheticEvent: mixed;
|
|
161
|
-
|
|
162
|
-
constructor(type: string, eventInitDict?: Event$Init) {
|
|
163
|
-
this.type = type;
|
|
164
|
-
this.bubbles = !!(eventInitDict?.bubbles || false);
|
|
165
|
-
this.cancelable = !!(eventInitDict?.cancelable || false);
|
|
166
|
-
this.composed = !!(eventInitDict?.composed || false);
|
|
167
|
-
this.scoped = !!(eventInitDict?.scoped || false);
|
|
168
|
-
|
|
169
|
-
// TODO: somehow guarantee that only "private" instantiations of Event
|
|
170
|
-
// can set this to true
|
|
171
|
-
this.isTrusted = false;
|
|
172
|
-
|
|
173
|
-
// TODO: in the future we'll want to make sure this has the same
|
|
174
|
-
// time-basis as events originating from native
|
|
175
|
-
this.timeStamp = Date.now();
|
|
176
|
-
|
|
177
|
-
this.defaultPrevented = false;
|
|
178
|
-
|
|
179
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase
|
|
180
|
-
this.NONE = 0;
|
|
181
|
-
this.AT_TARGET = 1;
|
|
182
|
-
this.BUBBLING_PHASE = 2;
|
|
183
|
-
this.CAPTURING_PHASE = 3;
|
|
184
|
-
this.eventPhase = this.NONE;
|
|
185
|
-
|
|
186
|
-
// $FlowFixMe
|
|
187
|
-
this.currentTarget = null;
|
|
188
|
-
// $FlowFixMe
|
|
189
|
-
this.target = null;
|
|
190
|
-
// $FlowFixMe
|
|
191
|
-
this.srcElement = null;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
composedPath(): Array<EventTarget> {
|
|
195
|
-
throw new Error('TODO: not yet implemented');
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
preventDefault(): void {
|
|
199
|
-
this.defaultPrevented = true;
|
|
200
|
-
|
|
201
|
-
if (this._syntheticEvent != null) {
|
|
202
|
-
// $FlowFixMe
|
|
203
|
-
this._syntheticEvent.preventDefault();
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
initEvent(type: string, bubbles: boolean, cancelable: boolean): void {
|
|
208
|
-
throw new Error(
|
|
209
|
-
'TODO: not yet implemented. This method is also deprecated.',
|
|
210
|
-
);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
stopImmediatePropagation(): void {
|
|
214
|
-
throw new Error('TODO: not yet implemented');
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
stopPropagation(): void {
|
|
218
|
-
if (this._syntheticEvent != null) {
|
|
219
|
-
// $FlowFixMe
|
|
220
|
-
this._syntheticEvent.stopPropagation();
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
setSyntheticEvent(value: mixed): void {
|
|
225
|
-
this._syntheticEvent = value;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
// Assertion magic for polyfill follows.
|
|
230
|
-
declare var checkEvent: Event; // eslint-disable-line no-unused-vars
|
|
231
|
-
|
|
232
|
-
/*::
|
|
233
|
-
// This can be a strict mode error at runtime so put it in a Flow comment.
|
|
234
|
-
(checkEvent: IEvent);
|
|
235
|
-
*/
|
|
236
|
-
|
|
237
|
-
global.Event = EventPolyfill;
|
|
238
|
-
|
|
239
|
-
export default EventPolyfill;
|
|
@@ -1,118 +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-local
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
const FlatList = require('../FlatList').default;
|
|
14
|
-
const React = require('react');
|
|
15
|
-
|
|
16
|
-
function renderMyListItem(info: {
|
|
17
|
-
item: {title: string, ...},
|
|
18
|
-
index: number,
|
|
19
|
-
...
|
|
20
|
-
}) {
|
|
21
|
-
return <span />;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
module.exports = {
|
|
25
|
-
testEverythingIsFine(): React.Node {
|
|
26
|
-
const data = [
|
|
27
|
-
{
|
|
28
|
-
title: 'Title Text',
|
|
29
|
-
key: 1,
|
|
30
|
-
},
|
|
31
|
-
];
|
|
32
|
-
return <FlatList renderItem={renderMyListItem} data={data} />;
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
testBadDataWithTypicalItem(): React.Node {
|
|
36
|
-
const data = [
|
|
37
|
-
{
|
|
38
|
-
title: 6,
|
|
39
|
-
key: 1,
|
|
40
|
-
},
|
|
41
|
-
];
|
|
42
|
-
// $FlowExpectedError - bad title type 6, should be string
|
|
43
|
-
return <FlatList renderItem={renderMyListItem} data={data} />;
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
testMissingFieldWithTypicalItem(): React.Node {
|
|
47
|
-
const data = [
|
|
48
|
-
{
|
|
49
|
-
key: 1,
|
|
50
|
-
},
|
|
51
|
-
];
|
|
52
|
-
// $FlowExpectedError - missing title
|
|
53
|
-
return <FlatList renderItem={renderMyListItem} data={data} />;
|
|
54
|
-
},
|
|
55
|
-
|
|
56
|
-
testGoodDataWithBadCustomRenderItemFunction(): React.Node {
|
|
57
|
-
const data = [
|
|
58
|
-
{
|
|
59
|
-
widget: 6,
|
|
60
|
-
key: 1,
|
|
61
|
-
},
|
|
62
|
-
];
|
|
63
|
-
return (
|
|
64
|
-
<FlatList
|
|
65
|
-
renderItem={info => (
|
|
66
|
-
<span>
|
|
67
|
-
{
|
|
68
|
-
// $FlowExpectedError - bad widgetCount type 6, should be Object
|
|
69
|
-
info.item.widget.missingProp
|
|
70
|
-
}
|
|
71
|
-
</span>
|
|
72
|
-
)}
|
|
73
|
-
data={data}
|
|
74
|
-
/>
|
|
75
|
-
);
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
testBadRenderItemFunction(): $ReadOnlyArray<React.Node> {
|
|
79
|
-
const data = [
|
|
80
|
-
{
|
|
81
|
-
title: 'foo',
|
|
82
|
-
key: 1,
|
|
83
|
-
},
|
|
84
|
-
];
|
|
85
|
-
return [
|
|
86
|
-
// $FlowExpectedError - title should be inside `item`
|
|
87
|
-
<FlatList renderItem={(info: {title: string}) => <span />} data={data} />,
|
|
88
|
-
<FlatList
|
|
89
|
-
// $FlowExpectedError - bad index type string, should be number
|
|
90
|
-
renderItem={(info: {item: any, index: string}) => <span />}
|
|
91
|
-
data={data}
|
|
92
|
-
/>,
|
|
93
|
-
<FlatList
|
|
94
|
-
// $FlowExpectedError - bad title type number, should be string
|
|
95
|
-
renderItem={(info: {item: {title: number}}) => <span />}
|
|
96
|
-
// $FlowExpectedError - bad title type number, should be string
|
|
97
|
-
data={data}
|
|
98
|
-
/>,
|
|
99
|
-
// EverythingIsFine
|
|
100
|
-
<FlatList
|
|
101
|
-
// $FlowExpectedError - bad title type number, should be string
|
|
102
|
-
renderItem={(info: {item: {title: string, ...}, ...}) => <span />}
|
|
103
|
-
data={data}
|
|
104
|
-
/>,
|
|
105
|
-
];
|
|
106
|
-
},
|
|
107
|
-
|
|
108
|
-
testOtherBadProps(): $ReadOnlyArray<React.Node> {
|
|
109
|
-
return [
|
|
110
|
-
// $FlowExpectedError - bad numColumns type "lots"
|
|
111
|
-
<FlatList renderItem={renderMyListItem} data={[]} numColumns="lots" />,
|
|
112
|
-
// $FlowExpectedError - bad windowSize type "big"
|
|
113
|
-
<FlatList renderItem={renderMyListItem} data={[]} windowSize="big" />,
|
|
114
|
-
// $FlowExpectedError - missing `data` prop
|
|
115
|
-
<FlatList renderItem={renderMyListItem} />,
|
|
116
|
-
];
|
|
117
|
-
},
|
|
118
|
-
};
|
|
@@ -1,134 +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
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
import SectionList from '../SectionList';
|
|
14
|
-
import * as React from 'react';
|
|
15
|
-
|
|
16
|
-
function renderMyListItem(info: {
|
|
17
|
-
item: {title: string, ...},
|
|
18
|
-
index: number,
|
|
19
|
-
...
|
|
20
|
-
}) {
|
|
21
|
-
return <span />;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const renderMyHeader = ({
|
|
25
|
-
section,
|
|
26
|
-
}: {
|
|
27
|
-
section: {fooNumber: number, ...} & Object,
|
|
28
|
-
...
|
|
29
|
-
}) => <span />;
|
|
30
|
-
|
|
31
|
-
module.exports = {
|
|
32
|
-
testGoodDataWithGoodItem(): React.Node {
|
|
33
|
-
const sections = [
|
|
34
|
-
{
|
|
35
|
-
key: 'a',
|
|
36
|
-
data: [
|
|
37
|
-
{
|
|
38
|
-
title: 'foo',
|
|
39
|
-
key: 1,
|
|
40
|
-
},
|
|
41
|
-
],
|
|
42
|
-
},
|
|
43
|
-
];
|
|
44
|
-
return <SectionList renderItem={renderMyListItem} sections={sections} />;
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
testBadRenderItemFunction(): $ReadOnlyArray<React.Node> {
|
|
48
|
-
const sections = [
|
|
49
|
-
{
|
|
50
|
-
key: 'a',
|
|
51
|
-
data: [
|
|
52
|
-
{
|
|
53
|
-
title: 'foo',
|
|
54
|
-
key: 1,
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
},
|
|
58
|
-
];
|
|
59
|
-
return [
|
|
60
|
-
<SectionList
|
|
61
|
-
// $FlowExpectedError - title should be inside `item`
|
|
62
|
-
renderItem={(info: {title: string, ...}) => <span />}
|
|
63
|
-
sections={sections}
|
|
64
|
-
/>,
|
|
65
|
-
<SectionList
|
|
66
|
-
// $FlowExpectedError - bad index type string, should be number
|
|
67
|
-
renderItem={(info: {index: string}) => <span />}
|
|
68
|
-
sections={sections}
|
|
69
|
-
/>,
|
|
70
|
-
// EverythingIsFine
|
|
71
|
-
<SectionList
|
|
72
|
-
renderItem={(info: {item: {title: string, ...}, ...}) => <span />}
|
|
73
|
-
sections={sections}
|
|
74
|
-
/>,
|
|
75
|
-
];
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
testBadInheritedDefaultProp(): React.MixedElement {
|
|
79
|
-
const sections: $FlowFixMe = [];
|
|
80
|
-
return (
|
|
81
|
-
<SectionList
|
|
82
|
-
renderItem={renderMyListItem}
|
|
83
|
-
sections={sections}
|
|
84
|
-
// $FlowExpectedError - bad windowSize type "big"
|
|
85
|
-
windowSize="big"
|
|
86
|
-
/>
|
|
87
|
-
);
|
|
88
|
-
},
|
|
89
|
-
|
|
90
|
-
testMissingData(): React.MixedElement {
|
|
91
|
-
// $FlowExpectedError - missing `sections` prop
|
|
92
|
-
return <SectionList renderItem={renderMyListItem} />;
|
|
93
|
-
},
|
|
94
|
-
|
|
95
|
-
testBadSectionsShape(): React.MixedElement {
|
|
96
|
-
const sections = [
|
|
97
|
-
{
|
|
98
|
-
key: 'a',
|
|
99
|
-
items: [
|
|
100
|
-
{
|
|
101
|
-
title: 'foo',
|
|
102
|
-
key: 1,
|
|
103
|
-
},
|
|
104
|
-
],
|
|
105
|
-
},
|
|
106
|
-
];
|
|
107
|
-
// $FlowExpectedError - section missing `data` field
|
|
108
|
-
return <SectionList renderItem={renderMyListItem} sections={sections} />;
|
|
109
|
-
},
|
|
110
|
-
|
|
111
|
-
testBadSectionsMetadata(): React.MixedElement {
|
|
112
|
-
const sections = [
|
|
113
|
-
{
|
|
114
|
-
key: 'a',
|
|
115
|
-
fooNumber: 'string',
|
|
116
|
-
data: [
|
|
117
|
-
{
|
|
118
|
-
title: 'foo',
|
|
119
|
-
key: 1,
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
},
|
|
123
|
-
];
|
|
124
|
-
return (
|
|
125
|
-
<SectionList
|
|
126
|
-
renderSectionHeader={renderMyHeader}
|
|
127
|
-
renderItem={renderMyListItem}
|
|
128
|
-
/* $FlowExpectedError - section has bad meta data `fooNumber` field of
|
|
129
|
-
* type string */
|
|
130
|
-
sections={sections}
|
|
131
|
-
/>
|
|
132
|
-
);
|
|
133
|
-
},
|
|
134
|
-
};
|