From 75825ffc27ed8ce822d6701218ae8bd368a8c41d Mon Sep 17 00:00:00 2001 From: sebmarkbage Date: Mon, 10 Apr 2023 02:21:38 +0000 Subject: [PATCH] Don't update textarea defaultValue and input checked unnecessarily (#26580) In #26573 I changed it so that textareas get their defaultValue reset if you don't specify one. However, the way that was implemented, it always set it for any update even if it hasn't changed. We have a test for that, but that test only works if no properties update at all so that no update was scheduled. This fixes the test so that it updates some unrelated prop. I also found a test for `checked` that needed a similar fix. Interestingly, we don't do this deduping for `defaultValue` or `defaultChecked` on inputs and there's no test for that. DiffTrain build for [9a9da7721e5b73a8af242807e463e2af842c58ee](https://github.com/facebook/react/commit/9a9da7721e5b73a8af242807e463e2af842c58ee) --- compiled/facebook-www/REVISION | 2 +- compiled/facebook-www/React-dev.modern.js | 2 +- compiled/facebook-www/ReactART-dev.classic.js | 2 +- compiled/facebook-www/ReactART-prod.modern.js | 4 +- compiled/facebook-www/ReactDOM-dev.classic.js | 27 +++--- compiled/facebook-www/ReactDOM-dev.modern.js | 27 +++--- .../facebook-www/ReactDOM-prod.classic.js | 97 ++++++++++--------- compiled/facebook-www/ReactDOM-prod.modern.js | 97 ++++++++++--------- .../ReactDOM-profiling.classic.js | 83 ++++++++-------- .../facebook-www/ReactDOM-profiling.modern.js | 83 ++++++++-------- .../ReactDOMTesting-dev.classic.js | 27 +++--- .../ReactDOMTesting-dev.modern.js | 27 +++--- .../ReactDOMTesting-prod.classic.js | 97 ++++++++++--------- .../ReactDOMTesting-prod.modern.js | 97 ++++++++++--------- .../ReactTestRenderer-dev.modern.js | 2 +- 15 files changed, 362 insertions(+), 312 deletions(-) diff --git a/compiled/facebook-www/REVISION b/compiled/facebook-www/REVISION index 0e679bc9fa82b..3adc486c220d2 100644 --- a/compiled/facebook-www/REVISION +++ b/compiled/facebook-www/REVISION @@ -1 +1 @@ -e5146cb5250be1a4e66511af91549859b36ed488 +9a9da7721e5b73a8af242807e463e2af842c58ee diff --git a/compiled/facebook-www/React-dev.modern.js b/compiled/facebook-www/React-dev.modern.js index 2176f7003f457..d9367dd1ec753 100644 --- a/compiled/facebook-www/React-dev.modern.js +++ b/compiled/facebook-www/React-dev.modern.js @@ -27,7 +27,7 @@ if ( } "use strict"; -var ReactVersion = "18.3.0-www-modern-a9e6dcdb"; +var ReactVersion = "18.3.0-www-modern-bfaf8fe7"; // ATTENTION // When adding new symbols to this file, diff --git a/compiled/facebook-www/ReactART-dev.classic.js b/compiled/facebook-www/ReactART-dev.classic.js index 1fa2505890c52..dac2fcccde0bc 100644 --- a/compiled/facebook-www/ReactART-dev.classic.js +++ b/compiled/facebook-www/ReactART-dev.classic.js @@ -69,7 +69,7 @@ function _assertThisInitialized(self) { return self; } -var ReactVersion = "18.3.0-www-classic-6b173260"; +var ReactVersion = "18.3.0-www-classic-4f49fe42"; var LegacyRoot = 0; var ConcurrentRoot = 1; diff --git a/compiled/facebook-www/ReactART-prod.modern.js b/compiled/facebook-www/ReactART-prod.modern.js index cfb15ae9d3ad8..86065d1e80e02 100644 --- a/compiled/facebook-www/ReactART-prod.modern.js +++ b/compiled/facebook-www/ReactART-prod.modern.js @@ -9737,7 +9737,7 @@ var slice = Array.prototype.slice, return null; }, bundleType: 0, - version: "18.3.0-www-modern-e257717e", + version: "18.3.0-www-modern-3b22d407", rendererPackageName: "react-art" }; var internals$jscomp$inline_1324 = { @@ -9768,7 +9768,7 @@ var internals$jscomp$inline_1324 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-www-modern-e257717e" + reconcilerVersion: "18.3.0-www-modern-3b22d407" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_1325 = __REACT_DEVTOOLS_GLOBAL_HOOK__; diff --git a/compiled/facebook-www/ReactDOM-dev.classic.js b/compiled/facebook-www/ReactDOM-dev.classic.js index d2411f0a0cdca..c6c24500d2d75 100644 --- a/compiled/facebook-www/ReactDOM-dev.classic.js +++ b/compiled/facebook-www/ReactDOM-dev.classic.js @@ -3806,7 +3806,7 @@ function updateInputChecked(element, props) { var node = element; var checked = props.checked; - if (checked != null) { + if (checked != null && node.checked !== !!checked) { node.checked = checked; } } @@ -4360,13 +4360,6 @@ function validateTextareaProps(element, props) { function updateTextarea(element, props) { var node = element; var value = getToStringValue(props.value); - var defaultValue = getToStringValue(props.defaultValue); - - if (defaultValue != null) { - node.defaultValue = toString(defaultValue); - } else { - node.defaultValue = ""; - } if (value != null) { // Cast `value` to a string to ensure the value is set correctly. While @@ -4377,10 +4370,22 @@ function updateTextarea(element, props) { node.value = newValue; } // TOOO: This should respect disableInputAttributeSyncing flag. - if (props.defaultValue == null && node.defaultValue !== newValue) { - node.defaultValue = newValue; + if (props.defaultValue == null) { + if (node.defaultValue !== newValue) { + node.defaultValue = newValue; + } + + return; } } + + var defaultValue = getToStringValue(props.defaultValue); + + if (defaultValue != null) { + node.defaultValue = toString(defaultValue); + } else { + node.defaultValue = ""; + } } function initTextarea(element, props) { var node = element; @@ -33343,7 +33348,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-www-classic-6714ccf8"; +var ReactVersion = "18.3.0-www-classic-1bf554dd"; function createPortal$1( children, diff --git a/compiled/facebook-www/ReactDOM-dev.modern.js b/compiled/facebook-www/ReactDOM-dev.modern.js index c5e164c71171e..da3f037ba2033 100644 --- a/compiled/facebook-www/ReactDOM-dev.modern.js +++ b/compiled/facebook-www/ReactDOM-dev.modern.js @@ -3640,7 +3640,7 @@ function updateInputChecked(element, props) { var node = element; var checked = props.checked; - if (checked != null) { + if (checked != null && node.checked !== !!checked) { node.checked = checked; } } @@ -4194,13 +4194,6 @@ function validateTextareaProps(element, props) { function updateTextarea(element, props) { var node = element; var value = getToStringValue(props.value); - var defaultValue = getToStringValue(props.defaultValue); - - if (defaultValue != null) { - node.defaultValue = toString(defaultValue); - } else { - node.defaultValue = ""; - } if (value != null) { // Cast `value` to a string to ensure the value is set correctly. While @@ -4211,10 +4204,22 @@ function updateTextarea(element, props) { node.value = newValue; } // TOOO: This should respect disableInputAttributeSyncing flag. - if (props.defaultValue == null && node.defaultValue !== newValue) { - node.defaultValue = newValue; + if (props.defaultValue == null) { + if (node.defaultValue !== newValue) { + node.defaultValue = newValue; + } + + return; } } + + var defaultValue = getToStringValue(props.defaultValue); + + if (defaultValue != null) { + node.defaultValue = toString(defaultValue); + } else { + node.defaultValue = ""; + } } function initTextarea(element, props) { var node = element; @@ -33179,7 +33184,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-www-modern-e257717e"; +var ReactVersion = "18.3.0-www-modern-3b22d407"; function createPortal$1( children, diff --git a/compiled/facebook-www/ReactDOM-prod.classic.js b/compiled/facebook-www/ReactDOM-prod.classic.js index 1360d9508075a..9634b115479b5 100644 --- a/compiled/facebook-www/ReactDOM-prod.classic.js +++ b/compiled/facebook-www/ReactDOM-prod.classic.js @@ -973,6 +973,10 @@ function getActiveElement(doc) { return doc.body; } } +function updateInputChecked(element, props) { + props = props.checked; + null != props && element.checked !== !!props && (element.checked = props); +} function updateInput(element, props) { var value = getToStringValue(props.value), type = props.type; @@ -996,8 +1000,7 @@ function updateInput(element, props) { : null == props.checked && null != props.defaultChecked && (element.defaultChecked = !!props.defaultChecked); - props = props.checked; - null != props && (element.checked = props); + updateInputChecked(element, props); if (null != value) if ("number" === type) { if ((0 === value && "" === element.value) || element.value != value) @@ -1077,15 +1080,18 @@ function updateOptions(node, multiple, propValue, setDefaultSelected) { } } function updateTextarea(element, props) { - var value = getToStringValue(props.value), - defaultValue = getToStringValue(props.defaultValue); - element.defaultValue = null != defaultValue ? "" + defaultValue : ""; - null != value && + var value = getToStringValue(props.value); + if ( + null != value && ((value = "" + value), value !== element.value && (element.value = value), - null == props.defaultValue && - element.defaultValue !== value && - (element.defaultValue = value)); + null == props.defaultValue) + ) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + props = getToStringValue(props.defaultValue); + element.defaultValue = null != props ? "" + props : ""; } function initTextarea(element, props) { var initialValue = props.value; @@ -12560,14 +12566,14 @@ var isInputEventSupported = !1; if (canUseDOM) { var JSCompiler_inline_result$jscomp$332; if (canUseDOM) { - var isSupported$jscomp$inline_1562 = "oninput" in document; - if (!isSupported$jscomp$inline_1562) { - var element$jscomp$inline_1563 = document.createElement("div"); - element$jscomp$inline_1563.setAttribute("oninput", "return;"); - isSupported$jscomp$inline_1562 = - "function" === typeof element$jscomp$inline_1563.oninput; + var isSupported$jscomp$inline_1557 = "oninput" in document; + if (!isSupported$jscomp$inline_1557) { + var element$jscomp$inline_1558 = document.createElement("div"); + element$jscomp$inline_1558.setAttribute("oninput", "return;"); + isSupported$jscomp$inline_1557 = + "function" === typeof element$jscomp$inline_1558.oninput; } - JSCompiler_inline_result$jscomp$332 = isSupported$jscomp$inline_1562; + JSCompiler_inline_result$jscomp$332 = isSupported$jscomp$inline_1557; } else JSCompiler_inline_result$jscomp$332 = !1; isInputEventSupported = JSCompiler_inline_result$jscomp$332 && @@ -12879,20 +12885,20 @@ function registerSimpleEvent(domEventName, reactName) { registerTwoPhaseEvent(reactName, [domEventName]); } for ( - var i$jscomp$inline_1603 = 0; - i$jscomp$inline_1603 < simpleEventPluginEvents.length; - i$jscomp$inline_1603++ + var i$jscomp$inline_1598 = 0; + i$jscomp$inline_1598 < simpleEventPluginEvents.length; + i$jscomp$inline_1598++ ) { - var eventName$jscomp$inline_1604 = - simpleEventPluginEvents[i$jscomp$inline_1603], - domEventName$jscomp$inline_1605 = - eventName$jscomp$inline_1604.toLowerCase(), - capitalizedEvent$jscomp$inline_1606 = - eventName$jscomp$inline_1604[0].toUpperCase() + - eventName$jscomp$inline_1604.slice(1); + var eventName$jscomp$inline_1599 = + simpleEventPluginEvents[i$jscomp$inline_1598], + domEventName$jscomp$inline_1600 = + eventName$jscomp$inline_1599.toLowerCase(), + capitalizedEvent$jscomp$inline_1601 = + eventName$jscomp$inline_1599[0].toUpperCase() + + eventName$jscomp$inline_1599.slice(1); registerSimpleEvent( - domEventName$jscomp$inline_1605, - "on" + capitalizedEvent$jscomp$inline_1606 + domEventName$jscomp$inline_1600, + "on" + capitalizedEvent$jscomp$inline_1601 ); } registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); @@ -14246,8 +14252,7 @@ function updateProperties( case "input": "radio" === nextProps.type && null != nextProps.name && - ((lastProps = nextProps.checked), - null != lastProps && (domElement.checked = lastProps)); + updateInputChecked(domElement, nextProps); for (lastProps = 0; lastProps < updatePayload.length; lastProps += 2) { var propKey = updatePayload[lastProps], propValue = updatePayload[lastProps + 1]; @@ -16047,17 +16052,17 @@ Internals.Events = [ restoreStateIfNeeded, batchedUpdates$1 ]; -var devToolsConfig$jscomp$inline_1822 = { +var devToolsConfig$jscomp$inline_1812 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "18.3.0-www-classic-42d0ecd9", + version: "18.3.0-www-classic-2bdbd8ab", rendererPackageName: "react-dom" }; -var internals$jscomp$inline_2191 = { - bundleType: devToolsConfig$jscomp$inline_1822.bundleType, - version: devToolsConfig$jscomp$inline_1822.version, - rendererPackageName: devToolsConfig$jscomp$inline_1822.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1822.rendererConfig, +var internals$jscomp$inline_2181 = { + bundleType: devToolsConfig$jscomp$inline_1812.bundleType, + version: devToolsConfig$jscomp$inline_1812.version, + rendererPackageName: devToolsConfig$jscomp$inline_1812.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1812.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -16073,26 +16078,26 @@ var internals$jscomp$inline_2191 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1822.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1812.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-www-classic-42d0ecd9" + reconcilerVersion: "18.3.0-www-classic-2bdbd8ab" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { - var hook$jscomp$inline_2192 = __REACT_DEVTOOLS_GLOBAL_HOOK__; + var hook$jscomp$inline_2182 = __REACT_DEVTOOLS_GLOBAL_HOOK__; if ( - !hook$jscomp$inline_2192.isDisabled && - hook$jscomp$inline_2192.supportsFiber + !hook$jscomp$inline_2182.isDisabled && + hook$jscomp$inline_2182.supportsFiber ) try { - (rendererID = hook$jscomp$inline_2192.inject( - internals$jscomp$inline_2191 + (rendererID = hook$jscomp$inline_2182.inject( + internals$jscomp$inline_2181 )), - (injectedHook = hook$jscomp$inline_2192); + (injectedHook = hook$jscomp$inline_2182); } catch (err) {} } assign(Internals, { @@ -16320,4 +16325,4 @@ exports.unstable_renderSubtreeIntoContainer = function ( ); }; exports.unstable_runWithPriority = runWithPriority; -exports.version = "18.3.0-www-classic-42d0ecd9"; +exports.version = "18.3.0-www-classic-2bdbd8ab"; diff --git a/compiled/facebook-www/ReactDOM-prod.modern.js b/compiled/facebook-www/ReactDOM-prod.modern.js index 109b1ffd863e8..ee9b1232bc08f 100644 --- a/compiled/facebook-www/ReactDOM-prod.modern.js +++ b/compiled/facebook-www/ReactDOM-prod.modern.js @@ -822,6 +822,10 @@ function getActiveElement(doc) { return doc.body; } } +function updateInputChecked(element, props) { + props = props.checked; + null != props && element.checked !== !!props && (element.checked = props); +} function updateInput(element, props) { var value = getToStringValue(props.value), type = props.type; @@ -845,8 +849,7 @@ function updateInput(element, props) { : null == props.checked && null != props.defaultChecked && (element.defaultChecked = !!props.defaultChecked); - props = props.checked; - null != props && (element.checked = props); + updateInputChecked(element, props); if (null != value) if ("number" === type) { if ((0 === value && "" === element.value) || element.value != value) @@ -926,15 +929,18 @@ function updateOptions(node, multiple, propValue, setDefaultSelected) { } } function updateTextarea(element, props) { - var value = getToStringValue(props.value), - defaultValue = getToStringValue(props.defaultValue); - element.defaultValue = null != defaultValue ? "" + defaultValue : ""; - null != value && + var value = getToStringValue(props.value); + if ( + null != value && ((value = "" + value), value !== element.value && (element.value = value), - null == props.defaultValue && - element.defaultValue !== value && - (element.defaultValue = value)); + null == props.defaultValue) + ) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + props = getToStringValue(props.defaultValue); + element.defaultValue = null != props ? "" + props : ""; } function initTextarea(element, props) { var initialValue = props.value; @@ -12793,14 +12799,14 @@ var isInputEventSupported = !1; if (canUseDOM) { var JSCompiler_inline_result$jscomp$329; if (canUseDOM) { - var isSupported$jscomp$inline_1554 = "oninput" in document; - if (!isSupported$jscomp$inline_1554) { - var element$jscomp$inline_1555 = document.createElement("div"); - element$jscomp$inline_1555.setAttribute("oninput", "return;"); - isSupported$jscomp$inline_1554 = - "function" === typeof element$jscomp$inline_1555.oninput; + var isSupported$jscomp$inline_1549 = "oninput" in document; + if (!isSupported$jscomp$inline_1549) { + var element$jscomp$inline_1550 = document.createElement("div"); + element$jscomp$inline_1550.setAttribute("oninput", "return;"); + isSupported$jscomp$inline_1549 = + "function" === typeof element$jscomp$inline_1550.oninput; } - JSCompiler_inline_result$jscomp$329 = isSupported$jscomp$inline_1554; + JSCompiler_inline_result$jscomp$329 = isSupported$jscomp$inline_1549; } else JSCompiler_inline_result$jscomp$329 = !1; isInputEventSupported = JSCompiler_inline_result$jscomp$329 && @@ -13112,20 +13118,20 @@ function registerSimpleEvent(domEventName, reactName) { registerTwoPhaseEvent(reactName, [domEventName]); } for ( - var i$jscomp$inline_1595 = 0; - i$jscomp$inline_1595 < simpleEventPluginEvents.length; - i$jscomp$inline_1595++ + var i$jscomp$inline_1590 = 0; + i$jscomp$inline_1590 < simpleEventPluginEvents.length; + i$jscomp$inline_1590++ ) { - var eventName$jscomp$inline_1596 = - simpleEventPluginEvents[i$jscomp$inline_1595], - domEventName$jscomp$inline_1597 = - eventName$jscomp$inline_1596.toLowerCase(), - capitalizedEvent$jscomp$inline_1598 = - eventName$jscomp$inline_1596[0].toUpperCase() + - eventName$jscomp$inline_1596.slice(1); + var eventName$jscomp$inline_1591 = + simpleEventPluginEvents[i$jscomp$inline_1590], + domEventName$jscomp$inline_1592 = + eventName$jscomp$inline_1591.toLowerCase(), + capitalizedEvent$jscomp$inline_1593 = + eventName$jscomp$inline_1591[0].toUpperCase() + + eventName$jscomp$inline_1591.slice(1); registerSimpleEvent( - domEventName$jscomp$inline_1597, - "on" + capitalizedEvent$jscomp$inline_1598 + domEventName$jscomp$inline_1592, + "on" + capitalizedEvent$jscomp$inline_1593 ); } registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); @@ -14479,8 +14485,7 @@ function updateProperties( case "input": "radio" === nextProps.type && null != nextProps.name && - ((lastProps = nextProps.checked), - null != lastProps && (domElement.checked = lastProps)); + updateInputChecked(domElement, nextProps); for (lastProps = 0; lastProps < updatePayload.length; lastProps += 2) { var propKey = updatePayload[lastProps], propValue = updatePayload[lastProps + 1]; @@ -15574,17 +15579,17 @@ Internals.Events = [ restoreStateIfNeeded, batchedUpdates$1 ]; -var devToolsConfig$jscomp$inline_1780 = { +var devToolsConfig$jscomp$inline_1770 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "18.3.0-www-modern-95b4ba35", + version: "18.3.0-www-modern-5d5ce6c4", rendererPackageName: "react-dom" }; -var internals$jscomp$inline_2154 = { - bundleType: devToolsConfig$jscomp$inline_1780.bundleType, - version: devToolsConfig$jscomp$inline_1780.version, - rendererPackageName: devToolsConfig$jscomp$inline_1780.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1780.rendererConfig, +var internals$jscomp$inline_2144 = { + bundleType: devToolsConfig$jscomp$inline_1770.bundleType, + version: devToolsConfig$jscomp$inline_1770.version, + rendererPackageName: devToolsConfig$jscomp$inline_1770.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1770.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -15601,26 +15606,26 @@ var internals$jscomp$inline_2154 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1780.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1770.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-www-modern-95b4ba35" + reconcilerVersion: "18.3.0-www-modern-5d5ce6c4" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { - var hook$jscomp$inline_2155 = __REACT_DEVTOOLS_GLOBAL_HOOK__; + var hook$jscomp$inline_2145 = __REACT_DEVTOOLS_GLOBAL_HOOK__; if ( - !hook$jscomp$inline_2155.isDisabled && - hook$jscomp$inline_2155.supportsFiber + !hook$jscomp$inline_2145.isDisabled && + hook$jscomp$inline_2145.supportsFiber ) try { - (rendererID = hook$jscomp$inline_2155.inject( - internals$jscomp$inline_2154 + (rendererID = hook$jscomp$inline_2145.inject( + internals$jscomp$inline_2144 )), - (injectedHook = hook$jscomp$inline_2155); + (injectedHook = hook$jscomp$inline_2145); } catch (err) {} } exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals; @@ -15777,4 +15782,4 @@ exports.unstable_createEventHandle = function (type, options) { return eventHandle; }; exports.unstable_runWithPriority = runWithPriority; -exports.version = "18.3.0-www-modern-95b4ba35"; +exports.version = "18.3.0-www-modern-5d5ce6c4"; diff --git a/compiled/facebook-www/ReactDOM-profiling.classic.js b/compiled/facebook-www/ReactDOM-profiling.classic.js index a8e61f1852fbd..9acc4627f4c06 100644 --- a/compiled/facebook-www/ReactDOM-profiling.classic.js +++ b/compiled/facebook-www/ReactDOM-profiling.classic.js @@ -1117,6 +1117,10 @@ function getActiveElement(doc) { return doc.body; } } +function updateInputChecked(element, props) { + props = props.checked; + null != props && element.checked !== !!props && (element.checked = props); +} function updateInput(element, props) { var value = getToStringValue(props.value), type = props.type; @@ -1140,8 +1144,7 @@ function updateInput(element, props) { : null == props.checked && null != props.defaultChecked && (element.defaultChecked = !!props.defaultChecked); - props = props.checked; - null != props && (element.checked = props); + updateInputChecked(element, props); if (null != value) if ("number" === type) { if ((0 === value && "" === element.value) || element.value != value) @@ -1221,15 +1224,18 @@ function updateOptions(node, multiple, propValue, setDefaultSelected) { } } function updateTextarea(element, props) { - var value = getToStringValue(props.value), - defaultValue = getToStringValue(props.defaultValue); - element.defaultValue = null != defaultValue ? "" + defaultValue : ""; - null != value && + var value = getToStringValue(props.value); + if ( + null != value && ((value = "" + value), value !== element.value && (element.value = value), - null == props.defaultValue && - element.defaultValue !== value && - (element.defaultValue = value)); + null == props.defaultValue) + ) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + props = getToStringValue(props.defaultValue); + element.defaultValue = null != props ? "" + props : ""; } function initTextarea(element, props) { var initialValue = props.value; @@ -13335,14 +13341,14 @@ var isInputEventSupported = !1; if (canUseDOM) { var JSCompiler_inline_result$jscomp$353; if (canUseDOM) { - var isSupported$jscomp$inline_1641 = "oninput" in document; - if (!isSupported$jscomp$inline_1641) { - var element$jscomp$inline_1642 = document.createElement("div"); - element$jscomp$inline_1642.setAttribute("oninput", "return;"); - isSupported$jscomp$inline_1641 = - "function" === typeof element$jscomp$inline_1642.oninput; + var isSupported$jscomp$inline_1636 = "oninput" in document; + if (!isSupported$jscomp$inline_1636) { + var element$jscomp$inline_1637 = document.createElement("div"); + element$jscomp$inline_1637.setAttribute("oninput", "return;"); + isSupported$jscomp$inline_1636 = + "function" === typeof element$jscomp$inline_1637.oninput; } - JSCompiler_inline_result$jscomp$353 = isSupported$jscomp$inline_1641; + JSCompiler_inline_result$jscomp$353 = isSupported$jscomp$inline_1636; } else JSCompiler_inline_result$jscomp$353 = !1; isInputEventSupported = JSCompiler_inline_result$jscomp$353 && @@ -13654,20 +13660,20 @@ function registerSimpleEvent(domEventName, reactName) { registerTwoPhaseEvent(reactName, [domEventName]); } for ( - var i$jscomp$inline_1682 = 0; - i$jscomp$inline_1682 < simpleEventPluginEvents.length; - i$jscomp$inline_1682++ + var i$jscomp$inline_1677 = 0; + i$jscomp$inline_1677 < simpleEventPluginEvents.length; + i$jscomp$inline_1677++ ) { - var eventName$jscomp$inline_1683 = - simpleEventPluginEvents[i$jscomp$inline_1682], - domEventName$jscomp$inline_1684 = - eventName$jscomp$inline_1683.toLowerCase(), - capitalizedEvent$jscomp$inline_1685 = - eventName$jscomp$inline_1683[0].toUpperCase() + - eventName$jscomp$inline_1683.slice(1); + var eventName$jscomp$inline_1678 = + simpleEventPluginEvents[i$jscomp$inline_1677], + domEventName$jscomp$inline_1679 = + eventName$jscomp$inline_1678.toLowerCase(), + capitalizedEvent$jscomp$inline_1680 = + eventName$jscomp$inline_1678[0].toUpperCase() + + eventName$jscomp$inline_1678.slice(1); registerSimpleEvent( - domEventName$jscomp$inline_1684, - "on" + capitalizedEvent$jscomp$inline_1685 + domEventName$jscomp$inline_1679, + "on" + capitalizedEvent$jscomp$inline_1680 ); } registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); @@ -15021,8 +15027,7 @@ function updateProperties( case "input": "radio" === nextProps.type && null != nextProps.name && - ((lastProps = nextProps.checked), - null != lastProps && (domElement.checked = lastProps)); + updateInputChecked(domElement, nextProps); for (lastProps = 0; lastProps < updatePayload.length; lastProps += 2) { var propKey = updatePayload[lastProps], propValue = updatePayload[lastProps + 1]; @@ -16822,10 +16827,10 @@ Internals.Events = [ restoreStateIfNeeded, batchedUpdates$1 ]; -var devToolsConfig$jscomp$inline_1901 = { +var devToolsConfig$jscomp$inline_1891 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "18.3.0-www-classic-3bbc0e4d", + version: "18.3.0-www-classic-4f2c9290", rendererPackageName: "react-dom" }; (function (internals) { @@ -16843,10 +16848,10 @@ var devToolsConfig$jscomp$inline_1901 = { } catch (err) {} return hook.checkDCE ? !0 : !1; })({ - bundleType: devToolsConfig$jscomp$inline_1901.bundleType, - version: devToolsConfig$jscomp$inline_1901.version, - rendererPackageName: devToolsConfig$jscomp$inline_1901.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1901.rendererConfig, + bundleType: devToolsConfig$jscomp$inline_1891.bundleType, + version: devToolsConfig$jscomp$inline_1891.version, + rendererPackageName: devToolsConfig$jscomp$inline_1891.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1891.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -16862,14 +16867,14 @@ var devToolsConfig$jscomp$inline_1901 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1901.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1891.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-www-classic-3bbc0e4d" + reconcilerVersion: "18.3.0-www-classic-4f2c9290" }); assign(Internals, { ReactBrowserEventEmitter: { @@ -17096,7 +17101,7 @@ exports.unstable_renderSubtreeIntoContainer = function ( ); }; exports.unstable_runWithPriority = runWithPriority; -exports.version = "18.3.0-www-classic-3bbc0e4d"; +exports.version = "18.3.0-www-classic-4f2c9290"; /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( diff --git a/compiled/facebook-www/ReactDOM-profiling.modern.js b/compiled/facebook-www/ReactDOM-profiling.modern.js index bd18ddb190a78..58063c2b0d6a2 100644 --- a/compiled/facebook-www/ReactDOM-profiling.modern.js +++ b/compiled/facebook-www/ReactDOM-profiling.modern.js @@ -966,6 +966,10 @@ function getActiveElement(doc) { return doc.body; } } +function updateInputChecked(element, props) { + props = props.checked; + null != props && element.checked !== !!props && (element.checked = props); +} function updateInput(element, props) { var value = getToStringValue(props.value), type = props.type; @@ -989,8 +993,7 @@ function updateInput(element, props) { : null == props.checked && null != props.defaultChecked && (element.defaultChecked = !!props.defaultChecked); - props = props.checked; - null != props && (element.checked = props); + updateInputChecked(element, props); if (null != value) if ("number" === type) { if ((0 === value && "" === element.value) || element.value != value) @@ -1070,15 +1073,18 @@ function updateOptions(node, multiple, propValue, setDefaultSelected) { } } function updateTextarea(element, props) { - var value = getToStringValue(props.value), - defaultValue = getToStringValue(props.defaultValue); - element.defaultValue = null != defaultValue ? "" + defaultValue : ""; - null != value && + var value = getToStringValue(props.value); + if ( + null != value && ((value = "" + value), value !== element.value && (element.value = value), - null == props.defaultValue && - element.defaultValue !== value && - (element.defaultValue = value)); + null == props.defaultValue) + ) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + props = getToStringValue(props.defaultValue); + element.defaultValue = null != props ? "" + props : ""; } function initTextarea(element, props) { var initialValue = props.value; @@ -13562,14 +13568,14 @@ var isInputEventSupported = !1; if (canUseDOM) { var JSCompiler_inline_result$jscomp$350; if (canUseDOM) { - var isSupported$jscomp$inline_1633 = "oninput" in document; - if (!isSupported$jscomp$inline_1633) { - var element$jscomp$inline_1634 = document.createElement("div"); - element$jscomp$inline_1634.setAttribute("oninput", "return;"); - isSupported$jscomp$inline_1633 = - "function" === typeof element$jscomp$inline_1634.oninput; + var isSupported$jscomp$inline_1628 = "oninput" in document; + if (!isSupported$jscomp$inline_1628) { + var element$jscomp$inline_1629 = document.createElement("div"); + element$jscomp$inline_1629.setAttribute("oninput", "return;"); + isSupported$jscomp$inline_1628 = + "function" === typeof element$jscomp$inline_1629.oninput; } - JSCompiler_inline_result$jscomp$350 = isSupported$jscomp$inline_1633; + JSCompiler_inline_result$jscomp$350 = isSupported$jscomp$inline_1628; } else JSCompiler_inline_result$jscomp$350 = !1; isInputEventSupported = JSCompiler_inline_result$jscomp$350 && @@ -13881,20 +13887,20 @@ function registerSimpleEvent(domEventName, reactName) { registerTwoPhaseEvent(reactName, [domEventName]); } for ( - var i$jscomp$inline_1674 = 0; - i$jscomp$inline_1674 < simpleEventPluginEvents.length; - i$jscomp$inline_1674++ + var i$jscomp$inline_1669 = 0; + i$jscomp$inline_1669 < simpleEventPluginEvents.length; + i$jscomp$inline_1669++ ) { - var eventName$jscomp$inline_1675 = - simpleEventPluginEvents[i$jscomp$inline_1674], - domEventName$jscomp$inline_1676 = - eventName$jscomp$inline_1675.toLowerCase(), - capitalizedEvent$jscomp$inline_1677 = - eventName$jscomp$inline_1675[0].toUpperCase() + - eventName$jscomp$inline_1675.slice(1); + var eventName$jscomp$inline_1670 = + simpleEventPluginEvents[i$jscomp$inline_1669], + domEventName$jscomp$inline_1671 = + eventName$jscomp$inline_1670.toLowerCase(), + capitalizedEvent$jscomp$inline_1672 = + eventName$jscomp$inline_1670[0].toUpperCase() + + eventName$jscomp$inline_1670.slice(1); registerSimpleEvent( - domEventName$jscomp$inline_1676, - "on" + capitalizedEvent$jscomp$inline_1677 + domEventName$jscomp$inline_1671, + "on" + capitalizedEvent$jscomp$inline_1672 ); } registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); @@ -15248,8 +15254,7 @@ function updateProperties( case "input": "radio" === nextProps.type && null != nextProps.name && - ((lastProps = nextProps.checked), - null != lastProps && (domElement.checked = lastProps)); + updateInputChecked(domElement, nextProps); for (lastProps = 0; lastProps < updatePayload.length; lastProps += 2) { var propKey = updatePayload[lastProps], propValue = updatePayload[lastProps + 1]; @@ -16343,10 +16348,10 @@ Internals.Events = [ restoreStateIfNeeded, batchedUpdates$1 ]; -var devToolsConfig$jscomp$inline_1859 = { +var devToolsConfig$jscomp$inline_1849 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "18.3.0-www-modern-d3a94823", + version: "18.3.0-www-modern-6a8c019f", rendererPackageName: "react-dom" }; (function (internals) { @@ -16364,10 +16369,10 @@ var devToolsConfig$jscomp$inline_1859 = { } catch (err) {} return hook.checkDCE ? !0 : !1; })({ - bundleType: devToolsConfig$jscomp$inline_1859.bundleType, - version: devToolsConfig$jscomp$inline_1859.version, - rendererPackageName: devToolsConfig$jscomp$inline_1859.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1859.rendererConfig, + bundleType: devToolsConfig$jscomp$inline_1849.bundleType, + version: devToolsConfig$jscomp$inline_1849.version, + rendererPackageName: devToolsConfig$jscomp$inline_1849.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1849.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -16384,14 +16389,14 @@ var devToolsConfig$jscomp$inline_1859 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1859.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1849.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-www-modern-d3a94823" + reconcilerVersion: "18.3.0-www-modern-6a8c019f" }); exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals; exports.createPortal = function (children, container) { @@ -16547,7 +16552,7 @@ exports.unstable_createEventHandle = function (type, options) { return eventHandle; }; exports.unstable_runWithPriority = runWithPriority; -exports.version = "18.3.0-www-modern-d3a94823"; +exports.version = "18.3.0-www-modern-6a8c019f"; /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( diff --git a/compiled/facebook-www/ReactDOMTesting-dev.classic.js b/compiled/facebook-www/ReactDOMTesting-dev.classic.js index 97986042c9e7b..153739d0857c0 100644 --- a/compiled/facebook-www/ReactDOMTesting-dev.classic.js +++ b/compiled/facebook-www/ReactDOMTesting-dev.classic.js @@ -3840,7 +3840,7 @@ function updateInputChecked(element, props) { var node = element; var checked = props.checked; - if (checked != null) { + if (checked != null && node.checked !== !!checked) { node.checked = checked; } } @@ -4394,13 +4394,6 @@ function validateTextareaProps(element, props) { function updateTextarea(element, props) { var node = element; var value = getToStringValue(props.value); - var defaultValue = getToStringValue(props.defaultValue); - - if (defaultValue != null) { - node.defaultValue = toString(defaultValue); - } else { - node.defaultValue = ""; - } if (value != null) { // Cast `value` to a string to ensure the value is set correctly. While @@ -4411,10 +4404,22 @@ function updateTextarea(element, props) { node.value = newValue; } // TOOO: This should respect disableInputAttributeSyncing flag. - if (props.defaultValue == null && node.defaultValue !== newValue) { - node.defaultValue = newValue; + if (props.defaultValue == null) { + if (node.defaultValue !== newValue) { + node.defaultValue = newValue; + } + + return; } } + + var defaultValue = getToStringValue(props.defaultValue); + + if (defaultValue != null) { + node.defaultValue = toString(defaultValue); + } else { + node.defaultValue = ""; + } } function initTextarea(element, props) { var node = element; @@ -36534,7 +36539,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-www-classic-1604b498"; +var ReactVersion = "18.3.0-www-classic-49934517"; function createPortal$1( children, diff --git a/compiled/facebook-www/ReactDOMTesting-dev.modern.js b/compiled/facebook-www/ReactDOMTesting-dev.modern.js index c8e080aa2af7b..a4149ea6abc7a 100644 --- a/compiled/facebook-www/ReactDOMTesting-dev.modern.js +++ b/compiled/facebook-www/ReactDOMTesting-dev.modern.js @@ -3776,7 +3776,7 @@ function updateInputChecked(element, props) { var node = element; var checked = props.checked; - if (checked != null) { + if (checked != null && node.checked !== !!checked) { node.checked = checked; } } @@ -4330,13 +4330,6 @@ function validateTextareaProps(element, props) { function updateTextarea(element, props) { var node = element; var value = getToStringValue(props.value); - var defaultValue = getToStringValue(props.defaultValue); - - if (defaultValue != null) { - node.defaultValue = toString(defaultValue); - } else { - node.defaultValue = ""; - } if (value != null) { // Cast `value` to a string to ensure the value is set correctly. While @@ -4347,10 +4340,22 @@ function updateTextarea(element, props) { node.value = newValue; } // TOOO: This should respect disableInputAttributeSyncing flag. - if (props.defaultValue == null && node.defaultValue !== newValue) { - node.defaultValue = newValue; + if (props.defaultValue == null) { + if (node.defaultValue !== newValue) { + node.defaultValue = newValue; + } + + return; } } + + var defaultValue = getToStringValue(props.defaultValue); + + if (defaultValue != null) { + node.defaultValue = toString(defaultValue); + } else { + node.defaultValue = ""; + } } function initTextarea(element, props) { var node = element; @@ -33798,7 +33803,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-www-modern-2b95afab"; +var ReactVersion = "18.3.0-www-modern-845598d4"; function createPortal$1( children, diff --git a/compiled/facebook-www/ReactDOMTesting-prod.classic.js b/compiled/facebook-www/ReactDOMTesting-prod.classic.js index 785b751d67bcb..339d1935312c4 100644 --- a/compiled/facebook-www/ReactDOMTesting-prod.classic.js +++ b/compiled/facebook-www/ReactDOMTesting-prod.classic.js @@ -979,6 +979,10 @@ function getActiveElement(doc) { return doc.body; } } +function updateInputChecked(element, props) { + props = props.checked; + null != props && element.checked !== !!props && (element.checked = props); +} function updateInput(element, props) { var value = getToStringValue(props.value), type = props.type; @@ -1002,8 +1006,7 @@ function updateInput(element, props) { : null == props.checked && null != props.defaultChecked && (element.defaultChecked = !!props.defaultChecked); - props = props.checked; - null != props && (element.checked = props); + updateInputChecked(element, props); if (null != value) if ("number" === type) { if ((0 === value && "" === element.value) || element.value != value) @@ -1083,15 +1086,18 @@ function updateOptions(node, multiple, propValue, setDefaultSelected) { } } function updateTextarea(element, props) { - var value = getToStringValue(props.value), - defaultValue = getToStringValue(props.defaultValue); - element.defaultValue = null != defaultValue ? "" + defaultValue : ""; - null != value && + var value = getToStringValue(props.value); + if ( + null != value && ((value = "" + value), value !== element.value && (element.value = value), - null == props.defaultValue && - element.defaultValue !== value && - (element.defaultValue = value)); + null == props.defaultValue) + ) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + props = getToStringValue(props.defaultValue); + element.defaultValue = null != props ? "" + props : ""; } function initTextarea(element, props) { var initialValue = props.value; @@ -1839,8 +1845,7 @@ function updateProperties( case "input": "radio" === nextProps.type && null != nextProps.name && - ((lastProps = nextProps.checked), - null != lastProps && (domElement.checked = lastProps)); + updateInputChecked(domElement, nextProps); for (lastProps = 0; lastProps < updatePayload.length; lastProps += 2) { var propKey = updatePayload[lastProps], propValue = updatePayload[lastProps + 1]; @@ -13420,14 +13425,14 @@ var isInputEventSupported = !1; if (canUseDOM) { var JSCompiler_inline_result$jscomp$335; if (canUseDOM) { - var isSupported$jscomp$inline_1624 = "oninput" in document; - if (!isSupported$jscomp$inline_1624) { - var element$jscomp$inline_1625 = document.createElement("div"); - element$jscomp$inline_1625.setAttribute("oninput", "return;"); - isSupported$jscomp$inline_1624 = - "function" === typeof element$jscomp$inline_1625.oninput; + var isSupported$jscomp$inline_1614 = "oninput" in document; + if (!isSupported$jscomp$inline_1614) { + var element$jscomp$inline_1615 = document.createElement("div"); + element$jscomp$inline_1615.setAttribute("oninput", "return;"); + isSupported$jscomp$inline_1614 = + "function" === typeof element$jscomp$inline_1615.oninput; } - JSCompiler_inline_result$jscomp$335 = isSupported$jscomp$inline_1624; + JSCompiler_inline_result$jscomp$335 = isSupported$jscomp$inline_1614; } else JSCompiler_inline_result$jscomp$335 = !1; isInputEventSupported = JSCompiler_inline_result$jscomp$335 && @@ -13739,20 +13744,20 @@ function registerSimpleEvent(domEventName, reactName) { registerTwoPhaseEvent(reactName, [domEventName]); } for ( - var i$jscomp$inline_1665 = 0; - i$jscomp$inline_1665 < simpleEventPluginEvents.length; - i$jscomp$inline_1665++ + var i$jscomp$inline_1655 = 0; + i$jscomp$inline_1655 < simpleEventPluginEvents.length; + i$jscomp$inline_1655++ ) { - var eventName$jscomp$inline_1666 = - simpleEventPluginEvents[i$jscomp$inline_1665], - domEventName$jscomp$inline_1667 = - eventName$jscomp$inline_1666.toLowerCase(), - capitalizedEvent$jscomp$inline_1668 = - eventName$jscomp$inline_1666[0].toUpperCase() + - eventName$jscomp$inline_1666.slice(1); + var eventName$jscomp$inline_1656 = + simpleEventPluginEvents[i$jscomp$inline_1655], + domEventName$jscomp$inline_1657 = + eventName$jscomp$inline_1656.toLowerCase(), + capitalizedEvent$jscomp$inline_1658 = + eventName$jscomp$inline_1656[0].toUpperCase() + + eventName$jscomp$inline_1656.slice(1); registerSimpleEvent( - domEventName$jscomp$inline_1667, - "on" + capitalizedEvent$jscomp$inline_1668 + domEventName$jscomp$inline_1657, + "on" + capitalizedEvent$jscomp$inline_1658 ); } registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); @@ -14765,17 +14770,17 @@ Internals.Events = [ restoreStateIfNeeded, batchedUpdates$1 ]; -var devToolsConfig$jscomp$inline_1779 = { +var devToolsConfig$jscomp$inline_1769 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "18.3.0-www-classic-6b173260", + version: "18.3.0-www-classic-4f49fe42", rendererPackageName: "react-dom" }; -var internals$jscomp$inline_2221 = { - bundleType: devToolsConfig$jscomp$inline_1779.bundleType, - version: devToolsConfig$jscomp$inline_1779.version, - rendererPackageName: devToolsConfig$jscomp$inline_1779.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1779.rendererConfig, +var internals$jscomp$inline_2211 = { + bundleType: devToolsConfig$jscomp$inline_1769.bundleType, + version: devToolsConfig$jscomp$inline_1769.version, + rendererPackageName: devToolsConfig$jscomp$inline_1769.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1769.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -14791,26 +14796,26 @@ var internals$jscomp$inline_2221 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1779.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1769.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-www-classic-6b173260" + reconcilerVersion: "18.3.0-www-classic-4f49fe42" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { - var hook$jscomp$inline_2222 = __REACT_DEVTOOLS_GLOBAL_HOOK__; + var hook$jscomp$inline_2212 = __REACT_DEVTOOLS_GLOBAL_HOOK__; if ( - !hook$jscomp$inline_2222.isDisabled && - hook$jscomp$inline_2222.supportsFiber + !hook$jscomp$inline_2212.isDisabled && + hook$jscomp$inline_2212.supportsFiber ) try { - (rendererID = hook$jscomp$inline_2222.inject( - internals$jscomp$inline_2221 + (rendererID = hook$jscomp$inline_2212.inject( + internals$jscomp$inline_2211 )), - (injectedHook = hook$jscomp$inline_2222); + (injectedHook = hook$jscomp$inline_2212); } catch (err) {} } var tagToRoleMappings = { @@ -16800,4 +16805,4 @@ exports.unstable_renderSubtreeIntoContainer = function ( ); }; exports.unstable_runWithPriority = runWithPriority; -exports.version = "18.3.0-www-classic-6b173260"; +exports.version = "18.3.0-www-classic-4f49fe42"; diff --git a/compiled/facebook-www/ReactDOMTesting-prod.modern.js b/compiled/facebook-www/ReactDOMTesting-prod.modern.js index 251575319fefc..86d1726d9af41 100644 --- a/compiled/facebook-www/ReactDOMTesting-prod.modern.js +++ b/compiled/facebook-www/ReactDOMTesting-prod.modern.js @@ -963,6 +963,10 @@ function getActiveElement(doc) { return doc.body; } } +function updateInputChecked(element, props) { + props = props.checked; + null != props && element.checked !== !!props && (element.checked = props); +} function updateInput(element, props) { var value = getToStringValue(props.value), type = props.type; @@ -986,8 +990,7 @@ function updateInput(element, props) { : null == props.checked && null != props.defaultChecked && (element.defaultChecked = !!props.defaultChecked); - props = props.checked; - null != props && (element.checked = props); + updateInputChecked(element, props); if (null != value) if ("number" === type) { if ((0 === value && "" === element.value) || element.value != value) @@ -1067,15 +1070,18 @@ function updateOptions(node, multiple, propValue, setDefaultSelected) { } } function updateTextarea(element, props) { - var value = getToStringValue(props.value), - defaultValue = getToStringValue(props.defaultValue); - element.defaultValue = null != defaultValue ? "" + defaultValue : ""; - null != value && + var value = getToStringValue(props.value); + if ( + null != value && ((value = "" + value), value !== element.value && (element.value = value), - null == props.defaultValue && - element.defaultValue !== value && - (element.defaultValue = value)); + null == props.defaultValue) + ) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + props = getToStringValue(props.defaultValue); + element.defaultValue = null != props ? "" + props : ""; } function initTextarea(element, props) { var initialValue = props.value; @@ -13120,14 +13126,14 @@ var isInputEventSupported = !1; if (canUseDOM) { var JSCompiler_inline_result$jscomp$331; if (canUseDOM) { - var isSupported$jscomp$inline_1583 = "oninput" in document; - if (!isSupported$jscomp$inline_1583) { - var element$jscomp$inline_1584 = document.createElement("div"); - element$jscomp$inline_1584.setAttribute("oninput", "return;"); - isSupported$jscomp$inline_1583 = - "function" === typeof element$jscomp$inline_1584.oninput; + var isSupported$jscomp$inline_1578 = "oninput" in document; + if (!isSupported$jscomp$inline_1578) { + var element$jscomp$inline_1579 = document.createElement("div"); + element$jscomp$inline_1579.setAttribute("oninput", "return;"); + isSupported$jscomp$inline_1578 = + "function" === typeof element$jscomp$inline_1579.oninput; } - JSCompiler_inline_result$jscomp$331 = isSupported$jscomp$inline_1583; + JSCompiler_inline_result$jscomp$331 = isSupported$jscomp$inline_1578; } else JSCompiler_inline_result$jscomp$331 = !1; isInputEventSupported = JSCompiler_inline_result$jscomp$331 && @@ -13439,20 +13445,20 @@ function registerSimpleEvent(domEventName, reactName) { registerTwoPhaseEvent(reactName, [domEventName]); } for ( - var i$jscomp$inline_1624 = 0; - i$jscomp$inline_1624 < simpleEventPluginEvents.length; - i$jscomp$inline_1624++ + var i$jscomp$inline_1619 = 0; + i$jscomp$inline_1619 < simpleEventPluginEvents.length; + i$jscomp$inline_1619++ ) { - var eventName$jscomp$inline_1625 = - simpleEventPluginEvents[i$jscomp$inline_1624], - domEventName$jscomp$inline_1626 = - eventName$jscomp$inline_1625.toLowerCase(), - capitalizedEvent$jscomp$inline_1627 = - eventName$jscomp$inline_1625[0].toUpperCase() + - eventName$jscomp$inline_1625.slice(1); + var eventName$jscomp$inline_1620 = + simpleEventPluginEvents[i$jscomp$inline_1619], + domEventName$jscomp$inline_1621 = + eventName$jscomp$inline_1620.toLowerCase(), + capitalizedEvent$jscomp$inline_1622 = + eventName$jscomp$inline_1620[0].toUpperCase() + + eventName$jscomp$inline_1620.slice(1); registerSimpleEvent( - domEventName$jscomp$inline_1626, - "on" + capitalizedEvent$jscomp$inline_1627 + domEventName$jscomp$inline_1621, + "on" + capitalizedEvent$jscomp$inline_1622 ); } registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); @@ -14806,8 +14812,7 @@ function updateProperties( case "input": "radio" === nextProps.type && null != nextProps.name && - ((lastProps = nextProps.checked), - null != lastProps && (domElement.checked = lastProps)); + updateInputChecked(domElement, nextProps); for (lastProps = 0; lastProps < updatePayload.length; lastProps += 2) { var propKey = updatePayload[lastProps], propValue = updatePayload[lastProps + 1]; @@ -15958,17 +15963,17 @@ Internals.Events = [ restoreStateIfNeeded, batchedUpdates$1 ]; -var devToolsConfig$jscomp$inline_1809 = { +var devToolsConfig$jscomp$inline_1799 = { findFiberByHostInstance: getClosestInstanceFromNode, bundleType: 0, - version: "18.3.0-www-modern-a9e6dcdb", + version: "18.3.0-www-modern-bfaf8fe7", rendererPackageName: "react-dom" }; -var internals$jscomp$inline_2188 = { - bundleType: devToolsConfig$jscomp$inline_1809.bundleType, - version: devToolsConfig$jscomp$inline_1809.version, - rendererPackageName: devToolsConfig$jscomp$inline_1809.rendererPackageName, - rendererConfig: devToolsConfig$jscomp$inline_1809.rendererConfig, +var internals$jscomp$inline_2178 = { + bundleType: devToolsConfig$jscomp$inline_1799.bundleType, + version: devToolsConfig$jscomp$inline_1799.version, + rendererPackageName: devToolsConfig$jscomp$inline_1799.rendererPackageName, + rendererConfig: devToolsConfig$jscomp$inline_1799.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, @@ -15985,26 +15990,26 @@ var internals$jscomp$inline_2188 = { return null === fiber ? null : fiber.stateNode; }, findFiberByHostInstance: - devToolsConfig$jscomp$inline_1809.findFiberByHostInstance || + devToolsConfig$jscomp$inline_1799.findFiberByHostInstance || emptyFindFiberByHostInstance, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-www-modern-a9e6dcdb" + reconcilerVersion: "18.3.0-www-modern-bfaf8fe7" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { - var hook$jscomp$inline_2189 = __REACT_DEVTOOLS_GLOBAL_HOOK__; + var hook$jscomp$inline_2179 = __REACT_DEVTOOLS_GLOBAL_HOOK__; if ( - !hook$jscomp$inline_2189.isDisabled && - hook$jscomp$inline_2189.supportsFiber + !hook$jscomp$inline_2179.isDisabled && + hook$jscomp$inline_2179.supportsFiber ) try { - (rendererID = hook$jscomp$inline_2189.inject( - internals$jscomp$inline_2188 + (rendererID = hook$jscomp$inline_2179.inject( + internals$jscomp$inline_2178 )), - (injectedHook = hook$jscomp$inline_2189); + (injectedHook = hook$jscomp$inline_2179); } catch (err) {} } exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals; @@ -16312,4 +16317,4 @@ exports.unstable_createEventHandle = function (type, options) { return eventHandle; }; exports.unstable_runWithPriority = runWithPriority; -exports.version = "18.3.0-www-modern-a9e6dcdb"; +exports.version = "18.3.0-www-modern-bfaf8fe7"; diff --git a/compiled/facebook-www/ReactTestRenderer-dev.modern.js b/compiled/facebook-www/ReactTestRenderer-dev.modern.js index 73c7d17fe0fe2..405b792916fb3 100644 --- a/compiled/facebook-www/ReactTestRenderer-dev.modern.js +++ b/compiled/facebook-www/ReactTestRenderer-dev.modern.js @@ -24498,7 +24498,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-www-modern-a9e6dcdb"; +var ReactVersion = "18.3.0-www-modern-bfaf8fe7"; // Might add PROFILE later.