Skip to content

Commit a6512b7

Browse files
committed
[Fiber] Support moveBefore at the top level of a container (facebook#32036)
Parity with appendChild and insertBefore. This allows reordering at the root while preserving state. DiffTrain build for [056073d](facebook@056073d)
1 parent 378ae9c commit a6512b7

23 files changed

+168
-110
lines changed

compiled-rn/VERSION_NATIVE_FB

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.1.0-native-fb-f2813ee3-20250109
1+
19.1.0-native-fb-056073de-20250109

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-dev.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<5e6791144624fcc50b7d8ab1d2f34a0c>>
10+
* @generated SignedSource<<43825cc79ad4b8b2491f4fe4c4cea764>>
1111
*/
1212

1313
"use strict";
@@ -420,5 +420,5 @@ __DEV__ &&
420420
exports.useFormStatus = function () {
421421
return resolveDispatcher().useHostTransitionStatus();
422422
};
423-
exports.version = "19.1.0-native-fb-f2813ee3-20250109";
423+
exports.version = "19.1.0-native-fb-056073de-20250109";
424424
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-prod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<41288d212b3aeea4b10b27b9919534f0>>
10+
* @generated SignedSource<<9605c0b9e6866251811176e83b991a62>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.1.0-native-fb-f2813ee3-20250109";
206+
exports.version = "19.1.0-native-fb-056073de-20250109";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-profiling.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<41288d212b3aeea4b10b27b9919534f0>>
10+
* @generated SignedSource<<9605c0b9e6866251811176e83b991a62>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.1.0-native-fb-f2813ee3-20250109";
206+
exports.version = "19.1.0-native-fb-056073de-20250109";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-dev.js

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<51dafbb4888923bada0204e8233e8288>>
10+
* @generated SignedSource<<b215c441e5306b880f26cec96cb108af>>
1111
*/
1212

1313
/*
@@ -11824,12 +11824,21 @@ __DEV__ &&
1182411824
(node = node.stateNode),
1182511825
before
1182611826
? 8 === parent.nodeType
11827-
? parent.parentNode.insertBefore(node, before)
11828-
: parent.insertBefore(node, before)
11827+
? supportsMoveBefore
11828+
? parent.parentNode.moveBefore(node, before)
11829+
: parent.parentNode.insertBefore(node, before)
11830+
: supportsMoveBefore
11831+
? parent.moveBefore(node, before)
11832+
: parent.insertBefore(node, before)
1182911833
: (8 === parent.nodeType
1183011834
? ((before = parent.parentNode),
11831-
before.insertBefore(node, parent))
11832-
: ((before = parent), before.appendChild(node)),
11835+
supportsMoveBefore
11836+
? before.moveBefore(node, parent)
11837+
: before.insertBefore(node, parent))
11838+
: ((before = parent),
11839+
supportsMoveBefore
11840+
? before.moveBefore(node, null)
11841+
: before.appendChild(node)),
1183311842
(parent = parent._reactRootContainer),
1183411843
(null !== parent && void 0 !== parent) ||
1183511844
null !== before.onclick ||
@@ -25933,11 +25942,11 @@ __DEV__ &&
2593325942
};
2593425943
(function () {
2593525944
var isomorphicReactPackageVersion = React.version;
25936-
if ("19.1.0-native-fb-f2813ee3-20250109" !== isomorphicReactPackageVersion)
25945+
if ("19.1.0-native-fb-056073de-20250109" !== isomorphicReactPackageVersion)
2593725946
throw Error(
2593825947
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2593925948
(isomorphicReactPackageVersion +
25940-
"\n - react-dom: 19.1.0-native-fb-f2813ee3-20250109\nLearn more: https://react.dev/warnings/version-mismatch")
25949+
"\n - react-dom: 19.1.0-native-fb-056073de-20250109\nLearn more: https://react.dev/warnings/version-mismatch")
2594125950
);
2594225951
})();
2594325952
("function" === typeof Map &&
@@ -25974,10 +25983,10 @@ __DEV__ &&
2597425983
!(function () {
2597525984
var internals = {
2597625985
bundleType: 1,
25977-
version: "19.1.0-native-fb-f2813ee3-20250109",
25986+
version: "19.1.0-native-fb-056073de-20250109",
2597825987
rendererPackageName: "react-dom",
2597925988
currentDispatcherRef: ReactSharedInternals,
25980-
reconcilerVersion: "19.1.0-native-fb-f2813ee3-20250109"
25989+
reconcilerVersion: "19.1.0-native-fb-056073de-20250109"
2598125990
};
2598225991
internals.overrideHookState = overrideHookState;
2598325992
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -26123,5 +26132,5 @@ __DEV__ &&
2612326132
listenToAllSupportedEvents(container);
2612426133
return new ReactDOMHydrationRoot(initialChildren);
2612526134
};
26126-
exports.version = "19.1.0-native-fb-f2813ee3-20250109";
26135+
exports.version = "19.1.0-native-fb-056073de-20250109";
2612726136
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-prod.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<2b6c436231d9daecb170cb46b9a887a2>>
10+
* @generated SignedSource<<6d0bb599e6dffc06990ad7b4086e34bb>>
1111
*/
1212

1313
/*
@@ -8158,11 +8158,21 @@ function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
81588158
(node = node.stateNode),
81598159
before
81608160
? 8 === parent.nodeType
8161-
? parent.parentNode.insertBefore(node, before)
8162-
: parent.insertBefore(node, before)
8161+
? supportsMoveBefore
8162+
? parent.parentNode.moveBefore(node, before)
8163+
: parent.parentNode.insertBefore(node, before)
8164+
: supportsMoveBefore
8165+
? parent.moveBefore(node, before)
8166+
: parent.insertBefore(node, before)
81638167
: (8 === parent.nodeType
8164-
? ((before = parent.parentNode), before.insertBefore(node, parent))
8165-
: ((before = parent), before.appendChild(node)),
8168+
? ((before = parent.parentNode),
8169+
supportsMoveBefore
8170+
? before.moveBefore(node, parent)
8171+
: before.insertBefore(node, parent))
8172+
: ((before = parent),
8173+
supportsMoveBefore
8174+
? before.moveBefore(node, null)
8175+
: before.appendChild(node)),
81668176
(parent = parent._reactRootContainer),
81678177
(null !== parent && void 0 !== parent) ||
81688178
null !== before.onclick ||
@@ -15951,14 +15961,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1595115961
};
1595215962
var isomorphicReactPackageVersion$jscomp$inline_1769 = React.version;
1595315963
if (
15954-
"19.1.0-native-fb-f2813ee3-20250109" !==
15964+
"19.1.0-native-fb-056073de-20250109" !==
1595515965
isomorphicReactPackageVersion$jscomp$inline_1769
1595615966
)
1595715967
throw Error(
1595815968
formatProdErrorMessage(
1595915969
527,
1596015970
isomorphicReactPackageVersion$jscomp$inline_1769,
15961-
"19.1.0-native-fb-f2813ee3-20250109"
15971+
"19.1.0-native-fb-056073de-20250109"
1596215972
)
1596315973
);
1596415974
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -15980,10 +15990,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1598015990
};
1598115991
var internals$jscomp$inline_2217 = {
1598215992
bundleType: 0,
15983-
version: "19.1.0-native-fb-f2813ee3-20250109",
15993+
version: "19.1.0-native-fb-056073de-20250109",
1598415994
rendererPackageName: "react-dom",
1598515995
currentDispatcherRef: ReactSharedInternals,
15986-
reconcilerVersion: "19.1.0-native-fb-f2813ee3-20250109"
15996+
reconcilerVersion: "19.1.0-native-fb-056073de-20250109"
1598715997
};
1598815998
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1598915999
var hook$jscomp$inline_2218 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -16089,4 +16099,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1608916099
listenToAllSupportedEvents(container);
1609016100
return new ReactDOMHydrationRoot(initialChildren);
1609116101
};
16092-
exports.version = "19.1.0-native-fb-f2813ee3-20250109";
16102+
exports.version = "19.1.0-native-fb-056073de-20250109";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-profiling.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<f6ca8e32020e57113bfe22b58d620a1d>>
10+
* @generated SignedSource<<ac7a1701472a637b2c77e02e39d83f0d>>
1111
*/
1212

1313
/*
@@ -8501,11 +8501,21 @@ function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
85018501
(node = node.stateNode),
85028502
before
85038503
? 8 === parent.nodeType
8504-
? parent.parentNode.insertBefore(node, before)
8505-
: parent.insertBefore(node, before)
8504+
? supportsMoveBefore
8505+
? parent.parentNode.moveBefore(node, before)
8506+
: parent.parentNode.insertBefore(node, before)
8507+
: supportsMoveBefore
8508+
? parent.moveBefore(node, before)
8509+
: parent.insertBefore(node, before)
85068510
: (8 === parent.nodeType
8507-
? ((before = parent.parentNode), before.insertBefore(node, parent))
8508-
: ((before = parent), before.appendChild(node)),
8511+
? ((before = parent.parentNode),
8512+
supportsMoveBefore
8513+
? before.moveBefore(node, parent)
8514+
: before.insertBefore(node, parent))
8515+
: ((before = parent),
8516+
supportsMoveBefore
8517+
? before.moveBefore(node, null)
8518+
: before.appendChild(node)),
85098519
(parent = parent._reactRootContainer),
85108520
(null !== parent && void 0 !== parent) ||
85118521
null !== before.onclick ||
@@ -16600,14 +16610,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1660016610
};
1660116611
var isomorphicReactPackageVersion$jscomp$inline_1864 = React.version;
1660216612
if (
16603-
"19.1.0-native-fb-f2813ee3-20250109" !==
16613+
"19.1.0-native-fb-056073de-20250109" !==
1660416614
isomorphicReactPackageVersion$jscomp$inline_1864
1660516615
)
1660616616
throw Error(
1660716617
formatProdErrorMessage(
1660816618
527,
1660916619
isomorphicReactPackageVersion$jscomp$inline_1864,
16610-
"19.1.0-native-fb-f2813ee3-20250109"
16620+
"19.1.0-native-fb-056073de-20250109"
1661116621
)
1661216622
);
1661316623
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16629,10 +16639,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1662916639
};
1663016640
var internals$jscomp$inline_1871 = {
1663116641
bundleType: 0,
16632-
version: "19.1.0-native-fb-f2813ee3-20250109",
16642+
version: "19.1.0-native-fb-056073de-20250109",
1663316643
rendererPackageName: "react-dom",
1663416644
currentDispatcherRef: ReactSharedInternals,
16635-
reconcilerVersion: "19.1.0-native-fb-f2813ee3-20250109",
16645+
reconcilerVersion: "19.1.0-native-fb-056073de-20250109",
1663616646
getLaneLabelMap: function () {
1663716647
for (
1663816648
var map = new Map(), lane = 1, index$292 = 0;
@@ -16753,4 +16763,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1675316763
listenToAllSupportedEvents(container);
1675416764
return new ReactDOMHydrationRoot(initialChildren);
1675516765
};
16756-
exports.version = "19.1.0-native-fb-f2813ee3-20250109";
16766+
exports.version = "19.1.0-native-fb-056073de-20250109";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMProfiling-dev.js

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<a43b1ab4715ac0ed410484712bec9c2c>>
10+
* @generated SignedSource<<731a6d479b6fabd8fe1d10ee280e54a7>>
1111
*/
1212

1313
/*
@@ -11832,12 +11832,21 @@ __DEV__ &&
1183211832
(node = node.stateNode),
1183311833
before
1183411834
? 8 === parent.nodeType
11835-
? parent.parentNode.insertBefore(node, before)
11836-
: parent.insertBefore(node, before)
11835+
? supportsMoveBefore
11836+
? parent.parentNode.moveBefore(node, before)
11837+
: parent.parentNode.insertBefore(node, before)
11838+
: supportsMoveBefore
11839+
? parent.moveBefore(node, before)
11840+
: parent.insertBefore(node, before)
1183711841
: (8 === parent.nodeType
1183811842
? ((before = parent.parentNode),
11839-
before.insertBefore(node, parent))
11840-
: ((before = parent), before.appendChild(node)),
11843+
supportsMoveBefore
11844+
? before.moveBefore(node, parent)
11845+
: before.insertBefore(node, parent))
11846+
: ((before = parent),
11847+
supportsMoveBefore
11848+
? before.moveBefore(node, null)
11849+
: before.appendChild(node)),
1184111850
(parent = parent._reactRootContainer),
1184211851
(null !== parent && void 0 !== parent) ||
1184311852
null !== before.onclick ||
@@ -25994,11 +26003,11 @@ __DEV__ &&
2599426003
};
2599526004
(function () {
2599626005
var isomorphicReactPackageVersion = React.version;
25997-
if ("19.1.0-native-fb-f2813ee3-20250109" !== isomorphicReactPackageVersion)
26006+
if ("19.1.0-native-fb-056073de-20250109" !== isomorphicReactPackageVersion)
2599826007
throw Error(
2599926008
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2600026009
(isomorphicReactPackageVersion +
26001-
"\n - react-dom: 19.1.0-native-fb-f2813ee3-20250109\nLearn more: https://react.dev/warnings/version-mismatch")
26010+
"\n - react-dom: 19.1.0-native-fb-056073de-20250109\nLearn more: https://react.dev/warnings/version-mismatch")
2600226011
);
2600326012
})();
2600426013
("function" === typeof Map &&
@@ -26035,10 +26044,10 @@ __DEV__ &&
2603526044
!(function () {
2603626045
var internals = {
2603726046
bundleType: 1,
26038-
version: "19.1.0-native-fb-f2813ee3-20250109",
26047+
version: "19.1.0-native-fb-056073de-20250109",
2603926048
rendererPackageName: "react-dom",
2604026049
currentDispatcherRef: ReactSharedInternals,
26041-
reconcilerVersion: "19.1.0-native-fb-f2813ee3-20250109"
26050+
reconcilerVersion: "19.1.0-native-fb-056073de-20250109"
2604226051
};
2604326052
internals.overrideHookState = overrideHookState;
2604426053
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -26500,7 +26509,7 @@ __DEV__ &&
2650026509
exports.useFormStatus = function () {
2650126510
return resolveDispatcher().useHostTransitionStatus();
2650226511
};
26503-
exports.version = "19.1.0-native-fb-f2813ee3-20250109";
26512+
exports.version = "19.1.0-native-fb-056073de-20250109";
2650426513
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
2650526514
"function" ===
2650626515
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)