@office-iss/react-native-win32 0.70.3 → 0.71.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -0
- package/.eslintrc.js +2 -0
- package/.flowconfig +3 -6
- package/CHANGELOG.json +268 -51
- package/CHANGELOG.md +101 -29
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +0 -1
- package/IntegrationTests/BUCK +0 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +2 -3
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +4 -4
- package/IntegrationTests/WebSocketTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.d.ts +90 -0
- package/Libraries/Alert/Alert.js +7 -1
- package/Libraries/Alert/Alert.win32.js +1 -0
- package/Libraries/Alert/NativeAlertManager.js +2 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
- package/Libraries/Animated/Animated.d.ts +587 -0
- package/Libraries/Animated/Animated.js +13 -11
- package/Libraries/Animated/AnimatedEvent.js +12 -17
- package/Libraries/Animated/AnimatedImplementation.js +21 -23
- package/Libraries/Animated/AnimatedMock.js +11 -13
- package/Libraries/Animated/AnimatedWeb.js +2 -2
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +2 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +2 -7
- package/Libraries/Animated/animations/Animation.js +3 -4
- package/Libraries/Animated/animations/DecayAnimation.js +5 -8
- package/Libraries/Animated/animations/SpringAnimation.js +9 -14
- package/Libraries/Animated/animations/TimingAnimation.js +9 -13
- package/Libraries/Animated/bezier.js +2 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
- package/Libraries/Animated/components/AnimatedImage.js +5 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
- package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
- package/Libraries/Animated/components/AnimatedText.js +5 -6
- package/Libraries/Animated/components/AnimatedView.js +5 -6
- package/Libraries/Animated/createAnimatedComponent.js +13 -20
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
- package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
- package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
- package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
- package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
- package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
- package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
- package/Libraries/Animated/useAnimatedProps.js +8 -16
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +3 -7
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/MessageQueue.js +9 -5
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/BlobManager.js +5 -3
- package/Libraries/Blob/File.js +2 -3
- package/Libraries/Blob/FileReader.js +6 -5
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +11 -9
- package/Libraries/BugReporting/NativeBugReporting.js +1 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.flow.js +265 -0
- package/Libraries/Components/Button.js +62 -18
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
- package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +35 -8
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +73 -15
- package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
- package/Libraries/Components/ScrollView/ScrollView.js +87 -52
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
- package/Libraries/Components/Slider/Slider.d.ts +132 -0
- package/Libraries/Components/Slider/Slider.js +9 -9
- package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +7 -7
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +7 -7
- package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
- package/Libraries/Components/TextInput/TextInput.js +344 -38
- package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
- package/Libraries/Components/TextInput/TextInputState.js +22 -5
- package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
- package/Libraries/Components/Touchable/Touchable.js +12 -12
- package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
- package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
- package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
- package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +91 -8
- package/Libraries/Components/View/View.win32.js +176 -89
- package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
- package/Libraries/Components/View/ViewAccessibility.js +70 -1
- package/Libraries/Components/View/ViewNativeComponent.js +3 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
- package/Libraries/Components/View/ViewPropTypes.js +105 -13
- package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
- package/Libraries/Components/View/ViewWin32.Props.d.ts +1 -0
- package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +8 -0
- package/Libraries/Core/ExtendedError.js +11 -8
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/RawEventEmitter.js +2 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +13 -11
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/setUpBatchedBridge.js +1 -5
- package/Libraries/Core/setUpDeveloperTools.js +4 -6
- package/Libraries/Core/setUpReactDevTools.js +4 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
- package/Libraries/Core/setUpTimers.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
- package/Libraries/Image/AssetSourceResolver.js +4 -6
- package/Libraries/Image/Image.android.js +63 -45
- package/Libraries/Image/Image.d.ts +322 -0
- package/Libraries/Image/Image.flow.js +64 -0
- package/Libraries/Image/Image.ios.js +55 -28
- package/Libraries/Image/Image.win32.js +54 -25
- package/Libraries/Image/ImageBackground.js +18 -7
- package/Libraries/Image/ImageInjection.js +2 -1
- package/Libraries/Image/ImageProps.js +88 -5
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageUtils.js +21 -0
- package/Libraries/Image/ImageViewNativeComponent.js +8 -5
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
- package/Libraries/Image/nativeImageSource.js +2 -2
- package/Libraries/Image/resolveAssetSource.js +5 -5
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +3 -4
- package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
- package/Libraries/Inspector/ElementBox.js +4 -5
- package/Libraries/Inspector/ElementProperties.js +10 -11
- package/Libraries/Inspector/Inspector.js +22 -108
- package/Libraries/Inspector/Inspector.win32.js +23 -109
- package/Libraries/Inspector/InspectorOverlay.js +5 -5
- package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
- package/Libraries/Inspector/InspectorPanel.js +12 -10
- package/Libraries/Inspector/NetworkOverlay.js +7 -3
- package/Libraries/Inspector/PerformanceOverlay.js +3 -3
- package/Libraries/Inspector/StyleInspector.js +2 -2
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
- package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +8 -8
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.flow.js +257 -0
- package/Libraries/Interaction/PanResponder.js +4 -3
- package/Libraries/JSInspector/JSInspector.js +0 -3
- package/Libraries/JSInspector/NetworkAgent.js +3 -3
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +3 -2
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/CellRenderMask.js +13 -3
- package/Libraries/Lists/ChildListCollection.js +72 -0
- package/Libraries/Lists/FillRateHelper.js +28 -17
- package/Libraries/Lists/FlatList.d.ts +292 -0
- package/Libraries/Lists/FlatList.js +70 -70
- package/Libraries/Lists/SectionList.d.ts +300 -0
- package/Libraries/Lists/SectionList.js +5 -5
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/StateSafePureComponent.js +85 -0
- package/Libraries/Lists/ViewabilityHelper.js +33 -12
- package/Libraries/Lists/VirtualizeUtils.js +17 -13
- package/Libraries/Lists/VirtualizedList.d.ts +317 -0
- package/Libraries/Lists/VirtualizedList.js +548 -890
- package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
- package/Libraries/Lists/VirtualizedListContext.js +7 -48
- package/Libraries/Lists/VirtualizedListProps.js +279 -0
- package/Libraries/Lists/VirtualizedSectionList.js +6 -3
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +9 -8
- package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +11 -11
- package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
- package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +14 -14
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTNetworking.android.js +4 -3
- package/Libraries/Network/RCTNetworking.ios.js +3 -2
- package/Libraries/Network/RCTNetworking.win32.js +1 -0
- package/Libraries/Network/convertRequestBody.js +1 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +6 -2
- package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +110 -195
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
- package/Libraries/Pressability/Pressability.js +12 -10
- package/Libraries/Pressability/Pressability.win32.js +9 -7
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
- package/Libraries/ReactNative/AppContainer.js +17 -7
- package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
- package/Libraries/ReactNative/AppRegistry.js +11 -14
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
- package/Libraries/ReactNative/FabricUIManager.js +3 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/PaperUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
- package/Libraries/ReactNative/RendererImplementation.js +112 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.js +0 -1
- package/Libraries/ReactNative/UIManager.d.ts +157 -0
- package/Libraries/ReactNative/UIManager.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +38 -20
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +7 -5
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
- package/Libraries/StyleSheet/StyleSheet.js +15 -11
- package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
- package/Libraries/StyleSheet/processAspectRatio.js +53 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +3 -4
- package/Libraries/StyleSheet/processColorArray.js +1 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +114 -105
- package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
- package/Libraries/Text/Text.d.ts +209 -0
- package/Libraries/Text/Text.js +94 -12
- package/Libraries/Text/TextNativeComponent.js +49 -41
- package/Libraries/Text/TextNativeComponent.win32.js +67 -49
- package/Libraries/Text/TextProps.js +64 -7
- package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CoreEventTypes.d.ts +263 -0
- package/Libraries/Types/CoreEventTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.win32.js +2 -1
- package/Libraries/Utilities/AcessibilityMapping.js +154 -0
- package/Libraries/Utilities/Appearance.d.ts +43 -0
- package/Libraries/Utilities/Appearance.js +3 -3
- package/Libraries/Utilities/BackHandler.android.js +3 -5
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -5
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +4 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +2 -2
- package/Libraries/Utilities/Dimensions.win32.js +2 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
- package/Libraries/Utilities/HMRClient.js +23 -8
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/Platform.android.js +11 -5
- package/Libraries/Utilities/Platform.d.ts +102 -0
- package/Libraries/Utilities/Platform.ios.js +12 -5
- package/Libraries/Utilities/Platform.win32.js +11 -5
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
- package/Libraries/Utilities/codegenNativeCommands.js +1 -10
- package/Libraries/Utilities/codegenNativeComponent.js +4 -1
- package/Libraries/Utilities/createPerformanceLogger.js +7 -8
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/useColorScheme.js +3 -2
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +1 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +11 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
- package/Libraries/__tests__/ButtonWin32-test.js +16 -0
- package/Libraries/platform-types.d.ts +25 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/babel.config.js +3 -0
- package/flow/jest.js +2 -2
- package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
- package/flow-typed/npm/yargs_v17.x.x.js +341 -0
- package/index.js +89 -55
- package/index.win32.js +89 -55
- package/interface.js +8 -0
- package/jest/react-native-env.js +18 -0
- package/jest/renderer.js +2 -2
- package/jest/setup.js +7 -9
- package/jest.config.js +9 -2
- package/overrides.json +40 -101
- package/package.json +34 -33
- package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
- package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
- package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
- package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
- package/src/Libraries/Components/View/ViewWin32.Props.ts +4 -0
- package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
- package/src/Libraries/platform-types.d.ts +25 -0
- package/types/index.d.ts +215 -0
- package/IntegrationTests/AsyncStorageTest.js +0 -261
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/Image/ImagePickerIOS.js +0 -103
- package/Libraries/Image/NativeImagePickerIOS.js +0 -38
- package/Libraries/Lists/VirtualizedList.win32.js +0 -9
- package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
- package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
- package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
- package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
- package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
- package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
- package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
- package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
- package/Libraries/Storage/AsyncStorage.js +0 -385
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
- package/Libraries/Utilities/JSDevSupportModule.js +0 -37
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
- package/rntypes/BatchedBridge.d.ts +0 -23
- package/rntypes/Devtools.d.ts +0 -20
- package/rntypes/LaunchScreen.d.ts +0 -9
- package/rntypes/globals.d.ts +0 -497
- package/rntypes/index.d.ts +0 -9754
- package/rntypes/legacy-properties.d.ts +0 -238
- package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
- package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
- package/src/rntypes/BatchedBridge.d.ts +0 -23
- package/src/rntypes/Devtools.d.ts +0 -20
- package/src/rntypes/LaunchScreen.d.ts +0 -9
- package/src/rntypes/globals.d.ts +0 -497
- package/src/rntypes/index.d.ts +0 -9754
- package/src/rntypes/legacy-properties.d.ts +0 -238
- package/src/typings-index.ts +0 -37
- package/typings-index.d.ts +0 -23
- package/typings-index.js +0 -47
- package/typings-index.js.map +0 -1
|
@@ -0,0 +1,257 @@
|
|
|
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 type {PressEvent} from '../Types/CoreEventTypes';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* `PanResponder` reconciles several touches into a single gesture. It makes
|
|
17
|
+
* single-touch gestures resilient to extra touches, and can be used to
|
|
18
|
+
* recognize simple multi-touch gestures.
|
|
19
|
+
*
|
|
20
|
+
* By default, `PanResponder` holds an `InteractionManager` handle to block
|
|
21
|
+
* long-running JS events from interrupting active gestures.
|
|
22
|
+
*
|
|
23
|
+
* It provides a predictable wrapper of the responder handlers provided by the
|
|
24
|
+
* [gesture responder system](docs/gesture-responder-system.html).
|
|
25
|
+
* For each handler, it provides a new `gestureState` object alongside the
|
|
26
|
+
* native event object:
|
|
27
|
+
*
|
|
28
|
+
* ```
|
|
29
|
+
* onPanResponderMove: (event, gestureState) => {}
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* A native event is a synthetic touch event with the following form:
|
|
33
|
+
*
|
|
34
|
+
* - `nativeEvent`
|
|
35
|
+
* + `changedTouches` - Array of all touch events that have changed since the last event
|
|
36
|
+
* + `identifier` - The ID of the touch
|
|
37
|
+
* + `locationX` - The X position of the touch, relative to the element
|
|
38
|
+
* + `locationY` - The Y position of the touch, relative to the element
|
|
39
|
+
* + `pageX` - The X position of the touch, relative to the root element
|
|
40
|
+
* + `pageY` - The Y position of the touch, relative to the root element
|
|
41
|
+
* + `target` - The node id of the element receiving the touch event
|
|
42
|
+
* + `timestamp` - A time identifier for the touch, useful for velocity calculation
|
|
43
|
+
* + `touches` - Array of all current touches on the screen
|
|
44
|
+
*
|
|
45
|
+
* A `gestureState` object has the following:
|
|
46
|
+
*
|
|
47
|
+
* - `stateID` - ID of the gestureState- persisted as long as there at least
|
|
48
|
+
* one touch on screen
|
|
49
|
+
* - `moveX` - the latest screen coordinates of the recently-moved touch
|
|
50
|
+
* - `moveY` - the latest screen coordinates of the recently-moved touch
|
|
51
|
+
* - `x0` - the screen coordinates of the responder grant
|
|
52
|
+
* - `y0` - the screen coordinates of the responder grant
|
|
53
|
+
* - `dx` - accumulated distance of the gesture since the touch started
|
|
54
|
+
* - `dy` - accumulated distance of the gesture since the touch started
|
|
55
|
+
* - `vx` - current velocity of the gesture
|
|
56
|
+
* - `vy` - current velocity of the gesture
|
|
57
|
+
* - `numberActiveTouches` - Number of touches currently on screen
|
|
58
|
+
*
|
|
59
|
+
* ### Basic Usage
|
|
60
|
+
*
|
|
61
|
+
* ```
|
|
62
|
+
* componentWillMount: function() {
|
|
63
|
+
* this._panResponder = PanResponder.create({
|
|
64
|
+
* // Ask to be the responder:
|
|
65
|
+
* onStartShouldSetPanResponder: (evt, gestureState) => true,
|
|
66
|
+
* onStartShouldSetPanResponderCapture: (evt, gestureState) => true,
|
|
67
|
+
* onMoveShouldSetPanResponder: (evt, gestureState) => true,
|
|
68
|
+
* onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,
|
|
69
|
+
*
|
|
70
|
+
* onPanResponderGrant: (evt, gestureState) => {
|
|
71
|
+
* // The gesture has started. Show visual feedback so the user knows
|
|
72
|
+
* // what is happening!
|
|
73
|
+
*
|
|
74
|
+
* // gestureState.d{x,y} will be set to zero now
|
|
75
|
+
* },
|
|
76
|
+
* onPanResponderMove: (evt, gestureState) => {
|
|
77
|
+
* // The most recent move distance is gestureState.move{X,Y}
|
|
78
|
+
*
|
|
79
|
+
* // The accumulated gesture distance since becoming responder is
|
|
80
|
+
* // gestureState.d{x,y}
|
|
81
|
+
* },
|
|
82
|
+
* onPanResponderTerminationRequest: (evt, gestureState) => true,
|
|
83
|
+
* onPanResponderRelease: (evt, gestureState) => {
|
|
84
|
+
* // The user has released all touches while this view is the
|
|
85
|
+
* // responder. This typically means a gesture has succeeded
|
|
86
|
+
* },
|
|
87
|
+
* onPanResponderTerminate: (evt, gestureState) => {
|
|
88
|
+
* // Another component has become the responder, so this gesture
|
|
89
|
+
* // should be cancelled
|
|
90
|
+
* },
|
|
91
|
+
* onShouldBlockNativeResponder: (evt, gestureState) => {
|
|
92
|
+
* // Returns whether this component should block native components from becoming the JS
|
|
93
|
+
* // responder. Returns true by default. Is currently only supported on android.
|
|
94
|
+
* return true;
|
|
95
|
+
* },
|
|
96
|
+
* });
|
|
97
|
+
* },
|
|
98
|
+
*
|
|
99
|
+
* render: function() {
|
|
100
|
+
* return (
|
|
101
|
+
* <View {...this._panResponder.panHandlers} />
|
|
102
|
+
* );
|
|
103
|
+
* },
|
|
104
|
+
*
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* ### Working Example
|
|
108
|
+
*
|
|
109
|
+
* To see it in action, try the
|
|
110
|
+
* [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/HEAD/packages/rn-tester/js/examples/PanResponder/PanResponderExample.js)
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
export type GestureState = {|
|
|
114
|
+
/**
|
|
115
|
+
* ID of the gestureState - persisted as long as there at least one touch on screen
|
|
116
|
+
*/
|
|
117
|
+
stateID: number,
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* The latest screen coordinates of the recently-moved touch
|
|
121
|
+
*/
|
|
122
|
+
moveX: number,
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* The latest screen coordinates of the recently-moved touch
|
|
126
|
+
*/
|
|
127
|
+
moveY: number,
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* The screen coordinates of the responder grant
|
|
131
|
+
*/
|
|
132
|
+
x0: number,
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* The screen coordinates of the responder grant
|
|
136
|
+
*/
|
|
137
|
+
y0: number,
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Accumulated distance of the gesture since the touch started
|
|
141
|
+
*/
|
|
142
|
+
dx: number,
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Accumulated distance of the gesture since the touch started
|
|
146
|
+
*/
|
|
147
|
+
dy: number,
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Current velocity of the gesture
|
|
151
|
+
*/
|
|
152
|
+
vx: number,
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Current velocity of the gesture
|
|
156
|
+
*/
|
|
157
|
+
vy: number,
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Number of touches currently on screen
|
|
161
|
+
*/
|
|
162
|
+
numberActiveTouches: number,
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* All `gestureState` accounts for timeStamps up until this value
|
|
166
|
+
*
|
|
167
|
+
* @private
|
|
168
|
+
*/
|
|
169
|
+
_accountsForMovesUpTo: number,
|
|
170
|
+
|};
|
|
171
|
+
|
|
172
|
+
type ActiveCallback = (
|
|
173
|
+
event: PressEvent,
|
|
174
|
+
gestureState: GestureState,
|
|
175
|
+
) => boolean;
|
|
176
|
+
|
|
177
|
+
type PassiveCallback = (event: PressEvent, gestureState: GestureState) => mixed;
|
|
178
|
+
|
|
179
|
+
type PanHandlers = {|
|
|
180
|
+
onMoveShouldSetResponder: (event: PressEvent) => boolean,
|
|
181
|
+
onMoveShouldSetResponderCapture: (event: PressEvent) => boolean,
|
|
182
|
+
onResponderEnd: (event: PressEvent) => void,
|
|
183
|
+
onResponderGrant: (event: PressEvent) => boolean,
|
|
184
|
+
onResponderMove: (event: PressEvent) => void,
|
|
185
|
+
onResponderReject: (event: PressEvent) => void,
|
|
186
|
+
onResponderRelease: (event: PressEvent) => void,
|
|
187
|
+
onResponderStart: (event: PressEvent) => void,
|
|
188
|
+
onResponderTerminate: (event: PressEvent) => void,
|
|
189
|
+
onResponderTerminationRequest: (event: PressEvent) => boolean,
|
|
190
|
+
onStartShouldSetResponder: (event: PressEvent) => boolean,
|
|
191
|
+
onStartShouldSetResponderCapture: (event: PressEvent) => boolean,
|
|
192
|
+
|};
|
|
193
|
+
|
|
194
|
+
type PanResponderConfig = $ReadOnly<{|
|
|
195
|
+
onMoveShouldSetPanResponder?: ?ActiveCallback,
|
|
196
|
+
onMoveShouldSetPanResponderCapture?: ?ActiveCallback,
|
|
197
|
+
onStartShouldSetPanResponder?: ?ActiveCallback,
|
|
198
|
+
onStartShouldSetPanResponderCapture?: ?ActiveCallback,
|
|
199
|
+
/**
|
|
200
|
+
* The body of `onResponderGrant` returns a bool, but the vast majority of
|
|
201
|
+
* callsites return void and this TODO notice is found in it:
|
|
202
|
+
* TODO: t7467124 investigate if this can be removed
|
|
203
|
+
*/
|
|
204
|
+
onPanResponderGrant?: ?(PassiveCallback | ActiveCallback),
|
|
205
|
+
onPanResponderReject?: ?PassiveCallback,
|
|
206
|
+
onPanResponderStart?: ?PassiveCallback,
|
|
207
|
+
onPanResponderEnd?: ?PassiveCallback,
|
|
208
|
+
onPanResponderRelease?: ?PassiveCallback,
|
|
209
|
+
onPanResponderMove?: ?PassiveCallback,
|
|
210
|
+
onPanResponderTerminate?: ?PassiveCallback,
|
|
211
|
+
onPanResponderTerminationRequest?: ?ActiveCallback,
|
|
212
|
+
onShouldBlockNativeResponder?: ?ActiveCallback,
|
|
213
|
+
|}>;
|
|
214
|
+
|
|
215
|
+
export type PanResponderType = {
|
|
216
|
+
_initializeGestureState: (gestureState: GestureState) => void,
|
|
217
|
+
_updateGestureStateOnMove: (
|
|
218
|
+
gestureState: GestureState,
|
|
219
|
+
touchHistory: $PropertyType<PressEvent, 'touchHistory'>,
|
|
220
|
+
) => void,
|
|
221
|
+
/**
|
|
222
|
+
* @param {object} config Enhanced versions of all of the responder callbacks
|
|
223
|
+
* that provide not only the typical `ResponderSyntheticEvent`, but also the
|
|
224
|
+
* `PanResponder` gesture state. Simply replace the word `Responder` with
|
|
225
|
+
* `PanResponder` in each of the typical `onResponder*` callbacks. For
|
|
226
|
+
* example, the `config` object would look like:
|
|
227
|
+
*
|
|
228
|
+
* - `onMoveShouldSetPanResponder: (e, gestureState) => {...}`
|
|
229
|
+
* - `onMoveShouldSetPanResponderCapture: (e, gestureState) => {...}`
|
|
230
|
+
* - `onStartShouldSetPanResponder: (e, gestureState) => {...}`
|
|
231
|
+
* - `onStartShouldSetPanResponderCapture: (e, gestureState) => {...}`
|
|
232
|
+
* - `onPanResponderReject: (e, gestureState) => {...}`
|
|
233
|
+
* - `onPanResponderGrant: (e, gestureState) => {...}`
|
|
234
|
+
* - `onPanResponderStart: (e, gestureState) => {...}`
|
|
235
|
+
* - `onPanResponderEnd: (e, gestureState) => {...}`
|
|
236
|
+
* - `onPanResponderRelease: (e, gestureState) => {...}`
|
|
237
|
+
* - `onPanResponderMove: (e, gestureState) => {...}`
|
|
238
|
+
* - `onPanResponderTerminate: (e, gestureState) => {...}`
|
|
239
|
+
* - `onPanResponderTerminationRequest: (e, gestureState) => {...}`
|
|
240
|
+
* - `onShouldBlockNativeResponder: (e, gestureState) => {...}`
|
|
241
|
+
*
|
|
242
|
+
* In general, for events that have capture equivalents, we update the
|
|
243
|
+
* gestureState once in the capture phase and can use it in the bubble phase
|
|
244
|
+
* as well.
|
|
245
|
+
*
|
|
246
|
+
* Be careful with onStartShould* callbacks. They only reflect updated
|
|
247
|
+
* `gestureState` for start/end events that bubble/capture to the Node.
|
|
248
|
+
* Once the node is the responder, you can rely on every start/end event
|
|
249
|
+
* being processed by the gesture and `gestureState` being updated
|
|
250
|
+
* accordingly. (numberActiveTouches) may not be totally accurate unless you
|
|
251
|
+
* are the responder.
|
|
252
|
+
*/
|
|
253
|
+
create: (config: PanResponderConfig) => {
|
|
254
|
+
getInteractionHandle: () => ?number,
|
|
255
|
+
panHandlers: PanHandlers,
|
|
256
|
+
},
|
|
257
|
+
};
|
|
@@ -10,11 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
import type {PressEvent} from '../Types/CoreEventTypes';
|
|
14
|
+
import type {PanResponderType} from './PanResponder.flow.js';
|
|
15
|
+
|
|
13
16
|
const InteractionManager = require('./InteractionManager');
|
|
14
17
|
const TouchHistoryMath = require('./TouchHistoryMath');
|
|
15
18
|
|
|
16
|
-
import type {PressEvent} from '../Types/CoreEventTypes';
|
|
17
|
-
|
|
18
19
|
const currentCentroidXOfTouchesChangedAfter =
|
|
19
20
|
TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;
|
|
20
21
|
const currentCentroidYOfTouchesChangedAfter =
|
|
@@ -226,7 +227,7 @@ type PanResponderConfig = $ReadOnly<{|
|
|
|
226
227
|
onShouldBlockNativeResponder?: ?ActiveCallback,
|
|
227
228
|
|}>;
|
|
228
229
|
|
|
229
|
-
const PanResponder = {
|
|
230
|
+
const PanResponder: PanResponderType = {
|
|
230
231
|
/**
|
|
231
232
|
*
|
|
232
233
|
* A graphical explanation of the touch data flow:
|
|
@@ -19,9 +19,6 @@ interface Agent {
|
|
|
19
19
|
// Flow doesn't support static declarations in interface
|
|
20
20
|
type AgentClass = Class<Agent> & {DOMAIN: string, ...};
|
|
21
21
|
|
|
22
|
-
declare function __registerInspectorAgent(type: AgentClass): void;
|
|
23
|
-
declare function __inspectorTimestamp(): number;
|
|
24
|
-
|
|
25
22
|
const JSInspector = {
|
|
26
23
|
registerAgent(type: AgentClass) {
|
|
27
24
|
if (global.__registerInspectorAgent) {
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
import type EventSender from './InspectorAgent';
|
|
14
|
+
|
|
15
|
+
const XMLHttpRequest = require('../Network/XMLHttpRequest');
|
|
13
16
|
const InspectorAgent = require('./InspectorAgent');
|
|
14
17
|
const JSInspector = require('./JSInspector');
|
|
15
|
-
const XMLHttpRequest = require('../Network/XMLHttpRequest');
|
|
16
|
-
|
|
17
|
-
import type EventSender from './InspectorAgent';
|
|
18
18
|
|
|
19
19
|
type RequestId = string;
|
|
20
20
|
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
+
export type LayoutAnimationType =
|
|
11
|
+
| 'spring'
|
|
12
|
+
| 'linear'
|
|
13
|
+
| 'easeInEaseOut'
|
|
14
|
+
| 'easeIn'
|
|
15
|
+
| 'easeOut'
|
|
16
|
+
| 'keyboard';
|
|
17
|
+
|
|
18
|
+
export type LayoutAnimationTypes = {
|
|
19
|
+
[type in LayoutAnimationType]: type;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type LayoutAnimationProperty =
|
|
23
|
+
| 'opacity'
|
|
24
|
+
| 'scaleX'
|
|
25
|
+
| 'scaleY'
|
|
26
|
+
| 'scaleXY';
|
|
27
|
+
|
|
28
|
+
export type LayoutAnimationProperties = {
|
|
29
|
+
[prop in LayoutAnimationProperty]: prop;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export interface LayoutAnimationAnim {
|
|
33
|
+
duration?: number | undefined;
|
|
34
|
+
delay?: number | undefined;
|
|
35
|
+
springDamping?: number | undefined;
|
|
36
|
+
initialVelocity?: number | undefined;
|
|
37
|
+
type?: LayoutAnimationType | undefined;
|
|
38
|
+
property?: LayoutAnimationProperty | undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface LayoutAnimationConfig {
|
|
42
|
+
duration: number;
|
|
43
|
+
create?: LayoutAnimationAnim | undefined;
|
|
44
|
+
update?: LayoutAnimationAnim | undefined;
|
|
45
|
+
delete?: LayoutAnimationAnim | undefined;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** Automatically animates views to their new positions when the next layout happens.
|
|
49
|
+
* A common way to use this API is to call LayoutAnimation.configureNext before
|
|
50
|
+
* calling setState. */
|
|
51
|
+
export interface LayoutAnimationStatic {
|
|
52
|
+
/** Schedules an animation to happen on the next layout.
|
|
53
|
+
* @param config Specifies animation properties:
|
|
54
|
+
* `duration` in milliseconds
|
|
55
|
+
* `create`, config for animating in new views (see Anim type)
|
|
56
|
+
* `update`, config for animating views that have been updated (see Anim type)
|
|
57
|
+
* @param onAnimationDidEnd Called when the animation finished. Only supported on iOS.
|
|
58
|
+
*/
|
|
59
|
+
configureNext: (
|
|
60
|
+
config: LayoutAnimationConfig,
|
|
61
|
+
onAnimationDidEnd?: () => void,
|
|
62
|
+
onAnimationDidFail?: () => void,
|
|
63
|
+
) => void;
|
|
64
|
+
/** Helper for creating a config for configureNext. */
|
|
65
|
+
create: (
|
|
66
|
+
duration: number,
|
|
67
|
+
type?: LayoutAnimationType,
|
|
68
|
+
creationProp?: LayoutAnimationProperty,
|
|
69
|
+
) => LayoutAnimationConfig;
|
|
70
|
+
Types: LayoutAnimationTypes;
|
|
71
|
+
Properties: LayoutAnimationProperties;
|
|
72
|
+
configChecker: (shapeTypes: {[key: string]: any}) => any;
|
|
73
|
+
Presets: {
|
|
74
|
+
easeInEaseOut: LayoutAnimationConfig;
|
|
75
|
+
linear: LayoutAnimationConfig;
|
|
76
|
+
spring: LayoutAnimationConfig;
|
|
77
|
+
};
|
|
78
|
+
easeInEaseOut: (onAnimationDidEnd?: () => void) => void;
|
|
79
|
+
linear: (onAnimationDidEnd?: () => void) => void;
|
|
80
|
+
spring: (onAnimationDidEnd?: () => void) => void;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export const LayoutAnimation: LayoutAnimationStatic;
|
|
84
|
+
export type LayoutAnimation = LayoutAnimationStatic;
|
|
@@ -10,16 +10,17 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const UIManager = require('../ReactNative/UIManager');
|
|
14
13
|
import type {Spec as FabricUIManagerSpec} from '../ReactNative/FabricUIManager';
|
|
15
14
|
import type {
|
|
16
15
|
LayoutAnimationConfig as LayoutAnimationConfig_,
|
|
17
|
-
LayoutAnimationType,
|
|
18
16
|
LayoutAnimationProperty,
|
|
17
|
+
LayoutAnimationType,
|
|
19
18
|
} from '../Renderer/shims/ReactNativeTypes';
|
|
20
19
|
|
|
21
|
-
import Platform from '../Utilities/Platform';
|
|
22
20
|
import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
|
|
21
|
+
import Platform from '../Utilities/Platform';
|
|
22
|
+
|
|
23
|
+
const UIManager = require('../ReactNative/UIManager');
|
|
23
24
|
|
|
24
25
|
// Reexport type
|
|
25
26
|
export type LayoutAnimationConfig = LayoutAnimationConfig_;
|
|
@@ -0,0 +1,61 @@
|
|
|
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 {NativeEventEmitter} from '../EventEmitter/NativeEventEmitter';
|
|
11
|
+
import {EmitterSubscription} from '../vendor/emitter/EventEmitter';
|
|
12
|
+
|
|
13
|
+
export interface LinkingStatic extends NativeEventEmitter {
|
|
14
|
+
/**
|
|
15
|
+
* Add a handler to Linking changes by listening to the `url` event type
|
|
16
|
+
* and providing the handler
|
|
17
|
+
*/
|
|
18
|
+
addEventListener(
|
|
19
|
+
type: 'url',
|
|
20
|
+
handler: (event: {url: string}) => void,
|
|
21
|
+
): EmitterSubscription;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Try to open the given url with any of the installed apps.
|
|
25
|
+
* You can use other URLs, like a location (e.g. "geo:37.484847,-122.148386"), a contact, or any other URL that can be opened with the installed apps.
|
|
26
|
+
* NOTE: This method will fail if the system doesn't know how to open the specified URL. If you're passing in a non-http(s) URL, it's best to check {@code canOpenURL} first.
|
|
27
|
+
* NOTE: For web URLs, the protocol ("http://", "https://") must be set accordingly!
|
|
28
|
+
*/
|
|
29
|
+
openURL(url: string): Promise<any>;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Determine whether or not an installed app can handle a given URL.
|
|
33
|
+
* NOTE: For web URLs, the protocol ("http://", "https://") must be set accordingly!
|
|
34
|
+
* NOTE: As of iOS 9, your app needs to provide the LSApplicationQueriesSchemes key inside Info.plist.
|
|
35
|
+
* @param URL the URL to open
|
|
36
|
+
*/
|
|
37
|
+
canOpenURL(url: string): Promise<boolean>;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* If the app launch was triggered by an app link with, it will give the link url, otherwise it will give null
|
|
41
|
+
* NOTE: To support deep linking on Android, refer http://developer.android.com/training/app-indexing/deep-linking.html#handling-intents
|
|
42
|
+
*/
|
|
43
|
+
getInitialURL(): Promise<string | null>;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Open the Settings app and displays the app’s custom settings, if it has any.
|
|
47
|
+
*/
|
|
48
|
+
openSettings(): Promise<void>;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Sends an Android Intent - a broad surface to express Android functions. Useful for deep-linking to settings pages,
|
|
52
|
+
* opening an SMS app with a message draft in place, and more. See https://developer.android.com/reference/kotlin/android/content/Intent?hl=en
|
|
53
|
+
*/
|
|
54
|
+
sendIntent(
|
|
55
|
+
action: string,
|
|
56
|
+
extras?: Array<{key: string; value: string | number | boolean}>,
|
|
57
|
+
): Promise<void>;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export const Linking: LinkingStatic;
|
|
61
|
+
export type Linking = LinkingStatic;
|
|
@@ -9,11 +9,12 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
12
|
+
|
|
12
13
|
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
|
|
13
14
|
import InteractionManager from '../Interaction/InteractionManager';
|
|
14
15
|
import Platform from '../Utilities/Platform';
|
|
15
|
-
import NativeLinkingManager from './NativeLinkingManager';
|
|
16
16
|
import NativeIntentAndroid from './NativeIntentAndroid';
|
|
17
|
+
import NativeLinkingManager from './NativeLinkingManager';
|
|
17
18
|
import invariant from 'invariant';
|
|
18
19
|
import nullthrows from 'nullthrows';
|
|
19
20
|
|
|
@@ -123,7 +124,7 @@ class Linking extends NativeEventEmitter<LinkingEventDefinitions> {
|
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
126
|
|
|
126
|
-
_validateURL(url: string) {
|
|
127
|
+
_validateURL(url: string): void {
|
|
127
128
|
invariant(
|
|
128
129
|
typeof url === 'string',
|
|
129
130
|
'Invalid URL: should be a string. Was: ' + url,
|
|
@@ -45,16 +45,22 @@ export class CellRenderMask {
|
|
|
45
45
|
return this._regions;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
addCells(cells: {first: number, last: number}) {
|
|
48
|
+
addCells(cells: {first: number, last: number}): void {
|
|
49
49
|
invariant(
|
|
50
50
|
cells.first >= 0 &&
|
|
51
51
|
cells.first < this._numCells &&
|
|
52
|
-
cells.last >=
|
|
52
|
+
cells.last >= -1 &&
|
|
53
53
|
cells.last < this._numCells &&
|
|
54
|
-
cells.last >= cells.first,
|
|
54
|
+
cells.last >= cells.first - 1,
|
|
55
55
|
'CellRenderMask.addCells called with invalid cell range',
|
|
56
56
|
);
|
|
57
57
|
|
|
58
|
+
// VirtualizedList uses inclusive ranges, where zero-count states are
|
|
59
|
+
// possible. E.g. [0, -1] for no cells, starting at 0.
|
|
60
|
+
if (cells.last < cells.first) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
58
64
|
const [firstIntersect, firstIntersectIdx] = this._findRegion(cells.first);
|
|
59
65
|
const [lastIntersect, lastIntersectIdx] = this._findRegion(cells.last);
|
|
60
66
|
|
|
@@ -110,6 +116,10 @@ export class CellRenderMask {
|
|
|
110
116
|
);
|
|
111
117
|
}
|
|
112
118
|
|
|
119
|
+
numCells(): number {
|
|
120
|
+
return this._numCells;
|
|
121
|
+
}
|
|
122
|
+
|
|
113
123
|
equals(other: CellRenderMask): boolean {
|
|
114
124
|
return (
|
|
115
125
|
this._numCells === other._numCells &&
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
import invariant from 'invariant';
|
|
12
|
+
|
|
13
|
+
export default class ChildListCollection<TList> {
|
|
14
|
+
_cellKeyToChildren: Map<string, Set<TList>> = new Map();
|
|
15
|
+
_childrenToCellKey: Map<TList, string> = new Map();
|
|
16
|
+
|
|
17
|
+
add(list: TList, cellKey: string): void {
|
|
18
|
+
invariant(
|
|
19
|
+
!this._childrenToCellKey.has(list),
|
|
20
|
+
'Trying to add already present child list',
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
const cellLists = this._cellKeyToChildren.get(cellKey) ?? new Set();
|
|
24
|
+
cellLists.add(list);
|
|
25
|
+
this._cellKeyToChildren.set(cellKey, cellLists);
|
|
26
|
+
|
|
27
|
+
this._childrenToCellKey.set(list, cellKey);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
remove(list: TList): void {
|
|
31
|
+
const cellKey = this._childrenToCellKey.get(list);
|
|
32
|
+
invariant(cellKey != null, 'Trying to remove non-present child list');
|
|
33
|
+
this._childrenToCellKey.delete(list);
|
|
34
|
+
|
|
35
|
+
const cellLists = this._cellKeyToChildren.get(cellKey);
|
|
36
|
+
invariant(cellLists, '_cellKeyToChildren should contain cellKey');
|
|
37
|
+
cellLists.delete(list);
|
|
38
|
+
|
|
39
|
+
if (cellLists.size === 0) {
|
|
40
|
+
this._cellKeyToChildren.delete(cellKey);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
forEach(fn: TList => void): void {
|
|
45
|
+
for (const listSet of this._cellKeyToChildren.values()) {
|
|
46
|
+
for (const list of listSet) {
|
|
47
|
+
fn(list);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
forEachInCell(cellKey: string, fn: TList => void): void {
|
|
53
|
+
const listSet = this._cellKeyToChildren.get(cellKey) ?? [];
|
|
54
|
+
for (const list of listSet) {
|
|
55
|
+
fn(list);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
anyInCell(cellKey: string, fn: TList => boolean): boolean {
|
|
60
|
+
const listSet = this._cellKeyToChildren.get(cellKey) ?? [];
|
|
61
|
+
for (const list of listSet) {
|
|
62
|
+
if (fn(list)) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
size(): number {
|
|
70
|
+
return this._childrenToCellKey.size;
|
|
71
|
+
}
|
|
72
|
+
}
|