Make enableNewBooleanProps www dynamic (#28559)

Feature: https://github.com/facebook/react/pull/24730

DiffTrain build for [a870b2d549](https://github.com/facebook/react/commit/a870b2d5494351d75b68c3d9baf03a52fd40a8ef)
This commit is contained in:
jackpope
2024-03-14 15:54:04 +00:00
parent 809d7d488a
commit cb7bf992ee
22 changed files with 525 additions and 80 deletions
+1 -1
View File
@@ -1 +1 @@
9ffe9102ffd08ca7a56c60aa6952208890d213ce
a870b2d5494351d75b68c3d9baf03a52fd40a8ef
+1 -1
View File
@@ -633,4 +633,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactCurrentDispatcher.current.useTransition();
};
exports.version = "18.3.0-www-classic-6d7ca4e7";
exports.version = "18.3.0-www-classic-e323f09a";
+1 -1
View File
@@ -625,4 +625,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactCurrentDispatcher.current.useTransition();
};
exports.version = "18.3.0-www-modern-0c35550e";
exports.version = "18.3.0-www-modern-26dfe226";
@@ -637,7 +637,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactCurrentDispatcher.current.useTransition();
};
exports.version = "18.3.0-www-classic-27d0aa6f";
exports.version = "18.3.0-www-classic-c2e666d0";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -629,7 +629,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactCurrentDispatcher.current.useTransition();
};
exports.version = "18.3.0-www-modern-c75eccb5";
exports.version = "18.3.0-www-modern-1d6a3285";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
+1 -1
View File
@@ -66,7 +66,7 @@ if (__DEV__) {
return self;
}
var ReactVersion = "18.3.0-www-modern-dede75f6";
var ReactVersion = "18.3.0-www-modern-8be7683a";
var LegacyRoot = 0;
var ConcurrentRoot = 1;
+68 -7
View File
@@ -153,6 +153,7 @@ if (__DEV__) {
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
useModernStrictMode = dynamicFeatureFlags.useModernStrictMode,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch; // On WWW, false is used for a new modern build.
var enableProfilerTimer = true;
@@ -6714,6 +6715,10 @@ if (__DEV__) {
zoomandpan: "zoomAndPan"
};
if (enableNewBooleanProps) {
possibleStandardNames.inert = "inert";
}
var ariaProperties = {
"aria-current": 0,
// state
@@ -7155,7 +7160,12 @@ if (__DEV__) {
}
// fallthrough
case "inert":
case "inert": {
if (enableNewBooleanProps) {
// Boolean properties can accept boolean values
return true;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -7239,7 +7249,11 @@ if (__DEV__) {
break;
}
case "inert":
case "inert": {
if (enableNewBooleanProps) {
break;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -35771,7 +35785,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "18.3.0-www-classic-f22d5b27";
var ReactVersion = "18.3.0-www-classic-4a0167db";
function createPortal$1(
children,
@@ -40278,9 +40292,11 @@ if (__DEV__) {
var didWarnFormActionName = false;
var didWarnFormActionTarget = false;
var didWarnFormActionMethod = false;
var didWarnForNewBooleanPropsWithEmptyValue;
var canDiffStyleForHydrationWarning;
{
didWarnForNewBooleanPropsWithEmptyValue = {}; // IE 11 parses & normalizes the style attribute as opposed to other
// browsers. It adds spaces and sorts the properties in some
// non-alphabetical order. Handling that would require sorting CSS
// properties in the client & server versions or applying
@@ -40951,10 +40967,28 @@ if (__DEV__) {
}
// Boolean
case "inert": {
setValueForAttribute(domElement, key, value);
break;
}
case "inert":
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
} else {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[key]
) {
didWarnForNewBooleanPropsWithEmptyValue[key] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
key
);
}
}
}
// fallthrough for new boolean props without the flag on
@@ -43201,6 +43235,33 @@ if (__DEV__) {
continue;
case "inert":
if (enableNewBooleanProps) {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[propKey]
) {
didWarnForNewBooleanPropsWithEmptyValue[propKey] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
propKey
);
}
}
hydrateBooleanAttribute(
domElement,
propKey,
propKey,
value,
extraAttributes
);
continue;
}
// fallthrough for new boolean props without the flag on
+68 -7
View File
@@ -148,6 +148,7 @@ if (__DEV__) {
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
useModernStrictMode = dynamicFeatureFlags.useModernStrictMode,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch; // On WWW, true is used for a new modern build.
var enableProfilerTimer = true;
@@ -6548,6 +6549,10 @@ if (__DEV__) {
zoomandpan: "zoomAndPan"
};
if (enableNewBooleanProps) {
possibleStandardNames.inert = "inert";
}
var ariaProperties = {
"aria-current": 0,
// state
@@ -6989,7 +6994,12 @@ if (__DEV__) {
}
// fallthrough
case "inert":
case "inert": {
if (enableNewBooleanProps) {
// Boolean properties can accept boolean values
return true;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -7073,7 +7083,11 @@ if (__DEV__) {
break;
}
case "inert":
case "inert": {
if (enableNewBooleanProps) {
break;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -35618,7 +35632,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "18.3.0-www-modern-5bc66cc9";
var ReactVersion = "18.3.0-www-modern-e747153f";
function createPortal$1(
children,
@@ -40934,9 +40948,11 @@ if (__DEV__) {
var didWarnFormActionName = false;
var didWarnFormActionTarget = false;
var didWarnFormActionMethod = false;
var didWarnForNewBooleanPropsWithEmptyValue;
var canDiffStyleForHydrationWarning;
{
didWarnForNewBooleanPropsWithEmptyValue = {}; // IE 11 parses & normalizes the style attribute as opposed to other
// browsers. It adds spaces and sorts the properties in some
// non-alphabetical order. Handling that would require sorting CSS
// properties in the client & server versions or applying
@@ -41607,10 +41623,28 @@ if (__DEV__) {
}
// Boolean
case "inert": {
setValueForAttribute(domElement, key, value);
break;
}
case "inert":
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
} else {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[key]
) {
didWarnForNewBooleanPropsWithEmptyValue[key] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
key
);
}
}
}
// fallthrough for new boolean props without the flag on
@@ -43854,6 +43888,33 @@ if (__DEV__) {
continue;
case "inert":
if (enableNewBooleanProps) {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[propKey]
) {
didWarnForNewBooleanPropsWithEmptyValue[propKey] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
propKey
);
}
}
hydrateBooleanAttribute(
domElement,
propKey,
propKey,
value,
extraAttributes
);
continue;
}
// fallthrough for new boolean props without the flag on
@@ -64,6 +64,7 @@ var ReactSharedInternals =
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
@@ -14530,8 +14531,10 @@ function setProp(domElement, tag, key, value, props, prevValue) {
: domElement.removeAttribute(key);
break;
case "inert":
setValueForAttribute(domElement, key, value);
break;
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
}
case "allowFullScreen":
case "async":
case "autoPlay":
@@ -17231,7 +17234,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1817 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-classic-044cf562",
version: "18.3.0-www-classic-9a35a237",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2176 = {
@@ -17261,7 +17264,7 @@ var internals$jscomp$inline_2176 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-www-classic-044cf562"
reconcilerVersion: "18.3.0-www-classic-9a35a237"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2177 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17592,4 +17595,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "18.3.0-www-classic-044cf562";
exports.version = "18.3.0-www-classic-9a35a237";
@@ -77,6 +77,7 @@ var dynamicFeatureFlags = require("ReactFeatureFlags"),
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch,
assign = Object.assign,
@@ -14834,8 +14835,10 @@ function setProp(domElement, tag, key, value, props, prevValue) {
: domElement.removeAttribute(key);
break;
case "inert":
setValueForAttribute(domElement, key, value);
break;
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
}
case "allowFullScreen":
case "async":
case "autoPlay":
@@ -16747,7 +16750,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1776 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-modern-f1ed7683",
version: "18.3.0-www-modern-50f5a0ca",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2140 = {
@@ -16778,7 +16781,7 @@ var internals$jscomp$inline_2140 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-www-modern-f1ed7683"
reconcilerVersion: "18.3.0-www-modern-50f5a0ca"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2141 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17037,4 +17040,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "18.3.0-www-modern-f1ed7683";
exports.version = "18.3.0-www-modern-50f5a0ca";
@@ -68,6 +68,7 @@ var ReactSharedInternals =
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch,
enableSchedulingProfiler = dynamicFeatureFlags.enableSchedulingProfiler,
@@ -15277,8 +15278,10 @@ function setProp(domElement, tag, key, value, props, prevValue) {
: domElement.removeAttribute(key);
break;
case "inert":
setValueForAttribute(domElement, key, value);
break;
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
}
case "allowFullScreen":
case "async":
case "autoPlay":
@@ -17978,7 +17981,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1902 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-classic-703a68e9",
version: "18.3.0-www-classic-de998b54",
rendererPackageName: "react-dom"
};
(function (internals) {
@@ -18022,7 +18025,7 @@ var devToolsConfig$jscomp$inline_1902 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-www-classic-703a68e9"
reconcilerVersion: "18.3.0-www-classic-de998b54"
});
assign(Internals, {
ReactBrowserEventEmitter: {
@@ -18340,7 +18343,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "18.3.0-www-classic-703a68e9";
exports.version = "18.3.0-www-classic-de998b54";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -81,6 +81,7 @@ var dynamicFeatureFlags = require("ReactFeatureFlags"),
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch,
enableSchedulingProfiler = dynamicFeatureFlags.enableSchedulingProfiler,
@@ -15575,8 +15576,10 @@ function setProp(domElement, tag, key, value, props, prevValue) {
: domElement.removeAttribute(key);
break;
case "inert":
setValueForAttribute(domElement, key, value);
break;
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
}
case "allowFullScreen":
case "async":
case "autoPlay":
@@ -17488,7 +17491,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1861 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-modern-dede75f6",
version: "18.3.0-www-modern-8be7683a",
rendererPackageName: "react-dom"
};
(function (internals) {
@@ -17533,7 +17536,7 @@ var devToolsConfig$jscomp$inline_1861 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-www-modern-dede75f6"
reconcilerVersion: "18.3.0-www-modern-8be7683a"
});
exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
exports.createPortal = function (children, container) {
@@ -17779,7 +17782,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "18.3.0-www-modern-dede75f6";
exports.version = "18.3.0-www-modern-8be7683a";
"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 = "18.3.0-www-classic-8476b078";
var ReactVersion = "18.3.0-www-classic-3a1cc8c2";
// This refers to a WWW module.
var warningWWW = require("warning");
@@ -682,7 +682,8 @@ if (__DEV__) {
enableUseDeferredValueInitialArg =
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps;
// On WWW, false is used for a new modern build.
var enableFloat = true;
var enableBigIntSupport = false; // TODO: Roll out with GK. Don't keep as dynamic flag for too long, though,
@@ -1664,6 +1665,10 @@ if (__DEV__) {
zoomandpan: "zoomAndPan"
};
if (enableNewBooleanProps) {
possibleStandardNames.inert = "inert";
}
var warnedProperties = {};
var EVENT_NAME_REGEX = /^on./;
var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;
@@ -1908,7 +1913,12 @@ if (__DEV__) {
}
// fallthrough
case "inert":
case "inert": {
if (enableNewBooleanProps) {
// Boolean properties can accept boolean values
return true;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -1992,7 +2002,11 @@ if (__DEV__) {
break;
}
case "inert":
case "inert": {
if (enableNewBooleanProps) {
break;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -2484,6 +2498,11 @@ if (__DEV__) {
// allow one more header to be captured which means in practice if the limit is approached it will be exceeded
var DEFAULT_HEADERS_CAPACITY_IN_UTF16_CODE_UNITS = 2000;
var didWarnForNewBooleanPropsWithEmptyValue;
{
didWarnForNewBooleanPropsWithEmptyValue = {};
} // Allows us to keep track of what we've already written so we can refer back to it.
// if passed externalRuntimeConfig and the enableFizzExternalRuntime feature flag
// is set, the server will send instructions via data attributes (instead of inline scripts)
@@ -3560,7 +3579,40 @@ if (__DEV__) {
pushStringAttribute(target, "xml:space", value);
return;
case "inert":
case "inert": {
if (enableNewBooleanProps) {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[name]
) {
didWarnForNewBooleanPropsWithEmptyValue[name] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
name
);
}
} // Boolean
if (
value &&
typeof value !== "function" &&
typeof value !== "symbol"
) {
target.push(
attributeSeparator,
stringToChunk(name),
attributeEmptyString
);
}
return;
}
}
// fallthrough for new boolean props without the flag on
default:
@@ -19,7 +19,7 @@ if (__DEV__) {
var React = require("react");
var ReactDOM = require("react-dom");
var ReactVersion = "18.3.0-www-modern-ac1a257c";
var ReactVersion = "18.3.0-www-modern-7205a424";
// This refers to a WWW module.
var warningWWW = require("warning");
@@ -682,7 +682,8 @@ if (__DEV__) {
enableUseDeferredValueInitialArg =
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps;
// On WWW, true is used for a new modern build.
var enableFloat = true;
var enableBigIntSupport = false; // TODO: Roll out with GK. Don't keep as dynamic flag for too long, though,
@@ -1664,6 +1665,10 @@ if (__DEV__) {
zoomandpan: "zoomAndPan"
};
if (enableNewBooleanProps) {
possibleStandardNames.inert = "inert";
}
var warnedProperties = {};
var EVENT_NAME_REGEX = /^on./;
var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;
@@ -1908,7 +1913,12 @@ if (__DEV__) {
}
// fallthrough
case "inert":
case "inert": {
if (enableNewBooleanProps) {
// Boolean properties can accept boolean values
return true;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -1992,7 +2002,11 @@ if (__DEV__) {
break;
}
case "inert":
case "inert": {
if (enableNewBooleanProps) {
break;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -2484,6 +2498,11 @@ if (__DEV__) {
// allow one more header to be captured which means in practice if the limit is approached it will be exceeded
var DEFAULT_HEADERS_CAPACITY_IN_UTF16_CODE_UNITS = 2000;
var didWarnForNewBooleanPropsWithEmptyValue;
{
didWarnForNewBooleanPropsWithEmptyValue = {};
} // Allows us to keep track of what we've already written so we can refer back to it.
// if passed externalRuntimeConfig and the enableFizzExternalRuntime feature flag
// is set, the server will send instructions via data attributes (instead of inline scripts)
@@ -3560,7 +3579,40 @@ if (__DEV__) {
pushStringAttribute(target, "xml:space", value);
return;
case "inert":
case "inert": {
if (enableNewBooleanProps) {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[name]
) {
didWarnForNewBooleanPropsWithEmptyValue[name] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
name
);
}
} // Boolean
if (
value &&
typeof value !== "function" &&
typeof value !== "symbol"
) {
target.push(
attributeSeparator,
stringToChunk(name),
attributeEmptyString
);
}
return;
}
}
// fallthrough for new boolean props without the flag on
default:
@@ -134,6 +134,7 @@ var assign = Object.assign,
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
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]*$"
@@ -625,6 +626,14 @@ function pushAttribute(target, name, value) {
case "xmlSpace":
pushStringAttribute(target, "xml:space", value);
break;
case "inert":
if (enableNewBooleanProps) {
value &&
"function" !== typeof value &&
"symbol" !== typeof value &&
target.push(" ", name, '=""');
break;
}
default:
if (
!(2 < name.length) ||
@@ -5705,4 +5714,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 = "18.3.0-www-classic-3f97a873";
exports.version = "18.3.0-www-classic-7de27fd1";
@@ -134,6 +134,7 @@ var assign = Object.assign,
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
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]*$"
@@ -625,6 +626,14 @@ function pushAttribute(target, name, value) {
case "xmlSpace":
pushStringAttribute(target, "xml:space", value);
break;
case "inert":
if (enableNewBooleanProps) {
value &&
"function" !== typeof value &&
"symbol" !== typeof value &&
target.push(" ", name, '=""');
break;
}
default:
if (
!(2 < name.length) ||
@@ -5646,4 +5655,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 = "18.3.0-www-modern-7660299b";
exports.version = "18.3.0-www-modern-5ab7d627";
@@ -679,7 +679,8 @@ if (__DEV__) {
enableUseDeferredValueInitialArg =
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp;
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps;
// On WWW, true is used for a new modern build.
var enableFloat = true;
var enableBigIntSupport = false; // TODO: Roll out with GK. Don't keep as dynamic flag for too long, though,
@@ -1661,6 +1662,10 @@ if (__DEV__) {
zoomandpan: "zoomAndPan"
};
if (enableNewBooleanProps) {
possibleStandardNames.inert = "inert";
}
var warnedProperties = {};
var EVENT_NAME_REGEX = /^on./;
var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;
@@ -1905,7 +1910,12 @@ if (__DEV__) {
}
// fallthrough
case "inert":
case "inert": {
if (enableNewBooleanProps) {
// Boolean properties can accept boolean values
return true;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -1989,7 +1999,11 @@ if (__DEV__) {
break;
}
case "inert":
case "inert": {
if (enableNewBooleanProps) {
break;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -2481,6 +2495,11 @@ if (__DEV__) {
// allow one more header to be captured which means in practice if the limit is approached it will be exceeded
var DEFAULT_HEADERS_CAPACITY_IN_UTF16_CODE_UNITS = 2000;
var didWarnForNewBooleanPropsWithEmptyValue;
{
didWarnForNewBooleanPropsWithEmptyValue = {};
} // Allows us to keep track of what we've already written so we can refer back to it.
// if passed externalRuntimeConfig and the enableFizzExternalRuntime feature flag
// is set, the server will send instructions via data attributes (instead of inline scripts)
@@ -3557,7 +3576,40 @@ if (__DEV__) {
pushStringAttribute(target, "xml:space", value);
return;
case "inert":
case "inert": {
if (enableNewBooleanProps) {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[name]
) {
didWarnForNewBooleanPropsWithEmptyValue[name] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
name
);
}
} // Boolean
if (
value &&
typeof value !== "function" &&
typeof value !== "symbol"
) {
target.push(
attributeSeparator,
stringToChunk(name),
attributeEmptyString
);
}
return;
}
}
// fallthrough for new boolean props without the flag on
default:
@@ -126,6 +126,7 @@ var assign = Object.assign,
dynamicFeatureFlags.enableUseDeferredValueInitialArg,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
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]*$"
@@ -600,6 +601,14 @@ function pushAttribute(target, name, value) {
case "xmlSpace":
pushStringAttribute(target, "xml:space", value);
break;
case "inert":
if (enableNewBooleanProps) {
value &&
"function" !== typeof value &&
"symbol" !== typeof value &&
target.push(" ", name, '=""');
break;
}
default:
if (
!(2 < name.length) ||
@@ -145,6 +145,7 @@ if (__DEV__) {
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
useModernStrictMode = dynamicFeatureFlags.useModernStrictMode,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch; // On WWW, false is used for a new modern build.
var enableProfilerTimer = true;
@@ -6851,6 +6852,10 @@ if (__DEV__) {
zoomandpan: "zoomAndPan"
};
if (enableNewBooleanProps) {
possibleStandardNames.inert = "inert";
}
var ariaProperties = {
"aria-current": 0,
// state
@@ -7292,7 +7297,12 @@ if (__DEV__) {
}
// fallthrough
case "inert":
case "inert": {
if (enableNewBooleanProps) {
// Boolean properties can accept boolean values
return true;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -7376,7 +7386,11 @@ if (__DEV__) {
break;
}
case "inert":
case "inert": {
if (enableNewBooleanProps) {
break;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -36395,7 +36409,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "18.3.0-www-classic-6d7ca4e7";
var ReactVersion = "18.3.0-www-classic-e323f09a";
function createPortal$1(
children,
@@ -40902,9 +40916,11 @@ if (__DEV__) {
var didWarnFormActionName = false;
var didWarnFormActionTarget = false;
var didWarnFormActionMethod = false;
var didWarnForNewBooleanPropsWithEmptyValue;
var canDiffStyleForHydrationWarning;
{
didWarnForNewBooleanPropsWithEmptyValue = {}; // IE 11 parses & normalizes the style attribute as opposed to other
// browsers. It adds spaces and sorts the properties in some
// non-alphabetical order. Handling that would require sorting CSS
// properties in the client & server versions or applying
@@ -41575,10 +41591,28 @@ if (__DEV__) {
}
// Boolean
case "inert": {
setValueForAttribute(domElement, key, value);
break;
}
case "inert":
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
} else {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[key]
) {
didWarnForNewBooleanPropsWithEmptyValue[key] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
key
);
}
}
}
// fallthrough for new boolean props without the flag on
@@ -43825,6 +43859,33 @@ if (__DEV__) {
continue;
case "inert":
if (enableNewBooleanProps) {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[propKey]
) {
didWarnForNewBooleanPropsWithEmptyValue[propKey] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
propKey
);
}
}
hydrateBooleanAttribute(
domElement,
propKey,
propKey,
value,
extraAttributes
);
continue;
}
// fallthrough for new boolean props without the flag on
@@ -140,6 +140,7 @@ if (__DEV__) {
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
useModernStrictMode = dynamicFeatureFlags.useModernStrictMode,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch; // On WWW, true is used for a new modern build.
var enableProfilerTimer = true;
@@ -6685,6 +6686,10 @@ if (__DEV__) {
zoomandpan: "zoomAndPan"
};
if (enableNewBooleanProps) {
possibleStandardNames.inert = "inert";
}
var ariaProperties = {
"aria-current": 0,
// state
@@ -7126,7 +7131,12 @@ if (__DEV__) {
}
// fallthrough
case "inert":
case "inert": {
if (enableNewBooleanProps) {
// Boolean properties can accept boolean values
return true;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -7210,7 +7220,11 @@ if (__DEV__) {
break;
}
case "inert":
case "inert": {
if (enableNewBooleanProps) {
break;
}
}
// fallthrough for new boolean props without the flag on
default: {
@@ -36242,7 +36256,7 @@ if (__DEV__) {
return root;
}
var ReactVersion = "18.3.0-www-modern-4ec87328";
var ReactVersion = "18.3.0-www-modern-104a8d61";
function createPortal$1(
children,
@@ -41558,9 +41572,11 @@ if (__DEV__) {
var didWarnFormActionName = false;
var didWarnFormActionTarget = false;
var didWarnFormActionMethod = false;
var didWarnForNewBooleanPropsWithEmptyValue;
var canDiffStyleForHydrationWarning;
{
didWarnForNewBooleanPropsWithEmptyValue = {}; // IE 11 parses & normalizes the style attribute as opposed to other
// browsers. It adds spaces and sorts the properties in some
// non-alphabetical order. Handling that would require sorting CSS
// properties in the client & server versions or applying
@@ -42231,10 +42247,28 @@ if (__DEV__) {
}
// Boolean
case "inert": {
setValueForAttribute(domElement, key, value);
break;
}
case "inert":
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
} else {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[key]
) {
didWarnForNewBooleanPropsWithEmptyValue[key] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
key
);
}
}
}
// fallthrough for new boolean props without the flag on
@@ -44478,6 +44512,33 @@ if (__DEV__) {
continue;
case "inert":
if (enableNewBooleanProps) {
{
if (
value === "" &&
!didWarnForNewBooleanPropsWithEmptyValue[propKey]
) {
didWarnForNewBooleanPropsWithEmptyValue[propKey] = true;
error(
"Received an empty string for a boolean attribute `%s`. " +
"This will treat the attribute as if it were false. " +
"Either pass `false` to silence this warning, or " +
"pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",
propKey
);
}
}
hydrateBooleanAttribute(
domElement,
propKey,
propKey,
value,
extraAttributes
);
continue;
}
// fallthrough for new boolean props without the flag on
@@ -64,6 +64,7 @@ var ReactSharedInternals =
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch,
REACT_ELEMENT_TYPE = Symbol.for("react.element"),
@@ -14802,8 +14803,10 @@ function setProp(domElement, tag, key, value, props, prevValue) {
: domElement.removeAttribute(key);
break;
case "inert":
setValueForAttribute(domElement, key, value);
break;
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
}
case "allowFullScreen":
case "async":
case "autoPlay":
@@ -17560,7 +17563,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1822 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-classic-27d0aa6f",
version: "18.3.0-www-classic-c2e666d0",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2188 = {
@@ -17590,7 +17593,7 @@ var internals$jscomp$inline_2188 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-www-classic-27d0aa6f"
reconcilerVersion: "18.3.0-www-classic-c2e666d0"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2189 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -18072,4 +18075,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "18.3.0-www-classic-27d0aa6f";
exports.version = "18.3.0-www-classic-c2e666d0";
@@ -77,6 +77,7 @@ var dynamicFeatureFlags = require("ReactFeatureFlags"),
dynamicFeatureFlags.enableInfiniteRenderLoopDetection,
enableRenderableContext = dynamicFeatureFlags.enableRenderableContext,
enableRefAsProp = dynamicFeatureFlags.enableRefAsProp,
enableNewBooleanProps = dynamicFeatureFlags.enableNewBooleanProps,
enableClientRenderFallbackOnTextMismatch =
dynamicFeatureFlags.enableClientRenderFallbackOnTextMismatch,
assign = Object.assign,
@@ -15167,8 +15168,10 @@ function setProp(domElement, tag, key, value, props, prevValue) {
: domElement.removeAttribute(key);
break;
case "inert":
setValueForAttribute(domElement, key, value);
break;
if (!enableNewBooleanProps) {
setValueForAttribute(domElement, key, value);
break;
}
case "allowFullScreen":
case "async":
case "autoPlay":
@@ -17137,7 +17140,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1781 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-modern-10e7e20a",
version: "18.3.0-www-modern-4057bb15",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2151 = {
@@ -17168,7 +17171,7 @@ var internals$jscomp$inline_2151 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-www-modern-10e7e20a"
reconcilerVersion: "18.3.0-www-modern-4057bb15"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2152 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17577,4 +17580,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactCurrentDispatcher$2.current.useHostTransitionStatus();
};
exports.version = "18.3.0-www-modern-10e7e20a";
exports.version = "18.3.0-www-modern-4057bb15";