react-dom 19.2.0-canary-4448b187-20250515 → 19.2.0-canary-c4676e72-20250520

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.
@@ -17,6 +17,14 @@
17
17
  function scriptReplacer(match, prefix, s, suffix) {
18
18
  return "" + prefix + ("s" === s ? "\\u0073" : "\\u0053") + suffix;
19
19
  }
20
+ function getIteratorFn(maybeIterable) {
21
+ if (null === maybeIterable || "object" !== typeof maybeIterable)
22
+ return null;
23
+ maybeIterable =
24
+ (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||
25
+ maybeIterable["@@iterator"];
26
+ return "function" === typeof maybeIterable ? maybeIterable : null;
27
+ }
20
28
  function objectName(object) {
21
29
  return Object.prototype.toString
22
30
  .call(object)
@@ -1094,7 +1102,8 @@
1094
1102
  nameIdx: 0
1095
1103
  };
1096
1104
  }
1097
- function getSuspenseFallbackFormatContext(parentContext) {
1105
+ function getSuspenseFallbackFormatContext(resumableState, parentContext) {
1106
+ parentContext.tagScope & 32 && (resumableState.instructions |= 128);
1098
1107
  return createFormatContext(
1099
1108
  parentContext.insertionMode,
1100
1109
  parentContext.selectedValue,
@@ -1102,7 +1111,7 @@
1102
1111
  getSuspenseViewTransition(parentContext.viewTransition)
1103
1112
  );
1104
1113
  }
1105
- function getSuspenseContentFormatContext(parentContext) {
1114
+ function getSuspenseContentFormatContext(resumableState, parentContext) {
1106
1115
  return createFormatContext(
1107
1116
  parentContext.insertionMode,
1108
1117
  parentContext.selectedValue,
@@ -4490,6 +4499,7 @@
4490
4499
  null,
4491
4500
  emptyTreeContext,
4492
4501
  null,
4502
+ null,
4493
4503
  emptyContextObject,
4494
4504
  null
4495
4505
  );
@@ -4550,15 +4560,17 @@
4550
4560
  }
4551
4561
  function createSuspenseBoundary(
4552
4562
  request,
4563
+ row,
4553
4564
  fallbackAbortableTasks,
4554
4565
  contentPreamble,
4555
4566
  fallbackPreamble
4556
4567
  ) {
4557
- return {
4568
+ fallbackAbortableTasks = {
4558
4569
  status: PENDING,
4559
4570
  rootSegmentID: -1,
4560
4571
  parentFlushed: !1,
4561
4572
  pendingTasks: 0,
4573
+ row: row,
4562
4574
  completedSegments: [],
4563
4575
  byteSize: 0,
4564
4576
  fallbackAbortableTasks: fallbackAbortableTasks,
@@ -4573,6 +4585,14 @@
4573
4585
  errorStack: null,
4574
4586
  errorComponentStack: null
4575
4587
  };
4588
+ null !== row &&
4589
+ (row.pendingTasks++,
4590
+ (row = row.boundaries),
4591
+ null !== row &&
4592
+ (request.allPendingTasks++,
4593
+ fallbackAbortableTasks.pendingTasks++,
4594
+ row.push(fallbackAbortableTasks)));
4595
+ return fallbackAbortableTasks;
4576
4596
  }
4577
4597
  function createRenderTask(
4578
4598
  request,
@@ -4588,6 +4608,7 @@
4588
4608
  formatContext,
4589
4609
  context,
4590
4610
  treeContext,
4611
+ row,
4591
4612
  componentStack,
4592
4613
  legacyContext,
4593
4614
  debugTask
@@ -4596,6 +4617,7 @@
4596
4617
  null === blockedBoundary
4597
4618
  ? request.pendingRootTasks++
4598
4619
  : blockedBoundary.pendingTasks++;
4620
+ null !== row && row.pendingTasks++;
4599
4621
  var task = {
4600
4622
  replay: null,
4601
4623
  node: node,
@@ -4612,6 +4634,7 @@
4612
4634
  formatContext: formatContext,
4613
4635
  context: context,
4614
4636
  treeContext: treeContext,
4637
+ row: row,
4615
4638
  componentStack: componentStack,
4616
4639
  thenableState: thenableState
4617
4640
  };
@@ -4632,6 +4655,7 @@
4632
4655
  formatContext,
4633
4656
  context,
4634
4657
  treeContext,
4658
+ row,
4635
4659
  componentStack,
4636
4660
  legacyContext,
4637
4661
  debugTask
@@ -4640,6 +4664,7 @@
4640
4664
  null === blockedBoundary
4641
4665
  ? request.pendingRootTasks++
4642
4666
  : blockedBoundary.pendingTasks++;
4667
+ null !== row && row.pendingTasks++;
4643
4668
  replay.pendingTasks++;
4644
4669
  var task = {
4645
4670
  replay: replay,
@@ -4657,6 +4682,7 @@
4657
4682
  formatContext: formatContext,
4658
4683
  context: context,
4659
4684
  treeContext: treeContext,
4685
+ row: row,
4660
4686
  componentStack: componentStack,
4661
4687
  thenableState: thenableState
4662
4688
  };
@@ -4842,6 +4868,141 @@
4842
4868
  ? ((request.status = CLOSED), request.destination.destroy(error))
4843
4869
  : ((request.status = 13), (request.fatalError = error));
4844
4870
  }
4871
+ function finishSuspenseListRow(request, row) {
4872
+ for (row = row.next; null !== row; ) {
4873
+ var unblockedBoundaries = row.boundaries;
4874
+ if (null !== unblockedBoundaries) {
4875
+ row.boundaries = null;
4876
+ for (var i = 0; i < unblockedBoundaries.length; i++)
4877
+ finishedTask(request, unblockedBoundaries[i], null, null);
4878
+ }
4879
+ row.pendingTasks--;
4880
+ if (0 < row.pendingTasks) break;
4881
+ row = row.next;
4882
+ }
4883
+ }
4884
+ function createSuspenseListRow(previousRow) {
4885
+ var newRow = { pendingTasks: 1, boundaries: null, next: null };
4886
+ null !== previousRow &&
4887
+ 0 < previousRow.pendingTasks &&
4888
+ (newRow.pendingTasks++,
4889
+ (newRow.boundaries = []),
4890
+ (previousRow.next = newRow));
4891
+ return newRow;
4892
+ }
4893
+ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
4894
+ keyPath = task.keyPath;
4895
+ var previousComponentStack = task.componentStack;
4896
+ var previousDebugTask = task.debugTask;
4897
+ pushServerComponentStack(task, task.node.props.children._debugInfo);
4898
+ var prevTreeContext = task.treeContext,
4899
+ prevRow = task.row,
4900
+ totalChildren = rows.length,
4901
+ previousSuspenseListRow = null;
4902
+ if (null !== task.replay) {
4903
+ var resumeSlots = task.replay.slots;
4904
+ if (null !== resumeSlots && "object" === typeof resumeSlots)
4905
+ for (var n = 0; n < totalChildren; n++) {
4906
+ var i = "backwards" !== revealOrder ? n : totalChildren - 1 - n,
4907
+ node = rows[i];
4908
+ task.row = previousSuspenseListRow = createSuspenseListRow(
4909
+ previousSuspenseListRow
4910
+ );
4911
+ task.treeContext = pushTreeContext(
4912
+ prevTreeContext,
4913
+ totalChildren,
4914
+ i
4915
+ );
4916
+ var resumeSegmentID = resumeSlots[i];
4917
+ "number" === typeof resumeSegmentID
4918
+ ? (resumeNode(request, task, resumeSegmentID, node, i),
4919
+ delete resumeSlots[i])
4920
+ : renderNode(request, task, node, i);
4921
+ 0 === --previousSuspenseListRow.pendingTasks &&
4922
+ finishSuspenseListRow(request, previousSuspenseListRow);
4923
+ }
4924
+ else
4925
+ for (resumeSlots = 0; resumeSlots < totalChildren; resumeSlots++)
4926
+ (n =
4927
+ "backwards" !== revealOrder
4928
+ ? resumeSlots
4929
+ : totalChildren - 1 - resumeSlots),
4930
+ (i = rows[n]),
4931
+ warnForMissingKey(request, task, i),
4932
+ (task.row = previousSuspenseListRow =
4933
+ createSuspenseListRow(previousSuspenseListRow)),
4934
+ (task.treeContext = pushTreeContext(
4935
+ prevTreeContext,
4936
+ totalChildren,
4937
+ n
4938
+ )),
4939
+ renderNode(request, task, i, n),
4940
+ 0 === --previousSuspenseListRow.pendingTasks &&
4941
+ finishSuspenseListRow(request, previousSuspenseListRow);
4942
+ } else if ("backwards" !== revealOrder)
4943
+ for (revealOrder = 0; revealOrder < totalChildren; revealOrder++)
4944
+ (resumeSlots = rows[revealOrder]),
4945
+ warnForMissingKey(request, task, resumeSlots),
4946
+ (task.row = previousSuspenseListRow =
4947
+ createSuspenseListRow(previousSuspenseListRow)),
4948
+ (task.treeContext = pushTreeContext(
4949
+ prevTreeContext,
4950
+ totalChildren,
4951
+ revealOrder
4952
+ )),
4953
+ renderNode(request, task, resumeSlots, revealOrder),
4954
+ 0 === --previousSuspenseListRow.pendingTasks &&
4955
+ finishSuspenseListRow(request, previousSuspenseListRow);
4956
+ else {
4957
+ revealOrder = task.blockedSegment;
4958
+ resumeSlots = revealOrder.children.length;
4959
+ n = revealOrder.chunks.length;
4960
+ for (i = totalChildren - 1; 0 <= i; i--) {
4961
+ node = rows[i];
4962
+ task.row = previousSuspenseListRow = createSuspenseListRow(
4963
+ previousSuspenseListRow
4964
+ );
4965
+ task.treeContext = pushTreeContext(prevTreeContext, totalChildren, i);
4966
+ resumeSegmentID = createPendingSegment(
4967
+ request,
4968
+ n,
4969
+ null,
4970
+ task.formatContext,
4971
+ 0 === i ? revealOrder.lastPushedText : !0,
4972
+ !0
4973
+ );
4974
+ revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);
4975
+ task.blockedSegment = resumeSegmentID;
4976
+ warnForMissingKey(request, task, node);
4977
+ try {
4978
+ renderNode(request, task, node, i),
4979
+ resumeSegmentID.lastPushedText &&
4980
+ resumeSegmentID.textEmbedded &&
4981
+ resumeSegmentID.chunks.push(textSeparator),
4982
+ (resumeSegmentID.status = COMPLETED),
4983
+ finishedSegment(request, task.blockedBoundary, resumeSegmentID),
4984
+ 0 === --previousSuspenseListRow.pendingTasks &&
4985
+ finishSuspenseListRow(request, previousSuspenseListRow);
4986
+ } catch (thrownValue) {
4987
+ throw (
4988
+ ((resumeSegmentID.status = 12 === request.status ? ABORTED : 4),
4989
+ thrownValue)
4990
+ );
4991
+ }
4992
+ }
4993
+ task.blockedSegment = revealOrder;
4994
+ revealOrder.lastPushedText = !1;
4995
+ }
4996
+ null !== prevRow &&
4997
+ null !== previousSuspenseListRow &&
4998
+ 0 < previousSuspenseListRow.pendingTasks &&
4999
+ (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));
5000
+ task.treeContext = prevTreeContext;
5001
+ task.row = prevRow;
5002
+ task.keyPath = keyPath;
5003
+ task.componentStack = previousComponentStack;
5004
+ task.debugTask = previousDebugTask;
5005
+ }
4845
5006
  function renderWithHooks(
4846
5007
  request,
4847
5008
  task,
@@ -5415,6 +5576,7 @@
5415
5576
  task.formatContext,
5416
5577
  task.context,
5417
5578
  task.treeContext,
5579
+ task.row,
5418
5580
  task.componentStack,
5419
5581
  emptyContextObject,
5420
5582
  task.debugTask
@@ -5498,10 +5660,53 @@
5498
5660
  }
5499
5661
  return;
5500
5662
  case REACT_SUSPENSE_LIST_TYPE:
5501
- var _prevKeyPath4 = task.keyPath;
5502
- task.keyPath = keyPath;
5503
- renderNodeDestructive(request, task, props.children, -1);
5504
- task.keyPath = _prevKeyPath4;
5663
+ a: {
5664
+ var children$jscomp$0 = props.children,
5665
+ revealOrder = props.revealOrder;
5666
+ if ("forwards" === revealOrder || "backwards" === revealOrder) {
5667
+ if (isArrayImpl(children$jscomp$0)) {
5668
+ renderSuspenseListRows(
5669
+ request,
5670
+ task,
5671
+ keyPath,
5672
+ children$jscomp$0,
5673
+ revealOrder
5674
+ );
5675
+ break a;
5676
+ }
5677
+ var iteratorFn = getIteratorFn(children$jscomp$0);
5678
+ if (iteratorFn) {
5679
+ var iterator = iteratorFn.call(children$jscomp$0);
5680
+ if (iterator) {
5681
+ validateIterable(
5682
+ task,
5683
+ children$jscomp$0,
5684
+ -1,
5685
+ iterator,
5686
+ iteratorFn
5687
+ );
5688
+ var step = iterator.next();
5689
+ if (!step.done) {
5690
+ var rows = [];
5691
+ do rows.push(step.value), (step = iterator.next());
5692
+ while (!step.done);
5693
+ renderSuspenseListRows(
5694
+ request,
5695
+ task,
5696
+ keyPath,
5697
+ children$jscomp$0,
5698
+ revealOrder
5699
+ );
5700
+ }
5701
+ break a;
5702
+ }
5703
+ }
5704
+ }
5705
+ var prevKeyPath$jscomp$3 = task.keyPath;
5706
+ task.keyPath = keyPath;
5707
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
5708
+ task.keyPath = prevKeyPath$jscomp$3;
5709
+ }
5505
5710
  return;
5506
5711
  case REACT_VIEW_TRANSITION_TYPE:
5507
5712
  case REACT_SCOPE_TYPE:
@@ -5511,20 +5716,26 @@
5511
5716
  case REACT_SUSPENSE_TYPE:
5512
5717
  a: if (null !== task.replay) {
5513
5718
  var _prevKeyPath = task.keyPath,
5514
- _prevContext = task.formatContext;
5719
+ _prevContext = task.formatContext,
5720
+ _prevRow = task.row;
5515
5721
  task.keyPath = keyPath;
5516
- task.formatContext =
5517
- getSuspenseContentFormatContext(_prevContext);
5722
+ task.formatContext = getSuspenseContentFormatContext(
5723
+ request.resumableState,
5724
+ _prevContext
5725
+ );
5726
+ task.row = null;
5518
5727
  var _content = props.children;
5519
5728
  try {
5520
5729
  renderNode(request, task, _content, -1);
5521
5730
  } finally {
5522
5731
  (task.keyPath = _prevKeyPath),
5523
- (task.formatContext = _prevContext);
5732
+ (task.formatContext = _prevContext),
5733
+ (task.row = _prevRow);
5524
5734
  }
5525
5735
  } else {
5526
- var prevKeyPath$jscomp$3 = task.keyPath,
5736
+ var prevKeyPath$jscomp$4 = task.keyPath,
5527
5737
  prevContext$jscomp$0 = task.formatContext,
5738
+ prevRow = task.row,
5528
5739
  parentBoundary = task.blockedBoundary,
5529
5740
  parentPreamble = task.blockedPreamble,
5530
5741
  parentHoistableState = task.hoistableState,
@@ -5536,12 +5747,14 @@
5536
5747
  task.formatContext.insertionMode < HTML_MODE
5537
5748
  ? createSuspenseBoundary(
5538
5749
  request,
5750
+ task.row,
5539
5751
  fallbackAbortSet,
5540
5752
  createPreambleState(),
5541
5753
  createPreambleState()
5542
5754
  )
5543
5755
  : createSuspenseBoundary(
5544
5756
  request,
5757
+ task.row,
5545
5758
  fallbackAbortSet,
5546
5759
  null,
5547
5760
  null
@@ -5587,8 +5800,10 @@
5587
5800
  task.blockedSegment = boundarySegment;
5588
5801
  task.blockedPreamble = newBoundary.fallbackPreamble;
5589
5802
  task.keyPath = fallbackKeyPath;
5590
- task.formatContext =
5591
- getSuspenseFallbackFormatContext(prevContext$jscomp$0);
5803
+ task.formatContext = getSuspenseFallbackFormatContext(
5804
+ request.resumableState,
5805
+ prevContext$jscomp$0
5806
+ );
5592
5807
  boundarySegment.status = 6;
5593
5808
  try {
5594
5809
  renderNode(request, task, fallback, -1),
@@ -5599,13 +5814,14 @@
5599
5814
  finishedSegment(request, parentBoundary, boundarySegment);
5600
5815
  } catch (thrownValue) {
5601
5816
  throw (
5602
- ((boundarySegment.status = 12 === request.status ? 3 : 4),
5817
+ ((boundarySegment.status =
5818
+ 12 === request.status ? ABORTED : 4),
5603
5819
  thrownValue)
5604
5820
  );
5605
5821
  } finally {
5606
5822
  (task.blockedSegment = parentSegment),
5607
5823
  (task.blockedPreamble = parentPreamble),
5608
- (task.keyPath = prevKeyPath$jscomp$3),
5824
+ (task.keyPath = prevKeyPath$jscomp$4),
5609
5825
  (task.formatContext = prevContext$jscomp$0);
5610
5826
  }
5611
5827
  var suspendedPrimaryTask = createRenderTask(
@@ -5619,9 +5835,13 @@
5619
5835
  newBoundary.contentState,
5620
5836
  task.abortSet,
5621
5837
  keyPath,
5622
- getSuspenseContentFormatContext(task.formatContext),
5838
+ getSuspenseContentFormatContext(
5839
+ request.resumableState,
5840
+ task.formatContext
5841
+ ),
5623
5842
  task.context,
5624
5843
  task.treeContext,
5844
+ null,
5625
5845
  task.componentStack,
5626
5846
  emptyContextObject,
5627
5847
  task.debugTask
@@ -5634,8 +5854,11 @@
5634
5854
  task.hoistableState = newBoundary.contentState;
5635
5855
  task.blockedSegment = contentRootSegment;
5636
5856
  task.keyPath = keyPath;
5637
- task.formatContext =
5638
- getSuspenseContentFormatContext(prevContext$jscomp$0);
5857
+ task.formatContext = getSuspenseContentFormatContext(
5858
+ request.resumableState,
5859
+ prevContext$jscomp$0
5860
+ );
5861
+ task.row = null;
5639
5862
  contentRootSegment.status = 6;
5640
5863
  try {
5641
5864
  if (
@@ -5651,6 +5874,9 @@
5651
5874
  ((newBoundary.status = COMPLETED),
5652
5875
  !(500 < newBoundary.byteSize)))
5653
5876
  ) {
5877
+ null !== prevRow &&
5878
+ 0 === --prevRow.pendingTasks &&
5879
+ finishSuspenseListRow(request, prevRow);
5654
5880
  0 === request.pendingRootTasks &&
5655
5881
  task.blockedPreamble &&
5656
5882
  preparePreamble(request);
@@ -5659,7 +5885,7 @@
5659
5885
  } catch (thrownValue$2) {
5660
5886
  newBoundary.status = CLIENT_RENDERED;
5661
5887
  if (12 === request.status) {
5662
- contentRootSegment.status = 3;
5888
+ contentRootSegment.status = ABORTED;
5663
5889
  var error = request.fatalError;
5664
5890
  } else
5665
5891
  (contentRootSegment.status = 4), (error = thrownValue$2);
@@ -5683,8 +5909,9 @@
5683
5909
  (task.blockedPreamble = parentPreamble),
5684
5910
  (task.hoistableState = parentHoistableState),
5685
5911
  (task.blockedSegment = parentSegment),
5686
- (task.keyPath = prevKeyPath$jscomp$3),
5687
- (task.formatContext = prevContext$jscomp$0);
5912
+ (task.keyPath = prevKeyPath$jscomp$4),
5913
+ (task.formatContext = prevContext$jscomp$0),
5914
+ (task.row = prevRow);
5688
5915
  }
5689
5916
  var suspendedFallbackTask = createRenderTask(
5690
5917
  request,
@@ -5697,9 +5924,13 @@
5697
5924
  newBoundary.fallbackState,
5698
5925
  fallbackAbortSet,
5699
5926
  [keyPath[0], "Suspense Fallback", keyPath[2]],
5700
- getSuspenseFallbackFormatContext(task.formatContext),
5927
+ getSuspenseFallbackFormatContext(
5928
+ request.resumableState,
5929
+ task.formatContext
5930
+ ),
5701
5931
  task.context,
5702
5932
  task.treeContext,
5933
+ task.row,
5703
5934
  task.componentStack,
5704
5935
  emptyContextObject,
5705
5936
  task.debugTask
@@ -5718,7 +5949,7 @@
5718
5949
  for (var key in props)
5719
5950
  "ref" !== key && (propsWithoutRef[key] = props[key]);
5720
5951
  } else propsWithoutRef = props;
5721
- var children$jscomp$0 = renderWithHooks(
5952
+ var children$jscomp$1 = renderWithHooks(
5722
5953
  request,
5723
5954
  task,
5724
5955
  keyPath,
@@ -5730,7 +5961,7 @@
5730
5961
  request,
5731
5962
  task,
5732
5963
  keyPath,
5733
- children$jscomp$0,
5964
+ children$jscomp$1,
5734
5965
  0 !== localIdCounter,
5735
5966
  actionStateCounter,
5736
5967
  actionStateMatchingIndex
@@ -5742,9 +5973,9 @@
5742
5973
  case REACT_PROVIDER_TYPE:
5743
5974
  case REACT_CONTEXT_TYPE:
5744
5975
  var value$jscomp$0 = props.value,
5745
- children$jscomp$1 = props.children;
5976
+ children$jscomp$2 = props.children;
5746
5977
  var prevSnapshot = task.context;
5747
- var prevKeyPath$jscomp$4 = task.keyPath;
5978
+ var prevKeyPath$jscomp$5 = task.keyPath;
5748
5979
  var prevValue = type._currentValue;
5749
5980
  type._currentValue = value$jscomp$0;
5750
5981
  void 0 !== type._currentRenderer &&
@@ -5765,7 +5996,7 @@
5765
5996
  currentActiveSnapshot = newNode;
5766
5997
  task.context = newNode;
5767
5998
  task.keyPath = keyPath;
5768
- renderNodeDestructive(request, task, children$jscomp$1, -1);
5999
+ renderNodeDestructive(request, task, children$jscomp$2, -1);
5769
6000
  var prevSnapshot$jscomp$0 = currentActiveSnapshot;
5770
6001
  if (null === prevSnapshot$jscomp$0)
5771
6002
  throw Error(
@@ -5787,7 +6018,7 @@
5787
6018
  var JSCompiler_inline_result$jscomp$0 = (currentActiveSnapshot =
5788
6019
  prevSnapshot$jscomp$0.parent);
5789
6020
  task.context = JSCompiler_inline_result$jscomp$0;
5790
- task.keyPath = prevKeyPath$jscomp$4;
6021
+ task.keyPath = prevKeyPath$jscomp$5;
5791
6022
  prevSnapshot !== task.context &&
5792
6023
  console.error(
5793
6024
  "Popping the context provider did not return back to the original snapshot. This is a bug in React."
@@ -5801,10 +6032,10 @@
5801
6032
  "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."
5802
6033
  );
5803
6034
  var newChildren = render(context$jscomp$0._currentValue),
5804
- prevKeyPath$jscomp$5 = task.keyPath;
6035
+ prevKeyPath$jscomp$6 = task.keyPath;
5805
6036
  task.keyPath = keyPath;
5806
6037
  renderNodeDestructive(request, task, newChildren, -1);
5807
- task.keyPath = prevKeyPath$jscomp$5;
6038
+ task.keyPath = prevKeyPath$jscomp$6;
5808
6039
  return;
5809
6040
  case REACT_LAZY_TYPE:
5810
6041
  var Component = callLazyInitInDEV(type);
@@ -5936,6 +6167,7 @@
5936
6167
  node = null === node[4] ? null : node[4][3];
5937
6168
  var prevKeyPath = task.keyPath,
5938
6169
  prevContext = task.formatContext,
6170
+ prevRow = task.row,
5939
6171
  previousReplaySet = task.replay,
5940
6172
  parentBoundary = task.blockedBoundary,
5941
6173
  parentHoistableState = task.hoistableState,
@@ -5946,12 +6178,14 @@
5946
6178
  task.formatContext.insertionMode < HTML_MODE
5947
6179
  ? createSuspenseBoundary(
5948
6180
  request,
6181
+ task.row,
5949
6182
  fallbackAbortSet,
5950
6183
  createPreambleState(),
5951
6184
  createPreambleState()
5952
6185
  )
5953
6186
  : createSuspenseBoundary(
5954
6187
  request,
6188
+ task.row,
5955
6189
  fallbackAbortSet,
5956
6190
  null,
5957
6191
  null
@@ -5961,7 +6195,11 @@
5961
6195
  task.blockedBoundary = props;
5962
6196
  task.hoistableState = props.contentState;
5963
6197
  task.keyPath = keyPath;
5964
- task.formatContext = getSuspenseContentFormatContext(prevContext);
6198
+ task.formatContext = getSuspenseContentFormatContext(
6199
+ request.resumableState,
6200
+ prevContext
6201
+ );
6202
+ task.row = null;
5965
6203
  task.replay = { nodes: type, slots: ref, pendingTasks: 1 };
5966
6204
  try {
5967
6205
  renderNode(request, task, content, -1);
@@ -5995,7 +6233,8 @@
5995
6233
  (task.hoistableState = parentHoistableState),
5996
6234
  (task.replay = previousReplaySet),
5997
6235
  (task.keyPath = prevKeyPath),
5998
- (task.formatContext = prevContext);
6236
+ (task.formatContext = prevContext),
6237
+ (task.row = prevRow);
5999
6238
  }
6000
6239
  props = createReplayTask(
6001
6240
  request,
@@ -6007,9 +6246,13 @@
6007
6246
  props.fallbackState,
6008
6247
  fallbackAbortSet,
6009
6248
  [keyPath[0], "Suspense Fallback", keyPath[2]],
6010
- getSuspenseFallbackFormatContext(task.formatContext),
6249
+ getSuspenseFallbackFormatContext(
6250
+ request.resumableState,
6251
+ task.formatContext
6252
+ ),
6011
6253
  task.context,
6012
6254
  task.treeContext,
6255
+ task.row,
6013
6256
  task.componentStack,
6014
6257
  emptyContextObject,
6015
6258
  task.debugTask
@@ -6023,6 +6266,35 @@
6023
6266
  }
6024
6267
  }
6025
6268
  }
6269
+ function validateIterable(
6270
+ task,
6271
+ iterable,
6272
+ childIndex,
6273
+ iterator,
6274
+ iteratorFn
6275
+ ) {
6276
+ if (iterator === iterable) {
6277
+ if (
6278
+ -1 !== childIndex ||
6279
+ null === task.componentStack ||
6280
+ "function" !== typeof task.componentStack.type ||
6281
+ "[object GeneratorFunction]" !==
6282
+ Object.prototype.toString.call(task.componentStack.type) ||
6283
+ "[object Generator]" !== Object.prototype.toString.call(iterator)
6284
+ )
6285
+ didWarnAboutGenerators ||
6286
+ console.error(
6287
+ "Using Iterators 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. You can also use an Iterable that can iterate multiple times over the same items."
6288
+ ),
6289
+ (didWarnAboutGenerators = !0);
6290
+ } else
6291
+ iterable.entries !== iteratorFn ||
6292
+ didWarnAboutMaps ||
6293
+ (console.error(
6294
+ "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
6295
+ ),
6296
+ (didWarnAboutMaps = !0));
6297
+ }
6026
6298
  function renderNodeDestructive(request, task, node, childIndex) {
6027
6299
  null !== task.replay && "number" === typeof task.replay.slots
6028
6300
  ? resumeNode(request, task, task.replay.slots, node, childIndex)
@@ -6099,52 +6371,27 @@
6099
6371
  "Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render."
6100
6372
  );
6101
6373
  case REACT_LAZY_TYPE:
6102
- node = callLazyInitInDEV(node);
6374
+ type = callLazyInitInDEV(node);
6103
6375
  if (12 === request.status) throw null;
6104
- renderNodeDestructive(request, task, node, childIndex);
6376
+ renderNodeDestructive(request, task, type, childIndex);
6105
6377
  return;
6106
6378
  }
6107
6379
  if (isArrayImpl(node)) {
6108
6380
  renderChildrenArray(request, task, node, childIndex);
6109
6381
  return;
6110
6382
  }
6111
- null === node || "object" !== typeof node
6112
- ? (key = null)
6113
- : ((type =
6114
- (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||
6115
- node["@@iterator"]),
6116
- (key = "function" === typeof type ? type : null));
6117
- if (key && (type = key.call(node))) {
6118
- if (type === node) {
6119
- if (
6120
- -1 !== childIndex ||
6121
- null === task.componentStack ||
6122
- "function" !== typeof task.componentStack.type ||
6123
- "[object GeneratorFunction]" !==
6124
- Object.prototype.toString.call(task.componentStack.type) ||
6125
- "[object Generator]" !== Object.prototype.toString.call(type)
6126
- )
6127
- didWarnAboutGenerators ||
6128
- console.error(
6129
- "Using Iterators 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. You can also use an Iterable that can iterate multiple times over the same items."
6130
- ),
6131
- (didWarnAboutGenerators = !0);
6132
- } else
6133
- node.entries !== key ||
6134
- didWarnAboutMaps ||
6135
- (console.error(
6136
- "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
6137
- ),
6138
- (didWarnAboutMaps = !0));
6139
- node = type.next();
6140
- if (!node.done) {
6141
- key = [];
6142
- do key.push(node.value), (node = type.next());
6143
- while (!node.done);
6144
- renderChildrenArray(request, task, key, childIndex);
6383
+ if ((key = getIteratorFn(node)))
6384
+ if ((type = key.call(node))) {
6385
+ validateIterable(task, node, childIndex, type, key);
6386
+ node = type.next();
6387
+ if (!node.done) {
6388
+ key = [];
6389
+ do key.push(node.value), (node = type.next());
6390
+ while (!node.done);
6391
+ renderChildrenArray(request, task, key, childIndex);
6392
+ }
6393
+ return;
6145
6394
  }
6146
- return;
6147
- }
6148
6395
  if ("function" === typeof node.then)
6149
6396
  return (
6150
6397
  (task.thenableState = null),
@@ -6203,6 +6450,69 @@
6203
6450
  ));
6204
6451
  }
6205
6452
  }
6453
+ function warnForMissingKey(request, task, child) {
6454
+ if (
6455
+ null !== child &&
6456
+ "object" === typeof child &&
6457
+ (child.$$typeof === REACT_ELEMENT_TYPE ||
6458
+ child.$$typeof === REACT_PORTAL_TYPE) &&
6459
+ child._store &&
6460
+ ((!child._store.validated && null == child.key) ||
6461
+ 2 === child._store.validated)
6462
+ ) {
6463
+ if ("object" !== typeof child._store)
6464
+ throw Error(
6465
+ "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
6466
+ );
6467
+ child._store.validated = 1;
6468
+ var didWarnForKey = request.didWarnForKey;
6469
+ null == didWarnForKey &&
6470
+ (didWarnForKey = request.didWarnForKey = new WeakSet());
6471
+ request = task.componentStack;
6472
+ if (null !== request && !didWarnForKey.has(request)) {
6473
+ didWarnForKey.add(request);
6474
+ var componentName = getComponentNameFromType(child.type);
6475
+ didWarnForKey = child._owner;
6476
+ var parentOwner = request.owner;
6477
+ request = "";
6478
+ if (parentOwner && "undefined" !== typeof parentOwner.type) {
6479
+ var name = getComponentNameFromType(parentOwner.type);
6480
+ name &&
6481
+ (request = "\n\nCheck the render method of `" + name + "`.");
6482
+ }
6483
+ request ||
6484
+ (componentName &&
6485
+ (request =
6486
+ "\n\nCheck the top-level render call using <" +
6487
+ componentName +
6488
+ ">."));
6489
+ componentName = "";
6490
+ null != didWarnForKey &&
6491
+ parentOwner !== didWarnForKey &&
6492
+ ((parentOwner = null),
6493
+ "undefined" !== typeof didWarnForKey.type
6494
+ ? (parentOwner = getComponentNameFromType(didWarnForKey.type))
6495
+ : "string" === typeof didWarnForKey.name &&
6496
+ (parentOwner = didWarnForKey.name),
6497
+ parentOwner &&
6498
+ (componentName =
6499
+ " It was passed a child from " + parentOwner + "."));
6500
+ didWarnForKey = task.componentStack;
6501
+ task.componentStack = {
6502
+ parent: task.componentStack,
6503
+ type: child.type,
6504
+ owner: child._owner,
6505
+ stack: child._debugStack
6506
+ };
6507
+ console.error(
6508
+ 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
6509
+ request,
6510
+ componentName
6511
+ );
6512
+ task.componentStack = didWarnForKey;
6513
+ }
6514
+ }
6515
+ }
6206
6516
  function renderChildrenArray(request, task, children, childIndex) {
6207
6517
  var prevKeyPath = task.keyPath,
6208
6518
  previousComponentStack = task.componentStack;
@@ -6296,76 +6606,11 @@
6296
6606
  task.debugTask = previousDebugTask;
6297
6607
  return;
6298
6608
  }
6299
- for (j = 0; j < replayNodes; j++) {
6300
- childIndex = children[j];
6301
- resumeSlots = request;
6302
- node = task;
6303
- error = childIndex;
6304
- if (
6305
- null !== error &&
6306
- "object" === typeof error &&
6307
- (error.$$typeof === REACT_ELEMENT_TYPE ||
6308
- error.$$typeof === REACT_PORTAL_TYPE) &&
6309
- error._store &&
6310
- ((!error._store.validated && null == error.key) ||
6311
- 2 === error._store.validated)
6312
- ) {
6313
- if ("object" !== typeof error._store)
6314
- throw Error(
6315
- "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
6316
- );
6317
- error._store.validated = 1;
6318
- thrownInfo = resumeSlots.didWarnForKey;
6319
- null == thrownInfo &&
6320
- (thrownInfo = resumeSlots.didWarnForKey = new WeakSet());
6321
- resumeSlots = node.componentStack;
6322
- if (null !== resumeSlots && !thrownInfo.has(resumeSlots)) {
6323
- thrownInfo.add(resumeSlots);
6324
- var componentName = getComponentNameFromType(error.type);
6325
- thrownInfo = error._owner;
6326
- var parentOwner = resumeSlots.owner;
6327
- resumeSlots = "";
6328
- if (parentOwner && "undefined" !== typeof parentOwner.type) {
6329
- var name = getComponentNameFromType(parentOwner.type);
6330
- name &&
6331
- (resumeSlots =
6332
- "\n\nCheck the render method of `" + name + "`.");
6333
- }
6334
- resumeSlots ||
6335
- (componentName &&
6336
- (resumeSlots =
6337
- "\n\nCheck the top-level render call using <" +
6338
- componentName +
6339
- ">."));
6340
- componentName = "";
6341
- null != thrownInfo &&
6342
- parentOwner !== thrownInfo &&
6343
- ((parentOwner = null),
6344
- "undefined" !== typeof thrownInfo.type
6345
- ? (parentOwner = getComponentNameFromType(thrownInfo.type))
6346
- : "string" === typeof thrownInfo.name &&
6347
- (parentOwner = thrownInfo.name),
6348
- parentOwner &&
6349
- (componentName =
6350
- " It was passed a child from " + parentOwner + "."));
6351
- thrownInfo = node.componentStack;
6352
- node.componentStack = {
6353
- parent: node.componentStack,
6354
- type: error.type,
6355
- owner: error._owner,
6356
- stack: error._debugStack
6357
- };
6358
- console.error(
6359
- 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
6360
- resumeSlots,
6361
- componentName
6362
- );
6363
- node.componentStack = thrownInfo;
6364
- }
6365
- }
6366
- task.treeContext = pushTreeContext(replay, replayNodes, j);
6367
- renderNode(request, task, childIndex, j);
6368
- }
6609
+ for (j = 0; j < replayNodes; j++)
6610
+ (childIndex = children[j]),
6611
+ warnForMissingKey(request, task, childIndex),
6612
+ (task.treeContext = pushTreeContext(replay, replayNodes, j)),
6613
+ renderNode(request, task, childIndex, j);
6369
6614
  task.treeContext = replay;
6370
6615
  task.keyPath = prevKeyPath;
6371
6616
  task.componentStack = previousComponentStack;
@@ -6394,6 +6639,7 @@
6394
6639
  task.formatContext,
6395
6640
  task.context,
6396
6641
  task.treeContext,
6642
+ task.row,
6397
6643
  task.componentStack,
6398
6644
  emptyContextObject,
6399
6645
  task.debugTask
@@ -6425,6 +6671,7 @@
6425
6671
  task.formatContext,
6426
6672
  task.context,
6427
6673
  task.treeContext,
6674
+ task.row,
6428
6675
  task.componentStack,
6429
6676
  emptyContextObject,
6430
6677
  task.debugTask
@@ -6539,9 +6786,11 @@
6539
6786
  throw node;
6540
6787
  }
6541
6788
  function abortTaskSoft(task) {
6542
- var boundary = task.blockedBoundary;
6543
- task = task.blockedSegment;
6544
- null !== task && ((task.status = 3), finishedTask(this, boundary, task));
6789
+ var boundary = task.blockedBoundary,
6790
+ segment = task.blockedSegment;
6791
+ null !== segment &&
6792
+ ((segment.status = ABORTED),
6793
+ finishedTask(this, boundary, task.row, segment));
6545
6794
  }
6546
6795
  function abortRemainingReplayNodes(
6547
6796
  request$jscomp$0,
@@ -6575,6 +6824,7 @@
6575
6824
  wasAborted = aborted,
6576
6825
  resumedBoundary = createSuspenseBoundary(
6577
6826
  request,
6827
+ null,
6578
6828
  new Set(),
6579
6829
  null,
6580
6830
  null
@@ -6619,8 +6869,12 @@
6619
6869
  segment = task.blockedSegment;
6620
6870
  if (null !== segment) {
6621
6871
  if (6 === segment.status) return;
6622
- segment.status = 3;
6872
+ segment.status = ABORTED;
6623
6873
  }
6874
+ segment = task.row;
6875
+ null !== segment &&
6876
+ 0 === --segment.pendingTasks &&
6877
+ finishSuspenseListRow(request, segment);
6624
6878
  segment = getThrownInfo(task.componentStack);
6625
6879
  if (null === boundary) {
6626
6880
  if (13 !== request.status && request.status !== CLOSED) {
@@ -6772,7 +7026,11 @@
6772
7026
  : (boundary.byteSize += segmentByteSize);
6773
7027
  }
6774
7028
  }
6775
- function finishedTask(request, boundary, segment) {
7029
+ function finishedTask(request, boundary, row, segment) {
7030
+ null !== row &&
7031
+ 0 === --row.pendingTasks &&
7032
+ finishSuspenseListRow(request, row);
7033
+ request.allPendingTasks--;
6776
7034
  if (null === boundary) {
6777
7035
  if (null !== segment && segment.parentFlushed) {
6778
7036
  if (null !== request.completedRootSegment)
@@ -6800,7 +7058,11 @@
6800
7058
  abortTaskSoft,
6801
7059
  request
6802
7060
  ),
6803
- boundary.fallbackAbortableTasks.clear()),
7061
+ boundary.fallbackAbortableTasks.clear(),
7062
+ (row = boundary.row),
7063
+ null !== row &&
7064
+ 0 === --row.pendingTasks &&
7065
+ finishSuspenseListRow(request, row)),
6804
7066
  0 === request.pendingRootTasks &&
6805
7067
  null === request.trackedPostpones &&
6806
7068
  null !== boundary.contentPreamble &&
@@ -6812,7 +7074,6 @@
6812
7074
  1 === boundary.completedSegments.length &&
6813
7075
  boundary.parentFlushed &&
6814
7076
  request.partialBoundaries.push(boundary)));
6815
- request.allPendingTasks--;
6816
7077
  0 === request.allPendingTasks && completeAll(request);
6817
7078
  }
6818
7079
  function performWork(request$jscomp$2) {
@@ -6865,7 +7126,12 @@
6865
7126
  );
6866
7127
  request.replay.pendingTasks--;
6867
7128
  request.abortSet.delete(request);
6868
- finishedTask(request$jscomp$0, request.blockedBoundary, null);
7129
+ finishedTask(
7130
+ request$jscomp$0,
7131
+ request.blockedBoundary,
7132
+ request.row,
7133
+ null
7134
+ );
6869
7135
  } catch (thrownValue) {
6870
7136
  resetHooksState();
6871
7137
  var x =
@@ -6948,6 +7214,7 @@
6948
7214
  finishedTask(
6949
7215
  request,
6950
7216
  errorDigest.blockedBoundary,
7217
+ errorDigest.row,
6951
7218
  request$jscomp$1
6952
7219
  );
6953
7220
  } catch (thrownValue) {
@@ -6976,7 +7243,12 @@
6976
7243
  errorDigest.abortSet.delete(errorDigest);
6977
7244
  request$jscomp$1.status = 4;
6978
7245
  var boundary$jscomp$0 = errorDigest.blockedBoundary,
7246
+ row = errorDigest.row,
6979
7247
  debugTask = errorDigest.debugTask;
7248
+ null !== row &&
7249
+ 0 === --row.pendingTasks &&
7250
+ finishSuspenseListRow(request, row);
7251
+ request.allPendingTasks--;
6980
7252
  prevTaskInDEV = logRecoverableError(
6981
7253
  request,
6982
7254
  x$jscomp$0,
@@ -7009,7 +7281,6 @@
7009
7281
  null === request.trackedPostpones &&
7010
7282
  null !== boundary$jscomp$0.contentPreamble &&
7011
7283
  preparePreamble(request)));
7012
- request.allPendingTasks--;
7013
7284
  0 === request.allPendingTasks && completeAll(request);
7014
7285
  }
7015
7286
  } finally {
@@ -7161,15 +7432,19 @@
7161
7432
  return flushSubtree(request, destination, segment, hoistableState);
7162
7433
  boundary.parentFlushed = !0;
7163
7434
  if (boundary.status === CLIENT_RENDERED) {
7164
- var errorDigest = boundary.errorDigest,
7165
- errorMessage = boundary.errorMessage,
7435
+ var row = boundary.row;
7436
+ null !== row &&
7437
+ 0 === --row.pendingTasks &&
7438
+ finishSuspenseListRow(request, row);
7439
+ row = boundary.errorDigest;
7440
+ var errorMessage = boundary.errorMessage,
7166
7441
  errorStack = boundary.errorStack;
7167
7442
  boundary = boundary.errorComponentStack;
7168
7443
  writeChunkAndReturn(destination, startClientRenderedSuspenseBoundary);
7169
7444
  writeChunk(destination, clientRenderedSuspenseBoundaryError1);
7170
- errorDigest &&
7445
+ row &&
7171
7446
  (writeChunk(destination, clientRenderedSuspenseBoundaryError1A),
7172
- writeChunk(destination, escapeTextForBrowser(errorDigest)),
7447
+ writeChunk(destination, escapeTextForBrowser(row)),
7173
7448
  writeChunk(
7174
7449
  destination,
7175
7450
  clientRenderedSuspenseBoundaryErrorAttrInterstitial
@@ -7236,6 +7511,11 @@
7236
7511
  hoistStylesheetDependency,
7237
7512
  hoistableState
7238
7513
  ));
7514
+ segment = boundary.row;
7515
+ null !== segment &&
7516
+ 500 < boundary.byteSize &&
7517
+ 0 === --segment.pendingTasks &&
7518
+ finishSuspenseListRow(request, segment);
7239
7519
  writeChunkAndReturn(destination, startCompletedSuspenseBoundary);
7240
7520
  segment = boundary.completedSegments;
7241
7521
  if (1 !== segment.length)
@@ -7275,6 +7555,11 @@
7275
7555
  completedSegments[i]
7276
7556
  );
7277
7557
  completedSegments.length = 0;
7558
+ completedSegments = boundary.row;
7559
+ null !== completedSegments &&
7560
+ 500 < boundary.byteSize &&
7561
+ 0 === --completedSegments.pendingTasks &&
7562
+ finishSuspenseListRow(request, completedSegments);
7278
7563
  writeHoistablesForBoundary(
7279
7564
  destination,
7280
7565
  boundary.contentState,
@@ -7305,11 +7590,11 @@
7305
7590
  completeBoundaryWithStylesScript1FullPartial
7306
7591
  ))
7307
7592
  : writeChunk(destination, completeBoundaryWithStylesScript1Partial))
7308
- : (completedSegments.instructions & SentCompleteBoundaryFunction) ===
7309
- NothingSent
7310
- ? ((completedSegments.instructions |= SentCompleteBoundaryFunction),
7311
- writeChunk(destination, completeBoundaryScript1Full))
7312
- : writeChunk(destination, completeBoundaryScript1Partial);
7593
+ : ((completedSegments.instructions & SentCompleteBoundaryFunction) ===
7594
+ NothingSent &&
7595
+ ((completedSegments.instructions |= SentCompleteBoundaryFunction),
7596
+ writeChunk(destination, completeBoundaryScriptFunctionOnly)),
7597
+ writeChunk(destination, completeBoundaryScript1Partial));
7313
7598
  completedSegments = i.toString(16);
7314
7599
  writeChunk(destination, request.boundaryPrefix);
7315
7600
  writeChunk(destination, completedSegments);
@@ -7787,11 +8072,11 @@
7787
8072
  }
7788
8073
  function ensureCorrectIsomorphicReactVersion() {
7789
8074
  var isomorphicReactPackageVersion = React.version;
7790
- if ("19.2.0-canary-4448b187-20250515" !== isomorphicReactPackageVersion)
8075
+ if ("19.2.0-canary-c4676e72-20250520" !== isomorphicReactPackageVersion)
7791
8076
  throw Error(
7792
8077
  'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
7793
8078
  (isomorphicReactPackageVersion +
7794
- "\n - react-dom: 19.2.0-canary-4448b187-20250515\nLearn more: https://react.dev/warnings/version-mismatch")
8079
+ "\n - react-dom: 19.2.0-canary-c4676e72-20250520\nLearn more: https://react.dev/warnings/version-mismatch")
7795
8080
  );
7796
8081
  }
7797
8082
  function createDrainHandler(destination, request) {
@@ -9069,12 +9354,12 @@
9069
9354
  stringToPrecomputedChunk('<template data-rsi="" data-sid="');
9070
9355
  stringToPrecomputedChunk('" data-pid="');
9071
9356
  var completeBoundaryScriptFunctionOnly = stringToPrecomputedChunk(
9072
- '$RB=[];$RC=function(d,c){function m(){$RT=performance.now();var f=$RB;$RB=[];for(var e=0;e<f.length;e+=2){var a=f[e],l=f[e+1],g=a.parentNode;if(g){var h=a.previousSibling,k=0;do{if(a&&8===a.nodeType){var b=a.data;if("/$"===b||"/&"===b)if(0===k)break;else k--;else"$"!==b&&"$?"!==b&&"$~"!==b&&"$!"!==b&&"&"!==b||k++}b=a.nextSibling;g.removeChild(a);a=b}while(a);for(;l.firstChild;)g.insertBefore(l.firstChild,a);h.data="$";h._reactRetry&&h._reactRetry()}}}if(c=document.getElementById(c))if(c.parentNode.removeChild(c),d=\ndocument.getElementById(d))d.previousSibling.data="$~",$RB.push(d,c),2===$RB.length&&setTimeout(m,("number"!==typeof $RT?0:$RT)+300-performance.now())};'
9073
- ),
9074
- completeBoundaryScript1Full = stringToPrecomputedChunk(
9075
- '$RB=[];$RC=function(d,c){function m(){$RT=performance.now();var f=$RB;$RB=[];for(var e=0;e<f.length;e+=2){var a=f[e],l=f[e+1],g=a.parentNode;if(g){var h=a.previousSibling,k=0;do{if(a&&8===a.nodeType){var b=a.data;if("/$"===b||"/&"===b)if(0===k)break;else k--;else"$"!==b&&"$?"!==b&&"$~"!==b&&"$!"!==b&&"&"!==b||k++}b=a.nextSibling;g.removeChild(a);a=b}while(a);for(;l.firstChild;)g.insertBefore(l.firstChild,a);h.data="$";h._reactRetry&&h._reactRetry()}}}if(c=document.getElementById(c))if(c.parentNode.removeChild(c),d=\ndocument.getElementById(d))d.previousSibling.data="$~",$RB.push(d,c),2===$RB.length&&setTimeout(m,("number"!==typeof $RT?0:$RT)+300-performance.now())};$RC("'
9076
- ),
9077
- completeBoundaryScript1Partial = stringToPrecomputedChunk('$RC("'),
9357
+ '$RB=[];$RV=function(){$RT=performance.now();var d=$RB;$RB=[];for(var a=0;a<d.length;a+=2){var b=d[a],h=d[a+1],e=b.parentNode;if(e){var f=b.previousSibling,g=0;do{if(b&&8===b.nodeType){var c=b.data;if("/$"===c||"/&"===c)if(0===g)break;else g--;else"$"!==c&&"$?"!==c&&"$~"!==c&&"$!"!==c&&"&"!==c||g++}c=b.nextSibling;e.removeChild(b);b=c}while(b);for(;h.firstChild;)e.insertBefore(h.firstChild,b);f.data="$";f._reactRetry&&f._reactRetry()}}};$RC=function(d,a){if(a=document.getElementById(a))if(a.parentNode.removeChild(a),d=document.getElementById(d))d.previousSibling.data="$~",$RB.push(d,a),2===$RB.length&&setTimeout($RV,("number"!==typeof $RT?0:$RT)+300-performance.now())};'
9358
+ );
9359
+ stringToPrecomputedChunk(
9360
+ "$RV=function(a){try{var b=document.__reactViewTransition;if(b){b.finished.then($RV,$RV);return}if(window._useVT){var c=document.__reactViewTransition=document.startViewTransition({update:a,types:[]});c.finished.finally(function(){document.__reactViewTransition===c&&(document.__reactViewTransition=null)});return}}catch(d){}a()}.bind(null,$RV);"
9361
+ );
9362
+ var completeBoundaryScript1Partial = stringToPrecomputedChunk('$RC("'),
9078
9363
  completeBoundaryWithStylesScript1FullPartial = stringToPrecomputedChunk(
9079
9364
  '$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll("link[data-precedence],style[data-precedence]"),v=[],k=0;b=e[k++];)"not all"===b.getAttribute("media")?v.push(b):("LINK"===b.tagName&&$RM.set(b.getAttribute("href"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement("link");a.href=d;a.rel=\n"stylesheet";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute("media");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute("data-precedence");a.removeAttribute("media")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\n"$~";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,"CSS failed to load"))};$RR("'
9080
9365
  ),
@@ -9369,6 +9654,7 @@
9369
9654
  PENDING = 0,
9370
9655
  COMPLETED = 1,
9371
9656
  FLUSHED = 2,
9657
+ ABORTED = 3,
9372
9658
  POSTPONED = 5,
9373
9659
  CLOSED = 14,
9374
9660
  currentRequest = null,
@@ -9472,5 +9758,5 @@
9472
9758
  }
9473
9759
  };
9474
9760
  };
9475
- exports.version = "19.2.0-canary-4448b187-20250515";
9761
+ exports.version = "19.2.0-canary-c4676e72-20250520";
9476
9762
  })();