ooxml-core 1.1.0 → 1.2.1

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 (870) hide show
  1. package/README.md +18 -18
  2. package/dist/{PptxHandler-75LOVF7I.mjs → PptxHandler-VQQS4VS6.mjs} +3 -3
  3. package/dist/automation/index.cjs +7567 -4401
  4. package/dist/automation/index.mjs +7567 -4401
  5. package/dist/chart/bar-cluster-geometry.d.ts +6 -0
  6. package/dist/chart/bar-cluster-geometry.d.ts.map +1 -1
  7. package/dist/chart/color-palettes.d.ts +2 -2
  8. package/dist/chart/color-palettes.d.ts.map +1 -1
  9. package/dist/chart/data-cache.d.ts +6 -0
  10. package/dist/chart/data-cache.d.ts.map +1 -0
  11. package/dist/chart/gradient-coincident-stops.d.ts +17 -0
  12. package/dist/chart/gradient-coincident-stops.d.ts.map +1 -0
  13. package/dist/chart/gradient-definition.d.ts +3 -3
  14. package/dist/chart/gradient-definition.d.ts.map +1 -1
  15. package/dist/chart/index.cjs +3069 -140
  16. package/dist/chart/index.d.ts +7 -0
  17. package/dist/chart/index.d.ts.map +1 -1
  18. package/dist/chart/index.mjs +3048 -141
  19. package/dist/chart/model-chrome.d.ts +39 -0
  20. package/dist/chart/model-chrome.d.ts.map +1 -0
  21. package/dist/chart/model-series.d.ts +189 -0
  22. package/dist/chart/model-series.d.ts.map +1 -0
  23. package/dist/chart/model.d.ts +202 -0
  24. package/dist/chart/model.d.ts.map +1 -0
  25. package/dist/chart/parse-chrome.d.ts +16 -0
  26. package/dist/chart/parse-chrome.d.ts.map +1 -0
  27. package/dist/chart/parse-plot.d.ts +11 -0
  28. package/dist/chart/parse-plot.d.ts.map +1 -0
  29. package/dist/chart/parse-series.d.ts +8 -0
  30. package/dist/chart/parse-series.d.ts.map +1 -0
  31. package/dist/chart/parse-space.d.ts +8 -0
  32. package/dist/chart/parse-space.d.ts.map +1 -0
  33. package/dist/chart/parse-text.d.ts +12 -0
  34. package/dist/chart/parse-text.d.ts.map +1 -0
  35. package/dist/chart/parse-util.d.ts +42 -0
  36. package/dist/chart/parse-util.d.ts.map +1 -0
  37. package/dist/{xlsx/layout → chart/render}/chart-appearance.d.ts +4 -4
  38. package/dist/chart/render/chart-appearance.d.ts.map +1 -0
  39. package/dist/chart/render/chart-colors.d.ts +9 -0
  40. package/dist/chart/render/chart-colors.d.ts.map +1 -0
  41. package/dist/chart/render/chart-scale.d.ts.map +1 -0
  42. package/dist/chart/render/chart-spacing.d.ts +6 -0
  43. package/dist/chart/render/chart-spacing.d.ts.map +1 -0
  44. package/dist/{xlsx/layout → chart/render}/chart-svg-appearance.d.ts +1 -1
  45. package/dist/chart/render/chart-svg-appearance.d.ts.map +1 -0
  46. package/dist/chart/render/chart-svg-bars.d.ts.map +1 -0
  47. package/dist/chart/render/chart-svg-cartesian.d.ts.map +1 -0
  48. package/dist/chart/render/chart-svg-legend.d.ts.map +1 -0
  49. package/dist/chart/render/chart-svg-radial.d.ts.map +1 -0
  50. package/dist/chart/render/chart-svg-text-metrics.d.ts.map +1 -0
  51. package/dist/chart/render/chart-svg-title-text.d.ts.map +1 -0
  52. package/dist/chart/render/chart-svg-util.d.ts.map +1 -0
  53. package/dist/chart/render/chart-svg.d.ts.map +1 -0
  54. package/dist/chart/render/chart-title-text.d.ts +14 -0
  55. package/dist/chart/render/chart-title-text.d.ts.map +1 -0
  56. package/dist/chart/render/chart-value-axis.d.ts +6 -0
  57. package/dist/chart/render/chart-value-axis.d.ts.map +1 -0
  58. package/dist/chart/render/chart-view.d.ts +71 -0
  59. package/dist/chart/render/chart-view.d.ts.map +1 -0
  60. package/dist/chart/render/index.d.ts +9 -0
  61. package/dist/chart/render/index.d.ts.map +1 -0
  62. package/dist/chart/render/render-space.d.ts +34 -0
  63. package/dist/chart/render/render-space.d.ts.map +1 -0
  64. package/dist/chart/render/summary-from-space.d.ts +15 -0
  65. package/dist/chart/render/summary-from-space.d.ts.map +1 -0
  66. package/dist/chart/render/summary.d.ts +51 -0
  67. package/dist/chart/render/summary.d.ts.map +1 -0
  68. package/dist/chart/render/theme-palette.d.ts +8 -0
  69. package/dist/chart/render/theme-palette.d.ts.map +1 -0
  70. package/dist/chart/style-definition.d.ts +7 -7
  71. package/dist/chart/style-definition.d.ts.map +1 -1
  72. package/dist/chart/write-axes.d.ts +5 -0
  73. package/dist/chart/write-axes.d.ts.map +1 -0
  74. package/dist/chart/write-chrome.d.ts +9 -0
  75. package/dist/chart/write-chrome.d.ts.map +1 -0
  76. package/dist/chart/write-plot.d.ts +7 -0
  77. package/dist/chart/write-plot.d.ts.map +1 -0
  78. package/dist/chart/write-series.d.ts +7 -0
  79. package/dist/chart/write-series.d.ts.map +1 -0
  80. package/dist/chart/write-shape.d.ts +21 -0
  81. package/dist/chart/write-shape.d.ts.map +1 -0
  82. package/dist/chart/write-space.d.ts +15 -0
  83. package/dist/chart/write-space.d.ts.map +1 -0
  84. package/dist/chart/write-text-body.d.ts +6 -0
  85. package/dist/chart/write-text-body.d.ts.map +1 -0
  86. package/dist/chart/write-text.d.ts +15 -0
  87. package/dist/chart/write-text.d.ts.map +1 -0
  88. package/dist/chart/write-util.d.ts +24 -0
  89. package/dist/chart/write-util.d.ts.map +1 -0
  90. package/dist/chart/xml-fragment.d.ts +13 -0
  91. package/dist/chart/xml-fragment.d.ts.map +1 -0
  92. package/dist/{chunk-HUBK4EOT.mjs → chunk-3IT6ZD7K.mjs} +2 -0
  93. package/dist/{chunk-TS3E27NK.mjs → chunk-3UMDVJRN.mjs} +12 -1
  94. package/dist/{chunk-P22OKTRK.mjs → chunk-54S5A5PZ.mjs} +208 -159
  95. package/dist/{chunk-OMGH6IKY.mjs → chunk-5U27IVB7.mjs} +42 -5
  96. package/dist/{chunk-RFX7AJDZ.mjs → chunk-5VLNF4OX.mjs} +2 -2
  97. package/dist/{chunk-OJI3N5AY.cjs → chunk-FRUB573B.cjs} +2 -0
  98. package/dist/{chunk-75LA7H3F.mjs → chunk-V2BIGIH4.mjs} +27504 -27464
  99. package/dist/{chunk-Q27H4HFS.mjs → chunk-XBNSBDNT.mjs} +1 -1
  100. package/dist/{chunk-2C72N64G.cjs → chunk-XROY25LN.cjs} +12 -0
  101. package/dist/{chunk-LA7D6ZYQ.mjs → chunk-XSFHGZFH.mjs} +3579 -2083
  102. package/dist/collab/index.cjs +1 -0
  103. package/dist/collab/index.mjs +1 -0
  104. package/dist/collab/transport-provider.d.ts.map +1 -1
  105. package/dist/color/hex-rgb.d.ts +5 -0
  106. package/dist/color/hex-rgb.d.ts.map +1 -0
  107. package/dist/color/index.cjs +12 -0
  108. package/dist/color/index.d.ts +1 -0
  109. package/dist/color/index.d.ts.map +1 -1
  110. package/dist/color/index.mjs +11 -1
  111. package/dist/diagram/engine/alg-composite.d.ts +18 -0
  112. package/dist/diagram/engine/alg-composite.d.ts.map +1 -0
  113. package/dist/diagram/engine/alg-connector.d.ts +17 -0
  114. package/dist/diagram/engine/alg-connector.d.ts.map +1 -0
  115. package/dist/diagram/engine/alg-cycle.d.ts +28 -0
  116. package/dist/diagram/engine/alg-cycle.d.ts.map +1 -0
  117. package/dist/diagram/engine/alg-hier.d.ts +33 -0
  118. package/dist/diagram/engine/alg-hier.d.ts.map +1 -0
  119. package/dist/diagram/engine/alg-linear.d.ts +24 -0
  120. package/dist/diagram/engine/alg-linear.d.ts.map +1 -0
  121. package/dist/diagram/engine/alg-pyra.d.ts +117 -0
  122. package/dist/diagram/engine/alg-pyra.d.ts.map +1 -0
  123. package/dist/diagram/engine/alg-snake.d.ts +21 -0
  124. package/dist/diagram/engine/alg-snake.d.ts.map +1 -0
  125. package/dist/diagram/engine/axis.d.ts +24 -0
  126. package/dist/diagram/engine/axis.d.ts.map +1 -0
  127. package/dist/diagram/engine/conditions.d.ts +12 -0
  128. package/dist/diagram/engine/conditions.d.ts.map +1 -0
  129. package/dist/diagram/engine/connector-shape.d.ts +25 -0
  130. package/dist/diagram/engine/connector-shape.d.ts.map +1 -0
  131. package/dist/diagram/engine/connector-size.d.ts +30 -0
  132. package/dist/diagram/engine/connector-size.d.ts.map +1 -0
  133. package/dist/diagram/engine/constraint-eval.d.ts +37 -0
  134. package/dist/diagram/engine/constraint-eval.d.ts.map +1 -0
  135. package/dist/diagram/engine/constraint-fill-idiom.d.ts +61 -0
  136. package/dist/diagram/engine/constraint-fill-idiom.d.ts.map +1 -0
  137. package/dist/diagram/engine/constraint-units.d.ts +35 -0
  138. package/dist/diagram/engine/constraint-units.d.ts.map +1 -0
  139. package/dist/diagram/engine/data-points.d.ts +48 -0
  140. package/dist/diagram/engine/data-points.d.ts.map +1 -0
  141. package/dist/diagram/engine/engine-context.d.ts +21 -0
  142. package/dist/diagram/engine/engine-context.d.ts.map +1 -0
  143. package/dist/diagram/engine/engine-first-allowlist.d.ts +31 -0
  144. package/dist/diagram/engine/engine-first-allowlist.d.ts.map +1 -0
  145. package/dist/diagram/engine/engine-fonts.d.ts +26 -0
  146. package/dist/diagram/engine/engine-fonts.d.ts.map +1 -0
  147. package/dist/diagram/engine/engine-node.d.ts +72 -0
  148. package/dist/diagram/engine/engine-node.d.ts.map +1 -0
  149. package/dist/diagram/engine/engine-to-result.d.ts +43 -0
  150. package/dist/diagram/engine/engine-to-result.d.ts.map +1 -0
  151. package/dist/diagram/engine/engine.d.ts +18 -0
  152. package/dist/diagram/engine/engine.d.ts.map +1 -0
  153. package/dist/diagram/engine/font-groups.d.ts +33 -0
  154. package/dist/diagram/engine/font-groups.d.ts.map +1 -0
  155. package/dist/diagram/engine/font-length.d.ts +26 -0
  156. package/dist/diagram/engine/font-length.d.ts.map +1 -0
  157. package/dist/diagram/engine/font-search.d.ts +38 -0
  158. package/dist/diagram/engine/font-search.d.ts.map +1 -0
  159. package/dist/diagram/engine/hier-assistants.d.ts +47 -0
  160. package/dist/diagram/engine/hier-assistants.d.ts.map +1 -0
  161. package/dist/diagram/engine/hier-hang.d.ts +28 -0
  162. package/dist/diagram/engine/hier-hang.d.ts.map +1 -0
  163. package/dist/diagram/engine/hier-measure.d.ts +33 -0
  164. package/dist/diagram/engine/hier-measure.d.ts.map +1 -0
  165. package/dist/diagram/engine/hier-node-size.d.ts +23 -0
  166. package/dist/diagram/engine/hier-node-size.d.ts.map +1 -0
  167. package/dist/diagram/engine/hier-shape.d.ts +31 -0
  168. package/dist/diagram/engine/hier-shape.d.ts.map +1 -0
  169. package/dist/diagram/engine/index.d.ts +6 -0
  170. package/dist/diagram/engine/index.d.ts.map +1 -0
  171. package/dist/diagram/engine/layout-def-parse.d.ts +13 -0
  172. package/dist/diagram/engine/layout-def-parse.d.ts.map +1 -0
  173. package/dist/diagram/engine/layout-def-types.d.ts +118 -0
  174. package/dist/diagram/engine/layout-def-types.d.ts.map +1 -0
  175. package/dist/diagram/engine/layout-driver.d.ts +41 -0
  176. package/dist/diagram/engine/layout-driver.d.ts.map +1 -0
  177. package/dist/diagram/engine/layout-font.d.ts +27 -0
  178. package/dist/diagram/engine/layout-font.d.ts.map +1 -0
  179. package/dist/diagram/engine/move-with-merge.d.ts +49 -0
  180. package/dist/diagram/engine/move-with-merge.d.ts.map +1 -0
  181. package/dist/diagram/engine/node-text.d.ts +20 -0
  182. package/dist/diagram/engine/node-text.d.ts.map +1 -0
  183. package/dist/diagram/engine/ordered-xml.d.ts +30 -0
  184. package/dist/diagram/engine/ordered-xml.d.ts.map +1 -0
  185. package/dist/diagram/engine/preferred-size.d.ts +28 -0
  186. package/dist/diagram/engine/preferred-size.d.ts.map +1 -0
  187. package/dist/diagram/engine/pres-tree.d.ts +58 -0
  188. package/dist/diagram/engine/pres-tree.d.ts.map +1 -0
  189. package/dist/diagram/engine/registry.d.ts +7 -0
  190. package/dist/diagram/engine/registry.d.ts.map +1 -0
  191. package/dist/diagram/engine/render-filter.d.ts +43 -0
  192. package/dist/diagram/engine/render-filter.d.ts.map +1 -0
  193. package/dist/diagram/engine/shape-adjust.d.ts +16 -0
  194. package/dist/diagram/engine/shape-adjust.d.ts.map +1 -0
  195. package/dist/diagram/engine/shape-transform.d.ts +14 -0
  196. package/dist/diagram/engine/shape-transform.d.ts.map +1 -0
  197. package/dist/diagram/engine/snake-rule-fit.d.ts +34 -0
  198. package/dist/diagram/engine/snake-rule-fit.d.ts.map +1 -0
  199. package/dist/diagram/engine/style-label.d.ts +24 -0
  200. package/dist/diagram/engine/style-label.d.ts.map +1 -0
  201. package/dist/diagram/engine/text-fit.d.ts +61 -0
  202. package/dist/diagram/engine/text-fit.d.ts.map +1 -0
  203. package/dist/diagram/engine/text-grow.d.ts +33 -0
  204. package/dist/diagram/engine/text-grow.d.ts.map +1 -0
  205. package/dist/diagram/engine/text-measure.d.ts +77 -0
  206. package/dist/diagram/engine/text-measure.d.ts.map +1 -0
  207. package/dist/diagram/hierarchy/index.d.ts +5 -0
  208. package/dist/diagram/hierarchy/index.d.ts.map +1 -0
  209. package/dist/diagram/hierarchy/smartart-hierarchy-axis-pitch.d.ts +65 -0
  210. package/dist/diagram/hierarchy/smartart-hierarchy-axis-pitch.d.ts.map +1 -0
  211. package/dist/diagram/hierarchy/smartart-hierarchy-axis-swap-orientation.d.ts +68 -0
  212. package/dist/diagram/hierarchy/smartart-hierarchy-axis-swap-orientation.d.ts.map +1 -0
  213. package/dist/diagram/hierarchy/smartart-hierarchy-branch-mode.d.ts +54 -0
  214. package/dist/diagram/hierarchy/smartart-hierarchy-branch-mode.d.ts.map +1 -0
  215. package/dist/diagram/hierarchy/smartart-hierarchy-cascade.d.ts +58 -0
  216. package/dist/diagram/hierarchy/smartart-hierarchy-cascade.d.ts.map +1 -0
  217. package/dist/diagram/hierarchy/smartart-hierarchy-centered-fan-axis.d.ts +63 -0
  218. package/dist/diagram/hierarchy/smartart-hierarchy-centered-fan-axis.d.ts.map +1 -0
  219. package/dist/diagram/hierarchy/smartart-hierarchy-child-order.d.ts +41 -0
  220. package/dist/diagram/hierarchy/smartart-hierarchy-child-order.d.ts.map +1 -0
  221. package/dist/diagram/hierarchy/smartart-hierarchy-composite-child.d.ts +129 -0
  222. package/dist/diagram/hierarchy/smartart-hierarchy-composite-child.d.ts.map +1 -0
  223. package/dist/diagram/hierarchy/smartart-hierarchy-constraint-lookup.d.ts +76 -0
  224. package/dist/diagram/hierarchy/smartart-hierarchy-constraint-lookup.d.ts.map +1 -0
  225. package/dist/diagram/hierarchy/smartart-hierarchy-corner-plan.d.ts +49 -0
  226. package/dist/diagram/hierarchy/smartart-hierarchy-corner-plan.d.ts.map +1 -0
  227. package/dist/diagram/hierarchy/smartart-hierarchy-dispatch-lindir.d.ts +58 -0
  228. package/dist/diagram/hierarchy/smartart-hierarchy-dispatch-lindir.d.ts.map +1 -0
  229. package/dist/diagram/hierarchy/smartart-hierarchy-fan-aware-width.d.ts +48 -0
  230. package/dist/diagram/hierarchy/smartart-hierarchy-fan-aware-width.d.ts.map +1 -0
  231. package/dist/diagram/hierarchy/smartart-hierarchy-fan.d.ts +97 -0
  232. package/dist/diagram/hierarchy/smartart-hierarchy-fan.d.ts.map +1 -0
  233. package/dist/diagram/hierarchy/smartart-hierarchy-fanned-hang-geometry.d.ts +42 -0
  234. package/dist/diagram/hierarchy/smartart-hierarchy-fanned-hang-geometry.d.ts.map +1 -0
  235. package/dist/diagram/hierarchy/smartart-hierarchy-fanned-hang.d.ts +74 -0
  236. package/dist/diagram/hierarchy/smartart-hierarchy-fanned-hang.d.ts.map +1 -0
  237. package/dist/diagram/hierarchy/smartart-hierarchy-fit-item-box.d.ts +111 -0
  238. package/dist/diagram/hierarchy/smartart-hierarchy-fit-item-box.d.ts.map +1 -0
  239. package/dist/diagram/hierarchy/smartart-hierarchy-fold-depth.d.ts +44 -0
  240. package/dist/diagram/hierarchy/smartart-hierarchy-fold-depth.d.ts.map +1 -0
  241. package/dist/diagram/hierarchy/smartart-hierarchy-generation-gap.d.ts +60 -0
  242. package/dist/diagram/hierarchy/smartart-hierarchy-generation-gap.d.ts.map +1 -0
  243. package/dist/diagram/hierarchy/smartart-hierarchy-generation-templates.d.ts +106 -0
  244. package/dist/diagram/hierarchy/smartart-hierarchy-generation-templates.d.ts.map +1 -0
  245. package/dist/diagram/hierarchy/smartart-hierarchy-hang-depth.d.ts +133 -0
  246. package/dist/diagram/hierarchy/smartart-hierarchy-hang-depth.d.ts.map +1 -0
  247. package/dist/diagram/hierarchy/smartart-hierarchy-hang-dispatch.d.ts +28 -0
  248. package/dist/diagram/hierarchy/smartart-hierarchy-hang-dispatch.d.ts.map +1 -0
  249. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-arrange.d.ts +28 -0
  250. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-arrange.d.ts.map +1 -0
  251. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-box.d.ts +86 -0
  252. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-box.d.ts.map +1 -0
  253. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-fold.d.ts +36 -0
  254. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-fold.d.ts.map +1 -0
  255. package/dist/diagram/hierarchy/smartart-hierarchy-hanging.d.ts +118 -0
  256. package/dist/diagram/hierarchy/smartart-hierarchy-hanging.d.ts.map +1 -0
  257. package/dist/diagram/hierarchy/smartart-hierarchy-item-template.d.ts +64 -0
  258. package/dist/diagram/hierarchy/smartart-hierarchy-item-template.d.ts.map +1 -0
  259. package/dist/diagram/hierarchy/smartart-hierarchy-orgchart-tree.d.ts +53 -0
  260. package/dist/diagram/hierarchy/smartart-hierarchy-orgchart-tree.d.ts.map +1 -0
  261. package/dist/diagram/hierarchy/smartart-hierarchy-orientation-resolve.d.ts +36 -0
  262. package/dist/diagram/hierarchy/smartart-hierarchy-orientation-resolve.d.ts.map +1 -0
  263. package/dist/diagram/hierarchy/smartart-hierarchy-orientation-types.d.ts +81 -0
  264. package/dist/diagram/hierarchy/smartart-hierarchy-orientation-types.d.ts.map +1 -0
  265. package/dist/diagram/hierarchy/smartart-hierarchy-orientation.d.ts +78 -0
  266. package/dist/diagram/hierarchy/smartart-hierarchy-orientation.d.ts.map +1 -0
  267. package/dist/diagram/hierarchy/smartart-hierarchy-pitch.d.ts +140 -0
  268. package/dist/diagram/hierarchy/smartart-hierarchy-pitch.d.ts.map +1 -0
  269. package/dist/diagram/hierarchy/smartart-hierarchy-shared.d.ts +131 -0
  270. package/dist/diagram/hierarchy/smartart-hierarchy-shared.d.ts.map +1 -0
  271. package/dist/diagram/hierarchy/smartart-hierarchy-standard-options.d.ts +91 -0
  272. package/dist/diagram/hierarchy/smartart-hierarchy-standard-options.d.ts.map +1 -0
  273. package/dist/diagram/hierarchy/smartart-hierarchy-standard-rows.d.ts +21 -0
  274. package/dist/diagram/hierarchy/smartart-hierarchy-standard-rows.d.ts.map +1 -0
  275. package/dist/diagram/hierarchy/smartart-hierarchy-standard.d.ts +36 -0
  276. package/dist/diagram/hierarchy/smartart-hierarchy-standard.d.ts.map +1 -0
  277. package/dist/diagram/hierarchy/smartart-hierarchy-tailed-placer.d.ts +20 -0
  278. package/dist/diagram/hierarchy/smartart-hierarchy-tailed-placer.d.ts.map +1 -0
  279. package/dist/diagram/hierarchy/smartart-hierarchy-tailed-transpose.d.ts +50 -0
  280. package/dist/diagram/hierarchy/smartart-hierarchy-tailed-transpose.d.ts.map +1 -0
  281. package/dist/diagram/hierarchy/smartart-hierarchy-transpose.d.ts +23 -0
  282. package/dist/diagram/hierarchy/smartart-hierarchy-transpose.d.ts.map +1 -0
  283. package/dist/diagram/hierarchy/smartart-hierarchy-transposed-orientation.d.ts +22 -0
  284. package/dist/diagram/hierarchy/smartart-hierarchy-transposed-orientation.d.ts.map +1 -0
  285. package/dist/diagram/hierarchy/smartart-hierarchy-wrapped-groups.d.ts +93 -0
  286. package/dist/diagram/hierarchy/smartart-hierarchy-wrapped-groups.d.ts.map +1 -0
  287. package/dist/diagram/hierarchy/smartart-layout-interpreter-hierarchy.d.ts +49 -0
  288. package/dist/diagram/hierarchy/smartart-layout-interpreter-hierarchy.d.ts.map +1 -0
  289. package/dist/diagram/index.cjs +22537 -80
  290. package/dist/diagram/index.d.ts +4 -0
  291. package/dist/diagram/index.d.ts.map +1 -1
  292. package/dist/diagram/index.mjs +22453 -81
  293. package/dist/diagram/layout/index.d.ts +38 -0
  294. package/dist/diagram/layout/index.d.ts.map +1 -0
  295. package/dist/diagram/layout/smartart-choose-xml.d.ts +32 -0
  296. package/dist/diagram/layout/smartart-choose-xml.d.ts.map +1 -0
  297. package/dist/diagram/layout/smartart-constraint-branch-index.d.ts +49 -0
  298. package/dist/diagram/layout/smartart-constraint-branch-index.d.ts.map +1 -0
  299. package/dist/diagram/layout/smartart-constraint-declared-by.d.ts +64 -0
  300. package/dist/diagram/layout/smartart-constraint-declared-by.d.ts.map +1 -0
  301. package/dist/diagram/layout/smartart-constraint-ratio-fallback.d.ts +18 -0
  302. package/dist/diagram/layout/smartart-constraint-ratio-fallback.d.ts.map +1 -0
  303. package/dist/diagram/layout/smartart-constraint-resolve.d.ts +24 -0
  304. package/dist/diagram/layout/smartart-constraint-resolve.d.ts.map +1 -0
  305. package/dist/diagram/layout/smartart-constraint-rules.d.ts +26 -0
  306. package/dist/diagram/layout/smartart-constraint-rules.d.ts.map +1 -0
  307. package/dist/diagram/layout/smartart-constraint-sibling-roles.d.ts +100 -0
  308. package/dist/diagram/layout/smartart-constraint-sibling-roles.d.ts.map +1 -0
  309. package/dist/diagram/layout/smartart-constraint-solver.d.ts +133 -0
  310. package/dist/diagram/layout/smartart-constraint-solver.d.ts.map +1 -0
  311. package/dist/diagram/layout/smartart-constraint-values.d.ts +5 -0
  312. package/dist/diagram/layout/smartart-constraint-values.d.ts.map +1 -0
  313. package/dist/diagram/layout/smartart-font-table.d.ts +14 -0
  314. package/dist/diagram/layout/smartart-font-table.d.ts.map +1 -0
  315. package/dist/diagram/layout/smartart-interpreter-fold-text.d.ts +75 -0
  316. package/dist/diagram/layout/smartart-interpreter-fold-text.d.ts.map +1 -0
  317. package/dist/diagram/layout/smartart-layout-control-flow.d.ts +25 -0
  318. package/dist/diagram/layout/smartart-layout-control-flow.d.ts.map +1 -0
  319. package/dist/diagram/layout/smartart-layout-interpreter-arranged-selection.d.ts +56 -0
  320. package/dist/diagram/layout/smartart-layout-interpreter-arranged-selection.d.ts.map +1 -0
  321. package/dist/diagram/layout/smartart-layout-interpreter-arrangement-kind.d.ts +37 -0
  322. package/dist/diagram/layout/smartart-layout-interpreter-arrangement-kind.d.ts.map +1 -0
  323. package/dist/diagram/layout/smartart-layout-interpreter-aux.d.ts +66 -0
  324. package/dist/diagram/layout/smartart-layout-interpreter-aux.d.ts.map +1 -0
  325. package/dist/diagram/layout/smartart-layout-interpreter-axis-count.d.ts +128 -0
  326. package/dist/diagram/layout/smartart-layout-interpreter-axis-count.d.ts.map +1 -0
  327. package/dist/diagram/layout/smartart-layout-interpreter-axis-depth.d.ts +73 -0
  328. package/dist/diagram/layout/smartart-layout-interpreter-axis-depth.d.ts.map +1 -0
  329. package/dist/diagram/layout/smartart-layout-interpreter-axis-hop.d.ts +48 -0
  330. package/dist/diagram/layout/smartart-layout-interpreter-axis-hop.d.ts.map +1 -0
  331. package/dist/diagram/layout/smartart-layout-interpreter-axis-range.d.ts +19 -0
  332. package/dist/diagram/layout/smartart-layout-interpreter-axis-range.d.ts.map +1 -0
  333. package/dist/diagram/layout/smartart-layout-interpreter-choose-algorithm.d.ts +60 -0
  334. package/dist/diagram/layout/smartart-layout-interpreter-choose-algorithm.d.ts.map +1 -0
  335. package/dist/diagram/layout/smartart-layout-interpreter-choose-branch.d.ts +36 -0
  336. package/dist/diagram/layout/smartart-layout-interpreter-choose-branch.d.ts.map +1 -0
  337. package/dist/diagram/layout/smartart-layout-interpreter-choose-composite.d.ts +42 -0
  338. package/dist/diagram/layout/smartart-layout-interpreter-choose-composite.d.ts.map +1 -0
  339. package/dist/diagram/layout/smartart-layout-interpreter-choose-depth.d.ts +102 -0
  340. package/dist/diagram/layout/smartart-layout-interpreter-choose-depth.d.ts.map +1 -0
  341. package/dist/diagram/layout/smartart-layout-interpreter-choose-resolve.d.ts +32 -0
  342. package/dist/diagram/layout/smartart-layout-interpreter-choose-resolve.d.ts.map +1 -0
  343. package/dist/diagram/layout/smartart-layout-interpreter-composite-alternative.d.ts +33 -0
  344. package/dist/diagram/layout/smartart-layout-interpreter-composite-alternative.d.ts.map +1 -0
  345. package/dist/diagram/layout/smartart-layout-interpreter-composite-anchor.d.ts +95 -0
  346. package/dist/diagram/layout/smartart-layout-interpreter-composite-anchor.d.ts.map +1 -0
  347. package/dist/diagram/layout/smartart-layout-interpreter-composite-aspect.d.ts +84 -0
  348. package/dist/diagram/layout/smartart-layout-interpreter-composite-aspect.d.ts.map +1 -0
  349. package/dist/diagram/layout/smartart-layout-interpreter-composite-candidates.d.ts +60 -0
  350. package/dist/diagram/layout/smartart-layout-interpreter-composite-candidates.d.ts.map +1 -0
  351. package/dist/diagram/layout/smartart-layout-interpreter-composite-children.d.ts +86 -0
  352. package/dist/diagram/layout/smartart-layout-interpreter-composite-children.d.ts.map +1 -0
  353. package/dist/diagram/layout/smartart-layout-interpreter-composite-choose-groups.d.ts +44 -0
  354. package/dist/diagram/layout/smartart-layout-interpreter-composite-choose-groups.d.ts.map +1 -0
  355. package/dist/diagram/layout/smartart-layout-interpreter-composite-choose.d.ts +109 -0
  356. package/dist/diagram/layout/smartart-layout-interpreter-composite-choose.d.ts.map +1 -0
  357. package/dist/diagram/layout/smartart-layout-interpreter-composite-detect.d.ts +182 -0
  358. package/dist/diagram/layout/smartart-layout-interpreter-composite-detect.d.ts.map +1 -0
  359. package/dist/diagram/layout/smartart-layout-interpreter-composite-fontfit.d.ts +60 -0
  360. package/dist/diagram/layout/smartart-layout-interpreter-composite-fontfit.d.ts.map +1 -0
  361. package/dist/diagram/layout/smartart-layout-interpreter-composite-foreach.d.ts +36 -0
  362. package/dist/diagram/layout/smartart-layout-interpreter-composite-foreach.d.ts.map +1 -0
  363. package/dist/diagram/layout/smartart-layout-interpreter-composite-group-slots.d.ts +92 -0
  364. package/dist/diagram/layout/smartart-layout-interpreter-composite-group-slots.d.ts.map +1 -0
  365. package/dist/diagram/layout/smartart-layout-interpreter-composite-iteration.d.ts +45 -0
  366. package/dist/diagram/layout/smartart-layout-interpreter-composite-iteration.d.ts.map +1 -0
  367. package/dist/diagram/layout/smartart-layout-interpreter-composite-nested-cycle.d.ts +57 -0
  368. package/dist/diagram/layout/smartart-layout-interpreter-composite-nested-cycle.d.ts.map +1 -0
  369. package/dist/diagram/layout/smartart-layout-interpreter-composite-order-fallback.d.ts +24 -0
  370. package/dist/diagram/layout/smartart-layout-interpreter-composite-order-fallback.d.ts.map +1 -0
  371. package/dist/diagram/layout/smartart-layout-interpreter-composite-order.d.ts +41 -0
  372. package/dist/diagram/layout/smartart-layout-interpreter-composite-order.d.ts.map +1 -0
  373. package/dist/diagram/layout/smartart-layout-interpreter-composite-pairs.d.ts +34 -0
  374. package/dist/diagram/layout/smartart-layout-interpreter-composite-pairs.d.ts.map +1 -0
  375. package/dist/diagram/layout/smartart-layout-interpreter-composite-render.d.ts +29 -0
  376. package/dist/diagram/layout/smartart-layout-interpreter-composite-render.d.ts.map +1 -0
  377. package/dist/diagram/layout/smartart-layout-interpreter-composite-ring.d.ts +40 -0
  378. package/dist/diagram/layout/smartart-layout-interpreter-composite-ring.d.ts.map +1 -0
  379. package/dist/diagram/layout/smartart-layout-interpreter-composite-slot-dim.d.ts +22 -0
  380. package/dist/diagram/layout/smartart-layout-interpreter-composite-slot-dim.d.ts.map +1 -0
  381. package/dist/diagram/layout/smartart-layout-interpreter-composite-slots.d.ts +69 -0
  382. package/dist/diagram/layout/smartart-layout-interpreter-composite-slots.d.ts.map +1 -0
  383. package/dist/diagram/layout/smartart-layout-interpreter-composite.d.ts +56 -0
  384. package/dist/diagram/layout/smartart-layout-interpreter-composite.d.ts.map +1 -0
  385. package/dist/diagram/layout/smartart-layout-interpreter-conn-path.d.ts +42 -0
  386. package/dist/diagram/layout/smartart-layout-interpreter-conn-path.d.ts.map +1 -0
  387. package/dist/diagram/layout/smartart-layout-interpreter-connector-order.d.ts +23 -0
  388. package/dist/diagram/layout/smartart-layout-interpreter-connector-order.d.ts.map +1 -0
  389. package/dist/diagram/layout/smartart-layout-interpreter-constraints.d.ts +28 -0
  390. package/dist/diagram/layout/smartart-layout-interpreter-constraints.d.ts.map +1 -0
  391. package/dist/diagram/layout/smartart-layout-interpreter-custom.d.ts +31 -0
  392. package/dist/diagram/layout/smartart-layout-interpreter-custom.d.ts.map +1 -0
  393. package/dist/diagram/layout/smartart-layout-interpreter-cycle-boxes.d.ts +36 -0
  394. package/dist/diagram/layout/smartart-layout-interpreter-cycle-boxes.d.ts.map +1 -0
  395. package/dist/diagram/layout/smartart-layout-interpreter-cycle-connectors.d.ts +21 -0
  396. package/dist/diagram/layout/smartart-layout-interpreter-cycle-connectors.d.ts.map +1 -0
  397. package/dist/diagram/layout/smartart-layout-interpreter-cycle-constraints.d.ts +116 -0
  398. package/dist/diagram/layout/smartart-layout-interpreter-cycle-constraints.d.ts.map +1 -0
  399. package/dist/diagram/layout/smartart-layout-interpreter-cycle-extension.d.ts +110 -0
  400. package/dist/diagram/layout/smartart-layout-interpreter-cycle-extension.d.ts.map +1 -0
  401. package/dist/diagram/layout/smartart-layout-interpreter-cycle-fontfit.d.ts +50 -0
  402. package/dist/diagram/layout/smartart-layout-interpreter-cycle-fontfit.d.ts.map +1 -0
  403. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-detect.d.ts +66 -0
  404. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-detect.d.ts.map +1 -0
  405. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-ratio-usersize.d.ts +81 -0
  406. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-ratio-usersize.d.ts.map +1 -0
  407. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-ratio.d.ts +109 -0
  408. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-ratio.d.ts.map +1 -0
  409. package/dist/diagram/layout/smartart-layout-interpreter-cycle-item-aspect.d.ts +121 -0
  410. package/dist/diagram/layout/smartart-layout-interpreter-cycle-item-aspect.d.ts.map +1 -0
  411. package/dist/diagram/layout/smartart-layout-interpreter-cycle-item-node.d.ts +57 -0
  412. package/dist/diagram/layout/smartart-layout-interpreter-cycle-item-node.d.ts.map +1 -0
  413. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-bulge.d.ts +34 -0
  414. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-bulge.d.ts.map +1 -0
  415. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-item.d.ts +39 -0
  416. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-item.d.ts.map +1 -0
  417. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-nested-hub.d.ts +22 -0
  418. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-nested-hub.d.ts.map +1 -0
  419. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-offset.d.ts +43 -0
  420. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-offset.d.ts.map +1 -0
  421. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring.d.ts +76 -0
  422. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring.d.ts.map +1 -0
  423. package/dist/diagram/layout/smartart-layout-interpreter-cycle-sibtrans.d.ts +40 -0
  424. package/dist/diagram/layout/smartart-layout-interpreter-cycle-sibtrans.d.ts.map +1 -0
  425. package/dist/diagram/layout/smartart-layout-interpreter-cycle.d.ts +69 -0
  426. package/dist/diagram/layout/smartart-layout-interpreter-cycle.d.ts.map +1 -0
  427. package/dist/diagram/layout/smartart-layout-interpreter-dispatch.d.ts +18 -0
  428. package/dist/diagram/layout/smartart-layout-interpreter-dispatch.d.ts.map +1 -0
  429. package/dist/diagram/layout/smartart-layout-interpreter-flow-direction.d.ts +29 -0
  430. package/dist/diagram/layout/smartart-layout-interpreter-flow-direction.d.ts.map +1 -0
  431. package/dist/diagram/layout/smartart-layout-interpreter-flow.d.ts +49 -0
  432. package/dist/diagram/layout/smartart-layout-interpreter-flow.d.ts.map +1 -0
  433. package/dist/diagram/layout/smartart-layout-interpreter-hierarchy-descendant.d.ts +60 -0
  434. package/dist/diagram/layout/smartart-layout-interpreter-hierarchy-descendant.d.ts.map +1 -0
  435. package/dist/diagram/layout/smartart-layout-interpreter-hierarchy-fontfit.d.ts +45 -0
  436. package/dist/diagram/layout/smartart-layout-interpreter-hierarchy-fontfit.d.ts.map +1 -0
  437. package/dist/diagram/layout/smartart-layout-interpreter-hub-detect.d.ts +26 -0
  438. package/dist/diagram/layout/smartart-layout-interpreter-hub-detect.d.ts.map +1 -0
  439. package/dist/diagram/layout/smartart-layout-interpreter-hub.d.ts +62 -0
  440. package/dist/diagram/layout/smartart-layout-interpreter-hub.d.ts.map +1 -0
  441. package/dist/diagram/layout/smartart-layout-interpreter-item-role-compound.d.ts +36 -0
  442. package/dist/diagram/layout/smartart-layout-interpreter-item-role-compound.d.ts.map +1 -0
  443. package/dist/diagram/layout/smartart-layout-interpreter-item-role-orientation.d.ts +80 -0
  444. package/dist/diagram/layout/smartart-layout-interpreter-item-role-orientation.d.ts.map +1 -0
  445. package/dist/diagram/layout/smartart-layout-interpreter-item-role-shared.d.ts +102 -0
  446. package/dist/diagram/layout/smartart-layout-interpreter-item-role-shared.d.ts.map +1 -0
  447. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-columns.d.ts +23 -0
  448. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-columns.d.ts.map +1 -0
  449. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-fields.d.ts +77 -0
  450. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-fields.d.ts.map +1 -0
  451. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-rect.d.ts +20 -0
  452. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-rect.d.ts.map +1 -0
  453. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack.d.ts +53 -0
  454. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack.d.ts.map +1 -0
  455. package/dist/diagram/layout/smartart-layout-interpreter-item-role-transition.d.ts +50 -0
  456. package/dist/diagram/layout/smartart-layout-interpreter-item-role-transition.d.ts.map +1 -0
  457. package/dist/diagram/layout/smartart-layout-interpreter-item-roles-recursive.d.ts +87 -0
  458. package/dist/diagram/layout/smartart-layout-interpreter-item-roles-recursive.d.ts.map +1 -0
  459. package/dist/diagram/layout/smartart-layout-interpreter-item-roles-unwrap.d.ts +57 -0
  460. package/dist/diagram/layout/smartart-layout-interpreter-item-roles-unwrap.d.ts.map +1 -0
  461. package/dist/diagram/layout/smartart-layout-interpreter-item-roles.d.ts +109 -0
  462. package/dist/diagram/layout/smartart-layout-interpreter-item-roles.d.ts.map +1 -0
  463. package/dist/diagram/layout/smartart-layout-interpreter-linear-content-size.d.ts +42 -0
  464. package/dist/diagram/layout/smartart-layout-interpreter-linear-content-size.d.ts.map +1 -0
  465. package/dist/diagram/layout/smartart-layout-interpreter-linear-item-aspect.d.ts +94 -0
  466. package/dist/diagram/layout/smartart-layout-interpreter-linear-item-aspect.d.ts.map +1 -0
  467. package/dist/diagram/layout/smartart-layout-interpreter-linear-main-axis.d.ts +17 -0
  468. package/dist/diagram/layout/smartart-layout-interpreter-linear-main-axis.d.ts.map +1 -0
  469. package/dist/diagram/layout/smartart-layout-interpreter-linear-shared.d.ts +21 -0
  470. package/dist/diagram/layout/smartart-layout-interpreter-linear-shared.d.ts.map +1 -0
  471. package/dist/diagram/layout/smartart-layout-interpreter-linear-table.d.ts +76 -0
  472. package/dist/diagram/layout/smartart-layout-interpreter-linear-table.d.ts.map +1 -0
  473. package/dist/diagram/layout/smartart-layout-interpreter-linear.d.ts +20 -0
  474. package/dist/diagram/layout/smartart-layout-interpreter-linear.d.ts.map +1 -0
  475. package/dist/diagram/layout/smartart-layout-interpreter-model.d.ts +77 -0
  476. package/dist/diagram/layout/smartart-layout-interpreter-model.d.ts.map +1 -0
  477. package/dist/diagram/layout/smartart-layout-interpreter-named-rules.d.ts +93 -0
  478. package/dist/diagram/layout/smartart-layout-interpreter-named-rules.d.ts.map +1 -0
  479. package/dist/diagram/layout/smartart-layout-interpreter-position-family.d.ts +58 -0
  480. package/dist/diagram/layout/smartart-layout-interpreter-position-family.d.ts.map +1 -0
  481. package/dist/diagram/layout/smartart-layout-interpreter-preset-node.d.ts +61 -0
  482. package/dist/diagram/layout/smartart-layout-interpreter-preset-node.d.ts.map +1 -0
  483. package/dist/diagram/layout/smartart-layout-interpreter-presof-choose.d.ts +29 -0
  484. package/dist/diagram/layout/smartart-layout-interpreter-presof-choose.d.ts.map +1 -0
  485. package/dist/diagram/layout/smartart-layout-interpreter-pyramid-bands.d.ts +41 -0
  486. package/dist/diagram/layout/smartart-layout-interpreter-pyramid-bands.d.ts.map +1 -0
  487. package/dist/diagram/layout/smartart-layout-interpreter-pyramid.d.ts +100 -0
  488. package/dist/diagram/layout/smartart-layout-interpreter-pyramid.d.ts.map +1 -0
  489. package/dist/diagram/layout/smartart-layout-interpreter-render.d.ts +86 -0
  490. package/dist/diagram/layout/smartart-layout-interpreter-render.d.ts.map +1 -0
  491. package/dist/diagram/layout/smartart-layout-interpreter-snake.d.ts +18 -0
  492. package/dist/diagram/layout/smartart-layout-interpreter-snake.d.ts.map +1 -0
  493. package/dist/diagram/layout/smartart-layout-interpreter-tree-location.d.ts +28 -0
  494. package/dist/diagram/layout/smartart-layout-interpreter-tree-location.d.ts.map +1 -0
  495. package/dist/diagram/layout/smartart-layout-interpreter-when-numeric.d.ts +15 -0
  496. package/dist/diagram/layout/smartart-layout-interpreter-when-numeric.d.ts.map +1 -0
  497. package/dist/diagram/layout/smartart-layout-interpreter-when-var.d.ts +12 -0
  498. package/dist/diagram/layout/smartart-layout-interpreter-when-var.d.ts.map +1 -0
  499. package/dist/diagram/layout/smartart-layout-interpreter-when.d.ts +69 -0
  500. package/dist/diagram/layout/smartart-layout-interpreter-when.d.ts.map +1 -0
  501. package/dist/diagram/layout/smartart-layout-interpreter.d.ts +80 -0
  502. package/dist/diagram/layout/smartart-layout-interpreter.d.ts.map +1 -0
  503. package/dist/diagram/layout/smartart-layout-item-font-role.d.ts +80 -0
  504. package/dist/diagram/layout/smartart-layout-item-font-role.d.ts.map +1 -0
  505. package/dist/diagram/layout/smartart-layout-item-font-size.d.ts +129 -0
  506. package/dist/diagram/layout/smartart-layout-item-font-size.d.ts.map +1 -0
  507. package/dist/diagram/layout/smartart-layout-item-font-tier-fit.d.ts +70 -0
  508. package/dist/diagram/layout/smartart-layout-item-font-tier-fit.d.ts.map +1 -0
  509. package/dist/diagram/layout/smartart-layout-item-font-tier.d.ts +139 -0
  510. package/dist/diagram/layout/smartart-layout-item-font-tier.d.ts.map +1 -0
  511. package/dist/diagram/layout/smartart-layout-item-tx-anchor.d.ts +105 -0
  512. package/dist/diagram/layout/smartart-layout-item-tx-anchor.d.ts.map +1 -0
  513. package/dist/diagram/layout/smartart-layout-shape-polygon.d.ts +17 -0
  514. package/dist/diagram/layout/smartart-layout-shape-polygon.d.ts.map +1 -0
  515. package/dist/diagram/layout/smartart-layout-shape-preset.d.ts +127 -0
  516. package/dist/diagram/layout/smartart-layout-shape-preset.d.ts.map +1 -0
  517. package/dist/diagram/layout/smartart-layout-snake-grid.d.ts +43 -0
  518. package/dist/diagram/layout/smartart-layout-snake-grid.d.ts.map +1 -0
  519. package/dist/diagram/layout/smartart-layout-style-helpers.d.ts +84 -0
  520. package/dist/diagram/layout/smartart-layout-style-helpers.d.ts.map +1 -0
  521. package/dist/diagram/layout/smartart-layout-types.d.ts +253 -0
  522. package/dist/diagram/layout/smartart-layout-types.d.ts.map +1 -0
  523. package/dist/diagram/layout/smartart-line-pitch.d.ts +29 -0
  524. package/dist/diagram/layout/smartart-line-pitch.d.ts.map +1 -0
  525. package/dist/diagram/layout/smartart-node-role-colors.d.ts +30 -0
  526. package/dist/diagram/layout/smartart-node-role-colors.d.ts.map +1 -0
  527. package/dist/diagram/layout/smartart-node-tree-axis.d.ts +91 -0
  528. package/dist/diagram/layout/smartart-node-tree-axis.d.ts.map +1 -0
  529. package/dist/diagram/layout/smartart-text-wrap-fit.d.ts +84 -0
  530. package/dist/diagram/layout/smartart-text-wrap-fit.d.ts.map +1 -0
  531. package/dist/diagram/layout/smartart-tree.d.ts +33 -0
  532. package/dist/diagram/layout/smartart-tree.d.ts.map +1 -0
  533. package/dist/diagram/model/constraint-rules.d.ts +31 -0
  534. package/dist/diagram/model/constraint-rules.d.ts.map +1 -0
  535. package/dist/diagram/model/data.d.ts +109 -0
  536. package/dist/diagram/model/data.d.ts.map +1 -0
  537. package/dist/diagram/model/index.d.ts +7 -0
  538. package/dist/diagram/model/index.d.ts.map +1 -0
  539. package/dist/diagram/model/layout-definition.d.ts +276 -0
  540. package/dist/diagram/model/layout-definition.d.ts.map +1 -0
  541. package/dist/diagram/model/layout-primitives.d.ts +82 -0
  542. package/dist/diagram/model/layout-primitives.d.ts.map +1 -0
  543. package/dist/diagram/model/node.d.ts +194 -0
  544. package/dist/diagram/model/node.d.ts.map +1 -0
  545. package/dist/diagram/model/style-definition.d.ts +131 -0
  546. package/dist/diagram/model/style-definition.d.ts.map +1 -0
  547. package/dist/docx/chart-paint.d.ts +14 -0
  548. package/dist/docx/chart-paint.d.ts.map +1 -0
  549. package/dist/docx/chart.d.ts +43 -0
  550. package/dist/docx/chart.d.ts.map +1 -0
  551. package/dist/docx/drawing.d.ts.map +1 -1
  552. package/dist/docx/embedded.cjs +1393 -326
  553. package/dist/docx/embedded.mjs +1393 -326
  554. package/dist/docx/index.cjs +4044 -683
  555. package/dist/docx/index.d.ts +2 -0
  556. package/dist/docx/index.d.ts.map +1 -1
  557. package/dist/docx/index.mjs +4040 -684
  558. package/dist/docx/inline-model.d.ts +3 -0
  559. package/dist/docx/inline-model.d.ts.map +1 -1
  560. package/dist/docx/layout/adapter.d.ts.map +1 -1
  561. package/dist/docx/layout/index.cjs +2674 -88
  562. package/dist/docx/layout/index.mjs +2675 -89
  563. package/dist/docx/layout/input.d.ts +5 -0
  564. package/dist/docx/layout/input.d.ts.map +1 -1
  565. package/dist/docx/load/index.cjs +1616 -549
  566. package/dist/docx/load/index.mjs +1616 -549
  567. package/dist/docx/parse.d.ts.map +1 -1
  568. package/dist/docx/ui/chart-spec.d.ts +10 -0
  569. package/dist/docx/ui/chart-spec.d.ts.map +1 -0
  570. package/dist/docx/ui/index.cjs +2602 -186
  571. package/dist/docx/ui/index.d.ts +1 -0
  572. package/dist/docx/ui/index.d.ts.map +1 -1
  573. package/dist/docx/ui/index.mjs +2601 -188
  574. package/dist/docx/ui/inline-content-schema.d.ts.map +1 -1
  575. package/dist/docx/ui/run-adapter.d.ts.map +1 -1
  576. package/dist/drawingml/write-line.d.ts +7 -0
  577. package/dist/drawingml/write-line.d.ts.map +1 -0
  578. package/dist/geometry/ooxml-arc.d.ts +31 -0
  579. package/dist/geometry/ooxml-arc.d.ts.map +1 -0
  580. package/dist/geometry/preset-shape-evaluator.d.ts +73 -0
  581. package/dist/geometry/preset-shape-evaluator.d.ts.map +1 -0
  582. package/dist/index.cjs +34839 -18368
  583. package/dist/index.mjs +34835 -18368
  584. package/dist/opc/embedded-packages.d.ts +11 -0
  585. package/dist/opc/embedded-packages.d.ts.map +1 -0
  586. package/dist/opc/index.cjs +365 -70
  587. package/dist/opc/index.d.ts +1 -0
  588. package/dist/opc/index.d.ts.map +1 -1
  589. package/dist/opc/index.mjs +353 -71
  590. package/dist/opc/properties/app.d.ts +9 -3
  591. package/dist/opc/properties/app.d.ts.map +1 -1
  592. package/dist/opc/properties/core.d.ts +5 -1
  593. package/dist/opc/properties/core.d.ts.map +1 -1
  594. package/dist/opc/properties/custom.d.ts +19 -0
  595. package/dist/opc/properties/custom.d.ts.map +1 -1
  596. package/dist/opc/properties/index.d.ts +6 -3
  597. package/dist/opc/properties/index.d.ts.map +1 -1
  598. package/dist/opc/properties/patch.d.ts +38 -0
  599. package/dist/opc/properties/patch.d.ts.map +1 -0
  600. package/dist/opc/properties/title-groups.d.ts +30 -0
  601. package/dist/opc/properties/title-groups.d.ts.map +1 -0
  602. package/dist/opc/properties/types.d.ts +15 -0
  603. package/dist/opc/properties/types.d.ts.map +1 -1
  604. package/dist/pptx/automation/index.cjs +9049 -7167
  605. package/dist/pptx/automation/index.d.ts +4 -4
  606. package/dist/pptx/automation/index.mjs +6 -6
  607. package/dist/pptx/chunks/{index-BYkdcS8J.d.ts → index-EZJZ7USt.d.ts} +907 -962
  608. package/dist/pptx/chunks/index-EZJZ7USt.d.ts.map +1 -0
  609. package/dist/pptx/chunks/{index-BHqL5KXH.d.ts → index-JNv7AJx5.d.ts} +163 -210
  610. package/dist/pptx/chunks/index-JNv7AJx5.d.ts.map +1 -0
  611. package/dist/pptx/chunks/{smart-art-CO2jmJFf.d.ts → smart-art-Q2kZQtHh.d.ts} +436 -374
  612. package/dist/pptx/chunks/smart-art-Q2kZQtHh.d.ts.map +1 -0
  613. package/dist/pptx/chunks/{text-operations-DEJ7alZR.d.ts → text-operations-DtCxXrMh.d.ts} +55 -4
  614. package/dist/pptx/chunks/text-operations-DtCxXrMh.d.ts.map +1 -0
  615. package/dist/pptx/cli/index.cjs +8728 -6846
  616. package/dist/pptx/cli/index.d.ts +1 -1
  617. package/dist/pptx/cli/index.mjs +5 -5
  618. package/dist/pptx/converter/index.cjs +7124 -7136
  619. package/dist/pptx/converter/index.d.ts +1 -1
  620. package/dist/pptx/converter/index.mjs +3 -3
  621. package/dist/pptx/editor/render/table-cell-edit.cjs +7 -3
  622. package/dist/pptx/editor/render/table-cell-edit.d.ts +16 -1
  623. package/dist/pptx/editor/render/table-cell-edit.d.ts.map +1 -1
  624. package/dist/pptx/editor/render/table-cell-edit.mjs +1 -1
  625. package/dist/pptx/editor/render/table-cell-merge.cjs +3 -3
  626. package/dist/pptx/editor/render/table-cell-merge.mjs +1 -1
  627. package/dist/pptx/editor/render/table-data-grid-ops.cjs +7 -7
  628. package/dist/pptx/editor/render/table-data-grid-ops.mjs +2 -2
  629. package/dist/pptx/editor/render/table-layout.cjs +6 -6
  630. package/dist/pptx/editor/render/table-layout.d.ts.map +1 -1
  631. package/dist/pptx/editor/render/table-layout.mjs +1 -1
  632. package/dist/pptx/editor/render/table-merge.cjs +5 -5
  633. package/dist/pptx/editor/render/table-merge.mjs +1 -1
  634. package/dist/pptx/index.cjs +9300 -7249
  635. package/dist/pptx/index.d.ts +5 -5
  636. package/dist/pptx/index.mjs +6 -6
  637. package/dist/pptx/smartart-layouts/index.cjs +135 -106
  638. package/dist/pptx/smartart-layouts/index.d.ts +1 -1
  639. package/dist/pptx/smartart-layouts/index.mjs +1 -1
  640. package/dist/teams/content.d.ts.map +1 -1
  641. package/dist/teams/index.cjs +3931 -2077
  642. package/dist/teams/index.d.ts +1 -0
  643. package/dist/teams/index.d.ts.map +1 -1
  644. package/dist/teams/index.mjs +3930 -2077
  645. package/dist/teams/server-file-storage.d.ts +11 -0
  646. package/dist/teams/server-file-storage.d.ts.map +1 -0
  647. package/dist/teams/store.d.ts +2 -0
  648. package/dist/teams/store.d.ts.map +1 -1
  649. package/dist/teams/stored-file.d.ts.map +1 -1
  650. package/dist/{xlsx/layout/font-family.d.ts → text/css-font-family.d.ts} +1 -1
  651. package/dist/text/css-font-family.d.ts.map +1 -0
  652. package/dist/text/font-metrics/font-advance-widths-aptos-display.generated.d.ts +10 -0
  653. package/dist/text/font-metrics/font-advance-widths-aptos-display.generated.d.ts.map +1 -0
  654. package/dist/text/font-metrics/font-advance-widths-aptos.generated.d.ts +10 -0
  655. package/dist/text/font-metrics/font-advance-widths-aptos.generated.d.ts.map +1 -0
  656. package/dist/text/font-metrics/font-advance-widths-arial.generated.d.ts +10 -0
  657. package/dist/text/font-metrics/font-advance-widths-arial.generated.d.ts.map +1 -0
  658. package/dist/text/font-metrics/font-advance-widths-calibri-light.generated.d.ts +10 -0
  659. package/dist/text/font-metrics/font-advance-widths-calibri-light.generated.d.ts.map +1 -0
  660. package/dist/text/font-metrics/font-advance-widths-calibri.generated.d.ts +10 -0
  661. package/dist/text/font-metrics/font-advance-widths-calibri.generated.d.ts.map +1 -0
  662. package/dist/text/font-metrics/font-advance-widths-segoe-ui.generated.d.ts +10 -0
  663. package/dist/text/font-metrics/font-advance-widths-segoe-ui.generated.d.ts.map +1 -0
  664. package/dist/text/font-metrics/font-advance-widths-times-new-roman.generated.d.ts +10 -0
  665. package/dist/text/font-metrics/font-advance-widths-times-new-roman.generated.d.ts.map +1 -0
  666. package/dist/text/font-metrics/font-advance-widths.generated.d.ts +48 -0
  667. package/dist/text/font-metrics/font-advance-widths.generated.d.ts.map +1 -0
  668. package/dist/text/font-metrics/font-kerning.d.ts +19 -0
  669. package/dist/text/font-metrics/font-kerning.d.ts.map +1 -0
  670. package/dist/visio/index.cjs +645 -119
  671. package/dist/visio/index.mjs +645 -119
  672. package/dist/visio/theme-color.d.ts +13 -3
  673. package/dist/visio/theme-color.d.ts.map +1 -1
  674. package/dist/visio/theme-resolve.d.ts +2 -1
  675. package/dist/visio/theme-resolve.d.ts.map +1 -1
  676. package/dist/visio/theme.d.ts +5 -2
  677. package/dist/visio/theme.d.ts.map +1 -1
  678. package/dist/xlsx/collab/adapter.d.ts +18 -0
  679. package/dist/xlsx/collab/adapter.d.ts.map +1 -0
  680. package/dist/xlsx/collab/apply.d.ts +8 -0
  681. package/dist/xlsx/collab/apply.d.ts.map +1 -0
  682. package/dist/xlsx/collab/bind.d.ts +34 -0
  683. package/dist/xlsx/collab/bind.d.ts.map +1 -0
  684. package/dist/xlsx/collab/codec.d.ts +35 -0
  685. package/dist/xlsx/collab/codec.d.ts.map +1 -0
  686. package/dist/xlsx/collab/dirty.d.ts +23 -0
  687. package/dist/xlsx/collab/dirty.d.ts.map +1 -0
  688. package/dist/xlsx/collab/index.cjs +1245 -0
  689. package/dist/xlsx/collab/index.d.ts +10 -0
  690. package/dist/xlsx/collab/index.d.ts.map +1 -0
  691. package/dist/xlsx/collab/index.mjs +1207 -0
  692. package/dist/xlsx/collab/lines.d.ts +22 -0
  693. package/dist/xlsx/collab/lines.d.ts.map +1 -0
  694. package/dist/xlsx/collab/names.d.ts +16 -0
  695. package/dist/xlsx/collab/names.d.ts.map +1 -0
  696. package/dist/xlsx/collab/presence.d.ts +31 -0
  697. package/dist/xlsx/collab/presence.d.ts.map +1 -0
  698. package/dist/xlsx/collab/schema.d.ts +30 -0
  699. package/dist/xlsx/collab/schema.d.ts.map +1 -0
  700. package/dist/xlsx/collab/sheets.d.ts +34 -0
  701. package/dist/xlsx/collab/sheets.d.ts.map +1 -0
  702. package/dist/xlsx/collab/styles.d.ts +26 -0
  703. package/dist/xlsx/collab/styles.d.ts.map +1 -0
  704. package/dist/xlsx/collab/write.d.ts +14 -0
  705. package/dist/xlsx/collab/write.d.ts.map +1 -0
  706. package/dist/xlsx/edit/chart-colors.d.ts +2 -2
  707. package/dist/xlsx/edit/chart-colors.d.ts.map +1 -1
  708. package/dist/xlsx/edit/chart-element-fill.d.ts +3 -3
  709. package/dist/xlsx/edit/chart-element-fill.d.ts.map +1 -1
  710. package/dist/xlsx/edit/chart-series-fill.d.ts +2 -2
  711. package/dist/xlsx/edit/chart-series-fill.d.ts.map +1 -1
  712. package/dist/xlsx/edit/chart-series-gradient.d.ts +3 -3
  713. package/dist/xlsx/edit/chart-series-gradient.d.ts.map +1 -1
  714. package/dist/xlsx/edit/chart-series-target.d.ts +15 -0
  715. package/dist/xlsx/edit/chart-series-target.d.ts.map +1 -0
  716. package/dist/xlsx/edit/chart-series-transparency.d.ts +2 -2
  717. package/dist/xlsx/edit/chart-series-transparency.d.ts.map +1 -1
  718. package/dist/xlsx/edit/context.d.ts +3 -1
  719. package/dist/xlsx/edit/context.d.ts.map +1 -1
  720. package/dist/xlsx/edit/external.d.ts +28 -0
  721. package/dist/xlsx/edit/external.d.ts.map +1 -0
  722. package/dist/xlsx/edit/history.d.ts +18 -0
  723. package/dist/xlsx/edit/history.d.ts.map +1 -1
  724. package/dist/xlsx/edit/index.d.ts +1 -0
  725. package/dist/xlsx/edit/index.d.ts.map +1 -1
  726. package/dist/xlsx/edit/session-calc.d.ts +32 -3
  727. package/dist/xlsx/edit/session-calc.d.ts.map +1 -1
  728. package/dist/xlsx/edit/session.d.ts.map +1 -1
  729. package/dist/xlsx/edit/sheets.d.ts.map +1 -1
  730. package/dist/xlsx/edit/types.d.ts +37 -4
  731. package/dist/xlsx/edit/types.d.ts.map +1 -1
  732. package/dist/xlsx/formula/engine-core.d.ts.map +1 -1
  733. package/dist/xlsx/formula/engine-host.d.ts +6 -2
  734. package/dist/xlsx/formula/engine-host.d.ts.map +1 -1
  735. package/dist/xlsx/formula/engine-prepare.d.ts +33 -0
  736. package/dist/xlsx/formula/engine-prepare.d.ts.map +1 -0
  737. package/dist/xlsx/formula/engine-structure.d.ts +40 -0
  738. package/dist/xlsx/formula/engine-structure.d.ts.map +1 -0
  739. package/dist/xlsx/formula/engine-types.d.ts +26 -0
  740. package/dist/xlsx/formula/engine-types.d.ts.map +1 -1
  741. package/dist/xlsx/formula/engine.d.ts.map +1 -1
  742. package/dist/xlsx/formula/formula-shape.d.ts +28 -0
  743. package/dist/xlsx/formula/formula-shape.d.ts.map +1 -0
  744. package/dist/xlsx/formula/graph-index.d.ts +3 -1
  745. package/dist/xlsx/formula/graph-index.d.ts.map +1 -1
  746. package/dist/xlsx/formula/graph.d.ts +5 -0
  747. package/dist/xlsx/formula/graph.d.ts.map +1 -1
  748. package/dist/xlsx/formula/lexemes.d.ts +6 -0
  749. package/dist/xlsx/formula/lexemes.d.ts.map +1 -1
  750. package/dist/xlsx/formula/parse-cache.d.ts +9 -0
  751. package/dist/xlsx/formula/parse-cache.d.ts.map +1 -0
  752. package/dist/xlsx/formula/parser.d.ts +3 -0
  753. package/dist/xlsx/formula/parser.d.ts.map +1 -1
  754. package/dist/xlsx/formula/ref-text.d.ts +14 -0
  755. package/dist/xlsx/formula/ref-text.d.ts.map +1 -0
  756. package/dist/xlsx/formula/references.d.ts.map +1 -1
  757. package/dist/xlsx/formula/shift-formula.d.ts +19 -0
  758. package/dist/xlsx/formula/shift-formula.d.ts.map +1 -0
  759. package/dist/xlsx/formula/shift-graph.d.ts +42 -0
  760. package/dist/xlsx/formula/shift-graph.d.ts.map +1 -0
  761. package/dist/xlsx/formula/tokenizer.d.ts.map +1 -1
  762. package/dist/xlsx/formula/transform.d.ts +2 -23
  763. package/dist/xlsx/formula/transform.d.ts.map +1 -1
  764. package/dist/xlsx/index.cjs +5620 -2680
  765. package/dist/xlsx/index.mjs +5609 -2681
  766. package/dist/xlsx/layout/cell-view.d.ts.map +1 -1
  767. package/dist/xlsx/layout/chart-view.d.ts +3 -54
  768. package/dist/xlsx/layout/chart-view.d.ts.map +1 -1
  769. package/dist/xlsx/layout/colors.d.ts +1 -4
  770. package/dist/xlsx/layout/colors.d.ts.map +1 -1
  771. package/dist/xlsx/layout/index.d.ts +8 -5
  772. package/dist/xlsx/layout/index.d.ts.map +1 -1
  773. package/dist/xlsx/layout/remote-selections.d.ts +40 -0
  774. package/dist/xlsx/layout/remote-selections.d.ts.map +1 -0
  775. package/dist/xlsx/layout/sheet-queries.d.ts +7 -0
  776. package/dist/xlsx/layout/sheet-queries.d.ts.map +1 -1
  777. package/dist/xlsx/layout/sparkline-data.d.ts +19 -0
  778. package/dist/xlsx/layout/sparkline-data.d.ts.map +1 -0
  779. package/dist/xlsx/layout/sparkline-view.d.ts +52 -0
  780. package/dist/xlsx/layout/sparkline-view.d.ts.map +1 -0
  781. package/dist/xlsx/layout/tint.d.ts +3 -12
  782. package/dist/xlsx/layout/tint.d.ts.map +1 -1
  783. package/dist/xlsx/layout/types.d.ts +3 -0
  784. package/dist/xlsx/layout/types.d.ts.map +1 -1
  785. package/dist/xlsx/load/index.cjs +3124 -1312
  786. package/dist/xlsx/load/index.mjs +3124 -1312
  787. package/dist/xlsx/model-sparklines.d.ts +52 -0
  788. package/dist/xlsx/model-sparklines.d.ts.map +1 -0
  789. package/dist/xlsx/model.d.ts +10 -47
  790. package/dist/xlsx/model.d.ts.map +1 -1
  791. package/dist/xlsx/read/chart.d.ts +1 -4
  792. package/dist/xlsx/read/chart.d.ts.map +1 -1
  793. package/dist/xlsx/read/index.d.ts +1 -0
  794. package/dist/xlsx/read/index.d.ts.map +1 -1
  795. package/dist/xlsx/read/sheet-data-source.d.ts +10 -0
  796. package/dist/xlsx/read/sheet-data-source.d.ts.map +1 -0
  797. package/dist/xlsx/read/sparklines.d.ts +12 -0
  798. package/dist/xlsx/read/sparklines.d.ts.map +1 -0
  799. package/dist/xlsx/read/worksheet.d.ts.map +1 -1
  800. package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -1
  801. package/dist/xlsx/ui/context.d.ts +15 -1
  802. package/dist/xlsx/ui/context.d.ts.map +1 -1
  803. package/dist/xlsx/ui/grid/cell-items.d.ts.map +1 -1
  804. package/dist/xlsx/ui/grid/cell-paint.d.ts +1 -1
  805. package/dist/xlsx/ui/grid/cell-paint.d.ts.map +1 -1
  806. package/dist/xlsx/ui/grid/view-cache.d.ts.map +1 -1
  807. package/dist/xlsx/ui/index.cjs +2165 -866
  808. package/dist/xlsx/ui/index.mjs +2165 -867
  809. package/dist/xlsx/ui/locales/de/collab.d.ts +2 -0
  810. package/dist/xlsx/ui/locales/de/collab.d.ts.map +1 -0
  811. package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -1
  812. package/dist/xlsx/ui/locales/en/collab.d.ts +2 -0
  813. package/dist/xlsx/ui/locales/en/collab.d.ts.map +1 -0
  814. package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -1
  815. package/dist/xlsx/ui/locales/es/collab.d.ts +2 -0
  816. package/dist/xlsx/ui/locales/es/collab.d.ts.map +1 -0
  817. package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -1
  818. package/dist/xlsx/ui/locales/fr/collab.d.ts +2 -0
  819. package/dist/xlsx/ui/locales/fr/collab.d.ts.map +1 -0
  820. package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -1
  821. package/dist/xlsx/ui/locales/zh-CN/collab.d.ts +2 -0
  822. package/dist/xlsx/ui/locales/zh-CN/collab.d.ts.map +1 -0
  823. package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -1
  824. package/dist/xlsx/ui/ribbon/icon-paths.d.ts.map +1 -1
  825. package/dist/xlsx/write/chart-colors.d.ts +3 -0
  826. package/dist/xlsx/write/chart-colors.d.ts.map +1 -1
  827. package/dist/xlsx/write/chart-space.d.ts +5 -0
  828. package/dist/xlsx/write/chart-space.d.ts.map +1 -0
  829. package/dist/xlsx/write/chart-title.d.ts +4 -1
  830. package/dist/xlsx/write/chart-title.d.ts.map +1 -1
  831. package/dist/xlsx/write/chart.d.ts +4 -1
  832. package/dist/xlsx/write/chart.d.ts.map +1 -1
  833. package/dist/xml/index.cjs +162 -0
  834. package/dist/xml/index.d.ts +1 -0
  835. package/dist/xml/index.d.ts.map +1 -1
  836. package/dist/xml/index.mjs +161 -1
  837. package/dist/xml/lite.d.ts +30 -0
  838. package/dist/xml/lite.d.ts.map +1 -0
  839. package/package.json +6 -1
  840. package/dist/pptx/chunks/index-BHqL5KXH.d.ts.map +0 -1
  841. package/dist/pptx/chunks/index-BYkdcS8J.d.ts.map +0 -1
  842. package/dist/pptx/chunks/smart-art-CO2jmJFf.d.ts.map +0 -1
  843. package/dist/pptx/chunks/text-operations-DEJ7alZR.d.ts.map +0 -1
  844. package/dist/xlsx/layout/chart-appearance.d.ts.map +0 -1
  845. package/dist/xlsx/layout/chart-colors.d.ts +0 -9
  846. package/dist/xlsx/layout/chart-colors.d.ts.map +0 -1
  847. package/dist/xlsx/layout/chart-scale.d.ts.map +0 -1
  848. package/dist/xlsx/layout/chart-spacing.d.ts +0 -6
  849. package/dist/xlsx/layout/chart-spacing.d.ts.map +0 -1
  850. package/dist/xlsx/layout/chart-svg-appearance.d.ts.map +0 -1
  851. package/dist/xlsx/layout/chart-svg-bars.d.ts.map +0 -1
  852. package/dist/xlsx/layout/chart-svg-cartesian.d.ts.map +0 -1
  853. package/dist/xlsx/layout/chart-svg-legend.d.ts.map +0 -1
  854. package/dist/xlsx/layout/chart-svg-radial.d.ts.map +0 -1
  855. package/dist/xlsx/layout/chart-svg-text-metrics.d.ts.map +0 -1
  856. package/dist/xlsx/layout/chart-svg-title-text.d.ts.map +0 -1
  857. package/dist/xlsx/layout/chart-svg-util.d.ts.map +0 -1
  858. package/dist/xlsx/layout/chart-svg.d.ts.map +0 -1
  859. package/dist/xlsx/layout/chart-title-text.d.ts +0 -14
  860. package/dist/xlsx/layout/chart-title-text.d.ts.map +0 -1
  861. package/dist/xlsx/layout/font-family.d.ts.map +0 -1
  862. /package/dist/{xlsx/layout → chart/render}/chart-scale.d.ts +0 -0
  863. /package/dist/{xlsx/layout → chart/render}/chart-svg-bars.d.ts +0 -0
  864. /package/dist/{xlsx/layout → chart/render}/chart-svg-cartesian.d.ts +0 -0
  865. /package/dist/{xlsx/layout → chart/render}/chart-svg-legend.d.ts +0 -0
  866. /package/dist/{xlsx/layout → chart/render}/chart-svg-radial.d.ts +0 -0
  867. /package/dist/{xlsx/layout → chart/render}/chart-svg-text-metrics.d.ts +0 -0
  868. /package/dist/{xlsx/layout → chart/render}/chart-svg-title-text.d.ts +0 -0
  869. /package/dist/{xlsx/layout → chart/render}/chart-svg-util.d.ts +0 -0
  870. /package/dist/{xlsx/layout → chart/render}/chart-svg.d.ts +0 -0
@@ -7,12 +7,18 @@ var NS = {
7
7
  w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
8
8
  /** DrawingML main. */
9
9
  a: "http://schemas.openxmlformats.org/drawingml/2006/main",
10
+ /** DrawingML chart. */
11
+ c: "http://schemas.openxmlformats.org/drawingml/2006/chart",
12
+ /** Office 2010 chart extensions, including built-in modern chart styles. */
13
+ c14: "http://schemas.microsoft.com/office/drawing/2007/8/2/chart",
10
14
  /** DrawingML diagram (SmartArt) main. */
11
15
  dgm: "http://schemas.openxmlformats.org/drawingml/2006/diagram",
12
16
  /** Office 2007+ diagram drawing (`dsp`). */
13
17
  dsp: "http://schemas.microsoft.com/office/drawing/2008/diagram",
14
18
  /** Relationships (`r:id`, `r:embed`). */
15
19
  r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
20
+ /** Markup compatibility (`mc:AlternateContent`). */
21
+ mc: "http://schemas.openxmlformats.org/markup-compatibility/2006",
16
22
  /** OPC relationships part. */
17
23
  rels: "http://schemas.openxmlformats.org/package/2006/relationships",
18
24
  /** OPC content types part. */
@@ -360,12 +366,12 @@ function runPropertyChanged(run, base, key) {
360
366
  function parseDirectRunProperties(props) {
361
367
  const result = parseRunProperties(props);
362
368
  const language = first2(props, "lang");
363
- for (const [attribute, key] of [
369
+ for (const [attribute2, key] of [
364
370
  ["val", "language"],
365
371
  ["eastAsia", "eastAsiaLanguage"],
366
372
  ["bidi", "bidiLanguage"]
367
373
  ]) {
368
- const value = getW(language, attribute);
374
+ const value = getW(language, attribute2);
369
375
  if (value !== void 0) result[key] = value;
370
376
  }
371
377
  const rtl = onOffElement(first2(props, "rtl"));
@@ -923,10 +929,10 @@ var COLOR_ELEMENTS = {
923
929
  hslClr: "hsl"
924
930
  };
925
931
  function colorValue(kind, element) {
926
- const attribute = (name) => element.getAttribute(name) ?? "";
927
- if (kind === "scrgb") return `${attribute("r")},${attribute("g")},${attribute("b")}`;
928
- if (kind === "hsl") return `${attribute("hue")},${attribute("sat")},${attribute("lum")}`;
929
- return attribute("val");
932
+ const attribute2 = (name) => element.getAttribute(name) ?? "";
933
+ if (kind === "scrgb") return `${attribute2("r")},${attribute2("g")},${attribute2("b")}`;
934
+ if (kind === "hsl") return `${attribute2("hue")},${attribute2("sat")},${attribute2("lum")}`;
935
+ return attribute2("val");
930
936
  }
931
937
  function parseDrawingColorIn(container) {
932
938
  if (!container) return void 0;
@@ -1148,6 +1154,10 @@ function resolvePartPath(basePart, target) {
1148
1154
  }
1149
1155
  return resolved.join("/");
1150
1156
  }
1157
+ function relationshipsPartFor(partName) {
1158
+ const slash = partName.lastIndexOf("/");
1159
+ return `${partName.slice(0, slash + 1)}_rels/${partName.slice(slash + 1)}.rels`;
1160
+ }
1151
1161
  function nextRelationshipId(used) {
1152
1162
  let index = 1;
1153
1163
  while (used.has(`rId${index}`)) index++;
@@ -1278,7 +1288,7 @@ function parseCoreProperties(xml) {
1278
1288
  }
1279
1289
  return Object.keys(result).length ? result : void 0;
1280
1290
  }
1281
- var same = (a, b) => PROPERTY_FIELDS.every((field) => (a?.[field] ?? "") === (b?.[field] ?? ""));
1291
+ var same = (a2, b) => PROPERTY_FIELDS.every((field) => (a2?.[field] ?? "") === (b?.[field] ?? ""));
1282
1292
  async function applyCoreProperties(zip, next, prior) {
1283
1293
  if (same(next, prior)) return;
1284
1294
  const existing = zip.file(CORE_PATH);
@@ -1437,13 +1447,13 @@ function buildCommentsExtendedDocument(comments) {
1437
1447
  );
1438
1448
  const root = doc.documentElement;
1439
1449
  comments.forEach((comment, index) => {
1440
- const entry = doc.createElementNS(W15_NS, "w15:commentEx");
1441
- entry.setAttributeNS(W15_NS, "w15:paraId", paraIdFor(comment.id, index));
1442
- if (comment.resolved) entry.setAttributeNS(W15_NS, "w15:done", "1");
1443
- const parentIndex = comments.findIndex((c) => c.id === comment.parentId);
1450
+ const entry2 = doc.createElementNS(W15_NS, "w15:commentEx");
1451
+ entry2.setAttributeNS(W15_NS, "w15:paraId", paraIdFor(comment.id, index));
1452
+ if (comment.resolved) entry2.setAttributeNS(W15_NS, "w15:done", "1");
1453
+ const parentIndex = comments.findIndex((c2) => c2.id === comment.parentId);
1444
1454
  if (parentIndex >= 0)
1445
- entry.setAttributeNS(W15_NS, "w15:paraIdParent", paraIdFor(comment.parentId, parentIndex));
1446
- root.appendChild(entry);
1455
+ entry2.setAttributeNS(W15_NS, "w15:paraIdParent", paraIdFor(comment.parentId, parentIndex));
1456
+ root.appendChild(entry2);
1447
1457
  });
1448
1458
  return doc;
1449
1459
  }
@@ -1573,7 +1583,7 @@ function rangeEdges(runs, ranges) {
1573
1583
  const opens = /* @__PURE__ */ new Map();
1574
1584
  const closes = /* @__PURE__ */ new Map();
1575
1585
  const order = (key) => key.startsWith("comment:") ? 0 : 1;
1576
- for (const key of [...first3.keys()].sort((a, b) => order(a) - order(b))) {
1586
+ for (const key of [...first3.keys()].sort((a2, b) => order(a2) - order(b))) {
1577
1587
  if (!ranges?.before.has(key)) {
1578
1588
  const index = first3.get(key);
1579
1589
  (opens.get(index) ?? opens.set(index, []).get(index)).push(edgeFor(key, index));
@@ -1796,8 +1806,8 @@ function orderChildren(parent, order) {
1796
1806
  if (rank >= 0) previousRank = rank;
1797
1807
  return { element, index, rank: rank >= 0 ? rank : previousRank + 0.5 };
1798
1808
  });
1799
- const sorted = [...ranked].sort((a, b) => a.rank - b.rank || a.index - b.index);
1800
- if (sorted.every((entry, index) => entry.element === elements2[index])) return;
1809
+ const sorted = [...ranked].sort((a2, b) => a2.rank - b.rank || a2.index - b.index);
1810
+ if (sorted.every((entry2, index) => entry2.element === elements2[index])) return;
1801
1811
  for (const { element } of sorted) parent.appendChild(element);
1802
1812
  }
1803
1813
  var SECTPR_ORDER = [
@@ -2584,7 +2594,7 @@ function borderElement(doc, name, side) {
2584
2594
  }
2585
2595
  return element;
2586
2596
  }
2587
- var sameJson = (a, b) => JSON.stringify(a ?? null) === JSON.stringify(b ?? null);
2597
+ var sameJson = (a2, b) => JSON.stringify(a2 ?? null) === JSON.stringify(b ?? null);
2588
2598
  function updateShading(doc, props, paragraph, base) {
2589
2599
  if (base && paragraph.shadingFill === base.shadingFill) return;
2590
2600
  for (const element of children2(props, "shd")) props.removeChild(element);
@@ -2776,8 +2786,8 @@ function reconcileBookmarks(doc, starts, ends, names, baseNames, nextId) {
2776
2786
  function setAttribute3(element, local, value) {
2777
2787
  element.setAttributeNS(WORD_NS, `w:${local}`, value);
2778
2788
  }
2779
- function sameNumbering(a, b) {
2780
- return a?.numId === b?.numId && a?.level === b?.level;
2789
+ function sameNumbering(a2, b) {
2790
+ return a2?.numId === b?.numId && a2?.level === b?.level;
2781
2791
  }
2782
2792
  function writeNumberingProperties(doc, props, paragraph, base) {
2783
2793
  if (base && sameNumbering(paragraph.numbering, base.numbering)) return;
@@ -2960,11 +2970,11 @@ var allowedRunPropertyAttributes = {
2960
2970
  shd: ["val", "fill", "color", "themeFill", "themeFillTint", "themeFillShade"]
2961
2971
  };
2962
2972
  function hasUnexpectedAttributes(element, allowed, allowDateUtc = false) {
2963
- for (const attribute of Array.from(element.attributes)) {
2964
- if (attribute.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
2965
- if (allowDateUtc && attribute.namespaceURI === WORD_DATE_UTC_NS && attribute.localName === "dateUtc")
2973
+ for (const attribute2 of Array.from(element.attributes)) {
2974
+ if (attribute2.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
2975
+ if (allowDateUtc && attribute2.namespaceURI === WORD_DATE_UTC_NS && attribute2.localName === "dateUtc")
2966
2976
  continue;
2967
- if (attribute.namespaceURI !== WORD_NS || !allowed.includes(attribute.localName)) return true;
2977
+ if (attribute2.namespaceURI !== WORD_NS || !allowed.includes(attribute2.localName)) return true;
2968
2978
  }
2969
2979
  return false;
2970
2980
  }
@@ -2991,7 +3001,7 @@ function runPropertiesHaveUnknownContent(properties) {
2991
3001
  if (!isLigatures(property.getAttributeNS(WORD_2010_NS, "val")) || elements(property).length)
2992
3002
  return true;
2993
3003
  if (Array.from(property.attributes).some(
2994
- (attribute) => attribute.namespaceURI !== "http://www.w3.org/2000/xmlns/" && (attribute.namespaceURI !== WORD_2010_NS || attribute.localName !== "val")
3004
+ (attribute2) => attribute2.namespaceURI !== "http://www.w3.org/2000/xmlns/" && (attribute2.namespaceURI !== WORD_2010_NS || attribute2.localName !== "val")
2995
3005
  ))
2996
3006
  return true;
2997
3007
  continue;
@@ -3138,19 +3148,19 @@ function colorOf(value) {
3138
3148
  }
3139
3149
  function parseWatermarkShape(shape) {
3140
3150
  if (!shape || !(shape.getAttribute("id") ?? "").startsWith(WATERMARK_PREFIX)) return void 0;
3141
- const path = Array.from(shape.getElementsByTagNameNS(VML_NS, "textpath"))[0];
3142
- if (!path) return void 0;
3151
+ const path2 = Array.from(shape.getElementsByTagNameNS(VML_NS, "textpath"))[0];
3152
+ if (!path2) return void 0;
3143
3153
  const style = shape.getAttribute("style") ?? "";
3144
3154
  const fill = Array.from(shape.getElementsByTagNameNS(VML_NS, "fill"))[0];
3145
3155
  const opacity = fill?.getAttribute("opacity");
3146
3156
  const family = /font-family:\s*(?:"|"|')?([^;"'&]+)/i.exec(
3147
- path.getAttribute("style") ?? ""
3157
+ path2.getAttribute("style") ?? ""
3148
3158
  )?.[1];
3149
3159
  const width = /width:\s*([\d.]+)pt/i.exec(style);
3150
3160
  const height = /height:\s*([\d.]+)pt/i.exec(style);
3151
3161
  const rotation = /rotation:\s*(-?[\d.]+)/i.exec(style);
3152
3162
  const spec = {
3153
- text: path.getAttribute("string") ?? "",
3163
+ text: path2.getAttribute("string") ?? "",
3154
3164
  color: colorOf(shape.getAttribute("fillcolor")),
3155
3165
  semitransparent: opacity !== null && opacity !== "" && opacity !== "1",
3156
3166
  layout: rotation && Math.abs(Number(rotation[1]) % 360) > 1 ? "diagonal" : "horizontal",
@@ -3206,11 +3216,11 @@ function buildWatermarkRun(doc, spec, uniqueId) {
3206
3216
  f.setAttribute("eqn", eqn);
3207
3217
  formulas.appendChild(f);
3208
3218
  }
3209
- const path = v("path");
3210
- path.setAttribute("textpathok", "t");
3211
- path.setAttributeNS(OFFICE_NS, "o:connecttype", "custom");
3212
- path.setAttributeNS(OFFICE_NS, "o:connectlocs", "@9,0;@10,10800;@11,21600;@12,10800");
3213
- path.setAttributeNS(OFFICE_NS, "o:connectangles", "270,180,90,0");
3219
+ const path2 = v("path");
3220
+ path2.setAttribute("textpathok", "t");
3221
+ path2.setAttributeNS(OFFICE_NS, "o:connecttype", "custom");
3222
+ path2.setAttributeNS(OFFICE_NS, "o:connectlocs", "@9,0;@10,10800;@11,21600;@12,10800");
3223
+ path2.setAttributeNS(OFFICE_NS, "o:connectangles", "270,180,90,0");
3214
3224
  const typePath = v("textpath");
3215
3225
  typePath.setAttribute("on", "t");
3216
3226
  typePath.setAttribute("fitshape", "t");
@@ -3223,7 +3233,7 @@ function buildWatermarkRun(doc, spec, uniqueId) {
3223
3233
  lock.setAttributeNS(VML_NS, "v:ext", "edit");
3224
3234
  lock.setAttribute("text", "t");
3225
3235
  lock.setAttribute("shapetype", "t");
3226
- for (const child3 of [formulas, path, typePath, handles, lock]) type.appendChild(child3);
3236
+ for (const child3 of [formulas, path2, typePath, handles, lock]) type.appendChild(child3);
3227
3237
  const size = watermarkSizePt(spec);
3228
3238
  const shape = v("shape");
3229
3239
  shape.setAttribute("id", `${WATERMARK_PREFIX}${uniqueId}`);
@@ -3456,8 +3466,8 @@ var CUSTOM_LAYOUT_ATTRIBUTES = [
3456
3466
  ];
3457
3467
  function parseCustomLayoutAttributes(get) {
3458
3468
  const custom = {};
3459
- for (const [key, attribute, kind] of CUSTOM_LAYOUT_ATTRIBUTES) {
3460
- const raw = get(attribute);
3469
+ for (const [key, attribute2, kind] of CUSTOM_LAYOUT_ATTRIBUTES) {
3470
+ const raw = get(attribute2);
3461
3471
  const value = kind === "flag" ? optionalBoolean(raw) : optionalScaled(raw, kind === "angle" ? 6e4 : 1e5);
3462
3472
  if (value !== void 0) custom[key] = value;
3463
3473
  }
@@ -3471,8 +3481,8 @@ var RELATIONSHIP_ATTRIBUTES = [
3471
3481
  ];
3472
3482
  function parseRelationshipIdAttributes(get) {
3473
3483
  const result = {};
3474
- for (const [property, attribute] of RELATIONSHIP_ATTRIBUTES) {
3475
- const value = optionalString(get(attribute));
3484
+ for (const [property, attribute2] of RELATIONSHIP_ATTRIBUTES) {
3485
+ const value = optionalString(get(attribute2));
3476
3486
  if (value) result[property] = value;
3477
3487
  }
3478
3488
  return result;
@@ -3534,7 +3544,7 @@ async function resolveDiagramDrawingPart(hostPart, dataRelId, drawingExtensionRe
3534
3544
  const entries = await host.readRelationshipEntries(diagramRelationshipsPart(dataPath));
3535
3545
  if (!entries) return void 0;
3536
3546
  const drawing = entries.find(
3537
- (entry) => (!drawingExtensionRelId || entry.id.trim() === drawingExtensionRelId) && entry.type.endsWith("/diagramDrawing")
3547
+ (entry2) => (!drawingExtensionRelId || entry2.id.trim() === drawingExtensionRelId) && entry2.type.endsWith("/diagramDrawing")
3538
3548
  );
3539
3549
  const id = drawing?.id.trim() ?? "";
3540
3550
  const target = drawing?.target.trim() ?? "";
@@ -3638,14 +3648,14 @@ function parseDiagramDataModel(source, part) {
3638
3648
  if (connection.modelId && connectionIds.has(connection.modelId))
3639
3649
  report("CONNECTION_ID_DUPLICATE", `Duplicate dgm:cxn modelId: ${connection.modelId}.`);
3640
3650
  if (connection.modelId) connectionIds.add(connection.modelId);
3641
- for (const [attribute, id] of [
3651
+ for (const [attribute2, id] of [
3642
3652
  ["srcId", connection.sourceId],
3643
3653
  ["destId", connection.destId]
3644
3654
  ])
3645
3655
  if (!ids.has(id))
3646
3656
  report(
3647
3657
  "CONNECTION_ENDPOINT_MISSING",
3648
- `dgm:cxn ${attribute} references missing point: ${id}.`
3658
+ `dgm:cxn ${attribute2} references missing point: ${id}.`
3649
3659
  );
3650
3660
  const label = connectionLabel(connection, transitionText);
3651
3661
  connections.push(label ? { ...connection, label } : connection);
@@ -3788,7 +3798,7 @@ function parseDrawingFill(properties) {
3788
3798
  });
3789
3799
  const angle = Number.parseInt(first(fill, "lin", NS.a)?.getAttribute("ang") ?? "", 10);
3790
3800
  const scaled = first(fill, "lin", NS.a)?.getAttribute("scaled");
3791
- const path = first(fill, "path", NS.a)?.getAttribute("path");
3801
+ const path2 = first(fill, "path", NS.a)?.getAttribute("path");
3792
3802
  const focus = first(first(fill, "path", NS.a), "fillToRect", NS.a);
3793
3803
  const tile = first(fill, "tileRect", NS.a);
3794
3804
  const tileRect = tile ? {
@@ -3810,7 +3820,7 @@ function parseDrawingFill(properties) {
3810
3820
  ...Number.isFinite(angle) ? { angle: angle / 6e4 } : {},
3811
3821
  ...scaled === "1" || scaled === "true" ? { scaled: true } : {},
3812
3822
  ...scaled === "0" || scaled === "false" ? { scaled: false } : {},
3813
- ...path ? { path } : {},
3823
+ ...path2 ? { path: path2 } : {},
3814
3824
  ...fillToRect && Object.values(fillToRect).every(Number.isFinite) ? { fillToRect } : {},
3815
3825
  ...tileRect && Object.values(tileRect).every(Number.isFinite) ? { tileRect } : {}
3816
3826
  };
@@ -3914,13 +3924,13 @@ function parseDrawingTextBody(body) {
3914
3924
  const anchor = properties?.getAttribute("anchor");
3915
3925
  if (anchor) result.anchor = anchor;
3916
3926
  const insets = {};
3917
- for (const [key, attribute] of [
3927
+ for (const [key, attribute2] of [
3918
3928
  ["left", "lIns"],
3919
3929
  ["top", "tIns"],
3920
3930
  ["right", "rIns"],
3921
3931
  ["bottom", "bIns"]
3922
3932
  ]) {
3923
- const value = Number.parseInt(properties?.getAttribute(attribute) ?? "", 10);
3933
+ const value = Number.parseInt(properties?.getAttribute(attribute2) ?? "", 10);
3924
3934
  if (Number.isFinite(value)) insets[key] = value;
3925
3935
  }
3926
3936
  if (Object.keys(insets).length > 0) result.insetsEmu = insets;
@@ -3951,18 +3961,18 @@ function parseTransform(xfrm) {
3951
3961
  ...booleanAttribute(xfrm, "flipV") ? { flipVertical: true } : {}
3952
3962
  };
3953
3963
  }
3954
- function parsePathCommands(path) {
3964
+ function parsePathCommands(path2) {
3955
3965
  const commands = [];
3956
3966
  const point = (element) => {
3957
3967
  const x = int(element, "x");
3958
3968
  const y = int(element, "y");
3959
3969
  return Number.isFinite(x) && Number.isFinite(y) ? { x, y } : void 0;
3960
3970
  };
3961
- for (const element of Array.from(path.childNodes)) {
3971
+ for (const element of Array.from(path2.childNodes)) {
3962
3972
  if (element.nodeType !== 1) continue;
3963
3973
  const node = element;
3964
3974
  const points = children(node, "pt", NS.a).map(point);
3965
- if (points.some((entry) => entry === void 0)) return void 0;
3975
+ if (points.some((entry2) => entry2 === void 0)) return void 0;
3966
3976
  const [p0, p1, p2] = points;
3967
3977
  switch (node.localName) {
3968
3978
  case "moveTo":
@@ -4005,17 +4015,17 @@ function parseDrawingGeometry(spPr) {
4005
4015
  const custom = first(spPr, "custGeom", NS.a);
4006
4016
  if (custom) {
4007
4017
  const paths = [];
4008
- for (const path of children(first(custom, "pathLst", NS.a) ?? custom, "path", NS.a)) {
4009
- const commands = parsePathCommands(path);
4018
+ for (const path2 of children(first(custom, "pathLst", NS.a) ?? custom, "path", NS.a)) {
4019
+ const commands = parsePathCommands(path2);
4010
4020
  if (!commands) return { geometry: "custom", issue: "CUSTOM_GEOMETRY_GUIDES_UNSUPPORTED" };
4011
- const width = int(path, "w");
4012
- const height = int(path, "h");
4021
+ const width = int(path2, "w");
4022
+ const height = int(path2, "h");
4013
4023
  paths.push({
4014
4024
  commands,
4015
4025
  ...Number.isFinite(width) ? { width } : {},
4016
4026
  ...Number.isFinite(height) ? { height } : {},
4017
- ...path.getAttribute("fill") ? { fill: path.getAttribute("fill") } : {},
4018
- ...path.getAttribute("stroke") === "0" || path.getAttribute("stroke") === "false" ? { stroke: false } : {}
4027
+ ...path2.getAttribute("fill") ? { fill: path2.getAttribute("fill") } : {},
4028
+ ...path2.getAttribute("stroke") === "0" || path2.getAttribute("stroke") === "false" ? { stroke: false } : {}
4019
4029
  });
4020
4030
  }
4021
4031
  return { geometry: "custom", paths };
@@ -4357,6 +4367,1179 @@ async function resolveDiagramParts(diagram, readText) {
4357
4367
  diagram.notice = diagramNotice(diagram.rendering);
4358
4368
  }
4359
4369
 
4370
+ // chart/color-style.ts
4371
+ var CHART_COLOR_STYLE_NS = "http://schemas.microsoft.com/office/drawing/2012/chartStyle";
4372
+ function chartColorStyleId(xml) {
4373
+ const root = parseXml(xml).documentElement;
4374
+ if (root.localName !== "colorStyle" || root.namespaceURI !== CHART_COLOR_STYLE_NS)
4375
+ return void 0;
4376
+ const value = root.getAttribute("id");
4377
+ if (!value || !/^\d+$/.test(value)) return void 0;
4378
+ const id = Number(value);
4379
+ return Number.isInteger(id) && id >= 0 ? id : void 0;
4380
+ }
4381
+
4382
+ // chart/built-in-text-style.ts
4383
+ var C14 = NS.c14;
4384
+ function readBuiltInChartStyle(root) {
4385
+ for (const content of children(root, "AlternateContent", NS.mc)) {
4386
+ for (const choice of children(content, "Choice", NS.mc)) {
4387
+ const requires = choice.getAttribute("Requires")?.trim().split(/\s+/);
4388
+ if (!requires?.length || !requires.every((prefix) => choice.lookupNamespaceURI(prefix) === C14))
4389
+ continue;
4390
+ const modern = first(choice, "style", C14)?.getAttribute("val");
4391
+ if (modern && /^\d+$/.test(modern) && Number(modern) >= 101 && Number(modern) <= 148)
4392
+ return Number(modern);
4393
+ }
4394
+ }
4395
+ const legacy = first(root, "style", NS.c) ?? first(first(first(root, "AlternateContent", NS.mc), "Fallback", NS.mc), "style", NS.c);
4396
+ const value = legacy?.getAttribute("val");
4397
+ if (!legacy) return 2;
4398
+ return value && /^\d+$/.test(value) && Number.isSafeInteger(Number(value)) ? Number(value) : void 0;
4399
+ }
4400
+
4401
+ // chart/read-appearance.ts
4402
+ function readChartAppearance(text, properties) {
4403
+ const out = {};
4404
+ const size = Number(text?.getAttribute("sz") ?? NaN);
4405
+ if (Number.isFinite(size) && size > 0) out.fontSize = size / 100;
4406
+ for (const [attribute2, key] of [
4407
+ ["b", "bold"],
4408
+ ["i", "italic"]
4409
+ ]) {
4410
+ const value = text?.getAttribute(attribute2);
4411
+ if (value !== null && value !== void 0) out[key] = value === "1" || value === "true";
4412
+ }
4413
+ const typeface = first(text, "latin", NS.a)?.getAttribute("typeface");
4414
+ const underline = text?.getAttribute("u");
4415
+ if (underline) out.underline = underline !== "none";
4416
+ if (typeface) out.typeface = typeface;
4417
+ const color = parseDrawingColorIn(first(text, "solidFill", NS.a));
4418
+ if (color) out.textColor = color;
4419
+ const fill = parseDrawingFill(properties);
4420
+ const line = parseDrawingLine(first(properties, "ln", NS.a));
4421
+ if (fill) out.fill = fill;
4422
+ if (line) out.line = line;
4423
+ const effects = first(text, "effectLst", NS.a);
4424
+ if (effects) out.textEffectsXml = buildXml(effects);
4425
+ return out;
4426
+ }
4427
+
4428
+ // chart/formatting-nodes.ts
4429
+ function chartFormattingNodes(root) {
4430
+ const chart = first(root, "chart", NS.c);
4431
+ const plot = first(chart, "plotArea", NS.c);
4432
+ const category = first(plot, "catAx", NS.c) ?? first(plot, "dateAx", NS.c);
4433
+ const values = plot ? children(plot, "valAx", NS.c) : [];
4434
+ return {
4435
+ chartArea: root,
4436
+ plotArea: plot,
4437
+ title: first(chart, "title", NS.c),
4438
+ legend: first(chart, "legend", NS.c),
4439
+ categoryAxis: category ?? values[0],
4440
+ valueAxis: category ? values[0] : values[1],
4441
+ gridlineMajor: first(values[0], "majorGridlines", NS.c),
4442
+ gridlineMinor: first(values[0], "minorGridlines", NS.c)
4443
+ };
4444
+ }
4445
+
4446
+ // chart/manual-layout.ts
4447
+ function readChartManualLayoutValues(value) {
4448
+ const result = {};
4449
+ const enumeration = (name, values) => {
4450
+ const raw = value(name);
4451
+ return values.includes(raw) ? raw : void 0;
4452
+ };
4453
+ const target = enumeration("layoutTarget", ["inner", "outer"]);
4454
+ if (target) result.layoutTarget = target;
4455
+ for (const [xml, key] of [
4456
+ ["xMode", "xMode"],
4457
+ ["yMode", "yMode"],
4458
+ ["wMode", "widthMode"],
4459
+ ["hMode", "heightMode"]
4460
+ ]) {
4461
+ const mode = enumeration(xml, ["edge", "factor"]);
4462
+ if (mode) result[key] = mode;
4463
+ }
4464
+ for (const [xml, key] of [
4465
+ ["x", "x"],
4466
+ ["y", "y"],
4467
+ ["w", "width"],
4468
+ ["h", "height"]
4469
+ ]) {
4470
+ const raw = value(xml);
4471
+ if (typeof raw !== "string" && typeof raw !== "number" || typeof raw === "string" && !raw.trim())
4472
+ continue;
4473
+ const number = Number(raw);
4474
+ if (Number.isFinite(number)) result[key] = number;
4475
+ }
4476
+ return Object.keys(result).length ? result : void 0;
4477
+ }
4478
+
4479
+ // chart/read-formatting.ts
4480
+ var c = (parent, name) => first(parent, name, NS.c);
4481
+ var a = (parent, name) => first(parent, name, NS.a);
4482
+ function entry(node) {
4483
+ const body = c(node, "txPr");
4484
+ const paragraph = a(body, "p");
4485
+ const defaults = a(a(paragraph, "pPr"), "defRPr");
4486
+ const rich = c(c(node, "tx"), "rich");
4487
+ const richParagraph = a(rich, "p");
4488
+ const textBody = parseDrawingTextBody(rich);
4489
+ const manual = c(c(node, "layout"), "manualLayout");
4490
+ const layout2 = manual ? readChartManualLayoutValues((name) => c(manual, name)?.getAttribute("val")) : void 0;
4491
+ const overlay = c(node, "overlay")?.getAttribute("val");
4492
+ const out = {
4493
+ sourceXml: buildXml(node),
4494
+ ...layout2 ? { layout: layout2 } : {},
4495
+ ...overlay === "0" || overlay === "false" ? { overlay: false } : overlay === "1" || overlay === "true" ? { overlay: true } : {},
4496
+ ...readChartAppearance(defaults, c(node, "spPr")),
4497
+ ...readChartAppearance(a(a(richParagraph, "pPr"), "defRPr"), void 0),
4498
+ ...readChartAppearance(a(a(richParagraph, "r"), "rPr"), void 0),
4499
+ ...textBody ? { textBody, textBodyStyle: readChartAppearance(defaults, void 0) } : {}
4500
+ };
4501
+ if (["catAx", "dateAx", "valAx"].includes(node.localName)) {
4502
+ const deleted = c(node, "delete")?.getAttribute("val");
4503
+ if (deleted !== void 0) out.axisVisible = deleted !== "1" && deleted !== "true";
4504
+ out.labelsVisible = out.axisVisible !== false && c(node, "tickLblPos")?.getAttribute("val") !== "none";
4505
+ }
4506
+ return out;
4507
+ }
4508
+ function readChartFormatting(root) {
4509
+ const nodes = chartFormattingNodes(root);
4510
+ const entries = Object.fromEntries(
4511
+ Object.entries(nodes).flatMap(([name, node]) => node ? [[name, entry(node)]] : [])
4512
+ );
4513
+ const builtInStyle = readBuiltInChartStyle(root);
4514
+ const textBody = c(root, "txPr");
4515
+ const textDefaults = textBody ? {
4516
+ sourceXml: buildXml(textBody),
4517
+ ...readChartAppearance(a(a(a(textBody, "p"), "pPr"), "defRPr"), void 0)
4518
+ } : void 0;
4519
+ return Object.keys(entries).length ? {
4520
+ entries,
4521
+ sourceXml: buildXml(root),
4522
+ ...builtInStyle === void 0 ? {} : { builtInStyle },
4523
+ ...textDefaults ? { textDefaults } : {}
4524
+ } : void 0;
4525
+ }
4526
+
4527
+ // chart/data-cache.ts
4528
+ function chartCacheValues(cache) {
4529
+ if (!cache) return [];
4530
+ const numeric = cache.type === "number";
4531
+ const out = [];
4532
+ for (const point of cache.points) {
4533
+ const text = point.value;
4534
+ out[point.index ?? out.length] = numeric && text.trim() !== "" && Number.isFinite(Number(text)) ? Number(text) : text;
4535
+ }
4536
+ const size = Math.max(cache.pointCount ?? 0, out.length);
4537
+ for (let index = 0; index < size; index++) if (out[index] === void 0) out[index] = "";
4538
+ return out;
4539
+ }
4540
+
4541
+ // chart/xml-fragment.ts
4542
+ var CHART_ROOT_BINDINGS = /* @__PURE__ */ new Map([
4543
+ ["c", NS.c],
4544
+ ["a", NS.a],
4545
+ ["r", NS.r]
4546
+ ]);
4547
+ var DECLARATION = / xmlns:([A-Za-z_][\w.-]*)="([^"]*)"/g;
4548
+ function stripDeclarations(xml, bindings) {
4549
+ const conflicting = /* @__PURE__ */ new Set();
4550
+ for (const [, prefix, uri] of xml.matchAll(DECLARATION))
4551
+ if (prefix !== void 0 && bindings.has(prefix) && bindings.get(prefix) !== uri)
4552
+ conflicting.add(prefix);
4553
+ return xml.replace(
4554
+ DECLARATION,
4555
+ (match, prefix, uri) => bindings.get(prefix) === uri && !conflicting.has(prefix) ? "" : match
4556
+ );
4557
+ }
4558
+ var innerXml = (element) => stripDeclarations(elements(element).map(buildXml).join(""), CHART_ROOT_BINDINGS);
4559
+
4560
+ // chart/parse-util.ts
4561
+ var cChild = (parent, local) => first(parent, local, NS.c);
4562
+ var attribute = (element, name) => element?.hasAttribute(name) ? element.getAttribute(name) ?? void 0 : void 0;
4563
+ var cVal = (parent, local) => attribute(cChild(parent, local), "val");
4564
+ var path = (element) => `c:${element.parentNode?.localName ?? ""}/c:${element.localName}`;
4565
+ function malformed(context, element, value) {
4566
+ context.issues.push({
4567
+ code: "CHART_VALUE_INVALID",
4568
+ message: `${path(element)} has an unreadable value "${value}".`
4569
+ });
4570
+ }
4571
+ function cBool(context, parent, local) {
4572
+ const element = cChild(parent, local);
4573
+ if (!element) return void 0;
4574
+ const raw = attribute(element, "val");
4575
+ if (raw === void 0) return true;
4576
+ const value = raw.trim().toLowerCase();
4577
+ if (value === "1" || value === "true") return true;
4578
+ if (value === "0" || value === "false") return false;
4579
+ malformed(context, element, raw);
4580
+ return void 0;
4581
+ }
4582
+ function cNumber(context, parent, local) {
4583
+ const element = cChild(parent, local);
4584
+ const raw = attribute(element, "val");
4585
+ if (!element || raw === void 0) return void 0;
4586
+ const value = raw.trim() ? Number(raw) : Number.NaN;
4587
+ if (Number.isFinite(value)) return value;
4588
+ malformed(context, element, raw);
4589
+ return void 0;
4590
+ }
4591
+ function reportUnmodelled(context, element, handled) {
4592
+ for (const child3 of elements(element)) {
4593
+ if (handled.has(child3.localName)) continue;
4594
+ context.issues.push({
4595
+ code: "CHART_ELEMENT_NOT_MODELLED",
4596
+ message: `${path(child3)} is not modelled; it is kept only in the source part.`
4597
+ });
4598
+ }
4599
+ }
4600
+ function extensionList(parent) {
4601
+ const extLst = cChild(parent, "extLst");
4602
+ return extLst ? buildXml(extLst) : void 0;
4603
+ }
4604
+ function readShapeFields(spPr) {
4605
+ const out = {};
4606
+ const fill = parseDrawingFill(spPr);
4607
+ if (fill) out.fill = fill;
4608
+ const line = parseDrawingLine(first(spPr, "ln", NS.a));
4609
+ if (line) out.line = line;
4610
+ const effects = first(spPr, "effectLst", NS.a);
4611
+ if (effects) out.effectsXml = buildXml(effects);
4612
+ return out;
4613
+ }
4614
+ function shapeProperties(parent) {
4615
+ const spPr = cChild(parent, "spPr");
4616
+ if (!spPr) return void 0;
4617
+ const out = readShapeFields(spPr);
4618
+ const source = innerXml(spPr);
4619
+ if (source) out.sourceXml = source;
4620
+ return out;
4621
+ }
4622
+ function chartTextBody(element) {
4623
+ const body = parseDrawingTextBody(element);
4624
+ if (!body || !element) return body;
4625
+ const source = innerXml(element);
4626
+ if (source) body.sourceXml = source;
4627
+ return body;
4628
+ }
4629
+ var textProperties = (parent) => chartTextBody(cChild(parent, "txPr"));
4630
+ function chartLines(parent, local) {
4631
+ const element = cChild(parent, local);
4632
+ if (!element) return void 0;
4633
+ const spPr = shapeProperties(element);
4634
+ return spPr ? { spPr } : {};
4635
+ }
4636
+ function numberFormat(parent) {
4637
+ const element = cChild(parent, "numFmt");
4638
+ const formatCode = attribute(element, "formatCode");
4639
+ if (formatCode === void 0) return void 0;
4640
+ const linked = attribute(element, "sourceLinked");
4641
+ return {
4642
+ formatCode,
4643
+ ...linked === "1" || linked === "true" ? { sourceLinked: true } : {},
4644
+ ...linked === "0" || linked === "false" ? { sourceLinked: false } : {}
4645
+ };
4646
+ }
4647
+ function readLayoutFields(layout2) {
4648
+ const manual = cChild(layout2, "manualLayout");
4649
+ return (manual && readChartManualLayoutValues((name) => cVal(manual, name))) ?? {};
4650
+ }
4651
+ function manualLayout(parent) {
4652
+ const layout2 = cChild(parent, "layout");
4653
+ if (!layout2) return void 0;
4654
+ const out = readLayoutFields(layout2);
4655
+ const source = innerXml(layout2);
4656
+ if (source) out.sourceXml = source;
4657
+ return out;
4658
+ }
4659
+ function assignDefined(target, values) {
4660
+ for (const [key, value] of Object.entries(values))
4661
+ if (value !== void 0) target[key] = value;
4662
+ return target;
4663
+ }
4664
+
4665
+ // chart/parse-text.ts
4666
+ function parseCache(node) {
4667
+ const cache = {
4668
+ type: node.localName === "numCache" || node.localName === "numLit" ? "number" : "string",
4669
+ points: children(node, "pt", NS.c).map((pt) => {
4670
+ const point = { value: cChild(pt, "v")?.textContent ?? "" };
4671
+ const index = Number(attribute(pt, "idx") ?? Number.NaN);
4672
+ if (Number.isInteger(index) && index >= 0) point.index = index;
4673
+ const formatCode2 = attribute(pt, "formatCode");
4674
+ if (formatCode2 !== void 0) point.formatCode = formatCode2;
4675
+ return point;
4676
+ })
4677
+ };
4678
+ const count = Number(cVal(node, "ptCount") ?? Number.NaN);
4679
+ if (Number.isInteger(count) && count >= 0) cache.pointCount = count;
4680
+ const formatCode = cChild(node, "formatCode")?.textContent;
4681
+ if (formatCode) cache.formatCode = formatCode;
4682
+ return cache;
4683
+ }
4684
+ function parseDataSource(element) {
4685
+ if (!element) return void 0;
4686
+ const source = {};
4687
+ const ref = cChild(element, "numRef") ?? cChild(element, "strRef") ?? cChild(element, "multiLvlStrRef");
4688
+ if (ref) {
4689
+ source.kind = ref.localName;
4690
+ const formula = cChild(ref, "f")?.textContent;
4691
+ if (formula) source.formula = formula;
4692
+ const cache = cChild(ref, "numCache") ?? cChild(ref, "strCache");
4693
+ if (cache) source.cache = parseCache(cache);
4694
+ const levels = cChild(ref, "multiLvlStrCache");
4695
+ if (levels) {
4696
+ source.levels = children(levels, "lvl", NS.c).map(parseCache);
4697
+ const count = Number(cVal(levels, "ptCount") ?? Number.NaN);
4698
+ if (Number.isInteger(count) && count >= 0) source.levelPointCount = count;
4699
+ }
4700
+ return source;
4701
+ }
4702
+ const literal = cChild(element, "numLit") ?? cChild(element, "strLit");
4703
+ if (literal) {
4704
+ source.kind = literal.localName;
4705
+ source.cache = parseCache(literal);
4706
+ }
4707
+ return source;
4708
+ }
4709
+ function parseChartText(context, tx, allowValue) {
4710
+ if (!tx) return void 0;
4711
+ const text = {};
4712
+ const rich = chartTextBody(cChild(tx, "rich"));
4713
+ if (rich) text.rich = rich;
4714
+ if (cChild(tx, "strRef")) {
4715
+ const reference = parseDataSource(tx);
4716
+ if (reference) text.reference = reference;
4717
+ }
4718
+ const value = allowValue ? cChild(tx, "v")?.textContent : void 0;
4719
+ if (value !== void 0 && value !== null) text.value = value;
4720
+ const cached2 = chartCacheValues(text.reference?.cache)[0];
4721
+ const flat = text.value ?? (rich ? rich.text : cached2 === void 0 ? void 0 : String(cached2));
4722
+ if (flat !== void 0) text.text = flat;
4723
+ reportUnmodelled(context, tx, new Set(allowValue ? ["strRef", "v"] : ["rich", "strRef"]));
4724
+ return text;
4725
+ }
4726
+ var TITLE = /* @__PURE__ */ new Set(["tx", "layout", "overlay", "spPr", "txPr", "extLst"]);
4727
+ function parseTitle(context, element) {
4728
+ const tx = parseChartText(context, cChild(element, "tx"), false);
4729
+ reportUnmodelled(context, element, TITLE);
4730
+ return assignDefined(
4731
+ {},
4732
+ {
4733
+ tx,
4734
+ text: tx?.text,
4735
+ overlay: cBool(context, element, "overlay"),
4736
+ layout: manualLayout(element),
4737
+ spPr: shapeProperties(element),
4738
+ txPr: textProperties(element),
4739
+ extLst: extensionList(element)
4740
+ }
4741
+ );
4742
+ }
4743
+ var LABEL_OPTIONS = [
4744
+ "delete",
4745
+ "showLegendKey",
4746
+ "showVal",
4747
+ "showCatName",
4748
+ "showSerName",
4749
+ "showPercent",
4750
+ "showBubbleSize",
4751
+ "separator",
4752
+ "dLblPos",
4753
+ "numFmt",
4754
+ "spPr",
4755
+ "txPr",
4756
+ "extLst"
4757
+ ];
4758
+ function labelOptions(context, element) {
4759
+ const flag2 = (local) => cBool(context, element, local);
4760
+ return assignDefined(
4761
+ {},
4762
+ {
4763
+ deleted: flag2("delete"),
4764
+ showLegendKey: flag2("showLegendKey"),
4765
+ showValue: flag2("showVal"),
4766
+ showCategoryName: flag2("showCatName"),
4767
+ showSeriesName: flag2("showSerName"),
4768
+ showPercent: flag2("showPercent"),
4769
+ showBubbleSize: flag2("showBubbleSize"),
4770
+ separator: cChild(element, "separator")?.textContent ?? void 0,
4771
+ position: cVal(element, "dLblPos"),
4772
+ numberFormat: numberFormat(element),
4773
+ spPr: shapeProperties(element),
4774
+ txPr: textProperties(element),
4775
+ extLst: extensionList(element)
4776
+ }
4777
+ );
4778
+ }
4779
+ var LABEL = /* @__PURE__ */ new Set([...LABEL_OPTIONS, "idx", "layout", "tx"]);
4780
+ var LABELS = /* @__PURE__ */ new Set([...LABEL_OPTIONS, "dLbl", "showLeaderLines", "leaderLines"]);
4781
+ function parseDataLabels(context, element) {
4782
+ if (!element) return void 0;
4783
+ const labels = children(element, "dLbl", NS.c).map((node) => {
4784
+ reportUnmodelled(context, node, LABEL);
4785
+ return assignDefined(labelOptions(context, node), {
4786
+ index: cNumber(context, node, "idx"),
4787
+ tx: parseChartText(context, cChild(node, "tx"), false),
4788
+ layout: manualLayout(node)
4789
+ });
4790
+ });
4791
+ reportUnmodelled(context, element, LABELS);
4792
+ return assignDefined(
4793
+ { ...labelOptions(context, element), labels },
4794
+ {
4795
+ showLeaderLines: cBool(context, element, "showLeaderLines"),
4796
+ leaderLines: chartLines(element, "leaderLines")
4797
+ }
4798
+ );
4799
+ }
4800
+
4801
+ // chart/parse-chrome.ts
4802
+ var SURFACE = /* @__PURE__ */ new Set(["thickness", "spPr", "pictureOptions", "extLst"]);
4803
+ function parseSurface(context, element) {
4804
+ if (!element) return void 0;
4805
+ reportUnmodelled(context, element, SURFACE);
4806
+ const pictureOptions = cChild(element, "pictureOptions");
4807
+ return assignDefined(
4808
+ {},
4809
+ {
4810
+ thickness: cNumber(context, element, "thickness"),
4811
+ spPr: shapeProperties(element),
4812
+ pictureOptionsXml: pictureOptions ? buildXml(pictureOptions) : void 0,
4813
+ extLst: extensionList(element)
4814
+ }
4815
+ );
4816
+ }
4817
+ var DATA_TABLE = /* @__PURE__ */ new Set([
4818
+ "showHorzBorder",
4819
+ "showVertBorder",
4820
+ "showOutline",
4821
+ "showKeys",
4822
+ "spPr",
4823
+ "txPr",
4824
+ "extLst"
4825
+ ]);
4826
+ function parseDataTable(context, element) {
4827
+ if (!element) return void 0;
4828
+ reportUnmodelled(context, element, DATA_TABLE);
4829
+ return assignDefined(
4830
+ {},
4831
+ {
4832
+ showHorizontalBorder: cBool(context, element, "showHorzBorder"),
4833
+ showVerticalBorder: cBool(context, element, "showVertBorder"),
4834
+ showOutline: cBool(context, element, "showOutline"),
4835
+ showKeys: cBool(context, element, "showKeys"),
4836
+ spPr: shapeProperties(element),
4837
+ txPr: textProperties(element),
4838
+ extLst: extensionList(element)
4839
+ }
4840
+ );
4841
+ }
4842
+ var DISPLAY_UNITS = /* @__PURE__ */ new Set(["custUnit", "builtInUnit", "dispUnitsLbl", "extLst"]);
4843
+ var DISPLAY_UNITS_LABEL = /* @__PURE__ */ new Set(["layout", "tx", "spPr", "txPr"]);
4844
+ function parseDisplayUnits(context, element) {
4845
+ if (!element) return void 0;
4846
+ reportUnmodelled(context, element, DISPLAY_UNITS);
4847
+ const labelElement = cChild(element, "dispUnitsLbl");
4848
+ let label;
4849
+ if (labelElement) {
4850
+ reportUnmodelled(context, labelElement, DISPLAY_UNITS_LABEL);
4851
+ label = assignDefined(
4852
+ {},
4853
+ {
4854
+ layout: manualLayout(labelElement),
4855
+ tx: parseChartText(context, cChild(labelElement, "tx"), false),
4856
+ spPr: shapeProperties(labelElement),
4857
+ txPr: textProperties(labelElement)
4858
+ }
4859
+ );
4860
+ }
4861
+ return assignDefined(
4862
+ {},
4863
+ {
4864
+ builtInUnit: cVal(element, "builtInUnit"),
4865
+ customUnit: cNumber(context, element, "custUnit"),
4866
+ label,
4867
+ extLst: extensionList(element)
4868
+ }
4869
+ );
4870
+ }
4871
+
4872
+ // chart/parse-series.ts
4873
+ var MARKER = /* @__PURE__ */ new Set(["symbol", "size", "spPr", "extLst"]);
4874
+ function parseMarker(context, element) {
4875
+ if (!element) return void 0;
4876
+ reportUnmodelled(context, element, MARKER);
4877
+ return assignDefined(
4878
+ {},
4879
+ {
4880
+ symbol: cVal(element, "symbol"),
4881
+ size: cNumber(context, element, "size"),
4882
+ spPr: shapeProperties(element),
4883
+ extLst: extensionList(element)
4884
+ }
4885
+ );
4886
+ }
4887
+ var POINT = /* @__PURE__ */ new Set([
4888
+ "idx",
4889
+ "invertIfNegative",
4890
+ "marker",
4891
+ "bubble3D",
4892
+ "explosion",
4893
+ "spPr",
4894
+ "extLst"
4895
+ ]);
4896
+ function parseDataPoint(context, element) {
4897
+ reportUnmodelled(context, element, POINT);
4898
+ const index = cNumber(context, element, "idx");
4899
+ return assignDefined(
4900
+ {},
4901
+ {
4902
+ index: index !== void 0 && Number.isInteger(index) && index >= 0 ? index : void 0,
4903
+ invertIfNegative: cBool(context, element, "invertIfNegative"),
4904
+ bubble3D: cBool(context, element, "bubble3D"),
4905
+ explosion: cNumber(context, element, "explosion"),
4906
+ marker: parseMarker(context, cChild(element, "marker")),
4907
+ spPr: shapeProperties(element),
4908
+ extLst: extensionList(element)
4909
+ }
4910
+ );
4911
+ }
4912
+ var SERIES = /* @__PURE__ */ new Set([
4913
+ "idx",
4914
+ "order",
4915
+ "tx",
4916
+ "spPr",
4917
+ "invertIfNegative",
4918
+ "dPt",
4919
+ "dLbls",
4920
+ "cat",
4921
+ "val",
4922
+ "xVal",
4923
+ "yVal",
4924
+ "smooth",
4925
+ "marker",
4926
+ "explosion",
4927
+ "bubbleSize",
4928
+ "bubble3D",
4929
+ "shape",
4930
+ "extLst"
4931
+ ]);
4932
+ function parseSeries(context, element) {
4933
+ reportUnmodelled(context, element, SERIES);
4934
+ return assignDefined(
4935
+ { dataPoints: children(element, "dPt", NS.c).map((point) => parseDataPoint(context, point)) },
4936
+ {
4937
+ index: cNumber(context, element, "idx"),
4938
+ order: cNumber(context, element, "order"),
4939
+ tx: parseChartText(context, cChild(element, "tx"), true),
4940
+ spPr: shapeProperties(element),
4941
+ marker: parseMarker(context, cChild(element, "marker")),
4942
+ dataLabels: parseDataLabels(context, cChild(element, "dLbls")),
4943
+ categories: parseDataSource(cChild(element, "cat")),
4944
+ values: parseDataSource(cChild(element, "val")),
4945
+ xValues: parseDataSource(cChild(element, "xVal")),
4946
+ yValues: parseDataSource(cChild(element, "yVal")),
4947
+ bubbleSizes: parseDataSource(cChild(element, "bubbleSize")),
4948
+ smooth: cBool(context, element, "smooth"),
4949
+ invertIfNegative: cBool(context, element, "invertIfNegative"),
4950
+ explosion: cNumber(context, element, "explosion"),
4951
+ bubble3D: cBool(context, element, "bubble3D"),
4952
+ shape: cVal(element, "shape"),
4953
+ extLst: extensionList(element)
4954
+ }
4955
+ );
4956
+ }
4957
+
4958
+ // chart/parse-plot.ts
4959
+ var CHART_GROUP_ELEMENTS = {
4960
+ barChart: { kind: "bar", is3D: false },
4961
+ bar3DChart: { kind: "bar", is3D: true },
4962
+ lineChart: { kind: "line", is3D: false },
4963
+ line3DChart: { kind: "line", is3D: true },
4964
+ areaChart: { kind: "area", is3D: false },
4965
+ area3DChart: { kind: "area", is3D: true },
4966
+ pieChart: { kind: "pie", is3D: false },
4967
+ pie3DChart: { kind: "pie", is3D: true },
4968
+ ofPieChart: { kind: "ofPie", is3D: false },
4969
+ doughnutChart: { kind: "doughnut", is3D: false },
4970
+ scatterChart: { kind: "scatter", is3D: false },
4971
+ radarChart: { kind: "radar", is3D: false },
4972
+ bubbleChart: { kind: "bubble", is3D: false },
4973
+ stockChart: { kind: "stock", is3D: false },
4974
+ surfaceChart: { kind: "surface", is3D: false },
4975
+ surface3DChart: { kind: "surface", is3D: true }
4976
+ };
4977
+ var AXIS_ELEMENTS = {
4978
+ catAx: "cat",
4979
+ valAx: "val",
4980
+ dateAx: "date",
4981
+ serAx: "ser"
4982
+ };
4983
+ var GROUP = /* @__PURE__ */ new Set([
4984
+ "ser",
4985
+ "axId",
4986
+ "varyColors",
4987
+ "dLbls",
4988
+ "barDir",
4989
+ "grouping",
4990
+ "gapWidth",
4991
+ "overlap",
4992
+ "gapDepth",
4993
+ "shape",
4994
+ "marker",
4995
+ "smooth",
4996
+ "dropLines",
4997
+ "hiLowLines",
4998
+ "upDownBars",
4999
+ "serLines",
5000
+ "firstSliceAng",
5001
+ "holeSize",
5002
+ "ofPieType",
5003
+ "scatterStyle",
5004
+ "radarStyle",
5005
+ "bubble3D",
5006
+ "bubbleScale",
5007
+ "showNegBubbles",
5008
+ "sizeRepresents",
5009
+ "wireframe",
5010
+ "extLst"
5011
+ ]);
5012
+ function parseGroup(context, element) {
5013
+ const { kind, is3D } = CHART_GROUP_ELEMENTS[element.localName] ?? { kind: "bar", is3D: false };
5014
+ reportUnmodelled(context, element, GROUP);
5015
+ const number = (local) => cNumber(context, element, local);
5016
+ const flag2 = (local) => cBool(context, element, local);
5017
+ const barDir = cVal(element, "barDir");
5018
+ const present = (local) => cChild(element, local) ? true : void 0;
5019
+ const linesShape = (local) => chartLines(element, local)?.spPr;
5020
+ const bars = cChild(element, "upDownBars");
5021
+ return assignDefined(
5022
+ {
5023
+ kind,
5024
+ element: element.localName,
5025
+ is3D,
5026
+ series: children(element, "ser", NS.c).map((ser) => parseSeries(context, ser)),
5027
+ axisIds: children(element, "axId", NS.c).flatMap((axis) => {
5028
+ const raw = attribute(axis, "val")?.trim();
5029
+ const id = raw ? Number(raw) : Number.NaN;
5030
+ return Number.isFinite(id) ? [id] : [];
5031
+ })
5032
+ },
5033
+ {
5034
+ varyColors: flag2("varyColors"),
5035
+ dataLabels: parseDataLabels(context, cChild(element, "dLbls")),
5036
+ barDirection: barDir === "bar" || barDir === "col" ? barDir : void 0,
5037
+ grouping: cVal(element, "grouping"),
5038
+ gapWidth: number("gapWidth"),
5039
+ overlap: number("overlap"),
5040
+ gapDepth: number("gapDepth"),
5041
+ shape: cVal(element, "shape"),
5042
+ marker: flag2("marker"),
5043
+ smooth: flag2("smooth"),
5044
+ dropLines: present("dropLines"),
5045
+ hiLowLines: present("hiLowLines"),
5046
+ upDownBars: present("upDownBars"),
5047
+ seriesLines: present("serLines"),
5048
+ dropLinesSpPr: linesShape("dropLines"),
5049
+ hiLowLinesSpPr: linesShape("hiLowLines"),
5050
+ seriesLinesSpPr: linesShape("serLines"),
5051
+ upDownBarsGapWidth: cNumber(context, bars, "gapWidth"),
5052
+ upBars: chartLines(bars, "upBars"),
5053
+ downBars: chartLines(bars, "downBars"),
5054
+ firstSliceAngle: number("firstSliceAng"),
5055
+ holeSize: number("holeSize"),
5056
+ ofPieType: cVal(element, "ofPieType"),
5057
+ scatterStyle: cVal(element, "scatterStyle"),
5058
+ radarStyle: cVal(element, "radarStyle"),
5059
+ bubble3D: flag2("bubble3D"),
5060
+ bubbleScale: number("bubbleScale"),
5061
+ showNegativeBubbles: flag2("showNegBubbles"),
5062
+ sizeRepresents: cVal(element, "sizeRepresents"),
5063
+ wireframe: flag2("wireframe"),
5064
+ extLst: extensionList(element)
5065
+ }
5066
+ );
5067
+ }
5068
+ var SCALING = /* @__PURE__ */ new Set(["orientation", "logBase", "min", "max", "extLst"]);
5069
+ var AXIS = /* @__PURE__ */ new Set([
5070
+ "axId",
5071
+ "scaling",
5072
+ "delete",
5073
+ "axPos",
5074
+ "majorGridlines",
5075
+ "minorGridlines",
5076
+ "title",
5077
+ "numFmt",
5078
+ "majorTickMark",
5079
+ "minorTickMark",
5080
+ "tickLblPos",
5081
+ "spPr",
5082
+ "txPr",
5083
+ "crossAx",
5084
+ "crosses",
5085
+ "crossesAt",
5086
+ "crossBetween",
5087
+ "majorUnit",
5088
+ "minorUnit",
5089
+ "auto",
5090
+ "lblAlgn",
5091
+ "lblOffset",
5092
+ "tickLblSkip",
5093
+ "tickMarkSkip",
5094
+ "noMultiLvlLbl",
5095
+ "baseTimeUnit",
5096
+ "dispUnits",
5097
+ "extLst"
5098
+ ]);
5099
+ function parseAxis(context, element, kind) {
5100
+ reportUnmodelled(context, element, AXIS);
5101
+ const number = (local) => cNumber(context, element, local);
5102
+ const scalingElement = cChild(element, "scaling");
5103
+ if (scalingElement) reportUnmodelled(context, scalingElement, SCALING);
5104
+ const scaling = assignDefined(
5105
+ {},
5106
+ {
5107
+ orientation: cVal(scalingElement, "orientation"),
5108
+ min: cNumber(context, scalingElement, "min"),
5109
+ max: cNumber(context, scalingElement, "max"),
5110
+ logBase: cNumber(context, scalingElement, "logBase")
5111
+ }
5112
+ );
5113
+ const title = cChild(element, "title");
5114
+ return assignDefined(
5115
+ {
5116
+ kind,
5117
+ scaling,
5118
+ majorGridlines: cChild(element, "majorGridlines") !== void 0,
5119
+ minorGridlines: cChild(element, "minorGridlines") !== void 0
5120
+ },
5121
+ {
5122
+ majorGridlinesSpPr: chartLines(element, "majorGridlines")?.spPr,
5123
+ minorGridlinesSpPr: chartLines(element, "minorGridlines")?.spPr,
5124
+ id: number("axId"),
5125
+ crossAxisId: number("crossAx"),
5126
+ position: cVal(element, "axPos"),
5127
+ deleted: cBool(context, element, "delete"),
5128
+ title: title ? parseTitle(context, title) : void 0,
5129
+ numberFormat: numberFormat(element),
5130
+ majorTickMark: cVal(element, "majorTickMark"),
5131
+ minorTickMark: cVal(element, "minorTickMark"),
5132
+ tickLabelPosition: cVal(element, "tickLblPos"),
5133
+ crosses: cVal(element, "crosses"),
5134
+ crossesAt: number("crossesAt"),
5135
+ crossBetween: cVal(element, "crossBetween"),
5136
+ majorUnit: number("majorUnit"),
5137
+ minorUnit: number("minorUnit"),
5138
+ auto: cBool(context, element, "auto"),
5139
+ labelAlign: cVal(element, "lblAlgn"),
5140
+ labelOffset: number("lblOffset"),
5141
+ tickLabelSkip: number("tickLblSkip"),
5142
+ tickMarkSkip: number("tickMarkSkip"),
5143
+ noMultiLevelLabels: cBool(context, element, "noMultiLvlLbl"),
5144
+ baseTimeUnit: cVal(element, "baseTimeUnit"),
5145
+ displayUnits: parseDisplayUnits(context, cChild(element, "dispUnits")),
5146
+ spPr: shapeProperties(element),
5147
+ txPr: textProperties(element),
5148
+ extLst: extensionList(element)
5149
+ }
5150
+ );
5151
+ }
5152
+ var PLOT_AREA = /* @__PURE__ */ new Set(["layout", "dTable", "spPr", "extLst"]);
5153
+ function parsePlotArea(context, element) {
5154
+ const plotArea = { groups: [], axes: [] };
5155
+ if (!element) {
5156
+ context.issues.push({
5157
+ code: "CHART_PLOT_AREA_MISSING",
5158
+ message: "The chart has no c:plotArea."
5159
+ });
5160
+ return plotArea;
5161
+ }
5162
+ const handled = new Set(PLOT_AREA);
5163
+ for (const child3 of elements(element)) {
5164
+ if (CHART_GROUP_ELEMENTS[child3.localName]) {
5165
+ plotArea.groups.push(parseGroup(context, child3));
5166
+ handled.add(child3.localName);
5167
+ }
5168
+ const axis = AXIS_ELEMENTS[child3.localName];
5169
+ if (axis) {
5170
+ plotArea.axes.push(parseAxis(context, child3, axis));
5171
+ handled.add(child3.localName);
5172
+ }
5173
+ }
5174
+ reportUnmodelled(context, element, handled);
5175
+ return assignDefined(plotArea, {
5176
+ layout: manualLayout(element),
5177
+ dataTable: parseDataTable(context, cChild(element, "dTable")),
5178
+ spPr: shapeProperties(element),
5179
+ extLst: extensionList(element)
5180
+ });
5181
+ }
5182
+
5183
+ // chart/parse-space.ts
5184
+ var LEGEND = /* @__PURE__ */ new Set(["legendPos", "legendEntry", "layout", "overlay", "spPr", "txPr", "extLst"]);
5185
+ function parseLegend(context, element) {
5186
+ reportUnmodelled(context, element, LEGEND);
5187
+ const entries = children(element, "legendEntry", NS.c).map(
5188
+ (entry2) => assignDefined(
5189
+ {},
5190
+ {
5191
+ index: cNumber(context, entry2, "idx"),
5192
+ deleted: cBool(context, entry2, "delete"),
5193
+ txPr: textProperties(entry2)
5194
+ }
5195
+ )
5196
+ );
5197
+ return assignDefined(
5198
+ { entries },
5199
+ {
5200
+ position: cVal(element, "legendPos"),
5201
+ overlay: cBool(context, element, "overlay"),
5202
+ layout: manualLayout(element),
5203
+ spPr: shapeProperties(element),
5204
+ txPr: textProperties(element),
5205
+ extLst: extensionList(element)
5206
+ }
5207
+ );
5208
+ }
5209
+ var VIEW_3D = /* @__PURE__ */ new Set(["rotX", "rotY", "depthPercent", "hPercent", "rAngAx", "perspective"]);
5210
+ function parseView3D(context, element) {
5211
+ reportUnmodelled(context, element, VIEW_3D);
5212
+ return assignDefined(
5213
+ {},
5214
+ {
5215
+ rotX: cNumber(context, element, "rotX"),
5216
+ rotY: cNumber(context, element, "rotY"),
5217
+ depthPercent: cNumber(context, element, "depthPercent"),
5218
+ heightPercent: cNumber(context, element, "hPercent"),
5219
+ rightAngleAxes: cBool(context, element, "rAngAx"),
5220
+ perspective: cNumber(context, element, "perspective")
5221
+ }
5222
+ );
5223
+ }
5224
+ function chartStyle(context, space) {
5225
+ const direct = cNumber(context, space, "style");
5226
+ if (direct !== void 0) return direct;
5227
+ for (const alternate of children(space, "AlternateContent", NS.mc)) {
5228
+ const style = cNumber(context, first(alternate, "Fallback", NS.mc), "style");
5229
+ if (style !== void 0) return style;
5230
+ }
5231
+ return void 0;
5232
+ }
5233
+ function c14Style(space) {
5234
+ for (const alternate of children(space, "AlternateContent", NS.mc)) {
5235
+ const raw = attribute(first(first(alternate, "Choice", NS.mc), "style", NS.c14, false), "val");
5236
+ const value = raw?.trim() ? Number(raw) : Number.NaN;
5237
+ if (Number.isFinite(value)) return value;
5238
+ }
5239
+ return void 0;
5240
+ }
5241
+ function namespaceDeclarations(root) {
5242
+ const out = [];
5243
+ for (const item of Array.from(root.attributes)) {
5244
+ if (item.prefix !== "xmlns" || CHART_ROOT_BINDINGS.get(item.localName) === item.value) continue;
5245
+ out.push({ prefix: item.localName, uri: item.value });
5246
+ }
5247
+ return out.length ? out : void 0;
5248
+ }
5249
+ var CHART = /* @__PURE__ */ new Set([
5250
+ "title",
5251
+ "autoTitleDeleted",
5252
+ "view3D",
5253
+ "floor",
5254
+ "sideWall",
5255
+ "backWall",
5256
+ "plotArea",
5257
+ "legend",
5258
+ "plotVisOnly",
5259
+ "dispBlanksAs",
5260
+ "showDLblsOverMax",
5261
+ "extLst"
5262
+ ]);
5263
+ var SPACE = /* @__PURE__ */ new Set([
5264
+ "date1904",
5265
+ "lang",
5266
+ "roundedCorners",
5267
+ "AlternateContent",
5268
+ "style",
5269
+ "chart",
5270
+ "spPr",
5271
+ "txPr",
5272
+ "externalData",
5273
+ "printSettings",
5274
+ "userShapes",
5275
+ "extLst"
5276
+ ]);
5277
+ function parseChartSpace(source) {
5278
+ const context = { issues: [] };
5279
+ const root = typeof source === "string" ? parseXml(source, { label: "Chart part" }).documentElement : source;
5280
+ if (root.localName !== "chartSpace" || root.namespaceURI && root.namespaceURI !== NS.c) {
5281
+ context.issues.push({
5282
+ code: "CHART_ROOT_UNEXPECTED",
5283
+ message: `The part root is {${root.namespaceURI ?? ""}}${root.localName}, not c:chartSpace (chartex parts are not modelled).`
5284
+ });
5285
+ return { chartSpace: { plotArea: { groups: [], axes: [] } }, issues: context.issues };
5286
+ }
5287
+ reportUnmodelled(context, root, SPACE);
5288
+ const chart = cChild(root, "chart");
5289
+ if (!chart)
5290
+ context.issues.push({ code: "CHART_CHART_MISSING", message: "The part has no c:chart." });
5291
+ else reportUnmodelled(context, chart, CHART);
5292
+ const title = cChild(chart, "title");
5293
+ const legend = cChild(chart, "legend");
5294
+ const view3D = cChild(chart, "view3D");
5295
+ const printSettings = cChild(root, "printSettings");
5296
+ const chartSpace = assignDefined(
5297
+ { plotArea: parsePlotArea(context, cChild(chart, "plotArea")) },
5298
+ {
5299
+ date1904: cBool(context, root, "date1904"),
5300
+ language: cVal(root, "lang"),
5301
+ roundedCorners: cBool(context, root, "roundedCorners"),
5302
+ style: chartStyle(context, root),
5303
+ c14Style: c14Style(root),
5304
+ title: title ? parseTitle(context, title) : void 0,
5305
+ autoTitleDeleted: cBool(context, chart, "autoTitleDeleted"),
5306
+ view3D: view3D ? parseView3D(context, view3D) : void 0,
5307
+ floor: parseSurface(context, cChild(chart, "floor")),
5308
+ sideWall: parseSurface(context, cChild(chart, "sideWall")),
5309
+ backWall: parseSurface(context, cChild(chart, "backWall")),
5310
+ legend: legend ? parseLegend(context, legend) : void 0,
5311
+ plotVisibleOnly: cBool(context, chart, "plotVisOnly"),
5312
+ displayBlanksAs: cVal(chart, "dispBlanksAs"),
5313
+ showDataLabelsOverMax: cBool(context, chart, "showDLblsOverMax"),
5314
+ spPr: shapeProperties(root),
5315
+ txPr: textProperties(root),
5316
+ externalDataRelId: relAttr(cChild(root, "externalData"), "id") || void 0,
5317
+ externalDataAutoUpdate: cBool(context, cChild(root, "externalData"), "autoUpdate"),
5318
+ printSettings: printSettings ? buildXml(printSettings) : void 0,
5319
+ userShapesRelId: relAttr(cChild(root, "userShapes"), "id") || void 0,
5320
+ chartExtLst: extensionList(chart),
5321
+ extLst: extensionList(root),
5322
+ namespaceDeclarations: namespaceDeclarations(root)
5323
+ }
5324
+ );
5325
+ return { chartSpace, issues: context.issues };
5326
+ }
5327
+
5328
+ // docx/breaks.ts
5329
+ function isCachedPageBreak(element) {
5330
+ return named2(element, "lastRenderedPageBreak") && !element.childNodes.length && Array.from(element.attributes).every(
5331
+ (attribute2) => attribute2.namespaceURI === "http://www.w3.org/2000/xmlns/"
5332
+ );
5333
+ }
5334
+ function hasSpecialBreak(element) {
5335
+ for (const attribute2 of Array.from(element.attributes)) {
5336
+ if (attribute2.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
5337
+ if (attribute2.namespaceURI !== WORD_NS) return true;
5338
+ if (attribute2.localName === "type") {
5339
+ if (attribute2.value !== "textWrapping") return true;
5340
+ } else if (attribute2.localName === "clear") {
5341
+ if (attribute2.value !== "none") return true;
5342
+ } else return true;
5343
+ }
5344
+ return false;
5345
+ }
5346
+ function classifyBreak(element) {
5347
+ const type = getW(element, "type");
5348
+ return type === "page" || type === "column" ? type : "textWrapping";
5349
+ }
5350
+ function isModeledBreak(element) {
5351
+ const kind = classifyBreak(element);
5352
+ if (kind === "textWrapping") return false;
5353
+ for (const attribute2 of Array.from(element.attributes)) {
5354
+ if (attribute2.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
5355
+ if (attribute2.namespaceURI !== WORD_NS || attribute2.localName !== "type") return false;
5356
+ }
5357
+ return true;
5358
+ }
5359
+
5360
+ // docx/parse-warnings.ts
5361
+ function hasAny(document, names) {
5362
+ return names.some((name) => document.getElementsByTagNameNS(WORD_NS, name).length > 0);
5363
+ }
5364
+ function warningsFor(document) {
5365
+ const warnings = [];
5366
+ const features = [
5367
+ [["object"], "Embedded OLE objects (w:object) are preserved but rendered as a placeholder."],
5368
+ [["altChunk"], "Embedded alternate-format content is not represented in the document model."],
5369
+ [
5370
+ ["fldSimple", "instrText", "fldChar"],
5371
+ "Fields show the result Word last saved while editing; Print Layout recalculates PAGE, NUMPAGES, SECTIONPAGES, DATE and TIME, and tables of contents update from the References tab."
5372
+ ],
5373
+ [
5374
+ ["moveFrom", "moveTo"],
5375
+ "Moved text is linked by its move name: accepting or rejecting either side resolves both. Moves are shown and saved with their range markers."
5376
+ ],
5377
+ [
5378
+ ["rPrChange"],
5379
+ "Formatting-change revisions retain their prior run-properties snapshots and support acceptance and rejection; recording new formatting changes and showing prior formatting in Original display are not supported yet."
5380
+ ],
5381
+ [
5382
+ ["pPrChange"],
5383
+ "Paragraph-formatting-change revisions retain their prior properties snapshots and support acceptance and rejection; recording new paragraph formatting changes and showing prior formatting in Original display are not supported yet."
5384
+ ],
5385
+ [
5386
+ ["tblPrChange", "trPrChange", "tcPrChange"],
5387
+ "Table-structure tracked changes are preserved in the source XML but are not represented in the document model."
5388
+ ]
5389
+ ];
5390
+ for (const [names, message] of features) if (hasAny(document, names)) warnings.push(message);
5391
+ if (Array.from(document.getElementsByTagNameNS(WORD_NS, "instrText")).some(
5392
+ (el3) => /HYPERLINK/i.test(textContent(el3))
5393
+ ))
5394
+ warnings.push(
5395
+ "Complex HYPERLINK field codes (w:fldChar/w:instrText) are preserved but not parsed as links; their result text edits as plain text."
5396
+ );
5397
+ const specialBreak = Array.from(document.getElementsByTagNameNS(WORD_NS, "br")).some(
5398
+ (br) => hasSpecialBreak(br) && !isModeledBreak(br)
5399
+ ) || Array.from(document.getElementsByTagNameNS(WORD_NS, "cr")).some(
5400
+ (cr) => cr.attributes.length > 0
5401
+ );
5402
+ if (specialBreak)
5403
+ warnings.push(
5404
+ "Some non-line breaks other than page and column breaks are not distinguished from line breaks in the document model; edits to paragraphs containing them are rejected to preserve the original XML."
5405
+ );
5406
+ return warnings;
5407
+ }
5408
+ function forEachParagraph2(blocks, visit) {
5409
+ for (const block of blocks) {
5410
+ if (block.type === "paragraph") visit(block);
5411
+ else for (const row of block.rows) for (const cell of row) cell.paragraphs.forEach(visit);
5412
+ }
5413
+ }
5414
+ function imageAndBookmarkWarnings(blocks) {
5415
+ const warnings = [];
5416
+ let hasPicture = false;
5417
+ let hasAnchored = false;
5418
+ const unsupportedKinds = /* @__PURE__ */ new Set();
5419
+ let hasBookmarks = false;
5420
+ forEachParagraph2(blocks, (paragraph) => {
5421
+ if (paragraph.bookmarks?.length) hasBookmarks = true;
5422
+ for (const run of paragraph.runs) {
5423
+ if (!run.image) continue;
5424
+ if (run.image.unsupported) {
5425
+ if (run.image.diagram?.rendering !== "cached-drawing")
5426
+ unsupportedKinds.add(run.image.unsupported);
5427
+ } else hasPicture = true;
5428
+ if (run.image.anchored) hasAnchored = true;
5429
+ }
5430
+ });
5431
+ if (hasPicture)
5432
+ warnings.push(
5433
+ "Inline pictures render from their original bytes and can be deleted or newly inserted; crop, artistic effects, and non-inline text wrapping are not reproduced."
5434
+ );
5435
+ if (hasAnchored)
5436
+ warnings.push(
5437
+ "Floating pictures follow their text wrapping approximately (floated left or right, or on their own line); exact positions, vertical offsets and in-front/behind layering are not reproduced."
5438
+ );
5439
+ if (unsupportedKinds.size)
5440
+ warnings.push(
5441
+ `${Array.from(unsupportedKinds).join(", ")} content is rendered as a labeled placeholder and is not editable.`
5442
+ );
5443
+ if (hasBookmarks)
5444
+ warnings.push(
5445
+ "Bookmark names are read-only; editing a paragraph that contains bookmarks preserves them but moves their start/end to the paragraph boundaries."
5446
+ );
5447
+ return warnings;
5448
+ }
5449
+
5450
+ // docx/chart.ts
5451
+ var CHART_GRAPHIC_URI = "http://schemas.openxmlformats.org/drawingml/2006/chart";
5452
+ var CHART_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart";
5453
+ var PACKAGE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package";
5454
+ var CHART_NOTICE = "The chart is drawn from the values cached in its part (bar, column, line, area, pie, doughnut, scatter and radar charts; other kinds show a labelled frame). It is not editable, and the chart part and its workbook are preserved unchanged on save.";
5455
+ function parseChartGraphic(graphicData, docPr, rels, isAnchor) {
5456
+ const element = Array.from(graphicData.childNodes).find(
5457
+ (node) => isElement(node) && node.localName === "chart"
5458
+ );
5459
+ const relId = getR(element, "id") || void 0;
5460
+ const issues = [];
5461
+ let partName;
5462
+ const rel = relId ? rels.get(relId) : void 0;
5463
+ if (!relId)
5464
+ issues.push({
5465
+ code: "CHART_RELATIONSHIP_MISSING",
5466
+ message: "The graphic has no c:chart/@r:id."
5467
+ });
5468
+ else if (!rel || rel.mode === "External")
5469
+ issues.push({
5470
+ code: "CHART_RELATIONSHIP_UNRESOLVED",
5471
+ message: `Chart relationship ${relId} does not point at a part in this package.`
5472
+ });
5473
+ else {
5474
+ if (rel.type !== CHART_RELATIONSHIP_TYPE)
5475
+ issues.push({
5476
+ code: "CHART_RELATIONSHIP_TYPE",
5477
+ message: `Chart relationship ${relId} has type ${rel.type}, expected ${CHART_RELATIONSHIP_TYPE}.`
5478
+ });
5479
+ partName = resolvePartPath("word/document.xml", rel.target);
5480
+ }
5481
+ const name = docPr?.getAttribute("name") || void 0;
5482
+ const id = docPr?.getAttribute("id") || void 0;
5483
+ return {
5484
+ placement: isAnchor ? "anchor" : "inline",
5485
+ ...name ? { name } : {},
5486
+ ...id ? { id } : {},
5487
+ ...relId ? { relId } : {},
5488
+ ...partName ? { partName } : {},
5489
+ notice: CHART_NOTICE,
5490
+ issues
5491
+ };
5492
+ }
5493
+ async function resolveChartPart(chart, readText) {
5494
+ if (!chart.partName) return;
5495
+ try {
5496
+ const xml = await readText(chart.partName);
5497
+ if (xml === void 0) {
5498
+ chart.issues.push({
5499
+ code: "CHART_PART_MISSING",
5500
+ message: `The chart part ${chart.partName} is not in the package.`
5501
+ });
5502
+ return;
5503
+ }
5504
+ const root = parseXml(xml, { label: "Chart part" }).documentElement;
5505
+ const { chartSpace, issues } = parseChartSpace(root);
5506
+ chart.chartSpace = chartSpace;
5507
+ chart.issues.push(...issues);
5508
+ const title = chartSpace.autoTitleDeleted ? void 0 : chartSpace.title?.text;
5509
+ if (title) chart.title = title;
5510
+ if (chartSpace.plotArea.groups.length) {
5511
+ const formatting = readChartFormatting(root);
5512
+ if (formatting) chart.formatting = formatting;
5513
+ }
5514
+ const rels = parseRelationships(await readText(relationshipsPartFor(chart.partName)));
5515
+ const dataRelId = chartSpace.externalDataRelId;
5516
+ const dataRel = dataRelId ? rels.get(dataRelId) : void 0;
5517
+ if (dataRel && dataRel.mode !== "External" && dataRel.type === PACKAGE_RELATIONSHIP_TYPE)
5518
+ chart.workbookPartName = resolvePartPath(chart.partName, dataRel.target);
5519
+ const colorsRel = [...rels.values()].find(
5520
+ (rel) => rel.mode !== "External" && rel.type.endsWith("/chartColorStyle")
5521
+ );
5522
+ const colorsXml = colorsRel && await readText(resolvePartPath(chart.partName, colorsRel.target));
5523
+ const palette = colorsXml ? chartColorStyleId(colorsXml) : void 0;
5524
+ if (palette !== void 0) chart.colorPalette = palette;
5525
+ } catch (error) {
5526
+ chart.issues.push({
5527
+ code: "CHART_PART_UNREADABLE",
5528
+ message: `The chart part ${chart.partName} could not be read: ${error instanceof Error ? error.message : String(error)}`
5529
+ });
5530
+ }
5531
+ }
5532
+ function chartsIn(blocks) {
5533
+ const charts = [];
5534
+ forEachParagraph2(blocks, (paragraph) => {
5535
+ for (const run of paragraph.runs) if (run.image?.chart) charts.push(run.image.chart);
5536
+ });
5537
+ return charts;
5538
+ }
5539
+ async function resolveDocumentCharts(blocks, readText) {
5540
+ for (const chart of chartsIn(blocks)) await resolveChartPart(chart, readText);
5541
+ }
5542
+
4360
5543
  // docx/drawing.ts
4361
5544
  var WP_NS2 = "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing";
4362
5545
  var A_NS2 = "http://schemas.openxmlformats.org/drawingml/2006/main";
@@ -4472,6 +5655,7 @@ function parseModernDrawing(node, context) {
4472
5655
  ...svg ? { svgPartName: svg.partName } : {}
4473
5656
  };
4474
5657
  const diagram = uri === DIAGRAM_GRAPHIC_URI && graphicData ? parseDiagramGraphic(graphicData, extent, docPr, context.rels, Boolean(anchored)) : void 0;
5658
+ const chart = uri === CHART_GRAPHIC_URI && graphicData ? parseChartGraphic(graphicData, docPr, context.rels, Boolean(anchored)) : void 0;
4475
5659
  const textBox = uri.includes("wordprocessingShape") ? textBoxParagraphs(graphicData) : void 0;
4476
5660
  return {
4477
5661
  relId: relId ?? "",
@@ -4482,6 +5666,7 @@ function parseModernDrawing(node, context) {
4482
5666
  ...definedProps({ altText, title, anchored }),
4483
5667
  unsupported: textBox ? "Text box" : unsupportedKindLabel(uri),
4484
5668
  ...diagram ? { diagram } : {},
5669
+ ...chart ? { chart } : {},
4485
5670
  ...diagram && placement ? { placement } : {},
4486
5671
  ...textBox ? { textBoxText: textBox } : {},
4487
5672
  ...textBox && isSimpleTextBox(graphicData, Boolean(anchored)) ? { textBoxEditable: true, textBoxBorder: textBoxHasBorder(graphicData) } : {}
@@ -4561,8 +5746,8 @@ function findDrawingChild(run) {
4561
5746
  if (isElement(child3) && (named2(child3, "drawing") || named2(child3, "pict"))) return child3;
4562
5747
  return void 0;
4563
5748
  }
4564
- function sameUnderlyingImage(a, b) {
4565
- return Boolean(a.partName) && a.relId === b.relId && a.partName === b.partName;
5749
+ function sameUnderlyingImage(a2, b) {
5750
+ return Boolean(a2.partName) && a2.relId === b.relId && a2.partName === b.partName;
4566
5751
  }
4567
5752
  function walk(root, visit) {
4568
5753
  const stack = [root];
@@ -4772,17 +5957,17 @@ function setBooleanAttribute(doc, props, local, value) {
4772
5957
  }
4773
5958
  setAttribute6(element, "val", value ? "1" : "0");
4774
5959
  }
4775
- function setLanguageAttribute(doc, props, attribute, value) {
5960
+ function setLanguageAttribute(doc, props, attribute2, value) {
4776
5961
  let language = first2(props, "lang");
4777
5962
  if (value === void 0 || value === "") {
4778
5963
  if (!language) return;
4779
- language.removeAttributeNS(WORD_NS, attribute);
5964
+ language.removeAttributeNS(WORD_NS, attribute2);
4780
5965
  } else {
4781
5966
  if (!language) {
4782
5967
  language = makeW(doc, "lang");
4783
5968
  props.appendChild(language);
4784
5969
  }
4785
- setAttribute6(language, attribute, value);
5970
+ setAttribute6(language, attribute2, value);
4786
5971
  }
4787
5972
  if (language && !language.attributes.length && !language.childNodes.length)
4788
5973
  props.removeChild(language);
@@ -4882,8 +6067,8 @@ function setRunProperties(doc, runNode, run, base) {
4882
6067
  };
4883
6068
  for (const script of ["ascii", "hAnsi", "eastAsia", "cs"]) {
4884
6069
  const role = run.fontTheme?.[script];
4885
- const [attribute, suffix] = themeAttribute[script];
4886
- if (role) setAttribute6(fonts, attribute, `${role}${suffix}`);
6070
+ const [attribute2, suffix] = themeAttribute[script];
6071
+ if (role) setAttribute6(fonts, attribute2, `${role}${suffix}`);
4887
6072
  }
4888
6073
  props.appendChild(fonts);
4889
6074
  }
@@ -4971,8 +6156,8 @@ function createRun(doc, run, base, old, allocator) {
4971
6156
  }
4972
6157
 
4973
6158
  // docx/inline-source.ts
4974
- function samePictureSource(a, b) {
4975
- return !!a?.partName && a.partName === b?.partName && a.relId === b?.relId;
6159
+ function samePictureSource(a2, b) {
6160
+ return !!a2?.partName && a2.partName === b?.partName && a2.relId === b?.relId;
4976
6161
  }
4977
6162
  function inlineSourceLookup(runs, base) {
4978
6163
  const usedPictures = /* @__PURE__ */ new Set();
@@ -5014,8 +6199,8 @@ function takeSimpleFieldCommentEdges(doc, runs, start, end, opens, closes) {
5014
6199
  }
5015
6200
 
5016
6201
  // docx/field-lock.ts
5017
- function sameFieldFlags(a, b) {
5018
- return a?.locked === b?.locked && a?.dirty === b?.dirty;
6202
+ function sameFieldFlags(a2, b) {
6203
+ return a2?.locked === b?.locked && a2?.dirty === b?.dirty;
5019
6204
  }
5020
6205
  var MATH_NAMESPACES = /* @__PURE__ */ new Set([
5021
6206
  "http://schemas.openxmlformats.org/officeDocument/2006/math",
@@ -5042,38 +6227,6 @@ function preserveEquation(run, base, old) {
5042
6227
  return old.cloneNode(true);
5043
6228
  }
5044
6229
 
5045
- // docx/breaks.ts
5046
- function isCachedPageBreak(element) {
5047
- return named2(element, "lastRenderedPageBreak") && !element.childNodes.length && Array.from(element.attributes).every(
5048
- (attribute) => attribute.namespaceURI === "http://www.w3.org/2000/xmlns/"
5049
- );
5050
- }
5051
- function hasSpecialBreak(element) {
5052
- for (const attribute of Array.from(element.attributes)) {
5053
- if (attribute.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
5054
- if (attribute.namespaceURI !== WORD_NS) return true;
5055
- if (attribute.localName === "type") {
5056
- if (attribute.value !== "textWrapping") return true;
5057
- } else if (attribute.localName === "clear") {
5058
- if (attribute.value !== "none") return true;
5059
- } else return true;
5060
- }
5061
- return false;
5062
- }
5063
- function classifyBreak(element) {
5064
- const type = getW(element, "type");
5065
- return type === "page" || type === "column" ? type : "textWrapping";
5066
- }
5067
- function isModeledBreak(element) {
5068
- const kind = classifyBreak(element);
5069
- if (kind === "textWrapping") return false;
5070
- for (const attribute of Array.from(element.attributes)) {
5071
- if (attribute.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
5072
- if (attribute.namespaceURI !== WORD_NS || attribute.localName !== "type") return false;
5073
- }
5074
- return true;
5075
- }
5076
-
5077
6230
  // docx/parse-revisions.ts
5078
6231
  var REVISION_WRAPPERS = {
5079
6232
  ins: "insert",
@@ -5095,7 +6248,7 @@ function trackMoveRange(item, moves) {
5095
6248
  const open = moves[range.kind];
5096
6249
  if (range.start) open.push({ name: getW(item, "name") ?? id, id });
5097
6250
  else {
5098
- const index = open.findIndex((entry) => entry.id === id);
6251
+ const index = open.findIndex((entry2) => entry2.id === id);
5099
6252
  if (index >= 0) open.splice(index, 1);
5100
6253
  }
5101
6254
  return true;
@@ -5268,10 +6421,10 @@ function replaceableInlineChildren(paragraph) {
5268
6421
  (child3) => isElement(child3) && (isEquationElement(child3) || named2(child3, "r") || named2(child3, "hyperlink") || named2(child3, "fldSimple") || isRevisionWrapperElement(child3) || isCommentAnchorElement(child3))
5269
6422
  );
5270
6423
  }
5271
- function sameLink(a, b) {
5272
- if (!a && !b) return true;
5273
- if (!a || !b) return false;
5274
- return a.href === b.href && a.anchor === b.anchor && a.tooltip === b.tooltip;
6424
+ function sameLink(a2, b) {
6425
+ if (!a2 && !b) return true;
6426
+ if (!a2 || !b) return false;
6427
+ return a2.href === b.href && a2.anchor === b.anchor && a2.tooltip === b.tooltip;
5275
6428
  }
5276
6429
  function setW6(element, local, value) {
5277
6430
  element.setAttributeNS(WORD_NS, `w:${local}`, value);
@@ -5360,10 +6513,10 @@ function containerGroup(run) {
5360
6513
  };
5361
6514
  return void 0;
5362
6515
  }
5363
- function sameGroup(a, b) {
5364
- if (!a || !b) return a === b;
5365
- if (a.kind === "link" && b.kind === "link") return sameLink(a.link, b.link);
5366
- return a.kind === "simpleField" && b.kind === "simpleField" && a.instr === b.instr && a.instanceId === b.instanceId && sameFieldFlags(a.fieldFlags, b.fieldFlags);
6516
+ function sameGroup(a2, b) {
6517
+ if (!a2 || !b) return a2 === b;
6518
+ if (a2.kind === "link" && b.kind === "link") return sameLink(a2.link, b.link);
6519
+ return a2.kind === "simpleField" && b.kind === "simpleField" && a2.instr === b.instr && a2.instanceId === b.instanceId && sameFieldFlags(a2.fieldFlags, b.fieldFlags);
5367
6520
  }
5368
6521
 
5369
6522
  // docx/paragraph-properties.ts
@@ -5595,8 +6748,8 @@ var IMAGE_RELATIONSHIP_TYPE = RELATIONSHIP_TYPES.image;
5595
6748
  function scanUsedRelationshipIds(doc) {
5596
6749
  const used = /* @__PURE__ */ new Set();
5597
6750
  const visit = (node) => {
5598
- for (const attribute of Array.from(node.attributes))
5599
- if (attribute.namespaceURI === REL_NS) used.add(attribute.value);
6751
+ for (const attribute2 of Array.from(node.attributes))
6752
+ if (attribute2.namespaceURI === REL_NS) used.add(attribute2.value);
5600
6753
  for (const child3 of Array.from(node.childNodes)) if (isElement(child3)) visit(child3);
5601
6754
  };
5602
6755
  if (doc.documentElement) visit(doc.documentElement);
@@ -5834,9 +6987,9 @@ function isXsdDateTime(value) {
5834
6987
  return !zone || Number(zone[1]) <= 14 && Number(zone[2]) <= 59;
5835
6988
  }
5836
6989
  var Checker = class _Checker {
5837
- constructor(issues, path) {
6990
+ constructor(issues, path2) {
5838
6991
  this.issues = issues;
5839
- this.path = path;
6992
+ this.path = path2;
5840
6993
  }
5841
6994
  issues;
5842
6995
  path;
@@ -5882,78 +7035,78 @@ var Checker = class _Checker {
5882
7035
 
5883
7036
  // docx/validate-paragraph.ts
5884
7037
  var isFraction = (value) => typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 1;
5885
- function validateThemeReference(c, field, value) {
7038
+ function validateThemeReference(c2, field, value) {
5886
7039
  if (value === void 0) return;
5887
- const at = c.at(`.${field}`);
7040
+ const at = c2.at(`.${field}`);
5888
7041
  at.theme("token", value.token);
5889
7042
  at.check("tint", value.tint, isFraction, "must be a fraction between 0 and 1");
5890
7043
  at.check("shade", value.shade, isFraction, "must be a fraction between 0 and 1");
5891
7044
  }
5892
- function validateRevision(c, field, revision) {
7045
+ function validateRevision(c2, field, revision) {
5893
7046
  if (revision === void 0) return;
5894
- c.at(`.${field}`).dateTime("date", revision.date);
7047
+ c2.at(`.${field}`).dateTime("date", revision.date);
5895
7048
  }
5896
- function validateFontSize(c, value) {
5897
- c.check(
7049
+ function validateFontSize(c2, value) {
7050
+ c2.check(
5898
7051
  "fontSize",
5899
7052
  value,
5900
7053
  (v) => typeof v === "number" && Number.isFinite(v) && Math.round(v * 2) >= 0,
5901
7054
  "must be a finite, non-negative point size that converts to whole half-points (ST_HpsMeasure)"
5902
7055
  );
5903
7056
  }
5904
- function validateRun(c, run) {
5905
- c.enum("ligatures", run.ligatures, isLigatures, "ST_Ligatures");
5906
- validateFontSize(c, run.fontSize);
5907
- c.check(
7057
+ function validateRun(c2, run) {
7058
+ c2.enum("ligatures", run.ligatures, isLigatures, "ST_Ligatures");
7059
+ validateFontSize(c2, run.fontSize);
7060
+ c2.check(
5908
7061
  "textScalePercent",
5909
7062
  run.textScalePercent,
5910
7063
  (v) => Number.isSafeInteger(v) && v >= 0 && v <= 600,
5911
7064
  "must be a whole percentage from 0 through 600 (ST_TextScale)"
5912
7065
  );
5913
- c.check(
7066
+ c2.check(
5914
7067
  "kerningHalfPoints",
5915
7068
  run.kerningHalfPoints,
5916
7069
  (v) => Number.isSafeInteger(v) && v >= 0,
5917
7070
  "must be a nonnegative whole number of half-points (ST_HpsMeasure)"
5918
7071
  );
5919
- c.check(
7072
+ c2.check(
5920
7073
  "positionHalfPoints",
5921
7074
  run.positionHalfPoints,
5922
7075
  Number.isSafeInteger,
5923
7076
  "must be a signed whole number of half-points (ST_SignedHpsMeasure)"
5924
7077
  );
5925
- c.hex("color", run.color);
5926
- c.hex("shadingFill", run.shadingFill);
5927
- c.hex("underlineColor", run.underlineColor);
5928
- validateThemeReference(c, "colorTheme", run.colorTheme);
5929
- validateThemeReference(c, "shadingThemeFill", run.shadingThemeFill);
5930
- c.enum("underlineStyle", run.underlineStyle, isStUnderline, "ST_Underline");
7078
+ c2.hex("color", run.color);
7079
+ c2.hex("shadingFill", run.shadingFill);
7080
+ c2.hex("underlineColor", run.underlineColor);
7081
+ validateThemeReference(c2, "colorTheme", run.colorTheme);
7082
+ validateThemeReference(c2, "shadingThemeFill", run.shadingThemeFill);
7083
+ c2.enum("underlineStyle", run.underlineStyle, isStUnderline, "ST_Underline");
5931
7084
  if (run.highlight !== void 0 && !isStHighlightColor(run.highlight))
5932
- c.fail(
7085
+ c2.fail(
5933
7086
  "highlight",
5934
7087
  run.highlight,
5935
7088
  `Unsupported Word highlight token: ${String(run.highlight)}`
5936
7089
  );
5937
- c.enum("break", run.break, isStBrType, "ST_BrType");
5938
- c.enum("fieldChar", run.fieldChar, isStFldCharType, "ST_FldCharType");
5939
- c.check(
7090
+ c2.enum("break", run.break, isStBrType, "ST_BrType");
7091
+ c2.enum("fieldChar", run.fieldChar, isStFldCharType, "ST_FldCharType");
7092
+ c2.check(
5940
7093
  "characterSpacingTwips",
5941
7094
  run.characterSpacingTwips,
5942
7095
  (v) => typeof v === "number" && Number.isFinite(v),
5943
7096
  "must be a finite number of twips (ST_SignedTwipsMeasure)"
5944
7097
  );
5945
- c.language("language", run.language);
5946
- c.language("eastAsiaLanguage", run.eastAsiaLanguage);
5947
- c.language("bidiLanguage", run.bidiLanguage);
5948
- c.check(
7098
+ c2.language("language", run.language);
7099
+ c2.language("eastAsiaLanguage", run.eastAsiaLanguage);
7100
+ c2.language("bidiLanguage", run.bidiLanguage);
7101
+ c2.check(
5949
7102
  "verticalAlign",
5950
7103
  run.verticalAlign,
5951
7104
  isStVerticalAlignRun,
5952
7105
  'must be "baseline", "superscript" or "subscript"'
5953
7106
  );
5954
- validateRevision(c, "revision", run.revision);
7107
+ validateRevision(c2, "revision", run.revision);
5955
7108
  if (run.image) {
5956
- const image = c.at(".image");
7109
+ const image = c2.at(".image");
5957
7110
  for (const key of ["widthPx", "heightPx"])
5958
7111
  image.check(
5959
7112
  key,
@@ -5963,14 +7116,14 @@ function validateRun(c, run) {
5963
7116
  );
5964
7117
  }
5965
7118
  }
5966
- function validateTabStop(c, stop) {
5967
- c.signed("posTwips", stop.posTwips, "CT_TabStop/@pos");
5968
- c.enum("align", stop.align, isStTabJc, "ST_TabJc");
5969
- c.enum("leader", stop.leader, isStTabTlc, "ST_TabTlc");
7119
+ function validateTabStop(c2, stop) {
7120
+ c2.signed("posTwips", stop.posTwips, "CT_TabStop/@pos");
7121
+ c2.enum("align", stop.align, isStTabJc, "ST_TabJc");
7122
+ c2.enum("leader", stop.leader, isStTabTlc, "ST_TabTlc");
5970
7123
  }
5971
- function validateParagraph(c, paragraph) {
7124
+ function validateParagraph(c2, paragraph) {
5972
7125
  if (paragraph.dropCap) {
5973
- const at = c.at(".dropCap");
7126
+ const at = c2.at(".dropCap");
5974
7127
  at.check(
5975
7128
  "style",
5976
7129
  paragraph.dropCap.style,
@@ -5990,14 +7143,14 @@ function validateParagraph(c, paragraph) {
5990
7143
  "must be a nonnegative whole number of twips"
5991
7144
  );
5992
7145
  }
5993
- c.check(
7146
+ c2.check(
5994
7147
  "align",
5995
7148
  paragraph.align,
5996
7149
  (v) => v === "left" || v === "center" || v === "right" || v === "justify",
5997
7150
  'must be "left", "center", "right" or "justify"'
5998
7151
  );
5999
- c.enum("justification", paragraph.justification, isStJc, "ST_Jc");
6000
- c.check(
7152
+ c2.enum("justification", paragraph.justification, isStJc, "ST_Jc");
7153
+ c2.check(
6001
7154
  "direction",
6002
7155
  paragraph.direction,
6003
7156
  (v) => v === "ltr" || v === "rtl",
@@ -6009,7 +7162,7 @@ function validateParagraph(c, paragraph) {
6009
7162
  "firstLineTwips",
6010
7163
  "hangingTwips"
6011
7164
  ])
6012
- c.unsigned(key, paragraph[key], "ST_TwipsMeasure");
7165
+ c2.unsigned(key, paragraph[key], "ST_TwipsMeasure");
6013
7166
  for (const key of [
6014
7167
  "lineSpacingTwips",
6015
7168
  "indentLeftTwips",
@@ -6017,87 +7170,87 @@ function validateParagraph(c, paragraph) {
6017
7170
  "indentStartTwips",
6018
7171
  "indentEndTwips"
6019
7172
  ])
6020
- c.signed(key, paragraph[key], "ST_SignedTwipsMeasure");
6021
- c.enum("lineSpacingRule", paragraph.lineSpacingRule, isStLineSpacingRule, "ST_LineSpacingRule");
7173
+ c2.signed(key, paragraph[key], "ST_SignedTwipsMeasure");
7174
+ c2.enum("lineSpacingRule", paragraph.lineSpacingRule, isStLineSpacingRule, "ST_LineSpacingRule");
6022
7175
  if (paragraph.numbering) {
6023
- const numbering = c.at(".numbering");
7176
+ const numbering = c2.at(".numbering");
6024
7177
  numbering.unsigned("numId", paragraph.numbering.numId, "ST_DecimalNumber");
6025
7178
  numbering.unsigned("level", paragraph.numbering.level, "ST_DecimalNumber");
6026
7179
  }
6027
- paragraph.tabStops?.forEach((stop, index) => validateTabStop(c.at(`.tabStops[${index}]`), stop));
6028
- validateRevision(c, "markRevision", paragraph.markRevision);
6029
- paragraph.runs.forEach((run, index) => validateRun(c.at(`.runs[${index}]`), run));
7180
+ paragraph.tabStops?.forEach((stop, index) => validateTabStop(c2.at(`.tabStops[${index}]`), stop));
7181
+ validateRevision(c2, "markRevision", paragraph.markRevision);
7182
+ paragraph.runs.forEach((run, index) => validateRun(c2.at(`.runs[${index}]`), run));
6030
7183
  }
6031
7184
 
6032
7185
  // docx/validate-structure.ts
6033
- function validateBorderSide(c, side) {
7186
+ function validateBorderSide(c2, side) {
6034
7187
  if (!side) return;
6035
- c.enum("style", side.style, isStBorder, "ST_Border");
6036
- c.unsigned("sizeEighthPoints", side.sizeEighthPoints, "ST_EighthPointMeasure");
6037
- c.unsigned("spacePoints", side.spacePoints, "ST_PointMeasure");
6038
- c.hex("color", side.color);
6039
- c.theme("themeColor", side.themeColor);
7188
+ c2.enum("style", side.style, isStBorder, "ST_Border");
7189
+ c2.unsigned("sizeEighthPoints", side.sizeEighthPoints, "ST_EighthPointMeasure");
7190
+ c2.unsigned("spacePoints", side.spacePoints, "ST_PointMeasure");
7191
+ c2.hex("color", side.color);
7192
+ c2.theme("themeColor", side.themeColor);
6040
7193
  }
6041
- function validateBorders(c, borders) {
7194
+ function validateBorders(c2, borders) {
6042
7195
  if (!borders) return;
6043
7196
  for (const side of ["top", "left", "bottom", "right", "insideH", "insideV"])
6044
- validateBorderSide(c.at(`.${side}`), borders[side]);
7197
+ validateBorderSide(c2.at(`.${side}`), borders[side]);
6045
7198
  }
6046
- function validateCell(c, cell) {
6047
- c.check(
7199
+ function validateCell(c2, cell) {
7200
+ c2.check(
6048
7201
  "gridSpan",
6049
7202
  cell.gridSpan,
6050
7203
  (v) => typeof v === "number" && Number.isSafeInteger(v) && v >= 1,
6051
7204
  "must be a positive integer (CT_DecimalNumber)"
6052
7205
  );
6053
- c.enum("verticalMerge", cell.verticalMerge, isStMerge, "ST_Merge");
6054
- c.unsigned("widthTwips", cell.widthTwips, "ST_TwipsMeasure");
6055
- c.enum("verticalAlign", cell.verticalAlign, isStVerticalJc, "ST_VerticalJc");
6056
- c.hex("shadingFill", cell.shadingFill);
6057
- validateThemeReference(c, "shadingThemeFill", cell.shadingThemeFill);
6058
- validateBorders(c.at(".borders"), cell.borders);
7206
+ c2.enum("verticalMerge", cell.verticalMerge, isStMerge, "ST_Merge");
7207
+ c2.unsigned("widthTwips", cell.widthTwips, "ST_TwipsMeasure");
7208
+ c2.enum("verticalAlign", cell.verticalAlign, isStVerticalJc, "ST_VerticalJc");
7209
+ c2.hex("shadingFill", cell.shadingFill);
7210
+ validateThemeReference(c2, "shadingThemeFill", cell.shadingThemeFill);
7211
+ validateBorders(c2.at(".borders"), cell.borders);
6059
7212
  if (cell.margins)
6060
7213
  for (const side of ["top", "bottom", "left", "right"])
6061
- c.at(".margins").signed(side, cell.margins[side], "ST_SignedTwipsMeasure");
7214
+ c2.at(".margins").signed(side, cell.margins[side], "ST_SignedTwipsMeasure");
6062
7215
  }
6063
- function validateTable(c, table) {
6064
- c.unsigned("widthTwips", table.widthTwips, "ST_TwipsMeasure");
6065
- c.signed("indentTwips", table.indentTwips, "ST_SignedTwipsMeasure");
6066
- c.check(
7216
+ function validateTable(c2, table) {
7217
+ c2.unsigned("widthTwips", table.widthTwips, "ST_TwipsMeasure");
7218
+ c2.signed("indentTwips", table.indentTwips, "ST_SignedTwipsMeasure");
7219
+ c2.check(
6067
7220
  "alignment",
6068
7221
  table.alignment,
6069
7222
  (v) => v === "left" || v === "center" || v === "right",
6070
7223
  'must be "left", "center" or "right"'
6071
7224
  );
6072
- c.enum("justification", table.justification, isStJcTable, "ST_JcTable");
7225
+ c2.enum("justification", table.justification, isStJcTable, "ST_JcTable");
6073
7226
  table.grid?.forEach(
6074
- (width, index) => c.at(`.grid[${index}]`).unsigned("width", width, "ST_TwipsMeasure")
7227
+ (width, index) => c2.at(`.grid[${index}]`).unsigned("width", width, "ST_TwipsMeasure")
6075
7228
  );
6076
- validateBorders(c.at(".borders"), table.borders);
7229
+ validateBorders(c2.at(".borders"), table.borders);
6077
7230
  if (table.cellMargins)
6078
7231
  for (const side of ["top", "bottom", "left", "right"])
6079
- c.at(".cellMargins").signed(side, table.cellMargins[side], "ST_SignedTwipsMeasure");
7232
+ c2.at(".cellMargins").signed(side, table.cellMargins[side], "ST_SignedTwipsMeasure");
6080
7233
  table.rowProperties?.forEach((row, index) => {
6081
7234
  if (row)
6082
- c.at(`.rowProperties[${index}]`).unsigned("heightTwips", row.heightTwips, "ST_TwipsMeasure");
7235
+ c2.at(`.rowProperties[${index}]`).unsigned("heightTwips", row.heightTwips, "ST_TwipsMeasure");
6083
7236
  });
6084
7237
  table.rows.forEach(
6085
- (row, r) => row.forEach((cell, k) => validateCell(c.at(`.rows[${r}][${k}]`), cell))
7238
+ (row, r) => row.forEach((cell, k) => validateCell(c2.at(`.rows[${r}][${k}]`), cell))
6086
7239
  );
6087
7240
  }
6088
- function validateSection(c, section) {
6089
- c.enum("type", section.type, isStSectionMark, "ST_SectionMark");
6090
- c.enum("orientation", section.orientation, isStPageOrientation, "ST_PageOrientation");
6091
- c.enum("verticalAlign", section.verticalAlign, isStVerticalJc, "ST_VerticalJc");
7241
+ function validateSection(c2, section) {
7242
+ c2.enum("type", section.type, isStSectionMark, "ST_SectionMark");
7243
+ c2.enum("orientation", section.orientation, isStPageOrientation, "ST_PageOrientation");
7244
+ c2.enum("verticalAlign", section.verticalAlign, isStVerticalJc, "ST_VerticalJc");
6092
7245
  for (const key of ["pageWidthTwips", "pageHeightTwips"])
6093
- c.check(
7246
+ c2.check(
6094
7247
  key,
6095
7248
  section[key],
6096
7249
  (v) => typeof v === "number" && Number.isSafeInteger(v) && v > 0,
6097
7250
  "must be a positive integer number of twips (CT_PageSz)"
6098
7251
  );
6099
7252
  for (const key of ["marginTopTwips", "marginBottomTwips"])
6100
- c.signed(key, section[key], "ST_SignedTwipsMeasure");
7253
+ c2.signed(key, section[key], "ST_SignedTwipsMeasure");
6101
7254
  for (const key of [
6102
7255
  "marginLeftTwips",
6103
7256
  "marginRightTwips",
@@ -6105,8 +7258,8 @@ function validateSection(c, section) {
6105
7258
  "footerDistanceTwips",
6106
7259
  "gutterTwips"
6107
7260
  ])
6108
- c.unsigned(key, section[key], "ST_TwipsMeasure");
6109
- const columns = c.at(".columns");
7261
+ c2.unsigned(key, section[key], "ST_TwipsMeasure");
7262
+ const columns = c2.at(".columns");
6110
7263
  columns.check(
6111
7264
  "count",
6112
7265
  section.columns?.count,
@@ -6120,7 +7273,7 @@ function validateSection(c, section) {
6120
7273
  at.unsigned("spacingTwips", column.spacingTwips, "ST_TwipsMeasure");
6121
7274
  });
6122
7275
  if (section.lineNumberSettings) {
6123
- const line = c.at(".lineNumberSettings");
7276
+ const line = c2.at(".lineNumberSettings");
6124
7277
  const settings = section.lineNumberSettings;
6125
7278
  line.check(
6126
7279
  "countBy",
@@ -6143,12 +7296,12 @@ function validateSection(c, section) {
6143
7296
  line.unsigned("distanceTwips", settings.distanceTwips, "ST_TwipsMeasure");
6144
7297
  }
6145
7298
  if (section.pageNumbering) {
6146
- const numbering = c.at(".pageNumbering");
7299
+ const numbering = c2.at(".pageNumbering");
6147
7300
  numbering.enum("format", section.pageNumbering.format, isStNumberFormat, "ST_NumberFormat");
6148
7301
  numbering.signed("start", section.pageNumbering.start, "ST_DecimalNumber");
6149
7302
  }
6150
7303
  }
6151
- function validateNumberingCatalog(c, catalog) {
7304
+ function validateNumberingCatalog(c2, catalog) {
6152
7305
  const levelOf = (at, level) => {
6153
7306
  at.enum("numFmt", level.numFmt, isStNumberFormat, "ST_NumberFormat");
6154
7307
  at.signed("start", level.start, "ST_DecimalNumber");
@@ -6179,19 +7332,19 @@ function validateNumberingCatalog(c, catalog) {
6179
7332
  };
6180
7333
  for (const [id, abstract] of Object.entries(catalog.abstractNums))
6181
7334
  for (const [key, level] of Object.entries(abstract.levels))
6182
- levelOf(new Checker(c.issues, `${c.path}.abstractNums[${id}].levels[${key}]`), level);
7335
+ levelOf(new Checker(c2.issues, `${c2.path}.abstractNums[${id}].levels[${key}]`), level);
6183
7336
  for (const [id, num] of Object.entries(catalog.nums))
6184
7337
  for (const [key, override] of Object.entries(num.levelOverrides ?? {})) {
6185
- const at = new Checker(c.issues, `${c.path}.nums[${id}].levelOverrides[${key}]`);
7338
+ const at = new Checker(c2.issues, `${c2.path}.nums[${id}].levelOverrides[${key}]`);
6186
7339
  at.signed("startOverride", override.startOverride, "ST_DecimalNumber");
6187
7340
  if (override.lvl) levelOf(at.at(".lvl"), override.lvl);
6188
7341
  }
6189
7342
  }
6190
7343
 
6191
7344
  // docx/validate-model.ts
6192
- function validateBlocks(c, blocks) {
7345
+ function validateBlocks(c2, blocks) {
6193
7346
  blocks?.forEach((block, index) => {
6194
- const at = c.at(`[${index}]`);
7347
+ const at = c2.at(`[${index}]`);
6195
7348
  if (block.type === "paragraph") return validateParagraph(at, block);
6196
7349
  validateTable(at, block);
6197
7350
  block.rows.forEach(
@@ -6205,8 +7358,8 @@ function validateBlocks(c, blocks) {
6205
7358
  }
6206
7359
  function validateDocumentModel(model) {
6207
7360
  const issues = [];
6208
- const path = (suffix) => new Checker(issues, suffix);
6209
- const page = path("page");
7361
+ const path2 = (suffix) => new Checker(issues, suffix);
7362
+ const page = path2("page");
6210
7363
  for (const key of ["width", "height"])
6211
7364
  page.check(
6212
7365
  key,
@@ -6221,9 +7374,9 @@ function validateDocumentModel(model) {
6221
7374
  (v) => typeof v === "number" && Number.isFinite(v) && (key === "marginTop" || key === "marginBottom" || v >= 0),
6222
7375
  "must be a finite pixel size (converted to integer twips; left/right non-negative)"
6223
7376
  );
6224
- validateBlocks(path("blocks"), model.blocks);
7377
+ validateBlocks(path2("blocks"), model.blocks);
6225
7378
  model.sections?.forEach((section, index) => {
6226
- const at = path(`sections[${index}]`);
7379
+ const at = path2(`sections[${index}]`);
6227
7380
  validateSection(at, section);
6228
7381
  for (const kind of ["headers", "footers"])
6229
7382
  for (const [slot2, content] of Object.entries(section[kind] ?? {}))
@@ -6231,16 +7384,16 @@ function validateDocumentModel(model) {
6231
7384
  });
6232
7385
  for (const kind of ["footnotes", "endnotes"])
6233
7386
  model[kind]?.forEach(
6234
- (note, index) => validateBlocks(path(`${kind}[${index}].blocks`), note.blocks)
7387
+ (note, index) => validateBlocks(path2(`${kind}[${index}].blocks`), note.blocks)
6235
7388
  );
6236
7389
  model.comments?.forEach(
6237
- (comment, index) => path(`comments[${index}]`).dateTime("date", comment.date)
7390
+ (comment, index) => path2(`comments[${index}]`).dateTime("date", comment.date)
6238
7391
  );
6239
- path("model").hex("pageColor", model.pageColor);
6240
- path("model").enum("footnoteNumFmt", model.footnoteNumFmt, isStNumberFormat, "ST_NumberFormat");
6241
- path("model").enum("endnoteNumFmt", model.endnoteNumFmt, isStNumberFormat, "ST_NumberFormat");
7392
+ path2("model").hex("pageColor", model.pageColor);
7393
+ path2("model").enum("footnoteNumFmt", model.footnoteNumFmt, isStNumberFormat, "ST_NumberFormat");
7394
+ path2("model").enum("endnoteNumFmt", model.endnoteNumFmt, isStNumberFormat, "ST_NumberFormat");
6242
7395
  if (model.numberingCatalog)
6243
- validateNumberingCatalog(path("numberingCatalog"), model.numberingCatalog);
7396
+ validateNumberingCatalog(path2("numberingCatalog"), model.numberingCatalog);
6244
7397
  return issues;
6245
7398
  }
6246
7399
  function assertValidDocumentModel(model) {
@@ -6356,12 +7509,12 @@ function parseNum(element) {
6356
7509
  const levelOverrides = {};
6357
7510
  for (const override of children2(element, "lvlOverride")) {
6358
7511
  const level = integer2(getW(override, "ilvl"), 0);
6359
- const entry = {};
7512
+ const entry2 = {};
6360
7513
  const startOverride = getW(first2(override, "startOverride"), "val");
6361
- if (startOverride !== void 0) entry.startOverride = integer2(startOverride, 1);
7514
+ if (startOverride !== void 0) entry2.startOverride = integer2(startOverride, 1);
6362
7515
  const lvl = first2(override, "lvl");
6363
- if (lvl) entry.lvl = parseNumberingLevel(lvl);
6364
- if (Object.keys(entry).length) levelOverrides[level] = entry;
7516
+ if (lvl) entry2.lvl = parseNumberingLevel(lvl);
7517
+ if (Object.keys(entry2).length) levelOverrides[level] = entry2;
6365
7518
  }
6366
7519
  return {
6367
7520
  id,
@@ -6567,7 +7720,7 @@ function buildAbstractNumElement(doc, def) {
6567
7720
  const element = makeW(doc, "abstractNum");
6568
7721
  setAttribute8(element, "abstractNumId", def.id);
6569
7722
  element.appendChild(valueElement(doc, "multiLevelType", "hybridMultilevel"));
6570
- for (const level of Object.values(def.levels).sort((a, b) => a.level - b.level))
7723
+ for (const level of Object.values(def.levels).sort((a2, b) => a2.level - b.level))
6571
7724
  element.appendChild(buildLevelElement(doc, level));
6572
7725
  return element;
6573
7726
  }
@@ -6686,13 +7839,13 @@ async function applyStyleNumbering(zip, model, base) {
6686
7839
  // docx/part-relationships.ts
6687
7840
  var CONTENT_TYPES_PART = "[Content_Types].xml";
6688
7841
  var extensionOf = (partName) => partName.split(".").pop()?.toLowerCase() ?? "";
6689
- function relationshipsPartFor(partName) {
7842
+ function relationshipsPartFor2(partName) {
6690
7843
  const slash = partName.lastIndexOf("/");
6691
7844
  return `${partName.slice(0, slash)}/_rels/${partName.slice(slash + 1)}.rels`;
6692
7845
  }
6693
7846
  async function allocatorForPart(zip, partName, doc, docPrIds) {
6694
7847
  const declared = parseRelationships(
6695
- await zip.file(relationshipsPartFor(partName))?.async("string")
7848
+ await zip.file(relationshipsPartFor2(partName))?.async("string")
6696
7849
  );
6697
7850
  const allocator = new RelationshipAllocator(
6698
7851
  [...scanUsedRelationshipIds(doc), ...declared.keys()],
@@ -6703,7 +7856,7 @@ async function allocatorForPart(zip, partName, doc, docPrIds) {
6703
7856
  }
6704
7857
  async function writeNewRelationships(zip, partName, created, pendingMedia) {
6705
7858
  if (!created.length) return;
6706
- const relsPath = relationshipsPartFor(partName);
7859
+ const relsPath = relationshipsPartFor2(partName);
6707
7860
  const relationships = parseRelationships(await zip.file(relsPath)?.async("string"));
6708
7861
  let contentTypesXml = await zip.file(CONTENT_TYPES_PART)?.async("string");
6709
7862
  for (const relationship of created) {
@@ -6787,8 +7940,8 @@ async function createHeaderFooterParts(zip, model, base, docPrIds) {
6787
7940
  (_match, start, end) => `${start}${docPrIds.next()}${end}`
6788
7941
  ) : xml
6789
7942
  );
6790
- const rels = zip.file(relationshipsPartFor(content.sourcePartName));
6791
- if (rels) zip.file(relationshipsPartFor(partName), await rels.async("uint8array"));
7943
+ const rels = zip.file(relationshipsPartFor2(content.sourcePartName));
7944
+ if (rels) zip.file(relationshipsPartFor2(partName), await rels.async("uint8array"));
6792
7945
  }
6793
7946
  await ensureContentTypeOverride(
6794
7947
  zip,
@@ -7861,15 +9014,15 @@ function parseNotesPart(xml, kind, parseBlocks) {
7861
9014
  }
7862
9015
 
7863
9016
  // docx/document-parts.ts
7864
- async function partContext(zip, path, base) {
9017
+ async function partContext(zip, path2, base) {
7865
9018
  if (!base) return void 0;
7866
- const slash = path.lastIndexOf("/");
7867
- const relsPath = `${path.slice(0, slash)}/_rels/${path.slice(slash + 1)}.rels`;
9019
+ const slash = path2.lastIndexOf("/");
9020
+ const relsPath = `${path2.slice(0, slash)}/_rels/${path2.slice(slash + 1)}.rels`;
7868
9021
  return { ...base, rels: parseRelationships(await readPart(zip, relsPath)) };
7869
9022
  }
7870
9023
  var FIELD_MARKUP = /<w:(?:fldSimple|instrText|fldChar)\b/;
7871
- async function readPart(zip, path) {
7872
- return zip.file(path)?.async("string");
9024
+ async function readPart(zip, path2) {
9025
+ return zip.file(path2)?.async("string");
7873
9026
  }
7874
9027
  function parseSettings(xml) {
7875
9028
  if (!xml) return { evenAndOddHeaders: false, autoHyphenation: false };
@@ -7897,21 +9050,21 @@ async function resolveSlots(zip, relationships, refs, cache, fieldMarkup, drawin
7897
9050
  for (const ref of refs) {
7898
9051
  const relationship = relationships.get(ref.rId);
7899
9052
  if (!relationship) continue;
7900
- const path = resolvePartPath("word/document.xml", relationship.target);
7901
- let blocks = cache.get(path);
9053
+ const path2 = resolvePartPath("word/document.xml", relationship.target);
9054
+ let blocks = cache.get(path2);
7902
9055
  if (!blocks) {
7903
- const xml = await readPart(zip, path);
9056
+ const xml = await readPart(zip, path2);
7904
9057
  if (xml === void 0) continue;
7905
9058
  if (FIELD_MARKUP.test(xml)) fieldMarkup.seen = true;
7906
- const context = await partContext(zip, path, drawings);
9059
+ const context = await partContext(zip, path2, drawings);
7907
9060
  const root = parseXml2(xml).documentElement;
7908
9061
  blocks = withParseWarnings(
7909
9062
  sink2,
7910
- () => parseBlocksFromContainer(root, `${path.replace(/[^a-z0-9]+/gi, "")}-`, context)
9063
+ () => parseBlocksFromContainer(root, `${path2.replace(/[^a-z0-9]+/gi, "")}-`, context)
7911
9064
  );
7912
- cache.set(path, blocks);
9065
+ cache.set(path2, blocks);
7913
9066
  }
7914
- slots[ref.slot] = { blocks, partName: path };
9067
+ slots[ref.slot] = { blocks, partName: path2 };
7915
9068
  }
7916
9069
  return Object.keys(slots).length ? slots : void 0;
7917
9070
  }
@@ -7947,8 +9100,8 @@ async function parseDocumentParts(zip, body, blocks, drawings) {
7947
9100
  }
7948
9101
  const footnotesXml = await readPart(zip, "word/footnotes.xml");
7949
9102
  const endnotesXml = await readPart(zip, "word/endnotes.xml");
7950
- const notesParser = async (path) => {
7951
- const context = await partContext(zip, path, drawings);
9103
+ const notesParser = async (path2) => {
9104
+ const context = await partContext(zip, path2, drawings);
7952
9105
  return (container, prefix) => withParseWarnings(warnings, () => parseBlocksFromContainer(container, prefix, context));
7953
9106
  };
7954
9107
  const footnotes = footnotesXml ? parseNotesPart(footnotesXml, "footnote", await notesParser("word/footnotes.xml")) : void 0;
@@ -8000,15 +9153,15 @@ function parseComments(commentsXml, extendedXml) {
8000
9153
  });
8001
9154
  if (extendedXml) {
8002
9155
  const extended = parseXml2(extendedXml);
8003
- for (const entry of Array.from(
9156
+ for (const entry2 of Array.from(
8004
9157
  extended.getElementsByTagNameNS(W15_NS2, "commentEx")
8005
9158
  )) {
8006
- const paraId = entry.getAttributeNS(W15_NS2, "paraId");
8007
- const comment = paraId && comments.find((c) => c.id === paraIdToCommentId.get(paraId));
9159
+ const paraId = entry2.getAttributeNS(W15_NS2, "paraId");
9160
+ const comment = paraId && comments.find((c2) => c2.id === paraIdToCommentId.get(paraId));
8008
9161
  if (!comment) continue;
8009
- const done = entry.getAttributeNS(W15_NS2, "done");
9162
+ const done = entry2.getAttributeNS(W15_NS2, "done");
8010
9163
  comment.resolved = done === "1" || done === "true";
8011
- const parentParaId = entry.getAttributeNS(W15_NS2, "paraIdParent");
9164
+ const parentParaId = entry2.getAttributeNS(W15_NS2, "paraIdParent");
8012
9165
  const parentId = parentParaId && paraIdToCommentId.get(parentParaId);
8013
9166
  if (parentId) comment.parentId = parentId;
8014
9167
  }
@@ -8016,96 +9169,6 @@ function parseComments(commentsXml, extendedXml) {
8016
9169
  return comments;
8017
9170
  }
8018
9171
 
8019
- // docx/parse-warnings.ts
8020
- function hasAny(document, names) {
8021
- return names.some((name) => document.getElementsByTagNameNS(WORD_NS, name).length > 0);
8022
- }
8023
- function warningsFor(document) {
8024
- const warnings = [];
8025
- const features = [
8026
- [["object"], "Embedded OLE objects (w:object) are preserved but rendered as a placeholder."],
8027
- [["altChunk"], "Embedded alternate-format content is not represented in the document model."],
8028
- [
8029
- ["fldSimple", "instrText", "fldChar"],
8030
- "Fields show the result Word last saved while editing; Print Layout recalculates PAGE, NUMPAGES, SECTIONPAGES, DATE and TIME, and tables of contents update from the References tab."
8031
- ],
8032
- [
8033
- ["moveFrom", "moveTo"],
8034
- "Moved text is linked by its move name: accepting or rejecting either side resolves both. Moves are shown and saved with their range markers."
8035
- ],
8036
- [
8037
- ["rPrChange"],
8038
- "Formatting-change revisions retain their prior run-properties snapshots and support acceptance and rejection; recording new formatting changes and showing prior formatting in Original display are not supported yet."
8039
- ],
8040
- [
8041
- ["pPrChange"],
8042
- "Paragraph-formatting-change revisions retain their prior properties snapshots and support acceptance and rejection; recording new paragraph formatting changes and showing prior formatting in Original display are not supported yet."
8043
- ],
8044
- [
8045
- ["tblPrChange", "trPrChange", "tcPrChange"],
8046
- "Table-structure tracked changes are preserved in the source XML but are not represented in the document model."
8047
- ]
8048
- ];
8049
- for (const [names, message] of features) if (hasAny(document, names)) warnings.push(message);
8050
- if (Array.from(document.getElementsByTagNameNS(WORD_NS, "instrText")).some(
8051
- (el3) => /HYPERLINK/i.test(textContent(el3))
8052
- ))
8053
- warnings.push(
8054
- "Complex HYPERLINK field codes (w:fldChar/w:instrText) are preserved but not parsed as links; their result text edits as plain text."
8055
- );
8056
- const specialBreak = Array.from(document.getElementsByTagNameNS(WORD_NS, "br")).some(
8057
- (br) => hasSpecialBreak(br) && !isModeledBreak(br)
8058
- ) || Array.from(document.getElementsByTagNameNS(WORD_NS, "cr")).some(
8059
- (cr) => cr.attributes.length > 0
8060
- );
8061
- if (specialBreak)
8062
- warnings.push(
8063
- "Some non-line breaks other than page and column breaks are not distinguished from line breaks in the document model; edits to paragraphs containing them are rejected to preserve the original XML."
8064
- );
8065
- return warnings;
8066
- }
8067
- function forEachParagraph2(blocks, visit) {
8068
- for (const block of blocks) {
8069
- if (block.type === "paragraph") visit(block);
8070
- else for (const row of block.rows) for (const cell of row) cell.paragraphs.forEach(visit);
8071
- }
8072
- }
8073
- function imageAndBookmarkWarnings(blocks) {
8074
- const warnings = [];
8075
- let hasPicture = false;
8076
- let hasAnchored = false;
8077
- const unsupportedKinds = /* @__PURE__ */ new Set();
8078
- let hasBookmarks = false;
8079
- forEachParagraph2(blocks, (paragraph) => {
8080
- if (paragraph.bookmarks?.length) hasBookmarks = true;
8081
- for (const run of paragraph.runs) {
8082
- if (!run.image) continue;
8083
- if (run.image.unsupported) {
8084
- if (run.image.diagram?.rendering !== "cached-drawing")
8085
- unsupportedKinds.add(run.image.unsupported);
8086
- } else hasPicture = true;
8087
- if (run.image.anchored) hasAnchored = true;
8088
- }
8089
- });
8090
- if (hasPicture)
8091
- warnings.push(
8092
- "Inline pictures render from their original bytes and can be deleted or newly inserted; crop, artistic effects, and non-inline text wrapping are not reproduced."
8093
- );
8094
- if (hasAnchored)
8095
- warnings.push(
8096
- "Floating pictures follow their text wrapping approximately (floated left or right, or on their own line); exact positions, vertical offsets and in-front/behind layering are not reproduced."
8097
- );
8098
- if (unsupportedKinds.size)
8099
- warnings.push(
8100
- `${Array.from(unsupportedKinds).join(", ")} content is rendered as a labeled placeholder and is not editable.`
8101
- );
8102
- if (hasBookmarks)
8103
- warnings.push(
8104
- "Bookmark names are read-only; editing a paragraph that contains bookmarks preserves them but moves their start/end to the paragraph boundaries."
8105
- );
8106
- return warnings;
8107
- }
8108
-
8109
9172
  // docx/diagram-document.ts
8110
9173
  function diagramsIn(blocks) {
8111
9174
  const diagrams = [];
@@ -8143,7 +9206,7 @@ async function readPackage(input) {
8143
9206
  const entries = Object.values(zip.files);
8144
9207
  if (entries.length > 5e3) throw new Error("DOCX package exceeds the 5,000 part limit");
8145
9208
  const totalSize = entries.reduce(
8146
- (sum, entry) => sum + Number(entry._data?.uncompressedSize ?? 0),
9209
+ (sum, entry2) => sum + Number(entry2._data?.uncompressedSize ?? 0),
8147
9210
  0
8148
9211
  );
8149
9212
  if (totalSize > 200 * 1024 * 1024)
@@ -8294,6 +9357,10 @@ async function readPackage(input) {
8294
9357
  pictureBlocks,
8295
9358
  async (partName) => zip.file(partName)?.async("string")
8296
9359
  );
9360
+ await resolveDocumentCharts(
9361
+ pictureBlocks,
9362
+ async (partName) => zip.file(partName)?.async("string")
9363
+ );
8297
9364
  model.warnings.push(...imageAndBookmarkWarnings(blocks), ...diagramWarnings(pictureBlocks));
8298
9365
  for (const warning of schemaWarnings)
8299
9366
  if (!model.warnings.includes(warning)) model.warnings.push(warning);