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.
@@ -5736,6 +5736,10 @@ function hoistStyleQueueDependency(styleQueue) {
5736
5736
  function hoistStylesheetDependency(stylesheet) {
5737
5737
  this.stylesheets.add(stylesheet);
5738
5738
  }
5739
+ function hoistHoistables(parentState, childState) {
5740
+ childState.styles.forEach(hoistStyleQueueDependency, parentState);
5741
+ childState.stylesheets.forEach(hoistStylesheetDependency, parentState);
5742
+ }
5739
5743
  var emptyContextObject = {},
5740
5744
  currentActiveSnapshot = null;
5741
5745
  function popToNearestCommonAncestor(prev, next) {
@@ -6305,6 +6309,7 @@ function createRequest(
6305
6309
  rootFormatContext,
6306
6310
  null,
6307
6311
  emptyTreeContext,
6312
+ null,
6308
6313
  null
6309
6314
  );
6310
6315
  pushComponentStack(children);
@@ -6319,15 +6324,17 @@ function pingTask(request, task) {
6319
6324
  }
6320
6325
  function createSuspenseBoundary(
6321
6326
  request,
6327
+ row,
6322
6328
  fallbackAbortableTasks,
6323
6329
  contentPreamble,
6324
6330
  fallbackPreamble
6325
6331
  ) {
6326
- return {
6332
+ fallbackAbortableTasks = {
6327
6333
  status: 0,
6328
6334
  rootSegmentID: -1,
6329
6335
  parentFlushed: !1,
6330
6336
  pendingTasks: 0,
6337
+ row: row,
6331
6338
  completedSegments: [],
6332
6339
  byteSize: 0,
6333
6340
  fallbackAbortableTasks: fallbackAbortableTasks,
@@ -6339,6 +6346,17 @@ function createSuspenseBoundary(
6339
6346
  trackedContentKeyPath: null,
6340
6347
  trackedFallbackNode: null
6341
6348
  };
6349
+ null !== row &&
6350
+ (row.pendingTasks++,
6351
+ (contentPreamble = row.boundaries),
6352
+ null !== contentPreamble &&
6353
+ (request.allPendingTasks++,
6354
+ fallbackAbortableTasks.pendingTasks++,
6355
+ contentPreamble.push(fallbackAbortableTasks)),
6356
+ (request = row.inheritedHoistables),
6357
+ null !== request &&
6358
+ hoistHoistables(fallbackAbortableTasks.contentState, request));
6359
+ return fallbackAbortableTasks;
6342
6360
  }
6343
6361
  function createRenderTask(
6344
6362
  request,
@@ -6354,12 +6372,14 @@ function createRenderTask(
6354
6372
  formatContext,
6355
6373
  context,
6356
6374
  treeContext,
6375
+ row,
6357
6376
  componentStack
6358
6377
  ) {
6359
6378
  request.allPendingTasks++;
6360
6379
  null === blockedBoundary
6361
6380
  ? request.pendingRootTasks++
6362
6381
  : blockedBoundary.pendingTasks++;
6382
+ null !== row && row.pendingTasks++;
6363
6383
  var task = {
6364
6384
  replay: null,
6365
6385
  node: node,
@@ -6376,6 +6396,7 @@ function createRenderTask(
6376
6396
  formatContext: formatContext,
6377
6397
  context: context,
6378
6398
  treeContext: treeContext,
6399
+ row: row,
6379
6400
  componentStack: componentStack,
6380
6401
  thenableState: thenableState
6381
6402
  };
@@ -6395,12 +6416,14 @@ function createReplayTask(
6395
6416
  formatContext,
6396
6417
  context,
6397
6418
  treeContext,
6419
+ row,
6398
6420
  componentStack
6399
6421
  ) {
6400
6422
  request.allPendingTasks++;
6401
6423
  null === blockedBoundary
6402
6424
  ? request.pendingRootTasks++
6403
6425
  : blockedBoundary.pendingTasks++;
6426
+ null !== row && row.pendingTasks++;
6404
6427
  replay.pendingTasks++;
6405
6428
  var task = {
6406
6429
  replay: replay,
@@ -6418,6 +6441,7 @@ function createReplayTask(
6418
6441
  formatContext: formatContext,
6419
6442
  context: context,
6420
6443
  treeContext: treeContext,
6444
+ row: row,
6421
6445
  componentStack: componentStack,
6422
6446
  thenableState: thenableState
6423
6447
  };
@@ -6499,6 +6523,158 @@ function fatalError(request, error) {
6499
6523
  ? ((request.status = 14), request.destination.destroy(error))
6500
6524
  : ((request.status = 13), (request.fatalError = error));
6501
6525
  }
6526
+ function finishSuspenseListRow(request, row) {
6527
+ unblockSuspenseListRow(request, row.next, row.hoistables);
6528
+ }
6529
+ function unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {
6530
+ for (; null !== unblockedRow; ) {
6531
+ null !== inheritedHoistables &&
6532
+ (hoistHoistables(unblockedRow.hoistables, inheritedHoistables),
6533
+ (unblockedRow.inheritedHoistables = inheritedHoistables));
6534
+ var unblockedBoundaries = unblockedRow.boundaries;
6535
+ if (null !== unblockedBoundaries) {
6536
+ unblockedRow.boundaries = null;
6537
+ for (var i = 0; i < unblockedBoundaries.length; i++) {
6538
+ var unblockedBoundary = unblockedBoundaries[i];
6539
+ null !== inheritedHoistables &&
6540
+ hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);
6541
+ finishedTask(request, unblockedBoundary, null, null);
6542
+ }
6543
+ }
6544
+ unblockedRow.pendingTasks--;
6545
+ if (0 < unblockedRow.pendingTasks) break;
6546
+ inheritedHoistables = unblockedRow.hoistables;
6547
+ unblockedRow = unblockedRow.next;
6548
+ }
6549
+ }
6550
+ function tryToResolveTogetherRow(request, togetherRow) {
6551
+ var boundaries = togetherRow.boundaries;
6552
+ if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {
6553
+ for (var allCompleteAndInlinable = !0, i = 0; i < boundaries.length; i++) {
6554
+ var rowBoundary = boundaries[i];
6555
+ if (
6556
+ 1 !== rowBoundary.pendingTasks ||
6557
+ rowBoundary.parentFlushed ||
6558
+ 500 < rowBoundary.byteSize
6559
+ ) {
6560
+ allCompleteAndInlinable = !1;
6561
+ break;
6562
+ }
6563
+ }
6564
+ allCompleteAndInlinable &&
6565
+ unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);
6566
+ }
6567
+ }
6568
+ function createSuspenseListRow(previousRow) {
6569
+ var newRow = {
6570
+ pendingTasks: 1,
6571
+ boundaries: null,
6572
+ hoistables: createHoistableState(),
6573
+ inheritedHoistables: null,
6574
+ together: !1,
6575
+ next: null
6576
+ };
6577
+ null !== previousRow &&
6578
+ 0 < previousRow.pendingTasks &&
6579
+ (newRow.pendingTasks++,
6580
+ (newRow.boundaries = []),
6581
+ (previousRow.next = newRow));
6582
+ return newRow;
6583
+ }
6584
+ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
6585
+ var prevKeyPath = task.keyPath,
6586
+ prevTreeContext = task.treeContext,
6587
+ prevRow = task.row;
6588
+ task.keyPath = keyPath;
6589
+ keyPath = rows.length;
6590
+ var previousSuspenseListRow = null;
6591
+ if (null !== task.replay) {
6592
+ var resumeSlots = task.replay.slots;
6593
+ if (null !== resumeSlots && "object" === typeof resumeSlots)
6594
+ for (var n = 0; n < keyPath; n++) {
6595
+ var i = "backwards" !== revealOrder ? n : keyPath - 1 - n,
6596
+ node = rows[i];
6597
+ task.row = previousSuspenseListRow = createSuspenseListRow(
6598
+ previousSuspenseListRow
6599
+ );
6600
+ task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
6601
+ var resumeSegmentID = resumeSlots[i];
6602
+ "number" === typeof resumeSegmentID
6603
+ ? (resumeNode(request, task, resumeSegmentID, node, i),
6604
+ delete resumeSlots[i])
6605
+ : renderNode(request, task, node, i);
6606
+ 0 === --previousSuspenseListRow.pendingTasks &&
6607
+ finishSuspenseListRow(request, previousSuspenseListRow);
6608
+ }
6609
+ else
6610
+ for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)
6611
+ (n =
6612
+ "backwards" !== revealOrder
6613
+ ? resumeSlots
6614
+ : keyPath - 1 - resumeSlots),
6615
+ (i = rows[n]),
6616
+ (task.row = previousSuspenseListRow =
6617
+ createSuspenseListRow(previousSuspenseListRow)),
6618
+ (task.treeContext = pushTreeContext(prevTreeContext, keyPath, n)),
6619
+ renderNode(request, task, i, n),
6620
+ 0 === --previousSuspenseListRow.pendingTasks &&
6621
+ finishSuspenseListRow(request, previousSuspenseListRow);
6622
+ } else if ("backwards" !== revealOrder)
6623
+ for (revealOrder = 0; revealOrder < keyPath; revealOrder++)
6624
+ (resumeSlots = rows[revealOrder]),
6625
+ (task.row = previousSuspenseListRow =
6626
+ createSuspenseListRow(previousSuspenseListRow)),
6627
+ (task.treeContext = pushTreeContext(
6628
+ prevTreeContext,
6629
+ keyPath,
6630
+ revealOrder
6631
+ )),
6632
+ renderNode(request, task, resumeSlots, revealOrder),
6633
+ 0 === --previousSuspenseListRow.pendingTasks &&
6634
+ finishSuspenseListRow(request, previousSuspenseListRow);
6635
+ else {
6636
+ revealOrder = task.blockedSegment;
6637
+ resumeSlots = revealOrder.children.length;
6638
+ n = revealOrder.chunks.length;
6639
+ for (i = keyPath - 1; 0 <= i; i--) {
6640
+ node = rows[i];
6641
+ task.row = previousSuspenseListRow = createSuspenseListRow(
6642
+ previousSuspenseListRow
6643
+ );
6644
+ task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
6645
+ resumeSegmentID = createPendingSegment(
6646
+ request,
6647
+ n,
6648
+ null,
6649
+ task.formatContext,
6650
+ 0 === i ? revealOrder.lastPushedText : !0,
6651
+ !0
6652
+ );
6653
+ revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);
6654
+ task.blockedSegment = resumeSegmentID;
6655
+ try {
6656
+ renderNode(request, task, node, i),
6657
+ (resumeSegmentID.status = 1),
6658
+ 0 === --previousSuspenseListRow.pendingTasks &&
6659
+ finishSuspenseListRow(request, previousSuspenseListRow);
6660
+ } catch (thrownValue) {
6661
+ throw (
6662
+ ((resumeSegmentID.status = 12 === request.status ? 3 : 4),
6663
+ thrownValue)
6664
+ );
6665
+ }
6666
+ }
6667
+ task.blockedSegment = revealOrder;
6668
+ revealOrder.lastPushedText = !1;
6669
+ }
6670
+ null !== prevRow &&
6671
+ null !== previousSuspenseListRow &&
6672
+ 0 < previousSuspenseListRow.pendingTasks &&
6673
+ (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));
6674
+ task.treeContext = prevTreeContext;
6675
+ task.row = prevRow;
6676
+ task.keyPath = prevKeyPath;
6677
+ }
6502
6678
  function renderWithHooks(request, task, keyPath, Component, props, secondArg) {
6503
6679
  var prevThenableState = task.thenableState;
6504
6680
  task.thenableState = null;
@@ -6566,9 +6742,9 @@ function renderElement(request, task, keyPath, type, props, ref) {
6566
6742
  var defaultProps = type.defaultProps;
6567
6743
  if (defaultProps) {
6568
6744
  newProps === props && (newProps = assign({}, newProps, props));
6569
- for (var propName$89 in defaultProps)
6570
- void 0 === newProps[propName$89] &&
6571
- (newProps[propName$89] = defaultProps[propName$89]);
6745
+ for (var propName$101 in defaultProps)
6746
+ void 0 === newProps[propName$101] &&
6747
+ (newProps[propName$101] = defaultProps[propName$101]);
6572
6748
  }
6573
6749
  var JSCompiler_inline_result = newProps;
6574
6750
  var context = emptyContextObject,
@@ -6735,13 +6911,13 @@ function renderElement(request, task, keyPath, type, props, ref) {
6735
6911
  textEmbedded
6736
6912
  );
6737
6913
  segment.lastPushedText = !1;
6738
- var prevContext$87 = task.formatContext,
6739
- prevKeyPath$88 = task.keyPath;
6914
+ var prevContext$99 = task.formatContext,
6915
+ prevKeyPath$100 = task.keyPath;
6740
6916
  task.keyPath = keyPath;
6741
6917
  if (
6742
6918
  3 ===
6743
6919
  (task.formatContext = getChildFormatContext(
6744
- prevContext$87,
6920
+ prevContext$99,
6745
6921
  type,
6746
6922
  props
6747
6923
  )).insertionMode
@@ -6769,13 +6945,14 @@ function renderElement(request, task, keyPath, type, props, ref) {
6769
6945
  task.formatContext,
6770
6946
  task.context,
6771
6947
  task.treeContext,
6948
+ task.row,
6772
6949
  task.componentStack
6773
6950
  );
6774
6951
  pushComponentStack(preambleTask);
6775
6952
  request.pingedTasks.push(preambleTask);
6776
6953
  } else renderNode(request, task, JSCompiler_inline_result$jscomp$2, -1);
6777
- task.formatContext = prevContext$87;
6778
- task.keyPath = prevKeyPath$88;
6954
+ task.formatContext = prevContext$99;
6955
+ task.keyPath = prevKeyPath$100;
6779
6956
  a: {
6780
6957
  var target$jscomp$0 = segment.chunks,
6781
6958
  resumableState$jscomp$0 = request.resumableState;
@@ -6800,19 +6977,19 @@ function renderElement(request, task, keyPath, type, props, ref) {
6800
6977
  case "wbr":
6801
6978
  break a;
6802
6979
  case "body":
6803
- if (1 >= prevContext$87.insertionMode) {
6980
+ if (1 >= prevContext$99.insertionMode) {
6804
6981
  resumableState$jscomp$0.hasBody = !0;
6805
6982
  break a;
6806
6983
  }
6807
6984
  break;
6808
6985
  case "html":
6809
- if (0 === prevContext$87.insertionMode) {
6986
+ if (0 === prevContext$99.insertionMode) {
6810
6987
  resumableState$jscomp$0.hasHtml = !0;
6811
6988
  break a;
6812
6989
  }
6813
6990
  break;
6814
6991
  case "head":
6815
- if (1 >= prevContext$87.insertionMode) break a;
6992
+ if (1 >= prevContext$99.insertionMode) break a;
6816
6993
  }
6817
6994
  target$jscomp$0.push(endChunkForTag(type));
6818
6995
  }
@@ -6840,22 +7017,114 @@ function renderElement(request, task, keyPath, type, props, ref) {
6840
7017
  }
6841
7018
  } else if ("hidden" !== props.mode) {
6842
7019
  segment$jscomp$0.lastPushedText = !1;
6843
- var prevKeyPath$91 = task.keyPath;
7020
+ var prevKeyPath$103 = task.keyPath;
6844
7021
  task.keyPath = keyPath;
6845
7022
  renderNode(request, task, props.children, -1);
6846
- task.keyPath = prevKeyPath$91;
7023
+ task.keyPath = prevKeyPath$103;
6847
7024
  segment$jscomp$0.lastPushedText = !1;
6848
7025
  }
6849
7026
  return;
6850
7027
  case REACT_SUSPENSE_LIST_TYPE:
6851
- var prevKeyPath$92 = task.keyPath;
6852
- task.keyPath = keyPath;
6853
- renderNodeDestructive(request, task, props.children, -1);
6854
- task.keyPath = prevKeyPath$92;
7028
+ a: {
7029
+ var children$jscomp$0 = props.children,
7030
+ revealOrder = props.revealOrder;
7031
+ if ("forwards" === revealOrder || "backwards" === revealOrder) {
7032
+ if (isArrayImpl(children$jscomp$0)) {
7033
+ renderSuspenseListRows(
7034
+ request,
7035
+ task,
7036
+ keyPath,
7037
+ children$jscomp$0,
7038
+ revealOrder
7039
+ );
7040
+ break a;
7041
+ }
7042
+ var iteratorFn = getIteratorFn(children$jscomp$0);
7043
+ if (iteratorFn) {
7044
+ var iterator = iteratorFn.call(children$jscomp$0);
7045
+ if (iterator) {
7046
+ var step = iterator.next();
7047
+ if (!step.done) {
7048
+ do step = iterator.next();
7049
+ while (!step.done);
7050
+ renderSuspenseListRows(
7051
+ request,
7052
+ task,
7053
+ keyPath,
7054
+ children$jscomp$0,
7055
+ revealOrder
7056
+ );
7057
+ }
7058
+ break a;
7059
+ }
7060
+ }
7061
+ if ("function" === typeof children$jscomp$0[ASYNC_ITERATOR]) {
7062
+ var iterator$94 = children$jscomp$0[ASYNC_ITERATOR]();
7063
+ if (iterator$94) {
7064
+ var prevThenableState = task.thenableState;
7065
+ task.thenableState = null;
7066
+ thenableIndexCounter = 0;
7067
+ thenableState = prevThenableState;
7068
+ var rows = [],
7069
+ done = !1;
7070
+ if (iterator$94 === children$jscomp$0)
7071
+ for (
7072
+ var step$95 = readPreviousThenableFromState();
7073
+ void 0 !== step$95;
7074
+
7075
+ ) {
7076
+ if (step$95.done) {
7077
+ done = !0;
7078
+ break;
7079
+ }
7080
+ rows.push(step$95.value);
7081
+ step$95 = readPreviousThenableFromState();
7082
+ }
7083
+ if (!done)
7084
+ for (
7085
+ var step$96 = unwrapThenable(iterator$94.next());
7086
+ !step$96.done;
7087
+
7088
+ )
7089
+ rows.push(step$96.value),
7090
+ (step$96 = unwrapThenable(iterator$94.next()));
7091
+ renderSuspenseListRows(
7092
+ request,
7093
+ task,
7094
+ keyPath,
7095
+ rows,
7096
+ revealOrder
7097
+ );
7098
+ break a;
7099
+ }
7100
+ }
7101
+ }
7102
+ if ("together" === revealOrder) {
7103
+ var prevKeyPath$97 = task.keyPath,
7104
+ prevRow = task.row,
7105
+ newRow = (task.row = createSuspenseListRow(null));
7106
+ newRow.boundaries = [];
7107
+ newRow.together = !0;
7108
+ task.keyPath = keyPath;
7109
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
7110
+ 0 === --newRow.pendingTasks &&
7111
+ finishSuspenseListRow(request, newRow);
7112
+ task.keyPath = prevKeyPath$97;
7113
+ task.row = prevRow;
7114
+ null !== prevRow &&
7115
+ 0 < newRow.pendingTasks &&
7116
+ (prevRow.pendingTasks++, (newRow.next = prevRow));
7117
+ } else {
7118
+ var prevKeyPath$jscomp$3 = task.keyPath;
7119
+ task.keyPath = keyPath;
7120
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
7121
+ task.keyPath = prevKeyPath$jscomp$3;
7122
+ }
7123
+ }
6855
7124
  return;
6856
7125
  case REACT_VIEW_TRANSITION_TYPE:
6857
7126
  var prevContext$jscomp$0 = task.formatContext,
6858
- prevKeyPath$jscomp$3 = task.keyPath;
7127
+ prevKeyPath$jscomp$4 = task.keyPath;
6859
7128
  var resumableState$jscomp$1 = request.resumableState;
6860
7129
  if (null == props.name || "auto" === props.name) {
6861
7130
  var treeId = getTreeId(task.treeContext);
@@ -6872,29 +7141,33 @@ function renderElement(request, task, keyPath, type, props, ref) {
6872
7141
  task.treeContext = prevTreeContext;
6873
7142
  }
6874
7143
  task.formatContext = prevContext$jscomp$0;
6875
- task.keyPath = prevKeyPath$jscomp$3;
7144
+ task.keyPath = prevKeyPath$jscomp$4;
6876
7145
  return;
6877
7146
  case REACT_SCOPE_TYPE:
6878
7147
  throw Error("ReactDOMServer does not yet support scope components.");
6879
7148
  case REACT_SUSPENSE_TYPE:
6880
7149
  a: if (null !== task.replay) {
6881
7150
  var prevKeyPath$81 = task.keyPath,
6882
- prevContext$82 = task.formatContext;
7151
+ prevContext$82 = task.formatContext,
7152
+ prevRow$83 = task.row;
6883
7153
  task.keyPath = keyPath;
6884
7154
  task.formatContext = getSuspenseContentFormatContext(
6885
7155
  request.resumableState,
6886
7156
  prevContext$82
6887
7157
  );
6888
- var content$83 = props.children;
7158
+ task.row = null;
7159
+ var content$84 = props.children;
6889
7160
  try {
6890
- renderNode(request, task, content$83, -1);
7161
+ renderNode(request, task, content$84, -1);
6891
7162
  } finally {
6892
7163
  (task.keyPath = prevKeyPath$81),
6893
- (task.formatContext = prevContext$82);
7164
+ (task.formatContext = prevContext$82),
7165
+ (task.row = prevRow$83);
6894
7166
  }
6895
7167
  } else {
6896
- var prevKeyPath$jscomp$4 = task.keyPath,
7168
+ var prevKeyPath$jscomp$5 = task.keyPath,
6897
7169
  prevContext$jscomp$1 = task.formatContext,
7170
+ prevRow$jscomp$0 = task.row,
6898
7171
  parentBoundary = task.blockedBoundary,
6899
7172
  parentPreamble = task.blockedPreamble,
6900
7173
  parentHoistableState = task.hoistableState,
@@ -6906,11 +7179,18 @@ function renderElement(request, task, keyPath, type, props, ref) {
6906
7179
  2 > task.formatContext.insertionMode
6907
7180
  ? createSuspenseBoundary(
6908
7181
  request,
7182
+ task.row,
6909
7183
  fallbackAbortSet,
6910
7184
  createPreambleState(),
6911
7185
  createPreambleState()
6912
7186
  )
6913
- : createSuspenseBoundary(request, fallbackAbortSet, null, null);
7187
+ : createSuspenseBoundary(
7188
+ request,
7189
+ task.row,
7190
+ fallbackAbortSet,
7191
+ null,
7192
+ null
7193
+ );
6914
7194
  null !== request.trackedPostpones &&
6915
7195
  (newBoundary.trackedContentKeyPath = keyPath);
6916
7196
  var boundarySegment = createPendingSegment(
@@ -6964,7 +7244,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
6964
7244
  } finally {
6965
7245
  (task.blockedSegment = parentSegment),
6966
7246
  (task.blockedPreamble = parentPreamble),
6967
- (task.keyPath = prevKeyPath$jscomp$4),
7247
+ (task.keyPath = prevKeyPath$jscomp$5),
6968
7248
  (task.formatContext = prevContext$jscomp$1);
6969
7249
  }
6970
7250
  var suspendedPrimaryTask = createRenderTask(
@@ -6984,6 +7264,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
6984
7264
  ),
6985
7265
  task.context,
6986
7266
  task.treeContext,
7267
+ null,
6987
7268
  task.componentStack
6988
7269
  );
6989
7270
  pushComponentStack(suspendedPrimaryTask);
@@ -6998,27 +7279,34 @@ function renderElement(request, task, keyPath, type, props, ref) {
6998
7279
  request.resumableState,
6999
7280
  prevContext$jscomp$1
7000
7281
  );
7282
+ task.row = null;
7001
7283
  contentRootSegment.status = 6;
7002
7284
  try {
7003
7285
  if (
7004
7286
  (renderNode(request, task, content, -1),
7005
7287
  (contentRootSegment.status = 1),
7006
7288
  queueCompletedSegment(newBoundary, contentRootSegment),
7007
- 0 === newBoundary.pendingTasks &&
7008
- 0 === newBoundary.status &&
7009
- ((newBoundary.status = 1), !(500 < newBoundary.byteSize)))
7289
+ 0 === newBoundary.pendingTasks && 0 === newBoundary.status)
7010
7290
  ) {
7011
- 0 === request.pendingRootTasks &&
7012
- task.blockedPreamble &&
7013
- preparePreamble(request);
7014
- break a;
7015
- }
7016
- } catch (thrownValue$84) {
7291
+ if (((newBoundary.status = 1), !(500 < newBoundary.byteSize))) {
7292
+ null !== prevRow$jscomp$0 &&
7293
+ 0 === --prevRow$jscomp$0.pendingTasks &&
7294
+ finishSuspenseListRow(request, prevRow$jscomp$0);
7295
+ 0 === request.pendingRootTasks &&
7296
+ task.blockedPreamble &&
7297
+ preparePreamble(request);
7298
+ break a;
7299
+ }
7300
+ } else
7301
+ null !== prevRow$jscomp$0 &&
7302
+ prevRow$jscomp$0.together &&
7303
+ tryToResolveTogetherRow(request, prevRow$jscomp$0);
7304
+ } catch (thrownValue$85) {
7017
7305
  newBoundary.status = 4;
7018
7306
  if (12 === request.status) {
7019
7307
  contentRootSegment.status = 3;
7020
7308
  var error = request.fatalError;
7021
- } else (contentRootSegment.status = 4), (error = thrownValue$84);
7309
+ } else (contentRootSegment.status = 4), (error = thrownValue$85);
7022
7310
  var thrownInfo = getThrownInfo(task.componentStack);
7023
7311
  if (
7024
7312
  "object" === typeof error &&
@@ -7036,8 +7324,9 @@ function renderElement(request, task, keyPath, type, props, ref) {
7036
7324
  (task.blockedPreamble = parentPreamble),
7037
7325
  (task.hoistableState = parentHoistableState),
7038
7326
  (task.blockedSegment = parentSegment),
7039
- (task.keyPath = prevKeyPath$jscomp$4),
7040
- (task.formatContext = prevContext$jscomp$1);
7327
+ (task.keyPath = prevKeyPath$jscomp$5),
7328
+ (task.formatContext = prevContext$jscomp$1),
7329
+ (task.row = prevRow$jscomp$0);
7041
7330
  }
7042
7331
  var suspendedFallbackTask = createRenderTask(
7043
7332
  request,
@@ -7056,6 +7345,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
7056
7345
  ),
7057
7346
  task.context,
7058
7347
  task.treeContext,
7348
+ task.row,
7059
7349
  task.componentStack
7060
7350
  );
7061
7351
  pushComponentStack(suspendedFallbackTask);
@@ -7072,7 +7362,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
7072
7362
  for (var key in props)
7073
7363
  "ref" !== key && (propsWithoutRef[key] = props[key]);
7074
7364
  } else propsWithoutRef = props;
7075
- var children$jscomp$0 = renderWithHooks(
7365
+ var children$jscomp$1 = renderWithHooks(
7076
7366
  request,
7077
7367
  task,
7078
7368
  keyPath,
@@ -7084,7 +7374,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
7084
7374
  request,
7085
7375
  task,
7086
7376
  keyPath,
7087
- children$jscomp$0,
7377
+ children$jscomp$1,
7088
7378
  0 !== localIdCounter,
7089
7379
  actionStateCounter,
7090
7380
  actionStateMatchingIndex
@@ -7095,8 +7385,8 @@ function renderElement(request, task, keyPath, type, props, ref) {
7095
7385
  return;
7096
7386
  case REACT_PROVIDER_TYPE:
7097
7387
  case REACT_CONTEXT_TYPE:
7098
- var children$jscomp$1 = props.children,
7099
- prevKeyPath$jscomp$5 = task.keyPath,
7388
+ var children$jscomp$2 = props.children,
7389
+ prevKeyPath$jscomp$6 = task.keyPath,
7100
7390
  nextValue = props.value;
7101
7391
  var prevValue = type._currentValue2;
7102
7392
  type._currentValue2 = nextValue;
@@ -7111,7 +7401,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
7111
7401
  currentActiveSnapshot = newNode;
7112
7402
  task.context = newNode;
7113
7403
  task.keyPath = keyPath;
7114
- renderNodeDestructive(request, task, children$jscomp$1, -1);
7404
+ renderNodeDestructive(request, task, children$jscomp$2, -1);
7115
7405
  var prevSnapshot = currentActiveSnapshot;
7116
7406
  if (null === prevSnapshot)
7117
7407
  throw Error(
@@ -7121,15 +7411,15 @@ function renderElement(request, task, keyPath, type, props, ref) {
7121
7411
  var JSCompiler_inline_result$jscomp$3 = (currentActiveSnapshot =
7122
7412
  prevSnapshot.parent);
7123
7413
  task.context = JSCompiler_inline_result$jscomp$3;
7124
- task.keyPath = prevKeyPath$jscomp$5;
7414
+ task.keyPath = prevKeyPath$jscomp$6;
7125
7415
  return;
7126
7416
  case REACT_CONSUMER_TYPE:
7127
7417
  var render = props.children,
7128
7418
  newChildren = render(type._context._currentValue2),
7129
- prevKeyPath$jscomp$6 = task.keyPath;
7419
+ prevKeyPath$jscomp$7 = task.keyPath;
7130
7420
  task.keyPath = keyPath;
7131
7421
  renderNodeDestructive(request, task, newChildren, -1);
7132
- task.keyPath = prevKeyPath$jscomp$6;
7422
+ task.keyPath = prevKeyPath$jscomp$7;
7133
7423
  return;
7134
7424
  case REACT_LAZY_TYPE:
7135
7425
  var init = type._init;
@@ -7272,6 +7562,7 @@ function retryNode(request, task) {
7272
7562
  null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];
7273
7563
  var prevKeyPath = task.keyPath,
7274
7564
  prevContext = task.formatContext,
7565
+ prevRow = task.row,
7275
7566
  previousReplaySet = task.replay,
7276
7567
  parentBoundary = task.blockedBoundary,
7277
7568
  parentHoistableState = task.hoistableState,
@@ -7282,12 +7573,14 @@ function retryNode(request, task) {
7282
7573
  2 > task.formatContext.insertionMode
7283
7574
  ? createSuspenseBoundary(
7284
7575
  request,
7576
+ task.row,
7285
7577
  fallbackAbortSet,
7286
7578
  createPreambleState(),
7287
7579
  createPreambleState()
7288
7580
  )
7289
7581
  : createSuspenseBoundary(
7290
7582
  request,
7583
+ task.row,
7291
7584
  fallbackAbortSet,
7292
7585
  null,
7293
7586
  null
@@ -7301,6 +7594,7 @@ function retryNode(request, task) {
7301
7594
  request.resumableState,
7302
7595
  prevContext
7303
7596
  );
7597
+ task.row = null;
7304
7598
  task.replay = {
7305
7599
  nodes: replay,
7306
7600
  slots: name,
@@ -7342,7 +7636,8 @@ function retryNode(request, task) {
7342
7636
  (task.hoistableState = parentHoistableState),
7343
7637
  (task.replay = previousReplaySet),
7344
7638
  (task.keyPath = prevKeyPath),
7345
- (task.formatContext = prevContext);
7639
+ (task.formatContext = prevContext),
7640
+ (task.row = prevRow);
7346
7641
  }
7347
7642
  task = createReplayTask(
7348
7643
  request,
@@ -7364,6 +7659,7 @@ function retryNode(request, task) {
7364
7659
  ),
7365
7660
  task.context,
7366
7661
  task.treeContext,
7662
+ task.row,
7367
7663
  task.componentStack
7368
7664
  );
7369
7665
  pushComponentStack(task);
@@ -7440,25 +7736,25 @@ function retryNode(request, task) {
7440
7736
  node._currentValue2,
7441
7737
  childIndex
7442
7738
  );
7443
- task = Object.prototype.toString.call(node);
7739
+ childIndex = Object.prototype.toString.call(node);
7444
7740
  throw Error(
7445
7741
  "Objects are not valid as a React child (found: " +
7446
- ("[object Object]" === task
7742
+ ("[object Object]" === childIndex
7447
7743
  ? "object with keys {" + Object.keys(node).join(", ") + "}"
7448
- : task) +
7744
+ : childIndex) +
7449
7745
  "). If you meant to render a collection of children, use an array instead."
7450
7746
  );
7451
7747
  }
7452
7748
  if ("string" === typeof node)
7453
- (task = task.blockedSegment),
7454
- null !== task &&
7455
- (task.chunks.push(escapeTextForBrowser(node)),
7456
- (task.lastPushedText = !1));
7749
+ (childIndex = task.blockedSegment),
7750
+ null !== childIndex &&
7751
+ (childIndex.chunks.push(escapeTextForBrowser(node)),
7752
+ (childIndex.lastPushedText = !1));
7457
7753
  else if ("number" === typeof node || "bigint" === typeof node)
7458
- (task = task.blockedSegment),
7459
- null !== task &&
7460
- (task.chunks.push(escapeTextForBrowser("" + node)),
7461
- (task.lastPushedText = !1));
7754
+ (childIndex = task.blockedSegment),
7755
+ null !== childIndex &&
7756
+ (childIndex.chunks.push(escapeTextForBrowser("" + node)),
7757
+ (childIndex.lastPushedText = !1));
7462
7758
  }
7463
7759
  }
7464
7760
  function renderChildrenArray(request, task, children, childIndex) {
@@ -7574,9 +7870,9 @@ function trackPostpone(request, trackedPostpones, task, segment) {
7574
7870
  addToReplayParent(segment, boundaryKeyPath[0], trackedPostpones);
7575
7871
  return;
7576
7872
  }
7577
- var boundaryNode$101 = trackedPostpones.workingMap.get(boundaryKeyPath);
7578
- void 0 === boundaryNode$101
7579
- ? ((boundaryNode$101 = [
7873
+ var boundaryNode$112 = trackedPostpones.workingMap.get(boundaryKeyPath);
7874
+ void 0 === boundaryNode$112
7875
+ ? ((boundaryNode$112 = [
7580
7876
  boundaryKeyPath[1],
7581
7877
  boundaryKeyPath[2],
7582
7878
  children,
@@ -7584,13 +7880,13 @@ function trackPostpone(request, trackedPostpones, task, segment) {
7584
7880
  fallbackReplayNode,
7585
7881
  boundary.rootSegmentID
7586
7882
  ]),
7587
- trackedPostpones.workingMap.set(boundaryKeyPath, boundaryNode$101),
7883
+ trackedPostpones.workingMap.set(boundaryKeyPath, boundaryNode$112),
7588
7884
  addToReplayParent(
7589
- boundaryNode$101,
7885
+ boundaryNode$112,
7590
7886
  boundaryKeyPath[0],
7591
7887
  trackedPostpones
7592
7888
  ))
7593
- : ((boundaryKeyPath = boundaryNode$101),
7889
+ : ((boundaryKeyPath = boundaryNode$112),
7594
7890
  (boundaryKeyPath[4] = fallbackReplayNode),
7595
7891
  (boundaryKeyPath[5] = boundary.rootSegmentID));
7596
7892
  }
@@ -7659,6 +7955,7 @@ function spawnNewSuspendedReplayTask(request, task, thenableState) {
7659
7955
  task.formatContext,
7660
7956
  task.context,
7661
7957
  task.treeContext,
7958
+ task.row,
7662
7959
  task.componentStack
7663
7960
  );
7664
7961
  }
@@ -7688,6 +7985,7 @@ function spawnNewSuspendedRenderTask(request, task, thenableState) {
7688
7985
  task.formatContext,
7689
7986
  task.context,
7690
7987
  task.treeContext,
7988
+ task.row,
7691
7989
  task.componentStack
7692
7990
  );
7693
7991
  }
@@ -7742,15 +8040,15 @@ function renderNode(request, task, node, childIndex) {
7742
8040
  chunkLength = segment.chunks.length;
7743
8041
  try {
7744
8042
  return renderNodeDestructive(request, task, node, childIndex);
7745
- } catch (thrownValue$113) {
8043
+ } catch (thrownValue$124) {
7746
8044
  if (
7747
8045
  (resetHooksState(),
7748
8046
  (segment.children.length = childrenLength),
7749
8047
  (segment.chunks.length = chunkLength),
7750
8048
  (childIndex =
7751
- thrownValue$113 === SuspenseException
8049
+ thrownValue$124 === SuspenseException
7752
8050
  ? getSuspendedThenable()
7753
- : thrownValue$113),
8051
+ : thrownValue$124),
7754
8052
  "object" === typeof childIndex && null !== childIndex)
7755
8053
  ) {
7756
8054
  if ("function" === typeof childIndex.then) {
@@ -7839,9 +8137,10 @@ function erroredReplay(
7839
8137
  );
7840
8138
  }
7841
8139
  function abortTaskSoft(task) {
7842
- var boundary = task.blockedBoundary;
7843
- task = task.blockedSegment;
7844
- null !== task && ((task.status = 3), finishedTask(this, boundary, task));
8140
+ var boundary = task.blockedBoundary,
8141
+ segment = task.blockedSegment;
8142
+ null !== segment &&
8143
+ ((segment.status = 3), finishedTask(this, boundary, task.row, segment));
7845
8144
  }
7846
8145
  function abortRemainingReplayNodes(
7847
8146
  request$jscomp$0,
@@ -7868,6 +8167,7 @@ function abortRemainingReplayNodes(
7868
8167
  errorDigest = errorDigest$jscomp$0,
7869
8168
  resumedBoundary = createSuspenseBoundary(
7870
8169
  request,
8170
+ null,
7871
8171
  new Set(),
7872
8172
  null,
7873
8173
  null
@@ -7913,7 +8213,7 @@ function abortTask(task, request, error) {
7913
8213
  null !== boundary && null !== segment
7914
8214
  ? (logPostpone(request, error.message, errorInfo),
7915
8215
  trackPostpone(request, boundary, task, segment),
7916
- finishedTask(request, null, segment))
8216
+ finishedTask(request, null, task.row, segment))
7917
8217
  : ((task = Error(
7918
8218
  "The render was aborted with postpone when the shell is incomplete. Reason: " +
7919
8219
  error.message
@@ -7924,7 +8224,7 @@ function abortTask(task, request, error) {
7924
8224
  ? ((boundary = request.trackedPostpones),
7925
8225
  logRecoverableError(request, error, errorInfo),
7926
8226
  trackPostpone(request, boundary, task, segment),
7927
- finishedTask(request, null, segment))
8227
+ finishedTask(request, null, task.row, segment))
7928
8228
  : (logRecoverableError(request, error, errorInfo),
7929
8229
  fatalError(request, error));
7930
8230
  return;
@@ -7950,22 +8250,21 @@ function abortTask(task, request, error) {
7950
8250
  0 === request.pendingRootTasks && completeShell(request);
7951
8251
  }
7952
8252
  } else {
7953
- boundary.pendingTasks--;
7954
- var trackedPostpones$116 = request.trackedPostpones;
8253
+ var trackedPostpones$127 = request.trackedPostpones;
7955
8254
  if (4 !== boundary.status) {
7956
- if (null !== trackedPostpones$116 && null !== segment)
8255
+ if (null !== trackedPostpones$127 && null !== segment)
7957
8256
  return (
7958
8257
  "object" === typeof error &&
7959
8258
  null !== error &&
7960
8259
  error.$$typeof === REACT_POSTPONE_TYPE
7961
8260
  ? logPostpone(request, error.message, errorInfo)
7962
8261
  : logRecoverableError(request, error, errorInfo),
7963
- trackPostpone(request, trackedPostpones$116, task, segment),
8262
+ trackPostpone(request, trackedPostpones$127, task, segment),
7964
8263
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
7965
8264
  return abortTask(fallbackTask, request, error);
7966
8265
  }),
7967
8266
  boundary.fallbackAbortableTasks.clear(),
7968
- finishedTask(request, boundary, segment)
8267
+ finishedTask(request, boundary, task.row, segment)
7969
8268
  );
7970
8269
  boundary.status = 4;
7971
8270
  if (
@@ -7976,7 +8275,7 @@ function abortTask(task, request, error) {
7976
8275
  logPostpone(request, error.message, errorInfo);
7977
8276
  if (null !== request.trackedPostpones && null !== segment) {
7978
8277
  trackPostpone(request, request.trackedPostpones, task, segment);
7979
- finishedTask(request, task.blockedBoundary, segment);
8278
+ finishedTask(request, task.blockedBoundary, task.row, segment);
7980
8279
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
7981
8280
  return abortTask(fallbackTask, request, error);
7982
8281
  });
@@ -7990,11 +8289,20 @@ function abortTask(task, request, error) {
7990
8289
  untrackBoundary(request, boundary);
7991
8290
  boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);
7992
8291
  }
8292
+ boundary.pendingTasks--;
8293
+ errorInfo = boundary.row;
8294
+ null !== errorInfo &&
8295
+ 0 === --errorInfo.pendingTasks &&
8296
+ finishSuspenseListRow(request, errorInfo);
7993
8297
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
7994
8298
  return abortTask(fallbackTask, request, error);
7995
8299
  });
7996
8300
  boundary.fallbackAbortableTasks.clear();
7997
8301
  }
8302
+ task = task.row;
8303
+ null !== task &&
8304
+ 0 === --task.pendingTasks &&
8305
+ finishSuspenseListRow(request, task);
7998
8306
  request.allPendingTasks--;
7999
8307
  0 === request.allPendingTasks && completeAll(request);
8000
8308
  }
@@ -8091,7 +8399,11 @@ function queueCompletedSegment(boundary, segment) {
8091
8399
  1 === childSegment.status && queueCompletedSegment(boundary, childSegment);
8092
8400
  } else boundary.completedSegments.push(segment);
8093
8401
  }
8094
- function finishedTask(request, boundary, segment) {
8402
+ function finishedTask(request, boundary, row, segment) {
8403
+ null !== row &&
8404
+ (0 === --row.pendingTasks
8405
+ ? finishSuspenseListRow(request, row)
8406
+ : row.together && tryToResolveTogetherRow(request, row));
8095
8407
  request.allPendingTasks--;
8096
8408
  if (null === boundary) {
8097
8409
  if (null !== segment && segment.parentFlushed) {
@@ -8115,23 +8427,33 @@ function finishedTask(request, boundary, segment) {
8115
8427
  boundary.parentFlushed &&
8116
8428
  request.completedBoundaries.push(boundary),
8117
8429
  1 === boundary.status &&
8118
- (500 < boundary.byteSize ||
8430
+ ((row = boundary.row),
8431
+ null !== row &&
8432
+ hoistHoistables(row.hoistables, boundary.contentState),
8433
+ 500 < boundary.byteSize ||
8119
8434
  (boundary.fallbackAbortableTasks.forEach(
8120
8435
  abortTaskSoft,
8121
8436
  request
8122
8437
  ),
8123
- boundary.fallbackAbortableTasks.clear()),
8438
+ boundary.fallbackAbortableTasks.clear(),
8439
+ null !== row &&
8440
+ 0 === --row.pendingTasks &&
8441
+ finishSuspenseListRow(request, row)),
8124
8442
  0 === request.pendingRootTasks &&
8125
8443
  null === request.trackedPostpones &&
8126
8444
  null !== boundary.contentPreamble &&
8127
8445
  preparePreamble(request)))
8128
- : null !== segment &&
8129
- segment.parentFlushed &&
8130
- 1 === segment.status &&
8131
- (queueCompletedSegment(boundary, segment),
8132
- 1 === boundary.completedSegments.length &&
8133
- boundary.parentFlushed &&
8134
- request.partialBoundaries.push(boundary)));
8446
+ : (null !== segment &&
8447
+ segment.parentFlushed &&
8448
+ 1 === segment.status &&
8449
+ (queueCompletedSegment(boundary, segment),
8450
+ 1 === boundary.completedSegments.length &&
8451
+ boundary.parentFlushed &&
8452
+ request.partialBoundaries.push(boundary)),
8453
+ (boundary = boundary.row),
8454
+ null !== boundary &&
8455
+ boundary.together &&
8456
+ tryToResolveTogetherRow(request, boundary)));
8135
8457
  0 === request.allPendingTasks && completeAll(request);
8136
8458
  }
8137
8459
  function performWork(request$jscomp$1) {
@@ -8173,7 +8495,12 @@ function performWork(request$jscomp$1) {
8173
8495
  );
8174
8496
  task.replay.pendingTasks--;
8175
8497
  task.abortSet.delete(task);
8176
- finishedTask(request$jscomp$0, task.blockedBoundary, null);
8498
+ finishedTask(
8499
+ request$jscomp$0,
8500
+ task.blockedBoundary,
8501
+ task.row,
8502
+ null
8503
+ );
8177
8504
  } catch (thrownValue) {
8178
8505
  resetHooksState();
8179
8506
  var x =
@@ -8225,7 +8552,12 @@ function performWork(request$jscomp$1) {
8225
8552
  retryNode(request, task),
8226
8553
  task.abortSet.delete(task),
8227
8554
  (segment$jscomp$0.status = 1),
8228
- finishedTask(request, task.blockedBoundary, segment$jscomp$0);
8555
+ finishedTask(
8556
+ request,
8557
+ task.blockedBoundary,
8558
+ task.row,
8559
+ segment$jscomp$0
8560
+ );
8229
8561
  } catch (thrownValue) {
8230
8562
  resetHooksState();
8231
8563
  segment$jscomp$0.children.length = childrenLength;
@@ -8254,7 +8586,12 @@ function performWork(request$jscomp$1) {
8254
8586
  task,
8255
8587
  segment$jscomp$0
8256
8588
  );
8257
- finishedTask(request, task.blockedBoundary, segment$jscomp$0);
8589
+ finishedTask(
8590
+ request,
8591
+ task.blockedBoundary,
8592
+ task.row,
8593
+ segment$jscomp$0
8594
+ );
8258
8595
  } else {
8259
8596
  if ("object" === typeof x$jscomp$0 && null !== x$jscomp$0) {
8260
8597
  if ("function" === typeof x$jscomp$0.then) {
@@ -8268,19 +8605,20 @@ function performWork(request$jscomp$1) {
8268
8605
  null !== request.trackedPostpones &&
8269
8606
  x$jscomp$0.$$typeof === REACT_POSTPONE_TYPE
8270
8607
  ) {
8271
- var trackedPostpones$120 = request.trackedPostpones;
8608
+ var trackedPostpones$132 = request.trackedPostpones;
8272
8609
  task.abortSet.delete(task);
8273
8610
  var postponeInfo = getThrownInfo(task.componentStack);
8274
8611
  logPostpone(request, x$jscomp$0.message, postponeInfo);
8275
8612
  trackPostpone(
8276
8613
  request,
8277
- trackedPostpones$120,
8614
+ trackedPostpones$132,
8278
8615
  task,
8279
8616
  segment$jscomp$0
8280
8617
  );
8281
8618
  finishedTask(
8282
8619
  request,
8283
8620
  task.blockedBoundary,
8621
+ task.row,
8284
8622
  segment$jscomp$0
8285
8623
  );
8286
8624
  break a;
@@ -8289,7 +8627,12 @@ function performWork(request$jscomp$1) {
8289
8627
  var errorInfo$jscomp$0 = getThrownInfo(task.componentStack);
8290
8628
  task.abortSet.delete(task);
8291
8629
  segment$jscomp$0.status = 4;
8292
- var boundary = task.blockedBoundary;
8630
+ var boundary = task.blockedBoundary,
8631
+ row = task.row;
8632
+ null !== row &&
8633
+ 0 === --row.pendingTasks &&
8634
+ finishSuspenseListRow(request, row);
8635
+ request.allPendingTasks--;
8293
8636
  "object" === typeof x$jscomp$0 &&
8294
8637
  null !== x$jscomp$0 &&
8295
8638
  x$jscomp$0.$$typeof === REACT_POSTPONE_TYPE
@@ -8304,20 +8647,22 @@ function performWork(request$jscomp$1) {
8304
8647
  x$jscomp$0,
8305
8648
  errorInfo$jscomp$0
8306
8649
  ));
8307
- null === boundary
8308
- ? fatalError(request, x$jscomp$0)
8309
- : (boundary.pendingTasks--,
8310
- 4 !== boundary.status &&
8311
- ((boundary.status = 4),
8312
- (boundary.errorDigest = request$jscomp$0),
8313
- untrackBoundary(request, boundary),
8314
- boundary.parentFlushed &&
8315
- request.clientRenderedBoundaries.push(boundary),
8316
- 0 === request.pendingRootTasks &&
8317
- null === request.trackedPostpones &&
8318
- null !== boundary.contentPreamble &&
8319
- preparePreamble(request)));
8320
- request.allPendingTasks--;
8650
+ if (null === boundary) fatalError(request, x$jscomp$0);
8651
+ else if ((boundary.pendingTasks--, 4 !== boundary.status)) {
8652
+ boundary.status = 4;
8653
+ boundary.errorDigest = request$jscomp$0;
8654
+ untrackBoundary(request, boundary);
8655
+ var boundaryRow = boundary.row;
8656
+ null !== boundaryRow &&
8657
+ 0 === --boundaryRow.pendingTasks &&
8658
+ finishSuspenseListRow(request, boundaryRow);
8659
+ boundary.parentFlushed &&
8660
+ request.clientRenderedBoundaries.push(boundary);
8661
+ 0 === request.pendingRootTasks &&
8662
+ null === request.trackedPostpones &&
8663
+ null !== boundary.contentPreamble &&
8664
+ preparePreamble(request);
8665
+ }
8321
8666
  0 === request.allPendingTasks && completeAll(request);
8322
8667
  }
8323
8668
  } finally {
@@ -8463,7 +8808,14 @@ function flushSegment(request, destination, segment, hoistableState) {
8463
8808
  return flushSubtree(request, destination, segment, hoistableState);
8464
8809
  boundary.parentFlushed = !0;
8465
8810
  if (4 === boundary.status)
8466
- return flushSubtree(request, destination, segment, hoistableState), !0;
8811
+ return (
8812
+ (boundary = boundary.row),
8813
+ null !== boundary &&
8814
+ 0 === --boundary.pendingTasks &&
8815
+ finishSuspenseListRow(request, boundary),
8816
+ flushSubtree(request, destination, segment, hoistableState),
8817
+ !0
8818
+ );
8467
8819
  if (1 !== boundary.status)
8468
8820
  return (
8469
8821
  0 === boundary.status &&
@@ -8475,13 +8827,7 @@ function flushSegment(request, destination, segment, hoistableState) {
8475
8827
  request.renderState,
8476
8828
  boundary.rootSegmentID
8477
8829
  ),
8478
- hoistableState &&
8479
- ((boundary = boundary.fallbackState),
8480
- boundary.styles.forEach(hoistStyleQueueDependency, hoistableState),
8481
- boundary.stylesheets.forEach(
8482
- hoistStylesheetDependency,
8483
- hoistableState
8484
- )),
8830
+ hoistableState && hoistHoistables(hoistableState, boundary.fallbackState),
8485
8831
  flushSubtree(request, destination, segment, hoistableState),
8486
8832
  destination.push("\x3c!--/$--\x3e")
8487
8833
  );
@@ -8501,10 +8847,12 @@ function flushSegment(request, destination, segment, hoistableState) {
8501
8847
  destination.push("\x3c!--/$--\x3e")
8502
8848
  );
8503
8849
  flushedByteSize += boundary.byteSize;
8504
- hoistableState &&
8505
- ((segment = boundary.contentState),
8506
- segment.styles.forEach(hoistStyleQueueDependency, hoistableState),
8507
- segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState));
8850
+ hoistableState && hoistHoistables(hoistableState, boundary.contentState);
8851
+ segment = boundary.row;
8852
+ null !== segment &&
8853
+ 500 < boundary.byteSize &&
8854
+ 0 === --segment.pendingTasks &&
8855
+ finishSuspenseListRow(request, segment);
8508
8856
  segment = boundary.completedSegments;
8509
8857
  if (1 !== segment.length)
8510
8858
  throw Error(
@@ -8537,6 +8885,11 @@ function flushCompletedBoundary(request, destination, boundary) {
8537
8885
  completedSegments[i]
8538
8886
  );
8539
8887
  completedSegments.length = 0;
8888
+ completedSegments = boundary.row;
8889
+ null !== completedSegments &&
8890
+ 500 < boundary.byteSize &&
8891
+ 0 === --completedSegments.pendingTasks &&
8892
+ finishSuspenseListRow(request, completedSegments);
8540
8893
  writeHoistablesForBoundary(
8541
8894
  destination,
8542
8895
  boundary.contentState,
@@ -8608,11 +8961,12 @@ function flushCompletedBoundary(request, destination, boundary) {
8608
8961
  ? destination.push(")\x3c/script>")
8609
8962
  : destination.push('"></template>');
8610
8963
  request = request.bootstrapChunks;
8611
- for (i = 0; i < request.length - 1; i++) destination.push(request[i]);
8612
- i < request.length
8613
- ? ((i = request[i]),
8964
+ for (boundary = 0; boundary < request.length - 1; boundary++)
8965
+ destination.push(request[boundary]);
8966
+ boundary < request.length
8967
+ ? ((boundary = request[boundary]),
8614
8968
  (request.length = 0),
8615
- (destination = destination.push(i)))
8969
+ (destination = destination.push(boundary)))
8616
8970
  : (destination = !0);
8617
8971
  return destination && completedSegments;
8618
8972
  }
@@ -8840,12 +9194,12 @@ function flushCompletedQueues(request, destination) {
8840
9194
  completedBoundaries.splice(0, i);
8841
9195
  var partialBoundaries = request.partialBoundaries;
8842
9196
  for (i = 0; i < partialBoundaries.length; i++) {
8843
- var boundary$123 = partialBoundaries[i];
9197
+ var boundary$136 = partialBoundaries[i];
8844
9198
  a: {
8845
9199
  clientRenderedBoundaries = request;
8846
9200
  boundary = destination;
8847
- flushedByteSize = boundary$123.byteSize;
8848
- var completedSegments = boundary$123.completedSegments;
9201
+ flushedByteSize = boundary$136.byteSize;
9202
+ var completedSegments = boundary$136.completedSegments;
8849
9203
  for (
8850
9204
  JSCompiler_inline_result = 0;
8851
9205
  JSCompiler_inline_result < completedSegments.length;
@@ -8855,7 +9209,7 @@ function flushCompletedQueues(request, destination) {
8855
9209
  !flushPartiallyCompletedSegment(
8856
9210
  clientRenderedBoundaries,
8857
9211
  boundary,
8858
- boundary$123,
9212
+ boundary$136,
8859
9213
  completedSegments[JSCompiler_inline_result]
8860
9214
  )
8861
9215
  ) {
@@ -8865,9 +9219,20 @@ function flushCompletedQueues(request, destination) {
8865
9219
  break a;
8866
9220
  }
8867
9221
  completedSegments.splice(0, JSCompiler_inline_result);
9222
+ var row = boundary$136.row;
9223
+ null !== row &&
9224
+ row.together &&
9225
+ 1 === boundary$136.pendingTasks &&
9226
+ (1 === row.pendingTasks
9227
+ ? unblockSuspenseListRow(
9228
+ clientRenderedBoundaries,
9229
+ row,
9230
+ row.hoistables
9231
+ )
9232
+ : row.pendingTasks--);
8868
9233
  JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(
8869
9234
  boundary,
8870
- boundary$123.contentState,
9235
+ boundary$136.contentState,
8871
9236
  clientRenderedBoundaries.renderState
8872
9237
  );
8873
9238
  }
@@ -8938,8 +9303,8 @@ function abort(request, reason) {
8938
9303
  }
8939
9304
  null !== request.destination &&
8940
9305
  flushCompletedQueues(request, request.destination);
8941
- } catch (error$125) {
8942
- logRecoverableError(request, error$125, {}), fatalError(request, error$125);
9306
+ } catch (error$138) {
9307
+ logRecoverableError(request, error$138, {}), fatalError(request, error$138);
8943
9308
  }
8944
9309
  }
8945
9310
  function addToReplayParent(node, parentKeyPath, trackedPostpones) {
@@ -9250,4 +9615,4 @@ exports.experimental_renderToHTML = function (children, options) {
9250
9615
  });
9251
9616
  });
9252
9617
  };
9253
- exports.version = "19.2.0-experimental-462d08f9-20250517";
9618
+ exports.version = "19.2.0-experimental-23884812-20250520";