@cj-tech-master/excelts 9.5.4 → 9.5.5

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 (767) hide show
  1. package/dist/browser/modules/archive/compression/streaming-compress.browser.js +29 -0
  2. package/dist/browser/modules/archive/compression/streaming-compress.js +9 -0
  3. package/dist/browser/modules/archive/compression/worker-pool/pool.browser.js +26 -1
  4. package/dist/browser/modules/archive/fs/archive-file.d.ts +8 -5
  5. package/dist/browser/modules/archive/fs/archive-file.js +78 -16
  6. package/dist/browser/modules/archive/unzip/stream.browser.js +43 -2
  7. package/dist/browser/modules/excel/chart/chart-ex-builder.js +7 -2
  8. package/dist/browser/modules/excel/chart/chart-ex-renderer.js +4 -9
  9. package/dist/browser/modules/excel/chart/chart-ex-types.d.ts +0 -12
  10. package/dist/browser/modules/excel/chart/chart.d.ts +1 -5
  11. package/dist/browser/modules/excel/chart/chart.js +1 -7
  12. package/dist/browser/modules/excel/chart/types.d.ts +0 -6
  13. package/dist/browser/modules/excel/stream/workbook-reader.browser.js +25 -1
  14. package/dist/browser/modules/excel/stream/workbook-reader.js +9 -0
  15. package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +40 -0
  16. package/dist/browser/modules/excel/stream/workbook-writer.browser.js +228 -13
  17. package/dist/browser/modules/excel/utils/string-buf.d.ts +5 -26
  18. package/dist/browser/modules/excel/utils/string-buf.js +4 -81
  19. package/dist/browser/modules/excel/workbook.browser.js +135 -25
  20. package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
  21. package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +19 -9
  22. package/dist/browser/modules/excel/xlsx/xlsx.browser.js +32 -8
  23. package/dist/browser/modules/excel/xlsx/xlsx.d.ts +10 -2
  24. package/dist/browser/modules/excel/xlsx/xlsx.js +9 -1
  25. package/dist/browser/modules/pdf/excel-bridge.d.ts +30 -1
  26. package/dist/browser/modules/pdf/excel-bridge.js +32 -0
  27. package/dist/browser/modules/pdf/font/metrics.d.ts +3 -52
  28. package/dist/browser/modules/pdf/font/metrics.js +3 -237
  29. package/dist/browser/modules/pdf/index.d.ts +1 -1
  30. package/dist/browser/modules/pdf/index.js +1 -1
  31. package/dist/browser/modules/pdf/render-layout-to-pdf.d.ts +66 -0
  32. package/dist/browser/modules/pdf/render-layout-to-pdf.js +647 -0
  33. package/dist/browser/modules/pdf/word-bridge.d.ts +80 -12
  34. package/dist/browser/modules/pdf/word-bridge.js +122 -274
  35. package/dist/browser/modules/stream/index.base.d.ts +2 -0
  36. package/dist/browser/modules/stream/index.base.js +2 -1
  37. package/dist/browser/modules/stream/internal/sink-adapter.d.ts +65 -0
  38. package/dist/browser/modules/stream/internal/sink-adapter.js +198 -0
  39. package/dist/browser/modules/stream/pull-stream.d.ts +19 -2
  40. package/dist/browser/modules/stream/pull-stream.js +51 -5
  41. package/dist/browser/modules/stream/types.d.ts +13 -1
  42. package/dist/browser/modules/word/advanced/diff.d.ts +61 -0
  43. package/dist/browser/modules/word/advanced/diff.js +167 -0
  44. package/dist/browser/modules/word/advanced/drawing-shapes.d.ts +269 -0
  45. package/dist/browser/modules/word/advanced/drawing-shapes.js +268 -0
  46. package/dist/browser/modules/word/advanced/field-engine.d.ts +43 -0
  47. package/dist/browser/modules/word/advanced/field-engine.js +1225 -0
  48. package/dist/browser/modules/word/advanced/glossary.d.ts +86 -0
  49. package/dist/browser/modules/word/advanced/glossary.js +79 -0
  50. package/dist/browser/modules/word/advanced/math-convert.d.ts +30 -0
  51. package/dist/browser/modules/word/advanced/math-convert.js +595 -0
  52. package/dist/browser/modules/word/advanced/ole-objects.d.ts +115 -0
  53. package/dist/browser/modules/word/advanced/ole-objects.js +271 -0
  54. package/dist/browser/modules/word/advanced/style-map.d.ts +105 -0
  55. package/dist/browser/modules/word/advanced/style-map.js +322 -0
  56. package/dist/browser/modules/word/advanced/validation.d.ts +56 -0
  57. package/dist/browser/modules/word/advanced/validation.js +1065 -0
  58. package/dist/browser/modules/word/advanced/vba-project.d.ts +91 -0
  59. package/dist/browser/modules/word/advanced/vba-project.js +265 -0
  60. package/dist/browser/modules/word/bridge/excel-bridge.d.ts +127 -0
  61. package/dist/browser/modules/word/bridge/excel-bridge.js +980 -0
  62. package/dist/browser/modules/word/builder/document-handle.d.ts +151 -0
  63. package/dist/browser/modules/word/builder/document-handle.js +664 -0
  64. package/dist/browser/modules/word/builder/paragraph-builders.d.ts +61 -0
  65. package/dist/browser/modules/word/builder/paragraph-builders.js +90 -0
  66. package/dist/browser/modules/word/builder/run-builders.d.ts +374 -0
  67. package/dist/browser/modules/word/builder/run-builders.js +600 -0
  68. package/dist/browser/modules/word/builder/table-builders.d.ts +23 -0
  69. package/dist/browser/modules/word/builder/table-builders.js +45 -0
  70. package/dist/browser/modules/word/constants.d.ts +39 -1
  71. package/dist/browser/modules/word/constants.js +109 -1
  72. package/dist/browser/modules/word/convert/conversion-ir.d.ts +210 -0
  73. package/dist/browser/modules/word/convert/conversion-ir.js +31 -0
  74. package/dist/browser/modules/word/convert/docx-to-semantic.d.ts +39 -0
  75. package/dist/browser/modules/word/convert/docx-to-semantic.js +499 -0
  76. package/dist/browser/modules/word/convert/flat-opc.d.ts +44 -0
  77. package/dist/browser/modules/word/convert/flat-opc.js +385 -0
  78. package/dist/browser/modules/word/convert/html/html-import.d.ts +50 -0
  79. package/dist/browser/modules/word/convert/html/html-import.js +1907 -0
  80. package/dist/{types/modules/word → browser/modules/word/convert/html}/html-renderer.d.ts +14 -1
  81. package/dist/{esm/modules/word → browser/modules/word/convert/html}/html-renderer.js +420 -69
  82. package/dist/browser/modules/word/convert/html/html.d.ts +15 -0
  83. package/dist/browser/modules/word/convert/html/html.js +15 -0
  84. package/dist/browser/modules/word/convert/markdown/markdown-import.d.ts +68 -0
  85. package/dist/browser/modules/word/convert/markdown/markdown-import.js +1325 -0
  86. package/dist/browser/modules/word/convert/markdown/markdown-renderer.d.ts +25 -0
  87. package/dist/browser/modules/word/convert/markdown/markdown-renderer.js +634 -0
  88. package/dist/browser/modules/word/convert/markdown/markdown.d.ts +15 -0
  89. package/dist/browser/modules/word/convert/markdown/markdown.js +15 -0
  90. package/dist/browser/modules/word/convert/odt/odt.d.ts +41 -0
  91. package/dist/browser/modules/word/convert/odt/odt.js +1932 -0
  92. package/dist/browser/modules/word/{color-utils.d.ts → core/color-utils.d.ts} +8 -1
  93. package/dist/browser/modules/word/core/color-utils.js +43 -0
  94. package/dist/browser/modules/word/core/internal-utils.d.ts +90 -0
  95. package/dist/browser/modules/word/core/internal-utils.js +209 -0
  96. package/dist/browser/modules/word/core/mapper.d.ts +44 -0
  97. package/dist/browser/modules/word/core/mapper.js +427 -0
  98. package/dist/browser/modules/word/core/opc-paths.d.ts +33 -0
  99. package/dist/browser/modules/word/core/opc-paths.js +48 -0
  100. package/dist/browser/modules/word/core/text-utils.d.ts +38 -0
  101. package/dist/browser/modules/word/core/text-utils.js +202 -0
  102. package/dist/browser/modules/word/core/walker.d.ts +119 -0
  103. package/dist/browser/modules/word/core/walker.js +570 -0
  104. package/dist/browser/modules/word/crypto.d.ts +14 -9
  105. package/dist/browser/modules/word/crypto.js +13 -7
  106. package/dist/browser/modules/word/document-io.d.ts +59 -27
  107. package/dist/browser/modules/word/document-io.js +80 -197
  108. package/dist/browser/modules/word/errors.d.ts +44 -1
  109. package/dist/browser/modules/word/errors.js +54 -2
  110. package/dist/browser/modules/word/excel.d.ts +14 -0
  111. package/dist/browser/modules/word/excel.js +13 -0
  112. package/dist/browser/modules/word/font/font-embed.d.ts +112 -0
  113. package/dist/browser/modules/word/font/font-embed.js +646 -0
  114. package/dist/{esm/modules/word → browser/modules/word/font}/font-obfuscation.js +4 -9
  115. package/dist/browser/modules/word/font/hyphenation.d.ts +65 -0
  116. package/dist/browser/modules/word/font/hyphenation.js +4210 -0
  117. package/dist/browser/modules/word/font/text-shaping.d.ts +58 -0
  118. package/dist/browser/modules/word/font/text-shaping.js +635 -0
  119. package/dist/browser/modules/word/html.d.ts +7 -6
  120. package/dist/browser/modules/word/html.js +6 -5
  121. package/dist/browser/modules/word/incremental-edit.d.ts +123 -0
  122. package/dist/browser/modules/word/incremental-edit.js +361 -0
  123. package/dist/browser/modules/word/index.base.d.ts +194 -10
  124. package/dist/browser/modules/word/index.base.js +138 -29
  125. package/dist/browser/modules/word/layout/layout-constants.d.ts +17 -0
  126. package/dist/browser/modules/word/layout/layout-constants.js +17 -0
  127. package/dist/browser/modules/word/layout/layout-full.d.ts +53 -0
  128. package/dist/browser/modules/word/layout/layout-full.js +1696 -0
  129. package/dist/browser/modules/word/layout/layout-model.d.ts +344 -0
  130. package/dist/browser/modules/word/layout/layout-model.js +16 -0
  131. package/dist/browser/modules/word/layout/layout.d.ts +63 -0
  132. package/dist/browser/modules/word/layout/layout.js +1167 -0
  133. package/dist/browser/modules/word/layout/render-page.d.ts +57 -0
  134. package/dist/browser/modules/word/layout/render-page.js +1238 -0
  135. package/dist/browser/modules/word/markdown.d.ts +14 -0
  136. package/dist/browser/modules/word/markdown.js +13 -0
  137. package/dist/browser/modules/word/patcher.d.ts +62 -0
  138. package/dist/browser/modules/word/patcher.js +537 -0
  139. package/dist/browser/modules/word/query/compat.d.ts +25 -0
  140. package/dist/browser/modules/word/query/compat.js +58 -0
  141. package/dist/browser/modules/word/query/data-binding.d.ts +22 -0
  142. package/dist/browser/modules/word/query/data-binding.js +392 -0
  143. package/dist/browser/modules/word/query/form-fields.d.ts +41 -0
  144. package/dist/browser/modules/word/query/form-fields.js +268 -0
  145. package/dist/browser/modules/word/query/format-search.d.ts +99 -0
  146. package/dist/browser/modules/word/query/format-search.js +329 -0
  147. package/dist/browser/modules/word/query/mail-merge.d.ts +25 -0
  148. package/dist/browser/modules/word/query/mail-merge.js +111 -0
  149. package/dist/browser/modules/word/query/merge.d.ts +50 -0
  150. package/dist/browser/modules/word/query/merge.js +617 -0
  151. package/dist/browser/modules/word/query/replace.d.ts +47 -0
  152. package/dist/browser/modules/word/query/replace.js +301 -0
  153. package/dist/browser/modules/word/query/revisions.d.ts +67 -0
  154. package/dist/browser/modules/word/query/revisions.js +879 -0
  155. package/dist/browser/modules/word/query/search.d.ts +129 -0
  156. package/dist/browser/modules/word/query/search.js +346 -0
  157. package/dist/browser/modules/word/query/split.d.ts +44 -0
  158. package/dist/browser/modules/word/query/split.js +135 -0
  159. package/dist/browser/modules/word/query/style-resolve.d.ts +104 -0
  160. package/dist/browser/modules/word/query/style-resolve.js +368 -0
  161. package/dist/browser/modules/word/reader/chart-parser.d.ts +20 -0
  162. package/dist/browser/modules/word/reader/chart-parser.js +810 -0
  163. package/dist/browser/modules/word/reader/comments-parser.d.ts +26 -0
  164. package/dist/browser/modules/word/reader/comments-parser.js +92 -0
  165. package/dist/browser/modules/word/reader/doc-props-parsers.d.ts +15 -0
  166. package/dist/browser/modules/word/reader/doc-props-parsers.js +190 -0
  167. package/dist/browser/modules/word/reader/docx-reader.d.ts +27 -0
  168. package/dist/browser/modules/word/reader/docx-reader.js +2557 -0
  169. package/dist/browser/modules/word/reader/drawing-helpers.d.ts +27 -0
  170. package/dist/browser/modules/word/reader/drawing-helpers.js +84 -0
  171. package/dist/browser/modules/word/reader/form-field-parser.d.ts +21 -0
  172. package/dist/browser/modules/word/reader/form-field-parser.js +82 -0
  173. package/dist/browser/modules/word/reader/image-parsers.d.ts +11 -0
  174. package/dist/browser/modules/word/reader/image-parsers.js +291 -0
  175. package/dist/browser/modules/word/reader/math-parser.d.ts +12 -0
  176. package/dist/browser/modules/word/reader/math-parser.js +422 -0
  177. package/dist/browser/modules/word/reader/metadata-parsers.d.ts +17 -0
  178. package/dist/browser/modules/word/reader/metadata-parsers.js +87 -0
  179. package/dist/browser/modules/word/reader/numbering-parser.d.ts +13 -0
  180. package/dist/browser/modules/word/reader/numbering-parser.js +166 -0
  181. package/dist/browser/modules/word/reader/paragraph-section-parsers.d.ts +12 -0
  182. package/dist/browser/modules/word/reader/paragraph-section-parsers.js +503 -0
  183. package/dist/browser/modules/word/reader/parse-utils.d.ts +91 -0
  184. package/dist/browser/modules/word/reader/parse-utils.js +249 -0
  185. package/dist/browser/modules/word/reader/properties-parsers.d.ts +21 -0
  186. package/dist/browser/modules/word/reader/properties-parsers.js +332 -0
  187. package/dist/browser/modules/word/reader/reader-context.d.ts +69 -0
  188. package/dist/browser/modules/word/reader/reader-context.js +61 -0
  189. package/dist/browser/modules/word/reader/sdt-helpers.d.ts +29 -0
  190. package/dist/browser/modules/word/reader/sdt-helpers.js +111 -0
  191. package/dist/browser/modules/word/reader/settings-parser.d.ts +8 -0
  192. package/dist/browser/modules/word/reader/settings-parser.js +263 -0
  193. package/dist/browser/modules/word/reader/styles-parser.d.ts +12 -0
  194. package/dist/browser/modules/word/reader/styles-parser.js +147 -0
  195. package/dist/browser/modules/word/reader/table-properties-parsers.d.ts +12 -0
  196. package/dist/browser/modules/word/reader/table-properties-parsers.js +234 -0
  197. package/dist/browser/modules/word/reader/theme-parser.d.ts +8 -0
  198. package/dist/browser/modules/word/reader/theme-parser.js +167 -0
  199. package/dist/browser/modules/word/reader/watermark-parser.d.ts +15 -0
  200. package/dist/browser/modules/word/reader/watermark-parser.js +110 -0
  201. package/dist/browser/modules/word/security/cfb-reader.d.ts +37 -0
  202. package/dist/browser/modules/word/security/cfb-reader.js +410 -0
  203. package/dist/browser/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts} +19 -11
  204. package/dist/browser/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
  205. package/dist/browser/modules/word/security/document-protection.d.ts +93 -0
  206. package/dist/browser/modules/word/security/document-protection.js +201 -0
  207. package/dist/{types/modules/word → browser/modules/word/security}/encryption.d.ts +51 -4
  208. package/dist/browser/modules/word/security/encryption.js +602 -0
  209. package/dist/browser/modules/word/security/policy.d.ts +80 -0
  210. package/dist/browser/modules/word/security/policy.js +102 -0
  211. package/dist/browser/modules/word/template/template-chart.d.ts +56 -0
  212. package/dist/browser/modules/word/template/template-chart.js +167 -0
  213. package/dist/browser/modules/word/template/template-datasource.d.ts +154 -0
  214. package/dist/browser/modules/word/template/template-datasource.js +541 -0
  215. package/dist/browser/modules/word/template/template-engine.d.ts +121 -0
  216. package/dist/browser/modules/word/template/template-engine.js +1435 -0
  217. package/dist/browser/modules/word/types.d.ts +224 -25
  218. package/dist/browser/modules/word/units.d.ts +26 -0
  219. package/dist/browser/modules/word/units.js +43 -14
  220. package/dist/browser/modules/word/{writers → writer}/chart-writer.js +164 -23
  221. package/dist/browser/modules/word/writer/checkbox-writer.d.ts +17 -0
  222. package/dist/browser/modules/word/writer/checkbox-writer.js +79 -0
  223. package/dist/{types/modules/word/writers → browser/modules/word/writer}/comment-writer.d.ts +2 -1
  224. package/dist/browser/modules/word/{writers → writer}/comment-writer.js +8 -6
  225. package/dist/browser/modules/word/writer/common-parts.d.ts +57 -0
  226. package/dist/browser/modules/word/writer/common-parts.js +101 -0
  227. package/dist/{types/modules/word → browser/modules/word/writer}/content-types.d.ts +2 -2
  228. package/dist/{esm/modules/word → browser/modules/word/writer}/content-types.js +14 -6
  229. package/dist/browser/modules/word/writer/document-writer.d.ts +24 -0
  230. package/dist/browser/modules/word/writer/document-writer.js +473 -0
  231. package/dist/browser/modules/word/writer/docx-packager.d.ts +35 -0
  232. package/dist/browser/modules/word/writer/docx-packager.js +1515 -0
  233. package/dist/{types/modules/word/writers → browser/modules/word/writer}/footnote-writer.d.ts +3 -2
  234. package/dist/{esm/modules/word/writers → browser/modules/word/writer}/footnote-writer.js +13 -10
  235. package/dist/{types/modules/word/writers → browser/modules/word/writer}/header-footer-writer.d.ts +3 -2
  236. package/dist/{esm/modules/word/writers → browser/modules/word/writer}/header-footer-writer.js +39 -21
  237. package/dist/{types/modules/word/writers → browser/modules/word/writer}/image-writer.d.ts +1 -1
  238. package/dist/browser/modules/word/{writers → writer}/image-writer.js +11 -7
  239. package/dist/browser/modules/word/writer/math-writer.d.ts +20 -0
  240. package/dist/{esm/modules/word/writers → browser/modules/word/writer}/math-writer.js +21 -1
  241. package/dist/browser/modules/word/{writers → writer}/numbering-writer.d.ts +1 -1
  242. package/dist/{esm/modules/word/writers → browser/modules/word/writer}/numbering-writer.js +11 -4
  243. package/dist/browser/modules/word/{writers → writer}/paragraph-writer.d.ts +2 -1
  244. package/dist/browser/modules/word/{writers → writer}/paragraph-writer.js +73 -38
  245. package/dist/browser/modules/word/{writers → writer}/parts-writer.d.ts +3 -3
  246. package/dist/{esm/modules/word/writers → browser/modules/word/writer}/parts-writer.js +91 -12
  247. package/dist/browser/modules/word/writer/reference-scanners.d.ts +42 -0
  248. package/dist/browser/modules/word/writer/reference-scanners.js +111 -0
  249. package/dist/browser/modules/word/writer/relationships.d.ts +52 -0
  250. package/dist/browser/modules/word/writer/relationships.js +117 -0
  251. package/dist/browser/modules/word/writer/render-context.d.ts +124 -0
  252. package/dist/browser/modules/word/writer/render-context.js +46 -0
  253. package/dist/browser/modules/word/{writers → writer}/run-writer.d.ts +10 -1
  254. package/dist/{esm/modules/word/writers → browser/modules/word/writer}/run-writer.js +126 -24
  255. package/dist/browser/modules/word/writer/sdt-writer.d.ts +25 -0
  256. package/dist/browser/modules/word/writer/sdt-writer.js +189 -0
  257. package/dist/browser/modules/word/writer/stream-buf.d.ts +37 -0
  258. package/dist/browser/modules/word/writer/stream-buf.js +73 -0
  259. package/dist/browser/modules/word/writer/streaming-writer.d.ts +344 -0
  260. package/dist/browser/modules/word/writer/streaming-writer.js +1382 -0
  261. package/dist/browser/modules/word/writer/string-buf.d.ts +8 -0
  262. package/dist/browser/modules/word/writer/string-buf.js +7 -0
  263. package/dist/browser/modules/word/{writers → writer}/styles-writer.js +32 -1
  264. package/dist/browser/modules/word/{writers → writer}/table-writer.d.ts +2 -1
  265. package/dist/browser/modules/word/{writers → writer}/table-writer.js +94 -11
  266. package/dist/browser/modules/xml/types.d.ts +22 -0
  267. package/dist/browser/utils/crypto.browser.d.ts +3 -1
  268. package/dist/browser/utils/crypto.browser.js +3 -1
  269. package/dist/browser/utils/crypto.d.ts +4 -1
  270. package/dist/browser/utils/crypto.js +4 -1
  271. package/dist/browser/utils/font-metrics.d.ts +63 -0
  272. package/dist/browser/utils/font-metrics.js +293 -0
  273. package/dist/browser/utils/string-buf.d.ts +42 -0
  274. package/dist/browser/utils/string-buf.js +89 -0
  275. package/dist/browser/utils/theme-colors.d.ts +55 -0
  276. package/dist/browser/utils/theme-colors.js +120 -0
  277. package/dist/cjs/modules/archive/compression/streaming-compress.browser.js +29 -0
  278. package/dist/cjs/modules/archive/compression/streaming-compress.js +9 -0
  279. package/dist/cjs/modules/archive/compression/worker-pool/pool.browser.js +26 -1
  280. package/dist/cjs/modules/archive/fs/archive-file.js +78 -16
  281. package/dist/cjs/modules/archive/unzip/stream.browser.js +43 -2
  282. package/dist/cjs/modules/excel/chart/chart-ex-builder.js +7 -2
  283. package/dist/cjs/modules/excel/chart/chart-ex-renderer.js +4 -9
  284. package/dist/cjs/modules/excel/chart/chart.js +1 -7
  285. package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +25 -1
  286. package/dist/cjs/modules/excel/stream/workbook-reader.js +9 -0
  287. package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +228 -13
  288. package/dist/cjs/modules/excel/utils/string-buf.js +5 -81
  289. package/dist/cjs/modules/excel/workbook.browser.js +135 -25
  290. package/dist/cjs/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
  291. package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +32 -8
  292. package/dist/cjs/modules/excel/xlsx/xlsx.js +9 -1
  293. package/dist/cjs/modules/pdf/excel-bridge.js +33 -0
  294. package/dist/cjs/modules/pdf/font/metrics.js +11 -244
  295. package/dist/cjs/modules/pdf/index.js +2 -1
  296. package/dist/cjs/modules/pdf/render-layout-to-pdf.js +651 -0
  297. package/dist/cjs/modules/pdf/word-bridge.js +155 -274
  298. package/dist/cjs/modules/stream/index.base.js +4 -2
  299. package/dist/cjs/modules/stream/internal/sink-adapter.js +202 -0
  300. package/dist/cjs/modules/stream/pull-stream.js +51 -5
  301. package/dist/cjs/modules/word/advanced/diff.js +170 -0
  302. package/dist/cjs/modules/word/advanced/drawing-shapes.js +279 -0
  303. package/dist/cjs/modules/word/advanced/field-engine.js +1229 -0
  304. package/dist/cjs/modules/word/advanced/glossary.js +87 -0
  305. package/dist/cjs/modules/word/advanced/math-convert.js +599 -0
  306. package/dist/cjs/modules/word/advanced/ole-objects.js +277 -0
  307. package/dist/cjs/modules/word/advanced/style-map.js +329 -0
  308. package/dist/cjs/modules/word/advanced/validation.js +1068 -0
  309. package/dist/cjs/modules/word/advanced/vba-project.js +274 -0
  310. package/dist/cjs/modules/word/bridge/excel-bridge.js +1020 -0
  311. package/dist/cjs/modules/word/builder/document-handle.js +667 -0
  312. package/dist/cjs/modules/word/builder/paragraph-builders.js +109 -0
  313. package/dist/cjs/modules/word/builder/run-builders.js +676 -0
  314. package/dist/cjs/modules/word/builder/table-builders.js +53 -0
  315. package/dist/cjs/modules/word/constants.js +111 -2
  316. package/dist/cjs/modules/word/convert/conversion-ir.js +34 -0
  317. package/dist/cjs/modules/word/convert/docx-to-semantic.js +502 -0
  318. package/dist/cjs/modules/word/convert/flat-opc.js +390 -0
  319. package/dist/cjs/modules/word/convert/html/html-import.js +1910 -0
  320. package/dist/cjs/modules/word/{html-renderer.js → convert/html/html-renderer.js} +420 -69
  321. package/dist/cjs/modules/word/convert/html/html.js +20 -0
  322. package/dist/cjs/modules/word/convert/markdown/markdown-import.js +1329 -0
  323. package/dist/cjs/modules/word/convert/markdown/markdown-renderer.js +637 -0
  324. package/dist/cjs/modules/word/convert/markdown/markdown.js +21 -0
  325. package/dist/cjs/modules/word/convert/odt/odt.js +1936 -0
  326. package/dist/cjs/modules/word/core/color-utils.js +47 -0
  327. package/dist/cjs/modules/word/core/internal-utils.js +219 -0
  328. package/dist/cjs/modules/word/core/mapper.js +430 -0
  329. package/dist/cjs/modules/word/core/opc-paths.js +53 -0
  330. package/dist/cjs/modules/word/core/text-utils.js +210 -0
  331. package/dist/cjs/modules/word/core/walker.js +577 -0
  332. package/dist/cjs/modules/word/crypto.js +19 -8
  333. package/dist/cjs/modules/word/document-io.js +117 -197
  334. package/dist/cjs/modules/word/errors.js +59 -13
  335. package/dist/cjs/modules/word/excel.js +22 -0
  336. package/dist/cjs/modules/word/font/font-embed.js +652 -0
  337. package/dist/cjs/modules/word/{font-obfuscation.js → font/font-obfuscation.js} +4 -9
  338. package/dist/cjs/modules/word/font/hyphenation.js +4216 -0
  339. package/dist/cjs/modules/word/font/text-shaping.js +640 -0
  340. package/dist/cjs/modules/word/html.js +9 -7
  341. package/dist/cjs/modules/word/incremental-edit.js +366 -0
  342. package/dist/cjs/modules/word/index.base.js +370 -137
  343. package/dist/cjs/modules/word/layout/layout-constants.js +20 -0
  344. package/dist/cjs/modules/word/layout/layout-full.js +1699 -0
  345. package/dist/cjs/modules/word/layout/layout-model.js +17 -0
  346. package/dist/cjs/modules/word/layout/layout.js +1170 -0
  347. package/dist/cjs/modules/word/layout/render-page.js +1243 -0
  348. package/dist/cjs/modules/word/markdown.js +19 -0
  349. package/dist/cjs/modules/word/patcher.js +539 -0
  350. package/dist/cjs/modules/word/query/compat.js +61 -0
  351. package/dist/cjs/modules/word/query/data-binding.js +395 -0
  352. package/dist/cjs/modules/word/query/form-fields.js +272 -0
  353. package/dist/cjs/modules/word/query/format-search.js +334 -0
  354. package/dist/cjs/modules/word/query/mail-merge.js +114 -0
  355. package/dist/cjs/modules/word/query/merge.js +620 -0
  356. package/dist/cjs/modules/word/query/replace.js +304 -0
  357. package/dist/cjs/modules/word/query/revisions.js +885 -0
  358. package/dist/cjs/modules/word/query/search.js +361 -0
  359. package/dist/cjs/modules/word/query/split.js +138 -0
  360. package/dist/cjs/modules/word/query/style-resolve.js +374 -0
  361. package/dist/cjs/modules/word/reader/chart-parser.js +814 -0
  362. package/dist/cjs/modules/word/reader/comments-parser.js +96 -0
  363. package/dist/cjs/modules/word/reader/doc-props-parsers.js +194 -0
  364. package/dist/cjs/modules/word/reader/docx-reader.js +2560 -0
  365. package/dist/cjs/modules/word/reader/drawing-helpers.js +90 -0
  366. package/dist/cjs/modules/word/reader/form-field-parser.js +85 -0
  367. package/dist/cjs/modules/word/reader/image-parsers.js +293 -0
  368. package/dist/cjs/modules/word/reader/math-parser.js +424 -0
  369. package/dist/cjs/modules/word/reader/metadata-parsers.js +93 -0
  370. package/dist/cjs/modules/word/reader/numbering-parser.js +168 -0
  371. package/dist/cjs/modules/word/reader/paragraph-section-parsers.js +505 -0
  372. package/dist/cjs/modules/word/reader/parse-utils.js +271 -0
  373. package/dist/cjs/modules/word/reader/properties-parsers.js +338 -0
  374. package/dist/cjs/modules/word/reader/reader-context.js +66 -0
  375. package/dist/cjs/modules/word/reader/sdt-helpers.js +114 -0
  376. package/dist/cjs/modules/word/reader/settings-parser.js +265 -0
  377. package/dist/cjs/modules/word/reader/styles-parser.js +149 -0
  378. package/dist/cjs/modules/word/reader/table-properties-parsers.js +237 -0
  379. package/dist/cjs/modules/word/reader/theme-parser.js +169 -0
  380. package/dist/cjs/modules/word/reader/watermark-parser.js +113 -0
  381. package/dist/cjs/modules/word/security/cfb-reader.js +414 -0
  382. package/dist/cjs/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
  383. package/dist/cjs/modules/word/security/document-protection.js +208 -0
  384. package/dist/cjs/modules/word/security/encryption.js +612 -0
  385. package/dist/cjs/modules/word/security/policy.js +106 -0
  386. package/dist/cjs/modules/word/template/template-chart.js +170 -0
  387. package/dist/cjs/modules/word/template/template-datasource.js +549 -0
  388. package/dist/cjs/modules/word/template/template-engine.js +1430 -0
  389. package/dist/cjs/modules/word/units.js +44 -14
  390. package/dist/cjs/modules/word/{writers → writer}/chart-writer.js +163 -22
  391. package/dist/cjs/modules/word/writer/checkbox-writer.js +82 -0
  392. package/dist/cjs/modules/word/{writers → writer}/comment-writer.js +8 -6
  393. package/dist/cjs/modules/word/writer/common-parts.js +104 -0
  394. package/dist/cjs/modules/word/{content-types.js → writer/content-types.js} +14 -6
  395. package/dist/cjs/modules/word/writer/document-writer.js +478 -0
  396. package/dist/cjs/modules/word/writer/docx-packager.js +1551 -0
  397. package/dist/cjs/modules/word/{writers → writer}/footnote-writer.js +13 -10
  398. package/dist/cjs/modules/word/{writers → writer}/header-footer-writer.js +38 -20
  399. package/dist/cjs/modules/word/{writers → writer}/image-writer.js +11 -7
  400. package/dist/cjs/modules/word/{writers → writer}/math-writer.js +21 -1
  401. package/dist/cjs/modules/word/{writers → writer}/numbering-writer.js +11 -4
  402. package/dist/cjs/modules/word/{writers → writer}/paragraph-writer.js +72 -37
  403. package/dist/cjs/modules/word/{writers → writer}/parts-writer.js +91 -12
  404. package/dist/cjs/modules/word/writer/reference-scanners.js +120 -0
  405. package/dist/cjs/modules/word/writer/relationships.js +124 -0
  406. package/dist/cjs/modules/word/writer/render-context.js +51 -0
  407. package/dist/cjs/modules/word/{writers → writer}/run-writer.js +127 -24
  408. package/dist/cjs/modules/word/writer/sdt-writer.js +192 -0
  409. package/dist/cjs/modules/word/writer/stream-buf.js +76 -0
  410. package/dist/cjs/modules/word/writer/streaming-writer.js +1387 -0
  411. package/dist/cjs/modules/word/writer/string-buf.js +11 -0
  412. package/dist/cjs/modules/word/{writers → writer}/styles-writer.js +32 -1
  413. package/dist/cjs/modules/word/{writers → writer}/table-writer.js +94 -11
  414. package/dist/cjs/utils/crypto.browser.js +3 -1
  415. package/dist/cjs/utils/crypto.js +4 -1
  416. package/dist/cjs/utils/font-metrics.js +303 -0
  417. package/dist/cjs/utils/string-buf.js +92 -0
  418. package/dist/cjs/utils/theme-colors.js +126 -0
  419. package/dist/esm/modules/archive/compression/streaming-compress.browser.js +29 -0
  420. package/dist/esm/modules/archive/compression/streaming-compress.js +9 -0
  421. package/dist/esm/modules/archive/compression/worker-pool/pool.browser.js +26 -1
  422. package/dist/esm/modules/archive/fs/archive-file.js +78 -16
  423. package/dist/esm/modules/archive/unzip/stream.browser.js +43 -2
  424. package/dist/esm/modules/excel/chart/chart-ex-builder.js +7 -2
  425. package/dist/esm/modules/excel/chart/chart-ex-renderer.js +4 -9
  426. package/dist/esm/modules/excel/chart/chart.js +1 -7
  427. package/dist/esm/modules/excel/stream/workbook-reader.browser.js +25 -1
  428. package/dist/esm/modules/excel/stream/workbook-reader.js +9 -0
  429. package/dist/esm/modules/excel/stream/workbook-writer.browser.js +228 -13
  430. package/dist/esm/modules/excel/utils/string-buf.js +4 -81
  431. package/dist/esm/modules/excel/workbook.browser.js +135 -25
  432. package/dist/esm/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
  433. package/dist/esm/modules/excel/xlsx/xlsx.browser.js +32 -8
  434. package/dist/esm/modules/excel/xlsx/xlsx.js +9 -1
  435. package/dist/esm/modules/pdf/excel-bridge.js +32 -0
  436. package/dist/esm/modules/pdf/font/metrics.js +3 -237
  437. package/dist/esm/modules/pdf/index.js +1 -1
  438. package/dist/esm/modules/pdf/render-layout-to-pdf.js +647 -0
  439. package/dist/esm/modules/pdf/word-bridge.js +122 -274
  440. package/dist/esm/modules/stream/index.base.js +2 -1
  441. package/dist/esm/modules/stream/internal/sink-adapter.js +198 -0
  442. package/dist/esm/modules/stream/pull-stream.js +51 -5
  443. package/dist/esm/modules/word/advanced/diff.js +167 -0
  444. package/dist/esm/modules/word/advanced/drawing-shapes.js +268 -0
  445. package/dist/esm/modules/word/advanced/field-engine.js +1225 -0
  446. package/dist/esm/modules/word/advanced/glossary.js +79 -0
  447. package/dist/esm/modules/word/advanced/math-convert.js +595 -0
  448. package/dist/esm/modules/word/advanced/ole-objects.js +271 -0
  449. package/dist/esm/modules/word/advanced/style-map.js +322 -0
  450. package/dist/esm/modules/word/advanced/validation.js +1065 -0
  451. package/dist/esm/modules/word/advanced/vba-project.js +265 -0
  452. package/dist/esm/modules/word/bridge/excel-bridge.js +980 -0
  453. package/dist/esm/modules/word/builder/document-handle.js +664 -0
  454. package/dist/esm/modules/word/builder/paragraph-builders.js +90 -0
  455. package/dist/esm/modules/word/builder/run-builders.js +600 -0
  456. package/dist/esm/modules/word/builder/table-builders.js +45 -0
  457. package/dist/esm/modules/word/constants.js +109 -1
  458. package/dist/esm/modules/word/convert/conversion-ir.js +31 -0
  459. package/dist/esm/modules/word/convert/docx-to-semantic.js +499 -0
  460. package/dist/esm/modules/word/convert/flat-opc.js +385 -0
  461. package/dist/esm/modules/word/convert/html/html-import.js +1907 -0
  462. package/dist/{browser/modules/word → esm/modules/word/convert/html}/html-renderer.js +420 -69
  463. package/dist/esm/modules/word/convert/html/html.js +15 -0
  464. package/dist/esm/modules/word/convert/markdown/markdown-import.js +1325 -0
  465. package/dist/esm/modules/word/convert/markdown/markdown-renderer.js +634 -0
  466. package/dist/esm/modules/word/convert/markdown/markdown.js +15 -0
  467. package/dist/esm/modules/word/convert/odt/odt.js +1932 -0
  468. package/dist/esm/modules/word/core/color-utils.js +43 -0
  469. package/dist/esm/modules/word/core/internal-utils.js +209 -0
  470. package/dist/esm/modules/word/core/mapper.js +427 -0
  471. package/dist/esm/modules/word/core/opc-paths.js +48 -0
  472. package/dist/esm/modules/word/core/text-utils.js +202 -0
  473. package/dist/esm/modules/word/core/walker.js +570 -0
  474. package/dist/esm/modules/word/crypto.js +13 -7
  475. package/dist/esm/modules/word/document-io.js +80 -197
  476. package/dist/esm/modules/word/errors.js +54 -2
  477. package/dist/esm/modules/word/excel.js +13 -0
  478. package/dist/esm/modules/word/font/font-embed.js +646 -0
  479. package/dist/{browser/modules/word → esm/modules/word/font}/font-obfuscation.js +4 -9
  480. package/dist/esm/modules/word/font/hyphenation.js +4210 -0
  481. package/dist/esm/modules/word/font/text-shaping.js +635 -0
  482. package/dist/esm/modules/word/html.js +6 -5
  483. package/dist/esm/modules/word/incremental-edit.js +361 -0
  484. package/dist/esm/modules/word/index.base.js +138 -29
  485. package/dist/esm/modules/word/layout/layout-constants.js +17 -0
  486. package/dist/esm/modules/word/layout/layout-full.js +1696 -0
  487. package/dist/esm/modules/word/layout/layout-model.js +16 -0
  488. package/dist/esm/modules/word/layout/layout.js +1167 -0
  489. package/dist/esm/modules/word/layout/render-page.js +1238 -0
  490. package/dist/esm/modules/word/markdown.js +13 -0
  491. package/dist/esm/modules/word/patcher.js +537 -0
  492. package/dist/esm/modules/word/query/compat.js +58 -0
  493. package/dist/esm/modules/word/query/data-binding.js +392 -0
  494. package/dist/esm/modules/word/query/form-fields.js +268 -0
  495. package/dist/esm/modules/word/query/format-search.js +329 -0
  496. package/dist/esm/modules/word/query/mail-merge.js +111 -0
  497. package/dist/esm/modules/word/query/merge.js +617 -0
  498. package/dist/esm/modules/word/query/replace.js +301 -0
  499. package/dist/esm/modules/word/query/revisions.js +879 -0
  500. package/dist/esm/modules/word/query/search.js +346 -0
  501. package/dist/esm/modules/word/query/split.js +135 -0
  502. package/dist/esm/modules/word/query/style-resolve.js +368 -0
  503. package/dist/esm/modules/word/reader/chart-parser.js +810 -0
  504. package/dist/esm/modules/word/reader/comments-parser.js +92 -0
  505. package/dist/esm/modules/word/reader/doc-props-parsers.js +190 -0
  506. package/dist/esm/modules/word/reader/docx-reader.js +2557 -0
  507. package/dist/esm/modules/word/reader/drawing-helpers.js +84 -0
  508. package/dist/esm/modules/word/reader/form-field-parser.js +82 -0
  509. package/dist/esm/modules/word/reader/image-parsers.js +291 -0
  510. package/dist/esm/modules/word/reader/math-parser.js +422 -0
  511. package/dist/esm/modules/word/reader/metadata-parsers.js +87 -0
  512. package/dist/esm/modules/word/reader/numbering-parser.js +166 -0
  513. package/dist/esm/modules/word/reader/paragraph-section-parsers.js +503 -0
  514. package/dist/esm/modules/word/reader/parse-utils.js +249 -0
  515. package/dist/esm/modules/word/reader/properties-parsers.js +332 -0
  516. package/dist/esm/modules/word/reader/reader-context.js +61 -0
  517. package/dist/esm/modules/word/reader/sdt-helpers.js +111 -0
  518. package/dist/esm/modules/word/reader/settings-parser.js +263 -0
  519. package/dist/esm/modules/word/reader/styles-parser.js +147 -0
  520. package/dist/esm/modules/word/reader/table-properties-parsers.js +234 -0
  521. package/dist/esm/modules/word/reader/theme-parser.js +167 -0
  522. package/dist/esm/modules/word/reader/watermark-parser.js +110 -0
  523. package/dist/esm/modules/word/security/cfb-reader.js +410 -0
  524. package/dist/esm/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
  525. package/dist/esm/modules/word/security/document-protection.js +201 -0
  526. package/dist/esm/modules/word/security/encryption.js +602 -0
  527. package/dist/esm/modules/word/security/policy.js +102 -0
  528. package/dist/esm/modules/word/template/template-chart.js +167 -0
  529. package/dist/esm/modules/word/template/template-datasource.js +541 -0
  530. package/dist/esm/modules/word/template/template-engine.js +1435 -0
  531. package/dist/esm/modules/word/units.js +43 -14
  532. package/dist/esm/modules/word/{writers → writer}/chart-writer.js +164 -23
  533. package/dist/esm/modules/word/writer/checkbox-writer.js +79 -0
  534. package/dist/esm/modules/word/{writers → writer}/comment-writer.js +8 -6
  535. package/dist/esm/modules/word/writer/common-parts.js +101 -0
  536. package/dist/{browser/modules/word → esm/modules/word/writer}/content-types.js +14 -6
  537. package/dist/esm/modules/word/writer/document-writer.js +473 -0
  538. package/dist/esm/modules/word/writer/docx-packager.js +1515 -0
  539. package/dist/{browser/modules/word/writers → esm/modules/word/writer}/footnote-writer.js +13 -10
  540. package/dist/{browser/modules/word/writers → esm/modules/word/writer}/header-footer-writer.js +39 -21
  541. package/dist/esm/modules/word/{writers → writer}/image-writer.js +11 -7
  542. package/dist/{browser/modules/word/writers → esm/modules/word/writer}/math-writer.js +21 -1
  543. package/dist/{browser/modules/word/writers → esm/modules/word/writer}/numbering-writer.js +11 -4
  544. package/dist/esm/modules/word/{writers → writer}/paragraph-writer.js +73 -38
  545. package/dist/{browser/modules/word/writers → esm/modules/word/writer}/parts-writer.js +91 -12
  546. package/dist/esm/modules/word/writer/reference-scanners.js +111 -0
  547. package/dist/esm/modules/word/writer/relationships.js +117 -0
  548. package/dist/esm/modules/word/writer/render-context.js +46 -0
  549. package/dist/{browser/modules/word/writers → esm/modules/word/writer}/run-writer.js +126 -24
  550. package/dist/esm/modules/word/writer/sdt-writer.js +189 -0
  551. package/dist/esm/modules/word/writer/stream-buf.js +73 -0
  552. package/dist/esm/modules/word/writer/streaming-writer.js +1382 -0
  553. package/dist/esm/modules/word/writer/string-buf.js +7 -0
  554. package/dist/esm/modules/word/{writers → writer}/styles-writer.js +32 -1
  555. package/dist/esm/modules/word/{writers → writer}/table-writer.js +94 -11
  556. package/dist/esm/utils/crypto.browser.js +3 -1
  557. package/dist/esm/utils/crypto.js +4 -1
  558. package/dist/esm/utils/font-metrics.js +293 -0
  559. package/dist/esm/utils/string-buf.js +89 -0
  560. package/dist/esm/utils/theme-colors.js +120 -0
  561. package/dist/iife/excelts.iife.js +70692 -70337
  562. package/dist/iife/excelts.iife.js.map +1 -1
  563. package/dist/iife/excelts.iife.min.js +57 -57
  564. package/dist/types/modules/archive/fs/archive-file.d.ts +8 -5
  565. package/dist/types/modules/excel/chart/chart-ex-types.d.ts +0 -12
  566. package/dist/types/modules/excel/chart/chart.d.ts +1 -5
  567. package/dist/types/modules/excel/chart/types.d.ts +0 -6
  568. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +40 -0
  569. package/dist/types/modules/excel/utils/string-buf.d.ts +5 -26
  570. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +19 -9
  571. package/dist/types/modules/excel/xlsx/xlsx.d.ts +10 -2
  572. package/dist/types/modules/pdf/excel-bridge.d.ts +30 -1
  573. package/dist/types/modules/pdf/font/metrics.d.ts +3 -52
  574. package/dist/types/modules/pdf/index.d.ts +1 -1
  575. package/dist/types/modules/pdf/render-layout-to-pdf.d.ts +66 -0
  576. package/dist/types/modules/pdf/word-bridge.d.ts +80 -12
  577. package/dist/types/modules/stream/index.base.d.ts +2 -0
  578. package/dist/types/modules/stream/internal/sink-adapter.d.ts +65 -0
  579. package/dist/types/modules/stream/pull-stream.d.ts +19 -2
  580. package/dist/types/modules/stream/types.d.ts +13 -1
  581. package/dist/types/modules/word/advanced/diff.d.ts +61 -0
  582. package/dist/types/modules/word/advanced/drawing-shapes.d.ts +269 -0
  583. package/dist/types/modules/word/advanced/field-engine.d.ts +43 -0
  584. package/dist/types/modules/word/advanced/glossary.d.ts +86 -0
  585. package/dist/types/modules/word/advanced/math-convert.d.ts +30 -0
  586. package/dist/types/modules/word/advanced/ole-objects.d.ts +115 -0
  587. package/dist/types/modules/word/advanced/style-map.d.ts +105 -0
  588. package/dist/types/modules/word/advanced/validation.d.ts +56 -0
  589. package/dist/types/modules/word/advanced/vba-project.d.ts +91 -0
  590. package/dist/types/modules/word/bridge/excel-bridge.d.ts +127 -0
  591. package/dist/types/modules/word/builder/document-handle.d.ts +151 -0
  592. package/dist/types/modules/word/builder/paragraph-builders.d.ts +61 -0
  593. package/dist/types/modules/word/builder/run-builders.d.ts +374 -0
  594. package/dist/types/modules/word/builder/table-builders.d.ts +23 -0
  595. package/dist/types/modules/word/constants.d.ts +39 -1
  596. package/dist/types/modules/word/convert/conversion-ir.d.ts +210 -0
  597. package/dist/types/modules/word/convert/docx-to-semantic.d.ts +39 -0
  598. package/dist/types/modules/word/convert/flat-opc.d.ts +44 -0
  599. package/dist/types/modules/word/convert/html/html-import.d.ts +50 -0
  600. package/dist/{browser/modules/word → types/modules/word/convert/html}/html-renderer.d.ts +14 -1
  601. package/dist/types/modules/word/convert/html/html.d.ts +15 -0
  602. package/dist/types/modules/word/convert/markdown/markdown-import.d.ts +68 -0
  603. package/dist/types/modules/word/convert/markdown/markdown-renderer.d.ts +25 -0
  604. package/dist/types/modules/word/convert/markdown/markdown.d.ts +15 -0
  605. package/dist/types/modules/word/convert/odt/odt.d.ts +41 -0
  606. package/dist/types/modules/word/{color-utils.d.ts → core/color-utils.d.ts} +8 -1
  607. package/dist/types/modules/word/core/internal-utils.d.ts +90 -0
  608. package/dist/types/modules/word/core/mapper.d.ts +44 -0
  609. package/dist/types/modules/word/core/opc-paths.d.ts +33 -0
  610. package/dist/types/modules/word/core/text-utils.d.ts +38 -0
  611. package/dist/types/modules/word/core/walker.d.ts +119 -0
  612. package/dist/types/modules/word/crypto.d.ts +14 -9
  613. package/dist/types/modules/word/document-io.d.ts +59 -27
  614. package/dist/types/modules/word/errors.d.ts +44 -1
  615. package/dist/types/modules/word/excel.d.ts +14 -0
  616. package/dist/types/modules/word/font/font-embed.d.ts +112 -0
  617. package/dist/types/modules/word/font/hyphenation.d.ts +65 -0
  618. package/dist/types/modules/word/font/text-shaping.d.ts +58 -0
  619. package/dist/types/modules/word/html.d.ts +7 -6
  620. package/dist/types/modules/word/incremental-edit.d.ts +123 -0
  621. package/dist/types/modules/word/index.base.d.ts +194 -10
  622. package/dist/types/modules/word/layout/layout-constants.d.ts +17 -0
  623. package/dist/types/modules/word/layout/layout-full.d.ts +53 -0
  624. package/dist/types/modules/word/layout/layout-model.d.ts +344 -0
  625. package/dist/types/modules/word/layout/layout.d.ts +63 -0
  626. package/dist/types/modules/word/layout/render-page.d.ts +57 -0
  627. package/dist/types/modules/word/markdown.d.ts +14 -0
  628. package/dist/types/modules/word/patcher.d.ts +62 -0
  629. package/dist/types/modules/word/query/compat.d.ts +25 -0
  630. package/dist/types/modules/word/query/data-binding.d.ts +22 -0
  631. package/dist/types/modules/word/query/form-fields.d.ts +41 -0
  632. package/dist/types/modules/word/query/format-search.d.ts +99 -0
  633. package/dist/types/modules/word/query/mail-merge.d.ts +25 -0
  634. package/dist/types/modules/word/query/merge.d.ts +50 -0
  635. package/dist/types/modules/word/query/replace.d.ts +47 -0
  636. package/dist/types/modules/word/query/revisions.d.ts +67 -0
  637. package/dist/types/modules/word/query/search.d.ts +129 -0
  638. package/dist/types/modules/word/query/split.d.ts +44 -0
  639. package/dist/types/modules/word/query/style-resolve.d.ts +104 -0
  640. package/dist/types/modules/word/reader/chart-parser.d.ts +20 -0
  641. package/dist/types/modules/word/reader/comments-parser.d.ts +26 -0
  642. package/dist/types/modules/word/reader/doc-props-parsers.d.ts +15 -0
  643. package/dist/types/modules/word/reader/docx-reader.d.ts +27 -0
  644. package/dist/types/modules/word/reader/drawing-helpers.d.ts +27 -0
  645. package/dist/types/modules/word/reader/form-field-parser.d.ts +21 -0
  646. package/dist/types/modules/word/reader/image-parsers.d.ts +11 -0
  647. package/dist/types/modules/word/reader/math-parser.d.ts +12 -0
  648. package/dist/types/modules/word/reader/metadata-parsers.d.ts +17 -0
  649. package/dist/types/modules/word/reader/numbering-parser.d.ts +13 -0
  650. package/dist/types/modules/word/reader/paragraph-section-parsers.d.ts +12 -0
  651. package/dist/types/modules/word/reader/parse-utils.d.ts +91 -0
  652. package/dist/types/modules/word/reader/properties-parsers.d.ts +21 -0
  653. package/dist/types/modules/word/reader/reader-context.d.ts +69 -0
  654. package/dist/types/modules/word/reader/sdt-helpers.d.ts +29 -0
  655. package/dist/types/modules/word/reader/settings-parser.d.ts +8 -0
  656. package/dist/types/modules/word/reader/styles-parser.d.ts +12 -0
  657. package/dist/types/modules/word/reader/table-properties-parsers.d.ts +12 -0
  658. package/dist/types/modules/word/reader/theme-parser.d.ts +8 -0
  659. package/dist/types/modules/word/reader/watermark-parser.d.ts +15 -0
  660. package/dist/types/modules/word/security/cfb-reader.d.ts +37 -0
  661. package/dist/types/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts} +19 -11
  662. package/dist/types/modules/word/security/document-protection.d.ts +93 -0
  663. package/dist/{browser/modules/word → types/modules/word/security}/encryption.d.ts +51 -4
  664. package/dist/types/modules/word/security/policy.d.ts +80 -0
  665. package/dist/types/modules/word/template/template-chart.d.ts +56 -0
  666. package/dist/types/modules/word/template/template-datasource.d.ts +154 -0
  667. package/dist/types/modules/word/template/template-engine.d.ts +121 -0
  668. package/dist/types/modules/word/types.d.ts +224 -25
  669. package/dist/types/modules/word/units.d.ts +26 -0
  670. package/dist/types/modules/word/writer/checkbox-writer.d.ts +17 -0
  671. package/dist/{browser/modules/word/writers → types/modules/word/writer}/comment-writer.d.ts +2 -1
  672. package/dist/types/modules/word/writer/common-parts.d.ts +57 -0
  673. package/dist/{browser/modules/word → types/modules/word/writer}/content-types.d.ts +2 -2
  674. package/dist/types/modules/word/writer/document-writer.d.ts +24 -0
  675. package/dist/types/modules/word/writer/docx-packager.d.ts +35 -0
  676. package/dist/{browser/modules/word/writers → types/modules/word/writer}/footnote-writer.d.ts +3 -2
  677. package/dist/{browser/modules/word/writers → types/modules/word/writer}/header-footer-writer.d.ts +3 -2
  678. package/dist/{browser/modules/word/writers → types/modules/word/writer}/image-writer.d.ts +1 -1
  679. package/dist/types/modules/word/writer/math-writer.d.ts +20 -0
  680. package/dist/types/modules/word/{writers → writer}/numbering-writer.d.ts +1 -1
  681. package/dist/types/modules/word/{writers → writer}/paragraph-writer.d.ts +2 -1
  682. package/dist/types/modules/word/{writers → writer}/parts-writer.d.ts +3 -3
  683. package/dist/types/modules/word/writer/reference-scanners.d.ts +42 -0
  684. package/dist/types/modules/word/writer/relationships.d.ts +52 -0
  685. package/dist/types/modules/word/writer/render-context.d.ts +124 -0
  686. package/dist/types/modules/word/{writers → writer}/run-writer.d.ts +10 -1
  687. package/dist/types/modules/word/writer/sdt-writer.d.ts +25 -0
  688. package/dist/types/modules/word/writer/stream-buf.d.ts +37 -0
  689. package/dist/types/modules/word/writer/streaming-writer.d.ts +344 -0
  690. package/dist/types/modules/word/writer/string-buf.d.ts +8 -0
  691. package/dist/types/modules/word/{writers → writer}/table-writer.d.ts +2 -1
  692. package/dist/types/modules/xml/types.d.ts +22 -0
  693. package/dist/types/utils/crypto.browser.d.ts +3 -1
  694. package/dist/types/utils/crypto.d.ts +4 -1
  695. package/dist/types/utils/font-metrics.d.ts +63 -0
  696. package/dist/types/utils/string-buf.d.ts +42 -0
  697. package/dist/types/utils/theme-colors.d.ts +55 -0
  698. package/package.json +121 -39
  699. package/dist/browser/modules/word/color-utils.js +0 -94
  700. package/dist/browser/modules/word/document.d.ts +0 -657
  701. package/dist/browser/modules/word/document.js +0 -1533
  702. package/dist/browser/modules/word/docx-packager.d.ts +0 -14
  703. package/dist/browser/modules/word/docx-packager.js +0 -822
  704. package/dist/browser/modules/word/docx-reader.d.ts +0 -11
  705. package/dist/browser/modules/word/docx-reader.js +0 -4929
  706. package/dist/browser/modules/word/encryption.js +0 -274
  707. package/dist/browser/modules/word/internal-utils.d.ts +0 -23
  708. package/dist/browser/modules/word/internal-utils.js +0 -54
  709. package/dist/browser/modules/word/namespaces.d.ts +0 -159
  710. package/dist/browser/modules/word/namespaces.js +0 -189
  711. package/dist/browser/modules/word/relationships.d.ts +0 -30
  712. package/dist/browser/modules/word/relationships.js +0 -48
  713. package/dist/browser/modules/word/writers/checkbox-writer.d.ts +0 -9
  714. package/dist/browser/modules/word/writers/checkbox-writer.js +0 -42
  715. package/dist/browser/modules/word/writers/document-writer.d.ts +0 -16
  716. package/dist/browser/modules/word/writers/document-writer.js +0 -461
  717. package/dist/browser/modules/word/writers/math-writer.d.ts +0 -9
  718. package/dist/cjs/modules/word/color-utils.js +0 -97
  719. package/dist/cjs/modules/word/document.js +0 -1645
  720. package/dist/cjs/modules/word/docx-packager.js +0 -825
  721. package/dist/cjs/modules/word/docx-reader.js +0 -4932
  722. package/dist/cjs/modules/word/encryption.js +0 -282
  723. package/dist/cjs/modules/word/internal-utils.js +0 -59
  724. package/dist/cjs/modules/word/namespaces.js +0 -192
  725. package/dist/cjs/modules/word/relationships.js +0 -55
  726. package/dist/cjs/modules/word/writers/checkbox-writer.js +0 -45
  727. package/dist/cjs/modules/word/writers/document-writer.js +0 -465
  728. package/dist/esm/modules/word/color-utils.js +0 -94
  729. package/dist/esm/modules/word/document.js +0 -1533
  730. package/dist/esm/modules/word/docx-packager.js +0 -822
  731. package/dist/esm/modules/word/docx-reader.js +0 -4929
  732. package/dist/esm/modules/word/encryption.js +0 -274
  733. package/dist/esm/modules/word/internal-utils.js +0 -54
  734. package/dist/esm/modules/word/namespaces.js +0 -189
  735. package/dist/esm/modules/word/relationships.js +0 -48
  736. package/dist/esm/modules/word/writers/checkbox-writer.js +0 -42
  737. package/dist/esm/modules/word/writers/document-writer.js +0 -461
  738. package/dist/types/modules/word/document.d.ts +0 -657
  739. package/dist/types/modules/word/docx-packager.d.ts +0 -14
  740. package/dist/types/modules/word/docx-reader.d.ts +0 -11
  741. package/dist/types/modules/word/internal-utils.d.ts +0 -23
  742. package/dist/types/modules/word/namespaces.d.ts +0 -159
  743. package/dist/types/modules/word/relationships.d.ts +0 -30
  744. package/dist/types/modules/word/writers/checkbox-writer.d.ts +0 -9
  745. package/dist/types/modules/word/writers/document-writer.d.ts +0 -16
  746. package/dist/types/modules/word/writers/math-writer.d.ts +0 -9
  747. /package/dist/browser/modules/word/{font-obfuscation.d.ts → font/font-obfuscation.d.ts} +0 -0
  748. /package/dist/browser/modules/word/{writers → writer}/chart-writer.d.ts +0 -0
  749. /package/dist/browser/modules/word/{writers → writer}/section-writer.d.ts +0 -0
  750. /package/dist/browser/modules/word/{writers → writer}/section-writer.js +0 -0
  751. /package/dist/browser/modules/word/{writers → writer}/styles-writer.d.ts +0 -0
  752. /package/dist/browser/modules/word/{writers → writer}/textbox-writer.d.ts +0 -0
  753. /package/dist/browser/modules/word/{writers → writer}/textbox-writer.js +0 -0
  754. /package/dist/browser/modules/word/{writers → writer}/toc-writer.d.ts +0 -0
  755. /package/dist/browser/modules/word/{writers → writer}/toc-writer.js +0 -0
  756. /package/dist/cjs/modules/word/{writers → writer}/section-writer.js +0 -0
  757. /package/dist/cjs/modules/word/{writers → writer}/textbox-writer.js +0 -0
  758. /package/dist/cjs/modules/word/{writers → writer}/toc-writer.js +0 -0
  759. /package/dist/esm/modules/word/{writers → writer}/section-writer.js +0 -0
  760. /package/dist/esm/modules/word/{writers → writer}/textbox-writer.js +0 -0
  761. /package/dist/esm/modules/word/{writers → writer}/toc-writer.js +0 -0
  762. /package/dist/types/modules/word/{font-obfuscation.d.ts → font/font-obfuscation.d.ts} +0 -0
  763. /package/dist/types/modules/word/{writers → writer}/chart-writer.d.ts +0 -0
  764. /package/dist/types/modules/word/{writers → writer}/section-writer.d.ts +0 -0
  765. /package/dist/types/modules/word/{writers → writer}/styles-writer.d.ts +0 -0
  766. /package/dist/types/modules/word/{writers → writer}/textbox-writer.d.ts +0 -0
  767. /package/dist/types/modules/word/{writers → writer}/toc-writer.d.ts +0 -0
@@ -81,8 +81,8 @@ export interface SectionColumns {
81
81
  }
82
82
  /** Section break type. */
83
83
  export type SectionBreakType = "nextPage" | "continuous" | "evenPage" | "oddPage" | "nextColumn";
84
- /** Page number format. */
85
- export type PageNumberFormat = "decimal" | "upperRoman" | "lowerRoman" | "upperLetter" | "lowerLetter";
84
+ /** Page number format (ST_NumberFormat subset used for page numbering). */
85
+ export type PageNumberFormat = "decimal" | "upperRoman" | "lowerRoman" | "upperLetter" | "lowerLetter" | "ordinal" | "cardinalText" | "ordinalText" | "hex" | "chicago" | "ideographDigital" | "japaneseCounting" | "aiueo" | "iroha" | "decimalFullWidth" | "decimalHalfWidth" | "japaneseLegal" | "japaneseDigitalTenThousand" | "decimalEnclosedCircle" | "decimalFullWidth2" | "aiueoFullWidth" | "irohaFullWidth" | "decimalZero" | "bullet" | "ganada" | "chosung" | "decimalEnclosedFullstop" | "decimalEnclosedParen" | "decimalEnclosedCircleChinese" | "ideographEnclosedCircle" | "ideographTraditional" | "ideographZodiac" | "ideographZodiacTraditional" | "taiwaneseCounting" | "ideographLegalTraditional" | "taiwaneseCountingThousand" | "taiwaneseDigital" | "chineseCounting" | "chineseLegalSimplified" | "chineseCountingThousand" | "koreanDigital" | "koreanCounting" | "koreanLegal" | "koreanDigital2" | "vietnameseCounting" | "russianLower" | "russianUpper" | "none" | "numberInDash" | "hebrew1" | "hebrew2" | "arabicAlpha" | "arabicAbjad" | "hindiVowels" | "hindiConsonants" | "hindiNumbers" | "hindiCounting" | "thaiLetters" | "thaiNumbers" | "thaiCounting" | "bahtText" | "dollarText" | "custom";
86
86
  /** Header/footer reference type. */
87
87
  export type HeaderFooterType = "default" | "first" | "even";
88
88
  /** Reference to a header or footer part. */
@@ -96,8 +96,6 @@ export interface HeaderFooterRef {
96
96
  export type PageVerticalAlign = "top" | "center" | "both" | "bottom";
97
97
  /** Document grid type. */
98
98
  export type DocumentGridType = "default" | "lines" | "linesAndChars" | "snapToChars";
99
- /** Page text direction. */
100
- export type PageTextDirection = "lrTb" | "tbRl" | "btLr" | "lrTbV" | "tbRlV" | "tbLrV";
101
99
  /** A single border definition. */
102
100
  export interface Border {
103
101
  /** Border style. */
@@ -171,7 +169,7 @@ export interface SectionProperties {
171
169
  /** Page vertical alignment. */
172
170
  readonly verticalAlign?: PageVerticalAlign;
173
171
  /** Page text direction. */
174
- readonly textDirection?: PageTextDirection;
172
+ readonly textDirection?: TextDirection;
175
173
  /** Footnote properties for this section. */
176
174
  readonly footnoteProperties?: FootnoteProperties;
177
175
  /** Endnote properties for this section. */
@@ -185,8 +183,8 @@ export interface SectionProperties {
185
183
  /** Register (w:rtlGutter for right-to-left). */
186
184
  readonly rtlGutter?: boolean;
187
185
  }
188
- /** Underline styles. */
189
- export type UnderlineStyle = "single" | "double" | "thick" | "dotted" | "dash" | "dotDash" | "dotDotDash" | "wave" | "wavyHeavy" | "wavyDouble" | "dashLong" | "dashLongHeavy" | "words" | "none";
186
+ /** Underline styles (ST_Underline). */
187
+ export type UnderlineStyle = "single" | "words" | "double" | "thick" | "dotted" | "dottedHeavy" | "dash" | "dashedHeavy" | "dashLong" | "dashLongHeavy" | "dotDash" | "dashDotHeavy" | "dotDotDash" | "dashDotDotHeavy" | "wave" | "wavyHeavy" | "wavyDouble" | "none";
190
188
  /** Vertical alignment for superscript/subscript. */
191
189
  export type VerticalAlign = "superscript" | "subscript" | "baseline";
192
190
  /** Highlight colors. */
@@ -232,6 +230,31 @@ export interface UnderlineSpec {
232
230
  export type TextEffect = "blinkBackground" | "lights" | "antsBlack" | "antsRed" | "shimmer" | "sparkle" | "none";
233
231
  /** Emphasis mark type. */
234
232
  export type EmphasisMarkType = "dot" | "comma" | "circle" | "underDot" | "none";
233
+ /** Bracket style used when combining East Asian characters into a composite cell. */
234
+ export type EastAsianCombineBrackets = "none" | "round" | "square" | "angle" | "curly";
235
+ /**
236
+ * East Asian typographic layout overrides for a run (ECMA-376 §17.3.2.10
237
+ * `<w:eastAsianLayout>`). Used for Japanese/Korean classical layout to
238
+ * combine consecutive characters into a single display cell, render
239
+ * vertically, or compress vertical glyphs.
240
+ *
241
+ * The layout/render-page modules render runs carrying this property in
242
+ * standard horizontal direction (vert/vertCompress are not visualised);
243
+ * reader and writer round-trip the property losslessly so the source
244
+ * intent is preserved across edits.
245
+ */
246
+ export interface EastAsianLayoutSpec {
247
+ /** Tracking id; pairs with `rPrChange` revisions. */
248
+ readonly id?: number;
249
+ /** Combine consecutive characters into one composite display cell. */
250
+ readonly combine?: boolean;
251
+ /** Bracket style used when combining (defaults to `none`). */
252
+ readonly combineBrackets?: EastAsianCombineBrackets;
253
+ /** Render the run vertically (top-to-bottom). */
254
+ readonly vert?: boolean;
255
+ /** Compress vertical glyphs into half-width cells. */
256
+ readonly vertCompress?: boolean;
257
+ }
235
258
  /** Color specification with optional theme support. */
236
259
  export interface ColorSpec {
237
260
  /** Hex RGB color value (e.g. "FF0000") or "auto". */
@@ -315,6 +338,8 @@ export interface RunProperties {
315
338
  readonly effect?: TextEffect;
316
339
  /** Emphasis mark (East Asian typography). */
317
340
  readonly emphasisMark?: EmphasisMarkType;
341
+ /** East Asian layout overrides (combine, vertical, etc.). ECMA-376 §17.3.2.10. */
342
+ readonly eastAsianLayout?: EastAsianLayoutSpec;
318
343
  /** Character border (border around individual run). */
319
344
  readonly border?: Border;
320
345
  /** Fit text: force text to fit a specific width (in twips). */
@@ -480,9 +505,20 @@ export interface DateFieldContent {
480
505
  readonly format?: string;
481
506
  /** Language tag. */
482
507
  readonly language?: string;
508
+ /** Pre-computed cached value to display. If omitted, the field shows empty until updated by Word. */
509
+ readonly cachedValue?: string;
483
510
  }
484
511
  /** Content that can appear inside a run. */
485
- export type RunContent = TextContent | BreakContent | TabContent | PositionalTabContent | RubyContent | SymbolContent | FootnoteRefContent | EndnoteRefContent | FieldContent | InlineImageContent | CarriageReturnContent | NoBreakHyphenContent | SoftHyphenContent | LastRenderedPageBreakContent | AnnotationReferenceContent | DateFieldContent;
512
+ export type RunContent = TextContent | BreakContent | TabContent | PositionalTabContent | RubyContent | SymbolContent | FootnoteRefContent | EndnoteRefContent | FieldContent | InlineImageContent | CarriageReturnContent | NoBreakHyphenContent | SoftHyphenContent | LastRenderedPageBreakContent | AnnotationReferenceContent | DateFieldContent | OpaqueRunContent;
513
+ /**
514
+ * Opaque run content: preserves unknown XML elements found inside a run
515
+ * for round-trip fidelity. The writer will emit the raw XML verbatim.
516
+ */
517
+ export interface OpaqueRunContent {
518
+ readonly type: "opaqueRun";
519
+ /** Raw XML string of the unrecognized run child element. */
520
+ readonly rawXml: string;
521
+ }
486
522
  /** A run of text with uniform formatting. */
487
523
  export interface Run {
488
524
  /** Run properties (formatting). */
@@ -629,8 +665,8 @@ export interface CommentReference {
629
665
  readonly type: "commentReference";
630
666
  readonly id: number;
631
667
  }
632
- /** Horizontal alignment. */
633
- export type Alignment = "start" | "center" | "end" | "both" | "distribute" | "left" | "right";
668
+ /** Horizontal alignment (ST_Jc). */
669
+ export type Alignment = "start" | "center" | "end" | "both" | "mediumKashida" | "distribute" | "numTab" | "highKashida" | "lowKashida" | "thaiDistribute" | "left" | "right";
634
670
  /** Line spacing rule. */
635
671
  export type LineSpacingRule = "auto" | "exact" | "atLeast";
636
672
  /** Line spacing. */
@@ -661,8 +697,8 @@ export interface Indentation {
661
697
  /** End indent (logical direction, for BiDi). */
662
698
  readonly end?: Twips;
663
699
  }
664
- /** Tab stop alignment. */
665
- export type TabStopType = "left" | "center" | "right" | "decimal" | "bar" | "clear";
700
+ /** Tab stop alignment (ST_TabJc). */
701
+ export type TabStopType = "left" | "center" | "right" | "decimal" | "bar" | "clear" | "start" | "end" | "num";
666
702
  /** Tab stop leader character. */
667
703
  export type TabStopLeader = "dot" | "hyphen" | "underscore" | "none" | "heavy" | "middleDot";
668
704
  /** Tab stop definition. */
@@ -798,7 +834,7 @@ export interface ParagraphProperties {
798
834
  /** Snap to grid. */
799
835
  readonly snapToGrid?: boolean;
800
836
  /** Text direction for paragraph. */
801
- readonly textDirection?: PageTextDirection;
837
+ readonly textDirection?: TextDirection;
802
838
  }
803
839
  /** A paragraph. */
804
840
  export interface Paragraph {
@@ -850,7 +886,16 @@ export interface BookmarkEnd {
850
886
  readonly id: number;
851
887
  }
852
888
  /** Items that can appear as children of a paragraph. */
853
- export type ParagraphChild = Run | Hyperlink | BookmarkStart | BookmarkEnd | CommentRangeStart | CommentRangeEnd | CommentReference | InsertedRun | DeletedRun | MovedFromRun | MovedToRun | MoveRangeMarker | CustomXmlTrackingMarker;
889
+ export type ParagraphChild = Run | Hyperlink | BookmarkStart | BookmarkEnd | CommentRangeStart | CommentRangeEnd | CommentReference | InsertedRun | DeletedRun | MovedFromRun | MovedToRun | MoveRangeMarker | CustomXmlTrackingMarker | OpaqueParagraphChild;
890
+ /**
891
+ * Opaque paragraph child: preserves unknown XML elements found at paragraph level
892
+ * for round-trip fidelity. The writer will emit the raw XML verbatim.
893
+ */
894
+ export interface OpaqueParagraphChild {
895
+ readonly type: "opaqueParagraphChild";
896
+ /** Raw XML string of the unrecognized paragraph child element. */
897
+ readonly rawXml: string;
898
+ }
854
899
  /** Table width specification. */
855
900
  export interface TableWidth {
856
901
  /** Width value. */
@@ -1432,6 +1477,18 @@ export interface DrawingShape {
1432
1477
  readonly rotation?: number;
1433
1478
  /** Raw XML string (for preserving unrecognized shape details on round-trip). */
1434
1479
  readonly rawXml?: string;
1480
+ /**
1481
+ * Advanced fill XML (gradient/pattern) — must be inserted in the spPr
1482
+ * "fill" slot (after prstGeom, before a:ln) for OOXML schema validity.
1483
+ * Internal: populated by createShape().
1484
+ */
1485
+ readonly _advancedFillXml?: string;
1486
+ /**
1487
+ * Advanced effects/3D XML (a:effectLst, a:scene3d, a:sp3d) — must be
1488
+ * inserted in the spPr after a:ln to satisfy the OOXML schema order.
1489
+ * Internal: populated by createShape().
1490
+ */
1491
+ readonly _advancedEffectsXml?: string;
1435
1492
  }
1436
1493
  /** Checkbox state. */
1437
1494
  export interface CheckBox {
@@ -1494,8 +1551,6 @@ export interface SdtProperties {
1494
1551
  * shows placeholder text; cleared automatically on first edit.
1495
1552
  */
1496
1553
  readonly showingPlaceholder?: boolean;
1497
- /** @deprecated Use `appearance` instead. Mapped to w:appearance for backwards compatibility. */
1498
- readonly showAs?: "boundingBox" | "startEnd" | "none";
1499
1554
  /** Placeholder text doc part reference. */
1500
1555
  readonly placeholder?: string;
1501
1556
  /** Data binding to Custom XML part. */
@@ -1557,8 +1612,15 @@ export interface StructuredDocumentTag {
1557
1612
  readonly type: "sdt";
1558
1613
  /** SDT properties. */
1559
1614
  readonly properties?: SdtProperties;
1560
- /** Content (paragraphs, runs, etc.). */
1561
- readonly content: readonly (Paragraph | Run | Table)[];
1615
+ /**
1616
+ * Content (paragraphs, runs, tables, or nested SDTs).
1617
+ *
1618
+ * Nested SDTs are valid OOXML — repeating sections, for instance, wrap
1619
+ * each repeated item in its own inner `<w:sdt>`. The reader preserves
1620
+ * the outer/inner structure verbatim and the writer recursively renders
1621
+ * children of type `"sdt"`.
1622
+ */
1623
+ readonly content: readonly (Paragraph | Run | Table | StructuredDocumentTag)[];
1562
1624
  }
1563
1625
  /** Legacy form field type. */
1564
1626
  export type FormFieldType = "text" | "checkBox" | "dropDown";
@@ -1639,7 +1701,7 @@ export interface ImageWatermark {
1639
1701
  /** Watermark (text or image). */
1640
1702
  export type Watermark = TextWatermark | ImageWatermark;
1641
1703
  /** Block-level content that can appear in the document body. */
1642
- export type BodyContent = Paragraph | Table | FloatingImage | TableOfContents | MathBlock | TextBox | CheckBox | DrawingShape | OpaqueDrawing | ChartContent | AltChunk | StructuredDocumentTag;
1704
+ export type BodyContent = Paragraph | Table | FloatingImage | TableOfContents | MathBlock | TextBox | CheckBox | DrawingShape | OpaqueDrawing | ChartContent | ChartExContent | AltChunk | StructuredDocumentTag;
1643
1705
  /** Alternate content chunk (w:altChunk) — embedded HTML/RTF/TXT/etc. in DOCX. */
1644
1706
  export interface AltChunk {
1645
1707
  readonly type: "altChunk";
@@ -1653,7 +1715,27 @@ export interface AltChunk {
1653
1715
  readonly fileName?: string;
1654
1716
  }
1655
1717
  /** Chart type. */
1656
- export type ChartType = "bar" | "barStacked" | "barPercentStacked" | "column" | "columnStacked" | "columnPercentStacked" | "line" | "lineStacked" | "lineMarked" | "pie" | "pie3D" | "doughnut" | "area" | "areaStacked" | "scatter" | "scatterSmooth" | "radar";
1718
+ export type ChartType = "bar" | "barStacked" | "barPercentStacked" | "column" | "columnStacked" | "columnPercentStacked" | "line" | "lineStacked" | "lineMarked" | "pie" | "pie3D" | "doughnut" | "area" | "areaStacked" | "scatter" | "scatterSmooth" | "radar" | "radarFilled" | "bubble" | "stock" | "surface" | "surface3D" | "surfaceWireframe" | "surfaceWireframe3D";
1719
+ /** Trendline type for chart series. */
1720
+ export type ChartTrendlineType = "linear" | "exponential" | "logarithmic" | "polynomial" | "power" | "movingAvg";
1721
+ /** Trendline options for a chart series. */
1722
+ export interface ChartTrendline {
1723
+ readonly type: ChartTrendlineType;
1724
+ readonly order?: number;
1725
+ readonly period?: number;
1726
+ readonly displayEquation?: boolean;
1727
+ readonly displayRSquared?: boolean;
1728
+ }
1729
+ /** Error bar direction. */
1730
+ export type ChartErrorBarDirection = "x" | "y" | "both";
1731
+ /** Error bar type. */
1732
+ export type ChartErrorBarType = "fixedVal" | "percentage" | "stdDev" | "stdErr" | "custom";
1733
+ /** Error bars options for a chart series. */
1734
+ export interface ChartErrorBars {
1735
+ readonly direction: ChartErrorBarDirection;
1736
+ readonly type: ChartErrorBarType;
1737
+ readonly value?: number;
1738
+ }
1657
1739
  /** A data series in a chart. */
1658
1740
  export interface ChartSeries {
1659
1741
  readonly name: string;
@@ -1662,9 +1744,25 @@ export interface ChartSeries {
1662
1744
  readonly color?: HexColor;
1663
1745
  readonly pointColors?: readonly HexColor[];
1664
1746
  readonly showDataLabels?: boolean;
1747
+ readonly trendline?: ChartTrendline;
1748
+ readonly errorBars?: ChartErrorBars;
1749
+ /** Per-series chart type override (for combo charts). */
1750
+ readonly chartType?: ChartType;
1751
+ /** Plot on secondary axis (for combo charts). */
1752
+ readonly plotOnSecondaryAxis?: boolean;
1665
1753
  }
1666
1754
  /** Chart legend position. */
1667
1755
  export type ChartLegendPosition = "b" | "l" | "r" | "t" | "tr" | "none";
1756
+ /** Data label position. */
1757
+ export type ChartDataLabelPosition = "outsideEnd" | "center" | "insideEnd" | "bestFit";
1758
+ /** Data labels options for a chart. */
1759
+ export interface ChartDataLabels {
1760
+ readonly showValue?: boolean;
1761
+ readonly showCategory?: boolean;
1762
+ readonly showSerName?: boolean;
1763
+ readonly showPercent?: boolean;
1764
+ readonly position?: ChartDataLabelPosition;
1765
+ }
1668
1766
  /** Chart axis configuration. */
1669
1767
  export interface ChartAxis {
1670
1768
  readonly title?: string;
@@ -1680,6 +1778,7 @@ export interface Chart {
1680
1778
  readonly title?: string;
1681
1779
  readonly series: readonly ChartSeries[];
1682
1780
  readonly legend?: ChartLegendPosition;
1781
+ readonly dataLabels?: ChartDataLabels;
1683
1782
  readonly categoryAxis?: ChartAxis;
1684
1783
  readonly valueAxis?: ChartAxis;
1685
1784
  readonly secondaryValueAxis?: ChartAxis;
@@ -1689,6 +1788,12 @@ export interface Chart {
1689
1788
  readonly style?: number;
1690
1789
  readonly width?: Emu;
1691
1790
  readonly height?: Emu;
1791
+ /** Secondary chart type for combo charts (legacy approach). */
1792
+ readonly secondaryType?: ChartType;
1793
+ /** Secondary series for combo chart (plotted on secondary axis). */
1794
+ readonly secondarySeries?: readonly ChartSeries[];
1795
+ /** Whether to embed chart data as an xlsx workbook (for full editing in Word). */
1796
+ readonly embedWorkbook?: boolean;
1692
1797
  }
1693
1798
  /** Chart content placed in a document. */
1694
1799
  export interface ChartContent {
@@ -1697,6 +1802,43 @@ export interface ChartContent {
1697
1802
  readonly altText?: string;
1698
1803
  readonly name?: string;
1699
1804
  }
1805
+ /**
1806
+ * ChartEx content block (cx: namespace, Office 2016+ chart types).
1807
+ * Supports: sunburst, treemap, waterfall, funnel, histogram, pareto, boxWhisker, regionMap.
1808
+ */
1809
+ export interface ChartExContent {
1810
+ readonly type: "chartEx";
1811
+ /** Pre-rendered ChartEx XML (cx:chartSpace). Generated via excel-bridge. */
1812
+ readonly chartExXml: string;
1813
+ /** Parsed structured data extracted from the ChartEx XML. */
1814
+ readonly data?: ChartExData;
1815
+ /** Alt text for accessibility. */
1816
+ readonly altText?: string;
1817
+ /** Drawing name. */
1818
+ readonly name?: string;
1819
+ /** Width in EMU. Default: 5486400 (6 inches). */
1820
+ readonly width?: Emu;
1821
+ /** Height in EMU. Default: 3657600 (4 inches). */
1822
+ readonly height?: Emu;
1823
+ }
1824
+ /** Structured data extracted from a ChartEx (cx: namespace) XML. */
1825
+ export interface ChartExData {
1826
+ /** Chart type (sunburst, treemap, waterfall, funnel, histogram, pareto, boxWhisker, regionMap). */
1827
+ readonly chartType: string;
1828
+ /** Chart title. */
1829
+ readonly title?: string;
1830
+ /** Series data. */
1831
+ readonly series: readonly ChartExSeriesData[];
1832
+ }
1833
+ /** A single data series within a ChartEx chart. */
1834
+ export interface ChartExSeriesData {
1835
+ /** Series name/label. */
1836
+ readonly name?: string;
1837
+ /** String categories. */
1838
+ readonly categories?: readonly string[];
1839
+ /** Numeric values. */
1840
+ readonly values?: readonly number[];
1841
+ }
1700
1842
  /** Style type. */
1701
1843
  export type StyleType = "paragraph" | "character" | "table" | "numbering";
1702
1844
  /** Table style conditional format type. */
@@ -1766,8 +1908,8 @@ export interface DocDefaults {
1766
1908
  /** Default paragraph properties. */
1767
1909
  readonly paragraphProperties?: ParagraphProperties;
1768
1910
  }
1769
- /** Number format type. */
1770
- export type NumberFormat = "decimal" | "lowerLetter" | "upperLetter" | "lowerRoman" | "upperRoman" | "bullet" | "none" | "chineseCounting" | "ordinal" | "cardinalText" | "ordinalText" | "ideographDigital" | "ideographTraditional" | "japaneseCounting" | "decimalZero" | "decimalEnclosedCircle";
1911
+ /** Number format type (ST_NumberFormat). */
1912
+ export type NumberFormat = "decimal" | "upperRoman" | "lowerRoman" | "upperLetter" | "lowerLetter" | "ordinal" | "cardinalText" | "ordinalText" | "hex" | "chicago" | "ideographDigital" | "japaneseCounting" | "aiueo" | "iroha" | "decimalFullWidth" | "decimalHalfWidth" | "japaneseLegal" | "japaneseDigitalTenThousand" | "decimalEnclosedCircle" | "decimalFullWidth2" | "aiueoFullWidth" | "irohaFullWidth" | "decimalZero" | "bullet" | "ganada" | "chosung" | "decimalEnclosedFullstop" | "decimalEnclosedParen" | "decimalEnclosedCircleChinese" | "ideographEnclosedCircle" | "ideographTraditional" | "ideographZodiac" | "ideographZodiacTraditional" | "taiwaneseCounting" | "ideographLegalTraditional" | "taiwaneseCountingThousand" | "taiwaneseDigital" | "chineseCounting" | "chineseLegalSimplified" | "chineseCountingThousand" | "koreanDigital" | "koreanCounting" | "koreanLegal" | "koreanDigital2" | "vietnameseCounting" | "russianLower" | "russianUpper" | "none" | "numberInDash" | "hebrew1" | "hebrew2" | "arabicAlpha" | "arabicAbjad" | "hindiVowels" | "hindiConsonants" | "hindiNumbers" | "hindiCounting" | "thaiLetters" | "thaiNumbers" | "thaiCounting" | "bahtText" | "dollarText" | "custom";
1771
1913
  /** Level justification. */
1772
1914
  export type LevelJustification = "left" | "center" | "right";
1773
1915
  /** Level suffix (character after number). */
@@ -1920,6 +2062,14 @@ export interface ImageDef {
1920
2062
  readonly fileName: string;
1921
2063
  /** Relationship ID (assigned during packaging). */
1922
2064
  rId?: string;
2065
+ /**
2066
+ * Additional relationship IDs under which this same media file is referenced
2067
+ * by other parts (typically header/footer .rels using their own local id
2068
+ * space). Populated by the reader so that the packager can rebuild each
2069
+ * part's local .rels even when callers and parts use different rIds for the
2070
+ * same physical media file.
2071
+ */
2072
+ readonly aliasRIds?: readonly string[];
1923
2073
  /** SVG fallback image data (PNG). Required for SVG images in Word. */
1924
2074
  readonly fallbackData?: Uint8Array;
1925
2075
  }
@@ -2000,8 +2150,18 @@ export interface DocumentSettings {
2000
2150
  readonly trackRevisions?: boolean;
2001
2151
  /** Document protection. */
2002
2152
  readonly documentProtection?: {
2003
- readonly type: ProtectionType;
2153
+ readonly type?: ProtectionType;
2154
+ readonly edit?: string;
2004
2155
  readonly enforcement?: boolean;
2156
+ readonly formatting?: boolean;
2157
+ /** Hash algorithm (e.g. "SHA-256"). */
2158
+ readonly hashAlgorithm?: string;
2159
+ /** Base64-encoded hash value. */
2160
+ readonly hashValue?: string;
2161
+ /** Base64-encoded salt value. */
2162
+ readonly saltValue?: string;
2163
+ /** Number of hash iterations. */
2164
+ readonly spinCount?: number;
2005
2165
  };
2006
2166
  /** Hyphenation settings. */
2007
2167
  readonly hyphenation?: HyphenationSettings;
@@ -2218,7 +2378,20 @@ export interface PersonInfo {
2218
2378
  readonly userId?: string;
2219
2379
  };
2220
2380
  }
2381
+ /**
2382
+ * Document type discriminator.
2383
+ * - "document" — standard .docx
2384
+ * - "template" — .dotx (Word template)
2385
+ * - "macroEnabledDocument" — .docm (macro-enabled)
2386
+ * - "macroEnabledTemplate" — .dotm (macro-enabled template)
2387
+ */
2388
+ export type DocxDocumentType = "document" | "template" | "macroEnabledDocument" | "macroEnabledTemplate";
2221
2389
  export interface DocxDocument {
2390
+ /**
2391
+ * Document type. Determines the content type used in the package.
2392
+ * Default: "document" (standard .docx).
2393
+ */
2394
+ readonly docType?: DocxDocumentType;
2222
2395
  /** Document body content. */
2223
2396
  readonly body: readonly BodyContent[];
2224
2397
  /** Final section properties (for the last section). */
@@ -2276,6 +2449,8 @@ export interface DocxDocument {
2276
2449
  readonly theme?: DocumentTheme;
2277
2450
  /** Opaque (unrecognized) ZIP parts preserved for round-trip fidelity. */
2278
2451
  readonly opaqueParts?: readonly OpaquePart[];
2452
+ /** VBA project binary (word/vbaProject.bin) for .docm/.dotm round-trip. */
2453
+ readonly vbaProject?: Uint8Array;
2279
2454
  }
2280
2455
  /** A relationship entry preserved for round-trip. */
2281
2456
  export interface OpaqueRelationship {
@@ -2285,8 +2460,14 @@ export interface OpaqueRelationship {
2285
2460
  readonly type: string;
2286
2461
  /** Target path (relative to source part). */
2287
2462
  readonly target: string;
2288
- /** External target mode. */
2289
- readonly targetMode?: "External";
2463
+ /**
2464
+ * Target mode for the relationship. Standard OPC values are `"External"`
2465
+ * and `"Internal"` (with `"Internal"` typically omitted on the wire). The
2466
+ * field is typed as `string` rather than a union so that round-trip
2467
+ * preserves any non-standard value present in the source document — the
2468
+ * writer surfaces this verbatim into the output `.rels` file.
2469
+ */
2470
+ readonly targetMode?: string;
2290
2471
  }
2291
2472
  /** Custom XML part (for data binding). Stored in word/customXml/. */
2292
2473
  export interface CustomXmlPart {
@@ -2323,3 +2504,21 @@ export interface DocxOptions {
2323
2504
  /** Compression level (0-9). Default: 6. */
2324
2505
  readonly compressionLevel?: number;
2325
2506
  }
2507
+ /** A reference to a media asset (image, chart, etc.) by logical ID. */
2508
+ export interface AssetRef {
2509
+ /** Logical asset ID (assigned by builder, resolved to rId at package time). */
2510
+ readonly assetId: string;
2511
+ /** Asset type hint. */
2512
+ readonly type: "image" | "chart" | "oleObject" | "font" | "xlsx";
2513
+ }
2514
+ /** A media asset registered in the document. */
2515
+ export interface MediaAsset {
2516
+ /** Logical ID for referencing. */
2517
+ readonly id: string;
2518
+ /** MIME content type. */
2519
+ readonly contentType: string;
2520
+ /** Raw binary data. */
2521
+ readonly data: Uint8Array;
2522
+ /** Suggested file name (without path). */
2523
+ readonly fileName: string;
2524
+ }
@@ -3,6 +3,32 @@
3
3
  *
4
4
  * Conversion functions between common measurement units used in OOXML.
5
5
  */
6
+ /** Twips per inch (OOXML page measurements). */
7
+ export declare const TWIPS_PER_INCH = 1440;
8
+ /** Twips per point. */
9
+ export declare const TWIPS_PER_POINT = 20;
10
+ /** Twips per centimeter (approximate). */
11
+ export declare const TWIPS_PER_CM = 567;
12
+ /** Twips per millimeter (approximate). */
13
+ export declare const TWIPS_PER_MM = 56.7;
14
+ /** EMU (English Metric Units) per inch — DrawingML coordinate space. */
15
+ export declare const EMU_PER_INCH = 914400;
16
+ /** EMU per centimeter. */
17
+ export declare const EMU_PER_CM = 360000;
18
+ /** EMU per point. */
19
+ export declare const EMU_PER_POINT = 12700;
20
+ /** EMU per pixel at 96 DPI (CSS pixel). */
21
+ export declare const EMU_PER_PX = 9525;
22
+ /** Default chart width in EMU (6 inches). */
23
+ export declare const DEFAULT_CHART_WIDTH_EMU: number;
24
+ /** Default chart height in EMU (3.5 inches for c:chart). */
25
+ export declare const DEFAULT_CHART_HEIGHT_EMU: number;
26
+ /** Default ChartEx height in EMU (4 inches). */
27
+ export declare const DEFAULT_CHART_EX_HEIGHT_EMU: number;
28
+ /** Default wrap margin for inline drawings in EMU (≈0.125 inch). */
29
+ export declare const DEFAULT_WRAP_MARGIN_EMU = 114300;
30
+ /** Default `wp:anchor` `relativeHeight` (z-order) when not specified. */
31
+ export declare const DEFAULT_RELATIVE_HEIGHT = 251658240;
6
32
  /** Convert inches to twips. */
7
33
  export declare function inchesToTwips(inches: number): number;
8
34
  /** Convert twips to inches. */
@@ -0,0 +1,17 @@
1
+ /**
2
+ * DOCX Writers - CheckBox
3
+ *
4
+ * Renders checkbox as a structured document tag (SDT) with w14:checkbox.
5
+ *
6
+ * Per ECMA-376 Part 4 §17.5.2.41 the `w14:checkedState/@w14:val` attribute
7
+ * holds a 4-digit hexadecimal Unicode code point. We persist that hex form
8
+ * verbatim into the `w14:val` attribute, but the displayed glyph is rendered
9
+ * by converting to the actual character. To stay forgiving we accept both
10
+ * the canonical hex form (e.g. `"2612"`) and a literal glyph form (e.g.
11
+ * `"☒"`) on the input side, normalising both to a hex string for the
12
+ * attribute and the actual glyph for the displayed run.
13
+ */
14
+ import type { XmlSink } from "../../xml/types.js";
15
+ import type { CheckBox } from "../types.js";
16
+ /** Render a checkbox as a paragraph with SDT. */
17
+ export declare function renderCheckBox(xml: XmlSink, cb: CheckBox): void;
@@ -5,8 +5,9 @@
5
5
  */
6
6
  import type { XmlSink } from "../../xml/types.js";
7
7
  import type { CommentDef } from "../types.js";
8
+ import type { RenderHelpers } from "./render-context.js";
8
9
  /** Render word/comments.xml. */
9
- export declare function renderComments(xml: XmlSink, comments: readonly CommentDef[]): void;
10
+ export declare function renderComments(xml: XmlSink, comments: readonly CommentDef[], helpers?: RenderHelpers): void;
10
11
  /**
11
12
  * Render word/commentsExtended.xml — extended comment metadata (done/parentId).
12
13
  * Only includes comments that have either `done` or `parentId` set.
@@ -0,0 +1,57 @@
1
+ /**
2
+ * DOCX Module - Common Auxiliary Parts Builder
3
+ *
4
+ * Shared logic for generating auxiliary XML parts (styles, settings, numbering,
5
+ * fontTable, theme, core properties, app properties, custom properties).
6
+ *
7
+ * Both the buffered packager and streaming writer use this to avoid duplicating
8
+ * the same rendering logic.
9
+ */
10
+ import type { AbstractNumbering, AppProperties, CoreProperties, CustomProperty, DocDefaults, DocumentSettings, DocumentTheme, EndnoteDef, FontDef, FootnoteDef, NumPicBullet, NumberingInstance, StyleDef } from "../types.js";
11
+ import type { RenderHelpers } from "./render-context.js";
12
+ /** Input options for building common auxiliary parts. */
13
+ export interface AuxiliaryPartsInput {
14
+ readonly docDefaults?: DocDefaults;
15
+ readonly styles?: readonly StyleDef[];
16
+ readonly settings?: DocumentSettings;
17
+ readonly fonts?: readonly FontDef[];
18
+ readonly theme?: DocumentTheme;
19
+ readonly abstractNumberings?: readonly AbstractNumbering[];
20
+ readonly numberingInstances?: readonly NumberingInstance[];
21
+ readonly numPicBullets?: readonly NumPicBullet[];
22
+ readonly coreProperties?: CoreProperties;
23
+ readonly appProperties?: AppProperties;
24
+ readonly customProperties?: readonly CustomProperty[];
25
+ readonly footnotes?: readonly FootnoteDef[];
26
+ readonly endnotes?: readonly EndnoteDef[];
27
+ /**
28
+ * Optional render helpers passed to footnote/endnote rendering so in-note
29
+ * hyperlinks/images resolve to the rIds the caller has registered against
30
+ * the per-part .rels. Defaults to `{}`, meaning no remap and no
31
+ * hyperlink rIds — sufficient for documents without notes that contain
32
+ * external links or remapped images.
33
+ */
34
+ readonly notesHelpers?: RenderHelpers;
35
+ /**
36
+ * Raw XML output policy. When `"strip"` or `"reject"`, opaque rawXml
37
+ * fields on settings/theme/numbering are skipped or cause an error
38
+ * respectively. Defaults to `"preserve"`.
39
+ */
40
+ readonly rawXmlPolicy?: "preserve" | "strip" | "reject";
41
+ }
42
+ /** A rendered XML part ready to be written to ZIP. */
43
+ export interface RenderedPart {
44
+ readonly path: string;
45
+ readonly content: string;
46
+ }
47
+ /**
48
+ * Build all common auxiliary XML parts that are shared between
49
+ * the buffered packager and streaming writer.
50
+ *
51
+ * Returns an array of rendered parts (path + XML string).
52
+ * Does NOT include: document.xml, images, headers/footers, comments,
53
+ * charts, custom XML, embedded fonts, opaque parts, watermarks.
54
+ * Those are handled by the respective packager/streaming-writer because
55
+ * they require relationship ID coordination.
56
+ */
57
+ export declare function buildCommonAuxiliaryParts(input: AuxiliaryPartsInput): RenderedPart[];
@@ -4,7 +4,7 @@
4
4
  * Generates [Content_Types].xml for the DOCX package.
5
5
  * Uses a plain data record + free functions for tree-shakeability.
6
6
  */
7
- import type { XmlSink } from "../xml/types.js";
7
+ import type { XmlSink } from "../../xml/types.js";
8
8
  /** Content type override entry. */
9
9
  export interface ContentTypeOverride {
10
10
  readonly partName: string;
@@ -19,7 +19,7 @@ export interface ContentTypesState {
19
19
  export declare function createContentTypes(): ContentTypesState;
20
20
  /** Add a default content type for a file extension. */
21
21
  export declare function addContentTypeDefault(state: ContentTypesState, extension: string, contentType: string): void;
22
- /** Add an override content type for a specific part. */
22
+ /** Add an override content type for a specific part. Deduplicates by partName. */
23
23
  export declare function addContentTypeOverride(state: ContentTypesState, partName: string, contentType: string): void;
24
24
  /** Add image extension defaults from a set of used extensions. */
25
25
  export declare function addImageContentTypeDefaults(state: ContentTypesState, extensions: Iterable<string>): void;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * DOCX Writers - Document Body
3
+ *
4
+ * Renders the main word/document.xml part including all block-level
5
+ * content types: paragraphs, tables, floating images, TOC, math,
6
+ * text boxes, and structured document tags.
7
+ */
8
+ import type { XmlSink } from "../../xml/types.js";
9
+ import type { DocxDocument, BodyContent, StructuredDocumentTag } from "../types.js";
10
+ import { type RenderHelpers, type WordRenderContext } from "./render-context.js";
11
+ /**
12
+ * Render a structured document tag.
13
+ *
14
+ * `ctx` may be `undefined` when called from a sub-renderer that only knows
15
+ * about `RenderHelpers` (e.g. table cell, header/footer). In that case we
16
+ * still emit a syntactically valid `<w:sdt>`, but we cannot auto-assign an
17
+ * id from the document-wide id generator — callers that care about
18
+ * uniqueness should provide `properties.id` explicitly.
19
+ */
20
+ export declare function renderSdt(xml: XmlSink, sdt: StructuredDocumentTag, ctx: WordRenderContext | undefined, helpers?: RenderHelpers): void;
21
+ /** Render a single body content element (paragraph, table, image, etc.). */
22
+ export declare function renderBodyContent(xml: XmlSink, content: BodyContent, ctx?: WordRenderContext): void;
23
+ /** Render the complete word/document.xml. */
24
+ export declare function renderDocument(xml: XmlSink, doc: DocxDocument, ctx?: WordRenderContext): void;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * DOCX Module - Packager
3
+ *
4
+ * Assembles a DocxDocument model into a DOCX ZIP package using the
5
+ * archive and XML modules. Supports all parts including comments,
6
+ * custom properties, document background, hyperlink relationships,
7
+ * and per-header/footer relationship files.
8
+ */
9
+ import { type WordSecurityPolicy } from "../security/policy.js";
10
+ import type { DocxDocument } from "../types.js";
11
+ /**
12
+ * Options accepted by `packageDocx`.
13
+ *
14
+ * For backwards compatibility the second positional argument may also be a
15
+ * raw number, in which case it is interpreted as `compressionLevel` with the
16
+ * default security policy.
17
+ */
18
+ export interface PackageDocxOptions {
19
+ /** ZIP compression level (0-9). Default: backend-specific (typically 6). */
20
+ readonly compressionLevel?: number;
21
+ /**
22
+ * Security policy controlling rawXmlPolicy, OLE/signature handling, etc.
23
+ * Defaults to {@link DEFAULT_SECURITY_POLICY}.
24
+ */
25
+ readonly securityPolicy?: WordSecurityPolicy;
26
+ }
27
+ /**
28
+ * Package a DocxDocument model into a DOCX ZIP file.
29
+ * Returns the ZIP bytes as Uint8Array.
30
+ *
31
+ * This function does NOT modify the input `doc` object. Internally it creates
32
+ * shallow copies of mutable structures (images, headers, footers, etc.) to
33
+ * assign relationship IDs without polluting the caller's model.
34
+ */
35
+ export declare function packageDocx(doc: DocxDocument, optionsOrCompressionLevel?: PackageDocxOptions | number): Promise<Uint8Array>;
@@ -5,7 +5,8 @@
5
5
  */
6
6
  import type { XmlSink } from "../../xml/types.js";
7
7
  import type { FootnoteDef, EndnoteDef } from "../types.js";
8
+ import type { RenderHelpers } from "./render-context.js";
8
9
  /** Render word/footnotes.xml. */
9
- export declare function renderFootnotes(xml: XmlSink, footnotes: readonly FootnoteDef[]): void;
10
+ export declare function renderFootnotes(xml: XmlSink, footnotes: readonly FootnoteDef[], helpers?: RenderHelpers): void;
10
11
  /** Render word/endnotes.xml. */
11
- export declare function renderEndnotes(xml: XmlSink, endnotes: readonly EndnoteDef[]): void;
12
+ export declare function renderEndnotes(xml: XmlSink, endnotes: readonly EndnoteDef[], helpers?: RenderHelpers): void;