@beyondwork/docx-react-component 1.0.128 → 1.0.130

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.
Files changed (108) hide show
  1. package/dist/api/public-types.cjs +809 -78
  2. package/dist/api/public-types.d.cts +2 -2
  3. package/dist/api/public-types.d.ts +2 -2
  4. package/dist/api/public-types.js +4 -4
  5. package/dist/api/v3.cjs +2059 -402
  6. package/dist/api/v3.d.cts +3 -3
  7. package/dist/api/v3.d.ts +3 -3
  8. package/dist/api/v3.js +13 -13
  9. package/dist/{canonical-document-CXCFCbAz.d.cts → canonical-document-BMtONpgf.d.cts} +6 -0
  10. package/dist/{canonical-document-CXCFCbAz.d.ts → canonical-document-BMtONpgf.d.ts} +6 -0
  11. package/dist/{chunk-MWSBGJQO.js → chunk-35RHOE6I.js} +105 -4
  12. package/dist/{chunk-2QL5DAKF.js → chunk-3YCQM2RV.js} +6 -6
  13. package/dist/{chunk-ESJ2MES5.js → chunk-4YCWECLZ.js} +1 -1
  14. package/dist/{chunk-4EENH4FG.js → chunk-6TBLDBCL.js} +1 -1
  15. package/dist/{chunk-XRACP43Q.js → chunk-7G5GR3VV.js} +469 -32
  16. package/dist/{chunk-CXSYRB37.js → chunk-A3GSNB4G.js} +183 -55
  17. package/dist/{chunk-5DGKFNQT.js → chunk-A66ZVUAT.js} +150 -1
  18. package/dist/{chunk-YIYM4ZAP.js → chunk-CI2TD3T4.js} +1 -1
  19. package/dist/{chunk-TQDQU2E3.js → chunk-DGA7M77X.js} +2 -2
  20. package/dist/{chunk-EB6M3GE6.js → chunk-FM4K4XFJ.js} +100 -97
  21. package/dist/{chunk-D5HYZQTG.js → chunk-HYHCRMR7.js} +1 -1
  22. package/dist/{chunk-6F5QW44A.js → chunk-KNHMXKC6.js} +2 -2
  23. package/dist/{chunk-4YJVRIUB.js → chunk-M7YRJX6V.js} +61 -29
  24. package/dist/{chunk-KFCQYZXR.js → chunk-OVLZQ6FZ.js} +61 -0
  25. package/dist/{chunk-BYSRJ4FE.js → chunk-PHMWH23E.js} +1 -1
  26. package/dist/{chunk-ZDOAUP3V.js → chunk-Q7Y57KOK.js} +2 -2
  27. package/dist/{chunk-LZVBNDGU.js → chunk-QXKQPUOM.js} +3 -3
  28. package/dist/{chunk-CX42VC67.js → chunk-SYQWQ6FE.js} +1 -1
  29. package/dist/{chunk-KV435YXO.js → chunk-T5YYFDZB.js} +1 -1
  30. package/dist/{chunk-YHZHPXDB.js → chunk-THVM6EP5.js} +419 -24
  31. package/dist/{chunk-V6XVZFFH.js → chunk-VRKK2CSZ.js} +111 -90
  32. package/dist/{chunk-OL2UEHRP.js → chunk-WUDSNHWF.js} +1 -1
  33. package/dist/{chunk-LCYYR57Q.js → chunk-WZDKNF37.js} +666 -107
  34. package/dist/{chunk-6EROGFUF.js → chunk-YLL7MF5C.js} +444 -131
  35. package/dist/{chunk-YD2JE54B.js → chunk-ZVC23LKV.js} +1 -1
  36. package/dist/compare.cjs +100 -97
  37. package/dist/compare.d.cts +1 -1
  38. package/dist/compare.d.ts +1 -1
  39. package/dist/compare.js +3 -3
  40. package/dist/core/commands/formatting-commands.d.cts +2 -2
  41. package/dist/core/commands/formatting-commands.d.ts +2 -2
  42. package/dist/core/commands/image-commands.cjs +182 -54
  43. package/dist/core/commands/image-commands.d.cts +2 -2
  44. package/dist/core/commands/image-commands.d.ts +2 -2
  45. package/dist/core/commands/image-commands.js +5 -5
  46. package/dist/core/commands/section-layout-commands.d.cts +2 -2
  47. package/dist/core/commands/section-layout-commands.d.ts +2 -2
  48. package/dist/core/commands/style-commands.d.cts +2 -2
  49. package/dist/core/commands/style-commands.d.ts +2 -2
  50. package/dist/core/commands/table-structure-commands.cjs +182 -54
  51. package/dist/core/commands/table-structure-commands.d.cts +2 -2
  52. package/dist/core/commands/table-structure-commands.d.ts +2 -2
  53. package/dist/core/commands/table-structure-commands.js +4 -4
  54. package/dist/core/commands/text-commands.cjs +182 -54
  55. package/dist/core/commands/text-commands.d.cts +2 -2
  56. package/dist/core/commands/text-commands.d.ts +2 -2
  57. package/dist/core/commands/text-commands.js +5 -5
  58. package/dist/core/selection/mapping.d.cts +2 -2
  59. package/dist/core/selection/mapping.d.ts +2 -2
  60. package/dist/core/state/editor-state.d.cts +2 -2
  61. package/dist/core/state/editor-state.d.ts +2 -2
  62. package/dist/index.cjs +2765 -557
  63. package/dist/index.d.cts +5 -5
  64. package/dist/index.d.ts +5 -5
  65. package/dist/index.js +52 -28
  66. package/dist/io/docx-session.cjs +267 -211
  67. package/dist/io/docx-session.d.cts +4 -4
  68. package/dist/io/docx-session.d.ts +4 -4
  69. package/dist/io/docx-session.js +6 -6
  70. package/dist/legal.cjs +9 -20
  71. package/dist/legal.d.cts +1 -1
  72. package/dist/legal.d.ts +1 -1
  73. package/dist/legal.js +3 -3
  74. package/dist/{loader-19ct2Be0.d.ts → loader-B-aL5HGD.d.ts} +3 -3
  75. package/dist/{loader-CoXQ2wGd.d.cts → loader-DiY_ZgKl.d.cts} +3 -3
  76. package/dist/{measurement-backend-canvas-Q3MJMEYX.js → measurement-backend-canvas-F7ZYDACK.js} +1 -1
  77. package/dist/{public-types-B-CskQen.d.cts → public-types-DyqnxxO9.d.ts} +252 -2
  78. package/dist/{public-types-7KZsNGE2.d.ts → public-types-gvubspUI.d.cts} +252 -2
  79. package/dist/public-types.cjs +809 -78
  80. package/dist/public-types.d.cts +2 -2
  81. package/dist/public-types.d.ts +2 -2
  82. package/dist/public-types.js +4 -4
  83. package/dist/runtime/collab.d.cts +3 -3
  84. package/dist/runtime/collab.d.ts +3 -3
  85. package/dist/runtime/document-runtime.cjs +1887 -313
  86. package/dist/runtime/document-runtime.d.cts +2 -2
  87. package/dist/runtime/document-runtime.d.ts +2 -2
  88. package/dist/runtime/document-runtime.js +17 -17
  89. package/dist/{session-B5015J4v.d.cts → session-BUN6B-Vj.d.cts} +3 -3
  90. package/dist/{session-C2i8-d6v.d.ts → session-CDB0hohT.d.ts} +3 -3
  91. package/dist/session.cjs +267 -211
  92. package/dist/session.d.cts +5 -5
  93. package/dist/session.d.ts +5 -5
  94. package/dist/session.js +7 -7
  95. package/dist/tailwind.cjs +809 -78
  96. package/dist/tailwind.d.cts +2 -2
  97. package/dist/tailwind.d.ts +2 -2
  98. package/dist/tailwind.js +8 -8
  99. package/dist/{types-DNhN0WeN.d.cts → types-C4bz3kDU.d.cts} +2 -2
  100. package/dist/{types-yvrQuGX9.d.ts → types-VWH6CRvG.d.ts} +2 -2
  101. package/dist/ui-tailwind/editor-surface/search-plugin.d.cts +3 -3
  102. package/dist/ui-tailwind/editor-surface/search-plugin.d.ts +3 -3
  103. package/dist/ui-tailwind/editor-surface/search-plugin.js +5 -5
  104. package/dist/ui-tailwind.cjs +809 -78
  105. package/dist/ui-tailwind.d.cts +3 -3
  106. package/dist/ui-tailwind.d.ts +3 -3
  107. package/dist/ui-tailwind.js +8 -8
  108. package/package.json +1 -1
@@ -3865,12 +3865,13 @@ function getLevelStartAt(level, levelDefinitions) {
3865
3865
  return levelDefinitions.get(level)?.startAt ?? DEFAULT_NUMBERING_START_AT;
3866
3866
  }
3867
3867
  function getNumberingFormatPosture(format, value) {
3868
- if (!isSupportedNumberingFormat(format)) {
3868
+ const registryEntry = getNumberingFormatRegistryEntry(format);
3869
+ if (!registryEntry || registryEntry.renderSupport === "approximated") {
3869
3870
  return {
3870
3871
  status: "approximated",
3871
3872
  requestedFormat: format,
3872
3873
  renderedFormat: "decimal",
3873
- reason: "unsupported-numbering-format-decimal-fallback"
3874
+ reason: registryEntry?.fallbackReason ?? "unsupported-numbering-format-decimal-fallback"
3874
3875
  };
3875
3876
  }
3876
3877
  if (value !== void 0 && ((format === "upperRoman" || format === "lowerRoman") && (value <= 0 || value >= 4e3) || (format === "cardinalText" || format === "ordinalText") && (!Number.isInteger(value) || value < 1 || value > 999) || (format === "upperLetter" || format === "lowerLetter" || format === "chicago") && value < 1)) {
@@ -3901,56 +3902,148 @@ function renderLevelText(text, counters, levelDefinitions) {
3901
3902
  });
3902
3903
  return rendered.trim().length > 0 ? rendered : null;
3903
3904
  }
3904
- var SUPPORTED_NUMBERING_FORMATS = /* @__PURE__ */ new Set([
3905
- "decimal",
3906
- "decimalZero",
3907
- "upperLetter",
3908
- "lowerLetter",
3909
- "upperRoman",
3910
- "lowerRoman",
3911
- "hex",
3912
- "ordinal",
3913
- "cardinalText",
3914
- "ordinalText",
3915
- "chicago",
3916
- "bullet",
3917
- "none"
3918
- ]);
3919
3905
  function isSupportedNumberingFormat(format) {
3920
- return SUPPORTED_NUMBERING_FORMATS.has(format);
3906
+ return getNumberingFormatRegistryEntry(format)?.renderSupport === "supported";
3907
+ }
3908
+ function getNumberingFormatRegistryEntry(format) {
3909
+ return NUMBERING_FORMAT_REGISTRY.get(format);
3921
3910
  }
3922
3911
  function formatCounter(value, format) {
3923
- switch (format) {
3924
- case "decimal":
3925
- return String(value);
3926
- case "decimalZero":
3927
- return String(value).padStart(2, "0");
3928
- case "upperLetter":
3929
- return toAlphabetic2(value).toUpperCase();
3930
- case "lowerLetter":
3931
- return toAlphabetic2(value).toLowerCase();
3932
- case "upperRoman":
3933
- return toRoman2(value).toUpperCase();
3934
- case "lowerRoman":
3935
- return toRoman2(value).toLowerCase();
3936
- case "hex":
3937
- return value >= 0 ? value.toString(16).toUpperCase() : String(value);
3938
- case "ordinal":
3939
- return toOrdinal2(value);
3940
- case "cardinalText":
3941
- return toCardinalText2(value);
3942
- case "ordinalText":
3943
- return toOrdinalText2(value);
3944
- case "chicago":
3945
- return toChicago2(value);
3946
- case "bullet":
3947
- return "";
3948
- case "none":
3949
- return "";
3950
- default:
3951
- return String(value);
3912
+ return getNumberingFormatRegistryEntry(format)?.render(value) ?? String(value);
3913
+ }
3914
+ var exactNumberingFormatEntries = [
3915
+ {
3916
+ format: "decimal",
3917
+ renderSupport: "supported",
3918
+ renderedFormat: "decimal",
3919
+ supportsMutation: true,
3920
+ render: (value) => String(value)
3921
+ },
3922
+ {
3923
+ format: "decimalZero",
3924
+ renderSupport: "supported",
3925
+ renderedFormat: "decimalZero",
3926
+ supportsMutation: true,
3927
+ render: (value) => String(value).padStart(2, "0")
3928
+ },
3929
+ {
3930
+ format: "upperLetter",
3931
+ renderSupport: "supported",
3932
+ renderedFormat: "upperLetter",
3933
+ supportsMutation: true,
3934
+ render: (value) => toAlphabetic2(value).toUpperCase()
3935
+ },
3936
+ {
3937
+ format: "lowerLetter",
3938
+ renderSupport: "supported",
3939
+ renderedFormat: "lowerLetter",
3940
+ supportsMutation: true,
3941
+ render: (value) => toAlphabetic2(value).toLowerCase()
3942
+ },
3943
+ {
3944
+ format: "upperRoman",
3945
+ renderSupport: "supported",
3946
+ renderedFormat: "upperRoman",
3947
+ supportsMutation: true,
3948
+ render: (value) => toRoman2(value).toUpperCase()
3949
+ },
3950
+ {
3951
+ format: "lowerRoman",
3952
+ renderSupport: "supported",
3953
+ renderedFormat: "lowerRoman",
3954
+ supportsMutation: true,
3955
+ render: (value) => toRoman2(value).toLowerCase()
3956
+ },
3957
+ {
3958
+ format: "hex",
3959
+ renderSupport: "supported",
3960
+ renderedFormat: "hex",
3961
+ supportsMutation: true,
3962
+ render: (value) => value >= 0 ? value.toString(16).toUpperCase() : String(value)
3963
+ },
3964
+ {
3965
+ format: "ordinal",
3966
+ renderSupport: "supported",
3967
+ renderedFormat: "ordinal",
3968
+ supportsMutation: true,
3969
+ render: toOrdinal2
3970
+ },
3971
+ {
3972
+ format: "cardinalText",
3973
+ renderSupport: "supported",
3974
+ renderedFormat: "cardinalText",
3975
+ supportsMutation: true,
3976
+ render: toCardinalText2
3977
+ },
3978
+ {
3979
+ format: "ordinalText",
3980
+ renderSupport: "supported",
3981
+ renderedFormat: "ordinalText",
3982
+ supportsMutation: true,
3983
+ render: toOrdinalText2
3984
+ },
3985
+ {
3986
+ format: "chicago",
3987
+ renderSupport: "supported",
3988
+ renderedFormat: "chicago",
3989
+ supportsMutation: true,
3990
+ render: toChicago2
3991
+ },
3992
+ {
3993
+ format: "bullet",
3994
+ renderSupport: "supported",
3995
+ renderedFormat: "bullet",
3996
+ supportsMutation: true,
3997
+ render: () => ""
3998
+ },
3999
+ {
4000
+ format: "none",
4001
+ renderSupport: "supported",
4002
+ renderedFormat: "none",
4003
+ supportsMutation: true,
4004
+ render: () => ""
3952
4005
  }
3953
- }
4006
+ ];
4007
+ var approximatedDecimalFormats = [
4008
+ "decimalEnclosedCircle",
4009
+ "decimalEnclosedFullstop",
4010
+ "decimalEnclosedParen",
4011
+ "decimalFullWidth",
4012
+ "decimalHalfWidth",
4013
+ "aiueo",
4014
+ "iroha",
4015
+ "ganada",
4016
+ "chosung",
4017
+ "russianLower",
4018
+ "russianUpper",
4019
+ "hebrew1",
4020
+ "hebrew2",
4021
+ "arabicAlpha",
4022
+ "arabicAbjad",
4023
+ "thaiLetters",
4024
+ "thaiNumbers",
4025
+ "hindiLetters",
4026
+ "hindiNumbers",
4027
+ "ideographDigital",
4028
+ "ideographTraditional",
4029
+ "chineseCounting",
4030
+ "japaneseCounting",
4031
+ "japaneseLegal"
4032
+ ];
4033
+ var approximatedNumberingFormatEntries = approximatedDecimalFormats.map((format) => ({
4034
+ format,
4035
+ renderSupport: "approximated",
4036
+ renderedFormat: "decimal",
4037
+ supportsMutation: false,
4038
+ fallbackReason: "unsupported-numbering-format-decimal-fallback",
4039
+ render: (value) => String(value)
4040
+ }));
4041
+ var NUMBERING_FORMAT_REGISTRY = new Map(
4042
+ [...exactNumberingFormatEntries, ...approximatedNumberingFormatEntries].map((entry) => [
4043
+ entry.format,
4044
+ entry
4045
+ ])
4046
+ );
3954
4047
  function toOrdinal2(value) {
3955
4048
  if (value <= 0) return String(value);
3956
4049
  const lastTwo = value % 100;
@@ -4604,12 +4697,36 @@ var DEFAULT_HYPERLINK_COLOR_HEX = "0563C1";
4604
4697
  function resolveHyperlinkRunFormatting(input, catalog, resolver) {
4605
4698
  const augmentedInput = input.characterStyleId === void 0 ? { ...input, characterStyleId: HYPERLINK_CHARACTER_STYLE_ID } : input;
4606
4699
  const cascade = resolveEffectiveRunFormatting(augmentedInput, catalog);
4607
- const resolvedColor = resolveHyperlinkColorHex(cascade, resolver);
4700
+ const resolvedColor = resolveHyperlinkColorHex(
4701
+ stripInheritedColorHexForImplicitHyperlink(input, catalog, cascade),
4702
+ resolver
4703
+ );
4608
4704
  if (resolvedColor && resolvedColor !== cascade.colorHex) {
4609
4705
  return { ...cascade, colorHex: resolvedColor };
4610
4706
  }
4611
4707
  return cascade;
4612
4708
  }
4709
+ function hasDirectNonAutoColor(input) {
4710
+ return Boolean(input.direct?.colorHex && input.direct.colorHex !== "auto");
4711
+ }
4712
+ function characterStyleDeclaresColorHex(styleId, catalog) {
4713
+ if (!catalog) return false;
4714
+ const chain = resolveCharacterStyleChain(styleId, catalog);
4715
+ return chain.some((chainStyleId) => {
4716
+ const colorHex = catalog.characters[chainStyleId]?.runProperties?.colorHex;
4717
+ return Boolean(colorHex && colorHex !== "auto");
4718
+ });
4719
+ }
4720
+ function stripInheritedColorHexForImplicitHyperlink(originalInput, catalog, cascade) {
4721
+ if (originalInput.characterStyleId !== void 0 || hasDirectNonAutoColor(originalInput) || !cascade.colorHex || cascade.colorHex === "auto" || characterStyleDeclaresColorHex(HYPERLINK_CHARACTER_STYLE_ID, catalog)) {
4722
+ return cascade;
4723
+ }
4724
+ const inheritedCascade = resolveEffectiveRunFormatting(originalInput, catalog);
4725
+ if (inheritedCascade.colorHex !== cascade.colorHex) {
4726
+ return cascade;
4727
+ }
4728
+ return { ...cascade, colorHex: void 0 };
4729
+ }
4613
4730
  function resolveHyperlinkColorHex(cascade, resolver) {
4614
4731
  if (cascade.colorHex && cascade.colorHex !== "auto") {
4615
4732
  return cascade.colorHex;
@@ -5368,6 +5485,7 @@ function createEditorSurfaceSnapshot(document, _selection, activeStory = { kind:
5368
5485
  ...options.authorColorPalette ? { authorColorPalette: options.authorColorPalette } : {}
5369
5486
  });
5370
5487
  const editableTargetsByBlockPath = options.editableTargetsByBlockPath ?? indexEditableTargetsByBlockPath(document);
5488
+ const layoutIdentitiesByBlockPath = options.layoutIdentitiesByBlockPath;
5371
5489
  const activeStoryBlockPathBase = getActiveStoryBlockPathBase(document, activeStory);
5372
5490
  chartModelStore.beginBuildPass(document);
5373
5491
  const unsupportedNumberingFormatsSeen = options.emitFormattingTelemetry ? /* @__PURE__ */ new Set() : null;
@@ -5391,6 +5509,7 @@ function createEditorSurfaceSnapshot(document, _selection, activeStory = { kind:
5391
5509
  activeStory.kind !== "main",
5392
5510
  !isInViewport,
5393
5511
  editableTargetsByBlockPath,
5512
+ layoutIdentitiesByBlockPath,
5394
5513
  `${activeStoryBlockPathBase}/block[${index}]`
5395
5514
  );
5396
5515
  if (isInViewport) {
@@ -5457,7 +5576,7 @@ function isIndexInAnyRange(index, ranges) {
5457
5576
  }
5458
5577
  return false;
5459
5578
  }
5460
- function createSurfaceBlock(block, document, cursor, counters, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, blockPath) {
5579
+ function createSurfaceBlock(block, document, cursor, counters, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, layoutIdentitiesByBlockPath, blockPath) {
5461
5580
  if (block.type === "opaque_block") {
5462
5581
  const fragment = getOpaqueFragment(document.preservation, block.fragmentId);
5463
5582
  const descriptor = fragment ? describeOpaqueFragment(fragment) : null;
@@ -5494,6 +5613,7 @@ function createSurfaceBlock(block, document, cursor, counters, formattingContext
5494
5613
  promoteSecondaryStoryTextBoxes,
5495
5614
  cullBuild,
5496
5615
  editableTargetsByBlockPath,
5616
+ layoutIdentitiesByBlockPath,
5497
5617
  blockPath
5498
5618
  );
5499
5619
  }
@@ -5534,6 +5654,7 @@ function createSurfaceBlock(block, document, cursor, counters, formattingContext
5534
5654
  promoteSecondaryStoryTextBoxes,
5535
5655
  cullBuild,
5536
5656
  editableTargetsByBlockPath,
5657
+ layoutIdentitiesByBlockPath,
5537
5658
  blockPath
5538
5659
  );
5539
5660
  }
@@ -5616,10 +5737,11 @@ function createSurfaceBlock(block, document, cursor, counters, formattingContext
5616
5737
  cullBuild,
5617
5738
  editableTargetsByBlockPath,
5618
5739
  blockPath,
5619
- blockPath !== void 0 ? editableTargetsByBlockPath.get(blockPath) : void 0
5740
+ blockPath !== void 0 ? editableTargetsByBlockPath.get(blockPath) : void 0,
5741
+ blockPath !== void 0 ? layoutIdentitiesByBlockPath?.get(blockPath) : void 0
5620
5742
  );
5621
5743
  }
5622
- function createTableBlock(tableIndex, table, document, cursor, counters, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, tablePath) {
5744
+ function createTableBlock(tableIndex, table, document, cursor, counters, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, layoutIdentitiesByBlockPath, tablePath) {
5623
5745
  const lockedFragmentIds = [];
5624
5746
  let innerCursor = cursor;
5625
5747
  if (cullBuild) {
@@ -5636,6 +5758,7 @@ function createTableBlock(tableIndex, table, document, cursor, counters, formatt
5636
5758
  promoteSecondaryStoryTextBoxes,
5637
5759
  true,
5638
5760
  editableTargetsByBlockPath,
5761
+ layoutIdentitiesByBlockPath,
5639
5762
  tablePath !== void 0 ? `${tablePath}/row[${rowIndex}]/cell[${cellIndex}]/block[${childIndex}]` : void 0
5640
5763
  );
5641
5764
  lockedFragmentIds.push(...result.lockedFragmentIds);
@@ -5651,6 +5774,7 @@ function createTableBlock(tableIndex, table, document, cursor, counters, formatt
5651
5774
  to: innerCursor,
5652
5775
  styleId: table.styleId,
5653
5776
  ...table.sourceRef !== void 0 ? { sourceRef: table.sourceRef } : {},
5777
+ ...tablePath !== void 0 && layoutIdentitiesByBlockPath?.get(tablePath) !== void 0 ? { layoutIdentity: layoutIdentitiesByBlockPath.get(tablePath) } : {},
5654
5778
  gridColumns: table.gridColumns,
5655
5779
  rows: []
5656
5780
  },
@@ -5688,6 +5812,7 @@ function createTableBlock(tableIndex, table, document, cursor, counters, formatt
5688
5812
  promoteSecondaryStoryTextBoxes,
5689
5813
  cullBuild,
5690
5814
  editableTargetsByBlockPath,
5815
+ layoutIdentitiesByBlockPath,
5691
5816
  tablePath !== void 0 ? `${tablePath}/row[${rowIndex}]/cell[${cellIndex}]/block[${childIndex}]` : void 0
5692
5817
  );
5693
5818
  cellContent.push(result.block);
@@ -5776,6 +5901,7 @@ function createTableBlock(tableIndex, table, document, cursor, counters, formatt
5776
5901
  to: innerCursor,
5777
5902
  styleId: table.styleId,
5778
5903
  ...table.sourceRef !== void 0 ? { sourceRef: table.sourceRef } : {},
5904
+ ...tablePath !== void 0 && layoutIdentitiesByBlockPath?.get(tablePath) !== void 0 ? { layoutIdentity: layoutIdentitiesByBlockPath.get(tablePath) } : {},
5779
5905
  gridColumns: table.gridColumns,
5780
5906
  ...gridColumnsRelative ? { gridColumnsRelative } : {},
5781
5907
  ...resolvedTable.table?.alignment ? { alignment: resolvedTable.table.alignment } : {},
@@ -5963,7 +6089,7 @@ function resolveCellBorderStyles(borders, tableBorders, position) {
5963
6089
  if (left) result.borderLeft = left;
5964
6090
  return result;
5965
6091
  }
5966
- function createSdtBlock(sdtIndex, block, document, cursor, counters, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, sdtPath) {
6092
+ function createSdtBlock(sdtIndex, block, document, cursor, counters, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, layoutIdentitiesByBlockPath, sdtPath) {
5967
6093
  const children = [];
5968
6094
  const lockedFragmentIds = [];
5969
6095
  let innerCursor = cursor;
@@ -5980,6 +6106,7 @@ function createSdtBlock(sdtIndex, block, document, cursor, counters, formattingC
5980
6106
  promoteSecondaryStoryTextBoxes,
5981
6107
  cullBuild,
5982
6108
  editableTargetsByBlockPath,
6109
+ layoutIdentitiesByBlockPath,
5983
6110
  sdtPath !== void 0 ? `${sdtPath}/block[${childIndex}]` : void 0
5984
6111
  );
5985
6112
  children.push(result.block);
@@ -6022,7 +6149,7 @@ function getRecursableSdtBlockedReasonCode(block) {
6022
6149
  ].filter(Boolean).join(" ").toLowerCase();
6023
6150
  return searchText.includes("table of contents") || /\btoc\b/u.test(searchText) ? "workflow_preserve_only" : null;
6024
6151
  }
6025
- function createParagraphBlock(paragraphIndex, paragraph, document, start, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, blockPath, editableTarget) {
6152
+ function createParagraphBlock(paragraphIndex, paragraph, document, start, formattingContext, promoteSecondaryStoryTextBoxes, cullBuild = false, editableTargetsByBlockPath = EMPTY_EDITABLE_TARGETS_BY_BLOCK_PATH, blockPath, editableTarget, layoutIdentity) {
6026
6153
  const themeResolver = formattingContext.theme;
6027
6154
  const effectiveNumbering = formattingContext.resolveEffectiveParagraphNumbering(paragraph);
6028
6155
  let resolvedNumbering = null;
@@ -6045,6 +6172,7 @@ function createParagraphBlock(paragraphIndex, paragraph, document, start, format
6045
6172
  from: start,
6046
6173
  to: start,
6047
6174
  ...editableTarget !== void 0 ? { editableTarget } : {},
6175
+ ...layoutIdentity !== void 0 ? { layoutIdentity } : {},
6048
6176
  ...paragraph.styleId ? { styleId: paragraph.styleId } : {},
6049
6177
  ...effectiveNumbering ? { numbering: effectiveNumbering } : {},
6050
6178
  ...resolvedNumbering ? {
@@ -1,8 +1,8 @@
1
- import { C as CanonicalDocumentEnvelope, S as SelectionSnapshot, g as TransactionMapping } from '../../public-types-B-CskQen.cjs';
1
+ import { C as CanonicalDocumentEnvelope, S as SelectionSnapshot, g as TransactionMapping } from '../../public-types-gvubspUI.cjs';
2
2
  import 'react';
3
3
  import 'yjs';
4
4
  import 'y-protocols/awareness';
5
- import '../../canonical-document-CXCFCbAz.cjs';
5
+ import '../../canonical-document-BMtONpgf.cjs';
6
6
  import 'prosemirror-state';
7
7
  import 'prosemirror-model';
8
8
 
@@ -1,8 +1,8 @@
1
- import { C as CanonicalDocumentEnvelope, S as SelectionSnapshot, g as TransactionMapping } from '../../public-types-7KZsNGE2.js';
1
+ import { C as CanonicalDocumentEnvelope, S as SelectionSnapshot, g as TransactionMapping } from '../../public-types-DyqnxxO9.js';
2
2
  import 'react';
3
3
  import 'yjs';
4
4
  import 'y-protocols/awareness';
5
- import '../../canonical-document-CXCFCbAz.js';
5
+ import '../../canonical-document-BMtONpgf.js';
6
6
  import 'prosemirror-state';
7
7
  import 'prosemirror-model';
8
8
 
@@ -2,13 +2,13 @@ import {
2
2
  insertImage,
3
3
  repositionFloatingImage,
4
4
  resizeImage
5
- } from "../../chunk-6F5QW44A.js";
6
- import "../../chunk-KV435YXO.js";
7
- import "../../chunk-BYSRJ4FE.js";
5
+ } from "../../chunk-KNHMXKC6.js";
6
+ import "../../chunk-T5YYFDZB.js";
7
+ import "../../chunk-PHMWH23E.js";
8
8
  import "../../chunk-QIO6V46H.js";
9
- import "../../chunk-CXSYRB37.js";
9
+ import "../../chunk-A3GSNB4G.js";
10
10
  import "../../chunk-OYGMRRR7.js";
11
- import "../../chunk-5DGKFNQT.js";
11
+ import "../../chunk-A66ZVUAT.js";
12
12
  import "../../chunk-UFVDIR2C.js";
13
13
  import "../../chunk-PGGPPZ65.js";
14
14
  import "../../chunk-DNXYUIIS.js";
@@ -1,5 +1,5 @@
1
- import { h as SelectionSnapshot, M as MarginPresetDefinition, i as PageFormatDefinition, R as RuntimeRenderSnapshot } from '../../public-types-B-CskQen.cjs';
2
- import { C as CanonicalDocument, P as PageSize, a as PageMargins, b as ColumnProperties, c as PageNumbering } from '../../canonical-document-CXCFCbAz.cjs';
1
+ import { h as SelectionSnapshot, M as MarginPresetDefinition, i as PageFormatDefinition, R as RuntimeRenderSnapshot } from '../../public-types-gvubspUI.cjs';
2
+ import { C as CanonicalDocument, P as PageSize, a as PageMargins, b as ColumnProperties, c as PageNumbering } from '../../canonical-document-BMtONpgf.cjs';
3
3
  import 'react';
4
4
  import 'yjs';
5
5
  import 'y-protocols/awareness';
@@ -1,5 +1,5 @@
1
- import { h as SelectionSnapshot, M as MarginPresetDefinition, i as PageFormatDefinition, R as RuntimeRenderSnapshot } from '../../public-types-7KZsNGE2.js';
2
- import { C as CanonicalDocument, P as PageSize, a as PageMargins, b as ColumnProperties, c as PageNumbering } from '../../canonical-document-CXCFCbAz.js';
1
+ import { h as SelectionSnapshot, M as MarginPresetDefinition, i as PageFormatDefinition, R as RuntimeRenderSnapshot } from '../../public-types-DyqnxxO9.js';
2
+ import { C as CanonicalDocument, P as PageSize, a as PageMargins, b as ColumnProperties, c as PageNumbering } from '../../canonical-document-BMtONpgf.js';
3
3
  import 'react';
4
4
  import 'yjs';
5
5
  import 'y-protocols/awareness';
@@ -1,8 +1,8 @@
1
- import { P as PersistedEditorSnapshot, R as RuntimeRenderSnapshot } from '../../public-types-B-CskQen.cjs';
1
+ import { P as PersistedEditorSnapshot, R as RuntimeRenderSnapshot } from '../../public-types-gvubspUI.cjs';
2
2
  import 'react';
3
3
  import 'yjs';
4
4
  import 'y-protocols/awareness';
5
- import '../../canonical-document-CXCFCbAz.cjs';
5
+ import '../../canonical-document-BMtONpgf.cjs';
6
6
  import 'prosemirror-state';
7
7
  import 'prosemirror-model';
8
8
 
@@ -1,8 +1,8 @@
1
- import { P as PersistedEditorSnapshot, R as RuntimeRenderSnapshot } from '../../public-types-7KZsNGE2.js';
1
+ import { P as PersistedEditorSnapshot, R as RuntimeRenderSnapshot } from '../../public-types-DyqnxxO9.js';
2
2
  import 'react';
3
3
  import 'yjs';
4
4
  import 'y-protocols/awareness';
5
- import '../../canonical-document-CXCFCbAz.js';
5
+ import '../../canonical-document-BMtONpgf.js';
6
6
  import 'prosemirror-state';
7
7
  import 'prosemirror-model';
8
8