react-markup 0.0.0-experimental-462d08f9-20250517 → 0.0.0-experimental-c4676e72-20250520

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9126,6 +9126,7 @@
9126
9126
  null,
9127
9127
  emptyTreeContext,
9128
9128
  null,
9129
+ null,
9129
9130
  emptyContextObject,
9130
9131
  null
9131
9132
  );
@@ -9141,15 +9142,17 @@
9141
9142
  }
9142
9143
  function createSuspenseBoundary(
9143
9144
  request,
9145
+ row,
9144
9146
  fallbackAbortableTasks,
9145
9147
  contentPreamble,
9146
9148
  fallbackPreamble
9147
9149
  ) {
9148
- return {
9150
+ fallbackAbortableTasks = {
9149
9151
  status: 0,
9150
9152
  rootSegmentID: -1,
9151
9153
  parentFlushed: !1,
9152
9154
  pendingTasks: 0,
9155
+ row: row,
9153
9156
  completedSegments: [],
9154
9157
  byteSize: 0,
9155
9158
  fallbackAbortableTasks: fallbackAbortableTasks,
@@ -9164,6 +9167,14 @@
9164
9167
  errorStack: null,
9165
9168
  errorComponentStack: null
9166
9169
  };
9170
+ null !== row &&
9171
+ (row.pendingTasks++,
9172
+ (row = row.boundaries),
9173
+ null !== row &&
9174
+ (request.allPendingTasks++,
9175
+ fallbackAbortableTasks.pendingTasks++,
9176
+ row.push(fallbackAbortableTasks)));
9177
+ return fallbackAbortableTasks;
9167
9178
  }
9168
9179
  function createRenderTask(
9169
9180
  request,
@@ -9179,6 +9190,7 @@
9179
9190
  formatContext,
9180
9191
  context,
9181
9192
  treeContext,
9193
+ row,
9182
9194
  componentStack,
9183
9195
  legacyContext,
9184
9196
  debugTask
@@ -9187,6 +9199,7 @@
9187
9199
  null === blockedBoundary
9188
9200
  ? request.pendingRootTasks++
9189
9201
  : blockedBoundary.pendingTasks++;
9202
+ null !== row && row.pendingTasks++;
9190
9203
  var task = {
9191
9204
  replay: null,
9192
9205
  node: node,
@@ -9203,6 +9216,7 @@
9203
9216
  formatContext: formatContext,
9204
9217
  context: context,
9205
9218
  treeContext: treeContext,
9219
+ row: row,
9206
9220
  componentStack: componentStack,
9207
9221
  thenableState: thenableState
9208
9222
  };
@@ -9223,6 +9237,7 @@
9223
9237
  formatContext,
9224
9238
  context,
9225
9239
  treeContext,
9240
+ row,
9226
9241
  componentStack,
9227
9242
  legacyContext,
9228
9243
  debugTask
@@ -9231,6 +9246,7 @@
9231
9246
  null === blockedBoundary
9232
9247
  ? request.pendingRootTasks++
9233
9248
  : blockedBoundary.pendingTasks++;
9249
+ null !== row && row.pendingTasks++;
9234
9250
  replay.pendingTasks++;
9235
9251
  var task = {
9236
9252
  replay: replay,
@@ -9248,6 +9264,7 @@
9248
9264
  formatContext: formatContext,
9249
9265
  context: context,
9250
9266
  treeContext: treeContext,
9267
+ row: row,
9251
9268
  componentStack: componentStack,
9252
9269
  thenableState: thenableState
9253
9270
  };
@@ -9439,6 +9456,137 @@
9439
9456
  ? ((request.status = 14), request.destination.destroy(error))
9440
9457
  : ((request.status = 13), (request.fatalError = error));
9441
9458
  }
9459
+ function finishSuspenseListRow(request, row) {
9460
+ for (row = row.next; null !== row; ) {
9461
+ var unblockedBoundaries = row.boundaries;
9462
+ if (null !== unblockedBoundaries) {
9463
+ row.boundaries = null;
9464
+ for (var i = 0; i < unblockedBoundaries.length; i++)
9465
+ finishedTask(request, unblockedBoundaries[i], null, null);
9466
+ }
9467
+ row.pendingTasks--;
9468
+ if (0 < row.pendingTasks) break;
9469
+ row = row.next;
9470
+ }
9471
+ }
9472
+ function createSuspenseListRow(previousRow) {
9473
+ var newRow = { pendingTasks: 1, boundaries: null, next: null };
9474
+ null !== previousRow &&
9475
+ 0 < previousRow.pendingTasks &&
9476
+ (newRow.pendingTasks++,
9477
+ (newRow.boundaries = []),
9478
+ (previousRow.next = newRow));
9479
+ return newRow;
9480
+ }
9481
+ function renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {
9482
+ keyPath = task.keyPath;
9483
+ var previousComponentStack = task.componentStack;
9484
+ var previousDebugTask = task.debugTask;
9485
+ pushServerComponentStack(task, task.node.props.children._debugInfo);
9486
+ var prevTreeContext = task.treeContext,
9487
+ prevRow = task.row,
9488
+ totalChildren = rows.length,
9489
+ previousSuspenseListRow = null;
9490
+ if (null !== task.replay) {
9491
+ var resumeSlots = task.replay.slots;
9492
+ if (null !== resumeSlots && "object" === typeof resumeSlots)
9493
+ for (var n = 0; n < totalChildren; n++) {
9494
+ var i = "backwards" !== revealOrder ? n : totalChildren - 1 - n,
9495
+ node = rows[i];
9496
+ task.row = previousSuspenseListRow = createSuspenseListRow(
9497
+ previousSuspenseListRow
9498
+ );
9499
+ task.treeContext = pushTreeContext(
9500
+ prevTreeContext,
9501
+ totalChildren,
9502
+ i
9503
+ );
9504
+ var resumeSegmentID = resumeSlots[i];
9505
+ "number" === typeof resumeSegmentID
9506
+ ? (resumeNode(request, task, resumeSegmentID, node, i),
9507
+ delete resumeSlots[i])
9508
+ : renderNode(request, task, node, i);
9509
+ 0 === --previousSuspenseListRow.pendingTasks &&
9510
+ finishSuspenseListRow(request, previousSuspenseListRow);
9511
+ }
9512
+ else
9513
+ for (resumeSlots = 0; resumeSlots < totalChildren; resumeSlots++)
9514
+ (n =
9515
+ "backwards" !== revealOrder
9516
+ ? resumeSlots
9517
+ : totalChildren - 1 - resumeSlots),
9518
+ (i = rows[n]),
9519
+ warnForMissingKey(request, task, i),
9520
+ (task.row = previousSuspenseListRow =
9521
+ createSuspenseListRow(previousSuspenseListRow)),
9522
+ (task.treeContext = pushTreeContext(
9523
+ prevTreeContext,
9524
+ totalChildren,
9525
+ n
9526
+ )),
9527
+ renderNode(request, task, i, n),
9528
+ 0 === --previousSuspenseListRow.pendingTasks &&
9529
+ finishSuspenseListRow(request, previousSuspenseListRow);
9530
+ } else if ("backwards" !== revealOrder)
9531
+ for (revealOrder = 0; revealOrder < totalChildren; revealOrder++)
9532
+ (resumeSlots = rows[revealOrder]),
9533
+ warnForMissingKey(request, task, resumeSlots),
9534
+ (task.row = previousSuspenseListRow =
9535
+ createSuspenseListRow(previousSuspenseListRow)),
9536
+ (task.treeContext = pushTreeContext(
9537
+ prevTreeContext,
9538
+ totalChildren,
9539
+ revealOrder
9540
+ )),
9541
+ renderNode(request, task, resumeSlots, revealOrder),
9542
+ 0 === --previousSuspenseListRow.pendingTasks &&
9543
+ finishSuspenseListRow(request, previousSuspenseListRow);
9544
+ else {
9545
+ revealOrder = task.blockedSegment;
9546
+ resumeSlots = revealOrder.children.length;
9547
+ n = revealOrder.chunks.length;
9548
+ for (i = totalChildren - 1; 0 <= i; i--) {
9549
+ node = rows[i];
9550
+ task.row = previousSuspenseListRow = createSuspenseListRow(
9551
+ previousSuspenseListRow
9552
+ );
9553
+ task.treeContext = pushTreeContext(prevTreeContext, totalChildren, i);
9554
+ resumeSegmentID = createPendingSegment(
9555
+ request,
9556
+ n,
9557
+ null,
9558
+ task.formatContext,
9559
+ 0 === i ? revealOrder.lastPushedText : !0,
9560
+ !0
9561
+ );
9562
+ revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);
9563
+ task.blockedSegment = resumeSegmentID;
9564
+ warnForMissingKey(request, task, node);
9565
+ try {
9566
+ renderNode(request, task, node, i),
9567
+ (resumeSegmentID.status = 1),
9568
+ 0 === --previousSuspenseListRow.pendingTasks &&
9569
+ finishSuspenseListRow(request, previousSuspenseListRow);
9570
+ } catch (thrownValue) {
9571
+ throw (
9572
+ ((resumeSegmentID.status = 12 === request.status ? 3 : 4),
9573
+ thrownValue)
9574
+ );
9575
+ }
9576
+ }
9577
+ task.blockedSegment = revealOrder;
9578
+ revealOrder.lastPushedText = !1;
9579
+ }
9580
+ null !== prevRow &&
9581
+ null !== previousSuspenseListRow &&
9582
+ 0 < previousSuspenseListRow.pendingTasks &&
9583
+ (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));
9584
+ task.treeContext = prevTreeContext;
9585
+ task.row = prevRow;
9586
+ task.keyPath = keyPath;
9587
+ task.componentStack = previousComponentStack;
9588
+ task.debugTask = previousDebugTask;
9589
+ }
9442
9590
  function renderWithHooks(
9443
9591
  request,
9444
9592
  task,
@@ -10035,6 +10183,7 @@
10035
10183
  task.formatContext,
10036
10184
  task.context,
10037
10185
  task.treeContext,
10186
+ task.row,
10038
10187
  task.componentStack,
10039
10188
  emptyContextObject,
10040
10189
  task.debugTask
@@ -10116,14 +10265,103 @@
10116
10265
  }
10117
10266
  return;
10118
10267
  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;
10268
+ a: {
10269
+ var children$jscomp$0 = props.children,
10270
+ revealOrder = props.revealOrder;
10271
+ if ("forwards" === revealOrder || "backwards" === revealOrder) {
10272
+ if (isArrayImpl(children$jscomp$0)) {
10273
+ renderSuspenseListRows(
10274
+ request,
10275
+ task,
10276
+ keyPath,
10277
+ children$jscomp$0,
10278
+ revealOrder
10279
+ );
10280
+ break a;
10281
+ }
10282
+ var iteratorFn = getIteratorFn(children$jscomp$0);
10283
+ if (iteratorFn) {
10284
+ var iterator = iteratorFn.call(children$jscomp$0);
10285
+ if (iterator) {
10286
+ validateIterable(
10287
+ task,
10288
+ children$jscomp$0,
10289
+ -1,
10290
+ iterator,
10291
+ iteratorFn
10292
+ );
10293
+ var step = iterator.next();
10294
+ if (!step.done) {
10295
+ var rows = [];
10296
+ do rows.push(step.value), (step = iterator.next());
10297
+ while (!step.done);
10298
+ renderSuspenseListRows(
10299
+ request,
10300
+ task,
10301
+ keyPath,
10302
+ children$jscomp$0,
10303
+ revealOrder
10304
+ );
10305
+ }
10306
+ break a;
10307
+ }
10308
+ }
10309
+ if ("function" === typeof children$jscomp$0[ASYNC_ITERATOR]) {
10310
+ var _iterator = children$jscomp$0[ASYNC_ITERATOR]();
10311
+ if (_iterator) {
10312
+ validateAsyncIterable(
10313
+ task,
10314
+ children$jscomp$0,
10315
+ -1,
10316
+ _iterator
10317
+ );
10318
+ var prevThenableState = task.thenableState;
10319
+ task.thenableState = null;
10320
+ thenableIndexCounter = 0;
10321
+ thenableState = prevThenableState;
10322
+ var _rows = [],
10323
+ done = !1;
10324
+ if (_iterator === children$jscomp$0)
10325
+ for (
10326
+ var _step = readPreviousThenableFromState();
10327
+ void 0 !== _step;
10328
+
10329
+ ) {
10330
+ if (_step.done) {
10331
+ done = !0;
10332
+ break;
10333
+ }
10334
+ _rows.push(_step.value);
10335
+ _step = readPreviousThenableFromState();
10336
+ }
10337
+ if (!done)
10338
+ for (
10339
+ var _step2 = unwrapThenable(_iterator.next());
10340
+ !_step2.done;
10341
+
10342
+ )
10343
+ _rows.push(_step2.value),
10344
+ (_step2 = unwrapThenable(_iterator.next()));
10345
+ renderSuspenseListRows(
10346
+ request,
10347
+ task,
10348
+ keyPath,
10349
+ _rows,
10350
+ revealOrder
10351
+ );
10352
+ break a;
10353
+ }
10354
+ }
10355
+ }
10356
+ var prevKeyPath$jscomp$3 = task.keyPath;
10357
+ task.keyPath = keyPath;
10358
+ renderNodeDestructive(request, task, children$jscomp$0, -1);
10359
+ task.keyPath = prevKeyPath$jscomp$3;
10360
+ }
10123
10361
  return;
10124
10362
  case REACT_VIEW_TRANSITION_TYPE:
10125
10363
  var prevContext$jscomp$0 = task.formatContext,
10126
- prevKeyPath$jscomp$3 = task.keyPath;
10364
+ prevKeyPath$jscomp$4 = task.keyPath;
10127
10365
  var resumableState$jscomp$1 = request.resumableState;
10128
10366
  if (null == props.name || "auto" === props.name) {
10129
10367
  var treeId = getTreeId(task.treeContext);
@@ -10140,7 +10378,7 @@
10140
10378
  task.treeContext = prevTreeContext;
10141
10379
  }
10142
10380
  task.formatContext = prevContext$jscomp$0;
10143
- task.keyPath = prevKeyPath$jscomp$3;
10381
+ task.keyPath = prevKeyPath$jscomp$4;
10144
10382
  return;
10145
10383
  case REACT_SCOPE_TYPE:
10146
10384
  throw Error(
@@ -10149,22 +10387,26 @@
10149
10387
  case REACT_SUSPENSE_TYPE:
10150
10388
  a: if (null !== task.replay) {
10151
10389
  var _prevKeyPath = task.keyPath,
10152
- _prevContext = task.formatContext;
10390
+ _prevContext = task.formatContext,
10391
+ _prevRow = task.row;
10153
10392
  task.keyPath = keyPath;
10154
10393
  task.formatContext = getSuspenseContentFormatContext(
10155
10394
  request.resumableState,
10156
10395
  _prevContext
10157
10396
  );
10397
+ task.row = null;
10158
10398
  var _content = props.children;
10159
10399
  try {
10160
10400
  renderNode(request, task, _content, -1);
10161
10401
  } finally {
10162
10402
  (task.keyPath = _prevKeyPath),
10163
- (task.formatContext = _prevContext);
10403
+ (task.formatContext = _prevContext),
10404
+ (task.row = _prevRow);
10164
10405
  }
10165
10406
  } else {
10166
- var prevKeyPath$jscomp$4 = task.keyPath,
10407
+ var prevKeyPath$jscomp$5 = task.keyPath,
10167
10408
  prevContext$jscomp$1 = task.formatContext,
10409
+ prevRow = task.row,
10168
10410
  parentBoundary = task.blockedBoundary,
10169
10411
  parentPreamble = task.blockedPreamble,
10170
10412
  parentHoistableState = task.hoistableState,
@@ -10176,12 +10418,14 @@
10176
10418
  2 > task.formatContext.insertionMode
10177
10419
  ? createSuspenseBoundary(
10178
10420
  request,
10421
+ task.row,
10179
10422
  fallbackAbortSet,
10180
10423
  createPreambleState(),
10181
10424
  createPreambleState()
10182
10425
  )
10183
10426
  : createSuspenseBoundary(
10184
10427
  request,
10428
+ task.row,
10185
10429
  fallbackAbortSet,
10186
10430
  null,
10187
10431
  null
@@ -10243,7 +10487,7 @@
10243
10487
  } finally {
10244
10488
  (task.blockedSegment = parentSegment),
10245
10489
  (task.blockedPreamble = parentPreamble),
10246
- (task.keyPath = prevKeyPath$jscomp$4),
10490
+ (task.keyPath = prevKeyPath$jscomp$5),
10247
10491
  (task.formatContext = prevContext$jscomp$1);
10248
10492
  }
10249
10493
  var suspendedPrimaryTask = createRenderTask(
@@ -10263,6 +10507,7 @@
10263
10507
  ),
10264
10508
  task.context,
10265
10509
  task.treeContext,
10510
+ null,
10266
10511
  task.componentStack,
10267
10512
  emptyContextObject,
10268
10513
  task.debugTask
@@ -10279,6 +10524,7 @@
10279
10524
  request.resumableState,
10280
10525
  prevContext$jscomp$1
10281
10526
  );
10527
+ task.row = null;
10282
10528
  contentRootSegment.status = 6;
10283
10529
  try {
10284
10530
  if (
@@ -10289,6 +10535,9 @@
10289
10535
  0 === newBoundary.status &&
10290
10536
  ((newBoundary.status = 1), !(500 < newBoundary.byteSize)))
10291
10537
  ) {
10538
+ null !== prevRow &&
10539
+ 0 === --prevRow.pendingTasks &&
10540
+ finishSuspenseListRow(request, prevRow);
10292
10541
  0 === request.pendingRootTasks &&
10293
10542
  task.blockedPreamble &&
10294
10543
  preparePreamble(request);
@@ -10334,8 +10583,9 @@
10334
10583
  (task.blockedPreamble = parentPreamble),
10335
10584
  (task.hoistableState = parentHoistableState),
10336
10585
  (task.blockedSegment = parentSegment),
10337
- (task.keyPath = prevKeyPath$jscomp$4),
10338
- (task.formatContext = prevContext$jscomp$1);
10586
+ (task.keyPath = prevKeyPath$jscomp$5),
10587
+ (task.formatContext = prevContext$jscomp$1),
10588
+ (task.row = prevRow);
10339
10589
  }
10340
10590
  var suspendedFallbackTask = createRenderTask(
10341
10591
  request,
@@ -10354,6 +10604,7 @@
10354
10604
  ),
10355
10605
  task.context,
10356
10606
  task.treeContext,
10607
+ task.row,
10357
10608
  task.componentStack,
10358
10609
  emptyContextObject,
10359
10610
  task.debugTask
@@ -10372,7 +10623,7 @@
10372
10623
  for (var key in props)
10373
10624
  "ref" !== key && (propsWithoutRef[key] = props[key]);
10374
10625
  } else propsWithoutRef = props;
10375
- var children$jscomp$0 = renderWithHooks(
10626
+ var children$jscomp$1 = renderWithHooks(
10376
10627
  request,
10377
10628
  task,
10378
10629
  keyPath,
@@ -10384,7 +10635,7 @@
10384
10635
  request,
10385
10636
  task,
10386
10637
  keyPath,
10387
- children$jscomp$0,
10638
+ children$jscomp$1,
10388
10639
  0 !== localIdCounter,
10389
10640
  actionStateCounter,
10390
10641
  actionStateMatchingIndex
@@ -10396,9 +10647,9 @@
10396
10647
  case REACT_PROVIDER_TYPE:
10397
10648
  case REACT_CONTEXT_TYPE:
10398
10649
  var value$jscomp$0 = props.value,
10399
- children$jscomp$1 = props.children;
10650
+ children$jscomp$2 = props.children;
10400
10651
  var prevSnapshot = task.context;
10401
- var prevKeyPath$jscomp$5 = task.keyPath;
10652
+ var prevKeyPath$jscomp$6 = task.keyPath;
10402
10653
  var prevValue = type._currentValue2;
10403
10654
  type._currentValue2 = value$jscomp$0;
10404
10655
  void 0 !== type._currentRenderer2 &&
@@ -10419,7 +10670,7 @@
10419
10670
  currentActiveSnapshot = newNode;
10420
10671
  task.context = newNode;
10421
10672
  task.keyPath = keyPath;
10422
- renderNodeDestructive(request, task, children$jscomp$1, -1);
10673
+ renderNodeDestructive(request, task, children$jscomp$2, -1);
10423
10674
  var prevSnapshot$jscomp$0 = currentActiveSnapshot;
10424
10675
  if (null === prevSnapshot$jscomp$0)
10425
10676
  throw Error(
@@ -10441,7 +10692,7 @@
10441
10692
  var JSCompiler_inline_result$jscomp$0 = (currentActiveSnapshot =
10442
10693
  prevSnapshot$jscomp$0.parent);
10443
10694
  task.context = JSCompiler_inline_result$jscomp$0;
10444
- task.keyPath = prevKeyPath$jscomp$5;
10695
+ task.keyPath = prevKeyPath$jscomp$6;
10445
10696
  prevSnapshot !== task.context &&
10446
10697
  console.error(
10447
10698
  "Popping the context provider did not return back to the original snapshot. This is a bug in React."
@@ -10455,10 +10706,10 @@
10455
10706
  "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
10707
  );
10457
10708
  var newChildren = render(context$jscomp$0._currentValue2),
10458
- prevKeyPath$jscomp$6 = task.keyPath;
10709
+ prevKeyPath$jscomp$7 = task.keyPath;
10459
10710
  task.keyPath = keyPath;
10460
10711
  renderNodeDestructive(request, task, newChildren, -1);
10461
- task.keyPath = prevKeyPath$jscomp$6;
10712
+ task.keyPath = prevKeyPath$jscomp$7;
10462
10713
  return;
10463
10714
  case REACT_LAZY_TYPE:
10464
10715
  var Component = callLazyInitInDEV(type);
@@ -10583,6 +10834,7 @@
10583
10834
  node = null === node[4] ? null : node[4][3];
10584
10835
  var prevKeyPath = task.keyPath,
10585
10836
  prevContext = task.formatContext,
10837
+ prevRow = task.row,
10586
10838
  previousReplaySet = task.replay,
10587
10839
  parentBoundary = task.blockedBoundary,
10588
10840
  parentHoistableState = task.hoistableState,
@@ -10593,12 +10845,14 @@
10593
10845
  2 > task.formatContext.insertionMode
10594
10846
  ? createSuspenseBoundary(
10595
10847
  request,
10848
+ task.row,
10596
10849
  fallbackAbortSet,
10597
10850
  createPreambleState(),
10598
10851
  createPreambleState()
10599
10852
  )
10600
10853
  : createSuspenseBoundary(
10601
10854
  request,
10855
+ task.row,
10602
10856
  fallbackAbortSet,
10603
10857
  null,
10604
10858
  null
@@ -10612,6 +10866,7 @@
10612
10866
  request.resumableState,
10613
10867
  prevContext
10614
10868
  );
10869
+ task.row = null;
10615
10870
  task.replay = { nodes: ref, slots: name, pendingTasks: 1 };
10616
10871
  try {
10617
10872
  renderNode(request, task, content, -1);
@@ -10655,7 +10910,8 @@
10655
10910
  (task.hoistableState = parentHoistableState),
10656
10911
  (task.replay = previousReplaySet),
10657
10912
  (task.keyPath = prevKeyPath),
10658
- (task.formatContext = prevContext);
10913
+ (task.formatContext = prevContext),
10914
+ (task.row = prevRow);
10659
10915
  }
10660
10916
  props = createReplayTask(
10661
10917
  request,
@@ -10673,6 +10929,7 @@
10673
10929
  ),
10674
10930
  task.context,
10675
10931
  task.treeContext,
10932
+ task.row,
10676
10933
  task.componentStack,
10677
10934
  emptyContextObject,
10678
10935
  task.debugTask
@@ -10686,6 +10943,50 @@
10686
10943
  }
10687
10944
  }
10688
10945
  }
10946
+ function validateIterable(
10947
+ task,
10948
+ iterable,
10949
+ childIndex,
10950
+ iterator,
10951
+ iteratorFn
10952
+ ) {
10953
+ if (iterator === iterable) {
10954
+ if (
10955
+ -1 !== childIndex ||
10956
+ null === task.componentStack ||
10957
+ "function" !== typeof task.componentStack.type ||
10958
+ "[object GeneratorFunction]" !==
10959
+ Object.prototype.toString.call(task.componentStack.type) ||
10960
+ "[object Generator]" !== Object.prototype.toString.call(iterator)
10961
+ )
10962
+ didWarnAboutGenerators ||
10963
+ console.error(
10964
+ "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."
10965
+ ),
10966
+ (didWarnAboutGenerators = !0);
10967
+ } else
10968
+ iterable.entries !== iteratorFn ||
10969
+ didWarnAboutMaps ||
10970
+ (console.error(
10971
+ "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
10972
+ ),
10973
+ (didWarnAboutMaps = !0));
10974
+ }
10975
+ function validateAsyncIterable(task, iterable, childIndex, iterator) {
10976
+ iterator !== iterable ||
10977
+ (-1 === childIndex &&
10978
+ null !== task.componentStack &&
10979
+ "function" === typeof task.componentStack.type &&
10980
+ "[object AsyncGeneratorFunction]" ===
10981
+ Object.prototype.toString.call(task.componentStack.type) &&
10982
+ "[object AsyncGenerator]" ===
10983
+ Object.prototype.toString.call(iterator)) ||
10984
+ (didWarnAboutGenerators ||
10985
+ console.error(
10986
+ "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."
10987
+ ),
10988
+ (didWarnAboutGenerators = !0));
10989
+ }
10689
10990
  function renderNodeDestructive(request, task, node, childIndex) {
10690
10991
  null !== task.replay && "number" === typeof task.replay.slots
10691
10992
  ? resumeNode(request, task, task.replay.slots, node, childIndex)
@@ -10773,27 +11074,7 @@
10773
11074
  }
10774
11075
  if ((key = getIteratorFn(node)))
10775
11076
  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));
11077
+ validateIterable(task, node, childIndex, type, key);
10797
11078
  node = type.next();
10798
11079
  if (!node.done) {
10799
11080
  key = [];
@@ -10807,19 +11088,7 @@
10807
11088
  "function" === typeof node[ASYNC_ITERATOR] &&
10808
11089
  (type = node[ASYNC_ITERATOR]())
10809
11090
  ) {
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));
11091
+ validateAsyncIterable(task, node, childIndex, type);
10823
11092
  key = task.thenableState;
10824
11093
  task.thenableState = null;
10825
11094
  thenableIndexCounter = 0;
@@ -10891,7 +11160,70 @@
10891
11160
  ));
10892
11161
  }
10893
11162
  }
10894
- function renderChildrenArray(request$jscomp$0, task, children, childIndex) {
11163
+ function warnForMissingKey(request, task, child) {
11164
+ if (
11165
+ null !== child &&
11166
+ "object" === typeof child &&
11167
+ (child.$$typeof === REACT_ELEMENT_TYPE ||
11168
+ child.$$typeof === REACT_PORTAL_TYPE) &&
11169
+ child._store &&
11170
+ ((!child._store.validated && null == child.key) ||
11171
+ 2 === child._store.validated)
11172
+ ) {
11173
+ if ("object" !== typeof child._store)
11174
+ throw Error(
11175
+ "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
11176
+ );
11177
+ child._store.validated = 1;
11178
+ var didWarnForKey = request.didWarnForKey;
11179
+ null == didWarnForKey &&
11180
+ (didWarnForKey = request.didWarnForKey = new WeakSet());
11181
+ request = task.componentStack;
11182
+ if (null !== request && !didWarnForKey.has(request)) {
11183
+ didWarnForKey.add(request);
11184
+ var componentName = getComponentNameFromType(child.type);
11185
+ didWarnForKey = child._owner;
11186
+ var parentOwner = request.owner;
11187
+ request = "";
11188
+ if (parentOwner && "undefined" !== typeof parentOwner.type) {
11189
+ var name = getComponentNameFromType(parentOwner.type);
11190
+ name &&
11191
+ (request = "\n\nCheck the render method of `" + name + "`.");
11192
+ }
11193
+ request ||
11194
+ (componentName &&
11195
+ (request =
11196
+ "\n\nCheck the top-level render call using <" +
11197
+ componentName +
11198
+ ">."));
11199
+ componentName = "";
11200
+ null != didWarnForKey &&
11201
+ parentOwner !== didWarnForKey &&
11202
+ ((parentOwner = null),
11203
+ "undefined" !== typeof didWarnForKey.type
11204
+ ? (parentOwner = getComponentNameFromType(didWarnForKey.type))
11205
+ : "string" === typeof didWarnForKey.name &&
11206
+ (parentOwner = didWarnForKey.name),
11207
+ parentOwner &&
11208
+ (componentName =
11209
+ " It was passed a child from " + parentOwner + "."));
11210
+ didWarnForKey = task.componentStack;
11211
+ task.componentStack = {
11212
+ parent: task.componentStack,
11213
+ type: child.type,
11214
+ owner: child._owner,
11215
+ stack: child._debugStack
11216
+ };
11217
+ console.error(
11218
+ 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
11219
+ request,
11220
+ componentName
11221
+ );
11222
+ task.componentStack = didWarnForKey;
11223
+ }
11224
+ }
11225
+ }
11226
+ function renderChildrenArray(request, task, children, childIndex) {
10895
11227
  var prevKeyPath = task.keyPath,
10896
11228
  previousComponentStack = task.componentStack;
10897
11229
  var previousDebugTask = task.debugTask;
@@ -10912,7 +11244,7 @@
10912
11244
  node = node[3];
10913
11245
  task.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };
10914
11246
  try {
10915
- renderChildrenArray(request$jscomp$0, task, children, -1);
11247
+ renderChildrenArray(request, task, children, -1);
10916
11248
  if (
10917
11249
  1 === task.replay.pendingTasks &&
10918
11250
  0 < task.replay.nodes.length
@@ -10931,7 +11263,7 @@
10931
11263
  task.replay.pendingTasks--;
10932
11264
  children = getThrownInfo(task.componentStack);
10933
11265
  erroredReplay(
10934
- request$jscomp$0,
11266
+ request,
10935
11267
  task.blockedBoundary,
10936
11268
  x,
10937
11269
  children,
@@ -10961,15 +11293,9 @@
10961
11293
  task.treeContext = pushTreeContext(replay, replayNodes, childIndex);
10962
11294
  var resumeSegmentID = j[childIndex];
10963
11295
  "number" === typeof resumeSegmentID
10964
- ? (resumeNode(
10965
- request$jscomp$0,
10966
- task,
10967
- resumeSegmentID,
10968
- node,
10969
- childIndex
10970
- ),
11296
+ ? (resumeNode(request, task, resumeSegmentID, node, childIndex),
10971
11297
  delete j[childIndex])
10972
- : renderNode(request$jscomp$0, task, node, childIndex);
11298
+ : renderNode(request, task, node, childIndex);
10973
11299
  }
10974
11300
  task.treeContext = replay;
10975
11301
  task.keyPath = prevKeyPath;
@@ -10977,75 +11303,11 @@
10977
11303
  task.debugTask = previousDebugTask;
10978
11304
  return;
10979
11305
  }
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
- }
11306
+ for (j = 0; j < replayNodes; j++)
11307
+ (childIndex = children[j]),
11308
+ warnForMissingKey(request, task, childIndex),
11309
+ (task.treeContext = pushTreeContext(replay, replayNodes, j)),
11310
+ renderNode(request, task, childIndex, j);
11049
11311
  task.treeContext = replay;
11050
11312
  task.keyPath = prevKeyPath;
11051
11313
  task.componentStack = previousComponentStack;
@@ -11173,6 +11435,7 @@
11173
11435
  task.formatContext,
11174
11436
  task.context,
11175
11437
  task.treeContext,
11438
+ task.row,
11176
11439
  task.componentStack,
11177
11440
  emptyContextObject,
11178
11441
  task.debugTask
@@ -11204,6 +11467,7 @@
11204
11467
  task.formatContext,
11205
11468
  task.context,
11206
11469
  task.treeContext,
11470
+ task.row,
11207
11471
  task.componentStack,
11208
11472
  emptyContextObject,
11209
11473
  task.debugTask
@@ -11380,9 +11644,10 @@
11380
11644
  );
11381
11645
  }
11382
11646
  function abortTaskSoft(task) {
11383
- var boundary = task.blockedBoundary;
11384
- task = task.blockedSegment;
11385
- null !== task && ((task.status = 3), finishedTask(this, boundary, task));
11647
+ var boundary = task.blockedBoundary,
11648
+ segment = task.blockedSegment;
11649
+ null !== segment &&
11650
+ ((segment.status = 3), finishedTask(this, boundary, task.row, segment));
11386
11651
  }
11387
11652
  function abortRemainingReplayNodes(
11388
11653
  request$jscomp$0,
@@ -11416,6 +11681,7 @@
11416
11681
  wasAborted = aborted,
11417
11682
  resumedBoundary = createSuspenseBoundary(
11418
11683
  request,
11684
+ null,
11419
11685
  new Set(),
11420
11686
  null,
11421
11687
  null
@@ -11462,6 +11728,10 @@
11462
11728
  if (6 === segment.status) return;
11463
11729
  segment.status = 3;
11464
11730
  }
11731
+ var row = task.row;
11732
+ null !== row &&
11733
+ 0 === --row.pendingTasks &&
11734
+ finishSuspenseListRow(request, row);
11465
11735
  var errorInfo = getThrownInfo(task.componentStack);
11466
11736
  if (null === boundary) {
11467
11737
  if (13 !== request.status && 14 !== request.status) {
@@ -11474,7 +11744,7 @@
11474
11744
  null !== boundary && null !== segment
11475
11745
  ? (logPostpone(request, error.message, errorInfo, null),
11476
11746
  trackPostpone(request, boundary, task, segment),
11477
- finishedTask(request, null, segment))
11747
+ finishedTask(request, null, row, segment))
11478
11748
  : ((task = Error(
11479
11749
  "The render was aborted with postpone when the shell is incomplete. Reason: " +
11480
11750
  error.message
@@ -11485,7 +11755,7 @@
11485
11755
  ? ((boundary = request.trackedPostpones),
11486
11756
  logRecoverableError(request, error, errorInfo, null),
11487
11757
  trackPostpone(request, boundary, task, segment),
11488
- finishedTask(request, null, segment))
11758
+ finishedTask(request, null, row, segment))
11489
11759
  : (logRecoverableError(request, error, errorInfo, null),
11490
11760
  fatalError(request, error, errorInfo, null));
11491
11761
  return;
@@ -11528,7 +11798,7 @@
11528
11798
  return abortTask(fallbackTask, request, error);
11529
11799
  }),
11530
11800
  boundary.fallbackAbortableTasks.clear(),
11531
- finishedTask(request, boundary, segment)
11801
+ finishedTask(request, boundary, row, segment)
11532
11802
  );
11533
11803
  boundary.status = 4;
11534
11804
  if (
@@ -11539,7 +11809,7 @@
11539
11809
  logPostpone(request, error.message, errorInfo, null);
11540
11810
  if (null !== request.trackedPostpones && null !== segment) {
11541
11811
  trackPostpone(request, request.trackedPostpones, task, segment);
11542
- finishedTask(request, task.blockedBoundary, segment);
11812
+ finishedTask(request, task.blockedBoundary, row, segment);
11543
11813
  boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {
11544
11814
  return abortTask(fallbackTask, request, error);
11545
11815
  });
@@ -11660,7 +11930,10 @@
11660
11930
  queueCompletedSegment(boundary, childSegment);
11661
11931
  } else boundary.completedSegments.push(segment);
11662
11932
  }
11663
- function finishedTask(request, boundary, segment) {
11933
+ function finishedTask(request, boundary, row, segment) {
11934
+ null !== row &&
11935
+ 0 === --row.pendingTasks &&
11936
+ finishSuspenseListRow(request, row);
11664
11937
  request.allPendingTasks--;
11665
11938
  if (null === boundary) {
11666
11939
  if (null !== segment && segment.parentFlushed) {
@@ -11689,7 +11962,11 @@
11689
11962
  abortTaskSoft,
11690
11963
  request
11691
11964
  ),
11692
- boundary.fallbackAbortableTasks.clear()),
11965
+ boundary.fallbackAbortableTasks.clear(),
11966
+ (row = boundary.row),
11967
+ null !== row &&
11968
+ 0 === --row.pendingTasks &&
11969
+ finishSuspenseListRow(request, row)),
11693
11970
  0 === request.pendingRootTasks &&
11694
11971
  null === request.trackedPostpones &&
11695
11972
  null !== boundary.contentPreamble &&
@@ -11748,7 +12025,12 @@
11748
12025
  );
11749
12026
  request.replay.pendingTasks--;
11750
12027
  request.abortSet.delete(request);
11751
- finishedTask(request$jscomp$0, request.blockedBoundary, null);
12028
+ finishedTask(
12029
+ request$jscomp$0,
12030
+ request.blockedBoundary,
12031
+ request.row,
12032
+ null
12033
+ );
11752
12034
  } catch (thrownValue) {
11753
12035
  resetHooksState();
11754
12036
  var x =
@@ -11808,6 +12090,7 @@
11808
12090
  finishedTask(
11809
12091
  request,
11810
12092
  task$jscomp$0.blockedBoundary,
12093
+ task$jscomp$0.row,
11811
12094
  segment$jscomp$0
11812
12095
  );
11813
12096
  } catch (thrownValue) {
@@ -11853,6 +12136,7 @@
11853
12136
  finishedTask(
11854
12137
  request,
11855
12138
  task$jscomp$0.blockedBoundary,
12139
+ task$jscomp$0.row,
11856
12140
  segment$jscomp$0
11857
12141
  );
11858
12142
  } else {
@@ -11892,6 +12176,7 @@
11892
12176
  finishedTask(
11893
12177
  request,
11894
12178
  task$jscomp$0.blockedBoundary,
12179
+ task$jscomp$0.row,
11895
12180
  segment$jscomp$0
11896
12181
  );
11897
12182
  break a;
@@ -11903,7 +12188,12 @@
11903
12188
  task$jscomp$0.abortSet.delete(task$jscomp$0);
11904
12189
  segment$jscomp$0.status = 4;
11905
12190
  var boundary = task$jscomp$0.blockedBoundary,
12191
+ row = task$jscomp$0.row,
11906
12192
  debugTask = task$jscomp$0.debugTask;
12193
+ null !== row &&
12194
+ 0 === --row.pendingTasks &&
12195
+ finishSuspenseListRow(request, row);
12196
+ request.allPendingTasks--;
11907
12197
  "object" === typeof x$jscomp$0 &&
11908
12198
  null !== x$jscomp$0 &&
11909
12199
  x$jscomp$0.$$typeof === REACT_POSTPONE_TYPE
@@ -11944,7 +12234,6 @@
11944
12234
  null === request.trackedPostpones &&
11945
12235
  null !== boundary.contentPreamble &&
11946
12236
  preparePreamble(request)));
11947
- request.allPendingTasks--;
11948
12237
  0 === request.allPendingTasks && completeAll(request);
11949
12238
  }
11950
12239
  } finally {
@@ -12095,7 +12384,14 @@
12095
12384
  return flushSubtree(request, destination, segment, hoistableState);
12096
12385
  boundary.parentFlushed = !0;
12097
12386
  if (4 === boundary.status)
12098
- return flushSubtree(request, destination, segment, hoistableState), !0;
12387
+ return (
12388
+ (boundary = boundary.row),
12389
+ null !== boundary &&
12390
+ 0 === --boundary.pendingTasks &&
12391
+ finishSuspenseListRow(request, boundary),
12392
+ flushSubtree(request, destination, segment, hoistableState),
12393
+ !0
12394
+ );
12099
12395
  if (1 !== boundary.status)
12100
12396
  return (
12101
12397
  0 === boundary.status &&
@@ -12137,6 +12433,11 @@
12137
12433
  ((segment = boundary.contentState),
12138
12434
  segment.styles.forEach(hoistStyleQueueDependency, hoistableState),
12139
12435
  segment.stylesheets.forEach(hoistStylesheetDependency, hoistableState));
12436
+ segment = boundary.row;
12437
+ null !== segment &&
12438
+ 500 < boundary.byteSize &&
12439
+ 0 === --segment.pendingTasks &&
12440
+ finishSuspenseListRow(request, segment);
12140
12441
  segment = boundary.completedSegments;
12141
12442
  if (1 !== segment.length)
12142
12443
  throw Error(
@@ -12174,6 +12475,11 @@
12174
12475
  completedSegments[i]
12175
12476
  );
12176
12477
  completedSegments.length = 0;
12478
+ completedSegments = boundary.row;
12479
+ null !== completedSegments &&
12480
+ 500 < boundary.byteSize &&
12481
+ 0 === --completedSegments.pendingTasks &&
12482
+ finishSuspenseListRow(request, completedSegments);
12177
12483
  writeHoistablesForBoundary(
12178
12484
  destination,
12179
12485
  boundary.contentState,
@@ -12243,11 +12549,12 @@
12243
12549
  ? destination.push(")\x3c/script>")
12244
12550
  : destination.push('"></template>');
12245
12551
  request = request.bootstrapChunks;
12246
- for (i = 0; i < request.length - 1; i++) destination.push(request[i]);
12247
- i < request.length
12248
- ? ((i = request[i]),
12552
+ for (boundary = 0; boundary < request.length - 1; boundary++)
12553
+ destination.push(request[boundary]);
12554
+ boundary < request.length
12555
+ ? ((boundary = request[boundary]),
12249
12556
  (request.length = 0),
12250
- (destination = destination.push(i)))
12557
+ (destination = destination.push(boundary)))
12251
12558
  : (destination = !0);
12252
12559
  return destination && completedSegments;
12253
12560
  }
@@ -14174,5 +14481,5 @@
14174
14481
  });
14175
14482
  });
14176
14483
  };
14177
- exports.version = "19.2.0-experimental-462d08f9-20250517";
14484
+ exports.version = "19.2.0-experimental-c4676e72-20250520";
14178
14485
  })();