ooxml-core 1.10.0 → 1.11.0

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 (162) hide show
  1. package/dist/PptxHandler-DNZHAHUY.cjs +12 -0
  2. package/dist/PptxHandler-E44KDHMQ.mjs +3 -0
  3. package/dist/{PptxHandler-ADEFY476.mjs → PptxHandler-NROFYT2N.mjs} +2 -2
  4. package/dist/automation/index.cjs +3293 -2867
  5. package/dist/automation/index.mjs +3293 -2867
  6. package/dist/{chunk-3N6XMMTT.cjs → chunk-2UVH6RHI.cjs} +1138 -996
  7. package/dist/{chunk-ZOUGMAZG.mjs → chunk-7DSZI7S6.mjs} +1 -1
  8. package/dist/{chunk-S6DOCMQC.cjs → chunk-7QZGRB3T.cjs} +0 -10
  9. package/dist/chunk-ANZ4Q6I3.cjs +21 -0
  10. package/dist/{chunk-5NVJN4E6.mjs → chunk-EC2W2MDY.mjs} +1 -1
  11. package/dist/chunk-EGTRL3QJ.mjs +19 -0
  12. package/dist/chunk-GXHKNSZX.mjs +9 -0
  13. package/dist/{chunk-CCHYFCPD.mjs → chunk-HCXUI5UC.mjs} +296 -103
  14. package/dist/chunk-HDQXPSHY.cjs +17 -0
  15. package/dist/chunk-KTYBFGEY.mjs +14 -0
  16. package/dist/chunk-QOO36KG4.cjs +42 -0
  17. package/dist/chunk-R2KZXD6U.mjs +39 -0
  18. package/dist/{chunk-A6P7G3UK.mjs → chunk-U2DF3EGK.mjs} +1 -1
  19. package/dist/{chunk-R6KSBNKX.mjs → chunk-UAY26XOI.mjs} +1 -9
  20. package/dist/{chunk-WUE5ZHU3.mjs → chunk-W5ARCUJB.mjs} +3 -3
  21. package/dist/chunk-XZPZHXV4.cjs +12 -0
  22. package/dist/{chunk-ZE53K7DH.mjs → chunk-YB5SRNFS.mjs} +244 -102
  23. package/dist/docx/layout/flow-table.d.ts.map +1 -1
  24. package/dist/docx/layout/index.cjs +125 -56
  25. package/dist/docx/layout/index.mjs +125 -56
  26. package/dist/docx/layout/nested-fragment-edges.d.ts +9 -0
  27. package/dist/docx/layout/nested-fragment-edges.d.ts.map +1 -0
  28. package/dist/docx/layout/result.d.ts +7 -0
  29. package/dist/docx/layout/result.d.ts.map +1 -1
  30. package/dist/docx/layout/table-border-layout.d.ts +1 -1
  31. package/dist/docx/layout/table-border-layout.d.ts.map +1 -1
  32. package/dist/docx/layout/table-cell-layout.d.ts +1 -1
  33. package/dist/docx/layout/table-cell-layout.d.ts.map +1 -1
  34. package/dist/docx/layout/table-frames.d.ts.map +1 -1
  35. package/dist/docx/layout/table-layout.d.ts +1 -1
  36. package/dist/docx/layout/table-layout.d.ts.map +1 -1
  37. package/dist/pptx/automation/index.cjs +266 -114
  38. package/dist/pptx/automation/index.d.ts +5 -4
  39. package/dist/pptx/automation/index.d.ts.map +1 -1
  40. package/dist/pptx/automation/index.mjs +5 -5
  41. package/dist/pptx/chunks/{text-operations-BqHmLaLA.d.ts → elements-DD3UGOMd.d.ts} +17 -3262
  42. package/dist/pptx/chunks/elements-DD3UGOMd.d.ts.map +1 -0
  43. package/dist/pptx/chunks/{index-DUCGeZh7.d.ts → index-BZrFyNtU.d.ts} +53 -5
  44. package/dist/pptx/chunks/index-BZrFyNtU.d.ts.map +1 -0
  45. package/dist/pptx/chunks/{index-Cuxtr76Y.d.ts → index-DdX02BSm.d.ts} +5 -3
  46. package/dist/pptx/chunks/index-DdX02BSm.d.ts.map +1 -0
  47. package/dist/pptx/chunks/smart-art-ENMMEbmW.d.ts +1512 -0
  48. package/dist/pptx/chunks/smart-art-ENMMEbmW.d.ts.map +1 -0
  49. package/dist/pptx/chunks/text-D49FKllA.d.ts +1473 -0
  50. package/dist/pptx/chunks/text-D49FKllA.d.ts.map +1 -0
  51. package/dist/pptx/chunks/text-operations-CyMTMfID.d.ts +3261 -0
  52. package/dist/pptx/chunks/text-operations-CyMTMfID.d.ts.map +1 -0
  53. package/dist/pptx/cli/index.cjs +266 -114
  54. package/dist/pptx/cli/index.d.ts +1 -1
  55. package/dist/pptx/cli/index.mjs +4 -4
  56. package/dist/pptx/converter/index.d.ts +1 -1
  57. package/dist/pptx/converter/index.mjs +2 -2
  58. package/dist/pptx/editor/render/find-replace.cjs +17 -16
  59. package/dist/pptx/editor/render/find-replace.d.ts +2 -2
  60. package/dist/pptx/editor/render/find-replace.mjs +2 -1
  61. package/dist/pptx/editor/render/font-family-update.cjs +14 -0
  62. package/dist/pptx/editor/render/font-family-update.d.ts +17 -0
  63. package/dist/pptx/editor/render/font-family-update.d.ts.map +1 -0
  64. package/dist/pptx/editor/render/font-family-update.mjs +1 -0
  65. package/dist/pptx/editor/render/paragraph-geometry-overrides.cjs +14 -0
  66. package/dist/pptx/editor/render/paragraph-geometry-overrides.d.ts +17 -0
  67. package/dist/pptx/editor/render/paragraph-geometry-overrides.d.ts.map +1 -0
  68. package/dist/pptx/editor/render/paragraph-geometry-overrides.mjs +12 -0
  69. package/dist/pptx/editor/render/slide-operations.cjs +9 -8
  70. package/dist/pptx/editor/render/slide-operations.mjs +3 -2
  71. package/dist/pptx/editor/render/table-data-grid-ops.cjs +1 -1
  72. package/dist/pptx/editor/render/table-data-grid-ops.mjs +1 -1
  73. package/dist/pptx/editor/render/text-content-style.cjs +18 -0
  74. package/dist/pptx/editor/render/text-content-style.d.ts +9 -0
  75. package/dist/pptx/editor/render/text-content-style.d.ts.map +1 -0
  76. package/dist/pptx/editor/render/text-content-style.mjs +5 -0
  77. package/dist/pptx/editor/render/text-runs-style-patch.cjs +17 -0
  78. package/dist/pptx/editor/render/text-runs-style-patch.d.ts +7 -0
  79. package/dist/pptx/editor/render/text-runs-style-patch.d.ts.map +1 -0
  80. package/dist/pptx/editor/render/text-runs-style-patch.mjs +15 -0
  81. package/dist/pptx/editor/render/text-style-scope.cjs +173 -0
  82. package/dist/pptx/editor/render/text-style-scope.d.ts +76 -0
  83. package/dist/pptx/editor/render/text-style-scope.d.ts.map +1 -0
  84. package/dist/pptx/editor/render/text-style-scope.mjs +164 -0
  85. package/dist/pptx/editor/render/theme-editor-model.cjs +1 -1
  86. package/dist/pptx/editor/render/theme-editor-model.mjs +1 -1
  87. package/dist/pptx/editor/render/update-text-segment-style.cjs +11 -0
  88. package/dist/pptx/editor/render/update-text-segment-style.d.ts +14 -0
  89. package/dist/pptx/editor/render/update-text-segment-style.d.ts.map +1 -0
  90. package/dist/pptx/editor/render/update-text-segment-style.mjs +2 -0
  91. package/dist/pptx/index.cjs +329 -114
  92. package/dist/pptx/index.d.ts +7 -5
  93. package/dist/pptx/index.mjs +5 -5
  94. package/dist/pptx/smartart-layouts/index.d.ts +1 -1
  95. package/dist/teams/index.cjs +112 -16
  96. package/dist/teams/index.mjs +112 -16
  97. package/dist/visio/edit-commands.d.ts +3 -3
  98. package/dist/visio/edit-commands.d.ts.map +1 -1
  99. package/dist/visio/edit-formatting-scope.d.ts.map +1 -1
  100. package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
  101. package/dist/visio/edit-text-field-commands.d.ts +15 -0
  102. package/dist/visio/edit-text-field-commands.d.ts.map +1 -1
  103. package/dist/visio/edit-text-field.d.ts +2 -2
  104. package/dist/visio/edit-text-field.d.ts.map +1 -1
  105. package/dist/visio/edit.d.ts +1 -1
  106. package/dist/visio/edit.d.ts.map +1 -1
  107. package/dist/visio/index.cjs +382 -210
  108. package/dist/visio/index.d.ts +1 -1
  109. package/dist/visio/index.d.ts.map +1 -1
  110. package/dist/visio/index.mjs +382 -210
  111. package/dist/visio/model.d.ts +6 -0
  112. package/dist/visio/model.d.ts.map +1 -1
  113. package/dist/visio/shapes.d.ts.map +1 -1
  114. package/dist/visio/style.d.ts +1 -1
  115. package/dist/visio/style.d.ts.map +1 -1
  116. package/dist/visio/text-field-display.d.ts +3 -0
  117. package/dist/visio/text-field-display.d.ts.map +1 -1
  118. package/dist/visio/text-field-editability.d.ts +6 -0
  119. package/dist/visio/text-field-editability.d.ts.map +1 -0
  120. package/dist/visio/text-field-independent.d.ts +4 -0
  121. package/dist/visio/text-field-independent.d.ts.map +1 -0
  122. package/dist/visio/text-field-source.d.ts +6 -0
  123. package/dist/visio/text-field-source.d.ts.map +1 -0
  124. package/dist/visio/ui/edit-commands.d.ts.map +1 -1
  125. package/dist/visio/ui/index.cjs +394 -211
  126. package/dist/visio/ui/index.mjs +394 -211
  127. package/dist/visio/ui/snapshot-scene.d.ts.map +1 -1
  128. package/dist/xlsx/edit/pivots.d.ts.map +1 -1
  129. package/dist/xlsx/index.cjs +773 -514
  130. package/dist/xlsx/index.mjs +772 -515
  131. package/dist/xlsx/load/index.cjs +541 -292
  132. package/dist/xlsx/load/index.mjs +541 -292
  133. package/dist/xlsx/model-pivots.d.ts +8 -0
  134. package/dist/xlsx/model-pivots.d.ts.map +1 -1
  135. package/dist/xlsx/pivot/admission.d.ts.map +1 -1
  136. package/dist/xlsx/pivot/aggregate.d.ts.map +1 -1
  137. package/dist/xlsx/pivot/data.d.ts +2 -2
  138. package/dist/xlsx/pivot/data.d.ts.map +1 -1
  139. package/dist/xlsx/pivot/index.d.ts +2 -0
  140. package/dist/xlsx/pivot/index.d.ts.map +1 -1
  141. package/dist/xlsx/pivot/measures.d.ts +1 -1
  142. package/dist/xlsx/pivot/measures.d.ts.map +1 -1
  143. package/dist/xlsx/pivot/page-filter-admission.d.ts +5 -0
  144. package/dist/xlsx/pivot/page-filter-admission.d.ts.map +1 -0
  145. package/dist/xlsx/pivot/page-filter.d.ts +11 -0
  146. package/dist/xlsx/pivot/page-filter.d.ts.map +1 -0
  147. package/dist/xlsx/pivot/read.d.ts.map +1 -1
  148. package/dist/xlsx/pivot/table-xml.d.ts.map +1 -1
  149. package/dist/xlsx/pivot/values-axis.d.ts +4 -1
  150. package/dist/xlsx/pivot/values-axis.d.ts.map +1 -1
  151. package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -1
  152. package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -1
  153. package/dist/xlsx/ui/index.cjs +95 -12
  154. package/dist/xlsx/ui/index.mjs +95 -12
  155. package/package.json +2 -2
  156. package/dist/PptxHandler-5UURGJEV.mjs +0 -2
  157. package/dist/PptxHandler-U5XB2HUE.cjs +0 -11
  158. package/dist/pptx/chunks/index-Cuxtr76Y.d.ts.map +0 -1
  159. package/dist/pptx/chunks/index-DUCGeZh7.d.ts.map +0 -1
  160. package/dist/pptx/chunks/smart-art-D-sXa_Nb.d.ts +0 -2980
  161. package/dist/pptx/chunks/smart-art-D-sXa_Nb.d.ts.map +0 -1
  162. package/dist/pptx/chunks/text-operations-BqHmLaLA.d.ts.map +0 -1
@@ -4895,6 +4895,74 @@ function widowControlEnabled(value) {
4895
4895
  return value !== false;
4896
4896
  }
4897
4897
 
4898
+ // docx/layout/nested-frame-profile.ts
4899
+ var equal = (a, b) => a !== void 0 && b !== void 0 && a.style === b.style && a.color === b.color && Math.abs(a.widthPx - b.widthPx) < 1e-6;
4900
+ function nestedFrameProfile(table, tableWidthPx = table.widthPx) {
4901
+ const sides = table.rows.flatMap(
4902
+ (row) => row.cells.flatMap(
4903
+ (cell) => ["top", "right", "bottom", "left"].map((side) => cell.borders?.[side])
4904
+ )
4905
+ );
4906
+ if (sides.every((side) => !side)) return { leftPx: 0, rightPx: 0, bottomPx: 0 };
4907
+ if (!sides.every((side) => side?.style === "solid" && side.widthPx > 0)) return void 0;
4908
+ const first3 = table.rows[0], left = first3.cells[0].borders.left, right = first3.cells.at(-1).borders.right;
4909
+ for (const [index, row] of table.rows.entries()) {
4910
+ if (row.cells.length !== first3.cells.length || !equal(row.cells[0]?.borders?.left, left) || !equal(row.cells.at(-1)?.borders?.right, right))
4911
+ return void 0;
4912
+ for (const [column, cell] of row.cells.entries()) {
4913
+ const sourceWidth = cell.widthPx ?? (tableWidthPx === void 0 ? void 0 : tableWidthPx / row.cells.length);
4914
+ const paintWidth = sourceWidth === void 0 ? void 0 : sourceWidth + (cell.borders.left.widthPx - cell.borders.right.widthPx) / 2 + (column === row.cells.length - 1 ? cell.borders.right.widthPx : 0);
4915
+ if (paintWidth !== void 0 && paintWidth <= 0) return void 0;
4916
+ if (!equal(cell.borders?.top, row.cells[0]?.borders?.top) || !equal(cell.borders?.bottom, row.cells[0]?.borders?.bottom))
4917
+ return void 0;
4918
+ if (column && !equal(row.cells[column - 1]?.borders?.right, cell.borders?.left))
4919
+ return void 0;
4920
+ if (index) {
4921
+ const previous = table.rows[index - 1].cells[column];
4922
+ if (previous.xPx !== cell.xPx || previous.widthPx !== cell.widthPx || !equal(previous.borders?.bottom, cell.borders?.top))
4923
+ return void 0;
4924
+ }
4925
+ }
4926
+ }
4927
+ return {
4928
+ leftPx: left.widthPx,
4929
+ rightPx: right.widthPx,
4930
+ bottomPx: table.rows.at(-1).cells[0].borders.bottom.widthPx
4931
+ };
4932
+ }
4933
+
4934
+ // docx/layout/nested-fragment-edges.ts
4935
+ var plain = (paragraph) => !paragraph.keepLines && !paragraph.keepNext && !paragraph.pageBreakBefore && !paragraph.footnotes?.length && !paragraph.runs.some((run) => run.footnoteReferenceId !== void 0 || run.breakAfter);
4936
+ function nestedFragmentEdges(table) {
4937
+ if (table.widthPx === void 0 || !Number.isFinite(table.widthPx) || table.widthPx <= 0 || table.rows.length < 2 || !nestedFrameProfile(table, table.widthPx) || table.rows.some(
4938
+ (row) => row.heightPx !== void 0 || row.cantSplit || row.isHeader || row.cells.length !== 2 || row.cells.some(
4939
+ (cell) => cell.verticalAlign && cell.verticalAlign !== "top" || cell.blocks?.some((block) => block.kind !== "paragraph") || !(cell.blocks ?? cell.paragraphs).every(
4940
+ (block) => block.kind === "paragraph" && plain(block)
4941
+ )
4942
+ )
4943
+ ))
4944
+ return void 0;
4945
+ const top = table.rows[0].cells.map((cell) => cell.borders?.top);
4946
+ const bottom = table.rows.at(-1).cells.map((cell) => cell.borders?.bottom);
4947
+ return top.every(Boolean) && bottom.every(Boolean) ? { top, bottom } : void 0;
4948
+ }
4949
+ function reflowNestedFragments(row) {
4950
+ if (row.heightPx !== void 0 || row.cantSplit || row.isHeader || row.cells.length !== 2)
4951
+ return false;
4952
+ let tables = 0;
4953
+ for (const cell of row.cells) {
4954
+ if (cell.verticalAlign && cell.verticalAlign !== "top") return false;
4955
+ for (const [index, block] of (cell.blocks ?? cell.paragraphs).entries()) {
4956
+ if (block.kind === "paragraph") {
4957
+ if (!plain(block)) return false;
4958
+ } else {
4959
+ if (index !== 0 || !nestedFragmentEdges(block) || ++tables > 1) return false;
4960
+ }
4961
+ }
4962
+ }
4963
+ return tables === 1;
4964
+ }
4965
+
4898
4966
  // docx/layout/table-content.ts
4899
4967
  function cellContentBottom(boxes, paddingBottom = 0) {
4900
4968
  return Math.max(
@@ -4928,44 +4996,21 @@ function clipTableFrames(tables, start, end, inset = 0) {
4928
4996
  }
4929
4997
  ];
4930
4998
  });
4931
- return [{ ...table, yPx: top - start + inset, heightPx: bottom - top, rows }];
4932
- });
4933
- }
4934
-
4935
- // docx/layout/nested-frame-profile.ts
4936
- var equal = (a, b) => a !== void 0 && b !== void 0 && a.style === b.style && a.color === b.color && Math.abs(a.widthPx - b.widthPx) < 1e-6;
4937
- function nestedFrameProfile(table, tableWidthPx = table.widthPx) {
4938
- const sides = table.rows.flatMap(
4939
- (row) => row.cells.flatMap(
4940
- (cell) => ["top", "right", "bottom", "left"].map((side) => cell.borders?.[side])
4941
- )
4942
- );
4943
- if (sides.every((side) => !side)) return { leftPx: 0, rightPx: 0, bottomPx: 0 };
4944
- if (!sides.every((side) => side?.style === "solid" && side.widthPx > 0)) return void 0;
4945
- const first3 = table.rows[0], left = first3.cells[0].borders.left, right = first3.cells.at(-1).borders.right;
4946
- for (const [index, row] of table.rows.entries()) {
4947
- if (row.cells.length !== first3.cells.length || !equal(row.cells[0]?.borders?.left, left) || !equal(row.cells.at(-1)?.borders?.right, right))
4948
- return void 0;
4949
- for (const [column, cell] of row.cells.entries()) {
4950
- const sourceWidth = cell.widthPx ?? (tableWidthPx === void 0 ? void 0 : tableWidthPx / row.cells.length);
4951
- const paintWidth = sourceWidth === void 0 ? void 0 : sourceWidth + (cell.borders.left.widthPx - cell.borders.right.widthPx) / 2 + (column === row.cells.length - 1 ? cell.borders.right.widthPx : 0);
4952
- if (paintWidth !== void 0 && paintWidth <= 0) return void 0;
4953
- if (!equal(cell.borders?.top, row.cells[0]?.borders?.top) || !equal(cell.borders?.bottom, row.cells[0]?.borders?.bottom))
4954
- return void 0;
4955
- if (column && !equal(row.cells[column - 1]?.borders?.right, cell.borders?.left))
4956
- return void 0;
4957
- if (index) {
4958
- const previous = table.rows[index - 1].cells[column];
4959
- if (previous.xPx !== cell.xPx || previous.widthPx !== cell.widthPx || !equal(previous.borders?.bottom, cell.borders?.top))
4960
- return void 0;
4999
+ if (table.fragmentEdges && rows.length) {
5000
+ const edges = table.fragmentEdges;
5001
+ for (const [row, side] of [
5002
+ [rows[0], "top"],
5003
+ [rows.at(-1), "bottom"]
5004
+ ]) {
5005
+ if (row.geometry)
5006
+ row.geometry = row.geometry.map((cell, index) => ({
5007
+ ...cell,
5008
+ borders: { ...cell.borders, [side]: edges[side][index] }
5009
+ }));
4961
5010
  }
4962
5011
  }
4963
- }
4964
- return {
4965
- leftPx: left.widthPx,
4966
- rightPx: right.widthPx,
4967
- bottomPx: table.rows.at(-1).cells[0].borders.bottom.widthPx
4968
- };
5012
+ return [{ ...table, yPx: top - start + inset, heightPx: bottom - top, rows }];
5013
+ });
4969
5014
  }
4970
5015
 
4971
5016
  // docx/layout/table-cell-layout.ts
@@ -4975,7 +5020,7 @@ function cellParagraphs(cell) {
4975
5020
  );
4976
5021
  return cell.blocks ? walk(cell.blocks) : cell.paragraphs;
4977
5022
  }
4978
- function stackCellBlocks(cell, width, measurer, note, top, starts) {
5023
+ function stackCellBlocks(cell, width, measurer, note, top, starts, physicalFragments = false) {
4979
5024
  if (!cell.blocks)
4980
5025
  return stackParagraphs(
4981
5026
  starts ? cell.paragraphs.filter((p) => starts.has(p.id)) : cell.paragraphs,
@@ -4996,6 +5041,7 @@ function stackCellBlocks(cell, width, measurer, note, top, starts) {
4996
5041
  y = result.heightPx;
4997
5042
  continue;
4998
5043
  }
5044
+ const edges = physicalFragments ? nestedFragmentEdges(block) : void 0;
4999
5045
  const tableWidth = block.widthPx ?? width;
5000
5046
  const profile = nestedFrameProfile(block, tableWidth);
5001
5047
  const reserveBorders = profile !== void 0;
@@ -5013,13 +5059,21 @@ function stackCellBlocks(cell, width, measurer, note, top, starts) {
5013
5059
  widthPx: paintedWidth,
5014
5060
  yPx: y,
5015
5061
  heightPx: 0,
5016
- rows: []
5062
+ rows: [],
5063
+ ...edges ? { fragmentEdges: edges } : {}
5017
5064
  };
5018
5065
  for (const row of block.rows) {
5019
5066
  if (starts && !row.cells.some((nested) => cellParagraphs(nested).some((p) => starts.has(p.id))))
5020
5067
  continue;
5068
+ const visibleRow = edges && starts && !frame.rows.length ? {
5069
+ ...row,
5070
+ cells: row.cells.map((cell2, index) => ({
5071
+ ...cell2,
5072
+ borders: { ...cell2.borders, top: edges.top[index] }
5073
+ }))
5074
+ } : row;
5021
5075
  const layout = layoutRow(
5022
- row,
5076
+ visibleRow,
5023
5077
  tableWidth,
5024
5078
  measurer,
5025
5079
  note,
@@ -5045,6 +5099,7 @@ function stackCellBlocks(cell, width, measurer, note, top, starts) {
5045
5099
  xPx: x + geometry.xPx + geometry.paddingLeftPx + (paragraph.xPx ?? 0),
5046
5100
  widthPx: paragraph.widthPx ?? Math.max(1, geometry.widthPx - geometry.paddingLeftPx - geometry.paddingRightPx),
5047
5101
  readOnly: true,
5102
+ ...edges ? { tableFragmentBottomPx: edges.bottom[index].widthPx } : {},
5048
5103
  tableFrameInsets: {
5049
5104
  top: (paragraph.tableFrameInsets?.top ?? 0) + (reserveBorders ? geometry.borders?.top?.widthPx ?? 0 : 0),
5050
5105
  bottom: (paragraph.tableFrameInsets?.bottom ?? 0) + (reserveBorders ? geometry.borders?.bottom?.widthPx ?? 0 : 0)
@@ -5093,7 +5148,7 @@ function stackParagraphs(paragraphs, widthPx, measurer, note, topPx = 0, startTo
5093
5148
  }
5094
5149
  return { heightPx: y, boxes };
5095
5150
  }
5096
- function layoutRow(row, tableWidthPx, measurer, note, remaining, startTokens, frameBorders = false, frameLeftBorderPx) {
5151
+ function layoutRow(row, tableWidthPx, measurer, note, remaining, startTokens, frameBorders = false, frameLeftBorderPx, physicalFragments = reflowNestedFragments(row)) {
5097
5152
  const count = row.cells.length || 1;
5098
5153
  let x = 0;
5099
5154
  const geometry = [];
@@ -5119,7 +5174,8 @@ function layoutRow(row, tableWidthPx, measurer, note, remaining, startTokens, fr
5119
5174
  measurer,
5120
5175
  note,
5121
5176
  padding.top,
5122
- starts
5177
+ starts,
5178
+ physicalFragments
5123
5179
  );
5124
5180
  const heightPx2 = content2.heightPx + padding.bottom;
5125
5181
  geometry.push({
@@ -5156,16 +5212,16 @@ function splitCellAtHeight(boxes, cutHeightPx, paragraphCuts) {
5156
5212
  let beforeHeightPx = 0;
5157
5213
  for (const box of boxes) {
5158
5214
  const cut = paragraphCuts?.get(box.blockId) ?? cutHeightPx;
5159
- if (box.yPx + box.heightPx + (box.tableFrameInsets?.bottom ?? 0) <= cut) {
5215
+ if (box.yPx + box.heightPx + (box.tableFragmentBottomPx ?? box.tableFrameInsets?.bottom ?? 0) <= cut) {
5160
5216
  before.push(box);
5161
5217
  beforeHeightPx = Math.max(
5162
5218
  beforeHeightPx,
5163
- box.yPx + box.heightPx + (box.tableFrameInsets?.bottom ?? 0)
5219
+ box.yPx + box.heightPx + (box.tableFragmentBottomPx ?? box.tableFrameInsets?.bottom ?? 0)
5164
5220
  );
5165
5221
  continue;
5166
5222
  }
5167
5223
  const beforeLines = box.lines.filter(
5168
- (line2) => box.yPx + line2.yPx + line2.heightPx + (box.tableFrameInsets?.bottom ?? 0) <= cut
5224
+ (line2) => box.yPx + line2.yPx + line2.heightPx + (box.tableFragmentBottomPx ?? box.tableFrameInsets?.bottom ?? 0) <= cut
5169
5225
  );
5170
5226
  const afterLines = box.lines.slice(beforeLines.length);
5171
5227
  if (beforeLines.length) {
@@ -5173,7 +5229,7 @@ function splitCellAtHeight(boxes, cutHeightPx, paragraphCuts) {
5173
5229
  before.push({ ...box, heightPx: bottom, lines: beforeLines });
5174
5230
  beforeHeightPx = Math.max(
5175
5231
  beforeHeightPx,
5176
- box.yPx + bottom + (box.tableFrameInsets?.bottom ?? 0)
5232
+ box.yPx + bottom + (box.tableFragmentBottomPx ?? box.tableFrameInsets?.bottom ?? 0)
5177
5233
  );
5178
5234
  }
5179
5235
  if (afterLines.length) {
@@ -6020,7 +6076,7 @@ function measuredNoteReferences(paragraphs) {
6020
6076
  }
6021
6077
 
6022
6078
  // docx/layout/table-border-layout.ts
6023
- function layoutBorderedRow(row, width, measurer, note, profile, remaining) {
6079
+ function layoutBorderedRow(row, width, measurer, note, profile, remaining, physicalFragments) {
6024
6080
  const reserved = profile !== void 0 && (profile.leftPx > 0 || profile.rightPx > 0 || profile.bottomPx > 0);
6025
6081
  const layout = layoutRow(
6026
6082
  row,
@@ -6030,7 +6086,8 @@ function layoutBorderedRow(row, width, measurer, note, profile, remaining) {
6030
6086
  remaining,
6031
6087
  void 0,
6032
6088
  reserved,
6033
- profile?.leftPx
6089
+ profile?.leftPx,
6090
+ physicalFragments
6034
6091
  );
6035
6092
  if (!reserved) return layout;
6036
6093
  const bottom = Math.max(0, ...layout.geometry.map((cell) => cell.borders?.bottom?.widthPx ?? 0));
@@ -6330,6 +6387,7 @@ var TableFootnotes = class {
6330
6387
  function placeTable(cursor, table, measurer, note, resolveFootnotes) {
6331
6388
  const firstBodyRow = table.rows.findIndex((row) => !row.isHeader);
6332
6389
  const headerRows = table.rows.slice(0, firstBodyRow < 0 ? table.rows.length : firstBodyRow);
6390
+ const nativeFragments = new Map(table.rows.map((row) => [row, reflowNestedFragments(row)]));
6333
6391
  const xPosition = () => {
6334
6392
  const width = (table.widthPx ?? cursor.columnWidthPx) + (activeBorders ? (profile.leftPx + profile.rightPx) / 2 : 0);
6335
6393
  return table.alignment === "center" ? Math.max(0, (cursor.columnWidthPx - width) / 2) : table.alignment === "right" ? Math.max(0, cursor.columnWidthPx - width) : table.indentPx ?? 0;
@@ -6340,13 +6398,14 @@ function placeTable(cursor, table, measurer, note, resolveFootnotes) {
6340
6398
  note(
6341
6399
  "Ordinary table border occupancy remains approximate for missing edges, non-solid or conflicting shared borders and changing row grids."
6342
6400
  );
6343
- const layoutRow2 = (row, width, m, n2, remaining) => layoutBorderedRow(
6401
+ const layoutRow2 = (row, width, m, n2, remaining, sourceRow = row) => layoutBorderedRow(
6344
6402
  row,
6345
6403
  activeBorders ? table.widthPx ?? width : width,
6346
6404
  m,
6347
6405
  n2,
6348
6406
  profile,
6349
- remaining
6407
+ remaining,
6408
+ nativeFragments.get(sourceRow) ?? false
6350
6409
  );
6351
6410
  const fragmentBorders = new TableFragmentBorders();
6352
6411
  let fragmentRows = [];
@@ -6419,7 +6478,8 @@ function placeTable(cursor, table, measurer, note, resolveFootnotes) {
6419
6478
  cursor.columnWidthPx,
6420
6479
  measurer,
6421
6480
  note,
6422
- remainingRow.cells
6481
+ remainingRow.cells,
6482
+ row
6423
6483
  );
6424
6484
  if (fragmentRows.length) {
6425
6485
  fragmentRows = [];
@@ -6451,7 +6511,8 @@ function placeTable(cursor, table, measurer, note, resolveFootnotes) {
6451
6511
  cursor.columnWidthPx,
6452
6512
  measurer,
6453
6513
  note,
6454
- after2.cells
6514
+ after2.cells,
6515
+ row
6455
6516
  ) : after2;
6456
6517
  continue;
6457
6518
  }
@@ -6464,7 +6525,8 @@ function placeTable(cursor, table, measurer, note, resolveFootnotes) {
6464
6525
  cursor.columnWidthPx,
6465
6526
  measurer,
6466
6527
  note,
6467
- remainingRow === initial ? void 0 : remainingRow.cells
6528
+ remainingRow === initial ? void 0 : remainingRow.cells,
6529
+ row
6468
6530
  );
6469
6531
  continue;
6470
6532
  }
@@ -6511,17 +6573,24 @@ function placeTable(cursor, table, measurer, note, resolveFootnotes) {
6511
6573
  const previousWidth = cursor.columnWidthPx;
6512
6574
  if (before.cells.some((cell) => cell.length)) fragmentRows.push(toRowBox(before, false));
6513
6575
  startNewFragment();
6514
- remainingRow = after && previousWidth !== cursor.columnWidthPx ? layoutRow2(
6576
+ remainingRow = after && (previousWidth !== cursor.columnWidthPx || nativeFragments.get(row)) ? layoutRow2(
6515
6577
  { ...row, heightPx: 0, heightRule: "atLeast" },
6516
6578
  cursor.columnWidthPx,
6517
6579
  measurer,
6518
6580
  note,
6519
- after.cells
6581
+ after.cells,
6582
+ row
6520
6583
  ) : after;
6521
6584
  }
6522
6585
  }
6523
6586
  for (const row of table.rows) {
6524
6587
  const layout = layoutRow2(row, cursor.columnWidthPx, measurer, note);
6588
+ if (layout.heightPx > cursor.remainingHeightPx() && !nativeFragments.get(row) && row.cells.some(
6589
+ (cell) => cell.blocks?.some((block) => block.kind === "table" && block.rows.length > 1)
6590
+ ))
6591
+ note(
6592
+ "Nested physical border edges at page cuts remain approximate outside automatic, top-aligned tables with two or more two-cell, note-free rows, direct paragraphs and complete shared borders."
6593
+ );
6525
6594
  if (activeBorders && layout.heightPx > cursor.remainingHeightPx() && row.cells.some(
6526
6595
  (cell) => (!measuredNoteReferences(row.cells.flatMap(cellParagraphs)) || !independentNoteStories(cell)) && cell.blocks?.some((block) => block.kind === "table") && cellParagraphs(cell).some((p) => p.footnotes?.length)
6527
6596
  ))
@@ -6785,9 +6854,9 @@ var SectionFlow = class {
6785
6854
  const page = this.cursor.page;
6786
6855
  const exclusions = this.exclusions?.get(page.index);
6787
6856
  if (!exclusions) return void 0;
6788
- const plain = this.paragraphLayout(index);
6857
+ const plain2 = this.paragraphLayout(index);
6789
6858
  const topPx = page.marginTopPx + this.cursor.y + spacingBeforePx;
6790
- const bottomPx = topPx + plain.contentHeightPx;
6859
+ const bottomPx = topPx + plain2.contentHeightPx;
6791
6860
  if (!exclusions.some((item) => item.yPx < bottomPx && item.yPx + item.heightPx > topPx))
6792
6861
  return void 0;
6793
6862
  return layoutParagraph(
@@ -0,0 +1,9 @@
1
+ import type { LayoutTable, LayoutTableRow } from './input.js';
2
+ /** Two or more automatic top-aligned rows with direct paragraphs and complete shared edges. */
3
+ export declare function nestedFragmentEdges(table: LayoutTable): {
4
+ top: (import("./input.js").LayoutBorder | undefined)[];
5
+ bottom: (import("./input.js").LayoutBorder | undefined)[];
6
+ } | undefined;
7
+ /** The enclosing story must also remain within the measured automatic, note-free profile. */
8
+ export declare function reflowNestedFragments(row: LayoutTableRow): boolean;
9
+ //# sourceMappingURL=nested-fragment-edges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-fragment-edges.d.ts","sourceRoot":"","sources":["../../../docx/layout/nested-fragment-edges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAQ5E,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW;;;cA2BrD;AACD,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAelE"}
@@ -62,6 +62,8 @@ export interface LayoutParagraphBox {
62
62
  top: number;
63
63
  bottom: number;
64
64
  };
65
+ /** Measured physical bottom edge width, distinct from an interior shared row edge. */
66
+ tableFragmentBottomPx?: number;
65
67
  }
66
68
  export interface LayoutParagraphFrame {
67
69
  leftPx: number;
@@ -104,6 +106,11 @@ export interface LayoutTableBox {
104
106
  yPx: number;
105
107
  heightPx: number;
106
108
  rows: LayoutTableRowBox[];
109
+ /** Source outer edges repainted at each measured nested physical fragment. */
110
+ fragmentEdges?: {
111
+ top: (import('./input.js').LayoutBorder | undefined)[];
112
+ bottom: (import('./input.js').LayoutBorder | undefined)[];
113
+ };
107
114
  }
108
115
  export type LayoutBlockBox = LayoutParagraphBox | LayoutTableBox;
109
116
  export interface LayoutColumnBox {
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../docx/layout/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../docx/layout/result.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { LayoutParagraphBox } from './result.js';
4
4
  import type { TextMeasurer } from './measure.js';
5
5
  import { type RowLayout } from './table-layout.js';
6
6
  /** Native row heights include the top edge; the physical fragment also reserves its last bottom. */
7
- export declare function layoutBorderedRow(row: LayoutTableRow, width: number, measurer: TextMeasurer, note: (message: string) => void, profile: NestedFrameProfile | undefined, remaining?: LayoutParagraphBox[][]): RowLayout;
7
+ export declare function layoutBorderedRow(row: LayoutTableRow, width: number, measurer: TextMeasurer, note: (message: string) => void, profile: NestedFrameProfile | undefined, remaining?: LayoutParagraphBox[][], physicalFragments?: boolean): RowLayout;
8
8
  /** Share a horizontal stroke with the next row, retaining it when a fragment is flushed. */
9
9
  export declare class TableFragmentBorders {
10
10
  private bottom;
@@ -1 +1 @@
1
- {"version":3,"file":"table-border-layout.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-border-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3D,oGAAoG;AACpG,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,SAAS,CAAC,EAAE,kBAAkB,EAAE,EAAE,GAChC,SAAS,CAwBX;AAED,4FAA4F;AAC5F,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAQ;IACxB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGvC;IACD,MAAM,CAAC,GAAG,EAAE,OAAO,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAKpE;IACD,OAAO,CAAC,GAAG,EAAE,OAAO,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAKrE;CACD"}
1
+ {"version":3,"file":"table-border-layout.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-border-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3D,oGAAoG;AACpG,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,SAAS,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAClC,iBAAiB,CAAC,EAAE,OAAO,GACzB,SAAS,CAyBX;AAED,4FAA4F;AAC5F,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAQ;IACxB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGvC;IACD,MAAM,CAAC,GAAG,EAAE,OAAO,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAKpE;IACD,OAAO,CAAC,GAAG,EAAE,OAAO,UAAU,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAKrE;CACD"}
@@ -4,7 +4,7 @@ import type { TextMeasurer } from './measure.js';
4
4
  /** All nested source paragraphs, in OOXML story order. */
5
5
  export declare function cellParagraphs(cell: LayoutTableCell): LayoutParagraph[];
6
6
  /** Project read-only nested cell stories using the same paragraph and row layout as body tables. */
7
- export declare function stackCellBlocks(cell: LayoutTableCell, width: number, measurer: TextMeasurer, note: (message: string) => void, top: number, starts?: ReadonlyMap<string, number>): {
7
+ export declare function stackCellBlocks(cell: LayoutTableCell, width: number, measurer: TextMeasurer, note: (message: string) => void, top: number, starts?: ReadonlyMap<string, number>, physicalFragments?: boolean): {
8
8
  heightPx: number;
9
9
  boxes: LayoutParagraphBox[];
10
10
  tables?: LayoutTableBox[];
@@ -1 +1 @@
1
- {"version":3,"file":"table-cell-layout.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-cell-layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,EAAE,CAQvE;AACD,oGAAoG;AACpG,wBAAgB,eAAe,CAC9B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAA;CAAE,CAuG9E"}
1
+ {"version":3,"file":"table-cell-layout.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-cell-layout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,EAAE,CAQvE;AACD,oGAAoG;AACpG,wBAAgB,eAAe,CAC9B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,iBAAiB,UAAQ,GACvB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAA;CAAE,CAoH9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-frames.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-frames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,iGAAiG;AACjG,wBAAgB,eAAe,CAC9B,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,SAAI,GACP,cAAc,EAAE,CA2BlB"}
1
+ {"version":3,"file":"table-frames.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-frames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,iGAAiG;AACjG,wBAAgB,eAAe,CAC9B,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,SAAI,GACP,cAAc,EAAE,CAwClB"}
@@ -23,7 +23,7 @@ export declare function stackParagraphs(paragraphs: LayoutParagraph[], widthPx:
23
23
  * Lays out one table row. Cells take their grid position and width when the table has a grid,
24
24
  * otherwise the table width split evenly, and their content is inset by the cell margins.
25
25
  */
26
- export declare function layoutRow(row: LayoutTableRow, tableWidthPx: number, measurer: TextMeasurer, note: (message: string) => void, remaining?: LayoutParagraphBox[][], startTokens?: ReadonlyMap<string, number>, frameBorders?: boolean, frameLeftBorderPx?: number): RowLayout;
26
+ export declare function layoutRow(row: LayoutTableRow, tableWidthPx: number, measurer: TextMeasurer, note: (message: string) => void, remaining?: LayoutParagraphBox[][], startTokens?: ReadonlyMap<string, number>, frameBorders?: boolean, frameLeftBorderPx?: number, physicalFragments?: boolean): RowLayout;
27
27
  export interface RowSplit {
28
28
  before: RowLayout;
29
29
  after: RowLayout | null;
@@ -1 +1 @@
1
- {"version":3,"file":"table-layout.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAIvF,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC9B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;IAChC,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAC9B,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,KAAK,SAAI,EACT,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,kBAAkB,EAAE,CAAA;CAAE,CA0BnD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACxB,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,SAAS,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAClC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,YAAY,UAAQ,EACpB,iBAAiB,CAAC,EAAE,MAAM,GACxB,SAAS,CAsEX;AAwDD,MAAM,WAAW,QAAQ;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,EAC5B,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,QAAQ,CAiFV"}
1
+ {"version":3,"file":"table-layout.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-layout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAIvF,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC9B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;IAChC,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAC9B,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,KAAK,SAAI,EACT,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,kBAAkB,EAAE,CAAA;CAAE,CA0BnD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACxB,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,SAAS,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAClC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,YAAY,UAAQ,EACpB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,iBAAiB,UAA6B,GAC5C,SAAS,CAuEX;AAgED,MAAM,WAAW,QAAQ;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,EAC5B,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,QAAQ,CAiFV"}