@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,12 @@
1
+ "use strict";
2
+ /**
3
+ * ChartEx (Office 2016+ extended charts) type definitions.
4
+ *
5
+ * These types mirror the ECMA-376 Part 1, §21.3 `cx:` namespace for the eight
6
+ * modern chart types: sunburst, treemap, waterfall, funnel, histogram
7
+ * (and Pareto), box-whisker, and region map.
8
+ *
9
+ * Classic charts live in `c:` (ChartML); chartEx uses its own `cx:` schema
10
+ * with shared formatting primitives (spPr/txPr) but very different data model.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,366 @@
1
+ "use strict";
2
+ /**
3
+ * Picture-fill (`<a:blipFill>`) registration for chart parts.
4
+ *
5
+ * Callers supply an image payload via `AddChartSeriesOptions.pictureFill.image`;
6
+ * the builder stores it on the chart model's `spPr.fill.blip._pendingImage`
7
+ * field. This module consumes those staged payloads at chart-registration
8
+ * time, pushes the image into the workbook media collection, allocates a
9
+ * fresh chart-part relationship, and rewrites the blip with the resolved
10
+ * `r:embed` id.
11
+ *
12
+ * The worksheet path calls {@link resolvePendingChartImages} right after
13
+ * `fillChartCaches` and before the chart entry is stored — at that point
14
+ * we have both the built model and the owning workbook, so we can do the
15
+ * binding without requiring callers to juggle rel ids manually.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.resolvePendingChartImages = resolvePendingChartImages;
19
+ /**
20
+ * Rel information that {@link resolvePendingChartImages} appends to the
21
+ * chart entry so the writer can emit the `chart{N}.xml.rels` file and
22
+ * the correct `r:embed` value inside the chart XML.
23
+ *
24
+ * The concrete shape matches the rel entry format used elsewhere
25
+ * (xlsx-writer relationships XForm) — Id + Type + Target triple. We
26
+ * hardcode the Type URI in the literal emitted at the call site so
27
+ * callers don't need to import the workbook-level `RelType` enum.
28
+ */
29
+ /**
30
+ * Walk a chart model, resolve every `_pendingImage` blip into a real
31
+ * workbook media entry + chart relationship, and mutate the model so
32
+ * the blip references the allocated `rIdN`.
33
+ *
34
+ * Safe to call multiple times on the same entry: once a blip has a
35
+ * `relationshipId` and no `_pendingImage`, it is skipped.
36
+ *
37
+ * @param entry The chart entry being registered. Its `rels` array is
38
+ * populated (created if absent) with any freshly
39
+ * allocated image relationships.
40
+ * @param workbook Host workbook exposing `addImage`. Also consulted for
41
+ * its internal `_chartRels[n]` bag — those rels are
42
+ * loaded from disk during round-trip and carry canonical
43
+ * rIds that must NOT collide with freshly allocated
44
+ * image rels (the xlsx writer merges both lists and
45
+ * silently drops any duplicate Id, which would otherwise
46
+ * orphan the image relationship).
47
+ * @param chartNumber 1-based chart index. Used to look up
48
+ * `workbook._chartRels[chartNumber]` so pre-existing
49
+ * rels seed the collision set.
50
+ */
51
+ function resolvePendingChartImages(entry, workbook, chartNumber) {
52
+ const blips = collectBlipFills(entry.model);
53
+ if (blips.length === 0) {
54
+ return;
55
+ }
56
+ const rels = (entry.rels ?? (entry.rels = []));
57
+ // Scan pre-existing rels so freshly allocated ids don't collide with
58
+ // rels the user may already have set (e.g. from a partial migration).
59
+ const usedIds = new Set();
60
+ for (const rel of rels) {
61
+ if (rel?.Id) {
62
+ usedIds.add(rel.Id);
63
+ }
64
+ }
65
+ // Also seed from the workbook-level `_chartRels` bag. Those entries
66
+ // come from the xlsx reader (round-tripped rels: style / colors /
67
+ // userShapes / existing images) and are merged BEFORE `entry.rels`
68
+ // by the writer — the writer drops any `entry.rels` entry whose Id
69
+ // collides. Without seeding here, a fresh image rel allocated as
70
+ // `rId1` would be silently dropped by the writer on a round-tripped
71
+ // chart whose original style sidecar already took `rId1`, leaving
72
+ // the chart's `r:embed="rId1"` pointing at the wrong target.
73
+ const chartRelsBag = workbook._chartRels;
74
+ const existingChartRels = chartRelsBag?.[chartNumber];
75
+ if (Array.isArray(existingChartRels)) {
76
+ for (const rel of existingChartRels) {
77
+ if (rel?.Id) {
78
+ usedIds.add(rel.Id);
79
+ }
80
+ }
81
+ }
82
+ let counter = 1;
83
+ const allocRelId = () => {
84
+ let id = `rId${counter++}`;
85
+ while (usedIds.has(id)) {
86
+ id = `rId${counter++}`;
87
+ }
88
+ usedIds.add(id);
89
+ return id;
90
+ };
91
+ for (const blip of blips) {
92
+ if (blip.relationshipId || blip._pendingImage === undefined) {
93
+ delete blip._pendingImage;
94
+ continue;
95
+ }
96
+ const normalised = normaliseImage(blip._pendingImage, workbook);
97
+ if (!normalised) {
98
+ // Bad payload — drop the blip so we don't emit a broken rel. The
99
+ // series keeps its `pictureOptions` so the chart still opens.
100
+ delete blip._pendingImage;
101
+ continue;
102
+ }
103
+ const { mediaId, extension } = normalised;
104
+ const relId = allocRelId();
105
+ blip.relationshipId = relId;
106
+ delete blip._pendingImage;
107
+ rels.push({
108
+ Id: relId,
109
+ Type: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",
110
+ // Chart parts live at `xl/charts/chart{N}.xml`; images live at
111
+ // `xl/media/image{M}.{ext}`. The relative Target is therefore
112
+ // `../media/image{M}.{ext}`. Media ids are 0-based in the workbook
113
+ // collection but the on-disk naming is 1-based, hence `mediaId + 1`.
114
+ Target: `../media/image${mediaId + 1}.${extension}`
115
+ });
116
+ }
117
+ }
118
+ /**
119
+ * Traverse every `spPr` slot in a chart model and return the list of
120
+ * {@link ChartBlipFill} objects that carry picture fills.
121
+ *
122
+ * The traversal is intentionally narrow: we only visit the locations
123
+ * where `a:blipFill` is actually legal (series, data points, chart
124
+ * frame, plot area, walls, axis, legend, gridlines, drop/hi-low lines,
125
+ * trendline labels…). It walks both the primary (`chart.plotArea`) and
126
+ * pivot-format (`chart.pivotFormats`) branches.
127
+ */
128
+ function collectBlipFills(model) {
129
+ const out = [];
130
+ const visitSpPr = (spPr) => {
131
+ const blip = spPr?.fill?.blip;
132
+ if (blip && (blip.relationshipId || blip._pendingImage)) {
133
+ out.push(blip);
134
+ }
135
+ };
136
+ visitSpPr(model.spPr);
137
+ visitSpPr(model.chart?.title?.spPr);
138
+ visitSpPr(model.chart?.floor);
139
+ visitSpPr(model.chart?.sideWall);
140
+ visitSpPr(model.chart?.backWall);
141
+ visitSpPr(model.chart?.plotArea?.spPr);
142
+ for (const group of model.chart?.plotArea?.chartTypes ?? []) {
143
+ visitGroup(group, visitSpPr);
144
+ }
145
+ for (const axis of model.chart?.plotArea?.axes ?? []) {
146
+ visitSpPr(axis.spPr);
147
+ visitSpPr(axis.title?.spPr);
148
+ // `majorGridlines` and `minorGridlines` are themselves `ShapeProperties`
149
+ // (the grid-line style uses the same DrawingML fill/line/effect
150
+ // vocabulary as any other shape); pass them through directly rather
151
+ // than treating them as containers.
152
+ visitSpPr(axis.majorGridlines);
153
+ visitSpPr(axis.minorGridlines);
154
+ }
155
+ visitSpPr(model.chart?.legend?.spPr);
156
+ for (const pf of model.chart?.pivotFormats ?? []) {
157
+ visitSpPr(pf.spPr);
158
+ }
159
+ return out;
160
+ }
161
+ function visitGroup(group, visit) {
162
+ const groupWithSeries = group;
163
+ if (groupWithSeries.series) {
164
+ for (const s of groupWithSeries.series) {
165
+ visit(s.spPr);
166
+ // Series-level data labels and trendlines are DrawingML shapes too;
167
+ // both can carry picture fills (e.g. a branded label background).
168
+ const dataLabels = s.dataLabels;
169
+ visit(dataLabels?.spPr);
170
+ const trendlines = s.trendlines;
171
+ if (trendlines) {
172
+ for (const tl of trendlines) {
173
+ visit(tl.spPr);
174
+ }
175
+ }
176
+ // Per-point overrides live on specific series subtypes (BarSeries,
177
+ // LineSeries, …) as `dataPoints?: DataPoint[]`. They all share the
178
+ // same shape — walk them generically without narrowing to each
179
+ // discriminated union variant.
180
+ const dps = s.dataPoints;
181
+ if (dps) {
182
+ for (const dp of dps) {
183
+ visit(dp.spPr);
184
+ }
185
+ }
186
+ }
187
+ }
188
+ visit(groupWithSeries.dropLines);
189
+ visit(groupWithSeries.hiLowLines);
190
+ visit(groupWithSeries.serLines);
191
+ visit(groupWithSeries.upDownBars?.upBars);
192
+ visit(groupWithSeries.upDownBars?.downBars);
193
+ }
194
+ /**
195
+ * Coerce a user-facing {@link AddChartPictureFillImage} into a workbook
196
+ * media entry. Returns `{mediaId, extension}` or `undefined` when the
197
+ * payload is unusable (empty / unknown format).
198
+ *
199
+ * Side-effect: when the caller passes raw data (not `workbookImageId`),
200
+ * a new media entry is created on the workbook.
201
+ */
202
+ function normaliseImage(image, workbook) {
203
+ // Re-use an already-registered workbook image.
204
+ if (typeof image === "object" && !Array.isArray(image) && "workbookImageId" in image) {
205
+ const existing = workbook.getImage(image.workbookImageId);
206
+ if (!existing) {
207
+ return undefined;
208
+ }
209
+ // DrawingML's `<a:blipFill>` technically accepts more formats (BMP,
210
+ // TIFF, EMF/WMF) but the workbook media pipeline and our
211
+ // magic-byte sniffer only cover PNG / JPEG / GIF. Silently
212
+ // dropping the blip is preferable to emitting a rel entry whose
213
+ // media bytes would be mislabelled and fail to decode in Excel.
214
+ // Callers needing the exotic formats should add them to the
215
+ // workbook media collection separately and use `workbookImageId`.
216
+ const raw = existing.extension;
217
+ if (raw !== "png" && raw !== "jpeg" && raw !== "gif") {
218
+ return undefined;
219
+ }
220
+ return { mediaId: image.workbookImageId, extension: raw };
221
+ }
222
+ // Raw binary payload. `instanceof Uint8Array` is realm-sensitive:
223
+ // a buffer produced inside a Web Worker or another iframe has a
224
+ // different `Uint8Array` prototype, so the operator returns false
225
+ // even though the object is a genuine byte array. Duck-typing via
226
+ // `ArrayBuffer.isView` + `BYTES_PER_ELEMENT === 1` covers both the
227
+ // same-realm path and cross-realm buffers (workers, SharedWorkers,
228
+ // MessagePort transfers, `structuredClone` round-trips), and still
229
+ // excludes `Uint16Array` / `DataView` etc. — `DataView` has
230
+ // no `BYTES_PER_ELEMENT` on instances (the property is on the
231
+ // constructor), so the check rejects it naturally. `Int8Array` /
232
+ // `Uint8ClampedArray` DO pass the check; that's intentional —
233
+ // both carry byte-granular binary data and the sniffer below
234
+ // operates on the first few bytes regardless of typed-array
235
+ // signedness. The workbook image store only needs a
236
+ // `Uint8Array`, so we coerce through a shared underlying buffer.
237
+ if (ArrayBuffer.isView(image) &&
238
+ image.BYTES_PER_ELEMENT === 1) {
239
+ const view = image;
240
+ const bytes = view instanceof Uint8Array
241
+ ? view
242
+ : new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
243
+ const ext = sniffImageExtension(bytes);
244
+ if (!ext) {
245
+ // Unknown format (WebP / AVIF / TIFF / …) — drop the blip rather
246
+ // than mislabel it as `png`. The caller keeps `pictureOptions`
247
+ // so the rest of the chart still renders.
248
+ return undefined;
249
+ }
250
+ const id = workbook.addImage({ extension: ext, buffer: bytes });
251
+ return { mediaId: id, extension: ext };
252
+ }
253
+ // String — either a data URL or a bare base64 string.
254
+ if (typeof image === "string") {
255
+ const parsed = parseDataUrlOrBase64(image);
256
+ if (!parsed) {
257
+ return undefined;
258
+ }
259
+ const id = workbook.addImage({ extension: parsed.extension, base64: parsed.base64 });
260
+ return { mediaId: id, extension: parsed.extension };
261
+ }
262
+ // Structured ChartPictureFillImageData.
263
+ const data = image;
264
+ if (data.buffer != null) {
265
+ // Use ArrayBuffer.isView to handle cross-realm Uint8Array instances
266
+ // that fail `instanceof` checks but are structurally identical.
267
+ const raw = data.buffer;
268
+ if (ArrayBuffer.isView(raw)) {
269
+ const view = raw;
270
+ const bytes = view instanceof Uint8Array
271
+ ? view
272
+ : new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
273
+ const id = workbook.addImage({ extension: data.extension, buffer: bytes });
274
+ return { mediaId: id, extension: data.extension };
275
+ }
276
+ }
277
+ if (typeof data.base64 === "string" && data.base64.length > 0) {
278
+ const id = workbook.addImage({ extension: data.extension, base64: data.base64 });
279
+ return { mediaId: id, extension: data.extension };
280
+ }
281
+ return undefined;
282
+ }
283
+ /**
284
+ * Parse a `data:image/<type>;base64,…` URL or a bare base64 string into
285
+ * `{ extension, base64 }`. Returns `undefined` for empty or
286
+ * unrecognised input (including data URLs whose content-type is not one
287
+ * of the three `<a:blipFill>`-supported formats — e.g. `image/svg+xml`
288
+ * or `image/bmp`). Callers interpret `undefined` as "drop the blip"
289
+ * rather than emitting a corrupted `.png` file.
290
+ */
291
+ function parseDataUrlOrBase64(input) {
292
+ if (!input) {
293
+ return undefined;
294
+ }
295
+ // `data:image/<subtype>[;param=value]*;base64,<payload>`. Support
296
+ // multiple parameter segments (e.g. `;charset=utf-8;base64,...`).
297
+ // The previous `(?:;[^,]*)?` admitted only a single parameter AND
298
+ // used a greedy class that could swallow the required `;base64`
299
+ // token, forcing backtracking that silently failed for common
300
+ // multi-param forms. Allow any number of `;token[=value]` groups
301
+ // before the required trailing `;base64,`.
302
+ const dataUrl = /^data:image\/([a-z+]+)(?:;[^,;=]+(?:=[^,;]*)?)*;base64,(.+)$/i.exec(input.trim());
303
+ if (dataUrl) {
304
+ const rawType = dataUrl[1].toLowerCase();
305
+ const ext = rawType === "jpg"
306
+ ? "jpeg"
307
+ : rawType === "png" || rawType === "jpeg" || rawType === "gif"
308
+ ? rawType
309
+ : undefined;
310
+ if (ext === undefined) {
311
+ // Content-type outside the `<a:blipFill>` white-list (e.g.
312
+ // `svg+xml`, `bmp`, `webp`, `tiff`). Dropping is better than
313
+ // silently relabelling an SVG payload as `image/png` — Excel
314
+ // would try to decode SVG bytes with the PNG parser and either
315
+ // error out or leave an invisible shape.
316
+ return undefined;
317
+ }
318
+ return { extension: ext, base64: dataUrl[2] };
319
+ }
320
+ // Bare base64 — extension unknown, default to PNG (the most common
321
+ // Excel bar-fill choice). Callers who need precision should pass a
322
+ // structured ChartPictureFillImageData.
323
+ return { extension: "png", base64: input };
324
+ }
325
+ /**
326
+ * Identify the image format from the first few magic bytes.
327
+ *
328
+ * Supports the three extensions Excel accepts in `<a:blipFill>` — PNG,
329
+ * JPEG, GIF. Anything else falls back to PNG (which is the safest
330
+ * default: Excel will try to decode and most viewers treat unrecognised
331
+ * binary as PNG).
332
+ */
333
+ /**
334
+ * Inspect the first few bytes of `data` and return the matching
335
+ * `<a:blipFill>`-supported image extension, or `undefined` when the
336
+ * payload doesn't look like one of the three supported formats
337
+ * (PNG / JPEG / GIF). Callers treat `undefined` as "drop the blip" —
338
+ * preferable to emitting a `.png` file whose decoded bytes are
339
+ * actually WebP / AVIF / TIFF, which Excel would fail to render.
340
+ */
341
+ function sniffImageExtension(data) {
342
+ if (data.length >= 8 &&
343
+ data[0] === 0x89 &&
344
+ data[1] === 0x50 &&
345
+ data[2] === 0x4e &&
346
+ data[3] === 0x47 &&
347
+ data[4] === 0x0d &&
348
+ data[5] === 0x0a &&
349
+ data[6] === 0x1a &&
350
+ data[7] === 0x0a) {
351
+ return "png";
352
+ }
353
+ if (data.length >= 3 && data[0] === 0xff && data[1] === 0xd8 && data[2] === 0xff) {
354
+ return "jpeg";
355
+ }
356
+ if (data.length >= 6 &&
357
+ data[0] === 0x47 &&
358
+ data[1] === 0x49 &&
359
+ data[2] === 0x46 &&
360
+ data[3] === 0x38 &&
361
+ (data[4] === 0x37 || data[4] === 0x39) &&
362
+ data[5] === 0x61) {
363
+ return "gif";
364
+ }
365
+ return undefined;
366
+ }
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXCEL_CHART_EX_PRESETS = exports.CHART_EX_PRESETS = exports.EXCEL_CHART_PRESETS = exports.CHART_PRESETS = void 0;
4
+ exports.applyChartPreset = applyChartPreset;
5
+ exports.applyChartExPreset = applyChartExPreset;
6
+ const errors_1 = require("../errors.js");
7
+ // Shared factory for bar/column preset variants. Accepts a base type ("bar"
8
+ // or "bar3D"), direction, grouping and an optional 3-D shape. When `shape`
9
+ // is passed the type is always forced to "bar3D" (cone/cylinder/pyramid
10
+ // require 3D). The previous code had two nearly-identical factories
11
+ // (`barPreset` / `bar3DPreset`) that differed only in the default type.
12
+ const barPreset = (barDir, grouping, shape, type = "bar") => ({
13
+ options: shape ? { type: "bar3D", barDir, grouping, shape } : { type, barDir, grouping }
14
+ });
15
+ const bar3DPreset = (barDir, grouping, shape) => barPreset(barDir, grouping, shape, "bar3D");
16
+ exports.CHART_PRESETS = {
17
+ columnClustered: barPreset("col", "clustered"),
18
+ columnStacked: barPreset("col", "stacked"),
19
+ columnStacked100: barPreset("col", "percentStacked"),
20
+ columnPercentStacked: barPreset("col", "percentStacked"),
21
+ colClustered: barPreset("col", "clustered"),
22
+ colStacked: barPreset("col", "stacked"),
23
+ colPercentStacked: barPreset("col", "percentStacked"),
24
+ colStacked100: barPreset("col", "percentStacked"),
25
+ barClustered: barPreset("bar", "clustered"),
26
+ barStacked: barPreset("bar", "stacked"),
27
+ barPercentStacked: barPreset("bar", "percentStacked"),
28
+ barStacked100: barPreset("bar", "percentStacked"),
29
+ pieOfPie: { options: { type: "ofPie", ofPieType: "pie" } },
30
+ barOfPie: { options: { type: "ofPie", ofPieType: "bar" } },
31
+ column3DClustered: bar3DPreset("col", "clustered"),
32
+ column3DStacked: bar3DPreset("col", "stacked"),
33
+ column3DStacked100: bar3DPreset("col", "percentStacked"),
34
+ col3DClustered: bar3DPreset("col", "clustered"),
35
+ col3DStacked: bar3DPreset("col", "stacked"),
36
+ col3DStacked100: bar3DPreset("col", "percentStacked"),
37
+ bar3DClustered: bar3DPreset("bar", "clustered"),
38
+ bar3DStacked: bar3DPreset("bar", "stacked"),
39
+ bar3DStacked100: bar3DPreset("bar", "percentStacked"),
40
+ col3DConeClustered: bar3DPreset("col", "clustered", "cone"),
41
+ col3DConeStacked: bar3DPreset("col", "stacked", "cone"),
42
+ col3DConeStacked100: bar3DPreset("col", "percentStacked", "cone"),
43
+ coneColClustered: bar3DPreset("col", "clustered", "cone"),
44
+ coneColStacked: bar3DPreset("col", "stacked", "cone"),
45
+ coneColStacked100: bar3DPreset("col", "percentStacked", "cone"),
46
+ bar3DConeClustered: bar3DPreset("bar", "clustered", "cone"),
47
+ bar3DConeStacked: bar3DPreset("bar", "stacked", "cone"),
48
+ bar3DConeStacked100: bar3DPreset("bar", "percentStacked", "cone"),
49
+ coneBarClustered: bar3DPreset("bar", "clustered", "cone"),
50
+ coneBarStacked: bar3DPreset("bar", "stacked", "cone"),
51
+ coneBarStacked100: bar3DPreset("bar", "percentStacked", "cone"),
52
+ col3DCylinderClustered: bar3DPreset("col", "clustered", "cylinder"),
53
+ col3DCylinderStacked: bar3DPreset("col", "stacked", "cylinder"),
54
+ col3DCylinderStacked100: bar3DPreset("col", "percentStacked", "cylinder"),
55
+ cylinderColClustered: bar3DPreset("col", "clustered", "cylinder"),
56
+ cylinderColStacked: bar3DPreset("col", "stacked", "cylinder"),
57
+ cylinderColStacked100: bar3DPreset("col", "percentStacked", "cylinder"),
58
+ bar3DCylinderClustered: bar3DPreset("bar", "clustered", "cylinder"),
59
+ bar3DCylinderStacked: bar3DPreset("bar", "stacked", "cylinder"),
60
+ bar3DCylinderStacked100: bar3DPreset("bar", "percentStacked", "cylinder"),
61
+ cylinderBarClustered: bar3DPreset("bar", "clustered", "cylinder"),
62
+ cylinderBarStacked: bar3DPreset("bar", "stacked", "cylinder"),
63
+ cylinderBarStacked100: bar3DPreset("bar", "percentStacked", "cylinder"),
64
+ col3DPyramidClustered: bar3DPreset("col", "clustered", "pyramid"),
65
+ col3DPyramidStacked: bar3DPreset("col", "stacked", "pyramid"),
66
+ col3DPyramidStacked100: bar3DPreset("col", "percentStacked", "pyramid"),
67
+ pyramidColClustered: bar3DPreset("col", "clustered", "pyramid"),
68
+ pyramidColStacked: bar3DPreset("col", "stacked", "pyramid"),
69
+ pyramidColStacked100: bar3DPreset("col", "percentStacked", "pyramid"),
70
+ bar3DPyramidClustered: bar3DPreset("bar", "clustered", "pyramid"),
71
+ bar3DPyramidStacked: bar3DPreset("bar", "stacked", "pyramid"),
72
+ bar3DPyramidStacked100: bar3DPreset("bar", "percentStacked", "pyramid"),
73
+ pyramidBarClustered: bar3DPreset("bar", "clustered", "pyramid"),
74
+ pyramidBarStacked: bar3DPreset("bar", "stacked", "pyramid"),
75
+ pyramidBarStacked100: bar3DPreset("bar", "percentStacked", "pyramid"),
76
+ line: { options: { type: "line" } },
77
+ lineMarkers: { options: { type: "line", showMarker: true } },
78
+ lineStacked: { options: { type: "line", grouping: "stacked" } },
79
+ lineStacked100: { options: { type: "line", grouping: "percentStacked" } },
80
+ pie: { options: { type: "pie" } },
81
+ pieExploded: { options: { type: "pie" }, seriesDefaults: { explosion: 25 } },
82
+ pie3D: { options: { type: "pie3D" } },
83
+ pieExploded3D: { options: { type: "pie3D" }, seriesDefaults: { explosion: 25 } },
84
+ doughnut: { options: { type: "doughnut" } },
85
+ doughnutExploded: {
86
+ options: { type: "doughnut", holeSize: 50 },
87
+ seriesDefaults: { explosion: 25 }
88
+ },
89
+ area: { options: { type: "area" } },
90
+ areaStacked: { options: { type: "area", grouping: "stacked" } },
91
+ areaStacked100: { options: { type: "area", grouping: "percentStacked" } },
92
+ area3D: { options: { type: "area3D" } },
93
+ area3DStacked: { options: { type: "area3D", grouping: "stacked" } },
94
+ area3DStacked100: { options: { type: "area3D", grouping: "percentStacked" } },
95
+ scatter: { options: { type: "scatter", scatterStyle: "marker" } },
96
+ scatterMarker: { options: { type: "scatter", scatterStyle: "marker" } },
97
+ scatterStraight: { options: { type: "scatter", scatterStyle: "lineMarker" } },
98
+ scatterLines: { options: { type: "scatter", scatterStyle: "lineMarker" } },
99
+ scatterLinesNoMarkers: { options: { type: "scatter", scatterStyle: "line" } },
100
+ scatterSmooth: { options: { type: "scatter", scatterStyle: "smoothMarker" } },
101
+ scatterSmoothMarker: { options: { type: "scatter", scatterStyle: "smoothMarker" } },
102
+ scatterSmoothNoMarkers: { options: { type: "scatter", scatterStyle: "smooth" } },
103
+ bubble: { options: { type: "bubble" } },
104
+ bubble3D: { options: { type: "bubble" }, seriesDefaults: { bubble3D: true } },
105
+ radar: { options: { type: "radar", radarStyle: "standard" } },
106
+ radarMarkers: { options: { type: "radar", radarStyle: "marker" } },
107
+ radarFilled: { options: { type: "radar", radarStyle: "filled" } },
108
+ stockHLC: { options: { type: "stock", hiLowLines: true } },
109
+ stockOHLC: { options: { type: "stock", upDownBars: true, hiLowLines: true } },
110
+ // `stockVHLC` / `stockVOHLC` (Volume-HLC / Volume-OHLC) used to be
111
+ // accepted here, but they require a combo chart (a column chart for
112
+ // volume layered on top of an HLC / OHLC stock chart) that a
113
+ // single `AddChartOptions` cannot express. Quietly aliasing them to
114
+ // the non-volume variants produced a chart that looked wrong
115
+ // without telling the caller. Build the combo manually via
116
+ // `buildComboChartModel({ groups: [{ type: "bar", barDir: "col", ... },
117
+ // { type: "stock", hiLowLines: true, useSecondaryAxis: true, ... }] })`
118
+ // when you need the volume overlay.
119
+ surface: { options: { type: "surface" } },
120
+ surface3D: { options: { type: "surface3D" } },
121
+ // "Top View" in Excel's surface submenu is just a `surface3D` chart
122
+ // rotated to look straight down — same chart type, same series
123
+ // layout, different `view3D` angles. Setting `rotX: 90` spins the
124
+ // camera down onto the XY plane; `rotY: 0` removes the side tilt
125
+ // so the grid reads as a flat mosaic instead of an oblique slab.
126
+ // The resulting chart opens in Excel with the correct camera, and
127
+ // our own renderer projects it via `resolveBar3DProjection` /
128
+ // surface cells without any preset-specific branching.
129
+ surfaceTopView: { options: { type: "surface3D", view3D: { rotX: 90, rotY: 0 } } },
130
+ // A flat 2-D surface (no `view3D`) IS Excel's "Contour" chart.
131
+ // Keeping the preset as `surface` matches Excel's own internal
132
+ // representation — `c:surfaceChart` without `c:view3D` is how
133
+ // Excel serialises a contour chart authored from the UI.
134
+ contour: { options: { type: "surface" } },
135
+ wireframeSurface: { options: { type: "surface3D", wireframe: true } },
136
+ surface3DWireframe: { options: { type: "surface3D", wireframe: true } },
137
+ surfaceWireframe: { options: { type: "surface3D", wireframe: true } },
138
+ wireframeContour: { options: { type: "surface", wireframe: true } },
139
+ topViewWireframe: {
140
+ options: { type: "surface3D", wireframe: true, view3D: { rotX: 90, rotY: 0 } }
141
+ }
142
+ };
143
+ exports.EXCEL_CHART_PRESETS = Object.keys(exports.CHART_PRESETS);
144
+ exports.CHART_EX_PRESETS = {
145
+ histogram: { options: { type: "histogram" } },
146
+ pareto: { options: { type: "pareto" } },
147
+ waterfall: { options: { type: "waterfall" } },
148
+ funnel: { options: { type: "funnel" } },
149
+ treemap: { options: { type: "treemap" } },
150
+ sunburst: { options: { type: "sunburst" } },
151
+ boxWhisker: { options: { type: "boxWhisker" } },
152
+ boxAndWhisker: { options: { type: "boxWhisker" } },
153
+ regionMap: { options: { type: "regionMap" } },
154
+ map: { options: { type: "regionMap" } }
155
+ };
156
+ exports.EXCEL_CHART_EX_PRESETS = Object.keys(exports.CHART_EX_PRESETS);
157
+ function applyChartPreset(preset, options) {
158
+ const config = exports.CHART_PRESETS[preset];
159
+ if (!config) {
160
+ throw new errors_1.ChartOptionsError(`Unknown chart preset: ${preset}.`);
161
+ }
162
+ // `type` is required on `PresetConfig.options`, so this assignment is
163
+ // type-safe without a non-null assertion.
164
+ const merged = {
165
+ ...config.options,
166
+ ...options,
167
+ type: options.type ?? config.options.type
168
+ };
169
+ if (config.seriesDefaults && merged.series) {
170
+ merged.series = merged.series.map(series => ({ ...config.seriesDefaults, ...series }));
171
+ }
172
+ return merged;
173
+ }
174
+ function applyChartExPreset(preset, options) {
175
+ const config = exports.CHART_EX_PRESETS[preset];
176
+ if (!config) {
177
+ throw new errors_1.ChartOptionsError(`Unknown chartEx preset: ${preset}.`);
178
+ }
179
+ return {
180
+ ...config.options,
181
+ ...options,
182
+ type: options.type ?? config.options.type
183
+ };
184
+ }