1import { t as __commonJSMin } from "./chunk-6z4oVpB-.js"; 2import { t as require_react } from "./react-CCT1erMQ.js"; 3var require_scheduler_development = /* @__PURE__ */ __commonJSMin(((exports) => { 4 (function() { 5 if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(/* @__PURE__ */ new Error()); 6 var enableSchedulerDebugging = false; 7 var enableProfiling = false; 8 var frameYieldMs = 5; 9 function push(heap, node) { 10 var index = heap.length; 11 heap.push(node); 12 siftUp(heap, node, index); 13 } 14 function peek(heap) { 15 return heap.length === 0 ? null : heap[0]; 16 } 17 function pop(heap) { 18 if (heap.length === 0) return null; 19 var first = heap[0]; 20 var last = heap.pop(); 21 if (last !== first) { 22 heap[0] = last; 23 siftDown(heap, last, 0); 24 } 25 return first; 26 } 27 function siftUp(heap, node, i) { 28 var index = i; 29 while (index > 0) { 30 var parentIndex = index - 1 >>> 1; 31 var parent = heap[parentIndex]; 32 if (compare(parent, node) > 0) { 33 heap[parentIndex] = node; 34 heap[index] = parent; 35 index = parentIndex; 36 } else return; 37 } 38 } 39 function siftDown(heap, node, i) { 40 var index = i; 41 var length = heap.length; 42 var halfLength = length >>> 1; 43 while (index < halfLength) { 44 var leftIndex = (index + 1) * 2 - 1; 45 var left = heap[leftIndex]; 46 var rightIndex = leftIndex + 1; 47 var right = heap[rightIndex]; 48 if (compare(left, node) < 0) if (rightIndex < length && compare(right, left) < 0) { 49 heap[index] = right; 50 heap[rightIndex] = node; 51 index = rightIndex; 52 } else { 53 heap[index] = left; 54 heap[leftIndex] = node; 55 index = leftIndex; 56 } 57 else if (rightIndex < length && compare(right, node) < 0) { 58 heap[index] = right; 59 heap[rightIndex] = node; 60 index = rightIndex; 61 } else return; 62 } 63 } 64 function compare(a, b) { 65 var diff = a.sortIndex - b.sortIndex; 66 return diff !== 0 ? diff : a.id - b.id; 67 } 68 var ImmediatePriority = 1; 69 var UserBlockingPriority = 2; 70 var NormalPriority = 3; 71 var LowPriority = 4; 72 var IdlePriority = 5; 73 function markTaskErrored(task, ms) {} 74 if (typeof performance === "object" && typeof performance.now === "function") { 75 var localPerformance = performance; 76 exports.unstable_now = function() { 77 return localPerformance.now(); 78 }; 79 } else { 80 var localDate = Date; 81 var initialTime = localDate.now(); 82 exports.unstable_now = function() { 83 return localDate.now() - initialTime; 84 }; 85 } 86 var maxSigned31BitInt = 1073741823; 87 var IMMEDIATE_PRIORITY_TIMEOUT = -1; 88 var USER_BLOCKING_PRIORITY_TIMEOUT = 250; 89 var NORMAL_PRIORITY_TIMEOUT = 5e3; 90 var LOW_PRIORITY_TIMEOUT = 1e4; 91 var IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; 92 var taskQueue = []; 93 var timerQueue = []; 94 var taskIdCounter = 1; 95 var currentTask = null; 96 var currentPriorityLevel = NormalPriority; 97 var isPerformingWork = false; 98 var isHostCallbackScheduled = false; 99 var isHostTimeoutScheduled = false; 100 var localSetTimeout = typeof setTimeout === "function" ? setTimeout : null; 101 var localClearTimeout = typeof clearTimeout === "function" ? clearTimeout : null; 102 var localSetImmediate = typeof setImmediate !== "undefined" ? setImmediate : null; 103 typeof navigator !== "undefined" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling); 104 function advanceTimers(currentTime) { 105 var timer = peek(timerQueue); 106 while (timer !== null) { 107 if (timer.callback === null) pop(timerQueue); 108 else if (timer.startTime <= currentTime) { 109 pop(timerQueue); 110 timer.sortIndex = timer.expirationTime; 111 push(taskQueue, timer); 112 } else return; 113 timer = peek(timerQueue); 114 } 115 } 116 function handleTimeout(currentTime) { 117 isHostTimeoutScheduled = false; 118 advanceTimers(currentTime); 119 if (!isHostCallbackScheduled) if (peek(taskQueue) !== null) { 120 isHostCallbackScheduled = true; 121 requestHostCallback(flushWork); 122 } else { 123 var firstTimer = peek(timerQueue); 124 if (firstTimer !== null) requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); 125 } 126 } 127 function flushWork(hasTimeRemaining, initialTime$1) { 128 isHostCallbackScheduled = false;
129 if (isHostTimeoutScheduled) { 130 isHostTimeoutScheduled = false; 131 cancelHostTimeout(); 132 } 133 isPerformingWork = true; 134 var previousPriorityLevel = currentPriorityLevel; 135 try { 136 if (enableProfiling) try { 137 return workLoop(hasTimeRemaining, initialTime$1); 138 } catch (error) { 139 if (currentTask !== null) { 140 var currentTime = exports.unstable_now(); 141 markTaskErrored(currentTask, currentTime); 142 currentTask.isQueued = false; 143 } 144 throw error; 145 } 146 else return workLoop(hasTimeRemaining, initialTime$1); 147 } finally { 148 currentTask = null; 149 currentPriorityLevel = previousPriorityLevel; 150 isPerformingWork = false; 151 } 152 } 153 function workLoop(hasTimeRemaining, initialTime$1) { 154 var currentTime = initialTime$1; 155 advanceTimers(currentTime); 156 currentTask = peek(taskQueue); 157 while (currentTask !== null && !enableSchedulerDebugging) { 158 if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) break; 159 var callback = currentTask.callback; 160 if (typeof callback === "function") { 161 currentTask.callback = null; 162 currentPriorityLevel = currentTask.priorityLevel; 163 var continuationCallback = callback(currentTask.expirationTime <= currentTime); 164 currentTime = exports.unstable_now(); 165 if (typeof continuationCallback === "function") currentTask.callback = continuationCallback; 166 else if (currentTask === peek(taskQueue)) pop(taskQueue); 167 advanceTimers(currentTime); 168 } else pop(taskQueue); 169 currentTask = peek(taskQueue); 170 } 171 if (currentTask !== null) return true; 172 else { 173 var firstTimer = peek(timerQueue); 174 if (firstTimer !== null) requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); 175 return false; 176 } 177 } 178 function unstable_runWithPriority(priorityLevel, eventHandler) { 179 switch (priorityLevel) { 180 case ImmediatePriority: 181 case UserBlockingPriority: 182 case NormalPriority: 183 case LowPriority: 184 case IdlePriority: break; 185 default: priorityLevel = NormalPriority; 186 } 187 var previousPriorityLevel = currentPriorityLevel; 188 currentPriorityLevel = priorityLevel; 189 try { 190 return eventHandler(); 191 } finally { 192 currentPriorityLevel = previousPriorityLevel; 193 } 194 } 195 function unstable_next(eventHandler) { 196 var priorityLevel; 197 switch (currentPriorityLevel) { 198 case ImmediatePriority: 199 case UserBlockingPriority: 200 case NormalPriority: 201 priorityLevel = NormalPriority; 202 break; 203 default: 204 priorityLevel = currentPriorityLevel; 205 break; 206 } 207 var previousPriorityLevel = currentPriorityLevel; 208 currentPriorityLevel = priorityLevel; 209 try { 210 return eventHandler(); 211 } finally { 212 currentPriorityLevel = previousPriorityLevel; 213 } 214 } 215 function unstable_wrapCallback(callback) { 216 var parentPriorityLevel = currentPriorityLevel; 217 return function() { 218 var previousPriorityLevel = currentPriorityLevel; 219 currentPriorityLevel = parentPriorityLevel; 220 try { 221 return callback.apply(this, arguments); 222 } finally { 223 currentPriorityLevel = previousPriorityLevel; 224 } 225 }; 226 } 227 function unstable_scheduleCallback(priorityLevel, callback, options) { 228 var currentTime = exports.unstable_now(); 229 var startTime$1; 230 if (typeof options === "object" && options !== null) { 231 var delay = options.delay; 232 if (typeof delay === "number" && delay > 0) startTime$1 = currentTime + delay; 233 else startTime$1 = currentTime; 234 } else startTime$1 = currentTime; 235 var timeout; 236 switch (priorityLevel) { 237 case ImmediatePriority: 238 timeout = IMMEDIATE_PRIORITY_TIMEOUT;
239 break; 240 case UserBlockingPriority: 241 timeout = USER_BLOCKING_PRIORITY_TIMEOUT; 242 break; 243 case IdlePriority: 244 timeout = IDLE_PRIORITY_TIMEOUT; 245 break; 246 case LowPriority: 247 timeout = LOW_PRIORITY_TIMEOUT; 248 break; 249 case NormalPriority: 250 default: 251 timeout = NORMAL_PRIORITY_TIMEOUT; 252 break; 253 } 254 var expirationTime = startTime$1 + timeout; 255 var newTask = { 256 id: taskIdCounter++, 257 callback, 258 priorityLevel, 259 startTime: startTime$1, 260 expirationTime, 261 sortIndex: -1 262 }; 263 if (startTime$1 > currentTime) { 264 newTask.sortIndex = startTime$1; 265 push(timerQueue, newTask); 266 if (peek(taskQueue) === null && newTask === peek(timerQueue)) { 267 if (isHostTimeoutScheduled) cancelHostTimeout(); 268 else isHostTimeoutScheduled = true; 269 requestHostTimeout(handleTimeout, startTime$1 - currentTime); 270 } 271 } else { 272 newTask.sortIndex = expirationTime; 273 push(taskQueue, newTask); 274 if (!isHostCallbackScheduled && !isPerformingWork) { 275 isHostCallbackScheduled = true; 276 requestHostCallback(flushWork); 277 } 278 } 279 return newTask; 280 } 281 function unstable_pauseExecution() {} 282 function unstable_continueExecution() { 283 if (!isHostCallbackScheduled && !isPerformingWork) { 284 isHostCallbackScheduled = true; 285 requestHostCallback(flushWork); 286 } 287 } 288 function unstable_getFirstCallbackNode() { 289 return peek(taskQueue); 290 } 291 function unstable_cancelCallback(task) { 292 task.callback = null; 293 } 294 function unstable_getCurrentPriorityLevel() { 295 return currentPriorityLevel; 296 } 297 var isMessageLoopRunning = false; 298 var scheduledHostCallback = null; 299 var taskTimeoutID = -1; 300 var frameInterval = frameYieldMs; 301 var startTime = -1; 302 function shouldYieldToHost() { 303 if (exports.unstable_now() - startTime < frameInterval) return false; 304 return true; 305 } 306 function requestPaint() {} 307 function forceFrameRate(fps) { 308 if (fps < 0 || fps > 125) { 309 console["error"]("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"); 310 return; 311 } 312 if (fps > 0) frameInterval = Math.floor(1e3 / fps); 313 else frameInterval = frameYieldMs; 314 } 315 var performWorkUntilDeadline = function() { 316 if (scheduledHostCallback !== null) { 317 var currentTime = exports.unstable_now(); 318 startTime = currentTime; 319 var hasTimeRemaining = true; 320 var hasMoreWork = true; 321 try { 322 hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime); 323 } finally { 324 if (hasMoreWork) schedulePerformWorkUntilDeadline(); 325 else { 326 isMessageLoopRunning = false; 327 scheduledHostCallback = null; 328 } 329 } 330 } else isMessageLoopRunning = false; 331 }; 332 var schedulePerformWorkUntilDeadline; 333 if (typeof localSetImmediate === "function") schedulePerformWorkUntilDeadline = function() { 334 localSetImmediate(performWorkUntilDeadline); 335 }; 336 else if (typeof MessageChannel !== "undefined") { 337 var channel = new MessageChannel(); 338 var port = channel.port2; 339 channel.port1.onmessage = performWorkUntilDeadline; 340 schedulePerformWorkUntilDeadline = function() { 341 port.postMessage(null); 342 }; 343 } else schedulePerformWorkUntilDeadline = function() { 344 localSetTimeout(performWorkUntilDeadline, 0); 345 }; 346 function requestHostCallback(callback) { 347 scheduledHostCallback = callback; 348 if (!isMessageLoopRunning) { 349 isMessageLoopRunning = true; 350 schedulePerformWorkUntilDeadline(); 351 } 352 } 353 function requestHostTimeout(callback, ms) { 354 taskTimeoutID = localSetTimeout(function() { 355 callback(exports.unstable_now()); 356 }, ms); 357 } 358 function cancelHostTimeout() { 359 localClearTimeout(taskTimeoutID); 360 taskTimeoutID = -1; 361 } 362 var unstable_requestPaint = requestPaint; 363 var unstable_Profiling = null; 364 exports.unstable_IdlePriority = IdlePriority; 365 exports.unstable_ImmediatePriority = ImmediatePriority; 366 exports.unstable_LowPriority = LowPriority; 367 exports.unstable_NormalPriority = NormalPriority; 368 exports.unstable_Profiling = unstable_Profiling; 369 exports.unstable_UserBlockingPriority = UserBlockingPriority; 370 exports.unstable_cancelCallback = unstable_cancelCallback; 371 exports.unstable_continueExecution = unstable_continueExecution; 372 exports.unstable_forceFrameRate = forceFrameRate; 373 exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel; 374 exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode; 375 exports.unstable_next = unstable_next; 376 exports.unstable_pauseExecution = unstable_pauseExecution; 377 exports.unstable_requestPaint = unstable_requestPaint; 378 exports.unstable_runWithPriority = unstable_runWithPriority; 379 exports.unstable_scheduleCallback = unstable_scheduleCallback; 380 exports.unstable_shouldYield = shouldYieldToHost; 381 exports.unstable_wrapCallback = unstable_wrapCallback; 382 if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(/* @__PURE__ */ new Error()); 383 })(); 384})); 385var require_scheduler = /* @__PURE__ */ __commonJSMin(((exports, module) => { 386 module.exports = require_scheduler_development(); 387})); 388var require_react_dom_development = /* @__PURE__ */ __commonJSMin(((exports) => { 389 (function() { 390 if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(/* @__PURE__ */ new Error()); 391 var React = require_react(); 392 var Scheduler = require_scheduler();
393 var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; 394 var suppressWarning = false; 395 function setSuppressWarning(newSuppressWarning) { 396 suppressWarning = newSuppressWarning; 397 } 398 function warn(format) { 399 if (!suppressWarning) { 400 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) args[_key - 1] = arguments[_key]; 401 printWarning("warn", format, args); 402 } 403 } 404 function error(format) { 405 if (!suppressWarning) { 406 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) args[_key2 - 1] = arguments[_key2]; 407 printWarning("error", format, args); 408 } 409 } 410 function printWarning(level, format, args) { 411 var stack = ReactSharedInternals.ReactDebugCurrentFrame.getStackAddendum(); 412 if (stack !== "") { 413 format += "%s"; 414 args = args.concat([stack]); 415 } 416 var argsWithFormat = args.map(function(item) { 417 return String(item); 418 }); 419 argsWithFormat.unshift("Warning: " + format); 420 Function.prototype.apply.call(console[level], console, argsWithFormat); 421 } 422 var FunctionComponent = 0; 423 var ClassComponent = 1; 424 var IndeterminateComponent = 2; 425 var HostRoot = 3; 426 var HostPortal = 4; 427 var HostComponent = 5; 428 var HostText = 6; 429 var Fragment = 7; 430 var Mode = 8; 431 var ContextConsumer = 9; 432 var ContextProvider = 10; 433 var ForwardRef = 11; 434 var Profiler = 12; 435 var SuspenseComponent = 13; 436 var MemoComponent = 14; 437 var SimpleMemoComponent = 15; 438 var LazyComponent = 16; 439 var IncompleteClassComponent = 17; 440 var DehydratedFragment = 18; 441 var SuspenseListComponent = 19; 442 var ScopeComponent = 21; 443 var OffscreenComponent = 22; 444 var LegacyHiddenComponent = 23; 445 var CacheComponent = 24; 446 var TracingMarkerComponent = 25; 447 var enableClientRenderFallbackOnTextMismatch = true; 448 var enableNewReconciler = false; 449 var enableLazyContextPropagation = false; 450 var enableLegacyHidden = false; 451 var enableSuspenseAvoidThisFallback = false; 452 var disableCommentsAsDOMContainers = true; 453 var enableCustomElementPropertySupport = false; 454 var warnAboutStringRefs = true; 455 var enableSchedulingProfiler = true; 456 var enableProfilerTimer = true; 457 var enableProfilerCommitHooks = true; 458 var allNativeEvents = /* @__PURE__ */ new Set(); 459 var registrationNameDependencies = {}; 460 var possibleRegistrationNames = {}; 461 function registerTwoPhaseEvent(registrationName, dependencies) { 462 registerDirectEvent(registrationName, dependencies); 463 registerDirectEvent(registrationName + "Capture", dependencies); 464 } 465 function registerDirectEvent(registrationName, dependencies) { 466 if (registrationNameDependencies[registrationName]) error("EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.", registrationName); 467 registrationNameDependencies[registrationName] = dependencies; 468 var lowerCasedName = registrationName.toLowerCase(); 469 possibleRegistrationNames[lowerCasedName] = registrationName; 470 if (registrationName === "onDoubleClick") possibleRegistrationNames.ondblclick = registrationName; 471 for (var i = 0; i < dependencies.length; i++) allNativeEvents.add(dependencies[i]); 472 } 473 var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); 474 var hasOwnProperty = Object.prototype.hasOwnProperty; 475 function typeName(value) { 476 return typeof Symbol === "function" && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; 477 } 478 function willCoercionThrow(value) { 479 try { 480 testStringCoercion(value); 481 return false; 482 } catch (e) { 483 return true; 484 } 485 } 486 function testStringCoercion(value) { 487 return "" + value; 488 } 489 function checkAttributeStringCoercion(value, attributeName) { 490 if (willCoercionThrow(value)) { 491 error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before before using it here.", attributeName, typeName(value)); 492 return testStringCoercion(value); 493 } 494 } 495 function checkKeyStringCoercion(value) { 496 if (willCoercionThrow(value)) { 497 error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value)); 498 return testStringCoercion(value); 499 } 500 } 501 function checkPropStringCoercion(value, propName) { 502 if (willCoercionThrow(value)) { 503 error("The provided `%s` prop is an unsupported type %s. This value must be coerced to a string before before using it here.", propName, typeName(value)); 504 return testStringCoercion(value); 505 } 506 } 507 function checkCSSPropertyStringCoercion(value, propName) { 508 if (willCoercionThrow(value)) { 509 error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before before using it here.", propName, typeName(value)); 510 return testStringCoercion(value); 511 } 512 } 513 function checkHtmlStringCoercion(value) { 514 if (willCoercionThrow(value)) { 515 error("The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value)); 516 return testStringCoercion(value); 517 } 518 } 519 function checkFormFieldValueStringCoercion(value) { 520 if (willCoercionThrow(value)) { 521 error("Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before before using it here.", typeName(value)); 522 return testStringCoercion(value); 523 } 524 } 525 var RESERVED = 0; 526 var STRING = 1; 527 var BOOLEANISH_STRING = 2; 528 var BOOLEAN = 3; 529 var OVERLOADED_BOOLEAN = 4; 530 var NUMERIC = 5; 531 var POSITIVE_NUMERIC = 6; 532 var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u
532037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD"; 533 var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; 534 var VALID_ATTRIBUTE_NAME_REGEX = /* @__PURE__ */ new RegExp("^[" + ATTRIBUTE_NAME_START_CHAR + "][" + ATTRIBUTE_NAME_CHAR + "]*$"); 535 var illegalAttributeNameCache = {}; 536 var validatedAttributeNameCache = {}; 537 function isAttributeNameSafe(attributeName) { 538 if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) return true; 539 if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return false; 540 if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) { 541 validatedAttributeNameCache[attributeName] = true; 542 return true; 543 } 544 illegalAttributeNameCache[attributeName] = true; 545 error("Invalid attribute name: `%s`", attributeName); 546 return false; 547 } 548 function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) { 549 if (propertyInfo !== null) return propertyInfo.type === RESERVED; 550 if (isCustomComponentTag) return false; 551 if (name.length > 2 && (name[0] === "o" || name[0] === "O") && (name[1] === "n" || name[1] === "N")) return true; 552 return false; 553 } 554 function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) { 555 if (propertyInfo !== null && propertyInfo.type === RESERVED) return false; 556 switch (typeof value) { 557 case "function": 558 case "symbol": return true; 559 case "boolean": 560 if (isCustomComponentTag) return false; 561 if (propertyInfo !== null) return !propertyInfo.acceptsBooleans; 562 else { 563 var prefix$1 = name.toLowerCase().slice(0, 5); 564 return prefix$1 !== "data-" && prefix$1 !== "aria-"; 565 } 566 default: return false; 567 } 568 } 569 function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) { 570 if (value === null || typeof value === "undefined") return true; 571 if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) return true; 572 if (isCustomComponentTag) return false; 573 if (propertyInfo !== null) switch (propertyInfo.type) { 574 case BOOLEAN: return !value; 575 case OVERLOADED_BOOLEAN: return value === false; 576 case NUMERIC: return isNaN(value); 577 case POSITIVE_NUMERIC: return isNaN(value) || value < 1; 578 } 579 return false; 580 } 581 function getPropertyInfo(name) { 582 return properties.hasOwnProperty(name) ? properties[name] : null; 583 } 584 function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL$1, removeEmptyString) { 585 this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN; 586 this.attributeName = attributeName; 587 this.attributeNamespace = attributeNamespace; 588 this.mustUseProperty = mustUseProperty; 589 this.propertyName = name; 590 this.type = type; 591 this.sanitizeURL = sanitizeURL$1; 592 this.removeEmptyString = removeEmptyString; 593 } 594 var properties = {}; 595 [ 596 "children", 597 "dangerouslySetInnerHTML", 598 "defaultValue", 599 "defaultChecked", 600 "innerHTML", 601 "suppressContentEditableWarning", 602 "suppressHydrationWarning", 603 "style" 604 ].forEach(function(name) { 605 properties[name] = new PropertyInfoRecord(name, RESERVED, false, name, null, false, false); 606 }); 607 [ 608 ["acceptCharset", "accept-charset"], 609 ["className", "class"], 610 ["htmlFor", "for"], 611 ["httpEquiv", "http-equiv"] 612 ].forEach(function(_ref) { 613 var name = _ref[0], attributeName = _ref[1]; 614 properties[name] = new PropertyInfoRecord(name, STRING, false, attributeName, null, false, false); 615 }); 616 [ 617 "contentEditable", 618 "draggable", 619 "spellCheck", 620 "value" 621 ].forEach(function(name) { 622 properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, name.toLowerCase(), null, false, false); 623 }); 624 [ 625 "autoReverse", 626 "externalResourcesRequired", 627 "focusable", 628 "preserveAlpha" 629 ].forEach(function(name) { 630 properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, name, null, false, false); 631 }); 632 [ 633 "allowFullScreen", 634 "async", 635 "autoFocus", 636 "autoPlay", 637 "controls", 638 "default", 639 "defer", 640 "disabled", 641 "disablePictureInPicture", 642 "disableRemotePlayback", 643 "formNoValidate", 644 "hidden", 645 "loop", 646 "noModule", 647 "noValidate", 648 "open",
vendor: 4,192 bytes, lines 649-796
649 "playsInline", 650 "readOnly", 651 "required", 652 "reversed", 653 "scoped", 654 "seamless", 655 "itemScope" 656 ].forEach(function(name) { 657 properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, name.toLowerCase(), null, false, false); 658 }); 659 [ 660 "checked", 661 "multiple", 662 "muted", 663 "selected" 664 ].forEach(function(name) { 665 properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, name, null, false, false); 666 }); 667 ["capture", "download"].forEach(function(name) { 668 properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, name, null, false, false); 669 }); 670 [ 671 "cols", 672 "rows", 673 "size", 674 "span" 675 ].forEach(function(name) { 676 properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, name, null, false, false); 677 }); 678 ["rowSpan", "start"].forEach(function(name) { 679 properties[name] = new PropertyInfoRecord(name, NUMERIC, false, name.toLowerCase(), null, false, false); 680 }); 681 var CAMELIZE = /[\-\:]([a-z])/g; 682 var capitalize = function(token) { 683 return token[1].toUpperCase(); 684 }; 685 [ 686 "accent-height", 687 "alignment-baseline", 688 "arabic-form", 689 "baseline-shift", 690 "cap-height", 691 "clip-path", 692 "clip-rule", 693 "color-interpolation", 694 "color-interpolation-filters", 695 "color-profile", 696 "color-rendering", 697 "dominant-baseline", 698 "enable-background", 699 "fill-opacity", 700 "fill-rule", 701 "flood-color", 702 "flood-opacity", 703 "font-family", 704 "font-size", 705 "font-size-adjust", 706 "font-stretch", 707 "font-style", 708 "font-variant", 709 "font-weight", 710 "glyph-name", 711 "glyph-orientation-horizontal", 712 "glyph-orientation-vertical", 713 "horiz-adv-x", 714 "horiz-origin-x", 715 "image-rendering", 716 "letter-spacing", 717 "lighting-color", 718 "marker-end", 719 "marker-mid", 720 "marker-start", 721 "overline-position", 722 "overline-thickness", 723 "paint-order", 724 "panose-1", 725 "pointer-events", 726 "rendering-intent", 727 "shape-rendering", 728 "stop-color", 729 "stop-opacity", 730 "strikethrough-position", 731 "strikethrough-thickness", 732 "stroke-dasharray", 733 "stroke-dashoffset", 734 "stroke-linecap", 735 "stroke-linejoin", 736 "stroke-miterlimit", 737 "stroke-opacity", 738 "stroke-width", 739 "text-anchor", 740 "text-decoration", 741 "text-rendering", 742 "underline-position", 743 "underline-thickness", 744 "unicode-bidi", 745 "unicode-range", 746 "units-per-em", 747 "v-alphabetic", 748 "v-hanging", 749 "v-ideographic", 750 "v-mathematical", 751 "vector-effect", 752 "vert-adv-y", 753 "vert-origin-x", 754 "vert-origin-y", 755 "word-spacing", 756 "writing-mode", 757 "xmlns:xlink", 758 "x-height" 759 ].forEach(function(attributeName) { 760 var name = attributeName.replace(CAMELIZE, capitalize); 761 properties[name] = new PropertyInfoRecord(name, STRING, false, attributeName, null, false, false); 762 }); 763 [ 764 "xlink:actuate", 765 "xlink:arcrole", 766 "xlink:role", 767 "xlink:show", 768 "xlink:title", 769 "xlink:type" 770 ].forEach(function(attributeName) { 771 var name = attributeName.replace(CAMELIZE, capitalize); 772 properties[name] = new PropertyInfoRecord(name, STRING, false, attributeName, "http://www.w3.org/1999/xlink", false, false); 773 }); 774 [ 775 "xml:base", 776 "xml:lang", 777 "xml:space" 778 ].forEach(function(attributeName) { 779 var name = attributeName.replace(CAMELIZE, capitalize); 780 properties[name] = new PropertyInfoRecord(name, STRING, false, attributeName, "http://www.w3.org/XML/1998/namespace", false, false); 781 }); 782 ["tabIndex", "crossOrigin"].forEach(function(attributeName) { 783 properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, attributeName.toLowerCase(), null, false, false); 784 }); 785 var xlinkHref = "xlinkHref"; 786 properties[xlinkHref] = new PropertyInfoRecord("xlinkHref", STRING, false, "xlink:href", "http://www.w3.org/1999/xlink", true, false); 787 [ 788 "src", 789 "href", 790 "action", 791 "formAction" 792 ].forEach(function(attributeName) { 793 properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, attributeName.toLowerCase(), null, true, true); 794 }); 795 var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i; 796 var didWarn = false;
797 function sanitizeURL(url) { 798 if (!didWarn && isJavaScriptProtocol.test(url)) { 799 didWarn = true; 800 error("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.", JSON.stringify(url)); 801 } 802 } 803 function getValueForProperty(node, name, expected, propertyInfo) { 804 if (propertyInfo.mustUseProperty) return node[propertyInfo.propertyName]; 805 else { 806 checkAttributeStringCoercion(expected, name); 807 if (propertyInfo.sanitizeURL) sanitizeURL("" + expected); 808 var attributeName = propertyInfo.attributeName; 809 var stringValue = null; 810 if (propertyInfo.type === OVERLOADED_BOOLEAN) { 811 if (node.hasAttribute(attributeName)) { 812 var value = node.getAttribute(attributeName); 813 if (value === "") return true; 814 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) return value; 815 if (value === "" + expected) return expected; 816 return value; 817 } 818 } else if (node.hasAttribute(attributeName)) { 819 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) return node.getAttribute(attributeName); 820 if (propertyInfo.type === BOOLEAN) return expected; 821 stringValue = node.getAttribute(attributeName); 822 } 823 if (shouldRemoveAttribute(name, expected, propertyInfo, false)) return stringValue === null ? expected : stringValue; 824 else if (stringValue === "" + expected) return expected; 825 else return stringValue; 826 } 827 } 828 function getValueForAttribute(node, name, expected, isCustomComponentTag) { 829 if (!isAttributeNameSafe(name)) return; 830 if (!node.hasAttribute(name)) return expected === void 0 ? void 0 : null; 831 var value = node.getAttribute(name); 832 checkAttributeStringCoercion(expected, name); 833 if (value === "" + expected) return expected; 834 return value; 835 } 836 function setValueForProperty(node, name, value, isCustomComponentTag) { 837 var propertyInfo = getPropertyInfo(name); 838 if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) return; 839 if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) value = null; 840 if (isCustomComponentTag || propertyInfo === null) { 841 if (isAttributeNameSafe(name)) { 842 var _attributeName = name; 843 if (value === null) node.removeAttribute(_attributeName); 844 else { 845 checkAttributeStringCoercion(value, name); 846 node.setAttribute(_attributeName, "" + value); 847 } 848 } 849 return; 850 } 851 if (propertyInfo.mustUseProperty) { 852 var propertyName = propertyInfo.propertyName; 853 if (value === null) node[propertyName] = propertyInfo.type === BOOLEAN ? false : ""; 854 else node[propertyName] = value; 855 return; 856 } 857 var attributeName = propertyInfo.attributeName, attributeNamespace = propertyInfo.attributeNamespace; 858 if (value === null) node.removeAttribute(attributeName); 859 else { 860 var _type = propertyInfo.type; 861 var attributeValue; 862 if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) attributeValue = ""; 863 else { 864 checkAttributeStringCoercion(value, attributeName); 865 attributeValue = "" + value; 866 if (propertyInfo.sanitizeURL) sanitizeURL(attributeValue.toString()); 867 } 868 if (attributeNamespace) node.setAttributeNS(attributeNamespace, attributeName, attributeValue); 869 else node.setAttribute(attributeName, attributeValue); 870 } 871 } 872 var REACT_ELEMENT_TYPE = Symbol.for("react.element"); 873 var REACT_PORTAL_TYPE = Symbol.for("react.portal"); 874 var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); 875 var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); 876 var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); 877 var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); 878 var REACT_CONTEXT_TYPE = Symbol.for("react.context"); 879 var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); 880 var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); 881 var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); 882 var REACT_MEMO_TYPE = Symbol.for("react.memo"); 883 var REACT_LAZY_TYPE = Symbol.for("react.lazy"); 884 var REACT_SCOPE_TYPE = Symbol.for("react.scope"); 885 var REACT_DEBUG_TRACING_MODE_TYPE = Symbol.for("react.debug_trace_mode"); 886 var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); 887 var REACT_LEGACY_HIDDEN_TYPE = Symbol.for("react.legacy_hidden"); 888 var REACT_CACHE_TYPE = Symbol.for("react.cache"); 889 var REACT_TRACING_MARKER_TYPE = Symbol.for("react.tracing_marker"); 890 var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; 891 var FAUX_ITERATOR_SYMBOL = "@@iterator"; 892 function getIteratorFn(maybeIterable) { 893 if (maybeIterable === null || typeof maybeIterable !== "object") return null; 894 var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; 895 if (typeof maybeIterator === "function") return maybeIterator; 896 return null; 897 } 898 var assign = Object.assign; 899 var disabledDepth = 0; 900 var prevLog; 901 var prevInfo; 902 var prevWarn; 903 var prevError; 904 var prevGroup; 905 var prevGroupCollapsed; 906 var prevGroupEnd; 907 function disabledLog() {} 908 disabledLog.__reactDisabledLog = true; 909 function disableLogs() { 910 if (disabledDepth === 0) { 911 prevLog = console.log; 912 prevInfo = console.info; 913 prevWarn = console.warn; 914 prevError = console.error; 915 prevGroup = console.group; 916 prevGroupCollapsed = console.groupCollapsed; 917 prevGroupEnd = console.groupEnd; 918 var props = { 919 configurable: true, 920 enumerable: true, 921 value: disabledLog, 922 writable: true 923 }; 924 Object.defineProperties(console, { 925 info: props, 926 log: props, 927 warn: props, 928 error: props, 929 group: props, 930 groupCollapsed: props, 931 groupEnd: props 932 }); 933 } 934 disabledDepth++; 935 } 936 function reenableLogs() { 937 disabledDepth--; 938 if (disabledDepth === 0) { 939 var props = { 940 configurable: true, 941 enumerable: true, 942 writable: true 943 }; 944 Object.defineProperties(console, { 945 log: assign({}, props, { value: prevLog }), 946 info: assign({}, props, { value: prevInfo }), 947 warn: assign({}, props, { value: prevWarn }), 948 error: assign({}, props, { value: prevError }), 949 group: assign({}, props, { value: prevGroup }), 950 groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), 951 groupEnd: assign({}, props, { value: prevGroupEnd }) 952 }); 953 } 954 if (disabledDepth < 0) error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); 955 } 956 var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; 957 var prefix; 958 function describeBuiltInComponentFrame(name, source, ownerFn) { 959 if (prefix === void 0) try { 960 throw Error(); 961 } catch (x) { 962 var match = x.stack.trim().match(/\n( *(at )?)/); 963 prefix = match && match[1] || ""; 964 } 965 return "\n" + prefix + name; 966 } 967 var reentry = false;
968 var componentFrameCache = new (typeof WeakMap === "function" ? WeakMap : Map)(); 969 function describeNativeComponentFrame(fn, construct) { 970 if (!fn || reentry) return ""; 971 var frame = componentFrameCache.get(fn); 972 if (frame !== void 0) return frame; 973 var control; 974 reentry = true; 975 var previousPrepareStackTrace = Error.prepareStackTrace; 976 Error.prepareStackTrace = void 0; 977 var previousDispatcher = ReactCurrentDispatcher.current; 978 ReactCurrentDispatcher.current = null; 979 disableLogs(); 980 try { 981 if (construct) { 982 var Fake = function() { 983 throw Error(); 984 }; 985 Object.defineProperty(Fake.prototype, "props", { set: function() { 986 throw Error(); 987 } }); 988 if (typeof Reflect === "object" && Reflect.construct) { 989 try { 990 Reflect.construct(Fake, []); 991 } catch (x) { 992 control = x; 993 } 994 Reflect.construct(fn, [], Fake); 995 } else { 996 try { 997 Fake.call(); 998 } catch (x) { 999 control = x; 1000 } 1001 fn.call(Fake.prototype); 1002 } 1003 } else { 1004 try { 1005 throw Error(); 1006 } catch (x) { 1007 control = x; 1008 } 1009 fn(); 1010 } 1011 } catch (sample) { 1012 if (sample && control && typeof sample.stack === "string") { 1013 var sampleLines = sample.stack.split("\n"); 1014 var controlLines = control.stack.split("\n"); 1015 var s = sampleLines.length - 1; 1016 var c = controlLines.length - 1; 1017 while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) c--; 1018 for (; s >= 1 && c >= 0; s--, c--) if (sampleLines[s] !== controlLines[c]) { 1019 if (s !== 1 || c !== 1) do { 1020 s--; 1021 c--; 1022 if (c < 0 || sampleLines[s] !== controlLines[c]) { 1023 var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); 1024 if (fn.displayName && _frame.includes("<anonymous>")) _frame = _frame.replace("<anonymous>", fn.displayName); 1025 if (typeof fn === "function") componentFrameCache.set(fn, _frame); 1026 return _frame; 1027 } 1028 } while (s >= 1 && c >= 0); 1029 break; 1030 } 1031 } 1032 } finally { 1033 reentry = false; 1034 ReactCurrentDispatcher.current = previousDispatcher; 1035 reenableLogs(); 1036 Error.prepareStackTrace = previousPrepareStackTrace; 1037 } 1038 var name = fn ? fn.displayName || fn.name : ""; 1039 var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; 1040 if (typeof fn === "function") componentFrameCache.set(fn, syntheticFrame); 1041 return syntheticFrame; 1042 } 1043 function describeClassComponentFrame(ctor, source, ownerFn) { 1044 return describeNativeComponentFrame(ctor, true); 1045 } 1046 function describeFunctionComponentFrame(fn, source, ownerFn) { 1047 return describeNativeComponentFrame(fn, false); 1048 } 1049 function shouldConstruct(Component) { 1050 var prototype = Component.prototype; 1051 return !!(prototype && prototype.isReactComponent); 1052 } 1053 function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { 1054 if (type == null) return ""; 1055 if (typeof type === "function") return describeNativeComponentFrame(type, shouldConstruct(type)); 1056 if (typeof type === "string") return describeBuiltInComponentFrame(type); 1057 switch (type) { 1058 case REACT_SUSPENSE_TYPE: return describeBuiltInComponentFrame("Suspense"); 1059 case REACT_SUSPENSE_LIST_TYPE: return describeBuiltInComponentFrame("SuspenseList"); 1060 } 1061 if (typeof type === "object") switch (type.$$typeof) { 1062 case REACT_FORWARD_REF_TYPE: return describeFunctionComponentFrame(type.render); 1063 case REACT_MEMO_TYPE: return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); 1064 case REACT_LAZY_TYPE: 1065 var lazyComponent = type; 1066 var payload = lazyComponent._payload; 1067 var init = lazyComponent._init; 1068 try { 1069 return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); 1070 } catch (x) {} 1071 } 1072 return ""; 1073 } 1074 function describeFiber(fiber) { 1075 fiber._debugOwner && fiber._debugOwner.type; 1076 fiber._debugSource; 1077 switch (fiber.tag) { 1078 case HostComponent: return describeBuiltInComponentFrame(fiber.type); 1079 case LazyComponent: return describeBuiltInComponentFrame("Lazy"); 1080 case SuspenseComponent: return describeBuiltInComponentFrame("Suspense"); 1081 case SuspenseListComponent: return describeBuiltInComponentFrame("SuspenseList"); 1082 case FunctionComponent:
1083 case IndeterminateComponent: 1084 case SimpleMemoComponent: return describeFunctionComponentFrame(fiber.type); 1085 case ForwardRef: return describeFunctionComponentFrame(fiber.type.render); 1086 case ClassComponent: return describeClassComponentFrame(fiber.type); 1087 default: return ""; 1088 } 1089 } 1090 function getStackByFiberInDevAndProd(workInProgress$1) { 1091 try { 1092 var info = ""; 1093 var node = workInProgress$1; 1094 do { 1095 info += describeFiber(node); 1096 node = node.return; 1097 } while (node); 1098 return info; 1099 } catch (x) { 1100 return "\nError generating stack: " + x.message + "\n" + x.stack; 1101 } 1102 } 1103 function getWrappedName(outerType, innerType, wrapperName) { 1104 var displayName = outerType.displayName; 1105 if (displayName) return displayName; 1106 var functionName = innerType.displayName || innerType.name || ""; 1107 return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName; 1108 } 1109 function getContextName(type) { 1110 return type.displayName || "Context"; 1111 } 1112 function getComponentNameFromType(type) { 1113 if (type == null) return null; 1114 if (typeof type.tag === "number") error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."); 1115 if (typeof type === "function") return type.displayName || type.name || null; 1116 if (typeof type === "string") return type; 1117 switch (type) { 1118 case REACT_FRAGMENT_TYPE: return "Fragment"; 1119 case REACT_PORTAL_TYPE: return "Portal"; 1120 case REACT_PROFILER_TYPE: return "Profiler"; 1121 case REACT_STRICT_MODE_TYPE: return "StrictMode"; 1122 case REACT_SUSPENSE_TYPE: return "Suspense"; 1123 case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList"; 1124 } 1125 if (typeof type === "object") switch (type.$$typeof) { 1126 case REACT_CONTEXT_TYPE: return getContextName(type) + ".Consumer"; 1127 case REACT_PROVIDER_TYPE: return getContextName(type._context) + ".Provider"; 1128 case REACT_FORWARD_REF_TYPE: return getWrappedName(type, type.render, "ForwardRef"); 1129 case REACT_MEMO_TYPE: 1130 var outerName = type.displayName || null; 1131 if (outerName !== null) return outerName; 1132 return getComponentNameFromType(type.type) || "Memo"; 1133 case REACT_LAZY_TYPE: 1134 var lazyComponent = type; 1135 var payload = lazyComponent._payload; 1136 var init = lazyComponent._init; 1137 try { 1138 return getComponentNameFromType(init(payload)); 1139 } catch (x) { 1140 return null; 1141 } 1142 } 1143 return null; 1144 } 1145 function getWrappedName$1(outerType, innerType, wrapperName) { 1146 var functionName = innerType.displayName || innerType.name || ""; 1147 return outerType.displayName || (functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName); 1148 } 1149 function getContextName$1(type) { 1150 return type.displayName || "Context"; 1151 } 1152 function getComponentNameFromFiber(fiber) { 1153 var tag = fiber.tag, type = fiber.type; 1154 switch (tag) { 1155 case CacheComponent: return "Cache"; 1156 case ContextConsumer: return getContextName$1(type) + ".Consumer"; 1157 case ContextProvider: return getContextName$1(type._context) + ".Provider"; 1158 case DehydratedFragment: return "DehydratedFragment"; 1159 case ForwardRef: return getWrappedName$1(type, type.render, "ForwardRef"); 1160 case Fragment: return "Fragment"; 1161 case HostComponent: return type; 1162 case HostPortal: return "Portal"; 1163 case HostRoot: return "Root"; 1164 case HostText: return "Text"; 1165 case LazyComponent: return getComponentNameFromType(type); 1166 case Mode: 1167 if (type === REACT_STRICT_MODE_TYPE) return "StrictMode"; 1168 return "Mode"; 1169 case OffscreenComponent: return "Offscreen"; 1170 case Profiler: return "Profiler"; 1171 case ScopeComponent: return "Scope"; 1172 case SuspenseComponent: return "Suspense"; 1173 case SuspenseListComponent: return "SuspenseList"; 1174 case TracingMarkerComponent: return "TracingMarker"; 1175 case ClassComponent: 1176 case FunctionComponent: 1177 case IncompleteClassComponent: 1178 case IndeterminateComponent: 1179 case MemoComponent: 1180 case SimpleMemoComponent: 1181 if (typeof type === "function") return type.displayName || type.name || null; 1182 if (typeof type === "string") return type; 1183 break; 1184 } 1185 return null; 1186 } 1187 var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; 1188 var current = null; 1189 var isRendering = false;
1190 function getCurrentFiberOwnerNameInDevOrNull() { 1191 if (current === null) return null; 1192 var owner = current._debugOwner; 1193 if (owner !== null && typeof owner !== "undefined") return getComponentNameFromFiber(owner); 1194 return null; 1195 } 1196 function getCurrentFiberStackInDev() { 1197 if (current === null) return ""; 1198 return getStackByFiberInDevAndProd(current); 1199 } 1200 function resetCurrentFiber() { 1201 ReactDebugCurrentFrame.getCurrentStack = null; 1202 current = null; 1203 isRendering = false; 1204 } 1205 function setCurrentFiber(fiber) { 1206 ReactDebugCurrentFrame.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev; 1207 current = fiber; 1208 isRendering = false; 1209 } 1210 function getCurrentFiber() { 1211 return current; 1212 } 1213 function setIsRendering(rendering) { 1214 isRendering = rendering; 1215 } 1216 function toString(value) { 1217 return "" + value; 1218 } 1219 function getToStringValue(value) { 1220 switch (typeof value) { 1221 case "boolean": 1222 case "number": 1223 case "string": 1224 case "undefined": return value; 1225 case "object": 1226 checkFormFieldValueStringCoercion(value); 1227 return value; 1228 default: return ""; 1229 } 1230 } 1231 var hasReadOnlyValue = { 1232 button: true, 1233 checkbox: true, 1234 image: true, 1235 hidden: true, 1236 radio: true, 1237 reset: true, 1238 submit: true 1239 }; 1240 function checkControlledValueProps(tagName, props) { 1241 if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."); 1242 if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`."); 1243 } 1244 function isCheckable(elem) { 1245 var type = elem.type; 1246 var nodeName = elem.nodeName; 1247 return nodeName && nodeName.toLowerCase() === "input" && (type === "checkbox" || type === "radio"); 1248 } 1249 function getTracker(node) { 1250 return node._valueTracker; 1251 } 1252 function detachTracker(node) { 1253 node._valueTracker = null; 1254 } 1255 function getValueFromNode(node) { 1256 var value = ""; 1257 if (!node) return value; 1258 if (isCheckable(node)) value = node.checked ? "true" : "false"; 1259 else value = node.value; 1260 return value; 1261 } 1262 function trackValueOnNode(node) { 1263 var valueField = isCheckable(node) ? "checked" : "value"; 1264 var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField); 1265 checkFormFieldValueStringCoercion(node[valueField]); 1266 var currentValue = "" + node[valueField]; 1267 if (node.hasOwnProperty(valueField) || typeof descriptor === "undefined" || typeof descriptor.get !== "function" || typeof descriptor.set !== "function") return; 1268 var get$1 = descriptor.get, set$1 = descriptor.set; 1269 Object.defineProperty(node, valueField, { 1270 configurable: true, 1271 get: function() { 1272 return get$1.call(this); 1273 }, 1274 set: function(value) { 1275 checkFormFieldValueStringCoercion(value); 1276 currentValue = "" + value; 1277 set$1.call(this, value); 1278 } 1279 }); 1280 Object.defineProperty(node, valueField, { enumerable: descriptor.enumerable }); 1281 return { 1282 getValue: function() { 1283 return currentValue; 1284 }, 1285 setValue: function(value) { 1286 checkFormFieldValueStringCoercion(value); 1287 currentValue = "" + value; 1288 }, 1289 stopTracking: function() { 1290 detachTracker(node); 1291 delete node[valueField]; 1292 } 1293 }; 1294 } 1295 function track(node) { 1296 if (getTracker(node)) return; 1297 node._valueTracker = trackValueOnNode(node); 1298 } 1299 function updateValueIfChanged(node) { 1300 if (!node) return false; 1301 var tracker = getTracker(node); 1302 if (!tracker) return true; 1303 var lastValue = tracker.getValue(); 1304 var nextValue = getValueFromNode(node); 1305 if (nextValue !== lastValue) { 1306 tracker.setValue(nextValue); 1307 return true; 1308 } 1309 return false;
1310 } 1311 function getActiveElement(doc) { 1312 doc = doc || (typeof document !== "undefined" ? document : void 0); 1313 if (typeof doc === "undefined") return null; 1314 try { 1315 return doc.activeElement || doc.body; 1316 } catch (e) { 1317 return doc.body; 1318 } 1319 } 1320 var didWarnValueDefaultValue = false; 1321 var didWarnCheckedDefaultChecked = false; 1322 var didWarnControlledToUncontrolled = false; 1323 var didWarnUncontrolledToControlled = false; 1324 function isControlled(props) { 1325 return props.type === "checkbox" || props.type === "radio" ? props.checked != null : props.value != null; 1326 } 1327 function getHostProps(element, props) { 1328 var node = element; 1329 var checked = props.checked; 1330 return assign({}, props, { 1331 defaultChecked: void 0, 1332 defaultValue: void 0, 1333 value: void 0, 1334 checked: checked != null ? checked : node._wrapperState.initialChecked 1335 }); 1336 } 1337 function initWrapperState(element, props) { 1338 checkControlledValueProps("input", props); 1339 if (props.checked !== void 0 && props.defaultChecked !== void 0 && !didWarnCheckedDefaultChecked) { 1340 error("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component", props.type); 1341 didWarnCheckedDefaultChecked = true; 1342 } 1343 if (props.value !== void 0 && props.defaultValue !== void 0 && !didWarnValueDefaultValue) { 1344 error("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component", props.type); 1345 didWarnValueDefaultValue = true; 1346 } 1347 var node = element; 1348 var defaultValue = props.defaultValue == null ? "" : props.defaultValue; 1349 node._wrapperState = { 1350 initialChecked: props.checked != null ? props.checked : props.defaultChecked, 1351 initialValue: getToStringValue(props.value != null ? props.value : defaultValue), 1352 controlled: isControlled(props) 1353 }; 1354 } 1355 function updateChecked(element, props) { 1356 var node = element; 1357 var checked = props.checked; 1358 if (checked != null) setValueForProperty(node, "checked", checked, false); 1359 } 1360 function updateWrapper(element, props) { 1361 var node = element; 1362 var controlled = isControlled(props); 1363 if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) { 1364 error("A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"); 1365 didWarnUncontrolledToControlled = true; 1366 } 1367 if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) { 1368 error("A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"); 1369 didWarnControlledToUncontrolled = true; 1370 } 1371 updateChecked(element, props); 1372 var value = getToStringValue(props.value); 1373 var type = props.type; 1374 if (value != null) { 1375 if (type === "number") { 1376 if (value === 0 && node.value === "" || node.value != value) node.value = toString(value); 1377 } else if (node.value !== toString(value)) node.value = toString(value); 1378 } else if (type === "submit" || type === "reset") { 1379 node.removeAttribute("value"); 1380 return; 1381 } 1382 if (props.hasOwnProperty("value")) setDefaultValue(node, props.type, value); 1383 else if (props.hasOwnProperty("defaultValue")) setDefaultValue(node, props.type, getToStringValue(props.defaultValue)); 1384 if (props.checked == null && props.defaultChecked != null) node.defaultChecked = !!props.defaultChecked; 1385 } 1386 function postMountWrapper(element, props, isHydrating$1) { 1387 var node = element; 1388 if (props.hasOwnProperty("value") || props.hasOwnProperty("defaultValue")) { 1389 var type = props.type; 1390 if ((type === "submit" || type === "reset") && (props.value === void 0 || props.value === null)) return; 1391 var initialValue = toString(node._wrapperState.initialValue); 1392 if (!isHydrating$1) { 1393 if (initialValue !== node.value) node.value = initialValue; 1394 } 1395 node.defaultValue = initialValue; 1396 } 1397 var name = node.name; 1398 if (name !== "") node.name = ""; 1399 node.defaultChecked = !node.defaultChecked; 1400 node.defaultChecked = !!node._wrapperState.initialChecked; 1401 if (name !== "") node.name = name; 1402 } 1403 function restoreControlledState(element, props) { 1404 var node = element; 1405 updateWrapper(node, props); 1406 updateNamedCousins(node, props); 1407 } 1408 function updateNamedCousins(rootNode, props) { 1409 var name = props.name; 1410 if (props.type === "radio" && name != null) { 1411 var queryRoot = rootNode; 1412 while (queryRoot.parentNode) queryRoot = queryRoot.parentNode; 1413 checkAttributeStringCoercion(name, "name"); 1414 var group = queryRoot.querySelectorAll("input[name=" + JSON.stringify("" + name) + "][type=\"radio\"]"); 1415 for (var i = 0; i < group.length; i++) { 1416 var otherNode = group[i];
1417 if (otherNode === rootNode || otherNode.form !== rootNode.form) continue; 1418 var otherProps = getFiberCurrentPropsFromNode(otherNode); 1419 if (!otherProps) throw new Error("ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported."); 1420 updateValueIfChanged(otherNode); 1421 updateWrapper(otherNode, otherProps); 1422 } 1423 } 1424 } 1425 function setDefaultValue(node, type, value) { 1426 if (type !== "number" || getActiveElement(node.ownerDocument) !== node) { 1427 if (value == null) node.defaultValue = toString(node._wrapperState.initialValue); 1428 else if (node.defaultValue !== toString(value)) node.defaultValue = toString(value); 1429 } 1430 } 1431 var didWarnSelectedSetOnOption = false; 1432 var didWarnInvalidChild = false; 1433 var didWarnInvalidInnerHTML = false; 1434 function validateProps(element, props) { 1435 if (props.value == null) { 1436 if (typeof props.children === "object" && props.children !== null) React.Children.forEach(props.children, function(child) { 1437 if (child == null) return; 1438 if (typeof child === "string" || typeof child === "number") return; 1439 if (!didWarnInvalidChild) { 1440 didWarnInvalidChild = true; 1441 error("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>."); 1442 } 1443 }); 1444 else if (props.dangerouslySetInnerHTML != null) { 1445 if (!didWarnInvalidInnerHTML) { 1446 didWarnInvalidInnerHTML = true; 1447 error("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected."); 1448 } 1449 } 1450 } 1451 if (props.selected != null && !didWarnSelectedSetOnOption) { 1452 error("Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."); 1453 didWarnSelectedSetOnOption = true; 1454 } 1455 } 1456 function postMountWrapper$1(element, props) { 1457 if (props.value != null) element.setAttribute("value", toString(getToStringValue(props.value))); 1458 } 1459 var isArrayImpl = Array.isArray; 1460 function isArray(a) { 1461 return isArrayImpl(a); 1462 } 1463 var didWarnValueDefaultValue$1 = false; 1464 function getDeclarationErrorAddendum() { 1465 var ownerName = getCurrentFiberOwnerNameInDevOrNull(); 1466 if (ownerName) return "\n\nCheck the render method of `" + ownerName + "`."; 1467 return ""; 1468 } 1469 var valuePropNames = ["value", "defaultValue"]; 1470 function checkSelectPropTypes(props) { 1471 checkControlledValueProps("select", props); 1472 for (var i = 0; i < valuePropNames.length; i++) { 1473 var propName = valuePropNames[i]; 1474 if (props[propName] == null) continue; 1475 var propNameIsArray = isArray(props[propName]); 1476 if (props.multiple && !propNameIsArray) error("The `%s` prop supplied to <select> must be an array if `multiple` is true.%s", propName, getDeclarationErrorAddendum()); 1477 else if (!props.multiple && propNameIsArray) error("The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s", propName, getDeclarationErrorAddendum()); 1478 } 1479 } 1480 function updateOptions(node, multiple, propValue, setDefaultSelected) { 1481 var options$1 = node.options; 1482 if (multiple) { 1483 var selectedValues = propValue; 1484 var selectedValue = {}; 1485 for (var i = 0; i < selectedValues.length; i++) selectedValue["$" + selectedValues[i]] = true; 1486 for (var _i = 0; _i < options$1.length; _i++) { 1487 var selected = selectedValue.hasOwnProperty("$" + options$1[_i].value); 1488 if (options$1[_i].selected !== selected) options$1[_i].selected = selected; 1489 if (selected && setDefaultSelected) options$1[_i].defaultSelected = true; 1490 } 1491 } else { 1492 var _selectedValue = toString(getToStringValue(propValue)); 1493 var defaultSelected = null; 1494 for (var _i2 = 0; _i2 < options$1.length; _i2++) { 1495 if (options$1[_i2].value === _selectedValue) { 1496 options$1[_i2].selected = true; 1497 if (setDefaultSelected) options$1[_i2].defaultSelected = true; 1498 return; 1499 } 1500 if (defaultSelected === null && !options$1[_i2].disabled) defaultSelected = options$1[_i2]; 1501 } 1502 if (defaultSelected !== null) defaultSelected.selected = true; 1503 } 1504 } 1505 function getHostProps$1(element, props) { 1506 return assign({}, props, { value: void 0 }); 1507 } 1508 function initWrapperState$1(element, props) { 1509 var node = element; 1510 checkSelectPropTypes(props); 1511 node._wrapperState = { wasMultiple: !!props.multiple }; 1512 if (props.value !== void 0 && props.defaultValue !== void 0 && !didWarnValueDefaultValue$1) { 1513 error("Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://reactjs.org/link/controlled-components"); 1514 didWarnValueDefaultValue$1 = true; 1515 } 1516 } 1517 function postMountWrapper$2(element, props) { 1518 var node = element; 1519 node.multiple = !!props.multiple; 1520 var value = props.value; 1521 if (value != null) updateOptions(node, !!props.multiple, value, false); 1522 else if (props.defaultValue != null) updateOptions(node, !!props.multiple, props.defaultValue, true); 1523 } 1524 function postUpdateWrapper(element, props) { 1525 var node = element; 1526 var wasMultiple = node._wrapperState.wasMultiple; 1527 node._wrapperState.wasMultiple = !!props.multiple; 1528 var value = props.value; 1529 if (value != null) updateOptions(node, !!props.multiple, value, false); 1530 else if (wasMultiple !== !!props.multiple) if (props.defaultValue != null) updateOptions(node, !!props.multiple, props.defaultValue, true); 1531 else updateOptions(node, !!props.multiple, props.multiple ? [] : "", false); 1532 } 1533 function restoreControlledState$1(element, props) { 1534 var node = element; 1535 var value = props.value; 1536 if (value != null) updateOptions(node, !!props.multiple, value, false); 1537 } 1538 var didWarnValDefaultVal = false;
1539 function getHostProps$2(element, props) { 1540 var node = element; 1541 if (props.dangerouslySetInnerHTML != null) throw new Error("`dangerouslySetInnerHTML` does not make sense on <textarea>."); 1542 return assign({}, props, { 1543 value: void 0, 1544 defaultValue: void 0, 1545 children: toString(node._wrapperState.initialValue) 1546 }); 1547 } 1548 function initWrapperState$2(element, props) { 1549 var node = element; 1550 checkControlledValueProps("textarea", props); 1551 if (props.value !== void 0 && props.defaultValue !== void 0 && !didWarnValDefaultVal) { 1552 error("%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://reactjs.org/link/controlled-components", getCurrentFiberOwnerNameInDevOrNull() || "A component"); 1553 didWarnValDefaultVal = true; 1554 } 1555 var initialValue = props.value; 1556 if (initialValue == null) { 1557 var children = props.children, defaultValue = props.defaultValue; 1558 if (children != null) { 1559 error("Use the `defaultValue` or `value` props instead of setting children on <textarea>."); 1560 if (defaultValue != null) throw new Error("If you supply `defaultValue` on a <textarea>, do not pass children."); 1561 if (isArray(children)) { 1562 if (children.length > 1) throw new Error("<textarea> can only have at most one child."); 1563 children = children[0]; 1564 } 1565 defaultValue = children; 1566 } 1567 if (defaultValue == null) defaultValue = ""; 1568 initialValue = defaultValue; 1569 } 1570 node._wrapperState = { initialValue: getToStringValue(initialValue) }; 1571 } 1572 function updateWrapper$1(element, props) { 1573 var node = element; 1574 var value = getToStringValue(props.value); 1575 var defaultValue = getToStringValue(props.defaultValue); 1576 if (value != null) { 1577 var newValue = toString(value); 1578 if (newValue !== node.value) node.value = newValue; 1579 if (props.defaultValue == null && node.defaultValue !== newValue) node.defaultValue = newValue; 1580 } 1581 if (defaultValue != null) node.defaultValue = toString(defaultValue); 1582 } 1583 function postMountWrapper$3(element, props) { 1584 var node = element; 1585 var textContent = node.textContent; 1586 if (textContent === node._wrapperState.initialValue) { 1587 if (textContent !== "" && textContent !== null) node.value = textContent; 1588 } 1589 } 1590 function restoreControlledState$2(element, props) { 1591 updateWrapper$1(element, props); 1592 } 1593 var HTML_NAMESPACE = "http://www.w3.org/1999/xhtml"; 1594 var MATH_NAMESPACE = "http://www.w3.org/1998/Math/MathML"; 1595 var SVG_NAMESPACE = "http://www.w3.org/2000/svg"; 1596 function getIntrinsicNamespace(type) { 1597 switch (type) { 1598 case "svg": return SVG_NAMESPACE; 1599 case "math": return MATH_NAMESPACE; 1600 default: return HTML_NAMESPACE; 1601 } 1602 } 1603 function getChildNamespace(parentNamespace, type) { 1604 if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) return getIntrinsicNamespace(type); 1605 if (parentNamespace === SVG_NAMESPACE && type === "foreignObject") return HTML_NAMESPACE; 1606 return parentNamespace; 1607 } 1608 var createMicrosoftUnsafeLocalFunction = function(func) { 1609 if (typeof MSApp !== "undefined" && MSApp.execUnsafeLocalFunction) return function(arg0, arg1, arg2, arg3) { 1610 MSApp.execUnsafeLocalFunction(function() { 1611 return func(arg0, arg1, arg2, arg3); 1612 }); 1613 }; 1614 else return func; 1615 }; 1616 var reusableSVGContainer; 1617 var setInnerHTML = createMicrosoftUnsafeLocalFunction(function(node, html) { 1618 if (node.namespaceURI === SVG_NAMESPACE) { 1619 if (!("innerHTML" in node)) { 1620 reusableSVGContainer = reusableSVGContainer || document.createElement("div"); 1621 reusableSVGContainer.innerHTML = "<svg>" + html.valueOf().toString() + "</svg>"; 1622 var svgNode = reusableSVGContainer.firstChild; 1623 while (node.firstChild) node.removeChild(node.firstChild); 1624 while (svgNode.firstChild) node.appendChild(svgNode.firstChild); 1625 return; 1626 } 1627 } 1628 node.innerHTML = html; 1629 }); 1630 var ELEMENT_NODE = 1; 1631 var TEXT_NODE = 3; 1632 var COMMENT_NODE = 8; 1633 var DOCUMENT_NODE = 9; 1634 var DOCUMENT_FRAGMENT_NODE = 11; 1635 var setTextContent = function(node, text) { 1636 if (text) { 1637 var firstChild = node.firstChild;
1638 if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) { 1639 firstChild.nodeValue = text; 1640 return; 1641 } 1642 } 1643 node.textContent = text; 1644 }; 1645 var shorthandToLonghand = { 1646 animation: [ 1647 "animationDelay", 1648 "animationDirection", 1649 "animationDuration", 1650 "animationFillMode", 1651 "animationIterationCount", 1652 "animationName", 1653 "animationPlayState", 1654 "animationTimingFunction" 1655 ], 1656 background: [ 1657 "backgroundAttachment", 1658 "backgroundClip", 1659 "backgroundColor", 1660 "backgroundImage", 1661 "backgroundOrigin", 1662 "backgroundPositionX", 1663 "backgroundPositionY", 1664 "backgroundRepeat", 1665 "backgroundSize" 1666 ], 1667 backgroundPosition: ["backgroundPositionX", "backgroundPositionY"], 1668 border: [ 1669 "borderBottomColor", 1670 "borderBottomStyle", 1671 "borderBottomWidth", 1672 "borderImageOutset", 1673 "borderImageRepeat", 1674 "borderImageSlice", 1675 "borderImageSource", 1676 "borderImageWidth", 1677 "borderLeftColor", 1678 "borderLeftStyle", 1679 "borderLeftWidth", 1680 "borderRightColor", 1681 "borderRightStyle", 1682 "borderRightWidth", 1683 "borderTopColor", 1684 "borderTopStyle", 1685 "borderTopWidth" 1686 ], 1687 borderBlockEnd: [ 1688 "borderBlockEndColor", 1689 "borderBlockEndStyle", 1690 "borderBlockEndWidth" 1691 ], 1692 borderBlockStart: [ 1693 "borderBlockStartColor", 1694 "borderBlockStartStyle", 1695 "borderBlockStartWidth" 1696 ], 1697 borderBottom: [ 1698 "borderBottomColor", 1699 "borderBottomStyle", 1700 "borderBottomWidth" 1701 ], 1702 borderColor: [ 1703 "borderBottomColor", 1704 "borderLeftColor", 1705 "borderRightColor", 1706 "borderTopColor" 1707 ], 1708 borderImage: [ 1709 "borderImageOutset", 1710 "borderImageRepeat", 1711 "borderImageSlice", 1712 "borderImageSource", 1713 "borderImageWidth" 1714 ], 1715 borderInlineEnd: [ 1716 "borderInlineEndColor", 1717 "borderInlineEndStyle", 1718 "borderInlineEndWidth" 1719 ], 1720 borderInlineStart: [ 1721 "borderInlineStartColor", 1722 "borderInlineStartStyle", 1723 "borderInlineStartWidth" 1724 ], 1725 borderLeft: [ 1726 "borderLeftColor", 1727 "borderLeftStyle", 1728 "borderLeftWidth" 1729 ], 1730 borderRadius: [ 1731 "borderBottomLeftRadius", 1732 "borderBottomRightRadius", 1733 "borderTopLeftRadius", 1734 "borderTopRightRadius" 1735 ], 1736 borderRight: [ 1737 "borderRightColor", 1738 "borderRightStyle", 1739 "borderRightWidth" 1740 ], 1741 borderStyle: [ 1742 "borderBottomStyle", 1743 "borderLeftStyle", 1744 "borderRightStyle", 1745 "borderTopStyle" 1746 ], 1747 borderTop: [ 1748 "borderTopColor", 1749 "borderTopStyle", 1750 "borderTopWidth" 1751 ], 1752 borderWidth: [ 1753 "borderBottomWidth", 1754 "borderLeftWidth", 1755 "borderRightWidth", 1756 "borderTopWidth" 1757 ], 1758 columnRule: [ 1759 "columnRuleColor", 1760 "columnRuleStyle", 1761 "columnRuleWidth" 1762 ], 1763 columns: ["columnCount", "columnWidth"], 1764 flex: [ 1765 "flexBasis", 1766 "flexGrow", 1767 "flexShrink" 1768 ], 1769 flexFlow: ["flexDirection", "flexWrap"], 1770 font: [ 1771 "fontFamily", 1772 "fontFeatureSettings", 1773 "fontKerning", 1774 "fontLanguageOverride", 1775 "fontSize", 1776 "fontSizeAdjust", 1777 "fontStretch", 1778 "fontStyle", 1779 "fontVariant", 1780 "fontVariantAlternates", 1781 "fontVariantCaps", 1782 "fontVariantEastAsian", 1783 "fontVariantLigatures", 1784 "fontVariantNumeric", 1785 "fontVariantPosition", 1786 "fontWeight", 1787 "lineHeight" 1788 ], 1789 fontVariant: [ 1790 "fontVariantAlternates", 1791 "fontVariantCaps", 1792 "fontVariantEastAsian", 1793 "fontVariantLigatures", 1794 "fontVariantNumeric", 1795 "fontVariantPosition" 1796 ], 1797 gap: ["columnGap", "rowGap"], 1798 grid: [ 1799 "gridAutoColumns", 1800 "gridAutoFlow", 1801 "gridAutoRows", 1802 "gridTemplateAreas", 1803 "gridTemplateColumns", 1804 "gridTemplateRows" 1805 ], 1806 gridArea: [ 1807 "gridColumnEnd", 1808 "gridColumnStart", 1809 "gridRowEnd", 1810 "gridRowStart" 1811 ], 1812 gridColumn: ["gridColumnEnd", "gridColumnStart"], 1813 gridColumnGap: ["columnGap"], 1814 gridGap: ["columnGap", "rowGap"], 1815 gridRow: ["gridRowEnd", "gridRowStart"], 1816 gridRowGap: ["rowGap"], 1817 gridTemplate: [ 1818 "gridTemplateAreas", 1819 "gridTemplateColumns", 1820 "gridTemplateRows" 1821 ], 1822 listStyle: [ 1823 "listStyleImage", 1824 "listStylePosition", 1825 "listStyleType" 1826 ], 1827 margin: [ 1828 "marginBottom", 1829 "marginLeft", 1830 "marginRight", 1831 "marginTop" 1832 ], 1833 marker: [ 1834 "markerEnd", 1835 "markerMid", 1836 "markerStart" 1837 ], 1838 mask: [ 1839 "maskClip", 1840 "maskComposite", 1841 "maskImage", 1842 "maskMode", 1843 "maskOrigin", 1844 "maskPositionX", 1845 "maskPositionY", 1846 "maskRepeat", 1847 "maskSize" 1848 ], 1849 maskPosition: ["maskPositionX", "maskPositionY"], 1850 outline: [ 1851 "outlineColor", 1852 "outlineStyle", 1853 "outlineWidth" 1854 ], 1855 overflow: ["overflowX", "overflowY"], 1856 padding: [ 1857 "paddingBottom", 1858 "paddingLeft", 1859 "paddingRight", 1860 "paddingTop" 1861 ], 1862 placeContent: ["alignContent", "justifyContent"], 1863 placeItems: ["alignItems", "justifyItems"], 1864 placeSelf: ["alignSelf", "justifySelf"], 1865 textDecoration: [ 1866 "textDecorationColor", 1867 "textDecorationLine", 1868 "textDecorationStyle" 1869 ], 1870 textEmphasis: ["textEmphasisColor", "textEmphasisStyle"], 1871 transition: [ 1872 "transitionDelay", 1873 "transitionDuration", 1874 "transitionProperty", 1875 "transitionTimingFunction" 1876 ], 1877 wordWrap: ["overflowWrap"] 1878 }; 1879 var isUnitlessNumber = { 1880 animationIterationCount: true, 1881 aspectRatio: true, 1882 borderImageOutset: true, 1883 borderImageSlice: true, 1884 borderImageWidth: true, 1885 boxFlex: true, 1886 boxFlexGroup: true, 1887 boxOrdinalGroup: true, 1888 columnCount: true, 1889 columns: true, 1890 flex: true, 1891 flexGrow: true, 1892 flexPositive: true, 1893 flexShrink: true, 1894 flexNegative: true, 1895 flexOrder: true, 1896 gridArea: true, 1897 gridRow: true, 1898 gridRowEnd: true, 1899 gridRowSpan: true, 1900 gridRowStart: true, 1901 gridColumn: true, 1902 gridColumnEnd: true, 1903 gridColumnSpan: true, 1904 gridColumnStart: true, 1905 fontWeight: true, 1906 lineClamp: true, 1907 lineHeight: true, 1908 opacity: true, 1909 order: true, 1910 orphans: true, 1911 tabSize: true, 1912 widows: true, 1913 zIndex: true, 1914 zoom: true, 1915 fillOpacity: true, 1916 floodOpacity: true, 1917 stopOpacity: true, 1918 strokeDasharray: true, 1919 strokeDashoffset: true, 1920 strokeMiterlimit: true, 1921 strokeOpacity: true, 1922 strokeWidth: true 1923 }; 1924 function prefixKey(prefix$1, key) { 1925 return prefix$1 + key.charAt(0).toUpperCase() + key.substring(1); 1926 } 1927 var prefixes = [ 1928 "Webkit", 1929 "ms", 1930 "Moz", 1931 "O" 1932 ]; 1933 Object.keys(isUnitlessNumber).forEach(function(prop) {
1934 prefixes.forEach(function(prefix$1) { 1935 isUnitlessNumber[prefixKey(prefix$1, prop)] = isUnitlessNumber[prop]; 1936 }); 1937 }); 1938 function dangerousStyleValue(name, value, isCustomProperty) { 1939 if (value == null || typeof value === "boolean" || value === "") return ""; 1940 if (!isCustomProperty && typeof value === "number" && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + "px"; 1941 checkCSSPropertyStringCoercion(value, name); 1942 return ("" + value).trim(); 1943 } 1944 var uppercasePattern = /([A-Z])/g; 1945 var msPattern = /^ms-/; 1946 function hyphenateStyleName(name) { 1947 return name.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern, "-ms-"); 1948 } 1949 var warnValidStyle = function() {}; 1950 var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/; 1951 var msPattern$1 = /^-ms-/; 1952 var hyphenPattern = /-(.)/g; 1953 var badStyleValueWithSemicolonPattern = /;\s*$/; 1954 var warnedStyleNames = {}; 1955 var warnedStyleValues = {}; 1956 var warnedForNaNValue = false; 1957 var warnedForInfinityValue = false; 1958 var camelize = function(string) { 1959 return string.replace(hyphenPattern, function(_, character) { 1960 return character.toUpperCase(); 1961 }); 1962 }; 1963 var warnHyphenatedStyleName = function(name) { 1964 if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) return; 1965 warnedStyleNames[name] = true; 1966 error("Unsupported style property %s. Did you mean %s?", name, camelize(name.replace(msPattern$1, "ms-"))); 1967 }; 1968 var warnBadVendoredStyleName = function(name) { 1969 if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) return; 1970 warnedStyleNames[name] = true; 1971 error("Unsupported vendor-prefixed style property %s. Did you mean %s?", name, name.charAt(0).toUpperCase() + name.slice(1)); 1972 }; 1973 var warnStyleValueWithSemicolon = function(name, value) { 1974 if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) return; 1975 warnedStyleValues[value] = true; 1976 error("Style property values shouldn't contain a semicolon. Try \"%s: %s\" instead.", name, value.replace(badStyleValueWithSemicolonPattern, "")); 1977 }; 1978 var warnStyleValueIsNaN = function(name, value) { 1979 if (warnedForNaNValue) return; 1980 warnedForNaNValue = true; 1981 error("`NaN` is an invalid value for the `%s` css style property.", name); 1982 }; 1983 var warnStyleValueIsInfinity = function(name, value) { 1984 if (warnedForInfinityValue) return; 1985 warnedForInfinityValue = true; 1986 error("`Infinity` is an invalid value for the `%s` css style property.", name); 1987 }; 1988 warnValidStyle = function(name, value) { 1989 if (name.indexOf("-") > -1) warnHyphenatedStyleName(name); 1990 else if (badVendoredStyleNamePattern.test(name)) warnBadVendoredStyleName(name); 1991 else if (badStyleValueWithSemicolonPattern.test(value)) warnStyleValueWithSemicolon(name, value); 1992 if (typeof value === "number") { 1993 if (isNaN(value)) warnStyleValueIsNaN(name, value); 1994 else if (!isFinite(value)) warnStyleValueIsInfinity(name, value); 1995 } 1996 }; 1997 var warnValidStyle$1 = warnValidStyle; 1998 function createDangerousStringForStyles(styles) { 1999 var serialized = ""; 2000 var delimiter = ""; 2001 for (var styleName in styles) { 2002 if (!styles.hasOwnProperty(styleName)) continue; 2003 var styleValue = styles[styleName]; 2004 if (styleValue != null) { 2005 var isCustomProperty = styleName.indexOf("--") === 0; 2006 serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ":"; 2007 serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty); 2008 delimiter = ";"; 2009 } 2010 } 2011 return serialized || null; 2012 } 2013 function setValueForStyles(node, styles) { 2014 var style$1 = node.style; 2015 for (var styleName in styles) { 2016 if (!styles.hasOwnProperty(styleName)) continue; 2017 var isCustomProperty = styleName.indexOf("--") === 0; 2018 if (!isCustomProperty) warnValidStyle$1(styleName, styles[styleName]); 2019 var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty); 2020 if (styleName === "float") styleName = "cssFloat"; 2021 if (isCustomProperty) style$1.setProperty(styleName, styleValue); 2022 else style$1[styleName] = styleValue; 2023 } 2024 } 2025 function isValueEmpty(value) { 2026 return value == null || typeof value === "boolean" || value === ""; 2027 } 2028 function expandShorthandMap(styles) { 2029 var expanded = {}; 2030 for (var key in styles) { 2031 var longhands = shorthandToLonghand[key] || [key]; 2032 for (var i = 0; i < longhands.length; i++) expanded[longhands[i]] = key; 2033 } 2034 return expanded; 2035 } 2036 function validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) { 2037 if (!nextStyles) return;
2038 var expandedUpdates = expandShorthandMap(styleUpdates); 2039 var expandedStyles = expandShorthandMap(nextStyles); 2040 var warnedAbout = {}; 2041 for (var key in expandedUpdates) { 2042 var originalKey = expandedUpdates[key]; 2043 var correctOriginalKey = expandedStyles[key]; 2044 if (correctOriginalKey && originalKey !== correctOriginalKey) { 2045 var warningKey = originalKey + "," + correctOriginalKey; 2046 if (warnedAbout[warningKey]) continue; 2047 warnedAbout[warningKey] = true; 2048 error("%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.", isValueEmpty(styleUpdates[originalKey]) ? "Removing" : "Updating", originalKey, correctOriginalKey); 2049 } 2050 } 2051 } 2052 var voidElementTags = assign({ menuitem: true }, { 2053 area: true, 2054 base: true, 2055 br: true, 2056 col: true, 2057 embed: true, 2058 hr: true, 2059 img: true, 2060 input: true, 2061 keygen: true, 2062 link: true, 2063 meta: true, 2064 param: true, 2065 source: true, 2066 track: true, 2067 wbr: true 2068 }); 2069 var HTML = "__html"; 2070 function assertValidProps(tag, props) { 2071 if (!props) return; 2072 if (voidElementTags[tag]) { 2073 if (props.children != null || props.dangerouslySetInnerHTML != null) throw new Error(tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`."); 2074 } 2075 if (props.dangerouslySetInnerHTML != null) { 2076 if (props.children != null) throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`."); 2077 if (typeof props.dangerouslySetInnerHTML !== "object" || !(HTML in props.dangerouslySetInnerHTML)) throw new Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information."); 2078 } 2079 if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) error("A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."); 2080 if (props.style != null && typeof props.style !== "object") throw new Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX."); 2081 } 2082 function isCustomComponent(tagName, props) { 2083 if (tagName.indexOf("-") === -1) return typeof props.is === "string"; 2084 switch (tagName) { 2085 case "annotation-xml": 2086 case "color-profile": 2087 case "font-face": 2088 case "font-face-src": 2089 case "font-face-uri": 2090 case "font-face-format": 2091 case "font-face-name": 2092 case "missing-glyph": return false; 2093 default: return true; 2094 } 2095 } 2096 var possibleStandardNames = { 2097 accept: "accept", 2098 acceptcharset: "acceptCharset", 2099 "accept-charset": "acceptCharset", 2100 accesskey: "accessKey", 2101 action: "action", 2102 allowfullscreen: "allowFullScreen", 2103 alt: "alt", 2104 as: "as", 2105 async: "async", 2106 autocapitalize: "autoCapitalize", 2107 autocomplete: "autoComplete", 2108 autocorrect: "autoCorrect", 2109 autofocus: "autoFocus", 2110 autoplay: "autoPlay", 2111 autosave: "autoSave", 2112 capture: "capture", 2113 cellpadding: "cellPadding", 2114 cellspacing: "cellSpacing", 2115 challenge: "challenge", 2116 charset: "charSet", 2117 checked: "checked", 2118 children: "children", 2119 cite: "cite", 2120 class: "className", 2121 classid: "classID", 2122 classname: "className", 2123 cols: "cols", 2124 colspan: "colSpan", 2125 content: "content", 2126 contenteditable: "contentEditable", 2127 contextmenu: "contextMenu", 2128 controls: "controls", 2129 controlslist: "controlsList", 2130 coords: "coords", 2131 crossorigin: "crossOrigin", 2132 dangerouslysetinnerhtml: "dangerouslySetInnerHTML", 2133 data: "data", 2134 datetime: "dateTime", 2135 default: "default", 2136 defaultchecked: "defaultChecked", 2137 defaultvalue: "defaultValue", 2138 defer: "defer", 2139 dir: "dir", 2140 disabled: "disabled", 2141 disablepictureinpicture: "disablePictureInPicture", 2142 disableremoteplayback: "disableRemotePlayback", 2143 download: "download", 2144 draggable: "draggable", 2145 enctype: "encType", 2146 enterkeyhint: "enterKeyHint", 2147 for: "htmlFor", 2148 form: "form", 2149 formmethod: "formMethod", 2150 formaction: "formAction", 2151 formenctype: "formEncType", 2152 formnovalidate: "formNoValidate", 2153 formtarget: "formTarget", 2154 frameborder: "frameBorder", 2155 headers: "headers", 2156 height: "height", 2157 hidden: "hidden", 2158 high: "high", 2159 href: "href", 2160 hreflang: "hrefLang", 2161 htmlfor: "htmlFor", 2162 httpequiv: "httpEquiv", 2163 "http-equiv": "httpEquiv", 2164 icon: "icon", 2165 id: "id", 2166 imagesizes: "imageSizes", 2167 imagesrcset: "imageSrcSet",
2168 innerhtml: "innerHTML", 2169 inputmode: "inputMode", 2170 integrity: "integrity", 2171 is: "is", 2172 itemid: "itemID", 2173 itemprop: "itemProp", 2174 itemref: "itemRef", 2175 itemscope: "itemScope", 2176 itemtype: "itemType", 2177 keyparams: "keyParams", 2178 keytype: "keyType", 2179 kind: "kind", 2180 label: "label", 2181 lang: "lang", 2182 list: "list", 2183 loop: "loop", 2184 low: "low", 2185 manifest: "manifest", 2186 marginwidth: "marginWidth", 2187 marginheight: "marginHeight", 2188 max: "max", 2189 maxlength: "maxLength", 2190 media: "media", 2191 mediagroup: "mediaGroup", 2192 method: "method", 2193 min: "min", 2194 minlength: "minLength", 2195 multiple: "multiple", 2196 muted: "muted", 2197 name: "name", 2198 nomodule: "noModule", 2199 nonce: "nonce", 2200 novalidate: "noValidate", 2201 open: "open", 2202 optimum: "optimum", 2203 pattern: "pattern", 2204 placeholder: "placeholder", 2205 playsinline: "playsInline", 2206 poster: "poster", 2207 preload: "preload", 2208 profile: "profile", 2209 radiogroup: "radioGroup", 2210 readonly: "readOnly", 2211 referrerpolicy: "referrerPolicy", 2212 rel: "rel", 2213 required: "required", 2214 reversed: "reversed", 2215 role: "role", 2216 rows: "rows", 2217 rowspan: "rowSpan", 2218 sandbox: "sandbox", 2219 scope: "scope", 2220 scoped: "scoped", 2221 scrolling: "scrolling", 2222 seamless: "seamless", 2223 selected: "selected", 2224 shape: "shape", 2225 size: "size", 2226 sizes: "sizes", 2227 span: "span", 2228 spellcheck: "spellCheck", 2229 src: "src", 2230 srcdoc: "srcDoc", 2231 srclang: "srcLang", 2232 srcset: "srcSet", 2233 start: "start", 2234 step: "step", 2235 style: "style", 2236 summary: "summary", 2237 tabindex: "tabIndex", 2238 target: "target", 2239 title: "title", 2240 type: "type", 2241 usemap: "useMap", 2242 value: "value", 2243 width: "width", 2244 wmode: "wmode", 2245 wrap: "wrap", 2246 about: "about", 2247 accentheight: "accentHeight", 2248 "accent-height": "accentHeight", 2249 accumulate: "accumulate", 2250 additive: "additive", 2251 alignmentbaseline: "alignmentBaseline", 2252 "alignment-baseline": "alignmentBaseline", 2253 allowreorder: "allowReorder", 2254 alphabetic: "alphabetic", 2255 amplitude: "amplitude", 2256 arabicform: "arabicForm", 2257 "arabic-form": "arabicForm", 2258 ascent: "ascent", 2259 attributename: "attributeName", 2260 attributetype: "attributeType", 2261 autoreverse: "autoReverse", 2262 azimuth: "azimuth", 2263 basefrequency: "baseFrequency", 2264 baselineshift: "baselineShift", 2265 "baseline-shift": "baselineShift", 2266 baseprofile: "baseProfile", 2267 bbox: "bbox", 2268 begin: "begin", 2269 bias: "bias", 2270 by: "by", 2271 calcmode: "calcMode", 2272 capheight: "capHeight", 2273 "cap-height": "capHeight", 2274 clip: "clip", 2275 clippath: "clipPath", 2276 "clip-path": "clipPath", 2277 clippathunits: "clipPathUnits", 2278 cliprule: "clipRule", 2279 "clip-rule": "clipRule", 2280 color: "color", 2281 colorinterpolation: "colorInterpolation", 2282 "color-interpolation": "colorInterpolation", 2283 colorinterpolationfilters: "colorInterpolationFilters", 2284 "color-interpolation-filters": "colorInterpolationFilters", 2285 colorprofile: "colorProfile", 2286 "color-profile": "colorProfile", 2287 colorrendering: "colorRendering", 2288 "color-rendering": "colorRendering", 2289 contentscripttype: "contentScriptType", 2290 contentstyletype: "contentStyleType", 2291 cursor: "cursor", 2292 cx: "cx", 2293 cy: "cy", 2294 d: "d", 2295 datatype: "datatype", 2296 decelerate: "decelerate", 2297 descent: "descent", 2298 diffuseconstant: "diffuseConstant", 2299 direction: "direction", 2300 display: "display", 2301 divisor: "divisor", 2302 dominantbaseline: "dominantBaseline", 2303 "dominant-baseline": "dominantBaseline", 2304 dur: "dur", 2305 dx: "dx", 2306 dy: "dy", 2307 edgemode: "edgeMode", 2308 elevation: "elevation", 2309 enablebackground: "enableBackground", 2310 "enable-background": "enableBackground", 2311 end: "end", 2312 exponent: "exponent", 2313 externalresourcesrequired: "externalResourcesRequired", 2314 fill: "fill", 2315 fillopacity: "fillOpacity", 2316 "fill-opacity": "fillOpacity", 2317 fillrule: "fillRule", 2318 "fill-rule": "fillRule", 2319 filter: "filter", 2320 filterres: "filterRes", 2321 filterunits: "filterUnits", 2322 floodopacity: "floodOpacity", 2323 "flood-opacity": "floodOpacity", 2324 floodcolor: "floodColor", 2325 "flood-color": "floodColor", 2326 focusable: "focusable", 2327 fontfamily: "fontFamily", 2328 "font-family": "fontFamily", 2329 fontsize: "fontSize", 2330 "font-size": "fontSize", 2331 fontsizeadjust: "fontSizeAdjust", 2332 "font-size-adjust": "fontSizeAdjust", 2333 fontstretch: "fontStretch", 2334 "font-stretch": "fontStretch", 2335 fontstyle: "fontStyle", 2336 "font-style": "fontStyle", 2337 fontvariant: "fontVariant", 2338 "font-variant": "fontVariant", 2339 fontweight: "fontWeight", 2340 "font-weight": "fontWeight", 2341 format: "format", 2342 from: "from", 2343 fx: "fx", 2344 fy: "fy", 2345 g1: "g1", 2346 g2: "g2", 2347 glyphname: "glyphName", 2348 "glyph-name": "glyphName", 2349 glyphorientationhorizontal: "glyphOrientationHorizontal", 2350 "glyph-orientation-horizontal": "glyphOrientationHorizontal",
2351 glyphorientationvertical: "glyphOrientationVertical", 2352 "glyph-orientation-vertical": "glyphOrientationVertical", 2353 glyphref: "glyphRef", 2354 gradienttransform: "gradientTransform", 2355 gradientunits: "gradientUnits", 2356 hanging: "hanging", 2357 horizadvx: "horizAdvX", 2358 "horiz-adv-x": "horizAdvX", 2359 horizoriginx: "horizOriginX", 2360 "horiz-origin-x": "horizOriginX", 2361 ideographic: "ideographic", 2362 imagerendering: "imageRendering", 2363 "image-rendering": "imageRendering", 2364 in2: "in2", 2365 in: "in", 2366 inlist: "inlist", 2367 intercept: "intercept", 2368 k1: "k1", 2369 k2: "k2", 2370 k3: "k3", 2371 k4: "k4", 2372 k: "k", 2373 kernelmatrix: "kernelMatrix", 2374 kernelunitlength: "kernelUnitLength", 2375 kerning: "kerning", 2376 keypoints: "keyPoints", 2377 keysplines: "keySplines", 2378 keytimes: "keyTimes", 2379 lengthadjust: "lengthAdjust", 2380 letterspacing: "letterSpacing", 2381 "letter-spacing": "letterSpacing", 2382 lightingcolor: "lightingColor", 2383 "lighting-color": "lightingColor", 2384 limitingconeangle: "limitingConeAngle", 2385 local: "local", 2386 markerend: "markerEnd", 2387 "marker-end": "markerEnd", 2388 markerheight: "markerHeight", 2389 markermid: "markerMid", 2390 "marker-mid": "markerMid", 2391 markerstart: "markerStart", 2392 "marker-start": "markerStart", 2393 markerunits: "markerUnits", 2394 markerwidth: "markerWidth", 2395 mask: "mask", 2396 maskcontentunits: "maskContentUnits", 2397 maskunits: "maskUnits", 2398 mathematical: "mathematical", 2399 mode: "mode", 2400 numoctaves: "numOctaves", 2401 offset: "offset", 2402 opacity: "opacity", 2403 operator: "operator", 2404 order: "order", 2405 orient: "orient", 2406 orientation: "orientation", 2407 origin: "origin", 2408 overflow: "overflow", 2409 overlineposition: "overlinePosition", 2410 "overline-position": "overlinePosition", 2411 overlinethickness: "overlineThickness", 2412 "overline-thickness": "overlineThickness", 2413 paintorder: "paintOrder", 2414 "paint-order": "paintOrder", 2415 panose1: "panose1", 2416 "panose-1": "panose1", 2417 pathlength: "pathLength", 2418 patterncontentunits: "patternContentUnits", 2419 patterntransform: "patternTransform", 2420 patternunits: "patternUnits", 2421 pointerevents: "pointerEvents", 2422 "pointer-events": "pointerEvents", 2423 points: "points", 2424 pointsatx: "pointsAtX", 2425 pointsaty: "pointsAtY", 2426 pointsatz: "pointsAtZ", 2427 prefix: "prefix", 2428 preservealpha: "preserveAlpha", 2429 preserveaspectratio: "preserveAspectRatio", 2430 primitiveunits: "primitiveUnits", 2431 property: "property", 2432 r: "r", 2433 radius: "radius", 2434 refx: "refX", 2435 refy: "refY", 2436 renderingintent: "renderingIntent", 2437 "rendering-intent": "renderingIntent", 2438 repeatcount: "repeatCount", 2439 repeatdur: "repeatDur", 2440 requiredextensions: "requiredExtensions", 2441 requiredfeatures: "requiredFeatures", 2442 resource: "resource", 2443 restart: "restart", 2444 result: "result", 2445 results: "results", 2446 rotate: "rotate", 2447 rx: "rx", 2448 ry: "ry", 2449 scale: "scale", 2450 security: "security", 2451 seed: "seed", 2452 shaperendering: "shapeRendering", 2453 "shape-rendering": "shapeRendering", 2454 slope: "slope", 2455 spacing: "spacing", 2456 specularconstant: "specularConstant", 2457 specularexponent: "specularExponent", 2458 speed: "speed", 2459 spreadmethod: "spreadMethod", 2460 startoffset: "startOffset", 2461 stddeviation: "stdDeviation", 2462 stemh: "stemh", 2463 stemv: "stemv", 2464 stitchtiles: "stitchTiles", 2465 stopcolor: "stopColor", 2466 "stop-color": "stopColor", 2467 stopopacity: "stopOpacity", 2468 "stop-opacity": "stopOpacity", 2469 strikethroughposition: "strikethroughPosition", 2470 "strikethrough-position": "strikethroughPosition", 2471 strikethroughthickness: "strikethroughThickness", 2472 "strikethrough-thickness": "strikethroughThickness", 2473 string: "string", 2474 stroke: "stroke", 2475 strokedasharray: "strokeDasharray", 2476 "stroke-dasharray": "strokeDasharray", 2477 strokedashoffset: "strokeDashoffset", 2478 "stroke-dashoffset": "strokeDashoffset", 2479 strokelinecap: "strokeLinecap", 2480 "stroke-linecap": "strokeLinecap", 2481 strokelinejoin: "strokeLinejoin", 2482 "stroke-linejoin": "strokeLinejoin", 2483 strokemiterlimit: "strokeMiterlimit", 2484 "stroke-miterlimit": "strokeMiterlimit", 2485 strokewidth: "strokeWidth", 2486 "stroke-width": "strokeWidth", 2487 strokeopacity: "strokeOpacity", 2488 "stroke-opacity": "strokeOpacity", 2489 suppresscontenteditablewarning: "suppressContentEditableWarning", 2490 suppresshydrationwarning: "suppressHydrationWarning", 2491 surfacescale: "surfaceScale", 2492 systemlanguage: "systemLanguage", 2493 tablevalues: "tableValues", 2494 targetx: "targetX", 2495 targety: "targetY", 2496 textanchor: "textAnchor", 2497 "text-anchor": "textAnchor", 2498 textdecoration: "textDecoration", 2499 "text-decoration": "textDecoration", 2500 textlength: "textLength", 2501 textrendering: "textRendering", 2502 "text-rendering": "textRendering", 2503 to: "to", 2504 transform: "transform", 2505 typeof: "typeof", 2506 u1: "u1", 2507 u2: "u2", 2508 underlineposition: "underlinePosition", 2509 "underline-position": "underlinePosition", 2510 underlinethickness: "underlineThickness", 2511 "underline-thickness": "underlineThickness", 2512 unicode: "unicode", 2513 unicodebidi: "unicodeBidi",
vendor: 4,236 bytes, lines 2514-2658
2514 "unicode-bidi": "unicodeBidi", 2515 unicoderange: "unicodeRange", 2516 "unicode-range": "unicodeRange", 2517 unitsperem: "unitsPerEm", 2518 "units-per-em": "unitsPerEm", 2519 unselectable: "unselectable", 2520 valphabetic: "vAlphabetic", 2521 "v-alphabetic": "vAlphabetic", 2522 values: "values", 2523 vectoreffect: "vectorEffect", 2524 "vector-effect": "vectorEffect", 2525 version: "version", 2526 vertadvy: "vertAdvY", 2527 "vert-adv-y": "vertAdvY", 2528 vertoriginx: "vertOriginX", 2529 "vert-origin-x": "vertOriginX", 2530 vertoriginy: "vertOriginY", 2531 "vert-origin-y": "vertOriginY", 2532 vhanging: "vHanging", 2533 "v-hanging": "vHanging", 2534 videographic: "vIdeographic", 2535 "v-ideographic": "vIdeographic", 2536 viewbox: "viewBox", 2537 viewtarget: "viewTarget", 2538 visibility: "visibility", 2539 vmathematical: "vMathematical", 2540 "v-mathematical": "vMathematical", 2541 vocab: "vocab", 2542 widths: "widths", 2543 wordspacing: "wordSpacing", 2544 "word-spacing": "wordSpacing", 2545 writingmode: "writingMode", 2546 "writing-mode": "writingMode", 2547 x1: "x1", 2548 x2: "x2", 2549 x: "x", 2550 xchannelselector: "xChannelSelector", 2551 xheight: "xHeight", 2552 "x-height": "xHeight", 2553 xlinkactuate: "xlinkActuate", 2554 "xlink:actuate": "xlinkActuate", 2555 xlinkarcrole: "xlinkArcrole", 2556 "xlink:arcrole": "xlinkArcrole", 2557 xlinkhref: "xlinkHref", 2558 "xlink:href": "xlinkHref", 2559 xlinkrole: "xlinkRole", 2560 "xlink:role": "xlinkRole", 2561 xlinkshow: "xlinkShow", 2562 "xlink:show": "xlinkShow", 2563 xlinktitle: "xlinkTitle", 2564 "xlink:title": "xlinkTitle", 2565 xlinktype: "xlinkType", 2566 "xlink:type": "xlinkType", 2567 xmlbase: "xmlBase", 2568 "xml:base": "xmlBase", 2569 xmllang: "xmlLang", 2570 "xml:lang": "xmlLang", 2571 xmlns: "xmlns", 2572 "xml:space": "xmlSpace", 2573 xmlnsxlink: "xmlnsXlink", 2574 "xmlns:xlink": "xmlnsXlink", 2575 xmlspace: "xmlSpace", 2576 y1: "y1", 2577 y2: "y2", 2578 y: "y", 2579 ychannelselector: "yChannelSelector", 2580 z: "z", 2581 zoomandpan: "zoomAndPan" 2582 }; 2583 var ariaProperties = { 2584 "aria-current": 0, 2585 "aria-description": 0, 2586 "aria-details": 0, 2587 "aria-disabled": 0, 2588 "aria-hidden": 0, 2589 "aria-invalid": 0, 2590 "aria-keyshortcuts": 0, 2591 "aria-label": 0, 2592 "aria-roledescription": 0, 2593 "aria-autocomplete": 0, 2594 "aria-checked": 0, 2595 "aria-expanded": 0, 2596 "aria-haspopup": 0, 2597 "aria-level": 0, 2598 "aria-modal": 0, 2599 "aria-multiline": 0, 2600 "aria-multiselectable": 0, 2601 "aria-orientation": 0, 2602 "aria-placeholder": 0, 2603 "aria-pressed": 0, 2604 "aria-readonly": 0, 2605 "aria-required": 0, 2606 "aria-selected": 0, 2607 "aria-sort": 0, 2608 "aria-valuemax": 0, 2609 "aria-valuemin": 0, 2610 "aria-valuenow": 0, 2611 "aria-valuetext": 0, 2612 "aria-atomic": 0, 2613 "aria-busy": 0, 2614 "aria-live": 0, 2615 "aria-relevant": 0, 2616 "aria-dropeffect": 0, 2617 "aria-grabbed": 0, 2618 "aria-activedescendant": 0, 2619 "aria-colcount": 0, 2620 "aria-colindex": 0, 2621 "aria-colspan": 0, 2622 "aria-controls": 0, 2623 "aria-describedby": 0, 2624 "aria-errormessage": 0, 2625 "aria-flowto": 0, 2626 "aria-labelledby": 0, 2627 "aria-owns": 0, 2628 "aria-posinset": 0, 2629 "aria-rowcount": 0, 2630 "aria-rowindex": 0, 2631 "aria-rowspan": 0, 2632 "aria-setsize": 0 2633 }; 2634 var warnedProperties = {}; 2635 var rARIA = /* @__PURE__ */ new RegExp("^(aria)-[" + ATTRIBUTE_NAME_CHAR + "]*$"); 2636 var rARIACamel = /* @__PURE__ */ new RegExp("^(aria)[A-Z][" + ATTRIBUTE_NAME_CHAR + "]*$"); 2637 function validateProperty(tagName, name) { 2638 if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) return true; 2639 if (rARIACamel.test(name)) { 2640 var ariaName = "aria-" + name.slice(4).toLowerCase(); 2641 var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; 2642 if (correctName == null) { 2643 error("Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.", name); 2644 warnedProperties[name] = true; 2645 return true; 2646 } 2647 if (name !== correctName) { 2648 error("Invalid ARIA attribute `%s`. Did you mean `%s`?", name, correctName); 2649 warnedProperties[name] = true; 2650 return true; 2651 } 2652 } 2653 if (rARIA.test(name)) { 2654 var lowerCasedName = name.toLowerCase(); 2655 var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; 2656 if (standardName == null) { 2657 warnedProperties[name] = true; 2658 return false;
2659 } 2660 if (name !== standardName) { 2661 error("Unknown ARIA attribute `%s`. Did you mean `%s`?", name, standardName); 2662 warnedProperties[name] = true; 2663 return true; 2664 } 2665 } 2666 return true; 2667 } 2668 function warnInvalidARIAProps(type, props) { 2669 var invalidProps = []; 2670 for (var key in props) if (!validateProperty(type, key)) invalidProps.push(key); 2671 var unknownPropString = invalidProps.map(function(prop) { 2672 return "`" + prop + "`"; 2673 }).join(", "); 2674 if (invalidProps.length === 1) error("Invalid aria prop %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props", unknownPropString, type); 2675 else if (invalidProps.length > 1) error("Invalid aria props %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props", unknownPropString, type); 2676 } 2677 function validateProperties(type, props) { 2678 if (isCustomComponent(type, props)) return; 2679 warnInvalidARIAProps(type, props); 2680 } 2681 var didWarnValueNull = false; 2682 function validateProperties$1(type, props) { 2683 if (type !== "input" && type !== "textarea" && type !== "select") return; 2684 if (props != null && props.value === null && !didWarnValueNull) { 2685 didWarnValueNull = true; 2686 if (type === "select" && props.multiple) error("`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.", type); 2687 else error("`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.", type); 2688 } 2689 } 2690 var validateProperty$1 = function() {}; 2691 var warnedProperties$1 = {}; 2692 var EVENT_NAME_REGEX = /^on./; 2693 var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/; 2694 var rARIA$1 = /* @__PURE__ */ new RegExp("^(aria)-[" + ATTRIBUTE_NAME_CHAR + "]*$"); 2695 var rARIACamel$1 = /* @__PURE__ */ new RegExp("^(aria)[A-Z][" + ATTRIBUTE_NAME_CHAR + "]*$"); 2696 validateProperty$1 = function(tagName, name, value, eventRegistry) { 2697 if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) return true; 2698 var lowerCasedName = name.toLowerCase(); 2699 if (lowerCasedName === "onfocusin" || lowerCasedName === "onfocusout") { 2700 error("React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React."); 2701 warnedProperties$1[name] = true; 2702 return true; 2703 } 2704 if (eventRegistry != null) { 2705 var registrationNameDependencies$1 = eventRegistry.registrationNameDependencies, possibleRegistrationNames$1 = eventRegistry.possibleRegistrationNames; 2706 if (registrationNameDependencies$1.hasOwnProperty(name)) return true; 2707 var registrationName = possibleRegistrationNames$1.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames$1[lowerCasedName] : null; 2708 if (registrationName != null) { 2709 error("Invalid event handler property `%s`. Did you mean `%s`?", name, registrationName); 2710 warnedProperties$1[name] = true; 2711 return true; 2712 } 2713 if (EVENT_NAME_REGEX.test(name)) { 2714 error("Unknown event handler property `%s`. It will be ignored.", name); 2715 warnedProperties$1[name] = true; 2716 return true; 2717 } 2718 } else if (EVENT_NAME_REGEX.test(name)) { 2719 if (INVALID_EVENT_NAME_REGEX.test(name)) error("Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.", name); 2720 warnedProperties$1[name] = true; 2721 return true; 2722 } 2723 if (rARIA$1.test(name) || rARIACamel$1.test(name)) return true; 2724 if (lowerCasedName === "innerhtml") { 2725 error("Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."); 2726 warnedProperties$1[name] = true; 2727 return true; 2728 } 2729 if (lowerCasedName === "aria") { 2730 error("The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."); 2731 warnedProperties$1[name] = true; 2732 return true; 2733 } 2734 if (lowerCasedName === "is" && value !== null && value !== void 0 && typeof value !== "string") { 2735 error("Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.", typeof value); 2736 warnedProperties$1[name] = true; 2737 return true; 2738 } 2739 if (typeof value === "number" && isNaN(value)) { 2740 error("Received NaN for the `%s` attribute. If this is expected, cast the value to a string.", name); 2741 warnedProperties$1[name] = true; 2742 return true; 2743 } 2744 var propertyInfo = getPropertyInfo(name); 2745 var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; 2746 if (possibleStandardNames.hasOwnProperty(lowerCasedName)) { 2747 var standardName = possibleStandardNames[lowerCasedName]; 2748 if (standardName !== name) { 2749 error("Invalid DOM property `%s`. Did you mean `%s`?", name, standardName); 2750 warnedProperties$1[name] = true; 2751 return true; 2752 } 2753 } else if (!isReserved && name !== lowerCasedName) { 2754 error("React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.", name, lowerCasedName); 2755 warnedProperties$1[name] = true; 2756 return true; 2757 } 2758 if (typeof value === "boolean" && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) { 2759 if (value) error("Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s=\"%s\" or %s={value.toString()}.", value, name, name, value, name); 2760 else error("Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s=\"%s\" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.", value, name, name, value, name, name, name); 2761 warnedProperties$1[name] = true; 2762 return true; 2763 } 2764 if (isReserved) return true; 2765 if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) { 2766 warnedProperties$1[name] = true; 2767 return false;
2768 } 2769 if ((value === "false" || value === "true") && propertyInfo !== null && propertyInfo.type === BOOLEAN) { 2770 error("Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?", value, name, value === "false" ? "The browser will interpret it as a truthy value." : "Although this works, it will not work as expected if you pass the string \"false\".", name, value); 2771 warnedProperties$1[name] = true; 2772 return true; 2773 } 2774 return true; 2775 }; 2776 var warnUnknownProperties = function(type, props, eventRegistry) { 2777 var unknownProps = []; 2778 for (var key in props) if (!validateProperty$1(type, key, props[key], eventRegistry)) unknownProps.push(key); 2779 var unknownPropString = unknownProps.map(function(prop) { 2780 return "`" + prop + "`"; 2781 }).join(", "); 2782 if (unknownProps.length === 1) error("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://reactjs.org/link/attribute-behavior ", unknownPropString, type); 2783 else if (unknownProps.length > 1) error("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://reactjs.org/link/attribute-behavior ", unknownPropString, type); 2784 }; 2785 function validateProperties$2(type, props, eventRegistry) { 2786 if (isCustomComponent(type, props)) return; 2787 warnUnknownProperties(type, props, eventRegistry); 2788 } 2789 var IS_EVENT_HANDLE_NON_MANAGED_NODE = 1; 2790 var IS_NON_DELEGATED = 2; 2791 var IS_CAPTURE_PHASE = 4; 2792 var SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS = IS_EVENT_HANDLE_NON_MANAGED_NODE | IS_NON_DELEGATED | IS_CAPTURE_PHASE; 2793 var currentReplayingEvent = null; 2794 function setReplayingEvent(event) { 2795 if (currentReplayingEvent !== null) error("Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue."); 2796 currentReplayingEvent = event; 2797 } 2798 function resetReplayingEvent() { 2799 if (currentReplayingEvent === null) error("Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue."); 2800 currentReplayingEvent = null; 2801 } 2802 function isReplayingEvent(event) { 2803 return event === currentReplayingEvent; 2804 } 2805 function getEventTarget(nativeEvent) { 2806 var target = nativeEvent.target || nativeEvent.srcElement || window; 2807 if (target.correspondingUseElement) target = target.correspondingUseElement; 2808 return target.nodeType === TEXT_NODE ? target.parentNode : target; 2809 } 2810 var restoreImpl = null; 2811 var restoreTarget = null; 2812 var restoreQueue = null; 2813 function restoreStateOfTarget(target) { 2814 var internalInstance = getInstanceFromNode(target); 2815 if (!internalInstance) return; 2816 if (typeof restoreImpl !== "function") throw new Error("setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue."); 2817 var stateNode = internalInstance.stateNode; 2818 if (stateNode) { 2819 var _props = getFiberCurrentPropsFromNode(stateNode); 2820 restoreImpl(internalInstance.stateNode, internalInstance.type, _props); 2821 } 2822 } 2823 function setRestoreImplementation(impl) { 2824 restoreImpl = impl; 2825 } 2826 function enqueueStateRestore(target) { 2827 if (restoreTarget) if (restoreQueue) restoreQueue.push(target); 2828 else restoreQueue = [target]; 2829 else restoreTarget = target; 2830 } 2831 function needsStateRestore() { 2832 return restoreTarget !== null || restoreQueue !== null; 2833 } 2834 function restoreStateIfNeeded() { 2835 if (!restoreTarget) return; 2836 var target = restoreTarget; 2837 var queuedTargets = restoreQueue; 2838 restoreTarget = null; 2839 restoreQueue = null; 2840 restoreStateOfTarget(target); 2841 if (queuedTargets) for (var i = 0; i < queuedTargets.length; i++) restoreStateOfTarget(queuedTargets[i]); 2842 } 2843 var batchedUpdatesImpl = function(fn, bookkeeping) { 2844 return fn(bookkeeping); 2845 }; 2846 var flushSyncImpl = function() {}; 2847 var isInsideEventHandler = false; 2848 function finishEventHandler() { 2849 if (needsStateRestore()) { 2850 flushSyncImpl(); 2851 restoreStateIfNeeded(); 2852 } 2853 } 2854 function batchedUpdates(fn, a, b) { 2855 if (isInsideEventHandler) return fn(a, b); 2856 isInsideEventHandler = true; 2857 try { 2858 return batchedUpdatesImpl(fn, a, b); 2859 } finally { 2860 isInsideEventHandler = false;
2861 finishEventHandler(); 2862 } 2863 } 2864 function setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushSyncImpl) { 2865 batchedUpdatesImpl = _batchedUpdatesImpl; 2866 flushSyncImpl = _flushSyncImpl; 2867 } 2868 function isInteractive(tag) { 2869 return tag === "button" || tag === "input" || tag === "select" || tag === "textarea"; 2870 } 2871 function shouldPreventMouseEvent(name, type, props) { 2872 switch (name) { 2873 case "onClick": 2874 case "onClickCapture": 2875 case "onDoubleClick": 2876 case "onDoubleClickCapture": 2877 case "onMouseDown": 2878 case "onMouseDownCapture": 2879 case "onMouseMove": 2880 case "onMouseMoveCapture": 2881 case "onMouseUp": 2882 case "onMouseUpCapture": 2883 case "onMouseEnter": return !!(props.disabled && isInteractive(type)); 2884 default: return false; 2885 } 2886 } 2887 function getListener(inst, registrationName) { 2888 var stateNode = inst.stateNode; 2889 if (stateNode === null) return null; 2890 var props = getFiberCurrentPropsFromNode(stateNode); 2891 if (props === null) return null; 2892 var listener = props[registrationName]; 2893 if (shouldPreventMouseEvent(registrationName, inst.type, props)) return null; 2894 if (listener && typeof listener !== "function") throw new Error("Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof listener + "` type."); 2895 return listener; 2896 } 2897 var passiveBrowserEventsSupported = false; 2898 if (canUseDOM) try { 2899 var options = {}; 2900 Object.defineProperty(options, "passive", { get: function() { 2901 passiveBrowserEventsSupported = true; 2902 } }); 2903 window.addEventListener("test", options, options); 2904 window.removeEventListener("test", options, options); 2905 } catch (e) { 2906 passiveBrowserEventsSupported = false; 2907 } 2908 function invokeGuardedCallbackProd(name, func, context, a, b, c, d, e, f) { 2909 var funcArgs = Array.prototype.slice.call(arguments, 3); 2910 try { 2911 func.apply(context, funcArgs); 2912 } catch (error$1) { 2913 this.onError(error$1); 2914 } 2915 } 2916 var invokeGuardedCallbackImpl = invokeGuardedCallbackProd; 2917 if (typeof window !== "undefined" && typeof window.dispatchEvent === "function" && typeof document !== "undefined" && typeof document.createEvent === "function") { 2918 var fakeNode = document.createElement("react"); 2919 invokeGuardedCallbackImpl = function invokeGuardedCallbackDev(name, func, context, a, b, c, d, e, f) { 2920 if (typeof document === "undefined" || document === null) throw new Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous."); 2921 var evt = document.createEvent("Event"); 2922 var didCall = false; 2923 var didError = true; 2924 var windowEvent = window.event; 2925 var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, "event"); 2926 function restoreAfterDispatch() { 2927 fakeNode.removeEventListener(evtType, callCallback$1, false); 2928 if (typeof window.event !== "undefined" && window.hasOwnProperty("event")) window.event = windowEvent; 2929 } 2930 var funcArgs = Array.prototype.slice.call(arguments, 3); 2931 function callCallback$1() { 2932 didCall = true; 2933 restoreAfterDispatch(); 2934 func.apply(context, funcArgs); 2935 didError = false; 2936 } 2937 var error$1; 2938 var didSetError = false; 2939 var isCrossOriginError = false; 2940 function handleWindowError(event) { 2941 error$1 = event.error; 2942 didSetError = true; 2943 if (error$1 === null && event.colno === 0 && event.lineno === 0) isCrossOriginError = true; 2944 if (event.defaultPrevented) { 2945 if (error$1 != null && typeof error$1 === "object") try { 2946 error$1._suppressLogging = true; 2947 } catch (inner) {} 2948 } 2949 } 2950 var evtType = "react-" + (name ? name : "invokeguardedcallback"); 2951 window.addEventListener("error", handleWindowError); 2952 fakeNode.addEventListener(evtType, callCallback$1, false); 2953 evt.initEvent(evtType, false, false); 2954 fakeNode.dispatchEvent(evt); 2955 if (windowEventDescriptor) Object.defineProperty(window, "event", windowEventDescriptor); 2956 if (didCall && didError) { 2957 if (!didSetError) error$1 = /* @__PURE__ */ new Error("An error was thrown inside one of your components, but React doesn't know
2957what it was. This is likely due to browser flakiness. React does its best to preserve the \"Pause on exceptions\" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue."); 2958 else if (isCrossOriginError) error$1 = /* @__PURE__ */ new Error("A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://reactjs.org/link/crossorigin-error for more information."); 2959 this.onError(error$1); 2960 } 2961 window.removeEventListener("error", handleWindowError); 2962 if (!didCall) { 2963 restoreAfterDispatch(); 2964 return invokeGuardedCallbackProd.apply(this, arguments); 2965 } 2966 }; 2967 } 2968 var invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl; 2969 var hasError = false; 2970 var caughtError = null; 2971 var hasRethrowError = false; 2972 var rethrowError = null; 2973 var reporter = { onError: function(error$1) { 2974 hasError = true; 2975 caughtError = error$1; 2976 } }; 2977 function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { 2978 hasError = false; 2979 caughtError = null; 2980 invokeGuardedCallbackImpl$1.apply(reporter, arguments); 2981 } 2982 function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) { 2983 invokeGuardedCallback.apply(this, arguments); 2984 if (hasError) { 2985 var error$1 = clearCaughtError(); 2986 if (!hasRethrowError) { 2987 hasRethrowError = true; 2988 rethrowError = error$1; 2989 } 2990 } 2991 } 2992 function rethrowCaughtError() { 2993 if (hasRethrowError) { 2994 var error$1 = rethrowError; 2995 hasRethrowError = false; 2996 rethrowError = null; 2997 throw error$1; 2998 } 2999 } 3000 function hasCaughtError() { 3001 return hasError; 3002 } 3003 function clearCaughtError() { 3004 if (hasError) { 3005 var error$1 = caughtError; 3006 hasError = false; 3007 caughtError = null; 3008 return error$1; 3009 } else throw new Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue."); 3010 } 3011 function get(key) { 3012 return key._reactInternals; 3013 } 3014 function has(key) { 3015 return key._reactInternals !== void 0; 3016 } 3017 function set(key, value) { 3018 key._reactInternals = value; 3019 } 3020 var NoFlags = 0; 3021 var PerformedWork = 1; 3022 var Placement = 2; 3023 var Update = 4; 3024 var ChildDeletion = 16; 3025 var ContentReset = 32; 3026 var Callback = 64; 3027 var DidCapture = 128; 3028 var ForceClientRender = 256; 3029 var Ref = 512; 3030 var Snapshot = 1024; 3031 var Passive = 2048; 3032 var Hydrating = 4096; 3033 var Visibility = 8192; 3034 var StoreConsistency = 16384; 3035 var LifecycleEffectMask = Passive | Update | Callback | Ref | Snapshot | StoreConsistency; 3036 var HostEffectMask = 32767; 3037 var Incomplete = 32768; 3038 var ShouldCapture = 65536; 3039 var ForceUpdateForLegacySuspense = 131072; 3040 var Forked = 1048576; 3041 var RefStatic = 2097152; 3042 var LayoutStatic = 4194304; 3043 var PassiveStatic = 8388608; 3044 var MountLayoutDev = 16777216; 3045 var MountPassiveDev = 33554432; 3046 var BeforeMutationMask = Update | Snapshot | 0; 3047 var MutationMask = Placement | Update | ChildDeletion | ContentReset | Ref | Hydrating | Visibility; 3048 var LayoutMask = Update | Callback | Ref | Visibility; 3049 var PassiveMask = Passive | ChildDeletion; 3050 var StaticMask = LayoutStatic | PassiveStatic | RefStatic; 3051 var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; 3052 function getNearestMountedFiber(fiber) { 3053 var node = fiber; 3054 var nearestMounted = fiber; 3055 if (!fiber.alternate) { 3056 var nextNode = node; 3057 do { 3058 node = nextNode; 3059 if ((node.flags & (Placement | Hydrating)) !== NoFlags) nearestMounted = node.return; 3060 nextNode = node.return; 3061 } while (nextNode); 3062 } else while (node.return) node = node.return; 3063 if (node.tag === HostRoot) return nearestMounted; 3064 return null; 3065 } 3066 function getSuspenseInstanceFromFiber(fiber) { 3067 if (fiber.tag === SuspenseComponent) { 3068 var suspenseState = fiber.memoizedState; 3069 if (suspenseState === null) { 3070 var current$1 = fiber.alternate; 3071 if (current$1 !== null) suspenseState = current$1.memoizedState; 3072 } 3073 if (suspenseState !== null) return suspenseState.dehydrated; 3074 } 3075 return null; 3076 } 3077 function getContainerFromFiber(fiber) { 3078 return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null; 3079 } 3080 function isFiberMounted(fiber) { 3081 return getNearestMountedFiber(fiber) === fiber; 3082 } 3083 function isMounted(component) { 3084 var owner = ReactCurrentOwner.current; 3085 if (owner !== null && owner.tag === ClassComponent) { 3086 var ownerFiber = owner; 3087 var instance = ownerFiber.stateNode; 3088 if (!instance._warnedAboutRefsInRender) error("%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", getComponentNameFromFiber(ownerFiber) || "A component"); 3089 instance._warnedAboutRefsInRender = true; 3090 } 3091 var fiber = get(component); 3092 if (!fiber) return false;
3093 return getNearestMountedFiber(fiber) === fiber; 3094 } 3095 function assertIsMounted(fiber) { 3096 if (getNearestMountedFiber(fiber) !== fiber) throw new Error("Unable to find node on an unmounted component."); 3097 } 3098 function findCurrentFiberUsingSlowPath(fiber) { 3099 var alternate = fiber.alternate; 3100 if (!alternate) { 3101 var nearestMounted = getNearestMountedFiber(fiber); 3102 if (nearestMounted === null) throw new Error("Unable to find node on an unmounted component."); 3103 if (nearestMounted !== fiber) return null; 3104 return fiber; 3105 } 3106 var a = fiber; 3107 var b = alternate; 3108 while (true) { 3109 var parentA = a.return; 3110 if (parentA === null) break; 3111 var parentB = parentA.alternate; 3112 if (parentB === null) { 3113 var nextParent = parentA.return; 3114 if (nextParent !== null) { 3115 a = b = nextParent; 3116 continue; 3117 } 3118 break; 3119 } 3120 if (parentA.child === parentB.child) { 3121 var child = parentA.child; 3122 while (child) { 3123 if (child === a) { 3124 assertIsMounted(parentA); 3125 return fiber; 3126 } 3127 if (child === b) { 3128 assertIsMounted(parentA); 3129 return alternate; 3130 } 3131 child = child.sibling; 3132 } 3133 throw new Error("Unable to find node on an unmounted component."); 3134 } 3135 if (a.return !== b.return) { 3136 a = parentA; 3137 b = parentB; 3138 } else { 3139 var didFindChild = false; 3140 var _child = parentA.child; 3141 while (_child) { 3142 if (_child === a) { 3143 didFindChild = true; 3144 a = parentA; 3145 b = parentB; 3146 break; 3147 } 3148 if (_child === b) { 3149 didFindChild = true; 3150 b = parentA; 3151 a = parentB; 3152 break; 3153 } 3154 _child = _child.sibling; 3155 } 3156 if (!didFindChild) { 3157 _child = parentB.child; 3158 while (_child) { 3159 if (_child === a) { 3160 didFindChild = true; 3161 a = parentB; 3162 b = parentA; 3163 break; 3164 } 3165 if (_child === b) { 3166 didFindChild = true; 3167 b = parentB; 3168 a = parentA; 3169 break; 3170 } 3171 _child = _child.sibling; 3172 } 3173 if (!didFindChild) throw new Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue."); 3174 } 3175 } 3176 if (a.alternate !== b) throw new Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."); 3177 }
3178 if (a.tag !== HostRoot) throw new Error("Unable to find node on an unmounted component."); 3179 if (a.stateNode.current === a) return fiber; 3180 return alternate; 3181 } 3182 function findCurrentHostFiber(parent) { 3183 var currentParent = findCurrentFiberUsingSlowPath(parent); 3184 return currentParent !== null ? findCurrentHostFiberImpl(currentParent) : null; 3185 } 3186 function findCurrentHostFiberImpl(node) { 3187 if (node.tag === HostComponent || node.tag === HostText) return node; 3188 var child = node.child; 3189 while (child !== null) { 3190 var match = findCurrentHostFiberImpl(child); 3191 if (match !== null) return match; 3192 child = child.sibling; 3193 } 3194 return null; 3195 } 3196 function findCurrentHostFiberWithNoPortals(parent) { 3197 var currentParent = findCurrentFiberUsingSlowPath(parent); 3198 return currentParent !== null ? findCurrentHostFiberWithNoPortalsImpl(currentParent) : null; 3199 } 3200 function findCurrentHostFiberWithNoPortalsImpl(node) { 3201 if (node.tag === HostComponent || node.tag === HostText) return node; 3202 var child = node.child; 3203 while (child !== null) { 3204 if (child.tag !== HostPortal) { 3205 var match = findCurrentHostFiberWithNoPortalsImpl(child); 3206 if (match !== null) return match; 3207 } 3208 child = child.sibling; 3209 } 3210 return null; 3211 } 3212 var scheduleCallback = Scheduler.unstable_scheduleCallback; 3213 var cancelCallback = Scheduler.unstable_cancelCallback; 3214 var shouldYield = Scheduler.unstable_shouldYield; 3215 var requestPaint = Scheduler.unstable_requestPaint; 3216 var now = Scheduler.unstable_now; 3217 var getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel; 3218 var ImmediatePriority = Scheduler.unstable_ImmediatePriority; 3219 var UserBlockingPriority = Scheduler.unstable_UserBlockingPriority; 3220 var NormalPriority = Scheduler.unstable_NormalPriority; 3221 var LowPriority = Scheduler.unstable_LowPriority; 3222 var IdlePriority = Scheduler.unstable_IdlePriority; 3223 var unstable_yieldValue = Scheduler.unstable_yieldValue; 3224 var unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue; 3225 var rendererID = null; 3226 var injectedHook = null; 3227 var injectedProfilingHooks = null; 3228 var hasLoggedError = false; 3229 var isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined"; 3230 function injectInternals(internals) { 3231 if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === "undefined") return false; 3232 var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; 3233 if (hook.isDisabled) return true; 3234 if (!hook.supportsFiber) { 3235 error("The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://reactjs.org/link/react-devtools"); 3236 return true; 3237 } 3238 try { 3239 if (enableSchedulingProfiler) internals = assign({}, internals, { 3240 getLaneLabelMap, 3241 injectProfilingHooks 3242 }); 3243 rendererID = hook.inject(internals); 3244 injectedHook = hook; 3245 } catch (err) { 3246 error("React instrumentation encountered an error: %s.", err); 3247 } 3248 if (hook.checkDCE) return true; 3249 else return false; 3250 } 3251 function onScheduleRoot(root$1, children) { 3252 if (injectedHook && typeof injectedHook.onScheduleFiberRoot === "function") try { 3253 injectedHook.onScheduleFiberRoot(rendererID, root$1, children); 3254 } catch (err) { 3255 if (!hasLoggedError) { 3256 hasLoggedError = true; 3257 error("React instrumentation encountered an error: %s", err); 3258 } 3259 } 3260 } 3261 function onCommitRoot(root$1, eventPriority) { 3262 if (injectedHook && typeof injectedHook.onCommitFiberRoot === "function") try { 3263 var didError = (root$1.current.flags & DidCapture) === DidCapture; 3264 if (enableProfilerTimer) { 3265 var schedulerPriority; 3266 switch (eventPriority) { 3267 case DiscreteEventPriority: 3268 schedulerPriority = ImmediatePriority; 3269 break; 3270 case ContinuousEventPriority: 3271 schedulerPriority = UserBlockingPriority; 3272 break; 3273 case DefaultEventPriority: 3274 schedulerPriority = NormalPriority; 3275 break; 3276 case IdleEventPriority: 3277 schedulerPriority = IdlePriority; 3278 break; 3279 default: 3280 schedulerPriority = NormalPriority; 3281 break; 3282 } 3283 injectedHook.onCommitFiberRoot(rendererID, root$1, schedulerPriority, didError); 3284 } else injectedHook.onCommitFiberRoot(rendererID, root$1, void 0, didError); 3285 } catch (err) { 3286 if (!hasLoggedError) { 3287 hasLoggedError = true; 3288 error("React instrumentation encountered an error: %s", err); 3289 } 3290 } 3291 } 3292 function onPostCommitRoot(root$1) { 3293 if (injectedHook && typeof injectedHook.onPostCommitFiberRoot === "function") try { 3294 injectedHook.onPostCommitFiberRoot(rendererID, root$1); 3295 } catch (err) { 3296 if (!hasLoggedError) { 3297 hasLoggedError = true; 3298 error("React instrumentation encountered an error: %s", err); 3299 } 3300 } 3301 } 3302 function onCommitUnmount(fiber) { 3303 if (injectedHook && typeof injectedHook.onCommitFiberUnmount === "function") try { 3304 injectedHook.onCommitFiberUnmount(rendererID, fiber); 3305 } catch (err) { 3306 if (!hasLoggedError) { 3307 hasLoggedError = true; 3308 error("React instrumentation encountered an error: %s", err); 3309 } 3310 } 3311 } 3312 function setIsStrictModeForDevtools(newIsStrictMode) { 3313 if (typeof unstable_yieldValue === "function") { 3314 unstable_setDisableYieldValue(newIsStrictMode); 3315 setSuppressWarning(newIsStrictMode); 3316 } 3317 if (injectedHook && typeof injectedHook.setStrictMode === "function") try { 3318 injectedHook.setStrictMode(rendererID, newIsStrictMode); 3319 } catch (err) { 3320 if (!hasLoggedError) { 3321 hasLoggedError = true; 3322 error("React instrumentation encountered an error: %s", err); 3323 } 3324 } 3325 } 3326 function injectProfilingHooks(profilingHooks) { 3327 injectedProfilingHooks = profilingHooks; 3328 } 3329 function getLaneLabelMap() { 3330 var map = /* @__PURE__ */ new Map(); 3331 var lane = 1; 3332 for (var index$1 = 0; index$1 < TotalLanes; index$1++) { 3333 var label = getLabelForLane(lane); 3334 map.set(lane, label); 3335 lane *= 2; 3336 } 3337 return map; 3338 } 3339 function markCommitStarted(lanes) { 3340 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStarted === "function") injectedProfilingHooks.markCommitStarted(lanes); 3341 } 3342 function markCommitStopped() { 3343 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markCommitStopped === "function") injectedProfilingHooks.markCommitStopped(); 3344 } 3345 function markComponentRenderStarted(fiber) { 3346 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStarted === "function") injectedProfilingHooks.markComponentRenderStarted(fiber); 3347 } 3348 function markComponentRenderStopped() { 3349 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentRenderStopped === "function") injectedProfilingHooks.markComponentRenderStopped(); 3350 } 3351 function markComponentPassiveEffectMountStarted(fiber) { 3352 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted === "function") injectedProfilingHooks.markComponentPassiveEffectMountStarted(fiber); 3353 } 3354 function markComponentPassiveEffectMountStopped() { 3355 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped === "function") injectedProfilingHooks.markComponentPassiveEffectMountStopped(); 3356 } 3357 function markComponentPassiveEffectUnmountStarted(fiber) { 3358 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted === "function") injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(fiber); 3359 } 3360 function markComponentPassiveEffectUnmountStopped() { 3361 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped === "function") injectedProfilingHooks.markComponentPassiveEffectUnmountStopped(); 3362 } 3363 function markComponentLayoutEffectMountStarted(fiber) { 3364 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted === "function") injectedProfilingHooks.markComponentLayoutEffectMountStarted(fiber); 3365 } 3366 function markComponentLayoutEffectMountStopped() { 3367 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped === "function") injectedProfilingHooks.markComponentLayoutEffectMountStopped(); 3368 } 3369 function markComponentLayoutEffectUnmountStarted(fiber) { 3370 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted === "function") injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(fiber); 3371 } 3372 function markComponentLayoutEffectUnmountStopped() { 3373 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped === "function") injectedProfilingHooks.markComponentLayoutEffectUnmountStopped(); 3374 } 3375 function markComponentErrored(fiber, thrownValue, lanes) { 3376 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentErrored === "function") injectedProfilingHooks.markComponentErrored(fiber, thrownValue, lanes); 3377 } 3378 function markComponentSuspended(fiber, wakeable, lanes) { 3379 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markComponentSuspended === "function") injectedProfilingHooks.markComponentSuspended(fiber, wakeable, lanes); 3380 } 3381 function markLayoutEffectsStarted(lanes) { 3382 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStarted === "function") injectedProfilingHooks.markLayoutEffectsStarted(lanes); 3383 } 3384 function markLayoutEffectsStopped() { 3385 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markLayoutEffectsStopped === "function") injectedProfilingHooks.markLayoutEffectsStopped(); 3386 } 3387 function markPassiveEffectsStarted(lanes) { 3388 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStarted === "function") injectedProfilingHooks.markPassiveEffectsStarted(lanes); 3389 } 3390 function markPassiveEffectsStopped() { 3391 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markPassiveEffectsStopped === "function") injectedProfilingHooks.markPassiveEffectsStopped(); 3392 } 3393 function markRenderStarted(lanes) { 3394 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStarted === "function") injectedProfilingHooks.markRenderStarted(lanes); 3395 } 3396 function markRenderYielded() { 3397 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderYielded === "function") injectedProfilingHooks.markRenderYielded(); 3398 } 3399 function markRenderStopped() { 3400 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderStopped === "function") injectedProfilingHooks.markRenderStopped(); 3401 } 3402 function markRenderScheduled(lane) { 3403 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markRenderScheduled === "function") injectedProfilingHooks.markRenderScheduled(lane); 3404 } 3405 function markForceUpdateScheduled(fiber, lane) { 3406 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markForceUpdateScheduled === "function") injectedProfilingHooks.markForceUpdateScheduled(fiber, lane); 3407 } 3408 function markStateUpdateScheduled(fiber, lane) { 3409 if (injectedProfilingHooks !== null && typeof injectedProfilingHooks.markStateUpdateScheduled === "function") injectedProfilingHooks.markStateUpdateScheduled(fiber, lane); 3410 } 3411 var NoMode = 0; 3412 var ConcurrentMode = 1; 3413 var ProfileMode = 2; 3414 var StrictLegacyMode = 8; 3415 var StrictEffectsMode = 16;
3416 var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback; 3417 var log = Math.log; 3418 var LN2 = Math.LN2; 3419 function clz32Fallback(x) { 3420 var asUint = x >>> 0; 3421 if (asUint === 0) return 32; 3422 return 31 - (log(asUint) / LN2 | 0) | 0; 3423 } 3424 var TotalLanes = 31; 3425 var NoLanes = 0; 3426 var NoLane = 0; 3427 var SyncLane = 1; 3428 var InputContinuousHydrationLane = 2; 3429 var InputContinuousLane = 4; 3430 var DefaultHydrationLane = 8; 3431 var DefaultLane = 16; 3432 var TransitionHydrationLane = 32; 3433 var TransitionLanes = 4194240; 3434 var TransitionLane1 = 64; 3435 var TransitionLane2 = 128; 3436 var TransitionLane3 = 256; 3437 var TransitionLane4 = 512; 3438 var TransitionLane5 = 1024; 3439 var TransitionLane6 = 2048; 3440 var TransitionLane7 = 4096; 3441 var TransitionLane8 = 8192; 3442 var TransitionLane9 = 16384; 3443 var TransitionLane10 = 32768; 3444 var TransitionLane11 = 65536; 3445 var TransitionLane12 = 131072; 3446 var TransitionLane13 = 262144; 3447 var TransitionLane14 = 524288; 3448 var TransitionLane15 = 1048576; 3449 var TransitionLane16 = 2097152; 3450 var RetryLanes = 130023424; 3451 var RetryLane1 = 4194304; 3452 var RetryLane2 = 8388608; 3453 var RetryLane3 = 16777216; 3454 var RetryLane4 = 33554432; 3455 var RetryLane5 = 67108864; 3456 var SomeRetryLane = RetryLane1; 3457 var SelectiveHydrationLane = 134217728; 3458 var NonIdleLanes = 268435455; 3459 var IdleHydrationLane = 268435456; 3460 var IdleLane = 536870912; 3461 var OffscreenLane = 1073741824; 3462 function getLabelForLane(lane) { 3463 if (lane & SyncLane) return "Sync"; 3464 if (lane & InputContinuousHydrationLane) return "InputContinuousHydration"; 3465 if (lane & InputContinuousLane) return "InputContinuous"; 3466 if (lane & DefaultHydrationLane) return "DefaultHydration"; 3467 if (lane & DefaultLane) return "Default"; 3468 if (lane & TransitionHydrationLane) return "TransitionHydration"; 3469 if (lane & TransitionLanes) return "Transition"; 3470 if (lane & RetryLanes) return "Retry"; 3471 if (lane & SelectiveHydrationLane) return "SelectiveHydration"; 3472 if (lane & IdleHydrationLane) return "IdleHydration"; 3473 if (lane & IdleLane) return "Idle"; 3474 if (lane & OffscreenLane) return "Offscreen"; 3475 } 3476 var NoTimestamp = -1; 3477 var nextTransitionLane = TransitionLane1; 3478 var nextRetryLane = RetryLane1; 3479 function getHighestPriorityLanes(lanes) { 3480 switch (getHighestPriorityLane(lanes)) { 3481 case SyncLane: return SyncLane; 3482 case InputContinuousHydrationLane: return InputContinuousHydrationLane; 3483 case InputContinuousLane: return InputContinuousLane; 3484 case DefaultHydrationLane: return DefaultHydrationLane; 3485 case DefaultLane: return DefaultLane; 3486 case TransitionHydrationLane: return TransitionHydrationLane; 3487 case TransitionLane1: 3488 case TransitionLane2: 3489 case TransitionLane3: 3490 case TransitionLane4: 3491 case TransitionLane5: 3492 case TransitionLane6: 3493 case TransitionLane7: 3494 case TransitionLane8: 3495 case TransitionLane9: 3496 case TransitionLane10: 3497 case TransitionLane11: 3498 case TransitionLane12: 3499 case TransitionLane13: 3500 case TransitionLane14: 3501 case TransitionLane15: 3502 case TransitionLane16: return lanes & TransitionLanes; 3503 case RetryLane1: 3504 case RetryLane2: 3505 case RetryLane3: 3506 case RetryLane4: 3507 case RetryLane5: return lanes & RetryLanes; 3508 case SelectiveHydrationLane: return SelectiveHydrationLane; 3509 case IdleHydrationLane: return IdleHydrationLane; 3510 case IdleLane: return IdleLane; 3511 case OffscreenLane: return OffscreenLane; 3512 default: 3513 error("Should have found matching lanes. This is a bug in React."); 3514 return lanes; 3515 } 3516 } 3517 function getNextLanes(root$1, wipLanes) { 3518 var pendingLanes = root$1.pendingLanes; 3519 if (pendingLanes === NoLanes) return NoLanes; 3520 var nextLanes = NoLanes; 3521 var suspendedLanes = root$1.suspendedLanes; 3522 var pingedLanes = root$1.pingedLanes; 3523 var nonIdlePendingLanes = pendingLanes & NonIdleLanes; 3524 if (nonIdlePendingLanes !== NoLanes) { 3525 var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes; 3526 if (nonIdleUnblockedLanes !== NoLanes) nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes); 3527 else { 3528 var nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes; 3529 if (nonIdlePingedLanes !== NoLanes) nextLanes = getHighestPriorityLanes(nonIdlePingedLanes); 3530 } 3531 } else { 3532 var unblockedLanes = pendingLanes & ~suspendedLanes; 3533 if (unblockedLanes !== NoLanes) nextLanes = getHighestPriorityLanes(unblockedLanes); 3534 else if (pingedLanes !== NoLanes) nextLanes = getHighestPriorityLanes(pingedLanes); 3535 } 3536 if (nextLanes === NoLanes) return NoLanes; 3537 if (wipLanes !== NoLanes && wipLanes !== nextLanes && (wipLanes & suspendedLanes) === NoLanes) { 3538 var nextLane = getHighestPriorityLane(nextLanes); 3539 var wipLane = getHighestPriorityLane(wipLanes); 3540 if (nextLane >= wipLane || nextLane === DefaultLane && (wipLane & TransitionLanes) !== NoLanes) return wipLanes; 3541 } 3542 if ((nextLanes & InputContinuousLane) !== NoLanes) nextLanes |= pendingLanes & DefaultLane; 3543 var entangledLanes = root$1.entangledLanes; 3544 if (entangledLanes !== NoLanes) { 3545 var entanglements = root$1.entanglements; 3546 var lanes = nextLanes & entangledLanes; 3547 while (lanes > 0) {
3548 var index$1 = pickArbitraryLaneIndex(lanes); 3549 var lane = 1 << index$1; 3550 nextLanes |= entanglements[index$1]; 3551 lanes &= ~lane; 3552 } 3553 } 3554 return nextLanes; 3555 } 3556 function getMostRecentEventTime(root$1, lanes) { 3557 var eventTimes = root$1.eventTimes; 3558 var mostRecentEventTime = NoTimestamp; 3559 while (lanes > 0) { 3560 var index$1 = pickArbitraryLaneIndex(lanes); 3561 var lane = 1 << index$1; 3562 var eventTime = eventTimes[index$1]; 3563 if (eventTime > mostRecentEventTime) mostRecentEventTime = eventTime; 3564 lanes &= ~lane; 3565 } 3566 return mostRecentEventTime; 3567 } 3568 function computeExpirationTime(lane, currentTime) { 3569 switch (lane) { 3570 case SyncLane: 3571 case InputContinuousHydrationLane: 3572 case InputContinuousLane: return currentTime + 250; 3573 case DefaultHydrationLane: 3574 case DefaultLane: 3575 case TransitionHydrationLane: 3576 case TransitionLane1: 3577 case TransitionLane2: 3578 case TransitionLane3: 3579 case TransitionLane4: 3580 case TransitionLane5: 3581 case TransitionLane6: 3582 case TransitionLane7: 3583 case TransitionLane8: 3584 case TransitionLane9: 3585 case TransitionLane10: 3586 case TransitionLane11: 3587 case TransitionLane12: 3588 case TransitionLane13: 3589 case TransitionLane14: 3590 case TransitionLane15: 3591 case TransitionLane16: return currentTime + 5e3; 3592 case RetryLane1: 3593 case RetryLane2: 3594 case RetryLane3: 3595 case RetryLane4: 3596 case RetryLane5: return NoTimestamp; 3597 case SelectiveHydrationLane: 3598 case IdleHydrationLane: 3599 case IdleLane: 3600 case OffscreenLane: return NoTimestamp; 3601 default: 3602 error("Should have found matching lanes. This is a bug in React."); 3603 return NoTimestamp; 3604 } 3605 } 3606 function markStarvedLanesAsExpired(root$1, currentTime) { 3607 var pendingLanes = root$1.pendingLanes; 3608 var suspendedLanes = root$1.suspendedLanes; 3609 var pingedLanes = root$1.pingedLanes; 3610 var expirationTimes = root$1.expirationTimes; 3611 var lanes = pendingLanes; 3612 while (lanes > 0) { 3613 var index$1 = pickArbitraryLaneIndex(lanes); 3614 var lane = 1 << index$1; 3615 var expirationTime = expirationTimes[index$1]; 3616 if (expirationTime === NoTimestamp) { 3617 if ((lane & suspendedLanes) === NoLanes || (lane & pingedLanes) !== NoLanes) expirationTimes[index$1] = computeExpirationTime(lane, currentTime); 3618 } else if (expirationTime <= currentTime) root$1.expiredLanes |= lane; 3619 lanes &= ~lane; 3620 } 3621 } 3622 function getHighestPriorityPendingLanes(root$1) { 3623 return getHighestPriorityLanes(root$1.pendingLanes); 3624 } 3625 function getLanesToRetrySynchronouslyOnError(root$1) { 3626 var everythingButOffscreen = root$1.pendingLanes & ~OffscreenLane; 3627 if (everythingButOffscreen !== NoLanes) return everythingButOffscreen; 3628 if (everythingButOffscreen & OffscreenLane) return OffscreenLane; 3629 return NoLanes; 3630 } 3631 function includesSyncLane(lanes) { 3632 return (lanes & SyncLane) !== NoLanes; 3633 } 3634 function includesNonIdleWork(lanes) { 3635 return (lanes & NonIdleLanes) !== NoLanes; 3636 } 3637 function includesOnlyRetries(lanes) { 3638 return (lanes & RetryLanes) === lanes; 3639 } 3640 function includesOnlyNonUrgentLanes(lanes) { 3641 return (lanes & (SyncLane | InputContinuousLane | DefaultLane)) === NoLanes; 3642 } 3643 function includesOnlyTransitions(lanes) { 3644 return (lanes & TransitionLanes) === lanes; 3645 } 3646 function includesBlockingLane(root$1, lanes) { 3647 return (lanes & (InputContinuousHydrationLane | InputContinuousLane | DefaultHydrationLane | DefaultLane)) !== NoLanes; 3648 } 3649 function includesExpiredLane(root$1, lanes) { 3650 return (lanes & root$1.expiredLanes) !== NoLanes; 3651 } 3652 function isTransitionLane(lane) { 3653 return (lane & TransitionLanes) !== NoLanes; 3654 } 3655 function claimNextTransitionLane() { 3656 var lane = nextTransitionLane; 3657 nextTransitionLane <<= 1; 3658 if ((nextTransitionLane & TransitionLanes) === NoLanes) nextTransitionLane = TransitionLane1; 3659 return lane; 3660 } 3661 function claimNextRetryLane() { 3662 var lane = nextRetryLane; 3663 nextRetryLane <<= 1; 3664 if ((nextRetryLane & RetryLanes) === NoLanes) nextRetryLane = RetryLane1; 3665 return lane; 3666 } 3667 function getHighestPriorityLane(lanes) { 3668 return lanes & -lanes; 3669 } 3670 function pickArbitraryLane(lanes) { 3671 return getHighestPriorityLane(lanes); 3672 }
vendor: 4,122 bytes, lines 3673-3808
3673 function pickArbitraryLaneIndex(lanes) { 3674 return 31 - clz32(lanes); 3675 } 3676 function laneToIndex(lane) { 3677 return pickArbitraryLaneIndex(lane); 3678 } 3679 function includesSomeLane(a, b) { 3680 return (a & b) !== NoLanes; 3681 } 3682 function isSubsetOfLanes(set$1, subset) { 3683 return (set$1 & subset) === subset; 3684 } 3685 function mergeLanes(a, b) { 3686 return a | b; 3687 } 3688 function removeLanes(set$1, subset) { 3689 return set$1 & ~subset; 3690 } 3691 function intersectLanes(a, b) { 3692 return a & b; 3693 } 3694 function laneToLanes(lane) { 3695 return lane; 3696 } 3697 function higherPriorityLane(a, b) { 3698 return a !== NoLane && a < b ? a : b; 3699 } 3700 function createLaneMap(initial) { 3701 var laneMap = []; 3702 for (var i = 0; i < TotalLanes; i++) laneMap.push(initial); 3703 return laneMap; 3704 } 3705 function markRootUpdated(root$1, updateLane, eventTime) { 3706 root$1.pendingLanes |= updateLane; 3707 if (updateLane !== IdleLane) { 3708 root$1.suspendedLanes = NoLanes; 3709 root$1.pingedLanes = NoLanes; 3710 } 3711 var eventTimes = root$1.eventTimes; 3712 var index$1 = laneToIndex(updateLane); 3713 eventTimes[index$1] = eventTime; 3714 } 3715 function markRootSuspended(root$1, suspendedLanes) { 3716 root$1.suspendedLanes |= suspendedLanes; 3717 root$1.pingedLanes &= ~suspendedLanes; 3718 var expirationTimes = root$1.expirationTimes; 3719 var lanes = suspendedLanes; 3720 while (lanes > 0) { 3721 var index$1 = pickArbitraryLaneIndex(lanes); 3722 var lane = 1 << index$1; 3723 expirationTimes[index$1] = NoTimestamp; 3724 lanes &= ~lane; 3725 } 3726 } 3727 function markRootPinged(root$1, pingedLanes, eventTime) { 3728 root$1.pingedLanes |= root$1.suspendedLanes & pingedLanes; 3729 } 3730 function markRootFinished(root$1, remainingLanes) { 3731 var noLongerPendingLanes = root$1.pendingLanes & ~remainingLanes; 3732 root$1.pendingLanes = remainingLanes; 3733 root$1.suspendedLanes = NoLanes; 3734 root$1.pingedLanes = NoLanes; 3735 root$1.expiredLanes &= remainingLanes; 3736 root$1.mutableReadLanes &= remainingLanes; 3737 root$1.entangledLanes &= remainingLanes; 3738 var entanglements = root$1.entanglements; 3739 var eventTimes = root$1.eventTimes; 3740 var expirationTimes = root$1.expirationTimes; 3741 var lanes = noLongerPendingLanes; 3742 while (lanes > 0) { 3743 var index$1 = pickArbitraryLaneIndex(lanes); 3744 var lane = 1 << index$1; 3745 entanglements[index$1] = NoLanes; 3746 eventTimes[index$1] = NoTimestamp; 3747 expirationTimes[index$1] = NoTimestamp; 3748 lanes &= ~lane; 3749 } 3750 } 3751 function markRootEntangled(root$1, entangledLanes) { 3752 var rootEntangledLanes = root$1.entangledLanes |= entangledLanes; 3753 var entanglements = root$1.entanglements; 3754 var lanes = rootEntangledLanes; 3755 while (lanes) { 3756 var index$1 = pickArbitraryLaneIndex(lanes); 3757 var lane = 1 << index$1; 3758 if (lane & entangledLanes | entanglements[index$1] & entangledLanes) entanglements[index$1] |= entangledLanes; 3759 lanes &= ~lane; 3760 } 3761 } 3762 function getBumpedLaneForHydration(root$1, renderLanes$1) { 3763 var renderLane = getHighestPriorityLane(renderLanes$1); 3764 var lane; 3765 switch (renderLane) { 3766 case InputContinuousLane: 3767 lane = InputContinuousHydrationLane; 3768 break; 3769 case DefaultLane: 3770 lane = DefaultHydrationLane; 3771 break; 3772 case TransitionLane1: 3773 case TransitionLane2: 3774 case TransitionLane3: 3775 case TransitionLane4: 3776 case TransitionLane5: 3777 case TransitionLane6: 3778 case TransitionLane7: 3779 case TransitionLane8: 3780 case TransitionLane9: 3781 case TransitionLane10: 3782 case TransitionLane11: 3783 case TransitionLane12: 3784 case TransitionLane13: 3785 case TransitionLane14: 3786 case TransitionLane15: 3787 case TransitionLane16: 3788 case RetryLane1: 3789 case RetryLane2: 3790 case RetryLane3: 3791 case RetryLane4: 3792 case RetryLane5: 3793 lane = TransitionHydrationLane; 3794 break; 3795 case IdleLane: 3796 lane = IdleHydrationLane; 3797 break; 3798 default: 3799 lane = NoLane; 3800 break; 3801 } 3802 if ((lane & (root$1.suspendedLanes | renderLanes$1)) !== NoLane) return NoLane; 3803 return lane; 3804 } 3805 function addFiberToLanesMap(root$1, fiber, lanes) { 3806 if (!isDevToolsPresent) return; 3807 var pendingUpdatersLaneMap = root$1.pendingUpdatersLaneMap; 3808 while (lanes > 0) {
3809 var index$1 = laneToIndex(lanes); 3810 var lane = 1 << index$1; 3811 pendingUpdatersLaneMap[index$1].add(fiber); 3812 lanes &= ~lane; 3813 } 3814 } 3815 function movePendingFibersToMemoized(root$1, lanes) { 3816 if (!isDevToolsPresent) return; 3817 var pendingUpdatersLaneMap = root$1.pendingUpdatersLaneMap; 3818 var memoizedUpdaters = root$1.memoizedUpdaters; 3819 while (lanes > 0) { 3820 var index$1 = laneToIndex(lanes); 3821 var lane = 1 << index$1; 3822 var updaters = pendingUpdatersLaneMap[index$1]; 3823 if (updaters.size > 0) { 3824 updaters.forEach(function(fiber) { 3825 var alternate = fiber.alternate; 3826 if (alternate === null || !memoizedUpdaters.has(alternate)) memoizedUpdaters.add(fiber); 3827 }); 3828 updaters.clear(); 3829 } 3830 lanes &= ~lane; 3831 } 3832 } 3833 function getTransitionsForLanes(root$1, lanes) { 3834 return null; 3835 } 3836 var DiscreteEventPriority = SyncLane; 3837 var ContinuousEventPriority = InputContinuousLane; 3838 var DefaultEventPriority = DefaultLane; 3839 var IdleEventPriority = IdleLane; 3840 var currentUpdatePriority = NoLane; 3841 function getCurrentUpdatePriority() { 3842 return currentUpdatePriority; 3843 } 3844 function setCurrentUpdatePriority(newPriority) { 3845 currentUpdatePriority = newPriority; 3846 } 3847 function runWithPriority(priority, fn) { 3848 var previousPriority = currentUpdatePriority; 3849 try { 3850 currentUpdatePriority = priority; 3851 return fn(); 3852 } finally { 3853 currentUpdatePriority = previousPriority; 3854 } 3855 } 3856 function higherEventPriority(a, b) { 3857 return a !== 0 && a < b ? a : b; 3858 } 3859 function lowerEventPriority(a, b) { 3860 return a === 0 || a > b ? a : b; 3861 } 3862 function isHigherEventPriority(a, b) { 3863 return a !== 0 && a < b; 3864 } 3865 function lanesToEventPriority(lanes) { 3866 var lane = getHighestPriorityLane(lanes); 3867 if (!isHigherEventPriority(DiscreteEventPriority, lane)) return DiscreteEventPriority; 3868 if (!isHigherEventPriority(ContinuousEventPriority, lane)) return ContinuousEventPriority; 3869 if (includesNonIdleWork(lane)) return DefaultEventPriority; 3870 return IdleEventPriority; 3871 } 3872 function isRootDehydrated(root$1) { 3873 return root$1.current.memoizedState.isDehydrated; 3874 } 3875 var _attemptSynchronousHydration; 3876 function setAttemptSynchronousHydration(fn) { 3877 _attemptSynchronousHydration = fn; 3878 } 3879 function attemptSynchronousHydration(fiber) { 3880 _attemptSynchronousHydration(fiber); 3881 } 3882 var attemptContinuousHydration; 3883 function setAttemptContinuousHydration(fn) { 3884 attemptContinuousHydration = fn; 3885 } 3886 var attemptHydrationAtCurrentPriority; 3887 function setAttemptHydrationAtCurrentPriority(fn) { 3888 attemptHydrationAtCurrentPriority = fn; 3889 } 3890 var getCurrentUpdatePriority$1; 3891 function setGetCurrentUpdatePriority(fn) { 3892 getCurrentUpdatePriority$1 = fn; 3893 } 3894 var attemptHydrationAtPriority; 3895 function setAttemptHydrationAtPriority(fn) { 3896 attemptHydrationAtPriority = fn; 3897 } 3898 var hasScheduledReplayAttempt = false; 3899 var queuedDiscreteEvents = []; 3900 var queuedFocus = null; 3901 var queuedDrag = null; 3902 var queuedMouse = null; 3903 var queuedPointers = /* @__PURE__ */ new Map(); 3904 var queuedPointerCaptures = /* @__PURE__ */ new Map(); 3905 var queuedExplicitHydrationTargets = []; 3906 var discreteReplayableEvents = [ 3907 "mousedown", 3908 "mouseup", 3909 "touchcancel", 3910 "touchend", 3911 "touchstart", 3912 "auxclick", 3913 "dblclick", 3914 "pointercancel", 3915 "pointerdown", 3916 "pointerup", 3917 "dragend", 3918 "dragstart", 3919 "drop", 3920 "compositionend", 3921 "compositionstart", 3922 "keydown", 3923 "keypress", 3924 "keyup", 3925 "input", 3926 "textInput", 3927 "copy", 3928 "cut", 3929 "paste", 3930 "click", 3931 "change", 3932 "contextmenu", 3933 "reset", 3934 "submit" 3935 ]; 3936 function isDiscreteEventThatRequiresHydration(eventType) { 3937 return discreteReplayableEvents.indexOf(eventType) > -1; 3938 } 3939 function createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { 3940 return { 3941 blockedOn, 3942 domEventName, 3943 eventSystemFlags, 3944 nativeEvent, 3945 targetContainers: [targetContainer] 3946 }; 3947 } 3948 function clearIfContinuousEvent(domEventName, nativeEvent) { 3949 switch (domEventName) { 3950 case "focusin":
3951 case "focusout": 3952 queuedFocus = null; 3953 break; 3954 case "dragenter": 3955 case "dragleave": 3956 queuedDrag = null; 3957 break; 3958 case "mouseover": 3959 case "mouseout": 3960 queuedMouse = null; 3961 break; 3962 case "pointerover": 3963 case "pointerout": 3964 var pointerId = nativeEvent.pointerId; 3965 queuedPointers.delete(pointerId); 3966 break; 3967 case "gotpointercapture": 3968 case "lostpointercapture": 3969 var _pointerId = nativeEvent.pointerId; 3970 queuedPointerCaptures.delete(_pointerId); 3971 break; 3972 } 3973 } 3974 function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { 3975 if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) { 3976 var queuedEvent = createQueuedReplayableEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent); 3977 if (blockedOn !== null) { 3978 var _fiber2 = getInstanceFromNode(blockedOn); 3979 if (_fiber2 !== null) attemptContinuousHydration(_fiber2); 3980 } 3981 return queuedEvent; 3982 } 3983 existingQueuedEvent.eventSystemFlags |= eventSystemFlags; 3984 var targetContainers = existingQueuedEvent.targetContainers; 3985 if (targetContainer !== null && targetContainers.indexOf(targetContainer) === -1) targetContainers.push(targetContainer); 3986 return existingQueuedEvent; 3987 } 3988 function queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { 3989 switch (domEventName) { 3990 case "focusin": 3991 queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent); 3992 return true; 3993 case "dragenter": 3994 queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent); 3995 return true; 3996 case "mouseover": 3997 queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent); 3998 return true; 3999 case "pointerover": 4000 var pointerEvent = nativeEvent; 4001 var pointerId = pointerEvent.pointerId; 4002 queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, pointerEvent)); 4003 return true; 4004 case "gotpointercapture": 4005 var _pointerEvent = nativeEvent; 4006 var _pointerId2 = _pointerEvent.pointerId; 4007 queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, domEventName, eventSystemFlags, targetContainer, _pointerEvent)); 4008 return true; 4009 } 4010 return false; 4011 } 4012 function attemptExplicitHydrationTarget(queuedTarget) { 4013 var targetInst = getClosestInstanceFromNode(queuedTarget.target); 4014 if (targetInst !== null) { 4015 var nearestMounted = getNearestMountedFiber(targetInst); 4016 if (nearestMounted !== null) { 4017 var tag = nearestMounted.tag; 4018 if (tag === SuspenseComponent) { 4019 var instance = getSuspenseInstanceFromFiber(nearestMounted); 4020 if (instance !== null) { 4021 queuedTarget.blockedOn = instance; 4022 attemptHydrationAtPriority(queuedTarget.priority, function() { 4023 attemptHydrationAtCurrentPriority(nearestMounted); 4024 }); 4025 return; 4026 } 4027 } else if (tag === HostRoot) { 4028 var root$1 = nearestMounted.stateNode; 4029 if (isRootDehydrated(root$1)) { 4030 queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); 4031 return; 4032 } 4033 } 4034 } 4035 } 4036 queuedTarget.blockedOn = null; 4037 } 4038 function queueExplicitHydrationTarget(target) { 4039 var updatePriority = getCurrentUpdatePriority$1(); 4040 var queuedTarget = { 4041 blockedOn: null, 4042 target, 4043 priority: updatePriority 4044 }; 4045 var i = 0; 4046 for (; i < queuedExplicitHydrationTargets.length; i++) if (!isHigherEventPriority(updatePriority, queuedExplicitHydrationTargets[i].priority)) break; 4047 queuedExplicitHydrationTargets.splice(i, 0, queuedTarget); 4048 if (i === 0) attemptExplicitHydrationTarget(queuedTarget); 4049 } 4050 function attemptReplayContinuousQueuedEvent(queuedEvent) { 4051 if (queuedEvent.blockedOn !== null) return false;
4052 var targetContainers = queuedEvent.targetContainers; 4053 while (targetContainers.length > 0) { 4054 var targetContainer = targetContainers[0]; 4055 var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.domEventName, queuedEvent.eventSystemFlags, targetContainer, queuedEvent.nativeEvent); 4056 if (nextBlockedOn === null) { 4057 var nativeEvent = queuedEvent.nativeEvent; 4058 var nativeEventClone = new nativeEvent.constructor(nativeEvent.type, nativeEvent); 4059 setReplayingEvent(nativeEventClone); 4060 nativeEvent.target.dispatchEvent(nativeEventClone); 4061 resetReplayingEvent(); 4062 } else { 4063 var _fiber3 = getInstanceFromNode(nextBlockedOn); 4064 if (_fiber3 !== null) attemptContinuousHydration(_fiber3); 4065 queuedEvent.blockedOn = nextBlockedOn; 4066 return false; 4067 } 4068 targetContainers.shift(); 4069 } 4070 return true; 4071 } 4072 function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) { 4073 if (attemptReplayContinuousQueuedEvent(queuedEvent)) map.delete(key); 4074 } 4075 function replayUnblockedEvents() { 4076 hasScheduledReplayAttempt = false; 4077 if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) queuedFocus = null; 4078 if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) queuedDrag = null; 4079 if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) queuedMouse = null; 4080 queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap); 4081 queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap); 4082 } 4083 function scheduleCallbackIfUnblocked(queuedEvent, unblocked) { 4084 if (queuedEvent.blockedOn === unblocked) { 4085 queuedEvent.blockedOn = null; 4086 if (!hasScheduledReplayAttempt) { 4087 hasScheduledReplayAttempt = true; 4088 Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents); 4089 } 4090 } 4091 } 4092 function retryIfBlockedOn(unblocked) { 4093 if (queuedDiscreteEvents.length > 0) { 4094 scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); 4095 for (var i = 1; i < queuedDiscreteEvents.length; i++) { 4096 var queuedEvent = queuedDiscreteEvents[i]; 4097 if (queuedEvent.blockedOn === unblocked) queuedEvent.blockedOn = null; 4098 } 4099 } 4100 if (queuedFocus !== null) scheduleCallbackIfUnblocked(queuedFocus, unblocked); 4101 if (queuedDrag !== null) scheduleCallbackIfUnblocked(queuedDrag, unblocked); 4102 if (queuedMouse !== null) scheduleCallbackIfUnblocked(queuedMouse, unblocked); 4103 var unblock = function(queuedEvent$1) { 4104 return scheduleCallbackIfUnblocked(queuedEvent$1, unblocked); 4105 }; 4106 queuedPointers.forEach(unblock); 4107 queuedPointerCaptures.forEach(unblock); 4108 for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) { 4109 var queuedTarget = queuedExplicitHydrationTargets[_i]; 4110 if (queuedTarget.blockedOn === unblocked) queuedTarget.blockedOn = null; 4111 } 4112 while (queuedExplicitHydrationTargets.length > 0) { 4113 var nextExplicitTarget = queuedExplicitHydrationTargets[0]; 4114 if (nextExplicitTarget.blockedOn !== null) break; 4115 else { 4116 attemptExplicitHydrationTarget(nextExplicitTarget); 4117 if (nextExplicitTarget.blockedOn === null) queuedExplicitHydrationTargets.shift(); 4118 } 4119 } 4120 } 4121 var ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig; 4122 var _enabled = true; 4123 function setEnabled(enabled) { 4124 _enabled = !!enabled; 4125 } 4126 function isEnabled() { 4127 return _enabled; 4128 } 4129 function createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags) { 4130 var eventPriority = getEventPriority(domEventName); 4131 var listenerWrapper; 4132 switch (eventPriority) { 4133 case DiscreteEventPriority: 4134 listenerWrapper = dispatchDiscreteEvent; 4135 break; 4136 case ContinuousEventPriority: 4137 listenerWrapper = dispatchContinuousEvent; 4138 break; 4139 case DefaultEventPriority: 4140 default: 4141 listenerWrapper = dispatchEvent; 4142 break; 4143 } 4144 return listenerWrapper.bind(null, domEventName, eventSystemFlags, targetContainer); 4145 } 4146 function dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) { 4147 var previousPriority = getCurrentUpdatePriority(); 4148 var prevTransition = ReactCurrentBatchConfig.transition; 4149 ReactCurrentBatchConfig.transition = null; 4150 try { 4151 setCurrentUpdatePriority(DiscreteEventPriority); 4152 dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent); 4153 } finally { 4154 setCurrentUpdatePriority(previousPriority); 4155 ReactCurrentBatchConfig.transition = prevTransition; 4156 } 4157 } 4158 function dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) { 4159 var previousPriority = getCurrentUpdatePriority(); 4160 var prevTransition = ReactCurrentBatchConfig.transition; 4161 ReactCurrentBatchConfig.transition = null; 4162 try { 4163 setCurrentUpdatePriority(ContinuousEventPriority); 4164 dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent); 4165 } finally { 4166 setCurrentUpdatePriority(previousPriority); 4167 ReactCurrentBatchConfig.transition = prevTransition; 4168 } 4169 } 4170 function dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) { 4171 if (!_enabled) return; 4172 dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent); 4173 } 4174 function dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay(domEventName, eventSystemFlags, targetContainer, nativeEvent) { 4175 var blockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent); 4176 if (blockedOn === null) { 4177 dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer); 4178 clearIfContinuousEvent(domEventName, nativeEvent); 4179 return; 4180 } 4181 if (queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent)) { 4182 nativeEvent.stopPropagation(); 4183 return; 4184 } 4185 clearIfContinuousEvent(domEventName, nativeEvent); 4186 if (eventSystemFlags & IS_CAPTURE_PHASE && isDiscreteEventThatRequiresHydration(domEventName)) { 4187 while (blockedOn !== null) { 4188 var fiber = getInstanceFromNode(blockedOn); 4189 if (fiber !== null) attemptSynchronousHydration(fiber); 4190 var nextBlockedOn = findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent); 4191 if (nextBlockedOn === null) dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, return_targetInst, targetContainer); 4192 if (nextBlockedOn === blockedOn) break; 4193 blockedOn = nextBlockedOn; 4194 } 4195 if (blockedOn !== null) nativeEvent.stopPropagation(); 4196 return; 4197 } 4198 dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, null, targetContainer); 4199 } 4200 var return_targetInst = null; 4201 function findInstanceBlockingEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) { 4202 return_targetInst = null; 4203 var targetInst = getClosestInstanceFromNode(getEventTarget(nativeEvent)); 4204 if (targetInst !== null) { 4205 var nearestMounted = getNearestMountedFiber(targetInst); 4206 if (nearestMounted === null) targetInst = null; 4207 else { 4208 var tag = nearestMounted.tag; 4209 if (tag === SuspenseComponent) { 4210 var instance = getSuspenseInstanceFromFiber(nearestMounted); 4211 if (instance !== null) return instance; 4212 targetInst = null; 4213 } else if (tag === HostRoot) { 4214 var root$1 = nearestMounted.stateNode; 4215 if (isRootDehydrated(root$1)) return getContainerFromFiber(nearestMounted); 4216 targetInst = null; 4217 } else if (nearestMounted !== targetInst) targetInst = null; 4218 } 4219 } 4220 return_targetInst = targetInst; 4221 return null; 4222 } 4223 function getEventPriority(domEventName) { 4224 switch (domEventName) { 4225 case "cancel": 4226 case "click":
4227 case "close": 4228 case "contextmenu": 4229 case "copy": 4230 case "cut": 4231 case "auxclick": 4232 case "dblclick": 4233 case "dragend": 4234 case "dragstart": 4235 case "drop": 4236 case "focusin": 4237 case "focusout": 4238 case "input": 4239 case "invalid": 4240 case "keydown": 4241 case "keypress": 4242 case "keyup": 4243 case "mousedown": 4244 case "mouseup": 4245 case "paste": 4246 case "pause": 4247 case "play": 4248 case "pointercancel": 4249 case "pointerdown": 4250 case "pointerup": 4251 case "ratechange": 4252 case "reset": 4253 case "resize": 4254 case "seeked": 4255 case "submit": 4256 case "touchcancel": 4257 case "touchend": 4258 case "touchstart": 4259 case "volumechange": 4260 case "change": 4261 case "selectionchange": 4262 case "textInput": 4263 case "compositionstart": 4264 case "compositionend": 4265 case "compositionupdate": 4266 case "beforeblur": 4267 case "afterblur": 4268 case "beforeinput": 4269 case "blur": 4270 case "fullscreenchange": 4271 case "focus": 4272 case "hashchange": 4273 case "popstate": 4274 case "select": 4275 case "selectstart": return DiscreteEventPriority; 4276 case "drag": 4277 case "dragenter": 4278 case "dragexit": 4279 case "dragleave": 4280 case "dragover": 4281 case "mousemove": 4282 case "mouseout": 4283 case "mouseover": 4284 case "pointermove": 4285 case "pointerout": 4286 case "pointerover": 4287 case "scroll": 4288 case "toggle": 4289 case "touchmove": 4290 case "wheel": 4291 case "mouseenter": 4292 case "mouseleave": 4293 case "pointerenter": 4294 case "pointerleave": return ContinuousEventPriority; 4295 case "message": switch (getCurrentPriorityLevel()) { 4296 case ImmediatePriority: return DiscreteEventPriority; 4297 case UserBlockingPriority: return ContinuousEventPriority; 4298 case NormalPriority: 4299 case LowPriority: return DefaultEventPriority; 4300 case IdlePriority: return IdleEventPriority; 4301 default: return DefaultEventPriority; 4302 } 4303 default: return DefaultEventPriority; 4304 } 4305 } 4306 function addEventBubbleListener(target, eventType, listener) { 4307 target.addEventListener(eventType, listener, false); 4308 return listener; 4309 } 4310 function addEventCaptureListener(target, eventType, listener) { 4311 target.addEventListener(eventType, listener, true); 4312 return listener; 4313 } 4314 function addEventCaptureListenerWithPassiveFlag(target, eventType, listener, passive) { 4315 target.addEventListener(eventType, listener, { 4316 capture: true, 4317 passive 4318 }); 4319 return listener; 4320 } 4321 function addEventBubbleListenerWithPassiveFlag(target, eventType, listener, passive) { 4322 target.addEventListener(eventType, listener, { passive }); 4323 return listener; 4324 } 4325 var root = null; 4326 var startText = null; 4327 var fallbackText = null; 4328 function initialize(nativeEventTarget) { 4329 root = nativeEventTarget; 4330 startText = getText(); 4331 return true; 4332 } 4333 function reset() { 4334 root = null; 4335 startText = null; 4336 fallbackText = null; 4337 } 4338 function getData() { 4339 if (fallbackText) return fallbackText; 4340 var start; 4341 var startValue = startText; 4342 var startLength = startValue.length; 4343 var end; 4344 var endValue = getText(); 4345 var endLength = endValue.length; 4346 for (start = 0; start < startLength; start++) if (startValue[start] !== endValue[start]) break; 4347 var minEnd = startLength - start; 4348 for (end = 1; end <= minEnd; end++) if (startValue[startLength - end] !== endValue[endLength - end]) break; 4349 var sliceTail = end > 1 ? 1 - end : void 0; 4350 fallbackText = endValue.slice(start, sliceTail); 4351 return fallbackText; 4352 } 4353 function getText() { 4354 if ("value" in root) return root.value; 4355 return root.textContent; 4356 } 4357 function getEventCharCode(nativeEvent) { 4358 var charCode; 4359 var keyCode = nativeEvent.keyCode; 4360 if ("charCode" in nativeEvent) { 4361 charCode = nativeEvent.charCode; 4362 if (charCode === 0 && keyCode === 13) charCode = 13; 4363 } else charCode = keyCode; 4364 if (charCode === 10) charCode = 13; 4365 if (charCode >= 32 || charCode === 13) return charCode; 4366 return 0; 4367 } 4368 function functionThatReturnsTrue() { 4369 return true; 4370 } 4371 function functionThatReturnsFalse() { 4372 return false; 4373 } 4374 function createSyntheticEvent(Interface) { 4375 function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) { 4376 this._reactName = reactName; 4377 this._targetInst = targetInst; 4378 this.type = reactEventType; 4379 this.nativeEvent = nativeEvent; 4380 this.target = nativeEventTarget; 4381 this.currentTarget = null; 4382 for (var _propName in Interface) { 4383 if (!Interface.hasOwnProperty(_propName)) continue; 4384 var normalize = Interface[_propName]; 4385 if (normalize) this[_propName] = normalize(nativeEvent); 4386 else this[_propName] = nativeEvent[_propName]; 4387 } 4388 if (nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false) this.isDefaultPrevented = functionThatReturnsTrue; 4389 else this.isDefaultPrevented = functionThatReturnsFalse; 4390 this.isPropagationStopped = functionThatReturnsFalse; 4391 return this; 4392 } 4393 assign(SyntheticBaseEvent.prototype, { 4394 preventDefault: function() { 4395 this.defaultPrevented = true; 4396 var event = this.nativeEvent; 4397 if (!event) return; 4398 if (event.preventDefault) event.preventDefault(); 4399 else if (typeof event.returnValue !== "unknown") event.returnValue = false;
4400 this.isDefaultPrevented = functionThatReturnsTrue; 4401 }, 4402 stopPropagation: function() { 4403 var event = this.nativeEvent; 4404 if (!event) return; 4405 if (event.stopPropagation) event.stopPropagation(); 4406 else if (typeof event.cancelBubble !== "unknown") event.cancelBubble = true; 4407 this.isPropagationStopped = functionThatReturnsTrue; 4408 }, 4409 persist: function() {}, 4410 isPersistent: functionThatReturnsTrue 4411 }); 4412 return SyntheticBaseEvent; 4413 } 4414 var EventInterface = { 4415 eventPhase: 0, 4416 bubbles: 0, 4417 cancelable: 0, 4418 timeStamp: function(event) { 4419 return event.timeStamp || Date.now(); 4420 }, 4421 defaultPrevented: 0, 4422 isTrusted: 0 4423 }; 4424 var SyntheticEvent = createSyntheticEvent(EventInterface); 4425 var UIEventInterface = assign({}, EventInterface, { 4426 view: 0, 4427 detail: 0 4428 }); 4429 var SyntheticUIEvent = createSyntheticEvent(UIEventInterface); 4430 var lastMovementX; 4431 var lastMovementY; 4432 var lastMouseEvent; 4433 function updateMouseMovementPolyfillState(event) { 4434 if (event !== lastMouseEvent) { 4435 if (lastMouseEvent && event.type === "mousemove") { 4436 lastMovementX = event.screenX - lastMouseEvent.screenX; 4437 lastMovementY = event.screenY - lastMouseEvent.screenY; 4438 } else { 4439 lastMovementX = 0; 4440 lastMovementY = 0; 4441 } 4442 lastMouseEvent = event; 4443 } 4444 } 4445 var MouseEventInterface = assign({}, UIEventInterface, { 4446 screenX: 0, 4447 screenY: 0, 4448 clientX: 0, 4449 clientY: 0, 4450 pageX: 0, 4451 pageY: 0, 4452 ctrlKey: 0, 4453 shiftKey: 0, 4454 altKey: 0, 4455 metaKey: 0, 4456 getModifierState: getEventModifierState, 4457 button: 0, 4458 buttons: 0, 4459 relatedTarget: function(event) { 4460 if (event.relatedTarget === void 0) return event.fromElement === event.srcElement ? event.toElement : event.fromElement; 4461 return event.relatedTarget; 4462 }, 4463 movementX: function(event) { 4464 if ("movementX" in event) return event.movementX; 4465 updateMouseMovementPolyfillState(event); 4466 return lastMovementX; 4467 }, 4468 movementY: function(event) { 4469 if ("movementY" in event) return event.movementY; 4470 return lastMovementY; 4471 } 4472 }); 4473 var SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface); 4474 var SyntheticDragEvent = createSyntheticEvent(assign({}, MouseEventInterface, { dataTransfer: 0 })); 4475 var SyntheticFocusEvent = createSyntheticEvent(assign({}, UIEventInterface, { relatedTarget: 0 })); 4476 var SyntheticAnimationEvent = createSyntheticEvent(assign({}, EventInterface, { 4477 animationName: 0, 4478 elapsedTime: 0, 4479 pseudoElement: 0 4480 })); 4481 var SyntheticClipboardEvent = createSyntheticEvent(assign({}, EventInterface, { clipboardData: function(event) { 4482 return "clipboardData" in event ? event.clipboardData : window.clipboardData; 4483 } })); 4484 var SyntheticCompositionEvent = createSyntheticEvent(assign({}, EventInterface, { data: 0 })); 4485 var SyntheticInputEvent = SyntheticCompositionEvent; 4486 var normalizeKey = { 4487 Esc: "Escape", 4488 Spacebar: " ", 4489 Left: "ArrowLeft", 4490 Up: "ArrowUp", 4491 Right: "ArrowRight", 4492 Down: "ArrowDown", 4493 Del: "Delete", 4494 Win: "OS", 4495 Menu: "ContextMenu", 4496 Apps: "ContextMenu", 4497 Scroll: "ScrollLock", 4498 MozPrintableKey: "Unidentified" 4499 }; 4500 var translateToKey = { 4501 "8": "Backspace", 4502 "9": "Tab", 4503 "12": "Clear", 4504 "13": "Enter", 4505 "16": "Shift", 4506 "17": "Control", 4507 "18": "Alt", 4508 "19": "Pause", 4509 "20": "CapsLock", 4510 "27": "Escape", 4511 "32": " ", 4512 "33": "PageUp", 4513 "34": "PageDown", 4514 "35": "End", 4515 "36": "Home", 4516 "37": "ArrowLeft", 4517 "38": "ArrowUp", 4518 "39": "ArrowRight", 4519 "40": "ArrowDown", 4520 "45": "Insert", 4521 "46": "Delete", 4522 "112": "F1", 4523 "113": "F2", 4524 "114": "F3", 4525 "115": "F4", 4526 "116": "F5", 4527 "117": "F6", 4528 "118": "F7", 4529 "119": "F8", 4530 "120": "F9", 4531 "121": "F10", 4532 "122": "F11", 4533 "123": "F12", 4534 "144": "NumLock", 4535 "145": "ScrollLock", 4536 "224": "Meta" 4537 }; 4538 function getEventKey(nativeEvent) { 4539 if (nativeEvent.key) { 4540 var key = normalizeKey[nativeEvent.key] || nativeEvent.key; 4541 if (key !== "Unidentified") return key; 4542 } 4543 if (nativeEvent.type === "keypress") { 4544 var charCode = getEventCharCode(nativeEvent); 4545 return charCode === 13 ? "Enter" : String.fromCharCode(charCode); 4546 } 4547 if (nativeEvent.type === "keydown" || nativeEvent.type === "keyup") return translateToKey[nativeEvent.keyCode] || "Unidentified"; 4548 return ""; 4549 } 4550 var modifierKeyToProp = { 4551 Alt: "altKey", 4552 Control: "ctrlKey", 4553 Meta: "metaKey", 4554 Shift: "shiftKey" 4555 }; 4556 function modifierStateGetter(keyArg) { 4557 var nativeEvent = this.nativeEvent; 4558 if (nativeEvent.getModifierState) return nativeEvent.getModifierState(keyArg); 4559 var keyProp = modifierKeyToProp[keyArg];
4560 return keyProp ? !!nativeEvent[keyProp] : false; 4561 } 4562 function getEventModifierState(nativeEvent) { 4563 return modifierStateGetter; 4564 } 4565 var SyntheticKeyboardEvent = createSyntheticEvent(assign({}, UIEventInterface, { 4566 key: getEventKey, 4567 code: 0, 4568 location: 0, 4569 ctrlKey: 0, 4570 shiftKey: 0, 4571 altKey: 0, 4572 metaKey: 0, 4573 repeat: 0, 4574 locale: 0, 4575 getModifierState: getEventModifierState, 4576 charCode: function(event) { 4577 if (event.type === "keypress") return getEventCharCode(event); 4578 return 0; 4579 }, 4580 keyCode: function(event) { 4581 if (event.type === "keydown" || event.type === "keyup") return event.keyCode; 4582 return 0; 4583 }, 4584 which: function(event) { 4585 if (event.type === "keypress") return getEventCharCode(event); 4586 if (event.type === "keydown" || event.type === "keyup") return event.keyCode; 4587 return 0; 4588 } 4589 })); 4590 var SyntheticPointerEvent = createSyntheticEvent(assign({}, MouseEventInterface, { 4591 pointerId: 0, 4592 width: 0, 4593 height: 0, 4594 pressure: 0, 4595 tangentialPressure: 0, 4596 tiltX: 0, 4597 tiltY: 0, 4598 twist: 0, 4599 pointerType: 0, 4600 isPrimary: 0 4601 })); 4602 var SyntheticTouchEvent = createSyntheticEvent(assign({}, UIEventInterface, { 4603 touches: 0, 4604 targetTouches: 0, 4605 changedTouches: 0, 4606 altKey: 0, 4607 metaKey: 0, 4608 ctrlKey: 0, 4609 shiftKey: 0, 4610 getModifierState: getEventModifierState 4611 })); 4612 var SyntheticTransitionEvent = createSyntheticEvent(assign({}, EventInterface, { 4613 propertyName: 0, 4614 elapsedTime: 0, 4615 pseudoElement: 0 4616 })); 4617 var SyntheticWheelEvent = createSyntheticEvent(assign({}, MouseEventInterface, { 4618 deltaX: function(event) { 4619 return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0; 4620 }, 4621 deltaY: function(event) { 4622 return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0; 4623 }, 4624 deltaZ: 0, 4625 deltaMode: 0 4626 })); 4627 var END_KEYCODES = [ 4628 9, 4629 13, 4630 27, 4631 32 4632 ]; 4633 var START_KEYCODE = 229; 4634 var canUseCompositionEvent = canUseDOM && "CompositionEvent" in window; 4635 var documentMode = null; 4636 if (canUseDOM && "documentMode" in document) documentMode = document.documentMode; 4637 var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode; 4638 var useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); 4639 var SPACEBAR_CODE = 32; 4640 var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); 4641 function registerEvents() { 4642 registerTwoPhaseEvent("onBeforeInput", [ 4643 "compositionend", 4644 "keypress", 4645 "textInput", 4646 "paste" 4647 ]); 4648 registerTwoPhaseEvent("onCompositionEnd", [ 4649 "compositionend", 4650 "focusout", 4651 "keydown", 4652 "keypress", 4653 "keyup", 4654 "mousedown" 4655 ]); 4656 registerTwoPhaseEvent("onCompositionStart", [ 4657 "compositionstart", 4658 "focusout", 4659 "keydown", 4660 "keypress", 4661 "keyup", 4662 "mousedown" 4663 ]); 4664 registerTwoPhaseEvent("onCompositionUpdate", [ 4665 "compositionupdate", 4666 "focusout", 4667 "keydown", 4668 "keypress", 4669 "keyup", 4670 "mousedown" 4671 ]); 4672 } 4673 var hasSpaceKeypress = false; 4674 function isKeypressCommand(nativeEvent) { 4675 return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && !(nativeEvent.ctrlKey && nativeEvent.altKey); 4676 } 4677 function getCompositionEventType(domEventName) { 4678 switch (domEventName) { 4679 case "compositionstart": return "onCompositionStart"; 4680 case "compositionend": return "onCompositionEnd"; 4681 case "compositionupdate": return "onCompositionUpdate"; 4682 } 4683 } 4684 function isFallbackCompositionStart(domEventName, nativeEvent) { 4685 return domEventName === "keydown" && nativeEvent.keyCode === START_KEYCODE; 4686 } 4687 function isFallbackCompositionEnd(domEventName, nativeEvent) { 4688 switch (domEventName) { 4689 case "keyup": return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; 4690 case "keydown": return nativeEvent.keyCode !== START_KEYCODE; 4691 case "keypress": 4692 case "mousedown": 4693 case "focusout": return true; 4694 default: return false; 4695 } 4696 } 4697 function getDataFromCustomEvent(nativeEvent) { 4698 var detail = nativeEvent.detail; 4699 if (typeof detail === "object" && "data" in detail) return detail.data; 4700 return null; 4701 } 4702 function isUsingKoreanIME(nativeEvent) { 4703 return nativeEvent.locale === "ko"; 4704 } 4705 var isComposing = false;
4706 function extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) { 4707 var eventType; 4708 var fallbackData; 4709 if (canUseCompositionEvent) eventType = getCompositionEventType(domEventName); 4710 else if (!isComposing) { 4711 if (isFallbackCompositionStart(domEventName, nativeEvent)) eventType = "onCompositionStart"; 4712 } else if (isFallbackCompositionEnd(domEventName, nativeEvent)) eventType = "onCompositionEnd"; 4713 if (!eventType) return null; 4714 if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) { 4715 if (!isComposing && eventType === "onCompositionStart") isComposing = initialize(nativeEventTarget); 4716 else if (eventType === "onCompositionEnd") { 4717 if (isComposing) fallbackData = getData(); 4718 } 4719 } 4720 var listeners = accumulateTwoPhaseListeners(targetInst, eventType); 4721 if (listeners.length > 0) { 4722 var event = new SyntheticCompositionEvent(eventType, domEventName, null, nativeEvent, nativeEventTarget); 4723 dispatchQueue.push({ 4724 event, 4725 listeners 4726 }); 4727 if (fallbackData) event.data = fallbackData; 4728 else { 4729 var customData = getDataFromCustomEvent(nativeEvent); 4730 if (customData !== null) event.data = customData; 4731 } 4732 } 4733 } 4734 function getNativeBeforeInputChars(domEventName, nativeEvent) { 4735 switch (domEventName) { 4736 case "compositionend": return getDataFromCustomEvent(nativeEvent); 4737 case "keypress": 4738 if (nativeEvent.which !== SPACEBAR_CODE) return null; 4739 hasSpaceKeypress = true; 4740 return SPACEBAR_CHAR; 4741 case "textInput": 4742 var chars = nativeEvent.data; 4743 if (chars === SPACEBAR_CHAR && hasSpaceKeypress) return null; 4744 return chars; 4745 default: return null; 4746 } 4747 } 4748 function getFallbackBeforeInputChars(domEventName, nativeEvent) { 4749 if (isComposing) { 4750 if (domEventName === "compositionend" || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent)) { 4751 var chars = getData(); 4752 reset(); 4753 isComposing = false; 4754 return chars; 4755 } 4756 return null; 4757 } 4758 switch (domEventName) { 4759 case "paste": return null; 4760 case "keypress": 4761 if (!isKeypressCommand(nativeEvent)) { 4762 if (nativeEvent.char && nativeEvent.char.length > 1) return nativeEvent.char; 4763 else if (nativeEvent.which) return String.fromCharCode(nativeEvent.which); 4764 } 4765 return null; 4766 case "compositionend": return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data; 4767 default: return null; 4768 } 4769 } 4770 function extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget) { 4771 var chars; 4772 if (canUseTextInputEvent) chars = getNativeBeforeInputChars(domEventName, nativeEvent); 4773 else chars = getFallbackBeforeInputChars(domEventName, nativeEvent); 4774 if (!chars) return null; 4775 var listeners = accumulateTwoPhaseListeners(targetInst, "onBeforeInput"); 4776 if (listeners.length > 0) { 4777 var event = new SyntheticInputEvent("onBeforeInput", "beforeinput", null, nativeEvent, nativeEventTarget); 4778 dispatchQueue.push({ 4779 event, 4780 listeners 4781 }); 4782 event.data = chars; 4783 } 4784 } 4785 function extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) { 4786 extractCompositionEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget); 4787 extractBeforeInputEvent(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget); 4788 } 4789 var supportedInputTypes = { 4790 color: true, 4791 date: true, 4792 datetime: true, 4793 "datetime-local": true, 4794 email: true, 4795 month: true, 4796 number: true, 4797 password: true, 4798 range: true, 4799 search: true, 4800 tel: true, 4801 text: true, 4802 time: true, 4803 url: true, 4804 week: true 4805 }; 4806 function isTextInputElement(elem) { 4807 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); 4808 if (nodeName === "input") return !!supportedInputTypes[elem.type]; 4809 if (nodeName === "textarea") return true; 4810 return false; 4811 } 4812 /** 4813 * Checks if an event is supported in the current execution environment. 4814 * 4815 * NOTE: This will not work correctly for non-generic events such as `change`, 4816 * `reset`, `load`, `error`, and `select`. 4817 * 4818 * Borrows from Modernizr. 4819 * 4820 * @param {string} eventNameSuffix Event name, e.g. "click". 4821 * @return {boolean} True if the event is supported. 4822 * @internal 4823 * @license Modernizr 3.0.0pre (Custom Build) | MIT 4824 */ 4825 function isEventSupported(eventNameSuffix) { 4826 if (!canUseDOM) return false;
vendor: 1,409 bytes, lines 4827-4870
4827 var eventName = "on" + eventNameSuffix; 4828 var isSupported = eventName in document; 4829 if (!isSupported) { 4830 var element = document.createElement("div"); 4831 element.setAttribute(eventName, "return;"); 4832 isSupported = typeof element[eventName] === "function"; 4833 } 4834 return isSupported; 4835 } 4836 function registerEvents$1() { 4837 registerTwoPhaseEvent("onChange", [ 4838 "change", 4839 "click", 4840 "focusin", 4841 "focusout", 4842 "input", 4843 "keydown", 4844 "keyup", 4845 "selectionchange" 4846 ]); 4847 } 4848 function createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) { 4849 enqueueStateRestore(target); 4850 var listeners = accumulateTwoPhaseListeners(inst, "onChange"); 4851 if (listeners.length > 0) { 4852 var event = new SyntheticEvent("onChange", "change", null, nativeEvent, target); 4853 dispatchQueue.push({ 4854 event, 4855 listeners 4856 }); 4857 } 4858 } 4859 var activeElement = null; 4860 var activeElementInst = null; 4861 function shouldUseChangeEvent(elem) { 4862 var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); 4863 return nodeName === "select" || nodeName === "input" && elem.type === "file"; 4864 } 4865 function manualDispatchChangeEvent(nativeEvent) { 4866 var dispatchQueue = []; 4867 createAndAccumulateChangeEvent(dispatchQueue, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); 4868 batchedUpdates(runEventInBatch, dispatchQueue); 4869 } 4870 function runEventInBatch(dispatchQueue) {
4871 processDispatchQueue(dispatchQueue, 0); 4872 } 4873 function getInstIfValueChanged(targetInst) { 4874 if (updateValueIfChanged(getNodeFromInstance(targetInst))) return targetInst; 4875 } 4876 function getTargetInstForChangeEvent(domEventName, targetInst) { 4877 if (domEventName === "change") return targetInst; 4878 } 4879 var isInputEventSupported = false; 4880 if (canUseDOM) isInputEventSupported = isEventSupported("input") && (!document.documentMode || document.documentMode > 9); 4881 function startWatchingForValueChange(target, targetInst) { 4882 activeElement = target; 4883 activeElementInst = targetInst; 4884 activeElement.attachEvent("onpropertychange", handlePropertyChange); 4885 } 4886 function stopWatchingForValueChange() { 4887 if (!activeElement) return; 4888 activeElement.detachEvent("onpropertychange", handlePropertyChange); 4889 activeElement = null; 4890 activeElementInst = null; 4891 } 4892 function handlePropertyChange(nativeEvent) { 4893 if (nativeEvent.propertyName !== "value") return; 4894 if (getInstIfValueChanged(activeElementInst)) manualDispatchChangeEvent(nativeEvent); 4895 } 4896 function handleEventsForInputEventPolyfill(domEventName, target, targetInst) { 4897 if (domEventName === "focusin") { 4898 stopWatchingForValueChange(); 4899 startWatchingForValueChange(target, targetInst); 4900 }
4900 else if (domEventName === "focusout") stopWatchingForValueChange(); 4901 } 4902 function getTargetInstForInputEventPolyfill(domEventName, targetInst) { 4903 if (domEventName === "selectionchange" || domEventName === "keyup" || domEventName === "keydown") return getInstIfValueChanged(activeElementInst); 4904 } 4905 function shouldUseClickEvent(elem) { 4906 var nodeName = elem.nodeName; 4907 return nodeName && nodeName.toLowerCase() === "input" && (elem.type === "checkbox" || elem.type === "radio"); 4908 } 4909 function getTargetInstForClickEvent(domEventName, targetInst) { 4910 if (domEventName === "click") return getInstIfValueChanged(targetInst); 4911 } 4912 function getTargetInstForInputOrChangeEvent(domEventName, targetInst) { 4913 if (domEventName === "input" || domEventName === "change") return getInstIfValueChanged(targetInst); 4914 } 4915 function handleControlledInputBlur(node) { 4916 var state = node._wrapperState; 4917 if (!state || !state.controlled || node.type !== "number") return; 4918 setDefaultValue(node, "number", node.value); 4919 } 4920 function extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) { 4921 var targetNode = targetInst ? getNodeFromInstance(targetInst) : window; 4922 var getTargetInstFunc, handleEventFunc; 4923 if (shouldUseChangeEvent(targetNode)) getTargetInstFunc = getTargetInstForChangeEvent; 4924 else if (isTextInputElement(targetNode)) if (isInputEventSupported) getTargetInstFunc = getTargetInstForInputOrChangeEvent; 4925 else { 4926 getTargetInstFunc = getTargetInstForInputEventPolyfill; 4927 handleEventFunc = handleEventsForInputEventPolyfill; 4928 } 4929 else if (shouldUseClickEvent(targetNode)) getTargetInstFunc = getTargetInstForClickEvent; 4930 if (getTargetInstFunc) { 4931 var inst = getTargetInstFunc(domEventName, targetInst); 4932 if (inst) { 4933 createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, nativeEventTarget); 4934 return; 4935 } 4936 } 4937 if (handleEventFunc) handleEventFunc(domEventName, targetNode, targetInst); 4938 if (domEventName === "focusout") handleControlledInputBlur(targetNode); 4939 } 4940 function registerEvents$2() { 4941 registerDirectEvent("onMouseEnter", ["mouseout", "mouseover"]); 4942 registerDirectEvent("onMouseLeave", ["mouseout", "mouseover"]); 4943 registerDirectEvent("onPointerEnter", ["pointerout", "pointerover"]); 4944 registerDirectEvent("onPointerLeave", ["pointerout", "pointerover"]); 4945 } 4946 function extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) { 4947 var isOverEvent = domEventName === "mouseover" || domEventName === "pointerover"; 4948 var isOutEvent = domEventName === "mouseout" || domEventName === "pointerout"; 4949 if (isOverEvent && !isReplayingEvent(nativeEvent)) { 4950 var related = nativeEvent.relatedTarget || nativeEvent.fromElement; 4951 if (related) { 4952 if (getClosestInstanceFromNode(related) || isContainerMarkedAsRoot(related)) return; 4953 } 4954 } 4955 if (!isOutEvent && !isOverEvent) return; 4956 var win; 4957 if (nativeEventTarget.window === nativeEventTarget) win = nativeEventTarget; 4958 else { 4959 var doc = nativeEventTarget.ownerDocument; 4960 if (doc) win = doc.defaultView || doc.parentWindow; 4961 else win = window; 4962 } 4963 var from; 4964 var to; 4965 if (isOutEvent) { 4966 var _related = nativeEvent.relatedTarget || nativeEvent.toElement; 4967 from = targetInst; 4968 to = _related ? getClosestInstanceFromNode(_related) : null; 4969 if (to !== null) { 4970 var nearestMounted = getNearestMountedFiber(to); 4971 if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) to = null; 4972 } 4973 } else { 4974 from = null; 4975 to = targetInst; 4976 } 4977 if (from === to) return; 4978 var SyntheticEventCtor = SyntheticMouseEvent; 4979 var leaveEventType = "onMouseLeave"; 4980 var enterEventType = "onMouseEnter"; 4981 var eventTypePrefix = "mouse"; 4982 if (domEventName === "pointerout" || domEventName === "pointerover") { 4983 SyntheticEventCtor = SyntheticPointerEvent; 4984 leaveEventType = "onPointerLeave"; 4985 enterEventType = "onPointerEnter"; 4986 eventTypePrefix = "pointer"; 4987 } 4988 var fromNode = from == null ? win : getNodeFromInstance(from); 4989 var toNode = to == null ? win : getNodeFromInstance(to); 4990 var leave = new SyntheticEventCtor(leaveEventType, eventTypePrefix + "leave", from, nativeEvent, nativeEventTarget); 4991 leave.target = fromNode; 4992 leave.relatedTarget = toNode; 4993 var enter = null; 4994 if (getClosestInstanceFromNode(nativeEventTarget) === targetInst) { 4995 var enterEvent = new SyntheticEventCtor(enterEventType, eventTypePrefix + "enter", to, nativeEvent, nativeEventTarget); 4996 enterEvent.target = toNode; 4997 enterEvent.relatedTarget = fromNode; 4998 enter = enterEvent; 4999 } 5000 accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leave, enter, from, to); 5001 } 5002 function is(x, y) { 5003 return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y; 5004 } 5005 var objectIs = typeof Object.is === "function" ? Object.is : is; 5006 function shallowEqual(objA, objB) { 5007 if (objectIs(objA, objB)) return true; 5008 if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) return false;
5009 var keysA = Object.keys(objA); 5010 var keysB = Object.keys(objB); 5011 if (keysA.length !== keysB.length) return false; 5012 for (var i = 0; i < keysA.length; i++) { 5013 var currentKey = keysA[i]; 5014 if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) return false; 5015 } 5016 return true; 5017 } 5018 function getLeafNode(node) { 5019 while (node && node.firstChild) node = node.firstChild; 5020 return node; 5021 } 5022 function getSiblingNode(node) { 5023 while (node) { 5024 if (node.nextSibling) return node.nextSibling; 5025 node = node.parentNode; 5026 } 5027 } 5028 function getNodeForCharacterOffset(root$1, offset) { 5029 var node = getLeafNode(root$1); 5030 var nodeStart = 0; 5031 var nodeEnd = 0; 5032 while (node) { 5033 if (node.nodeType === TEXT_NODE) { 5034 nodeEnd = nodeStart + node.textContent.length; 5035 if (nodeStart <= offset && nodeEnd >= offset) return { 5036 node, 5037 offset: offset - nodeStart 5038 }; 5039 nodeStart = nodeEnd; 5040 } 5041 node = getLeafNode(getSiblingNode(node)); 5042 } 5043 } 5044 function getOffsets(outerNode) { 5045 var ownerDocument = outerNode.ownerDocument; 5046 var win = ownerDocument && ownerDocument.defaultView || window; 5047 var selection = win.getSelection && win.getSelection(); 5048 if (!selection || selection.rangeCount === 0) return null; 5049 var anchorNode = selection.anchorNode, anchorOffset = selection.anchorOffset, focusNode = selection.focusNode, focusOffset = selection.focusOffset; 5050 try { 5051 anchorNode.nodeType; 5052 focusNode.nodeType; 5053 } catch (e) { 5054 return null; 5055 } 5056 return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset); 5057 } 5058 function getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) { 5059 var length = 0; 5060 var start = -1; 5061 var end = -1; 5062 var indexWithinAnchor = 0; 5063 var indexWithinFocus = 0; 5064 var node = outerNode; 5065 var parentNode = null; 5066 outer: while (true) { 5067 var next = null; 5068 while (true) { 5069 if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) start = length + anchorOffset; 5070 if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) end = length + focusOffset; 5071 if (node.nodeType === TEXT_NODE) length += node.nodeValue.length; 5072 if ((next = node.firstChild) === null) break; 5073 parentNode = node; 5074 node = next; 5075 } 5076 while (true) { 5077 if (node === outerNode) break outer; 5078 if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) start = length; 5079 if (parentNode === focusNode && ++indexWithinFocus === focusOffset) end = length; 5080 if ((next = node.nextSibling) !== null) break; 5081 node = parentNode; 5082 parentNode = node.parentNode; 5083 } 5084 node = next; 5085 } 5086 if (start === -1 || end === -1) return null; 5087 return { 5088 start, 5089 end 5090 }; 5091 } 5092 function setOffsets(node, offsets) { 5093 var doc = node.ownerDocument || document; 5094 var win = doc && doc.defaultView || window; 5095 if (!win.getSelection) return; 5096 var selection = win.getSelection(); 5097 var length = node.textContent.length; 5098 var start = Math.min(offsets.start, length); 5099 var end = offsets.end === void 0 ? start : Math.min(offsets.end, length); 5100 if (!selection.extend && start > end) { 5101 var temp = end; 5102 end = start; 5103 start = temp; 5104 } 5105 var startMarker = getNodeForCharacterOffset(node, start); 5106 var endMarker = getNodeForCharacterOffset(node, end); 5107 if (startMarker && endMarker) { 5108 if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) return; 5109 var range = doc.createRange(); 5110 range.setStart(startMarker.node, startMarker.offset); 5111 selection.removeAllRanges(); 5112 if (start > end) { 5113 selection.addRange(range); 5114 selection.extend(endMarker.node, endMarker.offset); 5115 } else { 5116 range.setEnd(endMarker.node, endMarker.offset); 5117 selection.addRange(range); 5118 } 5119 } 5120 } 5121 function isTextNode(node) { 5122 return node && node.nodeType === TEXT_NODE; 5123 }
5124 function containsNode(outerNode, innerNode) { 5125 if (!outerNode || !innerNode) return false; 5126 else if (outerNode === innerNode) return true; 5127 else if (isTextNode(outerNode)) return false; 5128 else if (isTextNode(innerNode)) return containsNode(outerNode, innerNode.parentNode); 5129 else if ("contains" in outerNode) return outerNode.contains(innerNode); 5130 else if (outerNode.compareDocumentPosition) return !!(outerNode.compareDocumentPosition(innerNode) & 16); 5131 else return false; 5132 } 5133 function isInDocument(node) { 5134 return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node); 5135 } 5136 function isSameOriginFrame(iframe) { 5137 try { 5138 return typeof iframe.contentWindow.location.href === "string"; 5139 } catch (err) { 5140 return false; 5141 } 5142 } 5143 function getActiveElementDeep() { 5144 var win = window; 5145 var element = getActiveElement(); 5146 while (element instanceof win.HTMLIFrameElement) { 5147 if (isSameOriginFrame(element)) win = element.contentWindow; 5148 else return element; 5149 element = getActiveElement(win.document); 5150 } 5151 return element; 5152 } 5153 function hasSelectionCapabilities(elem) { 5154 var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); 5155 return nodeName && (nodeName === "input" && (elem.type === "text" || elem.type === "search" || elem.type === "tel" || elem.type === "url" || elem.type === "password") || nodeName === "textarea" || elem.contentEditable === "true"); 5156 } 5157 function getSelectionInformation() { 5158 var focusedElem = getActiveElementDeep(); 5159 return { 5160 focusedElem, 5161 selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null 5162 }; 5163 } 5164 function restoreSelection(priorSelectionInformation) { 5165 var curFocusedElem = getActiveElementDeep(); 5166 var priorFocusedElem = priorSelectionInformation.focusedElem; 5167 var priorSelectionRange = priorSelectionInformation.selectionRange; 5168 if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) { 5169 if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) setSelection(priorFocusedElem, priorSelectionRange); 5170 var ancestors = []; 5171 var ancestor = priorFocusedElem; 5172 while (ancestor = ancestor.parentNode) if (ancestor.nodeType === ELEMENT_NODE) ancestors.push({ 5173 element: ancestor, 5174 left: ancestor.scrollLeft, 5175 top: ancestor.scrollTop 5176 }); 5177 if (typeof priorFocusedElem.focus === "function") priorFocusedElem.focus(); 5178 for (var i = 0; i < ancestors.length; i++) { 5179 var info = ancestors[i]; 5180 info.element.scrollLeft = info.left; 5181 info.element.scrollTop = info.top; 5182 } 5183 } 5184 } 5185 function getSelection(input) { 5186 var selection; 5187 if ("selectionStart" in input) selection = { 5188 start: input.selectionStart, 5189 end: input.selectionEnd 5190 }; 5191 else selection = getOffsets(input); 5192 return selection || { 5193 start: 0, 5194 end: 0 5195 }; 5196 } 5197 function setSelection(input, offsets) { 5198 var start = offsets.start; 5199 var end = offsets.end; 5200 if (end === void 0) end = start; 5201 if ("selectionStart" in input) { 5202 input.selectionStart = start; 5203 input.selectionEnd = Math.min(end, input.value.length); 5204 } else setOffsets(input, offsets); 5205 } 5206 var skipSelectionChangeEvent = canUseDOM && "documentMode" in document && document.documentMode <= 11; 5207 function registerEvents$3() { 5208 registerTwoPhaseEvent("onSelect", [ 5209 "focusout", 5210 "contextmenu", 5211 "dragend", 5212 "focusin", 5213 "keydown", 5214 "keyup", 5215 "mousedown", 5216 "mouseup", 5217 "selectionchange" 5218 ]); 5219 } 5220 var activeElement$1 = null; 5221 var activeElementInst$1 = null; 5222 var lastSelection = null; 5223 var mouseDown = false; 5224 function getSelection$1(node) { 5225 if ("selectionStart" in node && hasSelectionCapabilities(node)) return { 5226 start: node.selectionStart, 5227 end: node.selectionEnd 5228 }; 5229 else { 5230 var selection = (node.ownerDocument && node.ownerDocument.defaultView || window).getSelection(); 5231 return { 5232 anchorNode: selection.anchorNode, 5233 anchorOffset: selection.anchorOffset, 5234 focusNode: selection.focusNode, 5235 focusOffset: selection.focusOffset 5236 }; 5237 } 5238 } 5239 function getEventTargetDocument(eventTarget) { 5240 return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument; 5241 }
5242 function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) { 5243 var doc = getEventTargetDocument(nativeEventTarget); 5244 if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) return; 5245 var currentSelection = getSelection$1(activeElement$1); 5246 if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) { 5247 lastSelection = currentSelection; 5248 var listeners = accumulateTwoPhaseListeners(activeElementInst$1, "onSelect"); 5249 if (listeners.length > 0) { 5250 var event = new SyntheticEvent("onSelect", "select", null, nativeEvent, nativeEventTarget); 5251 dispatchQueue.push({ 5252 event, 5253 listeners 5254 }); 5255 event.target = activeElement$1; 5256 } 5257 } 5258 } 5259 function extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) { 5260 var targetNode = targetInst ? getNodeFromInstance(targetInst) : window; 5261 switch (domEventName) { 5262 case "focusin": 5263 if (isTextInputElement(targetNode) || targetNode.contentEditable === "true") { 5264 activeElement$1 = targetNode; 5265 activeElementInst$1 = targetInst; 5266 lastSelection = null; 5267 } 5268 break; 5269 case "focusout": 5270 activeElement$1 = null; 5271 activeElementInst$1 = null; 5272 lastSelection = null; 5273 break; 5274 case "mousedown": 5275 mouseDown = true; 5276 break; 5277 case "contextmenu": 5278 case "mouseup": 5279 case "dragend": 5280 mouseDown = false; 5281 constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget); 5282 break; 5283 case "selectionchange": if (skipSelectionChangeEvent) break; 5284 case "keydown": 5285 case "keyup": constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget); 5286 } 5287 } 5288 function makePrefixMap(styleProp, eventName) { 5289 var prefixes$1 = {}; 5290 prefixes$1[styleProp.toLowerCase()] = eventName.toLowerCase(); 5291 prefixes$1["Webkit" + styleProp] = "webkit" + eventName; 5292 prefixes$1["Moz" + styleProp] = "moz" + eventName; 5293 return prefixes$1; 5294 } 5295 var vendorPrefixes = { 5296 animationend: makePrefixMap("Animation", "AnimationEnd"), 5297 animationiteration: makePrefixMap("Animation", "AnimationIteration"), 5298 animationstart: makePrefixMap("Animation", "AnimationStart"), 5299 transitionend: makePrefixMap("Transition", "TransitionEnd") 5300 }; 5301 var prefixedEventNames = {}; 5302 var style = {}; 5303 if (canUseDOM) { 5304 style = document.createElement("div").style; 5305 if (!("AnimationEvent" in window)) { 5306 delete vendorPrefixes.animationend.animation; 5307 delete vendorPrefixes.animationiteration.animation; 5308 delete vendorPrefixes.animationstart.animation; 5309 } 5310 if (!("TransitionEvent" in window)) delete vendorPrefixes.transitionend.transition; 5311 } 5312 function getVendorPrefixedEventName(eventName) { 5313 if (prefixedEventNames[eventName]) return prefixedEventNames[eventName]; 5314 else if (!vendorPrefixes[eventName]) return eventName; 5315 var prefixMap = vendorPrefixes[eventName]; 5316 for (var styleProp in prefixMap) if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) return prefixedEventNames[eventName] = prefixMap[styleProp]; 5317 return eventName; 5318 } 5319 var ANIMATION_END = getVendorPrefixedEventName("animationend"); 5320 var ANIMATION_ITERATION = getVendorPrefixedEventName("animationiteration"); 5321 var ANIMATION_START = getVendorPrefixedEventName("animationstart"); 5322 var TRANSITION_END = getVendorPrefixedEventName("transitionend"); 5323 var topLevelEventsToReactNames = /* @__PURE__ */ new Map(); 5324 var simpleEventPluginEvents = [ 5325 "abort", 5326 "auxClick", 5327 "cancel", 5328 "canPlay", 5329 "canPlayThrough", 5330 "click", 5331 "close", 5332 "contextMenu", 5333 "copy", 5334 "cut", 5335 "drag", 5336 "dragEnd", 5337 "dragEnter", 5338 "dragExit", 5339 "dragLeave", 5340 "dragOver", 5341 "dragStart", 5342 "drop", 5343 "durationChange", 5344 "emptied", 5345 "encrypted", 5346 "ended", 5347 "error", 5348 "gotPointerCapture", 5349 "input", 5350 "invalid", 5351 "keyDown", 5352 "keyPress", 5353 "keyUp", 5354 "load", 5355 "loadedData", 5356 "loadedMetadata", 5357 "loadStart", 5358 "lostPointerCapture", 5359 "mouseDown", 5360 "mouseMove", 5361 "mouseOut", 5362 "mouseOver", 5363 "mouseUp", 5364 "paste", 5365 "pause", 5366 "play", 5367 "playing", 5368 "pointerCancel", 5369 "pointerDown", 5370 "pointerMove", 5371 "pointerOut", 5372 "pointerOver", 5373 "pointerUp", 5374 "progress", 5375 "rateChange", 5376 "reset", 5377 "resize", 5378 "seeked", 5379 "seeking", 5380 "stalled", 5381 "submit", 5382 "suspend", 5383 "timeUpdate", 5384 "touchCancel", 5385 "touchEnd", 5386 "touchStart", 5387 "volumeChange", 5388 "scroll", 5389 "toggle", 5390 "touchMove", 5391 "waiting", 5392 "wheel" 5393 ]; 5394 function registerSimpleEvent(domEventName, reactName) { 5395 topLevelEventsToReactNames.set(domEventName, reactName); 5396 registerTwoPhaseEvent(reactName, [domEventName]); 5397 } 5398 function registerSimpleEvents() { 5399 for (var i = 0; i < simpleEventPluginEvents.length; i++) { 5400 var eventName = simpleEventPluginEvents[i];
5401 registerSimpleEvent(eventName.toLowerCase(), "on" + (eventName[0].toUpperCase() + eventName.slice(1))); 5402 } 5403 registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); 5404 registerSimpleEvent(ANIMATION_ITERATION, "onAnimationIteration"); 5405 registerSimpleEvent(ANIMATION_START, "onAnimationStart"); 5406 registerSimpleEvent("dblclick", "onDoubleClick"); 5407 registerSimpleEvent("focusin", "onFocus"); 5408 registerSimpleEvent("focusout", "onBlur"); 5409 registerSimpleEvent(TRANSITION_END, "onTransitionEnd"); 5410 } 5411 function extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) { 5412 var reactName = topLevelEventsToReactNames.get(domEventName); 5413 if (reactName === void 0) return; 5414 var SyntheticEventCtor = SyntheticEvent; 5415 var reactEventType = domEventName; 5416 switch (domEventName) { 5417 case "keypress": if (getEventCharCode(nativeEvent) === 0) return; 5418 case "keydown": 5419 case "keyup": 5420 SyntheticEventCtor = SyntheticKeyboardEvent; 5421 break; 5422 case "focusin": 5423 reactEventType = "focus"; 5424 SyntheticEventCtor = SyntheticFocusEvent; 5425 break; 5426 case "focusout": 5427 reactEventType = "blur"; 5428 SyntheticEventCtor = SyntheticFocusEvent; 5429 break; 5430 case "beforeblur": 5431 case "afterblur": 5432 SyntheticEventCtor = SyntheticFocusEvent; 5433 break; 5434 case "click": if (nativeEvent.button === 2) return; 5435 case "auxclick":
5436 case "dblclick": 5437 case "mousedown": 5438 case "mousemove": 5439 case "mouseup": 5440 case "mouseout": 5441 case "mouseover": 5442 case "contextmenu": 5443 SyntheticEventCtor = SyntheticMouseEvent; 5444 break; 5445 case "drag": 5446 case "dragend": 5447 case "dragenter": 5448 case "dragexit": 5449 case "dragleave": 5450 case "dragover": 5451 case "dragstart": 5452 case "drop": 5453 SyntheticEventCtor = SyntheticDragEvent; 5454 break; 5455 case "touchcancel": 5456 case "touchend": 5457 case "touchmove": 5458 case "touchstart": 5459 SyntheticEventCtor = SyntheticTouchEvent; 5460 break; 5461 case ANIMATION_END: 5462 case ANIMATION_ITERATION: 5463 case ANIMATION_START: 5464 SyntheticEventCtor = SyntheticAnimationEvent; 5465 break; 5466 case TRANSITION_END: 5467 SyntheticEventCtor = SyntheticTransitionEvent; 5468 break; 5469 case "scroll": 5470 SyntheticEventCtor = SyntheticUIEvent; 5471 break; 5472 case "wheel": 5473 SyntheticEventCtor = SyntheticWheelEvent; 5474 break; 5475 case "copy": 5476 case "cut": 5477 case "paste": 5478 SyntheticEventCtor = SyntheticClipboardEvent; 5479 break; 5480 case "gotpointercapture": 5481 case "lostpointercapture": 5482 case "pointercancel": 5483 case "pointerdown": 5484 case "pointermove": 5485 case "pointerout": 5486 case "pointerover": 5487 case "pointerup": 5488 SyntheticEventCtor = SyntheticPointerEvent; 5489 break; 5490 } 5491 var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0; 5492 var accumulateTargetOnly = !inCapturePhase && domEventName === "scroll"; 5493 var _listeners = accumulateSinglePhaseListeners(targetInst, reactName, nativeEvent.type, inCapturePhase, accumulateTargetOnly); 5494 if (_listeners.length > 0) { 5495 var _event = new SyntheticEventCtor(reactName, reactEventType, null, nativeEvent, nativeEventTarget); 5496 dispatchQueue.push({ 5497 event: _event, 5498 listeners: _listeners 5499 }); 5500 } 5501 } 5502 registerSimpleEvents(); 5503 registerEvents$2(); 5504 registerEvents$1(); 5505 registerEvents$3(); 5506 registerEvents(); 5507 function extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, targetContainer) { 5508 extractEvents$4(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags); 5509 if ((eventSystemFlags & SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS) === 0) { 5510 extractEvents$2(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget); 5511 extractEvents$1(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget); 5512 extractEvents$3(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget); 5513 extractEvents(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget); 5514 } 5515 } 5516 var mediaEventTypes = [ 5517 "abort", 5518 "canplay", 5519 "canplaythrough", 5520 "durationchange", 5521 "emptied", 5522 "encrypted", 5523 "ended", 5524 "error", 5525 "loadeddata", 5526 "loadedmetadata", 5527 "loadstart", 5528 "pause", 5529 "play", 5530 "playing", 5531 "progress", 5532 "ratechange", 5533 "resize", 5534 "seeked", 5535 "seeking", 5536 "stalled", 5537 "suspend", 5538 "timeupdate", 5539 "volumechange", 5540 "waiting" 5541 ]; 5542 var nonDelegatedEvents = new Set([ 5543 "cancel", 5544 "close", 5545 "invalid", 5546 "load", 5547 "scroll", 5548 "toggle" 5549 ].concat(mediaEventTypes)); 5550 function executeDispatch(event, listener, currentTarget) { 5551 var type = event.type || "unknown-event"; 5552 event.currentTarget = currentTarget; 5553 invokeGuardedCallbackAndCatchFirstError(type, listener, void 0, event); 5554 event.currentTarget = null; 5555 } 5556 function processDispatchQueueItemsInOrder(event, dispatchListeners, inCapturePhase) { 5557 var previousInstance; 5558 if (inCapturePhase) for (var i = dispatchListeners.length - 1; i >= 0; i--) { 5559 var _dispatchListeners$i = dispatchListeners[i], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget, listener = _dispatchListeners$i.listener; 5560 if (instance !== previousInstance && event.isPropagationStopped()) return; 5561 executeDispatch(event, listener, currentTarget); 5562 previousInstance = instance; 5563 } 5564 else for (var _i = 0; _i < dispatchListeners.length; _i++) { 5565 var _dispatchListeners$_i = dispatchListeners[_i], _instance = _dispatchListeners$_i.instance, _currentTarget = _dispatchListeners$_i.currentTarget, _listener = _dispatchListeners$_i.listener; 5566 if (_instance !== previousInstance && event.isPropagationStopped()) return; 5567 executeDispatch(event, _listener, _currentTarget); 5568 previousInstance = _instance; 5569 } 5570 }
5571 function processDispatchQueue(dispatchQueue, eventSystemFlags) { 5572 var inCapturePhase = (eventSystemFlags & IS_CAPTURE_PHASE) !== 0; 5573 for (var i = 0; i < dispatchQueue.length; i++) { 5574 var _dispatchQueue$i = dispatchQueue[i], event = _dispatchQueue$i.event, listeners = _dispatchQueue$i.listeners; 5575 processDispatchQueueItemsInOrder(event, listeners, inCapturePhase); 5576 } 5577 rethrowCaughtError(); 5578 } 5579 function dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) { 5580 var nativeEventTarget = getEventTarget(nativeEvent); 5581 var dispatchQueue = []; 5582 extractEvents$5(dispatchQueue, domEventName, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags); 5583 processDispatchQueue(dispatchQueue, eventSystemFlags); 5584 } 5585 function listenToNonDelegatedEvent(domEventName, targetElement) { 5586 if (!nonDelegatedEvents.has(domEventName)) error("Did not expect a listenToNonDelegatedEvent() call for \"%s\". This is a bug in React. Please file an issue.", domEventName); 5587 var isCapturePhaseListener = false;
5588 var listenerSet = getEventListenerSet(targetElement); 5589 var listenerSetKey = getListenerSetKey(domEventName, isCapturePhaseListener); 5590 if (!listenerSet.has(listenerSetKey)) { 5591 addTrappedEventListener(targetElement, domEventName, IS_NON_DELEGATED, isCapturePhaseListener); 5592 listenerSet.add(listenerSetKey); 5593 } 5594 } 5595 function listenToNativeEvent(domEventName, isCapturePhaseListener, target) { 5596 if (nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener) error("Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. This is a bug in React. Please file an issue.", domEventName); 5597 var eventSystemFlags = 0; 5598 if (isCapturePhaseListener) eventSystemFlags |= IS_CAPTURE_PHASE; 5599 addTrappedEventListener(target, domEventName, eventSystemFlags, isCapturePhaseListener); 5600 } 5601 var listeningMarker = "_reactListening" + Math.random().toString(36).slice(2); 5602 function listenToAllSupportedEvents(rootContainerElement) { 5603 if (!rootContainerElement[listeningMarker]) { 5604 rootContainerElement[listeningMarker] = true; 5605 allNativeEvents.forEach(function(domEventName) { 5606 if (domEventName !== "selectionchange") { 5607 if (!nonDelegatedEvents.has(domEventName)) listenToNativeEvent(domEventName, false, rootContainerElement); 5608 listenToNativeEvent(domEventName, true, rootContainerElement); 5609 } 5610 }); 5611 var ownerDocument = rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument; 5612 if (ownerDocument !== null) { 5613 if (!ownerDocument[listeningMarker]) { 5614 ownerDocument[listeningMarker] = true; 5615 listenToNativeEvent("selectionchange", false, ownerDocument); 5616 } 5617 } 5618 } 5619 } 5620 function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener, isDeferredListenerForLegacyFBSupport) { 5621 var listener = createEventListenerWrapperWithPriority(targetContainer, domEventName, eventSystemFlags); 5622 var isPassiveListener = void 0; 5623 if (passiveBrowserEventsSupported) { 5624 if (domEventName === "touchstart" || domEventName === "touchmove" || domEventName === "wheel") isPassiveListener = true; 5625 } 5626 targetContainer = targetContainer; 5627 if (isCapturePhaseListener) if (isPassiveListener !== void 0) addEventCaptureListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener); 5628 else addEventCaptureListener(targetContainer, domEventName, listener); 5629 else if (isPassiveListener !== void 0) addEventBubbleListenerWithPassiveFlag(targetContainer, domEventName, listener, isPassiveListener); 5630 else addEventBubbleListener(targetContainer, domEventName, listener); 5631 } 5632 function isMatchingRootContainer(grandContainer, targetContainer) { 5633 return grandContainer === targetContainer || grandContainer.nodeType === COMMENT_NODE && grandContainer.parentNode === targetContainer; 5634 } 5635 function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst, targetContainer) { 5636 var ancestorInst = targetInst; 5637 if ((eventSystemFlags & IS_EVENT_HANDLE_NON_MANAGED_NODE) === 0 && (eventSystemFlags & IS_NON_DELEGATED) === 0) { 5638 var targetContainerNode = targetContainer; 5639 if (targetInst !== null) { 5640 var node = targetInst; 5641 mainLoop: while (true) { 5642 if (node === null) return; 5643 var nodeTag = node.tag; 5644 if (nodeTag === HostRoot || nodeTag === HostPortal) { 5645 var container = node.stateNode.containerInfo; 5646 if (isMatchingRootContainer(container, targetContainerNode)) break; 5647 if (nodeTag === HostPortal) { 5648 var grandNode = node.return; 5649 while (grandNode !== null) { 5650 var grandTag = grandNode.tag; 5651 if (grandTag === HostRoot || grandTag === HostPortal) { 5652 var grandContainer = grandNode.stateNode.containerInfo; 5653 if (isMatchingRootContainer(grandContainer, targetContainerNode)) return; 5654 } 5655 grandNode = grandNode.return; 5656 } 5657 } 5658 while (container !== null) { 5659 var parentNode = getClosestInstanceFromNode(container); 5660 if (parentNode === null) return; 5661 var parentTag = parentNode.tag; 5662 if (parentTag === HostComponent || parentTag === HostText) { 5663 node = ancestorInst = parentNode; 5664 continue mainLoop; 5665 } 5666 container = container.parentNode; 5667 } 5668 } 5669 node = node.return; 5670 } 5671 } 5672 } 5673 batchedUpdates(function() {
5674 return dispatchEventsForPlugins(domEventName, eventSystemFlags, nativeEvent, ancestorInst); 5675 }); 5676 } 5677 function createDispatchListener(instance, listener, currentTarget) { 5678 return { 5679 instance, 5680 listener, 5681 currentTarget 5682 }; 5683 } 5684 function accumulateSinglePhaseListeners(targetFiber, reactName, nativeEventType, inCapturePhase, accumulateTargetOnly, nativeEvent) { 5685 var captureName = reactName !== null ? reactName + "Capture" : null; 5686 var reactEventName = inCapturePhase ? captureName : reactName; 5687 var listeners = []; 5688 var instance = targetFiber; 5689 var lastHostComponent = null; 5690 while (instance !== null) { 5691 var _instance2 = instance, stateNode = _instance2.stateNode; 5692 if (_instance2.tag === HostComponent && stateNode !== null) { 5693 lastHostComponent = stateNode; 5694 if (reactEventName !== null) { 5695 var listener = getListener(instance, reactEventName); 5696 if (listener != null) listeners.push(createDispatchListener(instance, listener, lastHostComponent)); 5697 } 5698 } 5699 if (accumulateTargetOnly) break; 5700 instance = instance.return; 5701 } 5702 return listeners; 5703 } 5704 function accumulateTwoPhaseListeners(targetFiber, reactName) { 5705 var captureName = reactName + "Capture"; 5706 var listeners = []; 5707 var instance = targetFiber; 5708 while (instance !== null) { 5709 var _instance3 = instance, stateNode = _instance3.stateNode; 5710 if (_instance3.tag === HostComponent && stateNode !== null) { 5711 var currentTarget = stateNode; 5712 var captureListener = getListener(instance, captureName); 5713 if (captureListener != null) listeners.unshift(createDispatchListener(instance, captureListener, currentTarget)); 5714 var bubbleListener = getListener(instance, reactName); 5715 if (bubbleListener != null) listeners.push(createDispatchListener(instance, bubbleListener, currentTarget)); 5716 } 5717 instance = instance.return; 5718 } 5719 return listeners; 5720 } 5721 function getParent(inst) { 5722 if (inst === null) return null; 5723 do 5724 inst = inst.return; 5725 while (inst && inst.tag !== HostComponent); 5726 if (inst) return inst; 5727 return null; 5728 } 5729 function getLowestCommonAncestor(instA, instB) { 5730 var nodeA = instA; 5731 var nodeB = instB; 5732 var depthA = 0; 5733 for (var tempA = nodeA; tempA; tempA = getParent(tempA)) depthA++; 5734 var depthB = 0; 5735 for (var tempB = nodeB; tempB; tempB = getParent(tempB)) depthB++; 5736 while (depthA - depthB > 0) { 5737 nodeA = getParent(nodeA); 5738 depthA--; 5739 } 5740 while (depthB - depthA > 0) { 5741 nodeB = getParent(nodeB); 5742 depthB--; 5743 } 5744 var depth = depthA; 5745 while (depth--) { 5746 if (nodeA === nodeB || nodeB !== null && nodeA === nodeB.alternate) return nodeA; 5747 nodeA = getParent(nodeA); 5748 nodeB = getParent(nodeB); 5749 } 5750 return null; 5751 } 5752 function accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) { 5753 var registrationName = event._reactName; 5754 var listeners = []; 5755 var instance = target; 5756 while (instance !== null) { 5757 if (instance === common) break; 5758 var _instance4 = instance, alternate = _instance4.alternate, stateNode = _instance4.stateNode, tag = _instance4.tag; 5759 if (alternate !== null && alternate === common) break; 5760 if (tag === HostComponent && stateNode !== null) { 5761 var currentTarget = stateNode; 5762 if (inCapturePhase) { 5763 var captureListener = getListener(instance, registrationName); 5764 if (captureListener != null) listeners.unshift(createDispatchListener(instance, captureListener, currentTarget)); 5765 } else if (!inCapturePhase) { 5766 var bubbleListener = getListener(instance, registrationName); 5767 if (bubbleListener != null) listeners.push(createDispatchListener(instance, bubbleListener, currentTarget)); 5768 } 5769 } 5770 instance = instance.return; 5771 } 5772 if (listeners.length !== 0) dispatchQueue.push({ 5773 event, 5774 listeners 5775 }); 5776 } 5777 function accumulateEnterLeaveTwoPhaseListeners(dispatchQueue, leaveEvent, enterEvent, from, to) { 5778 var common = from && to ? getLowestCommonAncestor(from, to) : null; 5779 if (from !== null) accumulateEnterLeaveListenersForEvent(dispatchQueue, leaveEvent, from, common, false); 5780 if (to !== null && enterEvent !== null) accumulateEnterLeaveListenersForEvent(dispat
5780chQueue, enterEvent, to, common, true); 5781 } 5782 function getListenerSetKey(domEventName, capture) { 5783 return domEventName + "__" + (capture ? "capture" : "bubble"); 5784 } 5785 var didWarnInvalidHydration = false; 5786 var DANGEROUSLY_SET_INNER_HTML = "dangerouslySetInnerHTML"; 5787 var SUPPRESS_CONTENT_EDITABLE_WARNING = "suppressContentEditableWarning"; 5788 var SUPPRESS_HYDRATION_WARNING = "suppressHydrationWarning"; 5789 var AUTOFOCUS = "autoFocus"; 5790 var CHILDREN = "children"; 5791 var STYLE = "style"; 5792 var HTML$1 = "__html"; 5793 var warnedUnknownTags; 5794 var validatePropertiesInDevelopment; 5795 var warnForPropDifference; 5796 var warnForExtraAttributes; 5797 var warnForInvalidEventListener; 5798 var canDiffStyleForHydrationWarning; 5799 var normalizeHTML; 5800 warnedUnknownTags = { 5801 dialog: true, 5802 webview: true 5803 }; 5804 validatePropertiesInDevelopment = function(type, props) { 5805 validateProperties(type, props); 5806 validateProperties$1(type, props); 5807 validateProperties$2(type, props, { 5808 registrationNameDependencies, 5809 possibleRegistrationNames 5810 }); 5811 }; 5812 canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode; 5813 warnForPropDifference = function(propName, serverValue, clientValue) { 5814 if (didWarnInvalidHydration) return; 5815 var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue); 5816 var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue); 5817 if (normalizedServerValue === normalizedClientValue) return; 5818 didWarnInvalidHydration = true; 5819 error("Prop `%s` did not match. Server: %s Client: %s", propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue)); 5820 }; 5821 warnForExtraAttributes = function(attributeNames) { 5822 if (didWarnInvalidHydration) return; 5823 didWarnInvalidHydration = true; 5824 var names = []; 5825 attributeNames.forEach(function(name) { 5826 names.push(name); 5827 }); 5828 error("Extra attributes from the server: %s", names); 5829 }; 5830 warnForInvalidEventListener = function(registrationName, listener) { 5831 if (listener === false) error("Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.", registrationName, registrationName, registrationName); 5832 else error("Expected `%s` listener to be a function, instead got a value of `%s` type.", registrationName, typeof listener); 5833 }; 5834 normalizeHTML = function(parent, html) { 5835 var testElement = parent.namespaceURI === HTML_NAMESPACE ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName); 5836 testElement.innerHTML = html; 5837 return testElement.innerHTML; 5838 }; 5839 var NORMALIZE_NEWLINES_REGEX = /\r\n?/g; 5840 var NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g; 5841 function normalizeMarkupForTextOrAttribute(markup) { 5842 checkHtmlStringCoercion(markup); 5843 return (typeof markup === "string" ? markup : "" + markup).replace(NORMALIZE_NEWLINES_REGEX, "\n").replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, ""); 5844 } 5845 function checkForUnmatchedText(serverText, clientText, isConcurrentMode, shouldWarnDev) { 5846 var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText); 5847 var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText); 5848 if (normalizedServerText === normalizedClientText) return; 5849 if (shouldWarnDev) { 5850 if (!didWarnInvalidHydration) { 5851 didWarnInvalidHydration = true; 5852 error("Text content did not match. Server: \"%s\" Client: \"%s\"", normalizedServerText, normalizedClientText); 5853 } 5854 } 5855 if (isConcurrentMode && enableClientRenderFallbackOnTextMismatch) throw new Error("Text content does not match server-rendered HTML."); 5856 } 5857 function getOwnerDocumentFromRootContainer(rootContainerElement) { 5858 return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument; 5859 } 5860 function noop() {} 5861 function trapClickOnNonInteractiveElement(node) { 5862 node.onclick = noop; 5863 } 5864 function setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) { 5865 for (var propKey in nextProps) { 5866 if (!nextProps.hasOwnProperty(propKey)) continue; 5867 var nextProp = nextProps[propKey]; 5868 if (propKey === STYLE) { 5869 if (nextProp) Object.freeze(nextProp); 5870 setValueForStyles(domElement, nextProp); 5871 } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 5872 var nextHtml = nextProp ? nextProp[HTML$1] : void 0; 5873 if (nextHtml != null) setInnerHTML(domElement, nextHtml); 5874 } else if (propKey === CHILDREN) { 5875 if (typeof nextProp === "string") {
5876 if (tag !== "textarea" || nextProp !== "") setTextContent(domElement, nextProp); 5877 } else if (typeof nextProp === "number") setTextContent(domElement, "" + nextProp); 5878 } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING); 5879 else if (propKey === AUTOFOCUS); 5880 else if (registrationNameDependencies.hasOwnProperty(propKey)) { 5881 if (nextProp != null) { 5882 if (typeof nextProp !== "function") warnForInvalidEventListener(propKey, nextProp); 5883 if (propKey === "onScroll") listenToNonDelegatedEvent("scroll", domElement); 5884 } 5885 } else if (nextProp != null) setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag); 5886 } 5887 } 5888 function updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) { 5889 for (var i = 0; i < updatePayload.length; i += 2) { 5890 var propKey = updatePayload[i]; 5891 var propValue = updatePayload[i + 1]; 5892 if (propKey === STYLE) setValueForStyles(domElement, propValue); 5893 else if (propKey === DANGEROUSLY_SET_INNER_HTML) setInnerHTML(domElement, propValue); 5894 else if (propKey === CHILDREN) setTextContent(domElement, propValue); 5895 else setValueForProperty(domElement, propKey, propValue, isCustomComponentTag); 5896 } 5897 } 5898 function createElement(type, props, rootContainerElement, parentNamespace) { 5899 var isCustomComponentTag; 5900 var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement); 5901 var domElement; 5902 var namespaceURI = parentNamespace; 5903 if (namespaceURI === HTML_NAMESPACE) namespaceURI = getIntrinsicNamespace(type); 5904 if (namespaceURI === HTML_NAMESPACE) { 5905 isCustomComponentTag = isCustomComponent(type, props); 5906 if (!isCustomComponentTag && type !== type.toLowerCase()) error("<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.", type); 5907 if (type === "script") { 5908 var div = ownerDocument.createElement("div"); 5909 div.innerHTML = "<script><\/script>"; 5910 var firstChild = div.firstChild; 5911 domElement = div.removeChild(firstChild); 5912 } else if (typeof props.is === "string") domElement = ownerDocument.createElement(type, { is: props.is }); 5913 else { 5914 domElement = ownerDocument.createElement(type); 5915 if (type === "select") { 5916 var node = domElement; 5917 if (props.multiple) node.multiple = true; 5918 else if (props.size) node.size = props.size; 5919 } 5920 } 5921 } else domElement = ownerDocument.createElementNS(namespaceURI, type); 5922 if (namespaceURI === HTML_NAMESPACE) { 5923 if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === "[object HTMLUnknownElement]" && !hasOwnProperty.call(warnedUnknownTags, type)) { 5924 warnedUnknownTags[type] = true; 5925 error("The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.", type); 5926 } 5927 } 5928 return domElement; 5929 } 5930 function createTextNode(text, rootContainerElement) { 5931 return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text); 5932 } 5933 function setInitialProperties(domElement, tag, rawProps, rootContainerElement) { 5934 var isCustomComponentTag = isCustomComponent(tag, rawProps); 5935 validatePropertiesInDevelopment(tag, rawProps); 5936 var props; 5937 switch (tag) { 5938 case "dialog": 5939 listenToNonDelegatedEvent("cancel", domElement); 5940 listenToNonDelegatedEvent("close", domElement); 5941 props = rawProps; 5942 break; 5943 case "iframe": 5944 case "object": 5945 case "embed": 5946 listenToNonDelegatedEvent("load", domElement); 5947 props = rawProps; 5948 break; 5949 case "video": 5950 case "audio": 5951 for (var i = 0; i < mediaEventTypes.length; i++) listenToNonDelegatedEvent(mediaEventTypes[i], domElement); 5952 props = rawProps; 5953 break; 5954 case "source": 5955 listenToNonDelegatedEvent("error", domElement); 5956 props = rawProps; 5957 break; 5958 case "img": 5959 case "image": 5960 case "link": 5961 listenToNonDelegatedEvent("error", domElement); 5962 listenToNonDelegatedEvent("load", domElement); 5963 props = rawProps; 5964 break; 5965 case "details": 5966 listenToNonDelegatedEvent("toggle", domElement); 5967 props = rawProps; 5968 break; 5969 case "input": 5970 initWrapperState(domElement, rawProps); 5971 props = getHostProps(domElement, rawProps); 5972 listenToNonDelegatedEvent("invalid", domElement); 5973 break; 5974 case "option": 5975 validateProps(domElement, rawProps); 5976 props = rawProps; 5977 break; 5978 case "select": 5979 initWrapperState$1(domElement, rawProps); 5980 props = getHostProps$1(domElement, rawProps); 5981 listenToNonDelegatedEvent("invalid", domElement); 5982 break; 5983 case "textarea": 5984 initWrapperState$2(domElement, rawProps); 5985 props = getHostProps$2(domElement, rawProps); 5986 listenToNonDelegatedEvent("invalid", domElement); 5987 break; 5988 default: props = rawProps; 5989 } 5990 assertValidProps(tag, props); 5991 setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag); 5992 switch (tag) { 5993 case "input": 5994 track(domElement); 5995 postMountWrapper(domElement, rawProps, false); 5996 break; 5997 case "textarea": 5998 track(domElement); 5999 postMountWrapper$3(domElement); 6000 break; 6001 case "option": 6002 postMountWrapper$1(domElement, rawProps); 6003 break; 6004 case "select": 6005 postMountWrapper$2(domElement, rawProps); 6006 break; 6007 default: 6008 if (typeof props.onClick === "function") trapClickOnNonInteractiveElement(domElement); 6009 break; 6010 } 6011 } 6012 function diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) { 6013 validatePropertiesInDevelopment(tag, nextRawProps); 6014 var updatePayload = null; 6015 var lastProps; 6016 var nextProps; 6017 switch (tag) { 6018 case "input": 6019 lastProps = getHostProps(domElement, lastRawProps); 6020 nextProps = getHostProps(domElement, nextRawProps); 6021 updatePayload = []; 6022 break; 6023 case "select": 6024 lastProps = getHostProps$1(domElement, lastRawProps); 6025 nextProps = getHostProps$1(domElement, nextRawProps); 6026 updatePayload = []; 6027 break; 6028 case "textarea": 6029 lastProps = getHostProps$2(domElement, lastRawProps); 6030 nextProps = getHostProps$2(domElement, nextRawProps); 6031 updatePayload = []; 6032 break; 6033 default: 6034 lastProps = lastRawProps; 6035 nextProps = nextRawProps; 6036 if (typeof lastProps.onClick !== "function" && typeof nextProps.onClick === "function") trapClickOnNonInteractiveElement(domElement); 6037 break; 6038 } 6039 assertValidProps(tag, nextProps); 6040 var propKey; 6041 var styleName; 6042 var styleUpdates = null; 6043 for (propKey in lastProps) { 6044 if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) continue; 6045 if (propKey === STYLE) { 6046 var lastStyle = lastProps[propKey]; 6047 for (styleName in lastStyle) if (lastStyle.hasOwnProperty(styleName)) { 6048 if (!styleUpdates) styleUpdates = {}; 6049 styleUpdates[styleName] = ""; 6050 } 6051 } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN); 6052 else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING); 6053 else if (propKey === AUTOFOCUS); 6054 else if (registrationNameDependencies.hasOwnProperty(propKey)) { 6055 if (!updatePayload) updatePayload = []; 6056 } else (updatePayload = updatePayload || []).push(propKey, null); 6057 } 6058 for (propKey in nextProps) { 6059 var nextProp = nextProps[propKey]; 6060 var lastProp = lastProps != null ? lastProps[propKey] : void 0; 6061 if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) continue; 6062 if (propKey === STYLE) { 6063 if (nextProp) Object.freeze(nextProp); 6064 if (lastProp) { 6065 for (styleName in lastProp) if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) { 6066 if (!styleUpdates) styleUpdates = {}; 6067 styleUpdates[styleName] = ""; 6068 } 6069 for (styleName in nextProp) if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) { 6070 if (!styleUpdates) styleUpdates = {}; 6071 styleUpdates[styleName] = nextProp[styleName]; 6072 } 6073 } else { 6074 if (!styleUpdates) { 6075 if (!updatePayload) updatePayload = []; 6076 updatePayload.push(propKey, styleUpdates); 6077 } 6078 styleUpdates = nextProp; 6079 } 6080 } else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 6081 var nextHtml = nextProp ? nextProp[HTML$1] : void 0; 6082 var lastHtml = lastProp ? lastProp[HTML$1] : void 0; 6083 if (nextHtml != null) { 6084 if (lastHtml !== nextHtml) (updatePayload = updatePayload || []).push(propKey, nextHtml); 6085 } 6086 } else if (propKey === CHILDREN) { 6087 if (typeof nextProp === "string" || typeof nextProp === "number") (updatePayload = updatePayload || []).push(propKey, "" + nextProp); 6088 } else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING); 6089 else if (registrationNameDependencies.hasOwnProperty(propKey)) { 6090 if (nextProp != null) { 6091 if (typeof nextProp !== "function") warnForInvalidEventListener(propKey, nextProp); 6092 if (propKey === "onScroll") listenToNonDelegatedEvent("scroll", domElement); 6093 } 6094 if (!updatePayload && lastProp !== nextProp) updatePayload = []; 6095 } else (updatePayload = updatePayload || []).push(propKey, nextProp); 6096 } 6097 if (styleUpdates) { 6098 validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]); 6099 (updatePayload = updatePayload || []).push(STYLE, styleUpdates); 6100 } 6101 return updatePayload; 6102 } 6103 function updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) { 6104 if (tag === "input" && nextRawProps.type === "radio" && nextRawProps.name != null) updateChecked(domElement, nextRawProps); 6105 updateDOMProperties(domElement, updatePayload, isCustomComponent(tag, lastRawProps), isCustomComponent(tag, nextRawProps)); 6106 switch (tag) { 6107 case "input": 6108 updateWrapper(domElement, nextRawProps); 6109 break; 6110 case "textarea": 6111 updateWrapper$1(domElement, nextRawProps); 6112 break; 6113 case "select": 6114 postUpdateWrapper(domElement, nextRawProps); 6115 break; 6116 } 6117 } 6118 function getPossibleStandardName(propName) { 6119 var lowerCasedName = propName.toLowerCase(); 6120 if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) return null; 6121 return possibleStandardNames[lowerCasedName] || null; 6122 } 6123 function diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement, isConcurrentMode, shouldWarnDev) { 6124 var isCustomComponentTag; 6125 var extraAttributeNames; 6126 isCustomComponentTag = isCustomComponent(tag, rawProps); 6127 validatePropertiesInDevelopment(tag, rawProps); 6128 switch (tag) { 6129 case "dialog": 6130 listenToNonDelegatedEvent("cancel", domElement); 6131 listenToNonDelegatedEvent("close", domElement); 6132 break; 6133 case "iframe": 6134 case "object": 6135 case "embed": 6136 listenToNonDelegatedEvent("load", domElement); 6137 break; 6138 case "video":
6139 case "audio": 6140 for (var i = 0; i < mediaEventTypes.length; i++) listenToNonDelegatedEvent(mediaEventTypes[i], domElement); 6141 break; 6142 case "source": 6143 listenToNonDelegatedEvent("error", domElement); 6144 break; 6145 case "img": 6146 case "image": 6147 case "link": 6148 listenToNonDelegatedEvent("error", domElement); 6149 listenToNonDelegatedEvent("load", domElement); 6150 break; 6151 case "details": 6152 listenToNonDelegatedEvent("toggle", domElement); 6153 break; 6154 case "input": 6155 initWrapperState(domElement, rawProps); 6156 listenToNonDelegatedEvent("invalid", domElement); 6157 break; 6158 case "option": 6159 validateProps(domElement, rawProps); 6160 break; 6161 case "select": 6162 initWrapperState$1(domElement, rawProps); 6163 listenToNonDelegatedEvent("invalid", domElement); 6164 break; 6165 case "textarea": 6166 initWrapperState$2(domElement, rawProps); 6167 listenToNonDelegatedEvent("invalid", domElement); 6168 break; 6169 } 6170 assertValidProps(tag, rawProps); 6171 extraAttributeNames = /* @__PURE__ */ new Set(); 6172 var attributes = domElement.attributes; 6173 for (var _i = 0; _i < attributes.length; _i++) switch (attributes[_i].name.toLowerCase()) { 6174 case "value": break; 6175 case "checked": break; 6176 case "selected": break; 6177 default: extraAttributeNames.add(attributes[_i].name); 6178 } 6179 var updatePayload = null; 6180 for (var propKey in rawProps) { 6181 if (!rawProps.hasOwnProperty(propKey)) continue; 6182 var nextProp = rawProps[propKey]; 6183 if (propKey === CHILDREN) { 6184 if (typeof nextProp === "string") { 6185 if (domElement.textContent !== nextProp) { 6186 if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev); 6187 updatePayload = [CHILDREN, nextProp]; 6188 } 6189 } else if (typeof nextProp === "number") { 6190 if (domElement.textContent !== "" + nextProp) { 6191 if (rawProps[SUPPRESS_HYDRATION_WARNING] !== true) checkForUnmatchedText(domElement.textContent, nextProp, isConcurrentMode, shouldWarnDev); 6192 updatePayload = [CHILDREN, "" + nextProp]; 6193 } 6194 } 6195 } else if (registrationNameDependencies.hasOwnProperty(propKey)) { 6196 if (nextProp != null) { 6197 if (typeof nextProp !== "function") warnForInvalidEventListener(propKey, nextProp); 6198 if (propKey === "onScroll") listenToNonDelegatedEvent("scroll", domElement); 6199 } 6200 } else if (shouldWarnDev && typeof isCustomComponentTag === "boolean") { 6201 var serverValue = void 0; 6202 var propertyInfo = isCustomComponentTag && enableCustomElementPropertySupport ? null : getPropertyInfo(propKey); 6203 if (rawProps[SUPPRESS_HYDRATION_WARNING] === true); 6204 else if (propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || propKey === "value" || propKey === "checked" || propKey === "selected"); 6205 else if (propKey === DANGEROUSLY_SET_INNER_HTML) { 6206 var serverHTML = domElement.innerHTML; 6207 var nextHtml = nextProp ? nextProp[HTML$1] : void 0; 6208 if (nextHtml != null) { 6209 var expectedHTML = normalizeHTML(domElement, nextHtml); 6210 if (expectedHTML !== serverHTML) warnForPropDifference(propKey, serverHTML, expectedHTML); 6211 } 6212 } else if (propKey === STYLE) { 6213 extraAttributeNames.delete(propKey); 6214 if (canDiffStyleForHydrationWarning) { 6215 var expectedStyle = createDangerousStringForStyles(nextProp); 6216 serverValue = domElement.getAttribute("style"); 6217 if (expectedStyle !== serverValue) warnForPropDifference(propKey, serverValue, expectedStyle); 6218 } 6219 } else if (isCustomComponentTag && !enableCustomElementPropertySupport) { 6220 extraAttributeNames.delete(propKey.toLowerCase()); 6221 serverValue = getValueForAttribute(domElement, propKey, nextProp); 6222 if (nextProp !== serverValue) warnForPropDifference(propKey, serverValue, nextProp); 6223 } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) { 6224 var isMismatchDueToBadCasing = false; 6225 if (propertyInfo !== null) { 6226 extraAttributeNames.delete(propertyInfo.attributeName); 6227 serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo); 6228 } else { 6229 var ownNamespace = parentNamespace; 6230 if (ownNamespace === HTML_NAMESPACE) ownNamespace = getIntrinsicNamespace(tag); 6231 if (ownNamespace === HTML_NAMESPACE) extraAttributeNames.delete(propKey.toLowerCase()); 6232 else { 6233 var standardName = getPossibleStandardName(propKey); 6234 if (standardName !== null && standardName !== propKey) { 6235 isMismatchDueToBadCasing = true; 6236 extraAttributeNames.delete(standardName); 6237 } 6238 extraAttributeNames.delete(propKey); 6239 } 6240 serverValue = getValueForAttribute(domElement, propKey, nextProp); 6241 } 6242 if (!enableCustomElementPropertySupport && nextProp !== serverValue && !isMismatchDueToBadCasing) warnForPropDifference(propKey, serverValue, nextProp); 6243 } 6244 } 6245 } 6246 if (shouldWarnDev) { 6247 if (extraAttributeNames.size > 0 && rawProps[SUPPRESS_HYDRATION_WARNING] !== true) warnForExtraAttributes(extraAttributeNames); 6248 } 6249 switch (tag) { 6250 case "input": 6251 track(domElement); 6252 postMountWrapper(domElement, rawProps, true); 6253 break; 6254 case "textarea": 6255 track(domElement); 6256 postMountWrapper$3(domElement); 6257 break; 6258 case "select": 6259 case "option": break; 6260 default: 6261 if (typeof rawProps.onClick === "function") trapClickOnNonInteractiveElement(domElement); 6262 break; 6263 } 6264 return updatePayload; 6265 } 6266 function diffHydratedText(textNode, text, isConcurrentMode) { 6267 return textNode.nodeValue !== text; 6268 } 6269 function warnForDeletedHydratableElement(parentNode, child) {
6270 if (didWarnInvalidHydration) return; 6271 didWarnInvalidHydration = true; 6272 error("Did not expect server HTML to contain a <%s> in <%s>.", child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase()); 6273 } 6274 function warnForDeletedHydratableText(parentNode, child) { 6275 if (didWarnInvalidHydration) return; 6276 didWarnInvalidHydration = true; 6277 error("Did not expect server HTML to contain the text node \"%s\" in <%s>.", child.nodeValue, parentNode.nodeName.toLowerCase()); 6278 } 6279 function warnForInsertedHydratedElement(parentNode, tag, props) { 6280 if (didWarnInvalidHydration) return; 6281 didWarnInvalidHydration = true; 6282 error("Expected server HTML to contain a matching <%s> in <%s>.", tag, parentNode.nodeName.toLowerCase()); 6283 } 6284 function warnForInsertedHydratedText(parentNode, text) { 6285 if (text === "") return; 6286 if (didWarnInvalidHydration) return; 6287 didWarnInvalidHydration = true; 6288 error("Expected server HTML to contain a matching text node for \"%s\" in <%s>.", text, parentNode.nodeName.toLowerCase()); 6289 } 6290 function restoreControlledState$3(domElement, tag, props) { 6291 switch (tag) { 6292 case "input": 6293 restoreControlledState(domElement, props); 6294 return; 6295 case "textarea": 6296 restoreControlledState$2(domElement, props); 6297 return; 6298 case "select": 6299 restoreControlledState$1(domElement, props); 6300 return; 6301 } 6302 } 6303 var validateDOMNesting = function() {}; 6304 var updatedAncestorInfo = function() {}; 6305 var specialTags = [ 6306 "address", 6307 "applet", 6308 "area", 6309 "article", 6310 "aside", 6311 "base", 6312 "basefont", 6313 "bgsound", 6314 "blockquote", 6315 "body", 6316 "br", 6317 "button", 6318 "caption", 6319 "center", 6320 "col", 6321 "colgroup", 6322 "dd", 6323 "details", 6324 "dir", 6325 "div", 6326 "dl", 6327 "dt", 6328 "embed", 6329 "fieldset", 6330 "figcaption", 6331 "figure", 6332 "footer", 6333 "form", 6334 "frame", 6335 "frameset", 6336 "h1", 6337 "h2", 6338 "h3", 6339 "h4", 6340 "h5", 6341 "h6", 6342 "head", 6343 "header", 6344 "hgroup", 6345 "hr", 6346 "html", 6347 "iframe", 6348 "img", 6349 "input", 6350 "isindex", 6351 "li", 6352 "link", 6353 "listing", 6354 "main", 6355 "marquee", 6356 "menu", 6357 "menuitem", 6358 "meta", 6359 "nav", 6360 "noembed", 6361 "noframes", 6362 "noscript", 6363 "object", 6364 "ol", 6365 "p", 6366 "param", 6367 "plaintext", 6368 "pre", 6369 "script", 6370 "section", 6371 "select", 6372 "source", 6373 "style", 6374 "summary", 6375 "table", 6376 "tbody", 6377 "td", 6378 "template", 6379 "textarea", 6380 "tfoot", 6381 "th", 6382 "thead", 6383 "title", 6384 "tr", 6385 "track", 6386 "ul", 6387 "wbr", 6388 "xmp" 6389 ]; 6390 var inScopeTags = [ 6391 "applet", 6392 "caption", 6393 "html", 6394 "table", 6395 "td", 6396 "th", 6397 "marquee", 6398 "object", 6399 "template", 6400 "foreignObject", 6401 "desc", 6402 "title" 6403 ]; 6404 var buttonScopeTags = inScopeTags.concat(["button"]); 6405 var impliedEndTags = [ 6406 "dd", 6407 "dt", 6408 "li", 6409 "option", 6410 "optgroup", 6411 "p", 6412 "rp", 6413 "rt" 6414 ]; 6415 var emptyAncestorInfo = { 6416 current: null, 6417 formTag: null, 6418 aTagInScope: null, 6419 buttonTagInScope: null, 6420 nobrTagInScope: null, 6421 pTagInButtonScope: null, 6422 listItemTagAutoclosing: null, 6423 dlItemTagAutoclosing: null 6424 }; 6425 updatedAncestorInfo = function(oldInfo, tag) { 6426 var ancestorInfo = assign({}, oldInfo || emptyAncestorInfo); 6427 var info = { tag }; 6428 if (inScopeTags.indexOf(tag) !== -1) { 6429 ancestorInfo.aTagInScope = null; 6430 ancestorInfo.buttonTagInScope = null; 6431 ancestorInfo.nobrTagInScope = null; 6432 } 6433 if (buttonScopeTags.indexOf(tag) !== -1) ancestorInfo.pTagInButtonScope = null; 6434 if (specialTags.indexOf(tag) !== -1 && tag !== "address" && tag !== "div" && tag !== "p") { 6435 ancestorInfo.listItemTagAutoclosing = null; 6436 ancestorInfo.dlItemTagAutoclosing = null; 6437 } 6438 ancestorInfo.current = info; 6439 if (tag === "form") ancestorInfo.formTag = info; 6440 if (tag === "a") ancestorInfo.aTagInScope = info; 6441 if (tag === "button") ancestorInfo.buttonTagInScope = info; 6442 if (tag === "nobr") ancestorInfo.nobrTagInScope = info; 6443 if (tag === "p") ancestorInfo.pTagInButtonScope = info; 6444 if (tag === "li") ancestorInfo.listItemTagAutoclosing = info; 6445 if (tag === "dd" || tag === "dt") ancestorInfo.dlItemTagAutoclosing = info; 6446 return ancestorInfo; 6447 }; 6448 var isTagValidWithParent = function(tag, parentTag) { 6449 switch (parentTag) { 6450 case "select": return tag === "option" || tag === "optgroup" || tag === "#text"; 6451 case "optgroup": return tag === "option" || tag === "#text"; 6452 case "option": return tag === "#text"; 6453 case "tr": return tag === "th" || tag === "td" || tag === "style" || tag === "script" || tag === "template"; 6454 case "tbody":
6455 case "thead": 6456 case "tfoot": return tag === "tr" || tag === "style" || tag === "script" || tag === "template"; 6457 case "colgroup": return tag === "col" || tag === "template"; 6458 case "table": return tag === "caption" || tag === "colgroup" || tag === "tbody" || tag === "tfoot" || tag === "thead" || tag === "style" || tag === "script" || tag === "template"; 6459 case "head": return tag === "base" || tag === "basefont" || tag === "bgsound" || tag === "link" || tag === "meta" || tag === "title" || tag === "noscript" || tag === "noframes" || tag === "style" || tag === "script" || tag === "template"; 6460 case "html": return tag === "head" || tag === "body" || tag === "frameset"; 6461 case "frameset": return tag === "frame"; 6462 case "#document": return tag === "html"; 6463 } 6464 switch (tag) { 6465 case "h1": 6466 case "h2": 6467 case "h3": 6468 case "h4": 6469 case "h5": 6470 case "h6": return parentTag !== "h1" && parentTag !== "h2" && parentTag !== "h3" && parentTag !== "h4" && parentTag !== "h5" && parentTag !== "h6"; 6471 case "rp": 6472 case "rt": return impliedEndTags.indexOf(parentTag) === -1; 6473 case "body":
6474 case "caption": 6475 case "col": 6476 case "colgroup": 6477 case "frameset": 6478 case "frame": 6479 case "head": 6480 case "html": 6481 case "tbody": 6482 case "td": 6483 case "tfoot": 6484 case "th": 6485 case "thead": 6486 case "tr": return parentTag == null; 6487 } 6488 return true; 6489 }; 6490 var findInvalidAncestorForTag = function(tag, ancestorInfo) { 6491 switch (tag) { 6492 case "address": 6493 case "article": 6494 case "aside": 6495 case "blockquote": 6496 case "center": 6497 case "details": 6498 case "dialog": 6499 case "dir": 6500 case "div": 6501 case "dl": 6502 case "fieldset": 6503 case "figcaption": 6504 case "figure": 6505 case "footer": 6506 case "header": 6507 case "hgroup": 6508 case "main": 6509 case "menu": 6510 case "nav": 6511 case "ol": 6512 case "p": 6513 case "section": 6514 case "summary": 6515 case "ul": 6516 case "pre": 6517 case "listing": 6518 case "table": 6519 case "hr": 6520 case "xmp": 6521 case "h1": 6522 case "h2": 6523 case "h3": 6524 case "h4": 6525 case "h5": 6526 case "h6": return ancestorInfo.pTagInButtonScope; 6527 case "form": return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope; 6528 case "li": return ancestorInfo.listItemTagAutoclosing; 6529 case "dd": 6530 case "dt": return ancestorInfo.dlItemTagAutoclosing; 6531 case "button": return ancestorInfo.buttonTagInScope; 6532 case "a": return ancestorInfo.aTagInScope; 6533 case "nobr": return ancestorInfo.nobrTagInScope; 6534 } 6535 return null; 6536 }; 6537 var didWarn$1 = {}; 6538 validateDOMNesting = function(childTag, childText, ancestorInfo) { 6539 ancestorInfo = ancestorInfo || emptyAncestorInfo; 6540 var parentInfo = ancestorInfo.current; 6541 var parentTag = parentInfo && parentInfo.tag; 6542 if (childText != null) { 6543 if (childTag != null) error("validateDOMNesting: when childText is passed, childTag should be null"); 6544 childTag = "#text"; 6545 } 6546 var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo; 6547 var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo); 6548 var invalidParentOrAncestor = invalidParent || invalidAncestor; 6549 if (!invalidParentOrAncestor) return; 6550 var ancestorTag = invalidParentOrAncestor.tag; 6551 var warnKey = !!invalidParent + "|" + childTag + "|" + ancestorTag; 6552 if (didWarn$1[warnKey]) return; 6553 didWarn$1[warnKey] = true; 6554 var tagDisplayName = childTag; 6555 var whitespaceInfo = ""; 6556 if (childTag === "#text") if (/\S/.test(childText)) tagDisplayName = "Text nodes"; 6557 else { 6558 tagDisplayName = "Whitespace text nodes"; 6559 whitespaceInfo = " Make sure you don't have any extra whitespace between tags on each line of your source code."; 6560 } 6561 else tagDisplayName = "<" + childTag + ">"; 6562 if (invalidParent) { 6563 var info = ""; 6564 if (ancestorTag === "table" && childTag === "tr") info += " Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser."; 6565 error("validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s", tagDisplayName, ancestorTag, whitespaceInfo, info); 6566 } else error("validateDOMNesting(...): %s cannot appear as a descendant of <%s>.", tagDisplayName, ancestorTag); 6567 }; 6568 var SUPPRESS_HYDRATION_WARNING$1 = "suppressHydrationWarning"; 6569 var SUSPENSE_START_DATA = "$"; 6570 var SUSPENSE_END_DATA = "/$"; 6571 var SUSPENSE_PENDING_START_DATA = "$?"; 6572 var SUSPENSE_FALLBACK_START_DATA = "$!"; 6573 var STYLE$1 = "style"; 6574 var eventsEnabled = null; 6575 var selectionInformation = null; 6576 function getRootHostContext(rootContainerInstance) { 6577 var type; 6578 var namespace; 6579 var nodeType = rootContainerInstance.nodeType; 6580 switch (nodeType) { 6581 case DOCUMENT_NODE: 6582 case DOCUMENT_FRAGMENT_NODE: 6583 type = nodeType === DOCUMENT_NODE ? "#document" : "#fragment"; 6584 var root$1 = rootContainerInstance.documentElement; 6585 namespace = root$1 ? root$1.namespaceURI : getChildNamespace(null, ""); 6586 break; 6587 default: 6588 var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance; 6589 var ownNamespace = container.namespaceURI || null; 6590 type = container.tagName; 6591 namespace = getChildNamespace(ownNamespace, type); 6592 break; 6593 }
6594 var validatedTag = type.toLowerCase(); 6595 var ancestorInfo = updatedAncestorInfo(null, validatedTag); 6596 return { 6597 namespace, 6598 ancestorInfo 6599 }; 6600 } 6601 function getChildHostContext(parentHostContext, type, rootContainerInstance) { 6602 var parentHostContextDev = parentHostContext; 6603 return { 6604 namespace: getChildNamespace(parentHostContextDev.namespace, type), 6605 ancestorInfo: updatedAncestorInfo(parentHostContextDev.ancestorInfo, type) 6606 }; 6607 } 6608 function getPublicInstance(instance) { 6609 return instance; 6610 } 6611 function prepareForCommit(containerInfo) { 6612 eventsEnabled = isEnabled(); 6613 selectionInformation = getSelectionInformation(); 6614 var activeInstance = null; 6615 setEnabled(false); 6616 return activeInstance; 6617 } 6618 function resetAfterCommit(containerInfo) { 6619 restoreSelection(selectionInformation); 6620 setEnabled(eventsEnabled); 6621 eventsEnabled = null; 6622 selectionInformation = null; 6623 } 6624 function createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) { 6625 var parentNamespace; 6626 var hostContextDev = hostContext; 6627 validateDOMNesting(type, null, hostContextDev.ancestorInfo); 6628 if (typeof props.children === "string" || typeof props.children === "number") { 6629 var string = "" + props.children; 6630 var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type); 6631 validateDOMNesting(null, string, ownAncestorInfo); 6632 } 6633 parentNamespace = hostContextDev.namespace; 6634 var domElement = createElement(type, props, rootContainerInstance, parentNamespace); 6635 precacheFiberNode(internalInstanceHandle, domElement); 6636 updateFiberProps(domElement, props); 6637 return domElement; 6638 } 6639 function appendInitialChild(parentInstance, child) { 6640 parentInstance.appendChild(child); 6641 } 6642 function finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) { 6643 setInitialProperties(domElement, type, props, rootContainerInstance); 6644 switch (type) { 6645 case "button": 6646 case "input": 6647 case "select": 6648 case "textarea": return !!props.autoFocus; 6649 case "img": return true; 6650 default: return false; 6651 } 6652 } 6653 function prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) { 6654 var hostContextDev = hostContext; 6655 if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === "string" || typeof newProps.children === "number")) { 6656 var string = "" + newProps.children; 6657 var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type); 6658 validateDOMNesting(null, string, ownAncestorInfo); 6659 } 6660 return diffProperties(domElement, type, oldProps, newProps); 6661 } 6662 function shouldSetTextContent(type, props) { 6663 return type === "textarea" || type === "noscript" || typeof props.children === "string" || typeof props.children === "number" || typeof props.dangerouslySetInnerHTML === "object" && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null; 6664 } 6665 function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) { 6666 validateDOMNesting(null, text, hostContext.ancestorInfo); 6667 var textNode = createTextNode(text, rootContainerInstance); 6668 precacheFiberNode(internalInstanceHandle, textNode); 6669 return textNode; 6670 } 6671 function getCurrentEventPriority() { 6672 var currentEvent = window.event; 6673 if (currentEvent === void 0) return DefaultEventPriority; 6674 return getEventPriority(currentEvent.type); 6675 } 6676 var scheduleTimeout = typeof setTimeout === "function" ? setTimeout : void 0; 6677 var cancelTimeout = typeof clearTimeout === "function" ? clearTimeout : void 0; 6678 var noTimeout = -1; 6679 var localPromise = typeof Promise === "function" ? Promise : void 0; 6680 var scheduleMicrotask = typeof queueMicrotask === "function" ? queueMicrotask : typeof localPromise !== "undefined" ? function(callback) { 6681 return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick); 6682 } : scheduleTimeout; 6683 function handleErrorInNextTick(error$1) { 6684 setTimeout(function() { 6685 throw error$1; 6686 }); 6687 } 6688 function commitMount(domElement, type, newProps, internalInstanceHandle) { 6689 switch (type) { 6690 case "button":
6691 case "input": 6692 case "select": 6693 case "textarea": 6694 if (newProps.autoFocus) domElement.focus(); 6695 return; 6696 case "img": 6697 if (newProps.src) domElement.src = newProps.src; 6698 return; 6699 } 6700 } 6701 function commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) { 6702 updateProperties(domElement, updatePayload, type, oldProps, newProps); 6703 updateFiberProps(domElement, newProps); 6704 } 6705 function resetTextContent(domElement) { 6706 setTextContent(domElement, ""); 6707 } 6708 function commitTextUpdate(textInstance, oldText, newText) { 6709 textInstance.nodeValue = newText; 6710 } 6711 function appendChild(parentInstance, child) { 6712 parentInstance.appendChild(child); 6713 } 6714 function appendChildToContainer(container, child) { 6715 var parentNode; 6716 if (container.nodeType === COMMENT_NODE) { 6717 parentNode = container.parentNode; 6718 parentNode.insertBefore(child, container); 6719 } else { 6720 parentNode = container; 6721 parentNode.appendChild(child); 6722 } 6723 var reactRootContainer = container._reactRootContainer; 6724 if ((reactRootContainer === null || reactRootContainer === void 0) && parentNode.onclick === null) trapClickOnNonInteractiveElement(parentNode); 6725 } 6726 function insertBefore(parentInstance, child, beforeChild) { 6727 parentInstance.insertBefore(child, beforeChild); 6728 } 6729 function insertInContainerBefore(container, child, beforeChild) { 6730 if (container.nodeType === COMMENT_NODE) container.parentNode.insertBefore(child, beforeChild); 6731 else container.insertBefore(child, beforeChild); 6732 } 6733 function removeChild(parentInstance, child) { 6734 parentInstance.removeChild(child); 6735 } 6736 function removeChildFromContainer(container, child) { 6737 if (container.nodeType === COMMENT_NODE) container.parentNode.removeChild(child); 6738 else container.removeChild(child); 6739 } 6740 function clearSuspenseBoundary(parentInstance, suspenseInstance) { 6741 var node = suspenseInstance; 6742 var depth = 0; 6743 do { 6744 var nextNode = node.nextSibling; 6745 parentInstance.removeChild(node); 6746 if (nextNode && nextNode.nodeType === COMMENT_NODE) { 6747 var data = nextNode.data; 6748 if (data === SUSPENSE_END_DATA) if (depth === 0) { 6749 parentInstance.removeChild(nextNode); 6750 retryIfBlockedOn(suspenseInstance); 6751 return; 6752 } else depth--; 6753 else if (data === SUSPENSE_START_DATA || data === SUSPENSE_PENDING_START_DATA || data === SUSPENSE_FALLBACK_START_DATA) depth++; 6754 } 6755 node = nextNode; 6756 } while (node); 6757 retryIfBlockedOn(suspenseInstance); 6758 } 6759 function clearSuspenseBoundaryFromContainer(container, suspenseInstance) { 6760 if (container.nodeType === COMMENT_NODE) clearSuspenseBoundary(container.parentNode, suspenseInstance); 6761 else if (container.nodeType === ELEMENT_NODE) clearSuspenseBoundary(container, suspenseInstance); 6762 retryIfBlockedOn(container); 6763 } 6764 function hideInstance(instance) { 6765 instance = instance; 6766 var style$1 = instance.style; 6767 if (typeof style$1.setProperty === "function") style$1.setProperty("display", "none", "important"); 6768 else style$1.display = "none"; 6769 } 6770 function hideTextInstance(textInstance) { 6771 textInstance.nodeValue = ""; 6772 } 6773 function unhideInstance(instance, props) { 6774 instance = instance; 6775 var styleProp = props[STYLE$1]; 6776 var display = styleProp !== void 0 && styleProp !== null && styleProp.hasOwnProperty("display") ? styleProp.display : null; 6777 instance.style.display = dangerousStyleValue("display", display); 6778 } 6779 function unhideTextInstance(textInstance, text) { 6780 textInstance.nodeValue = text; 6781 } 6782 function clearContainer(container) { 6783 if (container.nodeType === ELEMENT_NODE) container.textContent = ""; 6784 else if (container.nodeType === DOCUMENT_NODE) { 6785 if (container.documentElement) container.removeChild(container.documentElement); 6786 } 6787 } 6788 function canHydrateInstance(instance, type, props) { 6789 if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) return null; 6790 return instance; 6791 } 6792 function canHydrateTextInstance(instance, text) { 6793 if (text === "" || instance.nodeType !== TEXT_NODE) return null; 6794 return instance; 6795 } 6796 function canHydrateSuspenseInstance(instance) { 6797 if (instance.nodeType !== COMMENT_NODE) return null; 6798 return instance; 6799 } 6800 function isSuspenseInstancePending(instance) { 6801 return instance.data === SUSPENSE_PENDING_START_DATA; 6802 } 6803 function isSuspenseInstanceFallback(instance) { 6804 return instance.data === SUSPENSE_FALLBACK_START_DATA; 6805 } 6806 function getSuspenseInstanceFallbackErrorDetails(instance) { 6807 var dataset = instance.nextSibling && instance.nextSibling.dataset; 6808 var digest, message, stack; 6809 if (dataset) { 6810 digest = dataset.dgst; 6811 message = dataset.msg; 6812 stack = dataset.stck; 6813 } 6814 return { 6815 message, 6816 digest, 6817 stack 6818 }; 6819 } 6820 function registerSuspenseInstanceRetry(instance, callback) { 6821 instance._reactRetry = callback; 6822 } 6823 function getNextHydratable(node) { 6824 for (; node != null; node = node.nextSibling) { 6825 var nodeType = node.nodeType; 6826 if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) break; 6827 if (nodeType === COMMENT_NODE) { 6828 var nodeData = node.data; 6829 if (nodeData === SUSPENSE_START_DATA || nodeData === SUSPENSE_FALLBACK_START_DATA || nodeData === SUSPENSE_PENDING_START_DATA) break; 6830 if (nodeData === SUSPENSE_END_DATA) return null; 6831 } 6832 } 6833 return node; 6834 } 6835 function getNextHydratableSibling(instance) { 6836 return getNextHydratable(instance.nextSibling); 6837 } 6838 function getFirstHydratableChild(parentInstance) { 6839 return getNextHydratable(parentInstance.firstChild); 6840 } 6841 function getFirstHydratableChildWithinContainer(parentContainer) { 6842 return getNextHydratable(parentContainer.firstChild); 6843 } 6844 function getFirstHydratableChildWithinSuspenseInstance(parentInstance) { 6845 return getNextHydratable(parentInstance.nextSibling); 6846 } 6847 function hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle, shouldWarnDev) { 6848 precacheFiberNode(internalInstanceHandle, instance); 6849 updateFiberProps(instance, props); 6850 var parentNamespace = hostContext.namespace; 6851 return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance, (internalInstanceHandle.mode & ConcurrentMode) !== NoMode, shouldWarnDev); 6852 } 6853 function hydrateTextInstance(textInstance, text, internalInstanceHandle, shouldWarnDev) { 6854 precacheFiberNode(internalInstanceHandle, textInstance); 6855 internalInstanceHandle.mode & ConcurrentMode; 6856 return diffHydratedText(textInstance, text); 6857 } 6858 function hydrateSuspenseInstance(suspenseInstance, internalInstanceHandle) { 6859 precacheFiberNode(internalInstanceHandle, suspenseInstance); 6860 } 6861 function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) { 6862 var node = suspenseInstance.nextSibling; 6863 var depth = 0; 6864 while (node) { 6865 if (node.nodeType === COMMENT_NODE) { 6866 var data = node.data; 6867 if (data === SUSPENSE_END_DATA) if (depth === 0) return getNextHydratableSibling(node); 6868 else depth--; 6869 else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) depth++; 6870 } 6871 node = node.nextSibling; 6872 } 6873 return null; 6874 } 6875 function getParentSuspenseInstance(targetInstance) { 6876 var node = targetInstance.previousSibling; 6877 var depth = 0; 6878 while (node) { 6879 if (node.nodeType === COMMENT_NODE) { 6880 var data = node.data; 6881 if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) if (depth === 0) return node; 6882 else depth--; 6883 else if (data === SUSPENSE_END_DATA) depth++; 6884 } 6885 node = node.previousSibling; 6886 } 6887 return null; 6888 } 6889 function commitHydratedContainer(container) { 6890 retryIfBlockedOn(container); 6891 } 6892 function commitHydratedSuspenseInstance(suspenseInstance) { 6893 retryIfBlockedOn(suspenseInstance); 6894 } 6895 function shouldDeleteUnhydratedTailInstances(parentType) { 6896 return parentType !== "head" && parentType !== "body"; 6897 } 6898 function didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text, isConcurrentMode) { 6899 checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, true); 6900 } 6901 function didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text, isConcurrentMode) { 6902 if (parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) checkForUnmatchedText(textInstance.nodeValue, text, isConcurrentMode, true); 6903 } 6904 function didNotHydrateInstanceWithinContainer(parentContainer, instance) { 6905 if (instance.nodeType === ELEMENT_NODE) warnForDeletedHydratableElement(parentContainer, instance); 6906 else if (instance.nodeType === COMMENT_NODE); 6907 else warnForDeletedHydratableText(parentContainer, instance); 6908 } 6909 function didNotHydrateInstanceWithinSuspenseInstance(parentInstance, instance) { 6910 var parentNode = parentInstance.parentNode; 6911 if (parentNode !== null) if (instance.nodeType === ELEMENT_NODE) warnForDeletedHydratableElement(parentNode, instance); 6912 else if (instance.nodeType === COMMENT_NODE); 6913 else warnForDeletedHydratableText(parentNode, instance); 6914 } 6915 function didNotHydrateInstance(parentType, parentProps, parentInstance, instance, isConcurrentMode) { 6916 if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) if (instance.nodeType === ELEMENT_NODE) warnForDeletedHydratableElement(parentInstance, instance); 6917 else if (instance.nodeType === COMMENT_NODE); 6918 else warnForDeletedHydratableText(parentInstance, instance); 6919 } 6920 function didNotFindHydratableInstanceWithinContainer(parentContainer, type, props) { 6921 warnForInsertedHydratedElement(parentContainer, type); 6922 } 6923 function didNotFindHydratableTextInstanceWithinContainer(parentContainer, text) { 6924 warnForInsertedHydratedText(parentContainer, text); 6925 } 6926 function didNotFindHydratableInstanceWithinSuspenseInstance(parentInstance, type, props) { 6927 var parentNode = parentInstance.parentNode; 6928 if (parentNode !== null) warnForInsertedHydratedElement(parentNode, type); 6929 } 6930 function didNotFindHydratableTextInstanceWithinSuspenseInstance(parentInstance, text) { 6931 var parentNode = parentInstance.parentNode; 6932 if (parentNode !== null) warnForInsertedHydratedText(parentNode, text); 6933 } 6934 function didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props, isConcurrentMode) { 6935 if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) warnForInsertedHydratedElement(parentInstance, type); 6936 } 6937 function didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text, isConcurrentMode) { 6938 if (isConcurrentMode || parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) warnForInsertedHydratedText(parentInstance, text); 6939 } 6940 function errorHydratingContainer(parentContainer) { 6941 error("An error occurred during hydration. The server HTML was replaced with client content in <%s>.", parentContainer.nodeName.toLowerCase()); 6942 } 6943 function preparePortalMount(portalInstance) { 6944 listenToAllSupportedEvents(portalInstance); 6945 } 6946 var randomKey = Math.random().toString(36).slice(2); 6947 var internalInstanceKey = "__reactFiber$" + randomKey; 6948 var internalPropsKey = "__reactProps$" + randomKey; 6949 var internalContainerInstanceKey = "__reactContainer$" + randomKey; 6950 var internalEventHandlersKey = "__reactEvents$" + randomKey; 6951 var internalEventHandlerListenersKey = "__reactListeners$" + randomKey; 6952 var internalEventHandlesSetKey = "__reactHandles$" + randomKey; 6953 function detachDeletedInstance(node) { 6954 delete node[internalInstanceKey]; 6955 delete node[internalPropsKey]; 6956 delete node[internalEventHandlersKey]; 6957 delete node[internalEventHandlerListenersKey]; 6958 delete node[internalEventHandlesSetKey]; 6959 } 6960 function precacheFiberNode(hostInst, node) { 6961 node[internalInstanceKey] = hostInst; 6962 } 6963 function markContainerAsRoot(hostRoot, node) { 6964 node[internalContainerInstanceKey] = hostRoot; 6965 } 6966 function unmarkContainerAsRoot(node) { 6967 node[internalContainerInstanceKey] = null; 6968 } 6969 function isContainerMarkedAsRoot(node) { 6970 return !!node[internalContainerInstanceKey]; 6971 } 6972 function getClosestInstanceFromNode(targetNode) { 6973 var targetInst = targetNode[internalInstanceKey]; 6974 if (targetInst) return targetInst; 6975 var parentNode = targetNode.parentNode; 6976 while (parentNode) { 6977 targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]; 6978 if (targetInst) { 6979 var alternate = targetInst.alternate; 6980 if (targetInst.child !== null || alternate !== null && alternate.child !== null) { 6981 var suspenseInstance = getParentSuspenseInstance(targetNode); 6982 while (suspenseInstance !== null) { 6983 var targetSuspenseInst = suspenseInstance[internalInstanceKey];
6984 if (targetSuspenseInst) return targetSuspenseInst; 6985 suspenseInstance = getParentSuspenseInstance(suspenseInstance); 6986 } 6987 } 6988 return targetInst; 6989 } 6990 targetNode = parentNode; 6991 parentNode = targetNode.parentNode; 6992 } 6993 return null; 6994 } 6995 function getInstanceFromNode(node) { 6996 var inst = node[internalInstanceKey] || node[internalContainerInstanceKey]; 6997 if (inst) if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) return inst; 6998 else return null; 6999 return null; 7000 } 7001 function getNodeFromInstance(inst) { 7002 if (inst.tag === HostComponent || inst.tag === HostText) return inst.stateNode; 7003 throw new Error("getNodeFromInstance: Invalid argument."); 7004 } 7005 function getFiberCurrentPropsFromNode(node) { 7006 return node[internalPropsKey] || null; 7007 } 7008 function updateFiberProps(node, props) { 7009 node[internalPropsKey] = props; 7010 } 7011 function getEventListenerSet(node) { 7012 var elementListenerSet = node[internalEventHandlersKey]; 7013 if (elementListenerSet === void 0) elementListenerSet = node[internalEventHandlersKey] = /* @__PURE__ */ new Set(); 7014 return elementListenerSet; 7015 } 7016 var loggedTypeFailures = {}; 7017 var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; 7018 function setCurrentlyValidatingElement(element) { 7019 if (element) { 7020 var owner = element._owner; 7021 var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); 7022 ReactDebugCurrentFrame$1.setExtraStackFrame(stack); 7023 } else ReactDebugCurrentFrame$1.setExtraStackFrame(null); 7024 } 7025 function checkPropTypes(typeSpecs, values, location, componentName, element) { 7026 var has$1 = Function.call.bind(hasOwnProperty); 7027 for (var typeSpecName in typeSpecs) if (has$1(typeSpecs, typeSpecName)) { 7028 var error$1 = void 0; 7029 try { 7030 if (typeof typeSpecs[typeSpecName] !== "function") { 7031 var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); 7032 err.name = "Invariant Violation"; 7033 throw err; 7034 } 7035 error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); 7036 } catch (ex) { 7037 error$1 = ex; 7038 } 7039 if (error$1 && !(error$1 instanceof Error)) { 7040 setCurrentlyValidatingElement(element); 7041 error("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error$1); 7042 setCurrentlyValidatingElement(null); 7043 } 7044 if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { 7045 loggedTypeFailures[error$1.message] = true; 7046 setCurrentlyValidatingElement(element); 7047 error("Failed %s type: %s", location, error$1.message); 7048 setCurrentlyValidatingElement(null); 7049 } 7050 } 7051 } 7052 var valueStack = []; 7053 var fiberStack = []; 7054 var index = -1; 7055 function createCursor(defaultValue) { 7056 return { current: defaultValue }; 7057 } 7058 function pop(cursor, fiber) { 7059 if (index < 0) { 7060 error("Unexpected pop."); 7061 return; 7062 } 7063 if (fiber !== fiberStack[index]) error("Unexpected Fiber popped."); 7064 cursor.current = valueStack[index]; 7065 valueStack[index] = null; 7066 fiberStack[index] = null; 7067 index--; 7068 } 7069 function push(cursor, value, fiber) { 7070 index++; 7071 valueStack[index] = cursor.current; 7072 fiberStack[index] = fiber; 7073 cursor.current = value; 7074 } 7075 var warnedAboutMissingGetChildContext = {}; 7076 var emptyContextObject = {}; 7077 Object.freeze(emptyContextObject); 7078 var contextStackCursor = createCursor(emptyContextObject); 7079 var didPerformWorkStackCursor = createCursor(false); 7080 var previousContext = emptyContextObject; 7081 function getUnmaskedContext(workInProgress$1, Component, didPushOwnContextIfProvider) { 7082 if (didPushOwnContextIfProvider && isContextProvider(Component)) return previousContext; 7083 return contextStackCursor.current; 7084 } 7085 function cacheContext(workInProgress$1, unmaskedContext, maskedContext) { 7086 var instance = workInProgress$1.stateNode; 7087 instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext; 7088 instance.__reactInternalMemoizedMaskedChildContext = maskedContext; 7089 } 7090 function getMaskedContext(workInProgress$1, unmaskedContext) { 7091 var contextTypes = workInProgress$1.type.contextTypes; 7092 if (!contextTypes) return emptyContextObject; 7093 var instance = workInProgress$1.stateNode; 7094 if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) return instance.__reactInternalMemoizedMaskedChildContext; 7095 var context = {}; 7096 for (var key in contextTypes) context[key] = unmaskedContext[key]; 7097 checkPropTypes(contextTypes, context, "context", getComponentNameFromFiber(workInProgress$1) || "Unknown"); 7098 if (instance) cacheContext(workInProgress$1, unmaskedContext, context); 7099 return context; 7100 } 7101 function hasContextChanged() { 7102 return didPerformWorkStackCursor.current; 7103 } 7104 function isContextProvider(type) { 7105 var childContextTypes = type.childContextTypes; 7106 return childContextTypes !== null && childContextTypes !== void 0; 7107 } 7108 function popContext(fiber) { 7109 pop(didPerformWorkStackCursor, fiber); 7110 pop(contextStackCursor, fiber); 7111 } 7112 function popTopLevelContextObject(fiber) { 7113 pop(didPerformWorkStackCursor, fiber); 7114 pop(contextStackCursor, fiber); 7115 } 7116 function pushTopLevelContextObject(fiber, context, didChange) { 7117 if (contextStackCursor.current !== emptyContextObject) throw new Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue."); 7118 push(contextStackCursor, context, fiber); 7119 push(didPerformWorkStackCursor, didChange, fiber); 7120 } 7121 function processChildContext(fiber, type, parentContext) {
7122 var instance = fiber.stateNode; 7123 var childContextTypes = type.childContextTypes; 7124 if (typeof instance.getChildContext !== "function") { 7125 var componentName = getComponentNameFromFiber(fiber) || "Unknown"; 7126 if (!warnedAboutMissingGetChildContext[componentName]) { 7127 warnedAboutMissingGetChildContext[componentName] = true; 7128 error("%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.", componentName, componentName); 7129 } 7130 return parentContext; 7131 } 7132 var childContext = instance.getChildContext(); 7133 for (var contextKey in childContext) if (!(contextKey in childContextTypes)) throw new Error((getComponentNameFromFiber(fiber) || "Unknown") + ".getChildContext(): key \"" + contextKey + "\" is not defined in childContextTypes."); 7134 checkPropTypes(childContextTypes, childContext, "child context", getComponentNameFromFiber(fiber) || "Unknown"); 7135 return assign({}, parentContext, childContext); 7136 } 7137 function pushContextProvider(workInProgress$1) { 7138 var instance = workInProgress$1.stateNode; 7139 var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; 7140 previousContext = contextStackCursor.current; 7141 push(contextStackCursor, memoizedMergedChildContext, workInProgress$1); 7142 push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress$1); 7143 return true; 7144 }
7145 function invalidateContextProvider(workInProgress$1, type, didChange) { 7146 var instance = workInProgress$1.stateNode; 7147 if (!instance) throw new Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue."); 7148 if (didChange) { 7149 var mergedContext = processChildContext(workInProgress$1, type, previousContext); 7150 instance.__reactInternalMemoizedMergedChildContext = mergedContext; 7151 pop(didPerformWorkStackCursor, workInProgress$1); 7152 pop(contextStackCursor, workInProgress$1); 7153 push(contextStackCursor, mergedContext, workInProgress$1); 7154 push(didPerformWorkStackCursor, didChange, workInProgress$1); 7155 } else { 7156 pop(didPerformWorkStackCursor, workInProgress$1); 7157 push(didPerformWorkStackCursor, didChange, workInProgress$1); 7158 } 7159 } 7160 function findCurrentUnmaskedContext(fiber) { 7161 if (!isFiberMounted(fiber) || fiber.tag !== ClassComponent) throw new Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue."); 7162 var node = fiber; 7163 do { 7164 switch (node.tag) { 7165 case HostRoot: return node.stateNode.context; 7166 case ClassComponent: 7167 var Component = node.type; 7168 if (isContextProvider(Component)) return node.stateNode.__reactInternalMemoizedMergedChildContext; 7169 break; 7170 } 7171 node = node.return; 7172 } while (node !== null); 7173 throw new Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue."); 7174 } 7175 var LegacyRoot = 0; 7176 var ConcurrentRoot = 1; 7177 var syncQueue = null; 7178 var includesLegacySyncCallbacks = false; 7179 var isFlushingSyncQueue = false; 7180 function scheduleSyncCallback(callback) { 7181 if (syncQueue === null) syncQueue = [callback]; 7182 else syncQueue.push(callback); 7183 } 7184 function scheduleLegacySyncCallback(callback) { 7185 includesLegacySyncCallbacks = true; 7186 scheduleSyncCallback(callback); 7187 } 7188 function flushSyncCallbacksOnlyInLegacyMode() { 7189 if (includesLegacySyncCallbacks) flushSyncCallbacks(); 7190 } 7191 function flushSyncCallbacks() { 7192 if (!isFlushingSyncQueue && syncQueue !== null) { 7193 isFlushingSyncQueue = true; 7194 var i = 0; 7195 var previousUpdatePriority = getCurrentUpdatePriority(); 7196 try { 7197 var isSync = true; 7198 var queue = syncQueue; 7199 setCurrentUpdatePriority(DiscreteEventPriority); 7200 for (; i < queue.length; i++) { 7201 var callback = queue[i]; 7202 do 7203 callback = callback(isSync); 7204 while (callback !== null); 7205 } 7206 syncQueue = null; 7207 includesLegacySyncCallbacks = false; 7208 } catch (error$1) { 7209 if (syncQueue !== null) syncQueue = syncQueue.slice(i + 1); 7210 scheduleCallback(ImmediatePriority, flushSyncCallbacks); 7211 throw error$1; 7212 } finally { 7213 setCurrentUpdatePriority(previousUpdatePriority); 7214 isFlushingSyncQueue = false; 7215 } 7216 } 7217 return null; 7218 } 7219 var forkStack = []; 7220 var forkStackIndex = 0; 7221 var treeForkProvider = null; 7222 var treeForkCount = 0; 7223 var idStack = []; 7224 var idStackIndex = 0; 7225 var treeContextProvider = null; 7226 var treeContextId = 1; 7227 var treeContextOverflow = ""; 7228 function isForkedChild(workInProgress$1) { 7229 warnIfNotHydrating(); 7230 return (workInProgress$1.flags & Forked) !== NoFlags; 7231 } 7232 function getForksAtLevel(workInProgress$1) { 7233 warnIfNotHydrating(); 7234 return treeForkCount; 7235 } 7236 function getTreeId() { 7237 var overflow = treeContextOverflow; 7238 var idWithLeadingBit = treeContextId; 7239 return (idWithLeadingBit & ~getLeadingBit(idWithLeadingBit)).toString(32) + overflow; 7240 } 7241 function pushTreeFork(workInProgress$1, totalChildren) { 7242 warnIfNotHydrating(); 7243 forkStack[forkStackIndex++] = treeForkCount; 7244 forkStack[forkStackIndex++] = treeForkProvider; 7245 treeForkProvider = workInProgress$1; 7246 treeForkCount = totalChildren; 7247 } 7248 function pushTreeId(workInProgress$1, totalChildren, index$1) { 7249 warnIfNotHydrating(); 7250 idStack[idStackIndex++] = treeContextId; 7251 idStack[idStackIndex++] = treeContextOverflow; 7252 idStack[idStackIndex++] = treeContextProvider; 7253 treeContextProvider = workInProgress$1; 7254 var baseIdWithLeadingBit = treeContextId; 7255 var baseOverflow = treeContextOverflow; 7256 var baseLength = getBitLength(baseIdWithLeadingBit) - 1; 7257 var baseId = baseIdWithLeadingBit & ~(1 << baseLength); 7258 var slot = index$1 + 1; 7259 var length = getBitLength(totalChildren) + baseLength; 7260 if (length > 30) { 7261 var numberOfOverflowBits = baseLength - baseLength % 5; 7262 var newOverflow = (baseId & (1 << numberOfOverflowBits) - 1).toString(32); 7263 var restOfBaseId = baseId >> numberOfOverflowBits; 7264 var restOfBaseLength = baseLength - numberOfOverflowBits; 7265 var restOfLength = getBitLength(totalChildren) + restOfBaseLength; 7266 var id = slot << restOfBaseLength | restOfBaseId; 7267 var overflow = newOverflow + baseOverflow; 7268 treeContextId = 1 << restOfLength | id; 7269 treeContextOverflow = overflow; 7270 } else { 7271 var _id = slot << baseLength | baseId; 7272 var _overflow = baseOverflow; 7273 treeContextId = 1 << length | _id; 7274 treeContextOverflow = _overflow; 7275 } 7276 } 7277 function pushMaterializedTreeId(workInProgress$1) { 7278 warnIfNotHydrating(); 7279 if (workInProgress$1.return !== null) { 7280 var numberOfForks = 1; 7281 var slotIndex = 0; 7282 pushTreeFork(workInProgress$1, numberOfForks); 7283 pushTreeId(workInProgress$1, numberOfForks, slotIndex); 7284 } 7285 } 7286 function getBitLength(number) { 7287 return 32 - clz32(number); 7288 } 7289 function getLeadingBit(id) { 7290 return 1 << getBitLength(id) - 1; 7291 } 7292 function popTreeContext(workInProgress$1) { 7293 while (workInProgress$1 === treeForkProvider) { 7294 treeForkProvider = forkStack[--forkStackIndex]; 7295 forkStack[forkStackIndex] = null; 7296 treeForkCount = forkStack[--forkStackIndex]; 7297 forkStack[forkStackIndex] = null; 7298 } 7299 while (workInProgress$1 === treeContextProvider) { 7300 treeContextProvider = idStack[--idStackIndex]; 7301 idStack[idStackIndex] = null; 7302 treeContextOverflow = idStack[--idStackIndex]; 7303 idStack[idStackIndex] = null; 7304 treeContextId = idStack[--idStackIndex]; 7305 idStack[idStackIndex] = null; 7306 } 7307 } 7308 function getSuspendedTreeContext() { 7309 warnIfNotHydrating(); 7310 if (treeContextProvider !== null) return {
7311 id: treeContextId, 7312 overflow: treeContextOverflow 7313 }; 7314 else return null; 7315 } 7316 function restoreSuspendedTreeContext(workInProgress$1, suspendedContext) { 7317 warnIfNotHydrating(); 7318 idStack[idStackIndex++] = treeContextId; 7319 idStack[idStackIndex++] = treeContextOverflow; 7320 idStack[idStackIndex++] = treeContextProvider; 7321 treeContextId = suspendedContext.id; 7322 treeContextOverflow = suspendedContext.overflow; 7323 treeContextProvider = workInProgress$1; 7324 } 7325 function warnIfNotHydrating() { 7326 if (!getIsHydrating()) error("Expected to be hydrating. This is a bug in React. Please file an issue."); 7327 } 7328 var hydrationParentFiber = null; 7329 var nextHydratableInstance = null; 7330 var isHydrating = false; 7331 var didSuspendOrErrorDEV = false; 7332 var hydrationErrors = null; 7333 function warnIfHydrating() { 7334 if (isHydrating) error("We should not be hydrating here. This is a bug in React. Please file a bug."); 7335 } 7336 function markDidThrowWhileHydratingDEV() { 7337 didSuspendOrErrorDEV = true; 7338 } 7339 function didSuspendOrErrorWhileHydratingDEV() { 7340 return didSuspendOrErrorDEV; 7341 } 7342 function enterHydrationState(fiber) { 7343 var parentInstance = fiber.stateNode.containerInfo; 7344 nextHydratableInstance = getFirstHydratableChildWithinContainer(parentInstance); 7345 hydrationParentFiber = fiber; 7346 isHydrating = true; 7347 hydrationErrors = null; 7348 didSuspendOrErrorDEV = false; 7349 return true; 7350 } 7351 function reenterHydrationStateFromDehydratedSuspenseInstance(fiber, suspenseInstance, treeContext) { 7352 nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(suspenseInstance); 7353 hydrationParentFiber = fiber; 7354 isHydrating = true; 7355 hydrationErrors = null; 7356 didSuspendOrErrorDEV = false; 7357 if (treeContext !== null) restoreSuspendedTreeContext(fiber, treeContext); 7358 return true; 7359 } 7360 function warnUnhydratedInstance(returnFiber, instance) { 7361 switch (returnFiber.tag) { 7362 case HostRoot: 7363 didNotHydrateInstanceWithinContainer(returnFiber.stateNode.containerInfo, instance); 7364 break; 7365 case HostComponent: 7366 var isConcurrentMode = (returnFiber.mode & ConcurrentMode) !== NoMode; 7367 didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance, isConcurrentMode); 7368 break; 7369 case SuspenseComponent: 7370 var suspenseState = returnFiber.memoizedState; 7371 if (suspenseState.dehydrated !== null) didNotHydrateInstanceWithinSuspenseInstance(suspenseState.dehydrated, instance); 7372 break; 7373 } 7374 } 7375 function deleteHydratableInstance(returnFiber, instance) { 7376 warnUnhydratedInstance(returnFiber, instance); 7377 var childToDelete = createFiberFromHostInstanceForDeletion(); 7378 childToDelete.stateNode = instance; 7379 childToDelete.return = returnFiber; 7380 var deletions = returnFiber.deletions; 7381 if (deletions === null) { 7382 returnFiber.deletions = [childToDelete]; 7383 returnFiber.flags |= ChildDeletion; 7384 } else deletions.push(childToDelete); 7385 } 7386 function warnNonhydratedInstance(returnFiber, fiber) { 7387 if (didSuspendOrErrorDEV) return; 7388 switch (returnFiber.tag) { 7389 case HostRoot: 7390 var parentContainer = returnFiber.stateNode.containerInfo; 7391 switch (fiber.tag) { 7392 case HostComponent: 7393 var type = fiber.type; 7394 fiber.pendingProps; 7395 didNotFindHydratableInstanceWithinContainer(parentContainer, type); 7396 break; 7397 case HostText: 7398 var text = fiber.pendingProps; 7399 didNotFindHydratableTextInstanceWithinContainer(parentContainer, text); 7400 break; 7401 } 7402 break; 7403 case HostComponent: 7404 var parentType = returnFiber.type; 7405 var parentProps = returnFiber.memoizedProps; 7406 var parentInstance = returnFiber.stateNode; 7407 switch (fiber.tag) { 7408 case HostComponent: 7409 var _type = fiber.type; 7410 var _props = fiber.pendingProps; 7411 didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props, (returnFiber.mode & ConcurrentMode) !== NoMode); 7412 break; 7413 case HostText: 7414 var _text = fiber.pendingProps; 7415 didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text, (returnFiber.mode & ConcurrentMode) !== NoMode); 7416 break; 7417 } 7418 break; 7419 case SuspenseComponent: 7420 var _parentInstance = returnFiber.memoizedState.dehydrated; 7421 if (_parentInstance !== null) switch (fiber.tag) { 7422 case HostComponent: 7423 var _type2 = fiber.type; 7424 fiber.pendingProps; 7425 didNotFindHydratableInstanceWithinSuspenseInstance(_parentInstance, _type2); 7426 break; 7427 case HostText: 7428 var _text2 = fiber.pendingProps; 7429 didNotFindHydratableTextInstanceWithinSuspenseInstance(_parentInstance, _text2); 7430 break; 7431 } 7432 break; 7433 default: return; 7434 } 7435 }
7436 function insertNonHydratedInstance(returnFiber, fiber) { 7437 fiber.flags = fiber.flags & ~Hydrating | Placement; 7438 warnNonhydratedInstance(returnFiber, fiber); 7439 } 7440 function tryHydrate(fiber, nextInstance) { 7441 switch (fiber.tag) { 7442 case HostComponent: 7443 var type = fiber.type; 7444 fiber.pendingProps; 7445 var instance = canHydrateInstance(nextInstance, type); 7446 if (instance !== null) { 7447 fiber.stateNode = instance; 7448 hydrationParentFiber = fiber; 7449 nextHydratableInstance = getFirstHydratableChild(instance); 7450 return true; 7451 } 7452 return false; 7453 case HostText: 7454 var text = fiber.pendingProps; 7455 var textInstance = canHydrateTextInstance(nextInstance, text); 7456 if (textInstance !== null) { 7457 fiber.stateNode = textInstance; 7458 hydrationParentFiber = fiber; 7459 nextHydratableInstance = null; 7460 return true; 7461 } 7462 return false; 7463 case SuspenseComponent: 7464 var suspenseInstance = canHydrateSuspenseInstance(nextInstance); 7465 if (suspenseInstance !== null) { 7466 fiber.memoizedState = { 7467 dehydrated: suspenseInstance, 7468 treeContext: getSuspendedTreeContext(), 7469 retryLane: OffscreenLane 7470 }; 7471 var dehydratedFragment = createFiberFromDehydratedFragment(suspenseInstance); 7472 dehydratedFragment.return = fiber; 7473 fiber.child = dehydratedFragment; 7474 hydrationParentFiber = fiber; 7475 nextHydratableInstance = null; 7476 return true; 7477 } 7478 return false; 7479 default: return false; 7480 } 7481 } 7482 function shouldClientRenderOnMismatch(fiber) { 7483 return (fiber.mode & ConcurrentMode) !== NoMode && (fiber.flags & DidCapture) === NoFlags; 7484 } 7485 function throwOnHydrationMismatch(fiber) { 7486 throw new Error("Hydration failed because the initial UI does not match what was rendered on the server."); 7487 } 7488 function tryToClaimNextHydratableInstance(fiber) { 7489 if (!isHydrating) return; 7490 var nextInstance = nextHydratableInstance; 7491 if (!nextInstance) { 7492 if (shouldClientRenderOnMismatch(fiber)) { 7493 warnNonhydratedInstance(hydrationParentFiber, fiber); 7494 throwOnHydrationMismatch(); 7495 } 7496 insertNonHydratedInstance(hydrationParentFiber, fiber); 7497 isHydrating = false; 7498 hydrationParentFiber = fiber; 7499 return; 7500 } 7501 var firstAttemptedInstance = nextInstance; 7502 if (!tryHydrate(fiber, nextInstance)) { 7503 if (shouldClientRenderOnMismatch(fiber)) { 7504 warnNonhydratedInstance(hydrationParentFiber, fiber); 7505 throwOnHydrationMismatch(); 7506 } 7507 nextInstance = getNextHydratableSibling(firstAttemptedInstance); 7508 var prevHydrationParentFiber = hydrationParentFiber; 7509 if (!nextInstance || !tryHydrate(fiber, nextInstance)) { 7510 insertNonHydratedInstance(hydrationParentFiber, fiber); 7511 isHydrating = false; 7512 hydrationParentFiber = fiber; 7513 return; 7514 } 7515 deleteHydratableInstance(prevHydrationParentFiber, firstAttemptedInstance); 7516 } 7517 } 7518 function prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) { 7519 var instance = fiber.stateNode; 7520 var shouldWarnIfMismatchDev = !didSuspendOrErrorDEV; 7521 var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber, shouldWarnIfMismatchDev); 7522 fiber.updateQueue = updatePayload; 7523 if (updatePayload !== null) return true; 7524 return false; 7525 } 7526 function prepareToHydrateHostTextInstance(fiber) { 7527 var textInstance = fiber.stateNode; 7528 var textContent = fiber.memoizedProps; 7529 var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber); 7530 if (shouldUpdate) { 7531 var returnFiber = hydrationParentFiber; 7532 if (returnFiber !== null) switch (returnFiber.tag) { 7533 case HostRoot: 7534 var parentContainer = returnFiber.stateNode.containerInfo; 7535 didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent, (returnFiber.mode & ConcurrentMode) !== NoMode); 7536 break; 7537 case HostComponent: 7538 var parentType = returnFiber.type; 7539 var parentProps = returnFiber.memoizedProps; 7540 var parentInstance = returnFiber.stateNode; 7541 didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent, (returnFiber.mode & ConcurrentMode) !== NoMode); 7542 break; 7543 } 7544 } 7545 return shouldUpdate; 7546 } 7547 function prepareToHydrateHostSuspenseInstance(fiber) { 7548 var suspenseState = fiber.memoizedState; 7549 var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null; 7550 if (!suspenseInstance) throw new Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."); 7551 hydrateSuspenseInstance(suspenseInstance, fiber); 7552 } 7553 function skipPastDehydratedSuspenseInstance(fiber) { 7554 var suspenseState = fiber.memoizedState; 7555 var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null; 7556 if (!suspenseInstance) throw new Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue."); 7557 return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance); 7558 } 7559 function popToNextHostParent(fiber) { 7560 var parent = fiber.return; 7561 while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) parent = parent.return; 7562 hydrationParentFiber = parent; 7563 } 7564 function popHydrationState(fiber) { 7565 if (fiber !== hydrationParentFiber) return false;
7566 if (!isHydrating) { 7567 popToNextHostParent(fiber); 7568 isHydrating = true; 7569 return false; 7570 } 7571 if (fiber.tag !== HostRoot && (fiber.tag !== HostComponent || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps))) { 7572 var nextInstance = nextHydratableInstance; 7573 if (nextInstance) if (shouldClientRenderOnMismatch(fiber)) { 7574 warnIfUnhydratedTailNodes(fiber); 7575 throwOnHydrationMismatch(); 7576 } else while (nextInstance) { 7577 deleteHydratableInstance(fiber, nextInstance); 7578 nextInstance = getNextHydratableSibling(nextInstance); 7579 } 7580 } 7581 popToNextHostParent(fiber); 7582 if (fiber.tag === SuspenseComponent) nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber); 7583 else nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null; 7584 return true; 7585 } 7586 function hasUnhydratedTailNodes() { 7587 return isHydrating && nextHydratableInstance !== null; 7588 } 7589 function warnIfUnhydratedTailNodes(fiber) { 7590 var nextInstance = nextHydratableInstance; 7591 while (nextInstance) { 7592 warnUnhydratedInstance(fiber, nextInstance); 7593 nextInstance = getNextHydratableSibling(nextInstance); 7594 } 7595 } 7596 function resetHydrationState() { 7597 hydrationParentFiber = null; 7598 nextHydratableInstance = null; 7599 isHydrating = false; 7600 didSuspendOrErrorDEV = false; 7601 } 7602 function upgradeHydrationErrorsToRecoverable() { 7603 if (hydrationErrors !== null) { 7604 queueRecoverableErrors(hydrationErrors); 7605 hydrationErrors = null; 7606 } 7607 } 7608 function getIsHydrating() { 7609 return isHydrating; 7610 } 7611 function queueHydrationError(error$1) { 7612 if (hydrationErrors === null) hydrationErrors = [error$1]; 7613 else hydrationErrors.push(error$1); 7614 } 7615 var ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig; 7616 var NoTransition = null; 7617 function requestCurrentTransition() { 7618 return ReactCurrentBatchConfig$1.transition; 7619 } 7620 var ReactStrictModeWarnings = { 7621 recordUnsafeLifecycleWarnings: function(fiber, instance) {}, 7622 flushPendingUnsafeLifecycleWarnings: function() {}, 7623 recordLegacyContextWarning: function(fiber, instance) {}, 7624 flushLegacyContextWarning: function() {}, 7625 discardPendingWarnings: function() {} 7626 }; 7627 var findStrictRoot = function(fiber) { 7628 var maybeStrictRoot = null; 7629 var node = fiber; 7630 while (node !== null) { 7631 if (node.mode & StrictLegacyMode) maybeStrictRoot = node; 7632 node = node.return; 7633 } 7634 return maybeStrictRoot; 7635 }; 7636 var setToSortedString = function(set$1) { 7637 var array = []; 7638 set$1.forEach(function(value) { 7639 array.push(value); 7640 }); 7641 return array.sort().join(", "); 7642 }; 7643 var pendingComponentWillMountWarnings = []; 7644 var pendingUNSAFE_ComponentWillMountWarnings = []; 7645 var pendingComponentWillReceivePropsWarnings = []; 7646 var pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 7647 var pendingComponentWillUpdateWarnings = []; 7648 var pendingUNSAFE_ComponentWillUpdateWarnings = []; 7649 var didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set(); 7650 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) { 7651 if (didWarnAboutUnsafeLifecycles.has(fiber.type)) return; 7652 if (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true) pendingComponentWillMountWarnings.push(fiber); 7653 if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillMount === "function") pendingUNSAFE_ComponentWillMountWarnings.push(fiber); 7654 if (typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) pendingComponentWillReceivePropsWarnings.push(fiber); 7655 if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillReceiveProps === "function") pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber); 7656 if (typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true) pendingComponentWillUpdateWarnings.push(fiber); 7657 if (fiber.mode & StrictLegacyMode && typeof instance.UNSAFE_componentWillUpdate === "function") pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber); 7658 }; 7659 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() { 7660 var componentWillMountUniqueNames = /* @__PURE__ */ new Set(); 7661 if (pendingComponentWillMountWarnings.length > 0) {
7662 pendingComponentWillMountWarnings.forEach(function(fiber) { 7663 componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); 7664 didWarnAboutUnsafeLifecycles.add(fiber.type); 7665 }); 7666 pendingComponentWillMountWarnings = []; 7667 } 7668 var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set(); 7669 if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) { 7670 pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) { 7671 UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); 7672 didWarnAboutUnsafeLifecycles.add(fiber.type); 7673 }); 7674 pendingUNSAFE_ComponentWillMountWarnings = []; 7675 } 7676 var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); 7677 if (pendingComponentWillReceivePropsWarnings.length > 0) { 7678 pendingComponentWillReceivePropsWarnings.forEach(function(fiber) { 7679 componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); 7680 didWarnAboutUnsafeLifecycles.add(fiber.type); 7681 }); 7682 pendingComponentWillReceivePropsWarnings = []; 7683 } 7684 var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); 7685 if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {
7686 pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function(fiber) { 7687 UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); 7688 didWarnAboutUnsafeLifecycles.add(fiber.type); 7689 }); 7690 pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 7691 } 7692 var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); 7693 if (pendingComponentWillUpdateWarnings.length > 0) { 7694 pendingComponentWillUpdateWarnings.forEach(function(fiber) { 7695 componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); 7696 didWarnAboutUnsafeLifecycles.add(fiber.type); 7697 }); 7698 pendingComponentWillUpdateWarnings = []; 7699 } 7700 var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); 7701 if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) { 7702 pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) { 7703 UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); 7704 didWarnAboutUnsafeLifecycles.add(fiber.type); 7705 }); 7706 pendingUNSAFE_ComponentWillUpdateWarnings = []; 7707 } 7708 if (UNSAFE_componentWillMountUniqueNames.size > 0) error("Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s", setToSortedString(UNSAFE_componentWillMountUniqueNames)); 7709 if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) error("Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\n\nPlease update the following components: %s", setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames)); 7710 if (UNSAFE_componentWillUpdateUniqueNames.size > 0) error("Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://reactjs.org/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s", setToSortedString(UNSAFE_componentWillUpdateUniqueNames)); 7711 if (componentWillMountUniqueNames.size > 0) warn("componentWillMount has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", setToSortedString(componentWillMountUniqueNames)); 7712 if (componentWillReceivePropsUniqueNames.size > 0) warn("componentWillReceiveProps has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://reactjs.org/link/derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", setToSortedString(componentWillReceivePropsUniqueNames)); 7713 if (componentWillUpdateUniqueNames.size > 0) warn("componentWillUpdate has been renamed, and is not recommended for use. See https://reactjs.org/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", setToSortedString(componentWillUpdateUniqueNames)); 7714 };
7715 var pendingLegacyContextWarning = /* @__PURE__ */ new Map(); 7716 var didWarnAboutLegacyContext = /* @__PURE__ */ new Set(); 7717 ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) { 7718 var strictRoot = findStrictRoot(fiber); 7719 if (strictRoot === null) { 7720 error("Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue."); 7721 return; 7722 } 7723 if (didWarnAboutLegacyContext.has(fiber.type)) return; 7724 var warningsForRoot = pendingLegacyContextWarning.get(strictRoot); 7725 if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === "function") { 7726 if (warningsForRoot === void 0) { 7727 warningsForRoot = []; 7728 pendingLegacyContextWarning.set(strictRoot, warningsForRoot); 7729 } 7730 warningsForRoot.push(fiber); 7731 } 7732 }; 7733 ReactStrictModeWarnings.flushLegacyContextWarning = function() { 7734 pendingLegacyContextWarning.forEach(function(fiberArray, strictRoot) { 7735 if (fiberArray.length === 0) return; 7736 var firstFiber = fiberArray[0]; 7737 var uniqueNames = /* @__PURE__ */ new Set(); 7738 fiberArray.forEach(function(fiber) { 7739 uniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); 7740 didWarnAboutLegacyContext.add(fiber.type); 7741 }); 7742 var sortedNames = setToSortedString(uniqueNames); 7743 try { 7744 setCurrentFiber(firstFiber); 7745 error("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://reactjs.org/link/legacy-context", sortedNames); 7746 } finally { 7747 resetCurrentFiber(); 7748 } 7749 }); 7750 }; 7751 ReactStrictModeWarnings.discardPendingWarnings = function() { 7752 pendingComponentWillMountWarnings = []; 7753 pendingUNSAFE_ComponentWillMountWarnings = []; 7754 pendingComponentWillReceivePropsWarnings = []; 7755 pendingUNSAFE_ComponentWillReceivePropsWarnings = []; 7756 pendingComponentWillUpdateWarnings = []; 7757 pendingUNSAFE_ComponentWillUpdateWarnings = []; 7758 pendingLegacyContextWarning = /* @__PURE__ */ new Map(); 7759 }; 7760 var didWarnAboutMaps; 7761 var didWarnAboutGenerators; 7762 var didWarnAboutStringRefs; 7763 var ownerHasKeyUseWarning; 7764 var ownerHasFunctionTypeWarning; 7765 var warnForMissingKey = function(child, returnFiber) {}; 7766 didWarnAboutMaps = false; 7767 didWarnAboutGenerators = false; 7768 didWarnAboutStringRefs = {}; 7769 ownerHasKeyUseWarning = {}; 7770 ownerHasFunctionTypeWarning = {}; 7771 warnForMissingKey = function(child, returnFiber) { 7772 if (child === null || typeof child !== "object") return; 7773 if (!child._store || child._store.validated || child.key != null) return; 7774 if (typeof child._store !== "object") throw new Error("React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."); 7775 child._store.validated = true; 7776 var componentName = getComponentNameFromFiber(returnFiber) || "Component"; 7777 if (ownerHasKeyUseWarning[componentName]) return; 7778 ownerHasKeyUseWarning[componentName] = true; 7779 error("Each child in a list should have a unique \"key\" prop. See https://reactjs.org/link/warning-keys for more information."); 7780 }; 7781 function isReactClass(type) { 7782 return type.prototype && type.prototype.isReactComponent; 7783 } 7784 function coerceRef(returnFiber, current$1, element) { 7785 var mixedRef = element.ref; 7786 if (mixedRef !== null && typeof mixedRef !== "function" && typeof mixedRef !== "object") { 7787 if ((returnFiber.mode & StrictLegacyMode || warnAboutStringRefs) && !(element._owner && element._self && element._owner.stateNode !== element._self) && !(element._owner && element._owner.tag !== ClassComponent) && !(typeof element.type === "function" && !isReactClass(element.type)) && element._owner) { 7788 var componentName = getComponentNameFromFiber(returnFiber) || "Component"; 7789 if (!didWarnAboutStringRefs[componentName]) { 7790 error("Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. We recommend using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref", componentName, mixedRef); 7791 didWarnAboutStringRefs[componentName] = true; 7792 } 7793 } 7794 if (element._owner) { 7795 var owner = element._owner; 7796 var inst; 7797 if (owner) { 7798 var ownerFiber = owner; 7799 if (ownerFiber.tag !== ClassComponent) throw new Error("Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref"); 7800 inst = ownerFiber.stateNode; 7801 } 7802 if (!inst) throw new Error("Missing owner for string ref " + mixedRef + ". This error is likely caused by a bug in React. Please file an issue."); 7803 var resolvedInst = inst; 7804 checkPropStringCoercion(mixedRef, "ref"); 7805 var stringRef = "" + mixedRef; 7806 if (current$1 !== null && current$1.ref !== null && typeof current$1.ref === "function" && current$1.ref._stringRef === stringRef) return current$1.ref; 7807 var ref = function(value) { 7808 var refs = resolvedInst.refs; 7809 if (value === null) delete refs[stringRef]; 7810 else refs[stringRef] = value; 7811 }; 7812 ref._stringRef = stringRef; 7813 return ref; 7814 } else { 7815 if (typeof mixedRef !== "string") throw new Error("Expected ref to be a function, a string, an object returned by React.createRef(), or null."); 7816 if (!element._owner) throw new Error("Element ref was specified as a string (" + mixedRef + ") but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://reactjs.org/link/refs-must-have-owner for more information."); 7817 } 7818 } 7819 return mixedRef; 7820 }
7821 function throwOnInvalidObjectType(returnFiber, newChild) { 7822 var childString = Object.prototype.toString.call(newChild); 7823 throw new Error("Objects are not valid as a React child (found: " + (childString === "[object Object]" ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : childString) + "). If you meant to render a collection of children, use an array instead."); 7824 } 7825 function warnOnFunctionType(returnFiber) { 7826 var componentName = getComponentNameFromFiber(returnFiber) || "Component"; 7827 if (ownerHasFunctionTypeWarning[componentName]) return; 7828 ownerHasFunctionTypeWarning[componentName] = true; 7829 error("Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it."); 7830 } 7831 function resolveLazy(lazyType) { 7832 var payload = lazyType._payload; 7833 var init = lazyType._init; 7834 return init(payload); 7835 } 7836 function ChildReconciler(shouldTrackSideEffects) { 7837 function deleteChild(returnFiber, childToDelete) { 7838 if (!shouldTrackSideEffects) return; 7839 var deletions = returnFiber.deletions; 7840 if (deletions === null) { 7841 returnFiber.deletions = [childToDelete]; 7842 returnFiber.flags |= ChildDeletion; 7843 } else deletions.push(childToDelete); 7844 } 7845 function deleteRemainingChildren(returnFiber, currentFirstChild) { 7846 if (!shouldTrackSideEffects) return null; 7847 var childToDelete = currentFirstChild; 7848 while (childToDelete !== null) { 7849 deleteChild(returnFiber, childToDelete); 7850 childToDelete = childToDelete.sibling; 7851 } 7852 return null; 7853 } 7854 function mapRemainingChildren(returnFiber, currentFirstChild) { 7855 var existingChildren = /* @__PURE__ */ new Map(); 7856 var existingChild = currentFirstChild; 7857 while (existingChild !== null) { 7858 if (existingChild.key !== null) existingChildren.set(existingChild.key, existingChild); 7859 else existingChildren.set(existingChild.index, existingChild); 7860 existingChild = existingChild.sibling; 7861 } 7862 return existingChildren; 7863 } 7864 function useFiber(fiber, pendingProps) { 7865 var clone = createWorkInProgress(fiber, pendingProps); 7866 clone.index = 0; 7867 clone.sibling = null; 7868 return clone; 7869 } 7870 function placeChild(newFiber, lastPlacedIndex, newIndex) { 7871 newFiber.index = newIndex; 7872 if (!shouldTrackSideEffects) { 7873 newFiber.flags |= Forked; 7874 return lastPlacedIndex; 7875 } 7876 var current$1 = newFiber.alternate; 7877 if (current$1 !== null) { 7878 var oldIndex = current$1.index; 7879 if (oldIndex < lastPlacedIndex) { 7880 newFiber.flags |= Placement; 7881 return lastPlacedIndex; 7882 } else return oldIndex; 7883 } else { 7884 newFiber.flags |= Placement; 7885 return lastPlacedIndex; 7886 } 7887 } 7888 function placeSingleChild(newFiber) { 7889 if (shouldTrackSideEffects && newFiber.alternate === null) newFiber.flags |= Placement; 7890 return newFiber; 7891 } 7892 function updateTextNode(returnFiber, current$1, textContent, lanes) { 7893 if (current$1 === null || current$1.tag !== HostText) { 7894 var created = createFiberFromText(textContent, returnFiber.mode, lanes); 7895 created.return = returnFiber; 7896 return created; 7897 } else { 7898 var existing = useFiber(current$1, textContent); 7899 existing.return = returnFiber; 7900 return existing; 7901 } 7902 } 7903 function updateElement(returnFiber, current$1, element, lanes) { 7904 var elementType = element.type; 7905 if (elementType === REACT_FRAGMENT_TYPE) return updateFragment$1(returnFiber, current$1, element.props.children, lanes, element.key); 7906 if (current$1 !== null) { 7907 if (current$1.elementType === elementType || isCompatibleFamilyForHotReloading(current$1, element) || typeof elementType === "object" && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current$1.type) { 7908 var existing = useFiber(current$1, element.props); 7909 existing.ref = coerceRef(returnFiber, current$1, element); 7910 existing.return = returnFiber; 7911 existing._debugSource = element._source; 7912 existing._debugOwner = element._owner; 7913 return existing; 7914 } 7915 } 7916 var created = createFiberFromElement(element, returnFiber.mode, lanes); 7917 created.ref = coerceRef(returnFiber, current$1, element); 7918 created.return = returnFiber; 7919 return created; 7920 } 7921 function updatePortal(returnFiber, current$1, portal, lanes) { 7922 if (current$1 === null || current$1.tag !== HostPortal || current$1.stateNode.containerInfo !== portal.containerInfo || current$1.stateNode.implementation !== portal.implementation) { 7923 var created = createFiberFromPortal(portal, returnFiber.mode, lanes); 7924 created.return = returnFiber; 7925 return created; 7926 } else { 7927 var existing = useFiber(current$1, portal.children || []); 7928 existing.return = returnFiber; 7929 return existing; 7930 } 7931 } 7932 function updateFragment$1(returnFiber, current$1, fragment, lanes, key) { 7933 if (current$1 === null || current$1.tag !== Fragment) { 7934 var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key); 7935 created.return = returnFiber; 7936 return created; 7937 } else { 7938 var existing = useFiber(current$1, fragment); 7939 existing.return = returnFiber; 7940 return existing; 7941 } 7942 } 7943 function createChild(returnFiber, newChild, lanes) { 7944 if (typeof newChild === "string" && newChild !== "" || typeof newChild === "number") { 7945 var created = createFiberFromText("" + newChild, returnFiber.mode, lanes); 7946 created.return = returnFiber; 7947 return created; 7948 } 7949 if (typeof newChild === "object" && newChild !== null) { 7950 switch (newChild.$$typeof) { 7951 case REACT_ELEMENT_TYPE: 7952 var _created = createFiberFromElement(newChild, returnFiber.mode, lanes); 7953 _created.ref = coerceRef(returnFiber, null, newChild); 7954 _created.return = returnFiber; 7955 return _created; 7956 case REACT_PORTAL_TYPE: 7957 var _created2 = createFiberFromPortal(newChild, returnFiber.mode, lanes); 7958 _created2.return = returnFiber; 7959 return _created2; 7960 case REACT_LAZY_TYPE: 7961 var payload = newChild._payload; 7962 var init = newChild._init; 7963 return createChild(returnFiber, init(payload), lanes); 7964 } 7965 if (isArray(newChild) || getIteratorFn(newChild)) { 7966 var _created3 = createFiberFromFragment(newChild, returnFiber.mode, lanes, null); 7967 _created3.return = returnFiber; 7968 return _created3; 7969 }
7970 throwOnInvalidObjectType(returnFiber, newChild); 7971 } 7972 if (typeof newChild === "function") warnOnFunctionType(returnFiber); 7973 return null; 7974 } 7975 function updateSlot(returnFiber, oldFiber, newChild, lanes) { 7976 var key = oldFiber !== null ? oldFiber.key : null; 7977 if (typeof newChild === "string" && newChild !== "" || typeof newChild === "number") { 7978 if (key !== null) return null; 7979 return updateTextNode(returnFiber, oldFiber, "" + newChild, lanes); 7980 } 7981 if (typeof newChild === "object" && newChild !== null) { 7982 switch (newChild.$$typeof) { 7983 case REACT_ELEMENT_TYPE: if (newChild.key === key) return updateElement(returnFiber, oldFiber, newChild, lanes); 7984 else return null; 7985 case REACT_PORTAL_TYPE: if (newChild.key === key) return updatePortal(returnFiber, oldFiber, newChild, lanes); 7986 else return null; 7987 case REACT_LAZY_TYPE: 7988 var payload = newChild._payload; 7989 var init = newChild._init; 7990 return updateSlot(returnFiber, oldFiber, init(payload), lanes); 7991 } 7992 if (isArray(newChild) || getIteratorFn(newChild)) { 7993 if (key !== null) return null; 7994 return updateFragment$1(returnFiber, oldFiber, newChild, lanes, null); 7995 } 7996 throwOnInvalidObjectType(returnFiber, newChild); 7997 } 7998 if (typeof newChild === "function") warnOnFunctionType(returnFiber); 7999 return null; 8000 } 8001 function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) { 8002 if (typeof newChild === "string" && newChild !== "" || typeof newChild === "number") return updateTextNode(returnFiber, existingChildren.get(newIdx) || null, "" + newChild, lanes); 8003 if (typeof newChild === "object" && newChild !== null) { 8004 switch (newChild.$$typeof) { 8005 case REACT_ELEMENT_TYPE: return updateElement(returnFiber, existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null, newChild, lanes); 8006 case REACT_PORTAL_TYPE: return updatePortal(returnFiber, existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null, newChild, lanes); 8007 case REACT_LAZY_TYPE: 8008 var payload = newChild._payload; 8009 var init = newChild._init; 8010 return updateFromMap(existingChildren, returnFiber, newIdx, init(payload), lanes); 8011 } 8012 if (isArray(newChild) || getIteratorFn(newChild)) return updateFragment$1(returnFiber, existingChildren.get(newIdx) || null, newChild, lanes, null); 8013 throwOnInvalidObjectType(returnFiber, newChild); 8014 } 8015 if (typeof newChild === "function") warnOnFunctionType(returnFiber); 8016 return null; 8017 }
8018 function warnOnInvalidKey(child, knownKeys, returnFiber) { 8019 if (typeof child !== "object" || child === null) return knownKeys; 8020 switch (child.$$typeof) { 8021 case REACT_ELEMENT_TYPE: 8022 case REACT_PORTAL_TYPE: 8023 warnForMissingKey(child, returnFiber); 8024 var key = child.key; 8025 if (typeof key !== "string") break; 8026 if (knownKeys === null) { 8027 knownKeys = /* @__PURE__ */ new Set(); 8028 knownKeys.add(key); 8029 break; 8030 } 8031 if (!knownKeys.has(key)) { 8032 knownKeys.add(key); 8033 break; 8034 } 8035 error("Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.", key); 8036 break; 8037 case REACT_LAZY_TYPE: 8038 var payload = child._payload; 8039 var init = child._init; 8040 warnOnInvalidKey(init(payload), knownKeys, returnFiber); 8041 break; 8042 } 8043 return knownKeys; 8044 } 8045 function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) { 8046 var knownKeys = null; 8047 for (var i = 0; i < newChildren.length; i++) { 8048 var child = newChildren[i];
8049 knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber); 8050 } 8051 var resultingFirstChild = null; 8052 var previousNewFiber = null; 8053 var oldFiber = currentFirstChild; 8054 var lastPlacedIndex = 0; 8055 var newIdx = 0; 8056 var nextOldFiber = null; 8057 for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) { 8058 if (oldFiber.index > newIdx) { 8059 nextOldFiber = oldFiber; 8060 oldFiber = null; 8061 } else nextOldFiber = oldFiber.sibling; 8062 var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes); 8063 if (newFiber === null) { 8064 if (oldFiber === null) oldFiber = nextOldFiber; 8065 break; 8066 } 8067 if (shouldTrackSideEffects) { 8068 if (oldFiber && newFiber.alternate === null) deleteChild(returnFiber, oldFiber); 8069 } 8070 lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); 8071 if (previousNewFiber === null) resultingFirstChild = newFiber; 8072 else previousNewFiber.sibling = newFiber; 8073 previousNewFiber = newFiber; 8074 oldFiber = nextOldFiber; 8075 } 8076 if (newIdx === newChildren.length) { 8077 deleteRemainingChildren(returnFiber, oldFiber); 8078 if (getIsHydrating()) pushTreeFork(returnFiber, newIdx); 8079 return resultingFirstChild; 8080 } 8081 if (oldFiber === null) { 8082 for (; newIdx < newChildren.length; newIdx++) { 8083 var _newFiber = createChild(returnFiber, newChildren[newIdx], lanes); 8084 if (_newFiber === null) continue; 8085 lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx); 8086 if (previousNewFiber === null) resultingFirstChild = _newFiber; 8087 else previousNewFiber.sibling = _newFiber; 8088 previousNewFiber = _newFiber; 8089 } 8090 if (getIsHydrating()) pushTreeFork(returnFiber, newIdx); 8091 return resultingFirstChild; 8092 } 8093 var existingChildren = mapRemainingChildren(returnFiber, oldFiber); 8094 for (; newIdx < newChildren.length; newIdx++) { 8095 var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], lanes); 8096 if (_newFiber2 !== null) { 8097 if (shouldTrackSideEffects) { 8098 if (_newFiber2.alternate !== null) existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key); 8099 } 8100 lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx); 8101 if (previousNewFiber === null) resultingFirstChild = _newFiber2; 8102 else previousNewFiber.sibling = _newFiber2; 8103 previousNewFiber = _newFiber2; 8104 } 8105 } 8106 if (shouldTrackSideEffects) existingChildren.forEach(function(child$1) { 8107 return deleteChild(returnFiber, child$1); 8108 }); 8109 if (getIsHydrating()) pushTreeFork(returnFiber, newIdx); 8110 return resultingFirstChild; 8111 } 8112 function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes) { 8113 var iteratorFn = getIteratorFn(newChildrenIterable); 8114 if (typeof iteratorFn !== "function") throw new Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."); 8115 if (typeof Symbol === "function" && newChildrenIterable[Symbol.toStringTag] === "Generator") { 8116 if (!didWarnAboutGenerators) error("Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers."); 8117 didWarnAboutGenerators = true; 8118 } 8119 if (newChildrenIterable.entries === iteratorFn) { 8120 if (!didWarnAboutMaps) error("Using Maps as children is not supported. Use an array of keyed ReactElements instead."); 8121 didWarnAboutMaps = true; 8122 } 8123 var _newChildren = iteratorFn.call(newChildrenIterable); 8124 if (_newChildren) { 8125 var knownKeys = null; 8126 var _step = _newChildren.next(); 8127 for (; !_step.done; _step = _newChildren.next()) { 8128 var child = _step.value;
8129 knownKeys = warnOnInvalidKey(child, knownKeys, returnFiber); 8130 } 8131 } 8132 var newChildren = iteratorFn.call(newChildrenIterable); 8133 if (newChildren == null) throw new Error("An iterable object provided no iterator."); 8134 var resultingFirstChild = null; 8135 var previousNewFiber = null; 8136 var oldFiber = currentFirstChild; 8137 var lastPlacedIndex = 0; 8138 var newIdx = 0; 8139 var nextOldFiber = null; 8140 var step = newChildren.next(); 8141 for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) { 8142 if (oldFiber.index > newIdx) { 8143 nextOldFiber = oldFiber; 8144 oldFiber = null; 8145 } else nextOldFiber = oldFiber.sibling; 8146 var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes); 8147 if (newFiber === null) { 8148 if (oldFiber === null) oldFiber = nextOldFiber; 8149 break; 8150 } 8151 if (shouldTrackSideEffects) { 8152 if (oldFiber && newFiber.alternate === null) deleteChild(returnFiber, oldFiber); 8153 } 8154 lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); 8155 if (previousNewFiber === null) resultingFirstChild = newFiber; 8156 else previousNewFiber.sibling = newFiber; 8157 previousNewFiber = newFiber; 8158 oldFiber = nextOldFiber; 8159 } 8160 if (step.done) { 8161 deleteRemainingChildren(returnFiber, oldFiber); 8162 if (getIsHydrating()) pushTreeFork(returnFiber, newIdx); 8163 return resultingFirstChild; 8164 } 8165 if (oldFiber === null) { 8166 for (; !step.done; newIdx++, step = newChildren.next()) { 8167 var _newFiber3 = createChild(returnFiber, step.value, lanes); 8168 if (_newFiber3 === null) continue; 8169 lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx); 8170 if (previousNewFiber === null) resultingFirstChild = _newFiber3; 8171 else previousNewFiber.sibling = _newFiber3; 8172 previousNewFiber = _newFiber3; 8173 } 8174 if (getIsHydrating()) pushTreeFork(returnFiber, newIdx); 8175 return resultingFirstChild; 8176 } 8177 var existingChildren = mapRemainingChildren(returnFiber, oldFiber); 8178 for (; !step.done; newIdx++, step = newChildren.next()) { 8179 var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, lanes); 8180 if (_newFiber4 !== null) { 8181 if (shouldTrackSideEffects) { 8182 if (_newFiber4.alternate !== null) existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key); 8183 } 8184 lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx); 8185 if (previousNewFiber === null) resultingFirstChild = _newFiber4; 8186 else previousNewFiber.sibling = _newFiber4; 8187 previousNewFiber = _newFiber4; 8188 } 8189 } 8190 if (shouldTrackSideEffects) existingChildren.forEach(function(child$1) { 8191 return deleteChild(returnFiber, child$1); 8192 }); 8193 if (getIsHydrating()) pushTreeFork(returnFiber, newIdx); 8194 return resultingFirstChild; 8195 } 8196 function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, lanes) { 8197 if (currentFirstChild !== null && currentFirstChild.tag === HostText) { 8198 deleteRemainingChildren(returnFiber, currentFirstChild.sibling); 8199 var existing = useFiber(currentFirstChild, textContent); 8200 existing.return = returnFiber; 8201 return existing; 8202 } 8203 deleteRemainingChildren(returnFiber, currentFirstChild); 8204 var created = createFiberFromText(textContent, returnFiber.mode, lanes); 8205 created.return = returnFiber; 8206 return created; 8207 } 8208 function reconcileSingleElement(returnFiber, currentFirstChild, element, lanes) { 8209 var key = element.key; 8210 var child = currentFirstChild; 8211 while (child !== null) { 8212 if (child.key === key) { 8213 var elementType = element.type; 8214 if (elementType === REACT_FRAGMENT_TYPE) { 8215 if (child.tag === Fragment) { 8216 deleteRemainingChildren(returnFiber, child.sibling); 8217 var existing = useFiber(child, element.props.children); 8218 existing.return = returnFiber; 8219 existing._debugSource = element._source; 8220 existing._debugOwner = element._owner; 8221 return existing; 8222 } 8223 } else if (child.elementType === elementType || isCompatibleFamilyForHotReloading(child, element) || typeof elementType === "object" && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === child.type) { 8224 deleteRemainingChildren(returnFiber, child.sibling); 8225 var _existing = useFiber(child, element.props); 8226 _existing.ref = coerceRef(returnFiber, child, element); 8227 _existing.return = returnFiber; 8228 _existing._debugSource = element._source; 8229 _existing._debugOwner = element._owner; 8230 return _existing; 8231 } 8232 deleteRemainingChildren(returnFiber, child); 8233 break; 8234 } else deleteChild(returnFiber, child); 8235 child = child.sibling; 8236 } 8237 if (element.type === REACT_FRAGMENT_TYPE) { 8238 var created = createFiberFromFragment(element.props.children, returnFiber.mode, lanes, element.key); 8239 created.return = returnFiber; 8240 return created; 8241 } else { 8242 var _created4 = createFiberFromElement(element, returnFiber.mode, lanes); 8243 _created4.ref = coerceRef(returnFiber, currentFirstChild, element); 8244 _created4.return = returnFiber; 8245 return _created4; 8246 } 8247 } 8248 function reconcileSinglePortal(returnFiber, currentFirstChild, portal, lanes) { 8249 var key = portal.key; 8250 var child = currentFirstChild; 8251 while (child !== null) { 8252 if (child.key === key) if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) { 8253 deleteRemainingChildren(returnFiber, child.sibling); 8254 var existing = useFiber(child, portal.children || []); 8255 existing.return = returnFiber; 8256 return existing; 8257 } else { 8258 deleteRemainingChildren(returnFiber, child); 8259 break; 8260 } 8261 else deleteChild(returnFiber, child); 8262 child = child.sibling; 8263 } 8264 var created = createFiberFromPortal(portal, returnFiber.mode, lanes); 8265 created.return = returnFiber; 8266 return created; 8267 } 8268 function reconcileChildFibers$1(returnFiber, currentFirstChild, newChild, lanes) { 8269 if (typeof newChild === "object" && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null) newChild = newChild.props.children; 8270 if (typeof newChild === "object" && newChild !== null) { 8271 switch (newChild.$$typeof) { 8272 case REACT_ELEMENT_TYPE: return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, lanes)); 8273 case REACT_PORTAL_TYPE: return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, lanes)); 8274 case REACT_LAZY_TYPE: 8275 var payload = newChild._payload; 8276 var init = newChild._init; 8277 return reconcileChildFibers$1(returnFiber, currentFirstChild, init(payload), lanes); 8278 } 8279 if (isArray(newChild)) return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes); 8280 if (getIteratorFn(newChild)) return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes);
8281 throwOnInvalidObjectType(returnFiber, newChild); 8282 } 8283 if (typeof newChild === "string" && newChild !== "" || typeof newChild === "number") return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, "" + newChild, lanes)); 8284 if (typeof newChild === "function") warnOnFunctionType(returnFiber); 8285 return deleteRemainingChildren(returnFiber, currentFirstChild); 8286 } 8287 return reconcileChildFibers$1; 8288 } 8289 var reconcileChildFibers = ChildReconciler(true); 8290 var mountChildFibers = ChildReconciler(false); 8291 function cloneChildFibers(current$1, workInProgress$1) { 8292 if (current$1 !== null && workInProgress$1.child !== current$1.child) throw new Error("Resuming work not yet implemented."); 8293 if (workInProgress$1.child === null) return; 8294 var currentChild = workInProgress$1.child; 8295 var newChild = createWorkInProgress(currentChild, currentChild.pendingProps); 8296 workInProgress$1.child = newChild; 8297 newChild.return = workInProgress$1; 8298 while (currentChild.sibling !== null) { 8299 currentChild = currentChild.sibling; 8300 newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps); 8301 newChild.return = workInProgress$1; 8302 } 8303 newChild.sibling = null; 8304 } 8305 function resetChildFibers(workInProgress$1, lanes) { 8306 var child = workInProgress$1.child; 8307 while (child !== null) { 8308 resetWorkInProgress(child, lanes); 8309 child = child.sibling; 8310 } 8311 } 8312 var valueCursor = createCursor(null); 8313 var rendererSigil = {}; 8314 var currentlyRenderingFiber = null; 8315 var lastContextDependency = null; 8316 var lastFullyObservedContext = null; 8317 var isDisallowedContextReadInDEV = false; 8318 function resetContextDependencies() { 8319 currentlyRenderingFiber = null; 8320 lastContextDependency = null; 8321 lastFullyObservedContext = null; 8322 isDisallowedContextReadInDEV = false; 8323 } 8324 function enterDisallowedContextReadInDEV() { 8325 isDisallowedContextReadInDEV = true; 8326 } 8327 function exitDisallowedContextReadInDEV() { 8328 isDisallowedContextReadInDEV = false; 8329 } 8330 function pushProvider(providerFiber, context, nextValue) { 8331 push(valueCursor, context._currentValue, providerFiber); 8332 context._currentValue = nextValue; 8333 if (context._currentRenderer !== void 0 && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) error("Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."); 8334 context._currentRenderer = rendererSigil; 8335 } 8336 function popProvider(context, providerFiber) { 8337 var currentValue = valueCursor.current; 8338 pop(valueCursor, providerFiber); 8339 context._currentValue = currentValue; 8340 } 8341 function scheduleContextWorkOnParentPath(parent, renderLanes$1, propagationRoot) { 8342 var node = parent; 8343 while (node !== null) { 8344 var alternate = node.alternate; 8345 if (!isSubsetOfLanes(node.childLanes, renderLanes$1)) { 8346 node.childLanes = mergeLanes(node.childLanes, renderLanes$1); 8347 if (alternate !== null) alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes$1); 8348 } else if (alternate !== null && !isSubsetOfLanes(alternate.childLanes, renderLanes$1)) alternate.childLanes = mergeLanes(alternate.childLanes, renderLanes$1); 8349 if (node === propagationRoot) break; 8350 node = node.return; 8351 } 8352 if (node !== propagationRoot) error("Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue."); 8353 } 8354 function propagateContextChange(workInProgress$1, context, renderLanes$1) { 8355 propagateContextChange_eager(workInProgress$1, context, renderLanes$1); 8356 } 8357 function propagateContextChange_eager(workInProgress$1, context, renderLanes$1) { 8358 var fiber = workInProgress$1.child; 8359 if (fiber !== null) fiber.return = workInProgress$1; 8360 while (fiber !== null) { 8361 var nextFiber = void 0; 8362 var list = fiber.dependencies; 8363 if (list !== null) { 8364 nextFiber = fiber.child; 8365 var dependency = list.firstContext; 8366 while (dependency !== null) { 8367 if (dependency.context === context) { 8368 if (fiber.tag === ClassComponent) { 8369 var update = createUpdate(NoTimestamp, pickArbitraryLane(renderLanes$1)); 8370 update.tag = ForceUpdate; 8371 var updateQueue = fiber.updateQueue; 8372 if (updateQueue === null); 8373 else { 8374 var sharedQueue = updateQueue.shared; 8375 var pending = sharedQueue.pending; 8376 if (pending === null) update.next = update; 8377 else { 8378 update.next = pending.next; 8379 pending.next = update; 8380 } 8381 sharedQueue.pending = update; 8382 } 8383 } 8384 fiber.lanes = mergeLanes(fiber.lanes, renderLanes$1); 8385 var alternate = fiber.alternate; 8386 if (alternate !== null) alternate.lanes = mergeLanes(alternate.lanes, renderLanes$1); 8387 scheduleContextWorkOnParentPath(fiber.return, renderLanes$1, workInProgress$1); 8388 list.lanes = mergeLanes(list.lanes, renderLanes$1); 8389 break; 8390 }
8391 dependency = dependency.next; 8392 } 8393 } else if (fiber.tag === ContextProvider) nextFiber = fiber.type === workInProgress$1.type ? null : fiber.child; 8394 else if (fiber.tag === DehydratedFragment) { 8395 var parentSuspense = fiber.return; 8396 if (parentSuspense === null) throw new Error("We just came from a parent so we must have had a parent. This is a bug in React."); 8397 parentSuspense.lanes = mergeLanes(parentSuspense.lanes, renderLanes$1); 8398 var _alternate = parentSuspense.alternate; 8399 if (_alternate !== null) _alternate.lanes = mergeLanes(_alternate.lanes, renderLanes$1); 8400 scheduleContextWorkOnParentPath(parentSuspense, renderLanes$1, workInProgress$1); 8401 nextFiber = fiber.sibling; 8402 } else nextFiber = fiber.child; 8403 if (nextFiber !== null) nextFiber.return = fiber; 8404 else { 8405 nextFiber = fiber; 8406 while (nextFiber !== null) { 8407 if (nextFiber === workInProgress$1) { 8408 nextFiber = null; 8409 break; 8410 } 8411 var sibling = nextFiber.sibling; 8412 if (sibling !== null) { 8413 sibling.return = nextFiber.return; 8414 nextFiber = sibling; 8415 break; 8416 } 8417 nextFiber = nextFiber.return; 8418 } 8419 } 8420 fiber = nextFiber; 8421 } 8422 } 8423 function prepareToReadContext(workInProgress$1, renderLanes$1) { 8424 currentlyRenderingFiber = workInProgress$1; 8425 lastContextDependency = null; 8426 lastFullyObservedContext = null; 8427 var dependencies = workInProgress$1.dependencies; 8428 if (dependencies !== null) { 8429 if (dependencies.firstContext !== null) { 8430 if (includesSomeLane(dependencies.lanes, renderLanes$1)) markWorkInProgressReceivedUpdate(); 8431 dependencies.firstContext = null; 8432 } 8433 } 8434 } 8435 function readContext(context) { 8436 if (isDisallowedContextReadInDEV) error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."); 8437 var value = context._currentValue; 8438 if (lastFullyObservedContext === context); 8439 else { 8440 var contextItem = { 8441 context, 8442 memoizedValue: value, 8443 next: null 8444 }; 8445 if (lastContextDependency === null) { 8446 if (currentlyRenderingFiber === null) throw new Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."); 8447 lastContextDependency = contextItem; 8448 currentlyRenderingFiber.dependencies = { 8449 lanes: NoLanes, 8450 firstContext: contextItem 8451 }; 8452 } else lastContextDependency = lastContextDependency.next = contextItem; 8453 } 8454 return value; 8455 } 8456 var concurrentQueues = null; 8457 function pushConcurrentUpdateQueue(queue) { 8458 if (concurrentQueues === null) concurrentQueues = [queue]; 8459 else concurrentQueues.push(queue); 8460 } 8461 function finishQueueingConcurrentUpdates() { 8462 if (concurrentQueues !== null) { 8463 for (var i = 0; i < concurrentQueues.length; i++) { 8464 var queue = concurrentQueues[i]; 8465 var lastInterleavedUpdate = queue.interleaved; 8466 if (lastInterleavedUpdate !== null) { 8467 queue.interleaved = null; 8468 var firstInterleavedUpdate = lastInterleavedUpdate.next; 8469 var lastPendingUpdate = queue.pending; 8470 if (lastPendingUpdate !== null) { 8471 var firstPendingUpdate = lastPendingUpdate.next; 8472 lastPendingUpdate.next = firstInterleavedUpdate; 8473 lastInterleavedUpdate.next = firstPendingUpdate; 8474 } 8475 queue.pending = lastInterleavedUpdate; 8476 } 8477 } 8478 concurrentQueues = null; 8479 } 8480 } 8481 function enqueueConcurrentHookUpdate(fiber, queue, update, lane) { 8482 var interleaved = queue.interleaved; 8483 if (interleaved === null) { 8484 update.next = update; 8485 pushConcurrentUpdateQueue(queue); 8486 } else { 8487 update.next = interleaved.next; 8488 interleaved.next = update; 8489 } 8490 queue.interleaved = update; 8491 return markUpdateLaneFromFiberToRoot(fiber, lane); 8492 }
8493 function enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane) { 8494 var interleaved = queue.interleaved; 8495 if (interleaved === null) { 8496 update.next = update; 8497 pushConcurrentUpdateQueue(queue); 8498 } else { 8499 update.next = interleaved.next; 8500 interleaved.next = update; 8501 } 8502 queue.interleaved = update; 8503 } 8504 function enqueueConcurrentClassUpdate(fiber, queue, update, lane) { 8505 var interleaved = queue.interleaved; 8506 if (interleaved === null) { 8507 update.next = update; 8508 pushConcurrentUpdateQueue(queue); 8509 } else { 8510 update.next = interleaved.next; 8511 interleaved.next = update; 8512 } 8513 queue.interleaved = update; 8514 return markUpdateLaneFromFiberToRoot(fiber, lane); 8515 } 8516 function enqueueConcurrentRenderForLane(fiber, lane) { 8517 return markUpdateLaneFromFiberToRoot(fiber, lane); 8518 } 8519 var unsafe_markUpdateLaneFromFiberToRoot = markUpdateLaneFromFiberToRoot; 8520 function markUpdateLaneFromFiberToRoot(sourceFiber, lane) { 8521 sourceFiber.lanes = mergeLanes(sourceFiber.lanes, lane); 8522 var alternate = sourceFiber.alternate; 8523 if (alternate !== null) alternate.lanes = mergeLanes(alternate.lanes, lane); 8524 if (alternate === null && (sourceFiber.flags & (Placement | Hydrating)) !== NoFlags) warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber); 8525 var node = sourceFiber; 8526 var parent = sourceFiber.return; 8527 while (parent !== null) { 8528 parent.childLanes = mergeLanes(parent.childLanes, lane); 8529 alternate = parent.alternate; 8530 if (alternate !== null) alternate.childLanes = mergeLanes(alternate.childLanes, lane); 8531 else if ((parent.flags & (Placement | Hydrating)) !== NoFlags) warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber); 8532 node = parent; 8533 parent = parent.return; 8534 } 8535 if (node.tag === HostRoot) return node.stateNode; 8536 else return null; 8537 } 8538 var UpdateState = 0; 8539 var ReplaceState = 1; 8540 var ForceUpdate = 2; 8541 var CaptureUpdate = 3; 8542 var hasForceUpdate = false; 8543 var didWarnUpdateInsideUpdate; 8544 var currentlyProcessingQueue; 8545 didWarnUpdateInsideUpdate = false; 8546 currentlyProcessingQueue = null; 8547 function initializeUpdateQueue(fiber) { 8548 fiber.updateQueue = { 8549 baseState: fiber.memoizedState, 8550 firstBaseUpdate: null, 8551 lastBaseUpdate: null, 8552 shared: { 8553 pending: null, 8554 interleaved: null, 8555 lanes: NoLanes 8556 }, 8557 effects: null 8558 }; 8559 } 8560 function cloneUpdateQueue(current$1, workInProgress$1) { 8561 var queue = workInProgress$1.updateQueue; 8562 var currentQueue = current$1.updateQueue; 8563 if (queue === currentQueue) workInProgress$1.updateQueue = { 8564 baseState: currentQueue.baseState, 8565 firstBaseUpdate: currentQueue.firstBaseUpdate, 8566 lastBaseUpdate: currentQueue.lastBaseUpdate, 8567 shared: currentQueue.shared, 8568 effects: currentQueue.effects 8569 }; 8570 } 8571 function createUpdate(eventTime, lane) { 8572 return { 8573 eventTime, 8574 lane, 8575 tag: UpdateState, 8576 payload: null, 8577 callback: null, 8578 next: null 8579 }; 8580 } 8581 function enqueueUpdate(fiber, update, lane) { 8582 var updateQueue = fiber.updateQueue; 8583 if (updateQueue === null) return null; 8584 var sharedQueue = updateQueue.shared; 8585 if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) { 8586 error("An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback."); 8587 didWarnUpdateInsideUpdate = true; 8588 } 8589 if (isUnsafeClassRenderPhaseUpdate()) { 8590 var pending = sharedQueue.pending; 8591 if (pending === null) update.next = update; 8592 else { 8593 update.next = pending.next; 8594 pending.next = update; 8595 } 8596 sharedQueue.pending = update; 8597 return unsafe_markUpdateLaneFromFiberToRoot(fiber, lane); 8598 } else return enqueueConcurrentClassUpdate(fiber, sharedQueue, update, lane); 8599 } 8600 function entangleTransitions(root$1, fiber, lane) { 8601 var updateQueue = fiber.updateQueue; 8602 if (updateQueue === null) return; 8603 var sharedQueue = updateQueue.shared; 8604 if (isTransitionLane(lane)) { 8605 var queueLanes = sharedQueue.lanes; 8606 queueLanes = intersectLanes(queueLanes, root$1.pendingLanes); 8607 var newQueueLanes = mergeLanes(queueLanes, lane); 8608 sharedQueue.lanes = newQueueLanes; 8609 markRootEntangled(root$1, newQueueLanes); 8610 } 8611 } 8612 function enqueueCapturedUpdate(workInProgress$1, capturedUpdate) { 8613 var queue = workInProgress$1.updateQueue; 8614 var current$1 = workInProgress$1.alternate; 8615 if (current$1 !== null) { 8616 var currentQueue = current$1.updateQueue; 8617 if (queue === currentQueue) { 8618 var newFirst = null; 8619 var newLast = null; 8620 var firstBaseUpdate = queue.firstBaseUpdate; 8621 if (firstBaseUpdate !== null) { 8622 var update = firstBaseUpdate; 8623 do { 8624 var clone = { 8625 eventTime: update.eventTime, 8626 lane: update.lane, 8627 tag: update.tag, 8628 payload: update.payload, 8629 callback: update.callback, 8630 next: null 8631 }; 8632 if (newLast === null) newFirst = newLast = clone; 8633 else { 8634 newLast.next = clone; 8635 newLast = clone; 8636 } 8637 update = update.next; 8638 } while (update !== null); 8639 if (newLast === null) newFirst = newLast = capturedUpdate; 8640 else { 8641 newLast.next = capturedUpdate; 8642 newLast = capturedUpdate; 8643 } 8644 } else newFirst = newLast = capturedUpdate; 8645 queue = { 8646 baseState: currentQueue.baseState, 8647 firstBaseUpdate: newFirst, 8648 lastBaseUpdate: newLast, 8649 shared: currentQueue.shared, 8650 effects: currentQueue.effects 8651 }; 8652 workInProgress$1.updateQueue = queue; 8653 return; 8654 } 8655 } 8656 var lastBaseUpdate = queue.lastBaseUpdate; 8657 if (lastBaseUpdate === null) queue.firstBaseUpdate = capturedUpdate; 8658 else lastBaseUpdate.next = capturedUpdate; 8659 queue.lastBaseUpdate = capturedUpdate; 8660 } 8661 function getStateFromUpdate(workInProgress$1, queue, update, prevState, nextProps, instance) { 8662 switch (update.tag) { 8663 case ReplaceState: 8664 var payload = update.payload; 8665 if (typeof payload === "function") { 8666 enterDisallowedContextReadInDEV(); 8667 var nextState = payload.call(instance, prevState, nextProps); 8668 if (workInProgress$1.mode & StrictLegacyMode) { 8669 setIsStrictModeForDevtools(true); 8670 try { 8671 payload.call(instance, prevState, nextProps); 8672 } finally { 8673 setIsStrictModeForDevtools(false); 8674 } 8675 } 8676 exitDisallowedContextReadInDEV(); 8677 return nextState; 8678 } 8679 return payload; 8680 case CaptureUpdate: workInProgress$1.flags = workInProgress$1.flags & ~ShouldCapture | DidCapture; 8681 case UpdateState: 8682 var _payload = update.payload; 8683 var partialState; 8684 if (typeof _payload === "function") { 8685 enterDisallowedContextReadInDEV(); 8686 partialState = _payload.call(instance, prevState, nextProps); 8687 if (workInProgress$1.mode & StrictLegacyMode) { 8688 setIsStrictModeForDevtools(true); 8689 try { 8690 _payload.call(instance, prevState, nextProps); 8691 } finally { 8692 setIsStrictModeForDevtools(false); 8693 } 8694 } 8695 exitDisallowedContextReadInDEV(); 8696 } else partialState = _payload; 8697 if (partialState === null || partialState === void 0) return prevState; 8698 return assign({}, prevState, partialState); 8699 case ForceUpdate: 8700 hasForceUpdate = true; 8701 return prevState; 8702 } 8703 return prevState; 8704 } 8705 function processUpdateQueue(workInProgress$1, props, instance, renderLanes$1) { 8706 var queue = workInProgress$1.updateQueue; 8707 hasForceUpdate = false;
8708 currentlyProcessingQueue = queue.shared; 8709 var firstBaseUpdate = queue.firstBaseUpdate; 8710 var lastBaseUpdate = queue.lastBaseUpdate; 8711 var pendingQueue = queue.shared.pending; 8712 if (pendingQueue !== null) { 8713 queue.shared.pending = null; 8714 var lastPendingUpdate = pendingQueue; 8715 var firstPendingUpdate = lastPendingUpdate.next; 8716 lastPendingUpdate.next = null; 8717 if (lastBaseUpdate === null) firstBaseUpdate = firstPendingUpdate; 8718 else lastBaseUpdate.next = firstPendingUpdate; 8719 lastBaseUpdate = lastPendingUpdate; 8720 var current$1 = workInProgress$1.alternate; 8721 if (current$1 !== null) { 8722 var currentQueue = current$1.updateQueue; 8723 var currentLastBaseUpdate = currentQueue.lastBaseUpdate; 8724 if (currentLastBaseUpdate !== lastBaseUpdate) { 8725 if (currentLastBaseUpdate === null) currentQueue.firstBaseUpdate = firstPendingUpdate; 8726 else currentLastBaseUpdate.next = firstPendingUpdate; 8727 currentQueue.lastBaseUpdate = lastPendingUpdate; 8728 } 8729 } 8730 } 8731 if (firstBaseUpdate !== null) { 8732 var newState = queue.baseState; 8733 var newLanes = NoLanes; 8734 var newBaseState = null; 8735 var newFirstBaseUpdate = null; 8736 var newLastBaseUpdate = null; 8737 var update = firstBaseUpdate; 8738 do { 8739 var updateLane = update.lane; 8740 var updateEventTime = update.eventTime; 8741 if (!isSubsetOfLanes(renderLanes$1, updateLane)) { 8742 var clone = { 8743 eventTime: updateEventTime, 8744 lane: updateLane, 8745 tag: update.tag, 8746 payload: update.payload, 8747 callback: update.callback, 8748 next: null 8749 }; 8750 if (newLastBaseUpdate === null) { 8751 newFirstBaseUpdate = newLastBaseUpdate = clone; 8752 newBaseState = newState; 8753 } else newLastBaseUpdate = newLastBaseUpdate.next = clone; 8754 newLanes = mergeLanes(newLanes, updateLane); 8755 } else { 8756 if (newLastBaseUpdate !== null) newLastBaseUpdate = newLastBaseUpdate.next = { 8757 eventTime: updateEventTime, 8758 lane: NoLane, 8759 tag: update.tag, 8760 payload: update.payload, 8761 callback: update.callback, 8762 next: null 8763 }; 8764 newState = getStateFromUpdate(workInProgress$1, queue, update, newState, props, instance); 8765 if (update.callback !== null && update.lane !== NoLane) { 8766 workInProgress$1.flags |= Callback; 8767 var effects = queue.effects; 8768 if (effects === null) queue.effects = [update]; 8769 else effects.push(update); 8770 } 8771 } 8772 update = update.next; 8773 if (update === null) { 8774 pendingQueue = queue.shared.pending; 8775 if (pendingQueue === null) break; 8776 else { 8777 var _lastPendingUpdate = pendingQueue; 8778 var _firstPendingUpdate = _lastPendingUpdate.next; 8779 _lastPendingUpdate.next = null; 8780 update = _firstPendingUpdate; 8781 queue.lastBaseUpdate = _lastPendingUpdate; 8782 queue.shared.pending = null; 8783 } 8784 } 8785 } while (true); 8786 if (newLastBaseUpdate === null) newBaseState = newState; 8787 queue.baseState = newBaseState; 8788 queue.firstBaseUpdate = newFirstBaseUpdate; 8789 queue.lastBaseUpdate = newLastBaseUpdate; 8790 var lastInterleaved = queue.shared.interleaved; 8791 if (lastInterleaved !== null) { 8792 var interleaved = lastInterleaved; 8793 do { 8794 newLanes = mergeLanes(newLanes, interleaved.lane); 8795 interleaved = interleaved.next; 8796 } while (interleaved !== lastInterleaved); 8797 } else if (firstBaseUpdate === null) queue.shared.lanes = NoLanes; 8798 markSkippedUpdateLanes(newLanes); 8799 workInProgress$1.lanes = newLanes; 8800 workInProgress$1.memoizedState = newState; 8801 } 8802 currentlyProcessingQueue = null; 8803 } 8804 function callCallback(callback, context) { 8805 if (typeof callback !== "function") throw new Error("Invalid argument passed as callback. Expected a function. Instead " + ("received: " + callback)); 8806 callback.call(context); 8807 } 8808 function resetHasForceUpdateBeforeProcessing() { 8809 hasForceUpdate = false; 8810 } 8811 function checkHasForceUpdateAfterProcessing() { 8812 return hasForceUpdate; 8813 } 8814 function commitUpdateQueue(finishedWork, finishedQueue, instance) { 8815 var effects = finishedQueue.effects; 8816 finishedQueue.effects = null; 8817 if (effects !== null) for (var i = 0; i < effects.length; i++) { 8818 var effect = effects[i]; 8819 var callback = effect.callback; 8820 if (callback !== null) { 8821 effect.callback = null; 8822 callCallback(callback, instance); 8823 } 8824 } 8825 } 8826 var NO_CONTEXT = {}; 8827 var contextStackCursor$1 = createCursor(NO_CONTEXT); 8828 var contextFiberStackCursor = createCursor(NO_CONTEXT); 8829 var rootInstanceStackCursor = createCursor(NO_CONTEXT); 8830 function requiredContext(c) { 8831 if (c === NO_CONTEXT) throw new Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."); 8832 return c; 8833 } 8834 function getRootHostContainer() { 8835 return requiredContext(rootInstanceStackCursor.current); 8836 } 8837 function pushHostContainer(fiber, nextRootInstance) { 8838 push(rootInstanceStackCursor, nextRootInstance, fiber); 8839 push(contextFiberStackCursor, fiber, fiber); 8840 push(contextStackCursor$1, NO_CONTEXT, fiber); 8841 var nextRootContext = getRootHostContext(nextRootInstance); 8842 pop(contextStackCursor$1, fiber); 8843 push(contextStackCursor$1, nextRootContext, fiber); 8844 } 8845 function popHostContainer(fiber) { 8846 pop(contextStackCursor$1, fiber); 8847 pop(contextFiberStackCursor, fiber); 8848 pop(rootInstanceStackCursor, fiber); 8849 } 8850 function getHostContext() { 8851 return requiredContext(contextStackCursor$1.current); 8852 } 8853 function pushHostContext(fiber) { 8854 requiredContext(rootInstanceStackCursor.current); 8855 var context = requiredContext(contextStackCursor$1.current); 8856 var nextContext = getChildHostContext(context, fiber.type); 8857 if (context === nextContext) return; 8858 push(contextFiberStackCursor, fiber, fiber); 8859 push(contextStackCursor$1, nextContext, fiber); 8860 } 8861 function popHostContext(fiber) { 8862 if (contextFiberStackCursor.current !== fiber) return; 8863 pop(contextStackCursor$1, fiber); 8864 pop(contextFiberStackCursor, fiber); 8865 } 8866 var DefaultSuspenseContext = 0; 8867 var SubtreeSuspenseContextMask = 1; 8868 var InvisibleParentSuspenseContext = 1; 8869 var ForceSuspenseFallback = 2; 8870 var suspenseStackCursor = createCursor(DefaultSuspenseContext); 8871 function hasSuspenseContext(parentContext, flag) { 8872 return (parentContext & flag) !== 0; 8873 } 8874 function setDefaultShallowSuspenseContext(parentContext) { 8875 return parentContext & SubtreeSuspenseContextMask; 8876 } 8877 function setShallowSuspenseContext(parentContext, shallowContext) { 8878 return parentContext & SubtreeSuspenseContextMask | shallowContext; 8879 }
8880 function addSubtreeSuspenseContext(parentContext, subtreeContext) { 8881 return parentContext | subtreeContext; 8882 } 8883 function pushSuspenseContext(fiber, newContext) { 8884 push(suspenseStackCursor, newContext, fiber); 8885 } 8886 function popSuspenseContext(fiber) { 8887 pop(suspenseStackCursor, fiber); 8888 } 8889 function shouldCaptureSuspense(workInProgress$1, hasInvisibleParent) { 8890 var nextState = workInProgress$1.memoizedState; 8891 if (nextState !== null) { 8892 if (nextState.dehydrated !== null) return true; 8893 return false; 8894 } 8895 workInProgress$1.memoizedProps; 8896 return true; 8897 } 8898 function findFirstSuspended(row) { 8899 var node = row; 8900 while (node !== null) { 8901 if (node.tag === SuspenseComponent) { 8902 var state = node.memoizedState; 8903 if (state !== null) { 8904 var dehydrated = state.dehydrated; 8905 if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) return node; 8906 } 8907 } else if (node.tag === SuspenseListComponent && node.memoizedProps.revealOrder !== void 0) { 8908 if ((node.flags & DidCapture) !== NoFlags) return node; 8909 } else if (node.child !== null) { 8910 node.child.return = node; 8911 node = node.child; 8912 continue; 8913 } 8914 if (node === row) return null; 8915 while (node.sibling === null) { 8916 if (node.return === null || node.return === row) return null; 8917 node = node.return; 8918 } 8919 node.sibling.return = node.return; 8920 node = node.sibling; 8921 } 8922 return null; 8923 } 8924 var NoFlags$1 = 0; 8925 var HasEffect = 1; 8926 var Insertion = 2; 8927 var Layout = 4; 8928 var Passive$1 = 8; 8929 var workInProgressSources = []; 8930 function resetWorkInProgressVersions() { 8931 for (var i = 0; i < workInProgressSources.length; i++) { 8932 var mutableSource = workInProgressSources[i]; 8933 mutableSource._workInProgressVersionPrimary = null; 8934 } 8935 workInProgressSources.length = 0; 8936 } 8937 function registerMutableSourceForHydration(root$1, mutableSource) { 8938 var getVersion = mutableSource._getVersion; 8939 var version = getVersion(mutableSource._source); 8940 if (root$1.mutableSourceEagerHydrationData == null) root$1.mutableSourceEagerHydrationData = [mutableSource, version]; 8941 else root$1.mutableSourceEagerHydrationData.push(mutableSource, version); 8942 } 8943 var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher, ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig; 8944 var didWarnAboutMismatchedHooksForComponent; 8945 var didWarnUncachedGetSnapshot; 8946 didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set(); 8947 var renderLanes = NoLanes; 8948 var currentlyRenderingFiber$1 = null; 8949 var currentHook = null; 8950 var workInProgressHook = null; 8951 var didScheduleRenderPhaseUpdate = false; 8952 var didScheduleRenderPhaseUpdateDuringThisPass = false; 8953 var localIdCounter = 0; 8954 var globalClientIdCounter = 0; 8955 var RE_RENDER_LIMIT = 25; 8956 var currentHookNameInDev = null; 8957 var hookTypesDev = null; 8958 var hookTypesUpdateIndexDev = -1; 8959 var ignorePreviousDependencies = false; 8960 function mountHookTypesDev() { 8961 var hookName = currentHookNameInDev; 8962 if (hookTypesDev === null) hookTypesDev = [hookName]; 8963 else hookTypesDev.push(hookName); 8964 } 8965 function updateHookTypesDev() { 8966 var hookName = currentHookNameInDev; 8967 if (hookTypesDev !== null) { 8968 hookTypesUpdateIndexDev++; 8969 if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) warnOnHookMismatchInDev(hookName); 8970 } 8971 } 8972 function checkDepsAreArrayDev(deps) { 8973 if (deps !== void 0 && deps !== null && !isArray(deps)) error("%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.", currentHookNameInDev, typeof deps); 8974 } 8975 function warnOnHookMismatchInDev(currentHookName) { 8976 var componentName = getComponentNameFromFiber(currentlyRenderingFiber$1); 8977 if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) { 8978 didWarnAboutMismatchedHooksForComponent.add(componentName); 8979 if (hookTypesDev !== null) { 8980 var table = ""; 8981 var secondColumnStart = 30; 8982 for (var i = 0; i <= hookTypesUpdateIndexDev; i++) { 8983 var oldHookName = hookTypesDev[i]; 8984 var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName; 8985 var row = i + 1 + ". " + oldHookName; 8986 while (row.length < secondColumnStart) row += " "; 8987 row += newHookName + "\n"; 8988 table += row; 8989 } 8990 error("React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks\n\n Previous render Next render\n ------------------------------------------------------\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", componentName, table); 8991 } 8992 } 8993 } 8994 function throwInvalidHookError() { 8995 throw new Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem."); 8996 } 8997 function areHookInputsEqual(nextDeps, prevDeps) { 8998 if (ignorePreviousDependencies) return false;
8999 if (prevDeps === null) { 9000 error("%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", currentHookNameInDev); 9001 return false; 9002 } 9003 if (nextDeps.length !== prevDeps.length) error("The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s", currentHookNameInDev, "[" + prevDeps.join(", ") + "]", "[" + nextDeps.join(", ") + "]"); 9004 for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) { 9005 if (objectIs(nextDeps[i], prevDeps[i])) continue; 9006 return false; 9007 } 9008 return true; 9009 } 9010 function renderWithHooks(current$1, workInProgress$1, Component, props, secondArg, nextRenderLanes) { 9011 renderLanes = nextRenderLanes; 9012 currentlyRenderingFiber$1 = workInProgress$1; 9013 hookTypesDev = current$1 !== null ? current$1._debugHookTypes : null; 9014 hookTypesUpdateIndexDev = -1; 9015 ignorePreviousDependencies = current$1 !== null && current$1.type !== workInProgress$1.type; 9016 workInProgress$1.memoizedState = null; 9017 workInProgress$1.updateQueue = null; 9018 workInProgress$1.lanes = NoLanes; 9019 if (current$1 !== null && current$1.memoizedState !== null) ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV; 9020 else if (hookTypesDev !== null) ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV; 9021 else ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV; 9022 var children = Component(props, secondArg); 9023 if (didScheduleRenderPhaseUpdateDuringThisPass) { 9024 var numberOfReRenders = 0; 9025 do { 9026 didScheduleRenderPhaseUpdateDuringThisPass = false; 9027 localIdCounter = 0; 9028 if (numberOfReRenders >= RE_RENDER_LIMIT) throw new Error("Too many re-renders. React limits the number of renders to prevent an infinite loop."); 9029 numberOfReRenders += 1; 9030 ignorePreviousDependencies = false; 9031 currentHook = null; 9032 workInProgressHook = null; 9033 workInProgress$1.updateQueue = null; 9034 hookTypesUpdateIndexDev = -1; 9035 ReactCurrentDispatcher$1.current = HooksDispatcherOnRerenderInDEV; 9036 children = Component(props, secondArg); 9037 } while (didScheduleRenderPhaseUpdateDuringThisPass); 9038 } 9039 ReactCurrentDispatcher$1.current = ContextOnlyDispatcher; 9040 workInProgress$1._debugHookTypes = hookTypesDev; 9041 var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null; 9042 renderLanes = NoLanes; 9043 currentlyRenderingFiber$1 = null; 9044 currentHook = null; 9045 workInProgressHook = null; 9046 currentHookNameInDev = null; 9047 hookTypesDev = null; 9048 hookTypesUpdateIndexDev = -1; 9049 if (current$1 !== null && (current$1.flags & StaticMask) !== (workInProgress$1.flags & StaticMask) && (current$1.mode & ConcurrentMode) !== NoMode) error("Internal React error: Expected static flag was missing. Please notify the React team."); 9050 didScheduleRenderPhaseUpdate = false; 9051 if (didRenderTooFewHooks) throw new Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement."); 9052 return children; 9053 } 9054 function checkDidRenderIdHook() { 9055 var didRenderIdHook = localIdCounter !== 0; 9056 localIdCounter = 0; 9057 return didRenderIdHook; 9058 } 9059 function bailoutHooks(current$1, workInProgress$1, lanes) { 9060 workInProgress$1.updateQueue = current$1.updateQueue; 9061 if ((workInProgress$1.mode & StrictEffectsMode) !== NoMode) workInProgress$1.flags &= ~(MountPassiveDev | MountLayoutDev | Passive | Update); 9062 else workInProgress$1.flags &= ~(Passive | Update); 9063 current$1.lanes = removeLanes(current$1.lanes, lanes); 9064 } 9065 function resetHooksAfterThrow() { 9066 ReactCurrentDispatcher$1.current = ContextOnlyDispatcher; 9067 if (didScheduleRenderPhaseUpdate) { 9068 var hook = currentlyRenderingFiber$1.memoizedState; 9069 while (hook !== null) { 9070 var queue = hook.queue; 9071 if (queue !== null) queue.pending = null; 9072 hook = hook.next; 9073 } 9074 didScheduleRenderPhaseUpdate = false; 9075 } 9076 renderLanes = NoLanes; 9077 currentlyRenderingFiber$1 = null; 9078 currentHook = null; 9079 workInProgressHook = null; 9080 hookTypesDev = null; 9081 hookTypesUpdateIndexDev = -1; 9082 currentHookNameInDev = null; 9083 isUpdatingOpaqueValueInRenderPhase = false;
9084 didScheduleRenderPhaseUpdateDuringThisPass = false; 9085 localIdCounter = 0; 9086 } 9087 function mountWorkInProgressHook() { 9088 var hook = { 9089 memoizedState: null, 9090 baseState: null, 9091 baseQueue: null, 9092 queue: null, 9093 next: null 9094 }; 9095 if (workInProgressHook === null) currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook; 9096 else workInProgressHook = workInProgressHook.next = hook; 9097 return workInProgressHook; 9098 } 9099 function updateWorkInProgressHook() { 9100 var nextCurrentHook; 9101 if (currentHook === null) { 9102 var current$1 = currentlyRenderingFiber$1.alternate; 9103 if (current$1 !== null) nextCurrentHook = current$1.memoizedState; 9104 else nextCurrentHook = null; 9105 } else nextCurrentHook = currentHook.next; 9106 var nextWorkInProgressHook; 9107 if (workInProgressHook === null) nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState; 9108 else nextWorkInProgressHook = workInProgressHook.next; 9109 if (nextWorkInProgressHook !== null) { 9110 workInProgressHook = nextWorkInProgressHook; 9111 nextWorkInProgressHook = workInProgressHook.next; 9112 currentHook = nextCurrentHook; 9113 } else { 9114 if (nextCurrentHook === null) throw new Error("Rendered more hooks than during the previous render."); 9115 currentHook = nextCurrentHook; 9116 var newHook = { 9117 memoizedState: currentHook.memoizedState, 9118 baseState: currentHook.baseState, 9119 baseQueue: currentHook.baseQueue, 9120 queue: currentHook.queue, 9121 next: null 9122 }; 9123 if (workInProgressHook === null) currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook; 9124 else workInProgressHook = workInProgressHook.next = newHook; 9125 } 9126 return workInProgressHook; 9127 } 9128 function createFunctionComponentUpdateQueue() { 9129 return { 9130 lastEffect: null, 9131 stores: null 9132 }; 9133 } 9134 function basicStateReducer(state, action) { 9135 return typeof action === "function" ? action(state) : action; 9136 } 9137 function mountReducer(reducer, initialArg, init) { 9138 var hook = mountWorkInProgressHook(); 9139 var initialState; 9140 if (init !== void 0) initialState = init(initialArg); 9141 else initialState = initialArg; 9142 hook.memoizedState = hook.baseState = initialState; 9143 var queue = { 9144 pending: null, 9145 interleaved: null, 9146 lanes: NoLanes, 9147 dispatch: null, 9148 lastRenderedReducer: reducer, 9149 lastRenderedState: initialState 9150 }; 9151 hook.queue = queue; 9152 var dispatch = queue.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber$1, queue); 9153 return [hook.memoizedState, dispatch]; 9154 } 9155 function updateReducer(reducer, initialArg, init) { 9156 var hook = updateWorkInProgressHook(); 9157 var queue = hook.queue; 9158 if (queue === null) throw new Error("Should have a queue. This is likely a bug in React. Please file an issue."); 9159 queue.lastRenderedReducer = reducer; 9160 var current$1 = currentHook; 9161 var baseQueue = current$1.baseQueue; 9162 var pendingQueue = queue.pending; 9163 if (pendingQueue !== null) { 9164 if (baseQueue !== null) { 9165 var baseFirst = baseQueue.next; 9166 baseQueue.next = pendingQueue.next; 9167 pendingQueue.next = baseFirst; 9168 } 9169 if (current$1.baseQueue !== baseQueue) error("Internal error: Expected work-in-progress queue to be a clone. This is a bug in React."); 9170 current$1.baseQueue = baseQueue = pendingQueue; 9171 queue.pending = null; 9172 } 9173 if (baseQueue !== null) { 9174 var first = baseQueue.next; 9175 var newState = current$1.baseState; 9176 var newBaseState = null; 9177 var newBaseQueueFirst = null; 9178 var newBaseQueueLast = null; 9179 var update = first; 9180 do { 9181 var updateLane = update.lane; 9182 if (!isSubsetOfLanes(renderLanes, updateLane)) { 9183 var clone = { 9184 lane: updateLane, 9185 action: update.action, 9186 hasEagerState: update.hasEagerState, 9187 eagerState: update.eagerState, 9188 next: null 9189 }; 9190 if (newBaseQueueLast === null) { 9191 newBaseQueueFirst = newBaseQueueLast = clone; 9192 newBaseState = newState; 9193 } else newBaseQueueLast = newBaseQueueLast.next = clone; 9194 currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, updateLane);
9195 markSkippedUpdateLanes(updateLane); 9196 } else { 9197 if (newBaseQueueLast !== null) newBaseQueueLast = newBaseQueueLast.next = { 9198 lane: NoLane, 9199 action: update.action, 9200 hasEagerState: update.hasEagerState, 9201 eagerState: update.eagerState, 9202 next: null 9203 }; 9204 if (update.hasEagerState) newState = update.eagerState; 9205 else { 9206 var action = update.action; 9207 newState = reducer(newState, action); 9208 } 9209 } 9210 update = update.next; 9211 } while (update !== null && update !== first); 9212 if (newBaseQueueLast === null) newBaseState = newState; 9213 else newBaseQueueLast.next = newBaseQueueFirst; 9214 if (!objectIs(newState, hook.memoizedState)) markWorkInProgressReceivedUpdate(); 9215 hook.memoizedState = newState; 9216 hook.baseState = newBaseState; 9217 hook.baseQueue = newBaseQueueLast; 9218 queue.lastRenderedState = newState; 9219 } 9220 var lastInterleaved = queue.interleaved; 9221 if (lastInterleaved !== null) { 9222 var interleaved = lastInterleaved; 9223 do { 9224 var interleavedLane = interleaved.lane; 9225 currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, interleavedLane); 9226 markSkippedUpdateLanes(interleavedLane); 9227 interleaved = interleaved.next; 9228 } while (interleaved !== lastInterleaved); 9229 } else if (baseQueue === null) queue.lanes = NoLanes; 9230 var dispatch = queue.dispatch; 9231 return [hook.memoizedState, dispatch]; 9232 } 9233 function rerenderReducer(reducer, initialArg, init) { 9234 var hook = updateWorkInProgressHook(); 9235 var queue = hook.queue; 9236 if (queue === null) throw new Error("Should have a queue. This is likely a bug in React. Please file an issue."); 9237 queue.lastRenderedReducer = reducer; 9238 var dispatch = queue.dispatch; 9239 var lastRenderPhaseUpdate = queue.pending; 9240 var newState = hook.memoizedState; 9241 if (lastRenderPhaseUpdate !== null) { 9242 queue.pending = null; 9243 var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next; 9244 var update = firstRenderPhaseUpdate; 9245 do { 9246 var action = update.action; 9247 newState = reducer(newState, action); 9248 update = update.next; 9249 } while (update !== firstRenderPhaseUpdate); 9250 if (!objectIs(newState, hook.memoizedState)) markWorkInProgressReceivedUpdate(); 9251 hook.memoizedState = newState; 9252 if (hook.baseQueue === null) hook.baseState = newState; 9253 queue.lastRenderedState = newState; 9254 } 9255 return [newState, dispatch]; 9256 } 9257 function mountMutableSource(source, getSnapshot, subscribe) {} 9258 function updateMutableSource(source, getSnapshot, subscribe) {} 9259 function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { 9260 var fiber = currentlyRenderingFiber$1; 9261 var hook = mountWorkInProgressHook(); 9262 var nextSnapshot; 9263 if (getIsHydrating()) { 9264 if (getServerSnapshot === void 0) throw new Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering."); 9265 nextSnapshot = getServerSnapshot(); 9266 if (!didWarnUncachedGetSnapshot) { 9267 if (nextSnapshot !== getServerSnapshot()) { 9268 error("The result of getServerSnapshot should be cached to avoid an infinite loop"); 9269 didWarnUncachedGetSnapshot = true; 9270 } 9271 } 9272 } else { 9273 nextSnapshot = getSnapshot(); 9274 if (!didWarnUncachedGetSnapshot) { 9275 var cachedSnapshot = getSnapshot(); 9276 if (!objectIs(nextSnapshot, cachedSnapshot)) { 9277 error("The result of getSnapshot should be cached to avoid an infinite loop"); 9278 didWarnUncachedGetSnapshot = true; 9279 } 9280 } 9281 var root$1 = getWorkInProgressRoot(); 9282 if (root$1 === null) throw new Error("Expected a work-in-progress root. This is a bug in React. Please file an issue."); 9283 if (!includesBlockingLane(root$1, renderLanes)) pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot); 9284 } 9285 hook.memoizedState = nextSnapshot; 9286 var inst = { 9287 value: nextSnapshot, 9288 getSnapshot 9289 }; 9290 hook.queue = inst; 9291 mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); 9292 fiber.flags |= Passive; 9293 pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), void 0, null); 9294 return nextSnapshot; 9295 } 9296 function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { 9297 var fiber = currentlyRenderingFiber$1; 9298 var hook = updateWorkInProgressHook(); 9299 var nextSnapshot = getSnapshot(); 9300 if (!didWarnUncachedGetSnapshot) { 9301 if (!objectIs(nextSnapshot, getSnapshot())) { 9302 error("The result of getSnapshot should be cached to avoid an infinite loop"); 9303 didWarnUncachedGetSnapshot = true; 9304 } 9305 } 9306 var prevSnapshot = hook.memoizedState; 9307 var snapshotChanged = !objectIs(prevSnapshot, nextSnapshot); 9308 if (snapshotChanged) { 9309 hook.memoizedState = nextSnapshot; 9310 markWorkInProgressReceivedUpdate(); 9311 } 9312 var inst = hook.queue; 9313 updateEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [subscribe]); 9314 if (inst.getSnapshot !== getSnapshot || snapshotChanged || workInProgressHook !== null && workInProgressHook.memoizedState.tag & HasEffect) { 9315 fiber.flags |= Passive; 9316 pushEffect(HasEffect | Passive$1, updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot), void 0, null); 9317 var root$1 = getWorkInProgressRoot(); 9318 if (root$1 === null) throw new Error("Expected a work-in-progress root. This is a bug in React. Please file an issue."); 9319 if (!includesBlockingLane(root$1, renderLanes)) pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot); 9320 } 9321 return nextSnapshot; 9322 } 9323 function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) { 9324 fiber.flags |= StoreConsistency; 9325 var check = { 9326 getSnapshot, 9327 value: renderedSnapshot 9328 }; 9329 var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue; 9330 if (componentUpdateQueue === null) { 9331 componentUpdateQueue = createFunctionComponentUpdateQueue(); 9332 currentlyRenderingFiber$1.updateQueue = componentUpdateQueue; 9333 componentUpdateQueue.stores = [check]; 9334 } else { 9335 var stores = componentUpdateQueue.stores; 9336 if (stores === null) componentUpdateQueue.stores = [check]; 9337 else stores.push(check); 9338 } 9339 } 9340 function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) { 9341 inst.value = nextSnapshot; 9342 inst.getSnapshot = getSnapshot; 9343 if (checkIfSnapshotChanged(inst)) forceStoreRerender(fiber); 9344 } 9345 function subscribeToStore(fiber, inst, subscribe) { 9346 var handleStoreChange = function() { 9347 if (checkIfSnapshotChanged(inst)) forceStoreRerender(fiber); 9348 }; 9349 return subscribe(handleStoreChange); 9350 } 9351 function checkIfSnapshotChanged(inst) { 9352 var latestGetSnapshot = inst.getSnapshot; 9353 var prevValue = inst.value; 9354 try { 9355 return !objectIs(prevValue, latestGetSnapshot()); 9356 } catch (error$1) { 9357 return true; 9358 } 9359 } 9360 function forceStoreRerender(fiber) { 9361 var root$1 = enqueueConcurrentRenderForLane(fiber, SyncLane); 9362 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, SyncLane, NoTimestamp); 9363 } 9364 function mountState(initialState) { 9365 var hook = mountWorkInProgressHook(); 9366 if (typeof initialState === "function") initialState = initialState(); 9367 hook.memoizedState = hook.baseState = initialState; 9368 var queue = { 9369 pending: null, 9370 interleaved: null, 9371 lanes: NoLanes, 9372 dispatch: null, 9373 lastRenderedReducer: basicStateReducer, 9374 lastRenderedState: initialState 9375 }; 9376 hook.queue = queue; 9377 var dispatch = queue.dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue); 9378 return [hook.memoizedState, dispatch]; 9379 } 9380 function updateState(initialState) { 9381 return updateReducer(basicStateReducer); 9382 } 9383 function rerenderState(initialState) { 9384 return rerenderReducer(basicStateReducer); 9385 } 9386 function pushEffect(tag, create, destroy, deps) { 9387 var effect = { 9388 tag, 9389 create, 9390 destroy, 9391 deps, 9392 next: null 9393 }; 9394 var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue; 9395 if (componentUpdateQueue === null) { 9396 componentUpdateQueue = createFunctionComponentUpdateQueue(); 9397 currentlyRenderingFiber$1.updateQueue = componentUpdateQueue; 9398 componentUpdateQueue.lastEffect = effect.next = effect; 9399 } else { 9400 var lastEffect = componentUpdateQueue.lastEffect; 9401 if (lastEffect === null) componentUpdateQueue.lastEffect = effect.next = effect; 9402 else { 9403 var firstEffect = lastEffect.next; 9404 lastEffect.next = effect; 9405 effect.next = firstEffect; 9406 componentUpdateQueue.lastEffect = effect; 9407 } 9408 } 9409 return effect; 9410 } 9411 function mountRef(initialValue) { 9412 var hook = mountWorkInProgressHook(); 9413 var _ref2 = { current: initialValue }; 9414 hook.memoizedState = _ref2; 9415 return _ref2; 9416 } 9417 function updateRef(initialValue) { 9418 return updateWorkInProgressHook().memoizedState; 9419 } 9420 function mountEffectImpl(fiberFlags, hookFlags, create, deps) { 9421 var hook = mountWorkInProgressHook(); 9422 var nextDeps = deps === void 0 ? null : deps; 9423 currentlyRenderingFiber$1.flags |= fiberFlags; 9424 hook.memoizedState = pushEffect(HasEffect | hookFlags, create, void 0, nextDeps); 9425 } 9426 function updateEffectImpl(fiberFlags, hookFlags, create, deps) { 9427 var hook = updateWorkInProgressHook(); 9428 var nextDeps = deps === void 0 ? null : deps; 9429 var destroy = void 0; 9430 if (currentHook !== null) { 9431 var prevEffect = currentHook.memoizedState; 9432 destroy = prevEffect.destroy; 9433 if (nextDeps !== null) { 9434 var prevDeps = prevEffect.deps; 9435 if (areHookInputsEqual(nextDeps, prevDeps)) { 9436 hook.memoizedState = pushEffect(hookFlags, create, destroy, nextDeps); 9437 return; 9438 } 9439 } 9440 } 9441 currentlyRenderingFiber$1.flags |= fiberFlags; 9442 hook.memoizedState = pushEffect(HasEffect | hookFlags, create, destroy, nextDeps); 9443 } 9444 function mountEffect(create, deps) { 9445 if ((currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) return mountEffectImpl(MountPassiveDev | Passive | PassiveStatic, Passive$1, create, deps); 9446 else return mountEffectImpl(Passive | PassiveStatic, Passive$1, create, deps); 9447 } 9448 function updateEffect(create, deps) { 9449 return updateEffectImpl(Passive, Passive$1, create, deps); 9450 } 9451 function mountInsertionEffect(create, deps) { 9452 return mountEffectImpl(Update, Insertion, create, deps); 9453 } 9454 function updateInsertionEffect(create, deps) { 9455 return updateEffectImpl(Update, Insertion, create, deps); 9456 } 9457 function mountLayoutEffect(create, deps) { 9458 var fiberFlags = Update; 9459 fiberFlags |= LayoutStatic; 9460 if ((currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) fiberFlags |= MountLayoutDev; 9461 return mountEffectImpl(fiberFlags, Layout, create, deps); 9462 } 9463 function updateLayoutEffect(create, deps) { 9464 return updateEffectImpl(Update, Layout, create, deps); 9465 } 9466 function imperativeHandleEffect(create, ref) { 9467 if (typeof ref === "function") { 9468 var refCallback = ref; 9469 refCallback(create()); 9470 return function() { 9471 refCallback(null); 9472 }; 9473 } else if (ref !== null && ref !== void 0) { 9474 var refObject = ref; 9475 if (!refObject.hasOwnProperty("current")) error("Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.", "an object with keys {" + Object.keys(refObject).join(", ") + "}"); 9476 refObject.current = create(); 9477 return function() { 9478 refObject.current = null; 9479 }; 9480 } 9481 } 9482 function mountImperativeHandle(ref, create, deps) { 9483 if (typeof create !== "function") error("Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", create !== null ? typeof create : "null"); 9484 var effectDeps = deps !== null && deps !== void 0 ? deps.concat([ref]) : null; 9485 var fiberFlags = Update; 9486 fiberFlags |= LayoutStatic; 9487 if ((currentlyRenderingFiber$1.mode & StrictEffectsMode) !== NoMode) fiberFlags |= MountLayoutDev; 9488 return mountEffectImpl(fiberFlags, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps); 9489 } 9490 function updateImperativeHandle(ref, create, deps) { 9491 if (typeof create !== "function") error("Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", create !== null ? typeof create : "null"); 9492 var effectDeps = deps !== null && deps !== void 0 ? deps.concat([ref]) : null; 9493 return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps); 9494 } 9495 function mountDebugValue(value, formatterFn) {} 9496 var updateDebugValue = mountDebugValue; 9497 function mountCallback(callback, deps) { 9498 var hook = mountWorkInProgressHook(); 9499 hook.memoizedState = [callback, deps === void 0 ? null : deps]; 9500 return callback; 9501 } 9502 function updateCallback(callback, deps) { 9503 var hook = updateWorkInProgressHook(); 9504 var nextDeps = deps === void 0 ? null : deps; 9505 var prevState = hook.memoizedState; 9506 if (prevState !== null) { 9507 if (nextDeps !== null) { 9508 var prevDeps = prevState[1]; 9509 if (areHookInputsEqual(nextDeps, prevDeps)) return prevState[0]; 9510 } 9511 } 9512 hook.memoizedState = [callback, nextDeps]; 9513 return callback; 9514 } 9515 function mountMemo(nextCreate, deps) { 9516 var hook = mountWorkInProgressHook(); 9517 var nextDeps = deps === void 0 ? null : deps; 9518 var nextValue = nextCreate(); 9519 hook.memoizedState = [nextValue, nextDeps]; 9520 return nextValue; 9521 } 9522 function updateMemo(nextCreate, deps) { 9523 var hook = updateWorkInProgressHook(); 9524 var nextDeps = deps === void 0 ? null : deps; 9525 var prevState = hook.memoizedState; 9526 if (prevState !== null) { 9527 if (nextDeps !== null) { 9528 var prevDeps = prevState[1]; 9529 if (areHookInputsEqual(nextDeps, prevDeps)) return prevState[0]; 9530 } 9531 } 9532 var nextValue = nextCreate(); 9533 hook.memoizedState = [nextValue, nextDeps]; 9534 return nextValue; 9535 } 9536 function mountDeferredValue(value) { 9537 var hook = mountWorkInProgressHook(); 9538 hook.memoizedState = value; 9539 return value; 9540 } 9541 function updateDeferredValue(value) { 9542 var hook = updateWorkInProgressHook(); 9543 var prevValue = currentHook.memoizedState; 9544 return updateDeferredValueImpl(hook, prevValue, value); 9545 } 9546 function rerenderDeferredValue(value) { 9547 var hook = updateWorkInProgressHook(); 9548 if (currentHook === null) { 9549 hook.memoizedState = value; 9550 return value; 9551 } else { 9552 var prevValue = currentHook.memoizedState; 9553 return updateDeferredValueImpl(hook, prevValue, value); 9554 } 9555 } 9556 function updateDeferredValueImpl(hook, prevValue, value) { 9557 if (!includesOnlyNonUrgentLanes(renderLanes)) { 9558 if (!objectIs(value, prevValue)) { 9559 var deferredLane = claimNextTransitionLane(); 9560 currentlyRenderingFiber$1.lanes = mergeLanes(currentlyRenderingFiber$1.lanes, deferredLane);
9561 markSkippedUpdateLanes(deferredLane); 9562 hook.baseState = true; 9563 } 9564 return prevValue; 9565 } else { 9566 if (hook.baseState) { 9567 hook.baseState = false; 9568 markWorkInProgressReceivedUpdate(); 9569 } 9570 hook.memoizedState = value; 9571 return value; 9572 } 9573 } 9574 function startTransition(setPending, callback, options$1) { 9575 var previousPriority = getCurrentUpdatePriority(); 9576 setCurrentUpdatePriority(higherEventPriority(previousPriority, ContinuousEventPriority)); 9577 setPending(true); 9578 var prevTransition = ReactCurrentBatchConfig$2.transition; 9579 ReactCurrentBatchConfig$2.transition = {}; 9580 var currentTransition = ReactCurrentBatchConfig$2.transition; 9581 ReactCurrentBatchConfig$2.transition._updatedFibers = /* @__PURE__ */ new Set(); 9582 try { 9583 setPending(false); 9584 callback(); 9585 } finally { 9586 setCurrentUpdatePriority(previousPriority); 9587 ReactCurrentBatchConfig$2.transition = prevTransition; 9588 if (prevTransition === null && currentTransition._updatedFibers) { 9589 if (currentTransition._updatedFibers.size > 10) warn("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."); 9590 currentTransition._updatedFibers.clear(); 9591 } 9592 } 9593 } 9594 function mountTransition() { 9595 var _mountState = mountState(false), isPending = _mountState[0], setPending = _mountState[1]; 9596 var start = startTransition.bind(null, setPending); 9597 var hook = mountWorkInProgressHook(); 9598 hook.memoizedState = start; 9599 return [isPending, start]; 9600 } 9601 function updateTransition() { 9602 return [updateState()[0], updateWorkInProgressHook().memoizedState]; 9603 } 9604 function rerenderTransition() { 9605 return [rerenderState()[0], updateWorkInProgressHook().memoizedState]; 9606 } 9607 var isUpdatingOpaqueValueInRenderPhase = false; 9608 function getIsUpdatingOpaqueValueInRenderPhaseInDEV() { 9609 return isUpdatingOpaqueValueInRenderPhase; 9610 } 9611 function mountId() { 9612 var hook = mountWorkInProgressHook(); 9613 var identifierPrefix = getWorkInProgressRoot().identifierPrefix; 9614 var id; 9615 if (getIsHydrating()) { 9616 var treeId = getTreeId(); 9617 id = ":" + identifierPrefix + "R" + treeId; 9618 var localId = localIdCounter++; 9619 if (localId > 0) id += "H" + localId.toString(32); 9620 id += ":"; 9621 } else { 9622 var globalClientId = globalClientIdCounter++; 9623 id = ":" + identifierPrefix + "r" + globalClientId.toString(32) + ":"; 9624 } 9625 hook.memoizedState = id; 9626 return id; 9627 } 9628 function updateId() { 9629 return updateWorkInProgressHook().memoizedState; 9630 } 9631 function dispatchReducerAction(fiber, queue, action) { 9632 if (typeof arguments[3] === "function") error("State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()."); 9633 var lane = requestUpdateLane(fiber); 9634 var update = { 9635 lane, 9636 action, 9637 hasEagerState: false, 9638 eagerState: null, 9639 next: null 9640 }; 9641 if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update); 9642 else { 9643 var root$1 = enqueueConcurrentHookUpdate(fiber, queue, update, lane); 9644 if (root$1 !== null) { 9645 scheduleUpdateOnFiber(root$1, fiber, lane, requestEventTime()); 9646 entangleTransitionUpdate(root$1, queue, lane); 9647 } 9648 } 9649 markUpdateInDevTools(fiber, lane); 9650 } 9651 function dispatchSetState(fiber, queue, action) { 9652 if (typeof arguments[3] === "function") error("State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()."); 9653 var lane = requestUpdateLane(fiber); 9654 var update = { 9655 lane, 9656 action, 9657 hasEagerState: false, 9658 eagerState: null, 9659 next: null 9660 }; 9661 if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update); 9662 else { 9663 var alternate = fiber.alternate; 9664 if (fiber.lanes === NoLanes && (alternate === null || alternate.lanes === NoLanes)) { 9665 var lastRenderedReducer = queue.lastRenderedReducer; 9666 if (lastRenderedReducer !== null) { 9667 var prevDispatcher = ReactCurrentDispatcher$1.current; 9668 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 9669 try { 9670 var currentState = queue.lastRenderedState; 9671 var eagerState = lastRenderedReducer(currentState, action); 9672 update.hasEagerState = true; 9673 update.eagerState = eagerState; 9674 if (objectIs(eagerState, currentState)) {
vendor: 25,392 bytes, lines 9675-10432
9675 enqueueConcurrentHookUpdateAndEagerlyBailout(fiber, queue, update, lane); 9676 return; 9677 } 9678 } catch (error$1) {} finally { 9679 ReactCurrentDispatcher$1.current = prevDispatcher; 9680 } 9681 } 9682 } 9683 var root$1 = enqueueConcurrentHookUpdate(fiber, queue, update, lane); 9684 if (root$1 !== null) { 9685 scheduleUpdateOnFiber(root$1, fiber, lane, requestEventTime()); 9686 entangleTransitionUpdate(root$1, queue, lane); 9687 } 9688 } 9689 markUpdateInDevTools(fiber, lane); 9690 } 9691 function isRenderPhaseUpdate(fiber) { 9692 var alternate = fiber.alternate; 9693 return fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1; 9694 } 9695 function enqueueRenderPhaseUpdate(queue, update) { 9696 didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true; 9697 var pending = queue.pending; 9698 if (pending === null) update.next = update; 9699 else { 9700 update.next = pending.next; 9701 pending.next = update; 9702 } 9703 queue.pending = update; 9704 } 9705 function entangleTransitionUpdate(root$1, queue, lane) { 9706 if (isTransitionLane(lane)) { 9707 var queueLanes = queue.lanes; 9708 queueLanes = intersectLanes(queueLanes, root$1.pendingLanes); 9709 var newQueueLanes = mergeLanes(queueLanes, lane); 9710 queue.lanes = newQueueLanes; 9711 markRootEntangled(root$1, newQueueLanes); 9712 } 9713 } 9714 function markUpdateInDevTools(fiber, lane, action) { 9715 markStateUpdateScheduled(fiber, lane); 9716 } 9717 var ContextOnlyDispatcher = { 9718 readContext, 9719 useCallback: throwInvalidHookError, 9720 useContext: throwInvalidHookError, 9721 useEffect: throwInvalidHookError, 9722 useImperativeHandle: throwInvalidHookError, 9723 useInsertionEffect: throwInvalidHookError, 9724 useLayoutEffect: throwInvalidHookError, 9725 useMemo: throwInvalidHookError, 9726 useReducer: throwInvalidHookError, 9727 useRef: throwInvalidHookError, 9728 useState: throwInvalidHookError, 9729 useDebugValue: throwInvalidHookError, 9730 useDeferredValue: throwInvalidHookError, 9731 useTransition: throwInvalidHookError, 9732 useMutableSource: throwInvalidHookError, 9733 useSyncExternalStore: throwInvalidHookError, 9734 useId: throwInvalidHookError, 9735 unstable_isNewReconciler: enableNewReconciler 9736 }; 9737 var HooksDispatcherOnMountInDEV = null; 9738 var HooksDispatcherOnMountWithHookTypesInDEV = null; 9739 var HooksDispatcherOnUpdateInDEV = null; 9740 var HooksDispatcherOnRerenderInDEV = null; 9741 var InvalidNestedHooksDispatcherOnMountInDEV = null; 9742 var InvalidNestedHooksDispatcherOnUpdateInDEV = null; 9743 var InvalidNestedHooksDispatcherOnRerenderInDEV = null; 9744 var warnInvalidContextAccess = function() { 9745 error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."); 9746 }; 9747 var warnInvalidHookAccess = function() { 9748 error("Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://reactjs.org/link/rules-of-hooks"); 9749 }; 9750 HooksDispatcherOnMountInDEV = { 9751 readContext: function(context) { 9752 return readContext(context); 9753 }, 9754 useCallback: function(callback, deps) { 9755 currentHookNameInDev = "useCallback"; 9756 mountHookTypesDev(); 9757 checkDepsAreArrayDev(deps); 9758 return mountCallback(callback, deps); 9759 }, 9760 useContext: function(context) { 9761 currentHookNameInDev = "useContext"; 9762 mountHookTypesDev(); 9763 return readContext(context); 9764 }, 9765 useEffect: function(create, deps) { 9766 currentHookNameInDev = "useEffect"; 9767 mountHookTypesDev(); 9768 checkDepsAreArrayDev(deps); 9769 return mountEffect(create, deps); 9770 }, 9771 useImperativeHandle: function(ref, create, deps) { 9772 currentHookNameInDev = "useImperativeHandle"; 9773 mountHookTypesDev(); 9774 checkDepsAreArrayDev(deps); 9775 return mountImperativeHandle(ref, create, deps); 9776 }, 9777 useInsertionEffect: function(create, deps) { 9778 currentHookNameInDev = "useInsertionEffect"; 9779 mountHookTypesDev(); 9780 checkDepsAreArrayDev(deps); 9781 return mountInsertionEffect(create, deps); 9782 }, 9783 useLayoutEffect: function(create, deps) { 9784 currentHookNameInDev = "useLayoutEffect"; 9785 mountHookTypesDev(); 9786 checkDepsAreArrayDev(deps); 9787 return mountLayoutEffect(create, deps); 9788 }, 9789 useMemo: function(create, deps) { 9790 currentHookNameInDev = "useMemo"; 9791 mountHookTypesDev(); 9792 checkDepsAreArrayDev(deps); 9793 var prevDispatcher = ReactCurrentDispatcher$1.current; 9794 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 9795 try { 9796 return mountMemo(create, deps); 9797 } finally { 9798 ReactCurrentDispatcher$1.current = prevDispatcher; 9799 } 9800 }, 9801 useReducer: function(reducer, initialArg, init) { 9802 currentHookNameInDev = "useReducer"; 9803 mountHookTypesDev(); 9804 var prevDispatcher = ReactCurrentDispatcher$1.current; 9805 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 9806 try { 9807 return mountReducer(reducer, initialArg, init); 9808 } finally { 9809 ReactCurrentDispatcher$1.current = prevDispatcher; 9810 } 9811 }, 9812 useRef: function(initialValue) { 9813 currentHookNameInDev = "useRef"; 9814 mountHookTypesDev(); 9815 return mountRef(initialValue); 9816 }, 9817 useState: function(initialState) { 9818 currentHookNameInDev = "useState"; 9819 mountHookTypesDev(); 9820 var prevDispatcher = ReactCurrentDispatcher$1.current; 9821 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 9822 try { 9823 return mountState(initialState); 9824 } finally { 9825 ReactCurrentDispatcher$1.current = prevDispatcher; 9826 } 9827 }, 9828 useDebugValue: function(value, formatterFn) { 9829 currentHookNameInDev = "useDebugValue"; 9830 mountHookTypesDev(); 9831 return mountDebugValue(); 9832 }, 9833 useDeferredValue: function(value) { 9834 currentHookNameInDev = "useDeferredValue"; 9835 mountHookTypesDev(); 9836 return mountDeferredValue(value); 9837 }, 9838 useTransition: function() { 9839 currentHookNameInDev = "useTransition"; 9840 mountHookTypesDev(); 9841 return mountTransition(); 9842 }, 9843 useMutableSource: function(source, getSnapshot, subscribe) { 9844 currentHookNameInDev = "useMutableSource"; 9845 mountHookTypesDev(); 9846 return mountMutableSource(); 9847 }, 9848 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { 9849 currentHookNameInDev = "useSyncExternalStore"; 9850 mountHookTypesDev(); 9851 return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); 9852 }, 9853 useId: function() { 9854 currentHookNameInDev = "useId"; 9855 mountHookTypesDev(); 9856 return mountId(); 9857 }, 9858 unstable_isNewReconciler: enableNewReconciler 9859 }; 9860 HooksDispatcherOnMountWithHookTypesInDEV = { 9861 readContext: function(context) { 9862 return readContext(context); 9863 }, 9864 useCallback: function(callback, deps) { 9865 currentHookNameInDev = "useCallback"; 9866 updateHookTypesDev(); 9867 return mountCallback(callback, deps); 9868 }, 9869 useContext: function(context) { 9870 currentHookNameInDev = "useContext"; 9871 updateHookTypesDev(); 9872 return readContext(context); 9873 }, 9874 useEffect: function(create, deps) { 9875 currentHookNameInDev = "useEffect"; 9876 updateHookTypesDev(); 9877 return mountEffect(create, deps); 9878 }, 9879 useImperativeHandle: function(ref, create, deps) { 9880 currentHookNameInDev = "useImperativeHandle"; 9881 updateHookTypesDev(); 9882 return mountImperativeHandle(ref, create, deps); 9883 }, 9884 useInsertionEffect: function(create, deps) { 9885 currentHookNameInDev = "useInsertionEffect"; 9886 updateHookTypesDev(); 9887 return mountInsertionEffect(create, deps); 9888 }, 9889 useLayoutEffect: function(create, deps) { 9890 currentHookNameInDev = "useLayoutEffect"; 9891 updateHookTypesDev(); 9892 return mountLayoutEffect(create, deps); 9893 }, 9894 useMemo: function(create, deps) { 9895 currentHookNameInDev = "useMemo"; 9896 updateHookTypesDev(); 9897 var prevDispatcher = ReactCurrentDispatcher$1.current; 9898 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 9899 try { 9900 return mountMemo(create, deps); 9901 } finally { 9902 ReactCurrentDispatcher$1.current = prevDispatcher; 9903 } 9904 }, 9905 useReducer: function(reducer, initialArg, init) { 9906 currentHookNameInDev = "useReducer"; 9907 updateHookTypesDev(); 9908 var prevDispatcher = ReactCurrentDispatcher$1.current; 9909 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 9910 try { 9911 return mountReducer(reducer, initialArg, init); 9912 } finally { 9913 ReactCurrentDispatcher$1.current = prevDispatcher; 9914 } 9915 }, 9916 useRef: function(initialValue) { 9917 currentHookNameInDev = "useRef"; 9918 updateHookTypesDev(); 9919 return mountRef(initialValue); 9920 }, 9921 useState: function(initialState) { 9922 currentHookNameInDev = "useState"; 9923 updateHookTypesDev(); 9924 var prevDispatcher = ReactCurrentDispatcher$1.current; 9925 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 9926 try { 9927 return mountState(initialState); 9928 } finally { 9929 ReactCurrentDispatcher$1.current = prevDispatcher; 9930 } 9931 }, 9932 useDebugValue: function(value, formatterFn) { 9933 currentHookNameInDev = "useDebugValue"; 9934 updateHookTypesDev(); 9935 return mountDebugValue(); 9936 }, 9937 useDeferredValue: function(value) { 9938 currentHookNameInDev = "useDeferredValue"; 9939 updateHookTypesDev(); 9940 return mountDeferredValue(value); 9941 }, 9942 useTransition: function() { 9943 currentHookNameInDev = "useTransition"; 9944 updateHookTypesDev(); 9945 return mountTransition(); 9946 }, 9947 useMutableSource: function(source, getSnapshot, subscribe) { 9948 currentHookNameInDev = "useMutableSource"; 9949 updateHookTypesDev(); 9950 return mountMutableSource(); 9951 }, 9952 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { 9953 currentHookNameInDev = "useSyncExternalStore"; 9954 updateHookTypesDev(); 9955 return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); 9956 }, 9957 useId: function() { 9958 currentHookNameInDev = "useId"; 9959 updateHookTypesDev(); 9960 return mountId(); 9961 }, 9962 unstable_isNewReconciler: enableNewReconciler 9963 }; 9964 HooksDispatcherOnUpdateInDEV = { 9965 readContext: function(context) { 9966 return readContext(context); 9967 }, 9968 useCallback: function(callback, deps) { 9969 currentHookNameInDev = "useCallback"; 9970 updateHookTypesDev(); 9971 return updateCallback(callback, deps); 9972 }, 9973 useContext: function(context) { 9974 currentHookNameInDev = "useContext"; 9975 updateHookTypesDev(); 9976 return readContext(context); 9977 }, 9978 useEffect: function(create, deps) { 9979 currentHookNameInDev = "useEffect"; 9980 updateHookTypesDev(); 9981 return updateEffect(create, deps); 9982 }, 9983 useImperativeHandle: function(ref, create, deps) { 9984 currentHookNameInDev = "useImperativeHandle"; 9985 updateHookTypesDev(); 9986 return updateImperativeHandle(ref, create, deps); 9987 }, 9988 useInsertionEffect: function(create, deps) { 9989 currentHookNameInDev = "useInsertionEffect"; 9990 updateHookTypesDev(); 9991 return updateInsertionEffect(create, deps); 9992 }, 9993 useLayoutEffect: function(create, deps) { 9994 currentHookNameInDev = "useLayoutEffect"; 9995 updateHookTypesDev(); 9996 return updateLayoutEffect(create, deps); 9997 }, 9998 useMemo: function(create, deps) { 9999 currentHookNameInDev = "useMemo"; 10000 updateHookTypesDev(); 10001 var prevDispatcher = ReactCurrentDispatcher$1.current; 10002 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10003 try { 10004 return updateMemo(create, deps); 10005 } finally { 10006 ReactCurrentDispatcher$1.current = prevDispatcher; 10007 } 10008 }, 10009 useReducer: function(reducer, initialArg, init) { 10010 currentHookNameInDev = "useReducer"; 10011 updateHookTypesDev(); 10012 var prevDispatcher = ReactCurrentDispatcher$1.current; 10013 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10014 try { 10015 return updateReducer(reducer, initialArg, init); 10016 } finally { 10017 ReactCurrentDispatcher$1.current = prevDispatcher; 10018 } 10019 }, 10020 useRef: function(initialValue) { 10021 currentHookNameInDev = "useRef"; 10022 updateHookTypesDev(); 10023 return updateRef(); 10024 }, 10025 useState: function(initialState) { 10026 currentHookNameInDev = "useState"; 10027 updateHookTypesDev(); 10028 var prevDispatcher = ReactCurrentDispatcher$1.current; 10029 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10030 try { 10031 return updateState(initialState); 10032 } finally { 10033 ReactCurrentDispatcher$1.current = prevDispatcher; 10034 } 10035 }, 10036 useDebugValue: function(value, formatterFn) { 10037 currentHookNameInDev = "useDebugValue"; 10038 updateHookTypesDev(); 10039 return updateDebugValue(); 10040 }, 10041 useDeferredValue: function(value) { 10042 currentHookNameInDev = "useDeferredValue"; 10043 updateHookTypesDev(); 10044 return updateDeferredValue(value); 10045 }, 10046 useTransition: function() { 10047 currentHookNameInDev = "useTransition"; 10048 updateHookTypesDev(); 10049 return updateTransition(); 10050 }, 10051 useMutableSource: function(source, getSnapshot, subscribe) { 10052 currentHookNameInDev = "useMutableSource"; 10053 updateHookTypesDev(); 10054 return updateMutableSource(); 10055 }, 10056 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { 10057 currentHookNameInDev = "useSyncExternalStore"; 10058 updateHookTypesDev(); 10059 return updateSyncExternalStore(subscribe, getSnapshot); 10060 }, 10061 useId: function() { 10062 currentHookNameInDev = "useId"; 10063 updateHookTypesDev(); 10064 return updateId(); 10065 }, 10066 unstable_isNewReconciler: enableNewReconciler 10067 }; 10068 HooksDispatcherOnRerenderInDEV = { 10069 readContext: function(context) { 10070 return readContext(context); 10071 }, 10072 useCallback: function(callback, deps) { 10073 currentHookNameInDev = "useCallback"; 10074 updateHookTypesDev(); 10075 return updateCallback(callback, deps); 10076 }, 10077 useContext: function(context) { 10078 currentHookNameInDev = "useContext"; 10079 updateHookTypesDev(); 10080 return readContext(context); 10081 }, 10082 useEffect: function(create, deps) { 10083 currentHookNameInDev = "useEffect"; 10084 updateHookTypesDev(); 10085 return updateEffect(create, deps); 10086 }, 10087 useImperativeHandle: function(ref, create, deps) { 10088 currentHookNameInDev = "useImperativeHandle"; 10089 updateHookTypesDev(); 10090 return updateImperativeHandle(ref, create, deps); 10091 }, 10092 useInsertionEffect: function(create, deps) { 10093 currentHookNameInDev = "useInsertionEffect"; 10094 updateHookTypesDev(); 10095 return updateInsertionEffect(create, deps); 10096 }, 10097 useLayoutEffect: function(create, deps) { 10098 currentHookNameInDev = "useLayoutEffect"; 10099 updateHookTypesDev(); 10100 return updateLayoutEffect(create, deps); 10101 }, 10102 useMemo: function(create, deps) { 10103 currentHookNameInDev = "useMemo"; 10104 updateHookTypesDev(); 10105 var prevDispatcher = ReactCurrentDispatcher$1.current; 10106 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 10107 try { 10108 return updateMemo(create, deps); 10109 } finally { 10110 ReactCurrentDispatcher$1.current = prevDispatcher; 10111 } 10112 }, 10113 useReducer: function(reducer, initialArg, init) { 10114 currentHookNameInDev = "useReducer"; 10115 updateHookTypesDev(); 10116 var prevDispatcher = ReactCurrentDispatcher$1.current; 10117 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 10118 try { 10119 return rerenderReducer(reducer, initialArg, init); 10120 } finally { 10121 ReactCurrentDispatcher$1.current = prevDispatcher; 10122 } 10123 }, 10124 useRef: function(initialValue) { 10125 currentHookNameInDev = "useRef"; 10126 updateHookTypesDev(); 10127 return updateRef(); 10128 }, 10129 useState: function(initialState) { 10130 currentHookNameInDev = "useState"; 10131 updateHookTypesDev(); 10132 var prevDispatcher = ReactCurrentDispatcher$1.current; 10133 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnRerenderInDEV; 10134 try { 10135 return rerenderState(initialState); 10136 } finally { 10137 ReactCurrentDispatcher$1.current = prevDispatcher; 10138 } 10139 }, 10140 useDebugValue: function(value, formatterFn) { 10141 currentHookNameInDev = "useDebugValue"; 10142 updateHookTypesDev(); 10143 return updateDebugValue(); 10144 }, 10145 useDeferredValue: function(value) { 10146 currentHookNameInDev = "useDeferredValue"; 10147 updateHookTypesDev(); 10148 return rerenderDeferredValue(value); 10149 }, 10150 useTransition: function() { 10151 currentHookNameInDev = "useTransition"; 10152 updateHookTypesDev(); 10153 return rerenderTransition(); 10154 }, 10155 useMutableSource: function(source, getSnapshot, subscribe) { 10156 currentHookNameInDev = "useMutableSource"; 10157 updateHookTypesDev(); 10158 return updateMutableSource(); 10159 }, 10160 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { 10161 currentHookNameInDev = "useSyncExternalStore"; 10162 updateHookTypesDev(); 10163 return updateSyncExternalStore(subscribe, getSnapshot); 10164 }, 10165 useId: function() { 10166 currentHookNameInDev = "useId"; 10167 updateHookTypesDev(); 10168 return updateId(); 10169 }, 10170 unstable_isNewReconciler: enableNewReconciler 10171 }; 10172 InvalidNestedHooksDispatcherOnMountInDEV = { 10173 readContext: function(context) { 10174 warnInvalidContextAccess(); 10175 return readContext(context); 10176 }, 10177 useCallback: function(callback, deps) { 10178 currentHookNameInDev = "useCallback"; 10179 warnInvalidHookAccess(); 10180 mountHookTypesDev(); 10181 return mountCallback(callback, deps); 10182 }, 10183 useContext: function(context) { 10184 currentHookNameInDev = "useContext"; 10185 warnInvalidHookAccess(); 10186 mountHookTypesDev(); 10187 return readContext(context); 10188 }, 10189 useEffect: function(create, deps) { 10190 currentHookNameInDev = "useEffect"; 10191 warnInvalidHookAccess(); 10192 mountHookTypesDev(); 10193 return mountEffect(create, deps); 10194 }, 10195 useImperativeHandle: function(ref, create, deps) { 10196 currentHookNameInDev = "useImperativeHandle"; 10197 warnInvalidHookAccess(); 10198 mountHookTypesDev(); 10199 return mountImperativeHandle(ref, create, deps); 10200 }, 10201 useInsertionEffect: function(create, deps) { 10202 currentHookNameInDev = "useInsertionEffect"; 10203 warnInvalidHookAccess(); 10204 mountHookTypesDev(); 10205 return mountInsertionEffect(create, deps); 10206 }, 10207 useLayoutEffect: function(create, deps) { 10208 currentHookNameInDev = "useLayoutEffect"; 10209 warnInvalidHookAccess(); 10210 mountHookTypesDev(); 10211 return mountLayoutEffect(create, deps); 10212 }, 10213 useMemo: function(create, deps) { 10214 currentHookNameInDev = "useMemo"; 10215 warnInvalidHookAccess(); 10216 mountHookTypesDev(); 10217 var prevDispatcher = ReactCurrentDispatcher$1.current; 10218 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 10219 try { 10220 return mountMemo(create, deps); 10221 } finally { 10222 ReactCurrentDispatcher$1.current = prevDispatcher; 10223 } 10224 }, 10225 useReducer: function(reducer, initialArg, init) { 10226 currentHookNameInDev = "useReducer"; 10227 warnInvalidHookAccess(); 10228 mountHookTypesDev(); 10229 var prevDispatcher = ReactCurrentDispatcher$1.current; 10230 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 10231 try { 10232 return mountReducer(reducer, initialArg, init); 10233 } finally { 10234 ReactCurrentDispatcher$1.current = prevDispatcher; 10235 } 10236 }, 10237 useRef: function(initialValue) { 10238 currentHookNameInDev = "useRef"; 10239 warnInvalidHookAccess(); 10240 mountHookTypesDev(); 10241 return mountRef(initialValue); 10242 }, 10243 useState: function(initialState) { 10244 currentHookNameInDev = "useState"; 10245 warnInvalidHookAccess(); 10246 mountHookTypesDev(); 10247 var prevDispatcher = ReactCurrentDispatcher$1.current; 10248 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; 10249 try { 10250 return mountState(initialState); 10251 } finally { 10252 ReactCurrentDispatcher$1.current = prevDispatcher; 10253 } 10254 }, 10255 useDebugValue: function(value, formatterFn) { 10256 currentHookNameInDev = "useDebugValue"; 10257 warnInvalidHookAccess(); 10258 mountHookTypesDev(); 10259 return mountDebugValue(); 10260 }, 10261 useDeferredValue: function(value) { 10262 currentHookNameInDev = "useDeferredValue"; 10263 warnInvalidHookAccess(); 10264 mountHookTypesDev(); 10265 return mountDeferredValue(value); 10266 }, 10267 useTransition: function() { 10268 currentHookNameInDev = "useTransition"; 10269 warnInvalidHookAccess(); 10270 mountHookTypesDev(); 10271 return mountTransition(); 10272 }, 10273 useMutableSource: function(source, getSnapshot, subscribe) { 10274 currentHookNameInDev = "useMutableSource"; 10275 warnInvalidHookAccess(); 10276 mountHookTypesDev(); 10277 return mountMutableSource(); 10278 }, 10279 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { 10280 currentHookNameInDev = "useSyncExternalStore"; 10281 warnInvalidHookAccess(); 10282 mountHookTypesDev(); 10283 return mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); 10284 }, 10285 useId: function() { 10286 currentHookNameInDev = "useId"; 10287 warnInvalidHookAccess(); 10288 mountHookTypesDev(); 10289 return mountId(); 10290 }, 10291 unstable_isNewReconciler: enableNewReconciler 10292 }; 10293 InvalidNestedHooksDispatcherOnUpdateInDEV = { 10294 readContext: function(context) { 10295 warnInvalidContextAccess(); 10296 return readContext(context); 10297 }, 10298 useCallback: function(callback, deps) { 10299 currentHookNameInDev = "useCallback"; 10300 warnInvalidHookAccess(); 10301 updateHookTypesDev(); 10302 return updateCallback(callback, deps); 10303 }, 10304 useContext: function(context) { 10305 currentHookNameInDev = "useContext"; 10306 warnInvalidHookAccess(); 10307 updateHookTypesDev(); 10308 return readContext(context); 10309 }, 10310 useEffect: function(create, deps) { 10311 currentHookNameInDev = "useEffect"; 10312 warnInvalidHookAccess(); 10313 updateHookTypesDev(); 10314 return updateEffect(create, deps); 10315 }, 10316 useImperativeHandle: function(ref, create, deps) { 10317 currentHookNameInDev = "useImperativeHandle"; 10318 warnInvalidHookAccess(); 10319 updateHookTypesDev(); 10320 return updateImperativeHandle(ref, create, deps); 10321 }, 10322 useInsertionEffect: function(create, deps) { 10323 currentHookNameInDev = "useInsertionEffect"; 10324 warnInvalidHookAccess(); 10325 updateHookTypesDev(); 10326 return updateInsertionEffect(create, deps); 10327 }, 10328 useLayoutEffect: function(create, deps) { 10329 currentHookNameInDev = "useLayoutEffect"; 10330 warnInvalidHookAccess(); 10331 updateHookTypesDev(); 10332 return updateLayoutEffect(create, deps); 10333 }, 10334 useMemo: function(create, deps) { 10335 currentHookNameInDev = "useMemo"; 10336 warnInvalidHookAccess(); 10337 updateHookTypesDev(); 10338 var prevDispatcher = ReactCurrentDispatcher$1.current; 10339 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10340 try { 10341 return updateMemo(create, deps); 10342 } finally { 10343 ReactCurrentDispatcher$1.current = prevDispatcher; 10344 } 10345 }, 10346 useReducer: function(reducer, initialArg, init) { 10347 currentHookNameInDev = "useReducer"; 10348 warnInvalidHookAccess(); 10349 updateHookTypesDev(); 10350 var prevDispatcher = ReactCurrentDispatcher$1.current; 10351 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10352 try { 10353 return updateReducer(reducer, initialArg, init); 10354 } finally { 10355 ReactCurrentDispatcher$1.current = prevDispatcher; 10356 } 10357 }, 10358 useRef: function(initialValue) { 10359 currentHookNameInDev = "useRef"; 10360 warnInvalidHookAccess(); 10361 updateHookTypesDev(); 10362 return updateRef(); 10363 }, 10364 useState: function(initialState) { 10365 currentHookNameInDev = "useState"; 10366 warnInvalidHookAccess(); 10367 updateHookTypesDev(); 10368 var prevDispatcher = ReactCurrentDispatcher$1.current; 10369 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10370 try { 10371 return updateState(initialState); 10372 } finally { 10373 ReactCurrentDispatcher$1.current = prevDispatcher; 10374 } 10375 }, 10376 useDebugValue: function(value, formatterFn) { 10377 currentHookNameInDev = "useDebugValue"; 10378 warnInvalidHookAccess(); 10379 updateHookTypesDev(); 10380 return updateDebugValue(); 10381 }, 10382 useDeferredValue: function(value) { 10383 currentHookNameInDev = "useDeferredValue"; 10384 warnInvalidHookAccess(); 10385 updateHookTypesDev(); 10386 return updateDeferredValue(value); 10387 }, 10388 useTransition: function() { 10389 currentHookNameInDev = "useTransition"; 10390 warnInvalidHookAccess(); 10391 updateHookTypesDev(); 10392 return updateTransition(); 10393 }, 10394 useMutableSource: function(source, getSnapshot, subscribe) { 10395 currentHookNameInDev = "useMutableSource"; 10396 warnInvalidHookAccess(); 10397 updateHookTypesDev(); 10398 return updateMutableSource(); 10399 }, 10400 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { 10401 currentHookNameInDev = "useSyncExternalStore"; 10402 warnInvalidHookAccess(); 10403 updateHookTypesDev(); 10404 return updateSyncExternalStore(subscribe, getSnapshot); 10405 }, 10406 useId: function() { 10407 currentHookNameInDev = "useId"; 10408 warnInvalidHookAccess(); 10409 updateHookTypesDev(); 10410 return updateId(); 10411 }, 10412 unstable_isNewReconciler: enableNewReconciler 10413 }; 10414 InvalidNestedHooksDispatcherOnRerenderInDEV = { 10415 readContext: function(context) { 10416 warnInvalidContextAccess(); 10417 return readContext(context); 10418 }, 10419 useCallback: function(callback, deps) { 10420 currentHookNameInDev = "useCallback"; 10421 warnInvalidHookAccess(); 10422 updateHookTypesDev(); 10423 return updateCallback(callback, deps); 10424 }, 10425 useContext: function(context) { 10426 currentHookNameInDev = "useContext"; 10427 warnInvalidHookAccess(); 10428 updateHookTypesDev(); 10429 return readContext(context); 10430 }, 10431 useEffect: function(create, deps) { 10432 currentHookNameInDev = "useEffect";
10433 warnInvalidHookAccess(); 10434 updateHookTypesDev(); 10435 return updateEffect(create, deps); 10436 }, 10437 useImperativeHandle: function(ref, create, deps) { 10438 currentHookNameInDev = "useImperativeHandle"; 10439 warnInvalidHookAccess(); 10440 updateHookTypesDev(); 10441 return updateImperativeHandle(ref, create, deps); 10442 }, 10443 useInsertionEffect: function(create, deps) { 10444 currentHookNameInDev = "useInsertionEffect"; 10445 warnInvalidHookAccess(); 10446 updateHookTypesDev(); 10447 return updateInsertionEffect(create, deps); 10448 }, 10449 useLayoutEffect: function(create, deps) { 10450 currentHookNameInDev = "useLayoutEffect"; 10451 warnInvalidHookAccess(); 10452 updateHookTypesDev(); 10453 return updateLayoutEffect(create, deps); 10454 }, 10455 useMemo: function(create, deps) { 10456 currentHookNameInDev = "useMemo"; 10457 warnInvalidHookAccess(); 10458 updateHookTypesDev(); 10459 var prevDispatcher = ReactCurrentDispatcher$1.current; 10460 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10461 try { 10462 return updateMemo(create, deps); 10463 } finally { 10464 ReactCurrentDispatcher$1.current = prevDispatcher; 10465 } 10466 }, 10467 useReducer: function(reducer, initialArg, init) { 10468 currentHookNameInDev = "useReducer"; 10469 warnInvalidHookAccess(); 10470 updateHookTypesDev(); 10471 var prevDispatcher = ReactCurrentDispatcher$1.current; 10472 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10473 try { 10474 return rerenderReducer(reducer, initialArg, init); 10475 } finally { 10476 ReactCurrentDispatcher$1.current = prevDispatcher; 10477 } 10478 }, 10479 useRef: function(initialValue) { 10480 currentHookNameInDev = "useRef"; 10481 warnInvalidHookAccess(); 10482 updateHookTypesDev(); 10483 return updateRef(); 10484 }, 10485 useState: function(initialState) { 10486 currentHookNameInDev = "useState"; 10487 warnInvalidHookAccess(); 10488 updateHookTypesDev(); 10489 var prevDispatcher = ReactCurrentDispatcher$1.current; 10490 ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; 10491 try { 10492 return rerenderState(initialState); 10493 } finally { 10494 ReactCurrentDispatcher$1.current = prevDispatcher; 10495 } 10496 }, 10497 useDebugValue: function(value, formatterFn) { 10498 currentHookNameInDev = "useDebugValue"; 10499 warnInvalidHookAccess(); 10500 updateHookTypesDev(); 10501 return updateDebugValue(); 10502 }, 10503 useDeferredValue: function(value) { 10504 currentHookNameInDev = "useDeferredValue"; 10505 warnInvalidHookAccess(); 10506 updateHookTypesDev(); 10507 return rerenderDeferredValue(value); 10508 }, 10509 useTransition: function() { 10510 currentHookNameInDev = "useTransition"; 10511 warnInvalidHookAccess(); 10512 updateHookTypesDev(); 10513 return rerenderTransition(); 10514 }, 10515 useMutableSource: function(source, getSnapshot, subscribe) { 10516 currentHookNameInDev = "useMutableSource"; 10517 warnInvalidHookAccess(); 10518 updateHookTypesDev(); 10519 return updateMutableSource(); 10520 }, 10521 useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { 10522 currentHookNameInDev = "useSyncExternalStore"; 10523 warnInvalidHookAccess(); 10524 updateHookTypesDev(); 10525 return updateSyncExternalStore(subscribe, getSnapshot); 10526 }, 10527 useId: function() { 10528 currentHookNameInDev = "useId"; 10529 warnInvalidHookAccess(); 10530 updateHookTypesDev(); 10531 return updateId(); 10532 }, 10533 unstable_isNewReconciler: enableNewReconciler 10534 }; 10535 var now$1 = Scheduler.unstable_now; 10536 var commitTime = 0; 10537 var layoutEffectStartTime = -1; 10538 var profilerStartTime = -1; 10539 var passiveEffectStartTime = -1; 10540 var currentUpdateIsNested = false; 10541 var nestedUpdateScheduled = false; 10542 function isCurrentUpdateNested() { 10543 return currentUpdateIsNested; 10544 } 10545 function markNestedUpdateScheduled() { 10546 nestedUpdateScheduled = true; 10547 } 10548 function resetNestedUpdateFlag() { 10549 currentUpdateIsNested = false; 10550 nestedUpdateScheduled = false; 10551 } 10552 function syncNestedUpdateFlag() { 10553 currentUpdateIsNested = nestedUpdateScheduled; 10554 nestedUpdateScheduled = false; 10555 } 10556 function getCommitTime() { 10557 return commitTime; 10558 } 10559 function recordCommitTime() { 10560 commitTime = now$1(); 10561 } 10562 function startProfilerTimer(fiber) {
10563 profilerStartTime = now$1(); 10564 if (fiber.actualStartTime < 0) fiber.actualStartTime = now$1(); 10565 } 10566 function stopProfilerTimerIfRunning(fiber) { 10567 profilerStartTime = -1; 10568 } 10569 function stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) { 10570 if (profilerStartTime >= 0) { 10571 var elapsedTime = now$1() - profilerStartTime; 10572 fiber.actualDuration += elapsedTime; 10573 if (overrideBaseTime) fiber.selfBaseDuration = elapsedTime; 10574 profilerStartTime = -1; 10575 } 10576 } 10577 function recordLayoutEffectDuration(fiber) { 10578 if (layoutEffectStartTime >= 0) { 10579 var elapsedTime = now$1() - layoutEffectStartTime; 10580 layoutEffectStartTime = -1; 10581 var parentFiber = fiber.return; 10582 while (parentFiber !== null) { 10583 switch (parentFiber.tag) { 10584 case HostRoot: 10585 var root$1 = parentFiber.stateNode; 10586 root$1.effectDuration += elapsedTime; 10587 return; 10588 case Profiler: 10589 var parentStateNode = parentFiber.stateNode; 10590 parentStateNode.effectDuration += elapsedTime; 10591 return; 10592 } 10593 parentFiber = parentFiber.return; 10594 } 10595 } 10596 } 10597 function recordPassiveEffectDuration(fiber) { 10598 if (passiveEffectStartTime >= 0) { 10599 var elapsedTime = now$1() - passiveEffectStartTime; 10600 passiveEffectStartTime = -1; 10601 var parentFiber = fiber.return; 10602 while (parentFiber !== null) { 10603 switch (parentFiber.tag) { 10604 case HostRoot: 10605 var root$1 = parentFiber.stateNode; 10606 if (root$1 !== null) root$1.passiveEffectDuration += elapsedTime; 10607 return; 10608 case Profiler: 10609 var parentStateNode = parentFiber.stateNode; 10610 if (parentStateNode !== null) parentStateNode.passiveEffectDuration += elapsedTime; 10611 return; 10612 } 10613 parentFiber = parentFiber.return; 10614 } 10615 } 10616 } 10617 function startLayoutEffectTimer() { 10618 layoutEffectStartTime = now$1(); 10619 } 10620 function startPassiveEffectTimer() { 10621 passiveEffectStartTime = now$1(); 10622 } 10623 function transferActualDuration(fiber) { 10624 var child = fiber.child; 10625 while (child) { 10626 fiber.actualDuration += child.actualDuration; 10627 child = child.sibling; 10628 } 10629 } 10630 function resolveDefaultProps(Component, baseProps) { 10631 if (Component && Component.defaultProps) { 10632 var props = assign({}, baseProps); 10633 var defaultProps = Component.defaultProps; 10634 for (var propName in defaultProps) if (props[propName] === void 0) props[propName] = defaultProps[propName]; 10635 return props; 10636 } 10637 return baseProps; 10638 } 10639 var fakeInternalInstance = {}; 10640 var didWarnAboutStateAssignmentForComponent; 10641 var didWarnAboutUninitializedState; 10642 var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate; 10643 var didWarnAboutLegacyLifecyclesAndDerivedState; 10644 var didWarnAboutUndefinedDerivedState; 10645 var warnOnUndefinedDerivedState;
vendor: 3,420 bytes, lines 10646-10712
10646 var warnOnInvalidCallback; 10647 var didWarnAboutDirectlyAssigningPropsToState; 10648 var didWarnAboutContextTypeAndContextTypes; 10649 var didWarnAboutInvalidateContextType; 10650 var didWarnAboutLegacyContext$1; 10651 didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set(); 10652 didWarnAboutUninitializedState = /* @__PURE__ */ new Set(); 10653 didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set(); 10654 didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set(); 10655 didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set(); 10656 didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set(); 10657 didWarnAboutContextTypeAndContextTypes = /* @__PURE__ */ new Set(); 10658 didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set(); 10659 didWarnAboutLegacyContext$1 = /* @__PURE__ */ new Set(); 10660 var didWarnOnInvalidCallback = /* @__PURE__ */ new Set(); 10661 warnOnInvalidCallback = function(callback, callerName) { 10662 if (callback === null || typeof callback === "function") return; 10663 var key = callerName + "_" + callback; 10664 if (!didWarnOnInvalidCallback.has(key)) { 10665 didWarnOnInvalidCallback.add(key); 10666 error("%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", callerName, callback); 10667 } 10668 }; 10669 warnOnUndefinedDerivedState = function(type, partialState) { 10670 if (partialState === void 0) { 10671 var componentName = getComponentNameFromType(type) || "Component"; 10672 if (!didWarnAboutUndefinedDerivedState.has(componentName)) { 10673 didWarnAboutUndefinedDerivedState.add(componentName); 10674 error("%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", componentName); 10675 } 10676 } 10677 }; 10678 Object.defineProperty(fakeInternalInstance, "_processChildContext", { 10679 enumerable: false, 10680 value: function() { 10681 throw new Error("_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal)."); 10682 } 10683 }); 10684 Object.freeze(fakeInternalInstance); 10685 function applyDerivedStateFromProps(workInProgress$1, ctor, getDerivedStateFromProps, nextProps) { 10686 var prevState = workInProgress$1.memoizedState; 10687 var partialState = getDerivedStateFromProps(nextProps, prevState); 10688 if (workInProgress$1.mode & StrictLegacyMode) { 10689 setIsStrictModeForDevtools(true); 10690 try { 10691 partialState = getDerivedStateFromProps(nextProps, prevState); 10692 } finally { 10693 setIsStrictModeForDevtools(false); 10694 } 10695 } 10696 warnOnUndefinedDerivedState(ctor, partialState); 10697 var memoizedState = partialState === null || partialState === void 0 ? prevState : assign({}, prevState, partialState); 10698 workInProgress$1.memoizedState = memoizedState; 10699 if (workInProgress$1.lanes === NoLanes) { 10700 var updateQueue = workInProgress$1.updateQueue; 10701 updateQueue.baseState = memoizedState; 10702 } 10703 } 10704 var classComponentUpdater = { 10705 isMounted, 10706 enqueueSetState: function(inst, payload, callback) { 10707 var fiber = get(inst); 10708 var eventTime = requestEventTime(); 10709 var lane = requestUpdateLane(fiber); 10710 var update = createUpdate(eventTime, lane); 10711 update.payload = payload; 10712 if (callback !== void 0 && callback !== null) {
10713 warnOnInvalidCallback(callback, "setState"); 10714 update.callback = callback; 10715 } 10716 var root$1 = enqueueUpdate(fiber, update, lane); 10717 if (root$1 !== null) { 10718 scheduleUpdateOnFiber(root$1, fiber, lane, eventTime); 10719 entangleTransitions(root$1, fiber, lane); 10720 } 10721 markStateUpdateScheduled(fiber, lane); 10722 }, 10723 enqueueReplaceState: function(inst, payload, callback) { 10724 var fiber = get(inst); 10725 var eventTime = requestEventTime(); 10726 var lane = requestUpdateLane(fiber); 10727 var update = createUpdate(eventTime, lane); 10728 update.tag = ReplaceState; 10729 update.payload = payload; 10730 if (callback !== void 0 && callback !== null) { 10731 warnOnInvalidCallback(callback, "replaceState"); 10732 update.callback = callback; 10733 } 10734 var root$1 = enqueueUpdate(fiber, update, lane); 10735 if (root$1 !== null) { 10736 scheduleUpdateOnFiber(root$1, fiber, lane, eventTime); 10737 entangleTransitions(root$1, fiber, lane); 10738 } 10739 markStateUpdateScheduled(fiber, lane); 10740 }, 10741 enqueueForceUpdate: function(inst, callback) { 10742 var fiber = get(inst); 10743 var eventTime = requestEventTime(); 10744 var lane = requestUpdateLane(fiber); 10745 var update = createUpdate(eventTime, lane); 10746 update.tag = ForceUpdate; 10747 if (callback !== void 0 && callback !== null) {
10748 warnOnInvalidCallback(callback, "forceUpdate"); 10749 update.callback = callback; 10750 } 10751 var root$1 = enqueueUpdate(fiber, update, lane); 10752 if (root$1 !== null) { 10753 scheduleUpdateOnFiber(root$1, fiber, lane, eventTime); 10754 entangleTransitions(root$1, fiber, lane); 10755 } 10756 markForceUpdateScheduled(fiber, lane); 10757 } 10758 }; 10759 function checkShouldComponentUpdate(workInProgress$1, ctor, oldProps, newProps, oldState, newState, nextContext) { 10760 var instance = workInProgress$1.stateNode; 10761 if (typeof instance.shouldComponentUpdate === "function") { 10762 var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext); 10763 if (workInProgress$1.mode & StrictLegacyMode) { 10764 setIsStrictModeForDevtools(true); 10765 try { 10766 shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext); 10767 } finally { 10768 setIsStrictModeForDevtools(false); 10769 } 10770 } 10771 if (shouldUpdate === void 0) error("%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", getComponentNameFromType(ctor) || "Component"); 10772 return shouldUpdate; 10773 } 10774 if (ctor.prototype && ctor.prototype.isPureReactComponent) return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState); 10775 return true; 10776 } 10777 function checkClassInstance(workInProgress$1, ctor, newProps) { 10778 var instance = workInProgress$1.stateNode; 10779 var name = getComponentNameFromType(ctor) || "Component"; 10780 if (!instance.render) if (ctor.prototype && typeof ctor.prototype.render === "function") error("%s(...): No `render` method found on the returned component instance: did you accidentally return an object from the constructor?", name); 10781 else error("%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.", name); 10782 if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) error("getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", name); 10783 if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) error("getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", name); 10784 if (instance.propTypes) error("propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.", name); 10785 if (instance.contextType) error("contextType was defined as an instance property on %s. Use a static property to define contextType instead.", name); 10786 if (ctor.childContextTypes && !didWarnAboutLegacyContext$1.has(ctor) && (workInProgress$1.mode & StrictLegacyMode) === NoMode) { 10787 didWarnAboutLegacyContext$1.add(ctor); 10788 error("%s uses the legacy childContextTypes API which is no longer supported and will be removed in the next major release. Use React.createContext() instead\n\n.Learn more about this warning here: https://reactjs.org/link/legacy-context", name); 10789 } 10790 if (ctor.contextTypes && !didWarnAboutLegacyContext$1.has(ctor) && (workInProgress$1.mode & StrictLegacyMode) === NoMode) { 10791 didWarnAboutLegacyContext$1.add(ctor); 10792 error("%s uses the legacy contextTypes API which is no longer supported and will be removed in the next major release. Use React.createContext() with static contextType instead.\n\nLearn more about this warning here: https://reactjs.org/link/legacy-context", name); 10793 } 10794 if (instance.contextTypes) error("contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.", name); 10795 if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) { 10796 didWarnAboutContextTypeAndContextTypes.add(ctor); 10797 error("%s declares both contextTypes and contextType static properties. The legacy contextTypes property will be ignored.", name); 10798 } 10799 if (typeof instance.componentShouldUpdate === "function") error("%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", name); 10800 if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== "undefined") error("%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", getComponentNameFromType(ctor) || "A pure component"); 10801 if (typeof instance.componentDidUnmount === "function") error("%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", name); 10802 if (typeof instance.componentDidReceiveProps === "function") error("%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", name); 10803 if (typeof instance.componentWillRecieveProps === "function") error("%s has a method called componentWillRecieveProps(). Did
10803you mean componentWillReceiveProps()?", name); 10804 if (typeof instance.UNSAFE_componentWillRecieveProps === "function") error("%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", name); 10805 var hasMutatedProps = instance.props !== newProps; 10806 if (instance.props !== void 0 && hasMutatedProps) error("%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", name, name); 10807 if (instance.defaultProps) error("Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", name, name); 10808 if (typeof instance.getSnapshotBeforeUpdate === "function" && typeof instance.componentDidUpdate !== "function" && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) { 10809 didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor); 10810 error("%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", getComponentNameFromType(ctor)); 10811 } 10812 if (typeof instance.getDerivedStateFromProps === "function") error("%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", name); 10813 if (typeof instance.getDerivedStateFromError === "function") error("%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", name); 10814 if (typeof ctor.getSnapshotBeforeUpdate === "function") error("%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", name); 10815 var _state = instance.state; 10816 if (_state && (typeof _state !== "object" || isArray(_state))) error("%s.state: must be set to an object or null", name); 10817 if (typeof instance.getChildContext === "function" && typeof ctor.childContextTypes !== "object") error("%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", name); 10818 } 10819 function adoptClassInstance(workInProgress$1, instance) { 10820 instance.updater = classComponentUpdater; 10821 workInProgress$1.stateNode = instance; 10822 set(instance, workInProgress$1); 10823 instance._reactInternalInstance = fakeInternalInstance; 10824 } 10825 function constructClassInstance(workInProgress$1, ctor, props) { 10826 var isLegacyContextConsumer = false; 10827 var unmaskedContext = emptyContextObject; 10828 var context = emptyContextObject; 10829 var contextType = ctor.contextType; 10830 if ("contextType" in ctor) { 10831 if (!(contextType === null || contextType !== void 0 && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === void 0) && !didWarnAboutInvalidateContextType.has(ctor)) { 10832 didWarnAboutInvalidateContextType.add(ctor); 10833 var addendum = ""; 10834 if (contextType === void 0) addendum = " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file."; 10835 else if (typeof contextType !== "object") addendum = " However, it is set to a " + typeof contextType + "."; 10836 else if (contextType.$$typeof === REACT_PROVIDER_TYPE) addendum = " Did you accidentally pass the Context.Provider instead?"; 10837 else if (contextType._context !== void 0) addendum = " Did you accidentally pass the Context.Consumer instead?"; 10838 else addendum = " However, it is set to an object with keys {" + Object.keys(contextType).join(", ") + "}."; 10839 error("%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", getComponentNameFromType(ctor) || "Component", addendum); 10840 } 10841 } 10842 if (typeof contextType === "object" && contextType !== null) context = readContext(contextType); 10843 else { 10844 unmaskedContext = getUnmaskedContext(workInProgress$1, ctor, true); 10845 var contextTypes = ctor.contextTypes; 10846 isLegacyContextConsumer = contextTypes !== null && contextTypes !== void 0; 10847 context = isLegacyContextConsumer ? getMaskedContext(workInProgress$1, unmaskedContext) : emptyContextObject; 10848 } 10849 var instance = new ctor(props, context); 10850 if (workInProgress$1.mode & StrictLegacyMode) { 10851 setIsStrictModeForDevtools(true);
10852 try { 10853 instance = new ctor(props, context); 10854 } finally { 10855 setIsStrictModeForDevtools(false); 10856 } 10857 } 10858 var state = workInProgress$1.memoizedState = instance.state !== null && instance.state !== void 0 ? instance.state : null; 10859 adoptClassInstance(workInProgress$1, instance); 10860 if (typeof ctor.getDerivedStateFromProps === "function" && state === null) { 10861 var componentName = getComponentNameFromType(ctor) || "Component"; 10862 if (!didWarnAboutUninitializedState.has(componentName)) { 10863 didWarnAboutUninitializedState.add(componentName); 10864 error("`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", componentName, instance.state === null ? "null" : "undefined", componentName); 10865 } 10866 } 10867 if (typeof ctor.getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function") { 10868 var foundWillMountName = null; 10869 var foundWillReceivePropsName = null; 10870 var foundWillUpdateName = null; 10871 if (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true) foundWillMountName = "componentWillMount"; 10872 else if (typeof instance.UNSAFE_componentWillMount === "function") foundWillMountName = "UNSAFE_componentWillMount"; 10873 if (typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) foundWillReceivePropsName = "componentWillReceiveProps"; 10874 else if (typeof instance.UNSAFE_componentWillReceiveProps === "function") foundWillReceivePropsName = "UNSAFE_componentWillReceiveProps"; 10875 if (typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true) foundWillUpdateName = "componentWillUpdate"; 10876 else if (typeof instance.UNSAFE_componentWillUpdate === "function") foundWillUpdateName = "UNSAFE_componentWillUpdate"; 10877 if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) { 10878 var _componentName = getComponentNameFromType(ctor) || "Component"; 10879 var newApiName = typeof ctor.getDerivedStateFromProps === "function" ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()"; 10880 if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) { 10881 didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName); 10882 error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://reactjs.org/link/unsafe-component-lifecycles", _componentName, newApiName, foundWillMountName !== null ? "\n " + foundWillMountName : "", foundWillReceivePropsName !== null ? "\n " + foundWillReceivePropsName : "", foundWillUpdateName !== null ? "\n " + foundWillUpdateName : ""); 10883 } 10884 } 10885 } 10886 if (isLegacyContextConsumer) cacheContext(workInProgress$1, unmaskedContext, context); 10887 return instance; 10888 } 10889 function callComponentWillMount(workInProgress$1, instance) { 10890 var oldState = instance.state; 10891 if (typeof instance.componentWillMount === "function") instance.componentWillMount(); 10892 if (typeof instance.UNSAFE_componentWillMount === "function") instance.UNSAFE_componentWillMount(); 10893 if (oldState !== instance.state) { 10894 error("%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", getComponentNameFromFiber(workInProgress$1) || "Component"); 10895 classComponentUpdater.enqueueReplaceState(instance, instance.state, null); 10896 } 10897 } 10898 function callComponentWillReceiveProps(workInProgress$1, instance, newProps, nextContext) { 10899 var oldState = instance.state; 10900 if (typeof instance.componentWillReceiveProps === "function") instance.componentWillReceiveProps(newProps, nextContext); 10901 if (typeof instance.UNSAFE_componentWillReceiveProps === "function") instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); 10902 if (instance.state !== oldState) { 10903 var componentName = getComponentNameFromFiber(workInProgress$1) || "Component"; 10904 if (!didWarnAboutStateAssignmentForComponent.has(componentName)) { 10905 didWarnAboutStateAssignmentForComponent.add(componentName); 10906 error("%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", componentName); 10907 } 10908 classComponentUpdater.enqueueReplaceState(instance, instance.state, null); 10909 } 10910 } 10911 function mountClassInstance(workInProgress$1, ctor, newProps, renderLanes$1) { 10912 checkClassInstance(workInProgress$1, ctor, newProps); 10913 var instance = workInProgress$1.stateNode; 10914 instance.props = newProps; 10915 instance.state = workInProgress$1.memoizedState; 10916 instance.refs = {}; 10917 initializeUpdateQueue(workInProgress$1); 10918 var contextType = ctor.contextType; 10919 if (typeof contextType === "object" && contextType !== null) instance.context = readContext(contextType); 10920 else instance.context = getMaskedContext(workInProgress$1, getUnmaskedContext(workInProgress$1, ctor, true)); 10921 if (instance.state === newProps) { 10922 var componentName = getComponentNameFromType(ctor) || "Component"; 10923 if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) { 10924 didWarnAboutDirectlyAssigningPropsToState.add(componentName); 10925 error("%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", componentName); 10926 } 10927 } 10928 if (workInProgress$1.mode & StrictLegacyMode) ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress$1, instance);
10929 ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress$1, instance); 10930 instance.state = workInProgress$1.memoizedState; 10931 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 10932 if (typeof getDerivedStateFromProps === "function") { 10933 applyDerivedStateFromProps(workInProgress$1, ctor, getDerivedStateFromProps, newProps); 10934 instance.state = workInProgress$1.memoizedState; 10935 } 10936 if (typeof ctor.getDerivedStateFromProps !== "function" && typeof instance.getSnapshotBeforeUpdate !== "function" && (typeof instance.UNSAFE_componentWillMount === "function" || typeof instance.componentWillMount === "function")) { 10937 callComponentWillMount(workInProgress$1, instance); 10938 processUpdateQueue(workInProgress$1, newProps, instance, renderLanes$1); 10939 instance.state = workInProgress$1.memoizedState; 10940 } 10941 if (typeof instance.componentDidMount === "function") { 10942 var fiberFlags = Update; 10943 fiberFlags |= LayoutStatic; 10944 if ((workInProgress$1.mode & StrictEffectsMode) !== NoMode) fiberFlags |= MountLayoutDev; 10945 workInProgress$1.flags |= fiberFlags; 10946 } 10947 } 10948 function resumeMountClassInstance(workInProgress$1, ctor, newProps, renderLanes$1) { 10949 var instance = workInProgress$1.stateNode; 10950 var oldProps = workInProgress$1.memoizedProps; 10951 instance.props = oldProps; 10952 var oldContext = instance.context; 10953 var contextType = ctor.contextType; 10954 var nextContext = emptyContextObject; 10955 if (typeof contextType === "object" && contextType !== null) nextContext = readContext(contextType); 10956 else nextContext = getMaskedContext(workInProgress$1, getUnmaskedContext(workInProgress$1, ctor, true)); 10957 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 10958 var hasNewLifecycles = typeof getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function"; 10959 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === "function" || typeof instance.componentWillReceiveProps === "function")) { 10960 if (oldProps !== newProps || oldContext !== nextContext) callComponentWillReceiveProps(workInProgress$1, instance, newProps, nextContext); 10961 } 10962 resetHasForceUpdateBeforeProcessing(); 10963 var oldState = workInProgress$1.memoizedState; 10964 var newState = instance.state = oldState; 10965 processUpdateQueue(workInProgress$1, newProps, instance, renderLanes$1); 10966 newState = workInProgress$1.memoizedState; 10967 if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { 10968 if (typeof instance.componentDidMount === "function") { 10969 var fiberFlags = Update; 10970 fiberFlags |= LayoutStatic; 10971 if ((workInProgress$1.mode & StrictEffectsMode) !== NoMode) fiberFlags |= MountLayoutDev; 10972 workInProgress$1.flags |= fiberFlags; 10973 } 10974 return false; 10975 } 10976 if (typeof getDerivedStateFromProps === "function") { 10977 applyDerivedStateFromProps(workInProgress$1, ctor, getDerivedStateFromProps, newProps); 10978 newState = workInProgress$1.memoizedState; 10979 } 10980 var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress$1, ctor, oldProps, newProps, oldState, newState, nextContext); 10981 if (shouldUpdate) { 10982 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === "function" || typeof instance.componentWillMount === "function")) { 10983 if (typeof instance.componentWillMount === "function") instance.componentWillMount(); 10984 if (typeof instance.UNSAFE_componentWillMount === "function") instance.UNSAFE_componentWillMount(); 10985 } 10986 if (typeof instance.componentDidMount === "function") { 10987 var _fiberFlags = Update; 10988 _fiberFlags |= LayoutStatic; 10989 if ((workInProgress$1.mode & StrictEffectsMode) !== NoMode) _fiberFlags |= MountLayoutDev; 10990 workInProgress$1.flags |= _fiberFlags; 10991 } 10992 } else { 10993 if (typeof instance.componentDidMount === "function") { 10994 var _fiberFlags2 = Update; 10995 _fiberFlags2 |= LayoutStatic; 10996 if ((workInProgress$1.mode & StrictEffectsMode) !== NoMode) _fiberFlags2 |= MountLayoutDev; 10997 workInProgress$1.flags |= _fiberFlags2; 10998 } 10999 workInProgress$1.memoizedProps = newProps; 11000 workInProgress$1.memoizedState = newState; 11001 } 11002 instance.props = newProps; 11003 instance.state = newState; 11004 instance.context = nextContext; 11005 return shouldUpdate; 11006 } 11007 function updateClassInstance(current$1, workInProgress$1, ctor, newProps, renderLanes$1) { 11008 var instance = workInProgress$1.stateNode; 11009 cloneUpdateQueue(current$1, workInProgress$1); 11010 var unresolvedOldProps = workInProgress$1.memoizedProps; 11011 var oldProps = workInProgress$1.type === workInProgress$1.elementType ? unresolvedOldProps : resolveDefaultProps(workInProgress$1.type, unresolvedOldProps); 11012 instance.props = oldProps; 11013 var unresolvedNewProps = workInProgress$1.pendingProps; 11014 var oldContext = instance.context; 11015 var contextType = ctor.contextType; 11016 var nextContext = emptyContextObject; 11017 if (typeof contextType === "object" && contextType !== null) nextContext = readContext(contextType); 11018 else nextContext = getMaskedContext(workInProgress$1, getUnmaskedContext(workInProgress$1, ctor, true)); 11019 var getDerivedStateFromProps = ctor.getDerivedStateFromProps; 11020 var hasNewLifecycles = typeof getDerivedStateFromProps === "function" || typeof instance.getSnapshotBeforeUpdate === "function"; 11021 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === "function" || typeof instance.componentWillReceiveProps === "function")) { 11022 if (unresolvedOldProps !== unresolvedNewProps || oldContext !== nextContext) callComponentWillReceiveProps(workInProgress$1, instance, newProps, nextContext); 11023 } 11024 resetHasForceUpdateBeforeProcessing(); 11025 var oldState = workInProgress$1.memoizedState; 11026 var newState = instance.state = oldState; 11027 processUpdateQueue(workInProgress$1, newProps, instance, renderLanes$1); 11028 newState = workInProgress$1.memoizedState; 11029 if (unresolvedOldProps === unresolvedNewProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing() && !enableLazyContextPropagation) { 11030 if (typeof instance.componentDidUpdate === "function") { 11031 if (unresolvedOldProps !== current$1.memoizedProps || oldState !== current$1.memoizedState) workInProgress$1.flags |= Update; 11032 } 11033 if (typeof instance.getSnapshotBeforeUpdate === "function") { 11034 if (unresolvedOldProps !== current$1.memoizedProps || oldState !== current$1.memoizedState) workInProgress$1.flags |= Snapshot; 11035 } 11036 return false;
11037 } 11038 if (typeof getDerivedStateFromProps === "function") { 11039 applyDerivedStateFromProps(workInProgress$1, ctor, getDerivedStateFromProps, newProps); 11040 newState = workInProgress$1.memoizedState; 11041 } 11042 var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress$1, ctor, oldProps, newProps, oldState, newState, nextContext) || enableLazyContextPropagation; 11043 if (shouldUpdate) { 11044 if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === "function" || typeof instance.componentWillUpdate === "function")) { 11045 if (typeof instance.componentWillUpdate === "function") instance.componentWillUpdate(newProps, newState, nextContext); 11046 if (typeof instance.UNSAFE_componentWillUpdate === "function") instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext); 11047 } 11048 if (typeof instance.componentDidUpdate === "function") workInProgress$1.flags |= Update; 11049 if (typeof instance.getSnapshotBeforeUpdate === "function") workInProgress$1.flags |= Snapshot; 11050 } else { 11051 if (typeof instance.componentDidUpdate === "function") { 11052 if (unresolvedOldProps !== current$1.memoizedProps || oldState !== current$1.memoizedState) workInProgress$1.flags |= Update; 11053 } 11054 if (typeof instance.getSnapshotBeforeUpdate === "function") { 11055 if (unresolvedOldProps !== current$1.memoizedProps || oldState !== current$1.memoizedState) workInProgress$1.flags |= Snapshot; 11056 } 11057 workInProgress$1.memoizedProps = newProps; 11058 workInProgress$1.memoizedState = newState; 11059 } 11060 instance.props = newProps; 11061 instance.state = newState; 11062 instance.context = nextContext; 11063 return shouldUpdate; 11064 } 11065 function createCapturedValueAtFiber(value, source) { 11066 return { 11067 value, 11068 source, 11069 stack: getStackByFiberInDevAndProd(source), 11070 digest: null 11071 }; 11072 } 11073 function createCapturedValue(value, digest, stack) { 11074 return { 11075 value, 11076 source: null, 11077 stack: stack != null ? stack : null, 11078 digest: digest != null ? digest : null 11079 }; 11080 } 11081 function showErrorDialog(boundary, errorInfo) { 11082 return true; 11083 } 11084 function logCapturedError(boundary, errorInfo) { 11085 try { 11086 if (showErrorDialog(boundary, errorInfo) === false) return; 11087 var error$1 = errorInfo.value; 11088 var source = errorInfo.source; 11089 var stack = errorInfo.stack; 11090 var componentStack = stack !== null ? stack : ""; 11091 if (error$1 != null && error$1._suppressLogging) { 11092 if (boundary.tag === ClassComponent) return; 11093 console["error"](error$1); 11094 } 11095 var componentName = source ? getComponentNameFromFiber(source) : null; 11096 var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component:" : "The above error occurred in one of your React components:"; 11097 var errorBoundaryMessage; 11098 if (boundary.tag === HostRoot) errorBoundaryMessage = "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://reactjs.org/link/error-boundaries to learn more about error boundaries."; 11099 else errorBoundaryMessage = "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + (getComponentNameFromFiber(boundary) || "Anonymous") + "."); 11100 var combinedMessage = componentNameMessage + "\n" + componentStack + "\n\n" + ("" + errorBoundaryMessage); 11101 console["error"](combinedMessage); 11102 } catch (e) { 11103 setTimeout(function() { 11104 throw e; 11105 }); 11106 } 11107 } 11108 var PossiblyWeakMap$1 = typeof WeakMap === "function" ? WeakMap : Map; 11109 function createRootErrorUpdate(fiber, errorInfo, lane) { 11110 var update = createUpdate(NoTimestamp, lane); 11111 update.tag = CaptureUpdate; 11112 update.payload = { element: null }; 11113 var error$1 = errorInfo.value; 11114 update.callback = function() { 11115 onUncaughtError(error$1); 11116 logCapturedError(fiber, errorInfo); 11117 }; 11118 return update; 11119 } 11120 function createClassErrorUpdate(fiber, errorInfo, lane) { 11121 var update = createUpdate(NoTimestamp, lane); 11122 update.tag = CaptureUpdate; 11123 var getDerivedStateFromError = fiber.type.getDerivedStateFromError; 11124 if (typeof getDerivedStateFromError === "function") { 11125 var error$1 = errorInfo.value; 11126 update.payload = function() { 11127 return getDerivedStateFromError(error$1); 11128 }; 11129 update.callback = function() { 11130 markFailedErrorBoundaryForHotReloading(fiber); 11131 logCapturedError(fiber, errorInfo); 11132 }; 11133 } 11134 var inst = fiber.stateNode; 11135 if (inst !== null && typeof inst.componentDidCatch === "function") update.callback = function callback() { 11136 markFailedErrorBoundaryForHotReloading(fiber); 11137 logCapturedError(fiber, errorInfo); 11138 if (typeof getDerivedStateFromError !== "function") markLegacyErrorBoundaryAsFailed(this); 11139 var error$1$1 = errorInfo.value; 11140 var stack = errorInfo.stack; 11141 this.componentDidCatch(error$1$1, { componentStack: stack !== null ? stack : "" }); 11142 if (typeof getDerivedStateFromError !== "function") { 11143 if (!includesSomeLane(fiber.lanes, SyncLane)) error("%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.", getComponentNameFromFiber(fiber) || "Unknown"); 11144 } 11145 }; 11146 return update; 11147 } 11148 function attachPingListener(root$1, wakeable, lanes) { 11149 var pingCache = root$1.pingCache; 11150 var threadIDs; 11151 if (pingCache === null) { 11152 pingCache = root$1.pingCache = new PossiblyWeakMap$1(); 11153 threadIDs = /* @__PURE__ */ new Set(); 11154 pingCache.set(wakeable, threadIDs); 11155 } else { 11156 threadIDs = pingCache.get(wakeable); 11157 if (threadIDs === void 0) { 11158 threadIDs = /* @__PURE__ */ new Set(); 11159 pingCache.set(wakeable, threadIDs); 11160 } 11161 } 11162 if (!threadIDs.has(lanes)) { 11163 threadIDs.add(lanes); 11164 var ping = pingSuspendedRoot.bind(null, root$1, wakeable, lanes); 11165 if (isDevToolsPresent) restorePendingUpdaters(root$1, lanes); 11166 wakeable.then(ping, ping); 11167 } 11168 } 11169 function attachRetryListener(suspenseBoundary, root$1, wakeable, lanes) { 11170 var wakeables = suspenseBoundary.updateQueue; 11171 if (wakeables === null) { 11172 var updateQueue = /* @__PURE__ */ new Set(); 11173 updateQueue.add(wakeable); 11174 suspenseBoundary.updateQueue = updateQueue; 11175 } else wakeables.add(wakeable); 11176 }
11177 function resetSuspendedComponent(sourceFiber, rootRenderLanes) { 11178 var tag = sourceFiber.tag; 11179 if ((sourceFiber.mode & ConcurrentMode) === NoMode && (tag === FunctionComponent || tag === ForwardRef || tag === SimpleMemoComponent)) { 11180 var currentSource = sourceFiber.alternate; 11181 if (currentSource) { 11182 sourceFiber.updateQueue = currentSource.updateQueue; 11183 sourceFiber.memoizedState = currentSource.memoizedState; 11184 sourceFiber.lanes = currentSource.lanes; 11185 } else { 11186 sourceFiber.updateQueue = null; 11187 sourceFiber.memoizedState = null; 11188 } 11189 } 11190 } 11191 function getNearestSuspenseBoundaryToCapture(returnFiber) { 11192 var node = returnFiber; 11193 do { 11194 if (node.tag === SuspenseComponent && shouldCaptureSuspense(node)) return node; 11195 node = node.return; 11196 } while (node !== null); 11197 return null; 11198 } 11199 function markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root$1, rootRenderLanes) { 11200 if ((suspenseBoundary.mode & ConcurrentMode) === NoMode) { 11201 if (suspenseBoundary === returnFiber) suspenseBoundary.flags |= ShouldCapture; 11202 else { 11203 suspenseBoundary.flags |= DidCapture; 11204 sourceFiber.flags |= ForceUpdateForLegacySuspense; 11205 sourceFiber.flags &= ~(LifecycleEffectMask | Incomplete); 11206 if (sourceFiber.tag === ClassComponent) if (sourceFiber.alternate === null) sourceFiber.tag = IncompleteClassComponent; 11207 else { 11208 var update = createUpdate(NoTimestamp, SyncLane); 11209 update.tag = ForceUpdate; 11210 enqueueUpdate(sourceFiber, update, SyncLane); 11211 } 11212 sourceFiber.lanes = mergeLanes(sourceFiber.lanes, SyncLane); 11213 } 11214 return suspenseBoundary; 11215 } 11216 suspenseBoundary.flags |= ShouldCapture; 11217 suspenseBoundary.lanes = rootRenderLanes; 11218 return suspenseBoundary; 11219 } 11220 function throwException(root$1, returnFiber, sourceFiber, value, rootRenderLanes) { 11221 sourceFiber.flags |= Incomplete; 11222 if (isDevToolsPresent) restorePendingUpdaters(root$1, rootRenderLanes); 11223 if (value !== null && typeof value === "object" && typeof value.then === "function") { 11224 var wakeable = value; 11225 resetSuspendedComponent(sourceFiber); 11226 if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) markDidThrowWhileHydratingDEV(); 11227 var suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber); 11228 if (suspenseBoundary !== null) { 11229 suspenseBoundary.flags &= ~ForceClientRender; 11230 markSuspenseBoundaryShouldCapture(suspenseBoundary, returnFiber, sourceFiber, root$1, rootRenderLanes); 11231 if (suspenseBoundary.mode & ConcurrentMode) attachPingListener(root$1, wakeable, rootRenderLanes); 11232 attachRetryListener(suspenseBoundary, root$1, wakeable); 11233 return; 11234 } else { 11235 if (!includesSyncLane(rootRenderLanes)) { 11236 attachPingListener(root$1, wakeable, rootRenderLanes); 11237 renderDidSuspendDelayIfPossible(); 11238 return; 11239 } 11240 value = /* @__PURE__ */ new Error("A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition."); 11241 } 11242 } else if (getIsHydrating() && sourceFiber.mode & ConcurrentMode) { 11243 markDidThrowWhileHydratingDEV(); 11244 var _suspenseBoundary = getNearestSuspenseBoundaryToCapture(returnFiber); 11245 if (_suspenseBoundary !== null) { 11246 if ((_suspenseBoundary.flags & ShouldCapture) === NoFlags) _suspenseBoundary.flags |= ForceClientRender; 11247 markSuspenseBoundaryShouldCapture(_suspenseBoundary, returnFiber, sourceFiber, root$1, rootRenderLanes); 11248 queueHydrationError(createCapturedValueAtFiber(value, sourceFiber)); 11249 return; 11250 } 11251 } 11252 value = createCapturedValueAtFiber(value, sourceFiber); 11253 renderDidError(value); 11254 var workInProgress$1 = returnFiber; 11255 do { 11256 switch (workInProgress$1.tag) { 11257 case HostRoot: 11258 var _errorInfo = value; 11259 workInProgress$1.flags |= ShouldCapture; 11260 var lane = pickArbitraryLane(rootRenderLanes); 11261 workInProgress$1.lanes = mergeLanes(workInProgress$1.lanes, lane); 11262 var update = createRootErrorUpdate(workInProgress$1, _errorInfo, lane); 11263 enqueueCapturedUpdate(workInProgress$1, update); 11264 return; 11265 case ClassComponent: 11266 var errorInfo = value; 11267 var ctor = workInProgress$1.type; 11268 var instance = workInProgress$1.stateNode; 11269 if ((workInProgress$1.flags & DidCapture) === NoFlags && (typeof ctor.getDerivedStateFromError === "function" || instance !== null && typeof instance.componentDidCatch === "function" && !isAlreadyFailedLegacyErrorBoundary(instance))) { 11270 workInProgress$1.flags |= ShouldCapture; 11271 var _lane = pickArbitraryLane(rootRenderLanes); 11272 workInProgress$1.lanes = mergeLanes(workInProgress$1.lanes, _lane); 11273 var _update = createClassErrorUpdate(workInProgress$1, errorInfo, _lane); 11274 enqueueCapturedUpdate(workInProgress$1, _update); 11275 return; 11276 } 11277 break; 11278 } 11279 workInProgress$1 = workInProgress$1.return; 11280 } while (workInProgress$1 !== null); 11281 } 11282 function getSuspendedCache() { 11283 return null; 11284 } 11285 var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; 11286 var didReceiveUpdate = false;
11287 var didWarnAboutBadClass; 11288 var didWarnAboutModulePatternComponent; 11289 var didWarnAboutContextTypeOnFunctionComponent; 11290 var didWarnAboutGetDerivedStateOnFunctionComponent; 11291 var didWarnAboutFunctionRefs; 11292 var didWarnAboutReassigningProps; 11293 var didWarnAboutRevealOrder; 11294 var didWarnAboutTailOptions; 11295 var didWarnAboutDefaultPropsOnFunctionComponent; 11296 didWarnAboutBadClass = {}; 11297 didWarnAboutModulePatternComponent = {}; 11298 didWarnAboutContextTypeOnFunctionComponent = {}; 11299 didWarnAboutGetDerivedStateOnFunctionComponent = {}; 11300 didWarnAboutFunctionRefs = {}; 11301 didWarnAboutReassigningProps = false; 11302 didWarnAboutRevealOrder = {}; 11303 didWarnAboutTailOptions = {}; 11304 didWarnAboutDefaultPropsOnFunctionComponent = {}; 11305 function reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1) { 11306 if (current$1 === null) workInProgress$1.child = mountChildFibers(workInProgress$1, null, nextChildren, renderLanes$1); 11307 else workInProgress$1.child = reconcileChildFibers(workInProgress$1, current$1.child, nextChildren, renderLanes$1); 11308 } 11309 function forceUnmountCurrentAndReconcile(current$1, workInProgress$1, nextChildren, renderLanes$1) { 11310 workInProgress$1.child = reconcileChildFibers(workInProgress$1, current$1.child, null, renderLanes$1); 11311 workInProgress$1.child = reconcileChildFibers(workInProgress$1, null, nextChildren, renderLanes$1); 11312 } 11313 function updateForwardRef(current$1, workInProgress$1, Component, nextProps, renderLanes$1) { 11314 if (workInProgress$1.type !== workInProgress$1.elementType) { 11315 var innerPropTypes = Component.propTypes; 11316 if (innerPropTypes) checkPropTypes(innerPropTypes, nextProps, "prop", getComponentNameFromType(Component)); 11317 } 11318 var render$1 = Component.render; 11319 var ref = workInProgress$1.ref; 11320 var nextChildren; 11321 var hasId; 11322 prepareToReadContext(workInProgress$1, renderLanes$1); 11323 markComponentRenderStarted(workInProgress$1); 11324 ReactCurrentOwner$1.current = workInProgress$1; 11325 setIsRendering(true); 11326 nextChildren = renderWithHooks(current$1, workInProgress$1, render$1, nextProps, ref, renderLanes$1); 11327 hasId = checkDidRenderIdHook(); 11328 if (workInProgress$1.mode & StrictLegacyMode) { 11329 setIsStrictModeForDevtools(true); 11330 try { 11331 nextChildren = renderWithHooks(current$1, workInProgress$1, render$1, nextProps, ref, renderLanes$1); 11332 hasId = checkDidRenderIdHook(); 11333 } finally { 11334 setIsStrictModeForDevtools(false); 11335 } 11336 } 11337 setIsRendering(false); 11338 markComponentRenderStopped(); 11339 if (current$1 !== null && !didReceiveUpdate) { 11340 bailoutHooks(current$1, workInProgress$1, renderLanes$1); 11341 return bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 11342 } 11343 if (getIsHydrating() && hasId) pushMaterializedTreeId(workInProgress$1); 11344 workInProgress$1.flags |= PerformedWork; 11345 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11346 return workInProgress$1.child; 11347 } 11348 function updateMemoComponent(current$1, workInProgress$1, Component, nextProps, renderLanes$1) { 11349 if (current$1 === null) { 11350 var type = Component.type; 11351 if (isSimpleFunctionComponent(type) && Component.compare === null && Component.defaultProps === void 0) { 11352 var resolvedType = type; 11353 resolvedType = resolveFunctionForHotReloading(type); 11354 workInProgress$1.tag = SimpleMemoComponent; 11355 workInProgress$1.type = resolvedType; 11356 validateFunctionComponentInDev(workInProgress$1, type); 11357 return updateSimpleMemoComponent(current$1, workInProgress$1, resolvedType, nextProps, renderLanes$1); 11358 } 11359 var innerPropTypes = type.propTypes; 11360 if (innerPropTypes) checkPropTypes(innerPropTypes, nextProps, "prop", getComponentNameFromType(type)); 11361 if (Component.defaultProps !== void 0) { 11362 var componentName = getComponentNameFromType(type) || "Unknown"; 11363 if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) { 11364 error("%s: Support for defaultProps will be removed from memo components in a future major release. Use JavaScript default parameters instead.", componentName); 11365 didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true; 11366 } 11367 } 11368 var child = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress$1, workInProgress$1.mode, renderLanes$1); 11369 child.ref = workInProgress$1.ref;
11370 child.return = workInProgress$1; 11371 workInProgress$1.child = child; 11372 return child; 11373 } 11374 var _type = Component.type; 11375 var _innerPropTypes = _type.propTypes; 11376 if (_innerPropTypes) checkPropTypes(_innerPropTypes, nextProps, "prop", getComponentNameFromType(_type)); 11377 var currentChild = current$1.child; 11378 if (!checkScheduledUpdateOrContext(current$1, renderLanes$1)) { 11379 var prevProps = currentChild.memoizedProps; 11380 var compare = Component.compare; 11381 compare = compare !== null ? compare : shallowEqual; 11382 if (compare(prevProps, nextProps) && current$1.ref === workInProgress$1.ref) return bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 11383 } 11384 workInProgress$1.flags |= PerformedWork; 11385 var newChild = createWorkInProgress(currentChild, nextProps); 11386 newChild.ref = workInProgress$1.ref; 11387 newChild.return = workInProgress$1; 11388 workInProgress$1.child = newChild; 11389 return newChild; 11390 } 11391 function updateSimpleMemoComponent(current$1, workInProgress$1, Component, nextProps, renderLanes$1) { 11392 if (workInProgress$1.type !== workInProgress$1.elementType) { 11393 var outerMemoType = workInProgress$1.elementType; 11394 if (outerMemoType.$$typeof === REACT_LAZY_TYPE) { 11395 var lazyComponent = outerMemoType; 11396 var payload = lazyComponent._payload; 11397 var init = lazyComponent._init; 11398 try { 11399 outerMemoType = init(payload); 11400 } catch (x) { 11401 outerMemoType = null; 11402 } 11403 var outerPropTypes = outerMemoType && outerMemoType.propTypes; 11404 if (outerPropTypes) checkPropTypes(outerPropTypes, nextProps, "prop", getComponentNameFromType(outerMemoType)); 11405 } 11406 } 11407 if (current$1 !== null) { 11408 var prevProps = current$1.memoizedProps; 11409 if (shallowEqual(prevProps, nextProps) && current$1.ref === workInProgress$1.ref && workInProgress$1.type === current$1.type) { 11410 didReceiveUpdate = false; 11411 workInProgress$1.pendingProps = nextProps = prevProps; 11412 if (!checkScheduledUpdateOrContext(current$1, renderLanes$1)) { 11413 workInProgress$1.lanes = current$1.lanes; 11414 return bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 11415 } else if ((current$1.flags & ForceUpdateForLegacySuspense) !== NoFlags) didReceiveUpdate = true; 11416 } 11417 } 11418 return updateFunctionComponent(current$1, workInProgress$1, Component, nextProps, renderLanes$1); 11419 } 11420 function updateOffscreenComponent(current$1, workInProgress$1, renderLanes$1) { 11421 var nextProps = workInProgress$1.pendingProps; 11422 var nextChildren = nextProps.children; 11423 var prevState = current$1 !== null ? current$1.memoizedState : null;
11424 if (nextProps.mode === "hidden" || enableLegacyHidden) if ((workInProgress$1.mode & ConcurrentMode) === NoMode) { 11425 workInProgress$1.memoizedState = { 11426 baseLanes: NoLanes, 11427 cachePool: null, 11428 transitions: null 11429 }; 11430 pushRenderLanes(workInProgress$1, renderLanes$1); 11431 } else if (!includesSomeLane(renderLanes$1, OffscreenLane)) { 11432 var spawnedCachePool = null; 11433 var nextBaseLanes; 11434 if (prevState !== null) { 11435 var prevBaseLanes = prevState.baseLanes; 11436 nextBaseLanes = mergeLanes(prevBaseLanes, renderLanes$1); 11437 } else nextBaseLanes = renderLanes$1; 11438 workInProgress$1.lanes = workInProgress$1.childLanes = laneToLanes(OffscreenLane); 11439 workInProgress$1.memoizedState = { 11440 baseLanes: nextBaseLanes, 11441 cachePool: spawnedCachePool, 11442 transitions: null 11443 }; 11444 workInProgress$1.updateQueue = null; 11445 pushRenderLanes(workInProgress$1, nextBaseLanes); 11446 return null; 11447 } else { 11448 workInProgress$1.memoizedState = { 11449 baseLanes: NoLanes, 11450 cachePool: null, 11451 transitions: null 11452 }; 11453 pushRenderLanes(workInProgress$1, prevState !== null ? prevState.baseLanes : renderLanes$1); 11454 } 11455 else { 11456 var _subtreeRenderLanes; 11457 if (prevState !== null) { 11458 _subtreeRenderLanes = mergeLanes(prevState.baseLanes, renderLanes$1); 11459 workInProgress$1.memoizedState = null; 11460 } else _subtreeRenderLanes = renderLanes$1; 11461 pushRenderLanes(workInProgress$1, _subtreeRenderLanes); 11462 } 11463 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11464 return workInProgress$1.child; 11465 } 11466 function updateFragment(current$1, workInProgress$1, renderLanes$1) { 11467 var nextChildren = workInProgress$1.pendingProps; 11468 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11469 return workInProgress$1.child; 11470 } 11471 function updateMode(current$1, workInProgress$1, renderLanes$1) { 11472 var nextChildren = workInProgress$1.pendingProps.children; 11473 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11474 return workInProgress$1.child; 11475 } 11476 function updateProfiler(current$1, workInProgress$1, renderLanes$1) { 11477 workInProgress$1.flags |= Update; 11478 var stateNode = workInProgress$1.stateNode; 11479 stateNode.effectDuration = 0; 11480 stateNode.passiveEffectDuration = 0; 11481 var nextChildren = workInProgress$1.pendingProps.children; 11482 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11483 return workInProgress$1.child; 11484 } 11485 function markRef(current$1, workInProgress$1) { 11486 var ref = workInProgress$1.ref; 11487 if (current$1 === null && ref !== null || current$1 !== null && current$1.ref !== ref) { 11488 workInProgress$1.flags |= Ref; 11489 workInProgress$1.flags |= RefStatic; 11490 } 11491 } 11492 function updateFunctionComponent(current$1, workInProgress$1, Component, nextProps, renderLanes$1) { 11493 if (workInProgress$1.type !== workInProgress$1.elementType) { 11494 var innerPropTypes = Component.propTypes; 11495 if (innerPropTypes) checkPropTypes(innerPropTypes, nextProps, "prop", getComponentNameFromType(Component)); 11496 } 11497 var context = getMaskedContext(workInProgress$1, getUnmaskedContext(workInProgress$1, Component, true)); 11498 var nextChildren; 11499 var hasId; 11500 prepareToReadContext(workInProgress$1, renderLanes$1); 11501 markComponentRenderStarted(workInProgress$1); 11502 ReactCurrentOwner$1.current = workInProgress$1; 11503 setIsRendering(true); 11504 nextChildren = renderWithHooks(current$1, workInProgress$1, Component, nextProps, context, renderLanes$1); 11505 hasId = checkDidRenderIdHook(); 11506 if (workInProgress$1.mode & StrictLegacyMode) { 11507 setIsStrictModeForDevtools(true); 11508 try { 11509 nextChildren = renderWithHooks(current$1, workInProgress$1, Component, nextProps, context, renderLanes$1); 11510 hasId = checkDidRenderIdHook(); 11511 } finally { 11512 setIsStrictModeForDevtools(false); 11513 } 11514 } 11515 setIsRendering(false); 11516 markComponentRenderStopped(); 11517 if (current$1 !== null && !didReceiveUpdate) { 11518 bailoutHooks(current$1, workInProgress$1, renderLanes$1); 11519 return bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 11520 } 11521 if (getIsHydrating() && hasId) pushMaterializedTreeId(workInProgress$1); 11522 workInProgress$1.flags |= PerformedWork; 11523 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11524 return workInProgress$1.child; 11525 } 11526 function updateClassComponent(current$1, workInProgress$1, Component, nextProps, renderLanes$1) { 11527 switch (shouldError(workInProgress$1)) { 11528 case false: 11529 var _instance = workInProgress$1.stateNode; 11530 var ctor = workInProgress$1.type; 11531 var state = new ctor(workInProgress$1.memoizedProps, _instance.context).state; 11532 _instance.updater.enqueueSetState(_instance, state, null); 11533 break; 11534 case true: 11535 workInProgress$1.flags |= DidCapture; 11536 workInProgress$1.flags |= ShouldCapture; 11537 var error$1 = /* @__PURE__ */ new Error("Simulated error coming from DevTools"); 11538 var lane = pickArbitraryLane(renderLanes$1); 11539 workInProgress$1.lanes = mergeLanes(workInProgress$1.lanes, lane); 11540 enqueueCapturedUpdate(workInProgress$1, createClassErrorUpdate(workInProgress$1, createCapturedValueAtFiber(error$1, workInProgress$1), lane)); 11541 break; 11542 } 11543 if (workInProgress$1.type !== workInProgress$1.elementType) { 11544 var innerPropTypes = Component.propTypes; 11545 if (innerPropTypes) checkPropTypes(innerPropTypes, nextProps, "prop", getComponentNameFromType(Component)); 11546 } 11547 var hasContext; 11548 if (isContextProvider(Component)) { 11549 hasContext = true; 11550 pushContextProvider(workInProgress$1); 11551 } else hasContext = false;
11552 prepareToReadContext(workInProgress$1, renderLanes$1); 11553 var instance = workInProgress$1.stateNode; 11554 var shouldUpdate; 11555 if (instance === null) { 11556 resetSuspendedCurrentOnMountInLegacyMode(current$1, workInProgress$1); 11557 constructClassInstance(workInProgress$1, Component, nextProps); 11558 mountClassInstance(workInProgress$1, Component, nextProps, renderLanes$1); 11559 shouldUpdate = true; 11560 } else if (current$1 === null) shouldUpdate = resumeMountClassInstance(workInProgress$1, Component, nextProps, renderLanes$1); 11561 else shouldUpdate = updateClassInstance(current$1, workInProgress$1, Component, nextProps, renderLanes$1); 11562 var nextUnitOfWork = finishClassComponent(current$1, workInProgress$1, Component, shouldUpdate, hasContext, renderLanes$1); 11563 var inst = workInProgress$1.stateNode; 11564 if (shouldUpdate && inst.props !== nextProps) { 11565 if (!didWarnAboutReassigningProps) error("It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", getComponentNameFromFiber(workInProgress$1) || "a component"); 11566 didWarnAboutReassigningProps = true; 11567 } 11568 return nextUnitOfWork; 11569 } 11570 function finishClassComponent(current$1, workInProgress$1, Component, shouldUpdate, hasContext, renderLanes$1) { 11571 markRef(current$1, workInProgress$1); 11572 var didCaptureError = (workInProgress$1.flags & DidCapture) !== NoFlags; 11573 if (!shouldUpdate && !didCaptureError) { 11574 if (hasContext) invalidateContextProvider(workInProgress$1, Component, false); 11575 return bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 11576 } 11577 var instance = workInProgress$1.stateNode; 11578 ReactCurrentOwner$1.current = workInProgress$1; 11579 var nextChildren; 11580 if (didCaptureError && typeof Component.getDerivedStateFromError !== "function") { 11581 nextChildren = null; 11582 stopProfilerTimerIfRunning(); 11583 } else { 11584 markComponentRenderStarted(workInProgress$1); 11585 setIsRendering(true); 11586 nextChildren = instance.render(); 11587 if (workInProgress$1.mode & StrictLegacyMode) { 11588 setIsStrictModeForDevtools(true); 11589 try { 11590 instance.render(); 11591 } finally { 11592 setIsStrictModeForDevtools(false); 11593 } 11594 } 11595 setIsRendering(false); 11596 markComponentRenderStopped(); 11597 } 11598 workInProgress$1.flags |= PerformedWork; 11599 if (current$1 !== null && didCaptureError) forceUnmountCurrentAndReconcile(current$1, workInProgress$1, nextChildren, renderLanes$1); 11600 else reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11601 workInProgress$1.memoizedState = instance.state; 11602 if (hasContext) invalidateContextProvider(workInProgress$1, Component, true); 11603 return workInProgress$1.child; 11604 } 11605 function pushHostRootContext(workInProgress$1) { 11606 var root$1 = workInProgress$1.stateNode; 11607 if (root$1.pendingContext) pushTopLevelContextObject(workInProgress$1, root$1.pendingContext, root$1.pendingContext !== root$1.context); 11608 else if (root$1.context) pushTopLevelContextObject(workInProgress$1, root$1.context, false); 11609 pushHostContainer(workInProgress$1, root$1.containerInfo); 11610 } 11611 function updateHostRoot(current$1, workInProgress$1, renderLanes$1) { 11612 pushHostRootContext(workInProgress$1); 11613 if (current$1 === null) throw new Error("Should have a current fiber. This is a bug in React."); 11614 var nextProps = workInProgress$1.pendingProps; 11615 var prevState = workInProgress$1.memoizedState; 11616 var prevChildren = prevState.element; 11617 cloneUpdateQueue(current$1, workInProgress$1); 11618 processUpdateQueue(workInProgress$1, nextProps, null, renderLanes$1); 11619 var nextState = workInProgress$1.memoizedState; 11620 workInProgress$1.stateNode; 11621 var nextChildren = nextState.element; 11622 if (prevState.isDehydrated) { 11623 var overrideState = { 11624 element: nextChildren, 11625 isDehydrated: false, 11626 cache: nextState.cache, 11627 pendingSuspenseBoundaries: nextState.pendingSuspenseBoundaries, 11628 transitions: nextState.transitions 11629 }; 11630 var updateQueue = workInProgress$1.updateQueue; 11631 updateQueue.baseState = overrideState; 11632 workInProgress$1.memoizedState = overrideState; 11633 if (workInProgress$1.flags & ForceClientRender) return mountHostRootWithoutHydrating(current$1, workInProgress$1, nextChildren, renderLanes$1, createCapturedValueAtFiber(/* @__PURE__ */ new Error("There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering."), workInProgress$1)); 11634 else if (nextChildren !== prevChildren) return mountHostRootWithoutHydrating(current$1, workInProgress$1, nextChildren, renderLanes$1, createCapturedValueAtFiber(/* @__PURE__ */ new Error("This root received an early update, before anything was able hydrate. Switched the entire root to client rendering."), workInProgress$1)); 11635 else { 11636 enterHydrationState(workInProgress$1); 11637 var child = mountChildFibers(workInProgress$1, null, nextChildren, renderLanes$1); 11638 workInProgress$1.child = child; 11639 var node = child; 11640 while (node) { 11641 node.flags = node.flags & ~Placement | Hydrating; 11642 node = node.sibling; 11643 } 11644 } 11645 } else { 11646 resetHydrationState(); 11647 if (nextChildren === prevChildren) return bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 11648 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11649 } 11650 return workInProgress$1.child; 11651 } 11652 function mountHostRootWithoutHydrating(current$1, workInProgress$1, nextChildren, renderLanes$1, recoverableError) { 11653 resetHydrationState(); 11654 queueHydrationError(recoverableError); 11655 workInProgress$1.flags |= ForceClientRender; 11656 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11657 return workInProgress$1.child; 11658 } 11659 function updateHostComponent(current$1, workInProgress$1, renderLanes$1) { 11660 pushHostContext(workInProgress$1); 11661 if (current$1 === null) tryToClaimNextHydratableInstance(workInProgress$1); 11662 var type = workInProgress$1.type; 11663 var nextProps = workInProgress$1.pendingProps; 11664 var prevProps = current$1 !== null ? current$1.memoizedProps : null; 11665 var nextChildren = nextProps.children; 11666 if (shouldSetTextContent(type, nextProps)) nextChildren = null; 11667 else if (prevProps !== null && shouldSetTextContent(type, prevProps)) workInProgress$1.flags |= ContentReset; 11668 markRef(current$1, workInProgress$1); 11669 reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 11670 return workInProgress$1.child; 11671 } 11672 function updateHostText(current$1, workInProgress$1) { 11673 if (current$1 === null) tryToClaimNextHydratableInstance(workInProgress$1); 11674 return null; 11675 } 11676 function mountLazyComponent(_current, workInProgress$1, elementType, renderLanes$1) { 11677 resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress$1); 11678 var props = workInProgress$1.pendingProps; 11679 var lazyComponent = elementType; 11680 var payload = lazyComponent._payload; 11681 var init = lazyComponent._init; 11682 var Component = init(payload); 11683 workInProgress$1.type = Component; 11684 var resolvedTag = workInProgress$1.tag = resolveLazyComponentTag(Component); 11685 var resolvedProps = resolveDefaultProps(Component, props); 11686 var child; 11687 switch (resolvedTag) { 11688 case FunctionComponent: 11689 validateFunctionComponentInDev(workInProgress$1, Component); 11690 workInProgress$1.type = Component = resolveFunctionForHotReloading(Component); 11691 child = updateFunctionComponent(null, workInProgress$1, Component, resolvedProps, renderLanes$1); 11692 return child; 11693 case ClassComponent:
11694 workInProgress$1.type = Component = resolveClassForHotReloading(Component); 11695 child = updateClassComponent(null, workInProgress$1, Component, resolvedProps, renderLanes$1); 11696 return child; 11697 case ForwardRef: 11698 workInProgress$1.type = Component = resolveForwardRefForHotReloading(Component); 11699 child = updateForwardRef(null, workInProgress$1, Component, resolvedProps, renderLanes$1); 11700 return child; 11701 case MemoComponent: 11702 if (workInProgress$1.type !== workInProgress$1.elementType) { 11703 var outerPropTypes = Component.propTypes; 11704 if (outerPropTypes) checkPropTypes(outerPropTypes, resolvedProps, "prop", getComponentNameFromType(Component)); 11705 } 11706 child = updateMemoComponent(null, workInProgress$1, Component, resolveDefaultProps(Component.type, resolvedProps), renderLanes$1); 11707 return child; 11708 } 11709 var hint = ""; 11710 if (Component !== null && typeof Component === "object" && Component.$$typeof === REACT_LAZY_TYPE) hint = " Did you wrap a component in React.lazy() more than once?"; 11711 throw new Error("Element type is invalid. Received a promise that resolves to: " + Component + ". " + ("Lazy element type must resolve to a class or function." + hint)); 11712 } 11713 function mountIncompleteClassComponent(_current, workInProgress$1, Component, nextProps, renderLanes$1) { 11714 resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress$1); 11715 workInProgress$1.tag = ClassComponent; 11716 var hasContext; 11717 if (isContextProvider(Component)) { 11718 hasContext = true; 11719 pushContextProvider(workInProgress$1); 11720 } else hasContext = false; 11721 prepareToReadContext(workInProgress$1, renderLanes$1); 11722 constructClassInstance(workInProgress$1, Component, nextProps); 11723 mountClassInstance(workInProgress$1, Component, nextProps, renderLanes$1); 11724 return finishClassComponent(null, workInProgress$1, Component, true, hasContext, renderLanes$1); 11725 } 11726 function mountIndeterminateComponent(_current, workInProgress$1, Component, renderLanes$1) { 11727 resetSuspendedCurrentOnMountInLegacyMode(_current, workInProgress$1); 11728 var props = workInProgress$1.pendingProps; 11729 var context = getMaskedContext(workInProgress$1, getUnmaskedContext(workInProgress$1, Component, false)); 11730 prepareToReadContext(workInProgress$1, renderLanes$1); 11731 var value; 11732 var hasId; 11733 markComponentRenderStarted(workInProgress$1); 11734 if (Component.prototype && typeof Component.prototype.render === "function") { 11735 var componentName = getComponentNameFromType(Component) || "Unknown"; 11736 if (!didWarnAboutBadClass[componentName]) { 11737 error("The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", componentName, componentName); 11738 didWarnAboutBadClass[componentName] = true; 11739 } 11740 } 11741 if (workInProgress$1.mode & StrictLegacyMode) ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress$1, null); 11742 setIsRendering(true); 11743 ReactCurrentOwner$1.current = workInProgress$1; 11744 value = renderWithHooks(null, workInProgress$1, Component, props, context, renderLanes$1); 11745 hasId = checkDidRenderIdHook(); 11746 setIsRendering(false); 11747 markComponentRenderStopped(); 11748 workInProgress$1.flags |= PerformedWork; 11749 if (typeof value === "object" && value !== null && typeof value.render === "function" && value.$$typeof === void 0) { 11750 var _componentName = getComponentNameFromType(Component) || "Unknown"; 11751 if (!didWarnAboutModulePatternComponent[_componentName]) { 11752 error("The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.", _componentName, _componentName, _componentName); 11753 didWarnAboutModulePatternComponent[_componentName] = true; 11754 } 11755 } 11756 if (typeof value === "object" && value !== null && typeof value.render === "function" && value.$$typeof === void 0) { 11757 var _componentName2 = getComponentNameFromType(Component) || "Unknown"; 11758 if (!didWarnAboutModulePatternComponent[_componentName2]) { 11759 error("The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.", _componentName2, _componentName2, _componentName2); 11760 didWarnAboutModulePatternComponent[_componentName2] = true; 11761 } 11762 workInProgress$1.tag = ClassComponent; 11763 workInProgress$1.memoizedState = null; 11764 workInProgress$1.updateQueue = null; 11765 var hasContext = false;
11766 if (isContextProvider(Component)) { 11767 hasContext = true; 11768 pushContextProvider(workInProgress$1); 11769 } else hasContext = false; 11770 workInProgress$1.memoizedState = value.state !== null && value.state !== void 0 ? value.state : null; 11771 initializeUpdateQueue(workInProgress$1); 11772 adoptClassInstance(workInProgress$1, value); 11773 mountClassInstance(workInProgress$1, Component, props, renderLanes$1); 11774 return finishClassComponent(null, workInProgress$1, Component, true, hasContext, renderLanes$1); 11775 } else { 11776 workInProgress$1.tag = FunctionComponent; 11777 if (workInProgress$1.mode & StrictLegacyMode) { 11778 setIsStrictModeForDevtools(true); 11779 try { 11780 value = renderWithHooks(null, workInProgress$1, Component, props, context, renderLanes$1); 11781 hasId = checkDidRenderIdHook(); 11782 } finally { 11783 setIsStrictModeForDevtools(false); 11784 } 11785 } 11786 if (getIsHydrating() && hasId) pushMaterializedTreeId(workInProgress$1); 11787 reconcileChildren(null, workInProgress$1, value, renderLanes$1); 11788 validateFunctionComponentInDev(workInProgress$1, Component); 11789 return workInProgress$1.child; 11790 } 11791 } 11792 function validateFunctionComponentInDev(workInProgress$1, Component) { 11793 if (Component) { 11794 if (Component.childContextTypes) error("%s(...): childContextTypes cannot be defined on a function component.", Component.displayName || Component.name || "Component"); 11795 } 11796 if (workInProgress$1.ref !== null) { 11797 var info = ""; 11798 var ownerName = getCurrentFiberOwnerNameInDevOrNull(); 11799 if (ownerName) info += "\n\nCheck the render method of `" + ownerName + "`."; 11800 var warningKey = ownerName || ""; 11801 var debugSource = workInProgress$1._debugSource; 11802 if (debugSource) warningKey = debugSource.fileName + ":" + debugSource.lineNumber; 11803 if (!didWarnAboutFunctionRefs[warningKey]) { 11804 didWarnAboutFunctionRefs[warningKey] = true; 11805 error("Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s", info); 11806 } 11807 } 11808 if (Component.defaultProps !== void 0) { 11809 var componentName = getComponentNameFromType(Component) || "Unknown"; 11810 if (!didWarnAboutDefaultPropsOnFunctionComponent[componentName]) { 11811 error("%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.", componentName); 11812 didWarnAboutDefaultPropsOnFunctionComponent[componentName] = true; 11813 } 11814 } 11815 if (typeof Component.getDerivedStateFromProps === "function") { 11816 var _componentName3 = getComponentNameFromType(Component) || "Unknown"; 11817 if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3]) { 11818 error("%s: Function components do not support getDerivedStateFromProps.", _componentName3); 11819 didWarnAboutGetDerivedStateOnFunctionComponent[_componentName3] = true; 11820 } 11821 } 11822 if (typeof Component.contextType === "object" && Component.contextType !== null) { 11823 var _componentName4 = getComponentNameFromType(Component) || "Unknown"; 11824 if (!didWarnAboutContextTypeOnFunctionComponent[_componentName4]) { 11825 error("%s: Function components do not support contextType.", _componentName4); 11826 didWarnAboutContextTypeOnFunctionComponent[_componentName4] = true; 11827 } 11828 } 11829 } 11830 var SUSPENDED_MARKER = { 11831 dehydrated: null, 11832 treeContext: null, 11833 retryLane: NoLane 11834 }; 11835 function mountSuspenseOffscreenState(renderLanes$1) { 11836 return { 11837 baseLanes: renderLanes$1, 11838 cachePool: getSuspendedCache(), 11839 transitions: null 11840 }; 11841 } 11842 function updateSuspenseOffscreenState(prevOffscreenState, renderLanes$1) { 11843 return { 11844 baseLanes: mergeLanes(prevOffscreenState.baseLanes, renderLanes$1), 11845 cachePool: null, 11846 transitions: prevOffscreenState.transitions 11847 }; 11848 } 11849 function shouldRemainOnFallback(suspenseContext, current$1, workInProgress$1, renderLanes$1) { 11850 if (current$1 !== null) { 11851 if (current$1.memoizedState === null) return false; 11852 } 11853 return hasSuspenseContext(suspenseContext, ForceSuspenseFallback); 11854 } 11855 function getRemainingWorkInPrimaryTree(current$1, renderLanes$1) { 11856 return removeLanes(current$1.childLanes, renderLanes$1); 11857 } 11858 function updateSuspenseComponent(current$1, workInProgress$1, renderLanes$1) { 11859 var nextProps = workInProgress$1.pendingProps; 11860 if (shouldSuspend(workInProgress$1)) workInProgress$1.flags |= DidCapture; 11861 var suspenseContext = suspenseStackCursor.current; 11862 var showFallback = false;
11863 var didSuspend = (workInProgress$1.flags & DidCapture) !== NoFlags; 11864 if (didSuspend || shouldRemainOnFallback(suspenseContext, current$1)) { 11865 showFallback = true; 11866 workInProgress$1.flags &= ~DidCapture; 11867 } else if (current$1 === null || current$1.memoizedState !== null) suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext); 11868 suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 11869 pushSuspenseContext(workInProgress$1, suspenseContext); 11870 if (current$1 === null) { 11871 tryToClaimNextHydratableInstance(workInProgress$1); 11872 var suspenseState = workInProgress$1.memoizedState; 11873 if (suspenseState !== null) { 11874 var dehydrated = suspenseState.dehydrated; 11875 if (dehydrated !== null) return mountDehydratedSuspenseComponent(workInProgress$1, dehydrated); 11876 } 11877 var nextPrimaryChildren = nextProps.children; 11878 var nextFallbackChildren = nextProps.fallback; 11879 if (showFallback) { 11880 var fallbackFragment = mountSuspenseFallbackChildren(workInProgress$1, nextPrimaryChildren, nextFallbackChildren, renderLanes$1); 11881 var primaryChildFragment = workInProgress$1.child; 11882 primaryChildFragment.memoizedState = mountSuspenseOffscreenState(renderLanes$1); 11883 workInProgress$1.memoizedState = SUSPENDED_MARKER; 11884 return fallbackFragment; 11885 } else return mountSuspensePrimaryChildren(workInProgress$1, nextPrimaryChildren); 11886 } else { 11887 var prevState = current$1.memoizedState; 11888 if (prevState !== null) { 11889 var _dehydrated = prevState.dehydrated; 11890 if (_dehydrated !== null) return updateDehydratedSuspenseComponent(current$1, workInProgress$1, didSuspend, nextProps, _dehydrated, prevState, renderLanes$1); 11891 } 11892 if (showFallback) { 11893 var _nextFallbackChildren = nextProps.fallback; 11894 var _nextPrimaryChildren = nextProps.children; 11895 var fallbackChildFragment = updateSuspenseFallbackChildren(current$1, workInProgress$1, _nextPrimaryChildren, _nextFallbackChildren, renderLanes$1); 11896 var _primaryChildFragment2 = workInProgress$1.child; 11897 var prevOffscreenState = current$1.child.memoizedState; 11898 _primaryChildFragment2.memoizedState = prevOffscreenState === null ? mountSuspenseOffscreenState(renderLanes$1) : updateSuspenseOffscreenState(prevOffscreenState, renderLanes$1); 11899 _primaryChildFragment2.childLanes = getRemainingWorkInPrimaryTree(current$1, renderLanes$1); 11900 workInProgress$1.memoizedState = SUSPENDED_MARKER; 11901 return fallbackChildFragment; 11902 } else { 11903 var _nextPrimaryChildren2 = nextProps.children; 11904 var _primaryChildFragment3 = updateSuspensePrimaryChildren(current$1, workInProgress$1, _nextPrimaryChildren2, renderLanes$1); 11905 workInProgress$1.memoizedState = null; 11906 return _primaryChildFragment3; 11907 } 11908 } 11909 } 11910 function mountSuspensePrimaryChildren(workInProgress$1, primaryChildren, renderLanes$1) { 11911 var mode = workInProgress$1.mode; 11912 var primaryChildFragment = mountWorkInProgressOffscreenFiber({ 11913 mode: "visible", 11914 children: primaryChildren 11915 }, mode); 11916 primaryChildFragment.return = workInProgress$1; 11917 workInProgress$1.child = primaryChildFragment; 11918 return primaryChildFragment; 11919 } 11920 function mountSuspenseFallbackChildren(workInProgress$1, primaryChildren, fallbackChildren, renderLanes$1) { 11921 var mode = workInProgress$1.mode; 11922 var progressedPrimaryFragment = workInProgress$1.child; 11923 var primaryChildProps = { 11924 mode: "hidden", 11925 children: primaryChildren 11926 }; 11927 var primaryChildFragment; 11928 var fallbackChildFragment; 11929 if ((mode & ConcurrentMode) === NoMode && progressedPrimaryFragment !== null) { 11930 primaryChildFragment = progressedPrimaryFragment; 11931 primaryChildFragment.childLanes = NoLanes; 11932 primaryChildFragment.pendingProps = primaryChildProps; 11933 if (workInProgress$1.mode & ProfileMode) { 11934 primaryChildFragment.actualDuration = 0; 11935 primaryChildFragment.actualStartTime = -1; 11936 primaryChildFragment.selfBaseDuration = 0; 11937 primaryChildFragment.treeBaseDuration = 0; 11938 } 11939 fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes$1, null); 11940 } else { 11941 primaryChildFragment = mountWorkInProgressOffscreenFiber(primaryChildProps, mode); 11942 fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes$1, null); 11943 }
11944 primaryChildFragment.return = workInProgress$1; 11945 fallbackChildFragment.return = workInProgress$1; 11946 primaryChildFragment.sibling = fallbackChildFragment; 11947 workInProgress$1.child = primaryChildFragment; 11948 return fallbackChildFragment; 11949 } 11950 function mountWorkInProgressOffscreenFiber(offscreenProps, mode, renderLanes$1) { 11951 return createFiberFromOffscreen(offscreenProps, mode, NoLanes, null); 11952 } 11953 function updateWorkInProgressOffscreenFiber(current$1, offscreenProps) { 11954 return createWorkInProgress(current$1, offscreenProps); 11955 } 11956 function updateSuspensePrimaryChildren(current$1, workInProgress$1, primaryChildren, renderLanes$1) { 11957 var currentPrimaryChildFragment = current$1.child; 11958 var currentFallbackChildFragment = currentPrimaryChildFragment.sibling; 11959 var primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, { 11960 mode: "visible", 11961 children: primaryChildren 11962 }); 11963 if ((workInProgress$1.mode & ConcurrentMode) === NoMode) primaryChildFragment.lanes = renderLanes$1; 11964 primaryChildFragment.return = workInProgress$1; 11965 primaryChildFragment.sibling = null; 11966 if (currentFallbackChildFragment !== null) { 11967 var deletions = workInProgress$1.deletions; 11968 if (deletions === null) { 11969 workInProgress$1.deletions = [currentFallbackChildFragment]; 11970 workInProgress$1.flags |= ChildDeletion; 11971 } else deletions.push(currentFallbackChildFragment); 11972 } 11973 workInProgress$1.child = primaryChildFragment; 11974 return primaryChildFragment; 11975 } 11976 function updateSuspenseFallbackChildren(current$1, workInProgress$1, primaryChildren, fallbackChildren, renderLanes$1) { 11977 var mode = workInProgress$1.mode; 11978 var currentPrimaryChildFragment = current$1.child; 11979 var currentFallbackChildFragment = currentPrimaryChildFragment.sibling; 11980 var primaryChildProps = { 11981 mode: "hidden", 11982 children: primaryChildren 11983 }; 11984 var primaryChildFragment; 11985 if ((mode & ConcurrentMode) === NoMode && workInProgress$1.child !== currentPrimaryChildFragment) { 11986 primaryChildFragment = workInProgress$1.child; 11987 primaryChildFragment.childLanes = NoLanes; 11988 primaryChildFragment.pendingProps = primaryChildProps; 11989 if (workInProgress$1.mode & ProfileMode) { 11990 primaryChildFragment.actualDuration = 0; 11991 primaryChildFragment.actualStartTime = -1; 11992 primaryChildFragment.selfBaseDuration = currentPrimaryChildFragment.selfBaseDuration; 11993 primaryChildFragment.treeBaseDuration = currentPrimaryChildFragment.treeBaseDuration; 11994 } 11995 workInProgress$1.deletions = null; 11996 } else { 11997 primaryChildFragment = updateWorkInProgressOffscreenFiber(currentPrimaryChildFragment, primaryChildProps); 11998 primaryChildFragment.subtreeFlags = currentPrimaryChildFragment.subtreeFlags & StaticMask; 11999 } 12000 var fallbackChildFragment; 12001 if (currentFallbackChildFragment !== null) fallbackChildFragment = createWorkInProgress(currentFallbackChildFragment, fallbackChildren); 12002 else { 12003 fallbackChildFragment = createFiberFromFragment(fallbackChildren, mode, renderLanes$1, null); 12004 fallbackChildFragment.flags |= Placement; 12005 } 12006 fallbackChildFragment.return = workInProgress$1; 12007 primaryChildFragment.return = workInProgress$1; 12008 primaryChildFragment.sibling = fallbackChildFragment; 12009 workInProgress$1.child = primaryChildFragment; 12010 return fallbackChildFragment; 12011 } 12012 function retrySuspenseComponentWithoutHydrating(current$1, workInProgress$1, renderLanes$1, recoverableError) { 12013 if (recoverableError !== null) queueHydrationError(recoverableError); 12014 reconcileChildFibers(workInProgress$1, current$1.child, null, renderLanes$1); 12015 var primaryChildren = workInProgress$1.pendingProps.children; 12016 var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress$1, primaryChildren); 12017 primaryChildFragment.flags |= Placement; 12018 workInProgress$1.memoizedState = null; 12019 return primaryChildFragment; 12020 } 12021 function mountSuspenseFallbackAfterRetryWithoutHydrating(current$1, workInProgress$1, primaryChildren, fallbackChildren, renderLanes$1) { 12022 var fiberMode = workInProgress$1.mode; 12023 var primaryChildFragment = mountWorkInProgressOffscreenFiber({ 12024 mode: "visible", 12025 children: primaryChildren 12026 }, fiberMode); 12027 var fallbackChildFragment = createFiberFromFragment(fallbackChildren, fiberMode, renderLanes$1, null); 12028 fallbackChildFragment.flags |= Placement;
12029 primaryChildFragment.return = workInProgress$1; 12030 fallbackChildFragment.return = workInProgress$1; 12031 primaryChildFragment.sibling = fallbackChildFragment; 12032 workInProgress$1.child = primaryChildFragment; 12033 if ((workInProgress$1.mode & ConcurrentMode) !== NoMode) reconcileChildFibers(workInProgress$1, current$1.child, null, renderLanes$1); 12034 return fallbackChildFragment; 12035 } 12036 function mountDehydratedSuspenseComponent(workInProgress$1, suspenseInstance, renderLanes$1) { 12037 if ((workInProgress$1.mode & ConcurrentMode) === NoMode) { 12038 error("Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOMClient.hydrateRoot(container, <App />).render(element) or remove the Suspense components from the server rendered components."); 12039 workInProgress$1.lanes = laneToLanes(SyncLane); 12040 } else if (isSuspenseInstanceFallback(suspenseInstance)) workInProgress$1.lanes = laneToLanes(DefaultHydrationLane); 12041 else workInProgress$1.lanes = laneToLanes(OffscreenLane); 12042 return null; 12043 } 12044 function updateDehydratedSuspenseComponent(current$1, workInProgress$1, didSuspend, nextProps, suspenseInstance, suspenseState, renderLanes$1) { 12045 if (!didSuspend) { 12046 warnIfHydrating(); 12047 if ((workInProgress$1.mode & ConcurrentMode) === NoMode) return retrySuspenseComponentWithoutHydrating(current$1, workInProgress$1, renderLanes$1, null); 12048 if (isSuspenseInstanceFallback(suspenseInstance)) { 12049 var digest, message, stack; 12050 var _getSuspenseInstanceF = getSuspenseInstanceFallbackErrorDetails(suspenseInstance); 12051 digest = _getSuspenseInstanceF.digest; 12052 message = _getSuspenseInstanceF.message; 12053 stack = _getSuspenseInstanceF.stack; 12054 var error$1; 12055 if (message) error$1 = new Error(message); 12056 else error$1 = /* @__PURE__ */ new Error("The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering."); 12057 return retrySuspenseComponentWithoutHydrating(current$1, workInProgress$1, renderLanes$1, createCapturedValue(error$1, digest, stack)); 12058 } 12059 var hasContextChanged$1 = includesSomeLane(renderLanes$1, current$1.childLanes); 12060 if (didReceiveUpdate || hasContextChanged$1) { 12061 var root$1 = getWorkInProgressRoot(); 12062 if (root$1 !== null) { 12063 var attemptHydrationAtLane = getBumpedLaneForHydration(root$1, renderLanes$1); 12064 if (attemptHydrationAtLane !== NoLane && attemptHydrationAtLane !== suspenseState.retryLane) { 12065 suspenseState.retryLane = attemptHydrationAtLane; 12066 var eventTime = NoTimestamp; 12067 enqueueConcurrentRenderForLane(current$1, attemptHydrationAtLane); 12068 scheduleUpdateOnFiber(root$1, current$1, attemptHydrationAtLane, eventTime); 12069 } 12070 } 12071 renderDidSuspendDelayIfPossible(); 12072 return retrySuspenseComponentWithoutHydrating(current$1, workInProgress$1, renderLanes$1, createCapturedValue(/* @__PURE__ */ new Error("This Suspense boundary received an update before it finished hydrating. This caused the boundary to switch to client rendering. The usual way to fix this is to wrap the original update in startTransition."))); 12073 } else if (isSuspenseInstancePending(suspenseInstance)) { 12074 workInProgress$1.flags |= DidCapture; 12075 workInProgress$1.child = current$1.child; 12076 registerSuspenseInstanceRetry(suspenseInstance, retryDehydratedSuspenseBoundary.bind(null, current$1)); 12077 return null; 12078 } else { 12079 reenterHydrationStateFromDehydratedSuspenseInstance(workInProgress$1, suspenseInstance, suspenseState.treeContext); 12080 var primaryChildren = nextProps.children; 12081 var primaryChildFragment = mountSuspensePrimaryChildren(workInProgress$1, primaryChildren); 12082 primaryChildFragment.flags |= Hydrating; 12083 return primaryChildFragment; 12084 } 12085 } else if (workInProgress$1.flags & ForceClientRender) { 12086 workInProgress$1.flags &= ~ForceClientRender; 12087 return retrySuspenseComponentWithoutHydrating(current$1, workInProgress$1, renderLanes$1, createCapturedValue(/* @__PURE__ */ new Error("There was an error while hydrating this Suspense boundary. Switched to client rendering."))); 12088 } else if (workInProgress$1.memoizedState !== null) { 12089 workInProgress$1.child = current$1.child; 12090 workInProgress$1.flags |= DidCapture; 12091 return null; 12092 } else { 12093 var nextPrimaryChildren = nextProps.children; 12094 var nextFallbackChildren = nextProps.fallback; 12095 var fallbackChildFragment = mountSuspenseFallbackAfterRetryWithoutHydrating(current$1, workInProgress$1, nextPrimaryChildren, nextFallbackChildren, renderLanes$1); 12096 var _primaryChildFragment4 = workInProgress$1.child; 12097 _primaryChildFragment4.memoizedState = mountSuspenseOffscreenState(renderLanes$1); 12098 workInProgress$1.memoizedState = SUSPENDED_MARKER; 12099 return fallbackChildFragment; 12100 } 12101 } 12102 function scheduleSuspenseWorkOnFiber(fiber, renderLanes$1, propagationRoot) { 12103 fiber.lanes = mergeLanes(fiber.lanes, renderLanes$1); 12104 var alternate = fiber.alternate; 12105 if (alternate !== null) alternate.lanes = mergeLanes(alternate.lanes, renderLanes$1); 12106 scheduleContextWorkOnParentPath(fiber.return, renderLanes$1, propagationRoot); 12107 } 12108 function propagateSuspenseContextChange(workInProgress$1, firstChild, renderLanes$1) { 12109 var node = firstChild; 12110 while (node !== null) { 12111 if (node.tag === SuspenseComponent) { 12112 if (node.memoizedState !== null) scheduleSuspenseWorkOnFiber(node, renderLanes$1, workInProgress$1); 12113 } else if (node.tag === SuspenseListComponent) scheduleSuspenseWorkOnFiber(node, renderLanes$1, workInProgress$1); 12114 else if (node.child !== null) { 12115 node.child.return = node; 12116 node = node.child; 12117 continue; 12118 } 12119 if (node === workInProgress$1) return; 12120 while (node.sibling === null) { 12121 if (node.return === null || node.return === workInProgress$1) return; 12122 node = node.return; 12123 } 12124 node.sibling.return = node.return; 12125 node = node.sibling; 12126 } 12127 } 12128 function findLastContentRow(firstChild) { 12129 var row = firstChild; 12130 var lastContentRow = null; 12131 while (row !== null) { 12132 var currentRow = row.alternate; 12133 if (currentRow !== null && findFirstSuspended(currentRow) === null) lastContentRow = row; 12134 row = row.sibling; 12135 } 12136 return lastContentRow; 12137 } 12138 function validateRevealOrder(revealOrder) { 12139 if (revealOrder !== void 0 && revealOrder !== "forwards" && revealOrder !== "backwards" && revealOrder !== "together" && !didWarnAboutRevealOrder[revealOrder]) { 12140 didWarnAboutRevealOrder[revealOrder] = true; 12141 if (typeof revealOrder === "string") switch (revealOrder.toLowerCase()) { 12142 case "together": 12143 case "forwards": 12144 case "backwards": 12145 error("\"%s\" is not a valid value for revealOrder on <SuspenseList />. Use lowercase \"%s\" instead.", revealOrder, revealOrder.toLowerCase()); 12146 break; 12147 case "forward": 12148 case "backward": 12149 error("\"%s\" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use \"%ss\" instead.", revealOrder, revealOrder.toLowerCase()); 12150 break; 12151 default: 12152 error("\"%s\" is not a supported revealOrder on <SuspenseList />. Did you mean \"together\", \"forwards\" or \"backwards\"?", revealOrder); 12153 break; 12154 } 12155 else error("%s is not a supported value for revealOrder on <SuspenseList />. Did you mean \"together\", \"forwards\" or \"backwards\"?", revealOrder); 12156 } 12157 } 12158 function validateTailOptions(tailMode, revealOrder) { 12159 if (tailMode !== void 0 && !didWarnAboutTailOptions[tailMode]) { 12160 if (tailMode !== "collapsed" && tailMode !== "hidden") { 12161 didWarnAboutTailOptions[tailMode] = true; 12162 error("\"%s\" is not a supported value for tail on <SuspenseList />. Did you mean \"collapsed\" or \"hidden\"?", tailMode); 12163 } else if (revealOrder !== "forwards" && revealOrder !== "backwards") { 12164 didWarnAboutTailOptions[tailMode] = true; 12165 error("<SuspenseList tail=\"%s\" /> is only valid if revealOrder is \"forwards\" or \"backwards\". Did you mean to specify revealOrder=\"forwards\"?", tailMode); 12166 } 12167 } 12168 } 12169 function validateSuspenseListNestedChild(childSlot, index$1) { 12170 var isAnArray = isArray(childSlot); 12171 var isIterable = !isAnArray && typeof getIteratorFn(childSlot) === "function"; 12172 if (isAnArray || isIterable) { 12173 var type = isAnArray ? "array" : "iterable"; 12174 error("A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>", type, index$1, type); 12175 return false;
12176 } 12177 return true; 12178 } 12179 function validateSuspenseListChildren(children, revealOrder) { 12180 if ((revealOrder === "forwards" || revealOrder === "backwards") && children !== void 0 && children !== null && children !== false) if (isArray(children)) { 12181 for (var i = 0; i < children.length; i++) if (!validateSuspenseListNestedChild(children[i], i)) return; 12182 } else { 12183 var iteratorFn = getIteratorFn(children); 12184 if (typeof iteratorFn === "function") { 12185 var childrenIterator = iteratorFn.call(children); 12186 if (childrenIterator) { 12187 var step = childrenIterator.next(); 12188 var _i = 0; 12189 for (; !step.done; step = childrenIterator.next()) { 12190 if (!validateSuspenseListNestedChild(step.value, _i)) return; 12191 _i++; 12192 } 12193 } 12194 } else error("A single row was passed to a <SuspenseList revealOrder=\"%s\" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?", revealOrder); 12195 } 12196 } 12197 function initSuspenseListRenderState(workInProgress$1, isBackwards, tail, lastContentRow, tailMode) { 12198 var renderState = workInProgress$1.memoizedState; 12199 if (renderState === null) workInProgress$1.memoizedState = { 12200 isBackwards, 12201 rendering: null, 12202 renderingStartTime: 0, 12203 last: lastContentRow, 12204 tail, 12205 tailMode 12206 }; 12207 else { 12208 renderState.isBackwards = isBackwards; 12209 renderState.rendering = null; 12210 renderState.renderingStartTime = 0; 12211 renderState.last = lastContentRow; 12212 renderState.tail = tail; 12213 renderState.tailMode = tailMode; 12214 } 12215 } 12216 function updateSuspenseListComponent(current$1, workInProgress$1, renderLanes$1) { 12217 var nextProps = workInProgress$1.pendingProps; 12218 var revealOrder = nextProps.revealOrder; 12219 var tailMode = nextProps.tail; 12220 var newChildren = nextProps.children; 12221 validateRevealOrder(revealOrder); 12222 validateTailOptions(tailMode, revealOrder); 12223 validateSuspenseListChildren(newChildren, revealOrder); 12224 reconcileChildren(current$1, workInProgress$1, newChildren, renderLanes$1); 12225 var suspenseContext = suspenseStackCursor.current; 12226 if (hasSuspenseContext(suspenseContext, ForceSuspenseFallback)) { 12227 suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback); 12228 workInProgress$1.flags |= DidCapture; 12229 } else { 12230 if (current$1 !== null && (current$1.flags & DidCapture) !== NoFlags) propagateSuspenseContextChange(workInProgress$1, workInProgress$1.child, renderLanes$1); 12231 suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 12232 } 12233 pushSuspenseContext(workInProgress$1, suspenseContext); 12234 if ((workInProgress$1.mode & ConcurrentMode) === NoMode) workInProgress$1.memoizedState = null; 12235 else switch (revealOrder) { 12236 case "forwards": 12237 var lastContentRow = findLastContentRow(workInProgress$1.child); 12238 var tail; 12239 if (lastContentRow === null) { 12240 tail = workInProgress$1.child; 12241 workInProgress$1.child = null; 12242 } else { 12243 tail = lastContentRow.sibling; 12244 lastContentRow.sibling = null; 12245 } 12246 initSuspenseListRenderState(workInProgress$1, false, tail, lastContentRow, tailMode); 12247 break; 12248 case "backwards": 12249 var _tail = null; 12250 var row = workInProgress$1.child; 12251 workInProgress$1.child = null; 12252 while (row !== null) { 12253 var currentRow = row.alternate; 12254 if (currentRow !== null && findFirstSuspended(currentRow) === null) { 12255 workInProgress$1.child = row; 12256 break; 12257 } 12258 var nextRow = row.sibling; 12259 row.sibling = _tail; 12260 _tail = row;
12261 row = nextRow; 12262 } 12263 initSuspenseListRenderState(workInProgress$1, true, _tail, null, tailMode); 12264 break; 12265 case "together": 12266 initSuspenseListRenderState(workInProgress$1, false, null, null, void 0); 12267 break; 12268 default: workInProgress$1.memoizedState = null; 12269 } 12270 return workInProgress$1.child; 12271 } 12272 function updatePortalComponent(current$1, workInProgress$1, renderLanes$1) { 12273 pushHostContainer(workInProgress$1, workInProgress$1.stateNode.containerInfo); 12274 var nextChildren = workInProgress$1.pendingProps; 12275 if (current$1 === null) workInProgress$1.child = reconcileChildFibers(workInProgress$1, null, nextChildren, renderLanes$1); 12276 else reconcileChildren(current$1, workInProgress$1, nextChildren, renderLanes$1); 12277 return workInProgress$1.child; 12278 } 12279 var hasWarnedAboutUsingNoValuePropOnContextProvider = false; 12280 function updateContextProvider(current$1, workInProgress$1, renderLanes$1) { 12281 var context = workInProgress$1.type._context; 12282 var newProps = workInProgress$1.pendingProps; 12283 var oldProps = workInProgress$1.memoizedProps; 12284 var newValue = newProps.value; 12285 if (!("value" in newProps)) { 12286 if (!hasWarnedAboutUsingNoValuePropOnContextProvider) { 12287 hasWarnedAboutUsingNoValuePropOnContextProvider = true; 12288 error("The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?"); 12289 } 12290 } 12291 var providerPropTypes = workInProgress$1.type.propTypes; 12292 if (providerPropTypes) checkPropTypes(providerPropTypes, newProps, "prop", "Context.Provider"); 12293 pushProvider(workInProgress$1, context, newValue); 12294 if (oldProps !== null) { 12295 var oldValue = oldProps.value; 12296 if (objectIs(oldValue, newValue)) { 12297 if (oldProps.children === newProps.children && !hasContextChanged()) return bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 12298 } else propagateContextChange(workInProgress$1, context, renderLanes$1); 12299 } 12300 var newChildren = newProps.children; 12301 reconcileChildren(current$1, workInProgress$1, newChildren, renderLanes$1); 12302 return workInProgress$1.child; 12303 } 12304 var hasWarnedAboutUsingContextAsConsumer = false; 12305 function updateContextConsumer(current$1, workInProgress$1, renderLanes$1) { 12306 var context = workInProgress$1.type; 12307 if (context._context === void 0) { 12308 if (context !== context.Consumer) { 12309 if (!hasWarnedAboutUsingContextAsConsumer) { 12310 hasWarnedAboutUsingContextAsConsumer = true; 12311 error("Rendering <Context> directly is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?"); 12312 } 12313 } 12314 } else context = context._context; 12315 var render$1 = workInProgress$1.pendingProps.children; 12316 if (typeof render$1 !== "function") error("A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."); 12317 prepareToReadContext(workInProgress$1, renderLanes$1); 12318 var newValue = readContext(context); 12319 markComponentRenderStarted(workInProgress$1); 12320 var newChildren; 12321 ReactCurrentOwner$1.current = workInProgress$1; 12322 setIsRendering(true); 12323 newChildren = render$1(newValue); 12324 setIsRendering(false); 12325 markComponentRenderStopped(); 12326 workInProgress$1.flags |= PerformedWork; 12327 reconcileChildren(current$1, workInProgress$1, newChildren, renderLanes$1); 12328 return workInProgress$1.child; 12329 } 12330 function markWorkInProgressReceivedUpdate() { 12331 didReceiveUpdate = true; 12332 } 12333 function resetSuspendedCurrentOnMountInLegacyMode(current$1, workInProgress$1) { 12334 if ((workInProgress$1.mode & ConcurrentMode) === NoMode) { 12335 if (current$1 !== null) { 12336 current$1.alternate = null; 12337 workInProgress$1.alternate = null; 12338 workInProgress$1.flags |= Placement; 12339 } 12340 } 12341 } 12342 function bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1) { 12343 if (current$1 !== null) workInProgress$1.dependencies = current$1.dependencies; 12344 stopProfilerTimerIfRunning();
12345 markSkippedUpdateLanes(workInProgress$1.lanes); 12346 if (!includesSomeLane(renderLanes$1, workInProgress$1.childLanes)) return null; 12347 cloneChildFibers(current$1, workInProgress$1); 12348 return workInProgress$1.child; 12349 } 12350 function remountFiber(current$1, oldWorkInProgress, newWorkInProgress) { 12351 var returnFiber = oldWorkInProgress.return; 12352 if (returnFiber === null) throw new Error("Cannot swap the root fiber."); 12353 current$1.alternate = null; 12354 oldWorkInProgress.alternate = null; 12355 newWorkInProgress.index = oldWorkInProgress.index; 12356 newWorkInProgress.sibling = oldWorkInProgress.sibling; 12357 newWorkInProgress.return = oldWorkInProgress.return; 12358 newWorkInProgress.ref = oldWorkInProgress.ref; 12359 if (oldWorkInProgress === returnFiber.child) returnFiber.child = newWorkInProgress; 12360 else { 12361 var prevSibling = returnFiber.child; 12362 if (prevSibling === null) throw new Error("Expected parent to have a child."); 12363 while (prevSibling.sibling !== oldWorkInProgress) { 12364 prevSibling = prevSibling.sibling; 12365 if (prevSibling === null) throw new Error("Expected to find the previous sibling."); 12366 } 12367 prevSibling.sibling = newWorkInProgress; 12368 } 12369 var deletions = returnFiber.deletions; 12370 if (deletions === null) { 12371 returnFiber.deletions = [current$1]; 12372 returnFiber.flags |= ChildDeletion; 12373 } else deletions.push(current$1); 12374 newWorkInProgress.flags |= Placement; 12375 return newWorkInProgress; 12376 } 12377 function checkScheduledUpdateOrContext(current$1, renderLanes$1) { 12378 var updateLanes = current$1.lanes; 12379 if (includesSomeLane(updateLanes, renderLanes$1)) return true; 12380 return false; 12381 } 12382 function attemptEarlyBailoutIfNoScheduledUpdate(current$1, workInProgress$1, renderLanes$1) { 12383 switch (workInProgress$1.tag) { 12384 case HostRoot: 12385 pushHostRootContext(workInProgress$1); 12386 workInProgress$1.stateNode; 12387 resetHydrationState(); 12388 break; 12389 case HostComponent: 12390 pushHostContext(workInProgress$1); 12391 break; 12392 case ClassComponent: 12393 var Component = workInProgress$1.type; 12394 if (isContextProvider(Component)) pushContextProvider(workInProgress$1); 12395 break; 12396 case HostPortal: 12397 pushHostContainer(workInProgress$1, workInProgress$1.stateNode.containerInfo); 12398 break; 12399 case ContextProvider: 12400 var newValue = workInProgress$1.memoizedProps.value; 12401 var context = workInProgress$1.type._context; 12402 pushProvider(workInProgress$1, context, newValue); 12403 break; 12404 case Profiler: 12405 if (includesSomeLane(renderLanes$1, workInProgress$1.childLanes)) workInProgress$1.flags |= Update; 12406 var stateNode = workInProgress$1.stateNode; 12407 stateNode.effectDuration = 0; 12408 stateNode.passiveEffectDuration = 0; 12409 break; 12410 case SuspenseComponent: 12411 var state = workInProgress$1.memoizedState; 12412 if (state !== null) { 12413 if (state.dehydrated !== null) { 12414 pushSuspenseContext(workInProgress$1, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); 12415 workInProgress$1.flags |= DidCapture; 12416 return null; 12417 } 12418 var primaryChildLanes = workInProgress$1.child.childLanes; 12419 if (includesSomeLane(renderLanes$1, primaryChildLanes)) return updateSuspenseComponent(current$1, workInProgress$1, renderLanes$1); 12420 else { 12421 pushSuspenseContext(workInProgress$1, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); 12422 var child = bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 12423 if (child !== null) return child.sibling; 12424 else return null; 12425 } 12426 } else pushSuspenseContext(workInProgress$1, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); 12427 break; 12428 case SuspenseListComponent: 12429 var didSuspendBefore = (current$1.flags & DidCapture) !== NoFlags; 12430 var _hasChildWork = includesSomeLane(renderLanes$1, workInProgress$1.childLanes); 12431 if (didSuspendBefore) { 12432 if (_hasChildWork) return updateSuspenseListComponent(current$1, workInProgress$1, renderLanes$1); 12433 workInProgress$1.flags |= DidCapture; 12434 } 12435 var renderState = workInProgress$1.memoizedState; 12436 if (renderState !== null) { 12437 renderState.rendering = null; 12438 renderState.tail = null; 12439 renderState.lastEffect = null; 12440 } 12441 pushSuspenseContext(workInProgress$1, suspenseStackCursor.current); 12442 if (_hasChildWork) break; 12443 else return null; 12444 case OffscreenComponent:
12445 case LegacyHiddenComponent: 12446 workInProgress$1.lanes = NoLanes; 12447 return updateOffscreenComponent(current$1, workInProgress$1, renderLanes$1); 12448 } 12449 return bailoutOnAlreadyFinishedWork(current$1, workInProgress$1, renderLanes$1); 12450 } 12451 function beginWork(current$1, workInProgress$1, renderLanes$1) { 12452 if (workInProgress$1._debugNeedsRemount && current$1 !== null) return remountFiber(current$1, workInProgress$1, createFiberFromTypeAndProps(workInProgress$1.type, workInProgress$1.key, workInProgress$1.pendingProps, workInProgress$1._debugOwner || null, workInProgress$1.mode, workInProgress$1.lanes)); 12453 if (current$1 !== null) if (current$1.memoizedProps !== workInProgress$1.pendingProps || hasContextChanged() || workInProgress$1.type !== current$1.type) didReceiveUpdate = true; 12454 else { 12455 if (!checkScheduledUpdateOrContext(current$1, renderLanes$1) && (workInProgress$1.flags & DidCapture) === NoFlags) { 12456 didReceiveUpdate = false; 12457 return attemptEarlyBailoutIfNoScheduledUpdate(current$1, workInProgress$1, renderLanes$1); 12458 } 12459 if ((current$1.flags & ForceUpdateForLegacySuspense) !== NoFlags) didReceiveUpdate = true; 12460 else didReceiveUpdate = false; 12461 } 12462 else { 12463 didReceiveUpdate = false; 12464 if (getIsHydrating() && isForkedChild(workInProgress$1)) { 12465 var slotIndex = workInProgress$1.index; 12466 pushTreeId(workInProgress$1, getForksAtLevel(), slotIndex); 12467 } 12468 } 12469 workInProgress$1.lanes = NoLanes; 12470 switch (workInProgress$1.tag) { 12471 case IndeterminateComponent: return mountIndeterminateComponent(current$1, workInProgress$1, workInProgress$1.type, renderLanes$1); 12472 case LazyComponent: 12473 var elementType = workInProgress$1.elementType; 12474 return mountLazyComponent(current$1, workInProgress$1, elementType, renderLanes$1); 12475 case FunctionComponent: 12476 var Component = workInProgress$1.type; 12477 var unresolvedProps = workInProgress$1.pendingProps; 12478 return updateFunctionComponent(current$1, workInProgress$1, Component, workInProgress$1.elementType === Component ? unresolvedProps : resolveDefaultProps(Component, unresolvedProps), renderLanes$1); 12479 case ClassComponent: 12480 var _Component = workInProgress$1.type; 12481 var _unresolvedProps = workInProgress$1.pendingProps; 12482 return updateClassComponent(current$1, workInProgress$1, _Component, workInProgress$1.elementType === _Component ? _unresolvedProps : resolveDefaultProps(_Component, _unresolvedProps), renderLanes$1); 12483 case HostRoot: return updateHostRoot(current$1, workInProgress$1, renderLanes$1); 12484 case HostComponent: return updateHostComponent(current$1, workInProgress$1, renderLanes$1); 12485 case HostText: return updateHostText(current$1, workInProgress$1); 12486 case SuspenseComponent: return updateSuspenseComponent(current$1, workInProgress$1, renderLanes$1); 12487 case HostPortal: return updatePortalComponent(current$1, workInProgress$1, renderLanes$1); 12488 case ForwardRef: 12489 var type = workInProgress$1.type; 12490 var _unresolvedProps2 = workInProgress$1.pendingProps; 12491 return updateForwardRef(current$1, workInProgress$1, type, workInProgress$1.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2), renderLanes$1); 12492 case Fragment: return updateFragment(current$1, workInProgress$1, renderLanes$1); 12493 case Mode: return updateMode(current$1, workInProgress$1, renderLanes$1); 12494 case Profiler: return updateProfiler(current$1, workInProgress$1, renderLanes$1); 12495 case ContextProvider: return updateContextProvider(current$1, workInProgress$1, renderLanes$1); 12496 case ContextConsumer: return updateContextConsumer(current$1, workInProgress$1, renderLanes$1); 12497 case MemoComponent: 12498 var _type2 = workInProgress$1.type; 12499 var _unresolvedProps3 = workInProgress$1.pendingProps; 12500 var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3); 12501 if (workInProgress$1.type !== workInProgress$1.elementType) { 12502 var outerPropTypes = _type2.propTypes; 12503 if (outerPropTypes) checkPropTypes(outerPropTypes, _resolvedProps3, "prop", getComponentNameFromType(_type2)); 12504 } 12505 _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3); 12506 return updateMemoComponent(current$1, workInProgress$1, _type2, _resolvedProps3, renderLanes$1); 12507 case SimpleMemoComponent: return updateSimpleMemoComponent(current$1, workInProgress$1, workInProgress$1.type, workInProgress$1.pendingProps, renderLanes$1); 12508 case IncompleteClassComponent: 12509 var _Component2 = workInProgress$1.type; 12510 var _unresolvedProps4 = workInProgress$1.pendingProps; 12511 return mountIncompleteClassComponent(current$1, workInProgress$1, _Component2, workInProgress$1.elementType === _Component2 ? _unresolvedProps4 : resolveDefaultProps(_Component2, _unresolvedProps4), renderLanes$1); 12512 case SuspenseListComponent: return updateSuspenseListComponent(current$1, workInProgress$1, renderLanes$1); 12513 case ScopeComponent: break; 12514 case OffscreenComponent: return updateOffscreenComponent(current$1, workInProgress$1, renderLanes$1); 12515 } 12516 throw new Error("Unknown unit of work tag (" + workInProgress$1.tag + "). This error is likely caused by a bug in React. Please file an issue."); 12517 } 12518 function markUpdate(workInProgress$1) { 12519 workInProgress$1.flags |= Update; 12520 }
12521 function markRef$1(workInProgress$1) { 12522 workInProgress$1.flags |= Ref; 12523 workInProgress$1.flags |= RefStatic; 12524 } 12525 var appendAllChildren; 12526 var updateHostContainer; 12527 var updateHostComponent$1; 12528 var updateHostText$1; 12529 appendAllChildren = function(parent, workInProgress$1, needsVisibilityToggle, isHidden) { 12530 var node = workInProgress$1.child; 12531 while (node !== null) { 12532 if (node.tag === HostComponent || node.tag === HostText) appendInitialChild(parent, node.stateNode); 12533 else if (node.tag === HostPortal); 12534 else if (node.child !== null) { 12535 node.child.return = node; 12536 node = node.child; 12537 continue; 12538 } 12539 if (node === workInProgress$1) return; 12540 while (node.sibling === null) { 12541 if (node.return === null || node.return === workInProgress$1) return; 12542 node = node.return; 12543 } 12544 node.sibling.return = node.return; 12545 node = node.sibling; 12546 } 12547 }; 12548 updateHostContainer = function(current$1, workInProgress$1) {}; 12549 updateHostComponent$1 = function(current$1, workInProgress$1, type, newProps, rootContainerInstance) { 12550 var oldProps = current$1.memoizedProps; 12551 if (oldProps === newProps) return; 12552 var instance = workInProgress$1.stateNode; 12553 var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, getHostContext()); 12554 workInProgress$1.updateQueue = updatePayload; 12555 if (updatePayload) markUpdate(workInProgress$1); 12556 }; 12557 updateHostText$1 = function(current$1, workInProgress$1, oldText, newText) { 12558 if (oldText !== newText) markUpdate(workInProgress$1); 12559 }; 12560 function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) { 12561 if (getIsHydrating()) return; 12562 switch (renderState.tailMode) { 12563 case "hidden": 12564 var tailNode = renderState.tail; 12565 var lastTailNode = null; 12566 while (tailNode !== null) { 12567 if (tailNode.alternate !== null) lastTailNode = tailNode; 12568 tailNode = tailNode.sibling; 12569 } 12570 if (lastTailNode === null) renderState.tail = null; 12571 else lastTailNode.sibling = null; 12572 break; 12573 case "collapsed": 12574 var _tailNode = renderState.tail; 12575 var _lastTailNode = null; 12576 while (_tailNode !== null) {
12577 if (_tailNode.alternate !== null) _lastTailNode = _tailNode; 12578 _tailNode = _tailNode.sibling; 12579 } 12580 if (_lastTailNode === null) if (!hasRenderedATailFallback && renderState.tail !== null) renderState.tail.sibling = null; 12581 else renderState.tail = null; 12582 else _lastTailNode.sibling = null; 12583 break; 12584 } 12585 } 12586 function bubbleProperties(completedWork) { 12587 var didBailout = completedWork.alternate !== null && completedWork.alternate.child === completedWork.child; 12588 var newChildLanes = NoLanes; 12589 var subtreeFlags = NoFlags; 12590 if (!didBailout) { 12591 if ((completedWork.mode & ProfileMode) !== NoMode) { 12592 var actualDuration = completedWork.actualDuration; 12593 var treeBaseDuration = completedWork.selfBaseDuration; 12594 var child = completedWork.child; 12595 while (child !== null) { 12596 newChildLanes = mergeLanes(newChildLanes, mergeLanes(child.lanes, child.childLanes)); 12597 subtreeFlags |= child.subtreeFlags; 12598 subtreeFlags |= child.flags; 12599 actualDuration += child.actualDuration; 12600 treeBaseDuration += child.treeBaseDuration; 12601 child = child.sibling; 12602 } 12603 completedWork.actualDuration = actualDuration; 12604 completedWork.treeBaseDuration = treeBaseDuration; 12605 } else { 12606 var _child = completedWork.child; 12607 while (_child !== null) { 12608 newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child.lanes, _child.childLanes)); 12609 subtreeFlags |= _child.subtreeFlags; 12610 subtreeFlags |= _child.flags; 12611 _child.return = completedWork; 12612 _child = _child.sibling; 12613 } 12614 } 12615 completedWork.subtreeFlags |= subtreeFlags; 12616 } else { 12617 if ((completedWork.mode & ProfileMode) !== NoMode) { 12618 var _treeBaseDuration = completedWork.selfBaseDuration; 12619 var _child2 = completedWork.child; 12620 while (_child2 !== null) { 12621 newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child2.lanes, _child2.childLanes)); 12622 subtreeFlags |= _child2.subtreeFlags & StaticMask; 12623 subtreeFlags |= _child2.flags & StaticMask; 12624 _treeBaseDuration += _child2.treeBaseDuration; 12625 _child2 = _child2.sibling; 12626 } 12627 completedWork.treeBaseDuration = _treeBaseDuration; 12628 } else { 12629 var _child3 = completedWork.child; 12630 while (_child3 !== null) { 12631 newChildLanes = mergeLanes(newChildLanes, mergeLanes(_child3.lanes, _child3.childLanes)); 12632 subtreeFlags |= _child3.subtreeFlags & StaticMask; 12633 subtreeFlags |= _child3.flags & StaticMask; 12634 _child3.return = completedWork; 12635 _child3 = _child3.sibling; 12636 } 12637 } 12638 completedWork.subtreeFlags |= subtreeFlags; 12639 } 12640 completedWork.childLanes = newChildLanes; 12641 return didBailout; 12642 } 12643 function completeDehydratedSuspenseBoundary(current$1, workInProgress$1, nextState) { 12644 if (hasUnhydratedTailNodes() && (workInProgress$1.mode & ConcurrentMode) !== NoMode && (workInProgress$1.flags & DidCapture) === NoFlags) { 12645 warnIfUnhydratedTailNodes(workInProgress$1); 12646 resetHydrationState(); 12647 workInProgress$1.flags |= ForceClientRender | Incomplete | ShouldCapture; 12648 return false; 12649 } 12650 var wasHydrated = popHydrationState(workInProgress$1); 12651 if (nextState !== null && nextState.dehydrated !== null) if (current$1 === null) { 12652 if (!wasHydrated) throw new Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React."); 12653 prepareToHydrateHostSuspenseInstance(workInProgress$1); 12654 bubbleProperties(workInProgress$1); 12655 if ((workInProgress$1.mode & ProfileMode) !== NoMode) { 12656 if (nextState !== null) { 12657 var primaryChildFragment = workInProgress$1.child; 12658 if (primaryChildFragment !== null) workInProgress$1.treeBaseDuration -= primaryChildFragment.treeBaseDuration; 12659 } 12660 } 12661 return false; 12662 } else { 12663 resetHydrationState(); 12664 if ((workInProgress$1.flags & DidCapture) === NoFlags) workInProgress$1.memoizedState = null; 12665 workInProgress$1.flags |= Update; 12666 bubbleProperties(workInProgress$1); 12667 if ((workInProgress$1.mode & ProfileMode) !== NoMode) { 12668 if (nextState !== null) { 12669 var _primaryChildFragment = workInProgress$1.child; 12670 if (_primaryChildFragment !== null) workInProgress$1.treeBaseDuration -= _primaryChildFragment.treeBaseDuration; 12671 } 12672 } 12673 return false;
12674 } 12675 else { 12676 upgradeHydrationErrorsToRecoverable(); 12677 return true; 12678 } 12679 } 12680 function completeWork(current$1, workInProgress$1, renderLanes$1) { 12681 var newProps = workInProgress$1.pendingProps; 12682 popTreeContext(workInProgress$1); 12683 switch (workInProgress$1.tag) { 12684 case IndeterminateComponent: 12685 case LazyComponent: 12686 case SimpleMemoComponent: 12687 case FunctionComponent: 12688 case ForwardRef: 12689 case Fragment: 12690 case Mode: 12691 case Profiler: 12692 case ContextConsumer: 12693 case MemoComponent: 12694 bubbleProperties(workInProgress$1); 12695 return null; 12696 case ClassComponent: 12697 var Component = workInProgress$1.type; 12698 if (isContextProvider(Component)) popContext(workInProgress$1); 12699 bubbleProperties(workInProgress$1); 12700 return null; 12701 case HostRoot: 12702 var fiberRoot = workInProgress$1.stateNode; 12703 popHostContainer(workInProgress$1); 12704 popTopLevelContextObject(workInProgress$1); 12705 resetWorkInProgressVersions(); 12706 if (fiberRoot.pendingContext) { 12707 fiberRoot.context = fiberRoot.pendingContext; 12708 fiberRoot.pendingContext = null; 12709 } 12710 if (current$1 === null || current$1.child === null) { 12711 if (popHydrationState(workInProgress$1)) markUpdate(workInProgress$1); 12712 else if (current$1 !== null) { 12713 if (!current$1.memoizedState.isDehydrated || (workInProgress$1.flags & ForceClientRender) !== NoFlags) { 12714 workInProgress$1.flags |= Snapshot; 12715 upgradeHydrationErrorsToRecoverable(); 12716 } 12717 } 12718 } 12719 updateHostContainer(current$1, workInProgress$1); 12720 bubbleProperties(workInProgress$1); 12721 return null; 12722 case HostComponent: 12723 popHostContext(workInProgress$1); 12724 var rootContainerInstance = getRootHostContainer(); 12725 var type = workInProgress$1.type; 12726 if (current$1 !== null && workInProgress$1.stateNode != null) { 12727 updateHostComponent$1(current$1, workInProgress$1, type, newProps, rootContainerInstance);
12728 if (current$1.ref !== workInProgress$1.ref) markRef$1(workInProgress$1); 12729 } else { 12730 if (!newProps) { 12731 if (workInProgress$1.stateNode === null) throw new Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."); 12732 bubbleProperties(workInProgress$1); 12733 return null; 12734 } 12735 var currentHostContext = getHostContext(); 12736 if (popHydrationState(workInProgress$1)) { 12737 if (prepareToHydrateHostInstance(workInProgress$1, rootContainerInstance, currentHostContext)) markUpdate(workInProgress$1); 12738 } else { 12739 var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress$1); 12740 appendAllChildren(instance, workInProgress$1, false, false); 12741 workInProgress$1.stateNode = instance; 12742 if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) markUpdate(workInProgress$1); 12743 } 12744 if (workInProgress$1.ref !== null) markRef$1(workInProgress$1); 12745 } 12746 bubbleProperties(workInProgress$1); 12747 return null; 12748 case HostText: 12749 var newText = newProps; 12750 if (current$1 && workInProgress$1.stateNode != null) { 12751 var oldText = current$1.memoizedProps; 12752 updateHostText$1(current$1, workInProgress$1, oldText, newText); 12753 } else { 12754 if (typeof newText !== "string") { 12755 if (workInProgress$1.stateNode === null) throw new Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."); 12756 } 12757 var _rootContainerInstance = getRootHostContainer(); 12758 var _currentHostContext = getHostContext(); 12759 if (popHydrationState(workInProgress$1)) { 12760 if (prepareToHydrateHostTextInstance(workInProgress$1)) markUpdate(workInProgress$1); 12761 } else workInProgress$1.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress$1); 12762 } 12763 bubbleProperties(workInProgress$1); 12764 return null; 12765 case SuspenseComponent: 12766 popSuspenseContext(workInProgress$1); 12767 var nextState = workInProgress$1.memoizedState; 12768 if (current$1 === null || current$1.memoizedState !== null && current$1.memoizedState.dehydrated !== null) { 12769 if (!completeDehydratedSuspenseBoundary(current$1, workInProgress$1, nextState)) if (workInProgress$1.flags & ShouldCapture) return workInProgress$1; 12770 else return null; 12771 } 12772 if ((workInProgress$1.flags & DidCapture) !== NoFlags) { 12773 workInProgress$1.lanes = renderLanes$1; 12774 if ((workInProgress$1.mode & ProfileMode) !== NoMode) transferActualDuration(workInProgress$1); 12775 return workInProgress$1; 12776 } 12777 var nextDidTimeout = nextState !== null; 12778 if (nextDidTimeout !== (current$1 !== null && current$1.memoizedState !== null)) { 12779 if (nextDidTimeout) { 12780 var _offscreenFiber2 = workInProgress$1.child; 12781 _offscreenFiber2.flags |= Visibility; 12782 if ((workInProgress$1.mode & ConcurrentMode) !== NoMode) if (current$1 === null && (workInProgress$1.memoizedProps.unstable_avoidThisFallback !== true || !enableSuspenseAvoidThisFallback) || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) renderDidSuspend(); 12783 else renderDidSuspendDelayIfPossible(); 12784 } 12785 } 12786 if (workInProgress$1.updateQueue !== null) workInProgress$1.flags |= Update; 12787 bubbleProperties(workInProgress$1); 12788 if ((workInProgress$1.mode & ProfileMode) !== NoMode) { 12789 if (nextDidTimeout) { 12790 var primaryChildFragment = workInProgress$1.child; 12791 if (primaryChildFragment !== null) workInProgress$1.treeBaseDuration -= primaryChildFragment.treeBaseDuration; 12792 } 12793 } 12794 return null; 12795 case HostPortal: 12796 popHostContainer(workInProgress$1); 12797 updateHostContainer(current$1, workInProgress$1); 12798 if (current$1 === null) preparePortalMount(workInProgress$1.stateNode.containerInfo); 12799 bubbleProperties(workInProgress$1); 12800 return null; 12801 case ContextProvider: 12802 var context = workInProgress$1.type._context; 12803 popProvider(context, workInProgress$1); 12804 bubbleProperties(workInProgress$1); 12805 return null; 12806 case IncompleteClassComponent: 12807 var _Component = workInProgress$1.type; 12808 if (isContextProvider(_Component)) popContext(workInProgress$1); 12809 bubbleProperties(workInProgress$1); 12810 return null; 12811 case SuspenseListComponent: 12812 popSuspenseContext(workInProgress$1); 12813 var renderState = workInProgress$1.memoizedState; 12814 if (renderState === null) { 12815 bubbleProperties(workInProgress$1); 12816 return null; 12817 } 12818 var didSuspendAlready = (workInProgress$1.flags & DidCapture) !== NoFlags; 12819 var renderedTail = renderState.rendering; 12820 if (renderedTail === null) if (!didSuspendAlready) { 12821 if (!(renderHasNotSuspendedYet() && (current$1 === null || (current$1.flags & DidCapture) === NoFlags))) { 12822 var row = workInProgress$1.child; 12823 while (row !== null) { 12824 var suspended = findFirstSuspended(row); 12825 if (suspended !== null) { 12826 didSuspendAlready = true; 12827 workInProgress$1.flags |= DidCapture; 12828 cutOffTailIfNeeded(renderState, false); 12829 var newThenables = suspended.updateQueue; 12830 if (newThenables !== null) { 12831 workInProgress$1.updateQueue = newThenables; 12832 workInProgress$1.flags |= Update; 12833 } 12834 workInProgress$1.subtreeFlags = NoFlags; 12835 resetChildFibers(workInProgress$1, renderLanes$1); 12836 pushSuspenseContext(workInProgress$1, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback)); 12837 return workInProgress$1.child; 12838 }
12839 row = row.sibling; 12840 } 12841 } 12842 if (renderState.tail !== null && now() > getRenderTargetTime()) { 12843 workInProgress$1.flags |= DidCapture; 12844 didSuspendAlready = true; 12845 cutOffTailIfNeeded(renderState, false); 12846 workInProgress$1.lanes = SomeRetryLane; 12847 } 12848 } else cutOffTailIfNeeded(renderState, false); 12849 else { 12850 if (!didSuspendAlready) { 12851 var _suspended = findFirstSuspended(renderedTail); 12852 if (_suspended !== null) { 12853 workInProgress$1.flags |= DidCapture; 12854 didSuspendAlready = true; 12855 var _newThenables = _suspended.updateQueue; 12856 if (_newThenables !== null) { 12857 workInProgress$1.updateQueue = _newThenables; 12858 workInProgress$1.flags |= Update; 12859 } 12860 cutOffTailIfNeeded(renderState, true); 12861 if (renderState.tail === null && renderState.tailMode === "hidden" && !renderedTail.alternate && !getIsHydrating()) { 12862 bubbleProperties(workInProgress$1); 12863 return null; 12864 } 12865 } else if (now() * 2 - renderState.renderingStartTime > getRenderTargetTime() && renderLanes$1 !== OffscreenLane) { 12866 workInProgress$1.flags |= DidCapture; 12867 didSuspendAlready = true; 12868 cutOffTailIfNeeded(renderState, false); 12869 workInProgress$1.lanes = SomeRetryLane; 12870 } 12871 } 12872 if (renderState.isBackwards) { 12873 renderedTail.sibling = workInProgress$1.child; 12874 workInProgress$1.child = renderedTail; 12875 } else { 12876 var previousSibling = renderState.last; 12877 if (previousSibling !== null) previousSibling.sibling = renderedTail; 12878 else workInProgress$1.child = renderedTail; 12879 renderState.last = renderedTail; 12880 } 12881 } 12882 if (renderState.tail !== null) { 12883 var next = renderState.tail; 12884 renderState.rendering = next; 12885 renderState.tail = next.sibling; 12886 renderState.renderingStartTime = now(); 12887 next.sibling = null; 12888 var suspenseContext = suspenseStackCursor.current; 12889 if (didSuspendAlready) suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback); 12890 else suspenseContext = setDefaultShallowSuspenseContext(suspenseContext); 12891 pushSuspenseContext(workInProgress$1, suspenseContext); 12892 return next; 12893 } 12894 bubbleProperties(workInProgress$1); 12895 return null; 12896 case ScopeComponent: break; 12897 case OffscreenComponent: 12898 case LegacyHiddenComponent: 12899 popRenderLanes(workInProgress$1); 12900 var nextIsHidden = workInProgress$1.memoizedState !== null; 12901 if (current$1 !== null) { 12902 if (current$1.memoizedState !== null !== nextIsHidden && !enableLegacyHidden
12902) workInProgress$1.flags |= Visibility; 12903 } 12904 if (!nextIsHidden || (workInProgress$1.mode & ConcurrentMode) === NoMode) bubbleProperties(workInProgress$1); 12905 else if (includesSomeLane(subtreeRenderLanes, OffscreenLane)) { 12906 bubbleProperties(workInProgress$1); 12907 if (workInProgress$1.subtreeFlags & (Placement | Update)) workInProgress$1.flags |= Visibility; 12908 } 12909 return null; 12910 case CacheComponent: return null; 12911 case TracingMarkerComponent: return null; 12912 } 12913 throw new Error("Unknown unit of work tag (" + workInProgress$1.tag + "). This error is likely caused by a bug in React. Please file an issue."); 12914 } 12915 function unwindWork(current$1, workInProgress$1, renderLanes$1) { 12916 popTreeContext(workInProgress$1); 12917 switch (workInProgress$1.tag) { 12918 case ClassComponent: 12919 var Component = workInProgress$1.type; 12920 if (isContextProvider(Component)) popContext(workInProgress$1); 12921 var flags = workInProgress$1.flags; 12922 if (flags & ShouldCapture) { 12923 workInProgress$1.flags = flags & ~ShouldCapture | DidCapture; 12924 if ((workInProgress$1.mode & ProfileMode) !== NoMode) transferActualDuration(workInProgress$1); 12925 return workInProgress$1; 12926 } 12927 return null; 12928 case HostRoot: 12929 workInProgress$1.stateNode; 12930 popHostContainer(workInProgress$1); 12931 popTopLevelContextObject(workInProgress$1); 12932 resetWorkInProgressVersions(); 12933 var _flags = workInProgress$1.flags; 12934 if ((_flags & ShouldCapture) !== NoFlags && (_flags & DidCapture) === NoFlags) { 12935 workInProgress$1.flags = _flags & ~ShouldCapture | DidCapture; 12936 return workInProgress$1; 12937 } 12938 return null; 12939 case HostComponent: 12940 popHostContext(workInProgress$1); 12941 return null; 12942 case SuspenseComponent: 12943 popSuspenseContext(workInProgress$1); 12944 var suspenseState = workInProgress$1.memoizedState; 12945 if (suspenseState !== null && suspenseState.dehydrated !== null) { 12946 if (workInProgress$1.alternate === null) throw new Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue."); 12947 resetHydrationState(); 12948 } 12949 var _flags2 = workInProgress$1.flags; 12950 if (_flags2 & ShouldCapture) { 12951 workInProgress$1.flags = _flags2 & ~ShouldCapture | DidCapture; 12952 if ((workInProgress$1.mode & ProfileMode) !== NoMode) transferActualDuration(workInProgress$1); 12953 return workInProgress$1; 12954 } 12955 return null; 12956 case SuspenseListComponent: 12957 popSuspenseContext(workInProgress$1); 12958 return null; 12959 case HostPortal: 12960 popHostContainer(workInProgress$1); 12961 return null; 12962 case ContextProvider: 12963 var context = workInProgress$1.type._context; 12964 popProvider(context, workInProgress$1); 12965 return null; 12966 case OffscreenComponent: 12967 case LegacyHiddenComponent: 12968 popRenderLanes(workInProgress$1); 12969 return null; 12970 case CacheComponent: return null; 12971 default: return null; 12972 } 12973 } 12974 function unwindInterruptedWork(current$1, interruptedWork, renderLanes$1) { 12975 popTreeContext(interruptedWork); 12976 switch (interruptedWork.tag) { 12977 case ClassComponent: 12978 var childContextTypes = interruptedWork.type.childContextTypes; 12979 if (childContextTypes !== null && childContextTypes !== void 0) popContext(interruptedWork); 12980 break; 12981 case HostRoot: 12982 interruptedWork.stateNode; 12983 popHostContainer(interruptedWork); 12984 popTopLevelContextObject(interruptedWork); 12985 resetWorkInProgressVersions(); 12986 break; 12987 case HostComponent: 12988 popHostContext(interruptedWork); 12989 break; 12990 case HostPortal: 12991 popHostContainer(interruptedWork); 12992 break; 12993 case SuspenseComponent: 12994 popSuspenseContext(interruptedWork); 12995 break; 12996 case SuspenseListComponent: 12997 popSuspenseContext(interruptedWork); 12998 break; 12999 case ContextProvider: 13000 var context = interruptedWork.type._context; 13001 popProvider(context, interruptedWork); 13002 break; 13003 case OffscreenComponent: 13004 case LegacyHiddenComponent: 13005 popRenderLanes(interruptedWork); 13006 break; 13007 } 13008 } 13009 var didWarnAboutUndefinedSnapshotBeforeUpdate = null; 13010 didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set(); 13011 var offscreenSubtreeIsHidden = false;
13012 var offscreenSubtreeWasHidden = false; 13013 var PossiblyWeakSet = typeof WeakSet === "function" ? WeakSet : Set; 13014 var nextEffect = null; 13015 var inProgressLanes = null; 13016 var inProgressRoot = null; 13017 function reportUncaughtErrorInDEV(error$1) { 13018 invokeGuardedCallback(null, function() { 13019 throw error$1; 13020 }); 13021 clearCaughtError(); 13022 } 13023 var callComponentWillUnmountWithTimer = function(current$1, instance) { 13024 instance.props = current$1.memoizedProps; 13025 instance.state = current$1.memoizedState; 13026 if (current$1.mode & ProfileMode) try { 13027 startLayoutEffectTimer(); 13028 instance.componentWillUnmount(); 13029 } finally { 13030 recordLayoutEffectDuration(current$1); 13031 } 13032 else instance.componentWillUnmount(); 13033 }; 13034 function safelyCallCommitHookLayoutEffectListMount(current$1, nearestMountedAncestor) { 13035 try { 13036 commitHookEffectListMount(Layout, current$1); 13037 } catch (error$1) { 13038 captureCommitPhaseError(current$1, nearestMountedAncestor, error$1); 13039 } 13040 } 13041 function safelyCallComponentWillUnmount(current$1, nearestMountedAncestor, instance) { 13042 try { 13043 callComponentWillUnmountWithTimer(current$1, instance); 13044 } catch (error$1) { 13045 captureCommitPhaseError(current$1, nearestMountedAncestor, error$1); 13046 } 13047 } 13048 function safelyCallComponentDidMount(current$1, nearestMountedAncestor, instance) { 13049 try { 13050 instance.componentDidMount(); 13051 } catch (error$1) { 13052 captureCommitPhaseError(current$1, nearestMountedAncestor, error$1); 13053 } 13054 } 13055 function safelyAttachRef(current$1, nearestMountedAncestor) { 13056 try { 13057 commitAttachRef(current$1); 13058 } catch (error$1) { 13059 captureCommitPhaseError(current$1, nearestMountedAncestor, error$1); 13060 } 13061 } 13062 function safelyDetachRef(current$1, nearestMountedAncestor) { 13063 var ref = current$1.ref; 13064 if (ref !== null) if (typeof ref === "function") { 13065 var retVal; 13066 try { 13067 if (enableProfilerTimer && enableProfilerCommitHooks && current$1.mode & ProfileMode) try { 13068 startLayoutEffectTimer(); 13069 retVal = ref(null); 13070 } finally { 13071 recordLayoutEffectDuration(current$1); 13072 } 13073 else retVal = ref(null); 13074 } catch (error$1) { 13075 captureCommitPhaseError(current$1, nearestMountedAncestor, error$1); 13076 } 13077 if (typeof retVal === "function") error("Unexpected return value from a callback ref in %s. A callback ref should not return a function.", getComponentNameFromFiber(current$1)); 13078 } else ref.current = null; 13079 } 13080 function safelyCallDestroy(current$1, nearestMountedAncestor, destroy) { 13081 try { 13082 destroy(); 13083 } catch (error$1) { 13084 captureCommitPhaseError(current$1, nearestMountedAncestor, error$1); 13085 } 13086 } 13087 var shouldFireAfterActiveInstanceBlur = false; 13088 function commitBeforeMutationEffects(root$1, firstChild) { 13089 prepareForCommit(root$1.containerInfo); 13090 nextEffect = firstChild; 13091 commitBeforeMutationEffects_begin(); 13092 var shouldFire = shouldFireAfterActiveInstanceBlur; 13093 shouldFireAfterActiveInstanceBlur = false; 13094 return shouldFire; 13095 } 13096 function commitBeforeMutationEffects_begin() { 13097 while (nextEffect !== null) { 13098 var fiber = nextEffect; 13099 var child = fiber.child; 13100 if ((fiber.subtreeFlags & BeforeMutationMask) !== NoFlags && child !== null) { 13101 child.return = fiber; 13102 nextEffect = child; 13103 } else commitBeforeMutationEffects_complete(); 13104 } 13105 } 13106 function commitBeforeMutationEffects_complete() { 13107 while (nextEffect !== null) { 13108 var fiber = nextEffect; 13109 setCurrentFiber(fiber); 13110 try { 13111 commitBeforeMutationEffectsOnFiber(fiber); 13112 } catch (error$1) { 13113 captureCommitPhaseError(fiber, fiber.return, error$1); 13114 } 13115 resetCurrentFiber(); 13116 var sibling = fiber.sibling; 13117 if (sibling !== null) { 13118 sibling.return = fiber.return; 13119 nextEffect = sibling; 13120 return; 13121 } 13122 nextEffect = fiber.return; 13123 } 13124 } 13125 function commitBeforeMutationEffectsOnFiber(finishedWork) { 13126 var current$1 = finishedWork.alternate; 13127 if ((finishedWork.flags & Snapshot) !== NoFlags) { 13128 setCurrentFiber(finishedWork); 13129 switch (finishedWork.tag) { 13130 case FunctionComponent: 13131 case ForwardRef: 13132 case SimpleMemoComponent: break; 13133 case ClassComponent: 13134 if (current$1 !== null) { 13135 var prevProps = current$1.memoizedProps; 13136 var prevState = current$1.memoizedState;
13137 var instance = finishedWork.stateNode; 13138 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 13139 if (instance.props !== finishedWork.memoizedProps) error("Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"); 13140 if (instance.state !== finishedWork.memoizedState) error("Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"); 13141 } 13142 var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState); 13143 var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate; 13144 if (snapshot === void 0 && !didWarnSet.has(finishedWork.type)) { 13145 didWarnSet.add(finishedWork.type); 13146 error("%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.", getComponentNameFromFiber(finishedWork)); 13147 } 13148 instance.__reactInternalSnapshotBeforeUpdate = snapshot; 13149 } 13150 break; 13151 case HostRoot: 13152 var root$1 = finishedWork.stateNode; 13153 clearContainer(root$1.containerInfo); 13154 break; 13155 case HostComponent: 13156 case HostText: 13157 case HostPortal: 13158 case IncompleteClassComponent: break; 13159 default: throw new Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."); 13160 } 13161 resetCurrentFiber(); 13162 } 13163 } 13164 function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) { 13165 var updateQueue = finishedWork.updateQueue; 13166 var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null; 13167 if (lastEffect !== null) { 13168 var firstEffect = lastEffect.next; 13169 var effect = firstEffect; 13170 do { 13171 if ((effect.tag & flags) === flags) { 13172 var destroy = effect.destroy; 13173 effect.destroy = void 0; 13174 if (destroy !== void 0) { 13175 if ((flags & Passive$1) !== NoFlags$1) markComponentPassiveEffectUnmountStarted(finishedWork); 13176 else if ((flags & Layout) !== NoFlags$1) markComponentLayoutEffectUnmountStarted(finishedWork); 13177 if ((flags & Insertion) !== NoFlags$1) setIsRunningInsertionEffect(true); 13178 safelyCallDestroy(finishedWork, nearestMountedAncestor, destroy); 13179 if ((flags & Insertion) !== NoFlags$1) setIsRunningInsertionEffect(false); 13180 if ((flags & Passive$1) !== NoFlags$1) markComponentPassiveEffectUnmountStopped(); 13181 else if ((flags & Layout) !== NoFlags$1) markComponentLayoutEffectUnmountStopped(); 13182 } 13183 } 13184 effect = effect.next; 13185 } while (effect !== firstEffect); 13186 } 13187 } 13188 function commitHookEffectListMount(flags, finishedWork) { 13189 var updateQueue = finishedWork.updateQueue; 13190 var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null; 13191 if (lastEffect !== null) { 13192 var firstEffect = lastEffect.next; 13193 var effect = firstEffect; 13194 do { 13195 if ((effect.tag & flags) === flags) { 13196 if ((flags & Passive$1) !== NoFlags$1) markComponentPassiveEffectMountStarted(finishedWork); 13197 else if ((flags & Layout) !== NoFlags$1) markComponentLayoutEffectMountStarted(finishedWork); 13198 var create = effect.create; 13199 if ((flags & Insertion) !== NoFlags$1) setIsRunningInsertionEffect(true); 13200 effect.destroy = create(); 13201 if ((flags & Insertion) !== NoFlags$1) setIsRunningInsertionEffect(false); 13202 if ((flags & Passive$1) !== NoFlags$1) markComponentPassiveEffectMountStopped(); 13203 else if ((flags & Layout) !== NoFlags$1) markComponentLayoutEffectMountStopped(); 13204 var destroy = effect.destroy; 13205 if (destroy !== void 0 && typeof destroy !== "function") { 13206 var hookName = void 0; 13207 if ((effect.tag & Layout) !== NoFlags) hookName = "useLayoutEffect"; 13208 else if ((effect.tag & Insertion) !== NoFlags) hookName = "useInsertionEffect"; 13209 else hookName = "useEffect"; 13210 var addendum = void 0; 13211 if (destroy === null) addendum = " You returned null. If your effect does not require clean up, return undefined (or nothing)."; 13212 else if (typeof destroy.then === "function") addendum = "\n\nIt looks like you wrote " + hookName + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName + "(() =>
13212 {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://reactjs.org/link/hooks-data-fetching"; 13213 else addendum = " You returned: " + destroy; 13214 error("%s must not return anything besides a function, which is used for clean-up.%s", hookName, addendum); 13215 } 13216 } 13217 effect = effect.next; 13218 } while (effect !== firstEffect); 13219 } 13220 } 13221 function commitPassiveEffectDurations(finishedRoot, finishedWork) { 13222 if ((finishedWork.flags & Update) !== NoFlags) switch (finishedWork.tag) { 13223 case Profiler: 13224 var passiveEffectDuration = finishedWork.stateNode.passiveEffectDuration; 13225 var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onPostCommit = _finishedWork$memoize.onPostCommit; 13226 var commitTime$1 = getCommitTime(); 13227 var phase = finishedWork.alternate === null ? "mount" : "update"; 13228 if (isCurrentUpdateNested()) phase = "nested-update"; 13229 if (typeof onPostCommit === "function") onPostCommit(id, phase, passiveEffectDuration, commitTime$1); 13230 var parentFiber = finishedWork.return; 13231 outer: while (parentFiber !== null) { 13232 switch (parentFiber.tag) { 13233 case HostRoot: 13234 var root$1 = parentFiber.stateNode; 13235 root$1.passiveEffectDuration += passiveEffectDuration; 13236 break outer; 13237 case Profiler: 13238 var parentStateNode = parentFiber.stateNode; 13239 parentStateNode.passiveEffectDuration += passiveEffectDuration; 13240 break outer; 13241 } 13242 parentFiber = parentFiber.return; 13243 } 13244 break; 13245 } 13246 } 13247 function commitLayoutEffectOnFiber(finishedRoot, current$1, finishedWork, committedLanes) { 13248 if ((finishedWork.flags & LayoutMask) !== NoFlags) switch (finishedWork.tag) { 13249 case FunctionComponent: 13250 case ForwardRef: 13251 case SimpleMemoComponent: 13252 if (!offscreenSubtreeWasHidden) if (finishedWork.mode & ProfileMode) try { 13253 startLayoutEffectTimer(); 13254 commitHookEffectListMount(Layout | HasEffect, finishedWork); 13255 } finally { 13256 recordLayoutEffectDuration(finishedWork); 13257 } 13258 else commitHookEffectListMount(Layout | HasEffect, finishedWork); 13259 break; 13260 case ClassComponent: 13261 var instance = finishedWork.stateNode; 13262 if (finishedWork.flags & Update) { 13263 if (!offscreenSubtreeWasHidden) if (current$1 === null) { 13264 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 13265 if (instance.props !== finishedWork.memoizedProps) error("Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"); 13266 if (instance.state !== finishedWork.memoizedState) error("Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"); 13267 } 13268 if (finishedWork.mode & ProfileMode) try { 13269 startLayoutEffectTimer(); 13270 instance.componentDidMount(); 13271 } finally { 13272 recordLayoutEffectDuration(finishedWork); 13273 } 13274 else instance.componentDidMount(); 13275 } else { 13276 var prevProps = finishedWork.elementType === finishedWork.type ? current$1.memoizedProps : resolveDefaultProps(finishedWork.type, current$1.memoizedProps); 13277 var prevState = current$1.memoizedState; 13278 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 13279 if (instance.props !== finishedWork.memoizedProps) error("Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"); 13280 if (instance.state !== finishedWork.memoizedState) error("Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"); 13281 } 13282 if (finishedWork.mode & ProfileMode) try { 13283 startLayoutEffectTimer(); 13284 instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate); 13285 } finally { 13286 recordLayoutEffectDuration(finishedWork); 13287 } 13288 else instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate); 13289 } 13290 } 13291 var updateQueue = finishedWork.updateQueue; 13292 if (updateQueue !== null) { 13293 if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { 13294 if (instance.props !== finishedWork.memoizedProps) error("Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"); 13295 if (instance.state !== finishedWork.memoizedState) error("Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"); 13296 } 13297 commitUpdateQueue(finishedWork, updateQueue, instance); 13298 } 13299 break; 13300 case HostRoot: 13301 var _updateQueue = finishedWork.updateQueue; 13302 if (_updateQueue !== null) { 13303 var _instance = null; 13304 if (finishedWork.child !== null) switch (finishedWork.child.tag) { 13305 case HostComponent: 13306 _instance = getPublicInstance(finishedWork.child.stateNode); 13307 break; 13308 case ClassComponent:
13309 _instance = finishedWork.child.stateNode; 13310 break; 13311 } 13312 commitUpdateQueue(finishedWork, _updateQueue, _instance); 13313 } 13314 break; 13315 case HostComponent: 13316 var _instance2 = finishedWork.stateNode; 13317 if (current$1 === null && finishedWork.flags & Update) { 13318 var type = finishedWork.type; 13319 var props = finishedWork.memoizedProps; 13320 commitMount(_instance2, type, props); 13321 } 13322 break; 13323 case HostText: break; 13324 case HostPortal: break; 13325 case Profiler: 13326 var _finishedWork$memoize2 = finishedWork.memoizedProps, onCommit = _finishedWork$memoize2.onCommit, onRender = _finishedWork$memoize2.onRender; 13327 var effectDuration = finishedWork.stateNode.effectDuration; 13328 var commitTime$1 = getCommitTime(); 13329 var phase = current$1 === null ? "mount" : "update"; 13330 if (isCurrentUpdateNested()) phase = "nested-update"; 13331 if (typeof onRender === "function") onRender(finishedWork.memoizedProps.id, phase, finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, commitTime$1); 13332 if (typeof onCommit === "function") onCommit(finishedWork.memoizedProps.id, phase, effectDuration, commitTime$1); 13333 enqueuePendingPassiveProfilerEffect(finishedWork); 13334 var parentFiber = finishedWork.return; 13335 outer: while (parentFiber !== null) { 13336 switch (parentFiber.tag) { 13337 case HostRoot: 13338 var root$1 = parentFiber.stateNode; 13339 root$1.effectDuration += effectDuration; 13340 break outer; 13341 case Profiler: 13342 var parentStateNode = parentFiber.stateNode; 13343 parentStateNode.effectDuration += effectDuration; 13344 break outer; 13345 } 13346 parentFiber = parentFiber.return; 13347 } 13348 break; 13349 case SuspenseComponent: 13350 commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); 13351 break; 13352 case SuspenseListComponent: 13353 case IncompleteClassComponent: 13354 case ScopeComponent: 13355 case OffscreenComponent: 13356 case LegacyHiddenComponent: 13357 case TracingMarkerComponent: break; 13358 default: throw new Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."); 13359 } 13360 if (!offscreenSubtreeWasHidden) { 13361 if (finishedWork.flags & Ref) commitAttachRef(finishedWork); 13362 } 13363 } 13364 function reappearLayoutEffectsOnFiber(node) { 13365 switch (node.tag) { 13366 case FunctionComponent: 13367 case ForwardRef: 13368 case SimpleMemoComponent: 13369 if (node.mode & ProfileMode) try { 13370 startLayoutEffectTimer(); 13371 safelyCallCommitHookLayoutEffectListMount(node, node.return); 13372 } finally { 13373 recordLayoutEffectDuration(node); 13374 } 13375 else safelyCallCommitHookLayoutEffectListMount(node, node.return); 13376 break; 13377 case ClassComponent: 13378 var instance = node.stateNode; 13379 if (typeof instance.componentDidMount === "function") safelyCallComponentDidMount(node, node.return, instance); 13380 safelyAttachRef(node, node.return); 13381 break; 13382 case HostComponent: 13383 safelyAttachRef(node, node.return); 13384 break; 13385 } 13386 } 13387 function hideOrUnhideAllChildren(finishedWork, isHidden) { 13388 var hostSubtreeRoot = null; 13389 var node = finishedWork; 13390 while (true) { 13391 if (node.tag === HostComponent) { 13392 if (hostSubtreeRoot === null) { 13393 hostSubtreeRoot = node; 13394 try { 13395 var instance = node.stateNode; 13396 if (isHidden) hideInstance(instance); 13397 else unhideInstance(node.stateNode, node.memoizedProps); 13398 } catch (error$1) { 13399 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13400 } 13401 } 13402 } else if (node.tag === HostText) { 13403 if (hostSubtreeRoot === null) try { 13404 var _instance3 = node.stateNode; 13405 if (isHidden) hideTextInstance(_instance3); 13406 else unhideTextInstance(_instance3, node.memoizedProps); 13407 } catch (error$1) { 13408 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13409 } 13410 } else if ((node.tag === OffscreenComponent || node.tag === LegacyHiddenComponent) && node.memoizedState !== null && node !== finishedWork); 13411 else if (node.child !== null) { 13412 node.child.return = node; 13413 node = node.child; 13414 continue; 13415 } 13416 if (node === finishedWork) return; 13417 while (node.sibling === null) { 13418 if (node.return === null || node.return === finishedWork) return; 13419 if (hostSubtreeRoot === node) hostSubtreeRoot = null; 13420 node = node.return; 13421 } 13422 if (hostSubtreeRoot === node) hostSubtreeRoot = null; 13423 node.sibling.return = node.return; 13424 node = node.sibling; 13425 } 13426 } 13427 function commitAttachRef(finishedWork) { 13428 var ref = finishedWork.ref; 13429 if (ref !== null) {
13430 var instance = finishedWork.stateNode; 13431 var instanceToUse; 13432 switch (finishedWork.tag) { 13433 case HostComponent: 13434 instanceToUse = getPublicInstance(instance); 13435 break; 13436 default: instanceToUse = instance; 13437 } 13438 if (typeof ref === "function") { 13439 var retVal; 13440 if (finishedWork.mode & ProfileMode) try { 13441 startLayoutEffectTimer(); 13442 retVal = ref(instanceToUse); 13443 } finally { 13444 recordLayoutEffectDuration(finishedWork); 13445 } 13446 else retVal = ref(instanceToUse); 13447 if (typeof retVal === "function") error("Unexpected return value from a callback ref in %s. A callback ref should not return a function.", getComponentNameFromFiber(finishedWork)); 13448 } else { 13449 if (!ref.hasOwnProperty("current")) error("Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().", getComponentNameFromFiber(finishedWork)); 13450 ref.current = instanceToUse; 13451 } 13452 } 13453 } 13454 function detachFiberMutation(fiber) { 13455 var alternate = fiber.alternate; 13456 if (alternate !== null) alternate.return = null; 13457 fiber.return = null; 13458 } 13459 function detachFiberAfterEffects(fiber) { 13460 var alternate = fiber.alternate; 13461 if (alternate !== null) { 13462 fiber.alternate = null; 13463 detachFiberAfterEffects(alternate); 13464 } 13465 fiber.child = null; 13466 fiber.deletions = null; 13467 fiber.sibling = null; 13468 if (fiber.tag === HostComponent) { 13469 var hostInstance = fiber.stateNode; 13470 if (hostInstance !== null) detachDeletedInstance(hostInstance); 13471 } 13472 fiber.stateNode = null; 13473 fiber._debugOwner = null; 13474 fiber.return = null; 13475 fiber.dependencies = null; 13476 fiber.memoizedProps = null; 13477 fiber.memoizedState = null; 13478 fiber.pendingProps = null; 13479 fiber.stateNode = null; 13480 fiber.updateQueue = null; 13481 } 13482 function getHostParentFiber(fiber) { 13483 var parent = fiber.return; 13484 while (parent !== null) { 13485 if (isHostParent(parent)) return parent; 13486 parent = parent.return; 13487 } 13488 throw new Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."); 13489 } 13490 function isHostParent(fiber) { 13491 return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal; 13492 } 13493 function getHostSibling(fiber) { 13494 var node = fiber; 13495 siblings: while (true) { 13496 while (node.sibling === null) { 13497 if (node.return === null || isHostParent(node.return)) return null; 13498 node = node.return; 13499 } 13500 node.sibling.return = node.return; 13501 node = node.sibling; 13502 while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) { 13503 if (node.flags & Placement) continue siblings; 13504 if (node.child === null || node.tag === HostPortal) continue siblings; 13505 else { 13506 node.child.return = node; 13507 node = node.child; 13508 } 13509 } 13510 if (!(node.flags & Placement)) return node.stateNode; 13511 } 13512 } 13513 function commitPlacement(finishedWork) { 13514 var parentFiber = getHostParentFiber(finishedWork); 13515 switch (parentFiber.tag) { 13516 case HostComponent: 13517 var parent = parentFiber.stateNode; 13518 if (parentFiber.flags & ContentReset) { 13519 resetTextContent(parent); 13520 parentFiber.flags &= ~ContentReset; 13521 } 13522 insertOrAppendPlacementNode(finishedWork, getHostSibling(finishedWork), parent); 13523 break; 13524 case HostRoot: 13525 case HostPortal: 13526 var _parent = parentFiber.stateNode.containerInfo; 13527 insertOrAppendPlacementNodeIntoContainer(finishedWork, getHostSibling(finishedWork), _parent); 13528 break; 13529 default: throw new Error("Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue."); 13530 } 13531 } 13532 function insertOrAppendPlacementNodeIntoContainer(node, before, parent) { 13533 var tag = node.tag; 13534 if (tag === HostComponent || tag === HostText) { 13535 var stateNode = node.stateNode; 13536 if (before) insertInContainerBefore(parent, stateNode, before); 13537 else appendChildToContainer(parent, stateNode); 13538 } else if (tag === HostPortal); 13539 else { 13540 var child = node.child; 13541 if (child !== null) { 13542 insertOrAppendPlacementNodeIntoContainer(child, before, parent); 13543 var sibling = child.sibling; 13544 while (sibling !== null) { 13545 insertOrAppendPlacementNodeIntoContainer(sibling, before, parent); 13546 sibling = sibling.sibling; 13547 } 13548 } 13549 } 13550 } 13551 function insertOrAppendPlacementNode(node, before, parent) { 13552 var tag = node.tag; 13553 if (tag === HostComponent || tag === HostText) { 13554 var stateNode = node.stateNode; 13555 if (before) insertBefore(parent, stateNode, before); 13556 else appendChild(parent, stateNode); 13557 } else if (tag === HostPortal); 13558 else { 13559 var child = node.child; 13560 if (child !== null) { 13561 insertOrAppendPlacementNode(child, before, parent); 13562 var sibling = child.sibling; 13563 while (sibling !== null) { 13564 insertOrAppendPlacementNode(sibling, before, parent); 13565 sibling = sibling.sibling; 13566 } 13567 } 13568 } 13569 } 13570 var hostParent = null; 13571 var hostParentIsContainer = false;
13572 function commitDeletionEffects(root$1, returnFiber, deletedFiber) { 13573 var parent = returnFiber; 13574 findParent: while (parent !== null) { 13575 switch (parent.tag) { 13576 case HostComponent: 13577 hostParent = parent.stateNode; 13578 hostParentIsContainer = false; 13579 break findParent; 13580 case HostRoot: 13581 hostParent = parent.stateNode.containerInfo; 13582 hostParentIsContainer = true; 13583 break findParent; 13584 case HostPortal: 13585 hostParent = parent.stateNode.containerInfo; 13586 hostParentIsContainer = true; 13587 break findParent; 13588 } 13589 parent = parent.return; 13590 } 13591 if (hostParent === null) throw new Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."); 13592 commitDeletionEffectsOnFiber(root$1, returnFiber, deletedFiber); 13593 hostParent = null; 13594 hostParentIsContainer = false; 13595 detachFiberMutation(deletedFiber); 13596 } 13597 function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) { 13598 var child = parent.child; 13599 while (child !== null) { 13600 commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, child); 13601 child = child.sibling; 13602 } 13603 } 13604 function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) { 13605 onCommitUnmount(deletedFiber); 13606 switch (deletedFiber.tag) { 13607 case HostComponent: if (!offscreenSubtreeWasHidden) safelyDetachRef(deletedFiber, nearestMountedAncestor); 13608 case HostText: 13609 var prevHostParent = hostParent; 13610 var prevHostParentIsContainer = hostParentIsContainer; 13611 hostParent = null; 13612 recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); 13613 hostParent = prevHostParent; 13614 hostParentIsContainer = prevHostParentIsContainer; 13615 if (hostParent !== null) if (hostParentIsContainer) removeChildFromContainer(hostParent, deletedFiber.stateNode); 13616 else removeChild(hostParent, deletedFiber.stateNode); 13617 return; 13618 case DehydratedFragment: 13619 if (hostParent !== null) if (hostParentIsContainer) clearSuspenseBoundaryFromContainer(hostParent, deletedFiber.stateNode); 13620 else clearSuspenseBoundary(hostParent, deletedFiber.stateNode); 13621 return; 13622 case HostPortal: 13623 var _prevHostParent = hostParent; 13624 var _prevHostParentIsContainer = hostParentIsContainer; 13625 hostParent = deletedFiber.stateNode.containerInfo; 13626 hostParentIsContainer = true; 13627 recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); 13628 hostParent = _prevHostParent; 13629 hostParentIsContainer = _prevHostParentIsContainer; 13630 return; 13631 case FunctionComponent: 13632 case ForwardRef: 13633 case MemoComponent: 13634 case SimpleMemoComponent: 13635 if (!offscreenSubtreeWasHidden) { 13636 var updateQueue = deletedFiber.updateQueue; 13637 if (updateQueue !== null) { 13638 var lastEffect = updateQueue.lastEffect; 13639 if (lastEffect !== null) { 13640 var firstEffect = lastEffect.next; 13641 var effect = firstEffect; 13642 do { 13643 var _effect = effect, destroy = _effect.destroy, tag = _effect.tag; 13644 if (destroy !== void 0) { 13645 if ((tag & Insertion) !== NoFlags$1) safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy); 13646 else if ((tag & Layout) !== NoFlags$1) { 13647 markComponentLayoutEffectUnmountStarted(deletedFiber); 13648 if (deletedFiber.mode & ProfileMode) { 13649 startLayoutEffectTimer(); 13650 safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy); 13651 recordLayoutEffectDuration(deletedFiber); 13652 } else safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy); 13653 markComponentLayoutEffectUnmountStopped(); 13654 } 13655 } 13656 effect = effect.next; 13657 } while (effect !== firstEffect); 13658 } 13659 } 13660 } 13661 recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); 13662 return; 13663 case ClassComponent: 13664 if (!offscreenSubtreeWasHidden) { 13665 safelyDetachRef(deletedFiber, nearestMountedAncestor); 13666 var instance = deletedFiber.stateNode; 13667 if (typeof instance.componentWillUnmount === "function") safelyCallComponentWillUnmount(
13667deletedFiber, nearestMountedAncestor, instance); 13668 } 13669 recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); 13670 return; 13671 case ScopeComponent: 13672 recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); 13673 return; 13674 case OffscreenComponent: 13675 if (deletedFiber.mode & ConcurrentMode) { 13676 var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; 13677 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || deletedFiber.memoizedState !== null; 13678 recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); 13679 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; 13680 } else recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); 13681 break; 13682 default: 13683 recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber); 13684 return; 13685 } 13686 } 13687 function commitSuspenseCallback(finishedWork) { 13688 finishedWork.memoizedState; 13689 } 13690 function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) { 13691 if (finishedWork.memoizedState === null) { 13692 var current$1 = finishedWork.alternate; 13693 if (current$1 !== null) { 13694 var prevState = current$1.memoizedState; 13695 if (prevState !== null) { 13696 var suspenseInstance = prevState.dehydrated; 13697 if (suspenseInstance !== null) commitHydratedSuspenseInstance(suspenseInstance); 13698 } 13699 } 13700 } 13701 } 13702 function attachSuspenseRetryListeners(finishedWork) { 13703 var wakeables = finishedWork.updateQueue; 13704 if (wakeables !== null) { 13705 finishedWork.updateQueue = null; 13706 var retryCache = finishedWork.stateNode; 13707 if (retryCache === null) retryCache = finishedWork.stateNode = new PossiblyWeakSet(); 13708 wakeables.forEach(function(wakeable) { 13709 var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable); 13710 if (!retryCache.has(wakeable)) { 13711 retryCache.add(wakeable); 13712 if (isDevToolsPresent) if (inProgressLanes !== null && inProgressRoot !== null) restorePendingUpdaters(inProgressRoot, inProgressLanes); 13713 else throw Error("Expected finished root and lanes to be set. This is a bug in React."); 13714 wakeable.then(retry, retry); 13715 } 13716 }); 13717 } 13718 } 13719 function commitMutationEffects(root$1, finishedWork, committedLanes) { 13720 inProgressLanes = committedLanes; 13721 inProgressRoot = root$1; 13722 setCurrentFiber(finishedWork); 13723 commitMutationEffectsOnFiber(finishedWork, root$1); 13724 setCurrentFiber(finishedWork); 13725 inProgressLanes = null; 13726 inProgressRoot = null; 13727 } 13728 function recursivelyTraverseMutationEffects(root$1, parentFiber, lanes) { 13729 var deletions = parentFiber.deletions; 13730 if (deletions !== null) for (var i = 0; i < deletions.length; i++) { 13731 var childToDelete = deletions[i]; 13732 try { 13733 commitDeletionEffects(root$1, parentFiber, childToDelete); 13734 } catch (error$1) { 13735 captureCommitPhaseError(childToDelete, parentFiber, error$1); 13736 } 13737 } 13738 var prevDebugFiber = getCurrentFiber(); 13739 if (parentFiber.subtreeFlags & MutationMask) { 13740 var child = parentFiber.child; 13741 while (child !== null) { 13742 setCurrentFiber(child); 13743 commitMutationEffectsOnFiber(child, root$1); 13744 child = child.sibling; 13745 } 13746 } 13747 setCurrentFiber(prevDebugFiber); 13748 } 13749 function commitMutationEffectsOnFiber(finishedWork, root$1, lanes) { 13750 var current$1 = finishedWork.alternate; 13751 var flags = finishedWork.flags; 13752 switch (finishedWork.tag) { 13753 case FunctionComponent: 13754 case ForwardRef: 13755 case MemoComponent: 13756 case SimpleMemoComponent: 13757 recursivelyTraverseMutationEffects(root$1, finishedWork); 13758 commitReconciliationEffects(finishedWork); 13759 if (flags & Update) { 13760 try { 13761 commitHookEffectListUnmount(Insertion | HasEffect, finishedWork, finishedWork.return); 13762 commitHookEffectListMount(Insertion | HasEffect, finishedWork); 13763 } catch (error$1) { 13764 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13765 } 13766 if (finishedWork.mode & ProfileMode) { 13767 try { 13768 startLayoutEffectTimer(); 13769 commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return); 13770 } catch (error$1) { 13771 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13772 } 13773 recordLayoutEffectDuration(finishedWork); 13774 } else try { 13775 commitHookEffectListUnmount(Layout | HasEffect, finishedWork, finishedWork.return); 13776 } catch (error$1) { 13777 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13778 } 13779 } 13780 return; 13781 case ClassComponent: 13782 recursivelyTraverseMutationEffects(root$1, finishedWork); 13783 commitReconciliationEffects(finishedWork); 13784 if (flags & Ref) { 13785 if (current$1 !== null) safelyDetachRef(current$1, current$1.return); 13786 } 13787 return; 13788 case HostComponent: 13789 recursivelyTraverseMutationEffects(root$1, finishedWork); 13790 commitReconciliationEffects(finishedWork); 13791 if (flags & Ref) { 13792 if (current$1 !== null) safelyDetachRef(current$1, current$1.return); 13793 } 13794 if (finishedWork.flags & ContentReset) {
13795 var instance = finishedWork.stateNode; 13796 try { 13797 resetTextContent(instance); 13798 } catch (error$1) { 13799 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13800 } 13801 } 13802 if (flags & Update) { 13803 var _instance4 = finishedWork.stateNode; 13804 if (_instance4 != null) { 13805 var newProps = finishedWork.memoizedProps; 13806 var oldProps = current$1 !== null ? current$1.memoizedProps : newProps; 13807 var type = finishedWork.type; 13808 var updatePayload = finishedWork.updateQueue; 13809 finishedWork.updateQueue = null; 13810 if (updatePayload !== null) try { 13811 commitUpdate(_instance4, updatePayload, type, oldProps, newProps, finishedWork); 13812 } catch (error$1) { 13813 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13814 } 13815 } 13816 } 13817 return; 13818 case HostText: 13819 recursivelyTraverseMutationEffects(root$1, finishedWork); 13820 commitReconciliationEffects(finishedWork); 13821 if (flags & Update) { 13822 if (finishedWork.stateNode === null) throw new Error("This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue."); 13823 var textInstance = finishedWork.stateNode; 13824 var newText = finishedWork.memoizedProps; 13825 var oldText = current$1 !== null ? current$1.memoizedProps : newText; 13826 try { 13827 commitTextUpdate(textInstance, oldText, newText); 13828 } catch (error$1) { 13829 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13830 } 13831 } 13832 return; 13833 case HostRoot: 13834 recursivelyTraverseMutationEffects(root$1, finishedWork); 13835 commitReconciliationEffects(finishedWork); 13836 if (flags & Update) { 13837 if (current$1 !== null) { 13838 if (current$1.memoizedState.isDehydrated) try { 13839 commitHydratedContainer(root$1.containerInfo); 13840 } catch (error$1) { 13841 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13842 } 13843 } 13844 } 13845 return; 13846 case HostPortal: 13847 recursivelyTraverseMutationEffects(root$1, finishedWork); 13848 commitReconciliationEffects(finishedWork); 13849 return; 13850 case SuspenseComponent: 13851 recursivelyTraverseMutationEffects(root$1, finishedWork); 13852 commitReconciliationEffects(finishedWork); 13853 var offscreenFiber = finishedWork.child; 13854 if (offscreenFiber.flags & Visibility) { 13855 var offscreenInstance = offscreenFiber.stateNode; 13856 var isHidden = offscreenFiber.memoizedState !== null; 13857 offscreenInstance.isHidden = isHidden; 13858 if (isHidden) { 13859 if (!(offscreenFiber.alternate !== null && offscreenFiber.alternate.memoizedState !== null)) markCommitTimeOfFallback(); 13860 } 13861 } 13862 if (flags & Update) { 13863 try { 13864 commitSuspenseCallback(finishedWork); 13865 } catch (error$1) { 13866 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13867 } 13868 attachSuspenseRetryListeners(finishedWork); 13869 } 13870 return; 13871 case OffscreenComponent: 13872 var _wasHidden = current$1 !== null && current$1.memoizedState !== null; 13873 if (finishedWork.mode & ConcurrentMode) { 13874 var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; 13875 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || _wasHidden; 13876 recursivelyTraverseMutationEffects(root$1, finishedWork); 13877 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; 13878 } else recursivelyTraverseMutationEffects(root$1, finishedWork); 13879 commitReconciliationEffects(finishedWork); 13880 if (flags & Visibility) { 13881 var _offscreenInstance = finishedWork.stateNode; 13882 var _isHidden = finishedWork.memoizedState !== null; 13883 var offscreenBoundary = finishedWork; 13884 _offscreenInstance.isHidden = _isHidden; 13885 if (_isHidden) { 13886 if (!_wasHidden) { 13887 if ((offscreenBoundary.mode & ConcurrentMode) !== NoMode) { 13888 nextEffect = offscreenBoundary; 13889 var offscreenChild = offscreenBoundary.child; 13890 while (offscreenChild !== null) { 13891 nextEffect = offscreenChild; 13892 disappearLayoutEffects_begin(offscreenChild); 13893 offscreenChild = offscreenChild.sibling; 13894 } 13895 } 13896 } 13897 } 13898 hideOrUnhideAllChildren(offscreenBoundary, _isHidden); 13899 } 13900 return; 13901 case SuspenseListComponent: 13902 recursivelyTraverseMutationEffects(root$1, finishedWork); 13903 commitReconciliationEffects(finishedWork); 13904 if (flags & Update) attachSuspenseRetryListeners(finishedWork); 13905 return; 13906 case ScopeComponent: return; 13907 default: 13908 recursivelyTraverseMutationEffects(root$1, finishedWork); 13909 commitReconciliationEffects(finishedWork); 13910 return; 13911 } 13912 } 13913 function commitReconciliationEffects(finishedWork) { 13914 var flags = finishedWork.flags; 13915 if (flags & Placement) { 13916 try { 13917 commitPlacement(finishedWork); 13918 } catch (error$1) { 13919 captureCommitPhaseError(finishedWork, finishedWork.return, error$1); 13920 } 13921 finishedWork.flags &= ~Placement; 13922 } 13923 if (flags & Hydrating) finishedWork.flags &= ~Hydrating; 13924 } 13925 function commitLayoutEffects(finishedWork, root$1, committedLanes) { 13926 inProgressLanes = committedLanes; 13927 inProgressRoot = root$1; 13928 nextEffect = finishedWork; 13929 commitLayoutEffects_begin(finishedWork, root$1, committedLanes); 13930 inProgressLanes = null; 13931 inProgressRoot = null; 13932 } 13933 function commitLayoutEffects_begin(subtreeRoot, root$1, committedLanes) { 13934 var isModernRoot = (subtreeRoot.mode & ConcurrentMode) !== NoMode; 13935 while (nextEffect !== null) { 13936 var fiber = nextEffect; 13937 var firstChild = fiber.child; 13938 if (fiber.tag === OffscreenComponent && isModernRoot) { 13939 var newOffscreenSubtreeIsHidden = fiber.memoizedState !== null || offscreenSubtreeIsHidden;
13940 if (newOffscreenSubtreeIsHidden) { 13941 commitLayoutMountEffects_complete(subtreeRoot, root$1, committedLanes); 13942 continue; 13943 } else { 13944 var current$1 = fiber.alternate; 13945 var newOffscreenSubtreeWasHidden = current$1 !== null && current$1.memoizedState !== null || offscreenSubtreeWasHidden; 13946 var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden; 13947 var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; 13948 offscreenSubtreeIsHidden = newOffscreenSubtreeIsHidden; 13949 offscreenSubtreeWasHidden = newOffscreenSubtreeWasHidden; 13950 if (offscreenSubtreeWasHidden && !prevOffscreenSubtreeWasHidden) { 13951 nextEffect = fiber; 13952 reappearLayoutEffects_begin(fiber); 13953 } 13954 var child = firstChild; 13955 while (child !== null) { 13956 nextEffect = child; 13957 commitLayoutEffects_begin(child, root$1, committedLanes); 13958 child = child.sibling; 13959 } 13960 nextEffect = fiber; 13961 offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden; 13962 offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; 13963 commitLayoutMountEffects_complete(subtreeRoot, root$1, committedLanes); 13964 continue; 13965 } 13966 } 13967 if ((fiber.subtreeFlags & LayoutMask) !== NoFlags && firstChild !== null) { 13968 firstChild.return = fiber; 13969 nextEffect = firstChild; 13970 } else commitLayoutMountEffects_complete(subtreeRoot, root$1, committedLanes); 13971 } 13972 } 13973 function commitLayoutMountEffects_complete(subtreeRoot, root$1, committedLanes) { 13974 while (nextEffect !== null) { 13975 var fiber = nextEffect; 13976 if ((fiber.flags & LayoutMask) !== NoFlags) { 13977 var current$1 = fiber.alternate; 13978 setCurrentFiber(fiber); 13979 try { 13980 commitLayoutEffectOnFiber(root$1, current$1, fiber, committedLanes); 13981 } catch (error$1) { 13982 captureCommitPhaseError(fiber, fiber.return, error$1); 13983 } 13984 resetCurrentFiber(); 13985 } 13986 if (fiber === subtreeRoot) { 13987 nextEffect = null; 13988 return; 13989 } 13990 var sibling = fiber.sibling; 13991 if (sibling !== null) { 13992 sibling.return = fiber.return; 13993 nextEffect = sibling; 13994 return; 13995 } 13996 nextEffect = fiber.return; 13997 } 13998 } 13999 function disappearLayoutEffects_begin(subtreeRoot) { 14000 while (nextEffect !== null) { 14001 var fiber = nextEffect; 14002 var firstChild = fiber.child; 14003 switch (fiber.tag) { 14004 case FunctionComponent: 14005 case ForwardRef: 14006 case MemoComponent: 14007 case SimpleMemoComponent: 14008 if (fiber.mode & ProfileMode) try { 14009 startLayoutEffectTimer(); 14010 commitHookEffectListUnmount(Layout, fiber, fiber.return); 14011 } finally { 14012 recordLayoutEffectDuration(fiber); 14013 } 14014 else commitHookEffectListUnmount(Layout, fiber, fiber.return); 14015 break; 14016 case ClassComponent: 14017 safelyDetachRef(fiber, fiber.return); 14018 var instance = fiber.stateNode; 14019 if (typeof instance.componentWillUnmount === "function") safelyCallComponentWillUnmount(fiber, fiber.return, instance); 14020 break; 14021 case HostComponent: 14022 safelyDetachRef(fiber, fiber.return); 14023 break; 14024 case OffscreenComponent: 14025 if (fiber.memoizedState !== null) { 14026 disappearLayoutEffects_complete(subtreeRoot); 14027 continue; 14028 } 14029 break; 14030 } 14031 if (firstChild !== null) { 14032 firstChild.return = fiber; 14033 nextEffect = firstChild; 14034 } else disappearLayoutEffects_complete(subtreeRoot); 14035 } 14036 } 14037 function disappearLayoutEffects_complete(subtreeRoot) { 14038 while (nextEffect !== null) { 14039 var fiber = nextEffect; 14040 if (fiber === subtreeRoot) { 14041 nextEffect = null; 14042 return; 14043 } 14044 var sibling = fiber.sibling; 14045 if (sibling !== null) { 14046 sibling.return = fiber.return; 14047 nextEffect = sibling; 14048 return; 14049 } 14050 nextEffect = fiber.return; 14051 } 14052 } 14053 function reappearLayoutEffects_begin(subtreeRoot) { 14054 while (nextEffect !== null) { 14055 var fiber = nextEffect; 14056 var firstChild = fiber.child; 14057 if (fiber.tag === OffscreenComponent) { 14058 if (fiber.memoizedState !== null) { 14059 reappearLayoutEffects_complete(subtreeRoot); 14060 continue; 14061 } 14062 } 14063 if (firstChild !== null) { 14064 firstChild.return = fiber; 14065 nextEffect = firstChild; 14066 } else reappearLayoutEffects_complete(subtreeRoot); 14067 } 14068 } 14069 function reappearLayoutEffects_complete(subtreeRoot) { 14070 while (nextEffect !== null) { 14071 var fiber = nextEffect; 14072 setCurrentFiber(fiber);
vendor: 4,187 bytes, lines 14073-14203
14073 try { 14074 reappearLayoutEffectsOnFiber(fiber); 14075 } catch (error$1) { 14076 captureCommitPhaseError(fiber, fiber.return, error$1); 14077 } 14078 resetCurrentFiber(); 14079 if (fiber === subtreeRoot) { 14080 nextEffect = null; 14081 return; 14082 } 14083 var sibling = fiber.sibling; 14084 if (sibling !== null) { 14085 sibling.return = fiber.return; 14086 nextEffect = sibling; 14087 return; 14088 } 14089 nextEffect = fiber.return; 14090 } 14091 } 14092 function commitPassiveMountEffects(root$1, finishedWork, committedLanes, committedTransitions) { 14093 nextEffect = finishedWork; 14094 commitPassiveMountEffects_begin(finishedWork, root$1, committedLanes, committedTransitions); 14095 } 14096 function commitPassiveMountEffects_begin(subtreeRoot, root$1, committedLanes, committedTransitions) { 14097 while (nextEffect !== null) { 14098 var fiber = nextEffect; 14099 var firstChild = fiber.child; 14100 if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && firstChild !== null) { 14101 firstChild.return = fiber; 14102 nextEffect = firstChild; 14103 } else commitPassiveMountEffects_complete(subtreeRoot, root$1, committedLanes, committedTransitions); 14104 } 14105 } 14106 function commitPassiveMountEffects_complete(subtreeRoot, root$1, committedLanes, committedTransitions) { 14107 while (nextEffect !== null) { 14108 var fiber = nextEffect; 14109 if ((fiber.flags & Passive) !== NoFlags) { 14110 setCurrentFiber(fiber); 14111 try { 14112 commitPassiveMountOnFiber(root$1, fiber, committedLanes, committedTransitions); 14113 } catch (error$1) { 14114 captureCommitPhaseError(fiber, fiber.return, error$1); 14115 } 14116 resetCurrentFiber(); 14117 } 14118 if (fiber === subtreeRoot) { 14119 nextEffect = null; 14120 return; 14121 } 14122 var sibling = fiber.sibling; 14123 if (sibling !== null) { 14124 sibling.return = fiber.return; 14125 nextEffect = sibling; 14126 return; 14127 } 14128 nextEffect = fiber.return; 14129 } 14130 } 14131 function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) { 14132 switch (finishedWork.tag) { 14133 case FunctionComponent: 14134 case ForwardRef: 14135 case SimpleMemoComponent: 14136 if (finishedWork.mode & ProfileMode) { 14137 startPassiveEffectTimer(); 14138 try { 14139 commitHookEffectListMount(Passive$1 | HasEffect, finishedWork); 14140 } finally { 14141 recordPassiveEffectDuration(finishedWork); 14142 } 14143 } else commitHookEffectListMount(Passive$1 | HasEffect, finishedWork); 14144 break; 14145 } 14146 } 14147 function commitPassiveUnmountEffects(firstChild) { 14148 nextEffect = firstChild; 14149 commitPassiveUnmountEffects_begin(); 14150 } 14151 function commitPassiveUnmountEffects_begin() { 14152 while (nextEffect !== null) { 14153 var fiber = nextEffect; 14154 var child = fiber.child; 14155 if ((nextEffect.flags & ChildDeletion) !== NoFlags) { 14156 var deletions = fiber.deletions; 14157 if (deletions !== null) { 14158 for (var i = 0; i < deletions.length; i++) { 14159 var fiberToDelete = deletions[i]; 14160 nextEffect = fiberToDelete; 14161 commitPassiveUnmountEffectsInsideOfDeletedTree_begin(fiberToDelete, fiber); 14162 } 14163 var previousFiber = fiber.alternate; 14164 if (previousFiber !== null) { 14165 var detachedChild = previousFiber.child; 14166 if (detachedChild !== null) { 14167 previousFiber.child = null; 14168 do { 14169 var detachedSibling = detachedChild.sibling; 14170 detachedChild.sibling = null; 14171 detachedChild = detachedSibling; 14172 } while (detachedChild !== null); 14173 } 14174 } 14175 nextEffect = fiber; 14176 } 14177 } 14178 if ((fiber.subtreeFlags & PassiveMask) !== NoFlags && child !== null) { 14179 child.return = fiber; 14180 nextEffect = child; 14181 } else commitPassiveUnmountEffects_complete(); 14182 } 14183 } 14184 function commitPassiveUnmountEffects_complete() { 14185 while (nextEffect !== null) { 14186 var fiber = nextEffect; 14187 if ((fiber.flags & Passive) !== NoFlags) { 14188 setCurrentFiber(fiber); 14189 commitPassiveUnmountOnFiber(fiber); 14190 resetCurrentFiber(); 14191 } 14192 var sibling = fiber.sibling; 14193 if (sibling !== null) { 14194 sibling.return = fiber.return; 14195 nextEffect = sibling; 14196 return; 14197 } 14198 nextEffect = fiber.return; 14199 } 14200 } 14201 function commitPassiveUnmountOnFiber(finishedWork) { 14202 switch (finishedWork.tag) { 14203 case FunctionComponent:
14204 case ForwardRef: 14205 case SimpleMemoComponent: 14206 if (finishedWork.mode & ProfileMode) { 14207 startPassiveEffectTimer(); 14208 commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return); 14209 recordPassiveEffectDuration(finishedWork); 14210 } else commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork, finishedWork.return); 14211 break; 14212 } 14213 } 14214 function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) { 14215 while (nextEffect !== null) { 14216 var fiber = nextEffect; 14217 setCurrentFiber(fiber); 14218 commitPassiveUnmountInsideDeletedTreeOnFiber(fiber, nearestMountedAncestor); 14219 resetCurrentFiber(); 14220 var child = fiber.child; 14221 if (child !== null) { 14222 child.return = fiber; 14223 nextEffect = child; 14224 } else commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot); 14225 } 14226 } 14227 function commitPassiveUnmountEffectsInsideOfDeletedTree_complete(deletedSubtreeRoot) { 14228 while (nextEffect !== null) { 14229 var fiber = nextEffect; 14230 var sibling = fiber.sibling; 14231 var returnFiber = fiber.return; 14232 detachFiberAfterEffects(fiber); 14233 if (fiber === deletedSubtreeRoot) { 14234 nextEffect = null; 14235 return; 14236 } 14237 if (sibling !== null) { 14238 sibling.return = returnFiber; 14239 nextEffect = sibling; 14240 return; 14241 } 14242 nextEffect = returnFiber; 14243 } 14244 } 14245 function commitPassiveUnmountInsideDeletedTreeOnFiber(current$1, nearestMountedAncestor) { 14246 switch (current$1.tag) { 14247 case FunctionComponent: 14248 case ForwardRef: 14249 case SimpleMemoComponent: 14250 if (current$1.mode & ProfileMode) { 14251 startPassiveEffectTimer(); 14252 commitHookEffectListUnmount(Passive$1, current$1, nearestMountedAncestor); 14253 recordPassiveEffectDuration(current$1); 14254 } else commitHookEffectListUnmount(Passive$1, current$1, nearestMountedAncestor); 14255 break; 14256 } 14257 } 14258 function invokeLayoutEffectMountInDEV(fiber) { 14259 switch (fiber.tag) { 14260 case FunctionComponent: 14261 case ForwardRef: 14262 case SimpleMemoComponent: 14263 try { 14264 commitHookEffectListMount(Layout | HasEffect, fiber); 14265 } catch (error$1) { 14266 captureCommitPhaseError(fiber, fiber.return, error$1); 14267 } 14268 break; 14269 case ClassComponent: 14270 var instance = fiber.stateNode; 14271 try { 14272 instance.componentDidMount(); 14273 } catch (error$1) { 14274 captureCommitPhaseError(fiber, fiber.return, error$1); 14275 } 14276 break; 14277 } 14278 } 14279 function invokePassiveEffectMountInDEV(fiber) { 14280 switch (fiber.tag) { 14281 case FunctionComponent: 14282 case ForwardRef: 14283 case SimpleMemoComponent: 14284 try { 14285 commitHookEffectListMount(Passive$1 | HasEffect, fiber); 14286 } catch (error$1) { 14287 captureCommitPhaseError(fiber, fiber.return, error$1); 14288 } 14289 break; 14290 } 14291 } 14292 function invokeLayoutEffectUnmountInDEV(fiber) { 14293 switch (fiber.tag) { 14294 case FunctionComponent: 14295 case ForwardRef: 14296 case SimpleMemoComponent: 14297 try { 14298 commitHookEffectListUnmount(Layout | HasEffect, fiber, fiber.return); 14299 } catch (error$1) { 14300 captureCommitPhaseError(fiber, fiber.return, error$1); 14301 } 14302 break; 14303 case ClassComponent: 14304 var instance = fiber.stateNode; 14305 if (typeof instance.componentWillUnmount === "function") safelyCallComponentWillUnmount(fiber, fiber.return, instance); 14306 break; 14307 } 14308 } 14309 function invokePassiveEffectUnmountInDEV(fiber) { 14310 switch (fiber.tag) { 14311 case FunctionComponent: 14312 case ForwardRef: 14313 case SimpleMemoComponent: try { 14314 commitHookEffectListUnmount(Passive$1 | HasEffect, fiber, fiber.return); 14315 } catch (error$1) { 14316 captureCommitPhaseError(fiber, fiber.return, error$1); 14317 } 14318 } 14319 } 14320 if (typeof Symbol === "function" && Symbol.for) { 14321 var symbolFor = Symbol.for; 14322 symbolFor("selector.component"); 14323 symbolFor("selector.has_pseudo_class"); 14324 symbolFor("selector.role"); 14325 symbolFor("selector.test_id"); 14326 symbolFor("selector.text"); 14327 } 14328 var commitHooks = []; 14329 function onCommitRoot$1() { 14330 commitHooks.forEach(function(commitHook) { 14331 return commitHook(); 14332 }); 14333 } 14334 var ReactCurrentActQueue = ReactSharedInternals.ReactCurrentActQueue; 14335 function isLegacyActEnvironment(fiber) { 14336 var isReactActEnvironmentGlobal = typeof IS_REACT_ACT_ENVIRONMENT !== "undefined" ? IS_REACT_ACT_ENVIRONMENT : void 0; 14337 return typeof jest !== "undefined" && isReactActEnvironmentGlobal !== false; 14338 }
14339 function isConcurrentActEnvironment() { 14340 var isReactActEnvironmentGlobal = typeof IS_REACT_ACT_ENVIRONMENT !== "undefined" ? IS_REACT_ACT_ENVIRONMENT : void 0; 14341 if (!isReactActEnvironmentGlobal && ReactCurrentActQueue.current !== null) error("The current testing environment is not configured to support act(...)"); 14342 return isReactActEnvironmentGlobal; 14343 } 14344 var ceil = Math.ceil; 14345 var ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher, ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner, ReactCurrentBatchConfig$3 = ReactSharedInternals.ReactCurrentBatchConfig, ReactCurrentActQueue$1 = ReactSharedInternals.ReactCurrentActQueue; 14346 var NoContext = 0; 14347 var BatchedContext = 1; 14348 var RenderContext = 2; 14349 var CommitContext = 4; 14350 var RootInProgress = 0; 14351 var RootFatalErrored = 1; 14352 var RootErrored = 2; 14353 var RootSuspended = 3; 14354 var RootSuspendedWithDelay = 4; 14355 var RootCompleted = 5; 14356 var RootDidNotComplete = 6; 14357 var executionContext = NoContext; 14358 var workInProgressRoot = null; 14359 var workInProgress = null; 14360 var workInProgressRootRenderLanes = NoLanes; 14361 var subtreeRenderLanes = NoLanes; 14362 var subtreeRenderLanesCursor = createCursor(NoLanes); 14363 var workInProgressRootExitStatus = RootInProgress; 14364 var workInProgressRootFatalError = null; 14365 var workInProgressRootIncludedLanes = NoLanes; 14366 var workInProgressRootSkippedLanes = NoLanes; 14367 var workInProgressRootInterleavedUpdatedLanes = NoLanes; 14368 var workInProgressRootPingedLanes = NoLanes; 14369 var workInProgressRootConcurrentErrors = null; 14370 var workInProgressRootRecoverableErrors = null; 14371 var globalMostRecentFallbackTime = 0; 14372 var FALLBACK_THROTTLE_MS = 500; 14373 var workInProgressRootRenderTargetTime = Infinity; 14374 var RENDER_TIMEOUT_MS = 500; 14375 var workInProgressTransitions = null; 14376 function resetRenderTimer() { 14377 workInProgressRootRenderTargetTime = now() + RENDER_TIMEOUT_MS; 14378 } 14379 function getRenderTargetTime() { 14380 return workInProgressRootRenderTargetTime; 14381 } 14382 var hasUncaughtError = false; 14383 var firstUncaughtError = null; 14384 var legacyErrorBoundariesThatAlreadyFailed = null; 14385 var rootDoesHavePassiveEffects = false; 14386 var rootWithPendingPassiveEffects = null; 14387 var pendingPassiveEffectsLanes = NoLanes; 14388 var pendingPassiveProfilerEffects = []; 14389 var pendingPassiveTransitions = null; 14390 var NESTED_UPDATE_LIMIT = 50; 14391 var nestedUpdateCount = 0; 14392 var rootWithNestedUpdates = null; 14393 var isFlushingPassiveEffects = false; 14394 var didScheduleUpdateDuringPassiveEffects = false; 14395 var NESTED_PASSIVE_UPDATE_LIMIT = 50; 14396 var nestedPassiveUpdateCount = 0; 14397 var rootWithPassiveNestedUpdates = null; 14398 var currentEventTime = NoTimestamp; 14399 var currentEventTransitionLane = NoLanes; 14400 var isRunningInsertionEffect = false; 14401 function getWorkInProgressRoot() { 14402 return workInProgressRoot; 14403 } 14404 function requestEventTime() { 14405 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) return now(); 14406 if (currentEventTime !== NoTimestamp) return currentEventTime; 14407 currentEventTime = now(); 14408 return currentEventTime; 14409 } 14410 function requestUpdateLane(fiber) { 14411 if ((fiber.mode & ConcurrentMode) === NoMode) return SyncLane; 14412 else if ((executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== NoLanes) return pickArbitraryLane(workInProgressRootRenderLanes); 14413 if (requestCurrentTransition() !== NoTransition) { 14414 if (ReactCurrentBatchConfig$3.transition !== null) { 14415 var transition = ReactCurrentBatchConfig$3.transition; 14416 if (!transition._updatedFibers) transition._updatedFibers = /* @__PURE__ */ new Set(); 14417 transition._updatedFibers.add(fiber); 14418 } 14419 if (currentEventTransitionLane === NoLane) currentEventTransitionLane = claimNextTransitionLane(); 14420 return currentEventTransitionLane; 14421 } 14422 var updateLane = getCurrentUpdatePriority(); 14423 if (updateLane !== NoLane) return updateLane; 14424 return getCurrentEventPriority(); 14425 } 14426 function requestRetryLane(fiber) { 14427 if ((fiber.mode & ConcurrentMode) === NoMode) return SyncLane; 14428 return claimNextRetryLane(); 14429 } 14430 function scheduleUpdateOnFiber(root$1, fiber, lane, eventTime) { 14431 checkForNestedUpdates(); 14432 if (isRunningInsertionEffect) error("useInsertionEffect must not schedule updates."); 14433 if (isFlushingPassiveEffects) didScheduleUpdateDuringPassiveEffects = true; 14434 markRootUpdated(root$1, lane, eventTime); 14435 if ((executionContext & RenderContext) !== NoLanes && root$1 === workInProgressRoot) warnAboutRenderPhaseUpdatesInDEV(fiber); 14436 else { 14437 if (isDevToolsPresent) addFiberToLanesMap(root$1, fiber, lane); 14438 warnIfUpdatesNotWrappedWithActDEV(fiber); 14439 if (root$1 === workInProgressRoot) { 14440 if ((executionContext & RenderContext) === NoContext) workInProgressRootInterleavedU
14440pdatedLanes = mergeLanes(workInProgressRootInterleavedUpdatedLanes, lane); 14441 if (workInProgressRootExitStatus === RootSuspendedWithDelay) markRootSuspended$1(root$1, workInProgressRootRenderLanes); 14442 } 14443 ensureRootIsScheduled(root$1, eventTime); 14444 if (lane === SyncLane && executionContext === NoContext && (fiber.mode & ConcurrentMode) === NoMode && !ReactCurrentActQueue$1.isBatchingLegacy) { 14445 resetRenderTimer(); 14446 flushSyncCallbacksOnlyInLegacyMode(); 14447 } 14448 } 14449 } 14450 function scheduleInitialHydrationOnRoot(root$1, lane, eventTime) { 14451 var current$1 = root$1.current; 14452 current$1.lanes = lane; 14453 markRootUpdated(root$1, lane, eventTime); 14454 ensureRootIsScheduled(root$1, eventTime); 14455 } 14456 function isUnsafeClassRenderPhaseUpdate(fiber) { 14457 return (executionContext & RenderContext) !== NoContext; 14458 } 14459 function ensureRootIsScheduled(root$1, currentTime) { 14460 var existingCallbackNode = root$1.callbackNode; 14461 markStarvedLanesAsExpired(root$1, currentTime); 14462 var nextLanes = getNextLanes(root$1, root$1 === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes); 14463 if (nextLanes === NoLanes) { 14464 if (existingCallbackNode !== null) cancelCallback$1(existingCallbackNode); 14465 root$1.callbackNode = null; 14466 root$1.callbackPriority = NoLane; 14467 return; 14468 } 14469 var newCallbackPriority = getHighestPriorityLane(nextLanes); 14470 var existingCallbackPriority = root$1.callbackPriority; 14471 if (existingCallbackPriority === newCallbackPriority && !(ReactCurrentActQueue$1.current !== null && existingCallbackNode !== fakeActCallbackNode)) { 14472 if (existingCallbackNode == null && existingCallbackPriority !== SyncLane) error("Expected scheduled callback to exist. This error is likely caused by a bug in React. Please file an issue."); 14473 return; 14474 } 14475 if (existingCallbackNode != null) cancelCallback$1(existingCallbackNode); 14476 var newCallbackNode; 14477 if (newCallbackPriority === SyncLane) { 14478 if (root$1.tag === LegacyRoot) { 14479 if (ReactCurrentActQueue$1.isBatchingLegacy !== null) ReactCurrentActQueue$1.didScheduleLegacyUpdate = true; 14480 scheduleLegacySyncCallback(performSyncWorkOnRoot.bind(null, root$1)); 14481 } else scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root$1)); 14482 if (ReactCurrentActQueue$1.current !== null) ReactCurrentActQueue$1.current.push(flushSyncCallbacks); 14483 else scheduleMicrotask(function() { 14484 if ((executionContext & (RenderContext | CommitContext)) === NoContext) flushSyncCallbacks(); 14485 }); 14486 newCallbackNode = null; 14487 } else { 14488 var schedulerPriorityLevel; 14489 switch (lanesToEventPriority(nextLanes)) { 14490 case DiscreteEventPriority: 14491 schedulerPriorityLevel = ImmediatePriority; 14492 break; 14493 case ContinuousEventPriority: 14494 schedulerPriorityLevel = UserBlockingPriority; 14495 break; 14496 case DefaultEventPriority: 14497 schedulerPriorityLevel = NormalPriority; 14498 break; 14499 case IdleEventPriority: 14500 schedulerPriorityLevel = IdlePriority; 14501 break; 14502 default: 14503 schedulerPriorityLevel = NormalPriority; 14504 break; 14505 } 14506 newCallbackNode = scheduleCallback$1(schedulerPriorityLevel, performConcurrentWorkOnRoot.bind(null, root$1)); 14507 } 14508 root$1.callbackPriority = newCallbackPriority; 14509 root$1.callbackNode = newCallbackNode; 14510 } 14511 function performConcurrentWorkOnRoot(root$1, didTimeout) { 14512 resetNestedUpdateFlag(); 14513 currentEventTime = NoTimestamp; 14514 currentEventTransitionLane = NoLanes; 14515 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) throw new Error("Should not already be working."); 14516 var originalCallbackNode = root$1.callbackNode; 14517 if (flushPassiveEffects()) { 14518 if (root$1.callbackNode !== originalCallbackNode) return null; 14519 } 14520 var lanes = getNextLanes(root$1, root$1 === workInProgressRoot ? workInProgressRootRenderLanes : NoLanes); 14521 if (lanes === NoLanes) return null; 14522 var exitStatus = !includesBlockingLane(root$1, lanes) && !includesExpiredLane(root$1, lanes) && !didTimeout ? renderRootConcurrent(root$1, lanes) : renderRootSync(root$1, lanes); 14523 if (exitStatus !== RootInProgress) { 14524 if (exitStatus === RootErrored) { 14525 var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root$1); 14526 if (errorRetryLanes !== NoLanes) { 14527 lanes = errorRetryLanes; 14528 exitStatus = recoverFromConcurrentError(root$1, errorRetryLanes); 14529 } 14530 }
14531 if (exitStatus === RootFatalErrored) { 14532 var fatalError = workInProgressRootFatalError; 14533 prepareFreshStack(root$1, NoLanes); 14534 markRootSuspended$1(root$1, lanes); 14535 ensureRootIsScheduled(root$1, now()); 14536 throw fatalError; 14537 } 14538 if (exitStatus === RootDidNotComplete) markRootSuspended$1(root$1, lanes); 14539 else { 14540 var renderWasConcurrent = !includesBlockingLane(root$1, lanes); 14541 var finishedWork = root$1.current.alternate; 14542 if (renderWasConcurrent && !isRenderConsistentWithExternalStores(finishedWork)) { 14543 exitStatus = renderRootSync(root$1, lanes); 14544 if (exitStatus === RootErrored) { 14545 var _errorRetryLanes = getLanesToRetrySynchronouslyOnError(root$1); 14546 if (_errorRetryLanes !== NoLanes) { 14547 lanes = _errorRetryLanes; 14548 exitStatus = recoverFromConcurrentError(root$1, _errorRetryLanes); 14549 } 14550 } 14551 if (exitStatus === RootFatalErrored) { 14552 var _fatalError = workInProgressRootFatalError; 14553 prepareFreshStack(root$1, NoLanes); 14554 markRootSuspended$1(root$1, lanes); 14555 ensureRootIsScheduled(root$1, now()); 14556 throw _fatalError; 14557 } 14558 } 14559 root$1.finishedWork = finishedWork; 14560 root$1.finishedLanes = lanes; 14561 finishConcurrentRender(root$1, exitStatus, lanes); 14562 } 14563 } 14564 ensureRootIsScheduled(root$1, now()); 14565 if (root$1.callbackNode === originalCallbackNode) return performConcurrentWorkOnRoot.bind(null, root$1); 14566 return null; 14567 } 14568 function recoverFromConcurrentError(root$1, errorRetryLanes) { 14569 var errorsFromFirstAttempt = workInProgressRootConcurrentErrors; 14570 if (isRootDehydrated(root$1)) { 14571 var rootWorkInProgress = prepareFreshStack(root$1, errorRetryLanes); 14572 rootWorkInProgress.flags |= ForceClientRender; 14573 errorHydratingContainer(root$1.containerInfo); 14574 } 14575 var exitStatus = renderRootSync(root$1, errorRetryLanes); 14576 if (exitStatus !== RootErrored) { 14577 var errorsFromSecondAttempt = workInProgressRootRecoverableErrors; 14578 workInProgressRootRecoverableErrors = errorsFromFirstAttempt; 14579 if (errorsFromSecondAttempt !== null) queueRecoverableErrors(errorsFromSecondAttempt); 14580 } 14581 return exitStatus; 14582 } 14583 function queueRecoverableErrors(errors) { 14584 if (workInProgressRootRecoverableErrors === null) workInProgressRootRecoverableErrors = errors; 14585 else workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, errors); 14586 } 14587 function finishConcurrentRender(root$1, exitStatus, lanes) { 14588 switch (exitStatus) { 14589 case RootInProgress: 14590 case RootFatalErrored: throw new Error("Root did not complete. This is a bug in React."); 14591 case RootErrored: 14592 commitRoot(root$1, workInProgressRootRecoverableErrors, workInProgressTransitions); 14593 break; 14594 case RootSuspended: 14595 markRootSuspended$1(root$1, lanes); 14596 if (includesOnlyRetries(lanes) && !shouldForceFlushFallbacksInDEV()) { 14597 var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); 14598 if (msUntilTimeout > 10) { 14599 if (getNextLanes(root$1, NoLanes) !== NoLanes) break; 14600 var suspendedLanes = root$1.suspendedLanes; 14601 if (!isSubsetOfLanes(suspendedLanes, lanes)) { 14602 requestEventTime(); 14603 markRootPinged(root$1, suspendedLanes); 14604 break; 14605 } 14606 root$1.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root$1, workInProgressRootRecoverableErrors, workInProgressTransitions), msUntilTimeout); 14607 break; 14608 } 14609 } 14610 commitRoot(root$1, workInProgressRootRecoverableErrors, workInProgressTransitions); 14611 break; 14612 case RootSuspendedWithDelay: 14613 markRootSuspended$1(root$1, lanes); 14614 if (includesOnlyTransitions(lanes)) break; 14615 if (!shouldForceFlushFallbacksInDEV()) { 14616 var eventTimeMs = getMostRecentEventTime(root$1, lanes); 14617 var timeElapsedMs = now() - eventTimeMs; 14618 var _msUntilTimeout = jnd(timeElapsedMs) - timeElapsedMs; 14619 if (_msUntilTimeout > 10) { 14620 root$1.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root$1, workInProgressRootRecoverableErrors, workInProgressTransitions), _msUntilTimeout); 14621 break; 14622 } 14623 } 14624 commitRoot(root$1, workInProgressRootRecoverableErrors, workInProgressTransitions); 14625 break; 14626 case RootCompleted: 14627 commitRoot(root$1, workInProgressRootRecoverableErrors, workInProgressTransitions); 14628 break; 14629 default: throw new Error("Unknown root exit status."); 14630 } 14631 } 14632 function isRenderConsistentWithExternalStores(finishedWork) { 14633 var node = finishedWork; 14634 while (true) { 14635 if (node.flags & StoreConsistency) { 14636 var updateQueue = node.updateQueue; 14637 if (updateQueue !== null) { 14638 var checks = updateQueue.stores; 14639 if (checks !== null) for (var i = 0; i < checks.length; i++) { 14640 var check = checks[i];
14641 var getSnapshot = check.getSnapshot; 14642 var renderedValue = check.value; 14643 try { 14644 if (!objectIs(getSnapshot(), renderedValue)) return false; 14645 } catch (error$1) { 14646 return false; 14647 } 14648 } 14649 } 14650 } 14651 var child = node.child; 14652 if (node.subtreeFlags & StoreConsistency && child !== null) { 14653 child.return = node; 14654 node = child; 14655 continue; 14656 } 14657 if (node === finishedWork) return true; 14658 while (node.sibling === null) { 14659 if (node.return === null || node.return === finishedWork) return true; 14660 node = node.return; 14661 } 14662 node.sibling.return = node.return; 14663 node = node.sibling; 14664 } 14665 return true; 14666 } 14667 function markRootSuspended$1(root$1, suspendedLanes) { 14668 suspendedLanes = removeLanes(suspendedLanes, workInProgressRootPingedLanes); 14669 suspendedLanes = removeLanes(suspendedLanes, workInProgressRootInterleavedUpdatedLanes); 14670 markRootSuspended(root$1, suspendedLanes); 14671 } 14672 function performSyncWorkOnRoot(root$1) { 14673 syncNestedUpdateFlag(); 14674 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) throw new Error("Should not already be working."); 14675 flushPassiveEffects(); 14676 var lanes = getNextLanes(root$1, NoLanes); 14677 if (!includesSomeLane(lanes, SyncLane)) { 14678 ensureRootIsScheduled(root$1, now()); 14679 return null; 14680 } 14681 var exitStatus = renderRootSync(root$1, lanes); 14682 if (root$1.tag !== LegacyRoot && exitStatus === RootErrored) { 14683 var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root$1); 14684 if (errorRetryLanes !== NoLanes) { 14685 lanes = errorRetryLanes; 14686 exitStatus = recoverFromConcurrentError(root$1, errorRetryLanes); 14687 } 14688 } 14689 if (exitStatus === RootFatalErrored) { 14690 var fatalError = workInProgressRootFatalError; 14691 prepareFreshStack(root$1, NoLanes); 14692 markRootSuspended$1(root$1, lanes); 14693 ensureRootIsScheduled(root$1, now()); 14694 throw fatalError; 14695 } 14696 if (exitStatus === RootDidNotComplete) throw new Error("Root did not complete. This is a bug in React."); 14697 root$1.finishedWork = root$1.current.alternate; 14698 root$1.finishedLanes = lanes; 14699 commitRoot(root$1, workInProgressRootRecoverableErrors, workInProgressTransitions); 14700 ensureRootIsScheduled(root$1, now()); 14701 return null; 14702 } 14703 function flushRoot(root$1, lanes) { 14704 if (lanes !== NoLanes) { 14705 markRootEntangled(root$1, mergeLanes(lanes, SyncLane)); 14706 ensureRootIsScheduled(root$1, now()); 14707 if ((executionContext & (RenderContext | CommitContext)) === NoContext) { 14708 resetRenderTimer(); 14709 flushSyncCallbacks(); 14710 } 14711 } 14712 } 14713 function batchedUpdates$1(fn, a) { 14714 var prevExecutionContext = executionContext; 14715 executionContext |= BatchedContext; 14716 try { 14717 return fn(a); 14718 } finally { 14719 executionContext = prevExecutionContext; 14720 if (executionContext === NoContext && !ReactCurrentActQueue$1.isBatchingLegacy) { 14721 resetRenderTimer(); 14722 flushSyncCallbacksOnlyInLegacyMode(); 14723 } 14724 } 14725 } 14726 function discreteUpdates(fn, a, b, c, d) { 14727 var previousPriority = getCurrentUpdatePriority(); 14728 var prevTransition = ReactCurrentBatchConfig$3.transition; 14729 try { 14730 ReactCurrentBatchConfig$3.transition = null; 14731 setCurrentUpdatePriority(DiscreteEventPriority); 14732 return fn(a, b, c, d); 14733 } finally { 14734 setCurrentUpdatePriority(previousPriority); 14735 ReactCurrentBatchConfig$3.transition = prevTransition; 14736 if (executionContext === NoContext) resetRenderTimer(); 14737 } 14738 } 14739 function flushSync(fn) { 14740 if (rootWithPendingPassiveEffects !== null && rootWithPendingPassiveEffects.tag === LegacyRoot && (executionContext & (RenderContext | CommitContext)) === NoContext) flushPassiveEffects(); 14741 var prevExecutionContext = executionContext; 14742 executionContext |= BatchedContext; 14743 var prevTransition = ReactCurrentBatchConfig$3.transition; 14744 var previousPriority = getCurrentUpdatePriority(); 14745 try { 14746 ReactCurrentBatchConfig$3.transition = null; 14747 setCurrentUpdatePriority(DiscreteEventPriority); 14748 if (fn) return fn(); 14749 else return; 14750 } finally { 14751 setCurrentUpdatePriority(previousPriority); 14752 ReactCurrentBatchConfig$3.transition = prevTransition; 14753 executionContext = prevExecutionContext; 14754 if ((executionContext & (RenderContext | CommitContext)) === NoContext) flushSyncCallbacks(); 14755 } 14756 } 14757 function isAlreadyRendering() { 14758 return (executionContext & (RenderContext | CommitContext)) !== NoContext; 14759 } 14760 function pushRenderLanes(fiber, lanes) { 14761 push(subtreeRenderLanesCursor, subtreeRenderLanes, fiber); 14762 subtreeRenderLanes = mergeLanes(subtreeRenderLanes, lanes); 14763 workInProgressRootIncludedLanes = mergeLanes(workInProgressRootIncludedLanes, lanes); 14764 } 14765 function popRenderLanes(fiber) { 14766 subtreeRenderLanes = subtreeRenderLanesCursor.current; 14767 pop(subtreeRenderLanesCursor, fiber); 14768 } 14769 function prepareFreshStack(root$1, lanes) { 14770 root$1.finishedWork = null; 14771 root$1.finishedLanes = NoLanes; 14772 var timeoutHandle = root$1.timeoutHandle; 14773 if (timeoutHandle !== noTimeout) { 14774 root$1.timeoutHandle = noTimeout; 14775 cancelTimeout(timeoutHandle); 14776 } 14777 if (workInProgress !== null) { 14778 var interruptedWork = workInProgress.return; 14779 while (interruptedWork !== null) { 14780 var current$1 = interruptedWork.alternate; 14781 unwindInterruptedWork(current$1, interruptedWork); 14782 interruptedWork = interruptedWork.return; 14783 } 14784 } 14785 workInProgressRoot = root$1; 14786 var rootWorkInProgress = createWorkInProgress(root$1.current, null); 14787 workInProgress = rootWorkInProgress;
14788 workInProgressRootRenderLanes = subtreeRenderLanes = workInProgressRootIncludedLanes = lanes; 14789 workInProgressRootExitStatus = RootInProgress; 14790 workInProgressRootFatalError = null; 14791 workInProgressRootSkippedLanes = NoLanes; 14792 workInProgressRootInterleavedUpdatedLanes = NoLanes; 14793 workInProgressRootPingedLanes = NoLanes; 14794 workInProgressRootConcurrentErrors = null; 14795 workInProgressRootRecoverableErrors = null; 14796 finishQueueingConcurrentUpdates(); 14797 ReactStrictModeWarnings.discardPendingWarnings(); 14798 return rootWorkInProgress; 14799 } 14800 function handleError(root$1, thrownValue) { 14801 do { 14802 var erroredWork = workInProgress; 14803 try { 14804 resetContextDependencies(); 14805 resetHooksAfterThrow(); 14806 resetCurrentFiber(); 14807 ReactCurrentOwner$2.current = null; 14808 if (erroredWork === null || erroredWork.return === null) { 14809 workInProgressRootExitStatus = RootFatalErrored; 14810 workInProgressRootFatalError = thrownValue; 14811 workInProgress = null; 14812 return; 14813 } 14814 if (enableProfilerTimer && erroredWork.mode & ProfileMode) stopProfilerTimerIfRunningAndRecordDelta(erroredWork, true); 14815 if (enableSchedulingProfiler) { 14816 markComponentRenderStopped(); 14817 if (thrownValue !== null && typeof thrownValue === "object" && typeof thrownValue.then === "function") markComponentSuspended(erroredWork, thrownValue, workInProgressRootRenderLanes); 14818 else markComponentErrored(erroredWork, thrownValue, workInProgressRootRenderLanes); 14819 } 14820 throwException(root$1, erroredWork.return, erroredWork, thrownValue, workInProgressRootRenderLanes); 14821 completeUnitOfWork(erroredWork); 14822 } catch (yetAnotherThrownValue) { 14823 thrownValue = yetAnotherThrownValue; 14824 if (workInProgress === erroredWork && erroredWork !== null) { 14825 erroredWork = erroredWork.return; 14826 workInProgress = erroredWork; 14827 } else erroredWork = workInProgress; 14828 continue; 14829 } 14830 return; 14831 } while (true); 14832 } 14833 function pushDispatcher() { 14834 var prevDispatcher = ReactCurrentDispatcher$2.current; 14835 ReactCurrentDispatcher$2.current = ContextOnlyDispatcher; 14836 if (prevDispatcher === null) return ContextOnlyDispatcher; 14837 else return prevDispatcher; 14838 } 14839 function popDispatcher(prevDispatcher) { 14840 ReactCurrentDispatcher$2.current = prevDispatcher; 14841 } 14842 function markCommitTimeOfFallback() { 14843 globalMostRecentFallbackTime = now(); 14844 } 14845 function markSkippedUpdateLanes(lane) { 14846 workInProgressRootSkippedLanes = mergeLanes(lane, workInProgressRootSkippedLanes); 14847 } 14848 function renderDidSuspend() { 14849 if (workInProgressRootExitStatus === RootInProgress) workInProgressRootExitStatus = RootSuspended; 14850 } 14851 function renderDidSuspendDelayIfPossible() { 14852 if (workInProgressRootExitStatus === RootInProgress || workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootErrored) workInProgressRootExitStatus = RootSuspendedWithDelay; 14853 if (workInProgressRoot !== null && (includesNonIdleWork(workInProgressRootSkippedLanes) || includesNonIdleWork(workInProgressRootInterleavedUpdatedLanes))) markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes); 14854 } 14855 function renderDidError(error$1) { 14856 if (workInProgressRootExitStatus !== RootSuspendedWithDelay) workInProgressRootExitStatus = RootErrored; 14857 if (workInProgressRootConcurrentErrors === null) workInProgressRootConcurrentErrors = [error$1]; 14858 else workInProgressRootConcurrentErrors.push(error$1); 14859 } 14860 function renderHasNotSuspendedYet() { 14861 return workInProgressRootExitStatus === RootInProgress; 14862 } 14863 function renderRootSync(root$1, lanes) { 14864 var prevExecutionContext = executionContext; 14865 executionContext |= RenderContext; 14866 var prevDispatcher = pushDispatcher(); 14867 if (workInProgressRoot !== root$1 || workInProgressRootRenderLanes !== lanes) { 14868 if (isDevToolsPresent) { 14869 var memoizedUpdaters = root$1.memoizedUpdaters; 14870 if (memoizedUpdaters.size > 0) { 14871 restorePendingUpdaters(root$1, workInProgressRootRenderLanes); 14872 memoizedUpdaters.clear(); 14873 } 14874 movePendingFibersToMemoized(root$1, lanes); 14875 } 14876 workInProgressTransitions = getTransitionsForLanes(); 14877 prepareFreshStack(root$1, lanes); 14878 } 14879 markRenderStarted(lanes); 14880 do 14881 try { 14882 workLoopSync(); 14883 break; 14884 } catch (thrownValue) { 14885 handleError(root$1, thrownValue); 14886 } 14887 while (true); 14888 resetContextDependencies(); 14889 executionContext = prevExecutionContext;
14890 popDispatcher(prevDispatcher); 14891 if (workInProgress !== null) throw new Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue."); 14892 markRenderStopped(); 14893 workInProgressRoot = null; 14894 workInProgressRootRenderLanes = NoLanes; 14895 return workInProgressRootExitStatus; 14896 } 14897 function workLoopSync() { 14898 while (workInProgress !== null) performUnitOfWork(workInProgress); 14899 } 14900 function renderRootConcurrent(root$1, lanes) { 14901 var prevExecutionContext = executionContext; 14902 executionContext |= RenderContext; 14903 var prevDispatcher = pushDispatcher(); 14904 if (workInProgressRoot !== root$1 || workInProgressRootRenderLanes !== lanes) { 14905 if (isDevToolsPresent) { 14906 var memoizedUpdaters = root$1.memoizedUpdaters; 14907 if (memoizedUpdaters.size > 0) { 14908 restorePendingUpdaters(root$1, workInProgressRootRenderLanes); 14909 memoizedUpdaters.clear(); 14910 } 14911 movePendingFibersToMemoized(root$1, lanes); 14912 } 14913 workInProgressTransitions = getTransitionsForLanes(); 14914 resetRenderTimer(); 14915 prepareFreshStack(root$1, lanes); 14916 } 14917 markRenderStarted(lanes); 14918 do 14919 try { 14920 workLoopConcurrent(); 14921 break; 14922 } catch (thrownValue) { 14923 handleError(root$1, thrownValue); 14924 } 14925 while (true); 14926 resetContextDependencies(); 14927 popDispatcher(prevDispatcher); 14928 executionContext = prevExecutionContext; 14929 if (workInProgress !== null) { 14930 markRenderYielded(); 14931 return RootInProgress; 14932 } else { 14933 markRenderStopped(); 14934 workInProgressRoot = null; 14935 workInProgressRootRenderLanes = NoLanes; 14936 return workInProgressRootExitStatus; 14937 } 14938 } 14939 function workLoopConcurrent() { 14940 while (workInProgress !== null && !shouldYield()) performUnitOfWork(workInProgress); 14941 } 14942 function performUnitOfWork(unitOfWork) { 14943 var current$1 = unitOfWork.alternate; 14944 setCurrentFiber(unitOfWork); 14945 var next; 14946 if ((unitOfWork.mode & ProfileMode) !== NoMode) { 14947 startProfilerTimer(unitOfWork); 14948 next = beginWork$1(current$1, unitOfWork, subtreeRenderLanes); 14949 stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true); 14950 } else next = beginWork$1(current$1, unitOfWork, subtreeRenderLanes); 14951 resetCurrentFiber(); 14952 unitOfWork.memoizedProps = unitOfWork.pendingProps; 14953 if (next === null) completeUnitOfWork(unitOfWork); 14954 else workInProgress = next; 14955 ReactCurrentOwner$2.current = null; 14956 } 14957 function completeUnitOfWork(unitOfWork) { 14958 var completedWork = unitOfWork; 14959 do { 14960 var current$1 = completedWork.alternate; 14961 var returnFiber = completedWork.return; 14962 if ((completedWork.flags & Incomplete) === NoFlags) { 14963 setCurrentFiber(completedWork); 14964 var next = void 0; 14965 if ((completedWork.mode & ProfileMode) === NoMode) next = completeWork(current$1, completedWork, subtreeRenderLanes); 14966 else { 14967 startProfilerTimer(completedWork); 14968 next = completeWork(current$1, completedWork, subtreeRenderLanes); 14969 stopProfilerTimerIfRunningAndRecordDelta(completedWork, false); 14970 } 14971 resetCurrentFiber(); 14972 if (next !== null) { 14973 workInProgress = next; 14974 return; 14975 } 14976 } else { 14977 var _next = unwindWork(current$1, completedWork); 14978 if (_next !== null) { 14979 _next.flags &= HostEffectMask; 14980 workInProgress = _next; 14981 return; 14982 } 14983 if ((completedWork.mode & ProfileMode) !== NoMode) { 14984 stopProfilerTimerIfRunningAndRecordDelta(completedWork, false); 14985 var actualDuration = completedWork.actualDuration; 14986 var child = completedWork.child; 14987 while (child !== null) { 14988 actualDuration += child.actualDuration; 14989 child = child.sibling; 14990 } 14991 completedWork.actualDuration = actualDuration; 14992 } 14993 if (returnFiber !== null) { 14994 returnFiber.flags |= Incomplete; 14995 returnFiber.subtreeFlags = NoFlags; 14996 returnFiber.deletions = null; 14997 } else { 14998 workInProgressRootExitStatus = RootDidNotComplete; 14999 workInProgress = null; 15000 return; 15001 } 15002 } 15003 var siblingFiber = completedWork.sibling; 15004 if (siblingFiber !== null) { 15005 workInProgress = siblingFiber; 15006 return; 15007 } 15008 completedWork = returnFiber; 15009 workInProgress = completedWork; 15010 } while (completedWork !== null); 15011 if (workInProgressRootExitStatus === RootInProgress) workInProgressRootExitStatus = RootCompleted; 15012 } 15013 function commitRoot(root$1, recoverableErrors, transitions) { 15014 var previousUpdateLanePriority = getCurrentUpdatePriority(); 15015 var prevTransition = ReactCurrentBatchConfig$3.transition; 15016 try { 15017 ReactCurrentBatchConfig$3.transition = null; 15018 setCurrentUpdatePriority(DiscreteEventPriority); 15019 commitRootImpl(root$1, recoverableErrors, transitions, previousUpdateLanePriority); 15020 } finally { 15021 ReactCurrentBatchConfig$3.transition = prevTransition; 15022 setCurrentUpdatePriority(previousUpdateLanePriority); 15023 } 15024 return null; 15025 } 15026 function commitRootImpl(root$1, recoverableErrors, transitions, renderPri
15026orityLevel) { 15027 do 15028 flushPassiveEffects(); 15029 while (rootWithPendingPassiveEffects !== null); 15030 flushRenderPhaseStrictModeWarningsInDEV(); 15031 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) throw new Error("Should not already be working."); 15032 var finishedWork = root$1.finishedWork; 15033 var lanes = root$1.finishedLanes; 15034 markCommitStarted(lanes); 15035 if (finishedWork === null) { 15036 markCommitStopped(); 15037 return null; 15038 } else if (lanes === NoLanes) error("root.finishedLanes should not be empty during a commit. This is a bug in React."); 15039 root$1.finishedWork = null; 15040 root$1.finishedLanes = NoLanes; 15041 if (finishedWork === root$1.current) throw new Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue."); 15042 root$1.callbackNode = null; 15043 root$1.callbackPriority = NoLane; 15044 var remainingLanes = mergeLanes(finishedWork.lanes, finishedWork.childLanes); 15045 markRootFinished(root$1, remainingLanes); 15046 if (root$1 === workInProgressRoot) { 15047 workInProgressRoot = null; 15048 workInProgress = null; 15049 workInProgressRootRenderLanes = NoLanes; 15050 } 15051 if ((finishedWork.subtreeFlags & PassiveMask) !== NoFlags || (finishedWork.flags & PassiveMask) !== NoFlags) { 15052 if (!rootDoesHavePassiveEffects) { 15053 rootDoesHavePassiveEffects = true; 15054 pendingPassiveTransitions = transitions; 15055 scheduleCallback$1(NormalPriority, function() { 15056 flushPassiveEffects(); 15057 return null; 15058 }); 15059 } 15060 } 15061 var subtreeHasEffects = (finishedWork.subtreeFlags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags; 15062 var rootHasEffect = (finishedWork.flags & (BeforeMutationMask | MutationMask | LayoutMask | PassiveMask)) !== NoFlags; 15063 if (subtreeHasEffects || rootHasEffect) { 15064 var prevTransition = ReactCurrentBatchConfig$3.transition; 15065 ReactCurrentBatchConfig$3.transition = null; 15066 var previousPriority = getCurrentUpdatePriority(); 15067 setCurrentUpdatePriority(DiscreteEventPriority); 15068 var prevExecutionContext = executionContext; 15069 executionContext |= CommitContext; 15070 ReactCurrentOwner$2.current = null; 15071 commitBeforeMutationEffects(root$1, finishedWork); 15072 recordCommitTime(); 15073 commitMutationEffects(root$1, finishedWork, lanes); 15074 resetAfterCommit(root$1.containerInfo); 15075 root$1.current = finishedWork; 15076 markLayoutEffectsStarted(lanes); 15077 commitLayoutEffects(finishedWork, root$1, lanes); 15078 markLayoutEffectsStopped(); 15079 requestPaint(); 15080 executionContext = prevExecutionContext; 15081 setCurrentUpdatePriority(previousPriority); 15082 ReactCurrentBatchConfig$3.transition = prevTransition; 15083 } else { 15084 root$1.current = finishedWork; 15085 recordCommitTime(); 15086 } 15087 var rootDidHavePassiveEffects = rootDoesHavePassiveEffects; 15088 if (rootDoesHavePassiveEffects) { 15089 rootDoesHavePassiveEffects = false; 15090 rootWithPendingPassiveEffects = root$1; 15091 pendingPassiveEffectsLanes = lanes; 15092 } else { 15093 nestedPassiveUpdateCount = 0; 15094 rootWithPassiveNestedUpdates = null; 15095 } 15096 remainingLanes = root$1.pendingLanes; 15097 if (remainingLanes === NoLanes) legacyErrorBoundariesThatAlreadyFailed = null; 15098 if (!rootDidHavePassiveEffects) commitDoubleInvokeEffectsInDEV(root$1.current, false); 15099 onCommitRoot(finishedWork.stateNode, renderPriorityLevel); 15100 if (isDevToolsPresent) root$1.memoizedUpdaters.clear(); 15101 onCommitRoot$1(); 15102 ensureRootIsScheduled(root$1, now()); 15103 if (recoverableErrors !== null) { 15104 var onRecoverableError = root$1.onRecoverableError; 15105 for (var i = 0; i < recoverableErrors.length; i++) { 15106 var recoverableError = recoverableErrors[i]; 15107 var componentStack = recoverableError.stack; 15108 var digest = recoverableError.digest; 15109 onRecoverableError(recoverableError.value, { 15110 componentStack, 15111 digest 15112 }); 15113 } 15114 } 15115 if (hasUncaughtError) { 15116 hasUncaughtError = false; 15117 var error$1 = firstUncaughtError; 15118 firstUncaughtError = null; 15119 throw error$1; 15120 } 15121 if (includesSomeLane(pendingPassiveEffectsLanes, SyncLane) && root$1.tag !== LegacyRoot) flushPassiveEffects(); 15122 remainingLanes = root$1.pendingLanes; 15123 if (includesSomeLane(remainingLanes, SyncLane)) { 15124 markNestedUpdateScheduled(); 15125 if (root$1 === rootWithNestedUpdates) nestedUpdateCount++; 15126 else { 15127 nestedUpdateCount = 0; 15128 rootWithNestedUpdates = root$1; 15129 } 15130 } else nestedUpdateCount = 0; 15131 flushSyncCallbacks(); 15132 markCommitStopped(); 15133 return null; 15134 } 15135 function flushPassiveEffects() { 15136 if (rootWithPendingPassiveEffects !== null) { 15137 var priority = lowerEventPriority(DefaultEventPriority, lanesToEventPriority(pendingPassiveEffectsLanes)); 15138 var prevTransition = ReactCurrentBatchConfig$3.transition; 15139 var previousPriority = getCurrentUpdatePriority();
15140 try { 15141 ReactCurrentBatchConfig$3.transition = null; 15142 setCurrentUpdatePriority(priority); 15143 return flushPassiveEffectsImpl(); 15144 } finally { 15145 setCurrentUpdatePriority(previousPriority); 15146 ReactCurrentBatchConfig$3.transition = prevTransition; 15147 } 15148 } 15149 return false; 15150 } 15151 function enqueuePendingPassiveProfilerEffect(fiber) { 15152 pendingPassiveProfilerEffects.push(fiber); 15153 if (!rootDoesHavePassiveEffects) { 15154 rootDoesHavePassiveEffects = true; 15155 scheduleCallback$1(NormalPriority, function() { 15156 flushPassiveEffects(); 15157 return null; 15158 }); 15159 } 15160 } 15161 function flushPassiveEffectsImpl() { 15162 if (rootWithPendingPassiveEffects === null) return false; 15163 var transitions = pendingPassiveTransitions; 15164 pendingPassiveTransitions = null; 15165 var root$1 = rootWithPendingPassiveEffects; 15166 var lanes = pendingPassiveEffectsLanes; 15167 rootWithPendingPassiveEffects = null; 15168 pendingPassiveEffectsLanes = NoLanes; 15169 if ((executionContext & (RenderContext | CommitContext)) !== NoContext) throw new Error("Cannot flush passive effects while already rendering."); 15170 isFlushingPassiveEffects = true; 15171 didScheduleUpdateDuringPassiveEffects = false; 15172 markPassiveEffectsStarted(lanes); 15173 var prevExecutionContext = executionContext; 15174 executionContext |= CommitContext; 15175 commitPassiveUnmountEffects(root$1.current); 15176 commitPassiveMountEffects(root$1, root$1.current, lanes, transitions); 15177 var profilerEffects = pendingPassiveProfilerEffects; 15178 pendingPassiveProfilerEffects = []; 15179 for (var i = 0; i < profilerEffects.length; i++) { 15180 var _fiber = profilerEffects[i]; 15181 commitPassiveEffectDurations(root$1, _fiber); 15182 } 15183 markPassiveEffectsStopped(); 15184 commitDoubleInvokeEffectsInDEV(root$1.current, true); 15185 executionContext = prevExecutionContext; 15186 flushSyncCallbacks(); 15187 if (didScheduleUpdateDuringPassiveEffects) if (root$1 === rootWithPassiveNestedUpdates) nestedPassiveUpdateCount++; 15188 else { 15189 nestedPassiveUpdateCount = 0; 15190 rootWithPassiveNestedUpdates = root$1; 15191 } 15192 else nestedPassiveUpdateCount = 0; 15193 isFlushingPassiveEffects = false; 15194 didScheduleUpdateDuringPassiveEffects = false; 15195 onPostCommitRoot(root$1); 15196 var stateNode = root$1.current.stateNode; 15197 stateNode.effectDuration = 0; 15198 stateNode.passiveEffectDuration = 0; 15199 return true; 15200 } 15201 function isAlreadyFailedLegacyErrorBoundary(instance) { 15202 return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance); 15203 } 15204 function markLegacyErrorBoundaryAsFailed(instance) { 15205 if (legacyErrorBoundariesThatAlreadyFailed === null) legacyErrorBoundariesThatAlreadyFailed = new Set([instance]); 15206 else legacyErrorBoundariesThatAlreadyFailed.add(instance); 15207 } 15208 function prepareToThrowUncaughtError(error$1) { 15209 if (!hasUncaughtError) { 15210 hasUncaughtError = true; 15211 firstUncaughtError = error$1; 15212 } 15213 } 15214 var onUncaughtError = prepareToThrowUncaughtError; 15215 function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error$1) { 15216 var root$1 = enqueueUpdate(rootFiber, createRootErrorUpdate(rootFiber, createCapturedValueAtFiber(error$1, sourceFiber), SyncLane), SyncLane); 15217 var eventTime = requestEventTime(); 15218 if (root$1 !== null) { 15219 markRootUpdated(root$1, SyncLane, eventTime); 15220 ensureRootIsScheduled(root$1, eventTime); 15221 } 15222 } 15223 function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error$1) { 15224 reportUncaughtErrorInDEV(error$1); 15225 setIsRunningInsertionEffect(false); 15226 if (sourceFiber.tag === HostRoot) { 15227 captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error$1); 15228 return; 15229 } 15230 var fiber = null; 15231 fiber = nearestMountedAncestor; 15232 while (fiber !== null) { 15233 if (fiber.tag === HostRoot) { 15234 captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error$1); 15235 return; 15236 } else if (fiber.tag === ClassComponent) { 15237 var ctor = fiber.type; 15238 var instance = fiber.stateNode; 15239 if (typeof ctor.getDerivedStateFromError === "function" || typeof instance.componentDidCatch === "function" && !isAlreadyFailedLegacyErrorBoundary(instance)) { 15240 var errorInfo = createCapturedValueAtFiber(error$1, sourceFiber); 15241 var update = createClassErrorUpdate(fiber, errorInfo, SyncLane); 15242 var root$1 = enqueueUpdate(fiber, update, SyncLane); 15243 var eventTime = requestEventTime(); 15244 if (root$1 !== null) { 15245 markRootUpdated(root$1, SyncLane, eventTime); 15246 ensureRootIsScheduled(root$1, eventTime); 15247 } 15248 return; 15249 } 15250 } 15251 fiber = fiber.return; 15252 } 15253 error("Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Likely causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s", error$1); 15254 } 15255 function pingSuspendedRoot(root$1, wakeable, pingedLanes) { 15256 var pingCache = root$1.pingCache; 15257 if (pingCache !== null) pingCache.delete(wakeable); 15258 var eventTime = requestEventTime(); 15259 markRootPinged(root$1, pingedLanes); 15260 warnIfSuspenseResolutionNotWrappedWithActDEV(root$1); 15261 if (workInProgressRoot === root$1 && isSubsetOfLanes(workInProgressRootRenderLanes, pingedLanes)) if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && includesOnlyRetries(workInProgressRootRenderLanes) && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) prepareFreshStack(root$1, NoLanes); 15262 else workInProgressRootPingedLanes = mergeLanes(workInProgressRootPingedLanes, pingedLanes); 15263 ensureRootIsScheduled(root$1, eventTime); 15264 } 15265 function retryTimedOutBoundary(boundaryFiber, retryLane) { 15266 if (retryLane === NoLane) retryLane = requestRetryLane(boundaryFiber); 15267 var eventTime = requestEventTime(); 15268 var root$1 = enqueueConcurrentRenderForLane(boundaryFiber, retryLane); 15269 if (root$1 !== null) { 15270 markRootUpdated(root$1, retryLane, eventTime); 15271 ensureRootIsScheduled(root$1, eventTime); 15272 } 15273 } 15274 function retryDehydratedSuspenseBoundary(boundaryFiber) { 15275 var suspenseState = boundaryFiber.memoizedState; 15276 var retryLane = NoLane; 15277 if (suspenseState !== null) retryLane = suspenseState.retryLane; 15278 retryTimedOutBoundary(boundaryFiber, retryLane); 15279 } 15280 function resolveRetryWakeable(boundaryFiber, wakeable) { 15281 var retryLane = NoLane; 15282 var retryCache; 15283 switch (boundaryFiber.tag) { 15284 case SuspenseComponent: 15285 retryCache = boundaryFiber.stateNode; 15286 var suspenseState = boundaryFiber.memoizedState; 15287 if (suspenseState !== null) retryLane = suspenseState.retryLane; 15288 break; 15289 case SuspenseListComponent: 15290 retryCache = boundaryFiber.stateNode; 15291 break; 15292 default: throw new Error("Pinged unknown suspense boundary type. This is probably a bug in React."); 15293 } 15294 if (retryCache !== null) retryCache.delete(wakeable); 15295 retryTimedOutBoundary(boundaryFiber, retryLane); 15296 } 15297 function jnd(timeElapsed) { 15298 return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3e3 ? 3e3 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960; 15299 } 15300 function checkForNestedUpdates() { 15301 if (nestedUpdateCount > NESTED_UPDATE_LIMIT) { 15302 nestedUpdateCount = 0; 15303 rootWithNestedUpdates = null; 15304 throw new Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops."); 15305 }
15306 if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) { 15307 nestedPassiveUpdateCount = 0; 15308 rootWithPassiveNestedUpdates = null; 15309 error("Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."); 15310 } 15311 } 15312 function flushRenderPhaseStrictModeWarningsInDEV() { 15313 ReactStrictModeWarnings.flushLegacyContextWarning(); 15314 ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); 15315 } 15316 function commitDoubleInvokeEffectsInDEV(fiber, hasPassiveEffects) { 15317 setCurrentFiber(fiber); 15318 invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectUnmountInDEV); 15319 if (hasPassiveEffects) invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectUnmountInDEV); 15320 invokeEffectsInDev(fiber, MountLayoutDev, invokeLayoutEffectMountInDEV); 15321 if (hasPassiveEffects) invokeEffectsInDev(fiber, MountPassiveDev, invokePassiveEffectMountInDEV); 15322 resetCurrentFiber(); 15323 } 15324 function invokeEffectsInDev(firstChild, fiberFlags, invokeEffectFn) { 15325 var current$1 = firstChild; 15326 var subtreeRoot = null; 15327 while (current$1 !== null) { 15328 var primarySubtreeFlag = current$1.subtreeFlags & fiberFlags; 15329 if (current$1 !== subtreeRoot && current$1.child !== null && primarySubtreeFlag !== NoFlags) current$1 = current$1.child; 15330 else { 15331 if ((current$1.flags & fiberFlags) !== NoFlags) invokeEffectFn(current$1); 15332 if (current$1.sibling !== null) current$1 = current$1.sibling; 15333 else current$1 = subtreeRoot = current$1.return; 15334 } 15335 } 15336 } 15337 var didWarnStateUpdateForNotYetMountedComponent = null; 15338 function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) { 15339 if ((executionContext & RenderContext) !== NoContext) return; 15340 if (!(fiber.mode & ConcurrentMode)) return; 15341 var tag = fiber.tag; 15342 if (tag !== IndeterminateComponent && tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent) return; 15343 var componentName = getComponentNameFromFiber(fiber) || "ReactComponent"; 15344 if (didWarnStateUpdateForNotYetMountedComponent !== null) { 15345 if (didWarnStateUpdateForNotYetMountedComponent.has(componentName)) return; 15346 didWarnStateUpdateForNotYetMountedComponent.add(componentName); 15347 } else didWarnStateUpdateForNotYetMountedComponent = new Set([componentName]); 15348 var previousFiber = current; 15349 try { 15350 setCurrentFiber(fiber); 15351 error("Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead."); 15352 } finally { 15353 if (previousFiber) setCurrentFiber(fiber); 15354 else resetCurrentFiber(); 15355 } 15356 } 15357 var beginWork$1; 15358 var dummyFiber = null; 15359 beginWork$1 = function(current$1, unitOfWork, lanes) { 15360 var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork); 15361 try { 15362 return beginWork(current$1, unitOfWork, lanes); 15363 } catch (originalError) { 15364 if (didSuspendOrErrorWhileHydratingDEV() || originalError !== null && typeof originalError === "object" && typeof originalError.then === "function") throw originalError; 15365 resetContextDependencies(); 15366 resetHooksAfterThrow(); 15367 unwindInterruptedWork(current$1, unitOfWork); 15368 assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy); 15369 if (unitOfWork.mode & ProfileMode) startProfilerTimer(unitOfWork); 15370 invokeGuardedCallback(null, beginWork, null, current$1, unitOfWork, lanes); 15371 if (hasCaughtError()) { 15372 var replayError = clearCaughtError(); 15373 if (typeof replayError === "object" && replayError !== null && replayError._suppressLogging && typeof originalError === "object" && originalError !== null && !originalError._suppressLogging) originalError._suppressLogging = true; 15374 } 15375 throw originalError; 15376 } 15377 }; 15378 var didWarnAboutUpdateInRender = false;
15379 var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set(); 15380 function warnAboutRenderPhaseUpdatesInDEV(fiber) { 15381 if (isRendering && !getIsUpdatingOpaqueValueInRenderPhaseInDEV()) switch (fiber.tag) { 15382 case FunctionComponent: 15383 case ForwardRef: 15384 case SimpleMemoComponent: 15385 var renderingComponentName = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown"; 15386 var dedupeKey = renderingComponentName; 15387 if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) { 15388 didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey); 15389 error("Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render", getComponentNameFromFiber(fiber) || "Unknown", renderingComponentName, renderingComponentName); 15390 } 15391 break; 15392 case ClassComponent: 15393 if (!didWarnAboutUpdateInRender) { 15394 error("Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."); 15395 didWarnAboutUpdateInRender = true; 15396 } 15397 break; 15398 } 15399 } 15400 function restorePendingUpdaters(root$1, lanes) { 15401 if (isDevToolsPresent) root$1.memoizedUpdaters.forEach(function(schedulingFiber) { 15402 addFiberToLanesMap(root$1, schedulingFiber, lanes); 15403 }); 15404 } 15405 var fakeActCallbackNode = {}; 15406 function scheduleCallback$1(priorityLevel, callback) { 15407 var actQueue = ReactCurrentActQueue$1.current; 15408 if (actQueue !== null) { 15409 actQueue.push(callback); 15410 return fakeActCallbackNode; 15411 } else return scheduleCallback(priorityLevel, callback); 15412 } 15413 function cancelCallback$1(callbackNode) { 15414 if (callbackNode === fakeActCallbackNode) return; 15415 return cancelCallback(callbackNode); 15416 } 15417 function shouldForceFlushFallbacksInDEV() { 15418 return ReactCurrentActQueue$1.current !== null; 15419 } 15420 function warnIfUpdatesNotWrappedWithActDEV(fiber) { 15421 if (fiber.mode & ConcurrentMode) { 15422 if (!isConcurrentActEnvironment()) return; 15423 } else { 15424 if (!isLegacyActEnvironment()) return; 15425 if (executionContext !== NoContext) return; 15426 if (fiber.tag !== FunctionComponent && fiber.tag !== ForwardRef && fiber.tag !== SimpleMemoComponent) return; 15427 } 15428 if (ReactCurrentActQueue$1.current === null) { 15429 var previousFiber = current; 15430 try { 15431 setCurrentFiber(fiber); 15432 error("An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act", getComponentNameFromFiber(fiber)); 15433 } finally { 15434 if (previousFiber) setCurrentFiber(fiber); 15435 else resetCurrentFiber(); 15436 } 15437 } 15438 } 15439 function warnIfSuspenseResolutionNotWrappedWithActDEV(root$1) { 15440 if (root$1.tag !== LegacyRoot && isConcurrentActEnvironment() && ReactCurrentActQueue$1.current === null) error("A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act"); 15441 } 15442 function setIsRunningInsertionEffect(isRunning) { 15443 isRunningInsertionEffect = isRunning; 15444 } 15445 var resolveFamily = null; 15446 var failedBoundaries = null; 15447 var setRefreshHandler = function(handler) { 15448 resolveFamily = handler; 15449 }; 15450 function resolveFunctionForHotReloading(type) { 15451 if (resolveFamily === null) return type; 15452 var family = resolveFamily(type); 15453 if (family === void 0) return type; 15454 return family.current; 15455 } 15456 function resolveClassForHotReloading(type) { 15457 return resolveFunctionForHotReloading(type); 15458 } 15459 function resolveForwardRefForHotReloading(type) { 15460 if (resolveFamily === null) return type; 15461 var family = resolveFamily(type); 15462 if (family === void 0) { 15463 if (type !== null && type !== void 0 && typeof type.render === "function") { 15464 var currentRender = resolveFunctionForHotReloading(type.render); 15465 if (type.render !== currentRender) { 15466 var syntheticType = { 15467 $$typeof: REACT_FORWARD_REF_TYPE, 15468 render: currentRender 15469 }; 15470 if (type.displayName !== void 0) syntheticType.displayName = type.displayName; 15471 return syntheticType; 15472 } 15473 } 15474 return type; 15475 } 15476 return family.current; 15477 } 15478 function isCompatibleFamilyForHotReloading(fiber, element) { 15479 if (resolveFamily === null) return false;
15480 var prevType = fiber.elementType; 15481 var nextType = element.type; 15482 var needsCompareFamilies = false; 15483 var $$typeofNextType = typeof nextType === "object" && nextType !== null ? nextType.$$typeof : null; 15484 switch (fiber.tag) { 15485 case ClassComponent: 15486 if (typeof nextType === "function") needsCompareFamilies = true; 15487 break; 15488 case FunctionComponent: 15489 if (typeof nextType === "function") needsCompareFamilies = true; 15490 else if ($$typeofNextType === REACT_LAZY_TYPE) needsCompareFamilies = true; 15491 break; 15492 case ForwardRef: 15493 if ($$typeofNextType === REACT_FORWARD_REF_TYPE) needsCompareFamilies = true; 15494 else if ($$typeofNextType === REACT_LAZY_TYPE) needsCompareFamilies = true; 15495 break; 15496 case MemoComponent: 15497 case SimpleMemoComponent: 15498 if ($$typeofNextType === REACT_MEMO_TYPE) needsCompareFamilies = true; 15499 else if ($$typeofNextType === REACT_LAZY_TYPE) needsCompareFamilies = true; 15500 break; 15501 default: return false; 15502 } 15503 if (needsCompareFamilies) { 15504 var prevFamily = resolveFamily(prevType); 15505 if (prevFamily !== void 0 && prevFamily === resolveFamily(nextType)) return true; 15506 } 15507 return false; 15508 } 15509 function markFailedErrorBoundaryForHotReloading(fiber) { 15510 if (resolveFamily === null) return; 15511 if (typeof WeakSet !== "function") return; 15512 if (failedBoundaries === null) failedBoundaries = /* @__PURE__ */ new WeakSet(); 15513 failedBoundaries.add(fiber); 15514 } 15515 var scheduleRefresh = function(root$1, update) { 15516 if (resolveFamily === null) return; 15517 var staleFamilies = update.staleFamilies, updatedFamilies = update.updatedFamilies; 15518 flushPassiveEffects(); 15519 flushSync(function() { 15520 scheduleFibersWithFamiliesRecursively(root$1.current, updatedFamilies, staleFamilies); 15521 }); 15522 }; 15523 var scheduleRoot = function(root$1, element) { 15524 if (root$1.context !== emptyContextObject) return; 15525 flushPassiveEffects(); 15526 flushSync(function() { 15527 updateContainer(element, root$1, null, null); 15528 }); 15529 }; 15530 function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) { 15531 var alternate = fiber.alternate, child = fiber.child, sibling = fiber.sibling, tag = fiber.tag, type = fiber.type; 15532 var candidateType = null; 15533 switch (tag) { 15534 case FunctionComponent: 15535 case SimpleMemoComponent: 15536 case ClassComponent: 15537 candidateType = type; 15538 break; 15539 case ForwardRef: 15540 candidateType = type.render; 15541 break; 15542 } 15543 if (resolveFamily === null) throw new Error("Expected resolveFamily to be set during hot reload."); 15544 var needsRender = false;
15545 var needsRemount = false; 15546 if (candidateType !== null) { 15547 var family = resolveFamily(candidateType); 15548 if (family !== void 0) { 15549 if (staleFamilies.has(family)) needsRemount = true; 15550 else if (updatedFamilies.has(family)) if (tag === ClassComponent) needsRemount = true; 15551 else needsRender = true; 15552 } 15553 } 15554 if (failedBoundaries !== null) { 15555 if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) needsRemount = true; 15556 } 15557 if (needsRemount) fiber._debugNeedsRemount = true; 15558 if (needsRemount || needsRender) { 15559 var _root = enqueueConcurrentRenderForLane(fiber, SyncLane); 15560 if (_root !== null) scheduleUpdateOnFiber(_root, fiber, SyncLane, NoTimestamp); 15561 } 15562 if (child !== null && !needsRemount) scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies); 15563 if (sibling !== null) scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies); 15564 } 15565 var findHostInstancesForRefresh = function(root$1, families) { 15566 var hostInstances = /* @__PURE__ */ new Set(); 15567 var types = new Set(families.map(function(family) { 15568 return family.current; 15569 })); 15570 findHostInstancesForMatchingFibersRecursively(root$1.current, types, hostInstances); 15571 return hostInstances; 15572 }; 15573 function findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) { 15574 var child = fiber.child, sibling = fiber.sibling, tag = fiber.tag, type = fiber.type; 15575 var candidateType = null; 15576 switch (tag) { 15577 case FunctionComponent: 15578 case SimpleMemoComponent: 15579 case ClassComponent: 15580 candidateType = type; 15581 break; 15582 case ForwardRef: 15583 candidateType = type.render; 15584 break; 15585 } 15586 var didMatch = false; 15587 if (candidateType !== null) { 15588 if (types.has(candidateType)) didMatch = true; 15589 } 15590 if (didMatch) findHostInstancesForFiberShallowly(fiber, hostInstances); 15591 else if (child !== null) findHostInstancesForMatchingFibersRecursively(child, types, hostInstances); 15592 if (sibling !== null) findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances); 15593 } 15594 function findHostInstancesForFiberShallowly(fiber, hostInstances) { 15595 if (findChildHostInstancesForFiberShallowly(fiber, hostInstances)) return; 15596 var node = fiber; 15597 while (true) { 15598 switch (node.tag) { 15599 case HostComponent: 15600 hostInstances.add(node.stateNode); 15601 return; 15602 case HostPortal: 15603 hostInstances.add(node.stateNode.containerInfo); 15604 return; 15605 case HostRoot: 15606 hostInstances.add(node.stateNode.containerInfo); 15607 return; 15608 } 15609 if (node.return === null) throw new Error("Expected to reach root first."); 15610 node = node.return; 15611 } 15612 } 15613 function findChildHostInstancesForFiberShallowly(fiber, hostInstances) { 15614 var node = fiber; 15615 var foundHostInstances = false; 15616 while (true) { 15617 if (node.tag === HostComponent) { 15618 foundHostInstances = true; 15619 hostInstances.add(node.stateNode); 15620 } else if (node.child !== null) { 15621 node.child.return = node; 15622 node = node.child; 15623 continue; 15624 } 15625 if (node === fiber) return foundHostInstances; 15626 while (node.sibling === null) { 15627 if (node.return === null || node.return === fiber) return foundHostInstances; 15628 node = node.return; 15629 } 15630 node.sibling.return = node.return; 15631 node = node.sibling; 15632 } 15633 return false; 15634 } 15635 var hasBadMapPolyfill = false; 15636 try { 15637 var nonExtensibleObject = Object.preventExtensions({}); 15638 new Map([[nonExtensibleObject, null]]); 15639 new Set([nonExtensibleObject]); 15640 } catch (e) { 15641 hasBadMapPolyfill = true; 15642 } 15643 function FiberNode(tag, pendingProps, key, mode) { 15644 this.tag = tag; 15645 this.key = key; 15646 this.elementType = null; 15647 this.type = null; 15648 this.stateNode = null; 15649 this.return = null; 15650 this.child = null; 15651 this.sibling = null; 15652 this.index = 0; 15653 this.ref = null; 15654 this.pendingProps = pendingProps; 15655 this.memoizedProps = null; 15656 this.updateQueue = null; 15657 this.memoizedState = null; 15658 this.dependencies = null; 15659 this.mode = mode; 15660 this.flags = NoFlags; 15661 this.subtreeFlags = NoFlags; 15662 this.deletions = null; 15663 this.lanes = NoLanes; 15664 this.childLanes = NoLanes; 15665 this.alternate = null; 15666 this.actualDuration = NaN; 15667 this.actualStartTime = NaN; 15668 this.selfBaseDuration = NaN; 15669 this.treeBaseDuration = NaN; 15670 this.actualDuration = 0; 15671 this.actualStartTime = -1; 15672 this.selfBaseDuration = 0; 15673 this.treeBaseDuration = 0; 15674 this._debugSource = null; 15675 this._debugOwner = null; 15676 this._debugNeedsRemount = false;
15677 this._debugHookTypes = null; 15678 if (!hasBadMapPolyfill && typeof Object.preventExtensions === "function") Object.preventExtensions(this); 15679 } 15680 var createFiber = function(tag, pendingProps, key, mode) { 15681 return new FiberNode(tag, pendingProps, key, mode); 15682 }; 15683 function shouldConstruct$1(Component) { 15684 var prototype = Component.prototype; 15685 return !!(prototype && prototype.isReactComponent); 15686 } 15687 function isSimpleFunctionComponent(type) { 15688 return typeof type === "function" && !shouldConstruct$1(type) && type.defaultProps === void 0; 15689 } 15690 function resolveLazyComponentTag(Component) { 15691 if (typeof Component === "function") return shouldConstruct$1(Component) ? ClassComponent : FunctionComponent; 15692 else if (Component !== void 0 && Component !== null) { 15693 var $$typeof = Component.$$typeof; 15694 if ($$typeof === REACT_FORWARD_REF_TYPE) return ForwardRef; 15695 if ($$typeof === REACT_MEMO_TYPE) return MemoComponent; 15696 } 15697 return IndeterminateComponent; 15698 } 15699 function createWorkInProgress(current$1, pendingProps) { 15700 var workInProgress$1 = current$1.alternate; 15701 if (workInProgress$1 === null) { 15702 workInProgress$1 = createFiber(current$1.tag, pendingProps, current$1.key, current$1.mode); 15703 workInProgress$1.elementType = current$1.elementType; 15704 workInProgress$1.type = current$1.type; 15705 workInProgress$1.stateNode = current$1.stateNode; 15706 workInProgress$1._debugSource = current$1._debugSource; 15707 workInProgress$1._debugOwner = current$1._debugOwner; 15708 workInProgress$1._debugHookTypes = current$1._debugHookTypes; 15709 workInProgress$1.alternate = current$1; 15710 current$1.alternate = workInProgress$1; 15711 } else { 15712 workInProgress$1.pendingProps = pendingProps; 15713 workInProgress$1.type = current$1.type; 15714 workInProgress$1.flags = NoFlags; 15715 workInProgress$1.subtreeFlags = NoFlags; 15716 workInProgress$1.deletions = null; 15717 workInProgress$1.actualDuration = 0; 15718 workInProgress$1.actualStartTime = -1; 15719 } 15720 workInProgress$1.flags = current$1.flags & StaticMask; 15721 workInProgress$1.childLanes = current$1.childLanes; 15722 workInProgress$1.lanes = current$1.lanes; 15723 workInProgress$1.child = current$1.child; 15724 workInProgress$1.memoizedProps = current$1.memoizedProps; 15725 workInProgress$1.memoizedState = current$1.memoizedState; 15726 workInProgress$1.updateQueue = current$1.updateQueue; 15727 var currentDependencies = current$1.dependencies; 15728 workInProgress$1.dependencies = currentDependencies === null ? null : { 15729 lanes: currentDependencies.lanes, 15730 firstContext: currentDependencies.firstContext 15731 }; 15732 workInProgress$1.sibling = current$1.sibling; 15733 workInProgress$1.index = current$1.index; 15734 workInProgress$1.ref = current$1.ref; 15735 workInProgress$1.selfBaseDuration = current$1.selfBaseDuration; 15736 workInProgress$1.treeBaseDuration = current$1.treeBaseDuration; 15737 workInProgress$1._debugNeedsRemount = current$1._debugNeedsRemount; 15738 switch (workInProgress$1.tag) { 15739 case IndeterminateComponent: 15740 case FunctionComponent: 15741 case SimpleMemoComponent: 15742 workInProgress$1.type = resolveFunctionForHotReloading(current$1.type); 15743 break; 15744 case ClassComponent: 15745 workInProgress$1.type = resolveClassForHotReloading(current$1.type); 15746 break; 15747 case ForwardRef: 15748 workInProgress$1.type = resolveForwardRefForHotReloading(current$1.type); 15749 break; 15750 } 15751 return workInProgress$1; 15752 } 15753 function resetWorkInProgress(workInProgress$1, renderLanes$1) { 15754 workInProgress$1.flags &= StaticMask | Placement; 15755 var current$1 = workInProgress$1.alternate; 15756 if (current$1 === null) { 15757 workInProgress$1.childLanes = NoLanes; 15758 workInProgress$1.lanes = renderLanes$1; 15759 workInProgress$1.child = null; 15760 workInProgress$1.subtreeFlags = NoFlags; 15761 workInProgress$1.memoizedProps = null; 15762 workInProgress$1.memoizedState = null; 15763 workInProgress$1.updateQueue = null; 15764 workInProgress$1.dependencies = null; 15765 workInProgress$1.stateNode = null; 15766 workInProgress$1.selfBaseDuration = 0; 15767 workInProgress$1.treeBaseDuration = 0; 15768 } else { 15769 workInProgress$1.childLanes = current$1.childLanes; 15770 workInProgress$1.lanes = current$1.lanes; 15771 workInProgress$1.child = current$1.child; 15772 workInProgress$1.subtreeFlags = NoFlags;
15773 workInProgress$1.deletions = null; 15774 workInProgress$1.memoizedProps = current$1.memoizedProps; 15775 workInProgress$1.memoizedState = current$1.memoizedState; 15776 workInProgress$1.updateQueue = current$1.updateQueue; 15777 workInProgress$1.type = current$1.type; 15778 var currentDependencies = current$1.dependencies; 15779 workInProgress$1.dependencies = currentDependencies === null ? null : { 15780 lanes: currentDependencies.lanes, 15781 firstContext: currentDependencies.firstContext 15782 }; 15783 workInProgress$1.selfBaseDuration = current$1.selfBaseDuration; 15784 workInProgress$1.treeBaseDuration = current$1.treeBaseDuration; 15785 } 15786 return workInProgress$1; 15787 } 15788 function createHostRootFiber(tag, isStrictMode, concurrentUpdatesByDefaultOverride) { 15789 var mode; 15790 if (tag === ConcurrentRoot) { 15791 mode = ConcurrentMode; 15792 if (isStrictMode === true) { 15793 mode |= StrictLegacyMode; 15794 mode |= StrictEffectsMode; 15795 } 15796 } else mode = NoMode; 15797 if (isDevToolsPresent) mode |= ProfileMode; 15798 return createFiber(HostRoot, null, null, mode); 15799 } 15800 function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) { 15801 var fiberTag = IndeterminateComponent; 15802 var resolvedType = type; 15803 if (typeof type === "function") if (shouldConstruct$1(type)) { 15804 fiberTag = ClassComponent; 15805 resolvedType = resolveClassForHotReloading(resolvedType); 15806 } else resolvedType = resolveFunctionForHotReloading(resolvedType); 15807 else if (typeof type === "string") fiberTag = HostComponent; 15808 else getTag: switch (type) { 15809 case REACT_FRAGMENT_TYPE: return createFiberFromFragment(pendingProps.children, mode, lanes, key); 15810 case REACT_STRICT_MODE_TYPE: 15811 fiberTag = Mode; 15812 mode |= StrictLegacyMode; 15813 if ((mode & ConcurrentMode) !== NoMode) mode |= StrictEffectsMode; 15814 break; 15815 case REACT_PROFILER_TYPE: return createFiberFromProfiler(pendingProps, mode, lanes, key); 15816 case REACT_SUSPENSE_TYPE: return createFiberFromSuspense(pendingProps, mode, lanes, key); 15817 case REACT_SUSPENSE_LIST_TYPE: return createFiberFromSuspenseList(pendingProps, mode, lanes, key); 15818 case REACT_OFFSCREEN_TYPE: return createFiberFromOffscreen(pendingProps, mode, lanes, key); 15819 case REACT_LEGACY_HIDDEN_TYPE: 15820 case REACT_SCOPE_TYPE: 15821 case REACT_CACHE_TYPE: 15822 case REACT_TRACING_MARKER_TYPE: 15823 case REACT_DEBUG_TRACING_MODE_TYPE: 15824 default: 15825 if (typeof type === "object" && type !== null) switch (type.$$typeof) { 15826 case REACT_PROVIDER_TYPE: 15827 fiberTag = ContextProvider; 15828 break getTag; 15829 case REACT_CONTEXT_TYPE: 15830 fiberTag = ContextConsumer; 15831 break getTag; 15832 case REACT_FORWARD_REF_TYPE: 15833 fiberTag = ForwardRef; 15834 resolvedType = resolveForwardRefForHotReloading(resolvedType); 15835 break getTag; 15836 case REACT_MEMO_TYPE: 15837 fiberTag = MemoComponent; 15838 break getTag; 15839 case REACT_LAZY_TYPE: 15840 fiberTag = LazyComponent; 15841 resolvedType = null; 15842 break getTag; 15843 } 15844 var info = ""; 15845 if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; 15846 var ownerName = owner ? getComponentNameFromFiber(owner) : null; 15847 if (ownerName) info += "\n\nCheck the render method of `" + ownerName + "`."; 15848 throw new Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) " + ("but got: " + (type == null ? type : typeof type) + "." + info)); 15849 } 15850 var fiber = createFiber(fiberTag, pendingProps, key, mode); 15851 fiber.elementType = type; 15852 fiber.type = resolvedType; 15853 fiber.lanes = lanes; 15854 fiber._debugOwner = owner; 15855 return fiber; 15856 } 15857 function createFiberFromElement(element, mode, lanes) { 15858 var owner = null; 15859 owner = element._owner; 15860 var type = element.type; 15861 var key = element.key; 15862 var pendingProps = element.props; 15863 var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes); 15864 fiber._debugSource = element._source; 15865 fiber._debugOwner = element._owner; 15866 return fiber; 15867 } 15868 function createFiberFromFragment(elements, mode, lanes, key) { 15869 var fiber = createFiber(Fragment, elements, key, mode); 15870 fiber.lanes = lanes; 15871 return fiber; 15872 } 15873 function createFiberFromProfiler(pendingProps, mode, lanes, key) { 15874 if (typeof pendingProps.id !== "string") error("Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.", typeof pendingProps.id); 15875 var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); 15876 fiber.elementType = REACT_PROFILER_TYPE; 15877 fiber.lanes = lanes; 15878 fiber.stateNode = { 15879 effectDuration: 0, 15880 passiveEffectDuration: 0 15881 }; 15882 return fiber; 15883 } 15884 function createFiberFromSuspense(pendingProps, mode, lanes, key) { 15885 var fiber = createFiber(SuspenseComponent, pendingProps, key, mode); 15886 fiber.elementType = REACT_SUSPENSE_TYPE; 15887 fiber.lanes = lanes; 15888 return fiber; 15889 } 15890 function createFiberFromSuspenseList(pendingProps, mode, lanes, key) { 15891 var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode); 15892 fiber.elementType = REACT_SUSPENSE_LIST_TYPE; 15893 fiber.lanes = lanes; 15894 return fiber; 15895 } 15896 function createFiberFromOffscreen(pendingProps, mode, lanes, key) { 15897 var fiber = createFiber(OffscreenComponent, pendingProps, key, mode); 15898 fiber.elementType = REACT_OFFSCREEN_TYPE; 15899 fiber.lanes = lanes; 15900 fiber.stateNode = { isHidden: false }; 15901 return fiber; 15902 } 15903 function createFiberFromText(content, mode, lanes) { 15904 var fiber = createFiber(HostText, content, null, mode); 15905 fiber.lanes = lanes; 15906 return fiber; 15907 } 15908 function createFiberFromHostInstanceForDeletion() { 15909 var fiber = createFiber(HostComponent, null, null, NoMode); 15910 fiber.elementType = "DELETED"; 15911 return fiber; 15912 } 15913 function createFiberFromDehydratedFragment(dehydratedNode) { 15914 var fiber = createFiber(DehydratedFragment, null, null, NoMode); 15915 fiber.stateNode = dehydratedNode; 15916 return fiber; 15917 } 15918 function createFiberFromPortal(portal, mode, lanes) { 15919 var fiber = createFiber(HostPortal, portal.children !== null ? portal.children : [], portal.key, mode); 15920 fiber.lanes = lanes; 15921 fiber.stateNode = { 15922 containerInfo: portal.containerInfo, 15923 pendingChildren: null, 15924 implementation: portal.implementation 15925 }; 15926 return fiber; 15927 } 15928 function assignFiberPropertiesInDEV(target, source) { 15929 if (target === null) target = createFiber(IndeterminateComponent, null, null, NoMode); 15930 target.tag = source.tag; 15931 target.key = source.key; 15932 target.elementType = source.elementType; 15933 target.type = source.type; 15934 target.stateNode = source.stateNode; 15935 target.return = source.return; 15936 target.child = source.child; 15937 target.sibling = source.sibling; 15938 target.index = source.index; 15939 target.ref = source.ref; 15940 target.pendingProps = source.pendingProps; 15941 target.memoizedProps = source.memoizedProps; 15942 target.updateQueue = source.updateQueue; 15943 target.memoizedState = source.memoizedState;
15944 target.dependencies = source.dependencies; 15945 target.mode = source.mode; 15946 target.flags = source.flags; 15947 target.subtreeFlags = source.subtreeFlags; 15948 target.deletions = source.deletions; 15949 target.lanes = source.lanes; 15950 target.childLanes = source.childLanes; 15951 target.alternate = source.alternate; 15952 target.actualDuration = source.actualDuration; 15953 target.actualStartTime = source.actualStartTime; 15954 target.selfBaseDuration = source.selfBaseDuration; 15955 target.treeBaseDuration = source.treeBaseDuration; 15956 target._debugSource = source._debugSource; 15957 target._debugOwner = source._debugOwner; 15958 target._debugNeedsRemount = source._debugNeedsRemount; 15959 target._debugHookTypes = source._debugHookTypes; 15960 return target; 15961 } 15962 function FiberRootNode(containerInfo, tag, hydrate$1, identifierPrefix, onRecoverableError) { 15963 this.tag = tag; 15964 this.containerInfo = containerInfo; 15965 this.pendingChildren = null; 15966 this.current = null; 15967 this.pingCache = null; 15968 this.finishedWork = null; 15969 this.timeoutHandle = noTimeout; 15970 this.context = null; 15971 this.pendingContext = null; 15972 this.callbackNode = null; 15973 this.callbackPriority = NoLane; 15974 this.eventTimes = createLaneMap(NoLanes); 15975 this.expirationTimes = createLaneMap(NoTimestamp); 15976 this.pendingLanes = NoLanes; 15977 this.suspendedLanes = NoLanes; 15978 this.pingedLanes = NoLanes; 15979 this.expiredLanes = NoLanes; 15980 this.mutableReadLanes = NoLanes; 15981 this.finishedLanes = NoLanes; 15982 this.entangledLanes = NoLanes; 15983 this.entanglements = createLaneMap(NoLanes); 15984 this.identifierPrefix = identifierPrefix; 15985 this.onRecoverableError = onRecoverableError; 15986 this.mutableSourceEagerHydrationData = null; 15987 this.effectDuration = 0; 15988 this.passiveEffectDuration = 0; 15989 this.memoizedUpdaters = /* @__PURE__ */ new Set(); 15990 var pendingUpdatersLaneMap = this.pendingUpdatersLaneMap = []; 15991 for (var _i = 0; _i < TotalLanes; _i++) pendingUpdatersLaneMap.push(/* @__PURE__ */ new Set()); 15992 switch (tag) { 15993 case ConcurrentRoot: 15994 this._debugRootType = hydrate$1 ? "hydrateRoot()" : "createRoot()"; 15995 break; 15996 case LegacyRoot: 15997 this._debugRootType = hydrate$1 ? "hydrate()" : "render()"; 15998 break; 15999 } 16000 } 16001 function createFiberRoot(containerInfo, tag, hydrate$1, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) { 16002 var root$1 = new FiberRootNode(containerInfo, tag, hydrate$1, identifierPrefix, onRecoverableError); 16003 var uninitializedFiber = createHostRootFiber(tag, isStrictMode); 16004 root$1.current = uninitializedFiber; 16005 uninitializedFiber.stateNode = root$1; 16006 uninitializedFiber.memoizedState = { 16007 element: initialChildren, 16008 isDehydrated: hydrate$1, 16009 cache: null, 16010 transitions: null, 16011 pendingSuspenseBoundaries: null 16012 }; 16013 initializeUpdateQueue(uninitializedFiber); 16014 return root$1; 16015 } 16016 var ReactVersion = "18.3.1"; 16017 function createPortal(children, containerInfo, implementation) { 16018 var key = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null; 16019 checkKeyStringCoercion(key); 16020 return { 16021 $$typeof: REACT_PORTAL_TYPE, 16022 key: key == null ? null : "" + key, 16023 children, 16024 containerInfo, 16025 implementation 16026 }; 16027 } 16028 var didWarnAboutNestedUpdates; 16029 var didWarnAboutFindNodeInStrictMode; 16030 didWarnAboutNestedUpdates = false; 16031 didWarnAboutFindNodeInStrictMode = {}; 16032 function getContextForSubtree(parentComponent) { 16033 if (!parentComponent) return emptyContextObject; 16034 var fiber = get(parentComponent); 16035 var parentContext = findCurrentUnmaskedContext(fiber); 16036 if (fiber.tag === ClassComponent) { 16037 var Component = fiber.type; 16038 if (isContextProvider(Component)) return processChildContext(fiber, Component, parentContext); 16039 } 16040 return parentContext; 16041 } 16042 function findHostInstanceWithWarning(component, methodName) { 16043 var fiber = get(component); 16044 if (fiber === void 0) if (typeof component.render === "function") throw new Error("Unable to find node on an unmounted component."); 16045 else { 16046 var keys = Object.keys(component).join(","); 16047 throw new Error("Argument appears to not be a ReactComponent. Keys: " + keys); 16048 } 16049 var hostFiber = findCurrentHostFiber(fiber); 16050 if (hostFiber === null) return null; 16051 if (hostFiber.mode & StrictLegacyMode) { 16052 var componentName = getComponentNameFromFiber(fiber) || "Component"; 16053 if (!didWarnAboutFindNodeInStrictMode[componentName]) { 16054 didWarnAboutFindNodeInStrictMode[componentName] = true; 16055 var previousFiber = current; 16056 try { 16057 setCurrentFiber(hostFiber); 16058 if (fiber.mode & StrictLegacyMode) error("%s is deprecated
16058in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node", methodName, methodName, componentName); 16059 else error("%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node", methodName, methodName, componentName); 16060 } finally { 16061 if (previousFiber) setCurrentFiber(previousFiber); 16062 else resetCurrentFiber(); 16063 } 16064 } 16065 } 16066 return hostFiber.stateNode; 16067 } 16068 function createContainer(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) { 16069 return createFiberRoot(containerInfo, tag, false, null, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); 16070 } 16071 function createHydrationContainer(initialChildren, callback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks) { 16072 var root$1 = createFiberRoot(containerInfo, tag, true, initialChildren, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); 16073 root$1.context = getContextForSubtree(null); 16074 var current$1 = root$1.current; 16075 var eventTime = requestEventTime(); 16076 var lane = requestUpdateLane(current$1); 16077 var update = createUpdate(eventTime, lane); 16078 update.callback = callback !== void 0 && callback !== null ? callback : null; 16079 enqueueUpdate(current$1, update, lane); 16080 scheduleInitialHydrationOnRoot(root$1, lane, eventTime); 16081 return root$1; 16082 } 16083 function updateContainer(element, container, parentComponent, callback) { 16084 onScheduleRoot(container, element); 16085 var current$1 = container.current; 16086 var eventTime = requestEventTime(); 16087 var lane = requestUpdateLane(current$1); 16088 markRenderScheduled(lane); 16089 var context = getContextForSubtree(parentComponent); 16090 if (container.context === null) container.context = context; 16091 else container.pendingContext = context; 16092 if (isRendering && current !== null && !didWarnAboutNestedUpdates) { 16093 didWarnAboutNestedUpdates = true; 16094 error("Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\n\nCheck the render method of %s.", getComponentNameFromFiber(current) || "Unknown"); 16095 } 16096 var update = createUpdate(eventTime, lane); 16097 update.payload = { element }; 16098 callback = callback === void 0 ? null : callback; 16099 if (callback !== null) { 16100 if (typeof callback !== "function") error("render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", callback); 16101 update.callback = callback; 16102 } 16103 var root$1 = enqueueUpdate(current$1, update, lane); 16104 if (root$1 !== null) { 16105 scheduleUpdateOnFiber(root$1, current$1, lane, eventTime); 16106 entangleTransitions(root$1, current$1, lane); 16107 } 16108 return lane; 16109 } 16110 function getPublicRootInstance(container) { 16111 var containerFiber = container.current; 16112 if (!containerFiber.child) return null; 16113 switch (containerFiber.child.tag) { 16114 case HostComponent: return getPublicInstance(containerFiber.child.stateNode); 16115 default: return containerFiber.child.stateNode; 16116 } 16117 } 16118 function attemptSynchronousHydration$1(fiber) { 16119 switch (fiber.tag) { 16120 case HostRoot: 16121 var root$1 = fiber.stateNode; 16122 if (isRootDehydrated(root$1)) flushRoot(root$1, getHighestPriorityPendingLanes(root$1)); 16123 break; 16124 case SuspenseComponent: 16125 flushSync(function() { 16126 var root$2 = enqueueConcurrentRenderForLane(fiber, SyncLane); 16127 if (root$2 !== null) scheduleUpdateOnFiber(root$2, fiber, SyncLane, requestEventTime()); 16128 }); 16129 markRetryLaneIfNotHydrated(fiber, SyncLane); 16130 break; 16131 } 16132 } 16133 function markRetryLaneImpl(fiber, retryLane) { 16134 var suspenseState = fiber.memoizedState; 16135 if (suspenseState !== null && suspenseState.dehydrated !== null) suspenseState.retryLane = higherPriorityLane(suspenseState.retryLane, retryLane); 16136 } 16137 function markRetryLaneIfNotHydrated(fiber, retryLane) { 16138 markRetryLaneImpl(fiber, retryLane); 16139 var alternate = fiber.alternate; 16140 if (alternate) markRetryLaneImpl(alternate, retryLane); 16141 } 16142 function attemptContinuousHydration$1(fiber) { 16143 if (fiber.tag !== SuspenseComponent) return; 16144 var lane = SelectiveHydrationLane; 16145 var root$1 = enqueueConcurrentRenderForLane(fiber, lane); 16146 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, lane, requestEventTime()); 16147 markRetryLaneIfNotHydrated(fiber, lane); 16148 } 16149 function attemptHydrationAtCurrentPriority$1(fiber) { 16150 if (fiber.tag !== SuspenseComponent) return; 16151 var lane = requestUpdateLane(fiber); 16152 var root$1 = enqueueConcurrentRenderForLane(fiber, lane); 16153 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, lane, requestEventTime()); 16154 markRetryLaneIfNotHydrated(fiber, lane); 16155 } 16156 function findHostInstanceWithNoPortals(fiber) { 16157 var hostFiber = findCurrentHostFiberWithNoPortals(fiber); 16158 if (hostFiber === null) return null; 16159 return hostFiber.stateNode; 16160 } 16161 var shouldErrorImpl = function(fiber) { 16162 return null; 16163 }; 16164 function shouldError(fiber) { 16165 return shouldErrorImpl(fiber); 16166 } 16167 var shouldSuspendImpl = function(fiber) { 16168 return false;
16169 }; 16170 function shouldSuspend(fiber) { 16171 return shouldSuspendImpl(fiber); 16172 } 16173 var overrideHookState = null; 16174 var overrideHookStateDeletePath = null; 16175 var overrideHookStateRenamePath = null; 16176 var overrideProps = null; 16177 var overridePropsDeletePath = null; 16178 var overridePropsRenamePath = null; 16179 var scheduleUpdate = null; 16180 var setErrorHandler = null; 16181 var setSuspenseHandler = null; 16182 var copyWithDeleteImpl = function(obj, path, index$1) { 16183 var key = path[index$1]; 16184 var updated = isArray(obj) ? obj.slice() : assign({}, obj); 16185 if (index$1 + 1 === path.length) { 16186 if (isArray(updated)) updated.splice(key, 1); 16187 else delete updated[key]; 16188 return updated; 16189 } 16190 updated[key] = copyWithDeleteImpl(obj[key], path, index$1 + 1); 16191 return updated; 16192 }; 16193 var copyWithDelete = function(obj, path) { 16194 return copyWithDeleteImpl(obj, path, 0); 16195 }; 16196 var copyWithRenameImpl = function(obj, oldPath, newPath, index$1) { 16197 var oldKey = oldPath[index$1]; 16198 var updated = isArray(obj) ? obj.slice() : assign({}, obj); 16199 if (index$1 + 1 === oldPath.length) { 16200 var newKey = newPath[index$1]; 16201 updated[newKey] = updated[oldKey]; 16202 if (isArray(updated)) updated.splice(oldKey, 1); 16203 else delete updated[oldKey]; 16204 } else updated[oldKey] = copyWithRenameImpl(obj[oldKey], oldPath, newPath, index$1 + 1); 16205 return updated; 16206 }; 16207 var copyWithRename = function(obj, oldPath, newPath) { 16208 if (oldPath.length !== newPath.length) { 16209 warn("copyWithRename() expects paths of the same length"); 16210 return; 16211 } else for (var i = 0; i < newPath.length - 1; i++) if (oldPath[i] !== newPath[i]) { 16212 warn("copyWithRename() expects paths to be the same except for the deepest key"); 16213 return; 16214 } 16215 return copyWithRenameImpl(obj, oldPath, newPath, 0); 16216 }; 16217 var copyWithSetImpl = function(obj, path, index$1, value) { 16218 if (index$1 >= path.length) return value; 16219 var key = path[index$1]; 16220 var updated = isArray(obj) ? obj.slice() : assign({}, obj); 16221 updated[key] = copyWithSetImpl(obj[key], path, index$1 + 1, value); 16222 return updated; 16223 }; 16224 var copyWithSet = function(obj, path, value) { 16225 return copyWithSetImpl(obj, path, 0, value); 16226 }; 16227 var findHook = function(fiber, id) { 16228 var currentHook$1 = fiber.memoizedState; 16229 while (currentHook$1 !== null && id > 0) { 16230 currentHook$1 = currentHook$1.next; 16231 id--; 16232 } 16233 return currentHook$1; 16234 }; 16235 overrideHookState = function(fiber, id, path, value) { 16236 var hook = findHook(fiber, id); 16237 if (hook !== null) { 16238 var newState = copyWithSet(hook.memoizedState, path, value); 16239 hook.memoizedState = newState; 16240 hook.baseState = newState; 16241 fiber.memoizedProps = assign({}, fiber.memoizedProps); 16242 var root$1 = enqueueConcurrentRenderForLane(fiber, SyncLane); 16243 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, SyncLane, NoTimestamp); 16244 } 16245 }; 16246 overrideHookStateDeletePath = function(fiber, id, path) { 16247 var hook = findHook(fiber, id); 16248 if (hook !== null) { 16249 var newState = copyWithDelete(hook.memoizedState, path); 16250 hook.memoizedState = newState; 16251 hook.baseState = newState; 16252 fiber.memoizedProps = assign({}, fiber.memoizedProps); 16253 var root$1 = enqueueConcurrentRenderForLane(fiber, SyncLane); 16254 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, SyncLane, NoTimestamp); 16255 } 16256 }; 16257 overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) { 16258 var hook = findHook(fiber, id); 16259 if (hook !== null) { 16260 var newState = copyWithRename(hook.memoizedState, oldPath, newPath); 16261 hook.memoizedState = newState; 16262 hook.baseState = newState; 16263 fiber.memoizedProps = assign({}, fiber.memoizedProps); 16264 var root$1 = enqueueConcurrentRenderForLane(fiber, SyncLane); 16265 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, SyncLane, NoTimestamp); 16266 } 16267 }; 16268 overrideProps = function(fiber, path, value) { 16269 fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value); 16270 if (fiber.alternate) fiber.alternate.pendingProps = fiber.pendingProps; 16271 var root$1 = enqueueConcurrentRenderForLane(fiber, SyncLane); 16272 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, SyncLane, NoTimestamp); 16273 }; 16274 overridePropsDeletePath = function(fiber, path) { 16275 fiber.pendingProps = copyWithDelete(fiber.memoizedProps, path); 16276 if (fiber.alternate) fiber.alternate.pendingProps = fiber.pendingProps; 16277 var root$1 = enqueueConcurrentRenderForLane(fiber, SyncLane); 16278 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, SyncLane, NoTimestamp); 16279 }; 16280 overridePropsRenamePath = function(fiber, oldPath, newPath) { 16281 fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath); 16282 if (fiber.alternate) fiber.alternate.pendingProps = fiber.pendingProps; 16283 var root$1 = enqueueConcurrentRenderForLane(fiber, SyncLane); 16284 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, SyncLane, NoTimestamp); 16285 }; 16286 scheduleUpdate = function(fiber) { 16287 var root$1 = enqueueConcurrentRenderForLane(fiber, SyncLane); 16288 if (root$1 !== null) scheduleUpdateOnFiber(root$1, fiber, SyncLane, NoTimestamp); 16289 }; 16290 setErrorHandler = function(newShouldErrorImpl) { 16291 shouldErrorImpl = newShouldErrorImpl; 16292 }; 16293 setSuspenseHandler = function(newShouldSuspendImpl) { 16294 shouldSuspendImpl = newShouldSuspendImpl; 16295 }; 16296 function findHostInstanceByFiber(fiber) { 16297 var hostFiber = findCurrentHostFiber(fiber); 16298 if (hostFiber === null) return null; 16299 return hostFiber.stateNode; 16300 } 16301 function emptyFindFiberByHostInstance(instance) { 16302 return null; 16303 } 16304 function getCurrentFiberForDevTools() { 16305 return current; 16306 } 16307 function injectIntoDevTools(devToolsConfig) { 16308 var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance; 16309 var ReactCurrentDispatcher$3 = ReactSharedInternals.ReactCurrentDispatcher; 16310 return injectInternals({ 16311 bundleType: devToolsConfig.bundleType, 16312 version: devToolsConfig.version, 16313 rendererPackageName: devToolsConfig.rendererPackageName, 16314 rendererConfig: devToolsConfig.rendererConfig, 16315 overrideHookState, 16316 overrideHookStateDeletePath, 16317 overrideHookStateRenamePath, 16318 overrideProps, 16319 overridePropsDeletePath, 16320 overridePropsRenamePath, 16321 setErrorHandler, 16322 setSuspenseHandler, 16323 scheduleUpdate, 16324 currentDispatcherRef: ReactCurrentDispatcher$3, 16325 findHostInstanceByFiber, 16326 findFiberByHostInstance: findFiberByHostInstance || emptyFindFiberByHostInstance, 16327 findHostInstancesForRefresh, 16328 scheduleRefresh, 16329 scheduleRoot, 16330 setRefreshHandler, 16331 getCurrentFiber: getCurrentFiberForDevTools, 16332 reconcilerVersion: ReactVersion 16333 }); 16334 } 16335 var defaultOnRecoverableError = typeof reportError === "function" ? reportError : function(error$1) { 16336 console["error"](error$1); 16337 }; 16338 function ReactDOMRoot(internalRoot) { 16339 this._internalRoot = internalRoot; 16340 } 16341 ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function(children) { 16342 var root$1 = this._internalRoot; 16343 if (root$1 === null) throw new Error("Cannot update an unmounted root."); 16344 if (typeof arguments[1] === "function") error("render(...): does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."); 16345 else if (isValidContainer(arguments[1])) error("You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root."); 16346 else if (typeof arguments[1] !== "undefined") error("You passed a second argument to root.render(...) but it only accepts one argument."); 16347 var container = root$1.containerInfo; 16348 if (container.nodeType !== COMMENT_NODE) {
16349 var hostInstance = findHostInstanceWithNoPortals(root$1.current); 16350 if (hostInstance) { 16351 if (hostInstance.parentNode !== container) error("render(...): It looks like the React-rendered content of the root container was removed without using React. This is not supported and will cause errors. Instead, call root.unmount() to empty a root's container."); 16352 } 16353 } 16354 updateContainer(children, root$1, null, null); 16355 }; 16356 ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function() { 16357 if (typeof arguments[0] === "function") error("unmount(...): does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()."); 16358 var root$1 = this._internalRoot; 16359 if (root$1 !== null) { 16360 this._internalRoot = null; 16361 var container = root$1.containerInfo; 16362 if (isAlreadyRendering()) error("Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition."); 16363 flushSync(function() { 16364 updateContainer(null, root$1, null, null); 16365 }); 16366 unmarkContainerAsRoot(container); 16367 } 16368 }; 16369 function createRoot(container, options$1) { 16370 if (!isValidContainer(container)) throw new Error("createRoot(...): Target container is not a DOM element."); 16371 warnIfReactDOMContainerInDEV(container); 16372 var isStrictMode = false; 16373 var concurrentUpdatesByDefaultOverride = false; 16374 var identifierPrefix = ""; 16375 var onRecoverableError = defaultOnRecoverableError; 16376 if (options$1 !== null && options$1 !== void 0) { 16377 if (options$1.hydrate) warn("hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead."); 16378 else if (typeof options$1 === "object" && options$1 !== null && options$1.$$typeof === REACT_ELEMENT_TYPE) error("You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\n\n let root = createRoot(domContainer);\n root.render(<App />);"); 16379 if (options$1.unstable_strictMode === true) isStrictMode = true; 16380 if (options$1.identifierPrefix !== void 0) identifierPrefix = options$1.identifierPrefix; 16381 if (options$1.onRecoverableError !== void 0) onRecoverableError = options$1.onRecoverableError; 16382 if (options$1.transitionCallbacks !== void 0) options$1.transitionCallbacks; 16383 } 16384 var root$1 = createContainer(container, ConcurrentRoot, null, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); 16385 markContainerAsRoot(root$1.current, container); 16386 listenToAllSupportedEvents(container.nodeType === COMMENT_NODE ? container.parentNode : container); 16387 return new ReactDOMRoot(root$1); 16388 } 16389 function ReactDOMHydrationRoot(internalRoot) { 16390 this._internalRoot = internalRoot; 16391 } 16392 function scheduleHydration(target) { 16393 if (target) queueExplicitHydrationTarget(target); 16394 } 16395 ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = scheduleHydration; 16396 function hydrateRoot(container, initialChildren, options$1) { 16397 if (!isValidContainer(container)) throw new Error("hydrateRoot(...): Target container is not a DOM element."); 16398 warnIfReactDOMContainerInDEV(container); 16399 if (initialChildren === void 0) error("Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)"); 16400 var hydrationCallbacks = options$1 != null ? options$1 : null; 16401 var mutableSources = options$1 != null && options$1.hydratedSources || null; 16402 var isStrictMode = false; 16403 var concurrentUpdatesByDefaultOverride = false; 16404 var identifierPrefix = ""; 16405 var onRecoverableError = defaultOnRecoverableError; 16406 if (options$1 !== null && options$1 !== void 0) { 16407 if (options$1.unstable_strictMode === true) isStrictMode = true; 16408 if (options$1.identifierPrefix !== void 0) identifierPrefix = options$1.identifierPrefix; 16409 if (options$1.onRecoverableError !== void 0) onRecoverableError = options$1.onRecoverableError; 16410 } 16411 var root$1 = createHydrationContainer(initialChildren, null, container, ConcurrentRoot, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError); 16412 markContainerAsRoot(root$1.current, container); 16413 listenToAllSupportedEvents(container); 16414 if (mutableSources) for (var i = 0; i < mutableSources.length; i++) { 16415 var mutableSource = mutableSources[i]; 16416 registerMutableSourceForHydration(root$1, mutableSource); 16417 } 16418 return new ReactDOMHydrationRoot(root$1); 16419 } 16420 function isValidContainer(node) { 16421 return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || !disableCommentsAsDOMContainers
16421)); 16422 } 16423 function isValidContainerLegacy(node) { 16424 return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === " react-mount-point-unstable ")); 16425 } 16426 function warnIfReactDOMContainerInDEV(container) { 16427 if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === "BODY") error("createRoot(): Creating roots directly with document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try using a container element created for your app."); 16428 if (isContainerMarkedAsRoot(container)) if (container._reactRootContainer) error("You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported."); 16429 else error("You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it."); 16430 } 16431 var ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner; 16432 var topLevelUpdateWarnings = function(container) { 16433 if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) { 16434 var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer.current); 16435 if (hostInstance) { 16436 if (hostInstance.parentNode !== container) error("render(...): 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."); 16437 } 16438 }
16439 var isRootRenderedBySomeReact = !!container._reactRootContainer; 16440 var rootEl = getReactRootElementInContainer(container); 16441 if (!!(rootEl && getInstanceFromNode(rootEl)) && !isRootRenderedBySomeReact) error("render(...): Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render."); 16442 if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === "BODY") error("render(): Rendering components directly into document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try rendering into a container element created for your app."); 16443 }; 16444 function getReactRootElementInContainer(container) { 16445 if (!container) return null; 16446 if (container.nodeType === DOCUMENT_NODE) return container.documentElement; 16447 else return container.firstChild; 16448 } 16449 function noopOnRecoverableError() {} 16450 function legacyCreateRootFromDOMContainer(container, initialChildren, parentComponent, callback, isHydrationContainer) { 16451 if (isHydrationContainer) { 16452 if (typeof callback === "function") { 16453 var originalCallback = callback; 16454 callback = function() { 16455 var instance = getPublicRootInstance(root$1); 16456 originalCallback.call(instance); 16457 }; 16458 } 16459 var root$1 = createHydrationContainer(initialChildren, callback, container, LegacyRoot, null, false, false, "", noopOnRecoverableError); 16460 container._reactRootContainer = root$1; 16461 markContainerAsRoot(root$1.current, container); 16462 listenToAllSupportedEvents(container.nodeType === COMMENT_NODE ? container.parentNode : container); 16463 flushSync(); 16464 return root$1; 16465 } else { 16466 var rootSibling; 16467 while (rootSibling = container.lastChild) container.removeChild(rootSibling); 16468 if (typeof callback === "function") { 16469 var _originalCallback = callback; 16470 callback = function() { 16471 var instance = getPublicRootInstance(_root); 16472 _originalCallback.call(instance); 16473 }; 16474 } 16475 var _root = createContainer(container, LegacyRoot, null, false, false, "", noopOnRecoverableError); 16476 container._reactRootContainer = _root; 16477 markContainerAsRoot(_root.current, container); 16478 listenToAllSupportedEvents(container.nodeType === COMMENT_NODE ? container.parentNode : container); 16479 flushSync(function() { 16480 updateContainer(initialChildren, _root, parentComponent, callback); 16481 }); 16482 return _root; 16483 } 16484 }
16485 function warnOnInvalidCallback$1(callback, callerName) { 16486 if (callback !== null && typeof callback !== "function") error("%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", callerName, callback); 16487 } 16488 function legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) { 16489 topLevelUpdateWarnings(container); 16490 warnOnInvalidCallback$1(callback === void 0 ? null : callback, "render"); 16491 var maybeRoot = container._reactRootContainer; 16492 var root$1; 16493 if (!maybeRoot) root$1 = legacyCreateRootFromDOMContainer(container, children, parentComponent, callback, forceHydrate); 16494 else { 16495 root$1 = maybeRoot; 16496 if (typeof callback === "function") { 16497 var originalCallback = callback; 16498 callback = function() { 16499 var instance = getPublicRootInstance(root$1); 16500 originalCallback.call(instance); 16501 }; 16502 } 16503 updateContainer(children, root$1, parentComponent, callback); 16504 } 16505 return getPublicRootInstance(root$1); 16506 } 16507 var didWarnAboutFindDOMNode = false; 16508 function findDOMNode(componentOrElement) { 16509 if (!didWarnAboutFindDOMNode) { 16510 didWarnAboutFindDOMNode = true; 16511 error("findDOMNode is deprecated and will be removed in the next major release. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node"); 16512 } 16513 var owner = ReactCurrentOwner$3.current; 16514 if (owner !== null && owner.stateNode !== null) { 16515 if (!owner.stateNode._warnedAboutRefsInRender) error("%s is accessing findDOMNode inside its render(). render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", getComponentNameFromType(owner.type) || "A component"); 16516 owner.stateNode._warnedAboutRefsInRender = true; 16517 } 16518 if (componentOrElement == null) return null; 16519 if (componentOrElement.nodeType === ELEMENT_NODE) return componentOrElement; 16520 return findHostInstanceWithWarning(componentOrElement, "findDOMNode"); 16521 } 16522 function hydrate(element, container, callback) { 16523 error("ReactDOM.hydrate is no longer supported in React 18. Use hydrateRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot"); 16524 if (!isValidContainerLegacy(container)) throw new Error("Target container is not a DOM element."); 16525 if (isContainerMarkedAsRoot(container) && container._reactRootContainer === void 0) error("You are calling ReactDOM.hydrate() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call hydrateRoot(container, element)?"); 16526 return legacyRenderSubtreeIntoContainer(null, element, container, true, callback); 16527 } 16528 function render(element, container, callback) { 16529 error("ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot"); 16530 if (!isValidContainerLegacy(container)) throw new Error("Target container is not a DOM element."); 16531 if (isContainerMarkedAsRoot(container) && container._reactRootContainer === void 0) error("You are calling ReactDOM.render() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.render(element)?"); 16532 return legacyRenderSubtreeIntoContainer(null, element, container, false, callback); 16533 } 16534 function unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) { 16535 error("ReactDOM.unstable_renderSubtreeIntoContainer() is no longer supported in React 18. Consider using a portal instead. Until you switch to the createRoot API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot"); 16536 if (!isValidContainerLegacy(containerNode)) throw new Error("Target container is not a DOM element."); 16537 if (parentComponent == null || !has(parentComponent)) throw new Error("parentComponent must be a valid React Component"); 16538 return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback); 16539 } 16540 var didWarnAboutUnmountComponentAtNode = false;
16541 function unmountComponentAtNode(container) { 16542 if (!didWarnAboutUnmountComponentAtNode) { 16543 didWarnAboutUnmountComponentAtNode = true; 16544 error("unmountComponentAtNode is deprecated and will be removed in the next major release. Switch to the createRoot API. Learn more: https://reactjs.org/link/switch-to-createroot"); 16545 } 16546 if (!isValidContainerLegacy(container)) throw new Error("unmountComponentAtNode(...): Target container is not a DOM element."); 16547 if (isContainerMarkedAsRoot(container) && container._reactRootContainer === void 0) error("You are calling ReactDOM.unmountComponentAtNode() on a container that was previously passed to ReactDOMClient.createRoot(). This is not supported. Did you mean to call root.unmount()?"); 16548 if (container._reactRootContainer) { 16549 var rootEl = getReactRootElementInContainer(container); 16550 if (rootEl && !getInstanceFromNode(rootEl)) error("unmountComponentAtNode(): The node you're attempting to unmount was rendered by another copy of React."); 16551 flushSync(function() { 16552 legacyRenderSubtreeIntoContainer(null, null, container, false, function() { 16553 container._reactRootContainer = null; 16554 unmarkContainerAsRoot(container); 16555 }); 16556 }); 16557 return true; 16558 } else { 16559 var _rootEl = getReactRootElementInContainer(container); 16560 var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); 16561 var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainerLegacy(container.parentNode) && !!container.parentNode._reactRootContainer; 16562 if (hasNonRootReactChild) error("unmountComponentAtNode(): The node you're attempting to unmount was rendered by React and is not a top-level container. %s", isContainerReactRoot ? "You may have accidentally passed in a React root node instead of its container." : "Instead, have the parent component update its state and rerender in order to remove this component."); 16563 return false; 16564 } 16565 } 16566 setAttemptSynchronousHydration(attemptSynchronousHydration$1); 16567 setAttemptContinuousHydration(attemptContinuousHydration$1); 16568 setAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1); 16569 setGetCurrentUpdatePriority(getCurrentUpdatePriority); 16570 setAttemptHydrationAtPriority(runWithPriority); 16571 if (typeof Map !== "function" || Map.prototype == null || typeof Map.prototype.forEach !== "function" || typeof Set !== "function" || Set.prototype == null || typeof Set.prototype.clear !== "function" || typeof Set.prototype.forEach !== "function") error("React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"); 16572 setRestoreImplementation(restoreControlledState$3); 16573 setBatchingImplementation(batchedUpdates$1, discreteUpdates, flushSync); 16574 function createPortal$1(children, container) { 16575 var key = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null; 16576 if (!isValidContainer(container)) throw new Error("Target container is not a DOM element."); 16577 return createPortal(children, container, null, key); 16578 }
16579 function renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) { 16580 return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback); 16581 } 16582 var Internals = { 16583 usingClientEntryPoint: false, 16584 Events: [ 16585 getInstanceFromNode, 16586 getNodeFromInstance, 16587 getFiberCurrentPropsFromNode, 16588 enqueueStateRestore, 16589 restoreStateIfNeeded, 16590 batchedUpdates$1 16591 ] 16592 }; 16593 function createRoot$1(container, options$1) { 16594 if (!Internals.usingClientEntryPoint && true) error("You are importing createRoot from \"react-dom\" which is not supported. You should instead import it from \"react-dom/client\"."); 16595 return createRoot(container, options$1); 16596 } 16597 function hydrateRoot$1(container, initialChildren, options$1) { 16598 if (!Internals.usingClientEntryPoint && true) error("You are importing hydrateRoot from \"react-dom\" which is not supported. You should instead import it from \"react-dom/client\"."); 16599 return hydrateRoot(container, initialChildren, options$1); 16600 } 16601 function flushSync$1(fn) { 16602 if (isAlreadyRendering()) error("flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task."); 16603 return flushSync(fn); 16604 } 16605 if (!injectIntoDevTools({ 16606 findFiberByHostInstance: getClosestInstanceFromNode, 16607 bundleType: 1, 16608 version: ReactVersion, 16609 rendererPackageName: "react-dom" 16610 }) && canUseDOM && window.top === window.self) { 16611 if (navigator.userAgent.indexOf("Chrome") > -1 && navigator.userAgent.indexOf("Edge") === -1 || navigator.userAgent.indexOf("Firefox") > -1) { 16612 var protocol = window.location.protocol; 16613 if (/^(https?|file):$/.test(protocol)) console.info("%cDownload the React DevTools for a better development experience: https://reactjs.org/link/react-devtools" + (protocol === "file:" ? "\nYou might need to use a local HTTP server (instead of file://): https://reactjs.org/link/react-devtools-faq" : ""), "font-weight:bold"); 16614 } 16615 } 16616 exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals; 16617 exports.createPortal = createPortal$1; 16618 exports.createRoot = createRoot$1; 16619 exports.findDOMNode = findDOMNode; 16620 exports.flushSync = flushSync$1; 16621 exports.hydrate = hydrate; 16622 exports.hydrateRoot = hydrateRoot$1; 16623 exports.render = render; 16624 exports.unmountComponentAtNode = unmountComponentAtNode; 16625 exports.unstable_batchedUpdates = batchedUpdates$1; 16626 exports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer; 16627 exports.version = ReactVersion; 16628 if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(/* @__PURE__ */ new Error()); 16629 })(); 16630})); 16631var require_react_dom = /* @__PURE__ */ __commonJSMin(((exports, module) => { 16632 module.exports = require_react_dom_development(); 16633})); 16634export { require_react_dom as t }; 16635 16636//# sourceMappingURL=react-dom-ld7mzddK.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.