@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
@@ -2,7 +2,7 @@
2
2
  * Browser entry point - No Node.js dependencies
3
3
  * This version is optimized for browser environments with minimal bundle size
4
4
  */
5
- export { Workbook } from "./modules/excel/workbook.js";
5
+ export { Workbook } from "./modules/excel/workbook.browser.js";
6
6
  export { Worksheet } from "./modules/excel/worksheet.js";
7
7
  export { Row } from "./modules/excel/row.js";
8
8
  export { Column } from "./modules/excel/column.js";
@@ -18,27 +18,30 @@ export * from "./modules/excel/enums.js";
18
18
  export * from "./modules/excel/types.js";
19
19
  export { createTextWatermarkImage } from "./modules/excel/utils/watermark-image.js";
20
20
  export type { TextWatermarkImageOptions } from "./modules/excel/utils/watermark-image.js";
21
- export type { PivotTable, PivotTableModel, PivotTableValue, PivotTableSource, CacheField, SharedItemValue, DataField, PivotTableSubtotal, RecordValue, ParsedCacheDefinition, ParsedCacheRecords } from "./modules/excel/pivot-table.js";
21
+ export type { PivotTable, PivotTableModel, PivotTableValue, PivotTableSource, CacheField, SharedItemValue, DataField, PivotTableChartFormat, PivotTableSubtotal, RecordValue, ParsedCacheDefinition, ParsedCacheRecords } from "./modules/excel/pivot-table.js";
22
22
  export type { FormCheckboxModel, FormCheckboxOptions, FormControlRange, FormControlAnchor } from "./modules/excel/form-control.js";
23
23
  export { WorkbookWriter } from "./modules/excel/stream/workbook-writer.browser.js";
24
24
  export { WorkbookReader } from "./modules/excel/stream/workbook-reader.browser.js";
25
25
  export { WorksheetWriter } from "./modules/excel/stream/worksheet-writer.js";
26
26
  export { WorksheetReader } from "./modules/excel/stream/worksheet-reader.js";
27
- export type { CsvOptions, CsvInput } from "./modules/excel/workbook.js";
27
+ export type { CsvOptions, CsvInput } from "./modules/excel/workbook.browser.js";
28
28
  export { CsvParserStream, CsvFormatterStream, createCsvParserStream, createCsvFormatterStream } from "./modules/csv/stream/index.js";
29
29
  export type { MarkdownOptions } from "./modules/markdown/types.js";
30
30
  export type { MarkdownAlignment, MarkdownParseResult, MarkdownParseOptions, MarkdownColumnConfig, MarkdownFormatOptions } from "./modules/markdown/types.js";
31
31
  export { DefinedNames, type DefinedNameModel } from "./modules/excel/defined-names.js";
32
+ export { Chartsheet } from "./modules/excel/chartsheet.js";
33
+ export type { AddChartsheetOptions, AddPivotChartsheetOptions, ChartsheetOptions, ChartsheetViewOptions } from "./modules/excel/chartsheet.js";
32
34
  export type { CheckboxState } from "./modules/excel/form-control.js";
33
35
  export type { ColumnDefn, ColumnHeaderValue } from "./modules/excel/column.js";
34
36
  export type { RangeInput } from "./modules/excel/range.js";
35
- export type { WorkbookModel, WorkbookMedia, WorkbookProtectionModel, ExternalLinkModel, ExternalLinkCachedSheet } from "./modules/excel/workbook.js";
37
+ export type { WorkbookModel, WorkbookMedia, WorkbookProtectionModel, ExternalLinkModel, ExternalLinkCachedSheet } from "./modules/excel/workbook.browser.js";
38
+ export { getCellDisplayText, formatCellValue, isDateDisplayFormat } from "./modules/excel/utils/cell-format.js";
36
39
  export { decodeCol, encodeCol, decodeRow, encodeRow, decodeCell, encodeCell, decodeRange, encodeRange } from "./modules/excel/utils/address.js";
37
40
  export type { CellAddress, SheetRange, Origin } from "./modules/excel/utils/address.js";
38
41
  export type { SheetToJSONOptions, AddJSONOptions, AddAOAOptions } from "./modules/excel/worksheet.js";
39
42
  export { dateToExcel, excelToDate } from "./utils/utils.base.js";
40
43
  export { base64ToUint8Array, uint8ArrayToBase64 } from "./utils/utils.base.js";
41
- export { xmlEncode, xmlDecode } from "./modules/xml/encode.js";
44
+ export { xmlEncode, xmlDecode, xmlEncodeAttr, validateXmlName } from "./modules/xml/encode.js";
42
45
  export { DateParser, DateFormatter, getSupportedFormats, type DateFormat } from "./utils/datetime.js";
43
46
  export { BaseError, type BaseErrorOptions, toError, errorToJSON, getErrorChain, getRootCause } from "./utils/errors.js";
44
47
  export { concatUint8Arrays, toUint8Array, stringToUint8Array, uint8ArrayToString } from "./utils/binary.js";
@@ -18,7 +18,7 @@ export * from "./modules/excel/enums.js";
18
18
  export * from "./modules/excel/types.js";
19
19
  export { createTextWatermarkImage } from "./modules/excel/utils/watermark-image.js";
20
20
  export type { TextWatermarkImageOptions } from "./modules/excel/utils/watermark-image.js";
21
- export type { PivotTable, PivotTableModel, PivotTableValue, PivotTableSource, CacheField, SharedItemValue, DataField, PivotTableSubtotal, RecordValue, ParsedCacheDefinition, ParsedCacheRecords } from "./modules/excel/pivot-table.js";
21
+ export type { PivotTable, PivotTableModel, PivotTableValue, PivotTableSource, CacheField, SharedItemValue, DataField, PivotTableChartFormat, PivotTableSubtotal, RecordValue, ParsedCacheDefinition, ParsedCacheRecords } from "./modules/excel/pivot-table.js";
22
22
  export type { FormCheckboxModel, FormCheckboxOptions, FormControlRange, FormControlAnchor } from "./modules/excel/form-control.js";
23
23
  export type { WorkbookReaderOptions, ParseEvent, SharedStringEvent, WorksheetReadyEvent, HyperlinksEvent } from "./modules/excel/stream/workbook-reader.js";
24
24
  export type { WorksheetReaderOptions, WorksheetEvent, RowEvent, HyperlinkEvent, WorksheetHyperlink } from "./modules/excel/stream/worksheet-reader.js";
@@ -28,6 +28,8 @@ export { CsvParserStream, CsvFormatterStream, createCsvParserStream, createCsvFo
28
28
  export type { MarkdownOptions } from "./modules/markdown/types.js";
29
29
  export type { MarkdownAlignment, MarkdownParseResult, MarkdownParseOptions, MarkdownColumnConfig, MarkdownFormatOptions } from "./modules/markdown/types.js";
30
30
  export { DefinedNames, type DefinedNameModel } from "./modules/excel/defined-names.js";
31
+ export { Chartsheet } from "./modules/excel/chartsheet.js";
32
+ export type { AddChartsheetOptions, AddPivotChartsheetOptions, ChartsheetOptions, ChartsheetViewOptions } from "./modules/excel/chartsheet.js";
31
33
  export type { CheckboxState } from "./modules/excel/form-control.js";
32
34
  export type { ColumnDefn, ColumnHeaderValue } from "./modules/excel/column.js";
33
35
  export type { RangeInput } from "./modules/excel/range.js";
@@ -39,7 +41,7 @@ export type { SheetToJSONOptions, AddJSONOptions, AddAOAOptions } from "./module
39
41
  export { getCellDisplayText, formatCellValue, isDateDisplayFormat } from "./modules/excel/utils/cell-format.js";
40
42
  export { dateToExcel, excelToDate } from "./utils/utils.base.js";
41
43
  export { base64ToUint8Array, uint8ArrayToBase64 } from "./utils/utils.base.js";
42
- export { xmlEncode, xmlDecode } from "./modules/xml/encode.js";
44
+ export { xmlEncode, xmlDecode, xmlEncodeAttr, validateXmlName } from "./modules/xml/encode.js";
43
45
  export { DateParser, DateFormatter, getSupportedFormats, type DateFormat } from "./utils/datetime.js";
44
46
  export { BaseError, type BaseErrorOptions, toError, errorToJSON, getErrorChain, getRootCause } from "./utils/errors.js";
45
47
  export { concatUint8Arrays, toUint8Array, stringToUint8Array, uint8ArrayToString } from "./utils/binary.js";
@@ -0,0 +1,49 @@
1
+ import type { ChartExModel } from "./chart-ex-types.js";
2
+ /**
3
+ * Chart cache populator.
4
+ *
5
+ * Walks a ChartModel, finds every `numRef`/`strRef` formula, resolves it against
6
+ * the actual worksheet cell values in the workbook, and populates the cache
7
+ * points so that headless consumers (PDF export, image preview, other readers
8
+ * that don't recalculate formulas) see non-empty charts.
9
+ *
10
+ * Excel itself recomputes caches on open, so this is a best-effort enrichment:
11
+ * - empty/missing cells produce null values at the correct index
12
+ * - formula-bearing cells use their cached result when available
13
+ * - non-existent sheets or malformed formulas are skipped silently
14
+ */
15
+ import type { ChartModel, NumberReference, StringReference, MultiLevelStringReference } from "./types.js";
16
+ import type { Workbook } from "../workbook.js";
17
+ import type { Worksheet } from "../worksheet.js";
18
+ /**
19
+ * Populate all number/string caches in a ChartModel from the given workbook.
20
+ * Mutates the model in place. Safe to call multiple times (idempotent).
21
+ *
22
+ * @param model - The chart model to enrich
23
+ * @param workbook - The workbook used to resolve sheet/cell references
24
+ * @param contextWorksheet - Optional worksheet providing the default scope for
25
+ * defined-name resolution. When a defined name has a sheet-scoped entry
26
+ * matching this worksheet's workbook index (`localSheetId`), that entry
27
+ * wins over the workbook-scoped entry. Supplying this argument is required
28
+ * to correctly resolve sheet-scoped names; omitting it falls back to
29
+ * workbook-scoped names only.
30
+ */
31
+ export declare function fillChartCaches(model: ChartModel, workbook: Workbook, contextWorksheet?: Worksheet): void;
32
+ export declare function fillChartExCaches(model: ChartExModel, workbook: Workbook, contextWorksheet?: Worksheet): void;
33
+ /**
34
+ * Populate a NumberReference cache from the workbook.
35
+ * Only fills if `cache.points` is currently empty.
36
+ *
37
+ * @param contextWorksheet - Optional worksheet whose sheet-scoped defined
38
+ * names take precedence over workbook-scoped ones.
39
+ */
40
+ export declare function fillNumRef(ref: NumberReference, workbook: Workbook, date1904?: boolean, contextWorksheet?: Worksheet): void;
41
+ /**
42
+ * Populate a StringReference cache from the workbook.
43
+ * Only fills if `cache.points` is currently empty.
44
+ *
45
+ * @param contextWorksheet - Optional worksheet whose sheet-scoped defined
46
+ * names take precedence over workbook-scoped ones.
47
+ */
48
+ export declare function fillStrRef(ref: StringReference, workbook: Workbook, contextWorksheet?: Worksheet): void;
49
+ export declare function fillMultiLvlStrRef(ref: MultiLevelStringReference, workbook: Workbook, contextWorksheet?: Worksheet): void;
@@ -0,0 +1,92 @@
1
+ import type { Table } from "../table.js";
2
+ import type { Worksheet } from "../worksheet.js";
3
+ import type { AddChartExOptions } from "./chart-ex-types.js";
4
+ import type { AddChartOptions, AddChartSeriesOptions } from "./types.js";
5
+ export interface SeriesFromColumnsOptions {
6
+ categories?: string;
7
+ values: string;
8
+ name?: AddChartSeriesOptions["name"];
9
+ }
10
+ export interface AddChartFromTableOptions extends Omit<AddChartOptions, "series"> {
11
+ categoryColumn?: string | number;
12
+ valueColumns?: Array<string | number>;
13
+ /** Use Excel structured references so charts expand with the table. Default: true. */
14
+ structuredReferences?: boolean;
15
+ }
16
+ export interface AddChartFromRowsOptions<T extends Record<string, unknown>> extends Omit<AddChartOptions, "series"> {
17
+ x: keyof T & string;
18
+ y: (keyof T & string) | Array<keyof T & string>;
19
+ sheetName?: string;
20
+ startCell?: string;
21
+ includeHeaders?: boolean;
22
+ }
23
+ export declare function seriesFromColumns(sheetName: string, options: SeriesFromColumnsOptions): AddChartSeriesOptions;
24
+ export declare function chartOptionsFromTable(worksheet: Worksheet, table: Table | string, options: AddChartFromTableOptions): AddChartOptions;
25
+ export declare function chartOptionsFromRows<T extends Record<string, unknown>>(worksheet: Worksheet, rows: T[], options: AddChartFromRowsOptions<T>): AddChartOptions;
26
+ /**
27
+ * Shared options for ChartEx helpers that derive series references from an
28
+ * existing worksheet Table. The `type` is narrowed per-helper (histogram,
29
+ * sunburst, treemap, waterfall, funnel, pareto, boxWhisker) because
30
+ * `regionMap` requires geographic labels that don't map cleanly from a
31
+ * generic category column. Column resolution mirrors
32
+ * {@link AddChartFromTableOptions}: string matches the header
33
+ * case-insensitively, number is a 0-based index.
34
+ */
35
+ export interface AddChartExFromTableOptions extends Omit<AddChartExOptions, "series" | "categories"> {
36
+ /**
37
+ * The category column. String is matched case-insensitively against the
38
+ * table header; number is a 0-based index. Default: 0.
39
+ */
40
+ categoryColumn?: string | number;
41
+ /**
42
+ * The value columns. Each produces one `cx:series`. Defaults to every
43
+ * non-category column.
44
+ */
45
+ valueColumns?: Array<string | number>;
46
+ /**
47
+ * Use Excel structured references (`Table1[Col]`) so the chart tracks
48
+ * table expansion. Default: true. When `false`, classic absolute
49
+ * ranges (`Sheet1!$B$2:$B$10`) are emitted instead.
50
+ */
51
+ structuredReferences?: boolean;
52
+ }
53
+ /**
54
+ * Shared options for ChartEx helpers that derive series from a plain
55
+ * JavaScript object array, mirroring {@link AddChartFromRowsOptions}. The
56
+ * helper writes the rows into the worksheet first (headers optional) and
57
+ * then emits the corresponding absolute ranges.
58
+ */
59
+ export interface AddChartExFromRowsOptions<T extends Record<string, unknown>> extends Omit<AddChartExOptions, "series" | "categories"> {
60
+ /** Key used as the category column. */
61
+ x: keyof T & string;
62
+ /**
63
+ * Key(s) used as value column(s). Each produces one `cx:series`.
64
+ */
65
+ y: (keyof T & string) | Array<keyof T & string>;
66
+ /** Target worksheet name. Must match the worksheet this helper is invoked on. */
67
+ sheetName?: string;
68
+ /** Top-left cell for the staged data. Default: `A1`. */
69
+ startCell?: string;
70
+ /** Emit a header row before the data. Default: `true`. */
71
+ includeHeaders?: boolean;
72
+ }
73
+ /**
74
+ * Build an {@link AddChartExOptions} bundle by pointing at a worksheet Table.
75
+ *
76
+ * Mirrors {@link chartOptionsFromTable} for classic charts. The builder
77
+ * resolves the table's data range and populates `categories` + one
78
+ * series per value column. `regionMap` is intentionally unsupported
79
+ * because its data model expects geographic labels that don't fit a
80
+ * flat-column helper — use {@link buildChartExModel} directly.
81
+ */
82
+ export declare function chartExOptionsFromTable(worksheet: Worksheet, table: Table | string, options: AddChartExFromTableOptions & {
83
+ type: Exclude<AddChartExOptions["type"], "regionMap">;
84
+ }): AddChartExOptions;
85
+ /**
86
+ * Build an {@link AddChartExOptions} bundle from a plain object-array
87
+ * dataset, staging the rows into the worksheet before emitting ranges.
88
+ * Mirrors {@link chartOptionsFromRows} for classic charts.
89
+ */
90
+ export declare function chartExOptionsFromRows<T extends Record<string, unknown>>(worksheet: Worksheet, rows: T[], options: AddChartExFromRowsOptions<T> & {
91
+ type: Exclude<AddChartExOptions["type"], "regionMap">;
92
+ }): AddChartExOptions;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Chart Builder - Constructs a ChartModel from simplified AddChartOptions.
3
+ *
4
+ * This bridges the high-level API (worksheet.addChart) to the full
5
+ * OOXML chart model that the XForm layer serialises.
6
+ */
7
+ import type { AddChartOptions, AddChartSeriesOptions, AddComboChartOptions, AddShapeFillOptions, ChartModel, SeriesBase, ShapeProperties, ChartColor } from "./types.js";
8
+ /**
9
+ * Normalise a user-facing hex colour into a structured {@link ChartColor}.
10
+ * Accepts `"#RRGGBB"` / `"RRGGBB"` and the optional 8-digit
11
+ * `"RRGGBBAA"` form. The alpha byte, when present, is decoded into
12
+ * `color.alpha` on the OOXML 0–100000 scale (0 = fully transparent,
13
+ * 100000 = fully opaque) rather than discarded. Throws
14
+ * `ChartOptionsError` when the input is not a valid hex triplet so the
15
+ * caller sees the mistake at the assignment site rather than via a
16
+ * downstream XML parser rejection.
17
+ */
18
+ export declare function hexToColor(hex: string): ChartColor;
19
+ /**
20
+ * Convert a simplified AddShapeFillOptions (or a pre-built ShapeProperties)
21
+ * into a structured ShapeProperties object. Returns undefined when input is
22
+ * undefined.
23
+ */
24
+ /**
25
+ * Normalise a user-facing shape-fill option bundle (hex-string fill,
26
+ * hex-string border, borderWidth in points, gradient, pattern, …) into a
27
+ * structured {@link ShapeProperties}. Passes through already-structured
28
+ * shapes unchanged so callers can mix the two forms freely.
29
+ *
30
+ * Exported so `chart-ex-builder` can reuse the exact same normalisation
31
+ * for ChartEx `spPr` options — previously ChartEx only accepted the
32
+ * fully-structured form, which was an API asymmetry.
33
+ */
34
+ export declare function toShapeProperties(input: ShapeProperties | AddShapeFillOptions | undefined): ShapeProperties | undefined;
35
+ export declare function buildChartSeriesForType(chartType: AddChartOptions["type"], options: AddChartSeriesOptions, index: number): SeriesBase;
36
+ export declare function applyChartSeriesOptionsPatch(series: SeriesBase, options: Partial<AddChartSeriesOptions>, chartType?: AddChartOptions["type"]): void;
37
+ /**
38
+ * Build a full ChartModel from the simplified AddChartOptions.
39
+ */
40
+ export declare function buildChartModel(opts: AddChartOptions): ChartModel;
41
+ /**
42
+ * Build a combo chart model with multiple chart type groups.
43
+ *
44
+ * Each group can optionally be plotted on secondary axes.
45
+ * The builder creates primary axes for the first group that needs
46
+ * them, and secondary axes for any group with `useSecondaryAxis: true`.
47
+ */
48
+ export declare function buildComboChartModel(opts: AddComboChartOptions): ChartModel;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * ChartEx builder — constructs a ChartExModel from simplified AddChartExOptions.
3
+ *
4
+ * Each layoutId corresponds to a distinct chart type. The builder produces a
5
+ * structured model that the renderer serialises to `cx:chart` XML.
6
+ */
7
+ import type { AddChartExOptions, ChartExModel } from "./chart-ex-types.js";
8
+ /**
9
+ * Combine multiple single-column range formulas (first item is the
10
+ * OUTERMOST hierarchy level, last item is the leaf level / primary
11
+ * category) into a single multi-column range that Excel's hierarchical
12
+ * chartEx loader accepts.
13
+ *
14
+ * Microsoft Excel's treemap / sunburst writer emits ONE `<cx:strDim>`
15
+ * whose `<cx:f>` points at a contiguous multi-column range spanning
16
+ * every hierarchy level (e.g. `Sheet1!$A$2:$C$8` for a Region / Country
17
+ * / City breakdown). The chart reader derives the hierarchy from the
18
+ * column ORDER within that range — the first column is the root and
19
+ * the last is the leaf. Emitting per-level `<cx:strDim>` siblings (one
20
+ * per formula) is schema-legal but makes Excel draw an empty plot
21
+ * area: verified against `reference-hierarchy.xlsx` (Excel-authored
22
+ * sample) where the same hierarchy renders correctly only when the
23
+ * columns live under a single `<cx:f>`.
24
+ *
25
+ * Returns the combined formula when every input formula lives on the
26
+ * same sheet with identical row spans and contiguous ascending columns
27
+ * (the common case when authors lay their hierarchy out in adjacent
28
+ * worksheet columns). Returns `null` otherwise — the caller should
29
+ * fall back to per-level caching because Excel has no way to express
30
+ * a non-contiguous hierarchy as a single range.
31
+ */
32
+ export declare function combineHierarchyFormulas(formulas: readonly string[]): string | null;
33
+ /**
34
+ * Build a structured ChartExModel from high-level options.
35
+ */
36
+ export declare function buildChartExModel(opts: AddChartExOptions): ChartExModel;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Best-effort ChartEx parser for Office 2016+ cx: chart XML.
3
+ *
4
+ * The parser captures the structured fields that ExcelTS can render and keeps
5
+ * the original XML on the model so clean round-trips can still use raw bytes.
6
+ */
7
+ import type { ChartExModel } from "./chart-ex-types.js";
8
+ export declare function parseChartEx(rawXml: string): ChartExModel;
@@ -0,0 +1,187 @@
1
+ /**
2
+ * ChartEx renderer — serialises a ChartExModel to `cx:chart` XML.
3
+ *
4
+ * This is a standalone renderer (not a full SAX parser): it produces byte
5
+ * output for a programmatically-built chartEx. Round-trip of existing cx:chart
6
+ * files is handled by raw byte passthrough (model.rawXml is preferred when set).
7
+ */
8
+ import type { ChartExModel } from "./chart-ex-types.js";
9
+ import { type ChartPdfDrawingSurface, type ChartRenderOptions, type RegionMapDataOptions } from "./chart-renderer.js";
10
+ import { type ChartRect } from "./chart-utils.js";
11
+ /**
12
+ * Local alias kept for file-level readability. ChartEx code has always
13
+ * called these `SvgRect`; the underlying shape matches the shared
14
+ * {@link ChartRect} exactly.
15
+ */
16
+ type SvgRect = ChartRect;
17
+ /**
18
+ * Rewrite a freshly-built ChartEx model's data references to use
19
+ * `_xlchart.vN.M` hidden defined-name indirection, matching the
20
+ * exact scheme Microsoft Excel emits.
21
+ *
22
+ * Excel 2016+ REQUIRES chartEx `<cx:f>` elements to point at
23
+ * hidden defined names, NOT directly at worksheet ranges. A
24
+ * chartEx with a bare `<cx:f>Sheet1!$A$1:$A$3</cx:f>` is rejected
25
+ * on load with:
26
+ *
27
+ * "Removed Part: /xl/drawings/drawingN.xml (Drawing shape)"
28
+ *
29
+ * The canonical layout Excel uses:
30
+ *
31
+ * chartEx1.xml:
32
+ * <cx:strDim type="cat"><cx:f>_xlchart.v1.0</cx:f></cx:strDim>
33
+ * <cx:numDim type="val"><cx:f>_xlchart.v1.1</cx:f></cx:numDim>
34
+ *
35
+ * workbook.xml:
36
+ * <definedName name="_xlchart.v1.0" hidden="1">Sheet1!$A$1:$A$3</definedName>
37
+ * <definedName name="_xlchart.v1.1" hidden="1">Sheet1!$B$1:$B$3</definedName>
38
+ *
39
+ * This function walks the chart's data entries, allocates a
40
+ * sequential minor index `M` for every worksheet-range formula,
41
+ * registers a hidden defined name via the supplied callback, and
42
+ * rewrites the `formula` field on the model to point at the
43
+ * name. It also clears any cached `<cx:lvl>` point levels on
44
+ * those dimensions — Excel's output uses defined-name pointers
45
+ * exclusively; the cached-point form is what our earlier writer
46
+ * emitted to work around the (buggy) direct-reference path and is
47
+ * no longer needed.
48
+ *
49
+ * Non-worksheet formulas (lambda expressions, literal data,
50
+ * already-indirect `_xlchart.*` names from round-tripped files)
51
+ * are left untouched — only `SheetName!...` style references need
52
+ * the rewrite.
53
+ *
54
+ * @param model ChartEx model to mutate in place.
55
+ * @param chartExIndex 1-based chartEx file index — becomes the
56
+ * `vN` major version in `_xlchart.vN.M`.
57
+ * @param register Callback invoked for each newly allocated
58
+ * defined name. Implementations should add
59
+ * the name to the workbook's `definedNames`
60
+ * list with `hidden="1"`.
61
+ */
62
+ export declare function rewriteChartExDataRefsToDefinedNames(model: ChartExModel, chartExIndex: number, register: (definedName: string, ref: string) => void): void;
63
+ /**
64
+ * Render a ChartExModel to the full XML string representation of cx:chart.
65
+ *
66
+ * By default the function prefers the raw XML captured at parse time
67
+ * (`model.rawXml`) when present — that path gives byte-perfect
68
+ * round-trip for files that haven't been mutated since load. This is
69
+ * the fastest and safest mode for the common "load → save" pipeline.
70
+ *
71
+ * Pass `{ forceStructural: true }` when the caller has mutated
72
+ * structured fields on the model (e.g. via `setSpPrFill` /
73
+ * `setSpPrLine` / direct assignment) and needs the writer to
74
+ * rebuild from the model tree instead of reusing the stale raw bytes.
75
+ * The `Chart.mutateChartEx` API already clears `model.rawXml` for
76
+ * normal mutations; `forceStructural` is the escape hatch for callers
77
+ * that bypass that helper (e.g. low-level tests, ad-hoc scripts).
78
+ */
79
+ export declare function renderChartEx(model: ChartExModel, options?: {
80
+ forceStructural?: boolean;
81
+ }): string;
82
+ export declare function renderChartExSvg(model: ChartExModel, options?: ChartRenderOptions): string;
83
+ export declare function renderChartExPng(model: ChartExModel, options?: ChartRenderOptions): Promise<Uint8Array>;
84
+ /**
85
+ * Layout IDs whose PDF geometry is expressed in `drawRect` /
86
+ * `drawPath` primitives rather than SVG-specific filters or raster
87
+ * fallbacks. {@link drawChartExPdf} consults this set to decide
88
+ * whether a vector path is available; any layout not listed falls
89
+ * back to the raster pipeline in `chartToPdf`.
90
+ *
91
+ * As of the regionMap port this set covers every ChartEx layout the
92
+ * library currently emits, so vector is the default and raster is
93
+ * only reached when the caller passes `chartToPdf(chart, {
94
+ * forceRaster: true })`.
95
+ *
96
+ * Exported so the `@pdf/excel-bridge` `chartToPdf` helper can make
97
+ * the same decision without reimplementing it.
98
+ */
99
+ export declare const VECTOR_PDF_CHART_EX_LAYOUT_IDS: readonly string[];
100
+ /**
101
+ * True when every series of a ChartEx model has a layoutId that
102
+ * `drawChartExPdf` can render as vector PDF. Used by `chartToPdf` to
103
+ * route the chart to the vector or raster path automatically.
104
+ */
105
+ export declare function canRenderChartExAsVectorPdf(model: ChartExModel): boolean;
106
+ /**
107
+ * Draw a ChartEx chart as vector content onto a
108
+ * {@link ChartPdfDrawingSurface}. All layout IDs listed in
109
+ * {@link VECTOR_PDF_CHART_EX_LAYOUT_IDS} are supported — the
110
+ * surrounding geometry lives in the "collect" functions shared with
111
+ * the SVG renderer, so the SVG and PDF paths stay equivalent by
112
+ * construction.
113
+ *
114
+ * For any layout ID not in the set the function throws; callers
115
+ * (notably `@pdf/excel-bridge.chartToPdf`) must pre-filter via
116
+ * {@link canRenderChartExAsVectorPdf}. Filtering ahead of time rather
117
+ * than silently skipping preserves "fail loud on unsupported" — a
118
+ * silent no-op would produce an empty page and hide the mistake.
119
+ */
120
+ export declare function drawChartExPdf(surface: ChartPdfDrawingSurface, model: ChartExModel, rect: {
121
+ x: number;
122
+ y: number;
123
+ width: number;
124
+ height: number;
125
+ }, options?: {
126
+ title?: string;
127
+ regionMap?: RegionMapDataOptions;
128
+ }): ChartPdfDrawingSurface;
129
+ interface HierarchyNode {
130
+ name: string;
131
+ value: number;
132
+ children: HierarchyNode[];
133
+ }
134
+ /**
135
+ * Treemap geometry collector. Shared between the SVG emitter (which
136
+ * prints `<rect>` elements) and the PDF emitter (which calls
137
+ * `surface.drawRect` / `surface.drawText`). Returning plain data —
138
+ * rect, colour, optional label — keeps both backends honest: any
139
+ * future visual regression in the geometry shows up on the test that
140
+ * exercises the primary (SVG) backend, not only on the secondary
141
+ * (PDF) one.
142
+ *
143
+ * The label threshold (> 40 × 18 pixels) mirrors the historical SVG
144
+ * code; both backends honour it identically so small treemap cells
145
+ * degrade to colour-only the same way everywhere.
146
+ */
147
+ export interface TreemapCell {
148
+ rect: SvgRect;
149
+ color: string;
150
+ label: string | undefined;
151
+ }
152
+ export declare function collectTreemapCells(root: HierarchyNode, plot: SvgRect): TreemapCell[];
153
+ /**
154
+ * Sunburst geometry collector. Recursively walks the hierarchy,
155
+ * emitting one {@link SunburstSlice} per non-root node in the same
156
+ * angular/ring order the SVG renderer has always used, so the two
157
+ * backends stay pixel-equivalent modulo rasterisation.
158
+ *
159
+ * Colour handling follows the original `renderSunburstNode`
160
+ * "increment on every visit" rule so sibling slices and their
161
+ * descendants walk through `COLORS` in the same sequence regardless of
162
+ * which backend is driving.
163
+ */
164
+ export interface SunburstSlice {
165
+ cx: number;
166
+ cy: number;
167
+ /** Outer ring radius, always >= `inner`. */
168
+ outer: number;
169
+ /** Inner ring radius; 0 for the innermost ring. */
170
+ inner: number;
171
+ /** Start angle in radians, 0 = +X axis. */
172
+ start: number;
173
+ /** End angle in radians. */
174
+ end: number;
175
+ color: string;
176
+ }
177
+ export declare function collectSunburstSlices(root: HierarchyNode, plot: SvgRect): SunburstSlice[];
178
+ /**
179
+ * Serialise a `cx:legend` element to XML. Exported so the xlsx raw-
180
+ * patch path (`buildRawChartExLegendXml` in `xlsx.browser.ts`) can
181
+ * produce identical output to the structured writer. Previously the
182
+ * raw patcher emitted a self-closing `<cx:legend pos="…"/>`, dropping
183
+ * `align`, `cx:legendEntry*`, `cx:spPr`, `cx:txPr`, and `cx:extLst`
184
+ * on every styled-legend round-trip.
185
+ */
186
+ export declare function renderChartExLegendXml(l: NonNullable<ChartExModel["chartSpace"]["chart"]["legend"]>): string;
187
+ export {};