react-dom 19.2.0-canary-67a44bcd-20250915 → 19.2.0-canary-5e0c951b-20250916

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3164,6 +3164,7 @@ function chainThenableValue(thenable, result) {
3164
3164
  }
3165
3165
  var prevOnStartTransitionFinish = ReactSharedInternals.S;
3166
3166
  ReactSharedInternals.S = function (transition, returnValue) {
3167
+ globalMostRecentTransitionTime = now();
3167
3168
  "object" === typeof returnValue &&
3168
3169
  null !== returnValue &&
3169
3170
  "function" === typeof returnValue.then &&
@@ -10308,32 +10309,57 @@ function recursivelyTraverseAtomicPassiveEffects(
10308
10309
  }
10309
10310
  }
10310
10311
  var suspenseyCommitFlag = 8192;
10311
- function recursivelyAccumulateSuspenseyCommit(parentFiber) {
10312
+ function recursivelyAccumulateSuspenseyCommit(
10313
+ parentFiber,
10314
+ committedLanes,
10315
+ suspendedState
10316
+ ) {
10312
10317
  if (parentFiber.subtreeFlags & suspenseyCommitFlag)
10313
10318
  for (parentFiber = parentFiber.child; null !== parentFiber; )
10314
- accumulateSuspenseyCommitOnFiber(parentFiber),
10319
+ accumulateSuspenseyCommitOnFiber(
10320
+ parentFiber,
10321
+ committedLanes,
10322
+ suspendedState
10323
+ ),
10315
10324
  (parentFiber = parentFiber.sibling);
10316
10325
  }
10317
- function accumulateSuspenseyCommitOnFiber(fiber) {
10326
+ function accumulateSuspenseyCommitOnFiber(
10327
+ fiber,
10328
+ committedLanes,
10329
+ suspendedState
10330
+ ) {
10318
10331
  switch (fiber.tag) {
10319
10332
  case 26:
10320
- recursivelyAccumulateSuspenseyCommit(fiber);
10333
+ recursivelyAccumulateSuspenseyCommit(
10334
+ fiber,
10335
+ committedLanes,
10336
+ suspendedState
10337
+ );
10321
10338
  fiber.flags & suspenseyCommitFlag &&
10322
10339
  null !== fiber.memoizedState &&
10323
10340
  suspendResource(
10341
+ suspendedState,
10324
10342
  currentHoistableRoot,
10325
10343
  fiber.memoizedState,
10326
10344
  fiber.memoizedProps
10327
10345
  );
10328
10346
  break;
10329
10347
  case 5:
10330
- recursivelyAccumulateSuspenseyCommit(fiber);
10348
+ recursivelyAccumulateSuspenseyCommit(
10349
+ fiber,
10350
+ committedLanes,
10351
+ suspendedState
10352
+ );
10331
10353
  break;
10332
10354
  case 3:
10333
10355
  case 4:
10334
10356
  var previousHoistableRoot = currentHoistableRoot;
10335
10357
  currentHoistableRoot = getHoistableRoot(fiber.stateNode.containerInfo);
10336
- recursivelyAccumulateSuspenseyCommit(fiber);
10358
+ recursivelyAccumulateSuspenseyCommit(
10359
+ fiber,
10360
+ committedLanes,
10361
+ suspendedState
10362
+ );
10337
10363
  currentHoistableRoot = previousHoistableRoot;
10338
10364
  break;
10339
10365
  case 22:
@@ -10343,12 +10369,24 @@ function accumulateSuspenseyCommitOnFiber(fiber) {
10343
10369
  null !== previousHoistableRoot.memoizedState
10344
10370
  ? ((previousHoistableRoot = suspenseyCommitFlag),
10345
10371
  (suspenseyCommitFlag = 16777216),
10346
- recursivelyAccumulateSuspenseyCommit(fiber),
10372
+ recursivelyAccumulateSuspenseyCommit(
10373
+ fiber,
10374
+ committedLanes,
10375
+ suspendedState
10376
+ ),
10347
10377
  (suspenseyCommitFlag = previousHoistableRoot))
10348
- : recursivelyAccumulateSuspenseyCommit(fiber));
10378
+ : recursivelyAccumulateSuspenseyCommit(
10379
+ fiber,
10380
+ committedLanes,
10381
+ suspendedState
10382
+ ));
10349
10383
  break;
10350
10384
  default:
10351
- recursivelyAccumulateSuspenseyCommit(fiber);
10385
+ recursivelyAccumulateSuspenseyCommit(
10386
+ fiber,
10387
+ committedLanes,
10388
+ suspendedState
10389
+ );
10352
10390
  }
10353
10391
  }
10354
10392
  function detachAlternateSiblings(parentFiber) {
@@ -10527,6 +10565,7 @@ var DefaultAsyncDispatcher = {
10527
10565
  workInProgressRootRecoverableErrors = null,
10528
10566
  workInProgressRootDidIncludeRecursiveRenderUpdate = !1,
10529
10567
  globalMostRecentFallbackTime = 0,
10568
+ globalMostRecentTransitionTime = 0,
10530
10569
  workInProgressRootRenderTargetTime = Infinity,
10531
10570
  workInProgressTransitions = null,
10532
10571
  legacyErrorBoundariesThatAlreadyFailed = null,
@@ -10774,14 +10813,33 @@ function commitRootWhenReady(
10774
10813
  if (
10775
10814
  suspendedCommitReason & 8192 ||
10776
10815
  16785408 === (suspendedCommitReason & 16785408)
10777
- )
10778
- if (
10779
- ((suspendedState = { stylesheets: null, count: 0, unsuspend: noop$1 }),
10780
- accumulateSuspenseyCommitOnFiber(finishedWork),
10781
- (suspendedCommitReason = waitForCommitToBeReady()),
10782
- null !== suspendedCommitReason)
10783
- ) {
10784
- root.cancelPendingCommit = suspendedCommitReason(
10816
+ ) {
10817
+ suspendedCommitReason = {
10818
+ stylesheets: null,
10819
+ count: 0,
10820
+ imgCount: 0,
10821
+ imgBytes: 0,
10822
+ suspenseyImages: [],
10823
+ waitingForImages: !0,
10824
+ unsuspend: noop$1
10825
+ };
10826
+ accumulateSuspenseyCommitOnFiber(
10827
+ finishedWork,
10828
+ lanes,
10829
+ suspendedCommitReason
10830
+ );
10831
+ var timeoutOffset =
10832
+ (lanes & 62914560) === lanes
10833
+ ? globalMostRecentFallbackTime - now()
10834
+ : (lanes & 4194048) === lanes
10835
+ ? globalMostRecentTransitionTime - now()
10836
+ : 0;
10837
+ timeoutOffset = waitForCommitToBeReady(
10838
+ suspendedCommitReason,
10839
+ timeoutOffset
10840
+ );
10841
+ if (null !== timeoutOffset) {
10842
+ root.cancelPendingCommit = timeoutOffset(
10785
10843
  commitRoot.bind(
10786
10844
  null,
10787
10845
  root,
@@ -10794,6 +10852,7 @@ function commitRootWhenReady(
10794
10852
  updatedLanes,
10795
10853
  suspendedRetryLanes,
10796
10854
  exitStatus,
10855
+ suspendedCommitReason,
10797
10856
  1,
10798
10857
  completedRenderStartTime,
10799
10858
  completedRenderEndTime
@@ -10802,6 +10861,7 @@ function commitRootWhenReady(
10802
10861
  markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);
10803
10862
  return;
10804
10863
  }
10864
+ }
10805
10865
  commitRoot(
10806
10866
  root,
10807
10867
  finishedWork,
@@ -12086,20 +12146,20 @@ function extractEvents$1(
12086
12146
  }
12087
12147
  }
12088
12148
  for (
12089
- var i$jscomp$inline_1590 = 0;
12090
- i$jscomp$inline_1590 < simpleEventPluginEvents.length;
12091
- i$jscomp$inline_1590++
12149
+ var i$jscomp$inline_1591 = 0;
12150
+ i$jscomp$inline_1591 < simpleEventPluginEvents.length;
12151
+ i$jscomp$inline_1591++
12092
12152
  ) {
12093
- var eventName$jscomp$inline_1591 =
12094
- simpleEventPluginEvents[i$jscomp$inline_1590],
12095
- domEventName$jscomp$inline_1592 =
12096
- eventName$jscomp$inline_1591.toLowerCase(),
12097
- capitalizedEvent$jscomp$inline_1593 =
12098
- eventName$jscomp$inline_1591[0].toUpperCase() +
12099
- eventName$jscomp$inline_1591.slice(1);
12153
+ var eventName$jscomp$inline_1592 =
12154
+ simpleEventPluginEvents[i$jscomp$inline_1591],
12155
+ domEventName$jscomp$inline_1593 =
12156
+ eventName$jscomp$inline_1592.toLowerCase(),
12157
+ capitalizedEvent$jscomp$inline_1594 =
12158
+ eventName$jscomp$inline_1592[0].toUpperCase() +
12159
+ eventName$jscomp$inline_1592.slice(1);
12100
12160
  registerSimpleEvent(
12101
- domEventName$jscomp$inline_1592,
12102
- "on" + capitalizedEvent$jscomp$inline_1593
12161
+ domEventName$jscomp$inline_1593,
12162
+ "on" + capitalizedEvent$jscomp$inline_1594
12103
12163
  );
12104
12164
  }
12105
12165
  registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
@@ -13787,6 +13847,66 @@ function updateProperties(domElement, tag, lastProps, nextProps) {
13787
13847
  (null == propKey$200 && null == propKey) ||
13788
13848
  setProp(domElement, tag, lastProp, propKey$200, nextProps, propKey);
13789
13849
  }
13850
+ function isLikelyStaticResource(initiatorType) {
13851
+ switch (initiatorType) {
13852
+ case "css":
13853
+ case "script":
13854
+ case "font":
13855
+ case "img":
13856
+ case "image":
13857
+ case "input":
13858
+ case "link":
13859
+ return !0;
13860
+ default:
13861
+ return !1;
13862
+ }
13863
+ }
13864
+ function estimateBandwidth() {
13865
+ if ("function" === typeof performance.getEntriesByType) {
13866
+ for (
13867
+ var count = 0,
13868
+ bits = 0,
13869
+ resourceEntries = performance.getEntriesByType("resource"),
13870
+ i = 0;
13871
+ i < resourceEntries.length;
13872
+ i++
13873
+ ) {
13874
+ var entry = resourceEntries[i],
13875
+ transferSize = entry.transferSize,
13876
+ initiatorType = entry.initiatorType,
13877
+ duration = entry.duration;
13878
+ if (transferSize && duration && isLikelyStaticResource(initiatorType)) {
13879
+ initiatorType = 0;
13880
+ duration = entry.responseEnd;
13881
+ for (i += 1; i < resourceEntries.length; i++) {
13882
+ var overlapEntry = resourceEntries[i],
13883
+ overlapStartTime = overlapEntry.startTime;
13884
+ if (overlapStartTime > duration) break;
13885
+ var overlapTransferSize = overlapEntry.transferSize,
13886
+ overlapInitiatorType = overlapEntry.initiatorType;
13887
+ overlapTransferSize &&
13888
+ isLikelyStaticResource(overlapInitiatorType) &&
13889
+ ((overlapEntry = overlapEntry.responseEnd),
13890
+ (initiatorType +=
13891
+ overlapTransferSize *
13892
+ (overlapEntry < duration
13893
+ ? 1
13894
+ : (duration - overlapStartTime) /
13895
+ (overlapEntry - overlapStartTime))));
13896
+ }
13897
+ --i;
13898
+ bits += (8 * (transferSize + initiatorType)) / (entry.duration / 1e3);
13899
+ count++;
13900
+ if (10 < count) break;
13901
+ }
13902
+ }
13903
+ if (0 < count) return bits / count / 1e6;
13904
+ }
13905
+ return navigator.connection &&
13906
+ ((count = navigator.connection.downlink), "number" === typeof count)
13907
+ ? count
13908
+ : 5;
13909
+ }
13790
13910
  var eventsEnabled = null,
13791
13911
  selectionInformation = null;
13792
13912
  function getOwnerDocumentFromRootContainer(rootContainerElement) {
@@ -14783,10 +14903,7 @@ function preloadResource(resource) {
14783
14903
  ? !1
14784
14904
  : !0;
14785
14905
  }
14786
- var suspendedState = null;
14787
- function suspendResource(hoistableRoot, resource, props) {
14788
- if (null === suspendedState) throw Error(formatProdErrorMessage(475));
14789
- var state = suspendedState;
14906
+ function suspendResource(state, hoistableRoot, resource, props) {
14790
14907
  if (
14791
14908
  "stylesheet" === resource.type &&
14792
14909
  ("string" !== typeof props.media ||
@@ -14835,13 +14952,12 @@ function suspendResource(hoistableRoot, resource, props) {
14835
14952
  hoistableRoot.addEventListener("error", resource));
14836
14953
  }
14837
14954
  }
14838
- function waitForCommitToBeReady() {
14839
- if (null === suspendedState) throw Error(formatProdErrorMessage(475));
14840
- var state = suspendedState;
14955
+ var estimatedBytesWithinLimit = 0;
14956
+ function waitForCommitToBeReady(state, timeoutOffset) {
14841
14957
  state.stylesheets &&
14842
14958
  0 === state.count &&
14843
14959
  insertSuspendedStylesheets(state, state.stylesheets);
14844
- return 0 < state.count
14960
+ return 0 < state.count || 0 < state.imgCount
14845
14961
  ? function (commit) {
14846
14962
  var stylesheetTimer = setTimeout(function () {
14847
14963
  state.stylesheets &&
@@ -14851,18 +14967,39 @@ function waitForCommitToBeReady() {
14851
14967
  state.unsuspend = null;
14852
14968
  unsuspend();
14853
14969
  }
14854
- }, 6e4);
14970
+ }, 6e4 + timeoutOffset);
14971
+ 0 < state.imgBytes &&
14972
+ 0 === estimatedBytesWithinLimit &&
14973
+ (estimatedBytesWithinLimit = 62500 * estimateBandwidth());
14974
+ var imgTimer = setTimeout(
14975
+ function () {
14976
+ state.waitingForImages = !1;
14977
+ if (
14978
+ 0 === state.count &&
14979
+ (state.stylesheets &&
14980
+ insertSuspendedStylesheets(state, state.stylesheets),
14981
+ state.unsuspend)
14982
+ ) {
14983
+ var unsuspend = state.unsuspend;
14984
+ state.unsuspend = null;
14985
+ unsuspend();
14986
+ }
14987
+ },
14988
+ (state.imgBytes > estimatedBytesWithinLimit ? 50 : 800) +
14989
+ timeoutOffset
14990
+ );
14855
14991
  state.unsuspend = commit;
14856
14992
  return function () {
14857
14993
  state.unsuspend = null;
14858
14994
  clearTimeout(stylesheetTimer);
14995
+ clearTimeout(imgTimer);
14859
14996
  };
14860
14997
  }
14861
14998
  : null;
14862
14999
  }
14863
15000
  function onUnsuspend() {
14864
15001
  this.count--;
14865
- if (0 === this.count)
15002
+ if (0 === this.count && (0 === this.imgCount || !this.waitingForImages))
14866
15003
  if (this.stylesheets) insertSuspendedStylesheets(this, this.stylesheets);
14867
15004
  else if (this.unsuspend) {
14868
15005
  var unsuspend = this.unsuspend;
@@ -15721,16 +15858,16 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
15721
15858
  0 === i && attemptExplicitHydrationTarget(target);
15722
15859
  }
15723
15860
  };
15724
- var isomorphicReactPackageVersion$jscomp$inline_1850 = React.version;
15861
+ var isomorphicReactPackageVersion$jscomp$inline_1854 = React.version;
15725
15862
  if (
15726
- "19.2.0-canary-67a44bcd-20250915" !==
15727
- isomorphicReactPackageVersion$jscomp$inline_1850
15863
+ "19.2.0-canary-5e0c951b-20250916" !==
15864
+ isomorphicReactPackageVersion$jscomp$inline_1854
15728
15865
  )
15729
15866
  throw Error(
15730
15867
  formatProdErrorMessage(
15731
15868
  527,
15732
- isomorphicReactPackageVersion$jscomp$inline_1850,
15733
- "19.2.0-canary-67a44bcd-20250915"
15869
+ isomorphicReactPackageVersion$jscomp$inline_1854,
15870
+ "19.2.0-canary-5e0c951b-20250916"
15734
15871
  )
15735
15872
  );
15736
15873
  ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -15750,24 +15887,24 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
15750
15887
  null === componentOrElement ? null : componentOrElement.stateNode;
15751
15888
  return componentOrElement;
15752
15889
  };
15753
- var internals$jscomp$inline_2353 = {
15890
+ var internals$jscomp$inline_2357 = {
15754
15891
  bundleType: 0,
15755
- version: "19.2.0-canary-67a44bcd-20250915",
15892
+ version: "19.2.0-canary-5e0c951b-20250916",
15756
15893
  rendererPackageName: "react-dom",
15757
15894
  currentDispatcherRef: ReactSharedInternals,
15758
- reconcilerVersion: "19.2.0-canary-67a44bcd-20250915"
15895
+ reconcilerVersion: "19.2.0-canary-5e0c951b-20250916"
15759
15896
  };
15760
15897
  if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
15761
- var hook$jscomp$inline_2354 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
15898
+ var hook$jscomp$inline_2358 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
15762
15899
  if (
15763
- !hook$jscomp$inline_2354.isDisabled &&
15764
- hook$jscomp$inline_2354.supportsFiber
15900
+ !hook$jscomp$inline_2358.isDisabled &&
15901
+ hook$jscomp$inline_2358.supportsFiber
15765
15902
  )
15766
15903
  try {
15767
- (rendererID = hook$jscomp$inline_2354.inject(
15768
- internals$jscomp$inline_2353
15904
+ (rendererID = hook$jscomp$inline_2358.inject(
15905
+ internals$jscomp$inline_2357
15769
15906
  )),
15770
- (injectedHook = hook$jscomp$inline_2354);
15907
+ (injectedHook = hook$jscomp$inline_2358);
15771
15908
  } catch (err) {}
15772
15909
  }
15773
15910
  exports.createRoot = function (container, options) {
@@ -15853,4 +15990,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
15853
15990
  listenToAllSupportedEvents(container);
15854
15991
  return new ReactDOMHydrationRoot(initialChildren);
15855
15992
  };
15856
- exports.version = "19.2.0-canary-67a44bcd-20250915";
15993
+ exports.version = "19.2.0-canary-5e0c951b-20250916";