mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Move Hydration Warnings from the DOM Config into the Fiber reconciliation (#28476)
Stacked on #28458.
This doesn't actually really change the messages yet, it's just a
refactor.
Hydration warnings can be presented either as HTML or React JSX format.
If presented as HTML it makes more sense to make that a DOM specific
concept, however, I think it's actually better to present it in terms of
React JSX.
Most of the time the errors aren't going to be something messing with
them at the HTML/HTTP layer. It's because the JS code does something
different. Most of the time you're working in just React. People don't
necessarily even know what the HTML form of it looks like. So this takes
the approach that the warnings are presented in React JSX in their rich
object form.
Therefore, I'm moving the approach to yield diff data to the reconciler
but it's the reconciler that's actually printing all the warnings.
DiffTrain build for [4b8dfd6215](https://github.com/facebook/react/commit/4b8dfd6215bf855402ae1a94cb0ae4f467afca9a)
This commit is contained in:
@@ -1 +1 @@
|
||||
bb66aa3cef4e42aee790200d03cf7a82659da121
|
||||
4b8dfd6215bf855402ae1a94cb0ae4f467afca9a
|
||||
|
||||
@@ -66,7 +66,7 @@ if (__DEV__) {
|
||||
return self;
|
||||
}
|
||||
|
||||
var ReactVersion = "19.0.0-www-classic-ae7c23fd";
|
||||
var ReactVersion = "19.0.0-www-classic-9130e73d";
|
||||
|
||||
var LegacyRoot = 0;
|
||||
var ConcurrentRoot = 1;
|
||||
@@ -2617,13 +2617,14 @@ if (__DEV__) {
|
||||
"Please file an issue."
|
||||
);
|
||||
} // Hydration (when unsupported)
|
||||
|
||||
var supportsHydration = false;
|
||||
var isSuspenseInstancePending = shim$2;
|
||||
var isSuspenseInstanceFallback = shim$2;
|
||||
var getSuspenseInstanceFallbackErrorDetails = shim$2;
|
||||
var registerSuspenseInstanceRetry = shim$2;
|
||||
var clearSuspenseBoundary = shim$2;
|
||||
var clearSuspenseBoundaryFromContainer = shim$2;
|
||||
var errorHydratingContainer = shim$2;
|
||||
|
||||
// Renderers that don't support React Scopes
|
||||
// can re-export everything from this module.
|
||||
@@ -3593,14 +3594,6 @@ if (__DEV__) {
|
||||
}
|
||||
}
|
||||
|
||||
// This is imported by the event replaying implementation in React DOM. It's
|
||||
// in a separate file to break a circular dependency between the renderer and
|
||||
// the reconciler.
|
||||
function isRootDehydrated(root) {
|
||||
var currentState = root.current.memoizedState;
|
||||
return currentState.isDehydrated;
|
||||
}
|
||||
|
||||
var contextStackCursor = createCursor(null);
|
||||
var contextFiberStackCursor = createCursor(null);
|
||||
var rootInstanceStackCursor = createCursor(null); // Represents the nearest host transition provider (in React DOM, a <form />)
|
||||
@@ -25730,27 +25723,7 @@ if (__DEV__) {
|
||||
// back to client side render.
|
||||
// Before rendering again, save the errors from the previous attempt.
|
||||
var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;
|
||||
var wasRootDehydrated = isRootDehydrated(root);
|
||||
|
||||
if (wasRootDehydrated) {
|
||||
// The shell failed to hydrate. Set a flag to force a client rendering
|
||||
// during the next attempt. To do this, we call prepareFreshStack now
|
||||
// to create the root work-in-progress fiber. This is a bit weird in terms
|
||||
// of factoring, because it relies on renderRootSync not calling
|
||||
// prepareFreshStack again in the call below, which happens because the
|
||||
// root and lanes haven't changed.
|
||||
//
|
||||
// TODO: I think what we should do is set ForceClientRender inside
|
||||
// throwException, like we do for nested Suspense boundaries. The reason
|
||||
// it's here instead is so we can switch to the synchronous work loop, too.
|
||||
// Something to consider for a future refactor.
|
||||
var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);
|
||||
rootWorkInProgress.flags |= ForceClientRender;
|
||||
|
||||
{
|
||||
errorHydratingContainer();
|
||||
}
|
||||
}
|
||||
var wasRootDehydrated = supportsHydration;
|
||||
|
||||
var exitStatus = renderRootSync(root, errorRetryLanes);
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ if (__DEV__) {
|
||||
return self;
|
||||
}
|
||||
|
||||
var ReactVersion = "19.0.0-www-modern-c5863941";
|
||||
var ReactVersion = "19.0.0-www-modern-937bdc18";
|
||||
|
||||
var LegacyRoot = 0;
|
||||
var ConcurrentRoot = 1;
|
||||
@@ -2614,13 +2614,14 @@ if (__DEV__) {
|
||||
"Please file an issue."
|
||||
);
|
||||
} // Hydration (when unsupported)
|
||||
|
||||
var supportsHydration = false;
|
||||
var isSuspenseInstancePending = shim$2;
|
||||
var isSuspenseInstanceFallback = shim$2;
|
||||
var getSuspenseInstanceFallbackErrorDetails = shim$2;
|
||||
var registerSuspenseInstanceRetry = shim$2;
|
||||
var clearSuspenseBoundary = shim$2;
|
||||
var clearSuspenseBoundaryFromContainer = shim$2;
|
||||
var errorHydratingContainer = shim$2;
|
||||
|
||||
// Renderers that don't support React Scopes
|
||||
// can re-export everything from this module.
|
||||
@@ -3358,14 +3359,6 @@ if (__DEV__) {
|
||||
}
|
||||
}
|
||||
|
||||
// This is imported by the event replaying implementation in React DOM. It's
|
||||
// in a separate file to break a circular dependency between the renderer and
|
||||
// the reconciler.
|
||||
function isRootDehydrated(root) {
|
||||
var currentState = root.current.memoizedState;
|
||||
return currentState.isDehydrated;
|
||||
}
|
||||
|
||||
var contextStackCursor = createCursor(null);
|
||||
var contextFiberStackCursor = createCursor(null);
|
||||
var rootInstanceStackCursor = createCursor(null); // Represents the nearest host transition provider (in React DOM, a <form />)
|
||||
@@ -25389,27 +25382,7 @@ if (__DEV__) {
|
||||
// back to client side render.
|
||||
// Before rendering again, save the errors from the previous attempt.
|
||||
var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;
|
||||
var wasRootDehydrated = isRootDehydrated(root);
|
||||
|
||||
if (wasRootDehydrated) {
|
||||
// The shell failed to hydrate. Set a flag to force a client rendering
|
||||
// during the next attempt. To do this, we call prepareFreshStack now
|
||||
// to create the root work-in-progress fiber. This is a bit weird in terms
|
||||
// of factoring, because it relies on renderRootSync not calling
|
||||
// prepareFreshStack again in the call below, which happens because the
|
||||
// root and lanes haven't changed.
|
||||
//
|
||||
// TODO: I think what we should do is set ForceClientRender inside
|
||||
// throwException, like we do for nested Suspense boundaries. The reason
|
||||
// it's here instead is so we can switch to the synchronous work loop, too.
|
||||
// Something to consider for a future refactor.
|
||||
var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);
|
||||
rootWorkInProgress.flags |= ForceClientRender;
|
||||
|
||||
{
|
||||
errorHydratingContainer();
|
||||
}
|
||||
}
|
||||
var wasRootDehydrated = supportsHydration;
|
||||
|
||||
var exitStatus = renderRootSync(root, errorRetryLanes);
|
||||
|
||||
|
||||
@@ -9246,13 +9246,10 @@ function recoverFromConcurrentError(
|
||||
originallyAttemptedLanes,
|
||||
errorRetryLanes
|
||||
) {
|
||||
var errorsFromFirstAttempt = workInProgressRootConcurrentErrors,
|
||||
JSCompiler_inline_result;
|
||||
(JSCompiler_inline_result = root.current.memoizedState.isDehydrated) &&
|
||||
(prepareFreshStack(root, errorRetryLanes).flags |= 256);
|
||||
var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;
|
||||
errorRetryLanes = renderRootSync(root, errorRetryLanes);
|
||||
if (2 !== errorRetryLanes) {
|
||||
if (workInProgressRootDidAttachPingListener && !JSCompiler_inline_result)
|
||||
if (workInProgressRootDidAttachPingListener)
|
||||
return (
|
||||
(root.errorRecoveryDisabledLanes |= originallyAttemptedLanes),
|
||||
(workInProgressRootInterleavedUpdatedLanes |= originallyAttemptedLanes),
|
||||
@@ -10609,19 +10606,19 @@ var slice = Array.prototype.slice,
|
||||
};
|
||||
return Text;
|
||||
})(React.Component),
|
||||
devToolsConfig$jscomp$inline_1132 = {
|
||||
devToolsConfig$jscomp$inline_1128 = {
|
||||
findFiberByHostInstance: function () {
|
||||
return null;
|
||||
},
|
||||
bundleType: 0,
|
||||
version: "19.0.0-www-classic-3c2c0375",
|
||||
version: "19.0.0-www-classic-63a4b87a",
|
||||
rendererPackageName: "react-art"
|
||||
};
|
||||
var internals$jscomp$inline_1337 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1132.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1132.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1132.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1132.rendererConfig,
|
||||
var internals$jscomp$inline_1333 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1128.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1128.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1128.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1128.rendererConfig,
|
||||
overrideHookState: null,
|
||||
overrideHookStateDeletePath: null,
|
||||
overrideHookStateRenamePath: null,
|
||||
@@ -10638,26 +10635,26 @@ var internals$jscomp$inline_1337 = {
|
||||
return null === fiber ? null : fiber.stateNode;
|
||||
},
|
||||
findFiberByHostInstance:
|
||||
devToolsConfig$jscomp$inline_1132.findFiberByHostInstance ||
|
||||
devToolsConfig$jscomp$inline_1128.findFiberByHostInstance ||
|
||||
emptyFindFiberByHostInstance,
|
||||
findHostInstancesForRefresh: null,
|
||||
scheduleRefresh: null,
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-www-classic-3c2c0375"
|
||||
reconcilerVersion: "19.0.0-www-classic-63a4b87a"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_1338 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
var hook$jscomp$inline_1334 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
if (
|
||||
!hook$jscomp$inline_1338.isDisabled &&
|
||||
hook$jscomp$inline_1338.supportsFiber
|
||||
!hook$jscomp$inline_1334.isDisabled &&
|
||||
hook$jscomp$inline_1334.supportsFiber
|
||||
)
|
||||
try {
|
||||
(rendererID = hook$jscomp$inline_1338.inject(
|
||||
internals$jscomp$inline_1337
|
||||
(rendererID = hook$jscomp$inline_1334.inject(
|
||||
internals$jscomp$inline_1333
|
||||
)),
|
||||
(injectedHook = hook$jscomp$inline_1338);
|
||||
(injectedHook = hook$jscomp$inline_1334);
|
||||
} catch (err) {}
|
||||
}
|
||||
var Path = Mode$1.Path;
|
||||
|
||||
@@ -8945,13 +8945,10 @@ function recoverFromConcurrentError(
|
||||
originallyAttemptedLanes,
|
||||
errorRetryLanes
|
||||
) {
|
||||
var errorsFromFirstAttempt = workInProgressRootConcurrentErrors,
|
||||
JSCompiler_inline_result;
|
||||
(JSCompiler_inline_result = root.current.memoizedState.isDehydrated) &&
|
||||
(prepareFreshStack(root, errorRetryLanes).flags |= 256);
|
||||
var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;
|
||||
errorRetryLanes = renderRootSync(root, errorRetryLanes);
|
||||
if (2 !== errorRetryLanes) {
|
||||
if (workInProgressRootDidAttachPingListener && !JSCompiler_inline_result)
|
||||
if (workInProgressRootDidAttachPingListener)
|
||||
return (
|
||||
(root.errorRecoveryDisabledLanes |= originallyAttemptedLanes),
|
||||
(workInProgressRootInterleavedUpdatedLanes |= originallyAttemptedLanes),
|
||||
@@ -10264,19 +10261,19 @@ var slice = Array.prototype.slice,
|
||||
};
|
||||
return Text;
|
||||
})(React.Component),
|
||||
devToolsConfig$jscomp$inline_1112 = {
|
||||
devToolsConfig$jscomp$inline_1108 = {
|
||||
findFiberByHostInstance: function () {
|
||||
return null;
|
||||
},
|
||||
bundleType: 0,
|
||||
version: "19.0.0-www-modern-f6a224b8",
|
||||
version: "19.0.0-www-modern-32937d9c",
|
||||
rendererPackageName: "react-art"
|
||||
};
|
||||
var internals$jscomp$inline_1317 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1112.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1112.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1112.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1112.rendererConfig,
|
||||
var internals$jscomp$inline_1313 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1108.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1108.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1108.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1108.rendererConfig,
|
||||
overrideHookState: null,
|
||||
overrideHookStateDeletePath: null,
|
||||
overrideHookStateRenamePath: null,
|
||||
@@ -10293,26 +10290,26 @@ var internals$jscomp$inline_1317 = {
|
||||
return null === fiber ? null : fiber.stateNode;
|
||||
},
|
||||
findFiberByHostInstance:
|
||||
devToolsConfig$jscomp$inline_1112.findFiberByHostInstance ||
|
||||
devToolsConfig$jscomp$inline_1108.findFiberByHostInstance ||
|
||||
emptyFindFiberByHostInstance,
|
||||
findHostInstancesForRefresh: null,
|
||||
scheduleRefresh: null,
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-www-modern-f6a224b8"
|
||||
reconcilerVersion: "19.0.0-www-modern-32937d9c"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_1318 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
var hook$jscomp$inline_1314 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
if (
|
||||
!hook$jscomp$inline_1318.isDisabled &&
|
||||
hook$jscomp$inline_1318.supportsFiber
|
||||
!hook$jscomp$inline_1314.isDisabled &&
|
||||
hook$jscomp$inline_1314.supportsFiber
|
||||
)
|
||||
try {
|
||||
(rendererID = hook$jscomp$inline_1318.inject(
|
||||
internals$jscomp$inline_1317
|
||||
(rendererID = hook$jscomp$inline_1314.inject(
|
||||
internals$jscomp$inline_1313
|
||||
)),
|
||||
(injectedHook = hook$jscomp$inline_1318);
|
||||
(injectedHook = hook$jscomp$inline_1314);
|
||||
} catch (err) {}
|
||||
}
|
||||
var Path = Mode$1.Path;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1707,6 +1707,76 @@ var hydrationParentFiber = null,
|
||||
function throwOnHydrationMismatch() {
|
||||
throw Error(formatProdErrorMessage(418));
|
||||
}
|
||||
function prepareToHydrateHostInstance(fiber) {
|
||||
var instance = fiber.stateNode,
|
||||
type = fiber.type,
|
||||
props = fiber.memoizedProps;
|
||||
instance[internalInstanceKey] = fiber;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (fiber = 0; fiber < mediaEventTypes.length; fiber++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[fiber], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue, props.children),
|
||||
track(instance);
|
||||
}
|
||||
fiber = props.children;
|
||||
("string" === typeof fiber ||
|
||||
"number" === typeof fiber ||
|
||||
(enableBigIntSupport && "bigint" === typeof fiber)) &&
|
||||
instance.textContent !== "" + fiber &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
!checkForUnmatchedText(instance.textContent, fiber)
|
||||
? (instance = !1)
|
||||
: (null != props.onScroll && listenToNonDelegatedEvent("scroll", instance),
|
||||
null != props.onScrollEnd &&
|
||||
listenToNonDelegatedEvent("scrollend", instance),
|
||||
null != props.onClick && (instance.onclick = noop$2),
|
||||
(instance = !0));
|
||||
if (!instance) throw Error(formatProdErrorMessage(425));
|
||||
}
|
||||
function popToNextHostParent(fiber) {
|
||||
for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
|
||||
switch (hydrationParentFiber.tag) {
|
||||
@@ -7784,13 +7854,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor$1.current;
|
||||
popHydrationState(workInProgress)
|
||||
? hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
)
|
||||
? prepareToHydrateHostInstance(workInProgress, current)
|
||||
: ((current = resolveSingletonInstance(
|
||||
currentResource,
|
||||
newProps,
|
||||
@@ -7815,13 +7879,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor$1.current;
|
||||
if (popHydrationState(workInProgress))
|
||||
hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
);
|
||||
prepareToHydrateHostInstance(workInProgress, current);
|
||||
else {
|
||||
currentResource = getOwnerDocumentFromRootContainer(
|
||||
rootInstanceStackCursor.current
|
||||
@@ -7938,22 +7996,24 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
throw Error(formatProdErrorMessage(166));
|
||||
current = rootInstanceStackCursor.current;
|
||||
if (popHydrationState(workInProgress)) {
|
||||
if (
|
||||
((current = workInProgress.stateNode),
|
||||
(renderLanes = workInProgress.memoizedProps),
|
||||
(current[internalInstanceKey] = workInProgress),
|
||||
current.nodeValue !== renderLanes &&
|
||||
((newProps = hydrationParentFiber), null !== newProps))
|
||||
)
|
||||
switch (newProps.tag) {
|
||||
case 3:
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
break;
|
||||
current = workInProgress.stateNode;
|
||||
renderLanes = workInProgress.memoizedProps;
|
||||
newProps = null;
|
||||
currentResource = hydrationParentFiber;
|
||||
if (null !== currentResource)
|
||||
switch (currentResource.tag) {
|
||||
case 27:
|
||||
case 5:
|
||||
!0 !== newProps.memoizedProps.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
newProps = currentResource.memoizedProps;
|
||||
}
|
||||
current[internalInstanceKey] = workInProgress;
|
||||
current =
|
||||
current.nodeValue === renderLanes ||
|
||||
(null !== newProps && !0 === newProps.suppressHydrationWarning) ||
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes)
|
||||
? !0
|
||||
: !1;
|
||||
if (!current) throw Error(formatProdErrorMessage(425));
|
||||
} else
|
||||
(current =
|
||||
getOwnerDocumentFromRootContainer(current).createTextNode(
|
||||
@@ -12989,14 +13049,14 @@ var isInputEventSupported = !1;
|
||||
if (canUseDOM) {
|
||||
var JSCompiler_inline_result$jscomp$344;
|
||||
if (canUseDOM) {
|
||||
var isSupported$jscomp$inline_1514 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1514) {
|
||||
var element$jscomp$inline_1515 = document.createElement("div");
|
||||
element$jscomp$inline_1515.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1514 =
|
||||
"function" === typeof element$jscomp$inline_1515.oninput;
|
||||
var isSupported$jscomp$inline_1505 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1505) {
|
||||
var element$jscomp$inline_1506 = document.createElement("div");
|
||||
element$jscomp$inline_1506.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1505 =
|
||||
"function" === typeof element$jscomp$inline_1506.oninput;
|
||||
}
|
||||
JSCompiler_inline_result$jscomp$344 = isSupported$jscomp$inline_1514;
|
||||
JSCompiler_inline_result$jscomp$344 = isSupported$jscomp$inline_1505;
|
||||
} else JSCompiler_inline_result$jscomp$344 = !1;
|
||||
isInputEventSupported =
|
||||
JSCompiler_inline_result$jscomp$344 &&
|
||||
@@ -13371,20 +13431,20 @@ function extractEvents$1(
|
||||
}
|
||||
}
|
||||
for (
|
||||
var i$jscomp$inline_1555 = 0;
|
||||
i$jscomp$inline_1555 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1555++
|
||||
var i$jscomp$inline_1546 = 0;
|
||||
i$jscomp$inline_1546 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1546++
|
||||
) {
|
||||
var eventName$jscomp$inline_1556 =
|
||||
simpleEventPluginEvents[i$jscomp$inline_1555],
|
||||
domEventName$jscomp$inline_1557 =
|
||||
eventName$jscomp$inline_1556.toLowerCase(),
|
||||
capitalizedEvent$jscomp$inline_1558 =
|
||||
eventName$jscomp$inline_1556[0].toUpperCase() +
|
||||
eventName$jscomp$inline_1556.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_1557,
|
||||
"on" + capitalizedEvent$jscomp$inline_1558
|
||||
domEventName$jscomp$inline_1548,
|
||||
"on" + capitalizedEvent$jscomp$inline_1549
|
||||
);
|
||||
}
|
||||
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
|
||||
@@ -14232,8 +14292,7 @@ function normalizeMarkupForTextOrAttribute(markup) {
|
||||
}
|
||||
function checkForUnmatchedText(serverText, clientText) {
|
||||
clientText = normalizeMarkupForTextOrAttribute(clientText);
|
||||
if (normalizeMarkupForTextOrAttribute(serverText) !== clientText)
|
||||
throw Error(formatProdErrorMessage(425));
|
||||
return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;
|
||||
}
|
||||
function noop$2() {}
|
||||
function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
@@ -15431,75 +15490,6 @@ function getNextHydratable(node) {
|
||||
}
|
||||
return node;
|
||||
}
|
||||
function hydrateInstance(
|
||||
instance,
|
||||
type,
|
||||
props,
|
||||
hostContext,
|
||||
internalInstanceHandle
|
||||
) {
|
||||
instance[internalInstanceKey] = internalInstanceHandle;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (type = 0; type < mediaEventTypes.length; type++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[type], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue, props.children),
|
||||
track(instance);
|
||||
}
|
||||
type = props.children;
|
||||
("string" === typeof type ||
|
||||
"number" === typeof type ||
|
||||
(enableBigIntSupport && "bigint" === typeof type)) &&
|
||||
instance.textContent !== "" + type &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(instance.textContent, type);
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$2);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
targetInstance = targetInstance.previousSibling;
|
||||
for (var depth = 0; targetInstance; ) {
|
||||
@@ -17091,17 +17081,17 @@ Internals.Events = [
|
||||
restoreStateIfNeeded,
|
||||
batchedUpdates$1
|
||||
];
|
||||
var devToolsConfig$jscomp$inline_1778 = {
|
||||
var devToolsConfig$jscomp$inline_1762 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "19.0.0-www-classic-d89e0697",
|
||||
version: "19.0.0-www-classic-e05da639",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2171 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1778.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1778.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1778.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1778.rendererConfig,
|
||||
var internals$jscomp$inline_2147 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1762.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1762.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1762.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1762.rendererConfig,
|
||||
overrideHookState: null,
|
||||
overrideHookStateDeletePath: null,
|
||||
overrideHookStateRenamePath: null,
|
||||
@@ -17117,26 +17107,26 @@ var internals$jscomp$inline_2171 = {
|
||||
return null === fiber ? null : fiber.stateNode;
|
||||
},
|
||||
findFiberByHostInstance:
|
||||
devToolsConfig$jscomp$inline_1778.findFiberByHostInstance ||
|
||||
devToolsConfig$jscomp$inline_1762.findFiberByHostInstance ||
|
||||
emptyFindFiberByHostInstance,
|
||||
findHostInstancesForRefresh: null,
|
||||
scheduleRefresh: null,
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-www-classic-d89e0697"
|
||||
reconcilerVersion: "19.0.0-www-classic-e05da639"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2172 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
var hook$jscomp$inline_2148 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
if (
|
||||
!hook$jscomp$inline_2172.isDisabled &&
|
||||
hook$jscomp$inline_2172.supportsFiber
|
||||
!hook$jscomp$inline_2148.isDisabled &&
|
||||
hook$jscomp$inline_2148.supportsFiber
|
||||
)
|
||||
try {
|
||||
(rendererID = hook$jscomp$inline_2172.inject(
|
||||
internals$jscomp$inline_2171
|
||||
(rendererID = hook$jscomp$inline_2148.inject(
|
||||
internals$jscomp$inline_2147
|
||||
)),
|
||||
(injectedHook = hook$jscomp$inline_2172);
|
||||
(injectedHook = hook$jscomp$inline_2148);
|
||||
} catch (err) {}
|
||||
}
|
||||
assign(Internals, {
|
||||
@@ -17444,4 +17434,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.0.0-www-classic-d89e0697";
|
||||
exports.version = "19.0.0-www-classic-e05da639";
|
||||
|
||||
@@ -1601,6 +1601,76 @@ var hydrationParentFiber = null,
|
||||
function throwOnHydrationMismatch() {
|
||||
throw Error(formatProdErrorMessage(418));
|
||||
}
|
||||
function prepareToHydrateHostInstance(fiber) {
|
||||
var instance = fiber.stateNode,
|
||||
type = fiber.type,
|
||||
props = fiber.memoizedProps;
|
||||
instance[internalInstanceKey] = fiber;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (fiber = 0; fiber < mediaEventTypes.length; fiber++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[fiber], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue),
|
||||
track(instance);
|
||||
}
|
||||
fiber = props.children;
|
||||
("string" === typeof fiber ||
|
||||
"number" === typeof fiber ||
|
||||
(enableBigIntSupport && "bigint" === typeof fiber)) &&
|
||||
instance.textContent !== "" + fiber &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
!checkForUnmatchedText(instance.textContent, fiber)
|
||||
? (instance = !1)
|
||||
: (null != props.onScroll && listenToNonDelegatedEvent("scroll", instance),
|
||||
null != props.onScrollEnd &&
|
||||
listenToNonDelegatedEvent("scrollend", instance),
|
||||
null != props.onClick && (instance.onclick = noop$1),
|
||||
(instance = !0));
|
||||
if (!instance) throw Error(formatProdErrorMessage(425));
|
||||
}
|
||||
function popToNextHostParent(fiber) {
|
||||
for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
|
||||
switch (hydrationParentFiber.tag) {
|
||||
@@ -7597,13 +7667,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor.current;
|
||||
popHydrationState(workInProgress)
|
||||
? hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
)
|
||||
? prepareToHydrateHostInstance(workInProgress, current)
|
||||
: ((current = resolveSingletonInstance(
|
||||
currentResource,
|
||||
newProps,
|
||||
@@ -7628,13 +7692,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor.current;
|
||||
if (popHydrationState(workInProgress))
|
||||
hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
);
|
||||
prepareToHydrateHostInstance(workInProgress, current);
|
||||
else {
|
||||
currentResource = getOwnerDocumentFromRootContainer(
|
||||
rootInstanceStackCursor.current
|
||||
@@ -7751,22 +7809,24 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
throw Error(formatProdErrorMessage(166));
|
||||
current = rootInstanceStackCursor.current;
|
||||
if (popHydrationState(workInProgress)) {
|
||||
if (
|
||||
((current = workInProgress.stateNode),
|
||||
(renderLanes = workInProgress.memoizedProps),
|
||||
(current[internalInstanceKey] = workInProgress),
|
||||
current.nodeValue !== renderLanes &&
|
||||
((newProps = hydrationParentFiber), null !== newProps))
|
||||
)
|
||||
switch (newProps.tag) {
|
||||
case 3:
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
break;
|
||||
current = workInProgress.stateNode;
|
||||
renderLanes = workInProgress.memoizedProps;
|
||||
newProps = null;
|
||||
currentResource = hydrationParentFiber;
|
||||
if (null !== currentResource)
|
||||
switch (currentResource.tag) {
|
||||
case 27:
|
||||
case 5:
|
||||
!0 !== newProps.memoizedProps.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
newProps = currentResource.memoizedProps;
|
||||
}
|
||||
current[internalInstanceKey] = workInProgress;
|
||||
current =
|
||||
current.nodeValue === renderLanes ||
|
||||
(null !== newProps && !0 === newProps.suppressHydrationWarning) ||
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes)
|
||||
? !0
|
||||
: !1;
|
||||
if (!current) throw Error(formatProdErrorMessage(425));
|
||||
} else
|
||||
(current =
|
||||
getOwnerDocumentFromRootContainer(current).createTextNode(
|
||||
@@ -13356,14 +13416,14 @@ var isInputEventSupported = !1;
|
||||
if (canUseDOM) {
|
||||
var JSCompiler_inline_result$jscomp$342;
|
||||
if (canUseDOM) {
|
||||
var isSupported$jscomp$inline_1514 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1514) {
|
||||
var element$jscomp$inline_1515 = document.createElement("div");
|
||||
element$jscomp$inline_1515.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1514 =
|
||||
"function" === typeof element$jscomp$inline_1515.oninput;
|
||||
var isSupported$jscomp$inline_1505 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1505) {
|
||||
var element$jscomp$inline_1506 = document.createElement("div");
|
||||
element$jscomp$inline_1506.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1505 =
|
||||
"function" === typeof element$jscomp$inline_1506.oninput;
|
||||
}
|
||||
JSCompiler_inline_result$jscomp$342 = isSupported$jscomp$inline_1514;
|
||||
JSCompiler_inline_result$jscomp$342 = isSupported$jscomp$inline_1505;
|
||||
} else JSCompiler_inline_result$jscomp$342 = !1;
|
||||
isInputEventSupported =
|
||||
JSCompiler_inline_result$jscomp$342 &&
|
||||
@@ -13675,20 +13735,20 @@ function registerSimpleEvent(domEventName, reactName) {
|
||||
registerTwoPhaseEvent(reactName, [domEventName]);
|
||||
}
|
||||
for (
|
||||
var i$jscomp$inline_1555 = 0;
|
||||
i$jscomp$inline_1555 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1555++
|
||||
var i$jscomp$inline_1546 = 0;
|
||||
i$jscomp$inline_1546 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1546++
|
||||
) {
|
||||
var eventName$jscomp$inline_1556 =
|
||||
simpleEventPluginEvents[i$jscomp$inline_1555],
|
||||
domEventName$jscomp$inline_1557 =
|
||||
eventName$jscomp$inline_1556.toLowerCase(),
|
||||
capitalizedEvent$jscomp$inline_1558 =
|
||||
eventName$jscomp$inline_1556[0].toUpperCase() +
|
||||
eventName$jscomp$inline_1556.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_1557,
|
||||
"on" + capitalizedEvent$jscomp$inline_1558
|
||||
domEventName$jscomp$inline_1548,
|
||||
"on" + capitalizedEvent$jscomp$inline_1549
|
||||
);
|
||||
}
|
||||
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
|
||||
@@ -14536,8 +14596,7 @@ function normalizeMarkupForTextOrAttribute(markup) {
|
||||
}
|
||||
function checkForUnmatchedText(serverText, clientText) {
|
||||
clientText = normalizeMarkupForTextOrAttribute(clientText);
|
||||
if (normalizeMarkupForTextOrAttribute(serverText) !== clientText)
|
||||
throw Error(formatProdErrorMessage(425));
|
||||
return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;
|
||||
}
|
||||
function noop$1() {}
|
||||
function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
@@ -15704,75 +15763,6 @@ function getNextHydratable(node) {
|
||||
}
|
||||
return node;
|
||||
}
|
||||
function hydrateInstance(
|
||||
instance,
|
||||
type,
|
||||
props,
|
||||
hostContext,
|
||||
internalInstanceHandle
|
||||
) {
|
||||
instance[internalInstanceKey] = internalInstanceHandle;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (type = 0; type < mediaEventTypes.length; type++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[type], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue),
|
||||
track(instance);
|
||||
}
|
||||
type = props.children;
|
||||
("string" === typeof type ||
|
||||
"number" === typeof type ||
|
||||
(enableBigIntSupport && "bigint" === typeof type)) &&
|
||||
instance.textContent !== "" + type &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(instance.textContent, type);
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
targetInstance = targetInstance.previousSibling;
|
||||
for (var depth = 0; targetInstance; ) {
|
||||
@@ -16607,17 +16597,17 @@ Internals.Events = [
|
||||
restoreStateIfNeeded,
|
||||
batchedUpdates$1
|
||||
];
|
||||
var devToolsConfig$jscomp$inline_1737 = {
|
||||
var devToolsConfig$jscomp$inline_1721 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "19.0.0-www-modern-321f8c10",
|
||||
version: "19.0.0-www-modern-646a2e2d",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2135 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1737.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1737.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1737.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1737.rendererConfig,
|
||||
var internals$jscomp$inline_2111 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1721.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1721.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1721.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1721.rendererConfig,
|
||||
overrideHookState: null,
|
||||
overrideHookStateDeletePath: null,
|
||||
overrideHookStateRenamePath: null,
|
||||
@@ -16634,26 +16624,26 @@ var internals$jscomp$inline_2135 = {
|
||||
return null === fiber ? null : fiber.stateNode;
|
||||
},
|
||||
findFiberByHostInstance:
|
||||
devToolsConfig$jscomp$inline_1737.findFiberByHostInstance ||
|
||||
devToolsConfig$jscomp$inline_1721.findFiberByHostInstance ||
|
||||
emptyFindFiberByHostInstance,
|
||||
findHostInstancesForRefresh: null,
|
||||
scheduleRefresh: null,
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-www-modern-321f8c10"
|
||||
reconcilerVersion: "19.0.0-www-modern-646a2e2d"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2136 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
var hook$jscomp$inline_2112 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
if (
|
||||
!hook$jscomp$inline_2136.isDisabled &&
|
||||
hook$jscomp$inline_2136.supportsFiber
|
||||
!hook$jscomp$inline_2112.isDisabled &&
|
||||
hook$jscomp$inline_2112.supportsFiber
|
||||
)
|
||||
try {
|
||||
(rendererID = hook$jscomp$inline_2136.inject(
|
||||
internals$jscomp$inline_2135
|
||||
(rendererID = hook$jscomp$inline_2112.inject(
|
||||
internals$jscomp$inline_2111
|
||||
)),
|
||||
(injectedHook = hook$jscomp$inline_2136);
|
||||
(injectedHook = hook$jscomp$inline_2112);
|
||||
} catch (err) {}
|
||||
}
|
||||
exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
|
||||
@@ -16900,4 +16890,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.0.0-www-modern-321f8c10";
|
||||
exports.version = "19.0.0-www-modern-646a2e2d";
|
||||
|
||||
@@ -1843,6 +1843,76 @@ var hydrationParentFiber = null,
|
||||
function throwOnHydrationMismatch() {
|
||||
throw Error(formatProdErrorMessage(418));
|
||||
}
|
||||
function prepareToHydrateHostInstance(fiber) {
|
||||
var instance = fiber.stateNode,
|
||||
type = fiber.type,
|
||||
props = fiber.memoizedProps;
|
||||
instance[internalInstanceKey] = fiber;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (fiber = 0; fiber < mediaEventTypes.length; fiber++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[fiber], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue, props.children),
|
||||
track(instance);
|
||||
}
|
||||
fiber = props.children;
|
||||
("string" === typeof fiber ||
|
||||
"number" === typeof fiber ||
|
||||
(enableBigIntSupport && "bigint" === typeof fiber)) &&
|
||||
instance.textContent !== "" + fiber &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
!checkForUnmatchedText(instance.textContent, fiber)
|
||||
? (instance = !1)
|
||||
: (null != props.onScroll && listenToNonDelegatedEvent("scroll", instance),
|
||||
null != props.onScrollEnd &&
|
||||
listenToNonDelegatedEvent("scrollend", instance),
|
||||
null != props.onClick && (instance.onclick = noop$2),
|
||||
(instance = !0));
|
||||
if (!instance) throw Error(formatProdErrorMessage(425));
|
||||
}
|
||||
function popToNextHostParent(fiber) {
|
||||
for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
|
||||
switch (hydrationParentFiber.tag) {
|
||||
@@ -8072,13 +8142,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor$1.current;
|
||||
popHydrationState(workInProgress)
|
||||
? hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
)
|
||||
? prepareToHydrateHostInstance(workInProgress, current)
|
||||
: ((current = resolveSingletonInstance(
|
||||
currentResource,
|
||||
newProps,
|
||||
@@ -8103,13 +8167,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor$1.current;
|
||||
if (popHydrationState(workInProgress))
|
||||
hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
);
|
||||
prepareToHydrateHostInstance(workInProgress, current);
|
||||
else {
|
||||
currentResource = getOwnerDocumentFromRootContainer(
|
||||
rootInstanceStackCursor.current
|
||||
@@ -8226,22 +8284,24 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
throw Error(formatProdErrorMessage(166));
|
||||
current = rootInstanceStackCursor.current;
|
||||
if (popHydrationState(workInProgress)) {
|
||||
if (
|
||||
((current = workInProgress.stateNode),
|
||||
(renderLanes = workInProgress.memoizedProps),
|
||||
(current[internalInstanceKey] = workInProgress),
|
||||
current.nodeValue !== renderLanes &&
|
||||
((newProps = hydrationParentFiber), null !== newProps))
|
||||
)
|
||||
switch (newProps.tag) {
|
||||
case 3:
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
break;
|
||||
current = workInProgress.stateNode;
|
||||
renderLanes = workInProgress.memoizedProps;
|
||||
newProps = null;
|
||||
currentResource = hydrationParentFiber;
|
||||
if (null !== currentResource)
|
||||
switch (currentResource.tag) {
|
||||
case 27:
|
||||
case 5:
|
||||
!0 !== newProps.memoizedProps.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
newProps = currentResource.memoizedProps;
|
||||
}
|
||||
current[internalInstanceKey] = workInProgress;
|
||||
current =
|
||||
current.nodeValue === renderLanes ||
|
||||
(null !== newProps && !0 === newProps.suppressHydrationWarning) ||
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes)
|
||||
? !0
|
||||
: !1;
|
||||
if (!current) throw Error(formatProdErrorMessage(425));
|
||||
} else
|
||||
(current =
|
||||
getOwnerDocumentFromRootContainer(current).createTextNode(
|
||||
@@ -13738,14 +13798,14 @@ var isInputEventSupported = !1;
|
||||
if (canUseDOM) {
|
||||
var JSCompiler_inline_result$jscomp$365;
|
||||
if (canUseDOM) {
|
||||
var isSupported$jscomp$inline_1599 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1599) {
|
||||
var element$jscomp$inline_1600 = document.createElement("div");
|
||||
element$jscomp$inline_1600.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1599 =
|
||||
"function" === typeof element$jscomp$inline_1600.oninput;
|
||||
var isSupported$jscomp$inline_1590 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1590) {
|
||||
var element$jscomp$inline_1591 = document.createElement("div");
|
||||
element$jscomp$inline_1591.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1590 =
|
||||
"function" === typeof element$jscomp$inline_1591.oninput;
|
||||
}
|
||||
JSCompiler_inline_result$jscomp$365 = isSupported$jscomp$inline_1599;
|
||||
JSCompiler_inline_result$jscomp$365 = isSupported$jscomp$inline_1590;
|
||||
} else JSCompiler_inline_result$jscomp$365 = !1;
|
||||
isInputEventSupported =
|
||||
JSCompiler_inline_result$jscomp$365 &&
|
||||
@@ -14120,20 +14180,20 @@ function extractEvents$1(
|
||||
}
|
||||
}
|
||||
for (
|
||||
var i$jscomp$inline_1640 = 0;
|
||||
i$jscomp$inline_1640 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1640++
|
||||
var i$jscomp$inline_1631 = 0;
|
||||
i$jscomp$inline_1631 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1631++
|
||||
) {
|
||||
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_1632 =
|
||||
simpleEventPluginEvents[i$jscomp$inline_1631],
|
||||
domEventName$jscomp$inline_1633 =
|
||||
eventName$jscomp$inline_1632.toLowerCase(),
|
||||
capitalizedEvent$jscomp$inline_1634 =
|
||||
eventName$jscomp$inline_1632[0].toUpperCase() +
|
||||
eventName$jscomp$inline_1632.slice(1);
|
||||
registerSimpleEvent(
|
||||
domEventName$jscomp$inline_1642,
|
||||
"on" + capitalizedEvent$jscomp$inline_1643
|
||||
domEventName$jscomp$inline_1633,
|
||||
"on" + capitalizedEvent$jscomp$inline_1634
|
||||
);
|
||||
}
|
||||
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
|
||||
@@ -14981,8 +15041,7 @@ function normalizeMarkupForTextOrAttribute(markup) {
|
||||
}
|
||||
function checkForUnmatchedText(serverText, clientText) {
|
||||
clientText = normalizeMarkupForTextOrAttribute(clientText);
|
||||
if (normalizeMarkupForTextOrAttribute(serverText) !== clientText)
|
||||
throw Error(formatProdErrorMessage(425));
|
||||
return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;
|
||||
}
|
||||
function noop$2() {}
|
||||
function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
@@ -16180,75 +16239,6 @@ function getNextHydratable(node) {
|
||||
}
|
||||
return node;
|
||||
}
|
||||
function hydrateInstance(
|
||||
instance,
|
||||
type,
|
||||
props,
|
||||
hostContext,
|
||||
internalInstanceHandle
|
||||
) {
|
||||
instance[internalInstanceKey] = internalInstanceHandle;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (type = 0; type < mediaEventTypes.length; type++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[type], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue, props.children),
|
||||
track(instance);
|
||||
}
|
||||
type = props.children;
|
||||
("string" === typeof type ||
|
||||
"number" === typeof type ||
|
||||
(enableBigIntSupport && "bigint" === typeof type)) &&
|
||||
instance.textContent !== "" + type &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(instance.textContent, type);
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$2);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
targetInstance = targetInstance.previousSibling;
|
||||
for (var depth = 0; targetInstance; ) {
|
||||
@@ -17840,10 +17830,10 @@ Internals.Events = [
|
||||
restoreStateIfNeeded,
|
||||
batchedUpdates$1
|
||||
];
|
||||
var devToolsConfig$jscomp$inline_1863 = {
|
||||
var devToolsConfig$jscomp$inline_1847 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "19.0.0-www-classic-c032ccc7",
|
||||
version: "19.0.0-www-classic-f779e472",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
(function (internals) {
|
||||
@@ -17861,10 +17851,10 @@ var devToolsConfig$jscomp$inline_1863 = {
|
||||
} catch (err) {}
|
||||
return hook.checkDCE ? !0 : !1;
|
||||
})({
|
||||
bundleType: devToolsConfig$jscomp$inline_1863.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1863.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1863.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1863.rendererConfig,
|
||||
bundleType: devToolsConfig$jscomp$inline_1847.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1847.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1847.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1847.rendererConfig,
|
||||
overrideHookState: null,
|
||||
overrideHookStateDeletePath: null,
|
||||
overrideHookStateRenamePath: null,
|
||||
@@ -17880,14 +17870,14 @@ var devToolsConfig$jscomp$inline_1863 = {
|
||||
return null === fiber ? null : fiber.stateNode;
|
||||
},
|
||||
findFiberByHostInstance:
|
||||
devToolsConfig$jscomp$inline_1863.findFiberByHostInstance ||
|
||||
devToolsConfig$jscomp$inline_1847.findFiberByHostInstance ||
|
||||
emptyFindFiberByHostInstance,
|
||||
findHostInstancesForRefresh: null,
|
||||
scheduleRefresh: null,
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-www-classic-c032ccc7"
|
||||
reconcilerVersion: "19.0.0-www-classic-f779e472"
|
||||
});
|
||||
assign(Internals, {
|
||||
ReactBrowserEventEmitter: {
|
||||
@@ -18194,7 +18184,7 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.0.0-www-classic-c032ccc7";
|
||||
exports.version = "19.0.0-www-classic-f779e472";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -1737,6 +1737,76 @@ var hydrationParentFiber = null,
|
||||
function throwOnHydrationMismatch() {
|
||||
throw Error(formatProdErrorMessage(418));
|
||||
}
|
||||
function prepareToHydrateHostInstance(fiber) {
|
||||
var instance = fiber.stateNode,
|
||||
type = fiber.type,
|
||||
props = fiber.memoizedProps;
|
||||
instance[internalInstanceKey] = fiber;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (fiber = 0; fiber < mediaEventTypes.length; fiber++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[fiber], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue),
|
||||
track(instance);
|
||||
}
|
||||
fiber = props.children;
|
||||
("string" === typeof fiber ||
|
||||
"number" === typeof fiber ||
|
||||
(enableBigIntSupport && "bigint" === typeof fiber)) &&
|
||||
instance.textContent !== "" + fiber &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
!checkForUnmatchedText(instance.textContent, fiber)
|
||||
? (instance = !1)
|
||||
: (null != props.onScroll && listenToNonDelegatedEvent("scroll", instance),
|
||||
null != props.onScrollEnd &&
|
||||
listenToNonDelegatedEvent("scrollend", instance),
|
||||
null != props.onClick && (instance.onclick = noop$1),
|
||||
(instance = !0));
|
||||
if (!instance) throw Error(formatProdErrorMessage(425));
|
||||
}
|
||||
function popToNextHostParent(fiber) {
|
||||
for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
|
||||
switch (hydrationParentFiber.tag) {
|
||||
@@ -7879,13 +7949,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor.current;
|
||||
popHydrationState(workInProgress)
|
||||
? hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
)
|
||||
? prepareToHydrateHostInstance(workInProgress, current)
|
||||
: ((current = resolveSingletonInstance(
|
||||
currentResource,
|
||||
newProps,
|
||||
@@ -7910,13 +7974,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor.current;
|
||||
if (popHydrationState(workInProgress))
|
||||
hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
);
|
||||
prepareToHydrateHostInstance(workInProgress, current);
|
||||
else {
|
||||
currentResource = getOwnerDocumentFromRootContainer(
|
||||
rootInstanceStackCursor.current
|
||||
@@ -8033,22 +8091,24 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
throw Error(formatProdErrorMessage(166));
|
||||
current = rootInstanceStackCursor.current;
|
||||
if (popHydrationState(workInProgress)) {
|
||||
if (
|
||||
((current = workInProgress.stateNode),
|
||||
(renderLanes = workInProgress.memoizedProps),
|
||||
(current[internalInstanceKey] = workInProgress),
|
||||
current.nodeValue !== renderLanes &&
|
||||
((newProps = hydrationParentFiber), null !== newProps))
|
||||
)
|
||||
switch (newProps.tag) {
|
||||
case 3:
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
break;
|
||||
current = workInProgress.stateNode;
|
||||
renderLanes = workInProgress.memoizedProps;
|
||||
newProps = null;
|
||||
currentResource = hydrationParentFiber;
|
||||
if (null !== currentResource)
|
||||
switch (currentResource.tag) {
|
||||
case 27:
|
||||
case 5:
|
||||
!0 !== newProps.memoizedProps.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
newProps = currentResource.memoizedProps;
|
||||
}
|
||||
current[internalInstanceKey] = workInProgress;
|
||||
current =
|
||||
current.nodeValue === renderLanes ||
|
||||
(null !== newProps && !0 === newProps.suppressHydrationWarning) ||
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes)
|
||||
? !0
|
||||
: !1;
|
||||
if (!current) throw Error(formatProdErrorMessage(425));
|
||||
} else
|
||||
(current =
|
||||
getOwnerDocumentFromRootContainer(current).createTextNode(
|
||||
@@ -14099,14 +14159,14 @@ var isInputEventSupported = !1;
|
||||
if (canUseDOM) {
|
||||
var JSCompiler_inline_result$jscomp$363;
|
||||
if (canUseDOM) {
|
||||
var isSupported$jscomp$inline_1599 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1599) {
|
||||
var element$jscomp$inline_1600 = document.createElement("div");
|
||||
element$jscomp$inline_1600.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1599 =
|
||||
"function" === typeof element$jscomp$inline_1600.oninput;
|
||||
var isSupported$jscomp$inline_1590 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1590) {
|
||||
var element$jscomp$inline_1591 = document.createElement("div");
|
||||
element$jscomp$inline_1591.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1590 =
|
||||
"function" === typeof element$jscomp$inline_1591.oninput;
|
||||
}
|
||||
JSCompiler_inline_result$jscomp$363 = isSupported$jscomp$inline_1599;
|
||||
JSCompiler_inline_result$jscomp$363 = isSupported$jscomp$inline_1590;
|
||||
} else JSCompiler_inline_result$jscomp$363 = !1;
|
||||
isInputEventSupported =
|
||||
JSCompiler_inline_result$jscomp$363 &&
|
||||
@@ -14418,20 +14478,20 @@ function registerSimpleEvent(domEventName, reactName) {
|
||||
registerTwoPhaseEvent(reactName, [domEventName]);
|
||||
}
|
||||
for (
|
||||
var i$jscomp$inline_1640 = 0;
|
||||
i$jscomp$inline_1640 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1640++
|
||||
var i$jscomp$inline_1631 = 0;
|
||||
i$jscomp$inline_1631 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1631++
|
||||
) {
|
||||
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_1632 =
|
||||
simpleEventPluginEvents[i$jscomp$inline_1631],
|
||||
domEventName$jscomp$inline_1633 =
|
||||
eventName$jscomp$inline_1632.toLowerCase(),
|
||||
capitalizedEvent$jscomp$inline_1634 =
|
||||
eventName$jscomp$inline_1632[0].toUpperCase() +
|
||||
eventName$jscomp$inline_1632.slice(1);
|
||||
registerSimpleEvent(
|
||||
domEventName$jscomp$inline_1642,
|
||||
"on" + capitalizedEvent$jscomp$inline_1643
|
||||
domEventName$jscomp$inline_1633,
|
||||
"on" + capitalizedEvent$jscomp$inline_1634
|
||||
);
|
||||
}
|
||||
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
|
||||
@@ -15279,8 +15339,7 @@ function normalizeMarkupForTextOrAttribute(markup) {
|
||||
}
|
||||
function checkForUnmatchedText(serverText, clientText) {
|
||||
clientText = normalizeMarkupForTextOrAttribute(clientText);
|
||||
if (normalizeMarkupForTextOrAttribute(serverText) !== clientText)
|
||||
throw Error(formatProdErrorMessage(425));
|
||||
return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;
|
||||
}
|
||||
function noop$1() {}
|
||||
function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
@@ -16447,75 +16506,6 @@ function getNextHydratable(node) {
|
||||
}
|
||||
return node;
|
||||
}
|
||||
function hydrateInstance(
|
||||
instance,
|
||||
type,
|
||||
props,
|
||||
hostContext,
|
||||
internalInstanceHandle
|
||||
) {
|
||||
instance[internalInstanceKey] = internalInstanceHandle;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (type = 0; type < mediaEventTypes.length; type++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[type], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue),
|
||||
track(instance);
|
||||
}
|
||||
type = props.children;
|
||||
("string" === typeof type ||
|
||||
"number" === typeof type ||
|
||||
(enableBigIntSupport && "bigint" === typeof type)) &&
|
||||
instance.textContent !== "" + type &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(instance.textContent, type);
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
targetInstance = targetInstance.previousSibling;
|
||||
for (var depth = 0; targetInstance; ) {
|
||||
@@ -17350,10 +17340,10 @@ Internals.Events = [
|
||||
restoreStateIfNeeded,
|
||||
batchedUpdates$1
|
||||
];
|
||||
var devToolsConfig$jscomp$inline_1822 = {
|
||||
var devToolsConfig$jscomp$inline_1806 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "19.0.0-www-modern-0fb5538d",
|
||||
version: "19.0.0-www-modern-2e6097e8",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
(function (internals) {
|
||||
@@ -17371,10 +17361,10 @@ var devToolsConfig$jscomp$inline_1822 = {
|
||||
} catch (err) {}
|
||||
return hook.checkDCE ? !0 : !1;
|
||||
})({
|
||||
bundleType: devToolsConfig$jscomp$inline_1822.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1822.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1822.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1822.rendererConfig,
|
||||
bundleType: devToolsConfig$jscomp$inline_1806.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1806.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1806.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1806.rendererConfig,
|
||||
overrideHookState: null,
|
||||
overrideHookStateDeletePath: null,
|
||||
overrideHookStateRenamePath: null,
|
||||
@@ -17391,14 +17381,14 @@ var devToolsConfig$jscomp$inline_1822 = {
|
||||
return null === fiber ? null : fiber.stateNode;
|
||||
},
|
||||
findFiberByHostInstance:
|
||||
devToolsConfig$jscomp$inline_1822.findFiberByHostInstance ||
|
||||
devToolsConfig$jscomp$inline_1806.findFiberByHostInstance ||
|
||||
emptyFindFiberByHostInstance,
|
||||
findHostInstancesForRefresh: null,
|
||||
scheduleRefresh: null,
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-www-modern-0fb5538d"
|
||||
reconcilerVersion: "19.0.0-www-modern-2e6097e8"
|
||||
});
|
||||
exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
|
||||
exports.createPortal = function (children, container) {
|
||||
@@ -17644,7 +17634,7 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.0.0-www-modern-0fb5538d";
|
||||
exports.version = "19.0.0-www-modern-2e6097e8";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1793,6 +1793,76 @@ var hydrationParentFiber = null,
|
||||
function throwOnHydrationMismatch() {
|
||||
throw Error(formatProdErrorMessage(418));
|
||||
}
|
||||
function prepareToHydrateHostInstance(fiber) {
|
||||
var instance = fiber.stateNode,
|
||||
type = fiber.type,
|
||||
props = fiber.memoizedProps;
|
||||
instance[internalInstanceKey] = fiber;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (fiber = 0; fiber < mediaEventTypes.length; fiber++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[fiber], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue, props.children),
|
||||
track(instance);
|
||||
}
|
||||
fiber = props.children;
|
||||
("string" === typeof fiber ||
|
||||
"number" === typeof fiber ||
|
||||
(enableBigIntSupport && "bigint" === typeof fiber)) &&
|
||||
instance.textContent !== "" + fiber &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
!checkForUnmatchedText(instance.textContent, fiber)
|
||||
? (instance = !1)
|
||||
: (null != props.onScroll && listenToNonDelegatedEvent("scroll", instance),
|
||||
null != props.onScrollEnd &&
|
||||
listenToNonDelegatedEvent("scrollend", instance),
|
||||
null != props.onClick && (instance.onclick = noop$2),
|
||||
(instance = !0));
|
||||
if (!instance) throw Error(formatProdErrorMessage(425));
|
||||
}
|
||||
function popToNextHostParent(fiber) {
|
||||
for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
|
||||
switch (hydrationParentFiber.tag) {
|
||||
@@ -7870,13 +7940,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor$1.current;
|
||||
popHydrationState(workInProgress)
|
||||
? hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
)
|
||||
? prepareToHydrateHostInstance(workInProgress, current)
|
||||
: ((current = resolveSingletonInstance(
|
||||
currentResource,
|
||||
newProps,
|
||||
@@ -7901,13 +7965,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor$1.current;
|
||||
if (popHydrationState(workInProgress))
|
||||
hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
);
|
||||
prepareToHydrateHostInstance(workInProgress, current);
|
||||
else {
|
||||
currentResource = getOwnerDocumentFromRootContainer(
|
||||
rootInstanceStackCursor.current
|
||||
@@ -8024,22 +8082,24 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
throw Error(formatProdErrorMessage(166));
|
||||
current = rootInstanceStackCursor.current;
|
||||
if (popHydrationState(workInProgress)) {
|
||||
if (
|
||||
((current = workInProgress.stateNode),
|
||||
(renderLanes = workInProgress.memoizedProps),
|
||||
(current[internalInstanceKey] = workInProgress),
|
||||
current.nodeValue !== renderLanes &&
|
||||
((newProps = hydrationParentFiber), null !== newProps))
|
||||
)
|
||||
switch (newProps.tag) {
|
||||
case 3:
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
break;
|
||||
current = workInProgress.stateNode;
|
||||
renderLanes = workInProgress.memoizedProps;
|
||||
newProps = null;
|
||||
currentResource = hydrationParentFiber;
|
||||
if (null !== currentResource)
|
||||
switch (currentResource.tag) {
|
||||
case 27:
|
||||
case 5:
|
||||
!0 !== newProps.memoizedProps.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
newProps = currentResource.memoizedProps;
|
||||
}
|
||||
current[internalInstanceKey] = workInProgress;
|
||||
current =
|
||||
current.nodeValue === renderLanes ||
|
||||
(null !== newProps && !0 === newProps.suppressHydrationWarning) ||
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes)
|
||||
? !0
|
||||
: !1;
|
||||
if (!current) throw Error(formatProdErrorMessage(425));
|
||||
} else
|
||||
(current =
|
||||
getOwnerDocumentFromRootContainer(current).createTextNode(
|
||||
@@ -13261,14 +13321,14 @@ var isInputEventSupported = !1;
|
||||
if (canUseDOM) {
|
||||
var JSCompiler_inline_result$jscomp$346;
|
||||
if (canUseDOM) {
|
||||
var isSupported$jscomp$inline_1541 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1541) {
|
||||
var element$jscomp$inline_1542 = document.createElement("div");
|
||||
element$jscomp$inline_1542.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1541 =
|
||||
"function" === typeof element$jscomp$inline_1542.oninput;
|
||||
var isSupported$jscomp$inline_1532 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1532) {
|
||||
var element$jscomp$inline_1533 = document.createElement("div");
|
||||
element$jscomp$inline_1533.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1532 =
|
||||
"function" === typeof element$jscomp$inline_1533.oninput;
|
||||
}
|
||||
JSCompiler_inline_result$jscomp$346 = isSupported$jscomp$inline_1541;
|
||||
JSCompiler_inline_result$jscomp$346 = isSupported$jscomp$inline_1532;
|
||||
} else JSCompiler_inline_result$jscomp$346 = !1;
|
||||
isInputEventSupported =
|
||||
JSCompiler_inline_result$jscomp$346 &&
|
||||
@@ -13643,20 +13703,20 @@ function extractEvents$1(
|
||||
}
|
||||
}
|
||||
for (
|
||||
var i$jscomp$inline_1582 = 0;
|
||||
i$jscomp$inline_1582 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1582++
|
||||
var i$jscomp$inline_1573 = 0;
|
||||
i$jscomp$inline_1573 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1573++
|
||||
) {
|
||||
var eventName$jscomp$inline_1583 =
|
||||
simpleEventPluginEvents[i$jscomp$inline_1582],
|
||||
domEventName$jscomp$inline_1584 =
|
||||
eventName$jscomp$inline_1583.toLowerCase(),
|
||||
capitalizedEvent$jscomp$inline_1585 =
|
||||
eventName$jscomp$inline_1583[0].toUpperCase() +
|
||||
eventName$jscomp$inline_1583.slice(1);
|
||||
var eventName$jscomp$inline_1574 =
|
||||
simpleEventPluginEvents[i$jscomp$inline_1573],
|
||||
domEventName$jscomp$inline_1575 =
|
||||
eventName$jscomp$inline_1574.toLowerCase(),
|
||||
capitalizedEvent$jscomp$inline_1576 =
|
||||
eventName$jscomp$inline_1574[0].toUpperCase() +
|
||||
eventName$jscomp$inline_1574.slice(1);
|
||||
registerSimpleEvent(
|
||||
domEventName$jscomp$inline_1584,
|
||||
"on" + capitalizedEvent$jscomp$inline_1585
|
||||
domEventName$jscomp$inline_1575,
|
||||
"on" + capitalizedEvent$jscomp$inline_1576
|
||||
);
|
||||
}
|
||||
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
|
||||
@@ -14504,8 +14564,7 @@ function normalizeMarkupForTextOrAttribute(markup) {
|
||||
}
|
||||
function checkForUnmatchedText(serverText, clientText) {
|
||||
clientText = normalizeMarkupForTextOrAttribute(clientText);
|
||||
if (normalizeMarkupForTextOrAttribute(serverText) !== clientText)
|
||||
throw Error(formatProdErrorMessage(425));
|
||||
return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;
|
||||
}
|
||||
function noop$2() {}
|
||||
function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
@@ -15703,75 +15762,6 @@ function getNextHydratable(node) {
|
||||
}
|
||||
return node;
|
||||
}
|
||||
function hydrateInstance(
|
||||
instance,
|
||||
type,
|
||||
props,
|
||||
hostContext,
|
||||
internalInstanceHandle
|
||||
) {
|
||||
instance[internalInstanceKey] = internalInstanceHandle;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (type = 0; type < mediaEventTypes.length; type++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[type], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue, props.children),
|
||||
track(instance);
|
||||
}
|
||||
type = props.children;
|
||||
("string" === typeof type ||
|
||||
"number" === typeof type ||
|
||||
(enableBigIntSupport && "bigint" === typeof type)) &&
|
||||
instance.textContent !== "" + type &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(instance.textContent, type);
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$2);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
targetInstance = targetInstance.previousSibling;
|
||||
for (var depth = 0; targetInstance; ) {
|
||||
@@ -17420,17 +17410,17 @@ Internals.Events = [
|
||||
restoreStateIfNeeded,
|
||||
batchedUpdates$1
|
||||
];
|
||||
var devToolsConfig$jscomp$inline_1783 = {
|
||||
var devToolsConfig$jscomp$inline_1767 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "19.0.0-www-classic-9d11c499",
|
||||
version: "19.0.0-www-classic-add5fde3",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2183 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1783.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1783.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1783.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1783.rendererConfig,
|
||||
var internals$jscomp$inline_2159 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1767.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1767.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1767.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1767.rendererConfig,
|
||||
overrideHookState: null,
|
||||
overrideHookStateDeletePath: null,
|
||||
overrideHookStateRenamePath: null,
|
||||
@@ -17446,26 +17436,26 @@ var internals$jscomp$inline_2183 = {
|
||||
return null === fiber ? null : fiber.stateNode;
|
||||
},
|
||||
findFiberByHostInstance:
|
||||
devToolsConfig$jscomp$inline_1783.findFiberByHostInstance ||
|
||||
devToolsConfig$jscomp$inline_1767.findFiberByHostInstance ||
|
||||
emptyFindFiberByHostInstance,
|
||||
findHostInstancesForRefresh: null,
|
||||
scheduleRefresh: null,
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-www-classic-9d11c499"
|
||||
reconcilerVersion: "19.0.0-www-classic-add5fde3"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2184 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
var hook$jscomp$inline_2160 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
if (
|
||||
!hook$jscomp$inline_2184.isDisabled &&
|
||||
hook$jscomp$inline_2184.supportsFiber
|
||||
!hook$jscomp$inline_2160.isDisabled &&
|
||||
hook$jscomp$inline_2160.supportsFiber
|
||||
)
|
||||
try {
|
||||
(rendererID = hook$jscomp$inline_2184.inject(
|
||||
internals$jscomp$inline_2183
|
||||
(rendererID = hook$jscomp$inline_2160.inject(
|
||||
internals$jscomp$inline_2159
|
||||
)),
|
||||
(injectedHook = hook$jscomp$inline_2184);
|
||||
(injectedHook = hook$jscomp$inline_2160);
|
||||
} catch (err) {}
|
||||
}
|
||||
assign(Internals, {
|
||||
@@ -17924,4 +17914,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.0.0-www-classic-9d11c499";
|
||||
exports.version = "19.0.0-www-classic-add5fde3";
|
||||
|
||||
@@ -1748,6 +1748,76 @@ var hydrationParentFiber = null,
|
||||
function throwOnHydrationMismatch() {
|
||||
throw Error(formatProdErrorMessage(418));
|
||||
}
|
||||
function prepareToHydrateHostInstance(fiber) {
|
||||
var instance = fiber.stateNode,
|
||||
type = fiber.type,
|
||||
props = fiber.memoizedProps;
|
||||
instance[internalInstanceKey] = fiber;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (fiber = 0; fiber < mediaEventTypes.length; fiber++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[fiber], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue),
|
||||
track(instance);
|
||||
}
|
||||
fiber = props.children;
|
||||
("string" === typeof fiber ||
|
||||
"number" === typeof fiber ||
|
||||
(enableBigIntSupport && "bigint" === typeof fiber)) &&
|
||||
instance.textContent !== "" + fiber &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
!checkForUnmatchedText(instance.textContent, fiber)
|
||||
? (instance = !1)
|
||||
: (null != props.onScroll && listenToNonDelegatedEvent("scroll", instance),
|
||||
null != props.onScrollEnd &&
|
||||
listenToNonDelegatedEvent("scrollend", instance),
|
||||
null != props.onClick && (instance.onclick = noop$1),
|
||||
(instance = !0));
|
||||
if (!instance) throw Error(formatProdErrorMessage(425));
|
||||
}
|
||||
function popToNextHostParent(fiber) {
|
||||
for (hydrationParentFiber = fiber.return; hydrationParentFiber; )
|
||||
switch (hydrationParentFiber.tag) {
|
||||
@@ -7744,13 +7814,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor.current;
|
||||
popHydrationState(workInProgress)
|
||||
? hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
)
|
||||
? prepareToHydrateHostInstance(workInProgress, current)
|
||||
: ((current = resolveSingletonInstance(
|
||||
currentResource,
|
||||
newProps,
|
||||
@@ -7775,13 +7839,7 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
}
|
||||
current = contextStackCursor.current;
|
||||
if (popHydrationState(workInProgress))
|
||||
hydrateInstance(
|
||||
workInProgress.stateNode,
|
||||
workInProgress.type,
|
||||
workInProgress.memoizedProps,
|
||||
current,
|
||||
workInProgress
|
||||
);
|
||||
prepareToHydrateHostInstance(workInProgress, current);
|
||||
else {
|
||||
currentResource = getOwnerDocumentFromRootContainer(
|
||||
rootInstanceStackCursor.current
|
||||
@@ -7898,22 +7956,24 @@ function completeWork(current, workInProgress, renderLanes) {
|
||||
throw Error(formatProdErrorMessage(166));
|
||||
current = rootInstanceStackCursor.current;
|
||||
if (popHydrationState(workInProgress)) {
|
||||
if (
|
||||
((current = workInProgress.stateNode),
|
||||
(renderLanes = workInProgress.memoizedProps),
|
||||
(current[internalInstanceKey] = workInProgress),
|
||||
current.nodeValue !== renderLanes &&
|
||||
((newProps = hydrationParentFiber), null !== newProps))
|
||||
)
|
||||
switch (newProps.tag) {
|
||||
case 3:
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
break;
|
||||
current = workInProgress.stateNode;
|
||||
renderLanes = workInProgress.memoizedProps;
|
||||
newProps = null;
|
||||
currentResource = hydrationParentFiber;
|
||||
if (null !== currentResource)
|
||||
switch (currentResource.tag) {
|
||||
case 27:
|
||||
case 5:
|
||||
!0 !== newProps.memoizedProps.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes);
|
||||
newProps = currentResource.memoizedProps;
|
||||
}
|
||||
current[internalInstanceKey] = workInProgress;
|
||||
current =
|
||||
current.nodeValue === renderLanes ||
|
||||
(null !== newProps && !0 === newProps.suppressHydrationWarning) ||
|
||||
checkForUnmatchedText(current.nodeValue, renderLanes)
|
||||
? !0
|
||||
: !1;
|
||||
if (!current) throw Error(formatProdErrorMessage(425));
|
||||
} else
|
||||
(current =
|
||||
getOwnerDocumentFromRootContainer(current).createTextNode(
|
||||
@@ -13689,14 +13749,14 @@ var isInputEventSupported = !1;
|
||||
if (canUseDOM) {
|
||||
var JSCompiler_inline_result$jscomp$344;
|
||||
if (canUseDOM) {
|
||||
var isSupported$jscomp$inline_1541 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1541) {
|
||||
var element$jscomp$inline_1542 = document.createElement("div");
|
||||
element$jscomp$inline_1542.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1541 =
|
||||
"function" === typeof element$jscomp$inline_1542.oninput;
|
||||
var isSupported$jscomp$inline_1532 = "oninput" in document;
|
||||
if (!isSupported$jscomp$inline_1532) {
|
||||
var element$jscomp$inline_1533 = document.createElement("div");
|
||||
element$jscomp$inline_1533.setAttribute("oninput", "return;");
|
||||
isSupported$jscomp$inline_1532 =
|
||||
"function" === typeof element$jscomp$inline_1533.oninput;
|
||||
}
|
||||
JSCompiler_inline_result$jscomp$344 = isSupported$jscomp$inline_1541;
|
||||
JSCompiler_inline_result$jscomp$344 = isSupported$jscomp$inline_1532;
|
||||
} else JSCompiler_inline_result$jscomp$344 = !1;
|
||||
isInputEventSupported =
|
||||
JSCompiler_inline_result$jscomp$344 &&
|
||||
@@ -14008,20 +14068,20 @@ function registerSimpleEvent(domEventName, reactName) {
|
||||
registerTwoPhaseEvent(reactName, [domEventName]);
|
||||
}
|
||||
for (
|
||||
var i$jscomp$inline_1582 = 0;
|
||||
i$jscomp$inline_1582 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1582++
|
||||
var i$jscomp$inline_1573 = 0;
|
||||
i$jscomp$inline_1573 < simpleEventPluginEvents.length;
|
||||
i$jscomp$inline_1573++
|
||||
) {
|
||||
var eventName$jscomp$inline_1583 =
|
||||
simpleEventPluginEvents[i$jscomp$inline_1582],
|
||||
domEventName$jscomp$inline_1584 =
|
||||
eventName$jscomp$inline_1583.toLowerCase(),
|
||||
capitalizedEvent$jscomp$inline_1585 =
|
||||
eventName$jscomp$inline_1583[0].toUpperCase() +
|
||||
eventName$jscomp$inline_1583.slice(1);
|
||||
var eventName$jscomp$inline_1574 =
|
||||
simpleEventPluginEvents[i$jscomp$inline_1573],
|
||||
domEventName$jscomp$inline_1575 =
|
||||
eventName$jscomp$inline_1574.toLowerCase(),
|
||||
capitalizedEvent$jscomp$inline_1576 =
|
||||
eventName$jscomp$inline_1574[0].toUpperCase() +
|
||||
eventName$jscomp$inline_1574.slice(1);
|
||||
registerSimpleEvent(
|
||||
domEventName$jscomp$inline_1584,
|
||||
"on" + capitalizedEvent$jscomp$inline_1585
|
||||
domEventName$jscomp$inline_1575,
|
||||
"on" + capitalizedEvent$jscomp$inline_1576
|
||||
);
|
||||
}
|
||||
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
|
||||
@@ -14869,8 +14929,7 @@ function normalizeMarkupForTextOrAttribute(markup) {
|
||||
}
|
||||
function checkForUnmatchedText(serverText, clientText) {
|
||||
clientText = normalizeMarkupForTextOrAttribute(clientText);
|
||||
if (normalizeMarkupForTextOrAttribute(serverText) !== clientText)
|
||||
throw Error(formatProdErrorMessage(425));
|
||||
return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;
|
||||
}
|
||||
function noop$1() {}
|
||||
function setProp(domElement, tag, key, value, props, prevValue) {
|
||||
@@ -16037,75 +16096,6 @@ function getNextHydratable(node) {
|
||||
}
|
||||
return node;
|
||||
}
|
||||
function hydrateInstance(
|
||||
instance,
|
||||
type,
|
||||
props,
|
||||
hostContext,
|
||||
internalInstanceHandle
|
||||
) {
|
||||
instance[internalInstanceKey] = internalInstanceHandle;
|
||||
instance[internalPropsKey] = props;
|
||||
switch (type) {
|
||||
case "dialog":
|
||||
listenToNonDelegatedEvent("cancel", instance);
|
||||
listenToNonDelegatedEvent("close", instance);
|
||||
break;
|
||||
case "iframe":
|
||||
case "object":
|
||||
case "embed":
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "video":
|
||||
case "audio":
|
||||
for (type = 0; type < mediaEventTypes.length; type++)
|
||||
listenToNonDelegatedEvent(mediaEventTypes[type], instance);
|
||||
break;
|
||||
case "source":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
break;
|
||||
case "img":
|
||||
case "image":
|
||||
case "link":
|
||||
listenToNonDelegatedEvent("error", instance);
|
||||
listenToNonDelegatedEvent("load", instance);
|
||||
break;
|
||||
case "details":
|
||||
listenToNonDelegatedEvent("toggle", instance);
|
||||
break;
|
||||
case "input":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
initInput(
|
||||
instance,
|
||||
props.value,
|
||||
props.defaultValue,
|
||||
props.checked,
|
||||
props.defaultChecked,
|
||||
props.type,
|
||||
props.name,
|
||||
!0
|
||||
);
|
||||
track(instance);
|
||||
break;
|
||||
case "select":
|
||||
listenToNonDelegatedEvent("invalid", instance);
|
||||
break;
|
||||
case "textarea":
|
||||
listenToNonDelegatedEvent("invalid", instance),
|
||||
initTextarea(instance, props.value, props.defaultValue),
|
||||
track(instance);
|
||||
}
|
||||
type = props.children;
|
||||
("string" === typeof type ||
|
||||
"number" === typeof type ||
|
||||
(enableBigIntSupport && "bigint" === typeof type)) &&
|
||||
instance.textContent !== "" + type &&
|
||||
!0 !== props.suppressHydrationWarning &&
|
||||
checkForUnmatchedText(instance.textContent, type);
|
||||
null != props.onScroll && listenToNonDelegatedEvent("scroll", instance);
|
||||
null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", instance);
|
||||
null != props.onClick && (instance.onclick = noop$1);
|
||||
}
|
||||
function getParentSuspenseInstance(targetInstance) {
|
||||
targetInstance = targetInstance.previousSibling;
|
||||
for (var depth = 0; targetInstance; ) {
|
||||
@@ -16997,17 +16987,17 @@ Internals.Events = [
|
||||
restoreStateIfNeeded,
|
||||
batchedUpdates$1
|
||||
];
|
||||
var devToolsConfig$jscomp$inline_1742 = {
|
||||
var devToolsConfig$jscomp$inline_1726 = {
|
||||
findFiberByHostInstance: getClosestInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "19.0.0-www-modern-3f5d8a58",
|
||||
version: "19.0.0-www-modern-ec31e15a",
|
||||
rendererPackageName: "react-dom"
|
||||
};
|
||||
var internals$jscomp$inline_2146 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1742.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1742.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1742.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1742.rendererConfig,
|
||||
var internals$jscomp$inline_2122 = {
|
||||
bundleType: devToolsConfig$jscomp$inline_1726.bundleType,
|
||||
version: devToolsConfig$jscomp$inline_1726.version,
|
||||
rendererPackageName: devToolsConfig$jscomp$inline_1726.rendererPackageName,
|
||||
rendererConfig: devToolsConfig$jscomp$inline_1726.rendererConfig,
|
||||
overrideHookState: null,
|
||||
overrideHookStateDeletePath: null,
|
||||
overrideHookStateRenamePath: null,
|
||||
@@ -17024,26 +17014,26 @@ var internals$jscomp$inline_2146 = {
|
||||
return null === fiber ? null : fiber.stateNode;
|
||||
},
|
||||
findFiberByHostInstance:
|
||||
devToolsConfig$jscomp$inline_1742.findFiberByHostInstance ||
|
||||
devToolsConfig$jscomp$inline_1726.findFiberByHostInstance ||
|
||||
emptyFindFiberByHostInstance,
|
||||
findHostInstancesForRefresh: null,
|
||||
scheduleRefresh: null,
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "19.0.0-www-modern-3f5d8a58"
|
||||
reconcilerVersion: "19.0.0-www-modern-ec31e15a"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2147 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
var hook$jscomp$inline_2123 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
if (
|
||||
!hook$jscomp$inline_2147.isDisabled &&
|
||||
hook$jscomp$inline_2147.supportsFiber
|
||||
!hook$jscomp$inline_2123.isDisabled &&
|
||||
hook$jscomp$inline_2123.supportsFiber
|
||||
)
|
||||
try {
|
||||
(rendererID = hook$jscomp$inline_2147.inject(
|
||||
internals$jscomp$inline_2146
|
||||
(rendererID = hook$jscomp$inline_2123.inject(
|
||||
internals$jscomp$inline_2122
|
||||
)),
|
||||
(injectedHook = hook$jscomp$inline_2147);
|
||||
(injectedHook = hook$jscomp$inline_2123);
|
||||
} catch (err) {}
|
||||
}
|
||||
exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
|
||||
@@ -17440,4 +17430,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.0.0-www-modern-3f5d8a58";
|
||||
exports.version = "19.0.0-www-modern-ec31e15a";
|
||||
|
||||
@@ -2023,13 +2023,14 @@ if (__DEV__) {
|
||||
"Please file an issue."
|
||||
);
|
||||
} // Hydration (when unsupported)
|
||||
|
||||
var supportsHydration = false;
|
||||
var isSuspenseInstancePending = shim$1;
|
||||
var isSuspenseInstanceFallback = shim$1;
|
||||
var getSuspenseInstanceFallbackErrorDetails = shim$1;
|
||||
var registerSuspenseInstanceRetry = shim$1;
|
||||
var clearSuspenseBoundary = shim$1;
|
||||
var clearSuspenseBoundaryFromContainer = shim$1;
|
||||
var errorHydratingContainer = shim$1;
|
||||
|
||||
// Renderers that don't support hydration
|
||||
// can re-export everything from this module.
|
||||
@@ -2566,14 +2567,6 @@ if (__DEV__) {
|
||||
|
||||
var objectIs = typeof Object.is === "function" ? Object.is : is; // $FlowFixMe[method-unbinding]
|
||||
|
||||
// This is imported by the event replaying implementation in React DOM. It's
|
||||
// in a separate file to break a circular dependency between the renderer and
|
||||
// the reconciler.
|
||||
function isRootDehydrated(root) {
|
||||
var currentState = root.current.memoizedState;
|
||||
return currentState.isDehydrated;
|
||||
}
|
||||
|
||||
var contextStackCursor = createCursor(null);
|
||||
var contextFiberStackCursor = createCursor(null);
|
||||
var rootInstanceStackCursor = createCursor(null); // Represents the nearest host transition provider (in React DOM, a <form />)
|
||||
@@ -22372,27 +22365,7 @@ if (__DEV__) {
|
||||
// back to client side render.
|
||||
// Before rendering again, save the errors from the previous attempt.
|
||||
var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;
|
||||
var wasRootDehydrated = isRootDehydrated(root);
|
||||
|
||||
if (wasRootDehydrated) {
|
||||
// The shell failed to hydrate. Set a flag to force a client rendering
|
||||
// during the next attempt. To do this, we call prepareFreshStack now
|
||||
// to create the root work-in-progress fiber. This is a bit weird in terms
|
||||
// of factoring, because it relies on renderRootSync not calling
|
||||
// prepareFreshStack again in the call below, which happens because the
|
||||
// root and lanes haven't changed.
|
||||
//
|
||||
// TODO: I think what we should do is set ForceClientRender inside
|
||||
// throwException, like we do for nested Suspense boundaries. The reason
|
||||
// it's here instead is so we can switch to the synchronous work loop, too.
|
||||
// Something to consider for a future refactor.
|
||||
var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);
|
||||
rootWorkInProgress.flags |= ForceClientRender;
|
||||
|
||||
{
|
||||
errorHydratingContainer();
|
||||
}
|
||||
}
|
||||
var wasRootDehydrated = supportsHydration;
|
||||
|
||||
var exitStatus = renderRootSync(root, errorRetryLanes);
|
||||
|
||||
@@ -26109,7 +26082,7 @@ if (__DEV__) {
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "19.0.0-www-classic-ac0f08bc";
|
||||
var ReactVersion = "19.0.0-www-classic-1ccc623b";
|
||||
|
||||
// Might add PROFILE later.
|
||||
|
||||
|
||||
@@ -2023,13 +2023,14 @@ if (__DEV__) {
|
||||
"Please file an issue."
|
||||
);
|
||||
} // Hydration (when unsupported)
|
||||
|
||||
var supportsHydration = false;
|
||||
var isSuspenseInstancePending = shim$1;
|
||||
var isSuspenseInstanceFallback = shim$1;
|
||||
var getSuspenseInstanceFallbackErrorDetails = shim$1;
|
||||
var registerSuspenseInstanceRetry = shim$1;
|
||||
var clearSuspenseBoundary = shim$1;
|
||||
var clearSuspenseBoundaryFromContainer = shim$1;
|
||||
var errorHydratingContainer = shim$1;
|
||||
|
||||
// Renderers that don't support hydration
|
||||
// can re-export everything from this module.
|
||||
@@ -2566,14 +2567,6 @@ if (__DEV__) {
|
||||
|
||||
var objectIs = typeof Object.is === "function" ? Object.is : is; // $FlowFixMe[method-unbinding]
|
||||
|
||||
// This is imported by the event replaying implementation in React DOM. It's
|
||||
// in a separate file to break a circular dependency between the renderer and
|
||||
// the reconciler.
|
||||
function isRootDehydrated(root) {
|
||||
var currentState = root.current.memoizedState;
|
||||
return currentState.isDehydrated;
|
||||
}
|
||||
|
||||
var contextStackCursor = createCursor(null);
|
||||
var contextFiberStackCursor = createCursor(null);
|
||||
var rootInstanceStackCursor = createCursor(null); // Represents the nearest host transition provider (in React DOM, a <form />)
|
||||
@@ -22372,27 +22365,7 @@ if (__DEV__) {
|
||||
// back to client side render.
|
||||
// Before rendering again, save the errors from the previous attempt.
|
||||
var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;
|
||||
var wasRootDehydrated = isRootDehydrated(root);
|
||||
|
||||
if (wasRootDehydrated) {
|
||||
// The shell failed to hydrate. Set a flag to force a client rendering
|
||||
// during the next attempt. To do this, we call prepareFreshStack now
|
||||
// to create the root work-in-progress fiber. This is a bit weird in terms
|
||||
// of factoring, because it relies on renderRootSync not calling
|
||||
// prepareFreshStack again in the call below, which happens because the
|
||||
// root and lanes haven't changed.
|
||||
//
|
||||
// TODO: I think what we should do is set ForceClientRender inside
|
||||
// throwException, like we do for nested Suspense boundaries. The reason
|
||||
// it's here instead is so we can switch to the synchronous work loop, too.
|
||||
// Something to consider for a future refactor.
|
||||
var rootWorkInProgress = prepareFreshStack(root, errorRetryLanes);
|
||||
rootWorkInProgress.flags |= ForceClientRender;
|
||||
|
||||
{
|
||||
errorHydratingContainer();
|
||||
}
|
||||
}
|
||||
var wasRootDehydrated = supportsHydration;
|
||||
|
||||
var exitStatus = renderRootSync(root, errorRetryLanes);
|
||||
|
||||
@@ -26109,7 +26082,7 @@ if (__DEV__) {
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "19.0.0-www-modern-ac0f08bc";
|
||||
var ReactVersion = "19.0.0-www-modern-1ccc623b";
|
||||
|
||||
// Might add PROFILE later.
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ export default [
|
||||
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.",
|
||||
"An empty string (\"\") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.",
|
||||
"An empty string (\"\") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.",
|
||||
"An error occurred during hydration. The server HTML was replaced with client content in <%s>.",
|
||||
"An error occurred during hydration. The server HTML was replaced with client content.",
|
||||
"An input can only specify a formAction along with type=\"submit\" or type=\"image\".",
|
||||
"An invalid container has been provided. This may indicate that another renderer is being used in addition to the test renderer. (For example, ReactDOM.createPortal inside of a ReactTestRenderer tree.) This is not supported.",
|
||||
"An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition.",
|
||||
@@ -128,7 +128,9 @@ export default [
|
||||
"Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. This is a bug in React. Please file an issue.",
|
||||
"Did not expect a listenToNonDelegatedEvent() call for \"%s\". This is a bug in React. Please file an issue.",
|
||||
"Did not expect server HTML to contain a <%s> in <%s>.",
|
||||
"Did not expect server HTML to contain a <%s> in the root.",
|
||||
"Did not expect server HTML to contain the text node \"%s\" in <%s>.",
|
||||
"Did not expect server HTML to contain the text node \"%s\" in the root.",
|
||||
"Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`.",
|
||||
"Dispatching inst must not be null",
|
||||
"Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks",
|
||||
@@ -156,14 +158,16 @@ export default [
|
||||
"Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue.",
|
||||
"Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.",
|
||||
"Expected server HTML to contain a matching <%s> in <%s>.",
|
||||
"Expected server HTML to contain a matching <%s> in the root.",
|
||||
"Expected server HTML to contain a matching text node for \"%s\" in <%s>.",
|
||||
"Expected server HTML to contain a matching text node for \"%s\" in the root.",
|
||||
"Expected the last optional `callback` argument to be a function. Instead received: %s.",
|
||||
"Expected to be hydrating. This is a bug in React. Please file an issue.",
|
||||
"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.",
|
||||
"Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue.",
|
||||
"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.",
|
||||
"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",
|
||||
"Extra attributes from the server: %s",
|
||||
"Extra attribute from the server: %s",
|
||||
"Factory.type is deprecated. Access the class directly before passing it to createFactory.",
|
||||
"Failed to serialize an action for progressive enhancement:\n%s",
|
||||
"Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.",
|
||||
@@ -288,6 +292,7 @@ export default [
|
||||
"The `%s` prop supplied to <select> must be an array if `multiple` is true.",
|
||||
"The `%s` prop supplied to <select> must be an array if `multiple` is true.%s",
|
||||
"The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead.",
|
||||
"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.",
|
||||
"The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?",
|
||||
"The current testing environment is not configured to support act(...)",
|
||||
"The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s",
|
||||
|
||||
Reference in New Issue
Block a user