@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
@@ -7,12 +7,60 @@
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.Workbook = void 0;
9
9
  const errors_1 = require("./errors.js");
10
+ const workbook_reader_1 = require("./stream/workbook-reader.js");
11
+ const workbook_writer_1 = require("./stream/workbook-writer.js");
10
12
  const workbook_browser_1 = require("./workbook.browser.js");
13
+ const xlsx_1 = require("./xlsx/xlsx.js");
11
14
  const fs_1 = require("../../utils/fs.js");
12
15
  // =============================================================================
13
16
  // Node.js Workbook Class
14
17
  // =============================================================================
15
18
  class Workbook extends workbook_browser_1.Workbook {
19
+ /**
20
+ * xlsx file format operations — Node.js variant. Exposes the
21
+ * `readFile` / `writeFile` / streaming `read` / `write` methods that
22
+ * the browser XLSX omits. Overriding here (rather than typing the
23
+ * base getter as Node XLSX directly) keeps the browser
24
+ * `Workbook.xlsx` type clean — browser consumers see only the
25
+ * operations the bundle actually supports and get a TS error if
26
+ * they accidentally reach for file-path APIs.
27
+ */
28
+ get xlsx() {
29
+ if (!this._xlsxNode) {
30
+ this._xlsxNode = new xlsx_1.XLSX(this);
31
+ }
32
+ return this._xlsxNode;
33
+ }
34
+ /**
35
+ * Create a streaming workbook writer — Node.js variant. Accepts the
36
+ * Node-only `{ filename }` option for direct file-path output in
37
+ * addition to the cross-platform `{ stream }` option. Overriding
38
+ * here (rather than typing the base factory as the Node writer)
39
+ * keeps the browser bundle free of Node-only stream code.
40
+ *
41
+ * The return type is declared as the browser `WorkbookWriter` to
42
+ * preserve static-side Liskov compatibility with the base class;
43
+ * downcast at the call site if the Node subclass API is needed, or
44
+ * use `new WorkbookWriter()` directly.
45
+ */
46
+ static createStreamWriter(options) {
47
+ return new workbook_writer_1.WorkbookWriter(options);
48
+ }
49
+ /**
50
+ * Create a streaming workbook reader — Node.js variant. Accepts a
51
+ * Node-only file-path `string` in addition to the cross-platform
52
+ * `CommonInput` types (buffer / readable). Overriding here keeps the
53
+ * browser bundle free of Node-only `fs` imports.
54
+ *
55
+ * The return type is declared as the browser `WorkbookReader` to
56
+ * preserve static-side Liskov compatibility with the base class.
57
+ * The runtime instance is the Node `WorkbookReader` subclass and
58
+ * handles file-path inputs transparently; downcast if the subclass
59
+ * API is needed, or use `new WorkbookReader()` directly.
60
+ */
61
+ static createStreamReader(input, options) {
62
+ return new workbook_reader_1.WorkbookReader(input, options);
63
+ }
16
64
  /**
17
65
  * Read CSV from file (Node.js only)
18
66
  *
@@ -1,15 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Worksheet = void 0;
4
+ // Chart runtime is accessed via the chart-host-registry slot rather
5
+ // than imported directly. See `chart-host-registry.ts` and
6
+ // `chart/install.ts` for the registration protocol. Types are pulled
7
+ // in via `import type` so bundlers emit zero runtime chart code unless
8
+ // the consumer imports `@cj-tech-master/excelts/chart`.
9
+ const chart_host_registry_1 = require("./chart-host-registry.js");
4
10
  const column_1 = require("./column.js");
5
11
  const data_validations_1 = require("./data-validations.js");
6
12
  const enums_1 = require("./enums.js");
7
13
  const errors_1 = require("./errors.js");
8
14
  const form_control_1 = require("./form-control.js");
9
15
  const image_1 = require("./image.js");
16
+ const pivot_chart_1 = require("./pivot-chart.js");
10
17
  const pivot_table_1 = require("./pivot-table.js");
11
18
  const range_1 = require("./range.js");
12
19
  const row_1 = require("./row.js");
20
+ const sparkline_1 = require("./sparkline/index.js");
13
21
  const table_1 = require("./table.js");
14
22
  const address_1 = require("./utils/address.js");
15
23
  const cell_format_1 = require("./utils/cell-format.js");
@@ -99,6 +107,9 @@ class Worksheet {
99
107
  this.autoFilter = options.autoFilter ?? null;
100
108
  // for images, etc
101
109
  this._media = [];
110
+ // for charts
111
+ this._charts = [];
112
+ this._sparklineGroups = [];
102
113
  // worksheet protection
103
114
  this.sheetProtection = null;
104
115
  // for tables
@@ -109,6 +120,8 @@ class Worksheet {
109
120
  this.formControls = [];
110
121
  // ignored errors (suppress green triangles in Excel)
111
122
  this.ignoredErrors = [];
123
+ // Office 365 threaded comments (separate from classic VML notes).
124
+ this.threadedComments = [];
112
125
  // watermark configuration
113
126
  this._watermark = null;
114
127
  }
@@ -122,34 +135,15 @@ class Worksheet {
122
135
  if (this._name === name) {
123
136
  return;
124
137
  }
125
- if (typeof name !== "string") {
126
- throw new errors_1.WorksheetNameError("The name has to be a string.");
127
- }
128
- if (name === "") {
129
- throw new errors_1.WorksheetNameError("The name can't be empty.");
130
- }
131
- if (name === "History") {
132
- throw new errors_1.WorksheetNameError('The name "History" is protected. Please use a different name.');
133
- }
134
- // Illegal character in worksheet name: asterisk (*), question mark (?),
135
- // colon (:), forward slash (/ \), or bracket ([])
136
- if (/[*?:/\\[\]]/.test(name)) {
137
- throw new errors_1.WorksheetNameError(`Worksheet name ${name} cannot include any of the following characters: * ? : \\ / [ ]`);
138
- }
139
- if (/(^')|('$)/.test(name)) {
140
- throw new errors_1.WorksheetNameError(`The first or last character of worksheet name cannot be a single quotation mark: ${name}`);
141
- }
142
- if (name.length > 31) {
143
- if (process.env.NODE_ENV !== "production") {
144
- console.warn(`Worksheet name ${name} exceeds 31 chars. This will be truncated`);
145
- }
146
- name = name.substring(0, 31);
147
- }
148
- const nameLower = name.toLowerCase();
149
- if (this._workbook.worksheets.find(ws => ws && ws !== this && ws.name.toLowerCase() === nameLower)) {
150
- throw new errors_1.WorksheetNameError(`Worksheet name already exists: ${name}`);
151
- }
152
- this._name = name;
138
+ // Delegate to the workbook-level validator so both worksheets and
139
+ // chartsheets share a single naming namespace. Previously this
140
+ // setter only cross-checked against other worksheets, allowing a
141
+ // chartsheet named "S" to coexist with a worksheet named "S";
142
+ // Excel itself forbids that collision. `validateSheetName`
143
+ // performs the full type / empty / illegal-char / quote / length
144
+ // / case-insensitive duplicate checks and returns the sanitised
145
+ // name (truncated to 31 chars if needed).
146
+ this._name = this._workbook.validateSheetName(name, this);
153
147
  }
154
148
  /**
155
149
  * The workbook that contains this worksheet
@@ -319,6 +313,8 @@ class Worksheet {
319
313
  }
320
314
  }
321
315
  }
316
+ // account for chart anchors in drawing and programmatic chart objects
317
+ this._shiftChartAnchors("col", start - 1, nExpand);
322
318
  }
323
319
  // account for merges
324
320
  this._spliceMerges("col", start, count, inserts.length);
@@ -661,6 +657,8 @@ class Worksheet {
661
657
  }
662
658
  }
663
659
  }
660
+ // account for chart anchors in drawing and programmatic chart objects
661
+ this._shiftChartAnchors("row", start - 1, nExpand);
664
662
  }
665
663
  // account for merges
666
664
  this._spliceMerges("row", start, count, nInserts);
@@ -779,6 +777,39 @@ class Worksheet {
779
777
  delete this._merges[master.address];
780
778
  }
781
779
  }
780
+ /**
781
+ * Shift all chart anchors (drawing anchors + programmatic charts) by delta along an axis.
782
+ * @param axis "row" or "col"
783
+ * @param threshold 0-based index; anchors at or beyond this are shifted
784
+ * @param delta number of positions to shift (positive = expand, negative = shrink)
785
+ */
786
+ _shiftChartAnchors(axis, threshold, delta) {
787
+ const prop = axis === "row" ? "nativeRow" : "nativeCol";
788
+ // Drawing anchors (from loaded file)
789
+ const drawing = this._drawing;
790
+ if (drawing?.anchors) {
791
+ for (const anchor of drawing.anchors) {
792
+ const tl = anchor.range?.tl;
793
+ const br = anchor.range?.br;
794
+ if (tl && tl[prop] >= threshold) {
795
+ tl[prop] = Math.max(0, tl[prop] + delta);
796
+ }
797
+ if (br && br[prop] >= threshold) {
798
+ br[prop] = Math.max(0, br[prop] + delta);
799
+ }
800
+ }
801
+ }
802
+ // Programmatic chart objects
803
+ for (const chart of this._charts) {
804
+ const { tl, br } = chart.range;
805
+ if (tl[prop] >= threshold) {
806
+ tl[prop] = Math.max(0, tl[prop] + delta);
807
+ }
808
+ if (br && br[prop] >= threshold) {
809
+ br[prop] = Math.max(0, br[prop] + delta);
810
+ }
811
+ }
812
+ }
782
813
  /**
783
814
  * Update _merges dictionary and cell-level merge references after a row or column splice.
784
815
  */
@@ -970,6 +1001,300 @@ class Worksheet {
970
1001
  getImages() {
971
1002
  return this._media.filter(m => m.type === "image");
972
1003
  }
1004
+ // ===========================================================================
1005
+ // Charts
1006
+ // ===========================================================================
1007
+ /**
1008
+ * Add a chart to the worksheet, positioned at the given range.
1009
+ * Returns the chart number (1-based) that identifies this chart in the workbook.
1010
+ */
1011
+ addChart(options, range) {
1012
+ const chart = (0, chart_host_registry_1.getChartSupport)();
1013
+ return this._registerChart(chart.buildChartModel(options), range, options);
1014
+ }
1015
+ addColumnChart(options, range) {
1016
+ return this.addChart({ ...options, type: "bar", barDir: "col" }, range);
1017
+ }
1018
+ addBarChart(options, range) {
1019
+ return this.addChart({ ...options, type: "bar", barDir: "bar" }, range);
1020
+ }
1021
+ addLineChart(options, range) {
1022
+ return this.addChart({ ...options, type: "line" }, range);
1023
+ }
1024
+ addAreaChart(options, range) {
1025
+ return this.addChart({ ...options, type: "area" }, range);
1026
+ }
1027
+ addPieChart(options, range) {
1028
+ return this.addChart({ ...options, type: "pie" }, range);
1029
+ }
1030
+ addDoughnutChart(options, range) {
1031
+ return this.addChart({ ...options, type: "doughnut" }, range);
1032
+ }
1033
+ addScatterChart(options, range) {
1034
+ return this.addChart({ ...options, type: "scatter" }, range);
1035
+ }
1036
+ addBubbleChart(options, range) {
1037
+ return this.addChart({ ...options, type: "bubble" }, range);
1038
+ }
1039
+ addRadarChart(options, range) {
1040
+ return this.addChart({ ...options, type: "radar" }, range);
1041
+ }
1042
+ addStockChart(options, range) {
1043
+ return this.addChart({ ...options, type: "stock" }, range);
1044
+ }
1045
+ addSurfaceChart(options, range) {
1046
+ return this.addChart({ ...options, type: "surface" }, range);
1047
+ }
1048
+ addHistogramChart(options, range) {
1049
+ return this.addChartEx({ ...options, type: "histogram" }, range);
1050
+ }
1051
+ addParetoChart(options, range) {
1052
+ return this.addChartEx({ ...options, type: "pareto" }, range);
1053
+ }
1054
+ addWaterfallChart(options, range) {
1055
+ return this.addChartEx({ ...options, type: "waterfall" }, range);
1056
+ }
1057
+ addFunnelChart(options, range) {
1058
+ return this.addChartEx({ ...options, type: "funnel" }, range);
1059
+ }
1060
+ addTreemapChart(options, range) {
1061
+ return this.addChartEx({ ...options, type: "treemap" }, range);
1062
+ }
1063
+ addSunburstChart(options, range) {
1064
+ return this.addChartEx({ ...options, type: "sunburst" }, range);
1065
+ }
1066
+ addBoxWhiskerChart(options, range) {
1067
+ return this.addChartEx({ ...options, type: "boxWhisker" }, range);
1068
+ }
1069
+ addRegionMapChart(options, range) {
1070
+ return this.addChartEx({ ...options, type: "regionMap" }, range);
1071
+ }
1072
+ addPresetChart(preset, options, range) {
1073
+ return this.addChart((0, chart_host_registry_1.getChartSupport)().applyChartPreset(preset, options), range);
1074
+ }
1075
+ addPresetChartEx(preset, options, range) {
1076
+ return this.addChartEx((0, chart_host_registry_1.getChartSupport)().applyChartExPreset(preset, options), range);
1077
+ }
1078
+ seriesFromColumns(options) {
1079
+ return (0, chart_host_registry_1.getChartSupport)().seriesFromColumns(this.name, options);
1080
+ }
1081
+ addChartFromTable(table, options, range) {
1082
+ return this.addChart((0, chart_host_registry_1.getChartSupport)().chartOptionsFromTable(this, table, options), range);
1083
+ }
1084
+ addChartFromRows(rows, options, range) {
1085
+ return this.addChart((0, chart_host_registry_1.getChartSupport)().chartOptionsFromRows(this, rows, options), range);
1086
+ }
1087
+ addColumnChartFromRows(rows, options, range) {
1088
+ return this.addChart((0, chart_host_registry_1.getChartSupport)().chartOptionsFromRows(this, rows, {
1089
+ ...options,
1090
+ type: "bar",
1091
+ barDir: "col"
1092
+ }), range);
1093
+ }
1094
+ /**
1095
+ * Add a chartEx chart whose data references come from a worksheet Table.
1096
+ * Mirrors {@link addChartFromTable} for the modern `cx:` chart types
1097
+ * (sunburst, treemap, waterfall, funnel, histogram, pareto, boxWhisker).
1098
+ * `regionMap` is not supported through this helper because its data
1099
+ * model expects geographic labels — use {@link addChartEx} directly.
1100
+ */
1101
+ addChartExFromTable(table, options, range) {
1102
+ return this.addChartEx((0, chart_host_registry_1.getChartSupport)().chartExOptionsFromTable(this, table, options), range);
1103
+ }
1104
+ /**
1105
+ * Add a chartEx chart whose rows come from a plain object-array, staged
1106
+ * into the worksheet before being referenced by absolute range. Mirrors
1107
+ * {@link addChartFromRows} for the modern `cx:` chart types.
1108
+ */
1109
+ addChartExFromRows(rows, options, range) {
1110
+ return this.addChartEx((0, chart_host_registry_1.getChartSupport)().chartExOptionsFromRows(this, rows, options), range);
1111
+ }
1112
+ /**
1113
+ * Add a classic pivot chart linked to an existing pivot table.
1114
+ * Returns the chart number (1-based) that identifies this chart in the workbook.
1115
+ */
1116
+ addPivotChart(pivotTable, options, range) {
1117
+ const pivotChartOptions = (0, pivot_chart_1.withPivotChartSource)(pivotTable, options);
1118
+ return this._registerChart((0, chart_host_registry_1.getChartSupport)().buildChartModel(pivotChartOptions), range, pivotChartOptions);
1119
+ }
1120
+ /**
1121
+ * Add a combo pivot chart linked to an existing pivot table.
1122
+ * Returns the chart number (1-based) that identifies this chart in the workbook.
1123
+ */
1124
+ addPivotComboChart(pivotTable, options, range) {
1125
+ const pivotChartOptions = (0, pivot_chart_1.withPivotChartSource)(pivotTable, options);
1126
+ return this._registerChart((0, chart_host_registry_1.getChartSupport)().buildComboChartModel(pivotChartOptions), range, pivotChartOptions);
1127
+ }
1128
+ /**
1129
+ * Add a combo chart (multiple chart type groups) to the worksheet.
1130
+ * Returns the chart number (1-based) that identifies this chart in the workbook.
1131
+ */
1132
+ addComboChart(options, range) {
1133
+ return this._registerChart((0, chart_host_registry_1.getChartSupport)().buildComboChartModel(options), range, options);
1134
+ }
1135
+ /**
1136
+ * Add a ChartEx (Office 2016+ extended chart) to the worksheet.
1137
+ *
1138
+ * Supported types: `sunburst`, `treemap`, `waterfall`, `funnel`, `histogram`,
1139
+ * `pareto`, `boxWhisker`, `regionMap`.
1140
+ *
1141
+ * Returns the chartEx number (1-based) that identifies this chart in the workbook.
1142
+ */
1143
+ addChartEx(options, range) {
1144
+ const model = (0, chart_host_registry_1.getChartSupport)().buildChartExModel(options);
1145
+ return this._registerChartEx(model, range);
1146
+ }
1147
+ /** @internal Register a built chartEx model into the workbook and this worksheet. */
1148
+ _registerChartEx(model, range) {
1149
+ const chart = (0, chart_host_registry_1.getChartSupport)();
1150
+ const chartExNumber = this._workbook.nextChartExNumber();
1151
+ try {
1152
+ // Pass `this` as context worksheet so sheet-scoped defined names on
1153
+ // this sheet take precedence over workbook-scoped names of the same
1154
+ // bare name (matches Excel resolution order).
1155
+ chart.fillChartExCaches(model, this._workbook, this);
1156
+ }
1157
+ catch {
1158
+ // Cache population is best-effort; never let it break chart creation.
1159
+ }
1160
+ this._workbook.addChartExStructuredEntry({ chartExNumber, model });
1161
+ const chartInstance = chart.createChart(this, { chartExNumber }, range);
1162
+ this._charts.push(chartInstance);
1163
+ return chartExNumber;
1164
+ }
1165
+ /** @internal Register a built chart model into the workbook and this worksheet. */
1166
+ _registerChart(chartModel, range, options) {
1167
+ const chart = (0, chart_host_registry_1.getChartSupport)();
1168
+ const chartNumber = this._workbook.nextChartNumber();
1169
+ // Auto-populate caches so headless consumers see non-empty charts.
1170
+ // Excel itself will recompute on open; this is a best-effort enrichment.
1171
+ // Pass `this` as context worksheet so sheet-scoped defined names on
1172
+ // this sheet take precedence over workbook-scoped names of the same
1173
+ // bare name (matches Excel resolution order).
1174
+ try {
1175
+ chart.fillChartCaches(chartModel, this._workbook, this);
1176
+ }
1177
+ catch {
1178
+ // Cache population is best-effort; never let it break chart creation.
1179
+ }
1180
+ const entry = { chartNumber, model: chartModel };
1181
+ // Resolve any staged `pictureFill.image` payloads into real workbook
1182
+ // media entries + chart relationships. Safe to call before
1183
+ // `addChartEntry` so the entry we store already carries the final
1184
+ // `entry.rels` array.
1185
+ try {
1186
+ chart.resolvePendingChartImages(entry, this._workbook, chartNumber);
1187
+ }
1188
+ catch {
1189
+ // Image resolution is best-effort; a broken image payload should
1190
+ // never take down chart creation — the series keeps its
1191
+ // `pictureOptions`, just without the blipFill.
1192
+ }
1193
+ this._workbook.addChartEntry(entry);
1194
+ this._applyChartSidecars(chartNumber, options);
1195
+ const chartInstance = chart.createChart(this, { chartNumber }, range);
1196
+ this._charts.push(chartInstance);
1197
+ return chartNumber;
1198
+ }
1199
+ _applyChartSidecars(chartNumber, options) {
1200
+ if (!options?.chartStyle && !options?.chartColors) {
1201
+ return;
1202
+ }
1203
+ const chart = (0, chart_host_registry_1.getChartSupport)();
1204
+ if (options?.chartStyle) {
1205
+ this._workbook.setChartStyle(chartNumber, new TextEncoder().encode(chart.buildChartStyle(options.chartStyle)));
1206
+ }
1207
+ if (options?.chartColors) {
1208
+ this._workbook.setChartColors(chartNumber, new TextEncoder().encode(chart.buildChartColors(options.chartColors)));
1209
+ }
1210
+ }
1211
+ /**
1212
+ * Get all charts embedded in this worksheet.
1213
+ */
1214
+ getCharts() {
1215
+ return [...this._charts];
1216
+ }
1217
+ /**
1218
+ * Remove a chart from this worksheet.
1219
+ *
1220
+ * @param chart - Either the chart object or its 0-based index in the worksheet.
1221
+ * @returns `true` if a chart was removed, `false` otherwise.
1222
+ */
1223
+ removeChart(chart) {
1224
+ const idx = typeof chart === "number" ? chart : this._charts.indexOf(chart);
1225
+ if (idx < 0 || idx >= this._charts.length) {
1226
+ return false;
1227
+ }
1228
+ const removed = this._charts.splice(idx, 1)[0];
1229
+ if (removed.chartNumber > 0) {
1230
+ this._workbook.removeChartEntry?.(removed.chartNumber);
1231
+ }
1232
+ if (removed.chartExNumber > 0) {
1233
+ this._workbook.removeChartExStructuredEntry?.(removed.chartExNumber);
1234
+ }
1235
+ // Prune the matching anchor from the loaded drawing so the writer
1236
+ // doesn't emit a dangling rel pointing at the now-removed chart
1237
+ // part. The drawing xform regenerates rels from `drawing.anchors`
1238
+ // on every write (see `worksheet-xform.ts` chart-anchor reconcile),
1239
+ // so dropping the anchor here is sufficient — we don't need to
1240
+ // hand-edit `drawing.rels` ourselves.
1241
+ const drawing = this._drawing;
1242
+ if (drawing?.anchors) {
1243
+ drawing.anchors = drawing.anchors.filter(anchor => {
1244
+ if (removed.chartNumber > 0 && anchor.chartNumber === removed.chartNumber) {
1245
+ return false;
1246
+ }
1247
+ if (removed.chartExNumber > 0 && anchor.chartExNumber === removed.chartExNumber) {
1248
+ return false;
1249
+ }
1250
+ return true;
1251
+ });
1252
+ }
1253
+ return true;
1254
+ }
1255
+ // ===========================================================================
1256
+ // Sparklines (x14:sparklineGroups)
1257
+ // ===========================================================================
1258
+ /**
1259
+ * Add a sparkline group to this worksheet.
1260
+ *
1261
+ * A sparkline group is a collection of small in-cell charts sharing common
1262
+ * styling. Sparklines are rendered via `x14:sparklineGroups` inside the
1263
+ * worksheet extension list.
1264
+ *
1265
+ * @returns The newly added SparklineGroup for further modification.
1266
+ */
1267
+ addSparklineGroup(options) {
1268
+ const group = (0, sparkline_1.buildSparklineGroup)(options);
1269
+ this._sparklineGroups.push(group);
1270
+ return group;
1271
+ }
1272
+ /** Get all sparkline groups on this worksheet. */
1273
+ getSparklineGroups() {
1274
+ return [...this._sparklineGroups];
1275
+ }
1276
+ /** @internal Used by the worksheet xform to access raw storage. */
1277
+ get sparklineGroups() {
1278
+ return this._sparklineGroups;
1279
+ }
1280
+ /** @internal Used when rebuilding from a parsed model. */
1281
+ set sparklineGroups(value) {
1282
+ this._sparklineGroups = value ?? [];
1283
+ }
1284
+ /**
1285
+ * Remove a sparkline group.
1286
+ *
1287
+ * @param groupOrIndex - The group object or its 0-based index.
1288
+ * @returns `true` if removed, `false` otherwise.
1289
+ */
1290
+ removeSparklineGroup(groupOrIndex) {
1291
+ const idx = typeof groupOrIndex === "number" ? groupOrIndex : this._sparklineGroups.indexOf(groupOrIndex);
1292
+ if (idx < 0 || idx >= this._sparklineGroups.length) {
1293
+ return false;
1294
+ }
1295
+ this._sparklineGroups.splice(idx, 1);
1296
+ return true;
1297
+ }
973
1298
  /**
974
1299
  * Using the image id from `Workbook.addImage`, set the background to the worksheet
975
1300
  */
@@ -1165,14 +1490,20 @@ class Worksheet {
1165
1490
  this.conditionalFormattings.push(cf);
1166
1491
  }
1167
1492
  /**
1168
- * Delete conditional formatting rules
1493
+ * Delete conditional formatting rules.
1494
+ *
1495
+ * - When `filter` is a number, removes the rule at that index.
1496
+ * - When `filter` is a function, removes every rule for which it returns `true`
1497
+ * (i.e. the predicate selects the rules to delete, not the ones to keep).
1498
+ * - When `filter` is omitted/falsy, removes all rules.
1169
1499
  */
1170
1500
  removeConditionalFormatting(filter) {
1171
1501
  if (typeof filter === "number") {
1172
1502
  this.conditionalFormattings.splice(filter, 1);
1173
1503
  }
1174
- else if (filter instanceof Function) {
1175
- this.conditionalFormattings = this.conditionalFormattings.filter(filter);
1504
+ else if (typeof filter === "function") {
1505
+ // Keep entries for which the predicate returns false; drop the matches.
1506
+ this.conditionalFormattings = this.conditionalFormattings.filter((value, index, array) => !filter(value, index, array));
1176
1507
  }
1177
1508
  else {
1178
1509
  this.conditionalFormattings = [];
@@ -1389,7 +1720,10 @@ class Worksheet {
1389
1720
  formControls: this.formControls.map(fc => fc.model),
1390
1721
  ignoredErrors: this.ignoredErrors,
1391
1722
  watermark: this._watermark,
1392
- drawing: this._drawing
1723
+ drawing: this._drawing,
1724
+ charts: this._charts.map(c => c.model),
1725
+ sparklineGroups: this._sparklineGroups,
1726
+ threadedComments: this.threadedComments
1393
1727
  };
1394
1728
  // =================================================
1395
1729
  // columns
@@ -1476,12 +1810,37 @@ class Worksheet {
1476
1810
  return tables;
1477
1811
  }, {});
1478
1812
  this.pivotTables = value.pivotTables;
1813
+ for (const pivotTable of this.pivotTables ?? []) {
1814
+ pivotTable.worksheetName ?? (pivotTable.worksheetName = this.name);
1815
+ pivotTable.name ?? (pivotTable.name = `PivotTable${pivotTable.tableNumber}`);
1816
+ }
1479
1817
  this.conditionalFormattings = value.conditionalFormattings;
1480
1818
  this.ignoredErrors = value.ignoredErrors ?? [];
1481
- // Form controls are currently write-only (not parsed from XLSX)
1482
- this.formControls = [];
1819
+ this.threadedComments = value.threadedComments ?? [];
1820
+ // Rebuild form controls from the serialised model so importSheet() and any
1821
+ // other model round-trip preserves checkbox state, position, and links.
1822
+ this.formControls = (value.formControls ?? []).map(fcModel => form_control_1.FormCheckbox.fromModel(this, fcModel));
1483
1823
  // Preserve loaded drawing data (charts, etc.)
1484
1824
  this._drawing = value.drawing;
1825
+ // Restore chart objects from model (explicit charts array) or from drawing anchors.
1826
+ // If chart support is not installed we still preserve the chart data inside
1827
+ // `workbook.charts` entries (the serialiser reads from there), but we leave
1828
+ // `_charts` empty because the `Chart` wrapper class lives in the optional
1829
+ // chart module. Consumers who want to *manipulate* charts must install
1830
+ // chart support; consumers doing pure load-save pass-through don't need to.
1831
+ const chartHost = (0, chart_host_registry_1.tryGetChartSupport)();
1832
+ if (chartHost && value.charts && value.charts.length > 0) {
1833
+ this._charts = value.charts.map((c) => chartHost.createChart(this, { chartNumber: c.chartNumber, chartExNumber: c.chartExNumber }, c.range));
1834
+ }
1835
+ else if (chartHost && value.drawing?.anchors) {
1836
+ // Extract chart anchors from drawing (loaded from XLSX)
1837
+ this._charts = value.drawing.anchors
1838
+ .filter((a) => a.chartNumber || a.chartExNumber)
1839
+ .map((a) => chartHost.createChart(this, { chartNumber: a.chartNumber ?? 0, chartExNumber: a.chartExNumber ?? 0 }, a.range));
1840
+ }
1841
+ else {
1842
+ this._charts = [];
1843
+ }
1485
1844
  }
1486
1845
  toJSON(opts) {
1487
1846
  const o = opts || {};
@@ -34,6 +34,46 @@ const RelType = {
34
34
  * relative to the current workbook's directory — exactly the behaviour users
35
35
  * expect from `=[测试.xlsx]Sheet1!A1`.
36
36
  */
37
- ExternalLinkPath: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath"
37
+ ExternalLinkPath: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",
38
+ Chart: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",
39
+ ChartEx: "http://schemas.microsoft.com/office/2014/relationships/chartEx",
40
+ ChartStyle: "http://schemas.microsoft.com/office/2011/relationships/chartStyle",
41
+ ChartColors: "http://schemas.microsoft.com/office/2011/relationships/chartColorStyle",
42
+ Drawing: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",
43
+ /**
44
+ * `c:userShapes` overlay drawing targeted from a chart rels file. OOXML
45
+ * treats this as a separate relationship type from regular worksheet
46
+ * drawings so the spec's schema for the two parts can diverge.
47
+ */
48
+ ChartUserShapes: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes",
49
+ Chartsheet: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",
50
+ /**
51
+ * Office 365 threaded comments — the conversation tree for modern
52
+ * comments, kept alongside classic VML comments so older viewers still
53
+ * see the fallback text. From MS-XLSX ext spec (2018).
54
+ */
55
+ ThreadedComments: "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",
56
+ /**
57
+ * `xl/persons/person.xml` — the person directory referenced by
58
+ * threaded-comment `personId` fields. Workbook-level relationship.
59
+ */
60
+ Person: "http://schemas.microsoft.com/office/2017/10/relationships/person",
61
+ /**
62
+ * Slicer part reference from sheets. One per slicer definition.
63
+ */
64
+ Slicer: "http://schemas.microsoft.com/office/2007/relationships/slicer",
65
+ /**
66
+ * Slicer cache reference from workbook — each slicer points at a
67
+ * cache defining its filter state.
68
+ */
69
+ SlicerCache: "http://schemas.microsoft.com/office/2007/relationships/slicerCache",
70
+ /**
71
+ * Excel 2013+ timeline control (date-based slicer).
72
+ */
73
+ Timeline: "http://schemas.microsoft.com/office/2011/relationships/timeline",
74
+ /**
75
+ * Cache behind a timeline control.
76
+ */
77
+ TimelineCache: "http://schemas.microsoft.com/office/2011/relationships/timelineCache"
38
78
  };
39
79
  exports.RelType = RelType;
@@ -11,11 +11,16 @@ class DefinedNamesXform extends base_xform_1.BaseXform {
11
11
  // <definedNames>
12
12
  // <definedName name="name">text</definedName>
13
13
  // <definedName name="_xlnm.Print_Area" localSheetId="0">text</definedName>
14
+ // <definedName name="_xlchart.v1.0" hidden="1">Sheet1!$A$1:$A$3</definedName>
14
15
  // </definedNames>
15
- xmlStream.openNode("definedName", {
16
+ const attrs = {
16
17
  name: model.name,
17
18
  localSheetId: model.localSheetId
18
- });
19
+ };
20
+ if (model.hidden) {
21
+ attrs.hidden = 1;
22
+ }
23
+ xmlStream.openNode("definedName", attrs);
19
24
  // For opaque names, write the rawText verbatim to preserve round-trip fidelity.
20
25
  // For reference/formula names, join the ranges array as before.
21
26
  if (model.kind === "opaque" && model.rawText) {
@@ -31,6 +36,7 @@ class DefinedNamesXform extends base_xform_1.BaseXform {
31
36
  case "definedName":
32
37
  this._parsedName = node.attributes.name;
33
38
  this._parsedLocalSheetId = node.attributes.localSheetId;
39
+ this._parsedHidden = node.attributes.hidden;
34
40
  this._parsedText = [];
35
41
  return true;
36
42
  default:
@@ -55,6 +61,9 @@ class DefinedNamesXform extends base_xform_1.BaseXform {
55
61
  if (this._parsedLocalSheetId !== undefined) {
56
62
  model.localSheetId = parseInt(this._parsedLocalSheetId, 10);
57
63
  }
64
+ if (this._parsedHidden === "1" || this._parsedHidden === "true") {
65
+ model.hidden = true;
66
+ }
58
67
  this.model = model;
59
68
  return false;
60
69
  }