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.
@@ -8610,6 +8610,10 @@
8610
8610
  function hoistStylesheetDependency(stylesheet) {
8611
8611
  this.stylesheets.add(stylesheet);
8612
8612
  }
8613
+ function hoistHoistables(parentState, childState) {
8614
+ childState.styles.forEach(hoistStyleQueueDependency, parentState);
8615
+ childState.stylesheets.forEach(hoistStylesheetDependency, parentState);
8616
+ }
8613
8617
  function popToNearestCommonAncestor(prev, next) {
8614
8618
  if (prev !== next) {
8615
8619
  prev.context._currentValue2 = prev.parentValue;
@@ -9126,6 +9130,7 @@
9126
9130
  null,
9127
9131
  emptyTreeContext,
9128
9132
  null,
9133
+ null,
9129
9134
  emptyContextObject,
9130
9135
  null
9131
9136
  );
@@ -9141,15 +9146,17 @@
9141
9146
  }
9142
9147
  function createSuspenseBoundary(
9143
9148
  request,
9149
+ row,
9144
9150
  fallbackAbortableTasks,
9145
9151
  contentPreamble,
9146
9152
  fallbackPreamble
9147
9153
  ) {
9148
- return {
9154
+ fallbackAbortableTasks = {
9149
9155
  status: 0,
9150
9156
  rootSegmentID: -1,
9151
9157
  parentFlushed: !1,
9152
9158
  pendingTasks: 0,
9159
+ row: row,
9153
9160
  completedSegments: [],
9154
9161
  byteSize: 0,
9155
9162
  fallbackAbortableTasks: fallbackAbortableTasks,
@@ -9164,6 +9171,17 @@
9164
9171
  errorStack: null,
9165
9172
  errorComponentStack: null
9166
9173
  };
9174
+ null !== row &&
9175
+ (row.pendingTasks++,
9176
+ (contentPreamble = row.boundaries),
9177
+ null !== contentPreamble &&
9178
+ (request.allPendingTasks++,
9179
+ fallbackAbortableTasks.pendingTasks++,
9180
+ contentPreamble.push(fallbackAbortableTasks)),
9181
+ (request = row.inheritedHoistables),
9182
+ null !== request &&
9183
+ hoistHoistables(fallbackAbortableTasks.contentState, request));
9184
+ return fallbackAbortableTasks;
9167
9185
  }
9168
9186
  function createRenderTask(
9169
9187
  request,
@@ -9179,6 +9197,7 @@
9179
9197
  formatContext,
9180
9198
  context,
9181
9199
  treeContext,
9200
+ row,
9182
9201
  componentStack,
9183
9202
  legacyContext,
9184
9203
  debugTask
@@ -9187,6 +9206,7 @@
9187
9206
  null === blockedBoundary
9188
9207
  ? request.pendingRootTasks++
9189
9208
  : blockedBoundary.pendingTasks++;
9209
+ null !== row && row.pendingTasks++;
9190
9210
  var task = {
9191
9211
  replay: null,
9192
9212
  node: node,
@@ -9203,6 +9223,7 @@
9203
9223
  formatContext: formatContext,
9204
9224
  context: context,
9205
9225
  treeContext: treeContext,
9226
+ row: row,
9206
9227
  componentStack: componentStack,
9207
9228
  thenableState: thenableState
9208
9229
  };
@@ -9223,6 +9244,7 @@
9223
9244
  formatContext,
9224
9245
  context,
9225
9246
  treeContext,
9247
+ row,
9226
9248
  componentStack,
9227
9249
  legacyContext,
9228
9250
  debugTask
@@ -9231,6 +9253,7 @@
9231
9253
  null === blockedBoundary
9232
9254
  ? request.pendingRootTasks++
9233
9255
  : blockedBoundary.pendingTasks++;
9256
+ null !== row && row.pendingTasks++;
9234
9257
  replay.pendingTasks++;
9235
9258
  var task = {
9236
9259
  replay: replay,
@@ -9248,6 +9271,7 @@
9248
9271
  formatContext: formatContext,
9249
9272
  context: context,
9250
9273
  treeContext: treeContext,
9274
+ row: row,
9251
9275
  componentStack: componentStack,
9252
9276
  thenableState: thenableState
9253
9277
  };
@@ -9439,6 +9463,180 @@
9439
9463
  ? ((request.status = 14), request.destination.destroy(error))
9440
9464
  : ((request.status = 13), (request.fatalError = error));
9441
9465
  }
9466
+ function finishSuspenseListRow(request, row) {
9467
+ unblockSuspenseListRow(request, row.next, row.hoistables);
9468
+ }
9469
+ function unblockSuspenseListRow(
9470
+ request,
9471
+ unblockedRow,
9472
+ inheritedHoistables
9473
+ ) {
9474
+ for (; null !== unblockedRow; ) {
9475
+ null !== inheritedHoistables &&
9476
+ (hoistHoistables(unblockedRow.hoistables, inheritedHoistables),
9477
+ (unblockedRow.inheritedHoistables = inheritedHoistables));
9478
+ var unblockedBoundaries = unblockedRow.boundaries;
9479
+ if (null !== unblockedBoundaries) {
9480
+ unblockedRow.boundaries = null;
9481
+ for (var i = 0; i < unblockedBoundaries.length; i++) {
9482
+ var unblockedBoundary = unblockedBoundaries[i];
9483
+ null !== inheritedHoistables &&
9484
+ hoistHoistables(
9485
+ unblockedBoundary.contentState,
9486
+ inheritedHoistables
9487
+ );
9488
+ finishedTask(request, unblockedBoundary, null, null);
9489
+ }
9490
+ }
9491
+ unblockedRow.pendingTasks--;
9492
+ if (0 < unblockedRow.pendingTasks) break;
9493
+ inheritedHoistables = unblockedRow.hoistables;
9494
+ unblockedRow = unblockedRow.next;
9495
+ }
9496
+ }
9497
+ function tryToResolveTogetherRow(request, togetherRow) {
9498
+ var boundaries = togetherRow.boundaries;
9499
+ if (
9500
+ null !== boundaries &&
9501
+ togetherRow.pendingTasks === boundaries.length
9502
+ ) {
9503
+ for (
9504
+ var allCompleteAndInlinable = !0, i = 0;
9505
+ i < boundaries.length;
9506
+ i++
9507
+ ) {
9508
+ var rowBoundary = boundaries[i];
9509
+ if (
9510
+ 1 !== rowBoundary.pendingTasks ||
9511
+ rowBoundary.parentFlushed ||
9512
+ 500 < rowBoundary.byteSize
9513
+ ) {
9514
+ allCompleteAndInlinable = !1;
9515
+ break;
9516
+ }
9517
+ }
9518
+ allCompleteAndInlinable &&
9519
+ unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);
9520
+ }
9521
+ }
9522
+ function createSuspenseListRow(previousRow) {
9523
+ var newRow = {
9524
+ pendingTasks: 1,
9525
+ boundaries: null,
9526
+ hoistables: createHoistableState(),
9527
+ inheritedHoistables: null,
9528
+ together: !1,
9529
+ next: null
9530
+ };
9531
+ null !== previousRow &&
9532
+ 0 < previousRow.pendingTasks &&
9533
+ (newRow.pendingTasks++,
9534
+ (newRow.boundaries = []),
9535
+ (previousRow.next = newRow));
9536
+ return newRow;
9537
+ }
9538
+ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
9539
+ var prevKeyPath = task.keyPath,
9540
+ prevTreeContext = task.treeContext,
9541
+ prevRow = task.row,
9542
+ previousComponentStack = task.componentStack;
9543
+ var previousDebugTask = task.debugTask;
9544
+ pushServerComponentStack(task, task.node.props.children._debugInfo);
9545
+ task.keyPath = keyPath;
9546
+ keyPath = rows.length;
9547
+ var previousSuspenseListRow = null;
9548
+ if (null !== task.replay) {
9549
+ var resumeSlots = task.replay.slots;
9550
+ if (null !== resumeSlots && "object" === typeof resumeSlots)
9551
+ for (var n = 0; n < keyPath; n++) {
9552
+ var i = "backwards" !== revealOrder ? n : keyPath - 1 - n,
9553
+ node = rows[i];
9554
+ task.row = previousSuspenseListRow = createSuspenseListRow(
9555
+ previousSuspenseListRow
9556
+ );
9557
+ task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
9558
+ var resumeSegmentID = resumeSlots[i];
9559
+ "number" === typeof resumeSegmentID
9560
+ ? (resumeNode(request, task, resumeSegmentID, node, i),
9561
+ delete resumeSlots[i])
9562
+ : renderNode(request, task, node, i);
9563
+ 0 === --previousSuspenseListRow.pendingTasks &&
9564
+ finishSuspenseListRow(request, previousSuspenseListRow);
9565
+ }
9566
+ else
9567
+ for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)
9568
+ (n =
9569
+ "backwards" !== revealOrder
9570
+ ? resumeSlots
9571
+ : keyPath - 1 - resumeSlots),
9572
+ (i = rows[n]),
9573
+ warnForMissingKey(request, task, i),
9574
+ (task.row = previousSuspenseListRow =
9575
+ createSuspenseListRow(previousSuspenseListRow)),
9576
+ (task.treeContext = pushTreeContext(prevTreeContext, keyPath, n)),
9577
+ renderNode(request, task, i, n),
9578
+ 0 === --previousSuspenseListRow.pendingTasks &&
9579
+ finishSuspenseListRow(request, previousSuspenseListRow);
9580
+ } else if ("backwards" !== revealOrder)
9581
+ for (revealOrder = 0; revealOrder < keyPath; revealOrder++)
9582
+ (resumeSlots = rows[revealOrder]),
9583
+ warnForMissingKey(request, task, resumeSlots),
9584
+ (task.row = previousSuspenseListRow =
9585
+ createSuspenseListRow(previousSuspenseListRow)),
9586
+ (task.treeContext = pushTreeContext(
9587
+ prevTreeContext,
9588
+ keyPath,
9589
+ revealOrder
9590
+ )),
9591
+ renderNode(request, task, resumeSlots, revealOrder),
9592
+ 0 === --previousSuspenseListRow.pendingTasks &&
9593
+ finishSuspenseListRow(request, previousSuspenseListRow);
9594
+ else {
9595
+ revealOrder = task.blockedSegment;
9596
+ resumeSlots = revealOrder.children.length;
9597
+ n = revealOrder.chunks.length;
9598
+ for (i = keyPath - 1; 0 <= i; i--) {
9599
+ node = rows[i];
9600
+ task.row = previousSuspenseListRow = createSuspenseListRow(
9601
+ previousSuspenseListRow
9602
+ );
9603
+ task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);
9604
+ resumeSegmentID = createPendingSegment(
9605
+ request,
9606
+ n,
9607
+ null,
9608
+ task.formatContext,
9609
+ 0 === i ? revealOrder.lastPushedText : !0,
9610
+ !0
9611
+ );
9612
+ revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);
9613
+ task.blockedSegment = resumeSegmentID;
9614
+ warnForMissingKey(request, task, node);
9615
+ try {
9616
+ renderNode(request, task, node, i),
9617
+ (resumeSegmentID.status = 1),
9618
+ 0 === --previousSuspenseListRow.pendingTasks &&
9619
+ finishSuspenseListRow(request, previousSuspenseListRow);
9620
+ } catch (thrownValue) {
9621
+ throw (
9622
+ ((resumeSegmentID.status = 12 === request.status ? 3 : 4),
9623
+ thrownValue)
9624
+ );
9625
+ }
9626
+ }
9627
+ task.blockedSegment = revealOrder;
9628
+ revealOrder.lastPushedText = !1;
9629
+ }
9630
+ null !== prevRow &&
9631
+ null !== previousSuspenseListRow &&
9632
+ 0 < previousSuspenseListRow.pendingTasks &&
9633
+ (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));
9634
+ task.treeContext = prevTreeContext;
9635
+ task.row = prevRow;
9636
+ task.keyPath = prevKeyPath;
9637
+ task.componentStack = previousComponentStack;
9638
+ task.debugTask = previousDebugTask;
9639
+ }
9442
9640
  function renderWithHooks(
9443
9641
  request,
9444
9642
  task,
@@ -10002,7 +10200,7 @@
10002
10200
  );
10003
10201
  segment.lastPushedText = !1;
10004
10202
  var _prevContext2 = task.formatContext,
10005
- _prevKeyPath2 = task.keyPath;
10203
+ _prevKeyPath3 = task.keyPath;
10006
10204
  task.keyPath = keyPath;
10007
10205
  if (
10008
10206
  3 ===
@@ -10035,6 +10233,7 @@
10035
10233
  task.formatContext,
10036
10234
  task.context,
10037
10235
  task.treeContext,
10236
+ task.row,
10038
10237
  task.componentStack,
10039
10238
  emptyContextObject,
10040
10239
  task.debugTask
@@ -10043,7 +10242,7 @@
10043
10242
  request.pingedTasks.push(preambleTask);
10044
10243
  } else renderNode(request, task, _children, -1);
10045
10244
  task.formatContext = _prevContext2;
10046
- task.keyPath = _prevKeyPath2;
10245
+ task.keyPath = _prevKeyPath3;
10047
10246
  a: {
10048
10247
  var target$jscomp$0 = segment.chunks,
10049
10248
  resumableState$jscomp$0 = request.resumableState;
@@ -10108,22 +10307,128 @@
10108
10307
  }
10109
10308
  } else if ("hidden" !== props.mode) {
10110
10309
  segment$jscomp$0.lastPushedText = !1;
10111
- var _prevKeyPath3 = task.keyPath;
10310
+ var _prevKeyPath4 = task.keyPath;
10112
10311
  task.keyPath = keyPath;
10113
10312
  renderNode(request, task, props.children, -1);
10114
- task.keyPath = _prevKeyPath3;
10313
+ task.keyPath = _prevKeyPath4;
10115
10314
  segment$jscomp$0.lastPushedText = !1;
10116
10315
  }
10117
10316
  return;
10118
10317
  case REACT_SUSPENSE_LIST_TYPE:
10119
- var _prevKeyPath4 = task.keyPath;
10120
- task.keyPath = keyPath;
10121
- renderNodeDestructive(request, task, props.children, -1);
10122
- task.keyPath = _prevKeyPath4;
10318
+ a: {
10319
+ var children$jscomp$0 = props.children,
10320
+ revealOrder = props.revealOrder;
10321
+ if ("forwards" === revealOrder || "backwards" === revealOrder) {
10322
+ if (isArrayImpl(children$jscomp$0)) {
10323
+ renderSuspenseListRows(
10324
+ request,
10325
+ task,
10326
+ keyPath,
10327
+ children$jscomp$0,
10328
+ revealOrder
10329
+ );
10330
+ break a;
10331
+ }
10332
+ var iteratorFn = getIteratorFn(children$jscomp$0);
10333
+ if (iteratorFn) {
10334
+ var iterator = iteratorFn.call(children$jscomp$0);
10335
+ if (iterator) {
10336
+ validateIterable(
10337
+ task,
10338
+ children$jscomp$0,
10339
+ -1,
10340
+ iterator,
10341
+ iteratorFn
10342
+ );
10343
+ var step = iterator.next();
10344
+ if (!step.done) {
10345
+ var rows = [];
10346
+ do rows.push(step.value), (step = iterator.next());
10347
+ while (!step.done);
10348
+ renderSuspenseListRows(
10349
+ request,
10350
+ task,
10351
+ keyPath,
10352
+ children$jscomp$0,
10353
+ revealOrder
10354
+ );
10355
+ }
10356
+ break a;
10357
+ }
10358
+ }
10359
+ if ("function" === typeof children$jscomp$0[ASYNC_ITERATOR]) {
10360
+ var _iterator = children$jscomp$0[ASYNC_ITERATOR]();
10361
+ if (_iterator) {
10362
+ validateAsyncIterable(
10363
+ task,
10364
+ children$jscomp$0,
10365
+ -1,
10366
+ _iterator
10367
+ );
10368
+ var prevThenableState = task.thenableState;
10369
+ task.thenableState = null;
10370
+ thenableIndexCounter = 0;
10371
+ thenableState = prevThenableState;
10372
+ var _rows = [],
10373
+ done = !1;
10374
+ if (_iterator === children$jscomp$0)
10375
+ for (
10376
+ var _step = readPreviousThenableFromState();
10377
+ void 0 !== _step;
10378
+
10379
+ ) {
10380
+ if (_step.done) {
10381
+ done = !0;
10382
+ break;
10383
+ }
10384
+ _rows.push(_step.value);
10385
+ _step = readPreviousThenableFromState();
10386
+ }
10387
+ if (!done)
10388
+ for (
10389
+ var _step2 = unwrapThenable(_iterator.next());
10390
+ !_step2.done;
10391
+
10392
+ )
10393
+ _rows.push(_step2.value),
10394
+ (_step2 = unwrapThenable(_iterator.next()));
10395
+ renderSuspenseListRows(
10396
+ request,
10397
+ task,
10398
+ keyPath,
10399
+ _rows,
10400
+ revealOrder
10401
+ );
10402
+ break a;
10403
+ }
10404
+ }
10405
+ }
10406
+ if ("together" === revealOrder) {
10407
+ var _prevKeyPath2 = task.keyPath,
10408
+ prevRow = task.row,
10409
+ newRow = (task.row = createSuspenseListRow(null));
10410
+ newRow.boundaries = [];
10411
+ newRow.together = !0;
10412
+ task.keyPath = keyPath;
10413
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
10414
+ 0 === --newRow.pendingTasks &&
10415
+ finishSuspenseListRow(request, newRow);
10416
+ task.keyPath = _prevKeyPath2;
10417
+ task.row = prevRow;
10418
+ null !== prevRow &&
10419
+ 0 < newRow.pendingTasks &&
10420
+ (prevRow.pendingTasks++, (newRow.next = prevRow));
10421
+ } else {
10422
+ var prevKeyPath$jscomp$3 = task.keyPath;
10423
+ task.keyPath = keyPath;
10424
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
10425
+ task.keyPath = prevKeyPath$jscomp$3;
10426
+ }
10427
+ }
10123
10428
  return;
10124
10429
  case REACT_VIEW_TRANSITION_TYPE:
10125
10430
  var prevContext$jscomp$0 = task.formatContext,
10126
- prevKeyPath$jscomp$3 = task.keyPath;
10431
+ prevKeyPath$jscomp$4 = task.keyPath;
10127
10432
  var resumableState$jscomp$1 = request.resumableState;
10128
10433
  if (null == props.name || "auto" === props.name) {
10129
10434
  var treeId = getTreeId(task.treeContext);
@@ -10140,7 +10445,7 @@
10140
10445
  task.treeContext = prevTreeContext;
10141
10446
  }
10142
10447
  task.formatContext = prevContext$jscomp$0;
10143
- task.keyPath = prevKeyPath$jscomp$3;
10448
+ task.keyPath = prevKeyPath$jscomp$4;
10144
10449
  return;
10145
10450
  case REACT_SCOPE_TYPE:
10146
10451
  throw Error(
@@ -10149,22 +10454,26 @@
10149
10454
  case REACT_SUSPENSE_TYPE:
10150
10455
  a: if (null !== task.replay) {
10151
10456
  var _prevKeyPath = task.keyPath,
10152
- _prevContext = task.formatContext;
10457
+ _prevContext = task.formatContext,
10458
+ _prevRow = task.row;
10153
10459
  task.keyPath = keyPath;
10154
10460
  task.formatContext = getSuspenseContentFormatContext(
10155
10461
  request.resumableState,
10156
10462
  _prevContext
10157
10463
  );
10464
+ task.row = null;
10158
10465
  var _content = props.children;
10159
10466
  try {
10160
10467
  renderNode(request, task, _content, -1);
10161
10468
  } finally {
10162
10469
  (task.keyPath = _prevKeyPath),
10163
- (task.formatContext = _prevContext);
10470
+ (task.formatContext = _prevContext),
10471
+ (task.row = _prevRow);
10164
10472
  }
10165
10473
  } else {
10166
- var prevKeyPath$jscomp$4 = task.keyPath,
10474
+ var prevKeyPath$jscomp$5 = task.keyPath,
10167
10475
  prevContext$jscomp$1 = task.formatContext,
10476
+ prevRow$jscomp$0 = task.row,
10168
10477
  parentBoundary = task.blockedBoundary,
10169
10478
  parentPreamble = task.blockedPreamble,
10170
10479
  parentHoistableState = task.hoistableState,
@@ -10176,12 +10485,14 @@
10176
10485
  2 > task.formatContext.insertionMode
10177
10486
  ? createSuspenseBoundary(
10178
10487
  request,
10488
+ task.row,
10179
10489
  fallbackAbortSet,
10180
10490
  createPreambleState(),
10181
10491
  createPreambleState()
10182
10492
  )
10183
10493
  : createSuspenseBoundary(
10184
10494
  request,
10495
+ task.row,
10185
10496
  fallbackAbortSet,
10186
10497
  null,
10187
10498
  null
@@ -10243,7 +10554,7 @@
10243
10554
  } finally {
10244
10555
  (task.blockedSegment = parentSegment),
10245
10556
  (task.blockedPreamble = parentPreamble),
10246
- (task.keyPath = prevKeyPath$jscomp$4),
10557
+ (task.keyPath = prevKeyPath$jscomp$5),
10247
10558
  (task.formatContext = prevContext$jscomp$1);
10248
10559
  }
10249
10560
  var suspendedPrimaryTask = createRenderTask(
@@ -10263,6 +10574,7 @@
10263
10574
  ),
10264
10575
  task.context,
10265
10576
  task.treeContext,
10577
+ null,
10266
10578
  task.componentStack,
10267
10579
  emptyContextObject,
10268
10580
  task.debugTask
@@ -10279,21 +10591,30 @@
10279
10591
  request.resumableState,
10280
10592
  prevContext$jscomp$1
10281
10593
  );
10594
+ task.row = null;
10282
10595
  contentRootSegment.status = 6;
10283
10596
  try {
10284
10597
  if (
10285
10598
  (renderNode(request, task, content, -1),
10286
10599
  (contentRootSegment.status = 1),
10287
10600
  queueCompletedSegment(newBoundary, contentRootSegment),
10288
- 0 === newBoundary.pendingTasks &&
10289
- 0 === newBoundary.status &&
10290
- ((newBoundary.status = 1), !(500 < newBoundary.byteSize)))
10601
+ 0 === newBoundary.pendingTasks && 0 === newBoundary.status)
10291
10602
  ) {
10292
- 0 === request.pendingRootTasks &&
10293
- task.blockedPreamble &&
10294
- preparePreamble(request);
10295
- break a;
10296
- }
10603
+ if (
10604
+ ((newBoundary.status = 1), !(500 < newBoundary.byteSize))
10605
+ ) {
10606
+ null !== prevRow$jscomp$0 &&
10607
+ 0 === --prevRow$jscomp$0.pendingTasks &&
10608
+ finishSuspenseListRow(request, prevRow$jscomp$0);
10609
+ 0 === request.pendingRootTasks &&
10610
+ task.blockedPreamble &&
10611
+ preparePreamble(request);
10612
+ break a;
10613
+ }
10614
+ } else
10615
+ null !== prevRow$jscomp$0 &&
10616
+ prevRow$jscomp$0.together &&
10617
+ tryToResolveTogetherRow(request, prevRow$jscomp$0);
10297
10618
  } catch (thrownValue$6) {
10298
10619
  newBoundary.status = 4;
10299
10620
  if (12 === request.status) {
@@ -10334,8 +10655,9 @@
10334
10655
  (task.blockedPreamble = parentPreamble),
10335
10656
  (task.hoistableState = parentHoistableState),
10336
10657
  (task.blockedSegment = parentSegment),
10337
- (task.keyPath = prevKeyPath$jscomp$4),
10338
- (task.formatContext = prevContext$jscomp$1);
10658
+ (task.keyPath = prevKeyPath$jscomp$5),
10659
+ (task.formatContext = prevContext$jscomp$1),
10660
+ (task.row = prevRow$jscomp$0);
10339
10661
  }
10340
10662
  var suspendedFallbackTask = createRenderTask(
10341
10663
  request,
@@ -10354,6 +10676,7 @@
10354
10676
  ),
10355
10677
  task.context,
10356
10678
  task.treeContext,
10679
+ task.row,
10357
10680
  task.componentStack,
10358
10681
  emptyContextObject,
10359
10682
  task.debugTask
@@ -10372,7 +10695,7 @@
10372
10695
  for (var key in props)
10373
10696
  "ref" !== key && (propsWithoutRef[key] = props[key]);
10374
10697
  } else propsWithoutRef = props;
10375
- var children$jscomp$0 = renderWithHooks(
10698
+ var children$jscomp$1 = renderWithHooks(
10376
10699
  request,
10377
10700
  task,
10378
10701
  keyPath,
@@ -10384,7 +10707,7 @@
10384
10707
  request,
10385
10708
  task,
10386
10709
  keyPath,
10387
- children$jscomp$0,
10710
+ children$jscomp$1,
10388
10711
  0 !== localIdCounter,
10389
10712
  actionStateCounter,
10390
10713
  actionStateMatchingIndex
@@ -10396,9 +10719,9 @@
10396
10719
  case REACT_PROVIDER_TYPE:
10397
10720
  case REACT_CONTEXT_TYPE:
10398
10721
  var value$jscomp$0 = props.value,
10399
- children$jscomp$1 = props.children;
10722
+ children$jscomp$2 = props.children;
10400
10723
  var prevSnapshot = task.context;
10401
- var prevKeyPath$jscomp$5 = task.keyPath;
10724
+ var prevKeyPath$jscomp$6 = task.keyPath;
10402
10725
  var prevValue = type._currentValue2;
10403
10726
  type._currentValue2 = value$jscomp$0;
10404
10727
  void 0 !== type._currentRenderer2 &&
@@ -10419,7 +10742,7 @@
10419
10742
  currentActiveSnapshot = newNode;
10420
10743
  task.context = newNode;
10421
10744
  task.keyPath = keyPath;
10422
- renderNodeDestructive(request, task, children$jscomp$1, -1);
10745
+ renderNodeDestructive(request, task, children$jscomp$2, -1);
10423
10746
  var prevSnapshot$jscomp$0 = currentActiveSnapshot;
10424
10747
  if (null === prevSnapshot$jscomp$0)
10425
10748
  throw Error(
@@ -10441,7 +10764,7 @@
10441
10764
  var JSCompiler_inline_result$jscomp$0 = (currentActiveSnapshot =
10442
10765
  prevSnapshot$jscomp$0.parent);
10443
10766
  task.context = JSCompiler_inline_result$jscomp$0;
10444
- task.keyPath = prevKeyPath$jscomp$5;
10767
+ task.keyPath = prevKeyPath$jscomp$6;
10445
10768
  prevSnapshot !== task.context &&
10446
10769
  console.error(
10447
10770
  "Popping the context provider did not return back to the original snapshot. This is a bug in React."
@@ -10455,10 +10778,10 @@
10455
10778
  "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."
10456
10779
  );
10457
10780
  var newChildren = render(context$jscomp$0._currentValue2),
10458
- prevKeyPath$jscomp$6 = task.keyPath;
10781
+ prevKeyPath$jscomp$7 = task.keyPath;
10459
10782
  task.keyPath = keyPath;
10460
10783
  renderNodeDestructive(request, task, newChildren, -1);
10461
- task.keyPath = prevKeyPath$jscomp$6;
10784
+ task.keyPath = prevKeyPath$jscomp$7;
10462
10785
  return;
10463
10786
  case REACT_LAZY_TYPE:
10464
10787
  var Component = callLazyInitInDEV(type);
@@ -10583,6 +10906,7 @@
10583
10906
  node = null === node[4] ? null : node[4][3];
10584
10907
  var prevKeyPath = task.keyPath,
10585
10908
  prevContext = task.formatContext,
10909
+ prevRow = task.row,
10586
10910
  previousReplaySet = task.replay,
10587
10911
  parentBoundary = task.blockedBoundary,
10588
10912
  parentHoistableState = task.hoistableState,
@@ -10593,12 +10917,14 @@
10593
10917
  2 > task.formatContext.insertionMode
10594
10918
  ? createSuspenseBoundary(
10595
10919
  request,
10920
+ task.row,
10596
10921
  fallbackAbortSet,
10597
10922
  createPreambleState(),
10598
10923
  createPreambleState()
10599
10924
  )
10600
10925
  : createSuspenseBoundary(
10601
10926
  request,
10927
+ task.row,
10602
10928
  fallbackAbortSet,
10603
10929
  null,
10604
10930
  null
@@ -10612,6 +10938,7 @@
10612
10938
  request.resumableState,
10613
10939
  prevContext
10614
10940
  );
10941
+ task.row = null;
10615
10942
  task.replay = { nodes: ref, slots: name, pendingTasks: 1 };
10616
10943
  try {
10617
10944
  renderNode(request, task, content, -1);
@@ -10655,7 +10982,8 @@
10655
10982
  (task.hoistableState = parentHoistableState),
10656
10983
  (task.replay = previousReplaySet),
10657
10984
  (task.keyPath = prevKeyPath),
10658
- (task.formatContext = prevContext);
10985
+ (task.formatContext = prevContext),
10986
+ (task.row = prevRow);
10659
10987
  }
10660
10988
  props = createReplayTask(
10661
10989
  request,
@@ -10673,6 +11001,7 @@
10673
11001
  ),
10674
11002
  task.context,
10675
11003
  task.treeContext,
11004
+ task.row,
10676
11005
  task.componentStack,
10677
11006
  emptyContextObject,
10678
11007
  task.debugTask
@@ -10686,6 +11015,50 @@
10686
11015
  }
10687
11016
  }
10688
11017
  }
11018
+ function validateIterable(
11019
+ task,
11020
+ iterable,
11021
+ childIndex,
11022
+ iterator,
11023
+ iteratorFn
11024
+ ) {
11025
+ if (iterator === iterable) {
11026
+ if (
11027
+ -1 !== childIndex ||
11028
+ null === task.componentStack ||
11029
+ "function" !== typeof task.componentStack.type ||
11030
+ "[object GeneratorFunction]" !==
11031
+ Object.prototype.toString.call(task.componentStack.type) ||
11032
+ "[object Generator]" !== Object.prototype.toString.call(iterator)
11033
+ )
11034
+ didWarnAboutGenerators ||
11035
+ console.error(
11036
+ "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."
11037
+ ),
11038
+ (didWarnAboutGenerators = !0);
11039
+ } else
11040
+ iterable.entries !== iteratorFn ||
11041
+ didWarnAboutMaps ||
11042
+ (console.error(
11043
+ "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
11044
+ ),
11045
+ (didWarnAboutMaps = !0));
11046
+ }
11047
+ function validateAsyncIterable(task, iterable, childIndex, iterator) {
11048
+ iterator !== iterable ||
11049
+ (-1 === childIndex &&
11050
+ null !== task.componentStack &&
11051
+ "function" === typeof task.componentStack.type &&
11052
+ "[object AsyncGeneratorFunction]" ===
11053
+ Object.prototype.toString.call(task.componentStack.type) &&
11054
+ "[object AsyncGenerator]" ===
11055
+ Object.prototype.toString.call(iterator)) ||
11056
+ (didWarnAboutGenerators ||
11057
+ console.error(
11058
+ "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."
11059
+ ),
11060
+ (didWarnAboutGenerators = !0));
11061
+ }
10689
11062
  function renderNodeDestructive(request, task, node, childIndex) {
10690
11063
  null !== task.replay && "number" === typeof task.replay.slots
10691
11064
  ? resumeNode(request, task, task.replay.slots, node, childIndex)
@@ -10773,27 +11146,7 @@
10773
11146
  }
10774
11147
  if ((key = getIteratorFn(node)))
10775
11148
  if ((type = key.call(node))) {
10776
- if (type === node) {
10777
- if (
10778
- -1 !== childIndex ||
10779
- null === task.componentStack ||
10780
- "function" !== typeof task.componentStack.type ||
10781
- "[object GeneratorFunction]" !==
10782
- Object.prototype.toString.call(task.componentStack.type) ||
10783
- "[object Generator]" !== Object.prototype.toString.call(type)
10784
- )
10785
- didWarnAboutGenerators ||
10786
- console.error(
10787
- "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."
10788
- ),
10789
- (didWarnAboutGenerators = !0);
10790
- } else
10791
- node.entries !== key ||
10792
- didWarnAboutMaps ||
10793
- (console.error(
10794
- "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
10795
- ),
10796
- (didWarnAboutMaps = !0));
11149
+ validateIterable(task, node, childIndex, type, key);
10797
11150
  node = type.next();
10798
11151
  if (!node.done) {
10799
11152
  key = [];
@@ -10807,19 +11160,7 @@
10807
11160
  "function" === typeof node[ASYNC_ITERATOR] &&
10808
11161
  (type = node[ASYNC_ITERATOR]())
10809
11162
  ) {
10810
- type !== node ||
10811
- (-1 === childIndex &&
10812
- null !== task.componentStack &&
10813
- "function" === typeof task.componentStack.type &&
10814
- "[object AsyncGeneratorFunction]" ===
10815
- Object.prototype.toString.call(task.componentStack.type) &&
10816
- "[object AsyncGenerator]" ===
10817
- Object.prototype.toString.call(type)) ||
10818
- (didWarnAboutGenerators ||
10819
- console.error(
10820
- "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."
10821
- ),
10822
- (didWarnAboutGenerators = !0));
11163
+ validateAsyncIterable(task, node, childIndex, type);
10823
11164
  key = task.thenableState;
10824
11165
  task.thenableState = null;
10825
11166
  thenableIndexCounter = 0;
@@ -10891,7 +11232,70 @@
10891
11232
  ));
10892
11233
  }
10893
11234
  }
10894
- function renderChildrenArray(request$jscomp$0, task, children, childIndex) {
11235
+ function warnForMissingKey(request, task, child) {
11236
+ if (
11237
+ null !== child &&
11238
+ "object" === typeof child &&
11239
+ (child.$$typeof === REACT_ELEMENT_TYPE ||
11240
+ child.$$typeof === REACT_PORTAL_TYPE) &&
11241
+ child._store &&
11242
+ ((!child._store.validated && null == child.key) ||
11243
+ 2 === child._store.validated)
11244
+ ) {
11245
+ if ("object" !== typeof child._store)
11246
+ throw Error(
11247
+ "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
11248
+ );
11249
+ child._store.validated = 1;
11250
+ var didWarnForKey = request.didWarnForKey;
11251
+ null == didWarnForKey &&
11252
+ (didWarnForKey = request.didWarnForKey = new WeakSet());
11253
+ request = task.componentStack;
11254
+ if (null !== request && !didWarnForKey.has(request)) {
11255
+ didWarnForKey.add(request);
11256
+ var componentName = getComponentNameFromType(child.type);
11257
+ didWarnForKey = child._owner;
11258
+ var parentOwner = request.owner;
11259
+ request = "";
11260
+ if (parentOwner && "undefined" !== typeof parentOwner.type) {
11261
+ var name = getComponentNameFromType(parentOwner.type);
11262
+ name &&
11263
+ (request = "\n\nCheck the render method of `" + name + "`.");
11264
+ }
11265
+ request ||
11266
+ (componentName &&
11267
+ (request =
11268
+ "\n\nCheck the top-level render call using <" +
11269
+ componentName +
11270
+ ">."));
11271
+ componentName = "";
11272
+ null != didWarnForKey &&
11273
+ parentOwner !== didWarnForKey &&
11274
+ ((parentOwner = null),
11275
+ "undefined" !== typeof didWarnForKey.type
11276
+ ? (parentOwner = getComponentNameFromType(didWarnForKey.type))
11277
+ : "string" === typeof didWarnForKey.name &&
11278
+ (parentOwner = didWarnForKey.name),
11279
+ parentOwner &&
11280
+ (componentName =
11281
+ " It was passed a child from " + parentOwner + "."));
11282
+ didWarnForKey = task.componentStack;
11283
+ task.componentStack = {
11284
+ parent: task.componentStack,
11285
+ type: child.type,
11286
+ owner: child._owner,
11287
+ stack: child._debugStack
11288
+ };
11289
+ console.error(
11290
+ 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
11291
+ request,
11292
+ componentName
11293
+ );
11294
+ task.componentStack = didWarnForKey;
11295
+ }
11296
+ }
11297
+ }
11298
+ function renderChildrenArray(request, task, children, childIndex) {
10895
11299
  var prevKeyPath = task.keyPath,
10896
11300
  previousComponentStack = task.componentStack;
10897
11301
  var previousDebugTask = task.debugTask;
@@ -10912,7 +11316,7 @@
10912
11316
  node = node[3];
10913
11317
  task.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };
10914
11318
  try {
10915
- renderChildrenArray(request$jscomp$0, task, children, -1);
11319
+ renderChildrenArray(request, task, children, -1);
10916
11320
  if (
10917
11321
  1 === task.replay.pendingTasks &&
10918
11322
  0 < task.replay.nodes.length
@@ -10931,7 +11335,7 @@
10931
11335
  task.replay.pendingTasks--;
10932
11336
  children = getThrownInfo(task.componentStack);
10933
11337
  erroredReplay(
10934
- request$jscomp$0,
11338
+ request,
10935
11339
  task.blockedBoundary,
10936
11340
  x,
10937
11341
  children,
@@ -10961,15 +11365,9 @@
10961
11365
  task.treeContext = pushTreeContext(replay, replayNodes, childIndex);
10962
11366
  var resumeSegmentID = j[childIndex];
10963
11367
  "number" === typeof resumeSegmentID
10964
- ? (resumeNode(
10965
- request$jscomp$0,
10966
- task,
10967
- resumeSegmentID,
10968
- node,
10969
- childIndex
10970
- ),
11368
+ ? (resumeNode(request, task, resumeSegmentID, node, childIndex),
10971
11369
  delete j[childIndex])
10972
- : renderNode(request$jscomp$0, task, node, childIndex);
11370
+ : renderNode(request, task, node, childIndex);
10973
11371
  }
10974
11372
  task.treeContext = replay;
10975
11373
  task.keyPath = prevKeyPath;
@@ -10977,75 +11375,11 @@
10977
11375
  task.debugTask = previousDebugTask;
10978
11376
  return;
10979
11377
  }
10980
- for (j = 0; j < replayNodes; j++) {
10981
- childIndex = children[j];
10982
- var request = request$jscomp$0;
10983
- node = task;
10984
- resumeSegmentID = childIndex;
10985
- if (
10986
- null !== resumeSegmentID &&
10987
- "object" === typeof resumeSegmentID &&
10988
- (resumeSegmentID.$$typeof === REACT_ELEMENT_TYPE ||
10989
- resumeSegmentID.$$typeof === REACT_PORTAL_TYPE) &&
10990
- resumeSegmentID._store &&
10991
- ((!resumeSegmentID._store.validated && null == resumeSegmentID.key) ||
10992
- 2 === resumeSegmentID._store.validated)
10993
- ) {
10994
- if ("object" !== typeof resumeSegmentID._store)
10995
- throw Error(
10996
- "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
10997
- );
10998
- resumeSegmentID._store.validated = 1;
10999
- var didWarnForKey = request.didWarnForKey;
11000
- null == didWarnForKey &&
11001
- (didWarnForKey = request.didWarnForKey = new WeakSet());
11002
- request = node.componentStack;
11003
- if (null !== request && !didWarnForKey.has(request)) {
11004
- didWarnForKey.add(request);
11005
- var componentName = getComponentNameFromType(resumeSegmentID.type);
11006
- didWarnForKey = resumeSegmentID._owner;
11007
- var parentOwner = request.owner;
11008
- request = "";
11009
- if (parentOwner && "undefined" !== typeof parentOwner.type) {
11010
- var name = getComponentNameFromType(parentOwner.type);
11011
- name &&
11012
- (request = "\n\nCheck the render method of `" + name + "`.");
11013
- }
11014
- request ||
11015
- (componentName &&
11016
- (request =
11017
- "\n\nCheck the top-level render call using <" +
11018
- componentName +
11019
- ">."));
11020
- componentName = "";
11021
- null != didWarnForKey &&
11022
- parentOwner !== didWarnForKey &&
11023
- ((parentOwner = null),
11024
- "undefined" !== typeof didWarnForKey.type
11025
- ? (parentOwner = getComponentNameFromType(didWarnForKey.type))
11026
- : "string" === typeof didWarnForKey.name &&
11027
- (parentOwner = didWarnForKey.name),
11028
- parentOwner &&
11029
- (componentName =
11030
- " It was passed a child from " + parentOwner + "."));
11031
- didWarnForKey = node.componentStack;
11032
- node.componentStack = {
11033
- parent: node.componentStack,
11034
- type: resumeSegmentID.type,
11035
- owner: resumeSegmentID._owner,
11036
- stack: resumeSegmentID._debugStack
11037
- };
11038
- console.error(
11039
- 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
11040
- request,
11041
- componentName
11042
- );
11043
- node.componentStack = didWarnForKey;
11044
- }
11045
- }
11046
- task.treeContext = pushTreeContext(replay, replayNodes, j);
11047
- renderNode(request$jscomp$0, task, childIndex, j);
11048
- }
11378
+ for (j = 0; j < replayNodes; j++)
11379
+ (childIndex = children[j]),
11380
+ warnForMissingKey(request, task, childIndex),
11381
+ (task.treeContext = pushTreeContext(replay, replayNodes, j)),
11382
+ renderNode(request, task, childIndex, j);
11049
11383
  task.treeContext = replay;
11050
11384
  task.keyPath = prevKeyPath;
11051
11385
  task.componentStack = previousComponentStack;
@@ -11173,6 +11507,7 @@
11173
11507
  task.formatContext,
11174
11508
  task.context,
11175
11509
  task.treeContext,
11510
+ task.row,
11176
11511
  task.componentStack,
11177
11512
  emptyContextObject,
11178
11513
  task.debugTask
@@ -11204,6 +11539,7 @@
11204
11539
  task.formatContext,
11205
11540
  task.context,
11206
11541
  task.treeContext,
11542
+ task.row,
11207
11543
  task.componentStack,
11208
11544
  emptyContextObject,
11209
11545
  task.debugTask
@@ -11380,9 +11716,10 @@
11380
11716
  );
11381
11717
  }
11382
11718
  function abortTaskSoft(task) {
11383
- var boundary = task.blockedBoundary;
11384
- task = task.blockedSegment;
11385
- null !== task && ((task.status = 3), finishedTask(this, boundary, task));
11719
+ var boundary = task.blockedBoundary,
11720
+ segment = task.blockedSegment;
11721
+ null !== segment &&
11722
+ ((segment.status = 3), finishedTask(this, boundary, task.row, segment));
11386
11723
  }
11387
11724
  function abortRemainingReplayNodes(
11388
11725
  request$jscomp$0,
@@ -11416,6 +11753,7 @@
11416
11753
  wasAborted = aborted,
11417
11754
  resumedBoundary = createSuspenseBoundary(
11418
11755
  request,
11756
+ null,
11419
11757
  new Set(),
11420
11758
  null,
11421
11759
  null
@@ -11474,7 +11812,7 @@
11474
11812
  null !== boundary && null !== segment
11475
11813
  ? (logPostpone(request, error.message, errorInfo, null),
11476
11814
  trackPostpone(request, boundary, task, segment),
11477
- finishedTask(request, null, segment))
11815
+ finishedTask(request, null, task.row, segment))
11478
11816
  : ((task = Error(
11479
11817
  "The render was aborted with postpone when the shell is incomplete. Reason: " +
11480
11818
  error.message
@@ -11485,7 +11823,7 @@
11485
11823
  ? ((boundary = request.trackedPostpones),
11486
11824
  logRecoverableError(request, error, errorInfo, null),
11487
11825
  trackPostpone(request, boundary, task, segment),
11488
- finishedTask(request, null, segment))
11826
+ finishedTask(request, null, task.row, segment))
11489
11827
  : (logRecoverableError(request, error, errorInfo, null),
11490
11828
  fatalError(request, error, errorInfo, null));
11491
11829
  return;
@@ -11497,15 +11835,20 @@
11497
11835
  null !== error &&
11498
11836
  error.$$typeof === REACT_POSTPONE_TYPE
11499
11837
  ? (logPostpone(request, error.message, errorInfo, null),
11500
- (task = "POSTPONE"))
11501
- : (task = logRecoverableError(request, error, errorInfo, null)),
11838
+ (segment = "POSTPONE"))
11839
+ : (segment = logRecoverableError(
11840
+ request,
11841
+ error,
11842
+ errorInfo,
11843
+ null
11844
+ )),
11502
11845
  abortRemainingReplayNodes(
11503
11846
  request,
11504
11847
  null,
11505
11848
  boundary.nodes,
11506
11849
  boundary.slots,
11507
11850
  error,
11508
- task,
11851
+ segment,
11509
11852
  errorInfo,
11510
11853
  !0
11511
11854
  ));
@@ -11513,7 +11856,6 @@
11513
11856
  0 === request.pendingRootTasks && completeShell(request);
11514
11857
  }
11515
11858
  } else {
11516
- boundary.pendingTasks--;
11517
11859
  var _trackedPostpones2 = request.trackedPostpones;
11518
11860
  if (4 !== boundary.status) {
11519
11861
  if (null !== _trackedPostpones2 && null !== segment)
@@ -11528,7 +11870,7 @@
11528
11870
  return abortTask(fallbackTask, request, error);
11529
11871
  }),
11530
11872
  boundary.fallbackAbortableTasks.clear(),
11531
- finishedTask(request, boundary, segment)
11873
+ finishedTask(request, boundary, task.row, segment)
11532
11874
  );
11533
11875
  boundary.status = 4;
11534
11876
  if (
@@ -11539,26 +11881,35 @@
11539
11881
  logPostpone(request, error.message, errorInfo, null);
11540
11882
  if (null !== request.trackedPostpones && null !== segment) {
11541
11883
  trackPostpone(request, request.trackedPostpones, task, segment);
11542
- finishedTask(request, task.blockedBoundary, segment);
11884
+ finishedTask(request, task.blockedBoundary, task.row, segment);
11543
11885
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
11544
11886
  return abortTask(fallbackTask, request, error);
11545
11887
  });
11546
11888
  boundary.fallbackAbortableTasks.clear();
11547
11889
  return;
11548
11890
  }
11549
- task = "POSTPONE";
11550
- } else task = logRecoverableError(request, error, errorInfo, null);
11891
+ segment = "POSTPONE";
11892
+ } else segment = logRecoverableError(request, error, errorInfo, null);
11551
11893
  boundary.status = 4;
11552
- encodeErrorForBoundary(boundary, task, error, errorInfo, !0);
11894
+ encodeErrorForBoundary(boundary, segment, error, errorInfo, !0);
11553
11895
  untrackBoundary(request, boundary);
11554
11896
  boundary.parentFlushed &&
11555
11897
  request.clientRenderedBoundaries.push(boundary);
11556
11898
  }
11899
+ boundary.pendingTasks--;
11900
+ errorInfo = boundary.row;
11901
+ null !== errorInfo &&
11902
+ 0 === --errorInfo.pendingTasks &&
11903
+ finishSuspenseListRow(request, errorInfo);
11557
11904
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
11558
11905
  return abortTask(fallbackTask, request, error);
11559
11906
  });
11560
11907
  boundary.fallbackAbortableTasks.clear();
11561
11908
  }
11909
+ task = task.row;
11910
+ null !== task &&
11911
+ 0 === --task.pendingTasks &&
11912
+ finishSuspenseListRow(request, task);
11562
11913
  request.allPendingTasks--;
11563
11914
  0 === request.allPendingTasks && completeAll(request);
11564
11915
  }
@@ -11660,7 +12011,11 @@
11660
12011
  queueCompletedSegment(boundary, childSegment);
11661
12012
  } else boundary.completedSegments.push(segment);
11662
12013
  }
11663
- function finishedTask(request, boundary, segment) {
12014
+ function finishedTask(request, boundary, row, segment) {
12015
+ null !== row &&
12016
+ (0 === --row.pendingTasks
12017
+ ? finishSuspenseListRow(request, row)
12018
+ : row.together && tryToResolveTogetherRow(request, row));
11664
12019
  request.allPendingTasks--;
11665
12020
  if (null === boundary) {
11666
12021
  if (null !== segment && segment.parentFlushed) {
@@ -11684,23 +12039,33 @@
11684
12039
  boundary.parentFlushed &&
11685
12040
  request.completedBoundaries.push(boundary),
11686
12041
  1 === boundary.status &&
11687
- (500 < boundary.byteSize ||
12042
+ ((row = boundary.row),
12043
+ null !== row &&
12044
+ hoistHoistables(row.hoistables, boundary.contentState),
12045
+ 500 < boundary.byteSize ||
11688
12046
  (boundary.fallbackAbortableTasks.forEach(
11689
12047
  abortTaskSoft,
11690
12048
  request
11691
12049
  ),
11692
- boundary.fallbackAbortableTasks.clear()),
12050
+ boundary.fallbackAbortableTasks.clear(),
12051
+ null !== row &&
12052
+ 0 === --row.pendingTasks &&
12053
+ finishSuspenseListRow(request, row)),
11693
12054
  0 === request.pendingRootTasks &&
11694
12055
  null === request.trackedPostpones &&
11695
12056
  null !== boundary.contentPreamble &&
11696
12057
  preparePreamble(request)))
11697
- : null !== segment &&
11698
- segment.parentFlushed &&
11699
- 1 === segment.status &&
11700
- (queueCompletedSegment(boundary, segment),
11701
- 1 === boundary.completedSegments.length &&
11702
- boundary.parentFlushed &&
11703
- request.partialBoundaries.push(boundary)));
12058
+ : (null !== segment &&
12059
+ segment.parentFlushed &&
12060
+ 1 === segment.status &&
12061
+ (queueCompletedSegment(boundary, segment),
12062
+ 1 === boundary.completedSegments.length &&
12063
+ boundary.parentFlushed &&
12064
+ request.partialBoundaries.push(boundary)),
12065
+ (boundary = boundary.row),
12066
+ null !== boundary &&
12067
+ boundary.together &&
12068
+ tryToResolveTogetherRow(request, boundary)));
11704
12069
  0 === request.allPendingTasks && completeAll(request);
11705
12070
  }
11706
12071
  function performWork(request$jscomp$1) {
@@ -11748,7 +12113,12 @@
11748
12113
  );
11749
12114
  request.replay.pendingTasks--;
11750
12115
  request.abortSet.delete(request);
11751
- finishedTask(request$jscomp$0, request.blockedBoundary, null);
12116
+ finishedTask(
12117
+ request$jscomp$0,
12118
+ request.blockedBoundary,
12119
+ request.row,
12120
+ null
12121
+ );
11752
12122
  } catch (thrownValue) {
11753
12123
  resetHooksState();
11754
12124
  var x =
@@ -11808,6 +12178,7 @@
11808
12178
  finishedTask(
11809
12179
  request,
11810
12180
  task$jscomp$0.blockedBoundary,
12181
+ task$jscomp$0.row,
11811
12182
  segment$jscomp$0
11812
12183
  );
11813
12184
  } catch (thrownValue) {
@@ -11853,6 +12224,7 @@
11853
12224
  finishedTask(
11854
12225
  request,
11855
12226
  task$jscomp$0.blockedBoundary,
12227
+ task$jscomp$0.row,
11856
12228
  segment$jscomp$0
11857
12229
  );
11858
12230
  } else {
@@ -11892,6 +12264,7 @@
11892
12264
  finishedTask(
11893
12265
  request,
11894
12266
  task$jscomp$0.blockedBoundary,
12267
+ task$jscomp$0.row,
11895
12268
  segment$jscomp$0
11896
12269
  );
11897
12270
  break a;
@@ -11903,7 +12276,12 @@
11903
12276
  task$jscomp$0.abortSet.delete(task$jscomp$0);
11904
12277
  segment$jscomp$0.status = 4;
11905
12278
  var boundary = task$jscomp$0.blockedBoundary,
12279
+ row = task$jscomp$0.row,
11906
12280
  debugTask = task$jscomp$0.debugTask;
12281
+ null !== row &&
12282
+ 0 === --row.pendingTasks &&
12283
+ finishSuspenseListRow(request, row);
12284
+ request.allPendingTasks--;
11907
12285
  "object" === typeof x$jscomp$0 &&
11908
12286
  null !== x$jscomp$0 &&
11909
12287
  x$jscomp$0.$$typeof === REACT_POSTPONE_TYPE
@@ -11920,31 +12298,36 @@
11920
12298
  errorInfo$jscomp$0,
11921
12299
  debugTask
11922
12300
  ));
11923
- null === boundary
11924
- ? fatalError(
11925
- request,
11926
- x$jscomp$0,
11927
- errorInfo$jscomp$0,
11928
- debugTask
11929
- )
11930
- : (boundary.pendingTasks--,
11931
- 4 !== boundary.status &&
11932
- ((boundary.status = 4),
11933
- encodeErrorForBoundary(
11934
- boundary,
11935
- prevTaskInDEV,
11936
- x$jscomp$0,
11937
- errorInfo$jscomp$0,
11938
- !1
11939
- ),
11940
- untrackBoundary(request, boundary),
11941
- boundary.parentFlushed &&
11942
- request.clientRenderedBoundaries.push(boundary),
11943
- 0 === request.pendingRootTasks &&
11944
- null === request.trackedPostpones &&
11945
- null !== boundary.contentPreamble &&
11946
- preparePreamble(request)));
11947
- request.allPendingTasks--;
12301
+ if (null === boundary)
12302
+ fatalError(
12303
+ request,
12304
+ x$jscomp$0,
12305
+ errorInfo$jscomp$0,
12306
+ debugTask
12307
+ );
12308
+ else if (
12309
+ (boundary.pendingTasks--, 4 !== boundary.status)
12310
+ ) {
12311
+ boundary.status = 4;
12312
+ encodeErrorForBoundary(
12313
+ boundary,
12314
+ prevTaskInDEV,
12315
+ x$jscomp$0,
12316
+ errorInfo$jscomp$0,
12317
+ !1
12318
+ );
12319
+ untrackBoundary(request, boundary);
12320
+ var boundaryRow = boundary.row;
12321
+ null !== boundaryRow &&
12322
+ 0 === --boundaryRow.pendingTasks &&
12323
+ finishSuspenseListRow(request, boundaryRow);
12324
+ boundary.parentFlushed &&
12325
+ request.clientRenderedBoundaries.push(boundary);
12326
+ 0 === request.pendingRootTasks &&
12327
+ null === request.trackedPostpones &&
12328
+ null !== boundary.contentPreamble &&
12329
+ preparePreamble(request);
12330
+ }
11948
12331
  0 === request.allPendingTasks && completeAll(request);
11949
12332
  }
11950
12333
  } finally {
@@ -12095,7 +12478,14 @@
12095
12478
  return flushSubtree(request, destination, segment, hoistableState);
12096
12479
  boundary.parentFlushed = !0;
12097
12480
  if (4 === boundary.status)
12098
- return flushSubtree(request, destination, segment, hoistableState), !0;
12481
+ return (
12482
+ (boundary = boundary.row),
12483
+ null !== boundary &&
12484
+ 0 === --boundary.pendingTasks &&
12485
+ finishSuspenseListRow(request, boundary),
12486
+ flushSubtree(request, destination, segment, hoistableState),
12487
+ !0
12488
+ );
12099
12489
  if (1 !== boundary.status)
12100
12490
  return (
12101
12491
  0 === boundary.status &&
@@ -12108,12 +12498,7 @@
12108
12498
  boundary.rootSegmentID
12109
12499
  ),
12110
12500
  hoistableState &&
12111
- ((boundary = boundary.fallbackState),
12112
- boundary.styles.forEach(hoistStyleQueueDependency, hoistableState),
12113
- boundary.stylesheets.forEach(
12114
- hoistStylesheetDependency,
12115
- hoistableState
12116
- )),
12501
+ hoistHoistables(hoistableState, boundary.fallbackState),
12117
12502
  flushSubtree(request, destination, segment, hoistableState),
12118
12503
  destination.push("\x3c!--/$--\x3e")
12119
12504
  );
@@ -12133,10 +12518,12 @@
12133
12518
  destination.push("\x3c!--/$--\x3e")
12134
12519
  );
12135
12520
  flushedByteSize += boundary.byteSize;
12136
- hoistableState &&
12137
- ((segment = boundary.contentState),
12138
- segment.styles.forEach(hoistStyleQueueDependency, hoistableState),
12139
- segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState));
12521
+ hoistableState && hoistHoistables(hoistableState, boundary.contentState);
12522
+ segment = boundary.row;
12523
+ null !== segment &&
12524
+ 500 < boundary.byteSize &&
12525
+ 0 === --segment.pendingTasks &&
12526
+ finishSuspenseListRow(request, segment);
12140
12527
  segment = boundary.completedSegments;
12141
12528
  if (1 !== segment.length)
12142
12529
  throw Error(
@@ -12174,6 +12561,11 @@
12174
12561
  completedSegments[i]
12175
12562
  );
12176
12563
  completedSegments.length = 0;
12564
+ completedSegments = boundary.row;
12565
+ null !== completedSegments &&
12566
+ 500 < boundary.byteSize &&
12567
+ 0 === --completedSegments.pendingTasks &&
12568
+ finishSuspenseListRow(request, completedSegments);
12177
12569
  writeHoistablesForBoundary(
12178
12570
  destination,
12179
12571
  boundary.contentState,
@@ -12243,11 +12635,12 @@
12243
12635
  ? destination.push(")\x3c/script>")
12244
12636
  : destination.push('"></template>');
12245
12637
  request = request.bootstrapChunks;
12246
- for (i = 0; i < request.length - 1; i++) destination.push(request[i]);
12247
- i < request.length
12248
- ? ((i = request[i]),
12638
+ for (boundary = 0; boundary < request.length - 1; boundary++)
12639
+ destination.push(request[boundary]);
12640
+ boundary < request.length
12641
+ ? ((boundary = request[boundary]),
12249
12642
  (request.length = 0),
12250
- (destination = destination.push(i)))
12643
+ (destination = destination.push(boundary)))
12251
12644
  : (destination = !0);
12252
12645
  return destination && completedSegments;
12253
12646
  }
@@ -12583,6 +12976,17 @@
12583
12976
  break a;
12584
12977
  }
12585
12978
  completedSegments.splice(0, JSCompiler_inline_result);
12979
+ var row = boundary$jscomp$0.row;
12980
+ null !== row &&
12981
+ row.together &&
12982
+ 1 === boundary$jscomp$0.pendingTasks &&
12983
+ (1 === row.pendingTasks
12984
+ ? unblockSuspenseListRow(
12985
+ clientRenderedBoundaries,
12986
+ row,
12987
+ row.hoistables
12988
+ )
12989
+ : row.pendingTasks--);
12586
12990
  JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(
12587
12991
  boundary,
12588
12992
  boundary$jscomp$0.contentState,
@@ -14174,5 +14578,5 @@
14174
14578
  });
14175
14579
  });
14176
14580
  };
14177
- exports.version = "19.2.0-experimental-462d08f9-20250517";
14581
+ exports.version = "19.2.0-experimental-23884812-20250520";
14178
14582
  })();