react-markup 0.0.0-experimental-dd048c3b-20251105 → 0.0.0-experimental-5a2205ba-20251105

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.
@@ -4550,7 +4550,8 @@
4550
4550
  }
4551
4551
  function isEligibleForOutlining(request, boundary) {
4552
4552
  return (
4553
- (500 < boundary.byteSize || !1) && null === boundary.contentPreamble
4553
+ (500 < boundary.byteSize || boundary.defer) &&
4554
+ null === boundary.contentPreamble
4554
4555
  );
4555
4556
  }
4556
4557
  function defaultErrorHandler(error) {
@@ -4686,7 +4687,8 @@
4686
4687
  row,
4687
4688
  fallbackAbortableTasks,
4688
4689
  contentPreamble,
4689
- fallbackPreamble
4690
+ fallbackPreamble,
4691
+ defer
4690
4692
  ) {
4691
4693
  fallbackAbortableTasks = {
4692
4694
  status: 0,
@@ -4696,6 +4698,7 @@
4696
4698
  row: row,
4697
4699
  completedSegments: [],
4698
4700
  byteSize: 0,
4701
+ defer: defer,
4699
4702
  fallbackAbortableTasks: fallbackAbortableTasks,
4700
4703
  errorDigest: null,
4701
4704
  contentState: createHoistableState(),
@@ -6048,6 +6051,7 @@
6048
6051
  parentSegment = task.blockedSegment,
6049
6052
  fallback = props.fallback,
6050
6053
  content = props.children,
6054
+ defer = !0 === props.defer,
6051
6055
  fallbackAbortSet = new Set();
6052
6056
  var newBoundary =
6053
6057
  2 > task.formatContext.insertionMode
@@ -6056,14 +6060,16 @@
6056
6060
  task.row,
6057
6061
  fallbackAbortSet,
6058
6062
  createPreambleState(),
6059
- createPreambleState()
6063
+ createPreambleState(),
6064
+ defer
6060
6065
  )
6061
6066
  : createSuspenseBoundary(
6062
6067
  request,
6063
6068
  task.row,
6064
6069
  fallbackAbortSet,
6065
6070
  null,
6066
- null
6071
+ null,
6072
+ defer
6067
6073
  );
6068
6074
  null !== request.trackedPostpones &&
6069
6075
  (newBoundary.trackedContentKeyPath = keyPath);
@@ -6086,24 +6092,27 @@
6086
6092
  !1
6087
6093
  );
6088
6094
  contentRootSegment.parentFlushed = !0;
6089
- if (null !== request.trackedPostpones) {
6095
+ var trackedPostpones = request.trackedPostpones;
6096
+ if (null !== trackedPostpones || defer) {
6090
6097
  var suspenseComponentStack = task.componentStack,
6091
6098
  fallbackKeyPath = [
6092
6099
  keyPath[0],
6093
6100
  "Suspense Fallback",
6094
6101
  keyPath[2]
6095
- ],
6096
- fallbackReplayNode = [
6102
+ ];
6103
+ if (null !== trackedPostpones) {
6104
+ var fallbackReplayNode = [
6097
6105
  fallbackKeyPath[1],
6098
6106
  fallbackKeyPath[2],
6099
6107
  [],
6100
6108
  null
6101
6109
  ];
6102
- request.trackedPostpones.workingMap.set(
6103
- fallbackKeyPath,
6104
- fallbackReplayNode
6105
- );
6106
- newBoundary.trackedFallbackNode = fallbackReplayNode;
6110
+ trackedPostpones.workingMap.set(
6111
+ fallbackKeyPath,
6112
+ fallbackReplayNode
6113
+ );
6114
+ newBoundary.trackedFallbackNode = fallbackReplayNode;
6115
+ }
6107
6116
  task.blockedSegment = boundarySegment;
6108
6117
  task.blockedPreamble = newBoundary.fallbackPreamble;
6109
6118
  task.keyPath = fallbackKeyPath;
@@ -6487,28 +6496,31 @@
6487
6496
  parentBoundary = task.blockedBoundary,
6488
6497
  parentHoistableState = task.hoistableState,
6489
6498
  content = props.children,
6490
- fallback = props.fallback,
6491
- fallbackAbortSet = new Set();
6492
- props =
6499
+ fallback = props.fallback;
6500
+ var resumedBoundary = !0 === props.defer;
6501
+ props = new Set();
6502
+ resumedBoundary =
6493
6503
  2 > task.formatContext.insertionMode
6494
6504
  ? createSuspenseBoundary(
6495
6505
  replay,
6496
6506
  task.row,
6497
- fallbackAbortSet,
6507
+ props,
6498
6508
  createPreambleState(),
6499
- createPreambleState()
6509
+ createPreambleState(),
6510
+ resumedBoundary
6500
6511
  )
6501
6512
  : createSuspenseBoundary(
6502
6513
  replay,
6503
6514
  task.row,
6504
- fallbackAbortSet,
6515
+ props,
6505
6516
  null,
6506
- null
6517
+ null,
6518
+ resumedBoundary
6507
6519
  );
6508
- props.parentFlushed = !0;
6509
- props.rootSegmentID = request;
6510
- task.blockedBoundary = props;
6511
- task.hoistableState = props.contentState;
6520
+ resumedBoundary.parentFlushed = !0;
6521
+ resumedBoundary.rootSegmentID = request;
6522
+ task.blockedBoundary = resumedBoundary;
6523
+ task.hoistableState = resumedBoundary.contentState;
6512
6524
  task.keyPath = keyPath;
6513
6525
  task.formatContext = getSuspenseContentFormatContext(
6514
6526
  replay.resumableState,
@@ -6526,13 +6538,16 @@
6526
6538
  "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering."
6527
6539
  );
6528
6540
  task.replay.pendingTasks--;
6529
- if (0 === props.pendingTasks && 0 === props.status) {
6530
- props.status = 1;
6531
- replay.completedBoundaries.push(props);
6541
+ if (
6542
+ 0 === resumedBoundary.pendingTasks &&
6543
+ 0 === resumedBoundary.status
6544
+ ) {
6545
+ resumedBoundary.status = 1;
6546
+ replay.completedBoundaries.push(resumedBoundary);
6532
6547
  break a;
6533
6548
  }
6534
6549
  } catch (error) {
6535
- (props.status = 4),
6550
+ (resumedBoundary.status = 4),
6536
6551
  (childNodes = getThrownInfo(task.componentStack)),
6537
6552
  (childSlots = logRecoverableError(
6538
6553
  replay,
@@ -6541,14 +6556,14 @@
6541
6556
  task.debugTask
6542
6557
  )),
6543
6558
  encodeErrorForBoundary(
6544
- props,
6559
+ resumedBoundary,
6545
6560
  childSlots,
6546
6561
  error,
6547
6562
  childNodes,
6548
6563
  !1
6549
6564
  ),
6550
6565
  task.replay.pendingTasks--,
6551
- replay.clientRenderedBoundaries.push(props);
6566
+ replay.clientRenderedBoundaries.push(resumedBoundary);
6552
6567
  } finally {
6553
6568
  (task.blockedBoundary = parentBoundary),
6554
6569
  (task.hoistableState = parentHoistableState),
@@ -6564,8 +6579,8 @@
6564
6579
  fallback,
6565
6580
  -1,
6566
6581
  parentBoundary,
6567
- props.fallbackState,
6568
- fallbackAbortSet,
6582
+ resumedBoundary.fallbackState,
6583
+ props,
6569
6584
  [keyPath[0], "Suspense Fallback", keyPath[2]],
6570
6585
  getSuspenseFallbackFormatContext(
6571
6586
  replay.resumableState,
@@ -7292,7 +7307,8 @@
7292
7307
  null,
7293
7308
  new Set(),
7294
7309
  null,
7295
- null
7310
+ null,
7311
+ !1
7296
7312
  );
7297
7313
  resumedBoundary.parentFlushed = !0;
7298
7314
  resumedBoundary.rootSegmentID = node;
@@ -8019,7 +8035,8 @@
8019
8035
  if (
8020
8036
  !flushingPartialBoundaries &&
8021
8037
  isEligibleForOutlining(request, boundary) &&
8022
- flushedByteSize + boundary.byteSize > request.progressiveChunkSize
8038
+ (flushedByteSize + boundary.byteSize > request.progressiveChunkSize ||
8039
+ boundary.defer)
8023
8040
  )
8024
8041
  return (
8025
8042
  (boundary.rootSegmentID = request.nextSegmentId++),
@@ -9672,5 +9689,5 @@
9672
9689
  });
9673
9690
  });
9674
9691
  };
9675
- exports.version = "19.3.0-experimental-dd048c3b-20251105";
9692
+ exports.version = "19.3.0-experimental-5a2205ba-20251105";
9676
9693
  })();
@@ -3518,7 +3518,10 @@ function describeComponentStackByType(type) {
3518
3518
  return "";
3519
3519
  }
3520
3520
  function isEligibleForOutlining(request, boundary) {
3521
- return (500 < boundary.byteSize || !1) && null === boundary.contentPreamble;
3521
+ return (
3522
+ (500 < boundary.byteSize || boundary.defer) &&
3523
+ null === boundary.contentPreamble
3524
+ );
3522
3525
  }
3523
3526
  function defaultErrorHandler(error) {
3524
3527
  if (
@@ -3646,7 +3649,8 @@ function createSuspenseBoundary(
3646
3649
  row,
3647
3650
  fallbackAbortableTasks,
3648
3651
  contentPreamble,
3649
- fallbackPreamble
3652
+ fallbackPreamble,
3653
+ defer
3650
3654
  ) {
3651
3655
  fallbackAbortableTasks = {
3652
3656
  status: 0,
@@ -3656,6 +3660,7 @@ function createSuspenseBoundary(
3656
3660
  row: row,
3657
3661
  completedSegments: [],
3658
3662
  byteSize: 0,
3663
+ defer: defer,
3659
3664
  fallbackAbortableTasks: fallbackAbortableTasks,
3660
3665
  errorDigest: null,
3661
3666
  contentState: createHoistableState(),
@@ -4498,6 +4503,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
4498
4503
  parentSegment = task.blockedSegment,
4499
4504
  fallback = props.fallback,
4500
4505
  content = props.children,
4506
+ defer = !0 === props.defer,
4501
4507
  fallbackAbortSet = new Set();
4502
4508
  var newBoundary =
4503
4509
  2 > task.formatContext.insertionMode
@@ -4506,14 +4512,16 @@ function renderElement(request, task, keyPath, type, props, ref) {
4506
4512
  task.row,
4507
4513
  fallbackAbortSet,
4508
4514
  createPreambleState(),
4509
- createPreambleState()
4515
+ createPreambleState(),
4516
+ defer
4510
4517
  )
4511
4518
  : createSuspenseBoundary(
4512
4519
  request,
4513
4520
  task.row,
4514
4521
  fallbackAbortSet,
4515
4522
  null,
4516
- null
4523
+ null,
4524
+ defer
4517
4525
  );
4518
4526
  null !== request.trackedPostpones &&
4519
4527
  (newBoundary.trackedContentKeyPath = keyPath);
@@ -4536,20 +4544,23 @@ function renderElement(request, task, keyPath, type, props, ref) {
4536
4544
  !1
4537
4545
  );
4538
4546
  contentRootSegment.parentFlushed = !0;
4539
- if (null !== request.trackedPostpones) {
4547
+ var trackedPostpones = request.trackedPostpones;
4548
+ if (null !== trackedPostpones || defer) {
4540
4549
  var suspenseComponentStack = task.componentStack,
4541
- fallbackKeyPath = [keyPath[0], "Suspense Fallback", keyPath[2]],
4542
- fallbackReplayNode = [
4550
+ fallbackKeyPath = [keyPath[0], "Suspense Fallback", keyPath[2]];
4551
+ if (null !== trackedPostpones) {
4552
+ var fallbackReplayNode = [
4543
4553
  fallbackKeyPath[1],
4544
4554
  fallbackKeyPath[2],
4545
4555
  [],
4546
4556
  null
4547
4557
  ];
4548
- request.trackedPostpones.workingMap.set(
4549
- fallbackKeyPath,
4550
- fallbackReplayNode
4551
- );
4552
- newBoundary.trackedFallbackNode = fallbackReplayNode;
4558
+ trackedPostpones.workingMap.set(
4559
+ fallbackKeyPath,
4560
+ fallbackReplayNode
4561
+ );
4562
+ newBoundary.trackedFallbackNode = fallbackReplayNode;
4563
+ }
4553
4564
  task.blockedSegment = boundarySegment;
4554
4565
  task.blockedPreamble = newBoundary.fallbackPreamble;
4555
4566
  task.keyPath = fallbackKeyPath;
@@ -4861,12 +4872,13 @@ function retryNode(request, task) {
4861
4872
  );
4862
4873
  task.replay.pendingTasks--;
4863
4874
  props = getThrownInfo(task.componentStack);
4864
- key = task.blockedBoundary;
4875
+ key = request;
4876
+ request = task.blockedBoundary;
4865
4877
  type = x;
4866
- props = logRecoverableError(request, type, props);
4878
+ props = logRecoverableError(key, type, props);
4867
4879
  abortRemainingReplayNodes(
4868
- request,
4869
4880
  key,
4881
+ request,
4870
4882
  childNodes,
4871
4883
  childSlots,
4872
4884
  type,
@@ -4896,28 +4908,31 @@ function retryNode(request, task) {
4896
4908
  parentBoundary = task.blockedBoundary,
4897
4909
  parentHoistableState = task.hoistableState,
4898
4910
  content = props.children,
4899
- fallback = props.fallback,
4900
- fallbackAbortSet = new Set();
4901
- props =
4911
+ fallback = props.fallback;
4912
+ var resumedBoundary = !0 === props.defer;
4913
+ props = new Set();
4914
+ resumedBoundary =
4902
4915
  2 > task.formatContext.insertionMode
4903
4916
  ? createSuspenseBoundary(
4904
4917
  request,
4905
4918
  task.row,
4906
- fallbackAbortSet,
4919
+ props,
4920
+ createPreambleState(),
4907
4921
  createPreambleState(),
4908
- createPreambleState()
4922
+ resumedBoundary
4909
4923
  )
4910
4924
  : createSuspenseBoundary(
4911
4925
  request,
4912
4926
  task.row,
4913
- fallbackAbortSet,
4927
+ props,
4914
4928
  null,
4915
- null
4929
+ null,
4930
+ resumedBoundary
4916
4931
  );
4917
- props.parentFlushed = !0;
4918
- props.rootSegmentID = replay;
4919
- task.blockedBoundary = props;
4920
- task.hoistableState = props.contentState;
4932
+ resumedBoundary.parentFlushed = !0;
4933
+ resumedBoundary.rootSegmentID = replay;
4934
+ task.blockedBoundary = resumedBoundary;
4935
+ task.hoistableState = resumedBoundary.contentState;
4921
4936
  task.keyPath = key;
4922
4937
  task.formatContext = getSuspenseContentFormatContext(
4923
4938
  request.resumableState,
@@ -4939,22 +4954,27 @@ function retryNode(request, task) {
4939
4954
  "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering."
4940
4955
  );
4941
4956
  task.replay.pendingTasks--;
4942
- if (0 === props.pendingTasks && 0 === props.status) {
4943
- props.status = 1;
4944
- request.completedBoundaries.push(props);
4957
+ if (
4958
+ 0 === resumedBoundary.pendingTasks &&
4959
+ 0 === resumedBoundary.status
4960
+ ) {
4961
+ resumedBoundary.status = 1;
4962
+ request.completedBoundaries.push(resumedBoundary);
4945
4963
  break b;
4946
4964
  }
4947
4965
  } catch (error) {
4948
- (props.status = 4),
4966
+ (resumedBoundary.status = 4),
4949
4967
  (childNodes = getThrownInfo(task.componentStack)),
4950
4968
  (childSlots = logRecoverableError(
4951
4969
  request,
4952
4970
  error,
4953
4971
  childNodes
4954
4972
  )),
4955
- (props.errorDigest = childSlots),
4973
+ (resumedBoundary.errorDigest = childSlots),
4956
4974
  task.replay.pendingTasks--,
4957
- request.clientRenderedBoundaries.push(props);
4975
+ request.clientRenderedBoundaries.push(
4976
+ resumedBoundary
4977
+ );
4958
4978
  } finally {
4959
4979
  (task.blockedBoundary = parentBoundary),
4960
4980
  (task.hoistableState = parentHoistableState),
@@ -4970,8 +4990,8 @@ function retryNode(request, task) {
4970
4990
  fallback,
4971
4991
  -1,
4972
4992
  parentBoundary,
4973
- props.fallbackState,
4974
- fallbackAbortSet,
4993
+ resumedBoundary.fallbackState,
4994
+ props,
4975
4995
  [key[0], "Suspense Fallback", key[2]],
4976
4996
  getSuspenseFallbackFormatContext(
4977
4997
  request.resumableState,
@@ -5459,7 +5479,8 @@ function abortRemainingReplayNodes(
5459
5479
  null,
5460
5480
  new Set(),
5461
5481
  null,
5462
- null
5482
+ null,
5483
+ !1
5463
5484
  );
5464
5485
  resumedBoundary.parentFlushed = !0;
5465
5486
  resumedBoundary.rootSegmentID = node;
@@ -6077,7 +6098,8 @@ function flushSegment(request, destination, segment, hoistableState) {
6077
6098
  if (
6078
6099
  !flushingPartialBoundaries &&
6079
6100
  isEligibleForOutlining(request, boundary) &&
6080
- flushedByteSize + boundary.byteSize > request.progressiveChunkSize
6101
+ (flushedByteSize + boundary.byteSize > request.progressiveChunkSize ||
6102
+ boundary.defer)
6081
6103
  )
6082
6104
  return (
6083
6105
  (boundary.rootSegmentID = request.nextSegmentId++),
@@ -6643,4 +6665,4 @@ exports.experimental_renderToHTML = function (children, options) {
6643
6665
  });
6644
6666
  });
6645
6667
  };
6646
- exports.version = "19.3.0-experimental-dd048c3b-20251105";
6668
+ exports.version = "19.3.0-experimental-5a2205ba-20251105";
@@ -11286,7 +11286,8 @@
11286
11286
  }
11287
11287
  function isEligibleForOutlining(request, boundary) {
11288
11288
  return (
11289
- (500 < boundary.byteSize || !1) && null === boundary.contentPreamble
11289
+ (500 < boundary.byteSize || boundary.defer) &&
11290
+ null === boundary.contentPreamble
11290
11291
  );
11291
11292
  }
11292
11293
  function defaultErrorHandler(error) {
@@ -11405,7 +11406,8 @@
11405
11406
  row,
11406
11407
  fallbackAbortableTasks,
11407
11408
  contentPreamble,
11408
- fallbackPreamble
11409
+ fallbackPreamble,
11410
+ defer
11409
11411
  ) {
11410
11412
  fallbackAbortableTasks = {
11411
11413
  status: 0,
@@ -11415,6 +11417,7 @@
11415
11417
  row: row,
11416
11418
  completedSegments: [],
11417
11419
  byteSize: 0,
11420
+ defer: defer,
11418
11421
  fallbackAbortableTasks: fallbackAbortableTasks,
11419
11422
  errorDigest: null,
11420
11423
  contentState: createHoistableState(),
@@ -12767,6 +12770,7 @@
12767
12770
  parentSegment = task.blockedSegment,
12768
12771
  fallback = props.fallback,
12769
12772
  content = props.children,
12773
+ defer = !0 === props.defer,
12770
12774
  fallbackAbortSet = new Set();
12771
12775
  var newBoundary =
12772
12776
  2 > task.formatContext.insertionMode
@@ -12775,14 +12779,16 @@
12775
12779
  task.row,
12776
12780
  fallbackAbortSet,
12777
12781
  createPreambleState(),
12778
- createPreambleState()
12782
+ createPreambleState(),
12783
+ defer
12779
12784
  )
12780
12785
  : createSuspenseBoundary(
12781
12786
  request,
12782
12787
  task.row,
12783
12788
  fallbackAbortSet,
12784
12789
  null,
12785
- null
12790
+ null,
12791
+ defer
12786
12792
  );
12787
12793
  null !== request.trackedPostpones &&
12788
12794
  (newBoundary.trackedContentKeyPath = keyPath);
@@ -12805,24 +12811,27 @@
12805
12811
  !1
12806
12812
  );
12807
12813
  contentRootSegment.parentFlushed = !0;
12808
- if (null !== request.trackedPostpones) {
12814
+ var trackedPostpones = request.trackedPostpones;
12815
+ if (null !== trackedPostpones || defer) {
12809
12816
  var suspenseComponentStack = task.componentStack,
12810
12817
  fallbackKeyPath = [
12811
12818
  keyPath[0],
12812
12819
  "Suspense Fallback",
12813
12820
  keyPath[2]
12814
- ],
12815
- fallbackReplayNode = [
12821
+ ];
12822
+ if (null !== trackedPostpones) {
12823
+ var fallbackReplayNode = [
12816
12824
  fallbackKeyPath[1],
12817
12825
  fallbackKeyPath[2],
12818
12826
  [],
12819
12827
  null
12820
12828
  ];
12821
- request.trackedPostpones.workingMap.set(
12822
- fallbackKeyPath,
12823
- fallbackReplayNode
12824
- );
12825
- newBoundary.trackedFallbackNode = fallbackReplayNode;
12829
+ trackedPostpones.workingMap.set(
12830
+ fallbackKeyPath,
12831
+ fallbackReplayNode
12832
+ );
12833
+ newBoundary.trackedFallbackNode = fallbackReplayNode;
12834
+ }
12826
12835
  task.blockedSegment = boundarySegment;
12827
12836
  task.blockedPreamble = newBoundary.fallbackPreamble;
12828
12837
  task.keyPath = fallbackKeyPath;
@@ -13206,28 +13215,31 @@
13206
13215
  parentBoundary = task.blockedBoundary,
13207
13216
  parentHoistableState = task.hoistableState,
13208
13217
  content = props.children,
13209
- fallback = props.fallback,
13210
- fallbackAbortSet = new Set();
13211
- props =
13218
+ fallback = props.fallback;
13219
+ var resumedBoundary = !0 === props.defer;
13220
+ props = new Set();
13221
+ resumedBoundary =
13212
13222
  2 > task.formatContext.insertionMode
13213
13223
  ? createSuspenseBoundary(
13214
13224
  replay,
13215
13225
  task.row,
13216
- fallbackAbortSet,
13226
+ props,
13217
13227
  createPreambleState(),
13218
- createPreambleState()
13228
+ createPreambleState(),
13229
+ resumedBoundary
13219
13230
  )
13220
13231
  : createSuspenseBoundary(
13221
13232
  replay,
13222
13233
  task.row,
13223
- fallbackAbortSet,
13234
+ props,
13224
13235
  null,
13225
- null
13236
+ null,
13237
+ resumedBoundary
13226
13238
  );
13227
- props.parentFlushed = !0;
13228
- props.rootSegmentID = request;
13229
- task.blockedBoundary = props;
13230
- task.hoistableState = props.contentState;
13239
+ resumedBoundary.parentFlushed = !0;
13240
+ resumedBoundary.rootSegmentID = request;
13241
+ task.blockedBoundary = resumedBoundary;
13242
+ task.hoistableState = resumedBoundary.contentState;
13231
13243
  task.keyPath = keyPath;
13232
13244
  task.formatContext = getSuspenseContentFormatContext(
13233
13245
  replay.resumableState,
@@ -13245,13 +13257,16 @@
13245
13257
  "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering."
13246
13258
  );
13247
13259
  task.replay.pendingTasks--;
13248
- if (0 === props.pendingTasks && 0 === props.status) {
13249
- props.status = 1;
13250
- replay.completedBoundaries.push(props);
13260
+ if (
13261
+ 0 === resumedBoundary.pendingTasks &&
13262
+ 0 === resumedBoundary.status
13263
+ ) {
13264
+ resumedBoundary.status = 1;
13265
+ replay.completedBoundaries.push(resumedBoundary);
13251
13266
  break a;
13252
13267
  }
13253
13268
  } catch (error) {
13254
- (props.status = 4),
13269
+ (resumedBoundary.status = 4),
13255
13270
  (childNodes = getThrownInfo(task.componentStack)),
13256
13271
  (childSlots = logRecoverableError(
13257
13272
  replay,
@@ -13260,14 +13275,14 @@
13260
13275
  task.debugTask
13261
13276
  )),
13262
13277
  encodeErrorForBoundary(
13263
- props,
13278
+ resumedBoundary,
13264
13279
  childSlots,
13265
13280
  error,
13266
13281
  childNodes,
13267
13282
  !1
13268
13283
  ),
13269
13284
  task.replay.pendingTasks--,
13270
- replay.clientRenderedBoundaries.push(props);
13285
+ replay.clientRenderedBoundaries.push(resumedBoundary);
13271
13286
  } finally {
13272
13287
  (task.blockedBoundary = parentBoundary),
13273
13288
  (task.hoistableState = parentHoistableState),
@@ -13283,8 +13298,8 @@
13283
13298
  fallback,
13284
13299
  -1,
13285
13300
  parentBoundary,
13286
- props.fallbackState,
13287
- fallbackAbortSet,
13301
+ resumedBoundary.fallbackState,
13302
+ props,
13288
13303
  [keyPath[0], "Suspense Fallback", keyPath[2]],
13289
13304
  getSuspenseFallbackFormatContext(
13290
13305
  replay.resumableState,
@@ -14011,7 +14026,8 @@
14011
14026
  null,
14012
14027
  new Set(),
14013
14028
  null,
14014
- null
14029
+ null,
14030
+ !1
14015
14031
  );
14016
14032
  resumedBoundary.parentFlushed = !0;
14017
14033
  resumedBoundary.rootSegmentID = node;
@@ -14738,7 +14754,8 @@
14738
14754
  if (
14739
14755
  !flushingPartialBoundaries &&
14740
14756
  isEligibleForOutlining(request, boundary) &&
14741
- flushedByteSize + boundary.byteSize > request.progressiveChunkSize
14757
+ (flushedByteSize + boundary.byteSize > request.progressiveChunkSize ||
14758
+ boundary.defer)
14742
14759
  )
14743
14760
  return (
14744
14761
  (boundary.rootSegmentID = request.nextSegmentId++),
@@ -17029,5 +17046,5 @@
17029
17046
  });
17030
17047
  });
17031
17048
  };
17032
- exports.version = "19.3.0-experimental-dd048c3b-20251105";
17049
+ exports.version = "19.3.0-experimental-5a2205ba-20251105";
17033
17050
  })();
@@ -6525,7 +6525,10 @@ function describeComponentStackByType(type) {
6525
6525
  return "";
6526
6526
  }
6527
6527
  function isEligibleForOutlining(request, boundary) {
6528
- return (500 < boundary.byteSize || !1) && null === boundary.contentPreamble;
6528
+ return (
6529
+ (500 < boundary.byteSize || boundary.defer) &&
6530
+ null === boundary.contentPreamble
6531
+ );
6529
6532
  }
6530
6533
  function defaultErrorHandler(error) {
6531
6534
  if (
@@ -6653,7 +6656,8 @@ function createSuspenseBoundary(
6653
6656
  row,
6654
6657
  fallbackAbortableTasks,
6655
6658
  contentPreamble,
6656
- fallbackPreamble
6659
+ fallbackPreamble,
6660
+ defer
6657
6661
  ) {
6658
6662
  fallbackAbortableTasks = {
6659
6663
  status: 0,
@@ -6663,6 +6667,7 @@ function createSuspenseBoundary(
6663
6667
  row: row,
6664
6668
  completedSegments: [],
6665
6669
  byteSize: 0,
6670
+ defer: defer,
6666
6671
  fallbackAbortableTasks: fallbackAbortableTasks,
6667
6672
  errorDigest: null,
6668
6673
  contentState: createHoistableState(),
@@ -7505,6 +7510,7 @@ function renderElement(request, task, keyPath, type, props, ref) {
7505
7510
  parentSegment = task.blockedSegment,
7506
7511
  fallback = props.fallback,
7507
7512
  content = props.children,
7513
+ defer = !0 === props.defer,
7508
7514
  fallbackAbortSet = new Set();
7509
7515
  var newBoundary =
7510
7516
  2 > task.formatContext.insertionMode
@@ -7513,14 +7519,16 @@ function renderElement(request, task, keyPath, type, props, ref) {
7513
7519
  task.row,
7514
7520
  fallbackAbortSet,
7515
7521
  createPreambleState(),
7516
- createPreambleState()
7522
+ createPreambleState(),
7523
+ defer
7517
7524
  )
7518
7525
  : createSuspenseBoundary(
7519
7526
  request,
7520
7527
  task.row,
7521
7528
  fallbackAbortSet,
7522
7529
  null,
7523
- null
7530
+ null,
7531
+ defer
7524
7532
  );
7525
7533
  null !== request.trackedPostpones &&
7526
7534
  (newBoundary.trackedContentKeyPath = keyPath);
@@ -7543,20 +7551,23 @@ function renderElement(request, task, keyPath, type, props, ref) {
7543
7551
  !1
7544
7552
  );
7545
7553
  contentRootSegment.parentFlushed = !0;
7546
- if (null !== request.trackedPostpones) {
7554
+ var trackedPostpones = request.trackedPostpones;
7555
+ if (null !== trackedPostpones || defer) {
7547
7556
  var suspenseComponentStack = task.componentStack,
7548
- fallbackKeyPath = [keyPath[0], "Suspense Fallback", keyPath[2]],
7549
- fallbackReplayNode = [
7557
+ fallbackKeyPath = [keyPath[0], "Suspense Fallback", keyPath[2]];
7558
+ if (null !== trackedPostpones) {
7559
+ var fallbackReplayNode = [
7550
7560
  fallbackKeyPath[1],
7551
7561
  fallbackKeyPath[2],
7552
7562
  [],
7553
7563
  null
7554
7564
  ];
7555
- request.trackedPostpones.workingMap.set(
7556
- fallbackKeyPath,
7557
- fallbackReplayNode
7558
- );
7559
- newBoundary.trackedFallbackNode = fallbackReplayNode;
7565
+ trackedPostpones.workingMap.set(
7566
+ fallbackKeyPath,
7567
+ fallbackReplayNode
7568
+ );
7569
+ newBoundary.trackedFallbackNode = fallbackReplayNode;
7570
+ }
7560
7571
  task.blockedSegment = boundarySegment;
7561
7572
  task.blockedPreamble = newBoundary.fallbackPreamble;
7562
7573
  task.keyPath = fallbackKeyPath;
@@ -7868,12 +7879,13 @@ function retryNode(request, task) {
7868
7879
  );
7869
7880
  task.replay.pendingTasks--;
7870
7881
  props = getThrownInfo(task.componentStack);
7871
- key = task.blockedBoundary;
7882
+ key = request;
7883
+ request = task.blockedBoundary;
7872
7884
  type = x;
7873
- props = logRecoverableError(request, type, props);
7885
+ props = logRecoverableError(key, type, props);
7874
7886
  abortRemainingReplayNodes(
7875
- request,
7876
7887
  key,
7888
+ request,
7877
7889
  childNodes,
7878
7890
  childSlots,
7879
7891
  type,
@@ -7903,28 +7915,31 @@ function retryNode(request, task) {
7903
7915
  parentBoundary = task.blockedBoundary,
7904
7916
  parentHoistableState = task.hoistableState,
7905
7917
  content = props.children,
7906
- fallback = props.fallback,
7907
- fallbackAbortSet = new Set();
7908
- props =
7918
+ fallback = props.fallback;
7919
+ var resumedBoundary = !0 === props.defer;
7920
+ props = new Set();
7921
+ resumedBoundary =
7909
7922
  2 > task.formatContext.insertionMode
7910
7923
  ? createSuspenseBoundary(
7911
7924
  request,
7912
7925
  task.row,
7913
- fallbackAbortSet,
7926
+ props,
7927
+ createPreambleState(),
7914
7928
  createPreambleState(),
7915
- createPreambleState()
7929
+ resumedBoundary
7916
7930
  )
7917
7931
  : createSuspenseBoundary(
7918
7932
  request,
7919
7933
  task.row,
7920
- fallbackAbortSet,
7934
+ props,
7921
7935
  null,
7922
- null
7936
+ null,
7937
+ resumedBoundary
7923
7938
  );
7924
- props.parentFlushed = !0;
7925
- props.rootSegmentID = replay;
7926
- task.blockedBoundary = props;
7927
- task.hoistableState = props.contentState;
7939
+ resumedBoundary.parentFlushed = !0;
7940
+ resumedBoundary.rootSegmentID = replay;
7941
+ task.blockedBoundary = resumedBoundary;
7942
+ task.hoistableState = resumedBoundary.contentState;
7928
7943
  task.keyPath = key;
7929
7944
  task.formatContext = getSuspenseContentFormatContext(
7930
7945
  request.resumableState,
@@ -7946,22 +7961,27 @@ function retryNode(request, task) {
7946
7961
  "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering."
7947
7962
  );
7948
7963
  task.replay.pendingTasks--;
7949
- if (0 === props.pendingTasks && 0 === props.status) {
7950
- props.status = 1;
7951
- request.completedBoundaries.push(props);
7964
+ if (
7965
+ 0 === resumedBoundary.pendingTasks &&
7966
+ 0 === resumedBoundary.status
7967
+ ) {
7968
+ resumedBoundary.status = 1;
7969
+ request.completedBoundaries.push(resumedBoundary);
7952
7970
  break b;
7953
7971
  }
7954
7972
  } catch (error) {
7955
- (props.status = 4),
7973
+ (resumedBoundary.status = 4),
7956
7974
  (childNodes = getThrownInfo(task.componentStack)),
7957
7975
  (childSlots = logRecoverableError(
7958
7976
  request,
7959
7977
  error,
7960
7978
  childNodes
7961
7979
  )),
7962
- (props.errorDigest = childSlots),
7980
+ (resumedBoundary.errorDigest = childSlots),
7963
7981
  task.replay.pendingTasks--,
7964
- request.clientRenderedBoundaries.push(props);
7982
+ request.clientRenderedBoundaries.push(
7983
+ resumedBoundary
7984
+ );
7965
7985
  } finally {
7966
7986
  (task.blockedBoundary = parentBoundary),
7967
7987
  (task.hoistableState = parentHoistableState),
@@ -7977,8 +7997,8 @@ function retryNode(request, task) {
7977
7997
  fallback,
7978
7998
  -1,
7979
7999
  parentBoundary,
7980
- props.fallbackState,
7981
- fallbackAbortSet,
8000
+ resumedBoundary.fallbackState,
8001
+ props,
7982
8002
  [key[0], "Suspense Fallback", key[2]],
7983
8003
  getSuspenseFallbackFormatContext(
7984
8004
  request.resumableState,
@@ -8466,7 +8486,8 @@ function abortRemainingReplayNodes(
8466
8486
  null,
8467
8487
  new Set(),
8468
8488
  null,
8469
- null
8489
+ null,
8490
+ !1
8470
8491
  );
8471
8492
  resumedBoundary.parentFlushed = !0;
8472
8493
  resumedBoundary.rootSegmentID = node;
@@ -9084,7 +9105,8 @@ function flushSegment(request, destination, segment, hoistableState) {
9084
9105
  if (
9085
9106
  !flushingPartialBoundaries &&
9086
9107
  isEligibleForOutlining(request, boundary) &&
9087
- flushedByteSize + boundary.byteSize > request.progressiveChunkSize
9108
+ (flushedByteSize + boundary.byteSize > request.progressiveChunkSize ||
9109
+ boundary.defer)
9088
9110
  )
9089
9111
  return (
9090
9112
  (boundary.rootSegmentID = request.nextSegmentId++),
@@ -9608,20 +9630,20 @@ exports.experimental_renderToHTML = function (children, options) {
9608
9630
  void 0,
9609
9631
  void 0
9610
9632
  ),
9611
- JSCompiler_object_inline__rowState_2226 = 0,
9612
- JSCompiler_object_inline__rowID_2227 = 0,
9613
- JSCompiler_object_inline__rowTag_2228 = 0,
9614
- JSCompiler_object_inline__rowLength_2229 = 0,
9615
- JSCompiler_object_inline__buffer_2230 = [],
9633
+ JSCompiler_object_inline__rowState_2228 = 0,
9634
+ JSCompiler_object_inline__rowID_2229 = 0,
9635
+ JSCompiler_object_inline__rowTag_2230 = 0,
9636
+ JSCompiler_object_inline__rowLength_2231 = 0,
9637
+ JSCompiler_object_inline__buffer_2232 = [],
9616
9638
  flightDestination = {
9617
9639
  push: function (chunk) {
9618
9640
  if (null !== chunk) {
9619
9641
  for (
9620
9642
  var i = 0,
9621
- rowState = JSCompiler_object_inline__rowState_2226,
9622
- rowID = JSCompiler_object_inline__rowID_2227,
9623
- rowTag = JSCompiler_object_inline__rowTag_2228,
9624
- rowLength = JSCompiler_object_inline__rowLength_2229,
9643
+ rowState = JSCompiler_object_inline__rowState_2228,
9644
+ rowID = JSCompiler_object_inline__rowID_2229,
9645
+ rowTag = JSCompiler_object_inline__rowTag_2230,
9646
+ rowLength = JSCompiler_object_inline__rowLength_2231,
9625
9647
  chunkLength = chunk.length;
9626
9648
  i < chunkLength;
9627
9649
 
@@ -9682,7 +9704,7 @@ exports.experimental_renderToHTML = function (children, options) {
9682
9704
  lastIdx = chunk.length;
9683
9705
  }
9684
9706
  if (-1 < lastIdx) {
9685
- if (0 < JSCompiler_object_inline__buffer_2230.length)
9707
+ if (0 < JSCompiler_object_inline__buffer_2232.length)
9686
9708
  throw Error(
9687
9709
  "String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams."
9688
9710
  );
@@ -9757,16 +9779,16 @@ exports.experimental_renderToHTML = function (children, options) {
9757
9779
  i = lastIdx;
9758
9780
  3 === rowState && i++;
9759
9781
  rowLength = rowID = rowTag = rowState = 0;
9760
- JSCompiler_object_inline__buffer_2230.length = 0;
9782
+ JSCompiler_object_inline__buffer_2232.length = 0;
9761
9783
  } else if (chunk.length !== i)
9762
9784
  throw Error(
9763
9785
  "String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams."
9764
9786
  );
9765
9787
  }
9766
- JSCompiler_object_inline__rowState_2226 = rowState;
9767
- JSCompiler_object_inline__rowID_2227 = rowID;
9768
- JSCompiler_object_inline__rowTag_2228 = rowTag;
9769
- JSCompiler_object_inline__rowLength_2229 = rowLength;
9788
+ JSCompiler_object_inline__rowState_2228 = rowState;
9789
+ JSCompiler_object_inline__rowID_2229 = rowID;
9790
+ JSCompiler_object_inline__rowTag_2230 = rowTag;
9791
+ JSCompiler_object_inline__rowLength_2231 = rowLength;
9770
9792
  } else reportGlobalError(flightResponse, Error("Connection closed."));
9771
9793
  return !0;
9772
9794
  },
@@ -9875,4 +9897,4 @@ exports.experimental_renderToHTML = function (children, options) {
9875
9897
  });
9876
9898
  });
9877
9899
  };
9878
- exports.version = "19.3.0-experimental-dd048c3b-20251105";
9900
+ exports.version = "19.3.0-experimental-5a2205ba-20251105";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-markup",
3
- "version": "0.0.0-experimental-dd048c3b-20251105",
3
+ "version": "0.0.0-experimental-5a2205ba-20251105",
4
4
  "description": "React package generating embedded markup such as e-mails with support for Server Components.",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "homepage": "https://react.dev/",
19
19
  "peerDependencies": {
20
- "react": "0.0.0-experimental-dd048c3b-20251105"
20
+ "react": "0.0.0-experimental-5a2205ba-20251105"
21
21
  },
22
22
  "files": [
23
23
  "LICENSE",