@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,239 @@
1
+ "use strict";
2
+ /**
3
+ * Minimal, zero-dependency TopoJSON feature extractor.
4
+ *
5
+ * TopoJSON (https://github.com/topojson/topojson-specification) encodes
6
+ * geometries as indices into a shared arc table, optionally with an
7
+ * integer quantisation grid that is dequantised via `transform`. Full
8
+ * support (mesh, merge, presimplify…) belongs to a dedicated library;
9
+ * this module implements only what the `regionMap` renderer needs:
10
+ *
11
+ * 1. Parse a {@link TopologyLike} object produced by any TopoJSON 1.x
12
+ * emitter (d3, topojson-server, world-atlas bundles).
13
+ * 2. Dequantise integer-encoded arcs back to absolute lon/lat pairs.
14
+ * 3. Resolve a geometry (`Polygon` / `MultiPolygon` / `LineString` /
15
+ * `MultiLineString` / `Point` / `MultiPoint`) into drawable rings.
16
+ *
17
+ * The shapes here mirror what the TopoJSON 1.x spec emits but keep
18
+ * the types narrow — unknown fields (`bbox`, vendor extensions) are
19
+ * ignored, not stripped. Users who need the full spec should use the
20
+ * upstream `topojson-client` package; doing so does not conflict with
21
+ * this module because both return `[lon, lat]` coordinate arrays in
22
+ * the geometry output.
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.resolveTopologyObject = resolveTopologyObject;
26
+ const errors_1 = require("../errors.js");
27
+ /**
28
+ * Resolve a named object from a {@link TopologyLike} into a flat list
29
+ * of `{ id, rings }` records. Each `rings[0]` is the outer ring and
30
+ * the remainder are holes. For `LineString` / `MultiLineString`,
31
+ * `rings` contains the open polylines; the caller is expected to
32
+ * treat them as un-closed paths.
33
+ *
34
+ * Throws if the object is missing or not a recognised geometry type —
35
+ * preferring a loud failure over silent "empty map" output, which is
36
+ * almost always a wiring bug on the caller's side.
37
+ */
38
+ function resolveTopologyObject(topology, objectName) {
39
+ const obj = topology.objects?.[objectName];
40
+ if (!obj) {
41
+ throw new errors_1.ChartOptionsError(`resolveTopologyObject: topology.objects['${objectName}'] not found (available: ${Object.keys(topology.objects ?? {}).join(", ") || "<none>"}).`);
42
+ }
43
+ if (!Array.isArray(topology.arcs)) {
44
+ // Malformed input — TopoJSON spec requires `arcs` to be an array. We
45
+ // bail out explicitly (rather than throwing inside `decode` below
46
+ // from a `TypeError: Cannot read properties of undefined`) so the
47
+ // caller sees a clear message.
48
+ throw new errors_1.ChartOptionsError(`resolveTopologyObject: topology.arcs is missing or not an array; cannot decode geometry.`);
49
+ }
50
+ const rawScale = topology.transform?.scale;
51
+ const rawTranslate = topology.transform?.translate;
52
+ // Defensive: verify both are finite 2-tuples before forwarding to
53
+ // `dequantiseArc`. A single `NaN` / `Infinity` in scale or translate
54
+ // would otherwise propagate through every coordinate.
55
+ const isFinitePair = (v) => Array.isArray(v) && v.length === 2 && Number.isFinite(v[0]) && Number.isFinite(v[1]);
56
+ const scale = isFinitePair(rawScale) ? rawScale : undefined;
57
+ const translate = isFinitePair(rawTranslate) ? rawTranslate : undefined;
58
+ // Cache decoded arcs by their positive index. A world-atlas topology
59
+ // typically shares each arc between 2–4 neighbouring countries; with
60
+ // no cache, `dequantiseArc` (an O(n) delta-accumulator) runs that
61
+ // many times per render. The cache turns the inner loop into O(1)
62
+ // for repeated references without changing any semantics — decoded
63
+ // points are read-only from the caller's perspective.
64
+ const decodedArcs = new Map();
65
+ const decode = (arcIndex) => {
66
+ const reverse = arcIndex < 0;
67
+ // Topojson spec: a negative index means the 1s-complement of the arc's
68
+ // positive index, used to indicate reverse traversal.
69
+ const positive = reverse ? ~arcIndex : arcIndex;
70
+ let points = decodedArcs.get(positive);
71
+ if (!points) {
72
+ const rawArc = topology.arcs[positive];
73
+ if (!rawArc) {
74
+ return [];
75
+ }
76
+ points = dequantiseArc(rawArc, scale, translate);
77
+ decodedArcs.set(positive, points);
78
+ }
79
+ // Always return a fresh array on reverse — callers mutate the
80
+ // returned array in some code paths (`joinRing` concat), and we
81
+ // don't want the cached copy to be mutated.
82
+ return reverse ? points.slice().reverse() : points.slice();
83
+ };
84
+ const geometries = obj.type === "GeometryCollection" ? obj.geometries : [obj];
85
+ const results = [];
86
+ for (const geom of geometries) {
87
+ const rings = [];
88
+ switch (geom.type) {
89
+ case "Polygon": {
90
+ for (const ring of geom.arcs) {
91
+ rings.push(joinRing(ring, decode));
92
+ }
93
+ break;
94
+ }
95
+ case "MultiPolygon": {
96
+ for (const poly of geom.arcs) {
97
+ for (const ring of poly) {
98
+ rings.push(joinRing(ring, decode));
99
+ }
100
+ }
101
+ break;
102
+ }
103
+ case "LineString": {
104
+ rings.push(joinRing(geom.arcs, decode));
105
+ break;
106
+ }
107
+ case "MultiLineString": {
108
+ for (const line of geom.arcs) {
109
+ rings.push(joinRing(line, decode));
110
+ }
111
+ break;
112
+ }
113
+ case "Point": {
114
+ // Point / MultiPoint coordinates live in the same quantised
115
+ // grid as arc coordinates when the topology carries a
116
+ // `transform`. Previously the coordinates were pushed raw,
117
+ // so Point features from a d3 / topojson-server-quantised
118
+ // topology plotted at integer pixel positions (e.g.
119
+ // `[5243, 3012]`) instead of their lon/lat values. Dequantise
120
+ // through the same pipeline arcs use to keep the output space
121
+ // consistent. Point coordinates are NOT delta-encoded — each
122
+ // is absolute — so wrap the single pair in a synthetic "arc"
123
+ // and only apply the scale/translate step.
124
+ if (scale && translate) {
125
+ const [x, y] = geom.coordinates;
126
+ if (Number.isFinite(x) && Number.isFinite(y)) {
127
+ rings.push([[x * scale[0] + translate[0], y * scale[1] + translate[1]]]);
128
+ }
129
+ }
130
+ else {
131
+ rings.push([geom.coordinates]);
132
+ }
133
+ break;
134
+ }
135
+ case "MultiPoint": {
136
+ if (scale && translate) {
137
+ const ring = [];
138
+ for (const [x, y] of geom.coordinates) {
139
+ if (Number.isFinite(x) && Number.isFinite(y)) {
140
+ ring.push([x * scale[0] + translate[0], y * scale[1] + translate[1]]);
141
+ }
142
+ }
143
+ if (ring.length > 0) {
144
+ rings.push(ring);
145
+ }
146
+ }
147
+ else {
148
+ for (const pt of geom.coordinates) {
149
+ rings.push([pt]);
150
+ }
151
+ }
152
+ break;
153
+ }
154
+ default: {
155
+ // Unknown geometry type — skip instead of throwing so a
156
+ // collection containing a few unsupported entries still
157
+ // renders the rest. The caller can detect empty output and
158
+ // decide whether to warn.
159
+ break;
160
+ }
161
+ }
162
+ results.push({
163
+ id: geom.id,
164
+ properties: "properties" in geom && geom.properties
165
+ ? geom.properties
166
+ : undefined,
167
+ geometry: geom,
168
+ rings
169
+ });
170
+ }
171
+ return results;
172
+ }
173
+ /**
174
+ * Concatenate a list of arc indices into one ring, removing the
175
+ * duplicate join points where two arcs share an endpoint. Follows the
176
+ * TopoJSON spec: when joining arc B to arc A, the first point of B is
177
+ * identical to the last point of A and must be dropped.
178
+ */
179
+ function joinRing(arcIndices, decode) {
180
+ const out = [];
181
+ for (const arcIndex of arcIndices) {
182
+ const pts = decode(arcIndex);
183
+ if (pts.length === 0) {
184
+ continue;
185
+ }
186
+ // "First non-empty arc" is when `out` is still empty — push all
187
+ // points including the starting one. For every subsequent arc, the
188
+ // join point (pts[0]) is identical to `out[-1]` by TopoJSON spec
189
+ // §2.1.4 and must be dropped.
190
+ //
191
+ // Using `out.length === 0` instead of `i === 0` matters when the
192
+ // first arc decoded empty: a naive "i === 0" check would drop the
193
+ // starting point of the first real (non-empty) arc, shifting the
194
+ // whole ring by one vertex.
195
+ if (out.length === 0) {
196
+ out.push(...pts);
197
+ }
198
+ else {
199
+ for (let j = 1; j < pts.length; j++) {
200
+ out.push(pts[j]);
201
+ }
202
+ }
203
+ }
204
+ return out;
205
+ }
206
+ /**
207
+ * Undo delta encoding and apply the quantisation transform. Each
208
+ * consecutive `[dx, dy]` pair in the source represents an offset
209
+ * from the previous point; the first pair is absolute.
210
+ */
211
+ function dequantiseArc(arc, scale, translate) {
212
+ if (!scale || !translate) {
213
+ // Arcs already hold floating-point absolute coordinates.
214
+ //
215
+ // Filter out non-finite points so a single malformed pair doesn't
216
+ // propagate `NaN` into downstream `[x, y]` consumers (SVG coord
217
+ // printing, PDF path construction) where it silently produces
218
+ // broken geometry.
219
+ return arc
220
+ .filter(pair => Array.isArray(pair) && Number.isFinite(pair[0]) && Number.isFinite(pair[1]))
221
+ .map(([x, y]) => [x, y]);
222
+ }
223
+ const out = [];
224
+ let qx = 0;
225
+ let qy = 0;
226
+ for (const pair of arc) {
227
+ // Defensive check: any non-finite delta would permanently poison
228
+ // the running accumulator, so we abort the whole arc rather than
229
+ // emit progressively worse `NaN` vertices.
230
+ if (!Array.isArray(pair) || !Number.isFinite(pair[0]) || !Number.isFinite(pair[1])) {
231
+ return [];
232
+ }
233
+ const [dx, dy] = pair;
234
+ qx += dx;
235
+ qy += dy;
236
+ out.push([qx * scale[0] + translate[0], qy * scale[1] + translate[1]]);
237
+ }
238
+ return out;
239
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Chart type definitions for ExcelTS
4
+ *
5
+ * Covers the full OOXML DrawingML Chart specification (c: namespace).
6
+ * Every chart in an XLSX file is a `c:chartSpace` containing a `c:chart`
7
+ * which holds a `c:plotArea` with one or more chart type groups.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * Chart Support Registry
4
+ *
5
+ * A tiny indirection layer that lets `Worksheet`, `Workbook` and
6
+ * `Chartsheet` call into chart-building, chart-rendering and chart
7
+ * cache-population code **only if the host application has opted in**
8
+ * by calling `installChartSupport()` from
9
+ * `@cj-tech-master/excelts/chart`.
10
+ *
11
+ * ## Why a registry
12
+ *
13
+ * The chart module ships 17 files covering classic charts, ChartEx
14
+ * (Excel 2016+), SVG/PNG/PDF renderers, preset catalogues, shape
15
+ * properties, TopoJSON region maps and cache populators — roughly
16
+ * 30,000 lines of TypeScript. Empirical measurement shows that making
17
+ * `Worksheet` import from chart directly forces ~1.2 MB of chart code
18
+ * into every consumer bundle, even for consumers who only read and
19
+ * write cells.
20
+ *
21
+ * This file is the single point of indirection. Importing `Worksheet`
22
+ * pulls it in (~1 KB) but does NOT pull in the chart implementation;
23
+ * the implementation only arrives once someone calls
24
+ * `installChartSupport()`, which bundlers resolve to the
25
+ * `@cj-tech-master/excelts/chart` subpath import graph.
26
+ *
27
+ * If chart-manipulating APIs (`worksheet.addChart()`, `workbook.writeFile()`
28
+ * with charts, etc.) are called without `installChartSupport()` having
29
+ * run, a clear error is thrown telling the developer how to fix it.
30
+ *
31
+ * ## Why it lives in `excel/` rather than `excel/chart/`
32
+ *
33
+ * Host-registry pattern convention: the slot lives with the consumer,
34
+ * not with the provider. `worksheet.ts`, `workbook.browser.ts` and
35
+ * `chartsheet.ts` are the consumers and they all live in `excel/`, so
36
+ * the slot sits next to them. The chart module only depends on it when
37
+ * `install()` is called — a one-way arrow from provider to consumer.
38
+ *
39
+ * This differs from `@formula/host-registry` which lives inside the
40
+ * formula module because formula is a separate top-level module (layer
41
+ * 3) that cannot import from excel. Chart is nested under excel
42
+ * (layer 4), so the slot naturally lives in excel.
43
+ *
44
+ * ## Relationship to formula's host-registry
45
+ *
46
+ * The two registries are independent slots for independent optional
47
+ * features. A consumer may install chart without formula, formula
48
+ * without chart, both, or neither.
49
+ */
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.registerChartSupport = registerChartSupport;
52
+ exports.hasChartSupport = hasChartSupport;
53
+ exports.getChartSupport = getChartSupport;
54
+ exports.tryGetChartSupport = tryGetChartSupport;
55
+ let installed = null;
56
+ /**
57
+ * Install a chart runtime implementation. Called from
58
+ * `installChartSupport()` in the `@cj-tech-master/excelts/chart`
59
+ * subpath.
60
+ *
61
+ * Re-installing is allowed — the last registration wins. Passing
62
+ * `null` uninstalls chart support, which is useful for tests that
63
+ * exercise the "no chart" error path.
64
+ */
65
+ function registerChartSupport(support) {
66
+ installed = support;
67
+ }
68
+ /** Returns true when chart support has been installed. */
69
+ function hasChartSupport() {
70
+ return installed !== null;
71
+ }
72
+ /**
73
+ * Retrieve the installed chart support. Throws a descriptive error if
74
+ * no chart support is installed.
75
+ */
76
+ function getChartSupport() {
77
+ if (!installed) {
78
+ throw new Error("No chart support is installed. " +
79
+ "Call `installChartSupport()` from `@cj-tech-master/excelts/chart` " +
80
+ "once at startup to enable chart creation, loading, and " +
81
+ "serialisation during `workbook.xlsx.writeFile()`.");
82
+ }
83
+ return installed;
84
+ }
85
+ /**
86
+ * Retrieve installed chart support, or `null` if none is installed.
87
+ *
88
+ * Used by code paths that can gracefully degrade when chart support is
89
+ * missing — e.g. ChartEx loading, which can preserve raw XML verbatim
90
+ * without a full parse when chart support is absent. Note that classic
91
+ * chart loading currently requires chart support to be installed (the
92
+ * reader calls `getChartSupport()` unconditionally for classic charts).
93
+ */
94
+ function tryGetChartSupport() {
95
+ return installed;
96
+ }
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chartsheet = void 0;
4
+ const chart_host_registry_1 = require("./chart-host-registry.js");
5
+ /**
6
+ * Nominal anchor range for the full-sheet chart in a chartsheet.
7
+ * Chartsheet charts fill the entire sheet viewport; the anchor value is
8
+ * never used for positioning but is required by the Chart constructor to
9
+ * initialise its internal two-cell-anchor model.
10
+ */
11
+ const CHARTSHEET_ANCHOR_RANGE = "A1:K15";
12
+ /**
13
+ * Minimal `Worksheet`-shaped proxy used exclusively to back the `Chart`
14
+ * instance returned from {@link Chartsheet.chart}.
15
+ *
16
+ * A chartsheet is a top-level sheet that hosts a single chart without a
17
+ * surrounding grid — there are no rows, columns, tables, merges, or
18
+ * drawings underneath it. `Chart`, however, assumes it lives inside a
19
+ * `Worksheet` so it can walk up to the workbook, copy relationship
20
+ * sidecars, and compute anchor geometry.
21
+ *
22
+ * Previous versions fabricated an empty `{ workbook, name } as any` to
23
+ * satisfy that type. That escape hatch was a correctness trap: calling
24
+ * {@link Chart.copyTo} or anything that invoked `worksheet.getRow` on a
25
+ * chartsheet-backed Chart would throw because the underlying object had
26
+ * none of the real methods.
27
+ *
28
+ * `ChartsheetChartHost` replaces the cast with a first-class proxy that:
29
+ * - forwards the `workbook` pointer so `Chart` can reach its model,
30
+ * sidecars, and copyChartSidecars helper;
31
+ * - reports a synthetic `id`/`name` so diagnostics stay sensible;
32
+ * - throws a clear, descriptive error from every grid-centric method so
33
+ * any accidental reach through fails loudly instead of silently
34
+ * corrupting state (`getRow`, `addRow`, `getColumn`, `addTable`, …).
35
+ *
36
+ * Callers should prefer {@link Chartsheet.chartModel} /
37
+ * {@link Chartsheet.chartExModel} to reach the underlying data directly.
38
+ */
39
+ class ChartsheetChartHost {
40
+ constructor(workbook, chartsheetId, chartsheetName) {
41
+ this.id = chartsheetId;
42
+ this.name = chartsheetName;
43
+ this.workbook = workbook;
44
+ }
45
+ _unsupported(method) {
46
+ throw new Error(`${method}() is not supported on a Chart attached to a chartsheet. ` +
47
+ `Use the Chartsheet APIs (chartsheet.chartModel, chartsheet.replaceChart, …) instead.`);
48
+ }
49
+ // Grid operations — explicitly fail fast rather than silently returning
50
+ // undefined-ish values that could feed bad data into anchor math.
51
+ getRow(_rowNumber) {
52
+ this._unsupported("Worksheet.getRow");
53
+ }
54
+ addRow() {
55
+ this._unsupported("Worksheet.addRow");
56
+ }
57
+ addRows() {
58
+ this._unsupported("Worksheet.addRows");
59
+ }
60
+ getColumn(_colNumber) {
61
+ this._unsupported("Worksheet.getColumn");
62
+ }
63
+ getCell() {
64
+ this._unsupported("Worksheet.getCell");
65
+ }
66
+ addTable() {
67
+ this._unsupported("Worksheet.addTable");
68
+ }
69
+ getTables() {
70
+ this._unsupported("Worksheet.getTables");
71
+ }
72
+ }
73
+ class Chartsheet {
74
+ constructor(model, workbook) {
75
+ this._model = model;
76
+ this._workbook = workbook;
77
+ }
78
+ get id() {
79
+ return this._model.id;
80
+ }
81
+ get sheetNo() {
82
+ return this._model.sheetNo;
83
+ }
84
+ get name() {
85
+ return this._model.name;
86
+ }
87
+ set name(value) {
88
+ // Go through the workbook's unified validator so a chartsheet can
89
+ // never silently land on a name that collides with a worksheet (or
90
+ // another chartsheet), includes illegal characters, or exceeds
91
+ // Excel's 31-char limit. Previously this setter just wrote
92
+ // `this._model.name = value` verbatim, letting callers corrupt the
93
+ // model into a state Excel would reject on reopen.
94
+ if (this._workbook) {
95
+ this._model.name = this._workbook.validateSheetName(value, this._model);
96
+ }
97
+ else {
98
+ this._model.name = value;
99
+ }
100
+ }
101
+ get state() {
102
+ return this._model.state;
103
+ }
104
+ set state(value) {
105
+ this._model.state = value;
106
+ }
107
+ get chartNumber() {
108
+ return this._model.chartNumber;
109
+ }
110
+ get chartExNumber() {
111
+ return this._model.chartExNumber;
112
+ }
113
+ get chartModel() {
114
+ return this._model.chartNumber
115
+ ? this._workbook?.getChartEntry(this._model.chartNumber)?.model
116
+ : undefined;
117
+ }
118
+ get chartExModel() {
119
+ return this._model.chartExNumber
120
+ ? this._workbook?.getChartExStructuredEntry(this._model.chartExNumber)?.model
121
+ : undefined;
122
+ }
123
+ /**
124
+ * Return the `Chart` wrapper for this chartsheet's single chart.
125
+ *
126
+ * The wrapper's `.worksheet` field is a {@link ChartsheetChartHost}
127
+ * rather than a real `Worksheet` — grid operations on it will throw a
128
+ * descriptive error. For anything grid-related, use the underlying
129
+ * {@link chartModel}/{@link chartExModel} directly or go through the
130
+ * `Chartsheet` methods ({@link replaceChart}, {@link rename}, …).
131
+ */
132
+ get chart() {
133
+ if (!this._workbook || (!this._model.chartNumber && !this._model.chartExNumber)) {
134
+ return undefined;
135
+ }
136
+ const host = new ChartsheetChartHost(this._workbook, this._model.id, this._model.name);
137
+ // The `Chart` constructor types its first argument as `Worksheet`, but
138
+ // internally it only touches `worksheet.workbook`, `worksheet.id`, and
139
+ // `worksheet.name` from that position (plus anchor helpers that we've
140
+ // stubbed above). Casting is safe here because the host deliberately
141
+ // implements that exact contract and loudly rejects anything else.
142
+ return (0, chart_host_registry_1.getChartSupport)().createChart(host, { chartNumber: this._model.chartNumber, chartExNumber: this._model.chartExNumber }, CHARTSHEET_ANCHOR_RANGE);
143
+ }
144
+ get isChartEx() {
145
+ return !!this._model.chartExNumber;
146
+ }
147
+ get model() {
148
+ return this._model;
149
+ }
150
+ get pageMargins() {
151
+ return this._model.pageMargins;
152
+ }
153
+ set pageMargins(value) {
154
+ this._model.pageMargins = value;
155
+ }
156
+ get pageSetup() {
157
+ return this._model.pageSetup;
158
+ }
159
+ set pageSetup(value) {
160
+ this._model.pageSetup = value;
161
+ }
162
+ get tabSelected() {
163
+ return this._model.tabSelected;
164
+ }
165
+ set tabSelected(value) {
166
+ this._model.tabSelected = value;
167
+ }
168
+ get zoomScale() {
169
+ return this._model.zoomScale;
170
+ }
171
+ set zoomScale(value) {
172
+ this._model.zoomScale = value;
173
+ }
174
+ get workbookViewId() {
175
+ return this._model.workbookViewId;
176
+ }
177
+ set workbookViewId(value) {
178
+ this._model.workbookViewId = value;
179
+ }
180
+ get zoomToFit() {
181
+ return this._model.zoomToFit;
182
+ }
183
+ set zoomToFit(value) {
184
+ this._model.zoomToFit = value;
185
+ }
186
+ rename(name) {
187
+ return this._workbook?.renameChartsheet(this.name, name) ?? false;
188
+ }
189
+ remove() {
190
+ return this._workbook?.removeChartsheet(this.name) ?? false;
191
+ }
192
+ copy(name) {
193
+ return this._workbook?.copyChartsheet(this.name, name);
194
+ }
195
+ replaceChart(chart) {
196
+ return this._workbook?.replaceChartsheetChart(this.name, chart) ?? false;
197
+ }
198
+ }
199
+ exports.Chartsheet = Chartsheet;
@@ -221,6 +221,7 @@ class DefinedNames {
221
221
  this.matrixMap = {};
222
222
  this.formulaMap = {};
223
223
  this.localSheetIdMap = {};
224
+ this.hiddenMap = {};
224
225
  this.opaqueMap = {};
225
226
  this.nameForKey = {};
226
227
  this._explicitProbe = probe ?? null;
@@ -242,6 +243,29 @@ class DefinedNames {
242
243
  this.nameForKey[name] = name;
243
244
  this.addEx(location, name);
244
245
  }
246
+ /**
247
+ * Register a hidden defined name that maps a chartEx `_xlchart.vN.M`
248
+ * pointer to a worksheet range. Excel emits one of these for every
249
+ * data reference in a chartEx chart:
250
+ *
251
+ * <definedName name="_xlchart.v1.0" hidden="1">Sheet1!$A$1:$A$3</definedName>
252
+ *
253
+ * The chartEx then references `_xlchart.v1.0` from its `<cx:f>`
254
+ * element instead of the worksheet range directly. Direct sheet
255
+ * references in `<cx:f>` are rejected by Excel 2016+ with
256
+ * "Removed Part: /xl/drawings/drawingN.xml (Drawing shape)" on
257
+ * load, so chartEx data MUST go through this indirection.
258
+ *
259
+ * Same semantics as `add()` but also marks the name `hidden` so
260
+ * it does not show up in Excel's Name Manager UI.
261
+ *
262
+ * @param locStr - Worksheet reference (e.g. `"Sheet1!$A$1:$A$3"`)
263
+ * @param name - Defined name to register (e.g. `"_xlchart.v1.0"`)
264
+ */
265
+ addHidden(locStr, name) {
266
+ this.add(locStr, name);
267
+ this.hiddenMap[name] = true;
268
+ }
245
269
  addEx(location, name) {
246
270
  const matrix = this.getMatrix(name);
247
271
  if ("top" in location) {
@@ -519,10 +543,15 @@ class DefinedNames {
519
543
  .map(([sKey, matrix]) => {
520
544
  const result = this.getRanges(sKey, matrix);
521
545
  const localSheetId = this.localSheetIdMap[sKey];
546
+ const hidden = this.hiddenMap[sKey];
547
+ const out = { ...result };
522
548
  if (localSheetId !== undefined) {
523
- return { ...result, localSheetId };
549
+ out.localSheetId = localSheetId;
524
550
  }
525
- return result;
551
+ if (hidden) {
552
+ out.hidden = true;
553
+ }
554
+ return out;
526
555
  })
527
556
  .filter((definedName) => definedName.ranges.length);
528
557
  // Formula-based names from formulaMap (only include names not already in matrixMap)
@@ -537,20 +566,27 @@ class DefinedNames {
537
566
  };
538
567
  const localSheetId = this.localSheetIdMap[sKey];
539
568
  if (localSheetId !== undefined) {
540
- return { ...result, localSheetId };
569
+ result.localSheetId = localSheetId;
570
+ }
571
+ if (this.hiddenMap[sKey]) {
572
+ result.hidden = true;
541
573
  }
542
574
  return result;
543
575
  });
544
576
  // Opaque names — rawText preserved for round-trip
545
577
  const opaqueNames = Object.entries(this.opaqueMap).map(([sKey, entry]) => {
546
578
  const bareName = this.nameForKey[sKey] ?? sKey;
547
- return {
579
+ const out = {
548
580
  name: bareName,
549
581
  ranges: [],
550
582
  rawText: entry.rawText,
551
583
  localSheetId: entry.localSheetId,
552
584
  kind: "opaque"
553
585
  };
586
+ if (this.hiddenMap[sKey]) {
587
+ out.hidden = true;
588
+ }
589
+ return out;
554
590
  });
555
591
  return [...cellNames, ...formulaNames, ...opaqueNames];
556
592
  }
@@ -566,6 +602,7 @@ class DefinedNames {
566
602
  const matrixMap = (this.matrixMap = {});
567
603
  const formulaMap = (this.formulaMap = {});
568
604
  const localSheetIdMap = (this.localSheetIdMap = {});
605
+ const hiddenMap = (this.hiddenMap = {});
569
606
  const opaqueMap = (this.opaqueMap = {});
570
607
  const nameForKeyMap = (this.nameForKey = {});
571
608
  // Resolve probe lazily: a caller may have constructed the Workbook
@@ -580,6 +617,9 @@ class DefinedNames {
580
617
  if (definedName.localSheetId !== undefined) {
581
618
  localSheetIdMap[sKey] = definedName.localSheetId;
582
619
  }
620
+ if (definedName.hidden) {
621
+ hiddenMap[sKey] = true;
622
+ }
583
623
  // Programmatic API path: formulaExpression already set and no rawText
584
624
  if (definedName.formulaExpression && definedName.rawText === undefined) {
585
625
  formulaMap[sKey] = definedName.formulaExpression;
@@ -5,7 +5,7 @@
5
5
  * All Excel-related errors extend ExcelError.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.MaxItemsExceededError = exports.ImageError = exports.TableError = exports.PivotTableError = exports.ExcelDownloadError = exports.ExcelStreamStateError = exports.ExcelFileError = exports.ExcelNotSupportedError = exports.XmlParseError = exports.InvalidValueTypeError = exports.MergeConflictError = exports.RowOutOfBoundsError = exports.ColumnOutOfBoundsError = exports.InvalidAddressError = exports.WorksheetNameError = exports.ExcelError = void 0;
8
+ exports.MaxItemsExceededError = exports.ImageError = exports.TableError = exports.ChartOptionsError = exports.PivotTableError = exports.ExcelDownloadError = exports.ExcelStreamStateError = exports.ExcelFileError = exports.ExcelNotSupportedError = exports.XmlParseError = exports.InvalidValueTypeError = exports.MergeConflictError = exports.RowOutOfBoundsError = exports.ColumnOutOfBoundsError = exports.InvalidAddressError = exports.WorksheetNameError = exports.ExcelError = void 0;
9
9
  exports.isExcelError = isExcelError;
10
10
  const errors_1 = require("../../utils/errors.js");
11
11
  /**
@@ -162,6 +162,16 @@ class PivotTableError extends ExcelError {
162
162
  }
163
163
  }
164
164
  exports.PivotTableError = PivotTableError;
165
+ /**
166
+ * Error thrown when chart configuration is invalid.
167
+ */
168
+ class ChartOptionsError extends ExcelError {
169
+ constructor() {
170
+ super(...arguments);
171
+ this.name = "ChartOptionsError";
172
+ }
173
+ }
174
+ exports.ChartOptionsError = ChartOptionsError;
165
175
  /**
166
176
  * Error thrown when table configuration or operation is invalid.
167
177
  */