@cj-tech-master/excelts 9.4.2 → 9.5.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 (618) hide show
  1. package/dist/browser/index.browser.d.ts +8 -5
  2. package/dist/browser/index.browser.js +19 -1
  3. package/dist/browser/index.d.ts +4 -2
  4. package/dist/browser/index.js +9 -1
  5. package/dist/browser/modules/excel/chart/cache-populator.d.ts +49 -0
  6. package/dist/browser/modules/excel/chart/cache-populator.js +1171 -0
  7. package/dist/browser/modules/excel/chart/chart-api.d.ts +92 -0
  8. package/dist/browser/modules/excel/chart/chart-api.js +364 -0
  9. package/dist/browser/modules/excel/chart/chart-builder.d.ts +48 -0
  10. package/dist/browser/modules/excel/chart/chart-builder.js +2432 -0
  11. package/dist/browser/modules/excel/chart/chart-ex-builder.d.ts +36 -0
  12. package/dist/browser/modules/excel/chart/chart-ex-builder.js +903 -0
  13. package/dist/browser/modules/excel/chart/chart-ex-parser.d.ts +8 -0
  14. package/dist/browser/modules/excel/chart/chart-ex-parser.js +1205 -0
  15. package/dist/browser/modules/excel/chart/chart-ex-renderer.d.ts +187 -0
  16. package/dist/browser/modules/excel/chart/chart-ex-renderer.js +5352 -0
  17. package/dist/browser/modules/excel/chart/chart-ex-types.d.ts +531 -0
  18. package/dist/browser/modules/excel/chart/chart-ex-types.js +11 -0
  19. package/dist/browser/modules/excel/chart/chart-images.d.ts +78 -0
  20. package/dist/browser/modules/excel/chart/chart-images.js +363 -0
  21. package/dist/browser/modules/excel/chart/chart-presets.d.ts +392 -0
  22. package/dist/browser/modules/excel/chart/chart-presets.js +179 -0
  23. package/dist/browser/modules/excel/chart/chart-renderer.d.ts +550 -0
  24. package/dist/browser/modules/excel/chart/chart-renderer.js +6440 -0
  25. package/dist/browser/modules/excel/chart/chart-sidecar.d.ts +21 -0
  26. package/dist/browser/modules/excel/chart/chart-sidecar.js +427 -0
  27. package/dist/browser/modules/excel/chart/chart-utils.d.ts +306 -0
  28. package/dist/browser/modules/excel/chart/chart-utils.js +821 -0
  29. package/dist/browser/modules/excel/chart/chart.d.ts +504 -0
  30. package/dist/browser/modules/excel/chart/chart.js +1320 -0
  31. package/dist/browser/modules/excel/chart/glyph-rasterizer.d.ts +62 -0
  32. package/dist/browser/modules/excel/chart/glyph-rasterizer.js +658 -0
  33. package/dist/browser/modules/excel/chart/index.d.ts +54 -0
  34. package/dist/browser/modules/excel/chart/index.js +46 -0
  35. package/dist/browser/modules/excel/chart/install.d.ts +44 -0
  36. package/dist/browser/modules/excel/chart/install.js +91 -0
  37. package/dist/browser/modules/excel/chart/shape-properties.d.ts +156 -0
  38. package/dist/browser/modules/excel/chart/shape-properties.js +1557 -0
  39. package/dist/browser/modules/excel/chart/stroke-font.d.ts +36 -0
  40. package/dist/browser/modules/excel/chart/stroke-font.js +1556 -0
  41. package/dist/browser/modules/excel/chart/topojson.d.ts +98 -0
  42. package/dist/browser/modules/excel/chart/topojson.js +236 -0
  43. package/dist/browser/modules/excel/chart/types.d.ts +2559 -0
  44. package/dist/browser/modules/excel/chart/types.js +8 -0
  45. package/dist/browser/modules/excel/chart-host-registry.d.ts +157 -0
  46. package/dist/browser/modules/excel/chart-host-registry.js +90 -0
  47. package/dist/browser/modules/excel/chartsheet.d.ts +102 -0
  48. package/dist/browser/modules/excel/chartsheet.js +196 -0
  49. package/dist/browser/modules/excel/defined-names.d.ts +35 -0
  50. package/dist/browser/modules/excel/defined-names.js +44 -4
  51. package/dist/browser/modules/excel/errors.d.ts +6 -0
  52. package/dist/browser/modules/excel/errors.js +9 -0
  53. package/dist/browser/modules/excel/form-control.d.ts +6 -0
  54. package/dist/browser/modules/excel/form-control.js +17 -0
  55. package/dist/browser/modules/excel/image.js +12 -2
  56. package/dist/browser/modules/excel/pivot-chart.d.ts +7 -0
  57. package/dist/browser/modules/excel/pivot-chart.js +53 -0
  58. package/dist/browser/modules/excel/pivot-table.d.ts +55 -0
  59. package/dist/browser/modules/excel/pivot-table.js +35 -0
  60. package/dist/browser/modules/excel/range.js +5 -1
  61. package/dist/browser/modules/excel/sparkline/index.d.ts +7 -0
  62. package/dist/browser/modules/excel/sparkline/index.js +7 -0
  63. package/dist/browser/modules/excel/sparkline/sparkline.d.ts +206 -0
  64. package/dist/browser/modules/excel/sparkline/sparkline.js +750 -0
  65. package/dist/browser/modules/excel/stream/worksheet-writer.js +3 -2
  66. package/dist/browser/modules/excel/table.js +42 -6
  67. package/dist/browser/modules/excel/types.d.ts +72 -0
  68. package/dist/browser/modules/excel/utils/address.d.ts +18 -0
  69. package/dist/browser/modules/excel/utils/address.js +28 -0
  70. package/dist/browser/modules/excel/utils/drawing-utils.js +11 -6
  71. package/dist/browser/modules/excel/utils/guid.d.ts +15 -0
  72. package/dist/browser/modules/excel/utils/guid.js +35 -0
  73. package/dist/browser/modules/excel/utils/ooxml-paths.d.ts +74 -0
  74. package/dist/browser/modules/excel/utils/ooxml-paths.js +206 -9
  75. package/dist/browser/modules/excel/utils/ooxml-validator/check-chart-sidecar.d.ts +35 -0
  76. package/dist/browser/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +101 -0
  77. package/dist/browser/modules/excel/utils/ooxml-validator/check-chart.d.ts +32 -0
  78. package/dist/browser/modules/excel/utils/ooxml-validator/check-chart.js +2125 -0
  79. package/dist/browser/modules/excel/utils/ooxml-validator/check-chartsheet.d.ts +9 -0
  80. package/dist/browser/modules/excel/utils/ooxml-validator/check-chartsheet.js +26 -0
  81. package/dist/browser/modules/excel/utils/ooxml-validator/check-content-types.d.ts +16 -0
  82. package/dist/browser/modules/excel/utils/ooxml-validator/check-content-types.js +181 -0
  83. package/dist/browser/modules/excel/utils/ooxml-validator/check-drawing.d.ts +34 -0
  84. package/dist/browser/modules/excel/utils/ooxml-validator/check-drawing.js +267 -0
  85. package/dist/browser/modules/excel/utils/ooxml-validator/check-pivot.d.ts +14 -0
  86. package/dist/browser/modules/excel/utils/ooxml-validator/check-pivot.js +104 -0
  87. package/dist/browser/modules/excel/utils/ooxml-validator/check-relationships.d.ts +18 -0
  88. package/dist/browser/modules/excel/utils/ooxml-validator/check-relationships.js +184 -0
  89. package/dist/browser/modules/excel/utils/ooxml-validator/check-structure.d.ts +21 -0
  90. package/dist/browser/modules/excel/utils/ooxml-validator/check-structure.js +56 -0
  91. package/dist/browser/modules/excel/utils/ooxml-validator/check-styles.d.ts +15 -0
  92. package/dist/browser/modules/excel/utils/ooxml-validator/check-styles.js +89 -0
  93. package/dist/browser/modules/excel/utils/ooxml-validator/check-table.d.ts +31 -0
  94. package/dist/browser/modules/excel/utils/ooxml-validator/check-table.js +177 -0
  95. package/dist/browser/modules/excel/utils/ooxml-validator/check-workbook.d.ts +19 -0
  96. package/dist/browser/modules/excel/utils/ooxml-validator/check-workbook.js +163 -0
  97. package/dist/browser/modules/excel/utils/ooxml-validator/check-worksheet.d.ts +25 -0
  98. package/dist/browser/modules/excel/utils/ooxml-validator/check-worksheet.js +569 -0
  99. package/dist/browser/modules/excel/utils/ooxml-validator/context.d.ts +85 -0
  100. package/dist/browser/modules/excel/utils/ooxml-validator/context.js +191 -0
  101. package/dist/browser/modules/excel/utils/ooxml-validator/index.d.ts +31 -0
  102. package/dist/browser/modules/excel/utils/ooxml-validator/index.js +102 -0
  103. package/dist/browser/modules/excel/utils/ooxml-validator/path-utils.d.ts +67 -0
  104. package/dist/browser/modules/excel/utils/ooxml-validator/path-utils.js +156 -0
  105. package/dist/browser/modules/excel/utils/ooxml-validator/reporter.d.ts +41 -0
  106. package/dist/browser/modules/excel/utils/ooxml-validator/reporter.js +61 -0
  107. package/dist/browser/modules/excel/utils/ooxml-validator/types.d.ts +109 -0
  108. package/dist/browser/modules/excel/utils/ooxml-validator/types.js +12 -0
  109. package/dist/browser/modules/excel/utils/ooxml-validator/xml-utils.d.ts +38 -0
  110. package/dist/browser/modules/excel/utils/ooxml-validator/xml-utils.js +100 -0
  111. package/dist/browser/modules/excel/workbook.browser.d.ts +248 -30
  112. package/dist/browser/modules/excel/workbook.browser.js +966 -31
  113. package/dist/browser/modules/excel/workbook.d.ts +43 -0
  114. package/dist/browser/modules/excel/workbook.js +48 -0
  115. package/dist/browser/modules/excel/worksheet.d.ts +157 -3
  116. package/dist/browser/modules/excel/worksheet.js +394 -35
  117. package/dist/browser/modules/excel/xlsx/rel-type.d.ts +40 -0
  118. package/dist/browser/modules/excel/xlsx/rel-type.js +41 -1
  119. package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -0
  120. package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
  121. package/dist/browser/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
  122. package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
  123. package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.d.ts +353 -0
  124. package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.js +6000 -0
  125. package/dist/browser/modules/excel/xlsx/xform/comment/threaded-comments-xform.d.ts +60 -0
  126. package/dist/browser/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +213 -0
  127. package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +150 -11
  128. package/dist/browser/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
  129. package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
  130. package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +30 -0
  131. package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
  132. package/dist/browser/modules/excel/xlsx/xform/drawing/graphic-frame-xform.d.ts +54 -0
  133. package/dist/browser/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +225 -0
  134. package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +3 -1
  135. package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
  136. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +46 -0
  137. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
  138. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +13 -2
  139. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
  140. package/dist/browser/modules/excel/xlsx/xform/sheet/chartsheet-xform.d.ts +185 -0
  141. package/dist/browser/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +441 -0
  142. package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -0
  143. package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
  144. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +196 -20
  145. package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
  146. package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
  147. package/dist/browser/modules/excel/xlsx/xform/xsd-values.d.ts +63 -0
  148. package/dist/browser/modules/excel/xlsx/xform/xsd-values.js +101 -0
  149. package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +115 -21
  150. package/dist/browser/modules/excel/xlsx/xlsx.browser.js +4422 -78
  151. package/dist/browser/modules/pdf/builder/document-builder.d.ts +74 -0
  152. package/dist/browser/modules/pdf/builder/document-builder.js +507 -2
  153. package/dist/browser/modules/pdf/builder/pdf-editor.js +48 -3
  154. package/dist/browser/modules/pdf/excel-bridge.d.ts +69 -0
  155. package/dist/browser/modules/pdf/excel-bridge.js +683 -12
  156. package/dist/browser/modules/pdf/font/font-manager.d.ts +25 -0
  157. package/dist/browser/modules/pdf/font/font-manager.js +39 -0
  158. package/dist/browser/modules/pdf/index.d.ts +5 -2
  159. package/dist/browser/modules/pdf/index.js +3 -1
  160. package/dist/browser/modules/pdf/render/chart-surface.d.ts +33 -0
  161. package/dist/browser/modules/pdf/render/chart-surface.js +200 -0
  162. package/dist/browser/modules/pdf/render/layout-engine.d.ts +22 -1
  163. package/dist/browser/modules/pdf/render/layout-engine.js +436 -56
  164. package/dist/browser/modules/pdf/render/page-renderer.js +169 -28
  165. package/dist/browser/modules/pdf/render/pdf-exporter.js +117 -7
  166. package/dist/browser/modules/pdf/types.d.ts +227 -23
  167. package/dist/browser/modules/pdf/types.js +4 -0
  168. package/dist/browser/modules/pdf/word-bridge.d.ts +47 -0
  169. package/dist/browser/modules/pdf/word-bridge.js +304 -0
  170. package/dist/browser/modules/word/constants.d.ts +179 -0
  171. package/dist/browser/modules/word/constants.js +231 -0
  172. package/dist/browser/modules/word/content-types.d.ts +27 -0
  173. package/dist/browser/modules/word/content-types.js +53 -0
  174. package/dist/browser/modules/word/digital-signatures.d.ts +87 -0
  175. package/dist/browser/modules/word/digital-signatures.js +134 -0
  176. package/dist/browser/modules/word/document.d.ts +728 -0
  177. package/dist/browser/modules/word/document.js +1795 -0
  178. package/dist/browser/modules/word/docx-packager.d.ts +14 -0
  179. package/dist/browser/modules/word/docx-packager.js +822 -0
  180. package/dist/browser/modules/word/docx-reader.d.ts +11 -0
  181. package/dist/browser/modules/word/docx-reader.js +4929 -0
  182. package/dist/browser/modules/word/encryption.d.ts +102 -0
  183. package/dist/browser/modules/word/encryption.js +274 -0
  184. package/dist/browser/modules/word/errors.d.ts +49 -0
  185. package/dist/browser/modules/word/errors.js +68 -0
  186. package/dist/browser/modules/word/font-obfuscation.d.ts +31 -0
  187. package/dist/browser/modules/word/font-obfuscation.js +83 -0
  188. package/dist/browser/modules/word/html-renderer.d.ts +38 -0
  189. package/dist/browser/modules/word/html-renderer.js +782 -0
  190. package/dist/browser/modules/word/index.base.d.ts +19 -0
  191. package/dist/browser/modules/word/index.base.js +51 -0
  192. package/dist/browser/modules/word/index.browser.d.ts +4 -0
  193. package/dist/browser/modules/word/index.browser.js +4 -0
  194. package/dist/browser/modules/word/index.d.ts +4 -0
  195. package/dist/browser/modules/word/index.js +4 -0
  196. package/dist/browser/modules/word/internal-utils.d.ts +23 -0
  197. package/dist/browser/modules/word/internal-utils.js +54 -0
  198. package/dist/browser/modules/word/relationships.d.ts +31 -0
  199. package/dist/browser/modules/word/relationships.js +56 -0
  200. package/dist/browser/modules/word/types.d.ts +2325 -0
  201. package/dist/browser/modules/word/types.js +10 -0
  202. package/dist/browser/modules/word/units.d.ts +49 -0
  203. package/dist/browser/modules/word/units.js +111 -0
  204. package/dist/browser/modules/word/writers/chart-writer.d.ts +10 -0
  205. package/dist/browser/modules/word/writers/chart-writer.js +385 -0
  206. package/dist/browser/modules/word/writers/checkbox-writer.d.ts +9 -0
  207. package/dist/browser/modules/word/writers/checkbox-writer.js +42 -0
  208. package/dist/browser/modules/word/writers/comment-writer.d.ts +15 -0
  209. package/dist/browser/modules/word/writers/comment-writer.js +70 -0
  210. package/dist/browser/modules/word/writers/document-writer.d.ts +16 -0
  211. package/dist/browser/modules/word/writers/document-writer.js +461 -0
  212. package/dist/browser/modules/word/writers/footnote-writer.d.ts +11 -0
  213. package/dist/browser/modules/word/writers/footnote-writer.js +72 -0
  214. package/dist/browser/modules/word/writers/header-footer-writer.d.ts +13 -0
  215. package/dist/browser/modules/word/writers/header-footer-writer.js +129 -0
  216. package/dist/browser/modules/word/writers/image-writer.d.ts +10 -0
  217. package/dist/browser/modules/word/writers/image-writer.js +185 -0
  218. package/dist/browser/modules/word/writers/math-writer.d.ts +9 -0
  219. package/dist/browser/modules/word/writers/math-writer.js +428 -0
  220. package/dist/browser/modules/word/writers/numbering-writer.d.ts +10 -0
  221. package/dist/browser/modules/word/writers/numbering-writer.js +125 -0
  222. package/dist/browser/modules/word/writers/paragraph-writer.d.ts +13 -0
  223. package/dist/browser/modules/word/writers/paragraph-writer.js +516 -0
  224. package/dist/browser/modules/word/writers/parts-writer.d.ts +26 -0
  225. package/dist/browser/modules/word/writers/parts-writer.js +660 -0
  226. package/dist/browser/modules/word/writers/run-writer.d.ts +15 -0
  227. package/dist/browser/modules/word/writers/run-writer.js +649 -0
  228. package/dist/browser/modules/word/writers/section-writer.d.ts +10 -0
  229. package/dist/browser/modules/word/writers/section-writer.js +238 -0
  230. package/dist/browser/modules/word/writers/styles-writer.d.ts +10 -0
  231. package/dist/browser/modules/word/writers/styles-writer.js +242 -0
  232. package/dist/browser/modules/word/writers/table-writer.d.ts +10 -0
  233. package/dist/browser/modules/word/writers/table-writer.js +503 -0
  234. package/dist/browser/modules/word/writers/textbox-writer.d.ts +9 -0
  235. package/dist/browser/modules/word/writers/textbox-writer.js +53 -0
  236. package/dist/browser/modules/word/writers/toc-writer.d.ts +9 -0
  237. package/dist/browser/modules/word/writers/toc-writer.js +79 -0
  238. package/dist/browser/modules/xml/encode.d.ts +56 -7
  239. package/dist/browser/modules/xml/encode.js +157 -11
  240. package/dist/cjs/index.js +13 -2
  241. package/dist/cjs/modules/excel/chart/cache-populator.js +1178 -0
  242. package/dist/cjs/modules/excel/chart/chart-api.js +371 -0
  243. package/dist/cjs/modules/excel/chart/chart-builder.js +2440 -0
  244. package/dist/cjs/modules/excel/chart/chart-ex-builder.js +907 -0
  245. package/dist/cjs/modules/excel/chart/chart-ex-parser.js +1208 -0
  246. package/dist/cjs/modules/excel/chart/chart-ex-renderer.js +5364 -0
  247. package/dist/cjs/modules/excel/chart/chart-ex-types.js +12 -0
  248. package/dist/cjs/modules/excel/chart/chart-images.js +366 -0
  249. package/dist/cjs/modules/excel/chart/chart-presets.js +184 -0
  250. package/dist/cjs/modules/excel/chart/chart-renderer.js +6450 -0
  251. package/dist/cjs/modules/excel/chart/chart-sidecar.js +433 -0
  252. package/dist/cjs/modules/excel/chart/chart-utils.js +845 -0
  253. package/dist/cjs/modules/excel/chart/chart.js +1324 -0
  254. package/dist/cjs/modules/excel/chart/glyph-rasterizer.js +664 -0
  255. package/dist/cjs/modules/excel/chart/index.js +101 -0
  256. package/dist/cjs/modules/excel/chart/install.js +95 -0
  257. package/dist/cjs/modules/excel/chart/shape-properties.js +1577 -0
  258. package/dist/cjs/modules/excel/chart/stroke-font.js +1559 -0
  259. package/dist/cjs/modules/excel/chart/topojson.js +239 -0
  260. package/dist/cjs/modules/excel/chart/types.js +9 -0
  261. package/dist/cjs/modules/excel/chart-host-registry.js +96 -0
  262. package/dist/cjs/modules/excel/chartsheet.js +199 -0
  263. package/dist/cjs/modules/excel/defined-names.js +44 -4
  264. package/dist/cjs/modules/excel/errors.js +11 -1
  265. package/dist/cjs/modules/excel/form-control.js +17 -0
  266. package/dist/cjs/modules/excel/image.js +12 -2
  267. package/dist/cjs/modules/excel/pivot-chart.js +56 -0
  268. package/dist/cjs/modules/excel/pivot-table.js +35 -0
  269. package/dist/cjs/modules/excel/range.js +5 -1
  270. package/dist/cjs/modules/excel/sparkline/index.js +23 -0
  271. package/dist/cjs/modules/excel/sparkline/sparkline.js +756 -0
  272. package/dist/cjs/modules/excel/stream/worksheet-writer.js +3 -2
  273. package/dist/cjs/modules/excel/table.js +42 -6
  274. package/dist/cjs/modules/excel/utils/address.js +29 -0
  275. package/dist/cjs/modules/excel/utils/drawing-utils.js +11 -6
  276. package/dist/cjs/modules/excel/utils/guid.js +38 -0
  277. package/dist/cjs/modules/excel/utils/ooxml-paths.js +246 -9
  278. package/dist/cjs/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +103 -0
  279. package/dist/cjs/modules/excel/utils/ooxml-validator/check-chart.js +2128 -0
  280. package/dist/cjs/modules/excel/utils/ooxml-validator/check-chartsheet.js +29 -0
  281. package/dist/cjs/modules/excel/utils/ooxml-validator/check-content-types.js +184 -0
  282. package/dist/cjs/modules/excel/utils/ooxml-validator/check-drawing.js +270 -0
  283. package/dist/cjs/modules/excel/utils/ooxml-validator/check-pivot.js +107 -0
  284. package/dist/cjs/modules/excel/utils/ooxml-validator/check-relationships.js +188 -0
  285. package/dist/cjs/modules/excel/utils/ooxml-validator/check-structure.js +60 -0
  286. package/dist/cjs/modules/excel/utils/ooxml-validator/check-styles.js +92 -0
  287. package/dist/cjs/modules/excel/utils/ooxml-validator/check-table.js +180 -0
  288. package/dist/cjs/modules/excel/utils/ooxml-validator/check-workbook.js +166 -0
  289. package/dist/cjs/modules/excel/utils/ooxml-validator/check-worksheet.js +572 -0
  290. package/dist/cjs/modules/excel/utils/ooxml-validator/context.js +196 -0
  291. package/dist/cjs/modules/excel/utils/ooxml-validator/index.js +105 -0
  292. package/dist/cjs/modules/excel/utils/ooxml-validator/path-utils.js +168 -0
  293. package/dist/cjs/modules/excel/utils/ooxml-validator/reporter.js +66 -0
  294. package/dist/cjs/modules/excel/utils/ooxml-validator/types.js +13 -0
  295. package/dist/cjs/modules/excel/utils/ooxml-validator/xml-utils.js +110 -0
  296. package/dist/cjs/modules/excel/workbook.browser.js +973 -38
  297. package/dist/cjs/modules/excel/workbook.js +48 -0
  298. package/dist/cjs/modules/excel/worksheet.js +393 -34
  299. package/dist/cjs/modules/excel/xlsx/rel-type.js +41 -1
  300. package/dist/cjs/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
  301. package/dist/cjs/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
  302. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
  303. package/dist/cjs/modules/excel/xlsx/xform/chart/chart-space-xform.js +6003 -0
  304. package/dist/cjs/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +219 -0
  305. package/dist/cjs/modules/excel/xlsx/xform/core/content-types-xform.js +149 -10
  306. package/dist/cjs/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
  307. package/dist/cjs/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
  308. package/dist/cjs/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
  309. package/dist/cjs/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +228 -0
  310. package/dist/cjs/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
  311. package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
  312. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
  313. package/dist/cjs/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +444 -0
  314. package/dist/cjs/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
  315. package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +195 -19
  316. package/dist/cjs/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
  317. package/dist/cjs/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
  318. package/dist/cjs/modules/excel/xlsx/xform/xsd-values.js +106 -0
  319. package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +4420 -76
  320. package/dist/cjs/modules/pdf/builder/document-builder.js +506 -1
  321. package/dist/cjs/modules/pdf/builder/pdf-editor.js +48 -3
  322. package/dist/cjs/modules/pdf/excel-bridge.js +684 -12
  323. package/dist/cjs/modules/pdf/font/font-manager.js +39 -0
  324. package/dist/cjs/modules/pdf/index.js +5 -1
  325. package/dist/cjs/modules/pdf/render/chart-surface.js +203 -0
  326. package/dist/cjs/modules/pdf/render/layout-engine.js +437 -56
  327. package/dist/cjs/modules/pdf/render/page-renderer.js +169 -28
  328. package/dist/cjs/modules/pdf/render/pdf-exporter.js +115 -5
  329. package/dist/cjs/modules/pdf/types.js +5 -0
  330. package/dist/cjs/modules/pdf/word-bridge.js +307 -0
  331. package/dist/cjs/modules/word/constants.js +234 -0
  332. package/dist/cjs/modules/word/content-types.js +57 -0
  333. package/dist/cjs/modules/word/digital-signatures.js +140 -0
  334. package/dist/cjs/modules/word/document.js +1909 -0
  335. package/dist/cjs/modules/word/docx-packager.js +825 -0
  336. package/dist/cjs/modules/word/docx-reader.js +4932 -0
  337. package/dist/cjs/modules/word/encryption.js +282 -0
  338. package/dist/cjs/modules/word/errors.js +88 -0
  339. package/dist/cjs/modules/word/font-obfuscation.js +88 -0
  340. package/dist/cjs/modules/word/html-renderer.js +785 -0
  341. package/dist/cjs/modules/word/index.base.js +199 -0
  342. package/dist/cjs/modules/word/index.browser.js +20 -0
  343. package/dist/cjs/modules/word/index.js +20 -0
  344. package/dist/cjs/modules/word/internal-utils.js +59 -0
  345. package/dist/cjs/modules/word/relationships.js +60 -0
  346. package/dist/cjs/modules/word/types.js +11 -0
  347. package/dist/cjs/modules/word/units.js +135 -0
  348. package/dist/cjs/modules/word/writers/chart-writer.js +388 -0
  349. package/dist/cjs/modules/word/writers/checkbox-writer.js +45 -0
  350. package/dist/cjs/modules/word/writers/comment-writer.js +74 -0
  351. package/dist/cjs/modules/word/writers/document-writer.js +465 -0
  352. package/dist/cjs/modules/word/writers/footnote-writer.js +76 -0
  353. package/dist/cjs/modules/word/writers/header-footer-writer.js +134 -0
  354. package/dist/cjs/modules/word/writers/image-writer.js +188 -0
  355. package/dist/cjs/modules/word/writers/math-writer.js +431 -0
  356. package/dist/cjs/modules/word/writers/numbering-writer.js +128 -0
  357. package/dist/cjs/modules/word/writers/paragraph-writer.js +521 -0
  358. package/dist/cjs/modules/word/writers/parts-writer.js +671 -0
  359. package/dist/cjs/modules/word/writers/run-writer.js +655 -0
  360. package/dist/cjs/modules/word/writers/section-writer.js +241 -0
  361. package/dist/cjs/modules/word/writers/styles-writer.js +245 -0
  362. package/dist/cjs/modules/word/writers/table-writer.js +506 -0
  363. package/dist/cjs/modules/word/writers/textbox-writer.js +56 -0
  364. package/dist/cjs/modules/word/writers/toc-writer.js +82 -0
  365. package/dist/cjs/modules/xml/encode.js +158 -11
  366. package/dist/esm/index.browser.js +20 -2
  367. package/dist/esm/index.js +9 -1
  368. package/dist/esm/modules/excel/chart/cache-populator.js +1171 -0
  369. package/dist/esm/modules/excel/chart/chart-api.js +364 -0
  370. package/dist/esm/modules/excel/chart/chart-builder.js +2432 -0
  371. package/dist/esm/modules/excel/chart/chart-ex-builder.js +903 -0
  372. package/dist/esm/modules/excel/chart/chart-ex-parser.js +1205 -0
  373. package/dist/esm/modules/excel/chart/chart-ex-renderer.js +5352 -0
  374. package/dist/esm/modules/excel/chart/chart-ex-types.js +11 -0
  375. package/dist/esm/modules/excel/chart/chart-images.js +363 -0
  376. package/dist/esm/modules/excel/chart/chart-presets.js +179 -0
  377. package/dist/esm/modules/excel/chart/chart-renderer.js +6440 -0
  378. package/dist/esm/modules/excel/chart/chart-sidecar.js +427 -0
  379. package/dist/esm/modules/excel/chart/chart-utils.js +821 -0
  380. package/dist/esm/modules/excel/chart/chart.js +1320 -0
  381. package/dist/esm/modules/excel/chart/glyph-rasterizer.js +658 -0
  382. package/dist/esm/modules/excel/chart/index.js +46 -0
  383. package/dist/esm/modules/excel/chart/install.js +91 -0
  384. package/dist/esm/modules/excel/chart/shape-properties.js +1557 -0
  385. package/dist/esm/modules/excel/chart/stroke-font.js +1556 -0
  386. package/dist/esm/modules/excel/chart/topojson.js +236 -0
  387. package/dist/esm/modules/excel/chart/types.js +8 -0
  388. package/dist/esm/modules/excel/chart-host-registry.js +90 -0
  389. package/dist/esm/modules/excel/chartsheet.js +196 -0
  390. package/dist/esm/modules/excel/defined-names.js +44 -4
  391. package/dist/esm/modules/excel/errors.js +9 -0
  392. package/dist/esm/modules/excel/form-control.js +17 -0
  393. package/dist/esm/modules/excel/image.js +12 -2
  394. package/dist/esm/modules/excel/pivot-chart.js +53 -0
  395. package/dist/esm/modules/excel/pivot-table.js +35 -0
  396. package/dist/esm/modules/excel/range.js +5 -1
  397. package/dist/esm/modules/excel/sparkline/index.js +7 -0
  398. package/dist/esm/modules/excel/sparkline/sparkline.js +750 -0
  399. package/dist/esm/modules/excel/stream/worksheet-writer.js +3 -2
  400. package/dist/esm/modules/excel/table.js +42 -6
  401. package/dist/esm/modules/excel/utils/address.js +28 -0
  402. package/dist/esm/modules/excel/utils/drawing-utils.js +11 -6
  403. package/dist/esm/modules/excel/utils/guid.js +35 -0
  404. package/dist/esm/modules/excel/utils/ooxml-paths.js +206 -9
  405. package/dist/esm/modules/excel/utils/ooxml-validator/check-chart-sidecar.js +101 -0
  406. package/dist/esm/modules/excel/utils/ooxml-validator/check-chart.js +2125 -0
  407. package/dist/esm/modules/excel/utils/ooxml-validator/check-chartsheet.js +26 -0
  408. package/dist/esm/modules/excel/utils/ooxml-validator/check-content-types.js +181 -0
  409. package/dist/esm/modules/excel/utils/ooxml-validator/check-drawing.js +267 -0
  410. package/dist/esm/modules/excel/utils/ooxml-validator/check-pivot.js +104 -0
  411. package/dist/esm/modules/excel/utils/ooxml-validator/check-relationships.js +184 -0
  412. package/dist/esm/modules/excel/utils/ooxml-validator/check-structure.js +56 -0
  413. package/dist/esm/modules/excel/utils/ooxml-validator/check-styles.js +89 -0
  414. package/dist/esm/modules/excel/utils/ooxml-validator/check-table.js +177 -0
  415. package/dist/esm/modules/excel/utils/ooxml-validator/check-workbook.js +163 -0
  416. package/dist/esm/modules/excel/utils/ooxml-validator/check-worksheet.js +569 -0
  417. package/dist/esm/modules/excel/utils/ooxml-validator/context.js +191 -0
  418. package/dist/esm/modules/excel/utils/ooxml-validator/index.js +102 -0
  419. package/dist/esm/modules/excel/utils/ooxml-validator/path-utils.js +156 -0
  420. package/dist/esm/modules/excel/utils/ooxml-validator/reporter.js +61 -0
  421. package/dist/esm/modules/excel/utils/ooxml-validator/types.js +12 -0
  422. package/dist/esm/modules/excel/utils/ooxml-validator/xml-utils.js +100 -0
  423. package/dist/esm/modules/excel/workbook.browser.js +969 -34
  424. package/dist/esm/modules/excel/workbook.js +48 -0
  425. package/dist/esm/modules/excel/worksheet.js +394 -35
  426. package/dist/esm/modules/excel/xlsx/rel-type.js +41 -1
  427. package/dist/esm/modules/excel/xlsx/xform/book/defined-name-xform.js +11 -2
  428. package/dist/esm/modules/excel/xlsx/xform/book/external-link-xform.js +12 -10
  429. package/dist/esm/modules/excel/xlsx/xform/book/workbook-xform.js +96 -22
  430. package/dist/esm/modules/excel/xlsx/xform/chart/chart-space-xform.js +6000 -0
  431. package/dist/esm/modules/excel/xlsx/xform/comment/threaded-comments-xform.js +213 -0
  432. package/dist/esm/modules/excel/xlsx/xform/core/content-types-xform.js +150 -11
  433. package/dist/esm/modules/excel/xlsx/xform/drawing/absolute-anchor-xform.js +20 -1
  434. package/dist/esm/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +1 -1
  435. package/dist/esm/modules/excel/xlsx/xform/drawing/drawing-xform.js +109 -5
  436. package/dist/esm/modules/excel/xlsx/xform/drawing/graphic-frame-xform.js +225 -0
  437. package/dist/esm/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +18 -3
  438. package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +294 -12
  439. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +32 -6
  440. package/dist/esm/modules/excel/xlsx/xform/sheet/chartsheet-xform.js +441 -0
  441. package/dist/esm/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +51 -2
  442. package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +196 -20
  443. package/dist/esm/modules/excel/xlsx/xform/table/auto-filter-xform.js +16 -1
  444. package/dist/esm/modules/excel/xlsx/xform/table/table-column-xform.js +17 -2
  445. package/dist/esm/modules/excel/xlsx/xform/xsd-values.js +101 -0
  446. package/dist/esm/modules/excel/xlsx/xlsx.browser.js +4422 -78
  447. package/dist/esm/modules/pdf/builder/document-builder.js +507 -2
  448. package/dist/esm/modules/pdf/builder/pdf-editor.js +48 -3
  449. package/dist/esm/modules/pdf/excel-bridge.js +683 -12
  450. package/dist/esm/modules/pdf/font/font-manager.js +39 -0
  451. package/dist/esm/modules/pdf/index.js +3 -1
  452. package/dist/esm/modules/pdf/render/chart-surface.js +200 -0
  453. package/dist/esm/modules/pdf/render/layout-engine.js +436 -56
  454. package/dist/esm/modules/pdf/render/page-renderer.js +169 -28
  455. package/dist/esm/modules/pdf/render/pdf-exporter.js +117 -7
  456. package/dist/esm/modules/pdf/types.js +4 -0
  457. package/dist/esm/modules/pdf/word-bridge.js +304 -0
  458. package/dist/esm/modules/word/constants.js +231 -0
  459. package/dist/esm/modules/word/content-types.js +53 -0
  460. package/dist/esm/modules/word/digital-signatures.js +134 -0
  461. package/dist/esm/modules/word/document.js +1795 -0
  462. package/dist/esm/modules/word/docx-packager.js +822 -0
  463. package/dist/esm/modules/word/docx-reader.js +4929 -0
  464. package/dist/esm/modules/word/encryption.js +274 -0
  465. package/dist/esm/modules/word/errors.js +68 -0
  466. package/dist/esm/modules/word/font-obfuscation.js +83 -0
  467. package/dist/esm/modules/word/html-renderer.js +782 -0
  468. package/dist/esm/modules/word/index.base.js +51 -0
  469. package/dist/esm/modules/word/index.browser.js +4 -0
  470. package/dist/esm/modules/word/index.js +4 -0
  471. package/dist/esm/modules/word/internal-utils.js +54 -0
  472. package/dist/esm/modules/word/relationships.js +56 -0
  473. package/dist/esm/modules/word/types.js +10 -0
  474. package/dist/esm/modules/word/units.js +111 -0
  475. package/dist/esm/modules/word/writers/chart-writer.js +385 -0
  476. package/dist/esm/modules/word/writers/checkbox-writer.js +42 -0
  477. package/dist/esm/modules/word/writers/comment-writer.js +70 -0
  478. package/dist/esm/modules/word/writers/document-writer.js +461 -0
  479. package/dist/esm/modules/word/writers/footnote-writer.js +72 -0
  480. package/dist/esm/modules/word/writers/header-footer-writer.js +129 -0
  481. package/dist/esm/modules/word/writers/image-writer.js +185 -0
  482. package/dist/esm/modules/word/writers/math-writer.js +428 -0
  483. package/dist/esm/modules/word/writers/numbering-writer.js +125 -0
  484. package/dist/esm/modules/word/writers/paragraph-writer.js +516 -0
  485. package/dist/esm/modules/word/writers/parts-writer.js +660 -0
  486. package/dist/esm/modules/word/writers/run-writer.js +649 -0
  487. package/dist/esm/modules/word/writers/section-writer.js +238 -0
  488. package/dist/esm/modules/word/writers/styles-writer.js +242 -0
  489. package/dist/esm/modules/word/writers/table-writer.js +503 -0
  490. package/dist/esm/modules/word/writers/textbox-writer.js +53 -0
  491. package/dist/esm/modules/word/writers/toc-writer.js +79 -0
  492. package/dist/esm/modules/xml/encode.js +157 -11
  493. package/dist/iife/excelts.iife.js +11789 -687
  494. package/dist/iife/excelts.iife.js.map +1 -1
  495. package/dist/iife/excelts.iife.min.js +52 -44
  496. package/dist/types/index.browser.d.ts +8 -5
  497. package/dist/types/index.d.ts +4 -2
  498. package/dist/types/modules/excel/chart/cache-populator.d.ts +49 -0
  499. package/dist/types/modules/excel/chart/chart-api.d.ts +92 -0
  500. package/dist/types/modules/excel/chart/chart-builder.d.ts +48 -0
  501. package/dist/types/modules/excel/chart/chart-ex-builder.d.ts +36 -0
  502. package/dist/types/modules/excel/chart/chart-ex-parser.d.ts +8 -0
  503. package/dist/types/modules/excel/chart/chart-ex-renderer.d.ts +187 -0
  504. package/dist/types/modules/excel/chart/chart-ex-types.d.ts +531 -0
  505. package/dist/types/modules/excel/chart/chart-images.d.ts +78 -0
  506. package/dist/types/modules/excel/chart/chart-presets.d.ts +392 -0
  507. package/dist/types/modules/excel/chart/chart-renderer.d.ts +550 -0
  508. package/dist/types/modules/excel/chart/chart-sidecar.d.ts +21 -0
  509. package/dist/types/modules/excel/chart/chart-utils.d.ts +306 -0
  510. package/dist/types/modules/excel/chart/chart.d.ts +504 -0
  511. package/dist/types/modules/excel/chart/glyph-rasterizer.d.ts +62 -0
  512. package/dist/types/modules/excel/chart/index.d.ts +54 -0
  513. package/dist/types/modules/excel/chart/install.d.ts +44 -0
  514. package/dist/types/modules/excel/chart/shape-properties.d.ts +156 -0
  515. package/dist/types/modules/excel/chart/stroke-font.d.ts +36 -0
  516. package/dist/types/modules/excel/chart/topojson.d.ts +98 -0
  517. package/dist/types/modules/excel/chart/types.d.ts +2559 -0
  518. package/dist/types/modules/excel/chart-host-registry.d.ts +157 -0
  519. package/dist/types/modules/excel/chartsheet.d.ts +102 -0
  520. package/dist/types/modules/excel/defined-names.d.ts +35 -0
  521. package/dist/types/modules/excel/errors.d.ts +6 -0
  522. package/dist/types/modules/excel/form-control.d.ts +6 -0
  523. package/dist/types/modules/excel/pivot-chart.d.ts +7 -0
  524. package/dist/types/modules/excel/pivot-table.d.ts +55 -0
  525. package/dist/types/modules/excel/sparkline/index.d.ts +7 -0
  526. package/dist/types/modules/excel/sparkline/sparkline.d.ts +206 -0
  527. package/dist/types/modules/excel/types.d.ts +72 -0
  528. package/dist/types/modules/excel/utils/address.d.ts +18 -0
  529. package/dist/types/modules/excel/utils/guid.d.ts +15 -0
  530. package/dist/types/modules/excel/utils/ooxml-paths.d.ts +74 -0
  531. package/dist/types/modules/excel/utils/ooxml-validator/check-chart-sidecar.d.ts +35 -0
  532. package/dist/types/modules/excel/utils/ooxml-validator/check-chart.d.ts +32 -0
  533. package/dist/types/modules/excel/utils/ooxml-validator/check-chartsheet.d.ts +9 -0
  534. package/dist/types/modules/excel/utils/ooxml-validator/check-content-types.d.ts +16 -0
  535. package/dist/types/modules/excel/utils/ooxml-validator/check-drawing.d.ts +34 -0
  536. package/dist/types/modules/excel/utils/ooxml-validator/check-pivot.d.ts +14 -0
  537. package/dist/types/modules/excel/utils/ooxml-validator/check-relationships.d.ts +18 -0
  538. package/dist/types/modules/excel/utils/ooxml-validator/check-structure.d.ts +21 -0
  539. package/dist/types/modules/excel/utils/ooxml-validator/check-styles.d.ts +15 -0
  540. package/dist/types/modules/excel/utils/ooxml-validator/check-table.d.ts +31 -0
  541. package/dist/types/modules/excel/utils/ooxml-validator/check-workbook.d.ts +19 -0
  542. package/dist/types/modules/excel/utils/ooxml-validator/check-worksheet.d.ts +25 -0
  543. package/dist/types/modules/excel/utils/ooxml-validator/context.d.ts +85 -0
  544. package/dist/types/modules/excel/utils/ooxml-validator/index.d.ts +31 -0
  545. package/dist/types/modules/excel/utils/ooxml-validator/path-utils.d.ts +67 -0
  546. package/dist/types/modules/excel/utils/ooxml-validator/reporter.d.ts +41 -0
  547. package/dist/types/modules/excel/utils/ooxml-validator/types.d.ts +109 -0
  548. package/dist/types/modules/excel/utils/ooxml-validator/xml-utils.d.ts +38 -0
  549. package/dist/types/modules/excel/workbook.browser.d.ts +248 -30
  550. package/dist/types/modules/excel/workbook.d.ts +43 -0
  551. package/dist/types/modules/excel/worksheet.d.ts +157 -3
  552. package/dist/types/modules/excel/xlsx/rel-type.d.ts +40 -0
  553. package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -0
  554. package/dist/types/modules/excel/xlsx/xform/chart/chart-space-xform.d.ts +353 -0
  555. package/dist/types/modules/excel/xlsx/xform/comment/threaded-comments-xform.d.ts +60 -0
  556. package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +30 -0
  557. package/dist/types/modules/excel/xlsx/xform/drawing/graphic-frame-xform.d.ts +54 -0
  558. package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +3 -1
  559. package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +46 -0
  560. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +13 -2
  561. package/dist/types/modules/excel/xlsx/xform/sheet/chartsheet-xform.d.ts +185 -0
  562. package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -0
  563. package/dist/types/modules/excel/xlsx/xform/xsd-values.d.ts +63 -0
  564. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +115 -21
  565. package/dist/types/modules/pdf/builder/document-builder.d.ts +74 -0
  566. package/dist/types/modules/pdf/excel-bridge.d.ts +69 -0
  567. package/dist/types/modules/pdf/font/font-manager.d.ts +25 -0
  568. package/dist/types/modules/pdf/index.d.ts +5 -2
  569. package/dist/types/modules/pdf/render/chart-surface.d.ts +33 -0
  570. package/dist/types/modules/pdf/render/layout-engine.d.ts +22 -1
  571. package/dist/types/modules/pdf/types.d.ts +227 -23
  572. package/dist/types/modules/pdf/word-bridge.d.ts +47 -0
  573. package/dist/types/modules/word/constants.d.ts +179 -0
  574. package/dist/types/modules/word/content-types.d.ts +27 -0
  575. package/dist/types/modules/word/digital-signatures.d.ts +87 -0
  576. package/dist/types/modules/word/document.d.ts +728 -0
  577. package/dist/types/modules/word/docx-packager.d.ts +14 -0
  578. package/dist/types/modules/word/docx-reader.d.ts +11 -0
  579. package/dist/types/modules/word/encryption.d.ts +102 -0
  580. package/dist/types/modules/word/errors.d.ts +49 -0
  581. package/dist/types/modules/word/font-obfuscation.d.ts +31 -0
  582. package/dist/types/modules/word/html-renderer.d.ts +38 -0
  583. package/dist/types/modules/word/index.base.d.ts +19 -0
  584. package/dist/types/modules/word/index.browser.d.ts +4 -0
  585. package/dist/types/modules/word/index.d.ts +4 -0
  586. package/dist/types/modules/word/internal-utils.d.ts +23 -0
  587. package/dist/types/modules/word/relationships.d.ts +31 -0
  588. package/dist/types/modules/word/types.d.ts +2325 -0
  589. package/dist/types/modules/word/units.d.ts +49 -0
  590. package/dist/types/modules/word/writers/chart-writer.d.ts +10 -0
  591. package/dist/types/modules/word/writers/checkbox-writer.d.ts +9 -0
  592. package/dist/types/modules/word/writers/comment-writer.d.ts +15 -0
  593. package/dist/types/modules/word/writers/document-writer.d.ts +16 -0
  594. package/dist/types/modules/word/writers/footnote-writer.d.ts +11 -0
  595. package/dist/types/modules/word/writers/header-footer-writer.d.ts +13 -0
  596. package/dist/types/modules/word/writers/image-writer.d.ts +10 -0
  597. package/dist/types/modules/word/writers/math-writer.d.ts +9 -0
  598. package/dist/types/modules/word/writers/numbering-writer.d.ts +10 -0
  599. package/dist/types/modules/word/writers/paragraph-writer.d.ts +13 -0
  600. package/dist/types/modules/word/writers/parts-writer.d.ts +26 -0
  601. package/dist/types/modules/word/writers/run-writer.d.ts +15 -0
  602. package/dist/types/modules/word/writers/section-writer.d.ts +10 -0
  603. package/dist/types/modules/word/writers/styles-writer.d.ts +10 -0
  604. package/dist/types/modules/word/writers/table-writer.d.ts +10 -0
  605. package/dist/types/modules/word/writers/textbox-writer.d.ts +9 -0
  606. package/dist/types/modules/word/writers/toc-writer.d.ts +9 -0
  607. package/dist/types/modules/xml/encode.d.ts +56 -7
  608. package/package.json +29 -11
  609. package/dist/browser/modules/excel/utils/ooxml-validator.d.ts +0 -48
  610. package/dist/browser/modules/excel/utils/ooxml-validator.js +0 -493
  611. package/dist/browser/modules/excel/utils/passthrough-manager.d.ts +0 -77
  612. package/dist/browser/modules/excel/utils/passthrough-manager.js +0 -129
  613. package/dist/cjs/modules/excel/utils/ooxml-validator.js +0 -499
  614. package/dist/cjs/modules/excel/utils/passthrough-manager.js +0 -133
  615. package/dist/esm/modules/excel/utils/ooxml-validator.js +0 -493
  616. package/dist/esm/modules/excel/utils/passthrough-manager.js +0 -129
  617. package/dist/types/modules/excel/utils/ooxml-validator.d.ts +0 -48
  618. package/dist/types/modules/excel/utils/passthrough-manager.d.ts +0 -77
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import type { ZipTimestampMode } from "../../archive/zip-spec/timestamps.js";
12
12
  import type { PivotTableSubtotal } from "../pivot-table.js";
13
- import type { Workbook } from "../workbook.js";
13
+ import type { Workbook } from "../workbook.browser.js";
14
14
  import { type IEventEmitter } from "../../stream/index.js";
15
15
  type StreamListener = Parameters<IEventEmitter["on"]>[1];
16
16
  interface EmitterLike {
@@ -101,6 +101,7 @@ export interface ZipWriterOptions {
101
101
  /** Timestamp writing strategy for ZIP entry metadata (optional). */
102
102
  timestamps?: ZipTimestampMode;
103
103
  }
104
+ export type XlsxTemplateMode = "preserve" | "strict";
104
105
  /**
105
106
  * Options for writing an XLSX workbook.
106
107
  *
@@ -124,6 +125,54 @@ export interface XlsxWriteOptions {
124
125
  * compatibility with minimal readers.
125
126
  */
126
127
  useStyles?: boolean;
128
+ /**
129
+ * Template fidelity strategy for loaded workbooks. The default `"preserve"`
130
+ * byte-preserves clean chart parts and may structurally re-render edited parts
131
+ * when no safe raw XML patch is available. `"strict"` fails the write instead
132
+ * of re-rendering any edited loaded chart/chartEx part that cannot be patched
133
+ * in-place, preventing silent loss of unknown template XML.
134
+ *
135
+ * When a strict write fails, the thrown error enumerates the unrecognised
136
+ * `c15:`/`cx14:` extension paths the parser observed, so authors can decide
137
+ * between relaxing the mode or reshaping the mutation into a patch-friendly
138
+ * path. To inspect those paths *before* writing (for example to decide
139
+ * whether to opt into strict mode at all), use {@link Chart.unknownElements}
140
+ * on each chart of interest.
141
+ */
142
+ templateMode?: XlsxTemplateMode;
143
+ /**
144
+ * Convenience alias for `templateMode: "strict"`. Strict mode refuses to
145
+ * silently drop vendor-extension XML (`c15:…`, `cx14:…`) that the
146
+ * structured parser does not understand. Use this when round-tripping
147
+ * Excel-authored template files where preserving exotic extension
148
+ * elements matters more than the ability to re-render modified charts.
149
+ */
150
+ strictTemplateMode?: boolean;
151
+ /**
152
+ * Run the OOXML self-check on the produced bytes and `console.warn`
153
+ * every detected problem. Only {@link XLSX.writeBuffer} honours this
154
+ * flag — `write(stream)` / `writeFile` cannot post-validate because
155
+ * their output is streamed to the caller.
156
+ *
157
+ * Default resolution:
158
+ * - In Node.js with `NODE_ENV !== "production"` and NOT running
159
+ * under vitest (`process.env.VITEST !== "true"`): `true`.
160
+ * - In production, in the browser, or under vitest: `false`.
161
+ *
162
+ * The vitest carve-out exists because running validation on every
163
+ * `writeBuffer` call inflates fixture `beforeAll` hooks that build
164
+ * hundreds of workbooks by ~50 seconds on typical hardware. Tests
165
+ * that want validation use {@link expectValidXlsx} directly.
166
+ *
167
+ * Pass `true` to force validation (even in production or under
168
+ * vitest), or `false` to suppress it (even in development). The
169
+ * self-check never throws: a failed validation becomes a warning so
170
+ * writers that intentionally produce non-conformant xlsx for
171
+ * testing keep working.
172
+ *
173
+ * @see OoxmlValidationReport
174
+ */
175
+ validate?: boolean;
127
176
  /**
128
177
  * Forward-compatibility / subclass extension escape hatch. Unknown keys are
129
178
  * passed through to internal writers; unrecognised keys are ignored.
@@ -176,6 +225,19 @@ declare class XLSX {
176
225
  SheetMetadata: string;
177
226
  ExternalLink: string;
178
227
  ExternalLinkPath: string;
228
+ Chart: string;
229
+ ChartEx: string;
230
+ ChartStyle: string;
231
+ ChartColors: string;
232
+ Drawing: string;
233
+ ChartUserShapes: string;
234
+ Chartsheet: string;
235
+ ThreadedComments: string;
236
+ Person: string;
237
+ Slicer: string;
238
+ SlicerCache: string;
239
+ Timeline: string;
240
+ TimelineCache: string;
179
241
  };
180
242
  constructor(workbook: Workbook);
181
243
  /**
@@ -204,6 +266,22 @@ declare class XLSX {
204
266
  * Shared by both Node.js write() and browser writeBuffer()
205
267
  */
206
268
  protected writeToZip(zip: IZipWriter, options?: XlsxWriteOptions): Promise<void>;
269
+ /**
270
+ * Emit the raw slicer/timeline parts captured on load. Pure
271
+ * byte-copy — excelts does not modify these parts. The partner
272
+ * Content-Types and rels are covered separately (content types in
273
+ * `addContentTypes`, sheet/workbook rels by the corresponding
274
+ * xforms consuming the existing `xl/_rels/*.rels` captured on
275
+ * load).
276
+ */
277
+ addSlicerAndTimelineParts(zip: IZipWriter, model: any): Promise<void>;
278
+ /**
279
+ * Write the workbook-level `xl/persons/person.xml` part when the
280
+ * model carries Office 365 threaded-comment authors. No-op when the
281
+ * persons list is empty so legacy files without threaded comments
282
+ * stay byte-identical.
283
+ */
284
+ addPersons(zip: IZipWriter, model: any): Promise<void>;
207
285
  /**
208
286
  * Read workbook from a stream
209
287
  */
@@ -245,15 +323,6 @@ declare class XLSX {
245
323
  * Reusable helper for passthrough and drawing processing.
246
324
  */
247
325
  protected collectStreamData(stream: IParseStream): Promise<Uint8Array>;
248
- /**
249
- * Check if a drawing has chart references in its relationships
250
- */
251
- private drawingHasChartReference;
252
- /**
253
- * Check if a drawing rels list references charts.
254
- * Used to decide whether we need to keep raw drawing XML for passthrough.
255
- */
256
- private drawingRelsHasChartReference;
257
326
  /**
258
327
  * Process a known OOXML entry (workbook, styles, shared strings, etc.)
259
328
  * Returns true if handled, false if should be passed to _processDefaultEntry
@@ -277,6 +346,20 @@ declare class XLSX {
277
346
  parseWorkbook(stream: IParseStream): Promise<any>;
278
347
  parseSharedStrings(stream: IParseStream): Promise<any>;
279
348
  reconcile(model: any, options?: XlsxOptions): void;
349
+ /**
350
+ * Copy the raw bytes of each chart's user-shapes drawing part onto
351
+ * the owning `ChartEntry.userShapesXml` so the writer can emit them
352
+ * back verbatim (and so {@link Chart.userShapesXml} can surface them
353
+ * to user code). Runs after all ZIP entries have been processed
354
+ * because chart rels and drawing bytes stream in independent order.
355
+ *
356
+ * Skips charts that have no `ChartUserShapes` rel. The bytes stay
357
+ * keyed by drawing name (e.g. `drawing3`) inside `model.drawingRaw`
358
+ * since a workbook may have many user-shape drawings across
359
+ * different charts; we look up each chart's target through its
360
+ * rels file.
361
+ */
362
+ protected _reconcileChartUserShapes(model: any): void;
280
363
  /**
281
364
  * Join the three on-disk sources that together describe external workbook
282
365
  * references into a single dense `model.externalLinks: ExternalLinkModel[]`.
@@ -338,6 +421,7 @@ declare class XLSX {
338
421
  subtotal?: string;
339
422
  }>, defaultMetric: PivotTableSubtotal): PivotTableSubtotal[];
340
423
  _processWorksheetEntry(stream: IParseStream, model: any, sheetNo: number, options: XlsxOptions | undefined, path: string): Promise<void>;
424
+ _processChartsheetEntry(stream: IParseStream, model: any, sheetNo: number): Promise<void>;
341
425
  _processCommentEntry(stream: IParseStream, model: any, zipPath: string): Promise<void>;
342
426
  _processTableEntry(stream: IParseStream, model: any, zipPath: string): Promise<void>;
343
427
  _processWorksheetRelsEntry(stream: IParseStream, model: any, sheetNo: number): Promise<void>;
@@ -351,6 +435,15 @@ declare class XLSX {
351
435
  * @param rawData - Pre-read raw data (used in loadFromFiles path to avoid re-reading stream)
352
436
  */
353
437
  _processDrawingEntry(stream: IParseStream, model: any, name: string, rawData?: Uint8Array): Promise<void>;
438
+ /**
439
+ * Stash raw bytes of a chart-overlay drawing part. `c:userShapes`
440
+ * parts live under `xl/drawings/chartUserShape{N}.xml` in files we
441
+ * write ourselves and can use arbitrary names in foreign files (the
442
+ * rel target is the only authoritative reference). The bytes are
443
+ * keyed by the stem so `_reconcileChartUserShapes` can match them
444
+ * against each chart's `ChartUserShapes` rel Target.
445
+ */
446
+ _processChartUserShapesEntry(_stream: IParseStream, model: any, name: string, rawData?: Uint8Array): Promise<void>;
354
447
  _processDrawingRelsEntry(entry: any, model: any, name: string): Promise<void>;
355
448
  _processVmlDrawingEntry(entry: any, model: any, zipPath: string): Promise<void>;
356
449
  _processVmlDrawingHFEntry(entry: any, model: any, _name: string): Promise<void>;
@@ -373,17 +466,16 @@ declare class XLSX {
373
466
  * paths like `"测试.xlsx"`).
374
467
  */
375
468
  _processExternalLinkRelsEntry(stream: IParseStream, model: any, index: number): Promise<void>;
469
+ _processChartEntry(stream: IParseStream, model: any, chartNumber: number, rawData?: Uint8Array): Promise<void>;
470
+ _processChartRelsEntry(stream: IParseStream, model: any, chartNumber: number): Promise<void>;
471
+ _processChartStyleEntry(stream: IParseStream, model: any, styleNumber: number): Promise<void>;
472
+ _processChartColorsEntry(stream: IParseStream, model: any, colorsNumber: number): Promise<void>;
376
473
  loadFromFiles(zipData: Record<string, Uint8Array>, options?: XlsxReadOptions): Promise<Workbook>;
377
474
  /**
378
475
  * Process default entries (drawings, comments, tables, etc.)
379
476
  * @param rawData Optional raw entry data for passthrough preservation (used by loadFromFiles)
380
477
  */
381
478
  protected _processDefaultEntry(stream: IParseStream, model: any, entryName: string, rawData?: Uint8Array): Promise<boolean>;
382
- /**
383
- * Store a passthrough file for preservation during read/write cycles.
384
- * These files are not parsed but stored as raw bytes to be written back unchanged.
385
- */
386
- _processPassthroughEntry(stream: IParseStream, model: any, entryName: string): Promise<void>;
387
479
  /**
388
480
  * Helper: render an xform directly to a streaming zip entry.
389
481
  * Avoids buffering the entire XML string in memory.
@@ -402,7 +494,12 @@ declare class XLSX {
402
494
  addStyles(zip: IZipWriter, model: any): Promise<void>;
403
495
  addWorkbook(zip: IZipWriter, model: any): Promise<void>;
404
496
  addWorksheets(zip: IZipWriter, model: any): Promise<void>;
497
+ addChartsheets(zip: IZipWriter, model: any): Promise<void>;
405
498
  addDrawings(zip: IZipWriter, model: any): Promise<void>;
499
+ addCharts(zip: IZipWriter, model: any, strictTemplateMode?: boolean): Promise<void>;
500
+ addChartExEntries(zip: IZipWriter, model: any, strictTemplateMode?: boolean): Promise<void>;
501
+ private _appendChartExSidecars;
502
+ private _buildChartExRels;
406
503
  addTables(zip: IZipWriter, model: any): Promise<void>;
407
504
  /**
408
505
  * Write every external workbook reference into the archive. For each
@@ -415,16 +512,13 @@ declare class XLSX {
415
512
  * relative** `Target` whenever the user supplied one. This is the single
416
513
  * line that makes Office / WPS resolve the referenced workbook relative
417
514
  * to the current file's directory (not the `%USERPROFILE%\Documents`
418
- * fallback) — the root of the behaviour reported in exceljs#3039.
515
+ * fallback) — the root of the relative-path external-link behaviour.
419
516
  */
420
517
  addExternalLinks(zip: IZipWriter, model: any): Promise<void>;
421
- /**
422
- * Write passthrough files (charts, etc.) that were preserved during read.
423
- * These files are written back unchanged to preserve unsupported features.
424
- */
425
- addPassthrough(zip: IZipWriter, model: any): void;
426
518
  addPivotTables(zip: IZipWriter, model: any): Promise<void>;
427
519
  _finalize(zip: IZipWriter): Promise<this>;
428
520
  prepareModel(model: any, options: any): void;
521
+ prepareChartExSidecars(model: any): void;
522
+ prepareChartsheets(model: any): void;
429
523
  }
430
524
  export { XLSX };
@@ -47,6 +47,26 @@ export interface DrawTextOptions {
47
47
  maxWidth?: number;
48
48
  /** Line height multiplier. Default: 1.2. */
49
49
  lineHeight?: number;
50
+ /**
51
+ * Rotation in degrees, counter-clockwise in the PDF coordinate system
52
+ * (which has +Y pointing up, so visually clockwise on a page viewer).
53
+ * The rotation pivot is `(x, y)`. Default: `0` (no rotation).
54
+ *
55
+ * Incompatible with `maxWidth` (word-wrapping + rotation requires per-
56
+ * line matrix transforms that the current implementation does not
57
+ * support — supplying both leaves the wrap ignoring rotation so the
58
+ * text remains readable). If you need rotated wrapped text, break it
59
+ * into lines yourself and call `drawText` per line.
60
+ */
61
+ rotation?: number;
62
+ /**
63
+ * Horizontal alignment of the text around `x`. Default: `"start"`
64
+ * (the conventional PDF behaviour where `x` is the baseline left
65
+ * edge). Implemented by pre-shifting `x` using the chosen font's
66
+ * measured width — no deferred layout, so the computed position is
67
+ * stable across font subsetting.
68
+ */
69
+ anchor?: "start" | "middle" | "end";
50
70
  }
51
71
  /** Rectangle drawing options. */
52
72
  export interface DrawRectOptions {
@@ -158,6 +178,19 @@ export interface DrawImageOptions {
158
178
  /** Display height in points. */
159
179
  height: number;
160
180
  }
181
+ /** Options for drawing a simple SVG document onto a PDF page. */
182
+ export interface DrawSvgOptions {
183
+ /** Raw SVG markup. */
184
+ svg: string;
185
+ /** Destination X position in points. */
186
+ x: number;
187
+ /** Destination Y position in points. */
188
+ y: number;
189
+ /** Destination width in points. If omitted, uses the SVG width/viewBox width. */
190
+ width?: number;
191
+ /** Destination height in points. If omitted, uses the SVG height/viewBox height. */
192
+ height?: number;
193
+ }
161
194
  /** Document metadata. */
162
195
  export interface DocumentMetadata {
163
196
  title?: string;
@@ -392,6 +425,13 @@ export declare class PdfPageBuilder {
392
425
  * @param options - Fill/stroke options
393
426
  */
394
427
  drawSvgPath(d: string, options?: DrawPathOptions): this;
428
+ /**
429
+ * Draw a simple SVG document onto this page.
430
+ *
431
+ * Supports the SVG primitives emitted by ExcelTS chart rendering:
432
+ * `rect`, `line`, `circle`, `polyline`, `polygon`, `path`, and `text`.
433
+ */
434
+ drawSvg(options: DrawSvgOptions): this;
395
435
  /**
396
436
  * Get the raw content stream for advanced operations.
397
437
  * Use this when the high-level API doesn't cover your use case.
@@ -413,6 +453,21 @@ export declare class PdfDocumentBuilder {
413
453
  private _embeddedFont;
414
454
  private _pdfA;
415
455
  private _signatureOptions;
456
+ /**
457
+ * Sink for non-fatal diagnostics produced during `build()`. Populated by
458
+ * {@link onWarning}; defaults to undefined so unaware consumers see
459
+ * pre-diagnostic behaviour unchanged. Fires for every warning in a
460
+ * single build, not just the first.
461
+ */
462
+ private _onWarning;
463
+ /**
464
+ * Set via {@link disableFontAutoDiscovery} — opts out of the system-font
465
+ * auto-embed path in `build()`. Authors who need byte-stable output
466
+ * across machines (golden tests, reproducible build pipelines) should
467
+ * enable this so a host-only CJK font doesn't sneak into one run but
468
+ * not another.
469
+ */
470
+ private _disableFontAutoDiscovery;
416
471
  /**
417
472
  * Add a new blank page to the document.
418
473
  *
@@ -434,6 +489,25 @@ export declare class PdfDocumentBuilder {
434
489
  * @param fontBytes - Raw .ttf file bytes
435
490
  */
436
491
  embedFont(fontBytes: Uint8Array): this;
492
+ /**
493
+ * Register a callback invoked once per non-fatal diagnostic during
494
+ * `build()`. Currently raised for:
495
+ *
496
+ * - auto-embedded system fonts (`'Auto-embedded system font ...'`)
497
+ * - non-WinAnsi characters with no covering font (`'...non-WinAnsi character(s) present...'`)
498
+ *
499
+ * The callback is synchronous and runs inside `build()`; throwing
500
+ * from it will abort the build. Return value is ignored.
501
+ */
502
+ onWarning(handler: (message: string) => void): this;
503
+ /**
504
+ * Opt out of the best-effort system-font auto-discovery that `build()`
505
+ * performs when the document contains non-WinAnsi characters and no
506
+ * font was explicitly embedded. Use this to keep output byte-stable
507
+ * across hosts: one machine may have SimSun installed while another
508
+ * does not.
509
+ */
510
+ disableFontAutoDiscovery(): this;
437
511
  /**
438
512
  * Enable PDF/A compliance output.
439
513
  *
@@ -14,6 +14,7 @@
14
14
  * const pdf = await excelToPdf(workbook);
15
15
  * ```
16
16
  */
17
+ import type { Chart, RegionMapDataOptions } from "../excel/chart/index.js";
17
18
  import type { Workbook } from "../excel/workbook.js";
18
19
  import { type PdfExportOptions } from "./types.js";
19
20
  /**
@@ -28,3 +29,71 @@ import { type PdfExportOptions } from "./types.js";
28
29
  * @returns Promise of PDF file as a Uint8Array
29
30
  */
30
31
  export declare function excelToPdf(workbook: Workbook, options?: PdfExportOptions): Promise<Uint8Array>;
32
+ /**
33
+ * Options for {@link chartToPdf}.
34
+ */
35
+ export interface ChartToPdfOptions {
36
+ /** PDF page width in points. Default: max(chart width + 72, 400). */
37
+ pageWidth?: number;
38
+ /** PDF page height in points. Default: max(chart height + 72, 300). */
39
+ pageHeight?: number;
40
+ /** Chart render width in points. Default: 520. */
41
+ width?: number;
42
+ /** Chart render height in points. Default: 360. */
43
+ height?: number;
44
+ /**
45
+ * Left margin in points between the chart and the page edge. Default: 36.
46
+ * Used as top margin too so the chart sits in a 36-pt gutter.
47
+ */
48
+ margin?: number;
49
+ /**
50
+ * Force rasterisation even for classic charts. Default: `false`
51
+ * (classic charts render as vector PDF content; ChartEx charts
52
+ * also render as vector when their layout IDs are supported — see
53
+ * `VECTOR_PDF_CHART_EX_LAYOUT_IDS` and the "ChartEx PDF" note in
54
+ * `src/modules/excel/README.md`). When `true`, all chart types go
55
+ * through the SVG → PNG → image-XObject raster pipeline.
56
+ */
57
+ forceRaster?: boolean;
58
+ /** PNG raster scale multiplier when rasterising. Default: 2 (for crisp text). */
59
+ rasterScale?: number;
60
+ /** Document metadata forwarded to the resulting PDF. */
61
+ title?: string;
62
+ author?: string;
63
+ /**
64
+ * ChartEx `regionMap` data. When supplied, the vector PDF path
65
+ * uses the TopoJSON polygons (matched via `match` rules) instead
66
+ * of the centroid preview. Ignored for non-regionMap layouts and
67
+ * when the chart rasterises. Mirrors `renderChartExSvg`'s
68
+ * `regionMap` option so a single caller-side object works for
69
+ * both backends.
70
+ */
71
+ regionMap?: RegionMapDataOptions;
72
+ }
73
+ /**
74
+ * Render a single {@link Chart} to a standalone one-page PDF.
75
+ *
76
+ * The output is a **zero-dependency deterministic preview**, not an
77
+ * Excel-pixel-perfect rendering. Use this for server-side reports,
78
+ * thumbnails, and CI artefacts where the goal is a recognisable chart
79
+ * without a headless Office dependency. When pixel-identical output
80
+ * matters (publication-grade reports, Excel/LibreOffice-compatible
81
+ * formatting), round-trip the `.xlsx` through
82
+ * `soffice --convert-to pdf` — the byte-preserving round-trip in this
83
+ * library makes that a safe handoff. See `src/modules/excel/README.md`
84
+ * → "Rendering scope" for the complete boundary list.
85
+ *
86
+ * Classic charts take the **vector** path: the chart is drawn directly
87
+ * onto the page via `drawChartPdf`, so text stays selectable and shapes
88
+ * remain resolution-independent. ChartEx charts whose layout IDs are in
89
+ * `VECTOR_PDF_CHART_EX_LAYOUT_IDS` also take the vector path via
90
+ * `drawChartExPdf`; unsupported layouts (if any) and charts where
91
+ * `forceRaster: true` is set fall through to the SVG → PNG → image-XObject
92
+ * raster pipeline.
93
+ *
94
+ * Lives in `excel-bridge.ts` because invoking the PDF builder from the
95
+ * chart module would cross the Layer 4 → Layer 5 import boundary
96
+ * documented in `AGENTS.md`. Consumers import it from
97
+ * `@cj-tech-master/excelts/pdf` alongside `excelToPdf`.
98
+ */
99
+ export declare function chartToPdf(chart: Chart, options?: ChartToPdfOptions): Promise<Uint8Array>;
@@ -38,6 +38,15 @@ export declare class FontManager {
38
38
  private nextEmbeddedId;
39
39
  private type3CodePoints;
40
40
  private _type3Result;
41
+ /**
42
+ * Every distinct unknown font family passed to `resolveFont` since this
43
+ * manager was constructed. A "family" counts as unknown when it isn't
44
+ * in `FONT_FAMILY_MAP` and isn't the canonical "helvetica"/"times"/
45
+ * "courier" identifier. Populated as a set so a document that repeats
46
+ * the same missing family across hundreds of text runs still produces
47
+ * a single diagnostic.
48
+ */
49
+ private _unknownFontFamilies;
41
50
  /**
42
51
  * Register an embedded TrueType font for use.
43
52
  * When set, all text rendering uses this font instead of standard fonts.
@@ -47,6 +56,22 @@ export declare class FontManager {
47
56
  * Check if an embedded font is available.
48
57
  */
49
58
  hasEmbeddedFont(): boolean;
59
+ /**
60
+ * Read-only view of the non-WinAnsi code points encountered so far when
61
+ * no font is embedded. Used by callers (`PdfDocumentBuilder.build()`)
62
+ * to decide whether to auto-discover a system font before the Type3
63
+ * fallback kicks in. Returns a defensive copy so consumers cannot
64
+ * mutate the internal set.
65
+ */
66
+ getType3CodePoints(): Set<number>;
67
+ /**
68
+ * Read-only view of the font families `resolveFont` saw but could not
69
+ * map to a standard Type1 (Helvetica/Times/Courier) base. Consumers
70
+ * use this to emit one diagnostic per distinct missing family at
71
+ * build time rather than one per text run. The set is deduplicated
72
+ * and preserves the exact casing the caller supplied.
73
+ */
74
+ getUnknownFontFamilies(): Set<string>;
50
75
  /**
51
76
  * Get the embedded font's resource name (if registered).
52
77
  */
@@ -43,7 +43,10 @@
43
43
  /** Standalone PDF generation — accepts plain arrays, sheet objects, or workbooks. */
44
44
  export { pdf } from "./pdf.js";
45
45
  /** Excel-to-PDF conversion — accepts an Excel Workbook instance. */
46
- export { excelToPdf } from "./excel-bridge.js";
46
+ export { excelToPdf, chartToPdf, type ChartToPdfOptions } from "./excel-bridge.js";
47
+ /** Word-to-PDF conversion — accepts a DocxDocument. */
48
+ export { docxToPdf } from "./word-bridge.js";
49
+ export type { DocxToPdfOptions } from "./word-bridge.js";
47
50
  /** Read a PDF file and extract text, images, and metadata. */
48
51
  export { readPdf } from "./reader/pdf-reader.js";
49
52
  /** Build PDFs with free text positioning, vector drawing, and images. */
@@ -63,7 +66,7 @@ export type { PdfAnnotation, PdfRect } from "./reader/annotation-extractor.js";
63
66
  export type { PdfFormField, PdfFormFieldType } from "./reader/form-extractor.js";
64
67
  export type { PdfBookmark } from "./reader/bookmark-extractor.js";
65
68
  export type { PdfTable, PdfTableRow, PdfTableCell } from "./reader/table-extractor.js";
66
- export type { PageOptions, DrawTextOptions, DrawRectOptions, DrawCircleOptions, DrawEllipseOptions, DrawLineOptions, DrawPathOptions, DrawImageOptions, DocumentMetadata, PathOp, TocOptions, AnnotationType, AnnotationOptions, TextMarkupAnnotationOptions, TextAnnotationOptions, FreeTextAnnotationOptions, StampAnnotationOptions, FormFieldOptions, TextFieldOptions, CheckboxOptions, DropdownOptions, RadioGroupOptions, PdfSignatureOptions } from "./builder/document-builder.js";
69
+ export type { PageOptions, DrawSvgOptions, DrawTextOptions, DrawRectOptions, DrawCircleOptions, DrawEllipseOptions, DrawLineOptions, DrawPathOptions, DrawImageOptions, DocumentMetadata, PathOp, TocOptions, AnnotationType, AnnotationOptions, TextMarkupAnnotationOptions, TextAnnotationOptions, FreeTextAnnotationOptions, StampAnnotationOptions, FormFieldOptions, TextFieldOptions, CheckboxOptions, DropdownOptions, RadioGroupOptions, PdfSignatureOptions } from "./builder/document-builder.js";
67
70
  export type { LoadOptions } from "./builder/pdf-editor.js";
68
71
  export type { SignatureVerificationResult, CmsSignedData, SignOptions, Asn1Node } from "./core/digital-signature.js";
69
72
  export { PdfError, PdfRenderError, PdfFontError, PdfStructureError, isPdfError } from "./errors.js";
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Adapter that exposes a {@link PdfChartDrawingSurface} on top of a raw
3
+ * {@link PdfContentStream}, letting the page-level exporter forward a chart's
4
+ * vector drawing callback into the same stream that renders the spreadsheet
5
+ * cells.
6
+ *
7
+ * Why this exists: the `chartToPdf` helper in `excel-bridge.ts` renders a
8
+ * single chart onto a `PdfDocumentBuilder` page (which natively implements
9
+ * the chart surface). For workbook-level `excelToPdf`, rendering happens via
10
+ * `pdf-exporter.ts` + `PdfContentStream`, which predate the chart surface.
11
+ * The adapter bridges the two worlds so a chart can be drawn at any
12
+ * `(x, y, width, height)` rect on an already-populated page without
13
+ * refactoring the exporter pipeline.
14
+ *
15
+ * All coordinates are PDF points with **bottom-left origin** — matching the
16
+ * convention the chart renderer emits after its internal Y-flip (see
17
+ * `translateScene` in `@excel/chart/chart-renderer.ts`).
18
+ */
19
+ import type { PdfContentStream } from "../core/pdf-stream.js";
20
+ import type { FontManager } from "../font/font-manager.js";
21
+ import type { PdfChartDrawingSurface } from "../types.js";
22
+ /**
23
+ * Build a {@link PdfChartDrawingSurface} that forwards to the given content
24
+ * stream. The returned surface is stateful — callers should not mix it with
25
+ * direct stream mutations for the duration of chart rendering.
26
+ *
27
+ * @param stream Content stream receiving the drawing operators.
28
+ * @param fontManager Font manager used for text layout and Type3 fallback.
29
+ * @param alphaValues Shared set that accumulates transparency values for
30
+ * later `ExtGState` registration. The surface adds any
31
+ * `color.a` values it observes to this set.
32
+ */
33
+ export declare function createChartSurface(stream: PdfContentStream, fontManager: FontManager, alphaValues: Set<number>): PdfChartDrawingSurface;
@@ -17,12 +17,33 @@
17
17
  * - Skip hidden rows and columns
18
18
  */
19
19
  import type { FontManager } from "../font/font-manager.js";
20
- import type { PdfSheetData, ResolvedPdfOptions, LayoutPage, LayoutCell, LayoutBorder } from "../types.js";
20
+ import type { PdfSheetData, PdfChartsheetData, ResolvedPdfOptions, LayoutPage, LayoutCell, LayoutBorder } from "../types.js";
21
21
  /**
22
22
  * Compute the layout for a sheet across one or more PDF pages.
23
23
  * Yields to the event loop between each output page.
24
24
  */
25
25
  export declare function layoutSheet(sheet: PdfSheetData, options: ResolvedPdfOptions, fontManager: FontManager): Promise<LayoutPage[]>;
26
+ /**
27
+ * Produce the layout for a chartsheet — a single PDF page whose entire
28
+ * content area is covered by one chart.
29
+ *
30
+ * Chartsheets have no row/column grid, so we bypass the cell-layout
31
+ * pipeline entirely. Page dimensions come from `options.pageSize`, with
32
+ * orientation overridden by the chartsheet's own `orientation` field
33
+ * (Excel's chartsheet convention defaults to landscape; see the
34
+ * `CHARTSHEET_EMU_CX/CY` constants that define the drawing canvas in
35
+ * `xlsx.browser.ts`).
36
+ *
37
+ * The returned LayoutPage has:
38
+ * - `cells = []` (no grid to render)
39
+ * - `charts` containing one full-content-area chart
40
+ * - all other cell-grid arrays empty
41
+ *
42
+ * The existing `renderSinglePage` in `pdf-exporter.ts` already handles
43
+ * pages with zero cells and a non-empty `charts` array via the shared
44
+ * chart-rendering path, so no exporter changes are needed here.
45
+ */
46
+ export declare function layoutChartsheet(sheet: PdfChartsheetData, documentOptions: ResolvedPdfOptions): LayoutPage[];
26
47
  export declare function paginateRows(rowHeights: number[], availableHeight: number, repeatRowCount: number, rowBreaks: Set<number>): number[][];
27
48
  /**
28
49
  * Border precedence weight.