ooxml-core 1.8.4 → 1.9.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 (306) hide show
  1. package/dist/PptxHandler-AT7FVG5Q.mjs +2 -0
  2. package/dist/{PptxHandler-BL4B7CZO.mjs → PptxHandler-EX4WBIQQ.mjs} +2 -2
  3. package/dist/PptxHandler-VFSCECPL.cjs +11 -0
  4. package/dist/automation/index.cjs +6652 -4002
  5. package/dist/automation/index.mjs +6652 -4002
  6. package/dist/chunk-AT66SA5M.cjs +44423 -0
  7. package/dist/{chunk-TTPZITQN.mjs → chunk-FIELY5PI.mjs} +1 -1
  8. package/dist/{chunk-ZAP5WLEN.mjs → chunk-IGOA57LE.mjs} +1 -1
  9. package/dist/chunk-LCS3J3QI.mjs +87604 -0
  10. package/dist/{chunk-NIHPA63A.mjs → chunk-M76PHYRR.mjs} +54 -37
  11. package/dist/chunk-OB277ZGE.mjs +44107 -0
  12. package/dist/{chunk-GAGSCAR3.mjs → chunk-OXHMZS7B.mjs} +552 -178
  13. package/dist/chunk-SWF7KVL5.cjs +87610 -0
  14. package/dist/{chunk-Z7IQR4S4.mjs → chunk-WSO4T2LJ.mjs} +246 -21
  15. package/dist/docx/block-parser.d.ts.map +1 -1
  16. package/dist/docx/cell-blocks.d.ts +4 -0
  17. package/dist/docx/cell-blocks.d.ts.map +1 -0
  18. package/dist/docx/document-paragraphs.d.ts.map +1 -1
  19. package/dist/docx/document-parts.d.ts +2 -0
  20. package/dist/docx/document-parts.d.ts.map +1 -1
  21. package/dist/docx/embedded.cjs +189 -20
  22. package/dist/docx/embedded.mjs +189 -20
  23. package/dist/docx/index.cjs +219 -24
  24. package/dist/docx/index.mjs +219 -24
  25. package/dist/docx/layout/adapt-table.d.ts.map +1 -1
  26. package/dist/docx/layout/adapter.d.ts.map +1 -1
  27. package/dist/docx/layout/flow-paragraph.d.ts +5 -0
  28. package/dist/docx/layout/flow-paragraph.d.ts.map +1 -1
  29. package/dist/docx/layout/flow-table.d.ts +2 -1
  30. package/dist/docx/layout/flow-table.d.ts.map +1 -1
  31. package/dist/docx/layout/footnote-columns.d.ts +22 -0
  32. package/dist/docx/layout/footnote-columns.d.ts.map +1 -0
  33. package/dist/docx/layout/footnote-flow.d.ts +27 -0
  34. package/dist/docx/layout/footnote-flow.d.ts.map +1 -0
  35. package/dist/docx/layout/footnote-split.d.ts +7 -0
  36. package/dist/docx/layout/footnote-split.d.ts.map +1 -0
  37. package/dist/docx/layout/index.cjs +1099 -92
  38. package/dist/docx/layout/index.mjs +1099 -92
  39. package/dist/docx/layout/input.d.ts +17 -1
  40. package/dist/docx/layout/input.d.ts.map +1 -1
  41. package/dist/docx/layout/legacy-footnote-flow.d.ts +18 -0
  42. package/dist/docx/layout/legacy-footnote-flow.d.ts.map +1 -0
  43. package/dist/docx/layout/line-metrics.d.ts.map +1 -1
  44. package/dist/docx/layout/page-cursor.d.ts +13 -8
  45. package/dist/docx/layout/page-cursor.d.ts.map +1 -1
  46. package/dist/docx/layout/page-flow.d.ts.map +1 -1
  47. package/dist/docx/layout/paragraph-layout.d.ts.map +1 -1
  48. package/dist/docx/layout/paragraph-tokens.d.ts +2 -0
  49. package/dist/docx/layout/paragraph-tokens.d.ts.map +1 -1
  50. package/dist/docx/layout/reference-footnotes.d.ts +7 -0
  51. package/dist/docx/layout/reference-footnotes.d.ts.map +1 -0
  52. package/dist/docx/layout/result.d.ts +31 -0
  53. package/dist/docx/layout/result.d.ts.map +1 -1
  54. package/dist/docx/layout/section-flow.d.ts +2 -0
  55. package/dist/docx/layout/section-flow.d.ts.map +1 -1
  56. package/dist/docx/layout/table-cell-layout.d.ts +11 -0
  57. package/dist/docx/layout/table-cell-layout.d.ts.map +1 -0
  58. package/dist/docx/layout/table-footnotes.d.ts +27 -0
  59. package/dist/docx/layout/table-footnotes.d.ts.map +1 -0
  60. package/dist/docx/layout/table-layout.d.ts +10 -4
  61. package/dist/docx/layout/table-layout.d.ts.map +1 -1
  62. package/dist/docx/load/index.cjs +194 -25
  63. package/dist/docx/load/index.mjs +194 -25
  64. package/dist/docx/model-run.d.ts +2 -0
  65. package/dist/docx/model-run.d.ts.map +1 -1
  66. package/dist/docx/model.d.ts +7 -0
  67. package/dist/docx/model.d.ts.map +1 -1
  68. package/dist/docx/notes.d.ts +5 -0
  69. package/dist/docx/notes.d.ts.map +1 -1
  70. package/dist/docx/parse-table.d.ts.map +1 -1
  71. package/dist/docx/parse.d.ts.map +1 -1
  72. package/dist/docx/save.d.ts.map +1 -1
  73. package/dist/docx/section-model.d.ts +2 -0
  74. package/dist/docx/section-model.d.ts.map +1 -1
  75. package/dist/docx/sections.d.ts.map +1 -1
  76. package/dist/docx/settings.d.ts +2 -0
  77. package/dist/docx/settings.d.ts.map +1 -1
  78. package/dist/docx/table-model.d.ts +3 -1
  79. package/dist/docx/table-model.d.ts.map +1 -1
  80. package/dist/docx/ui/index.cjs +55 -0
  81. package/dist/docx/ui/index.d.ts +1 -0
  82. package/dist/docx/ui/index.d.ts.map +1 -1
  83. package/dist/docx/ui/index.mjs +55 -1
  84. package/dist/docx/ui/table-structure-guard.d.ts +4 -0
  85. package/dist/docx/ui/table-structure-guard.d.ts.map +1 -0
  86. package/dist/docx/write-footnote-columns.d.ts +3 -0
  87. package/dist/docx/write-footnote-columns.d.ts.map +1 -0
  88. package/dist/docx/write-notes.d.ts.map +1 -1
  89. package/dist/docx/write-run.d.ts.map +1 -1
  90. package/dist/docx/write-sections.d.ts.map +1 -1
  91. package/dist/index.cjs +8 -5
  92. package/dist/index.mjs +8 -5
  93. package/dist/opc/clone-part-graph.d.ts +4 -0
  94. package/dist/opc/clone-part-graph.d.ts.map +1 -1
  95. package/dist/opc/index.cjs +8 -5
  96. package/dist/opc/index.mjs +8 -5
  97. package/dist/pptx/automation/index.cjs +621 -207
  98. package/dist/pptx/automation/index.d.ts +3 -3
  99. package/dist/pptx/automation/index.mjs +5 -5
  100. package/dist/pptx/chunks/{index-Cn-GzYGp.d.ts → index-B4cnSPNz.d.ts} +33 -4
  101. package/dist/pptx/chunks/index-B4cnSPNz.d.ts.map +1 -0
  102. package/dist/pptx/chunks/{index-CKIUurnd.d.ts → index-BZh-IMkN.d.ts} +14 -9
  103. package/dist/pptx/chunks/{index-CKIUurnd.d.ts.map → index-BZh-IMkN.d.ts.map} +1 -1
  104. package/dist/pptx/chunks/{text-operations-BHfAm5K9.d.ts → text-operations-BLodkuXE.d.ts} +29 -12
  105. package/dist/pptx/chunks/text-operations-BLodkuXE.d.ts.map +1 -0
  106. package/dist/pptx/cli/index.cjs +622 -213
  107. package/dist/pptx/cli/index.d.ts +1 -1
  108. package/dist/pptx/cli/index.mjs +4 -4
  109. package/dist/pptx/converter/index.cjs +53 -36
  110. package/dist/pptx/converter/index.d.ts +1 -1
  111. package/dist/pptx/converter/index.mjs +2 -2
  112. package/dist/pptx/editor/render/find-replace.cjs +416 -45
  113. package/dist/pptx/editor/render/find-replace.d.ts +35 -4
  114. package/dist/pptx/editor/render/find-replace.d.ts.map +1 -1
  115. package/dist/pptx/editor/render/find-replace.mjs +416 -46
  116. package/dist/pptx/editor/render/slide-operations.cjs +87 -0
  117. package/dist/pptx/editor/render/slide-operations.d.ts +17 -1
  118. package/dist/pptx/editor/render/slide-operations.d.ts.map +1 -1
  119. package/dist/pptx/editor/render/slide-operations.mjs +83 -1
  120. package/dist/pptx/editor/render/slide-search.cjs +6 -10
  121. package/dist/pptx/editor/render/slide-search.d.ts +1 -1
  122. package/dist/pptx/editor/render/slide-search.mjs +6 -10
  123. package/dist/pptx/editor/render/template-editing.d.ts +1 -1
  124. package/dist/pptx/editor/render/template-editing.d.ts.map +1 -1
  125. package/dist/pptx/index.cjs +889 -237
  126. package/dist/pptx/index.d.ts +4 -4
  127. package/dist/pptx/index.mjs +5 -5
  128. package/dist/teams/index.cjs +593 -34
  129. package/dist/teams/index.mjs +593 -34
  130. package/dist/visio/accessibility.d.ts +10 -0
  131. package/dist/visio/accessibility.d.ts.map +1 -0
  132. package/dist/visio/cell-formula.d.ts +2 -0
  133. package/dist/visio/cell-formula.d.ts.map +1 -1
  134. package/dist/visio/connector-curve-aligned.d.ts +5 -0
  135. package/dist/visio/connector-curve-aligned.d.ts.map +1 -0
  136. package/dist/visio/connector-curve-spans.d.ts +14 -0
  137. package/dist/visio/connector-curve-spans.d.ts.map +1 -0
  138. package/dist/visio/connector-jumps.d.ts +5 -0
  139. package/dist/visio/connector-jumps.d.ts.map +1 -0
  140. package/dist/visio/connector-route-walk.d.ts +2 -1
  141. package/dist/visio/connector-route-walk.d.ts.map +1 -1
  142. package/dist/visio/edit-alt-text-scope.d.ts +5 -0
  143. package/dist/visio/edit-alt-text-scope.d.ts.map +1 -0
  144. package/dist/visio/edit-alt-text.d.ts +3 -0
  145. package/dist/visio/edit-alt-text.d.ts.map +1 -0
  146. package/dist/visio/edit-commands.d.ts +7 -2
  147. package/dist/visio/edit-commands.d.ts.map +1 -1
  148. package/dist/visio/edit-formatting-commands.d.ts +5 -0
  149. package/dist/visio/edit-formatting-commands.d.ts.map +1 -1
  150. package/dist/visio/edit-formatting-paint.d.ts.map +1 -1
  151. package/dist/visio/edit-formatting-scope.d.ts.map +1 -1
  152. package/dist/visio/edit-line-jump-cache.d.ts +4 -0
  153. package/dist/visio/edit-line-jump-cache.d.ts.map +1 -0
  154. package/dist/visio/edit-master-index.d.ts.map +1 -1
  155. package/dist/visio/edit-metadata-commands.d.ts +10 -2
  156. package/dist/visio/edit-metadata-commands.d.ts.map +1 -1
  157. package/dist/visio/edit-metadata.d.ts +3 -1
  158. package/dist/visio/edit-metadata.d.ts.map +1 -1
  159. package/dist/visio/edit-page-alt-text.d.ts +4 -0
  160. package/dist/visio/edit-page-alt-text.d.ts.map +1 -0
  161. package/dist/visio/edit-page-layout.d.ts.map +1 -1
  162. package/dist/visio/edit-page-rename.d.ts.map +1 -1
  163. package/dist/visio/edit-page-setup-commands.d.ts +7 -1
  164. package/dist/visio/edit-page-setup-commands.d.ts.map +1 -1
  165. package/dist/visio/edit-page-size.d.ts.map +1 -1
  166. package/dist/visio/edit-pages.d.ts.map +1 -1
  167. package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
  168. package/dist/visio/edit-scope.d.ts.map +1 -1
  169. package/dist/visio/edit-shape-create.d.ts.map +1 -1
  170. package/dist/visio/edit-stencil-connector-write.d.ts.map +1 -1
  171. package/dist/visio/edit-style-admission.d.ts.map +1 -1
  172. package/dist/visio/edit-text.d.ts.map +1 -1
  173. package/dist/visio/edit.d.ts +1 -1
  174. package/dist/visio/edit.d.ts.map +1 -1
  175. package/dist/visio/index.cjs +1091 -233
  176. package/dist/visio/index.d.ts +2 -1
  177. package/dist/visio/index.d.ts.map +1 -1
  178. package/dist/visio/index.mjs +1091 -234
  179. package/dist/visio/line-jumps.d.ts +1 -5
  180. package/dist/visio/line-jumps.d.ts.map +1 -1
  181. package/dist/visio/model.d.ts +13 -0
  182. package/dist/visio/model.d.ts.map +1 -1
  183. package/dist/visio/page-layout.d.ts +11 -2
  184. package/dist/visio/page-layout.d.ts.map +1 -1
  185. package/dist/visio/parser.d.ts.map +1 -1
  186. package/dist/visio/shape-metadata.d.ts +6 -0
  187. package/dist/visio/shape-metadata.d.ts.map +1 -1
  188. package/dist/visio/shapes.d.ts.map +1 -1
  189. package/dist/visio/text-field-case.d.ts +2 -0
  190. package/dist/visio/text-field-case.d.ts.map +1 -0
  191. package/dist/visio/text-field-display.d.ts.map +1 -1
  192. package/dist/visio/text-field-numeric.d.ts +4 -0
  193. package/dist/visio/text-field-numeric.d.ts.map +1 -0
  194. package/dist/visio/ui/connector-preview.d.ts +1 -1
  195. package/dist/visio/ui/connector-preview.d.ts.map +1 -1
  196. package/dist/visio/ui/data-graphic-rules.d.ts +2 -0
  197. package/dist/visio/ui/data-graphic-rules.d.ts.map +1 -1
  198. package/dist/visio/ui/data-graphics.d.ts +3 -2
  199. package/dist/visio/ui/data-graphics.d.ts.map +1 -1
  200. package/dist/visio/ui/edit-commands.d.ts.map +1 -1
  201. package/dist/visio/ui/index.cjs +16898 -15855
  202. package/dist/visio/ui/index.mjs +16898 -15856
  203. package/dist/visio/ui/scene-details.d.ts.map +1 -1
  204. package/dist/visio/ui/scene-validation.d.ts.map +1 -1
  205. package/dist/visio/ui/snapshot-scene.d.ts +2 -1
  206. package/dist/visio/ui/snapshot-scene.d.ts.map +1 -1
  207. package/dist/visio/xml-attribute-whitespace.d.ts +5 -0
  208. package/dist/visio/xml-attribute-whitespace.d.ts.map +1 -0
  209. package/dist/xlsx/edit/index.d.ts +1 -0
  210. package/dist/xlsx/edit/index.d.ts.map +1 -1
  211. package/dist/xlsx/edit/insert-guard.d.ts.map +1 -1
  212. package/dist/xlsx/edit/merge.d.ts.map +1 -1
  213. package/dist/xlsx/edit/page-breaks.d.ts +5 -0
  214. package/dist/xlsx/edit/page-breaks.d.ts.map +1 -0
  215. package/dist/xlsx/edit/pivots.d.ts +8 -0
  216. package/dist/xlsx/edit/pivots.d.ts.map +1 -0
  217. package/dist/xlsx/edit/print-titles.d.ts +7 -0
  218. package/dist/xlsx/edit/print-titles.d.ts.map +1 -0
  219. package/dist/xlsx/edit/session.d.ts.map +1 -1
  220. package/dist/xlsx/edit/sheets.d.ts.map +1 -1
  221. package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -1
  222. package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -1
  223. package/dist/xlsx/edit/sparkline-ranges.d.ts +11 -0
  224. package/dist/xlsx/edit/sparkline-ranges.d.ts.map +1 -0
  225. package/dist/xlsx/edit/sparkline-xml.d.ts +13 -0
  226. package/dist/xlsx/edit/sparkline-xml.d.ts.map +1 -0
  227. package/dist/xlsx/edit/sparklines.d.ts +16 -0
  228. package/dist/xlsx/edit/sparklines.d.ts.map +1 -0
  229. package/dist/xlsx/edit/table-edits.d.ts.map +1 -1
  230. package/dist/xlsx/edit/tables.d.ts.map +1 -1
  231. package/dist/xlsx/edit/types.d.ts +22 -1
  232. package/dist/xlsx/edit/types.d.ts.map +1 -1
  233. package/dist/xlsx/formula/functions/text-regex.d.ts.map +1 -1
  234. package/dist/xlsx/index.cjs +3159 -1164
  235. package/dist/xlsx/index.d.ts +1 -0
  236. package/dist/xlsx/index.d.ts.map +1 -1
  237. package/dist/xlsx/index.mjs +3140 -1165
  238. package/dist/xlsx/layout/cell-view.d.ts +2 -0
  239. package/dist/xlsx/layout/cell-view.d.ts.map +1 -1
  240. package/dist/xlsx/layout/header-footer.d.ts +58 -0
  241. package/dist/xlsx/layout/header-footer.d.ts.map +1 -0
  242. package/dist/xlsx/layout/index.d.ts +5 -0
  243. package/dist/xlsx/layout/index.d.ts.map +1 -1
  244. package/dist/xlsx/layout/print-breaks.d.ts +11 -0
  245. package/dist/xlsx/layout/print-breaks.d.ts.map +1 -0
  246. package/dist/xlsx/layout/print-layout.d.ts +34 -0
  247. package/dist/xlsx/layout/print-layout.d.ts.map +1 -0
  248. package/dist/xlsx/layout/print-merges.d.ts +18 -0
  249. package/dist/xlsx/layout/print-merges.d.ts.map +1 -0
  250. package/dist/xlsx/layout/print-repeat.d.ts +12 -0
  251. package/dist/xlsx/layout/print-repeat.d.ts.map +1 -0
  252. package/dist/xlsx/layout/print-titles.d.ts +20 -0
  253. package/dist/xlsx/layout/print-titles.d.ts.map +1 -0
  254. package/dist/xlsx/layout/sparkline-data.d.ts.map +1 -1
  255. package/dist/xlsx/layout/sparkline-view.d.ts.map +1 -1
  256. package/dist/xlsx/load/index.cjs +7784 -6976
  257. package/dist/xlsx/load/index.mjs +7784 -6976
  258. package/dist/xlsx/model-pivots.d.ts +46 -0
  259. package/dist/xlsx/model-pivots.d.ts.map +1 -0
  260. package/dist/xlsx/model.d.ts +5 -0
  261. package/dist/xlsx/model.d.ts.map +1 -1
  262. package/dist/xlsx/pivot/admission.d.ts +5 -0
  263. package/dist/xlsx/pivot/admission.d.ts.map +1 -0
  264. package/dist/xlsx/pivot/aggregate.d.ts +19 -0
  265. package/dist/xlsx/pivot/aggregate.d.ts.map +1 -0
  266. package/dist/xlsx/pivot/cache-xml.d.ts +9 -0
  267. package/dist/xlsx/pivot/cache-xml.d.ts.map +1 -0
  268. package/dist/xlsx/pivot/data.d.ts +12 -0
  269. package/dist/xlsx/pivot/data.d.ts.map +1 -0
  270. package/dist/xlsx/pivot/hierarchy.d.ts +7 -0
  271. package/dist/xlsx/pivot/hierarchy.d.ts.map +1 -0
  272. package/dist/xlsx/pivot/index.d.ts +3 -0
  273. package/dist/xlsx/pivot/index.d.ts.map +1 -0
  274. package/dist/xlsx/pivot/read.d.ts +5 -0
  275. package/dist/xlsx/pivot/read.d.ts.map +1 -0
  276. package/dist/xlsx/pivot/table-xml.d.ts +5 -0
  277. package/dist/xlsx/pivot/table-xml.d.ts.map +1 -0
  278. package/dist/xlsx/pivot/write.d.ts +11 -0
  279. package/dist/xlsx/pivot/write.d.ts.map +1 -0
  280. package/dist/xlsx/read/load.d.ts.map +1 -1
  281. package/dist/xlsx/read/sheet-props.d.ts.map +1 -1
  282. package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -1
  283. package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -1
  284. package/dist/xlsx/ui/commands/i18n/pivots.d.ts +3 -0
  285. package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -0
  286. package/dist/xlsx/ui/commands/i18n/print-layout.d.ts +3 -0
  287. package/dist/xlsx/ui/commands/i18n/print-layout.d.ts.map +1 -0
  288. package/dist/xlsx/ui/commands/i18n/sparklines.d.ts +3 -0
  289. package/dist/xlsx/ui/commands/i18n/sparklines.d.ts.map +1 -0
  290. package/dist/xlsx/ui/commands/i18n/tools.d.ts.map +1 -1
  291. package/dist/xlsx/ui/commands/page-breaks.d.ts +3 -0
  292. package/dist/xlsx/ui/commands/page-breaks.d.ts.map +1 -0
  293. package/dist/xlsx/ui/index.cjs +2001 -288
  294. package/dist/xlsx/ui/index.d.ts +1 -0
  295. package/dist/xlsx/ui/index.d.ts.map +1 -1
  296. package/dist/xlsx/ui/index.mjs +2001 -289
  297. package/dist/xlsx/write/page-setup.d.ts.map +1 -1
  298. package/dist/xlsx/write/save.d.ts.map +1 -1
  299. package/dist/xlsx/write/sheet-parts.d.ts +1 -0
  300. package/dist/xlsx/write/sheet-parts.d.ts.map +1 -1
  301. package/dist/xlsx/write/workbook-part.d.ts +1 -1
  302. package/dist/xlsx/write/workbook-part.d.ts.map +1 -1
  303. package/dist/xlsx/write/worksheet.d.ts.map +1 -1
  304. package/package.json +1 -1
  305. package/dist/pptx/chunks/index-Cn-GzYGp.d.ts.map +0 -1
  306. package/dist/pptx/chunks/text-operations-BHfAm5K9.d.ts.map +0 -1
@@ -3292,8 +3292,8 @@ function named(element, local, ns, lenient = true) {
3292
3292
  }
3293
3293
  var children = (parent, local, ns, lenient = true) => elements(parent).filter((element) => named(element, local, ns, lenient));
3294
3294
  var first = (parent, local, ns, lenient = true) => parent ? children(parent, local, ns, lenient)[0] : void 0;
3295
- function attr(element, local, ns, prefix) {
3296
- return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${prefix}:${local}`) ?? void 0;
3295
+ function attr(element, local, ns, prefix2) {
3296
+ return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${prefix2}:${local}`) ?? void 0;
3297
3297
  }
3298
3298
  var relAttr = (element, local) => attr(element, local, NS.r, "r");
3299
3299
 
@@ -3491,7 +3491,7 @@ async function applyCoreProperties(zip, next, prior) {
3491
3491
  const root = doc.documentElement;
3492
3492
  for (const field of PROPERTY_FIELDS) {
3493
3493
  if ((next?.[field] ?? "") === (prior?.[field] ?? "")) continue;
3494
- const [prefix, ns] = PREFIX[field];
3494
+ const [prefix2, ns] = PREFIX[field];
3495
3495
  let element = child2(root, field);
3496
3496
  const value = next?.[field] ?? "";
3497
3497
  if (!value) {
@@ -3499,7 +3499,7 @@ async function applyCoreProperties(zip, next, prior) {
3499
3499
  continue;
3500
3500
  }
3501
3501
  if (!element) {
3502
- element = doc.createElementNS(ns, `${prefix}:${field}`);
3502
+ element = doc.createElementNS(ns, `${prefix2}:${field}`);
3503
3503
  root.appendChild(element);
3504
3504
  }
3505
3505
  element.textContent = value;
@@ -4524,6 +4524,36 @@ function writeTable(doc, table, node, base, writeParagraph, replaceSlots2) {
4524
4524
  return node;
4525
4525
  }
4526
4526
 
4527
+ // docx/write-footnote-columns.ts
4528
+ var W15 = "http://schemas.microsoft.com/office/word/2012/wordml";
4529
+ var XMLNS = "http://www.w3.org/2000/xmlns/";
4530
+ var MC = "http://schemas.openxmlformats.org/markup-compatibility/2006";
4531
+ function prefix(doc, preferred, namespace) {
4532
+ let name = preferred;
4533
+ for (let suffix = 1; doc.documentElement.lookupNamespaceURI(name) && doc.documentElement.lookupNamespaceURI(name) !== namespace; suffix++)
4534
+ name = preferred + suffix;
4535
+ doc.documentElement.setAttributeNS(XMLNS, "xmlns:" + name, namespace);
4536
+ return name;
4537
+ }
4538
+ function writeFootnoteColumns(doc, section, value) {
4539
+ if (value !== void 0 && (!Number.isInteger(value) || value < 0 || value > 2147483647))
4540
+ throw new Error("Footnote column count must be an integer from 0 to 2147483647.");
4541
+ const old = elements(section).filter(
4542
+ (element2) => element2.namespaceURI === W15 && element2.localName === "footnoteColumns"
4543
+ );
4544
+ for (const element2 of old) section.removeChild(element2);
4545
+ if (value === void 0) return;
4546
+ const w15 = prefix(doc, "w15", W15), mc = prefix(doc, "mc", MC);
4547
+ const ignored = new Set(
4548
+ (doc.documentElement.getAttributeNS(MC, "Ignorable") ?? "").split(/\s+/).filter(Boolean)
4549
+ );
4550
+ ignored.add(w15);
4551
+ doc.documentElement.setAttributeNS(MC, mc + ":Ignorable", [...ignored].join(" "));
4552
+ const element = doc.createElementNS(W15, w15 + ":footnoteColumns");
4553
+ element.setAttributeNS(WORD_NS, "w:val", String(value));
4554
+ section.appendChild(element);
4555
+ }
4556
+
4527
4557
  // docx/parse-diagnostics.ts
4528
4558
  var sink;
4529
4559
  function withParseWarnings(warnings, fn) {
@@ -4842,6 +4872,7 @@ var WRITABLE = /* @__PURE__ */ new Set([
4842
4872
  "footerDistanceTwips",
4843
4873
  "gutterTwips",
4844
4874
  "columns",
4875
+ "footnoteColumns",
4845
4876
  "titlePage",
4846
4877
  "verticalAlign",
4847
4878
  "pageNumbering",
@@ -4905,6 +4936,8 @@ var AFTER_TITLEPG = [
4905
4936
  var AFTER_PGBORDERS = ["lnNumType", ...AFTER_LNNUM];
4906
4937
  var AFTER_TYPE = ["pgSz", ...AFTER_PGSZ];
4907
4938
  function writeSectionProperties(doc, sectPr, section, base) {
4939
+ if (section.footnoteColumns !== base?.footnoteColumns)
4940
+ writeFootnoteColumns(doc, sectPr, section.footnoteColumns);
4908
4941
  if (section.type === "nextPage")
4909
4942
  for (const type of children2(sectPr, "type")) sectPr.removeChild(type);
4910
4943
  else setW5(child3(doc, sectPr, "type", AFTER_TYPE), "val", section.type);
@@ -5510,8 +5543,8 @@ var LIGATURE_VALUES = [
5510
5543
  ];
5511
5544
  var isLigatures = (value) => typeof value === "string" && LIGATURE_VALUES.includes(value);
5512
5545
  var WORD_2010_NS = "http://schemas.microsoft.com/office/word/2010/wordml";
5513
- var MC = "http://schemas.openxmlformats.org/markup-compatibility/2006";
5514
- var XMLNS = "http://www.w3.org/2000/xmlns/";
5546
+ var MC2 = "http://schemas.openxmlformats.org/markup-compatibility/2006";
5547
+ var XMLNS2 = "http://www.w3.org/2000/xmlns/";
5515
5548
  var ligatureElements = (props) => elements(props).filter(
5516
5549
  (element) => element.namespaceURI === WORD_2010_NS && element.localName === "ligatures"
5517
5550
  );
@@ -5521,24 +5554,24 @@ var parseLigatures = (props) => {
5521
5554
  };
5522
5555
  function extensionPrefix(doc, ns, preferred) {
5523
5556
  const root = doc.documentElement;
5524
- let prefix = preferred;
5525
- for (let index = 1; root.lookupNamespaceURI(prefix) && root.lookupNamespaceURI(prefix) !== ns; index++)
5526
- prefix = `${preferred}${index}`;
5527
- root.setAttributeNS(XMLNS, `xmlns:${prefix}`, ns);
5528
- return prefix;
5557
+ let prefix2 = preferred;
5558
+ for (let index = 1; root.lookupNamespaceURI(prefix2) && root.lookupNamespaceURI(prefix2) !== ns; index++)
5559
+ prefix2 = `${preferred}${index}`;
5560
+ root.setAttributeNS(XMLNS2, `xmlns:${prefix2}`, ns);
5561
+ return prefix2;
5529
5562
  }
5530
5563
  function writeLigatures(doc, props, value) {
5531
5564
  for (const element2 of ligatureElements(props)) props.removeChild(element2);
5532
5565
  if (value === void 0) return;
5533
- const prefix = extensionPrefix(doc, WORD_2010_NS, "w14");
5534
- const mc = extensionPrefix(doc, MC, "mc");
5566
+ const prefix2 = extensionPrefix(doc, WORD_2010_NS, "w14");
5567
+ const mc = extensionPrefix(doc, MC2, "mc");
5535
5568
  const ignored = new Set(
5536
- (doc.documentElement.getAttributeNS(MC, "Ignorable") ?? "").split(/\s+/).filter(Boolean)
5569
+ (doc.documentElement.getAttributeNS(MC2, "Ignorable") ?? "").split(/\s+/).filter(Boolean)
5537
5570
  );
5538
- ignored.add(prefix);
5539
- doc.documentElement.setAttributeNS(MC, `${mc}:Ignorable`, [...ignored].join(" "));
5540
- const element = doc.createElementNS(WORD_2010_NS, `${prefix}:ligatures`);
5541
- element.setAttributeNS(WORD_2010_NS, `${prefix}:val`, value);
5571
+ ignored.add(prefix2);
5572
+ doc.documentElement.setAttributeNS(MC2, `${mc}:Ignorable`, [...ignored].join(" "));
5573
+ const element = doc.createElementNS(WORD_2010_NS, `${prefix2}:ligatures`);
5574
+ element.setAttributeNS(WORD_2010_NS, `${prefix2}:val`, value);
5542
5575
  props.appendChild(element);
5543
5576
  }
5544
5577
 
@@ -7231,7 +7264,7 @@ function readBuiltInChartStyle(root) {
7231
7264
  for (const content of children(root, "AlternateContent", NS.mc)) {
7232
7265
  for (const choice of children(content, "Choice", NS.mc)) {
7233
7266
  const requires = choice.getAttribute("Requires")?.trim().split(/\s+/);
7234
- if (!requires?.length || !requires.every((prefix) => choice.lookupNamespaceURI(prefix) === C14))
7267
+ if (!requires?.length || !requires.every((prefix2) => choice.lookupNamespaceURI(prefix2) === C14))
7235
7268
  continue;
7236
7269
  const modern = first(choice, "style", C14)?.getAttribute("val");
7237
7270
  if (modern && /^\d+$/.test(modern) && Number(modern) >= 101 && Number(modern) <= 148)
@@ -7393,12 +7426,12 @@ var CHART_ROOT_BINDINGS = /* @__PURE__ */ new Map([
7393
7426
  var DECLARATION = / xmlns:([A-Za-z_][\w.-]*)="([^"]*)"/g;
7394
7427
  function stripDeclarations(xml, bindings) {
7395
7428
  const conflicting = /* @__PURE__ */ new Set();
7396
- for (const [, prefix, uri] of xml.matchAll(DECLARATION))
7397
- if (prefix !== void 0 && bindings.has(prefix) && bindings.get(prefix) !== uri)
7398
- conflicting.add(prefix);
7429
+ for (const [, prefix2, uri] of xml.matchAll(DECLARATION))
7430
+ if (prefix2 !== void 0 && bindings.has(prefix2) && bindings.get(prefix2) !== uri)
7431
+ conflicting.add(prefix2);
7399
7432
  return xml.replace(
7400
7433
  DECLARATION,
7401
- (match, prefix, uri) => bindings.get(prefix) === uri && !conflicting.has(prefix) ? "" : match
7434
+ (match, prefix2, uri) => bindings.get(prefix2) === uri && !conflicting.has(prefix2) ? "" : match
7402
7435
  );
7403
7436
  }
7404
7437
  var innerXml = (element) => stripDeclarations(elements(element).map(buildXml).join(""), CHART_ROOT_BINDINGS);
@@ -9038,6 +9071,10 @@ function createRun(doc, run, base, old, allocator) {
9038
9071
  node.appendChild(code);
9039
9072
  return node;
9040
9073
  }
9074
+ if (run.noteSeparator) {
9075
+ node.appendChild(makeW(doc, run.noteSeparator));
9076
+ return node;
9077
+ }
9041
9078
  if (run.noteMark) {
9042
9079
  node.appendChild(makeW(doc, run.noteMark === "footnote" ? "footnoteRef" : "endnoteRef"));
9043
9080
  return node;
@@ -11049,7 +11086,12 @@ async function applyNoteEdits(zip, model, base, pendingMedia, docPrIds) {
11049
11086
  const original = baseNotes.get(note.id);
11050
11087
  return !original || JSON.stringify(original.blocks) !== JSON.stringify(note.blocks);
11051
11088
  });
11052
- if (!edited.length && !removed.length) continue;
11089
+ const separators = kind === "footnote" ? model.footnoteSeparators : void 0;
11090
+ const baseSeparators = kind === "footnote" ? base.footnoteSeparators : void 0;
11091
+ const editedSeparators = ["separator", "continuationSeparator"].filter(
11092
+ (type) => separators?.[type] && JSON.stringify(separators[type].blocks) !== JSON.stringify(baseSeparators?.[type]?.blocks)
11093
+ );
11094
+ if (!edited.length && !removed.length && !editedSeparators.length) continue;
11053
11095
  const file = zip.file(part);
11054
11096
  const doc = parseXml2(file ? await file.async("string") : await createNotesPart(zip, kind));
11055
11097
  const elements2 = new Map(
@@ -11061,6 +11103,24 @@ async function applyNoteEdits(zip, model, base, pendingMedia, docPrIds) {
11061
11103
  doc.documentElement.removeChild(element);
11062
11104
  }
11063
11105
  const allocator = await allocatorForPart(zip, part, doc, docPrIds);
11106
+ for (const type of editedSeparators) {
11107
+ const separator = separators[type];
11108
+ let element = children2(doc.documentElement, kind).find((node) => getW(node, "type") === type);
11109
+ if (!element) {
11110
+ element = doc.createElementNS(WORD_NS3, `w:${kind}`);
11111
+ element.setAttributeNS(WORD_NS3, "w:id", separator.id);
11112
+ element.setAttributeNS(WORD_NS3, "w:type", type);
11113
+ doc.documentElement.appendChild(element);
11114
+ }
11115
+ applyBlocks(
11116
+ doc,
11117
+ element,
11118
+ separator.blocks,
11119
+ baseSeparators?.[type]?.blocks ?? [],
11120
+ allocator,
11121
+ contentWidthTwips
11122
+ );
11123
+ }
11064
11124
  for (const note of edited) {
11065
11125
  let element = elements2.get(note.id);
11066
11126
  const original = baseNotes.get(note.id);
@@ -11228,6 +11288,43 @@ async function applyTrackChangesSetting(zip, enabled2) {
11228
11288
  }
11229
11289
  await applySettingsFlag(zip, "trackRevisions", enabled2);
11230
11290
  }
11291
+ async function applyCompatibilityMode(zip, mode) {
11292
+ if (mode !== void 0 && (!Number.isInteger(mode) || mode <= 0 || mode > 2147483647))
11293
+ throw new RangeError("Compatibility mode must be a positive integer.");
11294
+ const file = zip.file(SETTINGS_PATH);
11295
+ if (!file && mode === void 0) return;
11296
+ const doc = parseXml2(
11297
+ await file?.async("string") ?? `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:settings xmlns:w="${WORD_NS}"/>`
11298
+ );
11299
+ const root = doc.documentElement;
11300
+ let compat = children2(root, "compat")[0];
11301
+ if (!compat && mode !== void 0) {
11302
+ compat = makeW(doc, "compat");
11303
+ const rank = SETTINGS_ORDER.indexOf("compat");
11304
+ const after = Array.from(root.childNodes).find(
11305
+ (node) => node.nodeType === 1 && SETTINGS_ORDER.indexOf(node.localName ?? "") > rank
11306
+ );
11307
+ root.insertBefore(compat, after ?? null);
11308
+ }
11309
+ const uri = "http://schemas.microsoft.com/office/word";
11310
+ if (compat) {
11311
+ for (const setting of children2(compat, "compatSetting"))
11312
+ if (setting.getAttributeNS(WORD_NS, "name") === "compatibilityMode" && setting.getAttributeNS(WORD_NS, "uri") === uri)
11313
+ compat.removeChild(setting);
11314
+ if (mode !== void 0) {
11315
+ const setting = makeW(doc, "compatSetting");
11316
+ setting.setAttributeNS(WORD_NS, "w:name", "compatibilityMode");
11317
+ setting.setAttributeNS(WORD_NS, "w:uri", uri);
11318
+ setting.setAttributeNS(WORD_NS, "w:val", String(mode));
11319
+ compat.appendChild(setting);
11320
+ }
11321
+ }
11322
+ zip.file(SETTINGS_PATH, buildXml(doc));
11323
+ if (!file) {
11324
+ await ensureContentTypeOverride(zip, SETTINGS_PATH, SETTINGS_CONTENT_TYPE);
11325
+ await ensureDocumentRelationship(zip, SETTINGS_RELATIONSHIP_TYPE, "settings.xml");
11326
+ }
11327
+ }
11231
11328
 
11232
11329
  // docx/page-background.ts
11233
11330
  var HEX = /^[0-9a-fA-F]{6}$/;
@@ -11406,6 +11503,7 @@ function documentBlockLists(model) {
11406
11503
  (slots) => Object.values(slots ?? {}).flatMap((content) => content ? [content.blocks] : [])
11407
11504
  )
11408
11505
  ),
11506
+ ...Object.values(model.footnoteSeparators ?? {}).map((note) => note.blocks),
11409
11507
  ...[...model.footnotes ?? [], ...model.endnotes ?? []].map((note) => note.blocks)
11410
11508
  ];
11411
11509
  }
@@ -11438,6 +11536,14 @@ function mapDocumentParagraphs(model, map) {
11438
11536
  ...section.footers ? { footers: slots(section.footers) } : {}
11439
11537
  }))
11440
11538
  } : {},
11539
+ ...model.footnoteSeparators ? {
11540
+ footnoteSeparators: Object.fromEntries(
11541
+ Object.entries(model.footnoteSeparators).map(([kind, note]) => [
11542
+ kind,
11543
+ { ...note, blocks: mapBlockParagraphs(note.blocks, map) }
11544
+ ])
11545
+ )
11546
+ } : {},
11441
11547
  ...model.footnotes ? {
11442
11548
  footnotes: model.footnotes.map((note) => ({
11443
11549
  ...note,
@@ -11618,6 +11724,8 @@ async function saveDocx(model, pendingMedia) {
11618
11724
  await applyNumberingCatalog(zip, model, binding);
11619
11725
  await applyCoreProperties(zip, model.properties, binding?.base.properties);
11620
11726
  if (binding) await applyStyleNumbering(zip, model, binding.base);
11727
+ if (model.compatibilityMode !== binding?.base.compatibilityMode)
11728
+ await applyCompatibilityMode(zip, model.compatibilityMode);
11621
11729
  if (Boolean(model.evenAndOddHeaders) !== Boolean(binding?.base.evenAndOddHeaders))
11622
11730
  await applySettingsFlag(zip, "evenAndOddHeaders", Boolean(model.evenAndOddHeaders));
11623
11731
  if (model.pageColor !== binding?.base.pageColor)
@@ -11688,6 +11796,20 @@ function parseCell(cell, parseParagraph3, id) {
11688
11796
  if (margins) result.margins = margins;
11689
11797
  const nested = children2(cell, "tbl").map(nestedPreview);
11690
11798
  if (nested.length) result.nestedTables = nested;
11799
+ if (nested.length) {
11800
+ let paragraphIndex = 0, tableIndex = 0;
11801
+ result.sourceBlocks = Array.from(cell.childNodes).flatMap(
11802
+ (child4) => {
11803
+ if (child4.nodeType !== 1) return [];
11804
+ const element = child4;
11805
+ if (element.namespaceURI !== WORD_NS) return [];
11806
+ if (element.localName === "p") return [result.paragraphs[paragraphIndex++]];
11807
+ if (element.localName === "tbl")
11808
+ return [parseTable(element, `${id}-nested${tableIndex++}`, parseParagraph3)];
11809
+ return [];
11810
+ }
11811
+ );
11812
+ }
11691
11813
  return result;
11692
11814
  }
11693
11815
  function parseLook(element) {
@@ -11902,6 +12024,7 @@ function parseRun2(node, revision) {
11902
12024
  let breakKind;
11903
12025
  let noteReference;
11904
12026
  let noteMark;
12027
+ let noteSeparator;
11905
12028
  let fieldChar;
11906
12029
  const fieldCode = content.length > 0 && content.every((child4) => named2(child4, "instrText")) ? content.map((child4) => textContent(child4)).join("") : void 0;
11907
12030
  const only = content.length === 1 ? content[0] : void 0;
@@ -11917,6 +12040,8 @@ function parseRun2(node, revision) {
11917
12040
  if (id) noteReference = { kind: "endnote", id };
11918
12041
  } else if (named2(only, "footnoteRef")) noteMark = "footnote";
11919
12042
  else if (named2(only, "endnoteRef")) noteMark = "endnote";
12043
+ else if (named2(only, "separator")) noteSeparator = "separator";
12044
+ else if (named2(only, "continuationSeparator")) noteSeparator = "continuationSeparator";
11920
12045
  else if (named2(only, "fldChar")) {
11921
12046
  const type = getW(only, "fldCharType");
11922
12047
  if (type === "begin" || type === "separate" || type === "end") fieldChar = type;
@@ -11934,6 +12059,7 @@ function parseRun2(node, revision) {
11934
12059
  if (breakKind) run.break = breakKind;
11935
12060
  if (noteReference) run.noteReference = noteReference;
11936
12061
  if (noteMark) run.noteMark = noteMark;
12062
+ if (noteSeparator) run.noteSeparator = noteSeparator;
11937
12063
  if (fieldChar) {
11938
12064
  run.fieldChar = fieldChar;
11939
12065
  const flags = parseFieldFlags(only);
@@ -12110,6 +12236,14 @@ function pageBordersOf(element) {
12110
12236
  return borders ? { pageBorders: borders } : {};
12111
12237
  }
12112
12238
  function parseOneSection(section, endsAtBlockId) {
12239
+ const footnoteColumns = parseUnsignedInteger(
12240
+ getW(
12241
+ elements(section).find(
12242
+ (element) => element.localName === "footnoteColumns" && element.namespaceURI === "http://schemas.microsoft.com/office/word/2012/wordml"
12243
+ ),
12244
+ "val"
12245
+ )
12246
+ );
12113
12247
  const size = first2(section, "pgSz");
12114
12248
  const margins = first2(section, "pgMar");
12115
12249
  const typeValue = enumValue(isStSectionMark, getW(first2(section, "type"), "val"), "w:type");
@@ -12134,6 +12268,7 @@ function parseOneSection(section, endsAtBlockId) {
12134
12268
  ...footerDistance !== void 0 ? { footerDistanceTwips: footerDistance } : {},
12135
12269
  ...gutter !== void 0 ? { gutterTwips: gutter } : {},
12136
12270
  columns: parseColumns(section),
12271
+ ...footnoteColumns !== void 0 ? { footnoteColumns } : {},
12137
12272
  ...onOffElement(first2(section, "titlePg")) === true ? { titlePage: true } : {},
12138
12273
  ...vAlignValue ? { verticalAlign: vAlignValue } : {},
12139
12274
  ...pgNum ? {
@@ -12187,6 +12322,29 @@ function parseNotesPart(xml, kind, parseBlocks) {
12187
12322
  }
12188
12323
  return notes;
12189
12324
  }
12325
+ function parseFootnoteSeparators(xml, parseBlocks) {
12326
+ const root = parseXml2(xml).documentElement;
12327
+ const result = {};
12328
+ for (const element of children2(root, "footnote")) {
12329
+ const type = getW(element, "type");
12330
+ if (type !== "separator" && type !== "continuationSeparator") continue;
12331
+ for (const run of Array.from(element.getElementsByTagNameNS(root.namespaceURI, "r"))) {
12332
+ const content = Array.from(run.childNodes).filter((child4) => child4.nodeType === 1).filter((child4) => child4.localName !== "rPr");
12333
+ if (content.length < 2 || !content.some((child4) => skippedTypes.has(child4.localName)))
12334
+ continue;
12335
+ const props = children2(run, "rPr")[0];
12336
+ for (const child4 of content) {
12337
+ const split = run.cloneNode(false);
12338
+ if (props) split.appendChild(props.cloneNode(true));
12339
+ split.appendChild(child4.cloneNode(true));
12340
+ run.parentNode.insertBefore(split, run);
12341
+ }
12342
+ run.parentNode.removeChild(run);
12343
+ }
12344
+ result[type] = { id: getW(element, "id") ?? type, blocks: parseBlocks(element, `fn-${type}-`) };
12345
+ }
12346
+ return result;
12347
+ }
12190
12348
 
12191
12349
  // docx/document-parts.ts
12192
12350
  async function partContext(zip, path2, base) {
@@ -12202,6 +12360,10 @@ async function readPart(zip, path2) {
12202
12360
  function parseSettings(xml) {
12203
12361
  if (!xml) return { evenAndOddHeaders: false, autoHyphenation: false };
12204
12362
  const root = parseXml2(xml).documentElement;
12363
+ const compatibility = (first2(root, "compat") ? children2(first2(root, "compat"), "compatSetting") : []).find(
12364
+ (setting) => getW(setting, "name") === "compatibilityMode" && getW(setting, "uri") === "http://schemas.microsoft.com/office/word"
12365
+ );
12366
+ const compatibilityMode = compatibility ? Number(getW(compatibility, "val")) : void 0;
12205
12367
  const footnoteNumFmt = enumValue(
12206
12368
  isStNumberFormat,
12207
12369
  getW(first2(first2(root, "footnotePr"), "numFmt"), "val"),
@@ -12213,6 +12375,7 @@ function parseSettings(xml) {
12213
12375
  "w:endnotePr/w:numFmt"
12214
12376
  );
12215
12377
  return {
12378
+ ...compatibilityMode !== void 0 && Number.isInteger(compatibilityMode) && compatibilityMode > 0 ? { compatibilityMode } : {},
12216
12379
  evenAndOddHeaders: onOffElement(first2(root, "evenAndOddHeaders")) === true,
12217
12380
  autoHyphenation: onOffElement(first2(root, "autoHyphenation")) === true,
12218
12381
  ...footnoteNumFmt ? { footnoteNumFmt } : {},
@@ -12277,9 +12440,10 @@ async function parseDocumentParts(zip, body, blocks, drawings) {
12277
12440
  const endnotesXml = await readPart(zip, "word/endnotes.xml");
12278
12441
  const notesParser = async (path2) => {
12279
12442
  const context = await partContext(zip, path2, drawings);
12280
- return (container2, prefix) => withParseWarnings(warnings, () => parseBlocksFromContainer(container2, prefix, context));
12443
+ return (container2, prefix2) => withParseWarnings(warnings, () => parseBlocksFromContainer(container2, prefix2, context));
12281
12444
  };
12282
12445
  const footnotes = footnotesXml ? parseNotesPart(footnotesXml, "footnote", await notesParser("word/footnotes.xml")) : void 0;
12446
+ const footnoteSeparators = footnotesXml ? parseFootnoteSeparators(footnotesXml, await notesParser("word/footnotes.xml")) : void 0;
12283
12447
  const endnotes = endnotesXml ? parseNotesPart(endnotesXml, "endnote", await notesParser("word/endnotes.xml")) : void 0;
12284
12448
  if (sections.some((section) => section.columns.count > 1))
12285
12449
  warnings.push(
@@ -12291,7 +12455,9 @@ async function parseDocumentParts(zip, body, blocks, drawings) {
12291
12455
  );
12292
12456
  return {
12293
12457
  sections,
12458
+ ...settings.compatibilityMode !== void 0 ? { compatibilityMode: settings.compatibilityMode } : {},
12294
12459
  ...footnotes ? { footnotes } : {},
12460
+ ...footnoteSeparators ? { footnoteSeparators } : {},
12295
12461
  ...endnotes ? { endnotes } : {},
12296
12462
  ...settings.footnoteNumFmt ? { footnoteNumFmt: settings.footnoteNumFmt } : {},
12297
12463
  ...settings.endnoteNumFmt ? { endnoteNumFmt: settings.endnoteNumFmt } : {},
@@ -12529,7 +12695,9 @@ async function readPackage(input) {
12529
12695
  );
12530
12696
  const parts = await parseDocumentParts(zip, body, blocks, drawings);
12531
12697
  model.sections = parts.sections;
12698
+ if (parts.compatibilityMode !== void 0) model.compatibilityMode = parts.compatibilityMode;
12532
12699
  if (parts.footnotes) model.footnotes = parts.footnotes;
12700
+ if (parts.footnoteSeparators) model.footnoteSeparators = parts.footnoteSeparators;
12533
12701
  if (parts.endnotes) model.endnotes = parts.endnotes;
12534
12702
  if (parts.footnoteNumFmt) model.footnoteNumFmt = parts.footnoteNumFmt;
12535
12703
  if (parts.endnoteNumFmt) model.endnoteNumFmt = parts.endnoteNumFmt;
@@ -12576,6 +12744,7 @@ async function readPackage(input) {
12576
12744
  (slots) => Object.values(slots ?? {}).flatMap((content) => content?.blocks ?? [])
12577
12745
  )
12578
12746
  ),
12747
+ ...Object.values(model.footnoteSeparators ?? {}).flatMap((note) => note.blocks),
12579
12748
  ...[...model.footnotes ?? [], ...model.endnotes ?? []].flatMap((note) => note.blocks)
12580
12749
  ];
12581
12750
  await resolveDocumentDiagrams(
@@ -81,6 +81,8 @@ export interface TextRun {
81
81
  };
82
82
  /** The automatic number mark (`w:footnoteRef`/`w:endnoteRef`) that starts a note's own text. */
83
83
  noteMark?: 'footnote' | 'endnote';
84
+ /** Automatic horizontal rule in a note separator story. */
85
+ noteSeparator?: 'separator' | 'continuationSeparator';
84
86
  /**
85
87
  * Present on runs holding a field's displayed result (`w:fldSimple`, or text between a complex
86
88
  * field's `separate` and `end`). Cached display metadata; saving does not recalculate instructions.
@@ -1 +1 @@
1
- {"version":3,"file":"model-run.d.ts","sourceRoot":"","sources":["../../docx/model-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-run.d.ts","sourceRoot":"","sources":["../../docx/model-run.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,13 @@ export interface DocumentModel {
80
80
  /** Page colour (`w:document/w:background`), six uppercase hex digits without `#`; unset for none. */
81
81
  pageColor?: string;
82
82
  footnotes?: Note[];
83
+ /** Saved Word layout compatibility mode; native mode15 footnotes use independent columns. */
84
+ compatibilityMode?: number;
85
+ /** Custom separator stories, including explicitly empty separators. */
86
+ footnoteSeparators?: {
87
+ separator?: Note;
88
+ continuationSeparator?: Note;
89
+ };
83
90
  endnotes?: Note[];
84
91
  /** Raw `w:footnotePr/w:numFmt` token from settings.xml; defaults to `decimal`. */
85
92
  footnoteNumFmt?: StNumberFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../docx/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../docx/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EACX,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,OAAO,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,EACJ,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,iBAAiB,CAAC;AACzB,8EAA8E;AAC9E,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,YAAY,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,GAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,sBAAsB,EACtB,+BAA+B,EAC/B,oBAAoB,EACpB,iBAAiB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC;AACvC,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,oGAAoG;IACpG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,8GAA8G;IAC9G,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,eAAe,EAAE,YAAY,CAAC;IAC/C,qGAAqG;IACrG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,eAAe,EAAE,SAAS,CAAC;IACzC,iFAAiF;IACjF,WAAW,CAAC,EAAE,OAAO,eAAe,EAAE,gBAAgB,CAAC;IACvD,sFAAsF;IACtF,aAAa,CAAC,EAAE,OAAO,eAAe,EAAE,kBAAkB,EAAE,CAAC;CAC7D;AACD,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AACtC,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,wFAAwF;IACxF,IAAI,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qFAAqF;IACrF,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,kGAAkG;IAClG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACnB,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,kBAAkB,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,qBAAqB,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IACxE,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,kFAAkF;IAClF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oFAAoF;IACpF,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+FAA+F;IAC/F,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,eAAe,EAAE,YAAY,CAAC;CAC7C;AACD,qHAAqH;AACrH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB;sGACkG;IAClG,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC;6HACyH;IACzH,IAAI,CACH,KAAK,CAAC,EAAE,aAAa,EACrB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,CAAC;CACvB;AACD,wBAAgB,cAAc,IAAI,aAAa,CAc9C"}
@@ -2,6 +2,11 @@ import type { Block, Note } from './model.js';
2
2
  import { type XmlElement } from './xml.js';
3
3
  /** Parses `word/footnotes.xml` or `word/endnotes.xml`, skipping Word's separator marks. */
4
4
  export declare function parseNotesPart(xml: string, kind: 'footnote' | 'endnote', parseBlocks: (container: XmlElement, idPrefix: string) => Block[]): Note[];
5
+ /** Separator stories are separate from numbered notes and never receive note numbers. */
6
+ export declare function parseFootnoteSeparators(xml: string, parseBlocks: (container: XmlElement, idPrefix: string) => Block[]): {
7
+ separator?: Note;
8
+ continuationSeparator?: Note;
9
+ };
5
10
  /** Renders a 1-based note number in a Word `w:numFmt` display format. */
6
11
  export declare function formatNoteNumber(value: number, format: string | undefined): string;
7
12
  /** Assigns 1-based note numbers by first-reference order, the same order Word displays. */
@@ -1 +1 @@
1
- {"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../../docx/notes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAa,MAAM,SAAS,CAAC;AACtD,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlE,2FAA2F;AAC3F,wBAAgB,cAAc,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,WAAW,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,KAAK,EAAE,GAC/D,IAAI,EAAE,CAaR;AAuCD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAelF;AAqBD,2FAA2F;AAC3F,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,KAAK,EAAE,EACf,IAAI,EAAE,UAAU,GAAG,SAAS,GAC1B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAIrB"}
1
+ {"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../../docx/notes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAa,MAAM,SAAS,CAAC;AAEtD,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlE,2FAA2F;AAC3F,wBAAgB,cAAc,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,WAAW,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,KAAK,EAAE,GAC/D,IAAI,EAAE,CAaR;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,KAAK,EAAE,GAC/D;IAAE,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,qBAAqB,CAAC,EAAE,IAAI,CAAA;CAAE,CAyBpD;AAuCD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAelF;AAqBD,2FAA2F;AAC3F,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,KAAK,EAAE,EACf,IAAI,EAAE,UAAU,GAAG,SAAS,GAC1B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAIrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-table.d.ts","sourceRoot":"","sources":["../../docx/parse-table.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAyB,KAAK,UAAU,EAAW,MAAM,OAAO,CAAC;AA4HxE,8FAA8F;AAC9F,wBAAgB,UAAU,CACzB,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,KAAK,SAAS,GACtD,KAAK,CA8CP"}
1
+ {"version":3,"file":"parse-table.d.ts","sourceRoot":"","sources":["../../docx/parse-table.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAyB,KAAK,UAAU,EAAW,MAAM,OAAO,CAAC;AA2IxE,8FAA8F;AAC9F,wBAAgB,UAAU,CACzB,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,KAAK,SAAS,GACtD,KAAK,CA8CP"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../docx/parse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAS,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAwBpE,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,aAAa,CAAC;CACpB;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IAC3E,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACvC,CAAC,CAwLD;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAUvF"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../docx/parse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAS,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAwBpE,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,aAAa,CAAC;CACpB;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IAC3E,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACvC,CAAC,CA2LD;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAUvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../docx/save.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA0B9C,wBAAgB,QAAQ,CACvB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,aAA4B,GAChC,IAAI,CAEN;AAOD,wBAAsB,QAAQ,CAC7B,KAAK,EAAE,aAAa,EACpB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,CA2HrB"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../docx/save.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA0B9C,wBAAgB,QAAQ,CACvB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,aAA4B,GAChC,IAAI,CAEN;AAOD,wBAAsB,QAAQ,CAC7B,KAAK,EAAE,aAAa,EACpB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAClD,OAAO,CAAC,UAAU,CAAC,CA6HrB"}
@@ -76,6 +76,8 @@ export interface SectionProperties {
76
76
  footerDistanceTwips?: Twips;
77
77
  gutterTwips?: Twips;
78
78
  columns: SectionColumns;
79
+ /** w15:footnoteColumns; zero or absent matches the section columns. */
80
+ footnoteColumns?: number;
79
81
  /** `w:titlePg`: the section's first page uses distinct first-page headers/footers. */
80
82
  titlePage?: boolean;
81
83
  verticalAlign?: StVerticalJc;
@@ -1 +1 @@
1
- {"version":3,"file":"section-model.d.ts","sourceRoot":"","sources":["../../docx/section-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section-model.d.ts","sourceRoot":"","sources":["../../docx/section-model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../docx/sections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAkB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAiBjF,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;CACZ;AACD,+FAA+F;AAC/F,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,SAAS,CAAC;IACjF,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACjC;AA0GD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAqBhF"}
1
+ {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../docx/sections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAkB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAiB3F,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;CACZ;AACD,+FAA+F;AAC/F,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,SAAS,CAAC;IACjF,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAqHD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAqBhF"}
@@ -13,4 +13,6 @@ export declare function parseReviewPreferences(xml: string): {
13
13
  export declare function applySettingsFlag(zip: JSZip, name: string, enabled: boolean): Promise<void>;
14
14
  /** Word's Review > Track Changes toggle, written as `w:trackRevisions`. */
15
15
  export declare function applyTrackChangesSetting(zip: JSZip, enabled: boolean): Promise<void>;
16
+ /** Changes only the compatibility-mode setting, preserving other compatibility flags. */
17
+ export declare function applyCompatibilityMode(zip: JSZip, mode: number | undefined): Promise<void>;
16
18
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../docx/settings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgH/B,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAM7D;AAED,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG;IACpD,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACpB,CAMA;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBjG;AAED,2EAA2E;AAC3E,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1F"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../docx/settings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgH/B,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAM7D;AAED,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG;IACpD,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACpB,CAMA;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBjG;AAED,2EAA2E;AAC3E,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1F;AAED,yFAAyF;AACzF,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChG"}
@@ -1,4 +1,4 @@
1
- import type { Paragraph } from './model.js';
1
+ import type { Block, Paragraph } from './model.js';
2
2
  import type { RunFormatting } from './run-style-model.js';
3
3
  import type { ThemeColorReference, ThemeColorToken } from './theme-model.js';
4
4
  import type { StBorder, StVerticalJc } from './generated/wml-simple-types.js';
@@ -66,6 +66,8 @@ export interface TableCell {
66
66
  margins?: TableCellMargins;
67
67
  /** Tables nested directly in this cell's XML, preserved but read-only in the editor. */
68
68
  nestedTables?: NestedTablePreview[];
69
+ /** Parsed OOXML child order for cells containing nested tables. Read-only source content. */
70
+ sourceBlocks?: Block[];
69
71
  }
70
72
  /** Which `tblStyle` conditional formatting regions apply, from `w:tblLook`. */
71
73
  export interface TableLook {
@@ -1 +1 @@
1
- {"version":3,"file":"table-model.d.ts","sourceRoot":"","sources":["../../docx/table-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-model.d.ts","sourceRoot":"","sources":["../../docx/table-model.ts"],"names":[],"mappings":"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"}