@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,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,364 @@
1
+ import { ChartOptionsError } from "../errors.js";
2
+ import { quoteSheetName } from "../utils/address.js";
3
+ import { colCache } from "../utils/col-cache.js";
4
+ export function seriesFromColumns(sheetName, options) {
5
+ return {
6
+ name: options.name,
7
+ categories: options.categories ? qualifyRange(sheetName, options.categories) : undefined,
8
+ values: qualifyRange(sheetName, options.values)
9
+ };
10
+ }
11
+ function resolveTableLayout(worksheet, table, options) {
12
+ const resolved = typeof table === "string" ? worksheet.getTable(table) : table;
13
+ if (!resolved) {
14
+ throw new ChartOptionsError(`Table not found: ${String(table)}.`);
15
+ }
16
+ const model = resolved.model;
17
+ const tableRef = colCache.decode(model.tableRef ?? model.ref);
18
+ if (!("top" in tableRef)) {
19
+ throw new ChartOptionsError(`Invalid table range: ${model.ref}.`);
20
+ }
21
+ if (tableRef.bottom < tableRef.top) {
22
+ throw new ChartOptionsError(`Invalid table range: ${model.ref}.`);
23
+ }
24
+ const headerRow = model.headerRow !== false;
25
+ const dataStartRow = tableRef.top + (headerRow ? 1 : 0);
26
+ const dataEndRow = tableRef.bottom - (model.totalsRow ? 1 : 0);
27
+ if (dataEndRow < dataStartRow) {
28
+ throw new ChartOptionsError(`Table has no data rows: ${model.name}.`);
29
+ }
30
+ const columnNames = model.columns.map(c => c.name);
31
+ const categoryIndex = resolveTableColumn(columnNames, options.categoryColumn ?? 0);
32
+ const explicitValueCols = options.valueColumns;
33
+ const valueColumns = explicitValueCols && explicitValueCols.length > 0
34
+ ? explicitValueCols.map(col => resolveTableColumn(columnNames, col))
35
+ : model.columns.map((_, i) => i).filter(i => i !== categoryIndex);
36
+ if (valueColumns.length === 0) {
37
+ throw new ChartOptionsError(`Table has no value columns: ${model.name}.`);
38
+ }
39
+ return {
40
+ dataStartRow,
41
+ dataEndRow,
42
+ tableLeft: tableRef.left,
43
+ tableName: model.name,
44
+ columnNames,
45
+ categoryIndex,
46
+ valueColumns,
47
+ sheetName: worksheet.name,
48
+ structured: options.structuredReferences !== false
49
+ };
50
+ }
51
+ function buildColumnReference(layout, columnIndex) {
52
+ if (layout.structured) {
53
+ const name = layout.columnNames[columnIndex];
54
+ if (name === undefined) {
55
+ throw new ChartOptionsError(`Table column at index ${columnIndex} has no name; cannot emit a structured reference.`);
56
+ }
57
+ return tableColumnReference(layout.tableName, name);
58
+ }
59
+ return absoluteRange(layout.sheetName, layout.dataStartRow, layout.tableLeft + columnIndex, layout.dataEndRow, layout.tableLeft + columnIndex);
60
+ }
61
+ export function chartOptionsFromTable(worksheet, table, options) {
62
+ const layout = resolveTableLayout(worksheet, table, options);
63
+ const categoryReference = buildColumnReference(layout, layout.categoryIndex);
64
+ const series = layout.valueColumns.map(index => ({
65
+ name: layout.columnNames[index],
66
+ categories: categoryReference,
67
+ values: buildColumnReference(layout, index)
68
+ }));
69
+ return { ...stripTableHelperOptions(options), series };
70
+ }
71
+ export function chartOptionsFromRows(worksheet, rows, options) {
72
+ if (rows.length === 0) {
73
+ throw new ChartOptionsError("chartOptionsFromRows requires at least one row.");
74
+ }
75
+ const staged = stageRowsIntoWorksheet(worksheet, rows, options);
76
+ const sheetName = worksheet.name;
77
+ const series = staged.yKeys.map((key, i) => ({
78
+ name: key,
79
+ categories: absoluteRange(sheetName, staged.dataStartRow, staged.startCol, staged.dataEndRow, staged.startCol),
80
+ values: absoluteRange(sheetName, staged.dataStartRow, staged.startCol + i + 1, staged.dataEndRow, staged.startCol + i + 1)
81
+ }));
82
+ return { ...stripRowsHelperOptions(options), series };
83
+ }
84
+ /**
85
+ * Table column helper — validates a column descriptor against a table's
86
+ * header list. Strings match case-insensitively; numbers are zero-based
87
+ * indexes. Missing column names are treated as unmatchable (not a
88
+ * TypeError) so a table with a blank header column is diagnosable.
89
+ */
90
+ function tableColumnReference(tableName, columnName) {
91
+ return `${escapeStructuredReferenceName(tableName)}[${escapeStructuredReferenceColumn(columnName)}]`;
92
+ }
93
+ /**
94
+ * Quote a table name for use in a structured reference. Excel table names
95
+ * are validated when they are created — they cannot contain whitespace,
96
+ * `[`, `]`, `#`, `'`, `@`, or start with a digit — so the legal-name set
97
+ * is very restricted. Any name that fails validation throws instead of
98
+ * silently round-tripping invalid XML.
99
+ *
100
+ * Allows Unicode characters in the Basic Multilingual Plane (BMP)
101
+ * above `\u00A0` — matches `cache-populator.ts` which accepts CJK
102
+ * table names from Chinese / Japanese / Korean workbooks. The prior
103
+ * ASCII-only regex threw on `"销售表"` or `"商品マスター"` even though
104
+ * Excel itself permits them.
105
+ */
106
+ function escapeStructuredReferenceName(name) {
107
+ // Canonical structure check — identifier must start with a letter /
108
+ // underscore, then letters / digits / underscore / dot / non-ASCII.
109
+ if (!/^[A-Za-z_\u00A0-\uFFFF][A-Za-z0-9_.\u00A0-\uFFFF]*$/.test(name)) {
110
+ throw new ChartOptionsError(`Invalid Excel table name for structured reference: ${JSON.stringify(name)}.`);
111
+ }
112
+ // Reject Unicode whitespace, line / paragraph separators, zero-width
113
+ // characters and the BOM. The structural regex above admits them via
114
+ // the `\u00A0-\uFFFF` range, but Excel rejects them in real table
115
+ // names — without this guard a name like `"Tab\u2028le"` would pass
116
+ // our validation but break the formula parser downstream.
117
+ if (/[\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u3000\uFEFF]/.test(name)) {
118
+ throw new ChartOptionsError(`Excel table name contains whitespace / separator / zero-width character: ${JSON.stringify(name)}.`);
119
+ }
120
+ return name;
121
+ }
122
+ /**
123
+ * Escape the special characters (`[ ] # ' @`) in a structured-reference
124
+ * column specifier by prefixing each with a single apostrophe, per
125
+ * §18.17.2.4 of the Excel formula grammar.
126
+ */
127
+ function escapeStructuredReferenceColumn(name) {
128
+ return name.replace(/([[\]#'@])/g, "'$1");
129
+ }
130
+ function resolveTableColumn(names, column) {
131
+ if (typeof column === "number") {
132
+ if (column < 0 || column >= names.length) {
133
+ throw new ChartOptionsError(`Table column index out of range: ${column}.`);
134
+ }
135
+ return column;
136
+ }
137
+ const target = column.toLowerCase();
138
+ const idx = names.findIndex(name => name !== undefined && name.toLowerCase() === target);
139
+ if (idx < 0) {
140
+ throw new ChartOptionsError(`Table column not found: ${column}.`);
141
+ }
142
+ return idx;
143
+ }
144
+ function qualifyRange(sheetName, range) {
145
+ // Always produce an absolute A1 range. Chart formulas are expected
146
+ // to remain stable across insertions/deletions, so relative refs
147
+ // would silently shift rows/columns on the first edit.
148
+ //
149
+ // Split on the first `!` so pre-qualified refs (`"Sheet1!A1:B2"`)
150
+ // still get their range part normalised to `$A$1:$B$2`. The old
151
+ // early-return kept the caller's relative form verbatim, producing
152
+ // divergent output depending on whether the input was sheet-
153
+ // qualified or not.
154
+ //
155
+ // Normalise the caller-supplied sheet prefix through `quoteSheetName`
156
+ // so `"My Sheet!A1"` and `"'My Sheet'!A1"` both emit the same
157
+ // single-quoted form, matching what the unqualified branch produces
158
+ // via `quoteSheetName(sheetName)`. `quoteSheetName` is idempotent
159
+ // for safely-named sheets, so pre-quoted input stays pre-quoted.
160
+ const bang = range.indexOf("!");
161
+ if (bang >= 0) {
162
+ const rawSheet = range.slice(0, bang);
163
+ const ref = range.slice(bang + 1);
164
+ // Strip one optional layer of single quotes + collapse escaped `''`
165
+ // back to a literal single quote so we can re-quote through the
166
+ // canonical helper. `'` is the only character OOXML escapes in
167
+ // sheet names.
168
+ const unquoted = rawSheet.length >= 2 && rawSheet.startsWith("'") && rawSheet.endsWith("'")
169
+ ? rawSheet.slice(1, -1).replace(/''/g, "'")
170
+ : rawSheet;
171
+ // A reference that isn't a plain A1 cell/range — a structured
172
+ // reference (`Table1[Sales]`) or a defined-name reference
173
+ // (`MyData`) — must pass through unchanged. `colCache.decode`
174
+ // doesn't throw on these inputs but silently returns garbage
175
+ // (e.g. `Table1[Sales]` decodes as if it were a cell address "T1"),
176
+ // which `absoluteA1Range` then emits as `$T$1`, silently corrupting
177
+ // the formula. Detect non-A1 shapes and keep them verbatim.
178
+ if (isA1RangeOrCell(ref)) {
179
+ return `${quoteSheetName(unquoted)}!${absoluteA1Range(ref)}`;
180
+ }
181
+ // Pass through structured/named refs verbatim — the sheet prefix is
182
+ // still legal (e.g. `Sheet1!Table1[Sales]` is accepted by Excel).
183
+ return `${quoteSheetName(unquoted)}!${ref}`;
184
+ }
185
+ if (!isA1RangeOrCell(range)) {
186
+ // Bare structured / named refs resolve against the workbook as a
187
+ // whole; they don't take a sheet prefix.
188
+ return range;
189
+ }
190
+ return `${quoteSheetName(sheetName)}!${absoluteA1Range(range)}`;
191
+ }
192
+ /**
193
+ * Whether a reference string is a classic A1 cell or range (optionally
194
+ * with `$` absolute markers). Returns false for structured references
195
+ * like `Table1[Sales]`, defined-name references like `MyRange`, and
196
+ * other non-A1 shapes so callers can route them away from
197
+ * `colCache.decode` (which silently produces garbage on bad input).
198
+ *
199
+ * Also rejects column letters beyond Excel's maximum column XFD (16384)
200
+ * so downstream `colCache.decode` / `n2l` calls don't throw cryptic
201
+ * out-of-bounds errors.
202
+ */
203
+ function isA1RangeOrCell(ref) {
204
+ // Cell: optional $, letters, optional $, digits. Range: two of those
205
+ // joined by `:`. Full-column (`A:A`) and full-row (`1:1`) references
206
+ // are also A1-shaped and accepted.
207
+ if (!/^\$?[A-Za-z]{1,3}\$?\d+(:\$?[A-Za-z]{1,3}\$?\d+)?$|^\$?[A-Za-z]{1,3}:\$?[A-Za-z]{1,3}$|^\$?\d+:\$?\d+$/.test(ref)) {
208
+ return false;
209
+ }
210
+ // Validate column letters are within Excel's XFD (16384) limit.
211
+ const colParts = ref.replace(/\$/g, "").match(/[A-Za-z]+/g);
212
+ if (colParts) {
213
+ for (const col of colParts) {
214
+ const n = colCache.l2n(col.toUpperCase());
215
+ if (!n || n > 16384) {
216
+ return false;
217
+ }
218
+ }
219
+ }
220
+ return true;
221
+ }
222
+ function absoluteRange(sheetName, top, left, bottom, right) {
223
+ return `${quoteSheetName(sheetName)}!$${colCache.n2l(left)}$${top}:$${colCache.n2l(right)}$${bottom}`;
224
+ }
225
+ function absoluteA1Range(range) {
226
+ // Normalize to uppercase before decoding — `colCache.decodeAddress`
227
+ // only parses A-Z column letters; lowercase input (e.g. "b1:b2")
228
+ // would produce garbage or throw without this.
229
+ const decoded = colCache.decode(range.toUpperCase());
230
+ if ("top" in decoded) {
231
+ return `$${colCache.n2l(decoded.left)}$${decoded.top}:$${colCache.n2l(decoded.right)}$${decoded.bottom}`;
232
+ }
233
+ return `$${colCache.n2l(decoded.col)}$${decoded.row}`;
234
+ }
235
+ /**
236
+ * Write a rows-style dataset into the target worksheet and return the
237
+ * resolved data extents. Shared by `chartOptionsFromRows` /
238
+ * `chartExOptionsFromRows` so the two paths agree on cell coercion,
239
+ * sheet-name validation, and header handling.
240
+ */
241
+ function stageRowsIntoWorksheet(worksheet, rows, options) {
242
+ if (options.sheetName !== undefined && !sheetNamesEqual(options.sheetName, worksheet.name)) {
243
+ throw new ChartOptionsError(`sheetName must match the target worksheet: got ${JSON.stringify(options.sheetName)}, expected ${JSON.stringify(worksheet.name)}.`);
244
+ }
245
+ const start = colCache.decodeAddress(options.startCell ?? "A1");
246
+ const includeHeaders = options.includeHeaders !== false;
247
+ const yKeys = Array.isArray(options.y) ? options.y : [options.y];
248
+ // Reject `y` lists that include the `x` key — without this check the
249
+ // header row gets two copies of the same column name and the series
250
+ // references `x` twice, producing a chart where the author sees the
251
+ // same column as both the category and value axis without any
252
+ // diagnostic.
253
+ if (yKeys.some(k => k === options.x)) {
254
+ throw new ChartOptionsError(`chart y columns must not include the x key: x=${JSON.stringify(options.x)} appears in y=${JSON.stringify(yKeys)}.`);
255
+ }
256
+ const keys = [options.x, ...yKeys];
257
+ const startRow = start.row;
258
+ const startCol = start.col;
259
+ if (includeHeaders) {
260
+ keys.forEach((key, i) => {
261
+ worksheet.getCell(startRow, startCol + i).value = key;
262
+ });
263
+ }
264
+ const dataRowOffset = includeHeaders ? 1 : 0;
265
+ rows.forEach((row, r) => {
266
+ keys.forEach((key, c) => {
267
+ worksheet.getCell(startRow + dataRowOffset + r, startCol + c).value = coerceCellValue(row[key], key);
268
+ });
269
+ });
270
+ const dataStartRow = startRow + dataRowOffset;
271
+ return {
272
+ yKeys,
273
+ startCol,
274
+ dataStartRow,
275
+ dataEndRow: dataStartRow + rows.length - 1
276
+ };
277
+ }
278
+ /**
279
+ * Narrow a value produced by indexing into a user-supplied row object to
280
+ * one of the types `Worksheet.getCell().value` accepts. Unsupported shapes
281
+ * (plain objects that aren't Date, Symbols, functions) throw with a
282
+ * clear message rather than silently flowing into the worksheet as an
283
+ * `as never` cast and surfacing elsewhere as a confusing writer error.
284
+ */
285
+ function coerceCellValue(value, key) {
286
+ if (value === undefined || value === null) {
287
+ return null;
288
+ }
289
+ if (typeof value === "string" ||
290
+ typeof value === "number" ||
291
+ typeof value === "boolean" ||
292
+ value instanceof Date) {
293
+ return value;
294
+ }
295
+ throw new ChartOptionsError(`Unsupported row value for column ${JSON.stringify(key)}: ${typeof value}. ` +
296
+ `Expected string | number | boolean | Date | null | undefined.`);
297
+ }
298
+ function sheetNamesEqual(a, b) {
299
+ // Excel sheet names are case-insensitive.
300
+ return a.toLowerCase() === b.toLowerCase();
301
+ }
302
+ /**
303
+ * Strip the helper-only table options before spreading the remainder onto
304
+ * an `AddChart(Ex)Options`. Previously the classic and ChartEx helpers
305
+ * each had their own byte-for-byte duplicate of this function; the
306
+ * structural constraint is all that matters at runtime, so we unify them
307
+ * on a single generic.
308
+ */
309
+ function stripTableHelperOptions(options) {
310
+ const { categoryColumn, valueColumns, structuredReferences, ...rest } = options;
311
+ void categoryColumn;
312
+ void valueColumns;
313
+ void structuredReferences;
314
+ return rest;
315
+ }
316
+ /**
317
+ * Strip the helper-only rows options. Shared between the classic and
318
+ * ChartEx rows helpers (see {@link stripTableHelperOptions}).
319
+ */
320
+ function stripRowsHelperOptions(options) {
321
+ const { x, y, sheetName, startCell, includeHeaders, ...rest } = options;
322
+ void x;
323
+ void y;
324
+ void sheetName;
325
+ void startCell;
326
+ void includeHeaders;
327
+ return rest;
328
+ }
329
+ /**
330
+ * Build an {@link AddChartExOptions} bundle by pointing at a worksheet Table.
331
+ *
332
+ * Mirrors {@link chartOptionsFromTable} for classic charts. The builder
333
+ * resolves the table's data range and populates `categories` + one
334
+ * series per value column. `regionMap` is intentionally unsupported
335
+ * because its data model expects geographic labels that don't fit a
336
+ * flat-column helper — use {@link buildChartExModel} directly.
337
+ */
338
+ export function chartExOptionsFromTable(worksheet, table, options) {
339
+ const layout = resolveTableLayout(worksheet, table, options);
340
+ const categories = buildColumnReference(layout, layout.categoryIndex);
341
+ const series = layout.valueColumns.map(index => ({
342
+ name: layout.columnNames[index],
343
+ values: buildColumnReference(layout, index)
344
+ }));
345
+ return { ...stripTableHelperOptions(options), categories, series };
346
+ }
347
+ /**
348
+ * Build an {@link AddChartExOptions} bundle from a plain object-array
349
+ * dataset, staging the rows into the worksheet before emitting ranges.
350
+ * Mirrors {@link chartOptionsFromRows} for classic charts.
351
+ */
352
+ export function chartExOptionsFromRows(worksheet, rows, options) {
353
+ if (rows.length === 0) {
354
+ throw new ChartOptionsError("chartExOptionsFromRows requires at least one row.");
355
+ }
356
+ const staged = stageRowsIntoWorksheet(worksheet, rows, options);
357
+ const sheetName = worksheet.name;
358
+ const categories = absoluteRange(sheetName, staged.dataStartRow, staged.startCol, staged.dataEndRow, staged.startCol);
359
+ const series = staged.yKeys.map((key, i) => ({
360
+ name: key,
361
+ values: absoluteRange(sheetName, staged.dataStartRow, staged.startCol + i + 1, staged.dataEndRow, staged.startCol + i + 1)
362
+ }));
363
+ return { ...stripRowsHelperOptions(options), categories, series };
364
+ }
@@ -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;