@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
@@ -0,0 +1,504 @@
1
+ /**
2
+ * Chart - High-level chart object for worksheet embedding.
3
+ *
4
+ * Similar to Image, a Chart belongs to a Worksheet and carries the
5
+ * structural data needed for both the DrawingML anchor and the
6
+ * standalone chart XML part.
7
+ */
8
+ import { Anchor, type AnchorModel } from "../anchor.js";
9
+ import type { ChartExModel } from "./chart-ex-types.js";
10
+ import type { AddChartRange, ChartModel, ChartStyleModel, ChartColorsModel, ChartTypeGroup, ChartAxis, ChartLegend, PlotArea, ShapeProperties, ChartRichText, SeriesBase, AddChartSeriesOptions } from "./types.js";
11
+ import type { Worksheet } from "../worksheet.js";
12
+ import { buildChartModel } from "./chart-builder.js";
13
+ import { type ChartRenderOptions } from "./chart-renderer.js";
14
+ /**
15
+ * Relationship entry written to `chart{N}.xml.rels` / `chartEx{N}.xml.rels`.
16
+ * Kept as a lightweight structural record (not a full rels type) so the
17
+ * round-trip path works uniformly with what the xform reader/writer emits.
18
+ */
19
+ export interface ChartRelEntry {
20
+ /** `rId…` identifier referenced from the chart part XML. */
21
+ Id: string;
22
+ /** Relationship type URI (e.g. the user-shapes / style / colours type). */
23
+ Type: string;
24
+ /** Target path, relative to the chart part. */
25
+ Target: string;
26
+ /** Optional mode for external targets (`"External"`). */
27
+ TargetMode?: string;
28
+ }
29
+ /**
30
+ * Internal model stored on the Workbook for each chart.
31
+ * Contains the fully-parsed (or programmatically created) chart data
32
+ * plus ancillary style/colors files.
33
+ */
34
+ export interface ChartEntry {
35
+ /** 1-based chart number (matches chart{N}.xml) */
36
+ chartNumber: number;
37
+ /** Full chart model */
38
+ model: ChartModel;
39
+ /** Original chart XML bytes from a loaded workbook, used for clean round-trip passthrough */
40
+ rawData?: Uint8Array;
41
+ /** JSON snapshot of `model` taken when `rawData` was parsed */
42
+ modelSnapshot?: string;
43
+ /** True once a high-level API mutates the parsed chart model */
44
+ dirty?: boolean;
45
+ /** When true, simple high-level mutations may patch raw XML instead of full re-render. */
46
+ preferRawPatch?: boolean;
47
+ /** When true, writing fails instead of re-rendering if raw XML cannot be safely patched. */
48
+ requireRawPatch?: boolean;
49
+ /** Chart style (styleN.xml) — raw XML for round-trip */
50
+ style?: ChartStyleModel;
51
+ /** Chart colors (colorsN.xml) — raw XML for round-trip */
52
+ colors?: ChartColorsModel;
53
+ /** Chart rels (chart{N}.xml.rels) — entries for round-trip */
54
+ rels?: ChartRelEntry[];
55
+ /**
56
+ * Raw bytes of the user-shapes drawing part targeted by this chart's
57
+ * `c:userShapes r:id="…"` reference. OOXML stores annotation shapes
58
+ * (arrows, callouts, text boxes the user drew on top of the chart)
59
+ * in a separate `xl/drawings/drawingN.xml` part that uses relative
60
+ * anchors instead of the regular `xdr:twoCellAnchor` schema. The
61
+ * full DrawingML subsystem is out of scope for this library, so the
62
+ * bytes are kept verbatim for round-trip and exposed programmatically
63
+ * via {@link Chart.userShapesXml} so callers can inject / replace the
64
+ * drawing part if they need to.
65
+ */
66
+ userShapesXml?: Uint8Array;
67
+ }
68
+ /**
69
+ * Stored entry for a structured ChartEx (Office 2016+ extended chart).
70
+ * When a ChartEx is created programmatically via `addChartEx()`, a structured
71
+ * model is stored here and serialised through the builder/renderer on write.
72
+ * When a ChartEx is round-tripped, raw bytes are used instead (stored under
73
+ * `workbook._chartExEntries`).
74
+ */
75
+ export interface ChartExEntry {
76
+ /** 1-based chartEx number (matches chartEx{N}.xml) */
77
+ chartExNumber: number;
78
+ /** Structured model (built from addChartEx options) */
79
+ model: ChartExModel;
80
+ /** Original chartEx XML bytes from a loaded workbook, used for clean round-trip passthrough */
81
+ rawData?: Uint8Array;
82
+ /** JSON snapshot of `model` taken when `rawData` was parsed */
83
+ modelSnapshot?: string;
84
+ /** True once a high-level API mutates the parsed chartEx model */
85
+ dirty?: boolean;
86
+ /** When true, simple high-level mutations may patch raw ChartEx XML instead of full re-render. */
87
+ preferRawPatch?: boolean;
88
+ /** When true, writing fails instead of re-rendering if raw ChartEx XML cannot be safely patched. */
89
+ requireRawPatch?: boolean;
90
+ /** ChartEx rels — preserved for round-trip */
91
+ rels?: ChartRelEntry[];
92
+ }
93
+ /**
94
+ * The range a chart occupies on a worksheet.
95
+ */
96
+ interface ChartAnchorRange {
97
+ /** Top-left anchor (always present) */
98
+ tl: Anchor;
99
+ /** Bottom-right anchor (only for twoCellAnchor) */
100
+ br?: Anchor;
101
+ /** Absolute position in EMU (only for absoluteAnchor) */
102
+ pos?: {
103
+ x: number;
104
+ y: number;
105
+ };
106
+ /** Extent in EMU (for oneCellAnchor and absoluteAnchor) */
107
+ ext?: {
108
+ cx: number;
109
+ cy: number;
110
+ };
111
+ /** Anchor behaviour: oneCell, twoCell, or absolute */
112
+ editAs?: string;
113
+ }
114
+ /**
115
+ * A chart embedded in a worksheet.
116
+ *
117
+ * Charts come in two flavours:
118
+ *
119
+ * - **Classic** (`chartNumber` set): a fully-parsed `c:chart` with a
120
+ * {@link ChartModel}. All public accessors (`chartModel`,
121
+ * `chartTypes`, `axes`, series mutators, `style`, `mutate`, …) are
122
+ * backed by the structured model.
123
+ *
124
+ * - **ChartEx** (`chartExNumber` set): Office 2016+ `cx:chart`. The
125
+ * structured model (`chartExModel`) is populated; a parallel
126
+ * `rawXml` buffer is kept so byte-for-byte round-trip is the default
127
+ * when no mutation happens. The high-level accessors that make
128
+ * sense on both flavours (`title`, `legend`, `spPr`, `toSVG`,
129
+ * `toPNG`, `unknownElements`) work uniformly. ChartTypeGroup-level
130
+ * APIs (`chartTypes`, `axes`, `plotArea`, `getAxis`, `categoryAxis`,
131
+ * `valueAxis`, `addSeries`, `removeSeries`, `getSeries`,
132
+ * `updateSeries`, `addSeriesFromOptions`, `seriesCount`, `mutate`,
133
+ * `setStyle`) are classic-only — ChartEx has its own topology that
134
+ * doesn't map cleanly onto the classic group/series abstraction;
135
+ * use {@link Chart.mutateChartEx} for ChartEx mutations.
136
+ */
137
+ declare class Chart {
138
+ readonly worksheet: Worksheet;
139
+ /** 1-based chart number for classic c:chart (0 when this is a chartEx) */
140
+ chartNumber: number;
141
+ /** 1-based chartEx number for cx:chart (0 when this is a classic chart) */
142
+ chartExNumber: number;
143
+ range: ChartAnchorRange;
144
+ constructor(worksheet: Worksheet, ids: {
145
+ chartNumber?: number;
146
+ chartExNumber?: number;
147
+ }, range: AddChartRange | ChartAnchorModel["range"]);
148
+ /** Whether this is an Office 2016+ extended chart (cx:chart) */
149
+ get isChartEx(): boolean;
150
+ private static parseRange;
151
+ get model(): ChartAnchorModel;
152
+ /** Get the full ChartModel from the workbook's chart entries (classic charts only) */
153
+ get chartModel(): ChartModel | undefined;
154
+ /** Get the structured ChartEx model, when this chart is an Office 2016+ chartEx. */
155
+ get chartExModel(): ChartExModel | undefined;
156
+ /**
157
+ * Vendor-extension elements the parser observed but could not map to a
158
+ * structured field. Populated when the chart was loaded from an existing
159
+ * `.xlsx` whose author emitted `c15:`/`cx14:` style extension tags (often
160
+ * MSO-internal; the OOXML spec treats them as implementation-specific).
161
+ *
162
+ * The array is **purely informational** in the default `preserve` writer
163
+ * mode — structural rebuilds keep the raw XML pass-through that contains
164
+ * those tags. In **`strictTemplateMode`** the writer surfaces this list
165
+ * in its failure message when a mutation cannot be expressed as a raw
166
+ * patch, so authors can decide between:
167
+ *
168
+ * 1. Relaxing `strictTemplateMode` and accepting that a rebuild will
169
+ * drop these vendor tags, or
170
+ * 2. Reshaping the mutation to land on a patch-friendly path (for
171
+ * example editing `title` text rather than replacing the whole
172
+ * `c:chart` subtree).
173
+ *
174
+ * Returns `undefined` if the chart was freshly created (no raw XML was
175
+ * ever parsed) or if every child was recognised. See
176
+ * {@link XlsxWriteOptions.strictTemplateMode} for the writer surface.
177
+ */
178
+ get unknownElements(): Array<{
179
+ name: string;
180
+ path: string;
181
+ }> | undefined;
182
+ /**
183
+ * Raw XML bytes of the `c:userShapes` drawing part attached to this
184
+ * chart, or `undefined` when the chart has no user shapes. User
185
+ * shapes are annotation overlays (callouts, arrows, free text) that
186
+ * Excel stores in a separate `xl/drawings/drawingN.xml` part using
187
+ * relative anchors — the OOXML spec keeps their DrawingML schema
188
+ * distinct from worksheet drawings, so the library treats the part
189
+ * as opaque bytes for round-trip and programmatic replacement
190
+ * instead of exposing a full structural API.
191
+ *
192
+ * Classic charts only. Returns `undefined` on chartEx charts (they
193
+ * have their own extension mechanism and do not use `c:userShapes`).
194
+ */
195
+ get userShapesXml(): Uint8Array | undefined;
196
+ /**
197
+ * Replace the `c:userShapes` drawing part for this chart with the
198
+ * supplied raw XML bytes. Passing `undefined` or an empty byte
199
+ * array removes the user-shapes reference entirely (equivalent to
200
+ * {@link removeUserShapes}).
201
+ *
202
+ * The XML must be a complete DrawingML document whose root is a
203
+ * `c:userShapes` element containing `c:relSizeAnchor` /
204
+ * `c:absSizeAnchor` children. The library performs a shallow sanity
205
+ * check only — no schema validation.
206
+ *
207
+ * When a chart did not previously have user shapes, this allocates
208
+ * a new `r:id` and adds the drawing-part rel so the reference is
209
+ * discoverable in `chartN.xml.rels`. When a chart already had user
210
+ * shapes, the existing `r:id` is kept and only the bytes are
211
+ * updated.
212
+ *
213
+ * Classic charts only. Throws on chartEx charts.
214
+ */
215
+ setUserShapesXml(xml: Uint8Array | string | undefined): void;
216
+ /**
217
+ * Drop the `c:userShapes` reference and its backing drawing part.
218
+ * Classic charts only. No-op when the chart has no user shapes.
219
+ */
220
+ removeUserShapes(): void;
221
+ /**
222
+ * Render this chart as a **zero-dependency deterministic preview** SVG.
223
+ *
224
+ * The output is suitable for thumbnails, email attachments,
225
+ * server-side report generation, CI smoke tests, and README images.
226
+ * It is **not** an Excel-pixel-perfect compositor — text layout,
227
+ * font metrics, and 3D projection are approximated for a stable
228
+ * preview rather than reproduced from Excel's internal renderer.
229
+ *
230
+ * For production-grade rendering (Excel-identical layout, real 3D
231
+ * for non-bar types, exact font hinting), round-trip the `.xlsx`
232
+ * through headless LibreOffice (`soffice --convert-to pdf`) — the
233
+ * byte-preserving round-trip + `templateMode: "strict"` guarantees
234
+ * in this library make that a safe handoff.
235
+ *
236
+ * See `src/modules/excel/README.md` → "Rendering scope" for the
237
+ * complete boundary list.
238
+ */
239
+ toSVG(options?: ChartRenderOptions): string;
240
+ /**
241
+ * Render this chart as a **zero-dependency deterministic preview** PNG.
242
+ *
243
+ * Browsers use a `<canvas>` pipeline; Node.js uses the built-in
244
+ * `BasicRasterCanvas` rasteriser (a pure-JS SVG-subset rasteriser —
245
+ * no native canvas dependency). DrawingML effect filters
246
+ * (shadow/glow/soft-edge/blur/reflection) round-trip through XML and
247
+ * emit as SVG `<filter>`, but the Node PNG rasteriser silently drops
248
+ * them; the browser canvas path renders them natively.
249
+ *
250
+ * See {@link toSVG} for the full scope-boundary note. For pixel-perfect
251
+ * output, convert through LibreOffice.
252
+ */
253
+ toPNG(options?: ChartRenderOptions): Promise<Uint8Array>;
254
+ /** Get the chart title text. Returns undefined if no title. */
255
+ get title(): string | undefined;
256
+ /**
257
+ * Set the chart title.
258
+ *
259
+ * Accepts:
260
+ * - `undefined` → removes title (sets autoTitleDeleted).
261
+ * - `string` → sets title text. If the existing title had rich-text formatting,
262
+ * the formatting of the first run is preserved and only the text is replaced.
263
+ * - `ChartRichText` → replaces the title with fully-structured rich text.
264
+ * - `{ formula: string }` → sets the title to a worksheet formula reference.
265
+ */
266
+ set title(value: string | ChartRichText | {
267
+ formula: string;
268
+ } | undefined);
269
+ /**
270
+ * Set the chart title using structured rich text.
271
+ * Convenience method equivalent to `chart.title = richText`.
272
+ */
273
+ setTitleRichText(richText: ChartRichText): void;
274
+ /**
275
+ * Get the structured rich text of the chart title.
276
+ * Returns undefined if the title is unset, formula-only, or captured as rawTx.
277
+ */
278
+ get titleRichText(): ChartRichText | undefined;
279
+ /** Get the chart type groups in the plot area */
280
+ get chartTypes(): ChartTypeGroup[];
281
+ /** Get the chart axes */
282
+ get axes(): ChartAxis[];
283
+ /** Get the chart legend */
284
+ get legend(): ChartLegend | undefined;
285
+ /** Set the chart legend */
286
+ set legend(value: ChartLegend | undefined);
287
+ /**
288
+ * Get the chart-level shape properties. Works for both classic charts
289
+ * (`c:chartSpace/c:spPr`) and ChartEx (`cx:chartSpace/cx:spPr` — the
290
+ * Chart2014 schema puts `spPr` on `chartSpace`, not on `chart`).
291
+ */
292
+ get spPr(): ShapeProperties | undefined;
293
+ /**
294
+ * Set the chart-level shape properties. Routes to either
295
+ * `ChartModel.spPr` (classic) or `ChartExModel.chartSpace.spPr`
296
+ * (ChartEx); previously the ChartEx branch was a silent no-op, and
297
+ * the fix before that mis-targeted `chart.spPr` — which is not a
298
+ * valid child of `CT_Chart` in the Chart2014 schema (chart-frame
299
+ * styling belongs to `CT_ChartSpace/spPr`).
300
+ */
301
+ set spPr(value: ShapeProperties | undefined);
302
+ /**
303
+ * Get an axis by its ID.
304
+ */
305
+ getAxis(axId: number): ChartAxis | undefined;
306
+ /**
307
+ * Get the category (X) axis, if any.
308
+ */
309
+ get categoryAxis(): ChartAxis | undefined;
310
+ /**
311
+ * Get the value (Y) axis, if any.
312
+ */
313
+ get valueAxis(): ChartAxis | undefined;
314
+ /** Get the plot area for direct manipulation */
315
+ get plotArea(): PlotArea | undefined;
316
+ mutate(mutator: (model: ChartModel) => void, options?: {
317
+ preferRawPatch?: boolean;
318
+ requireRawPatch?: boolean;
319
+ }): this;
320
+ mutateChartEx(mutator: (model: ChartExModel) => void, options?: {
321
+ preferRawPatch?: boolean;
322
+ requireRawPatch?: boolean;
323
+ }): this;
324
+ /**
325
+ * Set the built-in chart style by index.
326
+ *
327
+ * Writes `<c:style val="N"/>` on the classic chart (`chartN.xml`).
328
+ * Valid values are 1–48, matching the legacy Excel 2007/2010 style
329
+ * catalogue and `xlsxwriter`'s `set_style(N)`. This is the lightweight
330
+ * option — it does **not** emit a `styleN.xml` / `colorsN.xml` sidecar;
331
+ * for modern Office-2013-era styling use {@link setChartStyle} instead.
332
+ *
333
+ * ChartEx charts do not honour this field; calling `setStyle` on one
334
+ * throws, which matches OOXML: `c:style` only exists in the classic
335
+ * `c:` namespace.
336
+ *
337
+ * @param style - Integer in the range 1–48.
338
+ * @throws {ChartOptionsError} when `style` is outside 1–48 or the
339
+ * chart is a ChartEx.
340
+ */
341
+ setStyle(style: number): this;
342
+ /**
343
+ * Alias for {@link setStyle} that matches the `xlsxwriter` terminology
344
+ * used by Python/Rust users migrating their chart code. Equivalent in
345
+ * every way — both write the same `<c:style val>` attribute.
346
+ */
347
+ setBuiltInStyle(style: number): this;
348
+ /**
349
+ * Add a series to a chart type group.
350
+ *
351
+ * The series' `index` and `order` fields are rewritten to the next
352
+ * available slot in the target group so callers can safely push
353
+ * series that were built with a placeholder index (e.g. a reused
354
+ * result of `buildChartSeriesForType(..., 0)`). OOXML requires
355
+ * `c:ser/@idx` to be unique within the chart; leaving caller-provided
356
+ * values alone silently produces a chart with duplicate `<c:idx>`
357
+ * entries that Excel either rejects or collapses to a single series.
358
+ *
359
+ * @param series - The series object matching the expected series type for the chart.
360
+ * @param groupIndex - 0-based index of the chart type group (for combo charts). Defaults to 0.
361
+ */
362
+ addSeries(series: SeriesBase, groupIndex?: number): void;
363
+ /**
364
+ * Remove a series from a chart type group by index.
365
+ *
366
+ * @param index - 0-based index of the series within the group.
367
+ * @param groupIndex - 0-based index of the chart type group (for combo charts). Defaults to 0.
368
+ * @returns The removed series, or undefined if out of range.
369
+ */
370
+ removeSeries(index: number, groupIndex?: number): SeriesBase | undefined;
371
+ /**
372
+ * Get a series from a chart type group.
373
+ *
374
+ * @param index - 0-based index of the series within the group.
375
+ * @param groupIndex - 0-based index of the chart type group (for combo charts). Defaults to 0.
376
+ */
377
+ getSeries(index: number, groupIndex?: number): SeriesBase | undefined;
378
+ /** Update common fields on an existing classic chart series. */
379
+ updateSeries(index: number, options: Partial<AddChartSeriesOptions>, groupIndex?: number): boolean;
380
+ /** Add a series from high-level options, matching the target chart type group. */
381
+ addSeriesFromOptions(options: AddChartSeriesOptions, groupIndex?: number): boolean;
382
+ /** Update the value range for a series. */
383
+ setSeriesValues(index: number, values: string, groupIndex?: number): boolean;
384
+ /** Update the category range for a series. */
385
+ setSeriesCategories(index: number, categories: string, groupIndex?: number): boolean;
386
+ /** Update the series display name or formula reference. */
387
+ setSeriesName(index: number, name: NonNullable<AddChartSeriesOptions["name"]>, groupIndex?: number): boolean;
388
+ /** Get the total number of series across all chart type groups. */
389
+ get totalSeriesCount(): number;
390
+ /**
391
+ * Get the number of series in a specific chart type group.
392
+ *
393
+ * @param groupIndex - 0-based index of the chart type group (defaults to 0).
394
+ */
395
+ getSeriesCount(groupIndex?: number): number;
396
+ /**
397
+ * @deprecated Use `getSeriesCount()` instead. Returns the count of series in the first chart type group.
398
+ */
399
+ get seriesCount(): number;
400
+ /**
401
+ * Create a deep copy of this chart and add it to a target worksheet.
402
+ * The new chart receives a fresh chartNumber; the original is untouched.
403
+ *
404
+ * @param targetWs - Worksheet to receive the clone. Defaults to this chart's worksheet.
405
+ * @param range - Anchor range for the clone. Defaults to the original range.
406
+ * @returns The new chartNumber in the target workbook.
407
+ */
408
+ copyTo(targetWs: Worksheet, range?: AddChartRange): number;
409
+ /**
410
+ * Create a deep copy of this chart in the same worksheet.
411
+ * @param range - Anchor for the clone (defaults to shifting right of original).
412
+ */
413
+ clone(range?: AddChartRange): number;
414
+ private _cloneRange;
415
+ /**
416
+ * Compute the next available series index across all chart type groups.
417
+ * OOXML `c:ser/@idx` must be unique within the entire chart. Scans for
418
+ * the maximum authored index (not the series count) so post-removeSeries
419
+ * state and non-contiguous authored indices still produce a unique slot.
420
+ */
421
+ private _nextSeriesIndex;
422
+ private _markDirty;
423
+ /**
424
+ * Resolve any `_pendingImage` payloads this chart's series carry into
425
+ * workbook media entries + chart relationships. Used by
426
+ * `updateSeries` / `addSeriesFromOptions` when a caller adds a
427
+ * picture fill *after* registration — the initial `addChart` /
428
+ * `addChartsheet` path already calls `resolvePendingChartImages`,
429
+ * but post-registration mutations previously left `_pendingImage`
430
+ * un-registered and the writer emitted `<a:blipFill>` pointing at a
431
+ * missing rel.
432
+ *
433
+ * Uses the same resolver helper as the initial path, so rel id
434
+ * allocation, collision checks against `_chartRels`, and media
435
+ * naming stay centralised.
436
+ */
437
+ private _resolveSeriesPictureFills;
438
+ /**
439
+ * Rebuild numeric / string caches on this chart's model from the
440
+ * current worksheet data. Callers mutating formula references after
441
+ * registration (`updateSeries`, `addSeriesFromOptions`, title setter
442
+ * with `{ formula }`) invoke this so preview renders and the
443
+ * snapshot-based change detector see populated points instead of
444
+ * the empty `{ points: [] }` shell the builders install.
445
+ *
446
+ * `fillChartCaches` short-circuits on already-populated caches, so
447
+ * repeated calls across a burst of mutations are effectively O(N)
448
+ * in the number of *new* references.
449
+ */
450
+ private _refreshCaches;
451
+ /**
452
+ * Populate ChartEx data caches (`strDim.levels` / `numDim.levels`) from
453
+ * the workbook's worksheet data so that preview renders see actual
454
+ * values instead of empty arrays.
455
+ *
456
+ * The builder marks hierarchical dimensions with `_skipCache` to
457
+ * prevent the XML writer from emitting flat cache levels (which
458
+ * confuses Excel's hierarchy renderer). However, the in-memory
459
+ * renderer still needs the data. We temporarily clear the flag,
460
+ * fill, then restore it so the writer behaviour is unaffected.
461
+ */
462
+ private _refreshChartExCaches;
463
+ private _extractTextFromRichText;
464
+ private _extractTextFromRawTx;
465
+ private _decodeXmlEntities;
466
+ /**
467
+ * Extract the run properties of the first text run in an existing title,
468
+ * if any. Used to preserve formatting when replacing plain-string title
469
+ * text.
470
+ *
471
+ * We prefer the structured path (`title.text.paragraphs[0].runs[0]`) and
472
+ * fall back to parsing the first `<a:rPr>...</a:rPr>` block out of
473
+ * `rawTx`. The fallback used to only read *attributes* off the opening
474
+ * tag (size / bold / italic / underline / strike / lang), which meant
475
+ * the `<a:solidFill>` colour child and `<a:latin>` / `<a:cs>` typefaces
476
+ * were silently stripped when a plain-string title replaced a
477
+ * rich-text title. Now we delegate to `parseTxPr` (the same helper the
478
+ * chart-space xform uses for the full txPr tree) so every supported
479
+ * rPr field round-trips faithfully.
480
+ */
481
+ private _extractFirstRunProperties;
482
+ }
483
+ export interface ChartAnchorModel {
484
+ chartNumber: number;
485
+ /** 1-based chartEx number (cx:chart). 0 or absent for classic charts. */
486
+ chartExNumber?: number;
487
+ range: {
488
+ tl: AnchorModel;
489
+ /** Bottom-right (only for twoCellAnchor) */
490
+ br?: AnchorModel;
491
+ /** Absolute position in EMU (only for absoluteAnchor) */
492
+ pos?: {
493
+ x: number;
494
+ y: number;
495
+ };
496
+ /** Extent in EMU (for oneCellAnchor and absoluteAnchor) */
497
+ ext?: {
498
+ cx: number;
499
+ cy: number;
500
+ };
501
+ editAs?: string;
502
+ };
503
+ }
504
+ export { Chart, buildChartModel };
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Lightweight TrueType glyph rasterizer for chart PNG text rendering.
3
+ *
4
+ * Parses the minimal set of TTF tables (cmap, hmtx, loca, glyf, head, hhea,
5
+ * maxp) needed to extract glyph outlines, then rasterizes them via scan-line
6
+ * fill. No dependencies outside this module except `@utils/fs`.
7
+ *
8
+ * Supports:
9
+ * - Simple glyphs (positive numberOfContours)
10
+ * - Composite glyphs (negative numberOfContours, recursive component assembly)
11
+ * - Quadratic B-spline outlines (on-curve / off-curve points, implicit
12
+ * on-curve midpoints between consecutive off-curve points)
13
+ *
14
+ * Does NOT support: hinting, kerning, OpenType features, vertical layout.
15
+ * This is intentional — the goal is readable chart labels, not DTP.
16
+ */
17
+ interface GlyphPoint {
18
+ x: number;
19
+ y: number;
20
+ onCurve: boolean;
21
+ }
22
+ interface GlyphOutline {
23
+ contours: GlyphPoint[][];
24
+ advanceWidth: number;
25
+ }
26
+ export interface RasterFont {
27
+ unitsPerEm: number;
28
+ ascent: number;
29
+ descent: number;
30
+ getOutline(codePoint: number): GlyphOutline | undefined;
31
+ }
32
+ /**
33
+ * Parse a TTF font file into a RasterFont that can render glyphs to pixels.
34
+ */
35
+ export declare function parseRasterFont(data: Uint8Array): RasterFont;
36
+ /**
37
+ * Rasterize a single glyph into an alpha bitmap with 4x supersampled
38
+ * anti-aliasing for smooth edges.
39
+ *
40
+ * @param outline - Glyph outline from RasterFont.getOutline()
41
+ * @param fontSize - Target font size in pixels
42
+ * @param unitsPerEm - Font's unitsPerEm
43
+ * @returns { width, height, offsetX, offsetY, pixels }
44
+ * offsetX/offsetY are pixel offsets from the pen position (left of baseline)
45
+ * to the top-left of the bitmap. pixels values are 0–255 (coverage).
46
+ */
47
+ export declare function rasterizeGlyph(outline: GlyphOutline, fontSize: number, unitsPerEm: number): {
48
+ width: number;
49
+ height: number;
50
+ offsetX: number;
51
+ offsetY: number;
52
+ pixels: Uint8Array;
53
+ };
54
+ /**
55
+ * Load a system font for text rasterization.
56
+ * Returns null in browser environments or if no font is found.
57
+ * Results are cached — only loads once.
58
+ */
59
+ export declare function loadSystemFont(): RasterFont | null;
60
+ /** Reset cached font (for testing). */
61
+ export declare function resetCachedFont(): void;
62
+ export {};
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Public entry for the excelts chart module.
3
+ *
4
+ * Two complementary usage styles are supported:
5
+ *
6
+ * 1. **Functional, zero-side-effect** — tree-shakeable access to
7
+ * chart builders, renderers, presets and parsers:
8
+ * ```ts
9
+ * import { buildChartModel, renderChartSvg } from "@cj-tech-master/excelts/chart";
10
+ * const model = buildChartModel(options);
11
+ * const svg = renderChartSvg(model);
12
+ * ```
13
+ * Bundlers drop everything the consumer does not reference.
14
+ *
15
+ * 2. **Support installation** — enables `worksheet.addChart()`,
16
+ * `workbook.xlsx.writeFile()` chart-cache population, and chart
17
+ * reconstruction during XLSX load:
18
+ * ```ts
19
+ * import { installChartSupport } from "@cj-tech-master/excelts/chart";
20
+ * installChartSupport(); // once, at startup
21
+ * worksheet.addChart(options, "A1:D20"); // now works
22
+ * ```
23
+ *
24
+ * Chart support is **never installed implicitly** — consumers pay for
25
+ * what they ask for. The package's root `sideEffects: false` contract
26
+ * stays intact, so bundles that only use the functional API include
27
+ * exactly the code paths reachable from the exports they reference.
28
+ *
29
+ * `installChartSupport` lives in a separate module (`./install.ts`) so
30
+ * its host-registry wiring and the full chart builder/renderer pipeline
31
+ * don't get pulled in by consumers who only import one or two
32
+ * functional helpers.
33
+ */
34
+ export { installChartSupport, uninstallChartSupport } from "./install.js";
35
+ export { Chart, buildChartModel } from "./chart.js";
36
+ export { buildComboChartModel } from "./chart-builder.js";
37
+ export { fillChartCaches, fillChartExCaches, fillNumRef, fillStrRef } from "./cache-populator.js";
38
+ export { parseChartColors, buildChartColors, parseChartStyle, buildChartStyle } from "./chart-sidecar.js";
39
+ export { buildChartExModel } from "./chart-ex-builder.js";
40
+ export { parseChartEx } from "./chart-ex-parser.js";
41
+ export { canRenderChartExAsVectorPdf, drawChartExPdf, renderChartEx, renderChartExPng, renderChartExSvg, VECTOR_PDF_CHART_EX_LAYOUT_IDS } from "./chart-ex-renderer.js";
42
+ export { applyChartExPreset, applyChartPreset, CHART_EX_PRESETS, CHART_PRESETS, EXCEL_CHART_EX_PRESETS, EXCEL_CHART_PRESETS } from "./chart-presets.js";
43
+ export { chartExOptionsFromRows, chartExOptionsFromTable, chartOptionsFromRows, chartOptionsFromTable, seriesFromColumns } from "./chart-api.js";
44
+ export type { AddChartExFromRowsOptions, AddChartExFromTableOptions, AddChartFromRowsOptions, AddChartFromTableOptions, SeriesFromColumnsOptions } from "./chart-api.js";
45
+ export type { ExcelChartExPreset, ExcelChartPreset } from "./chart-presets.js";
46
+ export { applyAxisTransform, buildChartScene, buildEffectFilter, drawChartPdf, renderChartPng, renderChartSvg } from "./chart-renderer.js";
47
+ export type { ChartPdfDrawingSurface, ChartPdfPathOp, ChartRenderOptions, ChartScene, ChartSceneLegend, ChartSceneLine, ChartScenePieSlice, ChartSceneSeries, ChartSceneText, PdfChartRenderOptions, PdfColor, RegionMapDataOptions, RegionMapMatchRule } from "./chart-renderer.js";
48
+ export { resolveTopologyObject } from "./topojson.js";
49
+ export type { ResolvedRing, TopoGeometry, TopoGeometryCollection, TopologyLike } from "./topojson.js";
50
+ export type { ChartExModel, ChartExSpace, ChartExData, ChartExDataEntry, ChartExStringDimension, ChartExNumericDimension, ChartExDimensionType, ChartExChart, ChartExPlotArea, ChartExSeries, ChartExSeriesType, ChartExDataLabels, ChartExLayoutProperties, ChartExAxis, AddChartExOptions, AddChartExHistogramOptions, AddChartExWaterfallOptions, AddChartExBoxWhiskerOptions, AddChartExSeriesOptions, ChartExType } from "./chart-ex-types.js";
51
+ export type { ChartExEntry } from "./chart.js";
52
+ export type { ChartEntry, ChartAnchorModel } from "./chart.js";
53
+ export type { ChartModel, ChartType, ChartData, PlotArea, ChartTypeGroup, ChartAxis, ChartTitle, ChartLegend, AddChartOptions, AddBarChartOptions, AddBarChartSeriesOptions, AddPieChartOptions, AddPieChartSeriesOptions, AddScatterChartOptions, AddScatterChartSeriesOptions, AddSurfaceChartOptions, AddSurfaceChartSeriesOptions, AddChartSeriesOptions, AddChartRange, AddComboChartOptions, ComboChartGroupOptions, ChartStyleModel, ChartColorsModel, ChartColorsEntry, ShapeProperties, ChartTextProperties, ChartColor, ChartFill, ChartLine, PivotChartSource, SeriesBase, AddChartMarkerOptions, AddDataLabelsOptions, AddTrendlineOptions, AddErrorBarsOptions, AddDataPointOptions, AddAxisOptions, AddShapeFillOptions, AddTitleOptions, AddLegendOptions, AddPlotAreaOptions, AddTrendlineLabelOptions, AddDataLabelEntryOptions, BarChartGroup, LineChartGroup, PieChartGroup, DoughnutChartGroup, AreaChartGroup, ScatterChartGroup, BubbleChartGroup, RadarChartGroup, SurfaceChartGroup, StockChartGroup, OfPieChartGroup, BarSeries, LineSeries, PieSeries, AreaSeries, ScatterSeries, BubbleSeries, RadarSeries, SurfaceSeries, CategoryAxis, ValueAxis, DateAxis, SeriesAxis, DataLabels, DataLabelEntry, DataPoint, DataTable, Trendline, TrendlineLabel, ErrorBars, ChartMarker, ChartRichText, ChartBodyProperties, ChartParagraphProperties, ChartBullet, ChartLineSpacing, UnderlineStyle, StrikeStyle, CapStyle, ParagraphAlignment, EffectList, Shadow, Scene3D, ShapeProperties3D, Bevel, NumberReference, StringReference, NumberDataSource, AxisDataSource, View3D, BarGrouping, LineGrouping, ChartLayout, ChartParagraph, ChartTextRun, DisplayUnits, ManualLayout, LegendEntry, DataLabelPosition, LegendPosition, TrendlineType, ErrorBarType, ErrorBarDirection, ErrorBarValueType, BandFormat, UpDownBars, PictureOptions, PictureFormat, NumberLiteral, StringLiteral, MultiLevelStringReference, MultiLevelStringCache, NumberCache, StringCache, ScatterStyle, RadarStyle, StockSeries, BarDirection, BarShape, OfPieType, SplitType, AxisCrosses, AxisPosition, AxisOrientation, TickMark, TickLabelPosition, TimeUnit, LabelAlignment, DisplayBlanksAs, PrintSettings, PivotFormat, DataLabelsRange, AxisBase, PresetGeometry, CustomGeometry, CustomGeometryPath, CustomGeometryCommand, ShapeTransform, ChartBlipFill, ChartColorVariation, AddChartPictureFillImage, ChartPictureFillImageData, PivotChartOptions, ChartUnknownElement, ChartStyleElement, ChartRange } from "./types.js";
54
+ export { parseSpPr, parseTxPr, getSpPrFillColor, getSpPrLine, getSpPrGradient, getSpPrPattern, getTxPrFontSize, getTxPrColor, buildSpPr, buildTxPr, setSpPrFill, setSpPrLine } from "./shape-properties.js";
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Opt-in chart-support installer.
3
+ *
4
+ * This file carries the static imports that wire the concrete chart
5
+ * implementation (cache populator, chart builder, ChartEx builder,
6
+ * preset engine, sidecar serialisers, `Chart` class and chart-api
7
+ * helpers) into the excel host. Keep these imports isolated in a
8
+ * separate module so callers who import only the types, the SVG/PNG
9
+ * renderers, or the parser from `./index` do not trigger the entire
10
+ * builder pipeline at bundle time.
11
+ *
12
+ * A single process-wide slot is populated:
13
+ *
14
+ * - The chart-support slot (`@excel/chart-host-registry`) — enables
15
+ * `worksheet.addChart()`, `worksheet.addLineChart()`, chart cache
16
+ * population during `workbook.xlsx.writeFile()`, and `Chart`
17
+ * reconstruction during XLSX load.
18
+ *
19
+ * The slot accepts `null` to uninstall. See
20
+ * {@link uninstallChartSupport} for tests that need to exercise the
21
+ * "no chart support" error path.
22
+ */
23
+ /**
24
+ * Install the chart runtime into the excel host.
25
+ *
26
+ * After calling this once, chart-manipulating APIs on `Worksheet`,
27
+ * `Workbook` and `Chartsheet` run the full chart builder and renderer
28
+ * pipeline instead of throwing. Subsequently-loaded workbooks also
29
+ * reconstruct `Chart` instances for their existing charts so consumer
30
+ * code can inspect / mutate them.
31
+ *
32
+ * Safe to call more than once — the registry accepts the last
33
+ * registration. Calling is idempotent and cheap; no shared state is
34
+ * mutated beyond the host-registry slot.
35
+ */
36
+ export declare function installChartSupport(): void;
37
+ /**
38
+ * Uninstall the chart runtime, restoring the cold-start state where
39
+ * chart-manipulating APIs throw. Mainly useful for tests that exercise
40
+ * the "no chart support" error path. In production, calling this is
41
+ * rarely necessary — subsequent `installChartSupport()` calls simply
42
+ * overwrite the previous registration.
43
+ */
44
+ export declare function uninstallChartSupport(): void;