@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
@@ -14,6 +14,15 @@ function getAnchorType(model) {
14
14
  class DrawingXform extends BaseXform {
15
15
  constructor() {
16
16
  super();
17
+ // mc:AlternateContent parse state
18
+ this._inAlternateContent = false;
19
+ this._acDepth = 0;
20
+ this._inChoice = false;
21
+ this._inFallback = false;
22
+ this._fallbackDepth = 0;
23
+ this._choiceRequires = undefined;
24
+ /** Number of anchors before entering mc:AlternateContent — used to tag new anchors */
25
+ this._anchorCountBeforeAC = 0;
17
26
  this.map = {
18
27
  "xdr:twoCellAnchor": new TwoCellAnchorXform(),
19
28
  "xdr:oneCellAnchor": new OneCellAnchorXform(),
@@ -34,7 +43,27 @@ class DrawingXform extends BaseXform {
34
43
  render(xmlStream, model) {
35
44
  const renderModel = model || this.model;
36
45
  xmlStream.openXml(StdDocAttributes);
37
- xmlStream.openNode(this.tag, DrawingXform.DRAWING_ATTRIBUTES);
46
+ // `<xdr:wsDr>` must declare every namespace prefix any descendant
47
+ // uses. Inline `xmlns:mc=…` declarations on a deeply nested
48
+ // `<mc:AlternateContent>` are legal XML and strictly sufficient for
49
+ // the parser, but Microsoft Excel's **drawing validator** walks the
50
+ // anchor tree ahead of the parser and rejects the whole drawing
51
+ // when it encounters an element whose prefix was not pre-declared
52
+ // on the wsDr root ("Removed Part: /xl/drawings/drawingN.xml
53
+ // part. (Drawing shape)"). Excel's own output for any drawing that
54
+ // hosts ChartEx content therefore declares all six prefixes —
55
+ // `xdr`, `a`, `r`, `c`, `mc`, `cx` — at the root.
56
+ //
57
+ // Switch to the extended namespace set whenever any anchor carries
58
+ // `alternateContent` metadata (form-control shapes, ChartEx
59
+ // charts, and their `cx1` variants all use the same wrapper). The
60
+ // bare `xdr` + `a` set is correct for "legacy only" drawings and
61
+ // round-trips byte-for-byte with Excel's output for those files.
62
+ const needsMcNamespaces = renderModel.anchors.some(a => !!a?.alternateContent);
63
+ const rootAttrs = needsMcNamespaces
64
+ ? DrawingXform.DRAWING_ATTRIBUTES_WITH_MC
65
+ : DrawingXform.DRAWING_ATTRIBUTES;
66
+ xmlStream.openNode(this.tag, rootAttrs);
38
67
  renderModel.anchors.forEach(item => {
39
68
  const anchor = this.map[item.anchorType];
40
69
  anchor.render(xmlStream, item);
@@ -42,6 +71,12 @@ class DrawingXform extends BaseXform {
42
71
  xmlStream.closeNode();
43
72
  }
44
73
  parseOpen(node) {
74
+ // Inside mc:Fallback — skip everything
75
+ if (this._inFallback) {
76
+ this._fallbackDepth++;
77
+ return true;
78
+ }
79
+ // Delegate to active parser
45
80
  if (this.parser) {
46
81
  this.parser.parseOpen(node);
47
82
  return true;
@@ -49,11 +84,29 @@ class DrawingXform extends BaseXform {
49
84
  switch (node.name) {
50
85
  case this.tag:
51
86
  this.reset();
52
- this.model = {
53
- anchors: []
54
- };
87
+ this.model = { anchors: [] };
88
+ break;
89
+ case "mc:AlternateContent":
90
+ this._acDepth = (this._acDepth ?? 0) + 1;
91
+ if (this._acDepth === 1) {
92
+ this._inAlternateContent = true;
93
+ this._anchorCountBeforeAC = this.model.anchors.length;
94
+ }
95
+ break;
96
+ case "mc:Choice":
97
+ if (this._inAlternateContent) {
98
+ this._inChoice = true;
99
+ this._choiceRequires = node.attributes?.Requires;
100
+ }
101
+ break;
102
+ case "mc:Fallback":
103
+ if (this._inAlternateContent) {
104
+ this._inFallback = true;
105
+ this._fallbackDepth = 1;
106
+ }
55
107
  break;
56
108
  default:
109
+ // Normal anchor dispatch (works both inside mc:Choice and at top level)
57
110
  this.parser = this.map[node.name];
58
111
  if (this.parser) {
59
112
  this.parser.parseOpen(node);
@@ -63,11 +116,22 @@ class DrawingXform extends BaseXform {
63
116
  return true;
64
117
  }
65
118
  parseText(text) {
119
+ if (this._inFallback) {
120
+ return;
121
+ }
66
122
  if (this.parser) {
67
123
  this.parser.parseText(text);
68
124
  }
69
125
  }
70
126
  parseClose(name) {
127
+ // Inside mc:Fallback — skip until closed
128
+ if (this._inFallback) {
129
+ this._fallbackDepth--;
130
+ if (this._fallbackDepth === 0) {
131
+ this._inFallback = false;
132
+ }
133
+ return true;
134
+ }
71
135
  if (this.parser) {
72
136
  if (!this.parser.parseClose(name)) {
73
137
  this.model.anchors.push(this.parser.model);
@@ -78,8 +142,26 @@ class DrawingXform extends BaseXform {
78
142
  switch (name) {
79
143
  case this.tag:
80
144
  return false;
145
+ case "mc:AlternateContent":
146
+ this._acDepth = (this._acDepth ?? 0) - 1;
147
+ if (this._acDepth <= 0) {
148
+ // Tag any anchors added during this mc:AlternateContent with alternateContent info
149
+ if (this._inAlternateContent && this._choiceRequires) {
150
+ const anchors = this.model.anchors;
151
+ for (let i = this._anchorCountBeforeAC; i < anchors.length; i++) {
152
+ anchors[i].alternateContent = { requires: this._choiceRequires };
153
+ }
154
+ }
155
+ this._inAlternateContent = false;
156
+ this._inChoice = false;
157
+ this._choiceRequires = undefined;
158
+ this._acDepth = 0;
159
+ }
160
+ return true;
161
+ case "mc:Choice":
162
+ this._inChoice = false;
163
+ return true;
81
164
  default:
82
- // could be some unrecognised tags
83
165
  return true;
84
166
  }
85
167
  }
@@ -101,4 +183,26 @@ DrawingXform.DRAWING_ATTRIBUTES = {
101
183
  "xmlns:xdr": "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",
102
184
  "xmlns:a": "http://schemas.openxmlformats.org/drawingml/2006/main"
103
185
  };
186
+ /**
187
+ * Extended namespace set used when the drawing contains anchors
188
+ * wrapped in `<mc:AlternateContent>` — the ChartEx case. Excel's
189
+ * strict loader requires the `mc`, `r`, `c`, and `cx` prefixes at
190
+ * the root of `<xdr:wsDr>` before it will parse `<mc:Choice>` /
191
+ * `<cx:chart>` descendants. Declaring them only inside the inner
192
+ * `<mc:AlternateContent>` element (as earlier versions did) made
193
+ * Excel reject the drawing and report "Removed Part:
194
+ * /xl/drawings/drawingN.xml (Drawing shape)".
195
+ *
196
+ * Mirrors what Excel itself emits when it writes a drawing that
197
+ * hosts a ChartEx chart — see `__tests__/data/workbook-roundtrip-
198
+ * chartex.xlsx` (fixtures authored by Excel 2016+).
199
+ */
200
+ DrawingXform.DRAWING_ATTRIBUTES_WITH_MC = {
201
+ "xmlns:xdr": "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",
202
+ "xmlns:a": "http://schemas.openxmlformats.org/drawingml/2006/main",
203
+ "xmlns:r": "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
204
+ "xmlns:c": "http://schemas.openxmlformats.org/drawingml/2006/chart",
205
+ "xmlns:mc": "http://schemas.openxmlformats.org/markup-compatibility/2006",
206
+ "xmlns:cx": "http://schemas.microsoft.com/office/drawing/2014/chartex"
207
+ };
104
208
  export { DrawingXform };
@@ -0,0 +1,54 @@
1
+ /**
2
+ * GraphicFrameXform — handles `xdr:graphicFrame` elements in drawing XML.
3
+ *
4
+ * A graphicFrame is the container for embedded objects such as charts.
5
+ * The OOXML structure:
6
+ *
7
+ * <xdr:graphicFrame macro="">
8
+ * <xdr:nvGraphicFramePr>
9
+ * <xdr:cNvPr id="2" name="Chart 1"/>
10
+ * <xdr:cNvGraphicFramePr/>
11
+ * </xdr:nvGraphicFramePr>
12
+ * <xdr:xfrm>
13
+ * <a:off x="0" y="0"/>
14
+ * <a:ext cx="0" cy="0"/>
15
+ * </xdr:xfrm>
16
+ * <a:graphic>
17
+ * <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart">
18
+ * <c:chart xmlns:c="..." xmlns:r="..." r:id="rId1"/>
19
+ * </a:graphicData>
20
+ * </a:graphic>
21
+ * </xdr:graphicFrame>
22
+ */
23
+ import { BaseXform } from "../base-xform.js";
24
+ export interface GraphicFrameModel {
25
+ /** Drawing object index (1-based unique id within the drawing part) */
26
+ index?: number;
27
+ /** Display name (e.g. "Chart 1") */
28
+ name?: string;
29
+ /** Relationship ID referencing the chart part */
30
+ rId?: string;
31
+ /** The graphic data URI — defaults to chart URI */
32
+ graphicDataUri?: string;
33
+ /** Raw XML for a:extLst inside xdr:cNvPr (round-trip preservation) */
34
+ cNvPrExtLst?: string;
35
+ /** True when the graphic frame references a cx:chart (Office 2016+ extended chart) */
36
+ isChartEx?: boolean;
37
+ }
38
+ declare class GraphicFrameXform extends BaseXform {
39
+ model: GraphicFrameModel;
40
+ parser: any;
41
+ private _inNvPr;
42
+ private _inGraphicData;
43
+ /** Raw XML capture for a:extLst inside xdr:cNvPr */
44
+ private _extLstCapture;
45
+ get tag(): string;
46
+ prepare(model: GraphicFrameModel, options: {
47
+ index: number;
48
+ }): void;
49
+ render(xmlStream: any, model: GraphicFrameModel): void;
50
+ parseOpen(node: any): boolean;
51
+ parseText(text: string): void;
52
+ parseClose(name: string): boolean;
53
+ }
54
+ export { GraphicFrameXform };
@@ -0,0 +1,225 @@
1
+ /**
2
+ * GraphicFrameXform — handles `xdr:graphicFrame` elements in drawing XML.
3
+ *
4
+ * A graphicFrame is the container for embedded objects such as charts.
5
+ * The OOXML structure:
6
+ *
7
+ * <xdr:graphicFrame macro="">
8
+ * <xdr:nvGraphicFramePr>
9
+ * <xdr:cNvPr id="2" name="Chart 1"/>
10
+ * <xdr:cNvGraphicFramePr/>
11
+ * </xdr:nvGraphicFramePr>
12
+ * <xdr:xfrm>
13
+ * <a:off x="0" y="0"/>
14
+ * <a:ext cx="0" cy="0"/>
15
+ * </xdr:xfrm>
16
+ * <a:graphic>
17
+ * <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/chart">
18
+ * <c:chart xmlns:c="..." xmlns:r="..." r:id="rId1"/>
19
+ * </a:graphicData>
20
+ * </a:graphic>
21
+ * </xdr:graphicFrame>
22
+ */
23
+ import { BaseXform } from "../base-xform.js";
24
+ import { uuidV4 } from "../../../../../utils/uuid.js";
25
+ const CHART_URI = "http://schemas.openxmlformats.org/drawingml/2006/chart";
26
+ const CHART_EX_URI = "http://schemas.microsoft.com/office/drawing/2014/chartex";
27
+ // URI identifying the Office `creationId` extension registered on
28
+ // `xdr:cNvPr`. This GUID is the Microsoft-assigned registry value
29
+ // for the extension — every Office-authored drawing carries the
30
+ // same uri on this element.
31
+ const CREATION_ID_EXT_URI = "{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}";
32
+ class GraphicFrameXform extends BaseXform {
33
+ constructor() {
34
+ super(...arguments);
35
+ // SAX parse state
36
+ this._inNvPr = false;
37
+ this._inGraphicData = false;
38
+ /** Raw XML capture for a:extLst inside xdr:cNvPr */
39
+ this._extLstCapture = null;
40
+ }
41
+ get tag() {
42
+ return "xdr:graphicFrame";
43
+ }
44
+ prepare(model, options) {
45
+ if (model.index === undefined) {
46
+ model.index = options.index + 1;
47
+ }
48
+ }
49
+ render(xmlStream, model) {
50
+ xmlStream.openNode(this.tag, { macro: "" });
51
+ // Non-visual properties
52
+ xmlStream.openNode("xdr:nvGraphicFramePr");
53
+ // Microsoft Excel starts `xdr:cNvPr/@id` at 2 (id 1 is
54
+ // reserved for the anchor's own non-visual drawing id slot
55
+ // internal to Office's drawing engine). Mirror the convention
56
+ // here so freshly-authored drawings round-trip byte-for-byte
57
+ // against Excel's output. Loaded files retain whatever id they
58
+ // carried at parse time via `model.index`.
59
+ const cNvPrId = model.index ?? 2;
60
+ const cNvPrName = model.name ?? `Chart ${cNvPrId}`;
61
+ if (model.cNvPrExtLst) {
62
+ xmlStream.openNode("xdr:cNvPr", {
63
+ id: cNvPrId,
64
+ name: cNvPrName
65
+ });
66
+ xmlStream.writeRaw(model.cNvPrExtLst);
67
+ xmlStream.closeNode(); // xdr:cNvPr
68
+ }
69
+ else if (model.isChartEx) {
70
+ // ChartEx drawings — auto-generate Microsoft's standard
71
+ // `<a:extLst>` with an `<a16:creationId>` extension so
72
+ // Excel 2019+ can track the drawing across sessions.
73
+ // Without this extension, strict Excel builds have been
74
+ // observed to reject the drawing part on load with
75
+ // "Removed Part: /xl/drawings/drawingN.xml (Drawing shape)"
76
+ // even when the chartEx reference inside is otherwise
77
+ // valid. A random UUID suffices — the id only has to be
78
+ // stable within a given saved file; it isn't a content
79
+ // address.
80
+ xmlStream.openNode("xdr:cNvPr", {
81
+ id: cNvPrId,
82
+ name: cNvPrName
83
+ });
84
+ xmlStream.openNode("a:extLst");
85
+ xmlStream.openNode("a:ext", { uri: CREATION_ID_EXT_URI });
86
+ xmlStream.leafNode("a16:creationId", {
87
+ "xmlns:a16": "http://schemas.microsoft.com/office/drawing/2014/main",
88
+ id: `{${uuidV4().toUpperCase()}}`
89
+ });
90
+ xmlStream.closeNode(); // a:ext
91
+ xmlStream.closeNode(); // a:extLst
92
+ xmlStream.closeNode(); // xdr:cNvPr
93
+ }
94
+ else {
95
+ xmlStream.leafNode("xdr:cNvPr", {
96
+ id: cNvPrId,
97
+ name: cNvPrName
98
+ });
99
+ }
100
+ xmlStream.leafNode("xdr:cNvGraphicFramePr");
101
+ xmlStream.closeNode(); // xdr:nvGraphicFramePr
102
+ // Transform (position/size handled by anchor, so use zeros)
103
+ xmlStream.openNode("xdr:xfrm");
104
+ xmlStream.leafNode("a:off", { x: 0, y: 0 });
105
+ xmlStream.leafNode("a:ext", { cx: 0, cy: 0 });
106
+ xmlStream.closeNode(); // xdr:xfrm
107
+ // Graphic
108
+ xmlStream.openNode("a:graphic");
109
+ if (model.isChartEx) {
110
+ xmlStream.openNode("a:graphicData", { uri: CHART_EX_URI });
111
+ xmlStream.leafNode("cx:chart", {
112
+ "xmlns:cx": CHART_EX_URI,
113
+ "xmlns:r": "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
114
+ "r:id": model.rId
115
+ });
116
+ }
117
+ else {
118
+ xmlStream.openNode("a:graphicData", {
119
+ uri: model.graphicDataUri ?? CHART_URI
120
+ });
121
+ xmlStream.leafNode("c:chart", {
122
+ "xmlns:c": "http://schemas.openxmlformats.org/drawingml/2006/chart",
123
+ "xmlns:r": "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
124
+ "r:id": model.rId
125
+ });
126
+ }
127
+ xmlStream.closeNode(); // a:graphicData
128
+ xmlStream.closeNode(); // a:graphic
129
+ xmlStream.closeNode(); // xdr:graphicFrame
130
+ }
131
+ parseOpen(node) {
132
+ // Raw XML capture mode for extLst
133
+ if (this._extLstCapture) {
134
+ const attrs = Object.entries(node.attributes || {})
135
+ .map(([k, v]) => ` ${k}="${v}"`)
136
+ .join("");
137
+ if (node.isSelfClosing) {
138
+ this._extLstCapture.parts.push(`<${node.name}${attrs}/>`);
139
+ this._extLstCapture.skipNextClose = true;
140
+ }
141
+ else {
142
+ this._extLstCapture.parts.push(`<${node.name}${attrs}>`);
143
+ this._extLstCapture.depth++;
144
+ }
145
+ return true;
146
+ }
147
+ switch (node.name) {
148
+ case this.tag:
149
+ this.reset();
150
+ this.model = {};
151
+ this._extLstCapture = null;
152
+ break;
153
+ case "xdr:cNvPr":
154
+ this._inNvPr = true;
155
+ this.model.index = parseInt(node.attributes.id, 10) || undefined;
156
+ this.model.name = node.attributes.name;
157
+ break;
158
+ case "a:extLst":
159
+ if (this._inNvPr) {
160
+ // Start capturing raw XML
161
+ const attrs = Object.entries(node.attributes || {})
162
+ .map(([k, v]) => ` ${k}="${v}"`)
163
+ .join("");
164
+ this._extLstCapture = {
165
+ depth: 1,
166
+ parts: [`<a:extLst${attrs}>`],
167
+ skipNextClose: false
168
+ };
169
+ return true;
170
+ }
171
+ break;
172
+ case "a:graphicData":
173
+ this._inGraphicData = true;
174
+ this.model.graphicDataUri = node.attributes.uri;
175
+ break;
176
+ case "c:chart":
177
+ if (this._inGraphicData) {
178
+ this.model.rId = node.attributes["r:id"];
179
+ }
180
+ break;
181
+ case "cx:chart":
182
+ if (this._inGraphicData) {
183
+ this.model.rId = node.attributes["r:id"];
184
+ this.model.isChartEx = true;
185
+ }
186
+ break;
187
+ default:
188
+ break;
189
+ }
190
+ return true;
191
+ }
192
+ parseText(text) {
193
+ if (this._extLstCapture && text) {
194
+ this._extLstCapture.parts.push(text);
195
+ }
196
+ }
197
+ parseClose(name) {
198
+ if (this._extLstCapture) {
199
+ if (this._extLstCapture.skipNextClose) {
200
+ this._extLstCapture.skipNextClose = false;
201
+ return true;
202
+ }
203
+ this._extLstCapture.parts.push(`</${name}>`);
204
+ this._extLstCapture.depth--;
205
+ if (this._extLstCapture.depth === 0) {
206
+ this.model.cNvPrExtLst = this._extLstCapture.parts.join("");
207
+ this._extLstCapture = null;
208
+ }
209
+ return true;
210
+ }
211
+ switch (name) {
212
+ case this.tag:
213
+ return false;
214
+ case "xdr:cNvPr":
215
+ this._inNvPr = false;
216
+ return true;
217
+ case "a:graphicData":
218
+ this._inGraphicData = false;
219
+ return true;
220
+ default:
221
+ return true;
222
+ }
223
+ }
224
+ }
225
+ export { GraphicFrameXform };
@@ -5,7 +5,9 @@ interface OneCellModel {
5
5
  tl: any;
6
6
  ext: any;
7
7
  };
8
- picture: any;
8
+ picture?: any;
9
+ /** Graphic frame model (for charts and other embedded objects) */
10
+ graphicFrame?: any;
9
11
  }
10
12
  declare class OneCellAnchorXform extends BaseCellAnchorXform {
11
13
  constructor();
@@ -1,6 +1,7 @@
1
1
  import { BaseCellAnchorXform } from "./base-cell-anchor-xform.js";
2
2
  import { CellPositionXform } from "./cell-position-xform.js";
3
3
  import { ExtXform } from "./ext-xform.js";
4
+ import { GraphicFrameXform } from "./graphic-frame-xform.js";
4
5
  import { PicXform } from "./pic-xform.js";
5
6
  import { StaticXform } from "../static-xform.js";
6
7
  class OneCellAnchorXform extends BaseCellAnchorXform {
@@ -10,6 +11,7 @@ class OneCellAnchorXform extends BaseCellAnchorXform {
10
11
  "xdr:from": new CellPositionXform({ tag: "xdr:from" }),
11
12
  "xdr:ext": new ExtXform({ tag: "xdr:ext" }),
12
13
  "xdr:pic": new PicXform(),
14
+ "xdr:graphicFrame": new GraphicFrameXform(),
13
15
  "xdr:clientData": new StaticXform({ tag: "xdr:clientData" })
14
16
  };
15
17
  }
@@ -17,13 +19,23 @@ class OneCellAnchorXform extends BaseCellAnchorXform {
17
19
  return "xdr:oneCellAnchor";
18
20
  }
19
21
  prepare(model, options) {
20
- this.map["xdr:pic"].prepare(model.picture, options);
22
+ if (model.picture) {
23
+ this.map["xdr:pic"].prepare(model.picture, options);
24
+ }
25
+ else if (model.graphicFrame) {
26
+ this.map["xdr:graphicFrame"].prepare(model.graphicFrame, options);
27
+ }
21
28
  }
22
29
  render(xmlStream, model) {
23
30
  xmlStream.openNode(this.tag, { editAs: model.range.editAs ?? "oneCell" });
24
31
  this.map["xdr:from"].render(xmlStream, model.range.tl);
25
32
  this.map["xdr:ext"].render(xmlStream, model.range.ext);
26
- this.map["xdr:pic"].render(xmlStream, model.picture);
33
+ if (model.picture) {
34
+ this.map["xdr:pic"].render(xmlStream, model.picture);
35
+ }
36
+ else if (model.graphicFrame) {
37
+ this.map["xdr:graphicFrame"].render(xmlStream, model.graphicFrame);
38
+ }
27
39
  this.map["xdr:clientData"].render(xmlStream, {});
28
40
  xmlStream.closeNode();
29
41
  }
@@ -39,6 +51,7 @@ class OneCellAnchorXform extends BaseCellAnchorXform {
39
51
  this.model.range.tl = this.map["xdr:from"].model;
40
52
  this.model.range.ext = this.map["xdr:ext"].model;
41
53
  this.model.picture = this.map["xdr:pic"].model;
54
+ this.model.graphicFrame = this.map["xdr:graphicFrame"].model;
42
55
  return false;
43
56
  default:
44
57
  // could be some unrecognised tags
@@ -46,7 +59,9 @@ class OneCellAnchorXform extends BaseCellAnchorXform {
46
59
  }
47
60
  }
48
61
  reconcile(model, options) {
49
- model.medium = this.reconcilePicture(model.picture, options);
62
+ if (model.picture) {
63
+ model.medium = this.reconcilePicture(model.picture, options);
64
+ }
50
65
  }
51
66
  }
52
67
  export { OneCellAnchorXform };
@@ -7,18 +7,64 @@ interface TwoCellModel {
7
7
  };
8
8
  picture?: any;
9
9
  shape?: any;
10
+ /** Graphic frame model (for charts and other embedded objects) */
11
+ graphicFrame?: any;
10
12
  /** Wrap the anchor in mc:AlternateContent for modern drawing clients */
11
13
  alternateContent?: {
12
14
  requires: string;
13
15
  };
14
16
  }
15
17
  declare class TwoCellAnchorXform extends BaseCellAnchorXform {
18
+ private _acDepth;
19
+ private _inFallback;
20
+ private _fallbackDepth;
21
+ private _choiceRequires;
16
22
  constructor();
17
23
  get tag(): string;
18
24
  prepare(model: TwoCellModel, options: {
19
25
  index: number;
20
26
  }): void;
21
27
  render(xmlStream: any, model: TwoCellModel): void;
28
+ /**
29
+ * Emit the ChartEx `<mc:AlternateContent>` block that occupies the
30
+ * shape slot inside a `<xdr:twoCellAnchor>` — between `<xdr:to>`
31
+ * and `<xdr:clientData>`.
32
+ *
33
+ * Structure mirrors Microsoft Excel's own output:
34
+ *
35
+ * <mc:AlternateContent>
36
+ * <mc:Choice Requires="cx1" xmlns:cx1="…/2015/9/8/chartex">
37
+ * <xdr:graphicFrame>…<cx:chart/>…</xdr:graphicFrame>
38
+ * </mc:Choice>
39
+ * <mc:Fallback>
40
+ * <xdr:sp>…placeholder shape…</xdr:sp>
41
+ * </mc:Fallback>
42
+ * </mc:AlternateContent>
43
+ *
44
+ * Both the Choice graphicFrame and the Fallback shape inherit
45
+ * sizing from the outer `<xdr:from>`/`<xdr:to>` cell range — they
46
+ * do NOT each re-declare the anchor; there is only one anchor.
47
+ */
48
+ private renderChartExAlternateContent;
49
+ /**
50
+ * Emit the placeholder `<xdr:sp>` that lives inside the
51
+ * `<mc:Fallback>` of a ChartEx anchor. Legacy Excel (2010/2013)
52
+ * and non-Microsoft loaders that don't understand the `cx1`
53
+ * namespace render this in place of the `cx:chart`.
54
+ *
55
+ * Matches Microsoft Excel's convention: cNvPr id=0 / empty name
56
+ * (a deliberate placeholder, not a real drawing object), a white
57
+ * rectangle sized to the anchor's cell range, and the localizable
58
+ * "This chart isn't available" message. The shape's own xfrm
59
+ * carries concrete EMU values rather than zeros because the
60
+ * Fallback expansion is meant to be rendered standalone — a
61
+ * zero-size shape would collapse and Excel 2016+ flags that as
62
+ * "drawing shape" validation failure even though the outer
63
+ * twoCellAnchor provides sizing.
64
+ */
65
+ private renderChartExFallbackShape;
66
+ parseOpen(node: any): boolean;
67
+ parseText(text: string): void;
22
68
  parseClose(name: string): boolean;
23
69
  reconcile(model: any, options: any): void;
24
70
  }