react-native-tvos 0.83.6-0 → 0.83.10-0
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/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/TV/TVViewPropTypes.js +9 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/View/View.js +7 -3
- package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/setUpNavigator.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/Image/ImageSource.d.ts +1 -1
- package/Libraries/Image/RCTImageLoader.mm +1 -1
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/NativeComponent/TVViewConfig.js +1 -0
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/Renderer/README.md +2 -2
- package/Libraries/Required/RCTRequired.podspec +1 -1
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/README-core.md +6 -6
- package/README.md +13 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
- package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
- package/React/CoreModules/RCTRedBox+Internal.h +42 -0
- package/React/CoreModules/RCTRedBox.mm +30 -471
- package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
- package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
- package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
- package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
- package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
- package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
- package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
- package/React/CoreModules/RCTRedBoxController.mm +447 -0
- package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
- package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
- package/React/CoreModules/React-CoreModules.podspec +2 -1
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +24 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +49 -17
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +12 -1
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +35 -7
- package/React/React-RCTFBReactNativeSpec.podspec +1 -1
- package/React/React-RCTFabric.podspec +1 -1
- package/React/Runtime/React-RCTRuntime.podspec +1 -1
- package/React/Tests/Mounting/RCTViewComponentViewTests.mm +145 -0
- package/React/Views/ScrollView/RCTScrollView.m +1 -1
- package/React-Core.podspec +1 -1
- package/React.podspec +1 -1
- package/ReactAndroid/build.gradle.kts +1 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +6 -0
- package/ReactAndroid/publish.gradle +20 -46
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +19 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +31 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +34 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +46 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +5 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +7 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +43 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +10 -1
- package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
- package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
- package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
- package/ReactCommon/React-Fabric.podspec +7 -1
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/React-FabricImage.podspec +1 -1
- package/ReactCommon/React-Mapbuffer.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +1 -1
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +7 -3
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +1 -5
- package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
- package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
- package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
- package/ReactCommon/react/debug/CMakeLists.txt +2 -1
- package/ReactCommon/react/debug/React-debug.podspec +8 -2
- package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
- package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
- package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
- package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
- package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
- package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +13 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +16 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +106 -52
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +8 -2
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +13 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +28 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +4 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -1
- package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +16 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +7 -1
- package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
- package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
- package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
- package/ReactCommon/react/networking/React-networking.podspec +1 -1
- package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
- package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +7 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +18 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
- package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
- package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
- package/ReactCommon/react/timing/React-timing.podspec +1 -1
- package/ReactCommon/react/utils/React-utils.podspec +1 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/yoga/Yoga.podspec +2 -2
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -0
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +11 -7
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +2 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
- package/package.json +9 -9
- package/scripts/cocoapods/rncore.rb +26 -8
- package/scripts/cocoapods/rndependencies.rb +26 -5
- package/scripts/cocoapods/spm.rb +1 -1
- package/scripts/cocoapods/utils.rb +2 -2
- package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
- package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
- package/scripts/ios-configure-glog.sh +1 -1
- package/scripts/react_native_pods.rb +1 -0
- package/sdks/hermes-engine/hermes-engine.podspec +6 -1
- package/sdks/hermes-engine/hermes-utils.rb +27 -5
- package/src/private/featureflags/ReactNativeFeatureFlags.js +16 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +4 -1
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/types/HostInstance.js +1 -1
- package/src/types/globals.d.ts +2 -2
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
- package/third-party-podspecs/glog.podspec +1 -1
- package/types/public/ReactNativeTVTypes.d.ts +9 -0
- package/types/public/ReactNativeTypes.d.ts +2 -2
package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java
CHANGED
|
@@ -567,29 +567,39 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
567
567
|
}
|
|
568
568
|
|
|
569
569
|
/**
|
|
570
|
-
* Attempts to scroll-snap to the focused child based on snapToAlignment/scrollSnapAlign
|
|
571
|
-
* Returns true if snap scrolling was performed, false otherwise.
|
|
570
|
+
* Attempts to scroll-snap to the focused child based on snapToAlignment/scrollSnapAlign
|
|
571
|
+
* or scrollSnapOffset. Returns true if snap scrolling was performed, false otherwise.
|
|
572
572
|
*/
|
|
573
573
|
private boolean tryScrollSnapToChild(View focused) {
|
|
574
574
|
if (mSnapToAlignment != SNAP_ALIGNMENT_ITEM) {
|
|
575
575
|
return false;
|
|
576
576
|
}
|
|
577
577
|
|
|
578
|
-
kotlin.
|
|
578
|
+
kotlin.Triple<View, String, Integer> result =
|
|
579
|
+
ReactScrollViewHelper.findScrollSnap(focused, this);
|
|
579
580
|
if (result == null) {
|
|
580
581
|
return false;
|
|
581
582
|
}
|
|
582
583
|
|
|
583
584
|
View snapTarget = result.getFirst();
|
|
584
585
|
String alignment = result.getSecond();
|
|
586
|
+
Integer snapOffset = result.getThird();
|
|
585
587
|
|
|
586
588
|
Rect rect = new Rect();
|
|
587
589
|
snapTarget.getDrawingRect(rect);
|
|
588
590
|
offsetDescendantRectToMyCoords(snapTarget, rect);
|
|
589
591
|
|
|
590
|
-
int viewportWidth = getWidth() - getPaddingLeft() - getPaddingRight();
|
|
591
592
|
int maxScrollX = Math.max(0, computeHorizontalScrollRange() - getWidth());
|
|
592
593
|
|
|
594
|
+
if (snapOffset != null) {
|
|
595
|
+
int targetOffset = ReactScrollViewHelper.computeScrollSnapTargetForOffset(
|
|
596
|
+
rect.left, snapOffset, mSnapInterval, maxScrollX);
|
|
597
|
+
reactSmoothScrollTo(targetOffset, getScrollY());
|
|
598
|
+
return true;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
int viewportWidth = getWidth() - getPaddingLeft() - getPaddingRight();
|
|
602
|
+
|
|
593
603
|
Integer targetOffset = ReactScrollViewHelper.computeScrollSnapOffset(
|
|
594
604
|
rect.left, rect.right, viewportWidth, alignment, mSnapInterval, mSnapToItemPadding, maxScrollX);
|
|
595
605
|
if (targetOffset == null) {
|
|
@@ -514,29 +514,39 @@ public class ReactScrollView extends ScrollView
|
|
|
514
514
|
}
|
|
515
515
|
|
|
516
516
|
/**
|
|
517
|
-
* Attempts to scroll-snap to the focused child based on snapToAlignment/scrollSnapAlign
|
|
518
|
-
* Returns true if snap scrolling was performed, false otherwise.
|
|
517
|
+
* Attempts to scroll-snap to the focused child based on snapToAlignment/scrollSnapAlign
|
|
518
|
+
* or scrollSnapOffset. Returns true if snap scrolling was performed, false otherwise.
|
|
519
519
|
*/
|
|
520
520
|
private boolean tryScrollSnapToChild(View focused) {
|
|
521
521
|
if (mSnapToAlignment != SNAP_ALIGNMENT_ITEM) {
|
|
522
522
|
return false;
|
|
523
523
|
}
|
|
524
524
|
|
|
525
|
-
kotlin.
|
|
525
|
+
kotlin.Triple<View, String, Integer> result =
|
|
526
|
+
ReactScrollViewHelper.findScrollSnap(focused, this);
|
|
526
527
|
if (result == null) {
|
|
527
528
|
return false;
|
|
528
529
|
}
|
|
529
530
|
|
|
530
531
|
View snapTarget = result.getFirst();
|
|
531
532
|
String alignment = result.getSecond();
|
|
533
|
+
Integer snapOffset = result.getThird();
|
|
532
534
|
|
|
533
535
|
Rect rect = new Rect();
|
|
534
536
|
snapTarget.getDrawingRect(rect);
|
|
535
537
|
offsetDescendantRectToMyCoords(snapTarget, rect);
|
|
536
538
|
|
|
537
|
-
int viewportHeight = getHeight() - getPaddingTop() - getPaddingBottom();
|
|
538
539
|
int maxScrollY = getMaxScrollY();
|
|
539
540
|
|
|
541
|
+
if (snapOffset != null) {
|
|
542
|
+
int targetOffset = ReactScrollViewHelper.computeScrollSnapTargetForOffset(
|
|
543
|
+
rect.top, snapOffset, mSnapInterval, maxScrollY);
|
|
544
|
+
reactSmoothScrollTo(getScrollX(), targetOffset);
|
|
545
|
+
return true;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
int viewportHeight = getHeight() - getPaddingTop() - getPaddingBottom();
|
|
549
|
+
|
|
540
550
|
Integer targetOffset = ReactScrollViewHelper.computeScrollSnapOffset(
|
|
541
551
|
rect.top, rect.bottom, viewportHeight, alignment, mSnapInterval, mSnapToItemPadding, maxScrollY);
|
|
542
552
|
if (targetOffset == null) {
|
|
@@ -576,27 +576,67 @@ public object ReactScrollViewHelper {
|
|
|
576
576
|
|
|
577
577
|
/**
|
|
578
578
|
* Walks up the view hierarchy from the focused view to find a ReactViewGroup with
|
|
579
|
-
* scrollSnapAlign set. Returns a
|
|
579
|
+
* either scrollSnapAlign or scrollSnapOffset set. Returns a Triple of (snapTarget,
|
|
580
|
+
* alignment, offsetPx) or null if neither marker was found. Exactly one of
|
|
581
|
+
* alignment/offsetPx is non-null on return.
|
|
582
|
+
*
|
|
583
|
+
* Walk is inner→outer, latest marker wins. On a single view declaring both,
|
|
584
|
+
* scrollSnapOffset wins as the more specific config.
|
|
580
585
|
*
|
|
581
586
|
* Shared by [ReactScrollView] and [ReactHorizontalScrollView].
|
|
582
587
|
*/
|
|
583
588
|
@JvmStatic
|
|
584
|
-
public fun
|
|
589
|
+
public fun findScrollSnap(focused: View, scrollView: ViewGroup): Triple<View, String?, Int?>? {
|
|
585
590
|
var view: View? = focused
|
|
586
591
|
var snapTarget: View? = null
|
|
587
592
|
var alignment: String? = null
|
|
593
|
+
var offset: Int? = null
|
|
588
594
|
while (view != null && view !== scrollView) {
|
|
589
595
|
if (view is ReactViewGroup) {
|
|
590
|
-
val
|
|
591
|
-
|
|
592
|
-
|
|
596
|
+
val o = view.scrollSnapOffset
|
|
597
|
+
val a = view.scrollSnapAlign
|
|
598
|
+
if (o != null) {
|
|
599
|
+
offset = o
|
|
600
|
+
alignment = null
|
|
601
|
+
snapTarget = view
|
|
602
|
+
} else if (a != null) {
|
|
603
|
+
alignment = a
|
|
604
|
+
offset = null
|
|
593
605
|
snapTarget = view
|
|
594
606
|
}
|
|
595
607
|
}
|
|
596
608
|
val parent = view.parent
|
|
597
609
|
view = if (parent is View) parent else null
|
|
598
610
|
}
|
|
599
|
-
return if (
|
|
611
|
+
return if (snapTarget != null && (alignment != null || offset != null))
|
|
612
|
+
Triple(snapTarget, alignment, offset) else null
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Computes the target scroll offset for the per-item scrollSnapOffset path:
|
|
617
|
+
* land the snap target's leading edge at `snapOffset` pixels from the viewport origin.
|
|
618
|
+
*
|
|
619
|
+
* Returns the clamped target offset.
|
|
620
|
+
*
|
|
621
|
+
* Shared by [ReactScrollView] and [ReactHorizontalScrollView].
|
|
622
|
+
*
|
|
623
|
+
* @param focusedStart the start coordinate of the snap target in scroll view coordinates
|
|
624
|
+
* @param snapOffset the per-item pixel offset from the viewport origin
|
|
625
|
+
* @param snapInterval the snap interval (0 if not set)
|
|
626
|
+
* @param maxScrollOffset the maximum scroll offset for clamping
|
|
627
|
+
*/
|
|
628
|
+
@JvmStatic
|
|
629
|
+
public fun computeScrollSnapTargetForOffset(
|
|
630
|
+
focusedStart: Int,
|
|
631
|
+
snapOffset: Int,
|
|
632
|
+
snapInterval: Int,
|
|
633
|
+
maxScrollOffset: Int,
|
|
634
|
+
): Int {
|
|
635
|
+
var targetOffset = focusedStart - snapOffset
|
|
636
|
+
if (snapInterval > 0) {
|
|
637
|
+
targetOffset = (Math.floor(targetOffset.toDouble() / snapInterval) * snapInterval).toInt()
|
|
638
|
+
}
|
|
639
|
+
return Math.max(0, Math.min(targetOffset, maxScrollOffset))
|
|
600
640
|
}
|
|
601
641
|
|
|
602
642
|
/**
|
package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt
CHANGED
|
@@ -437,7 +437,7 @@ constructor(private val fpsListener: FpsListener? = null) :
|
|
|
437
437
|
// be on the wrong side. Thus we are moving it to the other side, when the list
|
|
438
438
|
// is inverted.
|
|
439
439
|
// See also:
|
|
440
|
-
// - https://github.com/
|
|
440
|
+
// - https://github.com/react/react-native/issues/35350
|
|
441
441
|
// - https://issuetracker.google.com/issues/287304310
|
|
442
442
|
if (applyFix) {
|
|
443
443
|
view.verticalScrollbarPosition = View.SCROLLBAR_POSITION_LEFT
|
|
@@ -405,7 +405,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
|
|
|
405
405
|
mContainsImages = update.containsImages();
|
|
406
406
|
// Android's TextView crashes when it tries to relayout if LayoutParams are
|
|
407
407
|
// null; explicitly set the LayoutParams to prevent this crash. See:
|
|
408
|
-
// https://github.com/
|
|
408
|
+
// https://github.com/react/react-native/pull/7011
|
|
409
409
|
if (getLayoutParams() == null) {
|
|
410
410
|
setLayoutParams(EMPTY_LAYOUT_PARAMS);
|
|
411
411
|
}
|
|
@@ -781,7 +781,7 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
|
|
|
781
781
|
/**
|
|
782
782
|
* Remove spans from the SpannableStringBuilder which can be represented by TextAppearance
|
|
783
783
|
* attributes on the underlying EditText. This works around instability on Samsung devices with
|
|
784
|
-
* the presence of spans https://github.com/
|
|
784
|
+
* the presence of spans https://github.com/react/react-native/issues/35936 (S318090)
|
|
785
785
|
*/
|
|
786
786
|
private fun stripStyleEquivalentSpans(sb: SpannableStringBuilder) {
|
|
787
787
|
stripSpansOfKind(sb, ReactAbsoluteSizeSpan::class.java) { span: ReactAbsoluteSizeSpan ->
|
|
@@ -1047,7 +1047,7 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
|
|
|
1047
1047
|
val selectionEnd = selectionEnd
|
|
1048
1048
|
|
|
1049
1049
|
// Used to ensure that text is selectable inside of removeClippedSubviews
|
|
1050
|
-
// See https://github.com/
|
|
1050
|
+
// See https://github.com/react/react-native/issues/6805 for original
|
|
1051
1051
|
// fix that was ported to here.
|
|
1052
1052
|
super.setTextIsSelectable(true)
|
|
1053
1053
|
|
package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt
CHANGED
|
@@ -414,7 +414,7 @@ public open class ReactTextInputManager public constructor() :
|
|
|
414
414
|
return
|
|
415
415
|
}
|
|
416
416
|
|
|
417
|
-
// Based on https://github.com/
|
|
417
|
+
// Based on https://github.com/react/react-native/pull/31007
|
|
418
418
|
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.P) {
|
|
419
419
|
return
|
|
420
420
|
}
|
|
@@ -770,7 +770,7 @@ public open class ReactTextInputManager public constructor() :
|
|
|
770
770
|
// crash happens when focusing on a email EditText, during which a prompt will be triggered
|
|
771
771
|
// but
|
|
772
772
|
// the system fail to locate it properly. Here is an example post discussing about this
|
|
773
|
-
// issue: https://github.com/
|
|
773
|
+
// issue: https://github.com/react/react-native/issues/27204
|
|
774
774
|
if (shouldHideCursorForEmailTextInput()) {
|
|
775
775
|
view.isCursorVisible = false
|
|
776
776
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt
CHANGED
|
@@ -30,7 +30,7 @@ internal class ReactTextSelectionWatcher(private val editText: ReactEditText) :
|
|
|
30
30
|
// forward it on if we have new values
|
|
31
31
|
|
|
32
32
|
// Apparently Android might call this with an end value that is less than the start value
|
|
33
|
-
// Lets normalize them. See https://github.com/
|
|
33
|
+
// Lets normalize them. See https://github.com/react/react-native/issues/18579
|
|
34
34
|
val realStart = min(start.toDouble(), end.toDouble()).toInt()
|
|
35
35
|
val realEnd = max(start.toDouble(), end.toDouble()).toInt()
|
|
36
36
|
|
|
@@ -174,6 +174,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
174
174
|
private var onInterceptTouchEventListener: OnInterceptTouchEventListener? = null
|
|
175
175
|
private var needsOffscreenAlphaCompositing = false
|
|
176
176
|
public var scrollSnapAlign: String? = null
|
|
177
|
+
public var scrollSnapOffset: Int? = null
|
|
177
178
|
private var backfaceOpacity = 0f
|
|
178
179
|
private var backfaceVisible = false
|
|
179
180
|
private var childrenRemovedWhileTransitioning: MutableSet<Int>? = null
|
|
@@ -195,6 +195,11 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
195
195
|
view.scrollSnapAlign = value
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
@ReactProp(name = "scrollSnapOffset", defaultFloat = Float.NaN)
|
|
199
|
+
public open fun setScrollSnapOffset(view: ReactViewGroup, value: Float) {
|
|
200
|
+
view.scrollSnapOffset = if (value.isNaN()) null else value.dpToPx().toInt()
|
|
201
|
+
}
|
|
202
|
+
|
|
198
203
|
@ReactProp(name = ViewProps.BACKGROUND_IMAGE, customType = "BackgroundImage")
|
|
199
204
|
public open fun setBackgroundImage(view: ReactViewGroup, backgroundImage: ReadableArray?) {
|
|
200
205
|
if (ViewUtil.getUIManagerType(view) == UIManagerType.FABRIC) {
|
|
@@ -115,6 +115,7 @@ add_react_common_subdir(react/renderer/components/safeareaview)
|
|
|
115
115
|
add_react_common_subdir(react/renderer/leakchecker)
|
|
116
116
|
add_react_common_subdir(react/renderer/observers/events)
|
|
117
117
|
add_react_common_subdir(react/renderer/observers/intersection)
|
|
118
|
+
add_react_common_subdir(react/renderer/observers/mutation)
|
|
118
119
|
add_react_common_subdir(react/renderer/textlayoutmanager)
|
|
119
120
|
add_react_common_subdir(react/utils)
|
|
120
121
|
add_react_common_subdir(react/bridging)
|
|
@@ -126,6 +127,7 @@ add_react_common_subdir(react/nativemodule/featureflags)
|
|
|
126
127
|
add_react_common_subdir(react/nativemodule/microtasks)
|
|
127
128
|
add_react_common_subdir(react/nativemodule/idlecallbacks)
|
|
128
129
|
add_react_common_subdir(react/nativemodule/intersectionobserver)
|
|
130
|
+
add_react_common_subdir(react/nativemodule/mutationobserver)
|
|
129
131
|
add_react_common_subdir(react/nativemodule/webperformance)
|
|
130
132
|
add_react_common_subdir(react/networking)
|
|
131
133
|
add_react_common_subdir(jserrorhandler)
|
|
@@ -195,6 +197,7 @@ add_library(reactnative
|
|
|
195
197
|
$<TARGET_OBJECTS:react_nativemodule_idlecallbacks>
|
|
196
198
|
$<TARGET_OBJECTS:react_nativemodule_intersectionobserver>
|
|
197
199
|
$<TARGET_OBJECTS:react_nativemodule_microtasks>
|
|
200
|
+
$<TARGET_OBJECTS:react_nativemodule_mutationobserver>
|
|
198
201
|
$<TARGET_OBJECTS:react_nativemodule_webperformance>
|
|
199
202
|
$<TARGET_OBJECTS:react_networking>
|
|
200
203
|
$<TARGET_OBJECTS:react_newarchdefaults>
|
|
@@ -215,6 +218,7 @@ add_library(reactnative
|
|
|
215
218
|
$<TARGET_OBJECTS:react_renderer_mounting>
|
|
216
219
|
$<TARGET_OBJECTS:react_renderer_observers_events>
|
|
217
220
|
$<TARGET_OBJECTS:react_renderer_observers_intersection>
|
|
221
|
+
$<TARGET_OBJECTS:react_renderer_observers_mutation>
|
|
218
222
|
$<TARGET_OBJECTS:react_renderer_runtimescheduler>
|
|
219
223
|
$<TARGET_OBJECTS:react_renderer_scheduler>
|
|
220
224
|
$<TARGET_OBJECTS:react_renderer_telemetry>
|
|
@@ -288,6 +292,7 @@ target_include_directories(reactnative
|
|
|
288
292
|
$<TARGET_PROPERTY:react_nativemodule_idlecallbacks,INTERFACE_INCLUDE_DIRECTORIES>
|
|
289
293
|
$<TARGET_PROPERTY:react_nativemodule_intersectionobserver,INTERFACE_INCLUDE_DIRECTORIES>
|
|
290
294
|
$<TARGET_PROPERTY:react_nativemodule_microtasks,INTERFACE_INCLUDE_DIRECTORIES>
|
|
295
|
+
$<TARGET_PROPERTY:react_nativemodule_mutationobserver,INTERFACE_INCLUDE_DIRECTORIES>
|
|
291
296
|
$<TARGET_PROPERTY:react_nativemodule_webperformance,INTERFACE_INCLUDE_DIRECTORIES>
|
|
292
297
|
$<TARGET_PROPERTY:react_networking,INTERFACE_INCLUDE_DIRECTORIES>
|
|
293
298
|
$<TARGET_PROPERTY:react_newarchdefaults,INTERFACE_INCLUDE_DIRECTORIES>
|
|
@@ -309,6 +314,8 @@ target_include_directories(reactnative
|
|
|
309
314
|
$<TARGET_PROPERTY:react_renderer_mapbuffer,INTERFACE_INCLUDE_DIRECTORIES>
|
|
310
315
|
$<TARGET_PROPERTY:react_renderer_mounting,INTERFACE_INCLUDE_DIRECTORIES>
|
|
311
316
|
$<TARGET_PROPERTY:react_renderer_observers_events,INTERFACE_INCLUDE_DIRECTORIES>
|
|
317
|
+
$<TARGET_PROPERTY:react_renderer_observers_intersection,INTERFACE_INCLUDE_DIRECTORIES>
|
|
318
|
+
$<TARGET_PROPERTY:react_renderer_observers_mutation,INTERFACE_INCLUDE_DIRECTORIES>
|
|
312
319
|
$<TARGET_PROPERTY:react_renderer_runtimescheduler,INTERFACE_INCLUDE_DIRECTORIES>
|
|
313
320
|
$<TARGET_PROPERTY:react_renderer_scheduler,INTERFACE_INCLUDE_DIRECTORIES>
|
|
314
321
|
$<TARGET_PROPERTY:react_renderer_telemetry,INTERFACE_INCLUDE_DIRECTORIES>
|
package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
#include <fbjni/ByteBuffer.h>
|
|
9
|
+
|
|
8
10
|
#include "JCxxInspectorPackagerConnectionWebSocket.h"
|
|
9
11
|
|
|
10
12
|
using namespace facebook::jni;
|
|
@@ -12,10 +14,35 @@ using namespace facebook::react::jsinspector_modern;
|
|
|
12
14
|
|
|
13
15
|
namespace facebook::react::jsinspector_modern {
|
|
14
16
|
|
|
17
|
+
namespace {
|
|
18
|
+
|
|
19
|
+
local_ref<JByteBuffer::javaobject> getReadOnlyByteBufferFromStringView(
|
|
20
|
+
std::string_view sv) {
|
|
21
|
+
auto buffer = JByteBuffer::wrapBytes(
|
|
22
|
+
const_cast<uint8_t*>(reinterpret_cast<const uint8_t*>(sv.data())),
|
|
23
|
+
sv.size());
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Return a read-only buffer that shares the underlying contents.
|
|
27
|
+
* This guards from accidential mutations on the Java side, since we did
|
|
28
|
+
* casting above.
|
|
29
|
+
*
|
|
30
|
+
* https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html#asReadOnlyBuffer--
|
|
31
|
+
*/
|
|
32
|
+
static auto method =
|
|
33
|
+
buffer->javaClassStatic()->getMethod<JByteBuffer::javaobject()>(
|
|
34
|
+
"asReadOnlyBuffer");
|
|
35
|
+
return method(buffer);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
} // namespace
|
|
39
|
+
|
|
15
40
|
void JCxxInspectorPackagerConnectionWebSocket::send(std::string_view message) {
|
|
16
41
|
static auto method =
|
|
17
|
-
javaClassStatic()->getMethod<void(
|
|
18
|
-
|
|
42
|
+
javaClassStatic()->getMethod<void(local_ref<JByteBuffer::javaobject>)>(
|
|
43
|
+
"send");
|
|
44
|
+
auto byteBuffer = getReadOnlyByteBufferFromStringView(message);
|
|
45
|
+
method(self(), byteBuffer);
|
|
19
46
|
}
|
|
20
47
|
|
|
21
48
|
void JCxxInspectorPackagerConnectionWebSocket::close() {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<9e684659117f413b92bcd0469fae37ba>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -255,6 +255,12 @@ class ReactNativeFeatureFlagsJavaProvider
|
|
|
255
255
|
return method(javaProvider_);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
+
bool enableMutationObserverByDefault() override {
|
|
259
|
+
static const auto method =
|
|
260
|
+
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableMutationObserverByDefault");
|
|
261
|
+
return method(javaProvider_);
|
|
262
|
+
}
|
|
263
|
+
|
|
258
264
|
bool enableNativeCSSParsing() override {
|
|
259
265
|
static const auto method =
|
|
260
266
|
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableNativeCSSParsing");
|
|
@@ -435,6 +441,18 @@ class ReactNativeFeatureFlagsJavaProvider
|
|
|
435
441
|
return method(javaProvider_);
|
|
436
442
|
}
|
|
437
443
|
|
|
444
|
+
bool redBoxV2Android() override {
|
|
445
|
+
static const auto method =
|
|
446
|
+
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("redBoxV2Android");
|
|
447
|
+
return method(javaProvider_);
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
bool redBoxV2IOS() override {
|
|
451
|
+
static const auto method =
|
|
452
|
+
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("redBoxV2IOS");
|
|
453
|
+
return method(javaProvider_);
|
|
454
|
+
}
|
|
455
|
+
|
|
438
456
|
bool shouldPressibilityUseW3CPointerEventsForHover() override {
|
|
439
457
|
static const auto method =
|
|
440
458
|
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("shouldPressibilityUseW3CPointerEventsForHover");
|
|
@@ -745,6 +763,11 @@ bool JReactNativeFeatureFlagsCxxInterop::enableModuleArgumentNSNullConversionIOS
|
|
|
745
763
|
return ReactNativeFeatureFlags::enableModuleArgumentNSNullConversionIOS();
|
|
746
764
|
}
|
|
747
765
|
|
|
766
|
+
bool JReactNativeFeatureFlagsCxxInterop::enableMutationObserverByDefault(
|
|
767
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
768
|
+
return ReactNativeFeatureFlags::enableMutationObserverByDefault();
|
|
769
|
+
}
|
|
770
|
+
|
|
748
771
|
bool JReactNativeFeatureFlagsCxxInterop::enableNativeCSSParsing(
|
|
749
772
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
750
773
|
return ReactNativeFeatureFlags::enableNativeCSSParsing();
|
|
@@ -895,6 +918,16 @@ bool JReactNativeFeatureFlagsCxxInterop::preventShadowTreeCommitExhaustion(
|
|
|
895
918
|
return ReactNativeFeatureFlags::preventShadowTreeCommitExhaustion();
|
|
896
919
|
}
|
|
897
920
|
|
|
921
|
+
bool JReactNativeFeatureFlagsCxxInterop::redBoxV2Android(
|
|
922
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
923
|
+
return ReactNativeFeatureFlags::redBoxV2Android();
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
bool JReactNativeFeatureFlagsCxxInterop::redBoxV2IOS(
|
|
927
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
928
|
+
return ReactNativeFeatureFlags::redBoxV2IOS();
|
|
929
|
+
}
|
|
930
|
+
|
|
898
931
|
bool JReactNativeFeatureFlagsCxxInterop::shouldPressibilityUseW3CPointerEventsForHover(
|
|
899
932
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
900
933
|
return ReactNativeFeatureFlags::shouldPressibilityUseW3CPointerEventsForHover();
|
|
@@ -1139,6 +1172,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
|
|
1139
1172
|
makeNativeMethod(
|
|
1140
1173
|
"enableModuleArgumentNSNullConversionIOS",
|
|
1141
1174
|
JReactNativeFeatureFlagsCxxInterop::enableModuleArgumentNSNullConversionIOS),
|
|
1175
|
+
makeNativeMethod(
|
|
1176
|
+
"enableMutationObserverByDefault",
|
|
1177
|
+
JReactNativeFeatureFlagsCxxInterop::enableMutationObserverByDefault),
|
|
1142
1178
|
makeNativeMethod(
|
|
1143
1179
|
"enableNativeCSSParsing",
|
|
1144
1180
|
JReactNativeFeatureFlagsCxxInterop::enableNativeCSSParsing),
|
|
@@ -1229,6 +1265,12 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
|
|
1229
1265
|
makeNativeMethod(
|
|
1230
1266
|
"preventShadowTreeCommitExhaustion",
|
|
1231
1267
|
JReactNativeFeatureFlagsCxxInterop::preventShadowTreeCommitExhaustion),
|
|
1268
|
+
makeNativeMethod(
|
|
1269
|
+
"redBoxV2Android",
|
|
1270
|
+
JReactNativeFeatureFlagsCxxInterop::redBoxV2Android),
|
|
1271
|
+
makeNativeMethod(
|
|
1272
|
+
"redBoxV2IOS",
|
|
1273
|
+
JReactNativeFeatureFlagsCxxInterop::redBoxV2IOS),
|
|
1232
1274
|
makeNativeMethod(
|
|
1233
1275
|
"shouldPressibilityUseW3CPointerEventsForHover",
|
|
1234
1276
|
JReactNativeFeatureFlagsCxxInterop::shouldPressibilityUseW3CPointerEventsForHover),
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<bf1f3b156e29c081684a9bada7e81a4b>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -138,6 +138,9 @@ class JReactNativeFeatureFlagsCxxInterop
|
|
|
138
138
|
static bool enableModuleArgumentNSNullConversionIOS(
|
|
139
139
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
140
140
|
|
|
141
|
+
static bool enableMutationObserverByDefault(
|
|
142
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
143
|
+
|
|
141
144
|
static bool enableNativeCSSParsing(
|
|
142
145
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
143
146
|
|
|
@@ -228,6 +231,12 @@ class JReactNativeFeatureFlagsCxxInterop
|
|
|
228
231
|
static bool preventShadowTreeCommitExhaustion(
|
|
229
232
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
230
233
|
|
|
234
|
+
static bool redBoxV2Android(
|
|
235
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
236
|
+
|
|
237
|
+
static bool redBoxV2IOS(
|
|
238
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
239
|
+
|
|
231
240
|
static bool shouldPressibilityUseW3CPointerEventsForHover(
|
|
232
241
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
233
242
|
|
|
@@ -14,7 +14,7 @@ Pod::Spec.new do |s|
|
|
|
14
14
|
s.author = "Meta Platforms, Inc. and its affiliates"
|
|
15
15
|
s.license = package["license"]
|
|
16
16
|
s.homepage = "https://reactnative.dev/"
|
|
17
|
-
s.source = { :git => 'https://github.com/
|
|
17
|
+
s.source = { :git => 'https://github.com/react/react-native.git', :tag => 'v#{version}' }
|
|
18
18
|
s.summary = "Macros for marking APIs as deprecated"
|
|
19
19
|
s.source_files = podspec_sources(["Exported/*.h", "RCTDeprecation.m"], "Exported/*.h")
|
|
20
20
|
s.pod_target_xcconfig = {
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -185,6 +185,12 @@ Pod::Spec.new do |s|
|
|
|
185
185
|
sss.exclude_files = "react/renderer/observers/intersection/tests"
|
|
186
186
|
sss.header_dir = "react/renderer/observers/intersection"
|
|
187
187
|
end
|
|
188
|
+
|
|
189
|
+
ss.subspec "mutation" do |sss|
|
|
190
|
+
sss.source_files = podspec_sources("react/renderer/observers/mutation/**/*.{m,mm,cpp,h}", "react/renderer/observers/mutation/**/*.h")
|
|
191
|
+
sss.exclude_files = "react/renderer/observers/mutation/tests"
|
|
192
|
+
sss.header_dir = "react/renderer/observers/mutation"
|
|
193
|
+
end
|
|
188
194
|
end
|
|
189
195
|
|
|
190
196
|
s.subspec "templateprocessor" do |ss|
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -9,7 +9,7 @@ require "json"
|
|
|
9
9
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
10
10
|
version = package['version']
|
|
11
11
|
|
|
12
|
-
source = { :git => 'https://github.com/
|
|
12
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
13
13
|
if version == '1000.0.0'
|
|
14
14
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
15
15
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
|
|
15
15
|
#define REACT_NATIVE_VERSION_MAJOR 0
|
|
16
16
|
#define REACT_NATIVE_VERSION_MINOR 83
|
|
17
|
-
#define REACT_NATIVE_VERSION_PATCH
|
|
17
|
+
#define REACT_NATIVE_VERSION_PATCH 10
|
|
18
18
|
|
|
19
19
|
namespace facebook::react {
|
|
20
20
|
|
|
21
21
|
constexpr struct {
|
|
22
22
|
int32_t Major = 0;
|
|
23
23
|
int32_t Minor = 83;
|
|
24
|
-
int32_t Patch =
|
|
24
|
+
int32_t Patch = 10;
|
|
25
25
|
std::string_view Prerelease = "0";
|
|
26
26
|
} ReactNativeVersion;
|
|
27
27
|
|
|
@@ -9,7 +9,7 @@ require "json"
|
|
|
9
9
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
10
10
|
version = package['version']
|
|
11
11
|
|
|
12
|
-
source = { :git => 'https://github.com/
|
|
12
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
13
13
|
if version == '1000.0.0'
|
|
14
14
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
15
15
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|