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