react-markup 0.0.0-experimental-462d08f9-20250517 → 0.0.0-experimental-23884812-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)
@@ -3770,6 +3778,10 @@
3770
3778
  function hoistStylesheetDependency(stylesheet) {
3771
3779
  this.stylesheets.add(stylesheet);
3772
3780
  }
3781
+ function hoistHoistables(parentState, childState) {
3782
+ childState.styles.forEach(hoistStyleQueueDependency, parentState);
3783
+ childState.stylesheets.forEach(hoistStylesheetDependency, parentState);
3784
+ }
3773
3785
  function getComponentNameFromType(type) {
3774
3786
  if (null == type) return null;
3775
3787
  if ("function" === typeof type)
@@ -4609,6 +4621,7 @@
4609
4621
  null,
4610
4622
  emptyTreeContext,
4611
4623
  null,
4624
+ null,
4612
4625
  emptyContextObject,
4613
4626
  null
4614
4627
  );
@@ -4624,15 +4637,17 @@
4624
4637
  }
4625
4638
  function createSuspenseBoundary(
4626
4639
  request,
4640
+ row,
4627
4641
  fallbackAbortableTasks,
4628
4642
  contentPreamble,
4629
4643
  fallbackPreamble
4630
4644
  ) {
4631
- return {
4645
+ fallbackAbortableTasks = {
4632
4646
  status: 0,
4633
4647
  rootSegmentID: -1,
4634
4648
  parentFlushed: !1,
4635
4649
  pendingTasks: 0,
4650
+ row: row,
4636
4651
  completedSegments: [],
4637
4652
  byteSize: 0,
4638
4653
  fallbackAbortableTasks: fallbackAbortableTasks,
@@ -4647,6 +4662,17 @@
4647
4662
  errorStack: null,
4648
4663
  errorComponentStack: null
4649
4664
  };
4665
+ null !== row &&
4666
+ (row.pendingTasks++,
4667
+ (contentPreamble = row.boundaries),
4668
+ null !== contentPreamble &&
4669
+ (request.allPendingTasks++,
4670
+ fallbackAbortableTasks.pendingTasks++,
4671
+ contentPreamble.push(fallbackAbortableTasks)),
4672
+ (request = row.inheritedHoistables),
4673
+ null !== request &&
4674
+ hoistHoistables(fallbackAbortableTasks.contentState, request));
4675
+ return fallbackAbortableTasks;
4650
4676
  }
4651
4677
  function createRenderTask(
4652
4678
  request,
@@ -4662,6 +4688,7 @@
4662
4688
  formatContext,
4663
4689
  context,
4664
4690
  treeContext,
4691
+ row,
4665
4692
  componentStack,
4666
4693
  legacyContext,
4667
4694
  debugTask
@@ -4670,6 +4697,7 @@
4670
4697
  null === blockedBoundary
4671
4698
  ? request.pendingRootTasks++
4672
4699
  : blockedBoundary.pendingTasks++;
4700
+ null !== row && row.pendingTasks++;
4673
4701
  var task = {
4674
4702
  replay: null,
4675
4703
  node: node,
@@ -4686,6 +4714,7 @@
4686
4714
  formatContext: formatContext,
4687
4715
  context: context,
4688
4716
  treeContext: treeContext,
4717
+ row: row,
4689
4718
  componentStack: componentStack,
4690
4719
  thenableState: thenableState
4691
4720
  };
@@ -4706,6 +4735,7 @@
4706
4735
  formatContext,
4707
4736
  context,
4708
4737
  treeContext,
4738
+ row,
4709
4739
  componentStack,
4710
4740
  legacyContext,
4711
4741
  debugTask
@@ -4714,6 +4744,7 @@
4714
4744
  null === blockedBoundary
4715
4745
  ? request.pendingRootTasks++
4716
4746
  : blockedBoundary.pendingTasks++;
4747
+ null !== row && row.pendingTasks++;
4717
4748
  replay.pendingTasks++;
4718
4749
  var task = {
4719
4750
  replay: replay,
@@ -4731,6 +4762,7 @@
4731
4762
  formatContext: formatContext,
4732
4763
  context: context,
4733
4764
  treeContext: treeContext,
4765
+ row: row,
4734
4766
  componentStack: componentStack,
4735
4767
  thenableState: thenableState
4736
4768
  };
@@ -4922,6 +4954,180 @@
4922
4954
  ? ((request.status = 14), request.destination.destroy(error))
4923
4955
  : ((request.status = 13), (request.fatalError = error));
4924
4956
  }
4957
+ function finishSuspenseListRow(request, row) {
4958
+ unblockSuspenseListRow(request, row.next, row.hoistables);
4959
+ }
4960
+ function unblockSuspenseListRow(
4961
+ request,
4962
+ unblockedRow,
4963
+ inheritedHoistables
4964
+ ) {
4965
+ for (; null !== unblockedRow; ) {
4966
+ null !== inheritedHoistables &&
4967
+ (hoistHoistables(unblockedRow.hoistables, inheritedHoistables),
4968
+ (unblockedRow.inheritedHoistables = inheritedHoistables));
4969
+ var unblockedBoundaries = unblockedRow.boundaries;
4970
+ if (null !== unblockedBoundaries) {
4971
+ unblockedRow.boundaries = null;
4972
+ for (var i = 0; i < unblockedBoundaries.length; i++) {
4973
+ var unblockedBoundary = unblockedBoundaries[i];
4974
+ null !== inheritedHoistables &&
4975
+ hoistHoistables(
4976
+ unblockedBoundary.contentState,
4977
+ inheritedHoistables
4978
+ );
4979
+ finishedTask(request, unblockedBoundary, null, null);
4980
+ }
4981
+ }
4982
+ unblockedRow.pendingTasks--;
4983
+ if (0 < unblockedRow.pendingTasks) break;
4984
+ inheritedHoistables = unblockedRow.hoistables;
4985
+ unblockedRow = unblockedRow.next;
4986
+ }
4987
+ }
4988
+ function tryToResolveTogetherRow(request, togetherRow) {
4989
+ var boundaries = togetherRow.boundaries;
4990
+ if (
4991
+ null !== boundaries &&
4992
+ togetherRow.pendingTasks === boundaries.length
4993
+ ) {
4994
+ for (
4995
+ var allCompleteAndInlinable = !0, i = 0;
4996
+ i < boundaries.length;
4997
+ i++
4998
+ ) {
4999
+ var rowBoundary = boundaries[i];
5000
+ if (
5001
+ 1 !== rowBoundary.pendingTasks ||
5002
+ rowBoundary.parentFlushed ||
5003
+ 500 < rowBoundary.byteSize
5004
+ ) {
5005
+ allCompleteAndInlinable = !1;
5006
+ break;
5007
+ }
5008
+ }
5009
+ allCompleteAndInlinable &&
5010
+ unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);
5011
+ }
5012
+ }
5013
+ function createSuspenseListRow(previousRow) {
5014
+ var newRow = {
5015
+ pendingTasks: 1,
5016
+ boundaries: null,
5017
+ hoistables: createHoistableState(),
5018
+ inheritedHoistables: null,
5019
+ together: !1,
5020
+ next: null
5021
+ };
5022
+ null !== previousRow &&
5023
+ 0 < previousRow.pendingTasks &&
5024
+ (newRow.pendingTasks++,
5025
+ (newRow.boundaries = []),
5026
+ (previousRow.next = newRow));
5027
+ return newRow;
5028
+ }
5029
+ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
5030
+ var prevKeyPath = task.keyPath,
5031
+ prevTreeContext = task.treeContext,
5032
+ prevRow = task.row,
5033
+ previousComponentStack = task.componentStack;
5034
+ var previousDebugTask = task.debugTask;
5035
+ pushServerComponentStack(task, task.node.props.children._debugInfo);
5036
+ task.keyPath = keyPath;
5037
+ keyPath = rows.length;
5038
+ var previousSuspenseListRow = null;
5039
+ if (null !== task.replay) {
5040
+ var resumeSlots = task.replay.slots;
5041
+ if (null !== resumeSlots && "object" === typeof resumeSlots)
5042
+ for (var n = 0; n < keyPath; n++) {
5043
+ var i = "backwards" !== revealOrder ? n : keyPath - 1 - n,
5044
+ node = rows[i];
5045
+ task.row = previousSuspenseListRow = createSuspenseListRow(
5046
+ previousSuspenseListRow
5047
+ );
5048
+ task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
5049
+ var resumeSegmentID = resumeSlots[i];
5050
+ "number" === typeof resumeSegmentID
5051
+ ? (resumeNode(request, task, resumeSegmentID, node, i),
5052
+ delete resumeSlots[i])
5053
+ : renderNode(request, task, node, i);
5054
+ 0 === --previousSuspenseListRow.pendingTasks &&
5055
+ finishSuspenseListRow(request, previousSuspenseListRow);
5056
+ }
5057
+ else
5058
+ for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)
5059
+ (n =
5060
+ "backwards" !== revealOrder
5061
+ ? resumeSlots
5062
+ : keyPath - 1 - resumeSlots),
5063
+ (i = rows[n]),
5064
+ warnForMissingKey(request, task, i),
5065
+ (task.row = previousSuspenseListRow =
5066
+ createSuspenseListRow(previousSuspenseListRow)),
5067
+ (task.treeContext = pushTreeContext(prevTreeContext, keyPath, n)),
5068
+ renderNode(request, task, i, n),
5069
+ 0 === --previousSuspenseListRow.pendingTasks &&
5070
+ finishSuspenseListRow(request, previousSuspenseListRow);
5071
+ } else if ("backwards" !== revealOrder)
5072
+ for (revealOrder = 0; revealOrder < keyPath; revealOrder++)
5073
+ (resumeSlots = rows[revealOrder]),
5074
+ warnForMissingKey(request, task, resumeSlots),
5075
+ (task.row = previousSuspenseListRow =
5076
+ createSuspenseListRow(previousSuspenseListRow)),
5077
+ (task.treeContext = pushTreeContext(
5078
+ prevTreeContext,
5079
+ keyPath,
5080
+ revealOrder
5081
+ )),
5082
+ renderNode(request, task, resumeSlots, revealOrder),
5083
+ 0 === --previousSuspenseListRow.pendingTasks &&
5084
+ finishSuspenseListRow(request, previousSuspenseListRow);
5085
+ else {
5086
+ revealOrder = task.blockedSegment;
5087
+ resumeSlots = revealOrder.children.length;
5088
+ n = revealOrder.chunks.length;
5089
+ for (i = keyPath - 1; 0 <= i; i--) {
5090
+ node = rows[i];
5091
+ task.row = previousSuspenseListRow = createSuspenseListRow(
5092
+ previousSuspenseListRow
5093
+ );
5094
+ task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
5095
+ resumeSegmentID = createPendingSegment(
5096
+ request,
5097
+ n,
5098
+ null,
5099
+ task.formatContext,
5100
+ 0 === i ? revealOrder.lastPushedText : !0,
5101
+ !0
5102
+ );
5103
+ revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);
5104
+ task.blockedSegment = resumeSegmentID;
5105
+ warnForMissingKey(request, task, node);
5106
+ try {
5107
+ renderNode(request, task, node, i),
5108
+ (resumeSegmentID.status = 1),
5109
+ 0 === --previousSuspenseListRow.pendingTasks &&
5110
+ finishSuspenseListRow(request, previousSuspenseListRow);
5111
+ } catch (thrownValue) {
5112
+ throw (
5113
+ ((resumeSegmentID.status = 12 === request.status ? 3 : 4),
5114
+ thrownValue)
5115
+ );
5116
+ }
5117
+ }
5118
+ task.blockedSegment = revealOrder;
5119
+ revealOrder.lastPushedText = !1;
5120
+ }
5121
+ null !== prevRow &&
5122
+ null !== previousSuspenseListRow &&
5123
+ 0 < previousSuspenseListRow.pendingTasks &&
5124
+ (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));
5125
+ task.treeContext = prevTreeContext;
5126
+ task.row = prevRow;
5127
+ task.keyPath = prevKeyPath;
5128
+ task.componentStack = previousComponentStack;
5129
+ task.debugTask = previousDebugTask;
5130
+ }
4925
5131
  function renderWithHooks(
4926
5132
  request,
4927
5133
  task,
@@ -5485,7 +5691,7 @@
5485
5691
  );
5486
5692
  segment.lastPushedText = !1;
5487
5693
  var _prevContext2 = task.formatContext,
5488
- _prevKeyPath2 = task.keyPath;
5694
+ _prevKeyPath3 = task.keyPath;
5489
5695
  task.keyPath = keyPath;
5490
5696
  if (
5491
5697
  3 ===
@@ -5518,6 +5724,7 @@
5518
5724
  task.formatContext,
5519
5725
  task.context,
5520
5726
  task.treeContext,
5727
+ task.row,
5521
5728
  task.componentStack,
5522
5729
  emptyContextObject,
5523
5730
  task.debugTask
@@ -5526,7 +5733,7 @@
5526
5733
  request.pingedTasks.push(preambleTask);
5527
5734
  } else renderNode(request, task, _children, -1);
5528
5735
  task.formatContext = _prevContext2;
5529
- task.keyPath = _prevKeyPath2;
5736
+ task.keyPath = _prevKeyPath3;
5530
5737
  a: {
5531
5738
  var target$jscomp$0 = segment.chunks,
5532
5739
  resumableState$jscomp$0 = request.resumableState;
@@ -5591,22 +5798,128 @@
5591
5798
  }
5592
5799
  } else if ("hidden" !== props.mode) {
5593
5800
  segment$jscomp$0.lastPushedText = !1;
5594
- var _prevKeyPath3 = task.keyPath;
5801
+ var _prevKeyPath4 = task.keyPath;
5595
5802
  task.keyPath = keyPath;
5596
5803
  renderNode(request, task, props.children, -1);
5597
- task.keyPath = _prevKeyPath3;
5804
+ task.keyPath = _prevKeyPath4;
5598
5805
  segment$jscomp$0.lastPushedText = !1;
5599
5806
  }
5600
5807
  return;
5601
5808
  case REACT_SUSPENSE_LIST_TYPE:
5602
- var _prevKeyPath4 = task.keyPath;
5603
- task.keyPath = keyPath;
5604
- renderNodeDestructive(request, task, props.children, -1);
5605
- task.keyPath = _prevKeyPath4;
5809
+ a: {
5810
+ var children$jscomp$0 = props.children,
5811
+ revealOrder = props.revealOrder;
5812
+ if ("forwards" === revealOrder || "backwards" === revealOrder) {
5813
+ if (isArrayImpl(children$jscomp$0)) {
5814
+ renderSuspenseListRows(
5815
+ request,
5816
+ task,
5817
+ keyPath,
5818
+ children$jscomp$0,
5819
+ revealOrder
5820
+ );
5821
+ break a;
5822
+ }
5823
+ var iteratorFn = getIteratorFn(children$jscomp$0);
5824
+ if (iteratorFn) {
5825
+ var iterator = iteratorFn.call(children$jscomp$0);
5826
+ if (iterator) {
5827
+ validateIterable(
5828
+ task,
5829
+ children$jscomp$0,
5830
+ -1,
5831
+ iterator,
5832
+ iteratorFn
5833
+ );
5834
+ var step = iterator.next();
5835
+ if (!step.done) {
5836
+ var rows = [];
5837
+ do rows.push(step.value), (step = iterator.next());
5838
+ while (!step.done);
5839
+ renderSuspenseListRows(
5840
+ request,
5841
+ task,
5842
+ keyPath,
5843
+ children$jscomp$0,
5844
+ revealOrder
5845
+ );
5846
+ }
5847
+ break a;
5848
+ }
5849
+ }
5850
+ if ("function" === typeof children$jscomp$0[ASYNC_ITERATOR]) {
5851
+ var _iterator = children$jscomp$0[ASYNC_ITERATOR]();
5852
+ if (_iterator) {
5853
+ validateAsyncIterable(
5854
+ task,
5855
+ children$jscomp$0,
5856
+ -1,
5857
+ _iterator
5858
+ );
5859
+ var prevThenableState = task.thenableState;
5860
+ task.thenableState = null;
5861
+ thenableIndexCounter = 0;
5862
+ thenableState = prevThenableState;
5863
+ var _rows = [],
5864
+ done = !1;
5865
+ if (_iterator === children$jscomp$0)
5866
+ for (
5867
+ var _step = readPreviousThenableFromState();
5868
+ void 0 !== _step;
5869
+
5870
+ ) {
5871
+ if (_step.done) {
5872
+ done = !0;
5873
+ break;
5874
+ }
5875
+ _rows.push(_step.value);
5876
+ _step = readPreviousThenableFromState();
5877
+ }
5878
+ if (!done)
5879
+ for (
5880
+ var _step2 = unwrapThenable(_iterator.next());
5881
+ !_step2.done;
5882
+
5883
+ )
5884
+ _rows.push(_step2.value),
5885
+ (_step2 = unwrapThenable(_iterator.next()));
5886
+ renderSuspenseListRows(
5887
+ request,
5888
+ task,
5889
+ keyPath,
5890
+ _rows,
5891
+ revealOrder
5892
+ );
5893
+ break a;
5894
+ }
5895
+ }
5896
+ }
5897
+ if ("together" === revealOrder) {
5898
+ var _prevKeyPath2 = task.keyPath,
5899
+ prevRow = task.row,
5900
+ newRow = (task.row = createSuspenseListRow(null));
5901
+ newRow.boundaries = [];
5902
+ newRow.together = !0;
5903
+ task.keyPath = keyPath;
5904
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
5905
+ 0 === --newRow.pendingTasks &&
5906
+ finishSuspenseListRow(request, newRow);
5907
+ task.keyPath = _prevKeyPath2;
5908
+ task.row = prevRow;
5909
+ null !== prevRow &&
5910
+ 0 < newRow.pendingTasks &&
5911
+ (prevRow.pendingTasks++, (newRow.next = prevRow));
5912
+ } else {
5913
+ var prevKeyPath$jscomp$3 = task.keyPath;
5914
+ task.keyPath = keyPath;
5915
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
5916
+ task.keyPath = prevKeyPath$jscomp$3;
5917
+ }
5918
+ }
5606
5919
  return;
5607
5920
  case REACT_VIEW_TRANSITION_TYPE:
5608
5921
  var prevContext$jscomp$0 = task.formatContext,
5609
- prevKeyPath$jscomp$3 = task.keyPath;
5922
+ prevKeyPath$jscomp$4 = task.keyPath;
5610
5923
  var resumableState$jscomp$1 = request.resumableState;
5611
5924
  if (null == props.name || "auto" === props.name) {
5612
5925
  var treeId = getTreeId(task.treeContext);
@@ -5623,7 +5936,7 @@
5623
5936
  task.treeContext = prevTreeContext;
5624
5937
  }
5625
5938
  task.formatContext = prevContext$jscomp$0;
5626
- task.keyPath = prevKeyPath$jscomp$3;
5939
+ task.keyPath = prevKeyPath$jscomp$4;
5627
5940
  return;
5628
5941
  case REACT_SCOPE_TYPE:
5629
5942
  throw Error(
@@ -5632,22 +5945,26 @@
5632
5945
  case REACT_SUSPENSE_TYPE:
5633
5946
  a: if (null !== task.replay) {
5634
5947
  var _prevKeyPath = task.keyPath,
5635
- _prevContext = task.formatContext;
5948
+ _prevContext = task.formatContext,
5949
+ _prevRow = task.row;
5636
5950
  task.keyPath = keyPath;
5637
5951
  task.formatContext = getSuspenseContentFormatContext(
5638
5952
  request.resumableState,
5639
5953
  _prevContext
5640
5954
  );
5955
+ task.row = null;
5641
5956
  var _content = props.children;
5642
5957
  try {
5643
5958
  renderNode(request, task, _content, -1);
5644
5959
  } finally {
5645
5960
  (task.keyPath = _prevKeyPath),
5646
- (task.formatContext = _prevContext);
5961
+ (task.formatContext = _prevContext),
5962
+ (task.row = _prevRow);
5647
5963
  }
5648
5964
  } else {
5649
- var prevKeyPath$jscomp$4 = task.keyPath,
5965
+ var prevKeyPath$jscomp$5 = task.keyPath,
5650
5966
  prevContext$jscomp$1 = task.formatContext,
5967
+ prevRow$jscomp$0 = task.row,
5651
5968
  parentBoundary = task.blockedBoundary,
5652
5969
  parentPreamble = task.blockedPreamble,
5653
5970
  parentHoistableState = task.hoistableState,
@@ -5659,12 +5976,14 @@
5659
5976
  2 > task.formatContext.insertionMode
5660
5977
  ? createSuspenseBoundary(
5661
5978
  request,
5979
+ task.row,
5662
5980
  fallbackAbortSet,
5663
5981
  createPreambleState(),
5664
5982
  createPreambleState()
5665
5983
  )
5666
5984
  : createSuspenseBoundary(
5667
5985
  request,
5986
+ task.row,
5668
5987
  fallbackAbortSet,
5669
5988
  null,
5670
5989
  null
@@ -5726,7 +6045,7 @@
5726
6045
  } finally {
5727
6046
  (task.blockedSegment = parentSegment),
5728
6047
  (task.blockedPreamble = parentPreamble),
5729
- (task.keyPath = prevKeyPath$jscomp$4),
6048
+ (task.keyPath = prevKeyPath$jscomp$5),
5730
6049
  (task.formatContext = prevContext$jscomp$1);
5731
6050
  }
5732
6051
  var suspendedPrimaryTask = createRenderTask(
@@ -5746,6 +6065,7 @@
5746
6065
  ),
5747
6066
  task.context,
5748
6067
  task.treeContext,
6068
+ null,
5749
6069
  task.componentStack,
5750
6070
  emptyContextObject,
5751
6071
  task.debugTask
@@ -5762,21 +6082,30 @@
5762
6082
  request.resumableState,
5763
6083
  prevContext$jscomp$1
5764
6084
  );
6085
+ task.row = null;
5765
6086
  contentRootSegment.status = 6;
5766
6087
  try {
5767
6088
  if (
5768
6089
  (renderNode(request, task, content, -1),
5769
6090
  (contentRootSegment.status = 1),
5770
6091
  queueCompletedSegment(newBoundary, contentRootSegment),
5771
- 0 === newBoundary.pendingTasks &&
5772
- 0 === newBoundary.status &&
5773
- ((newBoundary.status = 1), !(500 < newBoundary.byteSize)))
6092
+ 0 === newBoundary.pendingTasks && 0 === newBoundary.status)
5774
6093
  ) {
5775
- 0 === request.pendingRootTasks &&
5776
- task.blockedPreamble &&
5777
- preparePreamble(request);
5778
- break a;
5779
- }
6094
+ if (
6095
+ ((newBoundary.status = 1), !(500 < newBoundary.byteSize))
6096
+ ) {
6097
+ null !== prevRow$jscomp$0 &&
6098
+ 0 === --prevRow$jscomp$0.pendingTasks &&
6099
+ finishSuspenseListRow(request, prevRow$jscomp$0);
6100
+ 0 === request.pendingRootTasks &&
6101
+ task.blockedPreamble &&
6102
+ preparePreamble(request);
6103
+ break a;
6104
+ }
6105
+ } else
6106
+ null !== prevRow$jscomp$0 &&
6107
+ prevRow$jscomp$0.together &&
6108
+ tryToResolveTogetherRow(request, prevRow$jscomp$0);
5780
6109
  } catch (thrownValue$2) {
5781
6110
  newBoundary.status = 4;
5782
6111
  if (12 === request.status) {
@@ -5817,8 +6146,9 @@
5817
6146
  (task.blockedPreamble = parentPreamble),
5818
6147
  (task.hoistableState = parentHoistableState),
5819
6148
  (task.blockedSegment = parentSegment),
5820
- (task.keyPath = prevKeyPath$jscomp$4),
5821
- (task.formatContext = prevContext$jscomp$1);
6149
+ (task.keyPath = prevKeyPath$jscomp$5),
6150
+ (task.formatContext = prevContext$jscomp$1),
6151
+ (task.row = prevRow$jscomp$0);
5822
6152
  }
5823
6153
  var suspendedFallbackTask = createRenderTask(
5824
6154
  request,
@@ -5837,6 +6167,7 @@
5837
6167
  ),
5838
6168
  task.context,
5839
6169
  task.treeContext,
6170
+ task.row,
5840
6171
  task.componentStack,
5841
6172
  emptyContextObject,
5842
6173
  task.debugTask
@@ -5855,7 +6186,7 @@
5855
6186
  for (var key in props)
5856
6187
  "ref" !== key && (propsWithoutRef[key] = props[key]);
5857
6188
  } else propsWithoutRef = props;
5858
- var children$jscomp$0 = renderWithHooks(
6189
+ var children$jscomp$1 = renderWithHooks(
5859
6190
  request,
5860
6191
  task,
5861
6192
  keyPath,
@@ -5867,7 +6198,7 @@
5867
6198
  request,
5868
6199
  task,
5869
6200
  keyPath,
5870
- children$jscomp$0,
6201
+ children$jscomp$1,
5871
6202
  0 !== localIdCounter,
5872
6203
  actionStateCounter,
5873
6204
  actionStateMatchingIndex
@@ -5879,9 +6210,9 @@
5879
6210
  case REACT_PROVIDER_TYPE:
5880
6211
  case REACT_CONTEXT_TYPE:
5881
6212
  var value$jscomp$0 = props.value,
5882
- children$jscomp$1 = props.children;
6213
+ children$jscomp$2 = props.children;
5883
6214
  var prevSnapshot = task.context;
5884
- var prevKeyPath$jscomp$5 = task.keyPath;
6215
+ var prevKeyPath$jscomp$6 = task.keyPath;
5885
6216
  var prevValue = type._currentValue2;
5886
6217
  type._currentValue2 = value$jscomp$0;
5887
6218
  void 0 !== type._currentRenderer2 &&
@@ -5902,7 +6233,7 @@
5902
6233
  currentActiveSnapshot = newNode;
5903
6234
  task.context = newNode;
5904
6235
  task.keyPath = keyPath;
5905
- renderNodeDestructive(request, task, children$jscomp$1, -1);
6236
+ renderNodeDestructive(request, task, children$jscomp$2, -1);
5906
6237
  var prevSnapshot$jscomp$0 = currentActiveSnapshot;
5907
6238
  if (null === prevSnapshot$jscomp$0)
5908
6239
  throw Error(
@@ -5924,7 +6255,7 @@
5924
6255
  var JSCompiler_inline_result$jscomp$0 = (currentActiveSnapshot =
5925
6256
  prevSnapshot$jscomp$0.parent);
5926
6257
  task.context = JSCompiler_inline_result$jscomp$0;
5927
- task.keyPath = prevKeyPath$jscomp$5;
6258
+ task.keyPath = prevKeyPath$jscomp$6;
5928
6259
  prevSnapshot !== task.context &&
5929
6260
  console.error(
5930
6261
  "Popping the context provider did not return back to the original snapshot. This is a bug in React."
@@ -5938,10 +6269,10 @@
5938
6269
  "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."
5939
6270
  );
5940
6271
  var newChildren = render(context$jscomp$0._currentValue2),
5941
- prevKeyPath$jscomp$6 = task.keyPath;
6272
+ prevKeyPath$jscomp$7 = task.keyPath;
5942
6273
  task.keyPath = keyPath;
5943
6274
  renderNodeDestructive(request, task, newChildren, -1);
5944
- task.keyPath = prevKeyPath$jscomp$6;
6275
+ task.keyPath = prevKeyPath$jscomp$7;
5945
6276
  return;
5946
6277
  case REACT_LAZY_TYPE:
5947
6278
  var Component = callLazyInitInDEV(type);
@@ -6066,6 +6397,7 @@
6066
6397
  node = null === node[4] ? null : node[4][3];
6067
6398
  var prevKeyPath = task.keyPath,
6068
6399
  prevContext = task.formatContext,
6400
+ prevRow = task.row,
6069
6401
  previousReplaySet = task.replay,
6070
6402
  parentBoundary = task.blockedBoundary,
6071
6403
  parentHoistableState = task.hoistableState,
@@ -6076,12 +6408,14 @@
6076
6408
  2 > task.formatContext.insertionMode
6077
6409
  ? createSuspenseBoundary(
6078
6410
  request,
6411
+ task.row,
6079
6412
  fallbackAbortSet,
6080
6413
  createPreambleState(),
6081
6414
  createPreambleState()
6082
6415
  )
6083
6416
  : createSuspenseBoundary(
6084
6417
  request,
6418
+ task.row,
6085
6419
  fallbackAbortSet,
6086
6420
  null,
6087
6421
  null
@@ -6095,6 +6429,7 @@
6095
6429
  request.resumableState,
6096
6430
  prevContext
6097
6431
  );
6432
+ task.row = null;
6098
6433
  task.replay = { nodes: ref, slots: name, pendingTasks: 1 };
6099
6434
  try {
6100
6435
  renderNode(request, task, content, -1);
@@ -6138,7 +6473,8 @@
6138
6473
  (task.hoistableState = parentHoistableState),
6139
6474
  (task.replay = previousReplaySet),
6140
6475
  (task.keyPath = prevKeyPath),
6141
- (task.formatContext = prevContext);
6476
+ (task.formatContext = prevContext),
6477
+ (task.row = prevRow);
6142
6478
  }
6143
6479
  props = createReplayTask(
6144
6480
  request,
@@ -6156,6 +6492,7 @@
6156
6492
  ),
6157
6493
  task.context,
6158
6494
  task.treeContext,
6495
+ task.row,
6159
6496
  task.componentStack,
6160
6497
  emptyContextObject,
6161
6498
  task.debugTask
@@ -6169,6 +6506,50 @@
6169
6506
  }
6170
6507
  }
6171
6508
  }
6509
+ function validateIterable(
6510
+ task,
6511
+ iterable,
6512
+ childIndex,
6513
+ iterator,
6514
+ iteratorFn
6515
+ ) {
6516
+ if (iterator === iterable) {
6517
+ if (
6518
+ -1 !== childIndex ||
6519
+ null === task.componentStack ||
6520
+ "function" !== typeof task.componentStack.type ||
6521
+ "[object GeneratorFunction]" !==
6522
+ Object.prototype.toString.call(task.componentStack.type) ||
6523
+ "[object Generator]" !== Object.prototype.toString.call(iterator)
6524
+ )
6525
+ didWarnAboutGenerators ||
6526
+ console.error(
6527
+ "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."
6528
+ ),
6529
+ (didWarnAboutGenerators = !0);
6530
+ } else
6531
+ iterable.entries !== iteratorFn ||
6532
+ didWarnAboutMaps ||
6533
+ (console.error(
6534
+ "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
6535
+ ),
6536
+ (didWarnAboutMaps = !0));
6537
+ }
6538
+ function validateAsyncIterable(task, iterable, childIndex, iterator) {
6539
+ iterator !== iterable ||
6540
+ (-1 === childIndex &&
6541
+ null !== task.componentStack &&
6542
+ "function" === typeof task.componentStack.type &&
6543
+ "[object AsyncGeneratorFunction]" ===
6544
+ Object.prototype.toString.call(task.componentStack.type) &&
6545
+ "[object AsyncGenerator]" ===
6546
+ Object.prototype.toString.call(iterator)) ||
6547
+ (didWarnAboutGenerators ||
6548
+ console.error(
6549
+ "Using AsyncIterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You can use an AsyncIterable that can iterate multiple times over the same items."
6550
+ ),
6551
+ (didWarnAboutGenerators = !0));
6552
+ }
6172
6553
  function renderNodeDestructive(request, task, node, childIndex) {
6173
6554
  null !== task.replay && "number" === typeof task.replay.slots
6174
6555
  ? resumeNode(request, task, task.replay.slots, node, childIndex)
@@ -6254,60 +6635,23 @@
6254
6635
  renderChildrenArray(request, task, node, childIndex);
6255
6636
  return;
6256
6637
  }
6257
- null === node || "object" !== typeof node
6258
- ? (key = null)
6259
- : ((type =
6260
- (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||
6261
- node["@@iterator"]),
6262
- (key = "function" === typeof type ? type : null));
6263
- if (key && (type = key.call(node))) {
6264
- if (type === node) {
6265
- if (
6266
- -1 !== childIndex ||
6267
- null === task.componentStack ||
6268
- "function" !== typeof task.componentStack.type ||
6269
- "[object GeneratorFunction]" !==
6270
- Object.prototype.toString.call(task.componentStack.type) ||
6271
- "[object Generator]" !== Object.prototype.toString.call(type)
6272
- )
6273
- didWarnAboutGenerators ||
6274
- console.error(
6275
- "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."
6276
- ),
6277
- (didWarnAboutGenerators = !0);
6278
- } else
6279
- node.entries !== key ||
6280
- didWarnAboutMaps ||
6281
- (console.error(
6282
- "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
6283
- ),
6284
- (didWarnAboutMaps = !0));
6285
- node = type.next();
6286
- if (!node.done) {
6287
- key = [];
6288
- do key.push(node.value), (node = type.next());
6289
- while (!node.done);
6290
- renderChildrenArray(request, task, key, childIndex);
6638
+ if ((key = getIteratorFn(node)))
6639
+ if ((type = key.call(node))) {
6640
+ validateIterable(task, node, childIndex, type, key);
6641
+ node = type.next();
6642
+ if (!node.done) {
6643
+ key = [];
6644
+ do key.push(node.value), (node = type.next());
6645
+ while (!node.done);
6646
+ renderChildrenArray(request, task, key, childIndex);
6647
+ }
6648
+ return;
6291
6649
  }
6292
- return;
6293
- }
6294
6650
  if (
6295
6651
  "function" === typeof node[ASYNC_ITERATOR] &&
6296
6652
  (type = node[ASYNC_ITERATOR]())
6297
6653
  ) {
6298
- type !== node ||
6299
- (-1 === childIndex &&
6300
- null !== task.componentStack &&
6301
- "function" === typeof task.componentStack.type &&
6302
- "[object AsyncGeneratorFunction]" ===
6303
- Object.prototype.toString.call(task.componentStack.type) &&
6304
- "[object AsyncGenerator]" ===
6305
- Object.prototype.toString.call(type)) ||
6306
- (didWarnAboutGenerators ||
6307
- console.error(
6308
- "Using AsyncIterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You can use an AsyncIterable that can iterate multiple times over the same items."
6309
- ),
6310
- (didWarnAboutGenerators = !0));
6654
+ validateAsyncIterable(task, node, childIndex, type);
6311
6655
  key = task.thenableState;
6312
6656
  task.thenableState = null;
6313
6657
  thenableIndexCounter = 0;
@@ -6379,7 +6723,70 @@
6379
6723
  ));
6380
6724
  }
6381
6725
  }
6382
- function renderChildrenArray(request$jscomp$0, task, children, childIndex) {
6726
+ function warnForMissingKey(request, task, child) {
6727
+ if (
6728
+ null !== child &&
6729
+ "object" === typeof child &&
6730
+ (child.$$typeof === REACT_ELEMENT_TYPE ||
6731
+ child.$$typeof === REACT_PORTAL_TYPE) &&
6732
+ child._store &&
6733
+ ((!child._store.validated && null == child.key) ||
6734
+ 2 === child._store.validated)
6735
+ ) {
6736
+ if ("object" !== typeof child._store)
6737
+ throw Error(
6738
+ "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
6739
+ );
6740
+ child._store.validated = 1;
6741
+ var didWarnForKey = request.didWarnForKey;
6742
+ null == didWarnForKey &&
6743
+ (didWarnForKey = request.didWarnForKey = new WeakSet());
6744
+ request = task.componentStack;
6745
+ if (null !== request && !didWarnForKey.has(request)) {
6746
+ didWarnForKey.add(request);
6747
+ var componentName = getComponentNameFromType(child.type);
6748
+ didWarnForKey = child._owner;
6749
+ var parentOwner = request.owner;
6750
+ request = "";
6751
+ if (parentOwner && "undefined" !== typeof parentOwner.type) {
6752
+ var name = getComponentNameFromType(parentOwner.type);
6753
+ name &&
6754
+ (request = "\n\nCheck the render method of `" + name + "`.");
6755
+ }
6756
+ request ||
6757
+ (componentName &&
6758
+ (request =
6759
+ "\n\nCheck the top-level render call using <" +
6760
+ componentName +
6761
+ ">."));
6762
+ componentName = "";
6763
+ null != didWarnForKey &&
6764
+ parentOwner !== didWarnForKey &&
6765
+ ((parentOwner = null),
6766
+ "undefined" !== typeof didWarnForKey.type
6767
+ ? (parentOwner = getComponentNameFromType(didWarnForKey.type))
6768
+ : "string" === typeof didWarnForKey.name &&
6769
+ (parentOwner = didWarnForKey.name),
6770
+ parentOwner &&
6771
+ (componentName =
6772
+ " It was passed a child from " + parentOwner + "."));
6773
+ didWarnForKey = task.componentStack;
6774
+ task.componentStack = {
6775
+ parent: task.componentStack,
6776
+ type: child.type,
6777
+ owner: child._owner,
6778
+ stack: child._debugStack
6779
+ };
6780
+ console.error(
6781
+ 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
6782
+ request,
6783
+ componentName
6784
+ );
6785
+ task.componentStack = didWarnForKey;
6786
+ }
6787
+ }
6788
+ }
6789
+ function renderChildrenArray(request, task, children, childIndex) {
6383
6790
  var prevKeyPath = task.keyPath,
6384
6791
  previousComponentStack = task.componentStack;
6385
6792
  var previousDebugTask = task.debugTask;
@@ -6400,7 +6807,7 @@
6400
6807
  node = node[3];
6401
6808
  task.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };
6402
6809
  try {
6403
- renderChildrenArray(request$jscomp$0, task, children, -1);
6810
+ renderChildrenArray(request, task, children, -1);
6404
6811
  if (
6405
6812
  1 === task.replay.pendingTasks &&
6406
6813
  0 < task.replay.nodes.length
@@ -6419,7 +6826,7 @@
6419
6826
  task.replay.pendingTasks--;
6420
6827
  children = getThrownInfo(task.componentStack);
6421
6828
  erroredReplay(
6422
- request$jscomp$0,
6829
+ request,
6423
6830
  task.blockedBoundary,
6424
6831
  x,
6425
6832
  children,
@@ -6449,15 +6856,9 @@
6449
6856
  task.treeContext = pushTreeContext(replay, replayNodes, childIndex);
6450
6857
  var resumeSegmentID = j[childIndex];
6451
6858
  "number" === typeof resumeSegmentID
6452
- ? (resumeNode(
6453
- request$jscomp$0,
6454
- task,
6455
- resumeSegmentID,
6456
- node,
6457
- childIndex
6458
- ),
6859
+ ? (resumeNode(request, task, resumeSegmentID, node, childIndex),
6459
6860
  delete j[childIndex])
6460
- : renderNode(request$jscomp$0, task, node, childIndex);
6861
+ : renderNode(request, task, node, childIndex);
6461
6862
  }
6462
6863
  task.treeContext = replay;
6463
6864
  task.keyPath = prevKeyPath;
@@ -6465,75 +6866,11 @@
6465
6866
  task.debugTask = previousDebugTask;
6466
6867
  return;
6467
6868
  }
6468
- for (j = 0; j < replayNodes; j++) {
6469
- childIndex = children[j];
6470
- var request = request$jscomp$0;
6471
- node = task;
6472
- resumeSegmentID = childIndex;
6473
- if (
6474
- null !== resumeSegmentID &&
6475
- "object" === typeof resumeSegmentID &&
6476
- (resumeSegmentID.$$typeof === REACT_ELEMENT_TYPE ||
6477
- resumeSegmentID.$$typeof === REACT_PORTAL_TYPE) &&
6478
- resumeSegmentID._store &&
6479
- ((!resumeSegmentID._store.validated && null == resumeSegmentID.key) ||
6480
- 2 === resumeSegmentID._store.validated)
6481
- ) {
6482
- if ("object" !== typeof resumeSegmentID._store)
6483
- throw Error(
6484
- "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
6485
- );
6486
- resumeSegmentID._store.validated = 1;
6487
- var didWarnForKey = request.didWarnForKey;
6488
- null == didWarnForKey &&
6489
- (didWarnForKey = request.didWarnForKey = new WeakSet());
6490
- request = node.componentStack;
6491
- if (null !== request && !didWarnForKey.has(request)) {
6492
- didWarnForKey.add(request);
6493
- var componentName = getComponentNameFromType(resumeSegmentID.type);
6494
- didWarnForKey = resumeSegmentID._owner;
6495
- var parentOwner = request.owner;
6496
- request = "";
6497
- if (parentOwner && "undefined" !== typeof parentOwner.type) {
6498
- var name = getComponentNameFromType(parentOwner.type);
6499
- name &&
6500
- (request = "\n\nCheck the render method of `" + name + "`.");
6501
- }
6502
- request ||
6503
- (componentName &&
6504
- (request =
6505
- "\n\nCheck the top-level render call using <" +
6506
- componentName +
6507
- ">."));
6508
- componentName = "";
6509
- null != didWarnForKey &&
6510
- parentOwner !== didWarnForKey &&
6511
- ((parentOwner = null),
6512
- "undefined" !== typeof didWarnForKey.type
6513
- ? (parentOwner = getComponentNameFromType(didWarnForKey.type))
6514
- : "string" === typeof didWarnForKey.name &&
6515
- (parentOwner = didWarnForKey.name),
6516
- parentOwner &&
6517
- (componentName =
6518
- " It was passed a child from " + parentOwner + "."));
6519
- didWarnForKey = node.componentStack;
6520
- node.componentStack = {
6521
- parent: node.componentStack,
6522
- type: resumeSegmentID.type,
6523
- owner: resumeSegmentID._owner,
6524
- stack: resumeSegmentID._debugStack
6525
- };
6526
- console.error(
6527
- 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
6528
- request,
6529
- componentName
6530
- );
6531
- node.componentStack = didWarnForKey;
6532
- }
6533
- }
6534
- task.treeContext = pushTreeContext(replay, replayNodes, j);
6535
- renderNode(request$jscomp$0, task, childIndex, j);
6536
- }
6869
+ for (j = 0; j < replayNodes; j++)
6870
+ (childIndex = children[j]),
6871
+ warnForMissingKey(request, task, childIndex),
6872
+ (task.treeContext = pushTreeContext(replay, replayNodes, j)),
6873
+ renderNode(request, task, childIndex, j);
6537
6874
  task.treeContext = replay;
6538
6875
  task.keyPath = prevKeyPath;
6539
6876
  task.componentStack = previousComponentStack;
@@ -6661,6 +6998,7 @@
6661
6998
  task.formatContext,
6662
6999
  task.context,
6663
7000
  task.treeContext,
7001
+ task.row,
6664
7002
  task.componentStack,
6665
7003
  emptyContextObject,
6666
7004
  task.debugTask
@@ -6692,6 +7030,7 @@
6692
7030
  task.formatContext,
6693
7031
  task.context,
6694
7032
  task.treeContext,
7033
+ task.row,
6695
7034
  task.componentStack,
6696
7035
  emptyContextObject,
6697
7036
  task.debugTask
@@ -6868,9 +7207,10 @@
6868
7207
  );
6869
7208
  }
6870
7209
  function abortTaskSoft(task) {
6871
- var boundary = task.blockedBoundary;
6872
- task = task.blockedSegment;
6873
- null !== task && ((task.status = 3), finishedTask(this, boundary, task));
7210
+ var boundary = task.blockedBoundary,
7211
+ segment = task.blockedSegment;
7212
+ null !== segment &&
7213
+ ((segment.status = 3), finishedTask(this, boundary, task.row, segment));
6874
7214
  }
6875
7215
  function abortRemainingReplayNodes(
6876
7216
  request$jscomp$0,
@@ -6904,6 +7244,7 @@
6904
7244
  wasAborted = aborted,
6905
7245
  resumedBoundary = createSuspenseBoundary(
6906
7246
  request,
7247
+ null,
6907
7248
  new Set(),
6908
7249
  null,
6909
7250
  null
@@ -6962,7 +7303,7 @@
6962
7303
  null !== boundary && null !== segment
6963
7304
  ? (logPostpone(request, error.message, errorInfo, null),
6964
7305
  trackPostpone(request, boundary, task, segment),
6965
- finishedTask(request, null, segment))
7306
+ finishedTask(request, null, task.row, segment))
6966
7307
  : ((task = Error(
6967
7308
  "The render was aborted with postpone when the shell is incomplete. Reason: " +
6968
7309
  error.message
@@ -6973,7 +7314,7 @@
6973
7314
  ? ((boundary = request.trackedPostpones),
6974
7315
  logRecoverableError(request, error, errorInfo, null),
6975
7316
  trackPostpone(request, boundary, task, segment),
6976
- finishedTask(request, null, segment))
7317
+ finishedTask(request, null, task.row, segment))
6977
7318
  : (logRecoverableError(request, error, errorInfo, null),
6978
7319
  fatalError(request, error, errorInfo, null));
6979
7320
  return;
@@ -6985,15 +7326,20 @@
6985
7326
  null !== error &&
6986
7327
  error.$$typeof === REACT_POSTPONE_TYPE
6987
7328
  ? (logPostpone(request, error.message, errorInfo, null),
6988
- (task = "POSTPONE"))
6989
- : (task = logRecoverableError(request, error, errorInfo, null)),
7329
+ (segment = "POSTPONE"))
7330
+ : (segment = logRecoverableError(
7331
+ request,
7332
+ error,
7333
+ errorInfo,
7334
+ null
7335
+ )),
6990
7336
  abortRemainingReplayNodes(
6991
7337
  request,
6992
7338
  null,
6993
7339
  boundary.nodes,
6994
7340
  boundary.slots,
6995
7341
  error,
6996
- task,
7342
+ segment,
6997
7343
  errorInfo,
6998
7344
  !0
6999
7345
  ));
@@ -7001,7 +7347,6 @@
7001
7347
  0 === request.pendingRootTasks && completeShell(request);
7002
7348
  }
7003
7349
  } else {
7004
- boundary.pendingTasks--;
7005
7350
  var _trackedPostpones2 = request.trackedPostpones;
7006
7351
  if (4 !== boundary.status) {
7007
7352
  if (null !== _trackedPostpones2 && null !== segment)
@@ -7016,7 +7361,7 @@
7016
7361
  return abortTask(fallbackTask, request, error);
7017
7362
  }),
7018
7363
  boundary.fallbackAbortableTasks.clear(),
7019
- finishedTask(request, boundary, segment)
7364
+ finishedTask(request, boundary, task.row, segment)
7020
7365
  );
7021
7366
  boundary.status = 4;
7022
7367
  if (
@@ -7027,26 +7372,35 @@
7027
7372
  logPostpone(request, error.message, errorInfo, null);
7028
7373
  if (null !== request.trackedPostpones && null !== segment) {
7029
7374
  trackPostpone(request, request.trackedPostpones, task, segment);
7030
- finishedTask(request, task.blockedBoundary, segment);
7375
+ finishedTask(request, task.blockedBoundary, task.row, segment);
7031
7376
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
7032
7377
  return abortTask(fallbackTask, request, error);
7033
7378
  });
7034
7379
  boundary.fallbackAbortableTasks.clear();
7035
7380
  return;
7036
7381
  }
7037
- task = "POSTPONE";
7038
- } else task = logRecoverableError(request, error, errorInfo, null);
7382
+ segment = "POSTPONE";
7383
+ } else segment = logRecoverableError(request, error, errorInfo, null);
7039
7384
  boundary.status = 4;
7040
- encodeErrorForBoundary(boundary, task, error, errorInfo, !0);
7385
+ encodeErrorForBoundary(boundary, segment, error, errorInfo, !0);
7041
7386
  untrackBoundary(request, boundary);
7042
7387
  boundary.parentFlushed &&
7043
7388
  request.clientRenderedBoundaries.push(boundary);
7044
7389
  }
7390
+ boundary.pendingTasks--;
7391
+ errorInfo = boundary.row;
7392
+ null !== errorInfo &&
7393
+ 0 === --errorInfo.pendingTasks &&
7394
+ finishSuspenseListRow(request, errorInfo);
7045
7395
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
7046
7396
  return abortTask(fallbackTask, request, error);
7047
7397
  });
7048
7398
  boundary.fallbackAbortableTasks.clear();
7049
7399
  }
7400
+ task = task.row;
7401
+ null !== task &&
7402
+ 0 === --task.pendingTasks &&
7403
+ finishSuspenseListRow(request, task);
7050
7404
  request.allPendingTasks--;
7051
7405
  0 === request.allPendingTasks && completeAll(request);
7052
7406
  }
@@ -7148,7 +7502,11 @@
7148
7502
  queueCompletedSegment(boundary, childSegment);
7149
7503
  } else boundary.completedSegments.push(segment);
7150
7504
  }
7151
- function finishedTask(request, boundary, segment) {
7505
+ function finishedTask(request, boundary, row, segment) {
7506
+ null !== row &&
7507
+ (0 === --row.pendingTasks
7508
+ ? finishSuspenseListRow(request, row)
7509
+ : row.together && tryToResolveTogetherRow(request, row));
7152
7510
  request.allPendingTasks--;
7153
7511
  if (null === boundary) {
7154
7512
  if (null !== segment && segment.parentFlushed) {
@@ -7172,23 +7530,33 @@
7172
7530
  boundary.parentFlushed &&
7173
7531
  request.completedBoundaries.push(boundary),
7174
7532
  1 === boundary.status &&
7175
- (500 < boundary.byteSize ||
7533
+ ((row = boundary.row),
7534
+ null !== row &&
7535
+ hoistHoistables(row.hoistables, boundary.contentState),
7536
+ 500 < boundary.byteSize ||
7176
7537
  (boundary.fallbackAbortableTasks.forEach(
7177
7538
  abortTaskSoft,
7178
7539
  request
7179
7540
  ),
7180
- boundary.fallbackAbortableTasks.clear()),
7541
+ boundary.fallbackAbortableTasks.clear(),
7542
+ null !== row &&
7543
+ 0 === --row.pendingTasks &&
7544
+ finishSuspenseListRow(request, row)),
7181
7545
  0 === request.pendingRootTasks &&
7182
7546
  null === request.trackedPostpones &&
7183
7547
  null !== boundary.contentPreamble &&
7184
7548
  preparePreamble(request)))
7185
- : null !== segment &&
7186
- segment.parentFlushed &&
7187
- 1 === segment.status &&
7188
- (queueCompletedSegment(boundary, segment),
7189
- 1 === boundary.completedSegments.length &&
7190
- boundary.parentFlushed &&
7191
- request.partialBoundaries.push(boundary)));
7549
+ : (null !== segment &&
7550
+ segment.parentFlushed &&
7551
+ 1 === segment.status &&
7552
+ (queueCompletedSegment(boundary, segment),
7553
+ 1 === boundary.completedSegments.length &&
7554
+ boundary.parentFlushed &&
7555
+ request.partialBoundaries.push(boundary)),
7556
+ (boundary = boundary.row),
7557
+ null !== boundary &&
7558
+ boundary.together &&
7559
+ tryToResolveTogetherRow(request, boundary)));
7192
7560
  0 === request.allPendingTasks && completeAll(request);
7193
7561
  }
7194
7562
  function performWork(request$jscomp$1) {
@@ -7236,7 +7604,12 @@
7236
7604
  );
7237
7605
  request.replay.pendingTasks--;
7238
7606
  request.abortSet.delete(request);
7239
- finishedTask(request$jscomp$0, request.blockedBoundary, null);
7607
+ finishedTask(
7608
+ request$jscomp$0,
7609
+ request.blockedBoundary,
7610
+ request.row,
7611
+ null
7612
+ );
7240
7613
  } catch (thrownValue) {
7241
7614
  resetHooksState();
7242
7615
  var x =
@@ -7296,6 +7669,7 @@
7296
7669
  finishedTask(
7297
7670
  request,
7298
7671
  task$jscomp$0.blockedBoundary,
7672
+ task$jscomp$0.row,
7299
7673
  segment$jscomp$0
7300
7674
  );
7301
7675
  } catch (thrownValue) {
@@ -7341,6 +7715,7 @@
7341
7715
  finishedTask(
7342
7716
  request,
7343
7717
  task$jscomp$0.blockedBoundary,
7718
+ task$jscomp$0.row,
7344
7719
  segment$jscomp$0
7345
7720
  );
7346
7721
  } else {
@@ -7380,6 +7755,7 @@
7380
7755
  finishedTask(
7381
7756
  request,
7382
7757
  task$jscomp$0.blockedBoundary,
7758
+ task$jscomp$0.row,
7383
7759
  segment$jscomp$0
7384
7760
  );
7385
7761
  break a;
@@ -7391,7 +7767,12 @@
7391
7767
  task$jscomp$0.abortSet.delete(task$jscomp$0);
7392
7768
  segment$jscomp$0.status = 4;
7393
7769
  var boundary = task$jscomp$0.blockedBoundary,
7770
+ row = task$jscomp$0.row,
7394
7771
  debugTask = task$jscomp$0.debugTask;
7772
+ null !== row &&
7773
+ 0 === --row.pendingTasks &&
7774
+ finishSuspenseListRow(request, row);
7775
+ request.allPendingTasks--;
7395
7776
  "object" === typeof x$jscomp$0 &&
7396
7777
  null !== x$jscomp$0 &&
7397
7778
  x$jscomp$0.$$typeof === REACT_POSTPONE_TYPE
@@ -7408,31 +7789,36 @@
7408
7789
  errorInfo$jscomp$0,
7409
7790
  debugTask
7410
7791
  ));
7411
- null === boundary
7412
- ? fatalError(
7413
- request,
7414
- x$jscomp$0,
7415
- errorInfo$jscomp$0,
7416
- debugTask
7417
- )
7418
- : (boundary.pendingTasks--,
7419
- 4 !== boundary.status &&
7420
- ((boundary.status = 4),
7421
- encodeErrorForBoundary(
7422
- boundary,
7423
- prevTaskInDEV,
7424
- x$jscomp$0,
7425
- errorInfo$jscomp$0,
7426
- !1
7427
- ),
7428
- untrackBoundary(request, boundary),
7429
- boundary.parentFlushed &&
7430
- request.clientRenderedBoundaries.push(boundary),
7431
- 0 === request.pendingRootTasks &&
7432
- null === request.trackedPostpones &&
7433
- null !== boundary.contentPreamble &&
7434
- preparePreamble(request)));
7435
- request.allPendingTasks--;
7792
+ if (null === boundary)
7793
+ fatalError(
7794
+ request,
7795
+ x$jscomp$0,
7796
+ errorInfo$jscomp$0,
7797
+ debugTask
7798
+ );
7799
+ else if (
7800
+ (boundary.pendingTasks--, 4 !== boundary.status)
7801
+ ) {
7802
+ boundary.status = 4;
7803
+ encodeErrorForBoundary(
7804
+ boundary,
7805
+ prevTaskInDEV,
7806
+ x$jscomp$0,
7807
+ errorInfo$jscomp$0,
7808
+ !1
7809
+ );
7810
+ untrackBoundary(request, boundary);
7811
+ var boundaryRow = boundary.row;
7812
+ null !== boundaryRow &&
7813
+ 0 === --boundaryRow.pendingTasks &&
7814
+ finishSuspenseListRow(request, boundaryRow);
7815
+ boundary.parentFlushed &&
7816
+ request.clientRenderedBoundaries.push(boundary);
7817
+ 0 === request.pendingRootTasks &&
7818
+ null === request.trackedPostpones &&
7819
+ null !== boundary.contentPreamble &&
7820
+ preparePreamble(request);
7821
+ }
7436
7822
  0 === request.allPendingTasks && completeAll(request);
7437
7823
  }
7438
7824
  } finally {
@@ -7583,7 +7969,14 @@
7583
7969
  return flushSubtree(request, destination, segment, hoistableState);
7584
7970
  boundary.parentFlushed = !0;
7585
7971
  if (4 === boundary.status)
7586
- return flushSubtree(request, destination, segment, hoistableState), !0;
7972
+ return (
7973
+ (boundary = boundary.row),
7974
+ null !== boundary &&
7975
+ 0 === --boundary.pendingTasks &&
7976
+ finishSuspenseListRow(request, boundary),
7977
+ flushSubtree(request, destination, segment, hoistableState),
7978
+ !0
7979
+ );
7587
7980
  if (1 !== boundary.status)
7588
7981
  return (
7589
7982
  0 === boundary.status &&
@@ -7596,12 +7989,7 @@
7596
7989
  boundary.rootSegmentID
7597
7990
  ),
7598
7991
  hoistableState &&
7599
- ((boundary = boundary.fallbackState),
7600
- boundary.styles.forEach(hoistStyleQueueDependency, hoistableState),
7601
- boundary.stylesheets.forEach(
7602
- hoistStylesheetDependency,
7603
- hoistableState
7604
- )),
7992
+ hoistHoistables(hoistableState, boundary.fallbackState),
7605
7993
  flushSubtree(request, destination, segment, hoistableState),
7606
7994
  destination.push("\x3c!--/$--\x3e")
7607
7995
  );
@@ -7621,10 +8009,12 @@
7621
8009
  destination.push("\x3c!--/$--\x3e")
7622
8010
  );
7623
8011
  flushedByteSize += boundary.byteSize;
7624
- hoistableState &&
7625
- ((segment = boundary.contentState),
7626
- segment.styles.forEach(hoistStyleQueueDependency, hoistableState),
7627
- segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState));
8012
+ hoistableState && hoistHoistables(hoistableState, boundary.contentState);
8013
+ segment = boundary.row;
8014
+ null !== segment &&
8015
+ 500 < boundary.byteSize &&
8016
+ 0 === --segment.pendingTasks &&
8017
+ finishSuspenseListRow(request, segment);
7628
8018
  segment = boundary.completedSegments;
7629
8019
  if (1 !== segment.length)
7630
8020
  throw Error(
@@ -7662,6 +8052,11 @@
7662
8052
  completedSegments[i]
7663
8053
  );
7664
8054
  completedSegments.length = 0;
8055
+ completedSegments = boundary.row;
8056
+ null !== completedSegments &&
8057
+ 500 < boundary.byteSize &&
8058
+ 0 === --completedSegments.pendingTasks &&
8059
+ finishSuspenseListRow(request, completedSegments);
7665
8060
  writeHoistablesForBoundary(
7666
8061
  destination,
7667
8062
  boundary.contentState,
@@ -7731,11 +8126,12 @@
7731
8126
  ? destination.push(")\x3c/script>")
7732
8127
  : destination.push('"></template>');
7733
8128
  request = request.bootstrapChunks;
7734
- for (i = 0; i < request.length - 1; i++) destination.push(request[i]);
7735
- i < request.length
7736
- ? ((i = request[i]),
8129
+ for (boundary = 0; boundary < request.length - 1; boundary++)
8130
+ destination.push(request[boundary]);
8131
+ boundary < request.length
8132
+ ? ((boundary = request[boundary]),
7737
8133
  (request.length = 0),
7738
- (destination = destination.push(i)))
8134
+ (destination = destination.push(boundary)))
7739
8135
  : (destination = !0);
7740
8136
  return destination && completedSegments;
7741
8137
  }
@@ -8071,6 +8467,17 @@
8071
8467
  break a;
8072
8468
  }
8073
8469
  completedSegments.splice(0, JSCompiler_inline_result);
8470
+ var row = boundary$jscomp$0.row;
8471
+ null !== row &&
8472
+ row.together &&
8473
+ 1 === boundary$jscomp$0.pendingTasks &&
8474
+ (1 === row.pendingTasks
8475
+ ? unblockSuspenseListRow(
8476
+ clientRenderedBoundaries,
8477
+ row,
8478
+ row.hoistables
8479
+ )
8480
+ : row.pendingTasks--);
8074
8481
  JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(
8075
8482
  boundary,
8076
8483
  boundary$jscomp$0.contentState,
@@ -9203,5 +9610,5 @@
9203
9610
  });
9204
9611
  });
9205
9612
  };
9206
- exports.version = "19.2.0-experimental-462d08f9-20250517";
9613
+ exports.version = "19.2.0-experimental-23884812-20250520";
9207
9614
  })();