Allow Passing Blob/File/MediaSource/MediaStream to src of <img>, <video> and <audio> (#32828)

Behind the `enableSrcObject` flag. This is revisiting a variant of what
was discussed in #11163.

Instead of supporting the [`srcObject`
property](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject)
as a separate name, this adds an overload of `src` to allow objects to
be passed. The DOM needs to add separate properties for the object forms
since you read back but it doesn't make sense for React's write-only API
to do that. Similar to how we'll like add an overload for
`popoverTarget` instead of calling it `popoverTargetElement` and how
`style` accepts an object and it's not `styleObject={{...}}`.

There are a number of reason to revisit this.

- It's just way more convenient to have this built-in and it makes
conceptual sense. We typically support declarative APIs and polyfill
them when necessary.
- RSC supports Blobs and by having it built-in you don't need a Client
Component wrapper to render it where as doing it with effects would
require more complex wrappers. By picking Blobs over base64,
client-navigations can use the more optimized binary encoding in the RSC
protocol.
- The timing aspect of coordinating it with Suspensey images and image
decoding is a bit tricky to get right because if you set it in an effect
it's too late because you've already rendered it.
- SSR gets complicated when done in user space because you have to
handle both branches. Likely with `useSyncExternalStore`.
- By having it built-in we could optimize the payloads shared between
RSC payloads embedded in the HTML and data URLs.

This does not support objects for `<source src>` nor `<img srcset>`.
Those don't really have equivalents in the DOM neither. They're mainly
for picking an option when you don't know programmatically. However, for
this use case you're really better off picking a variant before
generating the blobs.

We may support Response objects in the future too as per
https://github.com/whatwg/fetch/issues/49

DiffTrain build for [ea05b750a5](https://github.com/facebook/react/commit/ea05b750a5374458fc8c74ea0918059c818d1167)
This commit is contained in:
sebmarkbage
2025-04-08 09:19:00 -07:00
parent a4e2d3cbd1
commit f0a6a89dea
23 changed files with 174 additions and 174 deletions
+1 -1
View File
@@ -1 +1 @@
19.2.0-native-fb-365c031f-20250407
19.2.0-native-fb-ea05b750-20250408
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<52edf16a687c4b18d61926b8b19f781f>>
* @generated SignedSource<<8aeffb1a621ea368c6de8a859a152c5b>>
*/
"use strict";
@@ -404,5 +404,5 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<482aa6006d06f863c931cecf924f85f2>>
* @generated SignedSource<<d42999bd01e4a409c5c39df7219b8ad4>>
*/
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<482aa6006d06f863c931cecf924f85f2>>
* @generated SignedSource<<d42999bd01e4a409c5c39df7219b8ad4>>
*/
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<cd88158c23e6b17b0bc222c6974257bc>>
* @generated SignedSource<<122ad0009b98c978c63eb06826a9b0ee>>
*/
/*
@@ -25769,11 +25769,11 @@ __DEV__ &&
};
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-365c031f-20250407" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-ea05b750-20250408" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-dom: 19.2.0-native-fb-365c031f-20250407\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-native-fb-ea05b750-20250408\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -25810,10 +25810,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -25957,5 +25957,5 @@ __DEV__ &&
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<3d3a073564d0e01acb06ca8aa9d3f083>>
* @generated SignedSource<<af0d7469694fc2ea541b7e8362ad2e9d>>
*/
/*
@@ -12399,20 +12399,20 @@ function debounceScrollEnd(targetInst, nativeEvent, nativeEventTarget) {
(nativeEventTarget[internalScrollTimer] = targetInst));
}
for (
var i$jscomp$inline_1544 = 0;
i$jscomp$inline_1544 < simpleEventPluginEvents.length;
i$jscomp$inline_1544++
var i$jscomp$inline_1545 = 0;
i$jscomp$inline_1545 < simpleEventPluginEvents.length;
i$jscomp$inline_1545++
) {
var eventName$jscomp$inline_1545 =
simpleEventPluginEvents[i$jscomp$inline_1544],
domEventName$jscomp$inline_1546 =
eventName$jscomp$inline_1545.toLowerCase(),
capitalizedEvent$jscomp$inline_1547 =
eventName$jscomp$inline_1545[0].toUpperCase() +
eventName$jscomp$inline_1545.slice(1);
var eventName$jscomp$inline_1546 =
simpleEventPluginEvents[i$jscomp$inline_1545],
domEventName$jscomp$inline_1547 =
eventName$jscomp$inline_1546.toLowerCase(),
capitalizedEvent$jscomp$inline_1548 =
eventName$jscomp$inline_1546[0].toUpperCase() +
eventName$jscomp$inline_1546.slice(1);
registerSimpleEvent(
domEventName$jscomp$inline_1546,
"on" + capitalizedEvent$jscomp$inline_1547
domEventName$jscomp$inline_1547,
"on" + capitalizedEvent$jscomp$inline_1548
);
}
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
@@ -16002,16 +16002,16 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
0 === i && attemptExplicitHydrationTarget(target);
}
};
var isomorphicReactPackageVersion$jscomp$inline_1798 = React.version;
var isomorphicReactPackageVersion$jscomp$inline_1799 = React.version;
if (
"19.2.0-native-fb-365c031f-20250407" !==
isomorphicReactPackageVersion$jscomp$inline_1798
"19.2.0-native-fb-ea05b750-20250408" !==
isomorphicReactPackageVersion$jscomp$inline_1799
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_1798,
"19.2.0-native-fb-365c031f-20250407"
isomorphicReactPackageVersion$jscomp$inline_1799,
"19.2.0-native-fb-ea05b750-20250408"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16031,24 +16031,24 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
null === componentOrElement ? null : componentOrElement.stateNode;
return componentOrElement;
};
var internals$jscomp$inline_2254 = {
var internals$jscomp$inline_2255 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2255 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
var hook$jscomp$inline_2256 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
if (
!hook$jscomp$inline_2255.isDisabled &&
hook$jscomp$inline_2255.supportsFiber
!hook$jscomp$inline_2256.isDisabled &&
hook$jscomp$inline_2256.supportsFiber
)
try {
(rendererID = hook$jscomp$inline_2255.inject(
internals$jscomp$inline_2254
(rendererID = hook$jscomp$inline_2256.inject(
internals$jscomp$inline_2255
)),
(injectedHook = hook$jscomp$inline_2255);
(injectedHook = hook$jscomp$inline_2256);
} catch (err) {}
}
exports.createRoot = function (container, options) {
@@ -16140,4 +16140,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<d3dfa461b52ef076378f05229a120e42>>
* @generated SignedSource<<99c192d2c9ba7ca38935ca430018548c>>
*/
/*
@@ -13084,20 +13084,20 @@ function debounceScrollEnd(targetInst, nativeEvent, nativeEventTarget) {
(nativeEventTarget[internalScrollTimer] = targetInst));
}
for (
var i$jscomp$inline_1639 = 0;
i$jscomp$inline_1639 < simpleEventPluginEvents.length;
i$jscomp$inline_1639++
var i$jscomp$inline_1640 = 0;
i$jscomp$inline_1640 < simpleEventPluginEvents.length;
i$jscomp$inline_1640++
) {
var eventName$jscomp$inline_1640 =
simpleEventPluginEvents[i$jscomp$inline_1639],
domEventName$jscomp$inline_1641 =
eventName$jscomp$inline_1640.toLowerCase(),
capitalizedEvent$jscomp$inline_1642 =
eventName$jscomp$inline_1640[0].toUpperCase() +
eventName$jscomp$inline_1640.slice(1);
var eventName$jscomp$inline_1641 =
simpleEventPluginEvents[i$jscomp$inline_1640],
domEventName$jscomp$inline_1642 =
eventName$jscomp$inline_1641.toLowerCase(),
capitalizedEvent$jscomp$inline_1643 =
eventName$jscomp$inline_1641[0].toUpperCase() +
eventName$jscomp$inline_1641.slice(1);
registerSimpleEvent(
domEventName$jscomp$inline_1641,
"on" + capitalizedEvent$jscomp$inline_1642
domEventName$jscomp$inline_1642,
"on" + capitalizedEvent$jscomp$inline_1643
);
}
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
@@ -16695,16 +16695,16 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
0 === i && attemptExplicitHydrationTarget(target);
}
};
var isomorphicReactPackageVersion$jscomp$inline_1895 = React.version;
var isomorphicReactPackageVersion$jscomp$inline_1896 = React.version;
if (
"19.2.0-native-fb-365c031f-20250407" !==
isomorphicReactPackageVersion$jscomp$inline_1895
"19.2.0-native-fb-ea05b750-20250408" !==
isomorphicReactPackageVersion$jscomp$inline_1896
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_1895,
"19.2.0-native-fb-365c031f-20250407"
isomorphicReactPackageVersion$jscomp$inline_1896,
"19.2.0-native-fb-ea05b750-20250408"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16724,12 +16724,12 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
null === componentOrElement ? null : componentOrElement.stateNode;
return componentOrElement;
};
var internals$jscomp$inline_1902 = {
var internals$jscomp$inline_1903 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407",
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$295 = 0;
@@ -16747,16 +16747,16 @@ var internals$jscomp$inline_1902 = {
}
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2316 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
var hook$jscomp$inline_2317 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
if (
!hook$jscomp$inline_2316.isDisabled &&
hook$jscomp$inline_2316.supportsFiber
!hook$jscomp$inline_2317.isDisabled &&
hook$jscomp$inline_2317.supportsFiber
)
try {
(rendererID = hook$jscomp$inline_2316.inject(
internals$jscomp$inline_1902
(rendererID = hook$jscomp$inline_2317.inject(
internals$jscomp$inline_1903
)),
(injectedHook = hook$jscomp$inline_2316);
(injectedHook = hook$jscomp$inline_2317);
} catch (err) {}
}
exports.createRoot = function (container, options) {
@@ -16848,4 +16848,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<eb59b6d30b5c47deddd0849cf6d26a9a>>
* @generated SignedSource<<958bcd5121de9d6ba1358534ca5e6ce4>>
*/
/*
@@ -25830,11 +25830,11 @@ __DEV__ &&
};
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-365c031f-20250407" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-ea05b750-20250408" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-dom: 19.2.0-native-fb-365c031f-20250407\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-native-fb-ea05b750-20250408\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -25871,10 +25871,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -26334,7 +26334,7 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<95bc0cda7022544077082e115d4f9904>>
* @generated SignedSource<<a4032d4bfd7af1e173c1454dc5aa4fa4>>
*/
/*
@@ -12399,20 +12399,20 @@ function debounceScrollEnd(targetInst, nativeEvent, nativeEventTarget) {
(nativeEventTarget[internalScrollTimer] = targetInst));
}
for (
var i$jscomp$inline_1545 = 0;
i$jscomp$inline_1545 < simpleEventPluginEvents.length;
i$jscomp$inline_1545++
var i$jscomp$inline_1546 = 0;
i$jscomp$inline_1546 < simpleEventPluginEvents.length;
i$jscomp$inline_1546++
) {
var eventName$jscomp$inline_1546 =
simpleEventPluginEvents[i$jscomp$inline_1545],
domEventName$jscomp$inline_1547 =
eventName$jscomp$inline_1546.toLowerCase(),
capitalizedEvent$jscomp$inline_1548 =
eventName$jscomp$inline_1546[0].toUpperCase() +
eventName$jscomp$inline_1546.slice(1);
var eventName$jscomp$inline_1547 =
simpleEventPluginEvents[i$jscomp$inline_1546],
domEventName$jscomp$inline_1548 =
eventName$jscomp$inline_1547.toLowerCase(),
capitalizedEvent$jscomp$inline_1549 =
eventName$jscomp$inline_1547[0].toUpperCase() +
eventName$jscomp$inline_1547.slice(1);
registerSimpleEvent(
domEventName$jscomp$inline_1547,
"on" + capitalizedEvent$jscomp$inline_1548
domEventName$jscomp$inline_1548,
"on" + capitalizedEvent$jscomp$inline_1549
);
}
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
@@ -16013,16 +16013,16 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
0 === i && attemptExplicitHydrationTarget(target);
}
};
var isomorphicReactPackageVersion$jscomp$inline_1799 = React.version;
var isomorphicReactPackageVersion$jscomp$inline_1800 = React.version;
if (
"19.2.0-native-fb-365c031f-20250407" !==
isomorphicReactPackageVersion$jscomp$inline_1799
"19.2.0-native-fb-ea05b750-20250408" !==
isomorphicReactPackageVersion$jscomp$inline_1800
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_1799,
"19.2.0-native-fb-365c031f-20250407"
isomorphicReactPackageVersion$jscomp$inline_1800,
"19.2.0-native-fb-ea05b750-20250408"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16042,24 +16042,24 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
null === componentOrElement ? null : componentOrElement.stateNode;
return componentOrElement;
};
var internals$jscomp$inline_2257 = {
var internals$jscomp$inline_2258 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2258 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
var hook$jscomp$inline_2259 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
if (
!hook$jscomp$inline_2258.isDisabled &&
hook$jscomp$inline_2258.supportsFiber
!hook$jscomp$inline_2259.isDisabled &&
hook$jscomp$inline_2259.supportsFiber
)
try {
(rendererID = hook$jscomp$inline_2258.inject(
internals$jscomp$inline_2257
(rendererID = hook$jscomp$inline_2259.inject(
internals$jscomp$inline_2258
)),
(injectedHook = hook$jscomp$inline_2258);
(injectedHook = hook$jscomp$inline_2259);
} catch (err) {}
}
function noop() {}
@@ -16305,4 +16305,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<3b2edd858711fcf743fd77b085028980>>
* @generated SignedSource<<5335238887725b5ed13f05960e7e20f6>>
*/
/*
@@ -13088,20 +13088,20 @@ function debounceScrollEnd(targetInst, nativeEvent, nativeEventTarget) {
(nativeEventTarget[internalScrollTimer] = targetInst));
}
for (
var i$jscomp$inline_1640 = 0;
i$jscomp$inline_1640 < simpleEventPluginEvents.length;
i$jscomp$inline_1640++
var i$jscomp$inline_1641 = 0;
i$jscomp$inline_1641 < simpleEventPluginEvents.length;
i$jscomp$inline_1641++
) {
var eventName$jscomp$inline_1641 =
simpleEventPluginEvents[i$jscomp$inline_1640],
domEventName$jscomp$inline_1642 =
eventName$jscomp$inline_1641.toLowerCase(),
capitalizedEvent$jscomp$inline_1643 =
eventName$jscomp$inline_1641[0].toUpperCase() +
eventName$jscomp$inline_1641.slice(1);
var eventName$jscomp$inline_1642 =
simpleEventPluginEvents[i$jscomp$inline_1641],
domEventName$jscomp$inline_1643 =
eventName$jscomp$inline_1642.toLowerCase(),
capitalizedEvent$jscomp$inline_1644 =
eventName$jscomp$inline_1642[0].toUpperCase() +
eventName$jscomp$inline_1642.slice(1);
registerSimpleEvent(
domEventName$jscomp$inline_1642,
"on" + capitalizedEvent$jscomp$inline_1643
domEventName$jscomp$inline_1643,
"on" + capitalizedEvent$jscomp$inline_1644
);
}
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
@@ -16710,16 +16710,16 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
0 === i && attemptExplicitHydrationTarget(target);
}
};
var isomorphicReactPackageVersion$jscomp$inline_1896 = React.version;
var isomorphicReactPackageVersion$jscomp$inline_1897 = React.version;
if (
"19.2.0-native-fb-365c031f-20250407" !==
isomorphicReactPackageVersion$jscomp$inline_1896
"19.2.0-native-fb-ea05b750-20250408" !==
isomorphicReactPackageVersion$jscomp$inline_1897
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_1896,
"19.2.0-native-fb-365c031f-20250407"
isomorphicReactPackageVersion$jscomp$inline_1897,
"19.2.0-native-fb-ea05b750-20250408"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16739,12 +16739,12 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
null === componentOrElement ? null : componentOrElement.stateNode;
return componentOrElement;
};
var internals$jscomp$inline_1903 = {
var internals$jscomp$inline_1904 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407",
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$295 = 0;
@@ -16762,16 +16762,16 @@ var internals$jscomp$inline_1903 = {
}
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2319 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
var hook$jscomp$inline_2320 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
if (
!hook$jscomp$inline_2319.isDisabled &&
hook$jscomp$inline_2319.supportsFiber
!hook$jscomp$inline_2320.isDisabled &&
hook$jscomp$inline_2320.supportsFiber
)
try {
(rendererID = hook$jscomp$inline_2319.inject(
internals$jscomp$inline_1903
(rendererID = hook$jscomp$inline_2320.inject(
internals$jscomp$inline_1904
)),
(injectedHook = hook$jscomp$inline_2319);
(injectedHook = hook$jscomp$inline_2320);
} catch (err) {}
}
function noop() {}
@@ -17017,7 +17017,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<6b5a3c26960b2e4a3385be8d5bcba503>>
* @generated SignedSource<<f6c879518fa9123a298f82b2a12d7569>>
*/
"use strict";
@@ -15402,10 +15402,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -15550,5 +15550,5 @@ __DEV__ &&
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<2571f2769b9335e59c174e87bd429f1b>>
* @generated SignedSource<<bd0f534ec66f6fed6d523072662dad27>>
*/
"use strict";
@@ -9704,10 +9704,10 @@ function wrapFiber(fiber) {
}
var internals$jscomp$inline_1415 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1416 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -9843,4 +9843,4 @@ exports.unstable_batchedUpdates = function (fn, a) {
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<484638e940eba7f052a3cec75d7f9565>>
* @generated SignedSource<<17dea7375c2e8285ec66e1248bcee0f5>>
*/
"use strict";
@@ -10317,10 +10317,10 @@ function wrapFiber(fiber) {
}
var internals$jscomp$inline_1228 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407",
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$148 = 0;
@@ -10471,4 +10471,4 @@ exports.unstable_batchedUpdates = function (fn, a) {
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<be59f2b21bd9f40bf152f4f0eb6f9aca>>
* @generated SignedSource<<5c2948f529dfe9afb0564a4c4c4870b8>>
*/
"use strict";
@@ -1412,7 +1412,7 @@ __DEV__ &&
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<5aa3b910dec86442ba47c80322b774ed>>
* @generated SignedSource<<aa6747d6a9041d5cffafc85f8116a2e1>>
*/
"use strict";
@@ -587,4 +587,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<3bd5646a84b2280eb69d0b480b8ad20b>>
* @generated SignedSource<<f51c5b7b93f2465abebe03e16a53bad9>>
*/
"use strict";
@@ -591,7 +591,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-native-fb-365c031f-20250407";
exports.version = "19.2.0-native-fb-ea05b750-20250408";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -1 +1 @@
365c031fd2354e94248ed9390f13fe2975b994f6
ea05b750a5374458fc8c74ea0918059c818d1167
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<4f2954f11b7d3ebc50b33ca35a4681a8>>
* @generated SignedSource<<978ae86bef6605e356bfdb894f333e06>>
*/
"use strict";
@@ -17134,10 +17134,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<e52b68375c36018b39f50158a9c4013d>>
* @generated SignedSource<<85afd6423ee7ad8fe03b35f8ad61844a>>
*/
"use strict";
@@ -10919,10 +10919,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1222 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1222.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<30ce0238acf1d3b1b8794694b5265ef5>>
* @generated SignedSource<<3f6759d2ab0add4ae07aff878ea300cc>>
*/
"use strict";
@@ -11616,10 +11616,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1317 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1317.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<26eca74989d6ec308cee6e1383029826>>
* @generated SignedSource<<3ddbe9e9832bf6fd13dbc5fe81070341>>
*/
"use strict";
@@ -17312,11 +17312,11 @@ __DEV__ &&
shouldSuspendImpl = newShouldSuspendImpl;
};
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-365c031f-20250407" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-ea05b750-20250408" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-365c031f-20250407\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-ea05b750-20250408\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -17342,10 +17342,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<fb1b8c3c304ee2fb050c9a02fd5873fb>>
* @generated SignedSource<<3e7a772df6de51e929f20f900b1e61d1>>
*/
"use strict";
@@ -11016,11 +11016,11 @@ function updateContainer(element, container, parentComponent, callback) {
return lane;
}
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-365c031f-20250407" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-ea05b750-20250408" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-365c031f-20250407\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-ea05b750-20250408\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -11069,10 +11069,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1285 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1285.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<63cd891d9a074c7971a6065232ea8521>>
* @generated SignedSource<<71ae8007ab3545e515c36d14fab63d88>>
*/
"use strict";
@@ -11711,11 +11711,11 @@ function updateContainer(element, container, parentComponent, callback) {
return lane;
}
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-365c031f-20250407" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-ea05b750-20250408" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-365c031f-20250407\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-ea05b750-20250408\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -11764,10 +11764,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1380 = {
bundleType: 0,
version: "19.2.0-native-fb-365c031f-20250407",
version: "19.2.0-native-fb-ea05b750-20250408",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-365c031f-20250407"
reconcilerVersion: "19.2.0-native-fb-ea05b750-20250408"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1380.rendererConfig = extraDevToolsConfig);