Remove defaultProps support (except for classes) (#28733)

This removes defaultProps support for all component types except for
classes. We've chosen to continue supporting defaultProps for classes
because lots of older code relies on it, and unlike function components,
(which can use default params), there's no straightforward alternative.

By implication, it also removes support for setting defaultProps on
`React.lazy` wrapper. So this will not work:

```js
const MyClassComponent = React.lazy(() => import('./MyClassComponent'));
// MyClassComponent is not actually a class; it's a lazy wrapper. So
// defaultProps does not work.
MyClassComponent.defaultProps = { foo: 'bar' };
```

However, if you set the default props on the class itself, then it's
fine.

For classes, this change also moves where defaultProps are resolved.
Previously, defaultProps were resolved by the JSX runtime. This change
is only observable if you introspect a JSX element, which is relatively
rare but does happen.

In other words, previously `<ClassWithDefaultProp />.props.aDefaultProp`
would resolve to the default prop value, but now it does not.

DiffTrain build for [48b4ecc901](https://github.com/facebook/react/commit/48b4ecc9012638ed51b275aad24b2086b8215e32)
This commit is contained in:
acdlite
2024-04-04 15:04:09 +00:00
parent e0fc90e076
commit 769be695f5
34 changed files with 1690 additions and 1051 deletions
@@ -109,8 +109,9 @@ if (__DEV__) {
var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, false is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, false is used for a new modern build.
function getWrappedName(outerType, innerType, wrapperName) {
var displayName = outerType.displayName;
@@ -1231,14 +1232,17 @@ if (__DEV__) {
) {
props[propName] = config[propName];
}
} // Resolve default props
}
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
if (!disableDefaultPropsExceptForClasses) {
// Resolve default props
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
}
}
}
}
@@ -109,8 +109,9 @@ if (__DEV__) {
var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, true is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, true is used for a new modern build.
function getWrappedName(outerType, innerType, wrapperName) {
var displayName = outerType.displayName;
@@ -1231,14 +1232,17 @@ if (__DEV__) {
) {
props[propName] = config[propName];
}
} // Resolve default props
}
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
if (!disableDefaultPropsExceptForClasses) {
// Resolve default props
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
}
}
}
}
+1 -1
View File
@@ -1 +1 @@
6090cab099a8f7f373e04c7eb2937425a8f80f80
48b4ecc9012638ed51b275aad24b2086b8215e32
+48 -56
View File
@@ -24,7 +24,7 @@ if (__DEV__) {
) {
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
}
var ReactVersion = "19.0.0-www-classic-308d9210";
var ReactVersion = "19.0.0-www-classic-b9e0eea7";
// ATTENTION
// When adding new symbols to this file,
@@ -475,8 +475,9 @@ if (__DEV__) {
var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, false is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, false is used for a new modern build.
var disableLegacyMode = false;
function getWrappedName(outerType, innerType, wrapperName) {
@@ -1639,14 +1640,17 @@ if (__DEV__) {
) {
props[propName] = config[propName];
}
} // Resolve default props
}
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
if (!disableDefaultPropsExceptForClasses) {
// Resolve default props
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
}
}
}
}
@@ -1906,7 +1910,11 @@ if (__DEV__) {
var defaultProps;
if (element.type && element.type.defaultProps) {
if (
!disableDefaultPropsExceptForClasses &&
element.type &&
element.type.defaultProps
) {
defaultProps = element.type.defaultProps;
}
@@ -1926,7 +1934,11 @@ if (__DEV__) {
// backwards compatibility.
!(enableRefAsProp && propName === "ref" && config.ref === undefined)
) {
if (config[propName] === undefined && defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
config[propName] === undefined &&
defaultProps !== undefined
) {
// Resolve default props
props[propName] = defaultProps[propName];
} else {
@@ -2765,55 +2777,35 @@ if (__DEV__) {
_init: lazyInitializer
};
{
// In production, this would just set it on the object.
var defaultProps;
var propTypes; // $FlowFixMe[prop-missing]
if (!disableDefaultPropsExceptForClasses) {
{
// In production, this would just set it on the object.
var defaultProps; // $FlowFixMe[prop-missing]
Object.defineProperties(lazyType, {
defaultProps: {
configurable: true,
get: function () {
return defaultProps;
},
// $FlowFixMe[missing-local-annot]
set: function (newDefaultProps) {
error(
"It is not supported to assign `defaultProps` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
Object.defineProperties(lazyType, {
defaultProps: {
configurable: true,
get: function () {
return defaultProps;
},
// $FlowFixMe[missing-local-annot]
set: function (newDefaultProps) {
error(
"It is not supported to assign `defaultProps` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
defaultProps = newDefaultProps; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
defaultProps = newDefaultProps; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
Object.defineProperty(lazyType, "defaultProps", {
enumerable: true
});
Object.defineProperty(lazyType, "defaultProps", {
enumerable: true
});
}
}
},
propTypes: {
configurable: true,
get: function () {
return propTypes;
},
// $FlowFixMe[missing-local-annot]
set: function (newPropTypes) {
error(
"It is not supported to assign `propTypes` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
propTypes = newPropTypes; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
Object.defineProperty(lazyType, "propTypes", {
enumerable: true
});
}
}
});
});
}
}
return lazyType;
+48 -56
View File
@@ -24,7 +24,7 @@ if (__DEV__) {
) {
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
}
var ReactVersion = "19.0.0-www-modern-3e52800d";
var ReactVersion = "19.0.0-www-modern-3a8173ed";
// ATTENTION
// When adding new symbols to this file,
@@ -475,8 +475,9 @@ if (__DEV__) {
var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, true is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, true is used for a new modern build.
var disableLegacyMode = true;
function getWrappedName(outerType, innerType, wrapperName) {
@@ -1639,14 +1640,17 @@ if (__DEV__) {
) {
props[propName] = config[propName];
}
} // Resolve default props
}
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
if (!disableDefaultPropsExceptForClasses) {
// Resolve default props
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
}
}
}
}
@@ -1906,7 +1910,11 @@ if (__DEV__) {
var defaultProps;
if (element.type && element.type.defaultProps) {
if (
!disableDefaultPropsExceptForClasses &&
element.type &&
element.type.defaultProps
) {
defaultProps = element.type.defaultProps;
}
@@ -1926,7 +1934,11 @@ if (__DEV__) {
// backwards compatibility.
!(enableRefAsProp && propName === "ref" && config.ref === undefined)
) {
if (config[propName] === undefined && defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
config[propName] === undefined &&
defaultProps !== undefined
) {
// Resolve default props
props[propName] = defaultProps[propName];
} else {
@@ -2765,55 +2777,35 @@ if (__DEV__) {
_init: lazyInitializer
};
{
// In production, this would just set it on the object.
var defaultProps;
var propTypes; // $FlowFixMe[prop-missing]
if (!disableDefaultPropsExceptForClasses) {
{
// In production, this would just set it on the object.
var defaultProps; // $FlowFixMe[prop-missing]
Object.defineProperties(lazyType, {
defaultProps: {
configurable: true,
get: function () {
return defaultProps;
},
// $FlowFixMe[missing-local-annot]
set: function (newDefaultProps) {
error(
"It is not supported to assign `defaultProps` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
Object.defineProperties(lazyType, {
defaultProps: {
configurable: true,
get: function () {
return defaultProps;
},
// $FlowFixMe[missing-local-annot]
set: function (newDefaultProps) {
error(
"It is not supported to assign `defaultProps` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
defaultProps = newDefaultProps; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
defaultProps = newDefaultProps; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
Object.defineProperty(lazyType, "defaultProps", {
enumerable: true
});
Object.defineProperty(lazyType, "defaultProps", {
enumerable: true
});
}
}
},
propTypes: {
configurable: true,
get: function () {
return propTypes;
},
// $FlowFixMe[missing-local-annot]
set: function (newPropTypes) {
error(
"It is not supported to assign `propTypes` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
propTypes = newPropTypes; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
Object.defineProperty(lazyType, "propTypes", {
enumerable: true
});
}
}
});
});
}
}
return lazyType;
+14 -6
View File
@@ -85,6 +85,8 @@ var isArrayImpl = Array.isArray,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
ReactCurrentDispatcher = { current: null },
ReactCurrentCache = { current: null },
ReactCurrentBatchConfig = { transition: null },
@@ -121,7 +123,7 @@ function jsxProd(type, config, maybeKey) {
"key" !== propName &&
(enableRefAsProp || "ref" !== propName) &&
(props[propName] = config[propName]);
if (type && type.defaultProps)
if (!disableDefaultPropsExceptForClasses && type && type.defaultProps)
for (propName in ((config = type.defaultProps), config))
void 0 === props[propName] && (props[propName] = config[propName]);
return ReactElement(
@@ -429,7 +431,11 @@ exports.cloneElement = function (element, config, children) {
(enableRefAsProp || (ref = config.ref),
(owner = ReactCurrentOwner.current));
void 0 !== config.key && (key = "" + config.key);
if (element.type && element.type.defaultProps)
if (
!disableDefaultPropsExceptForClasses &&
element.type &&
element.type.defaultProps
)
var defaultProps = element.type.defaultProps;
for (propName in config)
!hasOwnProperty.call(config, propName) ||
@@ -439,9 +445,11 @@ exports.cloneElement = function (element, config, children) {
"__source" === propName ||
(enableRefAsProp && "ref" === propName && void 0 === config.ref) ||
(props[propName] =
void 0 === config[propName] && void 0 !== defaultProps
? defaultProps[propName]
: config[propName]);
disableDefaultPropsExceptForClasses ||
void 0 !== config[propName] ||
void 0 === defaultProps
? config[propName]
: defaultProps[propName]);
}
var propName = arguments.length - 2;
if (1 === propName) props.children = children;
@@ -644,4 +652,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactCurrentDispatcher.current.useTransition();
};
exports.version = "19.0.0-www-classic-1ba025a1";
exports.version = "19.0.0-www-classic-6f7d270a";
+14 -6
View File
@@ -85,6 +85,8 @@ var isArrayImpl = Array.isArray,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
ReactCurrentDispatcher = { current: null },
ReactCurrentCache = { current: null },
ReactCurrentBatchConfig = { transition: null },
@@ -121,7 +123,7 @@ function jsxProd(type, config, maybeKey) {
"key" !== propName &&
(enableRefAsProp || "ref" !== propName) &&
(props[propName] = config[propName]);
if (type && type.defaultProps)
if (!disableDefaultPropsExceptForClasses && type && type.defaultProps)
for (propName in ((config = type.defaultProps), config))
void 0 === props[propName] && (props[propName] = config[propName]);
return ReactElement(
@@ -429,7 +431,11 @@ exports.cloneElement = function (element, config, children) {
(enableRefAsProp || (ref = config.ref),
(owner = ReactCurrentOwner.current));
void 0 !== config.key && (key = "" + config.key);
if (element.type && element.type.defaultProps)
if (
!disableDefaultPropsExceptForClasses &&
element.type &&
element.type.defaultProps
)
var defaultProps = element.type.defaultProps;
for (propName in config)
!hasOwnProperty.call(config, propName) ||
@@ -439,9 +445,11 @@ exports.cloneElement = function (element, config, children) {
"__source" === propName ||
(enableRefAsProp && "ref" === propName && void 0 === config.ref) ||
(props[propName] =
void 0 === config[propName] && void 0 !== defaultProps
? defaultProps[propName]
: config[propName]);
disableDefaultPropsExceptForClasses ||
void 0 !== config[propName] ||
void 0 === defaultProps
? config[propName]
: defaultProps[propName]);
}
var propName = arguments.length - 2;
if (1 === propName) props.children = children;
@@ -644,4 +652,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactCurrentDispatcher.current.useTransition();
};
exports.version = "19.0.0-www-modern-1ba025a1";
exports.version = "19.0.0-www-modern-6f7d270a";
@@ -89,6 +89,8 @@ var isArrayImpl = Array.isArray,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
ReactCurrentDispatcher = { current: null },
ReactCurrentCache = { current: null },
ReactCurrentBatchConfig = { transition: null },
@@ -125,7 +127,7 @@ function jsxProd(type, config, maybeKey) {
"key" !== propName &&
(enableRefAsProp || "ref" !== propName) &&
(props[propName] = config[propName]);
if (type && type.defaultProps)
if (!disableDefaultPropsExceptForClasses && type && type.defaultProps)
for (propName in ((config = type.defaultProps), config))
void 0 === props[propName] && (props[propName] = config[propName]);
return ReactElement(
@@ -433,7 +435,11 @@ exports.cloneElement = function (element, config, children) {
(enableRefAsProp || (ref = config.ref),
(owner = ReactCurrentOwner.current));
void 0 !== config.key && (key = "" + config.key);
if (element.type && element.type.defaultProps)
if (
!disableDefaultPropsExceptForClasses &&
element.type &&
element.type.defaultProps
)
var defaultProps = element.type.defaultProps;
for (propName in config)
!hasOwnProperty.call(config, propName) ||
@@ -443,9 +449,11 @@ exports.cloneElement = function (element, config, children) {
"__source" === propName ||
(enableRefAsProp && "ref" === propName && void 0 === config.ref) ||
(props[propName] =
void 0 === config[propName] && void 0 !== defaultProps
? defaultProps[propName]
: config[propName]);
disableDefaultPropsExceptForClasses ||
void 0 !== config[propName] ||
void 0 === defaultProps
? config[propName]
: defaultProps[propName]);
}
var propName = arguments.length - 2;
if (1 === propName) props.children = children;
@@ -648,7 +656,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactCurrentDispatcher.current.useTransition();
};
exports.version = "19.0.0-www-classic-fc935265";
exports.version = "19.0.0-www-classic-26c19df2";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -89,6 +89,8 @@ var isArrayImpl = Array.isArray,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
ReactCurrentDispatcher = { current: null },
ReactCurrentCache = { current: null },
ReactCurrentBatchConfig = { transition: null },
@@ -125,7 +127,7 @@ function jsxProd(type, config, maybeKey) {
"key" !== propName &&
(enableRefAsProp || "ref" !== propName) &&
(props[propName] = config[propName]);
if (type && type.defaultProps)
if (!disableDefaultPropsExceptForClasses && type && type.defaultProps)
for (propName in ((config = type.defaultProps), config))
void 0 === props[propName] && (props[propName] = config[propName]);
return ReactElement(
@@ -433,7 +435,11 @@ exports.cloneElement = function (element, config, children) {
(enableRefAsProp || (ref = config.ref),
(owner = ReactCurrentOwner.current));
void 0 !== config.key && (key = "" + config.key);
if (element.type && element.type.defaultProps)
if (
!disableDefaultPropsExceptForClasses &&
element.type &&
element.type.defaultProps
)
var defaultProps = element.type.defaultProps;
for (propName in config)
!hasOwnProperty.call(config, propName) ||
@@ -443,9 +449,11 @@ exports.cloneElement = function (element, config, children) {
"__source" === propName ||
(enableRefAsProp && "ref" === propName && void 0 === config.ref) ||
(props[propName] =
void 0 === config[propName] && void 0 !== defaultProps
? defaultProps[propName]
: config[propName]);
disableDefaultPropsExceptForClasses ||
void 0 !== config[propName] ||
void 0 === defaultProps
? config[propName]
: defaultProps[propName]);
}
var propName = arguments.length - 2;
if (1 === propName) props.children = children;
@@ -648,7 +656,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactCurrentDispatcher.current.useTransition();
};
exports.version = "19.0.0-www-modern-fc935265";
exports.version = "19.0.0-www-modern-26c19df2";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
+76 -30
View File
@@ -66,7 +66,7 @@ if (__DEV__) {
return self;
}
var ReactVersion = "19.0.0-www-classic-086110c8";
var ReactVersion = "19.0.0-www-classic-e11823db";
var LegacyRoot = 0;
var ConcurrentRoot = 1;
@@ -185,8 +185,9 @@ if (__DEV__) {
enableInfiniteRenderLoopDetection =
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, false is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, false is used for a new modern build.
var enableProfilerTimer = true;
var enableProfilerCommitHooks = true;
var enableProfilerNestedUpdatePhase = true;
@@ -14497,7 +14498,11 @@ if (__DEV__) {
var defaultProps = Component.defaultProps;
if (defaultProps && !alreadyResolvedDefaultProps) {
if (
defaultProps && // If disableDefaultPropsExceptForClasses is true, we always resolve
// default props here in the reconciler, rather than in the JSX runtime.
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
@@ -14521,10 +14526,13 @@ if (__DEV__) {
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
// TODO: Remove support for default props for everything except class
// components, including setting default props on a lazy wrapper around a
// class type.
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -15550,7 +15558,8 @@ if (__DEV__) {
if (
isSimpleFunctionComponent(type) &&
Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
Component.defaultProps === undefined
(disableDefaultPropsExceptForClasses ||
Component.defaultProps === undefined)
) {
var resolvedType = type;
@@ -15576,18 +15585,21 @@ if (__DEV__) {
);
}
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!disableDefaultPropsExceptForClasses) {
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;
didWarnAboutDefaultPropsOnFunctionComponent[componentName] =
true;
}
}
}
}
@@ -16663,7 +16675,9 @@ if (__DEV__) {
renderLanes
);
} else {
var _resolvedProps = resolveDefaultProps(Component, props);
var _resolvedProps = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = FunctionComponent;
@@ -16685,7 +16699,9 @@ if (__DEV__) {
var $$typeof = Component.$$typeof;
if ($$typeof === REACT_FORWARD_REF_TYPE) {
var _resolvedProps2 = resolveDefaultProps(Component, props);
var _resolvedProps2 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = ForwardRef;
@@ -16702,14 +16718,21 @@ if (__DEV__) {
renderLanes
);
} else if ($$typeof === REACT_MEMO_TYPE) {
var _resolvedProps3 = resolveDefaultProps(Component, props);
var _resolvedProps3 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = MemoComponent;
return updateMemoComponent(
null,
workInProgress,
Component,
resolveDefaultProps(Component.type, _resolvedProps3), // The inner type can have defaults too
disableDefaultPropsExceptForClasses
? _resolvedProps3
: resolveDefaultPropsOnNonClassComponent(
Component.type,
_resolvedProps3
), // The inner type can have defaults too
renderLanes
);
}
@@ -16808,7 +16831,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var _componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[_componentName]) {
@@ -18724,9 +18750,13 @@ if (__DEV__) {
var Component = workInProgress.type;
var unresolvedProps = workInProgress.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
return updateFunctionComponent(
current,
workInProgress,
@@ -18783,9 +18813,10 @@ if (__DEV__) {
var _unresolvedProps2 = workInProgress.pendingProps;
var _resolvedProps5 =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === type
? _unresolvedProps2
: resolveDefaultProps(type, _unresolvedProps2);
: resolveDefaultPropsOnNonClassComponent(type, _unresolvedProps2);
return updateForwardRef(
current,
@@ -18815,9 +18846,16 @@ if (__DEV__) {
var _type = workInProgress.type;
var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
var _resolvedProps6 = resolveDefaultProps(_type, _unresolvedProps3);
var _resolvedProps6 = disableDefaultPropsExceptForClasses
? _unresolvedProps3
: resolveDefaultPropsOnNonClassComponent(_type, _unresolvedProps3);
_resolvedProps6 = resolveDefaultProps(_type.type, _resolvedProps6);
_resolvedProps6 = disableDefaultPropsExceptForClasses
? _resolvedProps6
: resolveDefaultPropsOnNonClassComponent(
_type.type,
_resolvedProps6
);
return updateMemoComponent(
current,
workInProgress,
@@ -27653,9 +27691,13 @@ if (__DEV__) {
var Component = unitOfWork.type;
var unresolvedProps = unitOfWork.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
var context;
{
@@ -27687,9 +27729,13 @@ if (__DEV__) {
var _unresolvedProps = unitOfWork.pendingProps;
var _resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === _Component
? _unresolvedProps
: resolveDefaultProps(_Component, _unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
_Component,
_unresolvedProps
);
next = replayFunctionComponent(
current,
+76 -30
View File
@@ -66,7 +66,7 @@ if (__DEV__) {
return self;
}
var ReactVersion = "19.0.0-www-modern-792ee5bd";
var ReactVersion = "19.0.0-www-modern-ab20b5da";
var LegacyRoot = 0;
var ConcurrentRoot = 1;
@@ -185,8 +185,9 @@ if (__DEV__) {
enableInfiniteRenderLoopDetection =
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, true is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, true is used for a new modern build.
var enableProfilerTimer = true;
var enableProfilerCommitHooks = true;
var enableProfilerNestedUpdatePhase = true;
@@ -14207,7 +14208,11 @@ if (__DEV__) {
var defaultProps = Component.defaultProps;
if (defaultProps && !alreadyResolvedDefaultProps) {
if (
defaultProps && // If disableDefaultPropsExceptForClasses is true, we always resolve
// default props here in the reconciler, rather than in the JSX runtime.
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
@@ -14231,10 +14236,13 @@ if (__DEV__) {
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
// TODO: Remove support for default props for everything except class
// components, including setting default props on a lazy wrapper around a
// class type.
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -15164,7 +15172,8 @@ if (__DEV__) {
if (
isSimpleFunctionComponent(type) &&
Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
Component.defaultProps === undefined
(disableDefaultPropsExceptForClasses ||
Component.defaultProps === undefined)
) {
var resolvedType = type;
@@ -15190,18 +15199,21 @@ if (__DEV__) {
);
}
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!disableDefaultPropsExceptForClasses) {
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;
didWarnAboutDefaultPropsOnFunctionComponent[componentName] =
true;
}
}
}
}
@@ -16215,7 +16227,9 @@ if (__DEV__) {
renderLanes
);
} else {
var _resolvedProps = resolveDefaultProps(Component, props);
var _resolvedProps = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = FunctionComponent;
@@ -16237,7 +16251,9 @@ if (__DEV__) {
var $$typeof = Component.$$typeof;
if ($$typeof === REACT_FORWARD_REF_TYPE) {
var _resolvedProps2 = resolveDefaultProps(Component, props);
var _resolvedProps2 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = ForwardRef;
@@ -16254,14 +16270,21 @@ if (__DEV__) {
renderLanes
);
} else if ($$typeof === REACT_MEMO_TYPE) {
var _resolvedProps3 = resolveDefaultProps(Component, props);
var _resolvedProps3 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = MemoComponent;
return updateMemoComponent(
null,
workInProgress,
Component,
resolveDefaultProps(Component.type, _resolvedProps3), // The inner type can have defaults too
disableDefaultPropsExceptForClasses
? _resolvedProps3
: resolveDefaultPropsOnNonClassComponent(
Component.type,
_resolvedProps3
), // The inner type can have defaults too
renderLanes
);
}
@@ -16324,7 +16347,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var _componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[_componentName]) {
@@ -18150,9 +18176,13 @@ if (__DEV__) {
var Component = workInProgress.type;
var unresolvedProps = workInProgress.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
return updateFunctionComponent(
current,
workInProgress,
@@ -18209,9 +18239,10 @@ if (__DEV__) {
var _unresolvedProps2 = workInProgress.pendingProps;
var _resolvedProps5 =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === type
? _unresolvedProps2
: resolveDefaultProps(type, _unresolvedProps2);
: resolveDefaultPropsOnNonClassComponent(type, _unresolvedProps2);
return updateForwardRef(
current,
@@ -18241,9 +18272,16 @@ if (__DEV__) {
var _type = workInProgress.type;
var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
var _resolvedProps6 = resolveDefaultProps(_type, _unresolvedProps3);
var _resolvedProps6 = disableDefaultPropsExceptForClasses
? _unresolvedProps3
: resolveDefaultPropsOnNonClassComponent(_type, _unresolvedProps3);
_resolvedProps6 = resolveDefaultProps(_type.type, _resolvedProps6);
_resolvedProps6 = disableDefaultPropsExceptForClasses
? _resolvedProps6
: resolveDefaultPropsOnNonClassComponent(
_type.type,
_resolvedProps6
);
return updateMemoComponent(
current,
workInProgress,
@@ -26860,9 +26898,13 @@ if (__DEV__) {
var Component = unitOfWork.type;
var unresolvedProps = unitOfWork.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
var context;
next = replayFunctionComponent(
@@ -26885,9 +26927,13 @@ if (__DEV__) {
var _unresolvedProps = unitOfWork.pendingProps;
var _resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === _Component
? _unresolvedProps
: resolveDefaultProps(_Component, _unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
_Component,
_unresolvedProps
);
next = replayFunctionComponent(
current,
+38 -15
View File
@@ -84,6 +84,8 @@ var ReactSharedInternals =
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
REACT_PORTAL_TYPE = Symbol.for("react.portal"),
REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
@@ -3962,7 +3964,10 @@ function resolveClassComponentProps(
alreadyResolvedDefaultProps
) {
var newProps = baseProps;
if ((Component = Component.defaultProps) && !alreadyResolvedDefaultProps) {
if (
(Component = Component.defaultProps) &&
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in Component)
void 0 === newProps[propName] &&
@@ -3974,7 +3979,8 @@ function resolveClassComponentProps(
delete newProps.ref);
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -4433,7 +4439,7 @@ function updateMemoComponent(
!shouldConstruct(type) &&
void 0 === type.defaultProps &&
null === Component.compare &&
void 0 === Component.defaultProps
(disableDefaultPropsExceptForClasses || void 0 === Component.defaultProps)
)
return (
(workInProgress.tag = 15),
@@ -5638,7 +5644,9 @@ function beginWork(current, workInProgress, renderLanes) {
props,
renderLanes
)))
: ((props = resolveDefaultProps(current, props)),
: ((props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props)),
(workInProgress.tag = 0),
(workInProgress = updateFunctionComponent(
null,
@@ -5653,7 +5661,9 @@ function beginWork(current, workInProgress, renderLanes) {
((elementType = current.$$typeof),
elementType === REACT_FORWARD_REF_TYPE)
) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 11;
workInProgress = updateForwardRef(
null,
@@ -5664,13 +5674,17 @@ function beginWork(current, workInProgress, renderLanes) {
);
break a;
} else if (elementType === REACT_MEMO_TYPE) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 14;
workInProgress = updateMemoComponent(
null,
workInProgress,
current,
resolveDefaultProps(current.type, props),
disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current.type, props),
renderLanes
);
break a;
@@ -5684,9 +5698,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(elementType = workInProgress.pendingProps),
(elementType =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? elementType
: resolveDefaultProps(props, elementType)),
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
updateFunctionComponent(
current,
workInProgress,
@@ -5801,9 +5816,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(elementType = workInProgress.pendingProps),
(elementType =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? elementType
: resolveDefaultProps(props, elementType)),
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
updateForwardRef(
current,
workInProgress,
@@ -5890,8 +5906,13 @@ function beginWork(current, workInProgress, renderLanes) {
case 14:
return (
(props = workInProgress.type),
(elementType = resolveDefaultProps(props, workInProgress.pendingProps)),
(elementType = resolveDefaultProps(props.type, elementType)),
(elementType = workInProgress.pendingProps),
(elementType = disableDefaultPropsExceptForClasses
? elementType
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
(elementType = disableDefaultPropsExceptForClasses
? elementType
: resolveDefaultPropsOnNonClassComponent(props.type, elementType)),
updateMemoComponent(
current,
workInProgress,
@@ -9672,9 +9693,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
var Component = unitOfWork.type,
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
var context = isContextProvider(Component)
? previousContext
: contextStackCursor$1.current;
@@ -9692,9 +9714,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
Component = unitOfWork.type.render;
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -10673,7 +10696,7 @@ var slice = Array.prototype.slice,
return null;
},
bundleType: 0,
version: "19.0.0-www-classic-55d59959",
version: "19.0.0-www-classic-442df77a",
rendererPackageName: "react-art"
};
var internals$jscomp$inline_1317 = {
@@ -10704,7 +10727,7 @@ var internals$jscomp$inline_1317 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-classic-55d59959"
reconcilerVersion: "19.0.0-www-classic-442df77a"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1318 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
+38 -15
View File
@@ -84,6 +84,8 @@ var ReactSharedInternals =
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
REACT_PORTAL_TYPE = Symbol.for("react.portal"),
REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
@@ -3698,7 +3700,10 @@ function resolveClassComponentProps(
alreadyResolvedDefaultProps
) {
var newProps = baseProps;
if ((Component = Component.defaultProps) && !alreadyResolvedDefaultProps) {
if (
(Component = Component.defaultProps) &&
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in Component)
void 0 === newProps[propName] &&
@@ -3710,7 +3715,8 @@ function resolveClassComponentProps(
delete newProps.ref);
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -4129,7 +4135,7 @@ function updateMemoComponent(
!shouldConstruct(type) &&
void 0 === type.defaultProps &&
null === Component.compare &&
void 0 === Component.defaultProps
(disableDefaultPropsExceptForClasses || void 0 === Component.defaultProps)
)
return (
(workInProgress.tag = 15),
@@ -5302,7 +5308,9 @@ function beginWork(current, workInProgress, renderLanes) {
props,
renderLanes
)))
: ((props = resolveDefaultProps(current, props)),
: ((props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props)),
(workInProgress.tag = 0),
(workInProgress = updateFunctionComponent(
null,
@@ -5314,7 +5322,9 @@ function beginWork(current, workInProgress, renderLanes) {
else {
if (void 0 !== current && null !== current)
if (((init = current.$$typeof), init === REACT_FORWARD_REF_TYPE)) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 11;
workInProgress = updateForwardRef(
null,
@@ -5325,13 +5335,17 @@ function beginWork(current, workInProgress, renderLanes) {
);
break a;
} else if (init === REACT_MEMO_TYPE) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 14;
workInProgress = updateMemoComponent(
null,
workInProgress,
current,
resolveDefaultProps(current.type, props),
disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current.type, props),
renderLanes
);
break a;
@@ -5345,9 +5359,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(init = workInProgress.pendingProps),
(init =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? init
: resolveDefaultProps(props, init)),
: resolveDefaultPropsOnNonClassComponent(props, init)),
updateFunctionComponent(
current,
workInProgress,
@@ -5456,9 +5471,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(init = workInProgress.pendingProps),
(init =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? init
: resolveDefaultProps(props, init)),
: resolveDefaultPropsOnNonClassComponent(props, init)),
updateForwardRef(current, workInProgress, props, init, renderLanes)
);
case 7:
@@ -5531,8 +5547,13 @@ function beginWork(current, workInProgress, renderLanes) {
case 14:
return (
(props = workInProgress.type),
(init = resolveDefaultProps(props, workInProgress.pendingProps)),
(init = resolveDefaultProps(props.type, init)),
(init = workInProgress.pendingProps),
(init = disableDefaultPropsExceptForClasses
? init
: resolveDefaultPropsOnNonClassComponent(props, init)),
(init = disableDefaultPropsExceptForClasses
? init
: resolveDefaultPropsOnNonClassComponent(props.type, init)),
updateMemoComponent(current, workInProgress, props, init, renderLanes)
);
case 15:
@@ -9195,9 +9216,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
var Component = unitOfWork.type,
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -9211,9 +9233,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
Component = unitOfWork.type.render;
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -10145,7 +10168,7 @@ var slice = Array.prototype.slice,
return null;
},
bundleType: 0,
version: "19.0.0-www-modern-c8d23bec",
version: "19.0.0-www-modern-292e1686",
rendererPackageName: "react-art"
};
var internals$jscomp$inline_1298 = {
@@ -10176,7 +10199,7 @@ var internals$jscomp$inline_1298 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-modern-c8d23bec"
reconcilerVersion: "19.0.0-www-modern-292e1686"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1299 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
+76 -29
View File
@@ -149,7 +149,9 @@ if (__DEV__) {
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf; // On WWW, false is used for a new modern build.
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, false is used for a new modern build.
var enableProfilerTimer = true;
var enableProfilerCommitHooks = true;
var enableProfilerNestedUpdatePhase = true;
@@ -19148,7 +19150,11 @@ if (__DEV__) {
var defaultProps = Component.defaultProps;
if (defaultProps && !alreadyResolvedDefaultProps) {
if (
defaultProps && // If disableDefaultPropsExceptForClasses is true, we always resolve
// default props here in the reconciler, rather than in the JSX runtime.
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
@@ -19172,10 +19178,13 @@ if (__DEV__) {
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
// TODO: Remove support for default props for everything except class
// components, including setting default props on a lazy wrapper around a
// class type.
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -20337,7 +20346,8 @@ if (__DEV__) {
if (
isSimpleFunctionComponent(type) &&
Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
Component.defaultProps === undefined
(disableDefaultPropsExceptForClasses ||
Component.defaultProps === undefined)
) {
var resolvedType = type;
@@ -20363,18 +20373,21 @@ if (__DEV__) {
);
}
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!disableDefaultPropsExceptForClasses) {
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;
didWarnAboutDefaultPropsOnFunctionComponent[componentName] =
true;
}
}
}
}
@@ -21604,7 +21617,9 @@ if (__DEV__) {
renderLanes
);
} else {
var _resolvedProps = resolveDefaultProps(Component, props);
var _resolvedProps = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = FunctionComponent;
@@ -21626,7 +21641,9 @@ if (__DEV__) {
var $$typeof = Component.$$typeof;
if ($$typeof === REACT_FORWARD_REF_TYPE) {
var _resolvedProps2 = resolveDefaultProps(Component, props);
var _resolvedProps2 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = ForwardRef;
@@ -21643,14 +21660,21 @@ if (__DEV__) {
renderLanes
);
} else if ($$typeof === REACT_MEMO_TYPE) {
var _resolvedProps3 = resolveDefaultProps(Component, props);
var _resolvedProps3 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = MemoComponent;
return updateMemoComponent(
null,
workInProgress,
Component,
resolveDefaultProps(Component.type, _resolvedProps3), // The inner type can have defaults too
disableDefaultPropsExceptForClasses
? _resolvedProps3
: resolveDefaultPropsOnNonClassComponent(
Component.type,
_resolvedProps3
), // The inner type can have defaults too
renderLanes
);
}
@@ -21749,7 +21773,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var _componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[_componentName]) {
@@ -23753,9 +23780,13 @@ if (__DEV__) {
var Component = workInProgress.type;
var unresolvedProps = workInProgress.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
return updateFunctionComponent(
current,
workInProgress,
@@ -23816,9 +23847,10 @@ if (__DEV__) {
var _unresolvedProps2 = workInProgress.pendingProps;
var _resolvedProps5 =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === type
? _unresolvedProps2
: resolveDefaultProps(type, _unresolvedProps2);
: resolveDefaultPropsOnNonClassComponent(type, _unresolvedProps2);
return updateForwardRef(
current,
@@ -23848,9 +23880,16 @@ if (__DEV__) {
var _type = workInProgress.type;
var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
var _resolvedProps6 = resolveDefaultProps(_type, _unresolvedProps3);
var _resolvedProps6 = disableDefaultPropsExceptForClasses
? _unresolvedProps3
: resolveDefaultPropsOnNonClassComponent(_type, _unresolvedProps3);
_resolvedProps6 = resolveDefaultProps(_type.type, _resolvedProps6);
_resolvedProps6 = disableDefaultPropsExceptForClasses
? _resolvedProps6
: resolveDefaultPropsOnNonClassComponent(
_type.type,
_resolvedProps6
);
return updateMemoComponent(
current,
workInProgress,
@@ -33300,9 +33339,13 @@ if (__DEV__) {
var Component = unitOfWork.type;
var unresolvedProps = unitOfWork.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
var context;
{
@@ -33334,9 +33377,13 @@ if (__DEV__) {
var _unresolvedProps = unitOfWork.pendingProps;
var _resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === _Component
? _unresolvedProps
: resolveDefaultProps(_Component, _unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
_Component,
_unresolvedProps
);
next = replayFunctionComponent(
current,
@@ -36213,7 +36260,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "19.0.0-www-classic-cd5ebeba";
var ReactVersion = "19.0.0-www-classic-82184e0e";
function createPortal$1(
children,
+76 -29
View File
@@ -164,7 +164,9 @@ if (__DEV__) {
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf; // On WWW, true is used for a new modern build.
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, true is used for a new modern build.
var enableProfilerTimer = true;
var enableProfilerCommitHooks = true;
var enableProfilerNestedUpdatePhase = true;
@@ -29308,7 +29310,11 @@ if (__DEV__) {
var defaultProps = Component.defaultProps;
if (defaultProps && !alreadyResolvedDefaultProps) {
if (
defaultProps && // If disableDefaultPropsExceptForClasses is true, we always resolve
// default props here in the reconciler, rather than in the JSX runtime.
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
@@ -29332,10 +29338,13 @@ if (__DEV__) {
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
// TODO: Remove support for default props for everything except class
// components, including setting default props on a lazy wrapper around a
// class type.
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -30362,7 +30371,8 @@ if (__DEV__) {
if (
isSimpleFunctionComponent(type) &&
Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
Component.defaultProps === undefined
(disableDefaultPropsExceptForClasses ||
Component.defaultProps === undefined)
) {
var resolvedType = type;
@@ -30388,18 +30398,21 @@ if (__DEV__) {
);
}
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!disableDefaultPropsExceptForClasses) {
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;
didWarnAboutDefaultPropsOnFunctionComponent[componentName] =
true;
}
}
}
}
@@ -31567,7 +31580,9 @@ if (__DEV__) {
renderLanes
);
} else {
var _resolvedProps = resolveDefaultProps(Component, props);
var _resolvedProps = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = FunctionComponent;
@@ -31589,7 +31604,9 @@ if (__DEV__) {
var $$typeof = Component.$$typeof;
if ($$typeof === REACT_FORWARD_REF_TYPE) {
var _resolvedProps2 = resolveDefaultProps(Component, props);
var _resolvedProps2 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = ForwardRef;
@@ -31606,14 +31623,21 @@ if (__DEV__) {
renderLanes
);
} else if ($$typeof === REACT_MEMO_TYPE) {
var _resolvedProps3 = resolveDefaultProps(Component, props);
var _resolvedProps3 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = MemoComponent;
return updateMemoComponent(
null,
workInProgress,
Component,
resolveDefaultProps(Component.type, _resolvedProps3), // The inner type can have defaults too
disableDefaultPropsExceptForClasses
? _resolvedProps3
: resolveDefaultPropsOnNonClassComponent(
Component.type,
_resolvedProps3
), // The inner type can have defaults too
renderLanes
);
}
@@ -31676,7 +31700,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var _componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[_componentName]) {
@@ -33590,9 +33617,13 @@ if (__DEV__) {
var Component = workInProgress.type;
var unresolvedProps = workInProgress.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
return updateFunctionComponent(
current,
workInProgress,
@@ -33653,9 +33684,10 @@ if (__DEV__) {
var _unresolvedProps2 = workInProgress.pendingProps;
var _resolvedProps5 =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === type
? _unresolvedProps2
: resolveDefaultProps(type, _unresolvedProps2);
: resolveDefaultPropsOnNonClassComponent(type, _unresolvedProps2);
return updateForwardRef(
current,
@@ -33685,9 +33717,16 @@ if (__DEV__) {
var _type = workInProgress.type;
var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
var _resolvedProps6 = resolveDefaultProps(_type, _unresolvedProps3);
var _resolvedProps6 = disableDefaultPropsExceptForClasses
? _unresolvedProps3
: resolveDefaultPropsOnNonClassComponent(_type, _unresolvedProps3);
_resolvedProps6 = resolveDefaultProps(_type.type, _resolvedProps6);
_resolvedProps6 = disableDefaultPropsExceptForClasses
? _resolvedProps6
: resolveDefaultPropsOnNonClassComponent(
_type.type,
_resolvedProps6
);
return updateMemoComponent(
current,
workInProgress,
@@ -42902,9 +42941,13 @@ if (__DEV__) {
var Component = unitOfWork.type;
var unresolvedProps = unitOfWork.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
var context;
next = replayFunctionComponent(
@@ -42927,9 +42970,13 @@ if (__DEV__) {
var _unresolvedProps = unitOfWork.pendingProps;
var _resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === _Component
? _unresolvedProps
: resolveDefaultProps(_Component, _unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
_Component,
_unresolvedProps
);
next = replayFunctionComponent(
current,
@@ -45707,7 +45754,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "19.0.0-www-modern-b12aa191";
var ReactVersion = "19.0.0-www-modern-bedb0a17";
function createPortal$1(
children,
+39 -16
View File
@@ -62,6 +62,8 @@ var ReactSharedInternals =
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
REACT_PORTAL_TYPE = Symbol.for("react.portal"),
REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
@@ -4803,7 +4805,10 @@ function resolveClassComponentProps(
alreadyResolvedDefaultProps
) {
var newProps = baseProps;
if ((Component = Component.defaultProps) && !alreadyResolvedDefaultProps) {
if (
(Component = Component.defaultProps) &&
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in Component)
void 0 === newProps[propName] &&
@@ -4815,7 +4820,8 @@ function resolveClassComponentProps(
delete newProps.ref);
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -5347,7 +5353,7 @@ function updateMemoComponent(
!shouldConstruct(type) &&
void 0 === type.defaultProps &&
null === Component.compare &&
void 0 === Component.defaultProps
(disableDefaultPropsExceptForClasses || void 0 === Component.defaultProps)
)
return (
(workInProgress.tag = 15),
@@ -6656,7 +6662,9 @@ function beginWork(current, workInProgress, renderLanes) {
props,
renderLanes
)))
: ((props = resolveDefaultProps(current, props)),
: ((props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props)),
(workInProgress.tag = 0),
(workInProgress = updateFunctionComponent(
null,
@@ -6671,7 +6679,9 @@ function beginWork(current, workInProgress, renderLanes) {
((elementType = current.$$typeof),
elementType === REACT_FORWARD_REF_TYPE)
) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 11;
workInProgress = updateForwardRef(
null,
@@ -6682,13 +6692,17 @@ function beginWork(current, workInProgress, renderLanes) {
);
break a;
} else if (elementType === REACT_MEMO_TYPE) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 14;
workInProgress = updateMemoComponent(
null,
workInProgress,
current,
resolveDefaultProps(current.type, props),
disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current.type, props),
renderLanes
);
break a;
@@ -6702,9 +6716,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(elementType = workInProgress.pendingProps),
(elementType =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? elementType
: resolveDefaultProps(props, elementType)),
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
updateFunctionComponent(
current,
workInProgress,
@@ -6956,9 +6971,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(elementType = workInProgress.pendingProps),
(elementType =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? elementType
: resolveDefaultProps(props, elementType)),
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
updateForwardRef(
current,
workInProgress,
@@ -7045,8 +7061,13 @@ function beginWork(current, workInProgress, renderLanes) {
case 14:
return (
(props = workInProgress.type),
(elementType = resolveDefaultProps(props, workInProgress.pendingProps)),
(elementType = resolveDefaultProps(props.type, elementType)),
(elementType = workInProgress.pendingProps),
(elementType = disableDefaultPropsExceptForClasses
? elementType
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
(elementType = disableDefaultPropsExceptForClasses
? elementType
: resolveDefaultPropsOnNonClassComponent(props.type, elementType)),
updateMemoComponent(
current,
workInProgress,
@@ -11502,9 +11523,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
var Component = unitOfWork.type,
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
var context = isContextProvider(Component)
? previousContext
: contextStackCursor.current;
@@ -11522,9 +11544,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
Component = unitOfWork.type.render;
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -16993,7 +17016,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1704 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-classic-83138ece",
version: "19.0.0-www-classic-6a77288c",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2134 = {
@@ -17023,7 +17046,7 @@ var internals$jscomp$inline_2134 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-classic-83138ece"
reconcilerVersion: "19.0.0-www-classic-6a77288c"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2135 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17479,4 +17502,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "19.0.0-www-classic-83138ece";
exports.version = "19.0.0-www-classic-6a77288c";
+39 -16
View File
@@ -78,6 +78,8 @@ var ReactSharedInternals =
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
REACT_PORTAL_TYPE = Symbol.for("react.portal"),
REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
@@ -8356,7 +8358,10 @@ function resolveClassComponentProps(
alreadyResolvedDefaultProps
) {
var newProps = baseProps;
if ((Component = Component.defaultProps) && !alreadyResolvedDefaultProps) {
if (
(Component = Component.defaultProps) &&
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in Component)
void 0 === newProps[propName] &&
@@ -8368,7 +8373,8 @@ function resolveClassComponentProps(
delete newProps.ref);
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -8803,7 +8809,7 @@ function updateMemoComponent(
!shouldConstruct(type) &&
void 0 === type.defaultProps &&
null === Component.compare &&
void 0 === Component.defaultProps
(disableDefaultPropsExceptForClasses || void 0 === Component.defaultProps)
)
return (
(workInProgress.tag = 15),
@@ -10073,7 +10079,9 @@ function beginWork(current, workInProgress, renderLanes) {
props,
renderLanes
)))
: ((props = resolveDefaultProps(current, props)),
: ((props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props)),
(workInProgress.tag = 0),
(workInProgress = updateFunctionComponent(
null,
@@ -10085,7 +10093,9 @@ function beginWork(current, workInProgress, renderLanes) {
else {
if (void 0 !== current && null !== current)
if (((init = current.$$typeof), init === REACT_FORWARD_REF_TYPE)) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 11;
workInProgress = updateForwardRef(
null,
@@ -10096,13 +10106,17 @@ function beginWork(current, workInProgress, renderLanes) {
);
break a;
} else if (init === REACT_MEMO_TYPE) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 14;
workInProgress = updateMemoComponent(
null,
workInProgress,
current,
resolveDefaultProps(current.type, props),
disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current.type, props),
renderLanes
);
break a;
@@ -10116,9 +10130,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(init = workInProgress.pendingProps),
(init =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? init
: resolveDefaultProps(props, init)),
: resolveDefaultPropsOnNonClassComponent(props, init)),
updateFunctionComponent(
current,
workInProgress,
@@ -10367,9 +10382,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(init = workInProgress.pendingProps),
(init =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? init
: resolveDefaultProps(props, init)),
: resolveDefaultPropsOnNonClassComponent(props, init)),
updateForwardRef(current, workInProgress, props, init, renderLanes)
);
case 7:
@@ -10442,8 +10458,13 @@ function beginWork(current, workInProgress, renderLanes) {
case 14:
return (
(props = workInProgress.type),
(init = resolveDefaultProps(props, workInProgress.pendingProps)),
(init = resolveDefaultProps(props.type, init)),
(init = workInProgress.pendingProps),
(init = disableDefaultPropsExceptForClasses
? init
: resolveDefaultPropsOnNonClassComponent(props, init)),
(init = disableDefaultPropsExceptForClasses
? init
: resolveDefaultPropsOnNonClassComponent(props.type, init)),
updateMemoComponent(current, workInProgress, props, init, renderLanes)
);
case 15:
@@ -14786,9 +14807,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
var Component = unitOfWork.type,
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -14802,9 +14824,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
Component = unitOfWork.type.render;
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -16368,7 +16391,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1687 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-modern-8cca1f01",
version: "19.0.0-www-modern-182c8cda",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2114 = {
@@ -16398,7 +16421,7 @@ var internals$jscomp$inline_2114 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-modern-8cca1f01"
reconcilerVersion: "19.0.0-www-modern-182c8cda"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2115 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -16701,4 +16724,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "19.0.0-www-modern-8cca1f01";
exports.version = "19.0.0-www-modern-182c8cda";
@@ -66,6 +66,8 @@ var ReactSharedInternals =
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
enableSchedulingProfiler = dynamicFeatureFlags.enableSchedulingProfiler,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
REACT_PORTAL_TYPE = Symbol.for("react.portal"),
@@ -5011,7 +5013,10 @@ function resolveClassComponentProps(
alreadyResolvedDefaultProps
) {
var newProps = baseProps;
if ((Component = Component.defaultProps) && !alreadyResolvedDefaultProps) {
if (
(Component = Component.defaultProps) &&
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in Component)
void 0 === newProps[propName] &&
@@ -5023,7 +5028,8 @@ function resolveClassComponentProps(
delete newProps.ref);
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -5558,7 +5564,7 @@ function updateMemoComponent(
!shouldConstruct(type) &&
void 0 === type.defaultProps &&
null === Component.compare &&
void 0 === Component.defaultProps
(disableDefaultPropsExceptForClasses || void 0 === Component.defaultProps)
)
return (
(workInProgress.tag = 15),
@@ -6898,7 +6904,9 @@ function beginWork(current, workInProgress, renderLanes) {
props,
renderLanes
)))
: ((props = resolveDefaultProps(current, props)),
: ((props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props)),
(workInProgress.tag = 0),
(workInProgress = updateFunctionComponent(
null,
@@ -6913,7 +6921,9 @@ function beginWork(current, workInProgress, renderLanes) {
((elementType = current.$$typeof),
elementType === REACT_FORWARD_REF_TYPE)
) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 11;
workInProgress = updateForwardRef(
null,
@@ -6924,13 +6934,17 @@ function beginWork(current, workInProgress, renderLanes) {
);
break a;
} else if (elementType === REACT_MEMO_TYPE) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 14;
workInProgress = updateMemoComponent(
null,
workInProgress,
current,
resolveDefaultProps(current.type, props),
disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current.type, props),
renderLanes
);
break a;
@@ -6944,9 +6958,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(elementType = workInProgress.pendingProps),
(elementType =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? elementType
: resolveDefaultProps(props, elementType)),
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
updateFunctionComponent(
current,
workInProgress,
@@ -7198,9 +7213,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(elementType = workInProgress.pendingProps),
(elementType =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? elementType
: resolveDefaultProps(props, elementType)),
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
updateForwardRef(
current,
workInProgress,
@@ -7293,8 +7309,13 @@ function beginWork(current, workInProgress, renderLanes) {
case 14:
return (
(props = workInProgress.type),
(elementType = resolveDefaultProps(props, workInProgress.pendingProps)),
(elementType = resolveDefaultProps(props.type, elementType)),
(elementType = workInProgress.pendingProps),
(elementType = disableDefaultPropsExceptForClasses
? elementType
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
(elementType = disableDefaultPropsExceptForClasses
? elementType
: resolveDefaultPropsOnNonClassComponent(props.type, elementType)),
updateMemoComponent(
current,
workInProgress,
@@ -12165,9 +12186,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
var Component = unitOfWork.type,
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
var context = isContextProvider(Component)
? previousContext
: contextStackCursor.current;
@@ -12185,9 +12207,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
Component = unitOfWork.type.render;
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -17741,7 +17764,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1790 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-classic-1231a9cb",
version: "19.0.0-www-classic-1006227c",
rendererPackageName: "react-dom"
};
(function (internals) {
@@ -17785,7 +17808,7 @@ var devToolsConfig$jscomp$inline_1790 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-classic-1231a9cb"
reconcilerVersion: "19.0.0-www-classic-1006227c"
});
var ReactFiberErrorDialogWWW = require("ReactFiberErrorDialog");
if ("function" !== typeof ReactFiberErrorDialogWWW.showErrorDialog)
@@ -18228,7 +18251,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "19.0.0-www-classic-1231a9cb";
exports.version = "19.0.0-www-classic-1006227c";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -82,6 +82,8 @@ var ReactSharedInternals =
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
enableSchedulingProfiler = dynamicFeatureFlags.enableSchedulingProfiler,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
REACT_PORTAL_TYPE = Symbol.for("react.portal"),
@@ -8564,7 +8566,10 @@ function resolveClassComponentProps(
alreadyResolvedDefaultProps
) {
var newProps = baseProps;
if ((Component = Component.defaultProps) && !alreadyResolvedDefaultProps) {
if (
(Component = Component.defaultProps) &&
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in Component)
void 0 === newProps[propName] &&
@@ -8576,7 +8581,8 @@ function resolveClassComponentProps(
delete newProps.ref);
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -9014,7 +9020,7 @@ function updateMemoComponent(
!shouldConstruct(type) &&
void 0 === type.defaultProps &&
null === Component.compare &&
void 0 === Component.defaultProps
(disableDefaultPropsExceptForClasses || void 0 === Component.defaultProps)
)
return (
(workInProgress.tag = 15),
@@ -10298,7 +10304,9 @@ function beginWork(current, workInProgress, renderLanes) {
props,
renderLanes
)))
: ((props = resolveDefaultProps(current, props)),
: ((props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props)),
(workInProgress.tag = 0),
(workInProgress = updateFunctionComponent(
null,
@@ -10310,7 +10318,9 @@ function beginWork(current, workInProgress, renderLanes) {
else {
if (void 0 !== current && null !== current)
if (((init = current.$$typeof), init === REACT_FORWARD_REF_TYPE)) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 11;
workInProgress = updateForwardRef(
null,
@@ -10321,13 +10331,17 @@ function beginWork(current, workInProgress, renderLanes) {
);
break a;
} else if (init === REACT_MEMO_TYPE) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 14;
workInProgress = updateMemoComponent(
null,
workInProgress,
current,
resolveDefaultProps(current.type, props),
disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current.type, props),
renderLanes
);
break a;
@@ -10341,9 +10355,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(init = workInProgress.pendingProps),
(init =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? init
: resolveDefaultProps(props, init)),
: resolveDefaultPropsOnNonClassComponent(props, init)),
updateFunctionComponent(
current,
workInProgress,
@@ -10592,9 +10607,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(init = workInProgress.pendingProps),
(init =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? init
: resolveDefaultProps(props, init)),
: resolveDefaultPropsOnNonClassComponent(props, init)),
updateForwardRef(current, workInProgress, props, init, renderLanes)
);
case 7:
@@ -10673,8 +10689,13 @@ function beginWork(current, workInProgress, renderLanes) {
case 14:
return (
(props = workInProgress.type),
(init = resolveDefaultProps(props, workInProgress.pendingProps)),
(init = resolveDefaultProps(props.type, init)),
(init = workInProgress.pendingProps),
(init = disableDefaultPropsExceptForClasses
? init
: resolveDefaultPropsOnNonClassComponent(props, init)),
(init = disableDefaultPropsExceptForClasses
? init
: resolveDefaultPropsOnNonClassComponent(props.type, init)),
updateMemoComponent(current, workInProgress, props, init, renderLanes)
);
case 15:
@@ -15432,9 +15453,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
var Component = unitOfWork.type,
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -15448,9 +15470,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
Component = unitOfWork.type.render;
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -17099,7 +17122,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1773 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-modern-31fa3d44",
version: "19.0.0-www-modern-89fa1e2e",
rendererPackageName: "react-dom"
};
(function (internals) {
@@ -17143,7 +17166,7 @@ var devToolsConfig$jscomp$inline_1773 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-modern-31fa3d44"
reconcilerVersion: "19.0.0-www-modern-89fa1e2e"
});
var ReactFiberErrorDialogWWW = require("ReactFiberErrorDialog");
if ("function" !== typeof ReactFiberErrorDialogWWW.showErrorDialog)
@@ -17433,7 +17456,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "19.0.0-www-modern-31fa3d44";
exports.version = "19.0.0-www-modern-89fa1e2e";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -19,7 +19,7 @@ if (__DEV__) {
var React = require("react");
var ReactDOM = require("react-dom");
var ReactVersion = "19.0.0-www-classic-6ac6cbda";
var ReactVersion = "19.0.0-www-classic-de6e54b3";
// This refers to a WWW module.
var warningWWW = require("warning");
@@ -678,8 +678,9 @@ if (__DEV__) {
enableUseDeferredValueInitialArg =
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, false is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, false is used for a new modern build.
// $FlowFixMe[method-unbinding]
var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -11997,12 +11998,27 @@ if (__DEV__) {
}
function resolveClassComponentProps(Component, baseProps) {
var newProps = baseProps; // TODO: This is where defaultProps should be resolved, too.
var newProps = baseProps; // Resolve default props. Taken from old JSX runtime, where this used to live.
var defaultProps = Component.defaultProps;
if (defaultProps && disableDefaultPropsExceptForClasses) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
if (newProps[propName] === undefined) {
newProps[propName] = defaultProps[propName];
}
}
}
if (enableRefAsProp) {
// Remove ref from the props object, if it exists.
if ("ref" in newProps) {
newProps = assign({}, newProps);
if (newProps === baseProps) {
newProps = assign({}, newProps);
}
delete newProps.ref;
}
}
@@ -12177,7 +12193,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
@@ -12224,7 +12243,13 @@ if (__DEV__) {
}
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -12290,7 +12315,10 @@ if (__DEV__) {
function renderMemo(request, task, keyPath, type, props, ref) {
var innerType = type.type;
var resolvedProps = resolveDefaultProps(innerType, props);
var resolvedProps = resolveDefaultPropsOnNonClassComponent(
innerType,
props
);
renderElement(request, task, keyPath, innerType, resolvedProps, ref);
}
@@ -12354,7 +12382,10 @@ if (__DEV__) {
var payload = lazyComponent._payload;
var init = lazyComponent._init;
var Component = init(payload);
var resolvedProps = resolveDefaultProps(Component, props);
var resolvedProps = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
renderElement(request, task, keyPath, Component, resolvedProps, ref);
task.componentStack = previousComponentStack;
}
@@ -19,7 +19,7 @@ if (__DEV__) {
var React = require("react");
var ReactDOM = require("react-dom");
var ReactVersion = "19.0.0-www-modern-53247bf3";
var ReactVersion = "19.0.0-www-modern-5712afa3";
// This refers to a WWW module.
var warningWWW = require("warning");
@@ -678,8 +678,9 @@ if (__DEV__) {
enableUseDeferredValueInitialArg =
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, true is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, true is used for a new modern build.
// $FlowFixMe[method-unbinding]
var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -11900,12 +11901,27 @@ if (__DEV__) {
}
function resolveClassComponentProps(Component, baseProps) {
var newProps = baseProps; // TODO: This is where defaultProps should be resolved, too.
var newProps = baseProps; // Resolve default props. Taken from old JSX runtime, where this used to live.
var defaultProps = Component.defaultProps;
if (defaultProps && disableDefaultPropsExceptForClasses) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
if (newProps[propName] === undefined) {
newProps[propName] = defaultProps[propName];
}
}
}
if (enableRefAsProp) {
// Remove ref from the props object, if it exists.
if ("ref" in newProps) {
newProps = assign({}, newProps);
if (newProps === baseProps) {
newProps = assign({}, newProps);
}
delete newProps.ref;
}
}
@@ -12082,7 +12098,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
@@ -12129,7 +12148,13 @@ if (__DEV__) {
}
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -12195,7 +12220,10 @@ if (__DEV__) {
function renderMemo(request, task, keyPath, type, props, ref) {
var innerType = type.type;
var resolvedProps = resolveDefaultProps(innerType, props);
var resolvedProps = resolveDefaultPropsOnNonClassComponent(
innerType,
props
);
renderElement(request, task, keyPath, innerType, resolvedProps, ref);
}
@@ -12259,7 +12287,10 @@ if (__DEV__) {
var payload = lazyComponent._payload;
var init = lazyComponent._init;
var Component = init(payload);
var resolvedProps = resolveDefaultProps(Component, props);
var resolvedProps = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
renderElement(request, task, keyPath, Component, resolvedProps, ref);
task.componentStack = previousComponentStack;
}
@@ -133,6 +133,8 @@ var assign = Object.assign,
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
hasOwnProperty = Object.prototype.hasOwnProperty,
VALID_ATTRIBUTE_NAME_REGEX = RegExp(
"^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"
@@ -2617,16 +2619,16 @@ function createRenderState(resumableState, generateStaticMarkup) {
"\x3c/script>"
);
bootstrapScriptContent = idPrefix + "P:";
var JSCompiler_object_inline_segmentPrefix_1629 = idPrefix + "S:";
var JSCompiler_object_inline_segmentPrefix_1631 = idPrefix + "S:";
idPrefix += "B:";
var JSCompiler_object_inline_preconnects_1643 = new Set(),
JSCompiler_object_inline_fontPreloads_1644 = new Set(),
JSCompiler_object_inline_highImagePreloads_1645 = new Set(),
JSCompiler_object_inline_styles_1646 = new Map(),
JSCompiler_object_inline_bootstrapScripts_1647 = new Set(),
JSCompiler_object_inline_scripts_1648 = new Set(),
JSCompiler_object_inline_bulkPreloads_1649 = new Set(),
JSCompiler_object_inline_preloads_1650 = {
var JSCompiler_object_inline_preconnects_1645 = new Set(),
JSCompiler_object_inline_fontPreloads_1646 = new Set(),
JSCompiler_object_inline_highImagePreloads_1647 = new Set(),
JSCompiler_object_inline_styles_1648 = new Map(),
JSCompiler_object_inline_bootstrapScripts_1649 = new Set(),
JSCompiler_object_inline_scripts_1650 = new Set(),
JSCompiler_object_inline_bulkPreloads_1651 = new Set(),
JSCompiler_object_inline_preloads_1652 = {
images: new Map(),
stylesheets: new Map(),
scripts: new Map(),
@@ -2663,7 +2665,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
scriptConfig.moduleScriptResources[href] = null;
scriptConfig = [];
pushLinkImpl(scriptConfig, props);
JSCompiler_object_inline_bootstrapScripts_1647.add(scriptConfig);
JSCompiler_object_inline_bootstrapScripts_1649.add(scriptConfig);
bootstrapChunks.push('<script src="', escapeTextForBrowser(src));
"string" === typeof integrity &&
bootstrapChunks.push('" integrity="', escapeTextForBrowser(integrity));
@@ -2704,7 +2706,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
(props.moduleScriptResources[scriptConfig] = null),
(props = []),
pushLinkImpl(props, integrity),
JSCompiler_object_inline_bootstrapScripts_1647.add(props),
JSCompiler_object_inline_bootstrapScripts_1649.add(props),
bootstrapChunks.push(
'<script type="module" src="',
escapeTextForBrowser(i)
@@ -2719,7 +2721,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
bootstrapChunks.push('" async="">\x3c/script>');
return {
placeholderPrefix: bootstrapScriptContent,
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1629,
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1631,
boundaryPrefix: idPrefix,
startInlineScript: "<script>",
htmlChunks: null,
@@ -2739,14 +2741,14 @@ function createRenderState(resumableState, generateStaticMarkup) {
charsetChunks: [],
viewportChunks: [],
hoistableChunks: [],
preconnects: JSCompiler_object_inline_preconnects_1643,
fontPreloads: JSCompiler_object_inline_fontPreloads_1644,
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1645,
styles: JSCompiler_object_inline_styles_1646,
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1647,
scripts: JSCompiler_object_inline_scripts_1648,
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1649,
preloads: JSCompiler_object_inline_preloads_1650,
preconnects: JSCompiler_object_inline_preconnects_1645,
fontPreloads: JSCompiler_object_inline_fontPreloads_1646,
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1647,
styles: JSCompiler_object_inline_styles_1648,
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1649,
scripts: JSCompiler_object_inline_scripts_1650,
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1651,
preloads: JSCompiler_object_inline_preloads_1652,
stylesToHoist: !1,
generateStaticMarkup: generateStaticMarkup
};
@@ -3756,7 +3758,8 @@ function finishFunctionComponent(
: renderNodeDestructive(request, task, children, -1);
task.keyPath = actionStateCount;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -3802,32 +3805,40 @@ function renderContextProvider(request, task, keyPath, context, props) {
function renderElement(request, task, keyPath, type, props, ref) {
if ("function" === typeof type)
if (type.prototype && type.prototype.isReactComponent) {
var JSCompiler_inline_result,
newProps = props;
if (
(JSCompiler_inline_result = type.defaultProps) &&
disableDefaultPropsExceptForClasses
) {
newProps = assign({}, newProps, props);
for (var propName in JSCompiler_inline_result)
void 0 === newProps[propName] &&
(newProps[propName] = JSCompiler_inline_result[propName]);
}
enableRefAsProp &&
"ref" in props &&
((props = assign({}, props)), delete props.ref);
var JSCompiler_inline_result = props;
"ref" in newProps &&
(newProps === props && (newProps = assign({}, newProps)),
delete newProps.ref);
JSCompiler_inline_result = newProps;
props = task.componentStack;
task.componentStack = { tag: 2, parent: task.componentStack, type: type };
ref = getMaskedContext(type, task.legacyContext);
var JSCompiler_inline_result$jscomp$0 = type.contextType;
JSCompiler_inline_result$jscomp$0 = new type(
newProps = type.contextType;
newProps = new type(
JSCompiler_inline_result,
"object" === typeof JSCompiler_inline_result$jscomp$0 &&
null !== JSCompiler_inline_result$jscomp$0
? JSCompiler_inline_result$jscomp$0._currentValue2
"object" === typeof newProps && null !== newProps
? newProps._currentValue2
: ref
);
var initialState =
void 0 !== JSCompiler_inline_result$jscomp$0.state
? JSCompiler_inline_result$jscomp$0.state
: null;
JSCompiler_inline_result$jscomp$0.updater = classComponentUpdater;
JSCompiler_inline_result$jscomp$0.props = JSCompiler_inline_result;
JSCompiler_inline_result$jscomp$0.state = initialState;
var internalInstance = { queue: [], replace: !1 };
JSCompiler_inline_result$jscomp$0._reactInternals = internalInstance;
var initialState = void 0 !== newProps.state ? newProps.state : null;
newProps.updater = classComponentUpdater;
newProps.props = JSCompiler_inline_result;
newProps.state = initialState;
propName = { queue: [], replace: !1 };
newProps._reactInternals = propName;
var contextType = type.contextType;
JSCompiler_inline_result$jscomp$0.context =
newProps.context =
"object" === typeof contextType && null !== contextType
? contextType._currentValue2
: ref;
@@ -3838,42 +3849,35 @@ function renderElement(request, task, keyPath, type, props, ref) {
null === contextType || void 0 === contextType
? initialState
: assign({}, initialState, contextType)),
(JSCompiler_inline_result$jscomp$0.state = initialState));
(newProps.state = initialState));
if (
"function" !== typeof type.getDerivedStateFromProps &&
"function" !==
typeof JSCompiler_inline_result$jscomp$0.getSnapshotBeforeUpdate &&
("function" ===
typeof JSCompiler_inline_result$jscomp$0.UNSAFE_componentWillMount ||
"function" ===
typeof JSCompiler_inline_result$jscomp$0.componentWillMount)
"function" !== typeof newProps.getSnapshotBeforeUpdate &&
("function" === typeof newProps.UNSAFE_componentWillMount ||
"function" === typeof newProps.componentWillMount)
)
if (
((initialState = JSCompiler_inline_result$jscomp$0.state),
"function" ===
typeof JSCompiler_inline_result$jscomp$0.componentWillMount &&
JSCompiler_inline_result$jscomp$0.componentWillMount(),
"function" ===
typeof JSCompiler_inline_result$jscomp$0.UNSAFE_componentWillMount &&
JSCompiler_inline_result$jscomp$0.UNSAFE_componentWillMount(),
initialState !== JSCompiler_inline_result$jscomp$0.state &&
((initialState = newProps.state),
"function" === typeof newProps.componentWillMount &&
newProps.componentWillMount(),
"function" === typeof newProps.UNSAFE_componentWillMount &&
newProps.UNSAFE_componentWillMount(),
initialState !== newProps.state &&
classComponentUpdater.enqueueReplaceState(
JSCompiler_inline_result$jscomp$0,
JSCompiler_inline_result$jscomp$0.state,
newProps,
newProps.state,
null
),
null !== internalInstance.queue && 0 < internalInstance.queue.length)
null !== propName.queue && 0 < propName.queue.length)
) {
initialState = internalInstance.queue;
var oldReplace = internalInstance.replace;
internalInstance.queue = null;
internalInstance.replace = !1;
initialState = propName.queue;
var oldReplace = propName.replace;
propName.queue = null;
propName.replace = !1;
if (oldReplace && 1 === initialState.length)
JSCompiler_inline_result$jscomp$0.state = initialState[0];
newProps.state = initialState[0];
else {
internalInstance = oldReplace
? initialState[0]
: JSCompiler_inline_result$jscomp$0.state;
propName = oldReplace ? initialState[0] : newProps.state;
contextType = !0;
for (
oldReplace = oldReplace ? 1 : 0;
@@ -3884,8 +3888,8 @@ function renderElement(request, task, keyPath, type, props, ref) {
partial =
"function" === typeof partial
? partial.call(
JSCompiler_inline_result$jscomp$0,
internalInstance,
newProps,
propName,
JSCompiler_inline_result,
ref
)
@@ -3893,25 +3897,20 @@ function renderElement(request, task, keyPath, type, props, ref) {
null != partial &&
(contextType
? ((contextType = !1),
(internalInstance = assign({}, internalInstance, partial)))
: assign(internalInstance, partial));
(propName = assign({}, propName, partial)))
: assign(propName, partial));
}
JSCompiler_inline_result$jscomp$0.state = internalInstance;
newProps.state = propName;
}
} else internalInstance.queue = null;
JSCompiler_inline_result = JSCompiler_inline_result$jscomp$0.render();
} else propName.queue = null;
JSCompiler_inline_result = newProps.render();
ref = type.childContextTypes;
if (null !== ref && void 0 !== ref) {
keyPath = task.legacyContext;
if (
"function" !==
typeof JSCompiler_inline_result$jscomp$0.getChildContext
)
type = keyPath;
if ("function" !== typeof newProps.getChildContext) type = keyPath;
else {
JSCompiler_inline_result$jscomp$0 =
JSCompiler_inline_result$jscomp$0.getChildContext();
for (var contextKey in JSCompiler_inline_result$jscomp$0)
newProps = newProps.getChildContext();
for (var contextKey in newProps)
if (!(contextKey in ref))
throw Error(
formatProdErrorMessage(
@@ -3920,7 +3919,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
contextKey
)
);
type = assign({}, keyPath, JSCompiler_inline_result$jscomp$0);
type = assign({}, keyPath, newProps);
}
task.legacyContext = type;
renderNodeDestructive(request, task, JSCompiler_inline_result, -1);
@@ -3932,24 +3931,14 @@ function renderElement(request, task, keyPath, type, props, ref) {
(task.keyPath = type);
task.componentStack = props;
} else
(JSCompiler_inline_result$jscomp$0 = getMaskedContext(
type,
task.legacyContext
)),
(newProps = getMaskedContext(type, task.legacyContext)),
(contextKey = task.componentStack),
(task.componentStack = {
tag: 1,
parent: task.componentStack,
type: type
}),
(type = renderWithHooks(
request,
task,
keyPath,
type,
props,
JSCompiler_inline_result$jscomp$0
)),
(type = renderWithHooks(request, task, keyPath, type, props, newProps)),
finishFunctionComponent(
request,
task,
@@ -3963,9 +3952,9 @@ function renderElement(request, task, keyPath, type, props, ref) {
else if ("string" === typeof type) {
contextKey = task.componentStack;
task.componentStack = createBuiltInComponentStack(task, type);
JSCompiler_inline_result$jscomp$0 = task.blockedSegment;
if (null === JSCompiler_inline_result$jscomp$0)
(JSCompiler_inline_result$jscomp$0 = props.children),
newProps = task.blockedSegment;
if (null === newProps)
(newProps = props.children),
(JSCompiler_inline_result = task.formatContext),
(ref = task.keyPath),
(task.formatContext = getChildFormatContext(
@@ -3974,24 +3963,24 @@ function renderElement(request, task, keyPath, type, props, ref) {
props
)),
(task.keyPath = keyPath),
renderNode(request, task, JSCompiler_inline_result$jscomp$0, -1),
renderNode(request, task, newProps, -1),
(task.formatContext = JSCompiler_inline_result),
(task.keyPath = ref);
else {
ref = pushStartInstance(
JSCompiler_inline_result$jscomp$0.chunks,
newProps.chunks,
type,
props,
request.resumableState,
request.renderState,
task.hoistableState,
task.formatContext,
JSCompiler_inline_result$jscomp$0.lastPushedText,
newProps.lastPushedText,
task.isFallback
);
JSCompiler_inline_result$jscomp$0.lastPushedText = !1;
newProps.lastPushedText = !1;
JSCompiler_inline_result = task.formatContext;
internalInstance = task.keyPath;
propName = task.keyPath;
task.formatContext = getChildFormatContext(
JSCompiler_inline_result,
type,
@@ -4000,9 +3989,9 @@ function renderElement(request, task, keyPath, type, props, ref) {
task.keyPath = keyPath;
renderNode(request, task, ref, -1);
task.formatContext = JSCompiler_inline_result;
task.keyPath = internalInstance;
task.keyPath = propName;
a: {
keyPath = JSCompiler_inline_result$jscomp$0.chunks;
keyPath = newProps.chunks;
request = request.resumableState;
switch (type) {
case "title":
@@ -4038,7 +4027,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
}
keyPath.push(endChunkForTag(type));
}
JSCompiler_inline_result$jscomp$0.lastPushedText = !1;
newProps.lastPushedText = !1;
}
task.componentStack = contextKey;
} else {
@@ -4098,13 +4087,13 @@ function renderElement(request, task, keyPath, type, props, ref) {
ref = props.fallback;
var content = props.children;
props = new Set();
internalInstance = createSuspenseBoundary(request, props);
propName = createSuspenseBoundary(request, props);
null !== request.trackedPostpones &&
(internalInstance.trackedContentKeyPath = keyPath);
(propName.trackedContentKeyPath = keyPath);
initialState = createPendingSegment(
request,
parentSegment.chunks.length,
internalInstance,
propName,
task.formatContext,
!1,
!1
@@ -4120,8 +4109,8 @@ function renderElement(request, task, keyPath, type, props, ref) {
!1
);
contentRootSegment.parentFlushed = !0;
task.blockedBoundary = internalInstance;
task.hoistableState = internalInstance.contentState;
task.blockedBoundary = propName;
task.hoistableState = propName.contentState;
task.blockedSegment = contentRootSegment;
task.keyPath = keyPath;
try {
@@ -4132,28 +4121,24 @@ function renderElement(request, task, keyPath, type, props, ref) {
contentRootSegment.textEmbedded &&
contentRootSegment.chunks.push("\x3c!-- --\x3e")),
(contentRootSegment.status = 1),
queueCompletedSegment(internalInstance, contentRootSegment),
0 === internalInstance.pendingTasks &&
0 === internalInstance.status)
queueCompletedSegment(propName, contentRootSegment),
0 === propName.pendingTasks && 0 === propName.status)
) {
internalInstance.status = 1;
propName.status = 1;
task.componentStack = contextType;
break a;
}
} catch (error) {
(contentRootSegment.status = 4),
(internalInstance.status = 4),
(JSCompiler_inline_result$jscomp$0 = getThrownInfo(
request,
task.componentStack
)),
(propName.status = 4),
(newProps = getThrownInfo(request, task.componentStack)),
(JSCompiler_inline_result = logRecoverableError(
request,
error,
JSCompiler_inline_result$jscomp$0
newProps
)),
(internalInstance.errorDigest = JSCompiler_inline_result),
untrackBoundary(request, internalInstance);
(propName.errorDigest = JSCompiler_inline_result),
untrackBoundary(request, propName);
} finally {
(task.blockedBoundary = contextKey),
(task.hoistableState = partial),
@@ -4161,27 +4146,15 @@ function renderElement(request, task, keyPath, type, props, ref) {
(task.keyPath = oldReplace),
(task.componentStack = contextType);
}
JSCompiler_inline_result$jscomp$0 = [
keyPath[0],
"Suspense Fallback",
keyPath[2]
];
newProps = [keyPath[0], "Suspense Fallback", keyPath[2]];
JSCompiler_inline_result = request.trackedPostpones;
null !== JSCompiler_inline_result &&
((contextType = [
JSCompiler_inline_result$jscomp$0[1],
JSCompiler_inline_result$jscomp$0[2],
[],
null
]),
JSCompiler_inline_result.workingMap.set(
JSCompiler_inline_result$jscomp$0,
contextType
),
5 === internalInstance.status
((contextType = [newProps[1], newProps[2], [], null]),
JSCompiler_inline_result.workingMap.set(newProps, contextType),
5 === propName.status
? (JSCompiler_inline_result.workingMap.get(keyPath)[4] =
contextType)
: (internalInstance.trackedFallbackNode = contextType));
: (propName.trackedFallbackNode = contextType));
task = createRenderTask(
request,
null,
@@ -4189,9 +4162,9 @@ function renderElement(request, task, keyPath, type, props, ref) {
-1,
contextKey,
initialState,
internalInstance.fallbackState,
propName.fallbackState,
props,
JSCompiler_inline_result$jscomp$0,
newProps,
task.formatContext,
task.legacyContext,
task.context,
@@ -4213,18 +4186,16 @@ function renderElement(request, task, keyPath, type, props, ref) {
type: type.render
};
if (enableRefAsProp && "ref" in props)
for (internalInstance in ((JSCompiler_inline_result$jscomp$0 = {}),
props))
"ref" !== internalInstance &&
(JSCompiler_inline_result$jscomp$0[internalInstance] =
props[internalInstance]);
else JSCompiler_inline_result$jscomp$0 = props;
for (initialState in ((newProps = {}), props))
"ref" !== initialState &&
(newProps[initialState] = props[initialState]);
else newProps = props;
type = renderWithHooks(
request,
task,
keyPath,
type.render,
JSCompiler_inline_result$jscomp$0,
newProps,
ref
);
finishFunctionComponent(
@@ -4240,7 +4211,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
return;
case REACT_MEMO_TYPE:
type = type.type;
props = resolveDefaultProps(type, props);
props = resolveDefaultPropsOnNonClassComponent(type, props);
renderElement(request, task, keyPath, type, props, ref);
return;
case REACT_PROVIDER_TYPE:
@@ -4261,9 +4232,9 @@ function renderElement(request, task, keyPath, type, props, ref) {
case REACT_LAZY_TYPE:
contextKey = task.componentStack;
task.componentStack = createBuiltInComponentStack(task, "Lazy");
JSCompiler_inline_result$jscomp$0 = type._init;
type = JSCompiler_inline_result$jscomp$0(type._payload);
props = resolveDefaultProps(type, props);
newProps = type._init;
type = newProps(type._payload);
props = resolveDefaultPropsOnNonClassComponent(type, props);
renderElement(request, task, keyPath, type, props, void 0);
task.componentStack = contextKey;
return;
@@ -5706,4 +5677,4 @@ exports.renderToString = function (children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
exports.version = "19.0.0-www-classic-8a4d889d";
exports.version = "19.0.0-www-classic-105227cc";
@@ -133,6 +133,8 @@ var assign = Object.assign,
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
hasOwnProperty = Object.prototype.hasOwnProperty,
VALID_ATTRIBUTE_NAME_REGEX = RegExp(
"^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"
@@ -2617,16 +2619,16 @@ function createRenderState(resumableState, generateStaticMarkup) {
"\x3c/script>"
);
bootstrapScriptContent = idPrefix + "P:";
var JSCompiler_object_inline_segmentPrefix_1616 = idPrefix + "S:";
var JSCompiler_object_inline_segmentPrefix_1618 = idPrefix + "S:";
idPrefix += "B:";
var JSCompiler_object_inline_preconnects_1630 = new Set(),
JSCompiler_object_inline_fontPreloads_1631 = new Set(),
JSCompiler_object_inline_highImagePreloads_1632 = new Set(),
JSCompiler_object_inline_styles_1633 = new Map(),
JSCompiler_object_inline_bootstrapScripts_1634 = new Set(),
JSCompiler_object_inline_scripts_1635 = new Set(),
JSCompiler_object_inline_bulkPreloads_1636 = new Set(),
JSCompiler_object_inline_preloads_1637 = {
var JSCompiler_object_inline_preconnects_1632 = new Set(),
JSCompiler_object_inline_fontPreloads_1633 = new Set(),
JSCompiler_object_inline_highImagePreloads_1634 = new Set(),
JSCompiler_object_inline_styles_1635 = new Map(),
JSCompiler_object_inline_bootstrapScripts_1636 = new Set(),
JSCompiler_object_inline_scripts_1637 = new Set(),
JSCompiler_object_inline_bulkPreloads_1638 = new Set(),
JSCompiler_object_inline_preloads_1639 = {
images: new Map(),
stylesheets: new Map(),
scripts: new Map(),
@@ -2663,7 +2665,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
scriptConfig.moduleScriptResources[href] = null;
scriptConfig = [];
pushLinkImpl(scriptConfig, props);
JSCompiler_object_inline_bootstrapScripts_1634.add(scriptConfig);
JSCompiler_object_inline_bootstrapScripts_1636.add(scriptConfig);
bootstrapChunks.push('<script src="', escapeTextForBrowser(src));
"string" === typeof integrity &&
bootstrapChunks.push('" integrity="', escapeTextForBrowser(integrity));
@@ -2704,7 +2706,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
(props.moduleScriptResources[scriptConfig] = null),
(props = []),
pushLinkImpl(props, integrity),
JSCompiler_object_inline_bootstrapScripts_1634.add(props),
JSCompiler_object_inline_bootstrapScripts_1636.add(props),
bootstrapChunks.push(
'<script type="module" src="',
escapeTextForBrowser(i)
@@ -2719,7 +2721,7 @@ function createRenderState(resumableState, generateStaticMarkup) {
bootstrapChunks.push('" async="">\x3c/script>');
return {
placeholderPrefix: bootstrapScriptContent,
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1616,
segmentPrefix: JSCompiler_object_inline_segmentPrefix_1618,
boundaryPrefix: idPrefix,
startInlineScript: "<script>",
htmlChunks: null,
@@ -2739,14 +2741,14 @@ function createRenderState(resumableState, generateStaticMarkup) {
charsetChunks: [],
viewportChunks: [],
hoistableChunks: [],
preconnects: JSCompiler_object_inline_preconnects_1630,
fontPreloads: JSCompiler_object_inline_fontPreloads_1631,
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1632,
styles: JSCompiler_object_inline_styles_1633,
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1634,
scripts: JSCompiler_object_inline_scripts_1635,
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1636,
preloads: JSCompiler_object_inline_preloads_1637,
preconnects: JSCompiler_object_inline_preconnects_1632,
fontPreloads: JSCompiler_object_inline_fontPreloads_1633,
highImagePreloads: JSCompiler_object_inline_highImagePreloads_1634,
styles: JSCompiler_object_inline_styles_1635,
bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1636,
scripts: JSCompiler_object_inline_scripts_1637,
bulkPreloads: JSCompiler_object_inline_bulkPreloads_1638,
preloads: JSCompiler_object_inline_preloads_1639,
stylesToHoist: !1,
generateStaticMarkup: generateStaticMarkup
};
@@ -3748,7 +3750,8 @@ function finishFunctionComponent(
: renderNodeDestructive(request, task, children, -1);
task.keyPath = actionStateCount;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -3794,109 +3797,108 @@ function renderContextProvider(request, task, keyPath, context, props) {
function renderElement(request, task, keyPath, type, props, ref) {
if ("function" === typeof type)
if (type.prototype && type.prototype.isReactComponent) {
var JSCompiler_inline_result = props;
var defaultProps = type.defaultProps;
if (defaultProps && disableDefaultPropsExceptForClasses) {
JSCompiler_inline_result = assign({}, JSCompiler_inline_result, props);
for (var propName in defaultProps)
void 0 === JSCompiler_inline_result[propName] &&
(JSCompiler_inline_result[propName] = defaultProps[propName]);
}
enableRefAsProp &&
"ref" in props &&
((props = assign({}, props)), delete props.ref);
ref = props;
"ref" in JSCompiler_inline_result &&
(JSCompiler_inline_result === props &&
(JSCompiler_inline_result = assign({}, JSCompiler_inline_result)),
delete JSCompiler_inline_result.ref);
props = task.componentStack;
task.componentStack = { tag: 2, parent: task.componentStack, type: type };
var JSCompiler_inline_result = emptyContextObject;
defaultProps = emptyContextObject;
ref = type.contextType;
"object" === typeof ref &&
null !== ref &&
(defaultProps = ref._currentValue2);
defaultProps = new type(JSCompiler_inline_result, defaultProps);
propName = void 0 !== defaultProps.state ? defaultProps.state : null;
defaultProps.updater = classComponentUpdater;
defaultProps.props = JSCompiler_inline_result;
defaultProps.state = propName;
ref = { queue: [], replace: !1 };
defaultProps._reactInternals = ref;
var contextType = type.contextType;
"object" === typeof contextType &&
null !== contextType &&
(JSCompiler_inline_result = contextType._currentValue2);
JSCompiler_inline_result = new type(ref, JSCompiler_inline_result);
var initialState =
void 0 !== JSCompiler_inline_result.state
? JSCompiler_inline_result.state
: null;
JSCompiler_inline_result.updater = classComponentUpdater;
JSCompiler_inline_result.props = ref;
JSCompiler_inline_result.state = initialState;
contextType = { queue: [], replace: !1 };
JSCompiler_inline_result._reactInternals = contextType;
var contextType$jscomp$0 = type.contextType;
JSCompiler_inline_result.context =
"object" === typeof contextType$jscomp$0 &&
null !== contextType$jscomp$0
? contextType$jscomp$0._currentValue2
defaultProps.context =
"object" === typeof contextType && null !== contextType
? contextType._currentValue2
: emptyContextObject;
contextType$jscomp$0 = type.getDerivedStateFromProps;
"function" === typeof contextType$jscomp$0 &&
((contextType$jscomp$0 = contextType$jscomp$0(ref, initialState)),
(initialState =
null === contextType$jscomp$0 || void 0 === contextType$jscomp$0
? initialState
: assign({}, initialState, contextType$jscomp$0)),
(JSCompiler_inline_result.state = initialState));
contextType = type.getDerivedStateFromProps;
"function" === typeof contextType &&
((contextType = contextType(JSCompiler_inline_result, propName)),
(propName =
null === contextType || void 0 === contextType
? propName
: assign({}, propName, contextType)),
(defaultProps.state = propName));
if (
"function" !== typeof type.getDerivedStateFromProps &&
"function" !==
typeof JSCompiler_inline_result.getSnapshotBeforeUpdate &&
("function" ===
typeof JSCompiler_inline_result.UNSAFE_componentWillMount ||
"function" === typeof JSCompiler_inline_result.componentWillMount)
"function" !== typeof defaultProps.getSnapshotBeforeUpdate &&
("function" === typeof defaultProps.UNSAFE_componentWillMount ||
"function" === typeof defaultProps.componentWillMount)
)
if (
((type = JSCompiler_inline_result.state),
"function" === typeof JSCompiler_inline_result.componentWillMount &&
JSCompiler_inline_result.componentWillMount(),
"function" ===
typeof JSCompiler_inline_result.UNSAFE_componentWillMount &&
JSCompiler_inline_result.UNSAFE_componentWillMount(),
type !== JSCompiler_inline_result.state &&
((type = defaultProps.state),
"function" === typeof defaultProps.componentWillMount &&
defaultProps.componentWillMount(),
"function" === typeof defaultProps.UNSAFE_componentWillMount &&
defaultProps.UNSAFE_componentWillMount(),
type !== defaultProps.state &&
classComponentUpdater.enqueueReplaceState(
JSCompiler_inline_result,
JSCompiler_inline_result.state,
defaultProps,
defaultProps.state,
null
),
null !== contextType.queue && 0 < contextType.queue.length)
null !== ref.queue && 0 < ref.queue.length)
)
if (
((type = contextType.queue),
(contextType$jscomp$0 = contextType.replace),
(contextType.queue = null),
(contextType.replace = !1),
contextType$jscomp$0 && 1 === type.length)
((type = ref.queue),
(contextType = ref.replace),
(ref.queue = null),
(ref.replace = !1),
contextType && 1 === type.length)
)
JSCompiler_inline_result.state = type[0];
defaultProps.state = type[0];
else {
contextType = contextType$jscomp$0
? type[0]
: JSCompiler_inline_result.state;
initialState = !0;
ref = contextType ? type[0] : defaultProps.state;
propName = !0;
for (
contextType$jscomp$0 = contextType$jscomp$0 ? 1 : 0;
contextType$jscomp$0 < type.length;
contextType$jscomp$0++
contextType = contextType ? 1 : 0;
contextType < type.length;
contextType++
) {
var partial = type[contextType$jscomp$0];
var partial = type[contextType];
partial =
"function" === typeof partial
? partial.call(
JSCompiler_inline_result,
contextType,
defaultProps,
ref,
JSCompiler_inline_result,
void 0
)
: partial;
null != partial &&
(initialState
? ((initialState = !1),
(contextType = assign({}, contextType, partial)))
: assign(contextType, partial));
(propName
? ((propName = !1), (ref = assign({}, ref, partial)))
: assign(ref, partial));
}
JSCompiler_inline_result.state = contextType;
defaultProps.state = ref;
}
else contextType.queue = null;
type = JSCompiler_inline_result.render();
ref = task.keyPath;
else ref.queue = null;
type = defaultProps.render();
JSCompiler_inline_result = task.keyPath;
task.keyPath = keyPath;
renderNodeDestructive(request, task, type, -1);
task.keyPath = ref;
task.keyPath = JSCompiler_inline_result;
task.componentStack = props;
} else
(ref = task.componentStack),
(JSCompiler_inline_result = task.componentStack),
(task.componentStack = {
tag: 1,
parent: task.componentStack,
@@ -3912,42 +3914,42 @@ function renderElement(request, task, keyPath, type, props, ref) {
actionStateCounter,
actionStateMatchingIndex
),
(task.componentStack = ref);
(task.componentStack = JSCompiler_inline_result);
else if ("string" === typeof type) {
ref = task.componentStack;
JSCompiler_inline_result = task.componentStack;
task.componentStack = createBuiltInComponentStack(task, type);
JSCompiler_inline_result = task.blockedSegment;
if (null === JSCompiler_inline_result)
(JSCompiler_inline_result = props.children),
(contextType = task.formatContext),
(initialState = task.keyPath),
(task.formatContext = getChildFormatContext(contextType, type, props)),
defaultProps = task.blockedSegment;
if (null === defaultProps)
(defaultProps = props.children),
(ref = task.formatContext),
(propName = task.keyPath),
(task.formatContext = getChildFormatContext(ref, type, props)),
(task.keyPath = keyPath),
renderNode(request, task, JSCompiler_inline_result, -1),
(task.formatContext = contextType),
(task.keyPath = initialState);
renderNode(request, task, defaultProps, -1),
(task.formatContext = ref),
(task.keyPath = propName);
else {
initialState = pushStartInstance(
JSCompiler_inline_result.chunks,
propName = pushStartInstance(
defaultProps.chunks,
type,
props,
request.resumableState,
request.renderState,
task.hoistableState,
task.formatContext,
JSCompiler_inline_result.lastPushedText,
defaultProps.lastPushedText,
task.isFallback
);
JSCompiler_inline_result.lastPushedText = !1;
contextType = task.formatContext;
contextType$jscomp$0 = task.keyPath;
task.formatContext = getChildFormatContext(contextType, type, props);
defaultProps.lastPushedText = !1;
ref = task.formatContext;
contextType = task.keyPath;
task.formatContext = getChildFormatContext(ref, type, props);
task.keyPath = keyPath;
renderNode(request, task, initialState, -1);
task.formatContext = contextType;
task.keyPath = contextType$jscomp$0;
renderNode(request, task, propName, -1);
task.formatContext = ref;
task.keyPath = contextType;
a: {
keyPath = JSCompiler_inline_result.chunks;
keyPath = defaultProps.chunks;
request = request.resumableState;
switch (type) {
case "title":
@@ -3970,22 +3972,22 @@ function renderElement(request, task, keyPath, type, props, ref) {
case "wbr":
break a;
case "body":
if (1 >= contextType.insertionMode) {
if (1 >= ref.insertionMode) {
request.hasBody = !0;
break a;
}
break;
case "html":
if (0 === contextType.insertionMode) {
if (0 === ref.insertionMode) {
request.hasHtml = !0;
break a;
}
}
keyPath.push(endChunkForTag(type));
}
JSCompiler_inline_result.lastPushedText = !1;
defaultProps.lastPushedText = !1;
}
task.componentStack = ref;
task.componentStack = JSCompiler_inline_result;
} else {
switch (type) {
case REACT_LEGACY_HIDDEN_TYPE:
@@ -4008,10 +4010,10 @@ function renderElement(request, task, keyPath, type, props, ref) {
case REACT_SUSPENSE_LIST_TYPE:
type = task.componentStack;
task.componentStack = createBuiltInComponentStack(task, "SuspenseList");
ref = task.keyPath;
JSCompiler_inline_result = task.keyPath;
task.keyPath = keyPath;
renderNodeDestructive(request, task, props.children, -1);
task.keyPath = ref;
task.keyPath = JSCompiler_inline_result;
task.componentStack = type;
return;
case REACT_SCOPE_TYPE:
@@ -4040,16 +4042,16 @@ function renderElement(request, task, keyPath, type, props, ref) {
ref = task.blockedBoundary;
var parentHoistableState = task.hoistableState,
parentSegment = task.blockedSegment;
JSCompiler_inline_result = props.fallback;
propName = props.fallback;
var content = props.children;
props = new Set();
contextType$jscomp$0 = createSuspenseBoundary(request, props);
contextType = createSuspenseBoundary(request, props);
null !== request.trackedPostpones &&
(contextType$jscomp$0.trackedContentKeyPath = keyPath);
(contextType.trackedContentKeyPath = keyPath);
partial = createPendingSegment(
request,
parentSegment.chunks.length,
contextType$jscomp$0,
contextType,
task.formatContext,
!1,
!1
@@ -4065,8 +4067,8 @@ function renderElement(request, task, keyPath, type, props, ref) {
!1
);
contentRootSegment.parentFlushed = !0;
task.blockedBoundary = contextType$jscomp$0;
task.hoistableState = contextType$jscomp$0.contentState;
task.blockedBoundary = contextType;
task.hoistableState = contextType.contentState;
task.blockedSegment = contentRootSegment;
task.keyPath = keyPath;
try {
@@ -4077,21 +4079,27 @@ function renderElement(request, task, keyPath, type, props, ref) {
contentRootSegment.textEmbedded &&
contentRootSegment.chunks.push("\x3c!-- --\x3e")),
(contentRootSegment.status = 1),
queueCompletedSegment(contextType$jscomp$0, contentRootSegment),
0 === contextType$jscomp$0.pendingTasks &&
0 === contextType$jscomp$0.status)
queueCompletedSegment(contextType, contentRootSegment),
0 === contextType.pendingTasks && 0 === contextType.status)
) {
contextType$jscomp$0.status = 1;
contextType.status = 1;
task.componentStack = previousComponentStack;
break a;
}
} catch (error) {
(contentRootSegment.status = 4),
(contextType$jscomp$0.status = 4),
(contextType = getThrownInfo(request, task.componentStack)),
(initialState = logRecoverableError(request, error, contextType)),
(contextType$jscomp$0.errorDigest = initialState),
untrackBoundary(request, contextType$jscomp$0);
(contextType.status = 4),
(JSCompiler_inline_result = getThrownInfo(
request,
task.componentStack
)),
(defaultProps = logRecoverableError(
request,
error,
JSCompiler_inline_result
)),
(contextType.errorDigest = defaultProps),
untrackBoundary(request, contextType);
} finally {
(task.blockedBoundary = ref),
(task.hoistableState = parentHoistableState),
@@ -4099,31 +4107,37 @@ function renderElement(request, task, keyPath, type, props, ref) {
(task.keyPath = prevKeyPath),
(task.componentStack = previousComponentStack);
}
contextType = [keyPath[0], "Suspense Fallback", keyPath[2]];
initialState = request.trackedPostpones;
null !== initialState &&
JSCompiler_inline_result = [
keyPath[0],
"Suspense Fallback",
keyPath[2]
];
defaultProps = request.trackedPostpones;
null !== defaultProps &&
((previousComponentStack = [
contextType[1],
contextType[2],
JSCompiler_inline_result[1],
JSCompiler_inline_result[2],
[],
null
]),
initialState.workingMap.set(contextType, previousComponentStack),
5 === contextType$jscomp$0.status
? (initialState.workingMap.get(keyPath)[4] =
defaultProps.workingMap.set(
JSCompiler_inline_result,
previousComponentStack
),
5 === contextType.status
? (defaultProps.workingMap.get(keyPath)[4] =
previousComponentStack)
: (contextType$jscomp$0.trackedFallbackNode =
previousComponentStack));
: (contextType.trackedFallbackNode = previousComponentStack));
task = createRenderTask(
request,
null,
JSCompiler_inline_result,
propName,
-1,
ref,
partial,
contextType$jscomp$0.fallbackState,
contextType.fallbackState,
props,
contextType,
JSCompiler_inline_result,
task.formatContext,
task.legacyContext,
task.context,
@@ -4138,24 +4152,23 @@ function renderElement(request, task, keyPath, type, props, ref) {
if ("object" === typeof type && null !== type)
switch (type.$$typeof) {
case REACT_FORWARD_REF_TYPE:
contextType = task.componentStack;
JSCompiler_inline_result = task.componentStack;
task.componentStack = {
tag: 1,
parent: task.componentStack,
type: type.render
};
if (enableRefAsProp && "ref" in props)
for (JSCompiler_inline_result in ((initialState = {}), props))
"ref" !== JSCompiler_inline_result &&
(initialState[JSCompiler_inline_result] =
props[JSCompiler_inline_result]);
else initialState = props;
for (contextType in ((defaultProps = {}), props))
"ref" !== contextType &&
(defaultProps[contextType] = props[contextType]);
else defaultProps = props;
props = renderWithHooks(
request,
task,
keyPath,
type.render,
initialState,
defaultProps,
ref
);
finishFunctionComponent(
@@ -4167,11 +4180,11 @@ function renderElement(request, task, keyPath, type, props, ref) {
actionStateCounter,
actionStateMatchingIndex
);
task.componentStack = contextType;
task.componentStack = JSCompiler_inline_result;
return;
case REACT_MEMO_TYPE:
type = type.type;
props = resolveDefaultProps(type, props);
props = resolveDefaultPropsOnNonClassComponent(type, props);
renderElement(request, task, keyPath, type, props, ref);
return;
case REACT_PROVIDER_TYPE:
@@ -4190,13 +4203,13 @@ function renderElement(request, task, keyPath, type, props, ref) {
return;
}
case REACT_LAZY_TYPE:
ref = task.componentStack;
JSCompiler_inline_result = task.componentStack;
task.componentStack = createBuiltInComponentStack(task, "Lazy");
JSCompiler_inline_result = type._init;
type = JSCompiler_inline_result(type._payload);
props = resolveDefaultProps(type, props);
defaultProps = type._init;
type = defaultProps(type._payload);
props = resolveDefaultPropsOnNonClassComponent(type, props);
renderElement(request, task, keyPath, type, props, void 0);
task.componentStack = ref;
task.componentStack = JSCompiler_inline_result;
return;
}
throw Error(
@@ -5637,4 +5650,4 @@ exports.renderToString = function (children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
exports.version = "19.0.0-www-modern-97b251b2";
exports.version = "19.0.0-www-modern-09c7873c";
@@ -675,8 +675,9 @@ if (__DEV__) {
enableUseDeferredValueInitialArg =
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, true is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, true is used for a new modern build.
// $FlowFixMe[method-unbinding]
var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -11779,12 +11780,27 @@ if (__DEV__) {
}
function resolveClassComponentProps(Component, baseProps) {
var newProps = baseProps; // TODO: This is where defaultProps should be resolved, too.
var newProps = baseProps; // Resolve default props. Taken from old JSX runtime, where this used to live.
var defaultProps = Component.defaultProps;
if (defaultProps && disableDefaultPropsExceptForClasses) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
if (newProps[propName] === undefined) {
newProps[propName] = defaultProps[propName];
}
}
}
if (enableRefAsProp) {
// Remove ref from the props object, if it exists.
if ("ref" in newProps) {
newProps = assign({}, newProps);
if (newProps === baseProps) {
newProps = assign({}, newProps);
}
delete newProps.ref;
}
}
@@ -11961,7 +11977,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
@@ -12008,7 +12027,13 @@ if (__DEV__) {
}
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -12074,7 +12099,10 @@ if (__DEV__) {
function renderMemo(request, task, keyPath, type, props, ref) {
var innerType = type.type;
var resolvedProps = resolveDefaultProps(innerType, props);
var resolvedProps = resolveDefaultPropsOnNonClassComponent(
innerType,
props
);
renderElement(request, task, keyPath, innerType, resolvedProps, ref);
}
@@ -12138,7 +12166,10 @@ if (__DEV__) {
var payload = lazyComponent._payload;
var init = lazyComponent._init;
var Component = init(payload);
var resolvedProps = resolveDefaultProps(Component, props);
var resolvedProps = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
renderElement(request, task, keyPath, Component, resolvedProps, ref);
task.componentStack = previousComponentStack;
}
@@ -125,6 +125,8 @@ var assign = Object.assign,
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
hasOwnProperty = Object.prototype.hasOwnProperty,
VALID_ATTRIBUTE_NAME_REGEX = RegExp(
"^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"
@@ -3569,7 +3571,8 @@ function finishFunctionComponent(
: renderNodeDestructive(request, task, children, -1);
task.keyPath = actionStateCount;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -3618,109 +3621,108 @@ function renderContextProvider(request, task, keyPath, context, props) {
function renderElement(request, task, keyPath, type, props, ref) {
if ("function" === typeof type)
if (type.prototype && type.prototype.isReactComponent) {
var JSCompiler_inline_result = props;
var defaultProps = type.defaultProps;
if (defaultProps && disableDefaultPropsExceptForClasses) {
JSCompiler_inline_result = assign({}, JSCompiler_inline_result, props);
for (var propName in defaultProps)
void 0 === JSCompiler_inline_result[propName] &&
(JSCompiler_inline_result[propName] = defaultProps[propName]);
}
enableRefAsProp &&
"ref" in props &&
((props = assign({}, props)), delete props.ref);
ref = props;
"ref" in JSCompiler_inline_result &&
(JSCompiler_inline_result === props &&
(JSCompiler_inline_result = assign({}, JSCompiler_inline_result)),
delete JSCompiler_inline_result.ref);
props = task.componentStack;
task.componentStack = { tag: 2, parent: task.componentStack, type: type };
var JSCompiler_inline_result = emptyContextObject;
defaultProps = emptyContextObject;
ref = type.contextType;
"object" === typeof ref &&
null !== ref &&
(defaultProps = ref._currentValue);
defaultProps = new type(JSCompiler_inline_result, defaultProps);
propName = void 0 !== defaultProps.state ? defaultProps.state : null;
defaultProps.updater = classComponentUpdater;
defaultProps.props = JSCompiler_inline_result;
defaultProps.state = propName;
ref = { queue: [], replace: !1 };
defaultProps._reactInternals = ref;
var contextType = type.contextType;
"object" === typeof contextType &&
null !== contextType &&
(JSCompiler_inline_result = contextType._currentValue);
JSCompiler_inline_result = new type(ref, JSCompiler_inline_result);
var initialState =
void 0 !== JSCompiler_inline_result.state
? JSCompiler_inline_result.state
: null;
JSCompiler_inline_result.updater = classComponentUpdater;
JSCompiler_inline_result.props = ref;
JSCompiler_inline_result.state = initialState;
contextType = { queue: [], replace: !1 };
JSCompiler_inline_result._reactInternals = contextType;
var contextType$jscomp$0 = type.contextType;
JSCompiler_inline_result.context =
"object" === typeof contextType$jscomp$0 &&
null !== contextType$jscomp$0
? contextType$jscomp$0._currentValue
defaultProps.context =
"object" === typeof contextType && null !== contextType
? contextType._currentValue
: emptyContextObject;
contextType$jscomp$0 = type.getDerivedStateFromProps;
"function" === typeof contextType$jscomp$0 &&
((contextType$jscomp$0 = contextType$jscomp$0(ref, initialState)),
(initialState =
null === contextType$jscomp$0 || void 0 === contextType$jscomp$0
? initialState
: assign({}, initialState, contextType$jscomp$0)),
(JSCompiler_inline_result.state = initialState));
contextType = type.getDerivedStateFromProps;
"function" === typeof contextType &&
((contextType = contextType(JSCompiler_inline_result, propName)),
(propName =
null === contextType || void 0 === contextType
? propName
: assign({}, propName, contextType)),
(defaultProps.state = propName));
if (
"function" !== typeof type.getDerivedStateFromProps &&
"function" !==
typeof JSCompiler_inline_result.getSnapshotBeforeUpdate &&
("function" ===
typeof JSCompiler_inline_result.UNSAFE_componentWillMount ||
"function" === typeof JSCompiler_inline_result.componentWillMount)
"function" !== typeof defaultProps.getSnapshotBeforeUpdate &&
("function" === typeof defaultProps.UNSAFE_componentWillMount ||
"function" === typeof defaultProps.componentWillMount)
)
if (
((type = JSCompiler_inline_result.state),
"function" === typeof JSCompiler_inline_result.componentWillMount &&
JSCompiler_inline_result.componentWillMount(),
"function" ===
typeof JSCompiler_inline_result.UNSAFE_componentWillMount &&
JSCompiler_inline_result.UNSAFE_componentWillMount(),
type !== JSCompiler_inline_result.state &&
((type = defaultProps.state),
"function" === typeof defaultProps.componentWillMount &&
defaultProps.componentWillMount(),
"function" === typeof defaultProps.UNSAFE_componentWillMount &&
defaultProps.UNSAFE_componentWillMount(),
type !== defaultProps.state &&
classComponentUpdater.enqueueReplaceState(
JSCompiler_inline_result,
JSCompiler_inline_result.state,
defaultProps,
defaultProps.state,
null
),
null !== contextType.queue && 0 < contextType.queue.length)
null !== ref.queue && 0 < ref.queue.length)
)
if (
((type = contextType.queue),
(contextType$jscomp$0 = contextType.replace),
(contextType.queue = null),
(contextType.replace = !1),
contextType$jscomp$0 && 1 === type.length)
((type = ref.queue),
(contextType = ref.replace),
(ref.queue = null),
(ref.replace = !1),
contextType && 1 === type.length)
)
JSCompiler_inline_result.state = type[0];
defaultProps.state = type[0];
else {
contextType = contextType$jscomp$0
? type[0]
: JSCompiler_inline_result.state;
initialState = !0;
ref = contextType ? type[0] : defaultProps.state;
propName = !0;
for (
contextType$jscomp$0 = contextType$jscomp$0 ? 1 : 0;
contextType$jscomp$0 < type.length;
contextType$jscomp$0++
contextType = contextType ? 1 : 0;
contextType < type.length;
contextType++
) {
var partial = type[contextType$jscomp$0];
var partial = type[contextType];
partial =
"function" === typeof partial
? partial.call(
JSCompiler_inline_result,
contextType,
defaultProps,
ref,
JSCompiler_inline_result,
void 0
)
: partial;
null != partial &&
(initialState
? ((initialState = !1),
(contextType = assign({}, contextType, partial)))
: assign(contextType, partial));
(propName
? ((propName = !1), (ref = assign({}, ref, partial)))
: assign(ref, partial));
}
JSCompiler_inline_result.state = contextType;
defaultProps.state = ref;
}
else contextType.queue = null;
type = JSCompiler_inline_result.render();
ref = task.keyPath;
else ref.queue = null;
type = defaultProps.render();
JSCompiler_inline_result = task.keyPath;
task.keyPath = keyPath;
renderNodeDestructive(request, task, type, -1);
task.keyPath = ref;
task.keyPath = JSCompiler_inline_result;
task.componentStack = props;
} else
(ref = task.componentStack),
(JSCompiler_inline_result = task.componentStack),
(task.componentStack = {
tag: 1,
parent: task.componentStack,
@@ -3736,42 +3738,42 @@ function renderElement(request, task, keyPath, type, props, ref) {
actionStateCounter,
actionStateMatchingIndex
),
(task.componentStack = ref);
(task.componentStack = JSCompiler_inline_result);
else if ("string" === typeof type) {
ref = task.componentStack;
JSCompiler_inline_result = task.componentStack;
task.componentStack = createBuiltInComponentStack(task, type);
JSCompiler_inline_result = task.blockedSegment;
if (null === JSCompiler_inline_result)
(JSCompiler_inline_result = props.children),
(contextType = task.formatContext),
(initialState = task.keyPath),
(task.formatContext = getChildFormatContext(contextType, type, props)),
defaultProps = task.blockedSegment;
if (null === defaultProps)
(defaultProps = props.children),
(ref = task.formatContext),
(propName = task.keyPath),
(task.formatContext = getChildFormatContext(ref, type, props)),
(task.keyPath = keyPath),
renderNode(request, task, JSCompiler_inline_result, -1),
(task.formatContext = contextType),
(task.keyPath = initialState);
renderNode(request, task, defaultProps, -1),
(task.formatContext = ref),
(task.keyPath = propName);
else {
initialState = pushStartInstance(
JSCompiler_inline_result.chunks,
propName = pushStartInstance(
defaultProps.chunks,
type,
props,
request.resumableState,
request.renderState,
task.hoistableState,
task.formatContext,
JSCompiler_inline_result.lastPushedText,
defaultProps.lastPushedText,
task.isFallback
);
JSCompiler_inline_result.lastPushedText = !1;
contextType = task.formatContext;
contextType$jscomp$0 = task.keyPath;
task.formatContext = getChildFormatContext(contextType, type, props);
defaultProps.lastPushedText = !1;
ref = task.formatContext;
contextType = task.keyPath;
task.formatContext = getChildFormatContext(ref, type, props);
task.keyPath = keyPath;
renderNode(request, task, initialState, -1);
task.formatContext = contextType;
task.keyPath = contextType$jscomp$0;
renderNode(request, task, propName, -1);
task.formatContext = ref;
task.keyPath = contextType;
a: {
keyPath = JSCompiler_inline_result.chunks;
keyPath = defaultProps.chunks;
request = request.resumableState;
switch (type) {
case "title":
@@ -3794,22 +3796,22 @@ function renderElement(request, task, keyPath, type, props, ref) {
case "wbr":
break a;
case "body":
if (1 >= contextType.insertionMode) {
if (1 >= ref.insertionMode) {
request.hasBody = !0;
break a;
}
break;
case "html":
if (0 === contextType.insertionMode) {
if (0 === ref.insertionMode) {
request.hasHtml = !0;
break a;
}
}
keyPath.push(endChunkForTag(type));
}
JSCompiler_inline_result.lastPushedText = !1;
defaultProps.lastPushedText = !1;
}
task.componentStack = ref;
task.componentStack = JSCompiler_inline_result;
} else {
switch (type) {
case REACT_LEGACY_HIDDEN_TYPE:
@@ -3832,10 +3834,10 @@ function renderElement(request, task, keyPath, type, props, ref) {
case REACT_SUSPENSE_LIST_TYPE:
type = task.componentStack;
task.componentStack = createBuiltInComponentStack(task, "SuspenseList");
ref = task.keyPath;
JSCompiler_inline_result = task.keyPath;
task.keyPath = keyPath;
renderNodeDestructive(request, task, props.children, -1);
task.keyPath = ref;
task.keyPath = JSCompiler_inline_result;
task.componentStack = type;
return;
case REACT_SCOPE_TYPE:
@@ -3864,16 +3866,16 @@ function renderElement(request, task, keyPath, type, props, ref) {
ref = task.blockedBoundary;
var parentHoistableState = task.hoistableState,
parentSegment = task.blockedSegment;
JSCompiler_inline_result = props.fallback;
propName = props.fallback;
var content = props.children;
props = new Set();
contextType$jscomp$0 = createSuspenseBoundary(request, props);
contextType = createSuspenseBoundary(request, props);
null !== request.trackedPostpones &&
(contextType$jscomp$0.trackedContentKeyPath = keyPath);
(contextType.trackedContentKeyPath = keyPath);
partial = createPendingSegment(
request,
parentSegment.chunks.length,
contextType$jscomp$0,
contextType,
task.formatContext,
!1,
!1
@@ -3889,8 +3891,8 @@ function renderElement(request, task, keyPath, type, props, ref) {
!1
);
contentRootSegment.parentFlushed = !0;
task.blockedBoundary = contextType$jscomp$0;
task.hoistableState = contextType$jscomp$0.contentState;
task.blockedBoundary = contextType;
task.hoistableState = contextType.contentState;
task.blockedSegment = contentRootSegment;
task.keyPath = keyPath;
try {
@@ -3900,21 +3902,27 @@ function renderElement(request, task, keyPath, type, props, ref) {
contentRootSegment.textEmbedded &&
contentRootSegment.chunks.push("\x3c!-- --\x3e"),
(contentRootSegment.status = 1),
queueCompletedSegment(contextType$jscomp$0, contentRootSegment),
0 === contextType$jscomp$0.pendingTasks &&
0 === contextType$jscomp$0.status)
queueCompletedSegment(contextType, contentRootSegment),
0 === contextType.pendingTasks && 0 === contextType.status)
) {
contextType$jscomp$0.status = 1;
contextType.status = 1;
task.componentStack = previousComponentStack;
break a;
}
} catch (error) {
(contentRootSegment.status = 4),
(contextType$jscomp$0.status = 4),
(contextType = getThrownInfo(request, task.componentStack)),
(initialState = logRecoverableError(request, error, contextType)),
(contextType$jscomp$0.errorDigest = initialState),
untrackBoundary(request, contextType$jscomp$0);
(contextType.status = 4),
(JSCompiler_inline_result = getThrownInfo(
request,
task.componentStack
)),
(defaultProps = logRecoverableError(
request,
error,
JSCompiler_inline_result
)),
(contextType.errorDigest = defaultProps),
untrackBoundary(request, contextType);
} finally {
(task.blockedBoundary = ref),
(task.hoistableState = parentHoistableState),
@@ -3922,31 +3930,37 @@ function renderElement(request, task, keyPath, type, props, ref) {
(task.keyPath = prevKeyPath),
(task.componentStack = previousComponentStack);
}
contextType = [keyPath[0], "Suspense Fallback", keyPath[2]];
initialState = request.trackedPostpones;
null !== initialState &&
JSCompiler_inline_result = [
keyPath[0],
"Suspense Fallback",
keyPath[2]
];
defaultProps = request.trackedPostpones;
null !== defaultProps &&
((previousComponentStack = [
contextType[1],
contextType[2],
JSCompiler_inline_result[1],
JSCompiler_inline_result[2],
[],
null
]),
initialState.workingMap.set(contextType, previousComponentStack),
5 === contextType$jscomp$0.status
? (initialState.workingMap.get(keyPath)[4] =
defaultProps.workingMap.set(
JSCompiler_inline_result,
previousComponentStack
),
5 === contextType.status
? (defaultProps.workingMap.get(keyPath)[4] =
previousComponentStack)
: (contextType$jscomp$0.trackedFallbackNode =
previousComponentStack));
: (contextType.trackedFallbackNode = previousComponentStack));
task = createRenderTask(
request,
null,
JSCompiler_inline_result,
propName,
-1,
ref,
partial,
contextType$jscomp$0.fallbackState,
contextType.fallbackState,
props,
contextType,
JSCompiler_inline_result,
task.formatContext,
task.legacyContext,
task.context,
@@ -3961,24 +3975,23 @@ function renderElement(request, task, keyPath, type, props, ref) {
if ("object" === typeof type && null !== type)
switch (type.$$typeof) {
case REACT_FORWARD_REF_TYPE:
contextType = task.componentStack;
JSCompiler_inline_result = task.componentStack;
task.componentStack = {
tag: 1,
parent: task.componentStack,
type: type.render
};
if (enableRefAsProp && "ref" in props)
for (JSCompiler_inline_result in ((initialState = {}), props))
"ref" !== JSCompiler_inline_result &&
(initialState[JSCompiler_inline_result] =
props[JSCompiler_inline_result]);
else initialState = props;
for (contextType in ((defaultProps = {}), props))
"ref" !== contextType &&
(defaultProps[contextType] = props[contextType]);
else defaultProps = props;
props = renderWithHooks(
request,
task,
keyPath,
type.render,
initialState,
defaultProps,
ref
);
finishFunctionComponent(
@@ -3990,11 +4003,11 @@ function renderElement(request, task, keyPath, type, props, ref) {
actionStateCounter,
actionStateMatchingIndex
);
task.componentStack = contextType;
task.componentStack = JSCompiler_inline_result;
return;
case REACT_MEMO_TYPE:
type = type.type;
props = resolveDefaultProps(type, props);
props = resolveDefaultPropsOnNonClassComponent(type, props);
renderElement(request, task, keyPath, type, props, ref);
return;
case REACT_PROVIDER_TYPE:
@@ -4013,13 +4026,13 @@ function renderElement(request, task, keyPath, type, props, ref) {
return;
}
case REACT_LAZY_TYPE:
ref = task.componentStack;
JSCompiler_inline_result = task.componentStack;
task.componentStack = createBuiltInComponentStack(task, "Lazy");
JSCompiler_inline_result = type._init;
type = JSCompiler_inline_result(type._payload);
props = resolveDefaultProps(type, props);
defaultProps = type._init;
type = defaultProps(type._payload);
props = resolveDefaultPropsOnNonClassComponent(type, props);
renderElement(request, task, keyPath, type, props, void 0);
task.componentStack = ref;
task.componentStack = JSCompiler_inline_result;
return;
}
throw Error(
@@ -141,7 +141,9 @@ if (__DEV__) {
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf; // On WWW, false is used for a new modern build.
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, false is used for a new modern build.
var enableProfilerTimer = true;
var enableProfilerCommitHooks = true;
var enableProfilerNestedUpdatePhase = true;
@@ -19285,7 +19287,11 @@ if (__DEV__) {
var defaultProps = Component.defaultProps;
if (defaultProps && !alreadyResolvedDefaultProps) {
if (
defaultProps && // If disableDefaultPropsExceptForClasses is true, we always resolve
// default props here in the reconciler, rather than in the JSX runtime.
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
@@ -19309,10 +19315,13 @@ if (__DEV__) {
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
// TODO: Remove support for default props for everything except class
// components, including setting default props on a lazy wrapper around a
// class type.
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -20474,7 +20483,8 @@ if (__DEV__) {
if (
isSimpleFunctionComponent(type) &&
Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
Component.defaultProps === undefined
(disableDefaultPropsExceptForClasses ||
Component.defaultProps === undefined)
) {
var resolvedType = type;
@@ -20500,18 +20510,21 @@ if (__DEV__) {
);
}
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!disableDefaultPropsExceptForClasses) {
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;
didWarnAboutDefaultPropsOnFunctionComponent[componentName] =
true;
}
}
}
}
@@ -21741,7 +21754,9 @@ if (__DEV__) {
renderLanes
);
} else {
var _resolvedProps = resolveDefaultProps(Component, props);
var _resolvedProps = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = FunctionComponent;
@@ -21763,7 +21778,9 @@ if (__DEV__) {
var $$typeof = Component.$$typeof;
if ($$typeof === REACT_FORWARD_REF_TYPE) {
var _resolvedProps2 = resolveDefaultProps(Component, props);
var _resolvedProps2 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = ForwardRef;
@@ -21780,14 +21797,21 @@ if (__DEV__) {
renderLanes
);
} else if ($$typeof === REACT_MEMO_TYPE) {
var _resolvedProps3 = resolveDefaultProps(Component, props);
var _resolvedProps3 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = MemoComponent;
return updateMemoComponent(
null,
workInProgress,
Component,
resolveDefaultProps(Component.type, _resolvedProps3), // The inner type can have defaults too
disableDefaultPropsExceptForClasses
? _resolvedProps3
: resolveDefaultPropsOnNonClassComponent(
Component.type,
_resolvedProps3
), // The inner type can have defaults too
renderLanes
);
}
@@ -21886,7 +21910,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var _componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[_componentName]) {
@@ -23890,9 +23917,13 @@ if (__DEV__) {
var Component = workInProgress.type;
var unresolvedProps = workInProgress.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
return updateFunctionComponent(
current,
workInProgress,
@@ -23953,9 +23984,10 @@ if (__DEV__) {
var _unresolvedProps2 = workInProgress.pendingProps;
var _resolvedProps5 =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === type
? _unresolvedProps2
: resolveDefaultProps(type, _unresolvedProps2);
: resolveDefaultPropsOnNonClassComponent(type, _unresolvedProps2);
return updateForwardRef(
current,
@@ -23985,9 +24017,16 @@ if (__DEV__) {
var _type = workInProgress.type;
var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
var _resolvedProps6 = resolveDefaultProps(_type, _unresolvedProps3);
var _resolvedProps6 = disableDefaultPropsExceptForClasses
? _unresolvedProps3
: resolveDefaultPropsOnNonClassComponent(_type, _unresolvedProps3);
_resolvedProps6 = resolveDefaultProps(_type.type, _resolvedProps6);
_resolvedProps6 = disableDefaultPropsExceptForClasses
? _resolvedProps6
: resolveDefaultPropsOnNonClassComponent(
_type.type,
_resolvedProps6
);
return updateMemoComponent(
current,
workInProgress,
@@ -33924,9 +33963,13 @@ if (__DEV__) {
var Component = unitOfWork.type;
var unresolvedProps = unitOfWork.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
var context;
{
@@ -33958,9 +34001,13 @@ if (__DEV__) {
var _unresolvedProps = unitOfWork.pendingProps;
var _resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === _Component
? _unresolvedProps
: resolveDefaultProps(_Component, _unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
_Component,
_unresolvedProps
);
next = replayFunctionComponent(
current,
@@ -36837,7 +36884,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "19.0.0-www-classic-06a8599f";
var ReactVersion = "19.0.0-www-classic-67c522ab";
function createPortal$1(
children,
@@ -156,7 +156,9 @@ if (__DEV__) {
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf; // On WWW, true is used for a new modern build.
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, true is used for a new modern build.
var enableProfilerTimer = true;
var enableProfilerCommitHooks = true;
var enableProfilerNestedUpdatePhase = true;
@@ -29577,7 +29579,11 @@ if (__DEV__) {
var defaultProps = Component.defaultProps;
if (defaultProps && !alreadyResolvedDefaultProps) {
if (
defaultProps && // If disableDefaultPropsExceptForClasses is true, we always resolve
// default props here in the reconciler, rather than in the JSX runtime.
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
@@ -29601,10 +29607,13 @@ if (__DEV__) {
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
// TODO: Remove support for default props for everything except class
// components, including setting default props on a lazy wrapper around a
// class type.
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) {
// Support for defaultProps is removed in React 19 for all types
// except classes.
return baseProps;
}
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -30631,7 +30640,8 @@ if (__DEV__) {
if (
isSimpleFunctionComponent(type) &&
Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
Component.defaultProps === undefined
(disableDefaultPropsExceptForClasses ||
Component.defaultProps === undefined)
) {
var resolvedType = type;
@@ -30657,18 +30667,21 @@ if (__DEV__) {
);
}
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!disableDefaultPropsExceptForClasses) {
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;
didWarnAboutDefaultPropsOnFunctionComponent[componentName] =
true;
}
}
}
}
@@ -31836,7 +31849,9 @@ if (__DEV__) {
renderLanes
);
} else {
var _resolvedProps = resolveDefaultProps(Component, props);
var _resolvedProps = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = FunctionComponent;
@@ -31858,7 +31873,9 @@ if (__DEV__) {
var $$typeof = Component.$$typeof;
if ($$typeof === REACT_FORWARD_REF_TYPE) {
var _resolvedProps2 = resolveDefaultProps(Component, props);
var _resolvedProps2 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = ForwardRef;
@@ -31875,14 +31892,21 @@ if (__DEV__) {
renderLanes
);
} else if ($$typeof === REACT_MEMO_TYPE) {
var _resolvedProps3 = resolveDefaultProps(Component, props);
var _resolvedProps3 = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(Component, props);
workInProgress.tag = MemoComponent;
return updateMemoComponent(
null,
workInProgress,
Component,
resolveDefaultProps(Component.type, _resolvedProps3), // The inner type can have defaults too
disableDefaultPropsExceptForClasses
? _resolvedProps3
: resolveDefaultPropsOnNonClassComponent(
Component.type,
_resolvedProps3
), // The inner type can have defaults too
renderLanes
);
}
@@ -31945,7 +31969,10 @@ if (__DEV__) {
}
}
if (Component.defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
Component.defaultProps !== undefined
) {
var _componentName = getComponentNameFromType(Component) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[_componentName]) {
@@ -33859,9 +33886,13 @@ if (__DEV__) {
var Component = workInProgress.type;
var unresolvedProps = workInProgress.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
return updateFunctionComponent(
current,
workInProgress,
@@ -33922,9 +33953,10 @@ if (__DEV__) {
var _unresolvedProps2 = workInProgress.pendingProps;
var _resolvedProps5 =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === type
? _unresolvedProps2
: resolveDefaultProps(type, _unresolvedProps2);
: resolveDefaultPropsOnNonClassComponent(type, _unresolvedProps2);
return updateForwardRef(
current,
@@ -33954,9 +33986,16 @@ if (__DEV__) {
var _type = workInProgress.type;
var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
var _resolvedProps6 = resolveDefaultProps(_type, _unresolvedProps3);
var _resolvedProps6 = disableDefaultPropsExceptForClasses
? _unresolvedProps3
: resolveDefaultPropsOnNonClassComponent(_type, _unresolvedProps3);
_resolvedProps6 = resolveDefaultProps(_type.type, _resolvedProps6);
_resolvedProps6 = disableDefaultPropsExceptForClasses
? _resolvedProps6
: resolveDefaultPropsOnNonClassComponent(
_type.type,
_resolvedProps6
);
return updateMemoComponent(
current,
workInProgress,
@@ -43658,9 +43697,13 @@ if (__DEV__) {
var Component = unitOfWork.type;
var unresolvedProps = unitOfWork.pendingProps;
var resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
var context;
next = replayFunctionComponent(
@@ -43683,9 +43726,13 @@ if (__DEV__) {
var _unresolvedProps = unitOfWork.pendingProps;
var _resolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === _Component
? _unresolvedProps
: resolveDefaultProps(_Component, _unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
_Component,
_unresolvedProps
);
next = replayFunctionComponent(
current,
@@ -46463,7 +46510,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "19.0.0-www-modern-2bc2ffbc";
var ReactVersion = "19.0.0-www-modern-77631c63";
function createPortal$1(
children,
@@ -62,6 +62,8 @@ var ReactSharedInternals =
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
REACT_PORTAL_TYPE = Symbol.for("react.portal"),
REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
@@ -4889,7 +4891,10 @@ function resolveClassComponentProps(
alreadyResolvedDefaultProps
) {
var newProps = baseProps;
if ((Component = Component.defaultProps) && !alreadyResolvedDefaultProps) {
if (
(Component = Component.defaultProps) &&
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in Component)
void 0 === newProps[propName] &&
@@ -4901,7 +4906,8 @@ function resolveClassComponentProps(
delete newProps.ref);
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -5433,7 +5439,7 @@ function updateMemoComponent(
!shouldConstruct(type) &&
void 0 === type.defaultProps &&
null === Component.compare &&
void 0 === Component.defaultProps
(disableDefaultPropsExceptForClasses || void 0 === Component.defaultProps)
)
return (
(workInProgress.tag = 15),
@@ -6742,7 +6748,9 @@ function beginWork(current, workInProgress, renderLanes) {
props,
renderLanes
)))
: ((props = resolveDefaultProps(current, props)),
: ((props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props)),
(workInProgress.tag = 0),
(workInProgress = updateFunctionComponent(
null,
@@ -6757,7 +6765,9 @@ function beginWork(current, workInProgress, renderLanes) {
((elementType = current.$$typeof),
elementType === REACT_FORWARD_REF_TYPE)
) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 11;
workInProgress = updateForwardRef(
null,
@@ -6768,13 +6778,17 @@ function beginWork(current, workInProgress, renderLanes) {
);
break a;
} else if (elementType === REACT_MEMO_TYPE) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 14;
workInProgress = updateMemoComponent(
null,
workInProgress,
current,
resolveDefaultProps(current.type, props),
disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current.type, props),
renderLanes
);
break a;
@@ -6788,9 +6802,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(elementType = workInProgress.pendingProps),
(elementType =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? elementType
: resolveDefaultProps(props, elementType)),
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
updateFunctionComponent(
current,
workInProgress,
@@ -7042,9 +7057,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(elementType = workInProgress.pendingProps),
(elementType =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? elementType
: resolveDefaultProps(props, elementType)),
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
updateForwardRef(
current,
workInProgress,
@@ -7131,8 +7147,13 @@ function beginWork(current, workInProgress, renderLanes) {
case 14:
return (
(props = workInProgress.type),
(elementType = resolveDefaultProps(props, workInProgress.pendingProps)),
(elementType = resolveDefaultProps(props.type, elementType)),
(elementType = workInProgress.pendingProps),
(elementType = disableDefaultPropsExceptForClasses
? elementType
: resolveDefaultPropsOnNonClassComponent(props, elementType)),
(elementType = disableDefaultPropsExceptForClasses
? elementType
: resolveDefaultPropsOnNonClassComponent(props.type, elementType)),
updateMemoComponent(
current,
workInProgress,
@@ -11774,9 +11795,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
var Component = unitOfWork.type,
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
var context = isContextProvider(Component)
? previousContext
: contextStackCursor.current;
@@ -11794,9 +11816,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
Component = unitOfWork.type.render;
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -17322,7 +17345,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1731 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-classic-c508353a",
version: "19.0.0-www-classic-5ab1fc58",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2142 = {
@@ -17352,7 +17375,7 @@ var internals$jscomp$inline_2142 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-classic-c508353a"
reconcilerVersion: "19.0.0-www-classic-5ab1fc58"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2143 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17951,4 +17974,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "19.0.0-www-classic-c508353a";
exports.version = "19.0.0-www-classic-5ab1fc58";
@@ -78,6 +78,8 @@ var ReactSharedInternals =
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
favorSafetyOverHydrationPerf =
dynamicFeatureFlags.favorSafetyOverHydrationPerf,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
REACT_PORTAL_TYPE = Symbol.for("react.portal"),
REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
@@ -8558,7 +8560,10 @@ function resolveClassComponentProps(
alreadyResolvedDefaultProps
) {
var newProps = baseProps;
if ((Component = Component.defaultProps) && !alreadyResolvedDefaultProps) {
if (
(Component = Component.defaultProps) &&
(disableDefaultPropsExceptForClasses || !alreadyResolvedDefaultProps)
) {
newProps = assign({}, newProps, baseProps);
for (var propName in Component)
void 0 === newProps[propName] &&
@@ -8570,7 +8575,8 @@ function resolveClassComponentProps(
delete newProps.ref);
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (disableDefaultPropsExceptForClasses) return baseProps;
if (Component && Component.defaultProps) {
baseProps = assign({}, baseProps);
Component = Component.defaultProps;
@@ -9005,7 +9011,7 @@ function updateMemoComponent(
!shouldConstruct(type) &&
void 0 === type.defaultProps &&
null === Component.compare &&
void 0 === Component.defaultProps
(disableDefaultPropsExceptForClasses || void 0 === Component.defaultProps)
)
return (
(workInProgress.tag = 15),
@@ -10275,7 +10281,9 @@ function beginWork(current, workInProgress, renderLanes) {
props,
renderLanes
)))
: ((props = resolveDefaultProps(current, props)),
: ((props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props)),
(workInProgress.tag = 0),
(workInProgress = updateFunctionComponent(
null,
@@ -10287,7 +10295,9 @@ function beginWork(current, workInProgress, renderLanes) {
else {
if (void 0 !== current && null !== current)
if (((init = current.$$typeof), init === REACT_FORWARD_REF_TYPE)) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 11;
workInProgress = updateForwardRef(
null,
@@ -10298,13 +10308,17 @@ function beginWork(current, workInProgress, renderLanes) {
);
break a;
} else if (init === REACT_MEMO_TYPE) {
props = resolveDefaultProps(current, props);
props = disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current, props);
workInProgress.tag = 14;
workInProgress = updateMemoComponent(
null,
workInProgress,
current,
resolveDefaultProps(current.type, props),
disableDefaultPropsExceptForClasses
? props
: resolveDefaultPropsOnNonClassComponent(current.type, props),
renderLanes
);
break a;
@@ -10318,9 +10332,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(init = workInProgress.pendingProps),
(init =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? init
: resolveDefaultProps(props, init)),
: resolveDefaultPropsOnNonClassComponent(props, init)),
updateFunctionComponent(
current,
workInProgress,
@@ -10569,9 +10584,10 @@ function beginWork(current, workInProgress, renderLanes) {
(props = workInProgress.type),
(init = workInProgress.pendingProps),
(init =
disableDefaultPropsExceptForClasses ||
workInProgress.elementType === props
? init
: resolveDefaultProps(props, init)),
: resolveDefaultPropsOnNonClassComponent(props, init)),
updateForwardRef(current, workInProgress, props, init, renderLanes)
);
case 7:
@@ -10644,8 +10660,13 @@ function beginWork(current, workInProgress, renderLanes) {
case 14:
return (
(props = workInProgress.type),
(init = resolveDefaultProps(props, workInProgress.pendingProps)),
(init = resolveDefaultProps(props.type, init)),
(init = workInProgress.pendingProps),
(init = disableDefaultPropsExceptForClasses
? init
: resolveDefaultPropsOnNonClassComponent(props, init)),
(init = disableDefaultPropsExceptForClasses
? init
: resolveDefaultPropsOnNonClassComponent(props.type, init)),
updateMemoComponent(current, workInProgress, props, init, renderLanes)
);
case 15:
@@ -15174,9 +15195,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
var Component = unitOfWork.type,
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -15190,9 +15212,10 @@ function replaySuspendedUnitOfWork(unitOfWork) {
Component = unitOfWork.type.render;
unresolvedProps = unitOfWork.pendingProps;
unresolvedProps =
disableDefaultPropsExceptForClasses ||
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(Component, unresolvedProps);
current = replayFunctionComponent(
current,
unitOfWork,
@@ -16756,7 +16779,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1714 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "19.0.0-www-modern-4326b2be",
version: "19.0.0-www-modern-9e5a00ad",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2118 = {
@@ -16786,7 +16809,7 @@ var internals$jscomp$inline_2118 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "19.0.0-www-modern-4326b2be"
reconcilerVersion: "19.0.0-www-modern-9e5a00ad"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2119 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17212,4 +17235,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "19.0.0-www-modern-4326b2be";
exports.version = "19.0.0-www-modern-9e5a00ad";
+48 -56
View File
@@ -85,8 +85,9 @@ if (__DEV__) {
var enableDebugTracing = dynamicFeatureFlags.enableDebugTracing,
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
// On WWW, true is used for a new modern build.
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses; // On WWW, true is used for a new modern build.
/**
* Keeps track of the current Cache dispatcher.
@@ -1349,14 +1350,17 @@ if (__DEV__) {
) {
props[propName] = config[propName];
}
} // Resolve default props
}
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
if (!disableDefaultPropsExceptForClasses) {
// Resolve default props
if (type && type.defaultProps) {
var defaultProps = type.defaultProps;
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
for (propName in defaultProps) {
if (props[propName] === undefined) {
props[propName] = defaultProps[propName];
}
}
}
}
@@ -1616,7 +1620,11 @@ if (__DEV__) {
var defaultProps;
if (element.type && element.type.defaultProps) {
if (
!disableDefaultPropsExceptForClasses &&
element.type &&
element.type.defaultProps
) {
defaultProps = element.type.defaultProps;
}
@@ -1636,7 +1644,11 @@ if (__DEV__) {
// backwards compatibility.
!(enableRefAsProp && propName === "ref" && config.ref === undefined)
) {
if (config[propName] === undefined && defaultProps !== undefined) {
if (
!disableDefaultPropsExceptForClasses &&
config[propName] === undefined &&
defaultProps !== undefined
) {
// Resolve default props
props[propName] = defaultProps[propName];
} else {
@@ -2510,55 +2522,35 @@ if (__DEV__) {
_init: lazyInitializer
};
{
// In production, this would just set it on the object.
var defaultProps;
var propTypes; // $FlowFixMe[prop-missing]
if (!disableDefaultPropsExceptForClasses) {
{
// In production, this would just set it on the object.
var defaultProps; // $FlowFixMe[prop-missing]
Object.defineProperties(lazyType, {
defaultProps: {
configurable: true,
get: function () {
return defaultProps;
},
// $FlowFixMe[missing-local-annot]
set: function (newDefaultProps) {
error(
"It is not supported to assign `defaultProps` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
Object.defineProperties(lazyType, {
defaultProps: {
configurable: true,
get: function () {
return defaultProps;
},
// $FlowFixMe[missing-local-annot]
set: function (newDefaultProps) {
error(
"It is not supported to assign `defaultProps` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
defaultProps = newDefaultProps; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
defaultProps = newDefaultProps; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
Object.defineProperty(lazyType, "defaultProps", {
enumerable: true
});
Object.defineProperty(lazyType, "defaultProps", {
enumerable: true
});
}
}
},
propTypes: {
configurable: true,
get: function () {
return propTypes;
},
// $FlowFixMe[missing-local-annot]
set: function (newPropTypes) {
error(
"It is not supported to assign `propTypes` to " +
"a lazy component import. Either specify them where the component " +
"is defined, or create a wrapping component around it."
);
propTypes = newPropTypes; // Match production behavior more closely:
// $FlowFixMe[prop-missing]
Object.defineProperty(lazyType, "propTypes", {
enumerable: true
});
}
}
});
});
}
}
return lazyType;
@@ -2832,7 +2824,7 @@ if (__DEV__) {
function noop() {}
var ReactVersion = "19.0.0-www-modern-aac4a3b6";
var ReactVersion = "19.0.0-www-modern-1ec419e8";
// Patch fetch
var Children = {
@@ -15,6 +15,8 @@ var assign = Object.assign,
dynamicFeatureFlags = require("ReactFeatureFlags"),
enableTransitionTracing = dynamicFeatureFlags.enableTransitionTracing,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
disableDefaultPropsExceptForClasses =
dynamicFeatureFlags.disableDefaultPropsExceptForClasses,
ReactCurrentCache = { current: null },
ReactCurrentDispatcher = { current: null },
ReactSharedInternals = {
@@ -82,7 +84,7 @@ function jsxProd(type, config, maybeKey) {
"key" !== propName &&
(enableRefAsProp || "ref" !== propName) &&
(props[propName] = config[propName]);
if (type && type.defaultProps)
if (!disableDefaultPropsExceptForClasses && type && type.defaultProps)
for (propName in ((config = type.defaultProps), config))
void 0 === props[propName] && (props[propName] = config[propName]);
return ReactElement(
@@ -425,7 +427,11 @@ exports.cloneElement = function (element, config, children) {
(enableRefAsProp || (ref = config.ref),
(owner = ReactCurrentOwner.current));
void 0 !== config.key && (key = "" + config.key);
if (element.type && element.type.defaultProps)
if (
!disableDefaultPropsExceptForClasses &&
element.type &&
element.type.defaultProps
)
var defaultProps = element.type.defaultProps;
for (propName in config)
!hasOwnProperty.call(config, propName) ||
@@ -435,9 +441,11 @@ exports.cloneElement = function (element, config, children) {
"__source" === propName ||
(enableRefAsProp && "ref" === propName && void 0 === config.ref) ||
(props[propName] =
void 0 === config[propName] && void 0 !== defaultProps
? defaultProps[propName]
: config[propName]);
disableDefaultPropsExceptForClasses ||
void 0 !== config[propName] ||
void 0 === defaultProps
? config[propName]
: defaultProps[propName]);
}
var propName = arguments.length - 2;
if (1 === propName) props.children = children;
@@ -555,4 +563,4 @@ exports.useId = function () {
exports.useMemo = function (create, deps) {
return ReactCurrentDispatcher.current.useMemo(create, deps);
};
exports.version = "19.0.0-www-modern-342eadac";
exports.version = "19.0.0-www-modern-53e0c063";
@@ -13129,7 +13129,11 @@ if (__DEV__) {
var defaultProps = Component.defaultProps;
if (defaultProps && !alreadyResolvedDefaultProps) {
if (
defaultProps && // If disableDefaultPropsExceptForClasses is true, we always resolve
// default props here in the reconciler, rather than in the JSX runtime.
!alreadyResolvedDefaultProps
) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
@@ -13142,10 +13146,7 @@ if (__DEV__) {
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
// TODO: Remove support for default props for everything except class
// components, including setting default props on a lazy wrapper around a
// class type.
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -13988,17 +13989,20 @@ if (__DEV__) {
}
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;
didWarnAboutDefaultPropsOnFunctionComponent[componentName] =
true;
}
}
}
}
@@ -14942,7 +14946,10 @@ if (__DEV__) {
renderLanes
);
} else {
var _resolvedProps = resolveDefaultProps(Component, props);
var _resolvedProps = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
workInProgress.tag = FunctionComponent;
@@ -14964,7 +14971,10 @@ if (__DEV__) {
var $$typeof = Component.$$typeof;
if ($$typeof === REACT_FORWARD_REF_TYPE) {
var _resolvedProps2 = resolveDefaultProps(Component, props);
var _resolvedProps2 = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
workInProgress.tag = ForwardRef;
@@ -14981,14 +14991,20 @@ if (__DEV__) {
renderLanes
);
} else if ($$typeof === REACT_MEMO_TYPE) {
var _resolvedProps3 = resolveDefaultProps(Component, props);
var _resolvedProps3 = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
workInProgress.tag = MemoComponent;
return updateMemoComponent(
null,
workInProgress,
Component,
resolveDefaultProps(Component.type, _resolvedProps3), // The inner type can have defaults too
resolveDefaultPropsOnNonClassComponent(
Component.type,
_resolvedProps3
), // The inner type can have defaults too
renderLanes
);
}
@@ -16827,7 +16843,10 @@ if (__DEV__) {
var resolvedProps =
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
return updateFunctionComponent(
current,
workInProgress,
@@ -16886,7 +16905,7 @@ if (__DEV__) {
var _resolvedProps5 =
workInProgress.elementType === type
? _unresolvedProps2
: resolveDefaultProps(type, _unresolvedProps2);
: resolveDefaultPropsOnNonClassComponent(type, _unresolvedProps2);
return updateForwardRef(
current,
@@ -16916,9 +16935,15 @@ if (__DEV__) {
var _type = workInProgress.type;
var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
var _resolvedProps6 = resolveDefaultProps(_type, _unresolvedProps3);
var _resolvedProps6 = resolveDefaultPropsOnNonClassComponent(
_type,
_unresolvedProps3
);
_resolvedProps6 = resolveDefaultProps(_type.type, _resolvedProps6);
_resolvedProps6 = resolveDefaultPropsOnNonClassComponent(
_type.type,
_resolvedProps6
);
return updateMemoComponent(
current,
workInProgress,
@@ -24310,7 +24335,10 @@ if (__DEV__) {
var resolvedProps =
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
var context;
{
@@ -24344,7 +24372,10 @@ if (__DEV__) {
var _resolvedProps =
unitOfWork.elementType === _Component
? _unresolvedProps
: resolveDefaultProps(_Component, _unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
_Component,
_unresolvedProps
);
next = replayFunctionComponent(
current,
@@ -26827,7 +26858,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "19.0.0-www-classic-272ef63e";
var ReactVersion = "19.0.0-www-classic-74b383db";
// Might add PROFILE later.
@@ -13129,7 +13129,11 @@ if (__DEV__) {
var defaultProps = Component.defaultProps;
if (defaultProps && !alreadyResolvedDefaultProps) {
if (
defaultProps && // If disableDefaultPropsExceptForClasses is true, we always resolve
// default props here in the reconciler, rather than in the JSX runtime.
!alreadyResolvedDefaultProps
) {
newProps = assign({}, newProps, baseProps);
for (var propName in defaultProps) {
@@ -13142,10 +13146,7 @@ if (__DEV__) {
return newProps;
}
function resolveDefaultProps(Component, baseProps) {
// TODO: Remove support for default props for everything except class
// components, including setting default props on a lazy wrapper around a
// class type.
function resolveDefaultPropsOnNonClassComponent(Component, baseProps) {
if (Component && Component.defaultProps) {
// Resolve default props. Taken from ReactElement
var props = assign({}, baseProps);
@@ -13988,17 +13989,20 @@ if (__DEV__) {
}
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
{
if (Component.defaultProps !== undefined) {
var componentName = getComponentNameFromType(type) || "Unknown";
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) {
error(
"%s: Support for defaultProps will be removed from memo components " +
"in a future major release. Use JavaScript default parameters instead.",
componentName
);
didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true;
didWarnAboutDefaultPropsOnFunctionComponent[componentName] =
true;
}
}
}
}
@@ -14942,7 +14946,10 @@ if (__DEV__) {
renderLanes
);
} else {
var _resolvedProps = resolveDefaultProps(Component, props);
var _resolvedProps = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
workInProgress.tag = FunctionComponent;
@@ -14964,7 +14971,10 @@ if (__DEV__) {
var $$typeof = Component.$$typeof;
if ($$typeof === REACT_FORWARD_REF_TYPE) {
var _resolvedProps2 = resolveDefaultProps(Component, props);
var _resolvedProps2 = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
workInProgress.tag = ForwardRef;
@@ -14981,14 +14991,20 @@ if (__DEV__) {
renderLanes
);
} else if ($$typeof === REACT_MEMO_TYPE) {
var _resolvedProps3 = resolveDefaultProps(Component, props);
var _resolvedProps3 = resolveDefaultPropsOnNonClassComponent(
Component,
props
);
workInProgress.tag = MemoComponent;
return updateMemoComponent(
null,
workInProgress,
Component,
resolveDefaultProps(Component.type, _resolvedProps3), // The inner type can have defaults too
resolveDefaultPropsOnNonClassComponent(
Component.type,
_resolvedProps3
), // The inner type can have defaults too
renderLanes
);
}
@@ -16827,7 +16843,10 @@ if (__DEV__) {
var resolvedProps =
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
return updateFunctionComponent(
current,
workInProgress,
@@ -16886,7 +16905,7 @@ if (__DEV__) {
var _resolvedProps5 =
workInProgress.elementType === type
? _unresolvedProps2
: resolveDefaultProps(type, _unresolvedProps2);
: resolveDefaultPropsOnNonClassComponent(type, _unresolvedProps2);
return updateForwardRef(
current,
@@ -16916,9 +16935,15 @@ if (__DEV__) {
var _type = workInProgress.type;
var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
var _resolvedProps6 = resolveDefaultProps(_type, _unresolvedProps3);
var _resolvedProps6 = resolveDefaultPropsOnNonClassComponent(
_type,
_unresolvedProps3
);
_resolvedProps6 = resolveDefaultProps(_type.type, _resolvedProps6);
_resolvedProps6 = resolveDefaultPropsOnNonClassComponent(
_type.type,
_resolvedProps6
);
return updateMemoComponent(
current,
workInProgress,
@@ -24310,7 +24335,10 @@ if (__DEV__) {
var resolvedProps =
unitOfWork.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
Component,
unresolvedProps
);
var context;
{
@@ -24344,7 +24372,10 @@ if (__DEV__) {
var _resolvedProps =
unitOfWork.elementType === _Component
? _unresolvedProps
: resolveDefaultProps(_Component, _unresolvedProps);
: resolveDefaultPropsOnNonClassComponent(
_Component,
_unresolvedProps
);
next = replayFunctionComponent(
current,
@@ -26827,7 +26858,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "19.0.0-www-modern-272ef63e";
var ReactVersion = "19.0.0-www-modern-74b383db";
// Might add PROFILE later.
@@ -188,7 +188,6 @@ export default [
"Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior ",
"Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior ",
"It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.",
"It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.",
"It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.",
"It looks like the React-rendered content of this container was removed without using React. This is not supported and will cause errors. Instead, call ReactDOM.unmountComponentAtNode to empty a container.",
"Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context",