ooxml-core 1.1.0 → 1.2.0

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