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.
@@ -41,6 +41,14 @@
41
41
  function scriptReplacer(match, prefix, s, suffix) {
42
42
  return "" + prefix + ("s" === s ? "\\u0073" : "\\u0053") + suffix;
43
43
  }
44
+ function getIteratorFn(maybeIterable) {
45
+ if (null === maybeIterable || "object" !== typeof maybeIterable)
46
+ return null;
47
+ maybeIterable =
48
+ (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||
49
+ maybeIterable["@@iterator"];
50
+ return "function" === typeof maybeIterable ? maybeIterable : null;
51
+ }
44
52
  function objectName(object) {
45
53
  return Object.prototype.toString
46
54
  .call(object)
@@ -862,7 +870,8 @@
862
870
  nameIdx: 0
863
871
  };
864
872
  }
865
- function getSuspenseFallbackFormatContext(parentContext) {
873
+ function getSuspenseFallbackFormatContext(resumableState, parentContext) {
874
+ parentContext.tagScope & 32 && (resumableState.instructions |= 128);
866
875
  return createFormatContext(
867
876
  parentContext.insertionMode,
868
877
  parentContext.selectedValue,
@@ -870,7 +879,7 @@
870
879
  getSuspenseViewTransition(parentContext.viewTransition)
871
880
  );
872
881
  }
873
- function getSuspenseContentFormatContext(parentContext) {
882
+ function getSuspenseContentFormatContext(resumableState, parentContext) {
874
883
  return createFormatContext(
875
884
  parentContext.insertionMode,
876
885
  parentContext.selectedValue,
@@ -4426,6 +4435,7 @@
4426
4435
  null,
4427
4436
  emptyTreeContext,
4428
4437
  null,
4438
+ null,
4429
4439
  emptyContextObject,
4430
4440
  null
4431
4441
  );
@@ -4441,15 +4451,17 @@
4441
4451
  }
4442
4452
  function createSuspenseBoundary(
4443
4453
  request,
4454
+ row,
4444
4455
  fallbackAbortableTasks,
4445
4456
  contentPreamble,
4446
4457
  fallbackPreamble
4447
4458
  ) {
4448
- return {
4459
+ fallbackAbortableTasks = {
4449
4460
  status: PENDING,
4450
4461
  rootSegmentID: -1,
4451
4462
  parentFlushed: !1,
4452
4463
  pendingTasks: 0,
4464
+ row: row,
4453
4465
  completedSegments: [],
4454
4466
  byteSize: 0,
4455
4467
  fallbackAbortableTasks: fallbackAbortableTasks,
@@ -4464,6 +4476,14 @@
4464
4476
  errorStack: null,
4465
4477
  errorComponentStack: null
4466
4478
  };
4479
+ null !== row &&
4480
+ (row.pendingTasks++,
4481
+ (row = row.boundaries),
4482
+ null !== row &&
4483
+ (request.allPendingTasks++,
4484
+ fallbackAbortableTasks.pendingTasks++,
4485
+ row.push(fallbackAbortableTasks)));
4486
+ return fallbackAbortableTasks;
4467
4487
  }
4468
4488
  function createRenderTask(
4469
4489
  request,
@@ -4479,6 +4499,7 @@
4479
4499
  formatContext,
4480
4500
  context,
4481
4501
  treeContext,
4502
+ row,
4482
4503
  componentStack,
4483
4504
  legacyContext,
4484
4505
  debugTask
@@ -4487,6 +4508,7 @@
4487
4508
  null === blockedBoundary
4488
4509
  ? request.pendingRootTasks++
4489
4510
  : blockedBoundary.pendingTasks++;
4511
+ null !== row && row.pendingTasks++;
4490
4512
  var task = {
4491
4513
  replay: null,
4492
4514
  node: node,
@@ -4503,6 +4525,7 @@
4503
4525
  formatContext: formatContext,
4504
4526
  context: context,
4505
4527
  treeContext: treeContext,
4528
+ row: row,
4506
4529
  componentStack: componentStack,
4507
4530
  thenableState: thenableState
4508
4531
  };
@@ -4523,6 +4546,7 @@
4523
4546
  formatContext,
4524
4547
  context,
4525
4548
  treeContext,
4549
+ row,
4526
4550
  componentStack,
4527
4551
  legacyContext,
4528
4552
  debugTask
@@ -4531,6 +4555,7 @@
4531
4555
  null === blockedBoundary
4532
4556
  ? request.pendingRootTasks++
4533
4557
  : blockedBoundary.pendingTasks++;
4558
+ null !== row && row.pendingTasks++;
4534
4559
  replay.pendingTasks++;
4535
4560
  var task = {
4536
4561
  replay: replay,
@@ -4548,6 +4573,7 @@
4548
4573
  formatContext: formatContext,
4549
4574
  context: context,
4550
4575
  treeContext: treeContext,
4576
+ row: row,
4551
4577
  componentStack: componentStack,
4552
4578
  thenableState: thenableState
4553
4579
  };
@@ -4733,6 +4759,143 @@
4733
4759
  ? ((request.status = CLOSED), request.destination.destroy(error))
4734
4760
  : ((request.status = 13), (request.fatalError = error));
4735
4761
  }
4762
+ function finishSuspenseListRow(request, row) {
4763
+ for (row = row.next; null !== row; ) {
4764
+ var unblockedBoundaries = row.boundaries;
4765
+ if (null !== unblockedBoundaries) {
4766
+ row.boundaries = null;
4767
+ for (var i = 0; i < unblockedBoundaries.length; i++)
4768
+ finishedTask(request, unblockedBoundaries[i], null, null);
4769
+ }
4770
+ row.pendingTasks--;
4771
+ if (0 < row.pendingTasks) break;
4772
+ row = row.next;
4773
+ }
4774
+ }
4775
+ function createSuspenseListRow(previousRow) {
4776
+ var newRow = { pendingTasks: 1, boundaries: null, next: null };
4777
+ null !== previousRow &&
4778
+ 0 < previousRow.pendingTasks &&
4779
+ (newRow.pendingTasks++,
4780
+ (newRow.boundaries = []),
4781
+ (previousRow.next = newRow));
4782
+ return newRow;
4783
+ }
4784
+ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
4785
+ keyPath = task.keyPath;
4786
+ var previousComponentStack = task.componentStack;
4787
+ var previousDebugTask = task.debugTask;
4788
+ pushServerComponentStack(task, task.node.props.children._debugInfo);
4789
+ var prevTreeContext = task.treeContext,
4790
+ prevRow = task.row,
4791
+ totalChildren = rows.length,
4792
+ previousSuspenseListRow = null;
4793
+ if (null !== task.replay) {
4794
+ var resumeSlots = task.replay.slots;
4795
+ if (null !== resumeSlots && "object" === typeof resumeSlots)
4796
+ for (var n = 0; n < totalChildren; n++) {
4797
+ var i = "backwards" !== revealOrder ? n : totalChildren - 1 - n,
4798
+ node = rows[i];
4799
+ task.row = previousSuspenseListRow = createSuspenseListRow(
4800
+ previousSuspenseListRow
4801
+ );
4802
+ task.treeContext = pushTreeContext(
4803
+ prevTreeContext,
4804
+ totalChildren,
4805
+ i
4806
+ );
4807
+ var resumeSegmentID = resumeSlots[i];
4808
+ "number" === typeof resumeSegmentID
4809
+ ? (resumeNode(request, task, resumeSegmentID, node, i),
4810
+ delete resumeSlots[i])
4811
+ : renderNode(request, task, node, i);
4812
+ 0 === --previousSuspenseListRow.pendingTasks &&
4813
+ finishSuspenseListRow(request, previousSuspenseListRow);
4814
+ }
4815
+ else
4816
+ for (resumeSlots = 0; resumeSlots < totalChildren; resumeSlots++)
4817
+ (n =
4818
+ "backwards" !== revealOrder
4819
+ ? resumeSlots
4820
+ : totalChildren - 1 - resumeSlots),
4821
+ (i = rows[n]),
4822
+ warnForMissingKey(request, task, i),
4823
+ (task.row = previousSuspenseListRow =
4824
+ createSuspenseListRow(previousSuspenseListRow)),
4825
+ (task.treeContext = pushTreeContext(
4826
+ prevTreeContext,
4827
+ totalChildren,
4828
+ n
4829
+ )),
4830
+ renderNode(request, task, i, n),
4831
+ 0 === --previousSuspenseListRow.pendingTasks &&
4832
+ finishSuspenseListRow(request, previousSuspenseListRow);
4833
+ } else if ("backwards" !== revealOrder)
4834
+ for (revealOrder = 0; revealOrder < totalChildren; revealOrder++)
4835
+ (resumeSlots = rows[revealOrder]),
4836
+ warnForMissingKey(request, task, resumeSlots),
4837
+ (task.row = previousSuspenseListRow =
4838
+ createSuspenseListRow(previousSuspenseListRow)),
4839
+ (task.treeContext = pushTreeContext(
4840
+ prevTreeContext,
4841
+ totalChildren,
4842
+ revealOrder
4843
+ )),
4844
+ renderNode(request, task, resumeSlots, revealOrder),
4845
+ 0 === --previousSuspenseListRow.pendingTasks &&
4846
+ finishSuspenseListRow(request, previousSuspenseListRow);
4847
+ else {
4848
+ revealOrder = task.blockedSegment;
4849
+ resumeSlots = revealOrder.children.length;
4850
+ n = revealOrder.chunks.length;
4851
+ for (i = totalChildren - 1; 0 <= i; i--) {
4852
+ node = rows[i];
4853
+ task.row = previousSuspenseListRow = createSuspenseListRow(
4854
+ previousSuspenseListRow
4855
+ );
4856
+ task.treeContext = pushTreeContext(prevTreeContext, totalChildren, i);
4857
+ resumeSegmentID = createPendingSegment(
4858
+ request,
4859
+ n,
4860
+ null,
4861
+ task.formatContext,
4862
+ 0 === i ? revealOrder.lastPushedText : !0,
4863
+ !0
4864
+ );
4865
+ revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);
4866
+ task.blockedSegment = resumeSegmentID;
4867
+ warnForMissingKey(request, task, node);
4868
+ try {
4869
+ renderNode(request, task, node, i),
4870
+ pushSegmentFinale(
4871
+ resumeSegmentID.chunks,
4872
+ request.renderState,
4873
+ resumeSegmentID.lastPushedText,
4874
+ resumeSegmentID.textEmbedded
4875
+ ),
4876
+ (resumeSegmentID.status = COMPLETED),
4877
+ 0 === --previousSuspenseListRow.pendingTasks &&
4878
+ finishSuspenseListRow(request, previousSuspenseListRow);
4879
+ } catch (thrownValue) {
4880
+ throw (
4881
+ ((resumeSegmentID.status = 12 === request.status ? ABORTED : 4),
4882
+ thrownValue)
4883
+ );
4884
+ }
4885
+ }
4886
+ task.blockedSegment = revealOrder;
4887
+ revealOrder.lastPushedText = !1;
4888
+ }
4889
+ null !== prevRow &&
4890
+ null !== previousSuspenseListRow &&
4891
+ 0 < previousSuspenseListRow.pendingTasks &&
4892
+ (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));
4893
+ task.treeContext = prevTreeContext;
4894
+ task.row = prevRow;
4895
+ task.keyPath = keyPath;
4896
+ task.componentStack = previousComponentStack;
4897
+ task.debugTask = previousDebugTask;
4898
+ }
4736
4899
  function renderWithHooks(
4737
4900
  request,
4738
4901
  task,
@@ -5306,6 +5469,7 @@
5306
5469
  task.formatContext,
5307
5470
  task.context,
5308
5471
  task.treeContext,
5472
+ task.row,
5309
5473
  task.componentStack,
5310
5474
  emptyContextObject,
5311
5475
  task.debugTask
@@ -5391,10 +5555,53 @@
5391
5555
  }
5392
5556
  return;
5393
5557
  case REACT_SUSPENSE_LIST_TYPE:
5394
- var _prevKeyPath4 = task.keyPath;
5395
- task.keyPath = keyPath;
5396
- renderNodeDestructive(request, task, props.children, -1);
5397
- task.keyPath = _prevKeyPath4;
5558
+ a: {
5559
+ var children$jscomp$0 = props.children,
5560
+ revealOrder = props.revealOrder;
5561
+ if ("forwards" === revealOrder || "backwards" === revealOrder) {
5562
+ if (isArrayImpl(children$jscomp$0)) {
5563
+ renderSuspenseListRows(
5564
+ request,
5565
+ task,
5566
+ keyPath,
5567
+ children$jscomp$0,
5568
+ revealOrder
5569
+ );
5570
+ break a;
5571
+ }
5572
+ var iteratorFn = getIteratorFn(children$jscomp$0);
5573
+ if (iteratorFn) {
5574
+ var iterator = iteratorFn.call(children$jscomp$0);
5575
+ if (iterator) {
5576
+ validateIterable(
5577
+ task,
5578
+ children$jscomp$0,
5579
+ -1,
5580
+ iterator,
5581
+ iteratorFn
5582
+ );
5583
+ var step = iterator.next();
5584
+ if (!step.done) {
5585
+ var rows = [];
5586
+ do rows.push(step.value), (step = iterator.next());
5587
+ while (!step.done);
5588
+ renderSuspenseListRows(
5589
+ request,
5590
+ task,
5591
+ keyPath,
5592
+ children$jscomp$0,
5593
+ revealOrder
5594
+ );
5595
+ }
5596
+ break a;
5597
+ }
5598
+ }
5599
+ }
5600
+ var prevKeyPath$jscomp$3 = task.keyPath;
5601
+ task.keyPath = keyPath;
5602
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
5603
+ task.keyPath = prevKeyPath$jscomp$3;
5604
+ }
5398
5605
  return;
5399
5606
  case REACT_VIEW_TRANSITION_TYPE:
5400
5607
  case REACT_SCOPE_TYPE:
@@ -5404,20 +5611,26 @@
5404
5611
  case REACT_SUSPENSE_TYPE:
5405
5612
  a: if (null !== task.replay) {
5406
5613
  var _prevKeyPath = task.keyPath,
5407
- _prevContext = task.formatContext;
5614
+ _prevContext = task.formatContext,
5615
+ _prevRow = task.row;
5408
5616
  task.keyPath = keyPath;
5409
- task.formatContext =
5410
- getSuspenseContentFormatContext(_prevContext);
5617
+ task.formatContext = getSuspenseContentFormatContext(
5618
+ request.resumableState,
5619
+ _prevContext
5620
+ );
5621
+ task.row = null;
5411
5622
  var _content = props.children;
5412
5623
  try {
5413
5624
  renderNode(request, task, _content, -1);
5414
5625
  } finally {
5415
5626
  (task.keyPath = _prevKeyPath),
5416
- (task.formatContext = _prevContext);
5627
+ (task.formatContext = _prevContext),
5628
+ (task.row = _prevRow);
5417
5629
  }
5418
5630
  } else {
5419
- var prevKeyPath$jscomp$3 = task.keyPath,
5631
+ var prevKeyPath$jscomp$4 = task.keyPath,
5420
5632
  prevContext$jscomp$0 = task.formatContext,
5633
+ prevRow = task.row,
5421
5634
  parentBoundary = task.blockedBoundary,
5422
5635
  parentPreamble = task.blockedPreamble,
5423
5636
  parentHoistableState = task.hoistableState,
@@ -5429,12 +5642,14 @@
5429
5642
  task.formatContext.insertionMode < HTML_MODE
5430
5643
  ? createSuspenseBoundary(
5431
5644
  request,
5645
+ task.row,
5432
5646
  fallbackAbortSet,
5433
5647
  createPreambleState(),
5434
5648
  createPreambleState()
5435
5649
  )
5436
5650
  : createSuspenseBoundary(
5437
5651
  request,
5652
+ task.row,
5438
5653
  fallbackAbortSet,
5439
5654
  null,
5440
5655
  null
@@ -5480,8 +5695,10 @@
5480
5695
  task.blockedSegment = boundarySegment;
5481
5696
  task.blockedPreamble = newBoundary.fallbackPreamble;
5482
5697
  task.keyPath = fallbackKeyPath;
5483
- task.formatContext =
5484
- getSuspenseFallbackFormatContext(prevContext$jscomp$0);
5698
+ task.formatContext = getSuspenseFallbackFormatContext(
5699
+ request.resumableState,
5700
+ prevContext$jscomp$0
5701
+ );
5485
5702
  boundarySegment.status = 6;
5486
5703
  try {
5487
5704
  renderNode(request, task, fallback, -1),
@@ -5494,13 +5711,14 @@
5494
5711
  (boundarySegment.status = COMPLETED);
5495
5712
  } catch (thrownValue) {
5496
5713
  throw (
5497
- ((boundarySegment.status = 12 === request.status ? 3 : 4),
5714
+ ((boundarySegment.status =
5715
+ 12 === request.status ? ABORTED : 4),
5498
5716
  thrownValue)
5499
5717
  );
5500
5718
  } finally {
5501
5719
  (task.blockedSegment = parentSegment),
5502
5720
  (task.blockedPreamble = parentPreamble),
5503
- (task.keyPath = prevKeyPath$jscomp$3),
5721
+ (task.keyPath = prevKeyPath$jscomp$4),
5504
5722
  (task.formatContext = prevContext$jscomp$0);
5505
5723
  }
5506
5724
  var suspendedPrimaryTask = createRenderTask(
@@ -5514,9 +5732,13 @@
5514
5732
  newBoundary.contentState,
5515
5733
  task.abortSet,
5516
5734
  keyPath,
5517
- getSuspenseContentFormatContext(task.formatContext),
5735
+ getSuspenseContentFormatContext(
5736
+ request.resumableState,
5737
+ task.formatContext
5738
+ ),
5518
5739
  task.context,
5519
5740
  task.treeContext,
5741
+ null,
5520
5742
  task.componentStack,
5521
5743
  emptyContextObject,
5522
5744
  task.debugTask
@@ -5529,8 +5751,11 @@
5529
5751
  task.hoistableState = newBoundary.contentState;
5530
5752
  task.blockedSegment = contentRootSegment;
5531
5753
  task.keyPath = keyPath;
5532
- task.formatContext =
5533
- getSuspenseContentFormatContext(prevContext$jscomp$0);
5754
+ task.formatContext = getSuspenseContentFormatContext(
5755
+ request.resumableState,
5756
+ prevContext$jscomp$0
5757
+ );
5758
+ task.row = null;
5534
5759
  contentRootSegment.status = 6;
5535
5760
  try {
5536
5761
  if (
@@ -5548,6 +5773,9 @@
5548
5773
  ((newBoundary.status = COMPLETED),
5549
5774
  !(500 < newBoundary.byteSize)))
5550
5775
  ) {
5776
+ null !== prevRow &&
5777
+ 0 === --prevRow.pendingTasks &&
5778
+ finishSuspenseListRow(request, prevRow);
5551
5779
  0 === request.pendingRootTasks &&
5552
5780
  task.blockedPreamble &&
5553
5781
  preparePreamble(request);
@@ -5556,7 +5784,7 @@
5556
5784
  } catch (thrownValue$2) {
5557
5785
  newBoundary.status = CLIENT_RENDERED;
5558
5786
  if (12 === request.status) {
5559
- contentRootSegment.status = 3;
5787
+ contentRootSegment.status = ABORTED;
5560
5788
  var error = request.fatalError;
5561
5789
  } else
5562
5790
  (contentRootSegment.status = 4), (error = thrownValue$2);
@@ -5580,8 +5808,9 @@
5580
5808
  (task.blockedPreamble = parentPreamble),
5581
5809
  (task.hoistableState = parentHoistableState),
5582
5810
  (task.blockedSegment = parentSegment),
5583
- (task.keyPath = prevKeyPath$jscomp$3),
5584
- (task.formatContext = prevContext$jscomp$0);
5811
+ (task.keyPath = prevKeyPath$jscomp$4),
5812
+ (task.formatContext = prevContext$jscomp$0),
5813
+ (task.row = prevRow);
5585
5814
  }
5586
5815
  var suspendedFallbackTask = createRenderTask(
5587
5816
  request,
@@ -5594,9 +5823,13 @@
5594
5823
  newBoundary.fallbackState,
5595
5824
  fallbackAbortSet,
5596
5825
  [keyPath[0], "Suspense Fallback", keyPath[2]],
5597
- getSuspenseFallbackFormatContext(task.formatContext),
5826
+ getSuspenseFallbackFormatContext(
5827
+ request.resumableState,
5828
+ task.formatContext
5829
+ ),
5598
5830
  task.context,
5599
5831
  task.treeContext,
5832
+ task.row,
5600
5833
  task.componentStack,
5601
5834
  emptyContextObject,
5602
5835
  task.debugTask
@@ -5615,7 +5848,7 @@
5615
5848
  for (var key in props)
5616
5849
  "ref" !== key && (propsWithoutRef[key] = props[key]);
5617
5850
  } else propsWithoutRef = props;
5618
- var children$jscomp$0 = renderWithHooks(
5851
+ var children$jscomp$1 = renderWithHooks(
5619
5852
  request,
5620
5853
  task,
5621
5854
  keyPath,
@@ -5627,7 +5860,7 @@
5627
5860
  request,
5628
5861
  task,
5629
5862
  keyPath,
5630
- children$jscomp$0,
5863
+ children$jscomp$1,
5631
5864
  0 !== localIdCounter,
5632
5865
  actionStateCounter,
5633
5866
  actionStateMatchingIndex
@@ -5639,9 +5872,9 @@
5639
5872
  case REACT_PROVIDER_TYPE:
5640
5873
  case REACT_CONTEXT_TYPE:
5641
5874
  var value$jscomp$0 = props.value,
5642
- children$jscomp$1 = props.children;
5875
+ children$jscomp$2 = props.children;
5643
5876
  var prevSnapshot = task.context;
5644
- var prevKeyPath$jscomp$4 = task.keyPath;
5877
+ var prevKeyPath$jscomp$5 = task.keyPath;
5645
5878
  var prevValue = type._currentValue2;
5646
5879
  type._currentValue2 = value$jscomp$0;
5647
5880
  void 0 !== type._currentRenderer2 &&
@@ -5662,7 +5895,7 @@
5662
5895
  currentActiveSnapshot = newNode;
5663
5896
  task.context = newNode;
5664
5897
  task.keyPath = keyPath;
5665
- renderNodeDestructive(request, task, children$jscomp$1, -1);
5898
+ renderNodeDestructive(request, task, children$jscomp$2, -1);
5666
5899
  var prevSnapshot$jscomp$0 = currentActiveSnapshot;
5667
5900
  if (null === prevSnapshot$jscomp$0)
5668
5901
  throw Error(
@@ -5684,7 +5917,7 @@
5684
5917
  var JSCompiler_inline_result$jscomp$0 = (currentActiveSnapshot =
5685
5918
  prevSnapshot$jscomp$0.parent);
5686
5919
  task.context = JSCompiler_inline_result$jscomp$0;
5687
- task.keyPath = prevKeyPath$jscomp$4;
5920
+ task.keyPath = prevKeyPath$jscomp$5;
5688
5921
  prevSnapshot !== task.context &&
5689
5922
  console.error(
5690
5923
  "Popping the context provider did not return back to the original snapshot. This is a bug in React."
@@ -5698,10 +5931,10 @@
5698
5931
  "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."
5699
5932
  );
5700
5933
  var newChildren = render(context$jscomp$0._currentValue2),
5701
- prevKeyPath$jscomp$5 = task.keyPath;
5934
+ prevKeyPath$jscomp$6 = task.keyPath;
5702
5935
  task.keyPath = keyPath;
5703
5936
  renderNodeDestructive(request, task, newChildren, -1);
5704
- task.keyPath = prevKeyPath$jscomp$5;
5937
+ task.keyPath = prevKeyPath$jscomp$6;
5705
5938
  return;
5706
5939
  case REACT_LAZY_TYPE:
5707
5940
  var Component = callLazyInitInDEV(type);
@@ -5832,6 +6065,7 @@
5832
6065
  node = null === node[4] ? null : node[4][3];
5833
6066
  var prevKeyPath = task.keyPath,
5834
6067
  prevContext = task.formatContext,
6068
+ prevRow = task.row,
5835
6069
  previousReplaySet = task.replay,
5836
6070
  parentBoundary = task.blockedBoundary,
5837
6071
  parentHoistableState = task.hoistableState,
@@ -5842,12 +6076,14 @@
5842
6076
  task.formatContext.insertionMode < HTML_MODE
5843
6077
  ? createSuspenseBoundary(
5844
6078
  request,
6079
+ task.row,
5845
6080
  fallbackAbortSet,
5846
6081
  createPreambleState(),
5847
6082
  createPreambleState()
5848
6083
  )
5849
6084
  : createSuspenseBoundary(
5850
6085
  request,
6086
+ task.row,
5851
6087
  fallbackAbortSet,
5852
6088
  null,
5853
6089
  null
@@ -5857,7 +6093,11 @@
5857
6093
  task.blockedBoundary = props;
5858
6094
  task.hoistableState = props.contentState;
5859
6095
  task.keyPath = keyPath;
5860
- task.formatContext = getSuspenseContentFormatContext(prevContext);
6096
+ task.formatContext = getSuspenseContentFormatContext(
6097
+ request.resumableState,
6098
+ prevContext
6099
+ );
6100
+ task.row = null;
5861
6101
  task.replay = { nodes: type, slots: ref, pendingTasks: 1 };
5862
6102
  try {
5863
6103
  renderNode(request, task, content, -1);
@@ -5891,7 +6131,8 @@
5891
6131
  (task.hoistableState = parentHoistableState),
5892
6132
  (task.replay = previousReplaySet),
5893
6133
  (task.keyPath = prevKeyPath),
5894
- (task.formatContext = prevContext);
6134
+ (task.formatContext = prevContext),
6135
+ (task.row = prevRow);
5895
6136
  }
5896
6137
  props = createReplayTask(
5897
6138
  request,
@@ -5903,9 +6144,13 @@
5903
6144
  props.fallbackState,
5904
6145
  fallbackAbortSet,
5905
6146
  [keyPath[0], "Suspense Fallback", keyPath[2]],
5906
- getSuspenseFallbackFormatContext(task.formatContext),
6147
+ getSuspenseFallbackFormatContext(
6148
+ request.resumableState,
6149
+ task.formatContext
6150
+ ),
5907
6151
  task.context,
5908
6152
  task.treeContext,
6153
+ task.row,
5909
6154
  task.componentStack,
5910
6155
  emptyContextObject,
5911
6156
  task.debugTask
@@ -5919,6 +6164,35 @@
5919
6164
  }
5920
6165
  }
5921
6166
  }
6167
+ function validateIterable(
6168
+ task,
6169
+ iterable,
6170
+ childIndex,
6171
+ iterator,
6172
+ iteratorFn
6173
+ ) {
6174
+ if (iterator === iterable) {
6175
+ if (
6176
+ -1 !== childIndex ||
6177
+ null === task.componentStack ||
6178
+ "function" !== typeof task.componentStack.type ||
6179
+ "[object GeneratorFunction]" !==
6180
+ Object.prototype.toString.call(task.componentStack.type) ||
6181
+ "[object Generator]" !== Object.prototype.toString.call(iterator)
6182
+ )
6183
+ didWarnAboutGenerators ||
6184
+ console.error(
6185
+ "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."
6186
+ ),
6187
+ (didWarnAboutGenerators = !0);
6188
+ } else
6189
+ iterable.entries !== iteratorFn ||
6190
+ didWarnAboutMaps ||
6191
+ (console.error(
6192
+ "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
6193
+ ),
6194
+ (didWarnAboutMaps = !0));
6195
+ }
5922
6196
  function renderNodeDestructive(request, task, node, childIndex) {
5923
6197
  null !== task.replay && "number" === typeof task.replay.slots
5924
6198
  ? resumeNode(request, task, task.replay.slots, node, childIndex)
@@ -5995,52 +6269,27 @@
5995
6269
  "Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render."
5996
6270
  );
5997
6271
  case REACT_LAZY_TYPE:
5998
- node = callLazyInitInDEV(node);
6272
+ type = callLazyInitInDEV(node);
5999
6273
  if (12 === request.status) throw null;
6000
- renderNodeDestructive(request, task, node, childIndex);
6274
+ renderNodeDestructive(request, task, type, childIndex);
6001
6275
  return;
6002
6276
  }
6003
6277
  if (isArrayImpl(node)) {
6004
6278
  renderChildrenArray(request, task, node, childIndex);
6005
6279
  return;
6006
6280
  }
6007
- null === node || "object" !== typeof node
6008
- ? (key = null)
6009
- : ((type =
6010
- (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||
6011
- node["@@iterator"]),
6012
- (key = "function" === typeof type ? type : null));
6013
- if (key && (type = key.call(node))) {
6014
- if (type === node) {
6015
- if (
6016
- -1 !== childIndex ||
6017
- null === task.componentStack ||
6018
- "function" !== typeof task.componentStack.type ||
6019
- "[object GeneratorFunction]" !==
6020
- Object.prototype.toString.call(task.componentStack.type) ||
6021
- "[object Generator]" !== Object.prototype.toString.call(type)
6022
- )
6023
- didWarnAboutGenerators ||
6024
- console.error(
6025
- "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."
6026
- ),
6027
- (didWarnAboutGenerators = !0);
6028
- } else
6029
- node.entries !== key ||
6030
- didWarnAboutMaps ||
6031
- (console.error(
6032
- "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
6033
- ),
6034
- (didWarnAboutMaps = !0));
6035
- node = type.next();
6036
- if (!node.done) {
6037
- key = [];
6038
- do key.push(node.value), (node = type.next());
6039
- while (!node.done);
6040
- renderChildrenArray(request, task, key, childIndex);
6281
+ if ((key = getIteratorFn(node)))
6282
+ if ((type = key.call(node))) {
6283
+ validateIterable(task, node, childIndex, type, key);
6284
+ node = type.next();
6285
+ if (!node.done) {
6286
+ key = [];
6287
+ do key.push(node.value), (node = type.next());
6288
+ while (!node.done);
6289
+ renderChildrenArray(request, task, key, childIndex);
6290
+ }
6291
+ return;
6041
6292
  }
6042
- return;
6043
- }
6044
6293
  if ("function" === typeof node.then)
6045
6294
  return (
6046
6295
  (task.thenableState = null),
@@ -6099,6 +6348,69 @@
6099
6348
  ));
6100
6349
  }
6101
6350
  }
6351
+ function warnForMissingKey(request, task, child) {
6352
+ if (
6353
+ null !== child &&
6354
+ "object" === typeof child &&
6355
+ (child.$$typeof === REACT_ELEMENT_TYPE ||
6356
+ child.$$typeof === REACT_PORTAL_TYPE) &&
6357
+ child._store &&
6358
+ ((!child._store.validated && null == child.key) ||
6359
+ 2 === child._store.validated)
6360
+ ) {
6361
+ if ("object" !== typeof child._store)
6362
+ throw Error(
6363
+ "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
6364
+ );
6365
+ child._store.validated = 1;
6366
+ var didWarnForKey = request.didWarnForKey;
6367
+ null == didWarnForKey &&
6368
+ (didWarnForKey = request.didWarnForKey = new WeakSet());
6369
+ request = task.componentStack;
6370
+ if (null !== request && !didWarnForKey.has(request)) {
6371
+ didWarnForKey.add(request);
6372
+ var componentName = getComponentNameFromType(child.type);
6373
+ didWarnForKey = child._owner;
6374
+ var parentOwner = request.owner;
6375
+ request = "";
6376
+ if (parentOwner && "undefined" !== typeof parentOwner.type) {
6377
+ var name = getComponentNameFromType(parentOwner.type);
6378
+ name &&
6379
+ (request = "\n\nCheck the render method of `" + name + "`.");
6380
+ }
6381
+ request ||
6382
+ (componentName &&
6383
+ (request =
6384
+ "\n\nCheck the top-level render call using <" +
6385
+ componentName +
6386
+ ">."));
6387
+ componentName = "";
6388
+ null != didWarnForKey &&
6389
+ parentOwner !== didWarnForKey &&
6390
+ ((parentOwner = null),
6391
+ "undefined" !== typeof didWarnForKey.type
6392
+ ? (parentOwner = getComponentNameFromType(didWarnForKey.type))
6393
+ : "string" === typeof didWarnForKey.name &&
6394
+ (parentOwner = didWarnForKey.name),
6395
+ parentOwner &&
6396
+ (componentName =
6397
+ " It was passed a child from " + parentOwner + "."));
6398
+ didWarnForKey = task.componentStack;
6399
+ task.componentStack = {
6400
+ parent: task.componentStack,
6401
+ type: child.type,
6402
+ owner: child._owner,
6403
+ stack: child._debugStack
6404
+ };
6405
+ console.error(
6406
+ 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
6407
+ request,
6408
+ componentName
6409
+ );
6410
+ task.componentStack = didWarnForKey;
6411
+ }
6412
+ }
6413
+ }
6102
6414
  function renderChildrenArray(request, task, children, childIndex) {
6103
6415
  var prevKeyPath = task.keyPath,
6104
6416
  previousComponentStack = task.componentStack;
@@ -6192,76 +6504,11 @@
6192
6504
  task.debugTask = previousDebugTask;
6193
6505
  return;
6194
6506
  }
6195
- for (j = 0; j < replayNodes; j++) {
6196
- childIndex = children[j];
6197
- resumeSlots = request;
6198
- node = task;
6199
- error = childIndex;
6200
- if (
6201
- null !== error &&
6202
- "object" === typeof error &&
6203
- (error.$$typeof === REACT_ELEMENT_TYPE ||
6204
- error.$$typeof === REACT_PORTAL_TYPE) &&
6205
- error._store &&
6206
- ((!error._store.validated && null == error.key) ||
6207
- 2 === error._store.validated)
6208
- ) {
6209
- if ("object" !== typeof error._store)
6210
- throw Error(
6211
- "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
6212
- );
6213
- error._store.validated = 1;
6214
- thrownInfo = resumeSlots.didWarnForKey;
6215
- null == thrownInfo &&
6216
- (thrownInfo = resumeSlots.didWarnForKey = new WeakSet());
6217
- resumeSlots = node.componentStack;
6218
- if (null !== resumeSlots && !thrownInfo.has(resumeSlots)) {
6219
- thrownInfo.add(resumeSlots);
6220
- var componentName = getComponentNameFromType(error.type);
6221
- thrownInfo = error._owner;
6222
- var parentOwner = resumeSlots.owner;
6223
- resumeSlots = "";
6224
- if (parentOwner && "undefined" !== typeof parentOwner.type) {
6225
- var name = getComponentNameFromType(parentOwner.type);
6226
- name &&
6227
- (resumeSlots =
6228
- "\n\nCheck the render method of `" + name + "`.");
6229
- }
6230
- resumeSlots ||
6231
- (componentName &&
6232
- (resumeSlots =
6233
- "\n\nCheck the top-level render call using <" +
6234
- componentName +
6235
- ">."));
6236
- componentName = "";
6237
- null != thrownInfo &&
6238
- parentOwner !== thrownInfo &&
6239
- ((parentOwner = null),
6240
- "undefined" !== typeof thrownInfo.type
6241
- ? (parentOwner = getComponentNameFromType(thrownInfo.type))
6242
- : "string" === typeof thrownInfo.name &&
6243
- (parentOwner = thrownInfo.name),
6244
- parentOwner &&
6245
- (componentName =
6246
- " It was passed a child from " + parentOwner + "."));
6247
- thrownInfo = node.componentStack;
6248
- node.componentStack = {
6249
- parent: node.componentStack,
6250
- type: error.type,
6251
- owner: error._owner,
6252
- stack: error._debugStack
6253
- };
6254
- console.error(
6255
- 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
6256
- resumeSlots,
6257
- componentName
6258
- );
6259
- node.componentStack = thrownInfo;
6260
- }
6261
- }
6262
- task.treeContext = pushTreeContext(replay, replayNodes, j);
6263
- renderNode(request, task, childIndex, j);
6264
- }
6507
+ for (j = 0; j < replayNodes; j++)
6508
+ (childIndex = children[j]),
6509
+ warnForMissingKey(request, task, childIndex),
6510
+ (task.treeContext = pushTreeContext(replay, replayNodes, j)),
6511
+ renderNode(request, task, childIndex, j);
6265
6512
  task.treeContext = replay;
6266
6513
  task.keyPath = prevKeyPath;
6267
6514
  task.componentStack = previousComponentStack;
@@ -6290,6 +6537,7 @@
6290
6537
  task.formatContext,
6291
6538
  task.context,
6292
6539
  task.treeContext,
6540
+ task.row,
6293
6541
  task.componentStack,
6294
6542
  emptyContextObject,
6295
6543
  task.debugTask
@@ -6321,6 +6569,7 @@
6321
6569
  task.formatContext,
6322
6570
  task.context,
6323
6571
  task.treeContext,
6572
+ task.row,
6324
6573
  task.componentStack,
6325
6574
  emptyContextObject,
6326
6575
  task.debugTask
@@ -6435,9 +6684,11 @@
6435
6684
  throw node;
6436
6685
  }
6437
6686
  function abortTaskSoft(task) {
6438
- var boundary = task.blockedBoundary;
6439
- task = task.blockedSegment;
6440
- null !== task && ((task.status = 3), finishedTask(this, boundary, task));
6687
+ var boundary = task.blockedBoundary,
6688
+ segment = task.blockedSegment;
6689
+ null !== segment &&
6690
+ ((segment.status = ABORTED),
6691
+ finishedTask(this, boundary, task.row, segment));
6441
6692
  }
6442
6693
  function abortRemainingReplayNodes(
6443
6694
  request$jscomp$0,
@@ -6471,6 +6722,7 @@
6471
6722
  wasAborted = aborted,
6472
6723
  resumedBoundary = createSuspenseBoundary(
6473
6724
  request,
6725
+ null,
6474
6726
  new Set(),
6475
6727
  null,
6476
6728
  null
@@ -6515,8 +6767,12 @@
6515
6767
  segment = task.blockedSegment;
6516
6768
  if (null !== segment) {
6517
6769
  if (6 === segment.status) return;
6518
- segment.status = 3;
6770
+ segment.status = ABORTED;
6519
6771
  }
6772
+ segment = task.row;
6773
+ null !== segment &&
6774
+ 0 === --segment.pendingTasks &&
6775
+ finishSuspenseListRow(request, segment);
6520
6776
  segment = getThrownInfo(task.componentStack);
6521
6777
  if (null === boundary) {
6522
6778
  if (13 !== request.status && request.status !== CLOSED) {
@@ -6658,7 +6914,11 @@
6658
6914
  queueCompletedSegment(boundary, childSegment);
6659
6915
  } else boundary.completedSegments.push(segment);
6660
6916
  }
6661
- function finishedTask(request, boundary, segment) {
6917
+ function finishedTask(request, boundary, row, segment) {
6918
+ null !== row &&
6919
+ 0 === --row.pendingTasks &&
6920
+ finishSuspenseListRow(request, row);
6921
+ request.allPendingTasks--;
6662
6922
  if (null === boundary) {
6663
6923
  if (null !== segment && segment.parentFlushed) {
6664
6924
  if (null !== request.completedRootSegment)
@@ -6686,7 +6946,11 @@
6686
6946
  abortTaskSoft,
6687
6947
  request
6688
6948
  ),
6689
- boundary.fallbackAbortableTasks.clear()),
6949
+ boundary.fallbackAbortableTasks.clear(),
6950
+ (row = boundary.row),
6951
+ null !== row &&
6952
+ 0 === --row.pendingTasks &&
6953
+ finishSuspenseListRow(request, row)),
6690
6954
  0 === request.pendingRootTasks &&
6691
6955
  null === request.trackedPostpones &&
6692
6956
  null !== boundary.contentPreamble &&
@@ -6698,7 +6962,6 @@
6698
6962
  1 === boundary.completedSegments.length &&
6699
6963
  boundary.parentFlushed &&
6700
6964
  request.partialBoundaries.push(boundary)));
6701
- request.allPendingTasks--;
6702
6965
  0 === request.allPendingTasks && completeAll(request);
6703
6966
  }
6704
6967
  function performWork(request$jscomp$2) {
@@ -6751,7 +7014,12 @@
6751
7014
  );
6752
7015
  request.replay.pendingTasks--;
6753
7016
  request.abortSet.delete(request);
6754
- finishedTask(request$jscomp$0, request.blockedBoundary, null);
7017
+ finishedTask(
7018
+ request$jscomp$0,
7019
+ request.blockedBoundary,
7020
+ request.row,
7021
+ null
7022
+ );
6755
7023
  } catch (thrownValue) {
6756
7024
  resetHooksState();
6757
7025
  var x =
@@ -6832,6 +7100,7 @@
6832
7100
  finishedTask(
6833
7101
  request,
6834
7102
  errorDigest.blockedBoundary,
7103
+ errorDigest.row,
6835
7104
  request$jscomp$1
6836
7105
  );
6837
7106
  } catch (thrownValue) {
@@ -6860,7 +7129,12 @@
6860
7129
  errorDigest.abortSet.delete(errorDigest);
6861
7130
  request$jscomp$1.status = 4;
6862
7131
  var boundary$jscomp$0 = errorDigest.blockedBoundary,
7132
+ row = errorDigest.row,
6863
7133
  debugTask = errorDigest.debugTask;
7134
+ null !== row &&
7135
+ 0 === --row.pendingTasks &&
7136
+ finishSuspenseListRow(request, row);
7137
+ request.allPendingTasks--;
6864
7138
  prevTaskInDEV = logRecoverableError(
6865
7139
  request,
6866
7140
  x$jscomp$0,
@@ -6893,7 +7167,6 @@
6893
7167
  null === request.trackedPostpones &&
6894
7168
  null !== boundary$jscomp$0.contentPreamble &&
6895
7169
  preparePreamble(request)));
6896
- request.allPendingTasks--;
6897
7170
  0 === request.allPendingTasks && completeAll(request);
6898
7171
  }
6899
7172
  } finally {
@@ -7044,10 +7317,14 @@
7044
7317
  return flushSubtree(request, destination, segment, hoistableState);
7045
7318
  boundary.parentFlushed = !0;
7046
7319
  if (boundary.status === CLIENT_RENDERED) {
7320
+ var row = boundary.row;
7321
+ null !== row &&
7322
+ 0 === --row.pendingTasks &&
7323
+ finishSuspenseListRow(request, row);
7047
7324
  if (!request.renderState.generateStaticMarkup) {
7048
7325
  var errorDigest = boundary.errorDigest,
7049
- errorMessage = boundary.errorMessage,
7050
- errorStack = boundary.errorStack;
7326
+ errorMessage = boundary.errorMessage;
7327
+ row = boundary.errorStack;
7051
7328
  boundary = boundary.errorComponentStack;
7052
7329
  destination.push(startClientRenderedSuspenseBoundary);
7053
7330
  destination.push(clientRenderedSuspenseBoundaryError1);
@@ -7065,17 +7342,17 @@
7065
7342
  destination.push(
7066
7343
  clientRenderedSuspenseBoundaryErrorAttrInterstitial
7067
7344
  ));
7068
- errorStack &&
7345
+ row &&
7069
7346
  (destination.push(clientRenderedSuspenseBoundaryError1C),
7070
- (errorStack = escapeTextForBrowser(errorStack)),
7071
- destination.push(errorStack),
7347
+ (row = escapeTextForBrowser(row)),
7348
+ destination.push(row),
7072
7349
  destination.push(
7073
7350
  clientRenderedSuspenseBoundaryErrorAttrInterstitial
7074
7351
  ));
7075
7352
  boundary &&
7076
7353
  (destination.push(clientRenderedSuspenseBoundaryError1D),
7077
- (errorStack = escapeTextForBrowser(boundary)),
7078
- destination.push(errorStack),
7354
+ (boundary = escapeTextForBrowser(boundary)),
7355
+ destination.push(boundary),
7079
7356
  destination.push(
7080
7357
  clientRenderedSuspenseBoundaryErrorAttrInterstitial
7081
7358
  ));
@@ -7099,12 +7376,9 @@
7099
7376
  boundary.rootSegmentID
7100
7377
  ),
7101
7378
  hoistableState &&
7102
- ((errorStack = boundary.fallbackState),
7103
- errorStack.styles.forEach(
7104
- hoistStyleQueueDependency,
7105
- hoistableState
7106
- ),
7107
- errorStack.stylesheets.forEach(
7379
+ ((boundary = boundary.fallbackState),
7380
+ boundary.styles.forEach(hoistStyleQueueDependency, hoistableState),
7381
+ boundary.stylesheets.forEach(
7108
7382
  hoistStylesheetDependency,
7109
7383
  hoistableState
7110
7384
  )),
@@ -7131,6 +7405,11 @@
7131
7405
  ((segment = boundary.contentState),
7132
7406
  segment.styles.forEach(hoistStyleQueueDependency, hoistableState),
7133
7407
  segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState));
7408
+ segment = boundary.row;
7409
+ null !== segment &&
7410
+ 500 < boundary.byteSize &&
7411
+ 0 === --segment.pendingTasks &&
7412
+ finishSuspenseListRow(request, segment);
7134
7413
  request.renderState.generateStaticMarkup ||
7135
7414
  destination.push(startCompletedSuspenseBoundary);
7136
7415
  segment = boundary.completedSegments;
@@ -7173,6 +7452,11 @@
7173
7452
  completedSegments[i]
7174
7453
  );
7175
7454
  completedSegments.length = 0;
7455
+ completedSegments = boundary.row;
7456
+ null !== completedSegments &&
7457
+ 500 < boundary.byteSize &&
7458
+ 0 === --completedSegments.pendingTasks &&
7459
+ finishSuspenseListRow(request, completedSegments);
7176
7460
  writeHoistablesForBoundary(
7177
7461
  destination,
7178
7462
  boundary.contentState,
@@ -7200,11 +7484,11 @@
7200
7484
  ? ((completedSegments.instructions |= SentStyleInsertionFunction),
7201
7485
  destination.push(completeBoundaryWithStylesScript1FullPartial))
7202
7486
  : destination.push(completeBoundaryWithStylesScript1Partial))
7203
- : (completedSegments.instructions & SentCompleteBoundaryFunction) ===
7204
- NothingSent
7205
- ? ((completedSegments.instructions |= SentCompleteBoundaryFunction),
7206
- destination.push(completeBoundaryScript1Full))
7207
- : destination.push(completeBoundaryScript1Partial);
7487
+ : ((completedSegments.instructions & SentCompleteBoundaryFunction) ===
7488
+ NothingSent &&
7489
+ ((completedSegments.instructions |= SentCompleteBoundaryFunction),
7490
+ destination.push(completeBoundaryScriptFunctionOnly)),
7491
+ destination.push(completeBoundaryScript1Partial));
7208
7492
  completedSegments = i.toString(16);
7209
7493
  destination.push(request.boundaryPrefix);
7210
7494
  destination.push(completedSegments);
@@ -8854,9 +9138,7 @@
8854
9138
  completeSegmentScript2 = '","',
8855
9139
  completeSegmentScriptEnd = '")\x3c/script>',
8856
9140
  completeBoundaryScriptFunctionOnly =
8857
- '$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())};',
8858
- completeBoundaryScript1Full =
8859
- '$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("',
9141
+ '$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())};',
8860
9142
  completeBoundaryScript1Partial = '$RC("',
8861
9143
  completeBoundaryWithStylesScript1FullPartial =
8862
9144
  '$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("',
@@ -9133,6 +9415,7 @@
9133
9415
  PENDING = 0,
9134
9416
  COMPLETED = 1,
9135
9417
  FLUSHED = 2,
9418
+ ABORTED = 3,
9136
9419
  POSTPONED = 5,
9137
9420
  CLOSED = 14,
9138
9421
  currentRequest = null,
@@ -9160,5 +9443,5 @@
9160
9443
  'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
9161
9444
  );
9162
9445
  };
9163
- exports.version = "19.2.0-canary-4448b187-20250515";
9446
+ exports.version = "19.2.0-canary-c4676e72-20250520";
9164
9447
  })();