@react-native-oh/react-native-harmony 0.72.86 → 0.77.18-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/LICENSE +21 -0
- package/LICENSE-Meta +21 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +87 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +175 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +13 -0
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +34 -0
- package/Libraries/Alert/Alert.d.ts +91 -0
- package/Libraries/Alert/Alert.js +181 -0
- package/Libraries/Alert/NativeAlertManager.js +13 -0
- package/Libraries/Alert/RCTAlertManager.android.js +27 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +25 -0
- package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
- package/Libraries/Alert/delegates/AlertDelegate.harmony.ts +84 -0
- package/Libraries/Alert/delegates/AlertDelegate.ts +33 -0
- package/Libraries/Alert/{AlertManager.ts → delegates/AlertManager.harmony.ts} +10 -4
- package/Libraries/Alert/delegates/BaseAlertDelegate.ts +37 -0
- package/Libraries/Animated/Animated.d.ts +626 -0
- package/Libraries/Animated/Animated.js +48 -0
- package/Libraries/Animated/AnimatedEvent.js +256 -0
- package/Libraries/Animated/AnimatedImplementation.js +754 -0
- package/Libraries/Animated/AnimatedMock.js +195 -0
- package/Libraries/Animated/AnimatedPlatformConfig.js +13 -0
- package/Libraries/Animated/AnimatedWeb.js +26 -0
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +250 -0
- package/Libraries/Animated/NativeAnimatedAllowlist.js +122 -0
- package/Libraries/Animated/NativeAnimatedModule.js +13 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +13 -0
- package/Libraries/Animated/SpringConfig.js +98 -0
- package/Libraries/Animated/animations/Animation.js +171 -0
- package/Libraries/Animated/animations/DecayAnimation.js +121 -0
- package/Libraries/Animated/animations/SpringAnimation.js +372 -0
- package/Libraries/Animated/animations/TimingAnimation.js +173 -0
- package/Libraries/Animated/bezier.js +164 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +20 -0
- package/Libraries/Animated/components/AnimatedImage.js +22 -0
- package/Libraries/Animated/components/AnimatedScrollView.js +137 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +22 -0
- package/Libraries/Animated/components/AnimatedText.js +22 -0
- package/Libraries/Animated/components/AnimatedView.js +20 -0
- package/Libraries/Animated/createAnimatedComponent.js +101 -0
- package/Libraries/Animated/nodes/AnimatedAddition.js +64 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +320 -0
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +72 -0
- package/Libraries/Animated/nodes/AnimatedDivision.js +80 -0
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +416 -0
- package/Libraries/Animated/nodes/AnimatedModulo.js +63 -0
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +63 -0
- package/Libraries/Animated/nodes/AnimatedNode.js +200 -0
- package/Libraries/Animated/nodes/AnimatedObject.js +162 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +281 -0
- package/Libraries/Animated/nodes/AnimatedStyle.js +251 -0
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +64 -0
- package/Libraries/Animated/nodes/AnimatedTracking.js +100 -0
- package/Libraries/Animated/nodes/AnimatedTransform.js +198 -0
- package/Libraries/Animated/nodes/AnimatedValue.js +303 -0
- package/Libraries/Animated/nodes/AnimatedValueXY.js +236 -0
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +85 -0
- package/Libraries/Animated/shouldUseTurboAnimatedModule.harmony.ts +10 -0
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +389 -0
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppDelegate/RCTAppDelegate+Protected.h +16 -0
- package/Libraries/AppDelegate/RCTAppDelegate.h +122 -0
- package/Libraries/AppDelegate/RCTAppDelegate.mm +330 -0
- package/Libraries/AppDelegate/RCTAppSetupUtils.h +59 -0
- package/Libraries/AppDelegate/RCTAppSetupUtils.mm +167 -0
- package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +32 -0
- package/Libraries/AppDelegate/RCTDependencyProvider.h +26 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.h +198 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +310 -0
- package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +56 -0
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +99 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +128 -0
- package/Libraries/AppState/NativeAppState.js +13 -0
- package/Libraries/BatchedBridge/BatchedBridge.js +28 -0
- package/Libraries/BatchedBridge/MessageQueue.js +492 -0
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +212 -0
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +38 -0
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +22 -0
- package/Libraries/Blob/Blob.js +158 -0
- package/Libraries/Blob/BlobManager.js +179 -0
- package/Libraries/Blob/BlobRegistry.js +43 -0
- package/Libraries/Blob/BlobTypes.js +30 -0
- package/Libraries/Blob/File.js +55 -0
- package/Libraries/Blob/FileReader.js +186 -0
- package/Libraries/Blob/NativeBlobModule.js +13 -0
- package/Libraries/Blob/NativeFileReaderModule.js +13 -0
- package/Libraries/Blob/RCTBlobCollector.h +26 -0
- package/Libraries/Blob/RCTBlobCollector.mm +57 -0
- package/Libraries/Blob/RCTBlobManager.h +35 -0
- package/Libraries/Blob/RCTBlobManager.mm +358 -0
- package/Libraries/Blob/RCTBlobPlugins.h +41 -0
- package/Libraries/Blob/RCTBlobPlugins.mm +34 -0
- package/Libraries/Blob/RCTFileReaderModule.h +12 -0
- package/Libraries/Blob/RCTFileReaderModule.mm +96 -0
- package/Libraries/Blob/React-RCTBlob.podspec +68 -0
- package/Libraries/Blob/URL.js +173 -0
- package/Libraries/Blob/URLSearchParams.js +71 -0
- package/Libraries/Blob/URLSearchParams.js.flow +23 -0
- package/Libraries/Blob/__mocks__/BlobModule.js +16 -0
- package/Libraries/Blob/__mocks__/FileReaderModule.js +20 -0
- package/Libraries/BugReporting/BugReporting.js +140 -0
- package/Libraries/BugReporting/NativeBugReporting.js +13 -0
- package/Libraries/BugReporting/dumpReactTree.js +151 -0
- package/Libraries/BugReporting/getReactData.js +187 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +173 -0
- package/Libraries/Components/AccessibilityInfo/{AccessibilityInfo.harmony.js → AccessibilityInfo.js} +142 -69
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +13 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +13 -0
- package/Libraries/Components/AccessibilityInfo/delegates/AccessibilityInfoDelegate.harmony.ts +44 -0
- package/Libraries/Components/AccessibilityInfo/delegates/AccessibilityInfoDelegate.ts +28 -0
- package/Libraries/Components/AccessibilityInfo/delegates/BaseAccessibilityInfoDelegate.ts +69 -0
- package/Libraries/Components/AccessibilityInfo/{NativeAccessibilityInfoHarmony.ts → delegates/NativeAccessibilityInfoHarmony.harmony.ts} +9 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +36 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +177 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +13 -0
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/{Button/Button.harmony.js → Button.js} +132 -133
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/Clipboard.js +40 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +13 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +13 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +394 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +14 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +205 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/{KeyboardAvoidingView.harmony.js → KeyboardAvoidingView.js} +72 -23
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +13 -0
- package/Libraries/Components/Keyboard/delegates/BaseKeyboardAvoidingViewDelegate.ts +28 -0
- package/Libraries/Components/Keyboard/delegates/KeyboardAvoidingViewDelegate.harmony.ts +42 -0
- package/Libraries/Components/Keyboard/delegates/KeyboardAvoidingViewDelegate.ts +6 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +369 -0
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +109 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +113 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +13 -0
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +13 -0
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +13 -0
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/{RefreshControl.harmony.js → RefreshControl.js} +62 -53
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +31 -0
- package/Libraries/Components/RefreshControl/delegates/BaseRefreshControlDelegate.ts +31 -0
- package/Libraries/Components/RefreshControl/delegates/RefreshControlDelegate.harmony.tsx +29 -0
- package/Libraries/Components/RefreshControl/delegates/RefreshControlDelegate.ts +21 -0
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +13 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.harmony.tsx +93 -31
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +34 -0
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +13 -0
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +73 -0
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +32 -0
- package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
- package/Libraries/Components/ScrollView/{ScrollView.harmony.js → ScrollView.js} +342 -357
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +52 -0
- package/Libraries/Components/ScrollView/ScrollViewContext.js +24 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +31 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +81 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +310 -0
- package/Libraries/Components/ScrollView/delegates/BaseScrollViewDelegate.ts +36 -0
- package/Libraries/Components/ScrollView/delegates/BaseScrollViewNativeComponentDelegate.ts +12 -0
- package/Libraries/Components/ScrollView/delegates/ScrollViewDelegate.harmony.tsx +41 -0
- package/Libraries/Components/ScrollView/delegates/ScrollViewDelegate.ts +23 -0
- package/Libraries/Components/ScrollView/delegates/ScrollViewNativeComponentDelegate.harmony.ts +89 -0
- package/Libraries/Components/ScrollView/delegates/ScrollViewNativeComponentDelegate.ts +14 -0
- package/Libraries/Components/ScrollView/delegates/types.ts +1 -0
- package/Libraries/Components/ScrollView/processDecelerationRate.harmony.ts +19 -0
- package/Libraries/Components/ScrollView/{processDecelerationRate.harmony.js → processDecelerationRate.js} +12 -6
- package/Libraries/Components/Sound/NativeSoundManager.js +13 -0
- package/Libraries/Components/Sound/SoundManager.js +21 -0
- package/Libraries/Components/StaticRenderer.js +37 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +13 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +13 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/{StatusBar.harmony.js → StatusBar.js} +124 -91
- package/Libraries/Components/StatusBar/delegates/BaseStatusBarDelegate.ts +25 -0
- package/Libraries/Components/StatusBar/delegates/NativeStatusBarManagerHarmony.harmony.ts +53 -0
- package/Libraries/Components/StatusBar/delegates/StatusBarDelegate.harmony.ts +83 -0
- package/Libraries/Components/StatusBar/delegates/StatusBarDelegate.ts +44 -0
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +13 -0
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +257 -0
- package/Libraries/Components/Switch/SwitchNativeComponent.js +13 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +751 -0
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +123 -0
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +13 -0
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +45 -0
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +43 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +168 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +1007 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1109 -0
- package/Libraries/Components/TextInput/{TextInput.harmony.js → TextInput.js} +568 -336
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +29 -0
- package/Libraries/Components/TextInput/TextInputState.js +216 -0
- package/Libraries/Components/TextInput/delegates/BaseTextInputDelegate.ts +39 -0
- package/Libraries/Components/TextInput/delegates/BaseTextInputStateDelegate.ts +12 -0
- package/Libraries/Components/TextInput/delegates/TextInputDelegate.harmony.tsx +98 -0
- package/Libraries/Components/TextInput/delegates/TextInputDelegate.ts +40 -0
- package/Libraries/Components/TextInput/delegates/TextInputStateDelegate.harmony.tsx +20 -0
- package/Libraries/Components/TextInput/delegates/TextInputStateDelegate.ts +15 -0
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +13 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +74 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
- package/Libraries/Components/Touchable/BoundingDimensions.js +53 -0
- package/Libraries/Components/Touchable/PooledClass.js +133 -0
- package/Libraries/Components/Touchable/Position.js +40 -0
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.js +973 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +222 -0
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +62 -0
- package/Libraries/Components/Touchable/{TouchableHighlight.harmony.js → TouchableHighlight.js} +49 -47
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/{TouchableNativeFeedback.harmony.js → TouchableNativeFeedback.js} +79 -73
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +81 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +339 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +151 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +238 -0
- package/Libraries/Components/Touchable/delegates/BaseTouchableHighlightDelegate.ts +13 -0
- package/Libraries/Components/Touchable/delegates/BaseTouchableNativeFeedbackDelegate.ts +13 -0
- package/Libraries/Components/Touchable/delegates/BaseTouchableWithoutFeedbackDelegate.ts +13 -0
- package/Libraries/Components/Touchable/delegates/TouchableHighlightDelegate.harmony.ts +14 -0
- package/Libraries/Components/Touchable/delegates/TouchableHighlightDelegate.ts +6 -0
- package/Libraries/Components/Touchable/delegates/TouchableNativeFeedbackDelegate.harmony.ts +14 -0
- package/Libraries/Components/Touchable/delegates/TouchableNativeFeedbackDelegate.ts +6 -0
- package/Libraries/Components/Touchable/delegates/TouchableWithoutFeedbackDelegate.harmony.ts +14 -0
- package/Libraries/Components/Touchable/delegates/TouchableWithoutFeedbackDelegate.ts +6 -0
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +13 -0
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +41 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +218 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +60 -0
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/{View.harmony.js → View.js} +37 -53
- package/Libraries/Components/View/ViewAccessibility.d.ts +404 -0
- package/Libraries/Components/View/ViewAccessibility.js +167 -0
- package/Libraries/Components/View/ViewNativeComponent.js +36 -0
- package/Libraries/Components/View/ViewPropTypes.d.ts +221 -0
- package/Libraries/Components/View/ViewPropTypes.js +656 -0
- package/Libraries/Components/delegates/BaseButtonDelegate.ts +15 -0
- package/Libraries/Components/delegates/ButtonDelegate.harmony.ts +41 -0
- package/Libraries/Components/delegates/ButtonDelegate.ts +27 -0
- package/Libraries/Core/Devtools/getDevServer.js +43 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
- package/Libraries/Core/Devtools/openFileInEditor.js +26 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +23 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +59 -0
- package/Libraries/Core/Devtools/parseHermesStack.js +147 -0
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +50 -0
- package/Libraries/Core/ExceptionsManager.js +282 -0
- package/Libraries/Core/ExtendedError.js +33 -0
- package/Libraries/Core/InitializeCore.js +60 -0
- package/Libraries/Core/NativeExceptionsManager.js +13 -0
- package/Libraries/Core/RawEventEmitter.js +39 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +65 -0
- package/Libraries/Core/ReactNativeVersion.js +23 -0
- package/Libraries/Core/ReactNativeVersionCheck.js +52 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +13 -0
- package/Libraries/Core/Timers/JSTimers.js +487 -0
- package/Libraries/Core/Timers/NativeTiming.js +13 -0
- package/Libraries/Core/Timers/immediateShim.js +68 -0
- package/Libraries/Core/Timers/queueMicrotask.js +41 -0
- package/Libraries/Core/__mocks__/ErrorUtils.js +33 -0
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +19 -0
- package/Libraries/Core/checkNativeVersion.js +18 -0
- package/Libraries/Core/polyfillPromise.js +38 -0
- package/Libraries/Core/registerCallableModule.d.ts +16 -0
- package/Libraries/Core/registerCallableModule.js +42 -0
- package/Libraries/Core/setUpAlert.js +23 -0
- package/Libraries/Core/setUpBatchedBridge.js +50 -0
- package/Libraries/Core/setUpDeveloperTools.js +82 -0
- package/Libraries/Core/setUpErrorHandling.js +35 -0
- package/Libraries/Core/setUpGlobals.js +36 -0
- package/Libraries/Core/setUpNavigator.js +22 -0
- package/Libraries/Core/setUpPerformance.js +31 -0
- package/Libraries/Core/setUpPlatform.harmony.js +30 -0
- package/Libraries/Core/setUpPlatform.js +1 -0
- package/Libraries/Core/setUpReactDevTools.js +252 -0
- package/Libraries/Core/setUpReactRefresh.js +47 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +46 -0
- package/Libraries/Core/setUpSegmentFetcher.js +53 -0
- package/Libraries/Core/setUpTimers.js +125 -0
- package/Libraries/Core/setUpXHR.js +41 -0
- package/Libraries/Debugging/DebuggingOverlay.js +110 -0
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +122 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +43 -0
- package/Libraries/EventEmitter/RCTEventEmitter.js +25 -0
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +18 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +48 -0
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +127 -0
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +102 -0
- package/Libraries/FBLazyVector/FBLazyVector.podspec +31 -0
- package/Libraries/HeapCapture/HeapCapture.js +29 -0
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +13 -0
- package/Libraries/Image/AssetRegistry.js +13 -0
- package/Libraries/Image/AssetSourceResolver.harmony.ts +1 -5
- package/Libraries/Image/AssetSourceResolver.js +202 -0
- package/Libraries/Image/AssetUtils.js +47 -0
- package/Libraries/Image/Image.android.js +322 -0
- package/Libraries/Image/Image.d.ts +373 -0
- package/Libraries/Image/Image.harmony.ts +17 -0
- package/Libraries/Image/Image.ios.js +252 -0
- package/Libraries/Image/Image.js.flow +13 -0
- package/Libraries/Image/ImageAnalyticsTagContext.js +22 -0
- package/Libraries/Image/ImageBackground.js +106 -0
- package/Libraries/Image/ImageInjection.js +87 -0
- package/Libraries/Image/ImageProps.js +296 -0
- package/Libraries/Image/ImageResizeMode.d.ts +56 -0
- package/Libraries/Image/ImageResizeMode.js +39 -0
- package/Libraries/Image/ImageSource.d.ts +74 -0
- package/Libraries/Image/ImageSource.js +135 -0
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageTypes.flow.js +78 -0
- package/Libraries/Image/ImageUtils.js +25 -0
- package/Libraries/Image/ImageViewNativeComponent.js +175 -0
- package/Libraries/Image/NativeImageEditor.js +13 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +13 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +13 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +13 -0
- package/Libraries/Image/NativeImageStoreIOS.js +13 -0
- package/Libraries/Image/RCTAnimatedImage.h +21 -0
- package/Libraries/Image/RCTAnimatedImage.mm +175 -0
- package/Libraries/Image/RCTBundleAssetImageLoader.h +12 -0
- package/Libraries/Image/RCTBundleAssetImageLoader.mm +83 -0
- package/Libraries/Image/RCTDisplayWeakRefreshable.h +23 -0
- package/Libraries/Image/RCTDisplayWeakRefreshable.mm +31 -0
- package/Libraries/Image/RCTGIFImageDecoder.h +12 -0
- package/Libraries/Image/RCTGIFImageDecoder.mm +63 -0
- package/Libraries/Image/RCTImageBlurUtils.h +13 -0
- package/Libraries/Image/RCTImageBlurUtils.mm +100 -0
- package/Libraries/Image/RCTImageCache.h +45 -0
- package/Libraries/Image/RCTImageCache.mm +164 -0
- package/Libraries/Image/RCTImageDataDecoder.h +53 -0
- package/Libraries/Image/RCTImageEditingManager.h +12 -0
- package/Libraries/Image/RCTImageEditingManager.mm +113 -0
- package/Libraries/Image/RCTImageLoader.h +43 -0
- package/Libraries/Image/RCTImageLoader.mm +1302 -0
- package/Libraries/Image/RCTImageLoaderLoggable.h +32 -0
- package/Libraries/Image/RCTImageLoaderProtocol.h +135 -0
- package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +48 -0
- package/Libraries/Image/RCTImagePlugins.h +44 -0
- package/Libraries/Image/RCTImagePlugins.mm +37 -0
- package/Libraries/Image/RCTImageShadowView.h +12 -0
- package/Libraries/Image/RCTImageShadowView.mm +24 -0
- package/Libraries/Image/RCTImageStoreManager.h +55 -0
- package/Libraries/Image/RCTImageStoreManager.mm +296 -0
- package/Libraries/Image/RCTImageURLLoader.h +83 -0
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +78 -0
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +32 -0
- package/Libraries/Image/RCTImageUtils.h +94 -0
- package/Libraries/Image/RCTImageUtils.mm +389 -0
- package/Libraries/Image/RCTImageView.h +27 -0
- package/Libraries/Image/RCTImageView.mm +504 -0
- package/Libraries/Image/RCTImageViewManager.h +12 -0
- package/Libraries/Image/RCTImageViewManager.mm +116 -0
- package/Libraries/Image/RCTLocalAssetImageLoader.h +13 -0
- package/Libraries/Image/RCTLocalAssetImageLoader.mm +83 -0
- package/Libraries/Image/RCTResizeMode.h +53 -0
- package/Libraries/Image/RCTResizeMode.mm +25 -0
- package/Libraries/Image/RCTUIImageViewAnimated.h +13 -0
- package/Libraries/Image/RCTUIImageViewAnimated.mm +346 -0
- package/Libraries/Image/React-RCTImage.podspec +60 -0
- package/Libraries/Image/RelativeImageStub.js +28 -0
- package/Libraries/Image/TextInlineImageNativeComponent.js +51 -0
- package/Libraries/Image/nativeImageSource.js +64 -0
- package/Libraries/Image/resolveAssetSource.js +143 -0
- package/Libraries/Inspector/BorderBox.js +32 -0
- package/Libraries/Inspector/BoxInspector.js +109 -0
- package/Libraries/Inspector/ElementBox.js +143 -0
- package/Libraries/Inspector/ElementProperties.js +120 -0
- package/Libraries/Inspector/Inspector.js +206 -0
- package/Libraries/Inspector/InspectorOverlay.js +65 -0
- package/Libraries/Inspector/InspectorPanel.js +164 -0
- package/Libraries/Inspector/NetworkOverlay.js +611 -0
- package/Libraries/Inspector/PerformanceOverlay.js +63 -0
- package/Libraries/Inspector/ReactDevToolsOverlay.js +165 -0
- package/Libraries/Inspector/StyleInspector.js +70 -0
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +81 -0
- package/Libraries/Inspector/resolveBoxStyle.js +114 -0
- package/Libraries/Interaction/FrameRateLogger.js +72 -0
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +216 -0
- package/Libraries/Interaction/InteractionManagerStub.js +176 -0
- package/Libraries/Interaction/JSEventLoopWatchdog.js +88 -0
- package/Libraries/Interaction/NativeFrameRateLogger.js +13 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.js +579 -0
- package/Libraries/Interaction/TaskQueue.js +183 -0
- package/Libraries/Interaction/TouchHistoryMath.js +156 -0
- package/Libraries/JSInspector/InspectorAgent.js +27 -0
- package/Libraries/JSInspector/JSInspector.js +33 -0
- package/Libraries/JSInspector/NetworkAgent.js +295 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +200 -0
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +133 -0
- package/Libraries/Linking/NativeIntentAndroid.js +13 -0
- package/Libraries/Linking/NativeLinkingManager.js +13 -0
- package/Libraries/LinkingIOS/RCTLinkingManager.h +27 -0
- package/Libraries/LinkingIOS/RCTLinkingManager.mm +204 -0
- package/Libraries/LinkingIOS/RCTLinkingPlugins.h +40 -0
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +33 -0
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +56 -0
- package/Libraries/Lists/FillRateHelper.js +19 -0
- package/Libraries/Lists/FlatList.d.ts +244 -0
- package/Libraries/Lists/FlatList.js +717 -0
- package/Libraries/Lists/SectionList.d.ts +267 -0
- package/Libraries/Lists/SectionList.js +269 -0
- package/Libraries/Lists/SectionListModern.js +249 -0
- package/Libraries/Lists/ViewabilityHelper.js +24 -0
- package/Libraries/Lists/VirtualizeUtils.js +18 -0
- package/Libraries/Lists/VirtualizedList.js +23 -0
- package/Libraries/Lists/VirtualizedListContext.js +18 -0
- package/Libraries/Lists/VirtualizedSectionList.js +22 -0
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +118 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +134 -0
- package/Libraries/LogBox/Data/LogBoxData.js +511 -0
- package/Libraries/LogBox/Data/LogBoxLog.js +257 -0
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +65 -0
- package/Libraries/LogBox/Data/parseLogBoxLog.js +514 -0
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +291 -0
- package/Libraries/LogBox/LogBoxInspectorContainer.js +68 -0
- package/Libraries/LogBox/LogBoxNotificationContainer.js +105 -0
- package/Libraries/LogBox/UI/AnsiHighlight.js +121 -0
- package/Libraries/LogBox/UI/LogBoxButton.js +70 -0
- package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
- package/Libraries/LogBox/UI/LogBoxInspector.js +89 -0
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +164 -0
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +70 -0
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +108 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +125 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +188 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +58 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +133 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +114 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +221 -0
- package/Libraries/LogBox/UI/LogBoxMessage.js +169 -0
- package/Libraries/LogBox/UI/LogBoxNotification.js +83 -0
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
- package/Libraries/LogBox/UI/LogBoxStyle.js +65 -0
- package/Libraries/Modal/Modal.d.ts +116 -0
- package/Libraries/Modal/Modal.js +365 -0
- package/Libraries/Modal/ModalInjection.js +15 -0
- package/Libraries/Modal/NativeModalManager.js +13 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +13 -0
- package/Libraries/NativeAnimation/Drivers/RCTAnimationDriver.h +38 -0
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +12 -0
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.mm +125 -0
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +20 -0
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.mm +36 -0
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +12 -0
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.mm +151 -0
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +12 -0
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.mm +200 -0
- package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.h +12 -0
- package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.mm +25 -0
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +50 -0
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.mm +126 -0
- package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h +14 -0
- package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.mm +29 -0
- package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.h +12 -0
- package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.mm +64 -0
- package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.h +12 -0
- package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.mm +32 -0
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +26 -0
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +169 -0
- package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.h +12 -0
- package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.mm +22 -0
- package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.h +12 -0
- package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.mm +26 -0
- package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.h +14 -0
- package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm +66 -0
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.h +26 -0
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.mm +146 -0
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.h +14 -0
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm +62 -0
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +12 -0
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.mm +25 -0
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +12 -0
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm +47 -0
- package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.h +14 -0
- package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.mm +55 -0
- package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +30 -0
- package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.mm +60 -0
- package/Libraries/NativeAnimation/RCTAnimationPlugins.h +41 -0
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +34 -0
- package/Libraries/NativeAnimation/RCTAnimationUtils.h +46 -0
- package/Libraries/NativeAnimation/RCTAnimationUtils.mm +129 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +28 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +395 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +94 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +511 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +25 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +411 -0
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +56 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +423 -0
- package/Libraries/NativeComponent/BaseViewConfig.harmony.js +12 -326
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +423 -0
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +164 -0
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +30 -0
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +25 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +144 -0
- package/Libraries/NativeComponent/ViewConfig.js +52 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +55 -0
- package/Libraries/NativeComponent/delegates/BaseViewConfigIgnoreDelegate.ts +10 -0
- package/Libraries/NativeComponent/delegates/ViewConfigIgnoreDelegate.harmony.ts +13 -0
- package/Libraries/NativeComponent/delegates/ViewConfigIgnoreDelegate.ts +10 -0
- package/Libraries/NativeModules/specs/NativeDevMenu.js +13 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +13 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +13 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +13 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +13 -0
- package/Libraries/NativeModules/specs/NativeRedBox.js +13 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +13 -0
- package/Libraries/Network/FormData.js +108 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +13 -0
- package/Libraries/Network/NativeNetworkingIOS.js +13 -0
- package/Libraries/Network/RCTDataRequestHandler.h +16 -0
- package/Libraries/Network/RCTDataRequestHandler.mm +86 -0
- package/Libraries/Network/RCTFileRequestHandler.h +16 -0
- package/Libraries/Network/RCTFileRequestHandler.mm +100 -0
- package/Libraries/Network/RCTHTTPRequestHandler.h +22 -0
- package/Libraries/Network/RCTHTTPRequestHandler.mm +195 -0
- package/Libraries/Network/RCTNetworkPlugins.h +43 -0
- package/Libraries/Network/RCTNetworkPlugins.mm +36 -0
- package/Libraries/Network/RCTNetworkTask.h +47 -0
- package/Libraries/Network/RCTNetworkTask.mm +228 -0
- package/Libraries/Network/RCTNetworking.android.js +95 -0
- package/Libraries/Network/RCTNetworking.h +86 -0
- package/Libraries/Network/RCTNetworking.ios.js +112 -0
- package/Libraries/Network/RCTNetworking.js.flow +89 -0
- package/Libraries/Network/RCTNetworking.mm +823 -0
- package/Libraries/Network/React-RCTNetwork.podspec +56 -0
- package/Libraries/Network/XHRInterceptor.js +214 -0
- package/Libraries/Network/XMLHttpRequest.js +698 -0
- package/Libraries/Network/convertRequestBody.js +43 -0
- package/Libraries/Network/fetch.js +19 -0
- package/Libraries/NewAppScreen/components/Colors.js +19 -0
- package/Libraries/NewAppScreen/components/DebugInstructions.js +41 -0
- package/Libraries/NewAppScreen/components/Header.js +77 -0
- package/Libraries/NewAppScreen/components/HermesBadge.js +53 -0
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +148 -0
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +39 -0
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +25 -0
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +13 -0
- package/Libraries/Performance/SamplingProfiler.js +39 -0
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +139 -0
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +13 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +163 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +299 -0
- package/Libraries/Pressability/HoverState.js +58 -0
- package/Libraries/Pressability/Pressability.js +954 -0
- package/Libraries/Pressability/PressabilityDebug.js +85 -0
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
- package/Libraries/Pressability/PressabilityTypes.js +18 -0
- package/Libraries/Pressability/usePressability.js +60 -0
- package/Libraries/Promise.js +23 -0
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +13 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +569 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +48 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +590 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.h +40 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +33 -0
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +56 -0
- package/Libraries/ReactNative/AppContainer-dev.js +208 -0
- package/Libraries/ReactNative/AppContainer-prod.js +50 -0
- package/Libraries/ReactNative/AppContainer.js +31 -0
- package/Libraries/ReactNative/AppRegistry.d.ts +121 -0
- package/Libraries/ReactNative/AppRegistry.js +360 -0
- package/Libraries/ReactNative/BridgelessUIManager.js +430 -0
- package/Libraries/ReactNative/DisplayMode.js +32 -0
- package/Libraries/ReactNative/FabricUIManager.js +145 -0
- package/Libraries/ReactNative/HeadlessJsTaskError.js +11 -0
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/{I18nManager.harmony.js → I18nManager.js} +11 -25
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +13 -0
- package/Libraries/ReactNative/NativeI18nManager.js +13 -0
- package/Libraries/ReactNative/NativeUIManager.js +13 -0
- package/Libraries/ReactNative/PaperUIManager.js +191 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +150 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +100 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +33 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +31 -0
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
- package/Libraries/ReactNative/RendererImplementation.js +164 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.d.ts +13 -0
- package/Libraries/ReactNative/RootTag.js +27 -0
- package/Libraries/ReactNative/UIManager.d.ts +113 -0
- package/Libraries/ReactNative/{UIManager.harmony.js → UIManager.js} +16 -33
- package/Libraries/ReactNative/UIManagerProperties.js +61 -0
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +334 -0
- package/Libraries/ReactNative/delegates/BaseBridgelessUIManagerDelegate.ts +14 -0
- package/Libraries/ReactNative/delegates/BaseI18nManagerDelegate.ts +18 -0
- package/Libraries/ReactNative/delegates/BridgelessUIManagerDelegate.harmony.ts +14 -0
- package/Libraries/ReactNative/delegates/BridgelessUIManagerDelegate.ts +11 -0
- package/Libraries/ReactNative/delegates/I18nManagerDelegate.harmony.ts +22 -0
- package/Libraries/ReactNative/delegates/I18nManagerDelegate.ts +24 -0
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +33 -0
- package/Libraries/ReactNative/getNativeComponentAttributes.js +212 -0
- package/Libraries/ReactNative/renderApplication.js +108 -0
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +35 -0
- package/Libraries/ReactPrivate/README +1 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +11 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +116 -0
- package/Libraries/Renderer/README.md +22 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +27376 -0
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +9152 -0
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +9642 -0
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27830 -0
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9379 -0
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +9896 -0
- package/Libraries/Renderer/shims/ReactFabric.js +33 -0
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +19 -0
- package/Libraries/Renderer/shims/ReactNative.js +24 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +320 -0
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +123 -0
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +35 -0
- package/Libraries/Required/RCTRequired.h +90 -0
- package/Libraries/Required/RCTRequired.podspec +30 -0
- package/Libraries/Settings/NativeSettingsManager.js +13 -0
- package/Libraries/Settings/RCTSettingsManager.h +16 -0
- package/Libraries/Settings/RCTSettingsManager.mm +123 -0
- package/Libraries/Settings/RCTSettingsPlugins.h +40 -0
- package/Libraries/Settings/RCTSettingsPlugins.mm +33 -0
- package/Libraries/Settings/React-RCTSettings.podspec +56 -0
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Settings/Settings.harmony.ts +20 -0
- package/Libraries/Settings/Settings.ios.js +81 -0
- package/Libraries/Settings/Settings.js +33 -0
- package/Libraries/Share/NativeShareModule.js +13 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/{Share.harmony.js → Share.js} +32 -30
- package/Libraries/Share/delegates/BaseShareDelegate.ts +21 -0
- package/Libraries/Share/delegates/ShareDelegate.harmony.ts +42 -0
- package/Libraries/Share/delegates/ShareDelegate.ts +20 -0
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +18 -0
- package/Libraries/StyleSheet/NativePlatformColor.harmony.ts +15 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +40 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.harmony.ts +8 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +113 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +29 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +22 -0
- package/Libraries/StyleSheet/PointPropType.js +17 -0
- package/Libraries/StyleSheet/Rect.js +26 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
- package/Libraries/StyleSheet/StyleSheet.js +356 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +573 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +1004 -0
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +58 -0
- package/Libraries/StyleSheet/flattenStyle.js +46 -0
- package/Libraries/StyleSheet/normalizeColor.js +34 -0
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +69 -0
- package/Libraries/StyleSheet/processAspectRatio.js +63 -0
- package/Libraries/StyleSheet/processBackgroundImage.js +361 -0
- package/Libraries/StyleSheet/processBoxShadow.js +209 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +59 -0
- package/Libraries/StyleSheet/processColorArray.js +35 -0
- package/Libraries/StyleSheet/processFilter.js +321 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +263 -0
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +31 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +72 -0
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +29 -0
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +158 -0
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +16 -0
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +60 -0
- package/Libraries/Text/RCTConvert+Text.h +23 -0
- package/Libraries/Text/RCTConvert+Text.mm +44 -0
- package/Libraries/Text/RCTTextAttributes.h +100 -0
- package/Libraries/Text/RCTTextAttributes.mm +354 -0
- package/Libraries/Text/RCTTextTransform.h +16 -0
- package/Libraries/Text/RawText/RCTRawTextShadowView.h +18 -0
- package/Libraries/Text/RawText/RCTRawTextShadowView.mm +34 -0
- package/Libraries/Text/RawText/RCTRawTextViewManager.h +16 -0
- package/Libraries/Text/RawText/RCTRawTextViewManager.mm +28 -0
- package/Libraries/Text/React-RCTText.podspec +37 -0
- package/Libraries/Text/Text/NSTextStorage+FontScaling.h +20 -0
- package/Libraries/Text/Text/NSTextStorage+FontScaling.m +122 -0
- package/Libraries/Text/Text/RCTDynamicTypeRamp.h +37 -0
- package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +82 -0
- package/Libraries/Text/Text/RCTTextShadowView.h +28 -0
- package/Libraries/Text/Text/RCTTextShadowView.mm +466 -0
- package/Libraries/Text/Text/RCTTextView.h +29 -0
- package/Libraries/Text/Text/RCTTextView.mm +294 -0
- package/Libraries/Text/Text/RCTTextViewManager.h +14 -0
- package/Libraries/Text/Text/RCTTextViewManager.mm +93 -0
- package/Libraries/Text/Text.d.ts +219 -0
- package/Libraries/Text/Text.js +537 -0
- package/Libraries/Text/TextAncestor.js +23 -0
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +16 -0
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +63 -0
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +16 -0
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +24 -0
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +44 -0
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +338 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +46 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +36 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +307 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +57 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +25 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +364 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.h +63 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +817 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +12 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +178 -0
- package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +12 -0
- package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +20 -0
- package/Libraries/Text/TextInput/RCTInputAccessoryView.h +17 -0
- package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +78 -0
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +12 -0
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +74 -0
- package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +12 -0
- package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +29 -0
- package/Libraries/Text/TextInput/RCTTextSelection.h +26 -0
- package/Libraries/Text/TextInput/RCTTextSelection.mm +36 -0
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +16 -0
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +39 -0
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +16 -0
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +31 -0
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +40 -0
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +255 -0
- package/Libraries/Text/TextNativeComponent.js +82 -0
- package/Libraries/Text/TextProps.js +268 -0
- package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +12 -0
- package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +38 -0
- package/Libraries/Text/VirtualText/RCTVirtualTextView.h +23 -0
- package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +12 -0
- package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +12 -0
- package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +26 -0
- package/Libraries/TurboModule/RCTExport.d.ts +12 -0
- package/Libraries/TurboModule/RCTExport.js +38 -0
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +53 -0
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +13 -0
- package/Libraries/TypeSafety/RCTConvertHelpers.h +83 -0
- package/Libraries/TypeSafety/RCTConvertHelpers.mm +51 -0
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +39 -0
- package/Libraries/TypeSafety/RCTTypedModuleConstants.h +47 -0
- package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +50 -0
- package/Libraries/Types/CodegenTypes.js +47 -0
- package/Libraries/Types/CoreEventTypes.d.ts +259 -0
- package/Libraries/Types/CoreEventTypes.js +291 -0
- package/Libraries/Types/ReactDevToolsTypes.js +58 -0
- package/Libraries/Types/RootTagTypes.js +11 -0
- package/Libraries/Types/UIManagerJSInterface.js +16 -0
- package/Libraries/UTFSequence.js +56 -0
- package/Libraries/Utilities/Appearance.d.ts +53 -0
- package/Libraries/Utilities/Appearance.js +133 -0
- package/Libraries/Utilities/{BackHandler.harmony.js → BackHandler.android.js} +8 -22
- package/Libraries/Utilities/BackHandler.d.ts +34 -0
- package/Libraries/Utilities/BackHandler.harmony.ts +10 -0
- package/Libraries/Utilities/BackHandler.ios.js +34 -0
- package/Libraries/Utilities/BackHandler.js.flow +23 -0
- package/Libraries/Utilities/DebugEnvironment.js +16 -0
- package/Libraries/Utilities/DevLoadingView.js +64 -0
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +72 -0
- package/Libraries/Utilities/DeviceInfo.js +13 -0
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +123 -0
- package/Libraries/Utilities/FeatureDetection.js +31 -0
- package/Libraries/Utilities/GlobalPerformanceLogger.js +24 -0
- package/Libraries/Utilities/HMRClient.js +362 -0
- package/Libraries/Utilities/HMRClientProdShim.js +30 -0
- package/Libraries/Utilities/IPerformanceLogger.d.ts +48 -0
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/NativeAppearance.js +13 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +13 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +13 -0
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +13 -0
- package/Libraries/Utilities/NativePlatformConstantsHarmony.harmony.ts +17 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +13 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +33 -0
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/PixelRatio.js +127 -0
- package/Libraries/Utilities/Platform.android.js +87 -0
- package/Libraries/Utilities/Platform.d.ts +21 -11
- package/Libraries/Utilities/Platform.flow.js +91 -0
- package/Libraries/Utilities/Platform.harmony.ts +38 -13
- package/Libraries/Utilities/Platform.ios.js +88 -0
- package/Libraries/Utilities/Platform.js.flow +13 -0
- package/Libraries/Utilities/PolyfillFunctions.js +56 -0
- package/Libraries/Utilities/RCTLog.js +56 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +225 -0
- package/Libraries/Utilities/SceneTracker.js +42 -0
- package/Libraries/Utilities/__mocks__/BackHandler.js +45 -0
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +16 -0
- package/Libraries/Utilities/__mocks__/PixelRatio.js +25 -0
- package/Libraries/Utilities/binaryToBase64.js +31 -0
- package/Libraries/Utilities/codegenNativeCommands.js +31 -0
- package/Libraries/Utilities/codegenNativeComponent.js +73 -0
- package/Libraries/Utilities/{createPerformanceLogger.harmony.js → createPerformanceLogger.js} +12 -50
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +90 -0
- package/Libraries/Utilities/defineLazyObjectProperty.js +66 -0
- package/Libraries/Utilities/differ/deepDiffer.js +101 -0
- package/Libraries/Utilities/differ/insetsDiffer.js +40 -0
- package/Libraries/Utilities/differ/matricesDiffer.js +51 -0
- package/Libraries/Utilities/differ/pointsDiffer.js +27 -0
- package/Libraries/Utilities/differ/sizesDiffer.js +26 -0
- package/Libraries/Utilities/dismissKeyboard.js +21 -0
- package/Libraries/Utilities/infoLog.js +20 -0
- package/Libraries/Utilities/logError.js +27 -0
- package/Libraries/Utilities/mapWithSeparator.js +28 -0
- package/Libraries/Utilities/stringifySafe.js +121 -0
- package/Libraries/Utilities/stringifyViewConfig.js +22 -0
- package/Libraries/Utilities/useColorScheme.js +25 -0
- package/Libraries/Utilities/useMergeRefs.js +59 -0
- package/Libraries/Utilities/useRefEffect.js +45 -0
- package/Libraries/Utilities/useWindowDimensions.js +47 -0
- package/Libraries/Utilities/warnOnce.js +32 -0
- package/Libraries/Vibration/NativeVibration.js +13 -0
- package/Libraries/Vibration/RCTVibration.h +12 -0
- package/Libraries/Vibration/RCTVibration.mm +54 -0
- package/Libraries/Vibration/RCTVibrationPlugins.h +40 -0
- package/Libraries/Vibration/RCTVibrationPlugins.mm +33 -0
- package/Libraries/Vibration/React-RCTVibration.podspec +56 -0
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +115 -0
- package/Libraries/Vibration/delegates/BaseVibrationDelegate.ts +11 -0
- package/Libraries/Vibration/delegates/VibrationDelegate.harmony.ts +14 -0
- package/Libraries/Vibration/delegates/VibrationDelegate.ts +11 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +13 -0
- package/Libraries/WebSocket/RCTReconnectingWebSocket.h +37 -0
- package/Libraries/WebSocket/RCTReconnectingWebSocket.m +109 -0
- package/Libraries/WebSocket/WebSocket.js +297 -0
- package/Libraries/WebSocket/WebSocketEvent.js +30 -0
- package/Libraries/WebSocket/WebSocketInterceptor.js +247 -0
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +27 -0
- package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +16 -0
- package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +53 -0
- package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +16 -0
- package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +23 -0
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +20 -0
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +46 -0
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +18 -0
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +31 -0
- package/Libraries/Wrapper/RCTWrapper.h +68 -0
- package/Libraries/Wrapper/RCTWrapperShadowView.h +22 -0
- package/Libraries/Wrapper/RCTWrapperShadowView.m +134 -0
- package/Libraries/Wrapper/RCTWrapperView.h +36 -0
- package/Libraries/Wrapper/RCTWrapperView.m +95 -0
- package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +25 -0
- package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +133 -0
- package/Libraries/Wrapper/RCTWrapperViewManager.h +20 -0
- package/Libraries/Wrapper/RCTWrapperViewManager.m +27 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +75 -0
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +32 -0
- package/Libraries/promiseRejectionTrackingOptions.js +72 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/core/ErrorUtils.js +25 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/Libraries/vendor/emitter/EventEmitter.js +158 -0
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
- package/NOTICE.md +846 -0
- package/README.md +2 -2
- package/delegates/DelegateError.ts +10 -0
- package/index.js +53 -63
- package/jest.config.js +0 -7
- package/metro.config.d.ts +17 -0
- package/metro.config.js +398 -115
- package/package.json +58 -37
- package/react-native.config.js +57 -9
- package/react_native_openharmony.har +0 -0
- package/src/private/animated/NativeAnimatedHelper.js +440 -0
- package/src/private/animated/NativeAnimatedValidation.js +64 -0
- package/src/private/animated/useAnimatedPropsMemo.js +356 -0
- package/src/private/components/HScrollViewNativeComponents.js +30 -0
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +32 -0
- package/src/private/components/VScrollViewNativeComponents.js +25 -0
- package/src/private/debugging/FuseboxSessionObserver.js +42 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.js.flow +16 -0
- package/src/private/debugging/setUpFuseboxReactDevToolsDispatcher.js +114 -0
- package/src/private/devmenu/DevMenu.d.ts +20 -0
- package/src/private/devmenu/DevMenu.js +31 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +369 -0
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +109 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +78 -0
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/renderer/errorhandling/ErrorHandlers.js +126 -0
- package/src/private/setup/setUpDOM.js +36 -0
- package/src/private/setup/setUpIntersectionObserver.js +27 -0
- package/src/private/setup/setUpMutationObserver.js +31 -0
- package/src/private/setup/setUpPerformanceObserver.js +64 -0
- package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
- package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +27 -0
- package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
- package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
- package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
- package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
- package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
- package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +147 -0
- package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
- package/src/private/specs/components/SwitchNativeComponent.js +61 -0
- package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +42 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +70 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +56 -0
- package/src/private/specs/modules/NativeAlertManager.js +35 -0
- package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
- package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
- package/src/private/specs/modules/NativeAppState.js +33 -0
- package/src/private/specs/modules/NativeAppearance.js +30 -0
- package/src/private/specs/modules/NativeBlobModule.js +61 -0
- package/src/private/specs/modules/NativeBugReporting.js +20 -0
- package/src/private/specs/modules/NativeClipboard.js +21 -0
- package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
- package/src/private/specs/modules/NativeDevMenu.js +23 -0
- package/src/private/specs/modules/NativeDevSettings.js +34 -0
- package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
- package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
- package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
- package/src/private/specs/modules/NativeExceptionsManager.js +91 -0
- package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
- package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
- package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
- package/src/private/specs/modules/NativeI18nManager.js +28 -0
- package/src/private/specs/modules/NativeImageEditor.js +52 -0
- package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
- package/{Libraries/Components/Image/NativeImageLoaderHarmony.js → src/private/specs/modules/NativeImageLoaderIOS.js} +4 -5
- package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
- package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
- package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
- package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
- package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
- package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
- package/src/private/specs/modules/NativeLinkingManager.js +27 -0
- package/src/private/specs/modules/NativeLogBox.js +20 -0
- package/src/private/specs/modules/NativeModalManager.js +21 -0
- package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
- package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
- package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
- package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
- package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
- package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
- package/src/private/specs/modules/NativeReactDevToolsSettingsManager.js +22 -0
- package/src/private/specs/modules/NativeRedBox.js +20 -0
- package/src/private/specs/modules/NativeSampleTurboModule.js +66 -0
- package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
- package/src/private/specs/modules/NativeSettingsManager.js +25 -0
- package/src/private/specs/modules/NativeShareModule.js +23 -0
- package/src/private/specs/modules/NativeSoundManager.js +22 -0
- package/src/private/specs/modules/NativeSourceCode.js +36 -0
- package/{Libraries/Components/StatusBar/NativeStatusBarManagerHarmony.js → src/private/specs/modules/NativeStatusBarManagerAndroid.js} +10 -13
- package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
- package/src/private/specs/modules/NativeTiming.js +26 -0
- package/src/private/specs/modules/NativeToastAndroid.js +38 -0
- package/src/private/specs/modules/NativeUIManager.js +111 -0
- package/src/private/specs/modules/NativeVibration.js +24 -0
- package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
- package/src/private/styles/composeStyles.js +27 -0
- package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +188 -0
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +71 -0
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +359 -0
- package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
- package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
- package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
- package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
- package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
- package/src/private/webapis/dom/oldstylecollections/DOMRectList.js.flow +27 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +27 -0
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
- package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +31 -0
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +345 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +167 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +277 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +42 -0
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +181 -0
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +186 -0
- package/src/private/webapis/mutationobserver/MutationObserverManager.js +227 -0
- package/src/private/webapis/mutationobserver/MutationRecord.js +82 -0
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +58 -0
- package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +327 -0
- package/src/private/webapis/performance/EventTiming.js +145 -0
- package/src/private/webapis/performance/LongTasks.js +39 -0
- package/src/private/webapis/performance/MemoryInfo.js +54 -0
- package/src/private/webapis/performance/Performance.js +299 -0
- package/src/private/webapis/performance/PerformanceEntry.js +68 -0
- package/src/private/webapis/performance/PerformanceObserver.js +232 -0
- package/src/private/webapis/performance/RawPerformanceEntry.js +105 -0
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
- package/src/private/webapis/performance/UserTiming.js +72 -0
- package/src/private/webapis/performance/Utilities.js +18 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +103 -0
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
- package/tsconfig.json +10 -4
- package/types/index.d.ts +204 -97
- package/types/index.harmony.d.ts +99 -0
- package/types/modules/BatchedBridge.d.ts +32 -0
- package/types/modules/Codegen.d.ts +80 -0
- package/types/modules/Devtools.d.ts +32 -0
- package/types/modules/LaunchScreen.d.ts +18 -0
- package/types/modules/globals.d.ts +599 -0
- package/types/private/TimerMixin.d.ts +19 -0
- package/types/private/Utilities.d.ts +10 -0
- package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
- package/types/public/Insets.d.ts +15 -0
- package/types/public/ReactNativeRenderer.d.ts +144 -0
- package/types/public/ReactNativeTypes.d.ts +139 -0
- package/types/tsconfig.json +15 -0
- package/types/tslint.json +24 -0
- package/Libraries/Alert/Alert.harmony.js +0 -77
- package/Libraries/Animated/NativeAnimatedHelper.harmony.js +0 -601
- package/Libraries/Components/Image/Image.flow.harmony.js +0 -53
- package/Libraries/Components/Image/Image.harmony.js +0 -317
- package/Libraries/Components/TextInput/TextInputState.harmony.js +0 -220
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.harmony.js +0 -227
- package/Libraries/Core/setUpReactDevTools.harmony.js +0 -93
- package/Libraries/Settings/Settings.harmony.js +0 -15
- package/Libraries/StyleSheet/NativePlatformColor.ts +0 -8
- package/Libraries/Utilities/NativePlatformConstants.harmony.ts +0 -8
- package/Libraries/Vibration/Vibration.harmony.js +0 -88
- package/harmony/.keep +0 -0
- package/harmony/rnoh-hvigor-plugin-0.2.0.tgz +0 -0
- package/react_native_openharmony_release.har +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
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
|
+
|
|
8
|
+
#import <UIKit/UIKit.h>
|
|
9
|
+
|
|
10
|
+
#import <React/RCTBridge.h>
|
|
11
|
+
#import <React/RCTResizeMode.h>
|
|
12
|
+
|
|
13
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
14
|
+
|
|
15
|
+
typedef void (^RCTImageLoaderProgressBlock)(int64_t progress, int64_t total);
|
|
16
|
+
typedef void (^RCTImageLoaderPartialLoadBlock)(UIImage *image);
|
|
17
|
+
typedef void (^RCTImageLoaderCompletionBlock)(NSError *_Nullable error, UIImage *_Nullable image);
|
|
18
|
+
// Metadata is passed as a id in an additional parameter because there are forks of RN without this parameter,
|
|
19
|
+
// and the complexity of RCTImageLoader would make using protocols here difficult to typecheck.
|
|
20
|
+
typedef void (^RCTImageLoaderCompletionBlockWithMetadata)(
|
|
21
|
+
NSError *_Nullable error,
|
|
22
|
+
UIImage *_Nullable image,
|
|
23
|
+
id _Nullable metadata);
|
|
24
|
+
typedef dispatch_block_t RCTImageLoaderCancellationBlock;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Provides the interface needed to register an image loader. Image data
|
|
28
|
+
* loaders are also bridge modules, so should be registered using
|
|
29
|
+
* RCT_EXPORT_MODULE().
|
|
30
|
+
*/
|
|
31
|
+
@protocol RCTImageURLLoader <RCTBridgeModule>
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Indicates whether this data loader is capable of processing the specified
|
|
35
|
+
* request URL. Typically the handler would examine the scheme/protocol of the
|
|
36
|
+
* URL to determine this.
|
|
37
|
+
*/
|
|
38
|
+
- (BOOL)canLoadImageURL:(NSURL *)requestURL;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Send a network request to load the request URL. The method should call the
|
|
42
|
+
* progressHandler (if applicable) and the completionHandler when the request
|
|
43
|
+
* has finished. The method should also return a cancellation block, if
|
|
44
|
+
* applicable.
|
|
45
|
+
*/
|
|
46
|
+
- (nullable RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL
|
|
47
|
+
size:(CGSize)size
|
|
48
|
+
scale:(CGFloat)scale
|
|
49
|
+
resizeMode:(RCTResizeMode)resizeMode
|
|
50
|
+
progressHandler:(RCTImageLoaderProgressBlock)progressHandler
|
|
51
|
+
partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler
|
|
52
|
+
completionHandler:(RCTImageLoaderCompletionBlock)completionHandler;
|
|
53
|
+
|
|
54
|
+
@optional
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* If more than one RCTImageURLLoader responds YES to `-canLoadImageURL:`
|
|
58
|
+
* then `loaderPriority` is used to determine which one to use. The loader
|
|
59
|
+
* with the highest priority will be selected. Default priority is zero. If
|
|
60
|
+
* two or more valid loaders have the same priority, the selection order is
|
|
61
|
+
* undefined.
|
|
62
|
+
*/
|
|
63
|
+
- (float)loaderPriority;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* If the loader must be called on the serial url cache queue, and whether the completion
|
|
67
|
+
* block should be dispatched off the main thread. If this is NO, the loader will be
|
|
68
|
+
* called from the main queue. Defaults to YES.
|
|
69
|
+
*
|
|
70
|
+
* Use with care: disabling scheduling will reduce RCTImageLoader's ability to throttle
|
|
71
|
+
* network requests.
|
|
72
|
+
*/
|
|
73
|
+
- (BOOL)requiresScheduling;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* If images loaded by the loader should be cached in the decoded image cache.
|
|
77
|
+
* Defaults to YES.
|
|
78
|
+
*/
|
|
79
|
+
- (BOOL)shouldCacheLoadedImages;
|
|
80
|
+
|
|
81
|
+
@end
|
|
82
|
+
|
|
83
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
|
|
8
|
+
#import <React/RCTImageLoaderLoggable.h>
|
|
9
|
+
#import <React/RCTImageLoaderProtocol.h>
|
|
10
|
+
#import <React/RCTImageURLLoader.h>
|
|
11
|
+
|
|
12
|
+
// TODO (T61325135): Remove C++ checks
|
|
13
|
+
#ifdef __cplusplus
|
|
14
|
+
namespace facebook::react {
|
|
15
|
+
|
|
16
|
+
struct ImageURLLoaderAttribution {
|
|
17
|
+
int32_t nativeViewTag = 0;
|
|
18
|
+
int32_t surfaceId = 0;
|
|
19
|
+
std::string queryRootName;
|
|
20
|
+
NSString *analyticTag;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
} // namespace facebook::react
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
@interface RCTImageURLLoaderRequest : NSObject
|
|
27
|
+
|
|
28
|
+
@property (nonatomic, strong, readonly) NSString *requestId;
|
|
29
|
+
@property (nonatomic, strong, readonly) NSURL *imageURL;
|
|
30
|
+
@property (nonatomic, copy, readonly) RCTImageLoaderCancellationBlock cancellationBlock;
|
|
31
|
+
|
|
32
|
+
- (instancetype)initWithRequestId:(NSString *)requestId
|
|
33
|
+
imageURL:(NSURL *)imageURL
|
|
34
|
+
cancellationBlock:(RCTImageLoaderCancellationBlock)cancellationBlock;
|
|
35
|
+
- (void)cancel;
|
|
36
|
+
|
|
37
|
+
@end
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Same as the RCTImageURLLoader interface, but allows passing in optional `attribution` information.
|
|
41
|
+
* This is useful for per-app logging and other instrumentation.
|
|
42
|
+
*/
|
|
43
|
+
@protocol RCTImageURLLoaderWithAttribution <RCTImageURLLoader, RCTImageLoaderLoggable>
|
|
44
|
+
|
|
45
|
+
// TODO (T61325135): Remove C++ checks
|
|
46
|
+
#ifdef __cplusplus
|
|
47
|
+
/**
|
|
48
|
+
* Same as the RCTImageURLLoader variant above, but allows optional `attribution` information.
|
|
49
|
+
* Caller may also specify a preferred requestId for tracking purpose.
|
|
50
|
+
*/
|
|
51
|
+
- (RCTImageURLLoaderRequest *)loadImageForURL:(NSURL *)imageURL
|
|
52
|
+
size:(CGSize)size
|
|
53
|
+
scale:(CGFloat)scale
|
|
54
|
+
resizeMode:(RCTResizeMode)resizeMode
|
|
55
|
+
requestId:(NSString *)requestId
|
|
56
|
+
priority:(RCTImageLoaderPriority)priority
|
|
57
|
+
attribution:(const facebook::react::ImageURLLoaderAttribution &)attribution
|
|
58
|
+
progressHandler:(RCTImageLoaderProgressBlock)progressHandler
|
|
59
|
+
partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler
|
|
60
|
+
completionHandler:(RCTImageLoaderCompletionBlockWithMetadata)completionHandler;
|
|
61
|
+
#endif
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Image instrumentation - start tracking the on-screen visibility of the native image view.
|
|
65
|
+
*/
|
|
66
|
+
- (void)trackURLImageVisibilityForRequest:(RCTImageURLLoaderRequest *)loaderRequest imageView:(UIView *)imageView;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Image instrumentation - notify that the request was destroyed.
|
|
70
|
+
*/
|
|
71
|
+
- (void)trackURLImageRequestDidDestroy:(RCTImageURLLoaderRequest *)loaderRequest;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Image instrumentation - notify that the native image view was destroyed.
|
|
75
|
+
*/
|
|
76
|
+
- (void)trackURLImageDidDestroy:(RCTImageURLLoaderRequest *)loaderRequest;
|
|
77
|
+
|
|
78
|
+
@end
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
|
|
8
|
+
#import "RCTImageURLLoaderWithAttribution.h"
|
|
9
|
+
|
|
10
|
+
@implementation RCTImageURLLoaderRequest
|
|
11
|
+
|
|
12
|
+
- (instancetype)initWithRequestId:(NSString *)requestId
|
|
13
|
+
imageURL:(NSURL *)imageURL
|
|
14
|
+
cancellationBlock:(RCTImageLoaderCancellationBlock)cancellationBlock
|
|
15
|
+
{
|
|
16
|
+
if (self = [super init]) {
|
|
17
|
+
_requestId = requestId;
|
|
18
|
+
_imageURL = imageURL;
|
|
19
|
+
_cancellationBlock = cancellationBlock;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return self;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
- (void)cancel
|
|
26
|
+
{
|
|
27
|
+
if (_cancellationBlock) {
|
|
28
|
+
_cancellationBlock();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@end
|
|
@@ -0,0 +1,94 @@
|
|
|
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
|
+
|
|
8
|
+
#import <UIKit/UIKit.h>
|
|
9
|
+
|
|
10
|
+
#import <React/RCTDefines.h>
|
|
11
|
+
#import <React/RCTResizeMode.h>
|
|
12
|
+
|
|
13
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* This function takes an source size (typically from an image), a target size
|
|
17
|
+
* and scale that it will be drawn at (typically in a CGContext) and then
|
|
18
|
+
* calculates the rectangle to draw the image into so that it will be sized and
|
|
19
|
+
* positioned correctly according to the specified resizeMode.
|
|
20
|
+
*/
|
|
21
|
+
RCT_EXTERN CGRect RCTTargetRect(CGSize sourceSize, CGSize destSize, CGFloat destScale, RCTResizeMode resizeMode);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* This function takes a source size (typically from an image), a target rect
|
|
25
|
+
* that it will be drawn into (typically relative to a CGContext), and works out
|
|
26
|
+
* the transform needed to draw the image at the correct scale and position.
|
|
27
|
+
*/
|
|
28
|
+
RCT_EXTERN CGAffineTransform RCTTransformFromTargetRect(CGSize sourceSize, CGRect targetRect);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* This function takes an input content size & scale (typically from an image),
|
|
32
|
+
* a target size & scale at which it will be displayed (typically in a
|
|
33
|
+
* UIImageView) and then calculates the optimal size at which to redraw the
|
|
34
|
+
* image so that it will be displayed correctly with the specified resizeMode.
|
|
35
|
+
*/
|
|
36
|
+
RCT_EXTERN CGSize RCTTargetSize(
|
|
37
|
+
CGSize sourceSize,
|
|
38
|
+
CGFloat sourceScale,
|
|
39
|
+
CGSize destSize,
|
|
40
|
+
CGFloat destScale,
|
|
41
|
+
RCTResizeMode resizeMode,
|
|
42
|
+
BOOL allowUpscaling);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* This function takes an input content size & scale (typically from an image),
|
|
46
|
+
* a target size & scale that it will be displayed at, and determines if the
|
|
47
|
+
* source will need to be upscaled to fit (which may result in pixelization).
|
|
48
|
+
*/
|
|
49
|
+
RCT_EXTERN BOOL RCTUpscalingRequired(
|
|
50
|
+
CGSize sourceSize,
|
|
51
|
+
CGFloat sourceScale,
|
|
52
|
+
CGSize destSize,
|
|
53
|
+
CGFloat destScale,
|
|
54
|
+
RCTResizeMode resizeMode);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* This function takes the source data for an image and decodes it at the
|
|
58
|
+
* specified size. If the original image is smaller than the destination size,
|
|
59
|
+
* the resultant image's scale will be decreased to compensate, so the
|
|
60
|
+
* width/height of the returned image is guaranteed to be >= destSize.
|
|
61
|
+
* Pass a destSize of CGSizeZero to decode the image at its original size.
|
|
62
|
+
*/
|
|
63
|
+
RCT_EXTERN UIImage *__nullable
|
|
64
|
+
RCTDecodeImageWithData(NSData *data, CGSize destSize, CGFloat destScale, RCTResizeMode resizeMode);
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* This function takes the source data for an image and decodes just the
|
|
68
|
+
* metadata, without decompressing the image itself.
|
|
69
|
+
*/
|
|
70
|
+
RCT_EXTERN NSDictionary<NSString *, id> *__nullable RCTGetImageMetadata(NSData *data);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Convert an image back into data. Images with an alpha channel will be
|
|
74
|
+
* converted to lossless PNG data. Images without alpha will be converted to
|
|
75
|
+
* JPEG. The `quality` argument controls the compression ratio of the JPEG
|
|
76
|
+
* conversion, with 1.0 being maximum quality. It has no effect for images
|
|
77
|
+
* using PNG compression.
|
|
78
|
+
*/
|
|
79
|
+
RCT_EXTERN NSData *__nullable RCTGetImageData(UIImage *image, float quality);
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* This function transforms an image. `destSize` is the size of the final image,
|
|
83
|
+
* and `destScale` is its scale. The `transform` argument controls how the
|
|
84
|
+
* source image will be mapped to the destination image.
|
|
85
|
+
*/
|
|
86
|
+
RCT_EXTERN UIImage *__nullable
|
|
87
|
+
RCTTransformImage(UIImage *image, CGSize destSize, CGFloat destScale, CGAffineTransform transform);
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
* Return YES if image has an alpha component
|
|
91
|
+
*/
|
|
92
|
+
RCT_EXTERN BOOL RCTImageHasAlpha(CGImageRef image);
|
|
93
|
+
|
|
94
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,389 @@
|
|
|
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
|
+
|
|
8
|
+
#import <React/RCTImageUtils.h>
|
|
9
|
+
|
|
10
|
+
#import <tgmath.h>
|
|
11
|
+
|
|
12
|
+
#import <ImageIO/ImageIO.h>
|
|
13
|
+
#import <MobileCoreServices/UTCoreTypes.h>
|
|
14
|
+
|
|
15
|
+
#import <React/RCTLog.h>
|
|
16
|
+
#import <React/RCTUtils.h>
|
|
17
|
+
|
|
18
|
+
static CGFloat RCTCeilValue(CGFloat value, CGFloat scale)
|
|
19
|
+
{
|
|
20
|
+
return ceil(value * scale) / scale;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static CGFloat RCTFloorValue(CGFloat value, CGFloat scale)
|
|
24
|
+
{
|
|
25
|
+
return floor(value * scale) / scale;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static CGSize RCTCeilSize(CGSize size, CGFloat scale)
|
|
29
|
+
{
|
|
30
|
+
return (CGSize){RCTCeilValue(size.width, scale), RCTCeilValue(size.height, scale)};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static CGImagePropertyOrientation CGImagePropertyOrientationFromUIImageOrientation(UIImageOrientation imageOrientation)
|
|
34
|
+
{
|
|
35
|
+
// see https://stackoverflow.com/a/6699649/496389
|
|
36
|
+
switch (imageOrientation) {
|
|
37
|
+
case UIImageOrientationUp:
|
|
38
|
+
return kCGImagePropertyOrientationUp;
|
|
39
|
+
case UIImageOrientationDown:
|
|
40
|
+
return kCGImagePropertyOrientationDown;
|
|
41
|
+
case UIImageOrientationLeft:
|
|
42
|
+
return kCGImagePropertyOrientationLeft;
|
|
43
|
+
case UIImageOrientationRight:
|
|
44
|
+
return kCGImagePropertyOrientationRight;
|
|
45
|
+
case UIImageOrientationUpMirrored:
|
|
46
|
+
return kCGImagePropertyOrientationUpMirrored;
|
|
47
|
+
case UIImageOrientationDownMirrored:
|
|
48
|
+
return kCGImagePropertyOrientationDownMirrored;
|
|
49
|
+
case UIImageOrientationLeftMirrored:
|
|
50
|
+
return kCGImagePropertyOrientationLeftMirrored;
|
|
51
|
+
case UIImageOrientationRightMirrored:
|
|
52
|
+
return kCGImagePropertyOrientationRightMirrored;
|
|
53
|
+
default:
|
|
54
|
+
return kCGImagePropertyOrientationUp;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
CGRect RCTTargetRect(CGSize sourceSize, CGSize destSize, CGFloat destScale, RCTResizeMode resizeMode)
|
|
59
|
+
{
|
|
60
|
+
if (CGSizeEqualToSize(destSize, CGSizeZero)) {
|
|
61
|
+
// Assume we require the largest size available
|
|
62
|
+
return (CGRect){CGPointZero, sourceSize};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
CGFloat aspect = sourceSize.width / sourceSize.height;
|
|
66
|
+
// If only one dimension in destSize is non-zero (for example, an Image
|
|
67
|
+
// with `flex: 1` whose height is indeterminate), calculate the unknown
|
|
68
|
+
// dimension based on the aspect ratio of sourceSize
|
|
69
|
+
if (destSize.width == 0) {
|
|
70
|
+
destSize.width = destSize.height * aspect;
|
|
71
|
+
}
|
|
72
|
+
if (destSize.height == 0) {
|
|
73
|
+
destSize.height = destSize.width / aspect;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Calculate target aspect ratio if needed
|
|
77
|
+
CGFloat targetAspect = 0.0;
|
|
78
|
+
if (resizeMode != RCTResizeModeCenter && resizeMode != RCTResizeModeStretch) {
|
|
79
|
+
targetAspect = destSize.width / destSize.height;
|
|
80
|
+
if (aspect == targetAspect) {
|
|
81
|
+
resizeMode = RCTResizeModeStretch;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
switch (resizeMode) {
|
|
86
|
+
case RCTResizeModeStretch:
|
|
87
|
+
case RCTResizeModeRepeat:
|
|
88
|
+
case RCTResizeModeNone:
|
|
89
|
+
|
|
90
|
+
return (CGRect){CGPointZero, RCTCeilSize(destSize, destScale)};
|
|
91
|
+
|
|
92
|
+
case RCTResizeModeContain:
|
|
93
|
+
|
|
94
|
+
if (targetAspect <= aspect) { // target is taller than content
|
|
95
|
+
|
|
96
|
+
sourceSize.width = destSize.width;
|
|
97
|
+
sourceSize.height = sourceSize.width / aspect;
|
|
98
|
+
|
|
99
|
+
} else { // target is wider than content
|
|
100
|
+
|
|
101
|
+
sourceSize.height = destSize.height;
|
|
102
|
+
sourceSize.width = sourceSize.height * aspect;
|
|
103
|
+
}
|
|
104
|
+
return (CGRect){
|
|
105
|
+
{
|
|
106
|
+
RCTFloorValue((destSize.width - sourceSize.width) / 2, destScale),
|
|
107
|
+
RCTFloorValue((destSize.height - sourceSize.height) / 2, destScale),
|
|
108
|
+
},
|
|
109
|
+
RCTCeilSize(sourceSize, destScale)};
|
|
110
|
+
|
|
111
|
+
case RCTResizeModeCover:
|
|
112
|
+
|
|
113
|
+
if (targetAspect <= aspect) { // target is taller than content
|
|
114
|
+
|
|
115
|
+
sourceSize.height = destSize.height;
|
|
116
|
+
sourceSize.width = sourceSize.height * aspect;
|
|
117
|
+
destSize.width = destSize.height * targetAspect;
|
|
118
|
+
return (CGRect){
|
|
119
|
+
{RCTFloorValue((destSize.width - sourceSize.width) / 2, destScale), 0}, RCTCeilSize(sourceSize, destScale)};
|
|
120
|
+
|
|
121
|
+
} else { // target is wider than content
|
|
122
|
+
|
|
123
|
+
sourceSize.width = destSize.width;
|
|
124
|
+
sourceSize.height = sourceSize.width / aspect;
|
|
125
|
+
destSize.height = destSize.width / targetAspect;
|
|
126
|
+
return (CGRect){
|
|
127
|
+
{0, RCTFloorValue((destSize.height - sourceSize.height) / 2, destScale)},
|
|
128
|
+
RCTCeilSize(sourceSize, destScale)};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
case RCTResizeModeCenter:
|
|
132
|
+
|
|
133
|
+
// Make sure the image is not clipped by the target.
|
|
134
|
+
if (sourceSize.height > destSize.height) {
|
|
135
|
+
sourceSize.width = destSize.width;
|
|
136
|
+
sourceSize.height = sourceSize.width / aspect;
|
|
137
|
+
}
|
|
138
|
+
if (sourceSize.width > destSize.width) {
|
|
139
|
+
sourceSize.height = destSize.height;
|
|
140
|
+
sourceSize.width = sourceSize.height * aspect;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return (CGRect){
|
|
144
|
+
{
|
|
145
|
+
RCTFloorValue((destSize.width - sourceSize.width) / 2, destScale),
|
|
146
|
+
RCTFloorValue((destSize.height - sourceSize.height) / 2, destScale),
|
|
147
|
+
},
|
|
148
|
+
RCTCeilSize(sourceSize, destScale)};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
CGAffineTransform RCTTransformFromTargetRect(CGSize sourceSize, CGRect targetRect)
|
|
153
|
+
{
|
|
154
|
+
CGAffineTransform transform = CGAffineTransformIdentity;
|
|
155
|
+
transform = CGAffineTransformTranslate(transform, targetRect.origin.x, targetRect.origin.y);
|
|
156
|
+
transform = CGAffineTransformScale(
|
|
157
|
+
transform, targetRect.size.width / sourceSize.width, targetRect.size.height / sourceSize.height);
|
|
158
|
+
return transform;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
CGSize RCTTargetSize(
|
|
162
|
+
CGSize sourceSize,
|
|
163
|
+
CGFloat sourceScale,
|
|
164
|
+
CGSize destSize,
|
|
165
|
+
CGFloat destScale,
|
|
166
|
+
RCTResizeMode resizeMode,
|
|
167
|
+
BOOL allowUpscaling)
|
|
168
|
+
{
|
|
169
|
+
switch (resizeMode) {
|
|
170
|
+
case RCTResizeModeCenter:
|
|
171
|
+
|
|
172
|
+
return RCTTargetRect(sourceSize, destSize, destScale, resizeMode).size;
|
|
173
|
+
|
|
174
|
+
case RCTResizeModeStretch:
|
|
175
|
+
|
|
176
|
+
if (!allowUpscaling) {
|
|
177
|
+
CGFloat scale = sourceScale / destScale;
|
|
178
|
+
destSize.width = MIN(sourceSize.width * scale, destSize.width);
|
|
179
|
+
destSize.height = MIN(sourceSize.height * scale, destSize.height);
|
|
180
|
+
}
|
|
181
|
+
return RCTCeilSize(destSize, destScale);
|
|
182
|
+
|
|
183
|
+
default: {
|
|
184
|
+
// Get target size
|
|
185
|
+
CGSize size = RCTTargetRect(sourceSize, destSize, destScale, resizeMode).size;
|
|
186
|
+
if (!allowUpscaling) {
|
|
187
|
+
// return sourceSize if target size is larger
|
|
188
|
+
if (sourceSize.width * sourceScale < size.width * destScale) {
|
|
189
|
+
return sourceSize;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return size;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
BOOL RCTUpscalingRequired(
|
|
198
|
+
CGSize sourceSize,
|
|
199
|
+
CGFloat sourceScale,
|
|
200
|
+
CGSize destSize,
|
|
201
|
+
CGFloat destScale,
|
|
202
|
+
RCTResizeMode resizeMode)
|
|
203
|
+
{
|
|
204
|
+
if (CGSizeEqualToSize(destSize, CGSizeZero)) {
|
|
205
|
+
// Assume we require the largest size available
|
|
206
|
+
return YES;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// Precompensate for scale
|
|
210
|
+
CGFloat scale = sourceScale / destScale;
|
|
211
|
+
sourceSize.width *= scale;
|
|
212
|
+
sourceSize.height *= scale;
|
|
213
|
+
|
|
214
|
+
// Calculate aspect ratios if needed (don't bother if resizeMode == stretch)
|
|
215
|
+
CGFloat aspect = 0.0, targetAspect = 0.0;
|
|
216
|
+
if (resizeMode != RCTResizeModeStretch) {
|
|
217
|
+
aspect = sourceSize.width / sourceSize.height;
|
|
218
|
+
targetAspect = destSize.width / destSize.height;
|
|
219
|
+
if (aspect == targetAspect) {
|
|
220
|
+
resizeMode = RCTResizeModeStretch;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
switch (resizeMode) {
|
|
225
|
+
case RCTResizeModeStretch:
|
|
226
|
+
|
|
227
|
+
return destSize.width > sourceSize.width || destSize.height > sourceSize.height;
|
|
228
|
+
|
|
229
|
+
case RCTResizeModeContain:
|
|
230
|
+
|
|
231
|
+
if (targetAspect <= aspect) { // target is taller than content
|
|
232
|
+
|
|
233
|
+
return destSize.width > sourceSize.width;
|
|
234
|
+
|
|
235
|
+
} else { // target is wider than content
|
|
236
|
+
|
|
237
|
+
return destSize.height > sourceSize.height;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
case RCTResizeModeCover:
|
|
241
|
+
|
|
242
|
+
if (targetAspect <= aspect) { // target is taller than content
|
|
243
|
+
|
|
244
|
+
return destSize.height > sourceSize.height;
|
|
245
|
+
|
|
246
|
+
} else { // target is wider than content
|
|
247
|
+
|
|
248
|
+
return destSize.width > sourceSize.width;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
case RCTResizeModeRepeat:
|
|
252
|
+
case RCTResizeModeCenter:
|
|
253
|
+
case RCTResizeModeNone:
|
|
254
|
+
|
|
255
|
+
return NO;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
UIImage *__nullable RCTDecodeImageWithData(NSData *data, CGSize destSize, CGFloat destScale, RCTResizeMode resizeMode)
|
|
260
|
+
{
|
|
261
|
+
CGImageSourceRef sourceRef = CGImageSourceCreateWithData((__bridge CFDataRef)data, NULL);
|
|
262
|
+
if (!sourceRef) {
|
|
263
|
+
return nil;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// Get original image size
|
|
267
|
+
CFDictionaryRef imageProperties = CGImageSourceCopyPropertiesAtIndex(sourceRef, 0, NULL);
|
|
268
|
+
if (!imageProperties) {
|
|
269
|
+
CFRelease(sourceRef);
|
|
270
|
+
return nil;
|
|
271
|
+
}
|
|
272
|
+
NSNumber *width = (NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelWidth);
|
|
273
|
+
NSNumber *height = (NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelHeight);
|
|
274
|
+
CGSize sourceSize = {width.doubleValue, height.doubleValue};
|
|
275
|
+
CFRelease(imageProperties);
|
|
276
|
+
|
|
277
|
+
if (CGSizeEqualToSize(destSize, CGSizeZero)) {
|
|
278
|
+
destSize = sourceSize;
|
|
279
|
+
if (!destScale) {
|
|
280
|
+
destScale = 1;
|
|
281
|
+
}
|
|
282
|
+
} else if (!destScale) {
|
|
283
|
+
destScale = RCTScreenScale();
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if (resizeMode == RCTResizeModeStretch) {
|
|
287
|
+
// Decoder cannot change aspect ratio, so RCTResizeModeStretch is equivalent
|
|
288
|
+
// to RCTResizeModeCover for our purposes
|
|
289
|
+
resizeMode = RCTResizeModeCover;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// Calculate target size
|
|
293
|
+
CGSize targetSize = RCTTargetSize(sourceSize, 1, destSize, destScale, resizeMode, NO);
|
|
294
|
+
CGSize targetPixelSize = RCTSizeInPixels(targetSize, destScale);
|
|
295
|
+
CGFloat maxPixelSize =
|
|
296
|
+
fmax(fmin(sourceSize.width, targetPixelSize.width), fmin(sourceSize.height, targetPixelSize.height));
|
|
297
|
+
|
|
298
|
+
NSDictionary<NSString *, NSNumber *> *options = @{
|
|
299
|
+
(id)kCGImageSourceShouldAllowFloat : @YES,
|
|
300
|
+
(id)kCGImageSourceCreateThumbnailWithTransform : @YES,
|
|
301
|
+
(id)kCGImageSourceCreateThumbnailFromImageAlways : @YES,
|
|
302
|
+
(id)kCGImageSourceThumbnailMaxPixelSize : @(maxPixelSize),
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
// Get thumbnail
|
|
306
|
+
CGImageRef imageRef = CGImageSourceCreateThumbnailAtIndex(sourceRef, 0, (__bridge CFDictionaryRef)options);
|
|
307
|
+
CFRelease(sourceRef);
|
|
308
|
+
if (!imageRef) {
|
|
309
|
+
return nil;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
// Return image
|
|
313
|
+
UIImage *image = [UIImage imageWithCGImage:imageRef scale:destScale orientation:UIImageOrientationUp];
|
|
314
|
+
CGImageRelease(imageRef);
|
|
315
|
+
return image;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
NSDictionary<NSString *, id> *__nullable RCTGetImageMetadata(NSData *data)
|
|
319
|
+
{
|
|
320
|
+
CGImageSourceRef sourceRef = CGImageSourceCreateWithData((__bridge CFDataRef)data, NULL);
|
|
321
|
+
if (!sourceRef) {
|
|
322
|
+
return nil;
|
|
323
|
+
}
|
|
324
|
+
CFDictionaryRef imageProperties = CGImageSourceCopyPropertiesAtIndex(sourceRef, 0, NULL);
|
|
325
|
+
CFRelease(sourceRef);
|
|
326
|
+
return (__bridge_transfer id)imageProperties;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
NSData *__nullable RCTGetImageData(UIImage *image, float quality)
|
|
330
|
+
{
|
|
331
|
+
CGImageRef cgImage = image.CGImage;
|
|
332
|
+
if (!cgImage) {
|
|
333
|
+
return NULL;
|
|
334
|
+
}
|
|
335
|
+
NSMutableDictionary *properties = [[NSMutableDictionary alloc] initWithDictionary:@{
|
|
336
|
+
(id)kCGImagePropertyOrientation : @(CGImagePropertyOrientationFromUIImageOrientation(image.imageOrientation))
|
|
337
|
+
}];
|
|
338
|
+
CGImageDestinationRef destination;
|
|
339
|
+
CFMutableDataRef imageData = CFDataCreateMutable(NULL, 0);
|
|
340
|
+
if (RCTImageHasAlpha(cgImage)) {
|
|
341
|
+
// get png data
|
|
342
|
+
destination = CGImageDestinationCreateWithData(imageData, kUTTypePNG, 1, NULL);
|
|
343
|
+
} else {
|
|
344
|
+
// get jpeg data
|
|
345
|
+
destination = CGImageDestinationCreateWithData(imageData, kUTTypeJPEG, 1, NULL);
|
|
346
|
+
[properties setValue:@(quality) forKey:(id)kCGImageDestinationLossyCompressionQuality];
|
|
347
|
+
}
|
|
348
|
+
if (!destination) {
|
|
349
|
+
CFRelease(imageData);
|
|
350
|
+
return NULL;
|
|
351
|
+
}
|
|
352
|
+
CGImageDestinationAddImage(destination, cgImage, (__bridge CFDictionaryRef)properties);
|
|
353
|
+
if (!CGImageDestinationFinalize(destination)) {
|
|
354
|
+
CFRelease(imageData);
|
|
355
|
+
imageData = NULL;
|
|
356
|
+
}
|
|
357
|
+
CFRelease(destination);
|
|
358
|
+
return (__bridge_transfer NSData *)imageData;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
UIImage *__nullable RCTTransformImage(UIImage *image, CGSize destSize, CGFloat destScale, CGAffineTransform transform)
|
|
362
|
+
{
|
|
363
|
+
if (destSize.width <= 0 | destSize.height <= 0 || destScale <= 0) {
|
|
364
|
+
return nil;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
BOOL opaque = !RCTImageHasAlpha(image.CGImage);
|
|
368
|
+
UIGraphicsImageRendererFormat *const rendererFormat = [UIGraphicsImageRendererFormat defaultFormat];
|
|
369
|
+
rendererFormat.opaque = opaque;
|
|
370
|
+
rendererFormat.scale = destScale;
|
|
371
|
+
UIGraphicsImageRenderer *const renderer = [[UIGraphicsImageRenderer alloc] initWithSize:destSize
|
|
372
|
+
format:rendererFormat];
|
|
373
|
+
return [renderer imageWithActions:^(UIGraphicsImageRendererContext *_Nonnull context) {
|
|
374
|
+
CGContextConcatCTM(context.CGContext, transform);
|
|
375
|
+
[image drawAtPoint:CGPointZero];
|
|
376
|
+
}];
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
BOOL RCTImageHasAlpha(CGImageRef image)
|
|
380
|
+
{
|
|
381
|
+
switch (CGImageGetAlphaInfo(image)) {
|
|
382
|
+
case kCGImageAlphaNone:
|
|
383
|
+
case kCGImageAlphaNoneSkipLast:
|
|
384
|
+
case kCGImageAlphaNoneSkipFirst:
|
|
385
|
+
return NO;
|
|
386
|
+
default:
|
|
387
|
+
return YES;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
|
|
8
|
+
#import <React/RCTResizeMode.h>
|
|
9
|
+
#import <React/RCTView.h>
|
|
10
|
+
#import <UIKit/UIKit.h>
|
|
11
|
+
|
|
12
|
+
@class RCTBridge;
|
|
13
|
+
@class RCTImageSource;
|
|
14
|
+
|
|
15
|
+
@interface RCTImageView : RCTView
|
|
16
|
+
|
|
17
|
+
- (instancetype)initWithBridge:(RCTBridge *)bridge NS_DESIGNATED_INITIALIZER;
|
|
18
|
+
|
|
19
|
+
@property (nonatomic, assign) UIEdgeInsets capInsets;
|
|
20
|
+
@property (nonatomic, strong) UIImage *defaultImage;
|
|
21
|
+
@property (nonatomic, assign) UIImageRenderingMode renderingMode;
|
|
22
|
+
@property (nonatomic, copy) NSArray<RCTImageSource *> *imageSources;
|
|
23
|
+
@property (nonatomic, assign) CGFloat blurRadius;
|
|
24
|
+
@property (nonatomic, assign) RCTResizeMode resizeMode;
|
|
25
|
+
@property (nonatomic, copy) NSString *internal_analyticTag;
|
|
26
|
+
|
|
27
|
+
@end
|