@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
@@ -218,6 +218,7 @@ class DefinedNames {
218
218
  this.matrixMap = {};
219
219
  this.formulaMap = {};
220
220
  this.localSheetIdMap = {};
221
+ this.hiddenMap = {};
221
222
  this.opaqueMap = {};
222
223
  this.nameForKey = {};
223
224
  this._explicitProbe = probe ?? null;
@@ -239,6 +240,29 @@ class DefinedNames {
239
240
  this.nameForKey[name] = name;
240
241
  this.addEx(location, name);
241
242
  }
243
+ /**
244
+ * Register a hidden defined name that maps a chartEx `_xlchart.vN.M`
245
+ * pointer to a worksheet range. Excel emits one of these for every
246
+ * data reference in a chartEx chart:
247
+ *
248
+ * <definedName name="_xlchart.v1.0" hidden="1">Sheet1!$A$1:$A$3</definedName>
249
+ *
250
+ * The chartEx then references `_xlchart.v1.0` from its `<cx:f>`
251
+ * element instead of the worksheet range directly. Direct sheet
252
+ * references in `<cx:f>` are rejected by Excel 2016+ with
253
+ * "Removed Part: /xl/drawings/drawingN.xml (Drawing shape)" on
254
+ * load, so chartEx data MUST go through this indirection.
255
+ *
256
+ * Same semantics as `add()` but also marks the name `hidden` so
257
+ * it does not show up in Excel's Name Manager UI.
258
+ *
259
+ * @param locStr - Worksheet reference (e.g. `"Sheet1!$A$1:$A$3"`)
260
+ * @param name - Defined name to register (e.g. `"_xlchart.v1.0"`)
261
+ */
262
+ addHidden(locStr, name) {
263
+ this.add(locStr, name);
264
+ this.hiddenMap[name] = true;
265
+ }
242
266
  addEx(location, name) {
243
267
  const matrix = this.getMatrix(name);
244
268
  if ("top" in location) {
@@ -516,10 +540,15 @@ class DefinedNames {
516
540
  .map(([sKey, matrix]) => {
517
541
  const result = this.getRanges(sKey, matrix);
518
542
  const localSheetId = this.localSheetIdMap[sKey];
543
+ const hidden = this.hiddenMap[sKey];
544
+ const out = { ...result };
519
545
  if (localSheetId !== undefined) {
520
- return { ...result, localSheetId };
546
+ out.localSheetId = localSheetId;
521
547
  }
522
- return result;
548
+ if (hidden) {
549
+ out.hidden = true;
550
+ }
551
+ return out;
523
552
  })
524
553
  .filter((definedName) => definedName.ranges.length);
525
554
  // Formula-based names from formulaMap (only include names not already in matrixMap)
@@ -534,20 +563,27 @@ class DefinedNames {
534
563
  };
535
564
  const localSheetId = this.localSheetIdMap[sKey];
536
565
  if (localSheetId !== undefined) {
537
- return { ...result, localSheetId };
566
+ result.localSheetId = localSheetId;
567
+ }
568
+ if (this.hiddenMap[sKey]) {
569
+ result.hidden = true;
538
570
  }
539
571
  return result;
540
572
  });
541
573
  // Opaque names — rawText preserved for round-trip
542
574
  const opaqueNames = Object.entries(this.opaqueMap).map(([sKey, entry]) => {
543
575
  const bareName = this.nameForKey[sKey] ?? sKey;
544
- return {
576
+ const out = {
545
577
  name: bareName,
546
578
  ranges: [],
547
579
  rawText: entry.rawText,
548
580
  localSheetId: entry.localSheetId,
549
581
  kind: "opaque"
550
582
  };
583
+ if (this.hiddenMap[sKey]) {
584
+ out.hidden = true;
585
+ }
586
+ return out;
551
587
  });
552
588
  return [...cellNames, ...formulaNames, ...opaqueNames];
553
589
  }
@@ -563,6 +599,7 @@ class DefinedNames {
563
599
  const matrixMap = (this.matrixMap = {});
564
600
  const formulaMap = (this.formulaMap = {});
565
601
  const localSheetIdMap = (this.localSheetIdMap = {});
602
+ const hiddenMap = (this.hiddenMap = {});
566
603
  const opaqueMap = (this.opaqueMap = {});
567
604
  const nameForKeyMap = (this.nameForKey = {});
568
605
  // Resolve probe lazily: a caller may have constructed the Workbook
@@ -577,6 +614,9 @@ class DefinedNames {
577
614
  if (definedName.localSheetId !== undefined) {
578
615
  localSheetIdMap[sKey] = definedName.localSheetId;
579
616
  }
617
+ if (definedName.hidden) {
618
+ hiddenMap[sKey] = true;
619
+ }
580
620
  // Programmatic API path: formulaExpression already set and no rawText
581
621
  if (definedName.formulaExpression && definedName.rawText === undefined) {
582
622
  formulaMap[sKey] = definedName.formulaExpression;
@@ -110,6 +110,12 @@ export declare class ExcelDownloadError extends ExcelError {
110
110
  export declare class PivotTableError extends ExcelError {
111
111
  name: string;
112
112
  }
113
+ /**
114
+ * Error thrown when chart configuration is invalid.
115
+ */
116
+ export declare class ChartOptionsError extends ExcelError {
117
+ name: string;
118
+ }
113
119
  /**
114
120
  * Error thrown when table configuration or operation is invalid.
115
121
  */
@@ -145,6 +145,15 @@ export class PivotTableError extends ExcelError {
145
145
  this.name = "PivotTableError";
146
146
  }
147
147
  }
148
+ /**
149
+ * Error thrown when chart configuration is invalid.
150
+ */
151
+ export class ChartOptionsError extends ExcelError {
152
+ constructor() {
153
+ super(...arguments);
154
+ this.name = "ChartOptionsError";
155
+ }
156
+ }
148
157
  /**
149
158
  * Error thrown when table configuration or operation is invalid.
150
159
  */
@@ -97,6 +97,12 @@ declare class FormCheckbox {
97
97
  worksheet: Worksheet;
98
98
  model: FormCheckboxModel;
99
99
  constructor(worksheet: Worksheet, range: FormControlRange, options?: FormCheckboxOptions);
100
+ /**
101
+ * Rebuild a FormCheckbox from a previously-serialised model (e.g. round-tripped
102
+ * via `worksheet.model`). The model is adopted as-is; no range parsing or shape
103
+ * id reassignment is performed.
104
+ */
105
+ static fromModel(worksheet: Worksheet, model: FormCheckboxModel): FormCheckbox;
100
106
  /**
101
107
  * Get the checked state
102
108
  */
@@ -51,6 +51,23 @@ class FormCheckbox {
51
51
  print: options?.print ?? false
52
52
  };
53
53
  }
54
+ /**
55
+ * Rebuild a FormCheckbox from a previously-serialised model (e.g. round-tripped
56
+ * via `worksheet.model`). The model is adopted as-is; no range parsing or shape
57
+ * id reassignment is performed.
58
+ */
59
+ static fromModel(worksheet, model) {
60
+ const cb = Object.create(FormCheckbox.prototype);
61
+ cb.worksheet = worksheet;
62
+ // Defensive shallow clone: the caller should not be able to mutate the
63
+ // underlying anchor objects through the original reference.
64
+ cb.model = {
65
+ ...model,
66
+ tl: { ...model.tl },
67
+ br: { ...model.br }
68
+ };
69
+ return cb;
70
+ }
54
71
  /**
55
72
  * Get the checked state
56
73
  */
@@ -92,9 +92,19 @@ class Image {
92
92
  };
93
93
  }
94
94
  else if (range) {
95
+ // Anchor inputs:
96
+ // - string addresses ("A1") are 1-based; the internal Anchor uses
97
+ // 0-based nativeCol/nativeRow, so the top-left address is shifted
98
+ // by -1. The bottom-right address is intentionally NOT shifted —
99
+ // this matches the string-range path (e.g. "A1:B2") where br
100
+ // anchors the cell *past* the address (i.e. its right/bottom edge).
101
+ // - object inputs ({ col, row } / AnchorModel) already use the
102
+ // 0-based convention and are passed through as-is.
103
+ const tlInput = range.tl;
104
+ const brInput = range.br;
95
105
  this.range = {
96
- tl: new Anchor(this.worksheet, range.tl, 0),
97
- br: range.br ? new Anchor(this.worksheet, range.br, 0) : undefined,
106
+ tl: new Anchor(this.worksheet, tlInput, typeof tlInput === "string" ? -1 : 0),
107
+ br: brInput ? new Anchor(this.worksheet, brInput, 0) : undefined,
98
108
  ext: range.ext,
99
109
  editAs: range.editAs,
100
110
  hyperlinks: hyperlinks || ("hyperlinks" in range ? range.hyperlinks : undefined)
@@ -0,0 +1,7 @@
1
+ import type { AddChartOptions, AddComboChartOptions, PivotChartOptions as PivotChartMetadataOptions, PivotChartSource } from "./chart/types.js";
2
+ import type { PivotTable } from "./pivot-table.js";
3
+ type PivotChartCreationOptions = AddChartOptions | AddComboChartOptions;
4
+ export declare function withPivotChartSource<T extends PivotChartCreationOptions>(pivotTable: PivotTable, options: T, fmtId?: number, pivotChartOptions?: PivotChartMetadataOptions): T & {
5
+ pivotSource: PivotChartSource;
6
+ };
7
+ export {};
@@ -0,0 +1,53 @@
1
+ import { quoteSheetName } from "./utils/address.js";
2
+ const DEFAULT_PIVOT_CHART_PIVOT_AREA_XML = '<pivotArea type="data" outline="0" fieldPosition="0"><references count="1"><reference field="4294967294" count="1" selected="0"><x v="0"/></reference></references></pivotArea>';
3
+ export function withPivotChartSource(pivotTable, options, fmtId, pivotChartOptions) {
4
+ // Auto-assign the next available fmtId when the caller didn't pass
5
+ // one. Before this fix, a second `addPivotChart(pivotTable, …)`
6
+ // against the same pivot would reuse `fmtId=0`, collide with the
7
+ // first chart's `chartFormat` entry (the `exists` guard in
8
+ // `ensurePivotChartFormat` would no-op), and produce two charts
9
+ // pointing at a single pivotArea declaration — Excel renders only
10
+ // one of them correctly.
11
+ const existingFormats = pivotTable.chartFormats ?? [];
12
+ const allocatedFmtId = fmtId ??
13
+ (existingFormats.length === 0 ? 0 : Math.max(...existingFormats.map(f => f.format ?? 0)) + 1);
14
+ const resolvedPivotOpts = pivotChartOptions ?? options.pivotChartOptions;
15
+ ensurePivotChartFormat(pivotTable, allocatedFmtId);
16
+ applyPivotChartOptions(pivotTable, resolvedPivotOpts);
17
+ return {
18
+ ...options,
19
+ pivotSource: {
20
+ name: buildPivotChartSourceName(pivotTable),
21
+ fmtId: allocatedFmtId,
22
+ options: resolvedPivotOpts
23
+ }
24
+ };
25
+ }
26
+ function applyPivotChartOptions(pivotTable, options) {
27
+ if (!options) {
28
+ return;
29
+ }
30
+ pivotTable.pivotChartOptions = options;
31
+ if (options.refreshOnOpen && pivotTable.cacheDefinition) {
32
+ pivotTable.cacheDefinition.refreshOnLoad = "1";
33
+ }
34
+ }
35
+ function ensurePivotChartFormat(pivotTable, fmtId) {
36
+ pivotTable.chartFormat ?? (pivotTable.chartFormat = 1);
37
+ pivotTable.chartFormats ?? (pivotTable.chartFormats = []);
38
+ const exists = pivotTable.chartFormats.some(format => format.chart === 0 && format.format === fmtId);
39
+ if (!exists) {
40
+ pivotTable.chartFormats.push({
41
+ chart: 0,
42
+ format: fmtId,
43
+ series: true,
44
+ pivotAreaXml: DEFAULT_PIVOT_CHART_PIVOT_AREA_XML
45
+ });
46
+ }
47
+ }
48
+ function buildPivotChartSourceName(pivotTable) {
49
+ const tableName = pivotTable.name ?? `PivotTable${pivotTable.tableNumber}`;
50
+ return pivotTable.worksheetName
51
+ ? `${quoteSheetName(pivotTable.worksheetName)}!${tableName}`
52
+ : tableName;
53
+ }
@@ -1,3 +1,4 @@
1
+ import type { PivotChartOptions } from "./chart/types.js";
1
2
  import type { Table } from "./table.js";
2
3
  /**
3
4
  * Interface representing the source data abstraction for pivot tables.
@@ -117,6 +118,28 @@ export interface PivotTableModel {
117
118
  * @default '1'
118
119
  */
119
120
  applyWidthHeightFormats?: "0" | "1";
121
+ /**
122
+ * Top-left cell anchor for the pivot table, e.g. `"A3"` or `"E5"`.
123
+ *
124
+ * Specifies where the pivot's displayed block begins. When page filters are
125
+ * present they occupy rows from the anchor downward, followed by a blank
126
+ * separator row and then the pivot body (header + data). The library sizes
127
+ * the initial placeholder range automatically — when Excel refreshes the
128
+ * pivot cache it expands the pivot from this anchor to its full size.
129
+ *
130
+ * When multiple pivot tables share a worksheet, each must be given a distinct
131
+ * anchor with enough vertical or horizontal room between them so the expanded
132
+ * pivots do not overlap. Excel reports "there's already a PivotTable there"
133
+ * when refreshing two overlapping pivots, so this option is required for
134
+ * dashboards that host several pivots on one sheet.
135
+ *
136
+ * Accepts a single-cell address (`"A3"`). A range reference (`"A3:C5"`) is
137
+ * also tolerated — only the top-left cell is used; the range extent is
138
+ * recomputed from the pivot's field layout.
139
+ *
140
+ * @default `"A3"` (row 3 of column A)
141
+ */
142
+ ref?: string;
120
143
  }
121
144
  /** Allowed element types within CacheField.sharedItems */
122
145
  export type SharedItemValue = string | number | boolean | Date | PivotErrorValue | null;
@@ -193,11 +216,28 @@ export interface DataField {
193
216
  /** Number format ID (preserved on roundtrip for currency/date formatting) */
194
217
  numFmtId?: number;
195
218
  }
219
+ /**
220
+ * A pivot table chart format entry used by pivot charts.
221
+ */
222
+ export interface PivotTableChartFormat {
223
+ /** Chart index within the pivot chart formatting collection. */
224
+ chart: number;
225
+ /** Format ID referenced by c:pivotSource/c:fmtId. */
226
+ format: number;
227
+ /** Whether this format applies to a series. */
228
+ series?: boolean;
229
+ /** Preserved or generated pivotArea XML. */
230
+ pivotAreaXml?: string;
231
+ }
196
232
  /**
197
233
  * Internal pivot table representation used by the library.
198
234
  * This is the processed model after calling makePivotTable().
199
235
  */
200
236
  export interface PivotTable {
237
+ /** Pivot table display name, defaults to `PivotTable${tableNumber}` for new tables. */
238
+ name?: string;
239
+ /** Worksheet containing the pivot table. */
240
+ worksheetName?: string;
201
241
  /** Source data adapter (always present for new pivot tables) */
202
242
  source?: PivotTableSource;
203
243
  /** Field indices for row fields */
@@ -218,6 +258,14 @@ export interface PivotTable {
218
258
  cacheId: string;
219
259
  /** Width/height format setting */
220
260
  applyWidthHeightFormats: "0" | "1";
261
+ /**
262
+ * Top-left cell anchor for the pivot block (e.g. `"A3"`).
263
+ * When present, overrides the default `A{3+pageOffset}` anchor used by the
264
+ * writer. The anchor represents the cell where the pivot's displayed area
265
+ * starts (page filters if any, followed by a blank row, followed by the
266
+ * pivot body).
267
+ */
268
+ ref?: string;
221
269
  /** 1-indexed table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.) */
222
270
  tableNumber: number;
223
271
  /** Workbook relationship ID, assigned during write by addWorkbookRels() */
@@ -230,6 +278,12 @@ export interface PivotTable {
230
278
  cacheDefinition?: ParsedCacheDefinition;
231
279
  /** Cache records for loaded pivot tables */
232
280
  cacheRecords?: ParsedCacheRecords;
281
+ /** Root chartFormat attribute used by pivot charts. */
282
+ chartFormat?: number;
283
+ /** Chart format entries used by pivot charts. */
284
+ chartFormats?: PivotTableChartFormat[];
285
+ /** Structured pivot chart metadata attached by addPivotChart/addPivotChartsheet. */
286
+ pivotChartOptions?: PivotChartOptions;
233
287
  }
234
288
  /**
235
289
  * Parsed cache definition from loaded pivot table files.
@@ -299,5 +353,6 @@ declare function makePivotTable(worksheet: {
299
353
  workbook: {
300
354
  pivotTables: PivotTable[];
301
355
  };
356
+ name: string;
302
357
  }, model: PivotTableModel): PivotTable;
303
358
  export { makePivotTable };
@@ -183,8 +183,14 @@ function makePivotTable(worksheet, model) {
183
183
  const nextCacheId = existingCacheIds.length > 0
184
184
  ? existingCacheIds.reduce((a, b) => (a > b ? a : b), -Infinity) + 1
185
185
  : BASE_CACHE_ID + tableNumber - 1;
186
+ // Normalise the optional user-supplied anchor. A range (e.g. "A3:C5") is
187
+ // reduced to its top-left cell; the pivot's own field layout determines the
188
+ // extent of the placeholder location written to XML.
189
+ const ref = normalisePivotRef(model.ref);
186
190
  // form pivot table object
187
191
  return {
192
+ name: `PivotTable${tableNumber}`,
193
+ worksheetName: worksheet.name,
188
194
  source,
189
195
  rows: rowIndices,
190
196
  columns: columnIndices,
@@ -198,10 +204,39 @@ function makePivotTable(worksheet, model) {
198
204
  // '0' = preserve worksheet column widths (useful for custom sizing)
199
205
  // '1' = apply pivot table style width/height (default Excel behavior)
200
206
  applyWidthHeightFormats: model.applyWidthHeightFormats ?? "1",
207
+ ref,
201
208
  // Table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.)
202
209
  tableNumber
203
210
  };
204
211
  }
212
+ /**
213
+ * Normalise a user-supplied pivot anchor to a canonical top-left cell address
214
+ * (e.g. `"A3"`). Accepts either a single cell or a range; ranges are collapsed
215
+ * to their top-left cell. Returns `undefined` when the input is missing.
216
+ */
217
+ function normalisePivotRef(ref) {
218
+ if (ref === undefined) {
219
+ return undefined;
220
+ }
221
+ if (typeof ref !== "string" || ref.trim() === "") {
222
+ throw new PivotTableError(`Invalid pivot table ref "${String(ref)}". Provide a cell address like "A3".`);
223
+ }
224
+ // Strip an optional sheet prefix ("Sheet1!A3") so users can pass through
225
+ // range strings composed elsewhere without surprises.
226
+ const trimmed = ref.trim().replace(/^[^!]+!/, "");
227
+ const topLeft = trimmed.includes(":") ? trimmed.split(":", 1)[0] : trimmed;
228
+ let decoded;
229
+ try {
230
+ decoded = colCache.decodeAddress(topLeft);
231
+ }
232
+ catch {
233
+ throw new PivotTableError(`Invalid pivot table ref "${ref}". Provide a cell address like "A3".`);
234
+ }
235
+ if (!decoded.col || !decoded.row) {
236
+ throw new PivotTableError(`Invalid pivot table ref "${ref}". Both column and row are required (e.g. "A3").`);
237
+ }
238
+ return `${colCache.n2l(decoded.col)}${decoded.row}`;
239
+ }
205
240
  function validate(model, source) {
206
241
  const columns = model.columns ?? [];
207
242
  const pages = model.pages ?? [];
@@ -170,10 +170,14 @@ class Range {
170
170
  get _serialisedSheetName() {
171
171
  const { sheetName } = this.model;
172
172
  if (sheetName) {
173
+ // Plain ASCII identifiers (and the empty string) need no quoting.
173
174
  if (/^[a-zA-Z0-9]*$/.test(sheetName)) {
174
175
  return `${sheetName}!`;
175
176
  }
176
- return `'${sheetName}'!`;
177
+ // Per OOXML / Excel formula syntax, sheet names containing characters
178
+ // outside the bareword set are wrapped in single quotes, and any
179
+ // embedded apostrophes are doubled (e.g. `O'Brien` -> `'O''Brien'`).
180
+ return `'${sheetName.replace(/'/g, "''")}'!`;
177
181
  }
178
182
  return "";
179
183
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Sparkline module — worksheet mini-charts.
3
+ *
4
+ * Sparklines are rendered as `x14:sparklineGroups` inside the worksheet's
5
+ * extLst. They are distinct from chart objects (which live in chartN.xml).
6
+ */
7
+ export * from "./sparkline.js";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Sparkline module — worksheet mini-charts.
3
+ *
4
+ * Sparklines are rendered as `x14:sparklineGroups` inside the worksheet's
5
+ * extLst. They are distinct from chart objects (which live in chartN.xml).
6
+ */
7
+ export * from "./sparkline.js";
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Sparkline (mini chart) data model and utilities.
3
+ *
4
+ * Sparklines are cell-sized charts stored in the worksheet extLst under
5
+ * `x14:sparklineGroups`. Each group contains:
6
+ * - display options (type, line weight, markers, axis settings, colors)
7
+ * - one or more sparklines, each pairing a data reference with an anchor cell.
8
+ *
9
+ * Reference: ECMA-376 §18.18.92 + Office Open XML extension `x14` namespace.
10
+ */
11
+ /**
12
+ * Top-level sparkline group — matches `x14:sparklineGroup`.
13
+ */
14
+ export interface SparklineGroup {
15
+ /** Chart type: line | column | stacked (win-loss) */
16
+ type?: SparklineType;
17
+ /** Line weight in points (0.25 - 2.25) */
18
+ lineWeight?: number;
19
+ /** Display empty cells as: gap, zero, or span */
20
+ displayEmptyCellsAs?: "gap" | "zero" | "span";
21
+ /** Whether to display markers */
22
+ markers?: boolean;
23
+ /** High point marker */
24
+ high?: boolean;
25
+ /** Low point marker */
26
+ low?: boolean;
27
+ /** First point marker */
28
+ first?: boolean;
29
+ /** Last point marker */
30
+ last?: boolean;
31
+ /** Negative point marker */
32
+ negative?: boolean;
33
+ /** Display X axis */
34
+ displayXAxis?: boolean;
35
+ /** Display hidden cells data */
36
+ displayHidden?: boolean;
37
+ /** Min axis type: individual, group, custom */
38
+ minAxisType?: SparklineAxisType;
39
+ /** Max axis type */
40
+ maxAxisType?: SparklineAxisType;
41
+ /** Manual min (when minAxisType === "custom") */
42
+ manualMin?: number;
43
+ /** Manual max (when maxAxisType === "custom") */
44
+ manualMax?: number;
45
+ /** Right-to-left */
46
+ rightToLeft?: boolean;
47
+ /** Color series */
48
+ colorSeries?: SparklineColor;
49
+ /** Color negative */
50
+ colorNegative?: SparklineColor;
51
+ /** Color axis */
52
+ colorAxis?: SparklineColor;
53
+ /** Color markers */
54
+ colorMarkers?: SparklineColor;
55
+ /** Color first */
56
+ colorFirst?: SparklineColor;
57
+ /** Color last */
58
+ colorLast?: SparklineColor;
59
+ /** Color high */
60
+ colorHigh?: SparklineColor;
61
+ /** Color low */
62
+ colorLow?: SparklineColor;
63
+ /** Date axis source (reference range of dates) */
64
+ dateAxis?: string;
65
+ /** Sparklines in this group */
66
+ sparklines: Sparkline[];
67
+ }
68
+ export type SparklineType = "line" | "column" | "stacked";
69
+ export type SparklineAxisType = "individual" | "group" | "custom";
70
+ /**
71
+ * A single sparkline within a group.
72
+ */
73
+ export interface Sparkline {
74
+ /** Data reference (e.g. "Sheet1!B2:G2") */
75
+ dataRef: string;
76
+ /** Anchor cell reference (e.g. "H2") */
77
+ cellRef: string;
78
+ }
79
+ /**
80
+ * Sparkline color — theme reference or sRGB.
81
+ */
82
+ export interface SparklineColor {
83
+ /** Theme index (0-11) */
84
+ theme?: number;
85
+ /** sRGB hex */
86
+ rgb?: string;
87
+ /** Tint (-1 to 1) */
88
+ tint?: number;
89
+ /** Auto color */
90
+ auto?: boolean;
91
+ }
92
+ /**
93
+ * High-level options for creating a sparkline group.
94
+ */
95
+ export interface AddSparklineGroupOptions {
96
+ /** Chart type */
97
+ type: SparklineType;
98
+ /** List of sparklines (data + anchor) */
99
+ sparklines: Sparkline[];
100
+ /** Line weight in points */
101
+ lineWeight?: number;
102
+ /** Show markers (line type) */
103
+ markers?: boolean;
104
+ /** Show high point */
105
+ high?: boolean;
106
+ /** Show low point */
107
+ low?: boolean;
108
+ /** Show first point */
109
+ first?: boolean;
110
+ /** Show last point */
111
+ last?: boolean;
112
+ /** Show negative points */
113
+ negative?: boolean;
114
+ /** Line color */
115
+ lineColor?: string;
116
+ /** Negative bar color */
117
+ negativeColor?: string;
118
+ /**
119
+ * Colour for the reference line drawn when {@link displayXAxis} is
120
+ * enabled. Maps to `<x14:colorAxis>` — the horizontal rule that
121
+ * separates positive from negative values on a sparkline.
122
+ */
123
+ axisColor?: string;
124
+ /**
125
+ * Colour applied to ordinary marker dots (those that are neither
126
+ * first/last/high/low/negative). Maps to `<x14:colorMarkers>`.
127
+ */
128
+ markerColor?: string;
129
+ /** High marker color */
130
+ highColor?: string;
131
+ /** Low marker color */
132
+ lowColor?: string;
133
+ /** First marker color */
134
+ firstColor?: string;
135
+ /** Last marker color */
136
+ lastColor?: string;
137
+ /** Min axis type */
138
+ minAxisType?: SparklineAxisType;
139
+ /** Max axis type */
140
+ maxAxisType?: SparklineAxisType;
141
+ /** Manual min */
142
+ manualMin?: number;
143
+ /** Manual max */
144
+ manualMax?: number;
145
+ /** Show X axis */
146
+ displayXAxis?: boolean;
147
+ /** Right-to-left */
148
+ rightToLeft?: boolean;
149
+ /** Display empty cells as */
150
+ displayEmptyCellsAs?: "gap" | "zero" | "span";
151
+ /** Date axis source */
152
+ dateAxis?: string;
153
+ }
154
+ /**
155
+ * Build a SparklineGroup from simplified options.
156
+ */
157
+ export declare function buildSparklineGroup(opts: AddSparklineGroupOptions): SparklineGroup;
158
+ /**
159
+ * Render all sparkline groups on a worksheet to an x14:sparklineGroups
160
+ * XML fragment. Returns a string (empty if no groups).
161
+ */
162
+ export declare function renderSparklineGroups(groups: SparklineGroup[]): string;
163
+ /**
164
+ * Parse an x14:sparklineGroups XML fragment into structured groups.
165
+ * Best-effort regex-based parser — sufficient for round-trip via rebuild.
166
+ */
167
+ export declare function parseSparklineGroups(xml: string): SparklineGroup[];
168
+ /**
169
+ * Options for {@link renderSparklineSvg}.
170
+ */
171
+ export interface SparklineRenderOptions {
172
+ /** Output width in px (default 120). */
173
+ width?: number;
174
+ /** Output height in px (default 30). */
175
+ height?: number;
176
+ /** Background fill colour. When absent, the SVG has a transparent background. */
177
+ background?: string;
178
+ /** Inner padding in px so markers don't clip against the SVG edges. */
179
+ padding?: number;
180
+ }
181
+ /**
182
+ * Render a sparkline group to a single SVG string given explicit data
183
+ * values for each sparkline in the group. This is a preview-grade
184
+ * renderer suitable for PDF/PNG embedding — Excel ultimately renders
185
+ * sparklines natively from the formula references.
186
+ *
187
+ * Why take `values: number[][]` rather than walk the workbook: the
188
+ * caller already has a worksheet in scope when it wants a preview,
189
+ * and decoupling the renderer from the worksheet keeps this module
190
+ * free of upstream dependencies. When no per-sparkline data is
191
+ * supplied the SVG is rendered empty (just the background) so the
192
+ * function never throws.
193
+ *
194
+ * Respects the group's `type` (`line` / `column` / `stacked`),
195
+ * `displayXAxis`, `minAxisType` / `maxAxisType` / `manualMin` /
196
+ * `manualMax`, markers (`markers`, `first`, `last`, `high`, `low`,
197
+ * `negative`), `rightToLeft`, and all structural colours
198
+ * (`colorSeries`, `colorNegative`, `colorAxis`, `colorMarkers`,
199
+ * `colorHigh`, `colorLow`, `colorFirst`, `colorLast`).
200
+ *
201
+ * The individual sparkline's `cellRef` is not consulted — the caller
202
+ * controls layout at a higher level and this function returns a
203
+ * standalone SVG per sparkline when passed a group with a single
204
+ * member, or a grid-stacked SVG when given multiple members.
205
+ */
206
+ export declare function renderSparklineSvg(group: SparklineGroup, values: number[][], options?: SparklineRenderOptions): string;