react-markup 0.0.0-experimental-d46b04a2-20250117 → 0.0.0-experimental-9b62ee71-20250122

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.
@@ -2043,8 +2043,10 @@
2043
2043
  request.completedErrorChunks.push(id);
2044
2044
  }
2045
2045
  function serializeErrorValue(request, error) {
2046
- var env = (0, request.environmentName)();
2046
+ var name = "Error",
2047
+ env = (0, request.environmentName)();
2047
2048
  try {
2049
+ name = error.name;
2048
2050
  var message = String(error.message);
2049
2051
  var stack = filterStackTrace(request, error, 0);
2050
2052
  var errorEnv = error.environmentName;
@@ -2057,6 +2059,7 @@
2057
2059
  return (
2058
2060
  "$Z" +
2059
2061
  outlineModel(request, {
2062
+ name: name,
2060
2063
  message: message,
2061
2064
  stack: stack,
2062
2065
  env: env
@@ -2064,9 +2067,11 @@
2064
2067
  );
2065
2068
  }
2066
2069
  function emitErrorChunk(request, id, digest, error) {
2067
- var env = (0, request.environmentName)();
2070
+ var name = "Error",
2071
+ env = (0, request.environmentName)();
2068
2072
  try {
2069
2073
  if (error instanceof Error) {
2074
+ name = error.name;
2070
2075
  var message = String(error.message);
2071
2076
  var stack = filterStackTrace(request, error, 0);
2072
2077
  var errorEnv = error.environmentName;
@@ -2082,7 +2087,13 @@
2082
2087
  "An error occurred but serializing the error message failed."),
2083
2088
  (stack = []);
2084
2089
  }
2085
- digest = { digest: digest, message: message, stack: stack, env: env };
2090
+ digest = {
2091
+ digest: digest,
2092
+ name: name,
2093
+ message: message,
2094
+ stack: stack,
2095
+ env: env
2096
+ };
2086
2097
  id = id.toString(16) + ":E" + stringify(digest) + "\n";
2087
2098
  request.completedErrorChunks.push(id);
2088
2099
  }
@@ -4277,7 +4288,8 @@
4277
4288
  response.reason.close("" === row ? '"$undefined"' : row);
4278
4289
  }
4279
4290
  function resolveErrorDev(response, errorInfo) {
4280
- var env = errorInfo.env;
4291
+ var name = errorInfo.name,
4292
+ env = errorInfo.env;
4281
4293
  errorInfo = buildFakeCallStack(
4282
4294
  response,
4283
4295
  errorInfo.stack,
@@ -4290,6 +4302,7 @@
4290
4302
  );
4291
4303
  response = getRootTask(response, env);
4292
4304
  response = null != response ? response.run(errorInfo) : errorInfo();
4305
+ response.name = name;
4293
4306
  response.environmentName = env;
4294
4307
  return response;
4295
4308
  }
@@ -5356,27 +5369,27 @@
5356
5369
  "React expected a positive non-zero `maxHeadersLength` option but found %s instead. When using the `onHeaders` option you may supply an optional `maxHeadersLength` option as well however, when setting this value to zero or less no headers will be captured.",
5357
5370
  0 === maxHeadersLength ? "zero" : maxHeadersLength
5358
5371
  );
5359
- importMap = {
5372
+ importMap = onHeaders
5373
+ ? {
5374
+ preconnects: "",
5375
+ fontPreloads: "",
5376
+ highImagePreloads: "",
5377
+ remainingCapacity:
5378
+ 2 +
5379
+ ("number" === typeof maxHeadersLength ? maxHeadersLength : 2e3)
5380
+ }
5381
+ : null;
5382
+ onHeaders = {
5360
5383
  placeholderPrefix: idPrefix + "P:",
5361
5384
  segmentPrefix: idPrefix + "S:",
5362
5385
  boundaryPrefix: idPrefix + "B:",
5363
5386
  startInlineScript: inlineScriptWithNonce,
5364
- htmlChunks: null,
5365
- headChunks: null,
5387
+ preamble: createPreambleState(),
5366
5388
  externalRuntimeScript: externalRuntimeScript,
5367
5389
  bootstrapChunks: bootstrapChunks,
5368
5390
  importMapChunks: externalRuntimeConfig,
5369
5391
  onHeaders: onHeaders,
5370
- headers: onHeaders
5371
- ? {
5372
- preconnects: "",
5373
- fontPreloads: "",
5374
- highImagePreloads: "",
5375
- remainingCapacity:
5376
- 2 +
5377
- ("number" === typeof maxHeadersLength ? maxHeadersLength : 2e3)
5378
- }
5379
- : null,
5392
+ headers: importMap,
5380
5393
  resets: {
5381
5394
  font: {},
5382
5395
  dns: {},
@@ -5405,52 +5418,54 @@
5405
5418
  stylesToHoist: !1
5406
5419
  };
5407
5420
  if (void 0 !== bootstrapScripts)
5408
- for (onHeaders = 0; onHeaders < bootstrapScripts.length; onHeaders++)
5409
- (maxHeadersLength = bootstrapScripts[onHeaders]),
5410
- (externalRuntimeScript = idPrefix = void 0),
5421
+ for (
5422
+ inlineScriptWithNonce = 0;
5423
+ inlineScriptWithNonce < bootstrapScripts.length;
5424
+ inlineScriptWithNonce++
5425
+ )
5426
+ (idPrefix = bootstrapScripts[inlineScriptWithNonce]),
5427
+ (maxHeadersLength = importMap = void 0),
5411
5428
  (externalRuntimeConfig = {
5412
5429
  rel: "preload",
5413
5430
  as: "script",
5414
5431
  fetchPriority: "low",
5415
5432
  nonce: nonce
5416
5433
  }),
5417
- "string" === typeof maxHeadersLength
5418
- ? (externalRuntimeConfig.href = inlineScriptWithNonce =
5419
- maxHeadersLength)
5420
- : ((externalRuntimeConfig.href = inlineScriptWithNonce =
5421
- maxHeadersLength.src),
5422
- (externalRuntimeConfig.integrity = externalRuntimeScript =
5423
- "string" === typeof maxHeadersLength.integrity
5424
- ? maxHeadersLength.integrity
5434
+ "string" === typeof idPrefix
5435
+ ? (externalRuntimeConfig.href = externalRuntimeScript = idPrefix)
5436
+ : ((externalRuntimeConfig.href = externalRuntimeScript =
5437
+ idPrefix.src),
5438
+ (externalRuntimeConfig.integrity = maxHeadersLength =
5439
+ "string" === typeof idPrefix.integrity
5440
+ ? idPrefix.integrity
5425
5441
  : void 0),
5426
- (externalRuntimeConfig.crossOrigin = idPrefix =
5427
- "string" === typeof maxHeadersLength ||
5428
- null == maxHeadersLength.crossOrigin
5442
+ (externalRuntimeConfig.crossOrigin = importMap =
5443
+ "string" === typeof idPrefix || null == idPrefix.crossOrigin
5429
5444
  ? void 0
5430
- : "use-credentials" === maxHeadersLength.crossOrigin
5445
+ : "use-credentials" === idPrefix.crossOrigin
5431
5446
  ? "use-credentials"
5432
5447
  : "")),
5433
5448
  preloadBootstrapScriptOrModule(
5434
5449
  resumableState,
5435
- importMap,
5436
- inlineScriptWithNonce,
5450
+ onHeaders,
5451
+ externalRuntimeScript,
5437
5452
  externalRuntimeConfig
5438
5453
  ),
5439
5454
  bootstrapChunks.push(
5440
5455
  '<script src="',
5441
- escapeTextForBrowser(inlineScriptWithNonce)
5456
+ escapeTextForBrowser(externalRuntimeScript)
5442
5457
  ),
5443
5458
  nonce &&
5444
5459
  bootstrapChunks.push('" nonce="', escapeTextForBrowser(nonce)),
5445
- "string" === typeof externalRuntimeScript &&
5460
+ "string" === typeof maxHeadersLength &&
5446
5461
  bootstrapChunks.push(
5447
5462
  '" integrity="',
5448
- escapeTextForBrowser(externalRuntimeScript)
5463
+ escapeTextForBrowser(maxHeadersLength)
5449
5464
  ),
5450
- "string" === typeof idPrefix &&
5465
+ "string" === typeof importMap &&
5451
5466
  bootstrapChunks.push(
5452
5467
  '" crossorigin="',
5453
- escapeTextForBrowser(idPrefix)
5468
+ escapeTextForBrowser(importMap)
5454
5469
  ),
5455
5470
  bootstrapChunks.push('" async="">\x3c/script>');
5456
5471
  if (void 0 !== bootstrapModules)
@@ -5459,51 +5474,51 @@
5459
5474
  bootstrapScripts < bootstrapModules.length;
5460
5475
  bootstrapScripts++
5461
5476
  )
5462
- (onHeaders = bootstrapModules[bootstrapScripts]),
5463
- (idPrefix = inlineScriptWithNonce = void 0),
5464
- (externalRuntimeScript = {
5477
+ (inlineScriptWithNonce = bootstrapModules[bootstrapScripts]),
5478
+ (importMap = externalRuntimeScript = void 0),
5479
+ (maxHeadersLength = {
5465
5480
  rel: "modulepreload",
5466
5481
  fetchPriority: "low",
5467
5482
  nonce: nonce
5468
5483
  }),
5469
- "string" === typeof onHeaders
5470
- ? (externalRuntimeScript.href = maxHeadersLength = onHeaders)
5471
- : ((externalRuntimeScript.href = maxHeadersLength =
5472
- onHeaders.src),
5473
- (externalRuntimeScript.integrity = idPrefix =
5474
- "string" === typeof onHeaders.integrity
5475
- ? onHeaders.integrity
5484
+ "string" === typeof inlineScriptWithNonce
5485
+ ? (maxHeadersLength.href = idPrefix = inlineScriptWithNonce)
5486
+ : ((maxHeadersLength.href = idPrefix = inlineScriptWithNonce.src),
5487
+ (maxHeadersLength.integrity = importMap =
5488
+ "string" === typeof inlineScriptWithNonce.integrity
5489
+ ? inlineScriptWithNonce.integrity
5476
5490
  : void 0),
5477
- (externalRuntimeScript.crossOrigin = inlineScriptWithNonce =
5478
- "string" === typeof onHeaders || null == onHeaders.crossOrigin
5491
+ (maxHeadersLength.crossOrigin = externalRuntimeScript =
5492
+ "string" === typeof inlineScriptWithNonce ||
5493
+ null == inlineScriptWithNonce.crossOrigin
5479
5494
  ? void 0
5480
- : "use-credentials" === onHeaders.crossOrigin
5495
+ : "use-credentials" === inlineScriptWithNonce.crossOrigin
5481
5496
  ? "use-credentials"
5482
5497
  : "")),
5483
5498
  preloadBootstrapScriptOrModule(
5484
5499
  resumableState,
5485
- importMap,
5486
- maxHeadersLength,
5487
- externalRuntimeScript
5500
+ onHeaders,
5501
+ idPrefix,
5502
+ maxHeadersLength
5488
5503
  ),
5489
5504
  bootstrapChunks.push(
5490
5505
  '<script type="module" src="',
5491
- escapeTextForBrowser(maxHeadersLength)
5506
+ escapeTextForBrowser(idPrefix)
5492
5507
  ),
5493
5508
  nonce &&
5494
5509
  bootstrapChunks.push('" nonce="', escapeTextForBrowser(nonce)),
5495
- "string" === typeof idPrefix &&
5510
+ "string" === typeof importMap &&
5496
5511
  bootstrapChunks.push(
5497
5512
  '" integrity="',
5498
- escapeTextForBrowser(idPrefix)
5513
+ escapeTextForBrowser(importMap)
5499
5514
  ),
5500
- "string" === typeof inlineScriptWithNonce &&
5515
+ "string" === typeof externalRuntimeScript &&
5501
5516
  bootstrapChunks.push(
5502
5517
  '" crossorigin="',
5503
- escapeTextForBrowser(inlineScriptWithNonce)
5518
+ escapeTextForBrowser(externalRuntimeScript)
5504
5519
  ),
5505
5520
  bootstrapChunks.push('" async="">\x3c/script>');
5506
- return importMap;
5521
+ return onHeaders;
5507
5522
  }
5508
5523
  function createResumableState(
5509
5524
  identifierPrefix,
@@ -5534,6 +5549,9 @@
5534
5549
  moduleScriptResources: {}
5535
5550
  };
5536
5551
  }
5552
+ function createPreambleState() {
5553
+ return { htmlChunks: null, headChunks: null, bodyChunks: null };
5554
+ }
5537
5555
  function createFormatContext(insertionMode, selectedValue, tagScope) {
5538
5556
  return {
5539
5557
  insertionMode: insertionMode,
@@ -5552,33 +5570,34 @@
5552
5570
  parentContext.tagScope
5553
5571
  );
5554
5572
  case "svg":
5555
- return createFormatContext(3, null, parentContext.tagScope);
5573
+ return createFormatContext(4, null, parentContext.tagScope);
5556
5574
  case "picture":
5557
5575
  return createFormatContext(2, null, parentContext.tagScope | 2);
5558
5576
  case "math":
5559
- return createFormatContext(4, null, parentContext.tagScope);
5577
+ return createFormatContext(5, null, parentContext.tagScope);
5560
5578
  case "foreignObject":
5561
5579
  return createFormatContext(2, null, parentContext.tagScope);
5562
5580
  case "table":
5563
- return createFormatContext(5, null, parentContext.tagScope);
5581
+ return createFormatContext(6, null, parentContext.tagScope);
5564
5582
  case "thead":
5565
5583
  case "tbody":
5566
5584
  case "tfoot":
5567
- return createFormatContext(6, null, parentContext.tagScope);
5585
+ return createFormatContext(7, null, parentContext.tagScope);
5568
5586
  case "colgroup":
5569
- return createFormatContext(8, null, parentContext.tagScope);
5587
+ return createFormatContext(9, null, parentContext.tagScope);
5570
5588
  case "tr":
5571
- return createFormatContext(7, null, parentContext.tagScope);
5589
+ return createFormatContext(8, null, parentContext.tagScope);
5590
+ case "head":
5591
+ if (2 > parentContext.insertionMode)
5592
+ return createFormatContext(3, null, parentContext.tagScope);
5593
+ break;
5594
+ case "html":
5595
+ if (0 === parentContext.insertionMode)
5596
+ return createFormatContext(1, null, parentContext.tagScope);
5572
5597
  }
5573
- return 5 <= parentContext.insertionMode
5598
+ return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode
5574
5599
  ? createFormatContext(2, null, parentContext.tagScope)
5575
- : 0 === parentContext.insertionMode
5576
- ? "html" === type
5577
- ? createFormatContext(1, null, parentContext.tagScope)
5578
- : createFormatContext(2, null, parentContext.tagScope)
5579
- : 1 === parentContext.insertionMode
5580
- ? createFormatContext(2, null, parentContext.tagScope)
5581
- : parentContext;
5600
+ : parentContext;
5582
5601
  }
5583
5602
  function pushStyleAttribute(target, style) {
5584
5603
  if ("object" !== typeof style)
@@ -6247,6 +6266,7 @@
6247
6266
  props,
6248
6267
  resumableState,
6249
6268
  renderState,
6269
+ preambleState,
6250
6270
  hoistableState,
6251
6271
  formatContext,
6252
6272
  textEmbedded,
@@ -6292,8 +6312,8 @@
6292
6312
  console.error(
6293
6313
  "A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."
6294
6314
  );
6295
- 3 !== formatContext.insertionMode &&
6296
- 4 !== formatContext.insertionMode &&
6315
+ 4 !== formatContext.insertionMode &&
6316
+ 5 !== formatContext.insertionMode &&
6297
6317
  -1 === type.indexOf("-") &&
6298
6318
  type.toLowerCase() !== type &&
6299
6319
  console.error(
@@ -6901,7 +6921,7 @@
6901
6921
  ));
6902
6922
  }
6903
6923
  if (
6904
- 3 === insertionMode ||
6924
+ 4 === insertionMode ||
6905
6925
  noscriptTagInScope ||
6906
6926
  null != props.itemProp
6907
6927
  )
@@ -6920,7 +6940,7 @@
6920
6940
  href = props.href,
6921
6941
  precedence = props.precedence;
6922
6942
  if (
6923
- 3 === formatContext.insertionMode ||
6943
+ 4 === formatContext.insertionMode ||
6924
6944
  formatContext.tagScope & 1 ||
6925
6945
  null != props.itemProp ||
6926
6946
  "string" !== typeof rel ||
@@ -7036,7 +7056,7 @@
7036
7056
  "symbol" === typeof asyncProp ||
7037
7057
  props.onLoad ||
7038
7058
  props.onError ||
7039
- 3 === formatContext.insertionMode ||
7059
+ 4 === formatContext.insertionMode ||
7040
7060
  formatContext.tagScope & 1 ||
7041
7061
  null != props.itemProp
7042
7062
  )
@@ -7099,7 +7119,7 @@
7099
7119
  var precedence$jscomp$0 = props.precedence,
7100
7120
  href$jscomp$0 = props.href;
7101
7121
  if (
7102
- 3 === insertionMode$jscomp$0 ||
7122
+ 4 === insertionMode$jscomp$0 ||
7103
7123
  noscriptTagInScope$jscomp$0 ||
7104
7124
  null != props.itemProp ||
7105
7125
  "string" !== typeof precedence$jscomp$0 ||
@@ -7217,7 +7237,7 @@
7217
7237
  return JSCompiler_inline_result$jscomp$7;
7218
7238
  case "meta":
7219
7239
  if (
7220
- 3 === formatContext.insertionMode ||
7240
+ 4 === formatContext.insertionMode ||
7221
7241
  formatContext.tagScope & 1 ||
7222
7242
  null != props.itemProp
7223
7243
  )
@@ -7401,13 +7421,13 @@
7401
7421
  case "missing-glyph":
7402
7422
  break;
7403
7423
  case "head":
7404
- if (
7405
- 2 > formatContext.insertionMode &&
7406
- null === renderState.headChunks
7407
- ) {
7408
- renderState.headChunks = [];
7424
+ if (2 > formatContext.insertionMode) {
7425
+ var preamble = preambleState || renderState.preamble;
7426
+ if (preamble.headChunks)
7427
+ throw Error("The `<head>` tag may only be rendered once.");
7428
+ preamble.headChunks = [];
7409
7429
  var JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(
7410
- renderState.headChunks,
7430
+ preamble.headChunks,
7411
7431
  props,
7412
7432
  "head"
7413
7433
  );
@@ -7418,24 +7438,42 @@
7418
7438
  "head"
7419
7439
  );
7420
7440
  return JSCompiler_inline_result$jscomp$9;
7421
- case "html":
7422
- if (
7423
- 0 === formatContext.insertionMode &&
7424
- null === renderState.htmlChunks
7425
- ) {
7426
- renderState.htmlChunks = [doctypeChunk];
7441
+ case "body":
7442
+ if (2 > formatContext.insertionMode) {
7443
+ var preamble$jscomp$0 = preambleState || renderState.preamble;
7444
+ if (preamble$jscomp$0.bodyChunks)
7445
+ throw Error("The `<body>` tag may only be rendered once.");
7446
+ preamble$jscomp$0.bodyChunks = [];
7427
7447
  var JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(
7428
- renderState.htmlChunks,
7448
+ preamble$jscomp$0.bodyChunks,
7429
7449
  props,
7430
- "html"
7450
+ "body"
7431
7451
  );
7432
7452
  } else
7433
7453
  JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(
7434
7454
  target$jscomp$0,
7435
7455
  props,
7436
- "html"
7456
+ "body"
7437
7457
  );
7438
7458
  return JSCompiler_inline_result$jscomp$10;
7459
+ case "html":
7460
+ if (0 === formatContext.insertionMode) {
7461
+ var preamble$jscomp$1 = preambleState || renderState.preamble;
7462
+ if (preamble$jscomp$1.htmlChunks)
7463
+ throw Error("The `<html>` tag may only be rendered once.");
7464
+ preamble$jscomp$1.htmlChunks = [doctypeChunk];
7465
+ var JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(
7466
+ preamble$jscomp$1.htmlChunks,
7467
+ props,
7468
+ "html"
7469
+ );
7470
+ } else
7471
+ JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(
7472
+ target$jscomp$0,
7473
+ props,
7474
+ "html"
7475
+ );
7476
+ return JSCompiler_inline_result$jscomp$11;
7439
7477
  default:
7440
7478
  if (-1 !== type.indexOf("-")) {
7441
7479
  target$jscomp$0.push(startChunkForTag(type));
@@ -7502,6 +7540,15 @@
7502
7540
  ((chunk = "</" + tag + ">"), endTagCache.set(tag, chunk));
7503
7541
  return chunk;
7504
7542
  }
7543
+ function hoistPreambleState(renderState, preambleState) {
7544
+ renderState = renderState.preamble;
7545
+ null === renderState.htmlChunks &&
7546
+ (renderState.htmlChunks = preambleState.htmlChunks);
7547
+ null === renderState.headChunks &&
7548
+ (renderState.headChunks = preambleState.headChunks);
7549
+ null === renderState.bodyChunks &&
7550
+ (renderState.bodyChunks = preambleState.bodyChunks);
7551
+ }
7505
7552
  function writeBootstrap(destination, renderState) {
7506
7553
  renderState = renderState.bootstrapChunks;
7507
7554
  for (var i = 0; i < renderState.length - 1; i++)
@@ -7525,6 +7572,7 @@
7525
7572
  switch (formatContext.insertionMode) {
7526
7573
  case 0:
7527
7574
  case 1:
7575
+ case 3:
7528
7576
  case 2:
7529
7577
  return (
7530
7578
  destination.push('<div hidden id="'),
@@ -7533,7 +7581,7 @@
7533
7581
  destination.push(renderState),
7534
7582
  destination.push('">')
7535
7583
  );
7536
- case 3:
7584
+ case 4:
7537
7585
  return (
7538
7586
  destination.push(
7539
7587
  '<svg aria-hidden="true" style="display:none" id="'
@@ -7543,7 +7591,7 @@
7543
7591
  destination.push(renderState),
7544
7592
  destination.push('">')
7545
7593
  );
7546
- case 4:
7594
+ case 5:
7547
7595
  return (
7548
7596
  destination.push(
7549
7597
  '<math aria-hidden="true" style="display:none" id="'
@@ -7553,7 +7601,7 @@
7553
7601
  destination.push(renderState),
7554
7602
  destination.push('">')
7555
7603
  );
7556
- case 5:
7604
+ case 6:
7557
7605
  return (
7558
7606
  destination.push('<table hidden id="'),
7559
7607
  destination.push(renderState.segmentPrefix),
@@ -7561,7 +7609,7 @@
7561
7609
  destination.push(renderState),
7562
7610
  destination.push('">')
7563
7611
  );
7564
- case 6:
7612
+ case 7:
7565
7613
  return (
7566
7614
  destination.push('<table hidden><tbody id="'),
7567
7615
  destination.push(renderState.segmentPrefix),
@@ -7569,7 +7617,7 @@
7569
7617
  destination.push(renderState),
7570
7618
  destination.push('">')
7571
7619
  );
7572
- case 7:
7620
+ case 8:
7573
7621
  return (
7574
7622
  destination.push('<table hidden><tr id="'),
7575
7623
  destination.push(renderState.segmentPrefix),
@@ -7577,7 +7625,7 @@
7577
7625
  destination.push(renderState),
7578
7626
  destination.push('">')
7579
7627
  );
7580
- case 8:
7628
+ case 9:
7581
7629
  return (
7582
7630
  destination.push('<table hidden><colgroup id="'),
7583
7631
  destination.push(renderState.segmentPrefix),
@@ -7593,19 +7641,20 @@
7593
7641
  switch (formatContext.insertionMode) {
7594
7642
  case 0:
7595
7643
  case 1:
7644
+ case 3:
7596
7645
  case 2:
7597
7646
  return destination.push("</div>");
7598
- case 3:
7599
- return destination.push("</svg>");
7600
7647
  case 4:
7601
- return destination.push("</math>");
7648
+ return destination.push("</svg>");
7602
7649
  case 5:
7603
- return destination.push("</table>");
7650
+ return destination.push("</math>");
7604
7651
  case 6:
7605
- return destination.push("</tbody></table>");
7652
+ return destination.push("</table>");
7606
7653
  case 7:
7607
- return destination.push("</tr></table>");
7654
+ return destination.push("</tbody></table>");
7608
7655
  case 8:
7656
+ return destination.push("</tr></table>");
7657
+ case 9:
7609
7658
  return destination.push("</colgroup></table>");
7610
7659
  default:
7611
7660
  throw Error("Unknown insertion mode. This is a bug in React.");
@@ -8512,7 +8561,7 @@
8512
8561
  this.status = 10;
8513
8562
  this.fatalError = null;
8514
8563
  this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;
8515
- this.completedRootSegment = null;
8564
+ this.completedPreambleSegments = this.completedRootSegment = null;
8516
8565
  this.abortableTasks = abortSet;
8517
8566
  this.pingedTasks = [];
8518
8567
  this.clientRenderedBoundaries = [];
@@ -8572,6 +8621,7 @@
8572
8621
  null,
8573
8622
  renderState,
8574
8623
  null,
8624
+ null,
8575
8625
  resumableState.abortableTasks,
8576
8626
  null,
8577
8627
  rootFormatContext,
@@ -8592,7 +8642,12 @@
8592
8642
  ((request.flushScheduled = null !== request.destination),
8593
8643
  performWork(request));
8594
8644
  }
8595
- function createSuspenseBoundary(request, fallbackAbortableTasks) {
8645
+ function createSuspenseBoundary(
8646
+ request,
8647
+ fallbackAbortableTasks,
8648
+ contentPreamble,
8649
+ fallbackPreamble
8650
+ ) {
8596
8651
  return {
8597
8652
  status: 0,
8598
8653
  rootSegmentID: -1,
@@ -8604,6 +8659,8 @@
8604
8659
  errorDigest: null,
8605
8660
  contentState: createHoistableState(),
8606
8661
  fallbackState: createHoistableState(),
8662
+ contentPreamble: contentPreamble,
8663
+ fallbackPreamble: fallbackPreamble,
8607
8664
  trackedContentKeyPath: null,
8608
8665
  trackedFallbackNode: null,
8609
8666
  errorMessage: null,
@@ -8618,6 +8675,7 @@
8618
8675
  childIndex,
8619
8676
  blockedBoundary,
8620
8677
  blockedSegment,
8678
+ blockedPreamble,
8621
8679
  hoistableState,
8622
8680
  abortSet,
8623
8681
  keyPath,
@@ -8642,6 +8700,7 @@
8642
8700
  },
8643
8701
  blockedBoundary: blockedBoundary,
8644
8702
  blockedSegment: blockedSegment,
8703
+ blockedPreamble: blockedPreamble,
8645
8704
  hoistableState: hoistableState,
8646
8705
  abortSet: abortSet,
8647
8706
  keyPath: keyPath,
@@ -8688,6 +8747,7 @@
8688
8747
  },
8689
8748
  blockedBoundary: blockedBoundary,
8690
8749
  blockedSegment: null,
8750
+ blockedPreamble: null,
8691
8751
  hoistableState: hoistableState,
8692
8752
  abortSet: abortSet,
8693
8753
  keyPath: keyPath,
@@ -8712,11 +8772,12 @@
8712
8772
  ) {
8713
8773
  return {
8714
8774
  status: 0,
8775
+ parentFlushed: !1,
8715
8776
  id: -1,
8716
8777
  index: index,
8717
- parentFlushed: !1,
8718
8778
  chunks: [],
8719
8779
  children: [],
8780
+ preambleChildren: [],
8720
8781
  parentFormatContext: parentFormatContext,
8721
8782
  boundary: boundary,
8722
8783
  lastPushedText: lastPushedText,
@@ -9416,6 +9477,7 @@
9416
9477
  var target = segment.chunks,
9417
9478
  resumableState = request.resumableState,
9418
9479
  renderState = request.renderState,
9480
+ preambleState = task.blockedPreamble,
9419
9481
  hoistableState = task.hoistableState,
9420
9482
  formatContext = task.formatContext,
9421
9483
  textEmbedded = segment.lastPushedText,
@@ -9441,6 +9503,7 @@
9441
9503
  props,
9442
9504
  resumableState,
9443
9505
  renderState,
9506
+ preambleState,
9444
9507
  hoistableState,
9445
9508
  formatContext,
9446
9509
  textEmbedded,
@@ -9449,9 +9512,46 @@
9449
9512
  segment.lastPushedText = !1;
9450
9513
  var _prevContext = task.formatContext,
9451
9514
  _prevKeyPath2 = task.keyPath;
9452
- task.formatContext = getChildFormatContext(_prevContext, type, props);
9453
9515
  task.keyPath = keyPath;
9454
- renderNode(request, task, _children, -1);
9516
+ if (
9517
+ 3 ===
9518
+ (task.formatContext = getChildFormatContext(
9519
+ _prevContext,
9520
+ type,
9521
+ props
9522
+ )).insertionMode
9523
+ ) {
9524
+ var preambleSegment = createPendingSegment(
9525
+ request,
9526
+ 0,
9527
+ null,
9528
+ task.formatContext,
9529
+ !1,
9530
+ !1
9531
+ );
9532
+ segment.preambleChildren.push(preambleSegment);
9533
+ var preambleTask = createRenderTask(
9534
+ request,
9535
+ null,
9536
+ _children,
9537
+ -1,
9538
+ task.blockedBoundary,
9539
+ preambleSegment,
9540
+ task.blockedPreamble,
9541
+ task.hoistableState,
9542
+ request.abortableTasks,
9543
+ task.keyPath,
9544
+ task.formatContext,
9545
+ task.context,
9546
+ task.treeContext,
9547
+ task.componentStack,
9548
+ task.isFallback,
9549
+ emptyContextObject,
9550
+ task.debugTask
9551
+ );
9552
+ pushComponentStack(preambleTask);
9553
+ request.pingedTasks.push(preambleTask);
9554
+ } else renderNode(request, task, _children, -1);
9455
9555
  task.formatContext = _prevContext;
9456
9556
  task.keyPath = _prevKeyPath2;
9457
9557
  a: {
@@ -9488,6 +9588,9 @@
9488
9588
  resumableState$jscomp$0.hasHtml = !0;
9489
9589
  break a;
9490
9590
  }
9591
+ break;
9592
+ case "head":
9593
+ if (1 >= _prevContext.insertionMode) break a;
9491
9594
  }
9492
9595
  target$jscomp$0.push(endChunkForTag(type));
9493
9596
  }
@@ -9541,12 +9644,26 @@
9541
9644
  } else {
9542
9645
  var prevKeyPath$jscomp$3 = task.keyPath,
9543
9646
  parentBoundary = task.blockedBoundary,
9647
+ parentPreamble = task.blockedPreamble,
9544
9648
  parentHoistableState = task.hoistableState,
9545
9649
  parentSegment = task.blockedSegment,
9546
9650
  fallback = props.fallback,
9547
9651
  content = props.children,
9548
- fallbackAbortSet = new Set(),
9549
- newBoundary = createSuspenseBoundary(request, fallbackAbortSet);
9652
+ fallbackAbortSet = new Set();
9653
+ var newBoundary =
9654
+ 2 > task.formatContext.insertionMode
9655
+ ? createSuspenseBoundary(
9656
+ request,
9657
+ fallbackAbortSet,
9658
+ createPreambleState(),
9659
+ createPreambleState()
9660
+ )
9661
+ : createSuspenseBoundary(
9662
+ request,
9663
+ fallbackAbortSet,
9664
+ null,
9665
+ null
9666
+ );
9550
9667
  null !== request.trackedPostpones &&
9551
9668
  (newBoundary.trackedContentKeyPath = keyPath);
9552
9669
  var boundarySegment = createPendingSegment(
@@ -9586,6 +9703,7 @@
9586
9703
  );
9587
9704
  newBoundary.trackedFallbackNode = fallbackReplayNode;
9588
9705
  task.blockedSegment = boundarySegment;
9706
+ task.blockedPreamble = newBoundary.fallbackPreamble;
9589
9707
  task.keyPath = fallbackKeyPath;
9590
9708
  boundarySegment.status = 6;
9591
9709
  try {
@@ -9598,6 +9716,7 @@
9598
9716
  );
9599
9717
  } finally {
9600
9718
  (task.blockedSegment = parentSegment),
9719
+ (task.blockedPreamble = parentPreamble),
9601
9720
  (task.keyPath = prevKeyPath$jscomp$3);
9602
9721
  }
9603
9722
  var suspendedPrimaryTask = createRenderTask(
@@ -9607,6 +9726,7 @@
9607
9726
  -1,
9608
9727
  newBoundary,
9609
9728
  contentRootSegment,
9729
+ newBoundary.contentPreamble,
9610
9730
  newBoundary.contentState,
9611
9731
  task.abortSet,
9612
9732
  keyPath,
@@ -9622,6 +9742,7 @@
9622
9742
  request.pingedTasks.push(suspendedPrimaryTask);
9623
9743
  } else {
9624
9744
  task.blockedBoundary = newBoundary;
9745
+ task.blockedPreamble = newBoundary.contentPreamble;
9625
9746
  task.hoistableState = newBoundary.contentState;
9626
9747
  task.blockedSegment = contentRootSegment;
9627
9748
  task.keyPath = keyPath;
@@ -9634,6 +9755,9 @@
9634
9755
  0 === newBoundary.pendingTasks && 0 === newBoundary.status)
9635
9756
  ) {
9636
9757
  newBoundary.status = 1;
9758
+ 0 === request.pendingRootTasks &&
9759
+ task.blockedPreamble &&
9760
+ preparePreamble(request);
9637
9761
  break a;
9638
9762
  }
9639
9763
  } catch (thrownValue$6) {
@@ -9673,6 +9797,7 @@
9673
9797
  untrackBoundary(request, newBoundary);
9674
9798
  } finally {
9675
9799
  (task.blockedBoundary = parentBoundary),
9800
+ (task.blockedPreamble = parentPreamble),
9676
9801
  (task.hoistableState = parentHoistableState),
9677
9802
  (task.blockedSegment = parentSegment),
9678
9803
  (task.keyPath = prevKeyPath$jscomp$3);
@@ -9684,6 +9809,7 @@
9684
9809
  -1,
9685
9810
  parentBoundary,
9686
9811
  boundarySegment,
9812
+ newBoundary.fallbackPreamble,
9687
9813
  newBoundary.fallbackState,
9688
9814
  fallbackAbortSet,
9689
9815
  [keyPath[0], "Suspense Fallback", keyPath[2]],
@@ -9922,17 +10048,27 @@
9922
10048
  previousReplaySet = task.replay,
9923
10049
  parentBoundary = task.blockedBoundary,
9924
10050
  parentHoistableState = task.hoistableState,
9925
- content = props.children;
9926
- props = props.fallback;
9927
- var fallbackAbortSet = new Set(),
9928
- resumedBoundary = createSuspenseBoundary(
9929
- request,
9930
- fallbackAbortSet
9931
- );
9932
- resumedBoundary.parentFlushed = !0;
9933
- resumedBoundary.rootSegmentID = type;
9934
- task.blockedBoundary = resumedBoundary;
9935
- task.hoistableState = resumedBoundary.contentState;
10051
+ content = props.children,
10052
+ fallback = props.fallback,
10053
+ fallbackAbortSet = new Set();
10054
+ props =
10055
+ 2 > task.formatContext.insertionMode
10056
+ ? createSuspenseBoundary(
10057
+ request,
10058
+ fallbackAbortSet,
10059
+ createPreambleState(),
10060
+ createPreambleState()
10061
+ )
10062
+ : createSuspenseBoundary(
10063
+ request,
10064
+ fallbackAbortSet,
10065
+ null,
10066
+ null
10067
+ );
10068
+ props.parentFlushed = !0;
10069
+ props.rootSegmentID = type;
10070
+ task.blockedBoundary = props;
10071
+ task.hoistableState = props.contentState;
9936
10072
  task.keyPath = keyPath;
9937
10073
  task.replay = { nodes: ref, slots: name, pendingTasks: 1 };
9938
10074
  try {
@@ -9945,16 +10081,13 @@
9945
10081
  "Couldn't find all resumable slots by key/index during replaying. The tree doesn't match so React will fallback to client rendering."
9946
10082
  );
9947
10083
  task.replay.pendingTasks--;
9948
- if (
9949
- 0 === resumedBoundary.pendingTasks &&
9950
- 0 === resumedBoundary.status
9951
- ) {
9952
- resumedBoundary.status = 1;
9953
- request.completedBoundaries.push(resumedBoundary);
10084
+ if (0 === props.pendingTasks && 0 === props.status) {
10085
+ props.status = 1;
10086
+ request.completedBoundaries.push(props);
9954
10087
  break a;
9955
10088
  }
9956
10089
  } catch (error) {
9957
- (resumedBoundary.status = 4),
10090
+ (props.status = 4),
9958
10091
  (childNodes = getThrownInfo(task.componentStack)),
9959
10092
  "object" === typeof error &&
9960
10093
  null !== error &&
@@ -9972,15 +10105,9 @@
9972
10105
  childNodes,
9973
10106
  task.debugTask
9974
10107
  )),
9975
- encodeErrorForBoundary(
9976
- resumedBoundary,
9977
- replay,
9978
- error,
9979
- childNodes,
9980
- !1
9981
- ),
10108
+ encodeErrorForBoundary(props, replay, error, childNodes, !1),
9982
10109
  task.replay.pendingTasks--,
9983
- request.clientRenderedBoundaries.push(resumedBoundary);
10110
+ request.clientRenderedBoundaries.push(props);
9984
10111
  } finally {
9985
10112
  (task.blockedBoundary = parentBoundary),
9986
10113
  (task.hoistableState = parentHoistableState),
@@ -9991,10 +10118,10 @@
9991
10118
  request,
9992
10119
  null,
9993
10120
  { nodes: keyOrIndex, slots: node, pendingTasks: 0 },
9994
- props,
10121
+ fallback,
9995
10122
  -1,
9996
10123
  parentBoundary,
9997
- resumedBoundary.fallbackState,
10124
+ props.fallbackState,
9998
10125
  fallbackAbortSet,
9999
10126
  [keyPath[0], "Suspense Fallback", keyPath[2]],
10000
10127
  task.formatContext,
@@ -10526,6 +10653,7 @@
10526
10653
  task.childIndex,
10527
10654
  task.blockedBoundary,
10528
10655
  newSegment,
10656
+ task.blockedPreamble,
10529
10657
  task.hoistableState,
10530
10658
  task.abortSet,
10531
10659
  task.keyPath,
@@ -10743,7 +10871,12 @@
10743
10871
  errorDigest = errorDigest$jscomp$0,
10744
10872
  errorInfo = errorInfo$jscomp$0,
10745
10873
  wasAborted = aborted,
10746
- resumedBoundary = createSuspenseBoundary(request, new Set());
10874
+ resumedBoundary = createSuspenseBoundary(
10875
+ request,
10876
+ new Set(),
10877
+ null,
10878
+ null
10879
+ );
10747
10880
  resumedBoundary.parentFlushed = !0;
10748
10881
  resumedBoundary.rootSegmentID = node;
10749
10882
  resumedBoundary.status = 4;
@@ -10953,6 +11086,7 @@
10953
11086
  }
10954
11087
  function completeShell(request) {
10955
11088
  null === request.trackedPostpones && safelyEmitEarlyPreloads(request, !0);
11089
+ null === request.trackedPostpones && preparePreamble(request);
10956
11090
  request.onShellError = noop;
10957
11091
  request = request.onShellReady;
10958
11092
  request();
@@ -10965,6 +11099,7 @@
10965
11099
  : null === request.completedRootSegment ||
10966
11100
  5 !== request.completedRootSegment.status
10967
11101
  );
11102
+ preparePreamble(request);
10968
11103
  request = request.onAllReady;
10969
11104
  request();
10970
11105
  }
@@ -11009,7 +11144,11 @@
11009
11144
  abortTaskSoft,
11010
11145
  request
11011
11146
  ),
11012
- boundary.fallbackAbortableTasks.clear()))
11147
+ boundary.fallbackAbortableTasks.clear(),
11148
+ 0 === request.pendingRootTasks &&
11149
+ null === request.trackedPostpones &&
11150
+ null !== boundary.contentPreamble &&
11151
+ preparePreamble(request)))
11013
11152
  : null !== segment &&
11014
11153
  segment.parentFlushed &&
11015
11154
  1 === segment.status &&
@@ -11256,7 +11395,11 @@
11256
11395
  ),
11257
11396
  untrackBoundary(request, boundary),
11258
11397
  boundary.parentFlushed &&
11259
- request.clientRenderedBoundaries.push(boundary)));
11398
+ request.clientRenderedBoundaries.push(boundary),
11399
+ 0 === request.pendingRootTasks &&
11400
+ null === request.trackedPostpones &&
11401
+ null !== boundary.contentPreamble &&
11402
+ preparePreamble(request)));
11260
11403
  request.allPendingTasks--;
11261
11404
  0 === request.allPendingTasks && completeAll(request);
11262
11405
  }
@@ -11285,6 +11428,85 @@
11285
11428
  }
11286
11429
  }
11287
11430
  }
11431
+ function preparePreambleFromSubtree(
11432
+ request,
11433
+ segment,
11434
+ collectedPreambleSegments
11435
+ ) {
11436
+ segment.preambleChildren.length &&
11437
+ collectedPreambleSegments.push(segment.preambleChildren);
11438
+ for (var pendingPreambles = !1, i = 0; i < segment.children.length; i++)
11439
+ pendingPreambles =
11440
+ preparePreambleFromSegment(
11441
+ request,
11442
+ segment.children[i],
11443
+ collectedPreambleSegments
11444
+ ) || pendingPreambles;
11445
+ return pendingPreambles;
11446
+ }
11447
+ function preparePreambleFromSegment(
11448
+ request,
11449
+ segment,
11450
+ collectedPreambleSegments
11451
+ ) {
11452
+ var boundary = segment.boundary;
11453
+ if (null === boundary)
11454
+ return preparePreambleFromSubtree(
11455
+ request,
11456
+ segment,
11457
+ collectedPreambleSegments
11458
+ );
11459
+ var preamble = boundary.contentPreamble,
11460
+ fallbackPreamble = boundary.fallbackPreamble;
11461
+ if (null === preamble || null === fallbackPreamble) return !1;
11462
+ switch (boundary.status) {
11463
+ case 1:
11464
+ hoistPreambleState(request.renderState, preamble);
11465
+ segment = boundary.completedSegments[0];
11466
+ if (!segment)
11467
+ throw Error(
11468
+ "A previously unvisited boundary must have exactly one root segment. This is a bug in React."
11469
+ );
11470
+ return preparePreambleFromSubtree(
11471
+ request,
11472
+ segment,
11473
+ collectedPreambleSegments
11474
+ );
11475
+ case 5:
11476
+ if (null !== request.trackedPostpones) return !0;
11477
+ case 4:
11478
+ if (1 === segment.status)
11479
+ return (
11480
+ hoistPreambleState(request.renderState, fallbackPreamble),
11481
+ preparePreambleFromSubtree(
11482
+ request,
11483
+ segment,
11484
+ collectedPreambleSegments
11485
+ )
11486
+ );
11487
+ default:
11488
+ return !0;
11489
+ }
11490
+ }
11491
+ function preparePreamble(request) {
11492
+ if (
11493
+ request.completedRootSegment &&
11494
+ null === request.completedPreambleSegments
11495
+ ) {
11496
+ var collectedPreambleSegments = [],
11497
+ hasPendingPreambles = preparePreambleFromSegment(
11498
+ request,
11499
+ request.completedRootSegment,
11500
+ collectedPreambleSegments
11501
+ ),
11502
+ preamble = request.renderState.preamble;
11503
+ if (
11504
+ !1 === hasPendingPreambles ||
11505
+ (preamble.headChunks && preamble.bodyChunks)
11506
+ )
11507
+ request.completedPreambleSegments = collectedPreambleSegments;
11508
+ }
11509
+ }
11288
11510
  function flushSubtree(request, destination, segment, hoistableState) {
11289
11511
  segment.parentFlushed = !0;
11290
11512
  switch (segment.status) {
@@ -11514,6 +11736,8 @@
11514
11736
  completedRootSegment = request.completedRootSegment;
11515
11737
  if (null !== completedRootSegment) {
11516
11738
  if (5 === completedRootSegment.status) return;
11739
+ var completedPreambleSegments = request.completedPreambleSegments;
11740
+ if (null === completedPreambleSegments) return;
11517
11741
  var renderState = request.renderState;
11518
11742
  if (
11519
11743
  (0 !== request.allPendingTasks ||
@@ -11528,8 +11752,9 @@
11528
11752
  ((resumableState.scriptResources[src] = null),
11529
11753
  renderState.scripts.add(chunks));
11530
11754
  }
11531
- var htmlChunks = renderState.htmlChunks,
11532
- headChunks = renderState.headChunks,
11755
+ var preamble = renderState.preamble,
11756
+ htmlChunks = preamble.htmlChunks,
11757
+ headChunks = preamble.headChunks,
11533
11758
  i$jscomp$0;
11534
11759
  if (htmlChunks) {
11535
11760
  for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++)
@@ -11592,11 +11817,38 @@
11592
11817
  i$jscomp$0++
11593
11818
  )
11594
11819
  destination.push(hoistableChunks[i$jscomp$0]);
11595
- hoistableChunks.length = 0;
11596
- if (htmlChunks && null === headChunks) {
11820
+ for (
11821
+ renderState = hoistableChunks.length = 0;
11822
+ renderState < completedPreambleSegments.length;
11823
+ renderState++
11824
+ ) {
11825
+ var segments = completedPreambleSegments[renderState];
11826
+ for (
11827
+ _renderState$external = 0;
11828
+ _renderState$external < segments.length;
11829
+ _renderState$external++
11830
+ )
11831
+ flushSegment(
11832
+ request,
11833
+ destination,
11834
+ segments[_renderState$external],
11835
+ null
11836
+ );
11837
+ }
11838
+ var preamble$jscomp$0 = request.renderState.preamble,
11839
+ headChunks$jscomp$0 = preamble$jscomp$0.headChunks;
11840
+ if (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) {
11597
11841
  var chunk$jscomp$0 = endChunkForTag("head");
11598
11842
  destination.push(chunk$jscomp$0);
11599
11843
  }
11844
+ var bodyChunks = preamble$jscomp$0.bodyChunks;
11845
+ if (bodyChunks)
11846
+ for (
11847
+ completedPreambleSegments = 0;
11848
+ completedPreambleSegments < bodyChunks.length;
11849
+ completedPreambleSegments++
11850
+ )
11851
+ destination.push(bodyChunks[completedPreambleSegments]);
11600
11852
  flushSegment(request, destination, completedRootSegment, null);
11601
11853
  request.completedRootSegment = null;
11602
11854
  writeBootstrap(destination, request.renderState);
@@ -11888,6 +12140,7 @@
11888
12140
  A: null,
11889
12141
  T: null,
11890
12142
  S: null,
12143
+ V: null,
11891
12144
  actQueue: null,
11892
12145
  isBatchingLegacy: !1,
11893
12146
  didScheduleLegacyUpdate: !1,
@@ -13354,5 +13607,5 @@
13354
13607
  });
13355
13608
  });
13356
13609
  };
13357
- exports.version = "19.1.0-experimental-d46b04a2-20250117";
13610
+ exports.version = "19.1.0-experimental-9b62ee71-20250122";
13358
13611
  })();