ooxml-core 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (870) hide show
  1. package/README.md +18 -18
  2. package/dist/{PptxHandler-75LOVF7I.mjs → PptxHandler-VQQS4VS6.mjs} +3 -3
  3. package/dist/automation/index.cjs +7567 -4401
  4. package/dist/automation/index.mjs +7567 -4401
  5. package/dist/chart/bar-cluster-geometry.d.ts +6 -0
  6. package/dist/chart/bar-cluster-geometry.d.ts.map +1 -1
  7. package/dist/chart/color-palettes.d.ts +2 -2
  8. package/dist/chart/color-palettes.d.ts.map +1 -1
  9. package/dist/chart/data-cache.d.ts +6 -0
  10. package/dist/chart/data-cache.d.ts.map +1 -0
  11. package/dist/chart/gradient-coincident-stops.d.ts +17 -0
  12. package/dist/chart/gradient-coincident-stops.d.ts.map +1 -0
  13. package/dist/chart/gradient-definition.d.ts +3 -3
  14. package/dist/chart/gradient-definition.d.ts.map +1 -1
  15. package/dist/chart/index.cjs +3069 -140
  16. package/dist/chart/index.d.ts +7 -0
  17. package/dist/chart/index.d.ts.map +1 -1
  18. package/dist/chart/index.mjs +3048 -141
  19. package/dist/chart/model-chrome.d.ts +39 -0
  20. package/dist/chart/model-chrome.d.ts.map +1 -0
  21. package/dist/chart/model-series.d.ts +189 -0
  22. package/dist/chart/model-series.d.ts.map +1 -0
  23. package/dist/chart/model.d.ts +202 -0
  24. package/dist/chart/model.d.ts.map +1 -0
  25. package/dist/chart/parse-chrome.d.ts +16 -0
  26. package/dist/chart/parse-chrome.d.ts.map +1 -0
  27. package/dist/chart/parse-plot.d.ts +11 -0
  28. package/dist/chart/parse-plot.d.ts.map +1 -0
  29. package/dist/chart/parse-series.d.ts +8 -0
  30. package/dist/chart/parse-series.d.ts.map +1 -0
  31. package/dist/chart/parse-space.d.ts +8 -0
  32. package/dist/chart/parse-space.d.ts.map +1 -0
  33. package/dist/chart/parse-text.d.ts +12 -0
  34. package/dist/chart/parse-text.d.ts.map +1 -0
  35. package/dist/chart/parse-util.d.ts +42 -0
  36. package/dist/chart/parse-util.d.ts.map +1 -0
  37. package/dist/{xlsx/layout → chart/render}/chart-appearance.d.ts +4 -4
  38. package/dist/chart/render/chart-appearance.d.ts.map +1 -0
  39. package/dist/chart/render/chart-colors.d.ts +9 -0
  40. package/dist/chart/render/chart-colors.d.ts.map +1 -0
  41. package/dist/chart/render/chart-scale.d.ts.map +1 -0
  42. package/dist/chart/render/chart-spacing.d.ts +6 -0
  43. package/dist/chart/render/chart-spacing.d.ts.map +1 -0
  44. package/dist/{xlsx/layout → chart/render}/chart-svg-appearance.d.ts +1 -1
  45. package/dist/chart/render/chart-svg-appearance.d.ts.map +1 -0
  46. package/dist/chart/render/chart-svg-bars.d.ts.map +1 -0
  47. package/dist/chart/render/chart-svg-cartesian.d.ts.map +1 -0
  48. package/dist/chart/render/chart-svg-legend.d.ts.map +1 -0
  49. package/dist/chart/render/chart-svg-radial.d.ts.map +1 -0
  50. package/dist/chart/render/chart-svg-text-metrics.d.ts.map +1 -0
  51. package/dist/chart/render/chart-svg-title-text.d.ts.map +1 -0
  52. package/dist/chart/render/chart-svg-util.d.ts.map +1 -0
  53. package/dist/chart/render/chart-svg.d.ts.map +1 -0
  54. package/dist/chart/render/chart-title-text.d.ts +14 -0
  55. package/dist/chart/render/chart-title-text.d.ts.map +1 -0
  56. package/dist/chart/render/chart-value-axis.d.ts +6 -0
  57. package/dist/chart/render/chart-value-axis.d.ts.map +1 -0
  58. package/dist/chart/render/chart-view.d.ts +71 -0
  59. package/dist/chart/render/chart-view.d.ts.map +1 -0
  60. package/dist/chart/render/index.d.ts +9 -0
  61. package/dist/chart/render/index.d.ts.map +1 -0
  62. package/dist/chart/render/render-space.d.ts +34 -0
  63. package/dist/chart/render/render-space.d.ts.map +1 -0
  64. package/dist/chart/render/summary-from-space.d.ts +15 -0
  65. package/dist/chart/render/summary-from-space.d.ts.map +1 -0
  66. package/dist/chart/render/summary.d.ts +51 -0
  67. package/dist/chart/render/summary.d.ts.map +1 -0
  68. package/dist/chart/render/theme-palette.d.ts +8 -0
  69. package/dist/chart/render/theme-palette.d.ts.map +1 -0
  70. package/dist/chart/style-definition.d.ts +7 -7
  71. package/dist/chart/style-definition.d.ts.map +1 -1
  72. package/dist/chart/write-axes.d.ts +5 -0
  73. package/dist/chart/write-axes.d.ts.map +1 -0
  74. package/dist/chart/write-chrome.d.ts +9 -0
  75. package/dist/chart/write-chrome.d.ts.map +1 -0
  76. package/dist/chart/write-plot.d.ts +7 -0
  77. package/dist/chart/write-plot.d.ts.map +1 -0
  78. package/dist/chart/write-series.d.ts +7 -0
  79. package/dist/chart/write-series.d.ts.map +1 -0
  80. package/dist/chart/write-shape.d.ts +21 -0
  81. package/dist/chart/write-shape.d.ts.map +1 -0
  82. package/dist/chart/write-space.d.ts +15 -0
  83. package/dist/chart/write-space.d.ts.map +1 -0
  84. package/dist/chart/write-text-body.d.ts +6 -0
  85. package/dist/chart/write-text-body.d.ts.map +1 -0
  86. package/dist/chart/write-text.d.ts +15 -0
  87. package/dist/chart/write-text.d.ts.map +1 -0
  88. package/dist/chart/write-util.d.ts +24 -0
  89. package/dist/chart/write-util.d.ts.map +1 -0
  90. package/dist/chart/xml-fragment.d.ts +13 -0
  91. package/dist/chart/xml-fragment.d.ts.map +1 -0
  92. package/dist/{chunk-HUBK4EOT.mjs → chunk-3IT6ZD7K.mjs} +2 -0
  93. package/dist/{chunk-TS3E27NK.mjs → chunk-3UMDVJRN.mjs} +12 -1
  94. package/dist/{chunk-P22OKTRK.mjs → chunk-54S5A5PZ.mjs} +208 -159
  95. package/dist/{chunk-OMGH6IKY.mjs → chunk-5U27IVB7.mjs} +42 -5
  96. package/dist/{chunk-RFX7AJDZ.mjs → chunk-5VLNF4OX.mjs} +2 -2
  97. package/dist/{chunk-OJI3N5AY.cjs → chunk-FRUB573B.cjs} +2 -0
  98. package/dist/{chunk-75LA7H3F.mjs → chunk-V2BIGIH4.mjs} +27504 -27464
  99. package/dist/{chunk-Q27H4HFS.mjs → chunk-XBNSBDNT.mjs} +1 -1
  100. package/dist/{chunk-2C72N64G.cjs → chunk-XROY25LN.cjs} +12 -0
  101. package/dist/{chunk-LA7D6ZYQ.mjs → chunk-XSFHGZFH.mjs} +3579 -2083
  102. package/dist/collab/index.cjs +1 -0
  103. package/dist/collab/index.mjs +1 -0
  104. package/dist/collab/transport-provider.d.ts.map +1 -1
  105. package/dist/color/hex-rgb.d.ts +5 -0
  106. package/dist/color/hex-rgb.d.ts.map +1 -0
  107. package/dist/color/index.cjs +12 -0
  108. package/dist/color/index.d.ts +1 -0
  109. package/dist/color/index.d.ts.map +1 -1
  110. package/dist/color/index.mjs +11 -1
  111. package/dist/diagram/engine/alg-composite.d.ts +18 -0
  112. package/dist/diagram/engine/alg-composite.d.ts.map +1 -0
  113. package/dist/diagram/engine/alg-connector.d.ts +17 -0
  114. package/dist/diagram/engine/alg-connector.d.ts.map +1 -0
  115. package/dist/diagram/engine/alg-cycle.d.ts +28 -0
  116. package/dist/diagram/engine/alg-cycle.d.ts.map +1 -0
  117. package/dist/diagram/engine/alg-hier.d.ts +33 -0
  118. package/dist/diagram/engine/alg-hier.d.ts.map +1 -0
  119. package/dist/diagram/engine/alg-linear.d.ts +24 -0
  120. package/dist/diagram/engine/alg-linear.d.ts.map +1 -0
  121. package/dist/diagram/engine/alg-pyra.d.ts +117 -0
  122. package/dist/diagram/engine/alg-pyra.d.ts.map +1 -0
  123. package/dist/diagram/engine/alg-snake.d.ts +21 -0
  124. package/dist/diagram/engine/alg-snake.d.ts.map +1 -0
  125. package/dist/diagram/engine/axis.d.ts +24 -0
  126. package/dist/diagram/engine/axis.d.ts.map +1 -0
  127. package/dist/diagram/engine/conditions.d.ts +12 -0
  128. package/dist/diagram/engine/conditions.d.ts.map +1 -0
  129. package/dist/diagram/engine/connector-shape.d.ts +25 -0
  130. package/dist/diagram/engine/connector-shape.d.ts.map +1 -0
  131. package/dist/diagram/engine/connector-size.d.ts +30 -0
  132. package/dist/diagram/engine/connector-size.d.ts.map +1 -0
  133. package/dist/diagram/engine/constraint-eval.d.ts +37 -0
  134. package/dist/diagram/engine/constraint-eval.d.ts.map +1 -0
  135. package/dist/diagram/engine/constraint-fill-idiom.d.ts +61 -0
  136. package/dist/diagram/engine/constraint-fill-idiom.d.ts.map +1 -0
  137. package/dist/diagram/engine/constraint-units.d.ts +35 -0
  138. package/dist/diagram/engine/constraint-units.d.ts.map +1 -0
  139. package/dist/diagram/engine/data-points.d.ts +48 -0
  140. package/dist/diagram/engine/data-points.d.ts.map +1 -0
  141. package/dist/diagram/engine/engine-context.d.ts +21 -0
  142. package/dist/diagram/engine/engine-context.d.ts.map +1 -0
  143. package/dist/diagram/engine/engine-first-allowlist.d.ts +31 -0
  144. package/dist/diagram/engine/engine-first-allowlist.d.ts.map +1 -0
  145. package/dist/diagram/engine/engine-fonts.d.ts +26 -0
  146. package/dist/diagram/engine/engine-fonts.d.ts.map +1 -0
  147. package/dist/diagram/engine/engine-node.d.ts +72 -0
  148. package/dist/diagram/engine/engine-node.d.ts.map +1 -0
  149. package/dist/diagram/engine/engine-to-result.d.ts +43 -0
  150. package/dist/diagram/engine/engine-to-result.d.ts.map +1 -0
  151. package/dist/diagram/engine/engine.d.ts +18 -0
  152. package/dist/diagram/engine/engine.d.ts.map +1 -0
  153. package/dist/diagram/engine/font-groups.d.ts +33 -0
  154. package/dist/diagram/engine/font-groups.d.ts.map +1 -0
  155. package/dist/diagram/engine/font-length.d.ts +26 -0
  156. package/dist/diagram/engine/font-length.d.ts.map +1 -0
  157. package/dist/diagram/engine/font-search.d.ts +38 -0
  158. package/dist/diagram/engine/font-search.d.ts.map +1 -0
  159. package/dist/diagram/engine/hier-assistants.d.ts +47 -0
  160. package/dist/diagram/engine/hier-assistants.d.ts.map +1 -0
  161. package/dist/diagram/engine/hier-hang.d.ts +28 -0
  162. package/dist/diagram/engine/hier-hang.d.ts.map +1 -0
  163. package/dist/diagram/engine/hier-measure.d.ts +33 -0
  164. package/dist/diagram/engine/hier-measure.d.ts.map +1 -0
  165. package/dist/diagram/engine/hier-node-size.d.ts +23 -0
  166. package/dist/diagram/engine/hier-node-size.d.ts.map +1 -0
  167. package/dist/diagram/engine/hier-shape.d.ts +31 -0
  168. package/dist/diagram/engine/hier-shape.d.ts.map +1 -0
  169. package/dist/diagram/engine/index.d.ts +6 -0
  170. package/dist/diagram/engine/index.d.ts.map +1 -0
  171. package/dist/diagram/engine/layout-def-parse.d.ts +13 -0
  172. package/dist/diagram/engine/layout-def-parse.d.ts.map +1 -0
  173. package/dist/diagram/engine/layout-def-types.d.ts +118 -0
  174. package/dist/diagram/engine/layout-def-types.d.ts.map +1 -0
  175. package/dist/diagram/engine/layout-driver.d.ts +41 -0
  176. package/dist/diagram/engine/layout-driver.d.ts.map +1 -0
  177. package/dist/diagram/engine/layout-font.d.ts +27 -0
  178. package/dist/diagram/engine/layout-font.d.ts.map +1 -0
  179. package/dist/diagram/engine/move-with-merge.d.ts +49 -0
  180. package/dist/diagram/engine/move-with-merge.d.ts.map +1 -0
  181. package/dist/diagram/engine/node-text.d.ts +20 -0
  182. package/dist/diagram/engine/node-text.d.ts.map +1 -0
  183. package/dist/diagram/engine/ordered-xml.d.ts +30 -0
  184. package/dist/diagram/engine/ordered-xml.d.ts.map +1 -0
  185. package/dist/diagram/engine/preferred-size.d.ts +28 -0
  186. package/dist/diagram/engine/preferred-size.d.ts.map +1 -0
  187. package/dist/diagram/engine/pres-tree.d.ts +58 -0
  188. package/dist/diagram/engine/pres-tree.d.ts.map +1 -0
  189. package/dist/diagram/engine/registry.d.ts +7 -0
  190. package/dist/diagram/engine/registry.d.ts.map +1 -0
  191. package/dist/diagram/engine/render-filter.d.ts +43 -0
  192. package/dist/diagram/engine/render-filter.d.ts.map +1 -0
  193. package/dist/diagram/engine/shape-adjust.d.ts +16 -0
  194. package/dist/diagram/engine/shape-adjust.d.ts.map +1 -0
  195. package/dist/diagram/engine/shape-transform.d.ts +14 -0
  196. package/dist/diagram/engine/shape-transform.d.ts.map +1 -0
  197. package/dist/diagram/engine/snake-rule-fit.d.ts +34 -0
  198. package/dist/diagram/engine/snake-rule-fit.d.ts.map +1 -0
  199. package/dist/diagram/engine/style-label.d.ts +24 -0
  200. package/dist/diagram/engine/style-label.d.ts.map +1 -0
  201. package/dist/diagram/engine/text-fit.d.ts +61 -0
  202. package/dist/diagram/engine/text-fit.d.ts.map +1 -0
  203. package/dist/diagram/engine/text-grow.d.ts +33 -0
  204. package/dist/diagram/engine/text-grow.d.ts.map +1 -0
  205. package/dist/diagram/engine/text-measure.d.ts +77 -0
  206. package/dist/diagram/engine/text-measure.d.ts.map +1 -0
  207. package/dist/diagram/hierarchy/index.d.ts +5 -0
  208. package/dist/diagram/hierarchy/index.d.ts.map +1 -0
  209. package/dist/diagram/hierarchy/smartart-hierarchy-axis-pitch.d.ts +65 -0
  210. package/dist/diagram/hierarchy/smartart-hierarchy-axis-pitch.d.ts.map +1 -0
  211. package/dist/diagram/hierarchy/smartart-hierarchy-axis-swap-orientation.d.ts +68 -0
  212. package/dist/diagram/hierarchy/smartart-hierarchy-axis-swap-orientation.d.ts.map +1 -0
  213. package/dist/diagram/hierarchy/smartart-hierarchy-branch-mode.d.ts +54 -0
  214. package/dist/diagram/hierarchy/smartart-hierarchy-branch-mode.d.ts.map +1 -0
  215. package/dist/diagram/hierarchy/smartart-hierarchy-cascade.d.ts +58 -0
  216. package/dist/diagram/hierarchy/smartart-hierarchy-cascade.d.ts.map +1 -0
  217. package/dist/diagram/hierarchy/smartart-hierarchy-centered-fan-axis.d.ts +63 -0
  218. package/dist/diagram/hierarchy/smartart-hierarchy-centered-fan-axis.d.ts.map +1 -0
  219. package/dist/diagram/hierarchy/smartart-hierarchy-child-order.d.ts +41 -0
  220. package/dist/diagram/hierarchy/smartart-hierarchy-child-order.d.ts.map +1 -0
  221. package/dist/diagram/hierarchy/smartart-hierarchy-composite-child.d.ts +129 -0
  222. package/dist/diagram/hierarchy/smartart-hierarchy-composite-child.d.ts.map +1 -0
  223. package/dist/diagram/hierarchy/smartart-hierarchy-constraint-lookup.d.ts +76 -0
  224. package/dist/diagram/hierarchy/smartart-hierarchy-constraint-lookup.d.ts.map +1 -0
  225. package/dist/diagram/hierarchy/smartart-hierarchy-corner-plan.d.ts +49 -0
  226. package/dist/diagram/hierarchy/smartart-hierarchy-corner-plan.d.ts.map +1 -0
  227. package/dist/diagram/hierarchy/smartart-hierarchy-dispatch-lindir.d.ts +58 -0
  228. package/dist/diagram/hierarchy/smartart-hierarchy-dispatch-lindir.d.ts.map +1 -0
  229. package/dist/diagram/hierarchy/smartart-hierarchy-fan-aware-width.d.ts +48 -0
  230. package/dist/diagram/hierarchy/smartart-hierarchy-fan-aware-width.d.ts.map +1 -0
  231. package/dist/diagram/hierarchy/smartart-hierarchy-fan.d.ts +97 -0
  232. package/dist/diagram/hierarchy/smartart-hierarchy-fan.d.ts.map +1 -0
  233. package/dist/diagram/hierarchy/smartart-hierarchy-fanned-hang-geometry.d.ts +42 -0
  234. package/dist/diagram/hierarchy/smartart-hierarchy-fanned-hang-geometry.d.ts.map +1 -0
  235. package/dist/diagram/hierarchy/smartart-hierarchy-fanned-hang.d.ts +74 -0
  236. package/dist/diagram/hierarchy/smartart-hierarchy-fanned-hang.d.ts.map +1 -0
  237. package/dist/diagram/hierarchy/smartart-hierarchy-fit-item-box.d.ts +111 -0
  238. package/dist/diagram/hierarchy/smartart-hierarchy-fit-item-box.d.ts.map +1 -0
  239. package/dist/diagram/hierarchy/smartart-hierarchy-fold-depth.d.ts +44 -0
  240. package/dist/diagram/hierarchy/smartart-hierarchy-fold-depth.d.ts.map +1 -0
  241. package/dist/diagram/hierarchy/smartart-hierarchy-generation-gap.d.ts +60 -0
  242. package/dist/diagram/hierarchy/smartart-hierarchy-generation-gap.d.ts.map +1 -0
  243. package/dist/diagram/hierarchy/smartart-hierarchy-generation-templates.d.ts +106 -0
  244. package/dist/diagram/hierarchy/smartart-hierarchy-generation-templates.d.ts.map +1 -0
  245. package/dist/diagram/hierarchy/smartart-hierarchy-hang-depth.d.ts +133 -0
  246. package/dist/diagram/hierarchy/smartart-hierarchy-hang-depth.d.ts.map +1 -0
  247. package/dist/diagram/hierarchy/smartart-hierarchy-hang-dispatch.d.ts +28 -0
  248. package/dist/diagram/hierarchy/smartart-hierarchy-hang-dispatch.d.ts.map +1 -0
  249. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-arrange.d.ts +28 -0
  250. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-arrange.d.ts.map +1 -0
  251. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-box.d.ts +86 -0
  252. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-box.d.ts.map +1 -0
  253. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-fold.d.ts +36 -0
  254. package/dist/diagram/hierarchy/smartart-hierarchy-hanging-fold.d.ts.map +1 -0
  255. package/dist/diagram/hierarchy/smartart-hierarchy-hanging.d.ts +118 -0
  256. package/dist/diagram/hierarchy/smartart-hierarchy-hanging.d.ts.map +1 -0
  257. package/dist/diagram/hierarchy/smartart-hierarchy-item-template.d.ts +64 -0
  258. package/dist/diagram/hierarchy/smartart-hierarchy-item-template.d.ts.map +1 -0
  259. package/dist/diagram/hierarchy/smartart-hierarchy-orgchart-tree.d.ts +53 -0
  260. package/dist/diagram/hierarchy/smartart-hierarchy-orgchart-tree.d.ts.map +1 -0
  261. package/dist/diagram/hierarchy/smartart-hierarchy-orientation-resolve.d.ts +36 -0
  262. package/dist/diagram/hierarchy/smartart-hierarchy-orientation-resolve.d.ts.map +1 -0
  263. package/dist/diagram/hierarchy/smartart-hierarchy-orientation-types.d.ts +81 -0
  264. package/dist/diagram/hierarchy/smartart-hierarchy-orientation-types.d.ts.map +1 -0
  265. package/dist/diagram/hierarchy/smartart-hierarchy-orientation.d.ts +78 -0
  266. package/dist/diagram/hierarchy/smartart-hierarchy-orientation.d.ts.map +1 -0
  267. package/dist/diagram/hierarchy/smartart-hierarchy-pitch.d.ts +140 -0
  268. package/dist/diagram/hierarchy/smartart-hierarchy-pitch.d.ts.map +1 -0
  269. package/dist/diagram/hierarchy/smartart-hierarchy-shared.d.ts +131 -0
  270. package/dist/diagram/hierarchy/smartart-hierarchy-shared.d.ts.map +1 -0
  271. package/dist/diagram/hierarchy/smartart-hierarchy-standard-options.d.ts +91 -0
  272. package/dist/diagram/hierarchy/smartart-hierarchy-standard-options.d.ts.map +1 -0
  273. package/dist/diagram/hierarchy/smartart-hierarchy-standard-rows.d.ts +21 -0
  274. package/dist/diagram/hierarchy/smartart-hierarchy-standard-rows.d.ts.map +1 -0
  275. package/dist/diagram/hierarchy/smartart-hierarchy-standard.d.ts +36 -0
  276. package/dist/diagram/hierarchy/smartart-hierarchy-standard.d.ts.map +1 -0
  277. package/dist/diagram/hierarchy/smartart-hierarchy-tailed-placer.d.ts +20 -0
  278. package/dist/diagram/hierarchy/smartart-hierarchy-tailed-placer.d.ts.map +1 -0
  279. package/dist/diagram/hierarchy/smartart-hierarchy-tailed-transpose.d.ts +50 -0
  280. package/dist/diagram/hierarchy/smartart-hierarchy-tailed-transpose.d.ts.map +1 -0
  281. package/dist/diagram/hierarchy/smartart-hierarchy-transpose.d.ts +23 -0
  282. package/dist/diagram/hierarchy/smartart-hierarchy-transpose.d.ts.map +1 -0
  283. package/dist/diagram/hierarchy/smartart-hierarchy-transposed-orientation.d.ts +22 -0
  284. package/dist/diagram/hierarchy/smartart-hierarchy-transposed-orientation.d.ts.map +1 -0
  285. package/dist/diagram/hierarchy/smartart-hierarchy-wrapped-groups.d.ts +93 -0
  286. package/dist/diagram/hierarchy/smartart-hierarchy-wrapped-groups.d.ts.map +1 -0
  287. package/dist/diagram/hierarchy/smartart-layout-interpreter-hierarchy.d.ts +49 -0
  288. package/dist/diagram/hierarchy/smartart-layout-interpreter-hierarchy.d.ts.map +1 -0
  289. package/dist/diagram/index.cjs +22537 -80
  290. package/dist/diagram/index.d.ts +4 -0
  291. package/dist/diagram/index.d.ts.map +1 -1
  292. package/dist/diagram/index.mjs +22453 -81
  293. package/dist/diagram/layout/index.d.ts +38 -0
  294. package/dist/diagram/layout/index.d.ts.map +1 -0
  295. package/dist/diagram/layout/smartart-choose-xml.d.ts +32 -0
  296. package/dist/diagram/layout/smartart-choose-xml.d.ts.map +1 -0
  297. package/dist/diagram/layout/smartart-constraint-branch-index.d.ts +49 -0
  298. package/dist/diagram/layout/smartart-constraint-branch-index.d.ts.map +1 -0
  299. package/dist/diagram/layout/smartart-constraint-declared-by.d.ts +64 -0
  300. package/dist/diagram/layout/smartart-constraint-declared-by.d.ts.map +1 -0
  301. package/dist/diagram/layout/smartart-constraint-ratio-fallback.d.ts +18 -0
  302. package/dist/diagram/layout/smartart-constraint-ratio-fallback.d.ts.map +1 -0
  303. package/dist/diagram/layout/smartart-constraint-resolve.d.ts +24 -0
  304. package/dist/diagram/layout/smartart-constraint-resolve.d.ts.map +1 -0
  305. package/dist/diagram/layout/smartart-constraint-rules.d.ts +26 -0
  306. package/dist/diagram/layout/smartart-constraint-rules.d.ts.map +1 -0
  307. package/dist/diagram/layout/smartart-constraint-sibling-roles.d.ts +100 -0
  308. package/dist/diagram/layout/smartart-constraint-sibling-roles.d.ts.map +1 -0
  309. package/dist/diagram/layout/smartart-constraint-solver.d.ts +133 -0
  310. package/dist/diagram/layout/smartart-constraint-solver.d.ts.map +1 -0
  311. package/dist/diagram/layout/smartart-constraint-values.d.ts +5 -0
  312. package/dist/diagram/layout/smartart-constraint-values.d.ts.map +1 -0
  313. package/dist/diagram/layout/smartart-font-table.d.ts +14 -0
  314. package/dist/diagram/layout/smartart-font-table.d.ts.map +1 -0
  315. package/dist/diagram/layout/smartart-interpreter-fold-text.d.ts +75 -0
  316. package/dist/diagram/layout/smartart-interpreter-fold-text.d.ts.map +1 -0
  317. package/dist/diagram/layout/smartart-layout-control-flow.d.ts +25 -0
  318. package/dist/diagram/layout/smartart-layout-control-flow.d.ts.map +1 -0
  319. package/dist/diagram/layout/smartart-layout-interpreter-arranged-selection.d.ts +56 -0
  320. package/dist/diagram/layout/smartart-layout-interpreter-arranged-selection.d.ts.map +1 -0
  321. package/dist/diagram/layout/smartart-layout-interpreter-arrangement-kind.d.ts +37 -0
  322. package/dist/diagram/layout/smartart-layout-interpreter-arrangement-kind.d.ts.map +1 -0
  323. package/dist/diagram/layout/smartart-layout-interpreter-aux.d.ts +66 -0
  324. package/dist/diagram/layout/smartart-layout-interpreter-aux.d.ts.map +1 -0
  325. package/dist/diagram/layout/smartart-layout-interpreter-axis-count.d.ts +128 -0
  326. package/dist/diagram/layout/smartart-layout-interpreter-axis-count.d.ts.map +1 -0
  327. package/dist/diagram/layout/smartart-layout-interpreter-axis-depth.d.ts +73 -0
  328. package/dist/diagram/layout/smartart-layout-interpreter-axis-depth.d.ts.map +1 -0
  329. package/dist/diagram/layout/smartart-layout-interpreter-axis-hop.d.ts +48 -0
  330. package/dist/diagram/layout/smartart-layout-interpreter-axis-hop.d.ts.map +1 -0
  331. package/dist/diagram/layout/smartart-layout-interpreter-axis-range.d.ts +19 -0
  332. package/dist/diagram/layout/smartart-layout-interpreter-axis-range.d.ts.map +1 -0
  333. package/dist/diagram/layout/smartart-layout-interpreter-choose-algorithm.d.ts +60 -0
  334. package/dist/diagram/layout/smartart-layout-interpreter-choose-algorithm.d.ts.map +1 -0
  335. package/dist/diagram/layout/smartart-layout-interpreter-choose-branch.d.ts +36 -0
  336. package/dist/diagram/layout/smartart-layout-interpreter-choose-branch.d.ts.map +1 -0
  337. package/dist/diagram/layout/smartart-layout-interpreter-choose-composite.d.ts +42 -0
  338. package/dist/diagram/layout/smartart-layout-interpreter-choose-composite.d.ts.map +1 -0
  339. package/dist/diagram/layout/smartart-layout-interpreter-choose-depth.d.ts +102 -0
  340. package/dist/diagram/layout/smartart-layout-interpreter-choose-depth.d.ts.map +1 -0
  341. package/dist/diagram/layout/smartart-layout-interpreter-choose-resolve.d.ts +32 -0
  342. package/dist/diagram/layout/smartart-layout-interpreter-choose-resolve.d.ts.map +1 -0
  343. package/dist/diagram/layout/smartart-layout-interpreter-composite-alternative.d.ts +33 -0
  344. package/dist/diagram/layout/smartart-layout-interpreter-composite-alternative.d.ts.map +1 -0
  345. package/dist/diagram/layout/smartart-layout-interpreter-composite-anchor.d.ts +95 -0
  346. package/dist/diagram/layout/smartart-layout-interpreter-composite-anchor.d.ts.map +1 -0
  347. package/dist/diagram/layout/smartart-layout-interpreter-composite-aspect.d.ts +84 -0
  348. package/dist/diagram/layout/smartart-layout-interpreter-composite-aspect.d.ts.map +1 -0
  349. package/dist/diagram/layout/smartart-layout-interpreter-composite-candidates.d.ts +60 -0
  350. package/dist/diagram/layout/smartart-layout-interpreter-composite-candidates.d.ts.map +1 -0
  351. package/dist/diagram/layout/smartart-layout-interpreter-composite-children.d.ts +86 -0
  352. package/dist/diagram/layout/smartart-layout-interpreter-composite-children.d.ts.map +1 -0
  353. package/dist/diagram/layout/smartart-layout-interpreter-composite-choose-groups.d.ts +44 -0
  354. package/dist/diagram/layout/smartart-layout-interpreter-composite-choose-groups.d.ts.map +1 -0
  355. package/dist/diagram/layout/smartart-layout-interpreter-composite-choose.d.ts +109 -0
  356. package/dist/diagram/layout/smartart-layout-interpreter-composite-choose.d.ts.map +1 -0
  357. package/dist/diagram/layout/smartart-layout-interpreter-composite-detect.d.ts +182 -0
  358. package/dist/diagram/layout/smartart-layout-interpreter-composite-detect.d.ts.map +1 -0
  359. package/dist/diagram/layout/smartart-layout-interpreter-composite-fontfit.d.ts +60 -0
  360. package/dist/diagram/layout/smartart-layout-interpreter-composite-fontfit.d.ts.map +1 -0
  361. package/dist/diagram/layout/smartart-layout-interpreter-composite-foreach.d.ts +36 -0
  362. package/dist/diagram/layout/smartart-layout-interpreter-composite-foreach.d.ts.map +1 -0
  363. package/dist/diagram/layout/smartart-layout-interpreter-composite-group-slots.d.ts +92 -0
  364. package/dist/diagram/layout/smartart-layout-interpreter-composite-group-slots.d.ts.map +1 -0
  365. package/dist/diagram/layout/smartart-layout-interpreter-composite-iteration.d.ts +45 -0
  366. package/dist/diagram/layout/smartart-layout-interpreter-composite-iteration.d.ts.map +1 -0
  367. package/dist/diagram/layout/smartart-layout-interpreter-composite-nested-cycle.d.ts +57 -0
  368. package/dist/diagram/layout/smartart-layout-interpreter-composite-nested-cycle.d.ts.map +1 -0
  369. package/dist/diagram/layout/smartart-layout-interpreter-composite-order-fallback.d.ts +24 -0
  370. package/dist/diagram/layout/smartart-layout-interpreter-composite-order-fallback.d.ts.map +1 -0
  371. package/dist/diagram/layout/smartart-layout-interpreter-composite-order.d.ts +41 -0
  372. package/dist/diagram/layout/smartart-layout-interpreter-composite-order.d.ts.map +1 -0
  373. package/dist/diagram/layout/smartart-layout-interpreter-composite-pairs.d.ts +34 -0
  374. package/dist/diagram/layout/smartart-layout-interpreter-composite-pairs.d.ts.map +1 -0
  375. package/dist/diagram/layout/smartart-layout-interpreter-composite-render.d.ts +29 -0
  376. package/dist/diagram/layout/smartart-layout-interpreter-composite-render.d.ts.map +1 -0
  377. package/dist/diagram/layout/smartart-layout-interpreter-composite-ring.d.ts +40 -0
  378. package/dist/diagram/layout/smartart-layout-interpreter-composite-ring.d.ts.map +1 -0
  379. package/dist/diagram/layout/smartart-layout-interpreter-composite-slot-dim.d.ts +22 -0
  380. package/dist/diagram/layout/smartart-layout-interpreter-composite-slot-dim.d.ts.map +1 -0
  381. package/dist/diagram/layout/smartart-layout-interpreter-composite-slots.d.ts +69 -0
  382. package/dist/diagram/layout/smartart-layout-interpreter-composite-slots.d.ts.map +1 -0
  383. package/dist/diagram/layout/smartart-layout-interpreter-composite.d.ts +56 -0
  384. package/dist/diagram/layout/smartart-layout-interpreter-composite.d.ts.map +1 -0
  385. package/dist/diagram/layout/smartart-layout-interpreter-conn-path.d.ts +42 -0
  386. package/dist/diagram/layout/smartart-layout-interpreter-conn-path.d.ts.map +1 -0
  387. package/dist/diagram/layout/smartart-layout-interpreter-connector-order.d.ts +23 -0
  388. package/dist/diagram/layout/smartart-layout-interpreter-connector-order.d.ts.map +1 -0
  389. package/dist/diagram/layout/smartart-layout-interpreter-constraints.d.ts +28 -0
  390. package/dist/diagram/layout/smartart-layout-interpreter-constraints.d.ts.map +1 -0
  391. package/dist/diagram/layout/smartart-layout-interpreter-custom.d.ts +31 -0
  392. package/dist/diagram/layout/smartart-layout-interpreter-custom.d.ts.map +1 -0
  393. package/dist/diagram/layout/smartart-layout-interpreter-cycle-boxes.d.ts +36 -0
  394. package/dist/diagram/layout/smartart-layout-interpreter-cycle-boxes.d.ts.map +1 -0
  395. package/dist/diagram/layout/smartart-layout-interpreter-cycle-connectors.d.ts +21 -0
  396. package/dist/diagram/layout/smartart-layout-interpreter-cycle-connectors.d.ts.map +1 -0
  397. package/dist/diagram/layout/smartart-layout-interpreter-cycle-constraints.d.ts +116 -0
  398. package/dist/diagram/layout/smartart-layout-interpreter-cycle-constraints.d.ts.map +1 -0
  399. package/dist/diagram/layout/smartart-layout-interpreter-cycle-extension.d.ts +110 -0
  400. package/dist/diagram/layout/smartart-layout-interpreter-cycle-extension.d.ts.map +1 -0
  401. package/dist/diagram/layout/smartart-layout-interpreter-cycle-fontfit.d.ts +50 -0
  402. package/dist/diagram/layout/smartart-layout-interpreter-cycle-fontfit.d.ts.map +1 -0
  403. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-detect.d.ts +66 -0
  404. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-detect.d.ts.map +1 -0
  405. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-ratio-usersize.d.ts +81 -0
  406. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-ratio-usersize.d.ts.map +1 -0
  407. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-ratio.d.ts +109 -0
  408. package/dist/diagram/layout/smartart-layout-interpreter-cycle-hub-ratio.d.ts.map +1 -0
  409. package/dist/diagram/layout/smartart-layout-interpreter-cycle-item-aspect.d.ts +121 -0
  410. package/dist/diagram/layout/smartart-layout-interpreter-cycle-item-aspect.d.ts.map +1 -0
  411. package/dist/diagram/layout/smartart-layout-interpreter-cycle-item-node.d.ts +57 -0
  412. package/dist/diagram/layout/smartart-layout-interpreter-cycle-item-node.d.ts.map +1 -0
  413. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-bulge.d.ts +34 -0
  414. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-bulge.d.ts.map +1 -0
  415. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-item.d.ts +39 -0
  416. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-item.d.ts.map +1 -0
  417. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-nested-hub.d.ts +22 -0
  418. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-nested-hub.d.ts.map +1 -0
  419. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-offset.d.ts +43 -0
  420. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring-offset.d.ts.map +1 -0
  421. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring.d.ts +76 -0
  422. package/dist/diagram/layout/smartart-layout-interpreter-cycle-ring.d.ts.map +1 -0
  423. package/dist/diagram/layout/smartart-layout-interpreter-cycle-sibtrans.d.ts +40 -0
  424. package/dist/diagram/layout/smartart-layout-interpreter-cycle-sibtrans.d.ts.map +1 -0
  425. package/dist/diagram/layout/smartart-layout-interpreter-cycle.d.ts +69 -0
  426. package/dist/diagram/layout/smartart-layout-interpreter-cycle.d.ts.map +1 -0
  427. package/dist/diagram/layout/smartart-layout-interpreter-dispatch.d.ts +18 -0
  428. package/dist/diagram/layout/smartart-layout-interpreter-dispatch.d.ts.map +1 -0
  429. package/dist/diagram/layout/smartart-layout-interpreter-flow-direction.d.ts +29 -0
  430. package/dist/diagram/layout/smartart-layout-interpreter-flow-direction.d.ts.map +1 -0
  431. package/dist/diagram/layout/smartart-layout-interpreter-flow.d.ts +49 -0
  432. package/dist/diagram/layout/smartart-layout-interpreter-flow.d.ts.map +1 -0
  433. package/dist/diagram/layout/smartart-layout-interpreter-hierarchy-descendant.d.ts +60 -0
  434. package/dist/diagram/layout/smartart-layout-interpreter-hierarchy-descendant.d.ts.map +1 -0
  435. package/dist/diagram/layout/smartart-layout-interpreter-hierarchy-fontfit.d.ts +45 -0
  436. package/dist/diagram/layout/smartart-layout-interpreter-hierarchy-fontfit.d.ts.map +1 -0
  437. package/dist/diagram/layout/smartart-layout-interpreter-hub-detect.d.ts +26 -0
  438. package/dist/diagram/layout/smartart-layout-interpreter-hub-detect.d.ts.map +1 -0
  439. package/dist/diagram/layout/smartart-layout-interpreter-hub.d.ts +62 -0
  440. package/dist/diagram/layout/smartart-layout-interpreter-hub.d.ts.map +1 -0
  441. package/dist/diagram/layout/smartart-layout-interpreter-item-role-compound.d.ts +36 -0
  442. package/dist/diagram/layout/smartart-layout-interpreter-item-role-compound.d.ts.map +1 -0
  443. package/dist/diagram/layout/smartart-layout-interpreter-item-role-orientation.d.ts +80 -0
  444. package/dist/diagram/layout/smartart-layout-interpreter-item-role-orientation.d.ts.map +1 -0
  445. package/dist/diagram/layout/smartart-layout-interpreter-item-role-shared.d.ts +102 -0
  446. package/dist/diagram/layout/smartart-layout-interpreter-item-role-shared.d.ts.map +1 -0
  447. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-columns.d.ts +23 -0
  448. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-columns.d.ts.map +1 -0
  449. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-fields.d.ts +77 -0
  450. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-fields.d.ts.map +1 -0
  451. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-rect.d.ts +20 -0
  452. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack-rect.d.ts.map +1 -0
  453. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack.d.ts +53 -0
  454. package/dist/diagram/layout/smartart-layout-interpreter-item-role-stack.d.ts.map +1 -0
  455. package/dist/diagram/layout/smartart-layout-interpreter-item-role-transition.d.ts +50 -0
  456. package/dist/diagram/layout/smartart-layout-interpreter-item-role-transition.d.ts.map +1 -0
  457. package/dist/diagram/layout/smartart-layout-interpreter-item-roles-recursive.d.ts +87 -0
  458. package/dist/diagram/layout/smartart-layout-interpreter-item-roles-recursive.d.ts.map +1 -0
  459. package/dist/diagram/layout/smartart-layout-interpreter-item-roles-unwrap.d.ts +57 -0
  460. package/dist/diagram/layout/smartart-layout-interpreter-item-roles-unwrap.d.ts.map +1 -0
  461. package/dist/diagram/layout/smartart-layout-interpreter-item-roles.d.ts +109 -0
  462. package/dist/diagram/layout/smartart-layout-interpreter-item-roles.d.ts.map +1 -0
  463. package/dist/diagram/layout/smartart-layout-interpreter-linear-content-size.d.ts +42 -0
  464. package/dist/diagram/layout/smartart-layout-interpreter-linear-content-size.d.ts.map +1 -0
  465. package/dist/diagram/layout/smartart-layout-interpreter-linear-item-aspect.d.ts +94 -0
  466. package/dist/diagram/layout/smartart-layout-interpreter-linear-item-aspect.d.ts.map +1 -0
  467. package/dist/diagram/layout/smartart-layout-interpreter-linear-main-axis.d.ts +17 -0
  468. package/dist/diagram/layout/smartart-layout-interpreter-linear-main-axis.d.ts.map +1 -0
  469. package/dist/diagram/layout/smartart-layout-interpreter-linear-shared.d.ts +21 -0
  470. package/dist/diagram/layout/smartart-layout-interpreter-linear-shared.d.ts.map +1 -0
  471. package/dist/diagram/layout/smartart-layout-interpreter-linear-table.d.ts +76 -0
  472. package/dist/diagram/layout/smartart-layout-interpreter-linear-table.d.ts.map +1 -0
  473. package/dist/diagram/layout/smartart-layout-interpreter-linear.d.ts +20 -0
  474. package/dist/diagram/layout/smartart-layout-interpreter-linear.d.ts.map +1 -0
  475. package/dist/diagram/layout/smartart-layout-interpreter-model.d.ts +77 -0
  476. package/dist/diagram/layout/smartart-layout-interpreter-model.d.ts.map +1 -0
  477. package/dist/diagram/layout/smartart-layout-interpreter-named-rules.d.ts +93 -0
  478. package/dist/diagram/layout/smartart-layout-interpreter-named-rules.d.ts.map +1 -0
  479. package/dist/diagram/layout/smartart-layout-interpreter-position-family.d.ts +58 -0
  480. package/dist/diagram/layout/smartart-layout-interpreter-position-family.d.ts.map +1 -0
  481. package/dist/diagram/layout/smartart-layout-interpreter-preset-node.d.ts +61 -0
  482. package/dist/diagram/layout/smartart-layout-interpreter-preset-node.d.ts.map +1 -0
  483. package/dist/diagram/layout/smartart-layout-interpreter-presof-choose.d.ts +29 -0
  484. package/dist/diagram/layout/smartart-layout-interpreter-presof-choose.d.ts.map +1 -0
  485. package/dist/diagram/layout/smartart-layout-interpreter-pyramid-bands.d.ts +41 -0
  486. package/dist/diagram/layout/smartart-layout-interpreter-pyramid-bands.d.ts.map +1 -0
  487. package/dist/diagram/layout/smartart-layout-interpreter-pyramid.d.ts +100 -0
  488. package/dist/diagram/layout/smartart-layout-interpreter-pyramid.d.ts.map +1 -0
  489. package/dist/diagram/layout/smartart-layout-interpreter-render.d.ts +86 -0
  490. package/dist/diagram/layout/smartart-layout-interpreter-render.d.ts.map +1 -0
  491. package/dist/diagram/layout/smartart-layout-interpreter-snake.d.ts +18 -0
  492. package/dist/diagram/layout/smartart-layout-interpreter-snake.d.ts.map +1 -0
  493. package/dist/diagram/layout/smartart-layout-interpreter-tree-location.d.ts +28 -0
  494. package/dist/diagram/layout/smartart-layout-interpreter-tree-location.d.ts.map +1 -0
  495. package/dist/diagram/layout/smartart-layout-interpreter-when-numeric.d.ts +15 -0
  496. package/dist/diagram/layout/smartart-layout-interpreter-when-numeric.d.ts.map +1 -0
  497. package/dist/diagram/layout/smartart-layout-interpreter-when-var.d.ts +12 -0
  498. package/dist/diagram/layout/smartart-layout-interpreter-when-var.d.ts.map +1 -0
  499. package/dist/diagram/layout/smartart-layout-interpreter-when.d.ts +69 -0
  500. package/dist/diagram/layout/smartart-layout-interpreter-when.d.ts.map +1 -0
  501. package/dist/diagram/layout/smartart-layout-interpreter.d.ts +80 -0
  502. package/dist/diagram/layout/smartart-layout-interpreter.d.ts.map +1 -0
  503. package/dist/diagram/layout/smartart-layout-item-font-role.d.ts +80 -0
  504. package/dist/diagram/layout/smartart-layout-item-font-role.d.ts.map +1 -0
  505. package/dist/diagram/layout/smartart-layout-item-font-size.d.ts +129 -0
  506. package/dist/diagram/layout/smartart-layout-item-font-size.d.ts.map +1 -0
  507. package/dist/diagram/layout/smartart-layout-item-font-tier-fit.d.ts +70 -0
  508. package/dist/diagram/layout/smartart-layout-item-font-tier-fit.d.ts.map +1 -0
  509. package/dist/diagram/layout/smartart-layout-item-font-tier.d.ts +139 -0
  510. package/dist/diagram/layout/smartart-layout-item-font-tier.d.ts.map +1 -0
  511. package/dist/diagram/layout/smartart-layout-item-tx-anchor.d.ts +105 -0
  512. package/dist/diagram/layout/smartart-layout-item-tx-anchor.d.ts.map +1 -0
  513. package/dist/diagram/layout/smartart-layout-shape-polygon.d.ts +17 -0
  514. package/dist/diagram/layout/smartart-layout-shape-polygon.d.ts.map +1 -0
  515. package/dist/diagram/layout/smartart-layout-shape-preset.d.ts +127 -0
  516. package/dist/diagram/layout/smartart-layout-shape-preset.d.ts.map +1 -0
  517. package/dist/diagram/layout/smartart-layout-snake-grid.d.ts +43 -0
  518. package/dist/diagram/layout/smartart-layout-snake-grid.d.ts.map +1 -0
  519. package/dist/diagram/layout/smartart-layout-style-helpers.d.ts +84 -0
  520. package/dist/diagram/layout/smartart-layout-style-helpers.d.ts.map +1 -0
  521. package/dist/diagram/layout/smartart-layout-types.d.ts +253 -0
  522. package/dist/diagram/layout/smartart-layout-types.d.ts.map +1 -0
  523. package/dist/diagram/layout/smartart-line-pitch.d.ts +29 -0
  524. package/dist/diagram/layout/smartart-line-pitch.d.ts.map +1 -0
  525. package/dist/diagram/layout/smartart-node-role-colors.d.ts +30 -0
  526. package/dist/diagram/layout/smartart-node-role-colors.d.ts.map +1 -0
  527. package/dist/diagram/layout/smartart-node-tree-axis.d.ts +91 -0
  528. package/dist/diagram/layout/smartart-node-tree-axis.d.ts.map +1 -0
  529. package/dist/diagram/layout/smartart-text-wrap-fit.d.ts +84 -0
  530. package/dist/diagram/layout/smartart-text-wrap-fit.d.ts.map +1 -0
  531. package/dist/diagram/layout/smartart-tree.d.ts +33 -0
  532. package/dist/diagram/layout/smartart-tree.d.ts.map +1 -0
  533. package/dist/diagram/model/constraint-rules.d.ts +31 -0
  534. package/dist/diagram/model/constraint-rules.d.ts.map +1 -0
  535. package/dist/diagram/model/data.d.ts +109 -0
  536. package/dist/diagram/model/data.d.ts.map +1 -0
  537. package/dist/diagram/model/index.d.ts +7 -0
  538. package/dist/diagram/model/index.d.ts.map +1 -0
  539. package/dist/diagram/model/layout-definition.d.ts +276 -0
  540. package/dist/diagram/model/layout-definition.d.ts.map +1 -0
  541. package/dist/diagram/model/layout-primitives.d.ts +82 -0
  542. package/dist/diagram/model/layout-primitives.d.ts.map +1 -0
  543. package/dist/diagram/model/node.d.ts +194 -0
  544. package/dist/diagram/model/node.d.ts.map +1 -0
  545. package/dist/diagram/model/style-definition.d.ts +131 -0
  546. package/dist/diagram/model/style-definition.d.ts.map +1 -0
  547. package/dist/docx/chart-paint.d.ts +14 -0
  548. package/dist/docx/chart-paint.d.ts.map +1 -0
  549. package/dist/docx/chart.d.ts +43 -0
  550. package/dist/docx/chart.d.ts.map +1 -0
  551. package/dist/docx/drawing.d.ts.map +1 -1
  552. package/dist/docx/embedded.cjs +1393 -326
  553. package/dist/docx/embedded.mjs +1393 -326
  554. package/dist/docx/index.cjs +4044 -683
  555. package/dist/docx/index.d.ts +2 -0
  556. package/dist/docx/index.d.ts.map +1 -1
  557. package/dist/docx/index.mjs +4040 -684
  558. package/dist/docx/inline-model.d.ts +3 -0
  559. package/dist/docx/inline-model.d.ts.map +1 -1
  560. package/dist/docx/layout/adapter.d.ts.map +1 -1
  561. package/dist/docx/layout/index.cjs +2674 -88
  562. package/dist/docx/layout/index.mjs +2675 -89
  563. package/dist/docx/layout/input.d.ts +5 -0
  564. package/dist/docx/layout/input.d.ts.map +1 -1
  565. package/dist/docx/load/index.cjs +1616 -549
  566. package/dist/docx/load/index.mjs +1616 -549
  567. package/dist/docx/parse.d.ts.map +1 -1
  568. package/dist/docx/ui/chart-spec.d.ts +10 -0
  569. package/dist/docx/ui/chart-spec.d.ts.map +1 -0
  570. package/dist/docx/ui/index.cjs +2602 -186
  571. package/dist/docx/ui/index.d.ts +1 -0
  572. package/dist/docx/ui/index.d.ts.map +1 -1
  573. package/dist/docx/ui/index.mjs +2601 -188
  574. package/dist/docx/ui/inline-content-schema.d.ts.map +1 -1
  575. package/dist/docx/ui/run-adapter.d.ts.map +1 -1
  576. package/dist/drawingml/write-line.d.ts +7 -0
  577. package/dist/drawingml/write-line.d.ts.map +1 -0
  578. package/dist/geometry/ooxml-arc.d.ts +31 -0
  579. package/dist/geometry/ooxml-arc.d.ts.map +1 -0
  580. package/dist/geometry/preset-shape-evaluator.d.ts +73 -0
  581. package/dist/geometry/preset-shape-evaluator.d.ts.map +1 -0
  582. package/dist/index.cjs +34839 -18368
  583. package/dist/index.mjs +34835 -18368
  584. package/dist/opc/embedded-packages.d.ts +11 -0
  585. package/dist/opc/embedded-packages.d.ts.map +1 -0
  586. package/dist/opc/index.cjs +365 -70
  587. package/dist/opc/index.d.ts +1 -0
  588. package/dist/opc/index.d.ts.map +1 -1
  589. package/dist/opc/index.mjs +353 -71
  590. package/dist/opc/properties/app.d.ts +9 -3
  591. package/dist/opc/properties/app.d.ts.map +1 -1
  592. package/dist/opc/properties/core.d.ts +5 -1
  593. package/dist/opc/properties/core.d.ts.map +1 -1
  594. package/dist/opc/properties/custom.d.ts +19 -0
  595. package/dist/opc/properties/custom.d.ts.map +1 -1
  596. package/dist/opc/properties/index.d.ts +6 -3
  597. package/dist/opc/properties/index.d.ts.map +1 -1
  598. package/dist/opc/properties/patch.d.ts +38 -0
  599. package/dist/opc/properties/patch.d.ts.map +1 -0
  600. package/dist/opc/properties/title-groups.d.ts +30 -0
  601. package/dist/opc/properties/title-groups.d.ts.map +1 -0
  602. package/dist/opc/properties/types.d.ts +15 -0
  603. package/dist/opc/properties/types.d.ts.map +1 -1
  604. package/dist/pptx/automation/index.cjs +9049 -7167
  605. package/dist/pptx/automation/index.d.ts +4 -4
  606. package/dist/pptx/automation/index.mjs +6 -6
  607. package/dist/pptx/chunks/{index-BYkdcS8J.d.ts → index-EZJZ7USt.d.ts} +907 -962
  608. package/dist/pptx/chunks/index-EZJZ7USt.d.ts.map +1 -0
  609. package/dist/pptx/chunks/{index-BHqL5KXH.d.ts → index-JNv7AJx5.d.ts} +163 -210
  610. package/dist/pptx/chunks/index-JNv7AJx5.d.ts.map +1 -0
  611. package/dist/pptx/chunks/{smart-art-CO2jmJFf.d.ts → smart-art-Q2kZQtHh.d.ts} +436 -374
  612. package/dist/pptx/chunks/smart-art-Q2kZQtHh.d.ts.map +1 -0
  613. package/dist/pptx/chunks/{text-operations-DEJ7alZR.d.ts → text-operations-DtCxXrMh.d.ts} +55 -4
  614. package/dist/pptx/chunks/text-operations-DtCxXrMh.d.ts.map +1 -0
  615. package/dist/pptx/cli/index.cjs +8728 -6846
  616. package/dist/pptx/cli/index.d.ts +1 -1
  617. package/dist/pptx/cli/index.mjs +5 -5
  618. package/dist/pptx/converter/index.cjs +7124 -7136
  619. package/dist/pptx/converter/index.d.ts +1 -1
  620. package/dist/pptx/converter/index.mjs +3 -3
  621. package/dist/pptx/editor/render/table-cell-edit.cjs +7 -3
  622. package/dist/pptx/editor/render/table-cell-edit.d.ts +16 -1
  623. package/dist/pptx/editor/render/table-cell-edit.d.ts.map +1 -1
  624. package/dist/pptx/editor/render/table-cell-edit.mjs +1 -1
  625. package/dist/pptx/editor/render/table-cell-merge.cjs +3 -3
  626. package/dist/pptx/editor/render/table-cell-merge.mjs +1 -1
  627. package/dist/pptx/editor/render/table-data-grid-ops.cjs +7 -7
  628. package/dist/pptx/editor/render/table-data-grid-ops.mjs +2 -2
  629. package/dist/pptx/editor/render/table-layout.cjs +6 -6
  630. package/dist/pptx/editor/render/table-layout.d.ts.map +1 -1
  631. package/dist/pptx/editor/render/table-layout.mjs +1 -1
  632. package/dist/pptx/editor/render/table-merge.cjs +5 -5
  633. package/dist/pptx/editor/render/table-merge.mjs +1 -1
  634. package/dist/pptx/index.cjs +9300 -7249
  635. package/dist/pptx/index.d.ts +5 -5
  636. package/dist/pptx/index.mjs +6 -6
  637. package/dist/pptx/smartart-layouts/index.cjs +135 -106
  638. package/dist/pptx/smartart-layouts/index.d.ts +1 -1
  639. package/dist/pptx/smartart-layouts/index.mjs +1 -1
  640. package/dist/teams/content.d.ts.map +1 -1
  641. package/dist/teams/index.cjs +3931 -2077
  642. package/dist/teams/index.d.ts +1 -0
  643. package/dist/teams/index.d.ts.map +1 -1
  644. package/dist/teams/index.mjs +3930 -2077
  645. package/dist/teams/server-file-storage.d.ts +11 -0
  646. package/dist/teams/server-file-storage.d.ts.map +1 -0
  647. package/dist/teams/store.d.ts +2 -0
  648. package/dist/teams/store.d.ts.map +1 -1
  649. package/dist/teams/stored-file.d.ts.map +1 -1
  650. package/dist/{xlsx/layout/font-family.d.ts → text/css-font-family.d.ts} +1 -1
  651. package/dist/text/css-font-family.d.ts.map +1 -0
  652. package/dist/text/font-metrics/font-advance-widths-aptos-display.generated.d.ts +10 -0
  653. package/dist/text/font-metrics/font-advance-widths-aptos-display.generated.d.ts.map +1 -0
  654. package/dist/text/font-metrics/font-advance-widths-aptos.generated.d.ts +10 -0
  655. package/dist/text/font-metrics/font-advance-widths-aptos.generated.d.ts.map +1 -0
  656. package/dist/text/font-metrics/font-advance-widths-arial.generated.d.ts +10 -0
  657. package/dist/text/font-metrics/font-advance-widths-arial.generated.d.ts.map +1 -0
  658. package/dist/text/font-metrics/font-advance-widths-calibri-light.generated.d.ts +10 -0
  659. package/dist/text/font-metrics/font-advance-widths-calibri-light.generated.d.ts.map +1 -0
  660. package/dist/text/font-metrics/font-advance-widths-calibri.generated.d.ts +10 -0
  661. package/dist/text/font-metrics/font-advance-widths-calibri.generated.d.ts.map +1 -0
  662. package/dist/text/font-metrics/font-advance-widths-segoe-ui.generated.d.ts +10 -0
  663. package/dist/text/font-metrics/font-advance-widths-segoe-ui.generated.d.ts.map +1 -0
  664. package/dist/text/font-metrics/font-advance-widths-times-new-roman.generated.d.ts +10 -0
  665. package/dist/text/font-metrics/font-advance-widths-times-new-roman.generated.d.ts.map +1 -0
  666. package/dist/text/font-metrics/font-advance-widths.generated.d.ts +48 -0
  667. package/dist/text/font-metrics/font-advance-widths.generated.d.ts.map +1 -0
  668. package/dist/text/font-metrics/font-kerning.d.ts +19 -0
  669. package/dist/text/font-metrics/font-kerning.d.ts.map +1 -0
  670. package/dist/visio/index.cjs +645 -119
  671. package/dist/visio/index.mjs +645 -119
  672. package/dist/visio/theme-color.d.ts +13 -3
  673. package/dist/visio/theme-color.d.ts.map +1 -1
  674. package/dist/visio/theme-resolve.d.ts +2 -1
  675. package/dist/visio/theme-resolve.d.ts.map +1 -1
  676. package/dist/visio/theme.d.ts +5 -2
  677. package/dist/visio/theme.d.ts.map +1 -1
  678. package/dist/xlsx/collab/adapter.d.ts +18 -0
  679. package/dist/xlsx/collab/adapter.d.ts.map +1 -0
  680. package/dist/xlsx/collab/apply.d.ts +8 -0
  681. package/dist/xlsx/collab/apply.d.ts.map +1 -0
  682. package/dist/xlsx/collab/bind.d.ts +34 -0
  683. package/dist/xlsx/collab/bind.d.ts.map +1 -0
  684. package/dist/xlsx/collab/codec.d.ts +35 -0
  685. package/dist/xlsx/collab/codec.d.ts.map +1 -0
  686. package/dist/xlsx/collab/dirty.d.ts +23 -0
  687. package/dist/xlsx/collab/dirty.d.ts.map +1 -0
  688. package/dist/xlsx/collab/index.cjs +1245 -0
  689. package/dist/xlsx/collab/index.d.ts +10 -0
  690. package/dist/xlsx/collab/index.d.ts.map +1 -0
  691. package/dist/xlsx/collab/index.mjs +1207 -0
  692. package/dist/xlsx/collab/lines.d.ts +22 -0
  693. package/dist/xlsx/collab/lines.d.ts.map +1 -0
  694. package/dist/xlsx/collab/names.d.ts +16 -0
  695. package/dist/xlsx/collab/names.d.ts.map +1 -0
  696. package/dist/xlsx/collab/presence.d.ts +31 -0
  697. package/dist/xlsx/collab/presence.d.ts.map +1 -0
  698. package/dist/xlsx/collab/schema.d.ts +30 -0
  699. package/dist/xlsx/collab/schema.d.ts.map +1 -0
  700. package/dist/xlsx/collab/sheets.d.ts +34 -0
  701. package/dist/xlsx/collab/sheets.d.ts.map +1 -0
  702. package/dist/xlsx/collab/styles.d.ts +26 -0
  703. package/dist/xlsx/collab/styles.d.ts.map +1 -0
  704. package/dist/xlsx/collab/write.d.ts +14 -0
  705. package/dist/xlsx/collab/write.d.ts.map +1 -0
  706. package/dist/xlsx/edit/chart-colors.d.ts +2 -2
  707. package/dist/xlsx/edit/chart-colors.d.ts.map +1 -1
  708. package/dist/xlsx/edit/chart-element-fill.d.ts +3 -3
  709. package/dist/xlsx/edit/chart-element-fill.d.ts.map +1 -1
  710. package/dist/xlsx/edit/chart-series-fill.d.ts +2 -2
  711. package/dist/xlsx/edit/chart-series-fill.d.ts.map +1 -1
  712. package/dist/xlsx/edit/chart-series-gradient.d.ts +3 -3
  713. package/dist/xlsx/edit/chart-series-gradient.d.ts.map +1 -1
  714. package/dist/xlsx/edit/chart-series-target.d.ts +15 -0
  715. package/dist/xlsx/edit/chart-series-target.d.ts.map +1 -0
  716. package/dist/xlsx/edit/chart-series-transparency.d.ts +2 -2
  717. package/dist/xlsx/edit/chart-series-transparency.d.ts.map +1 -1
  718. package/dist/xlsx/edit/context.d.ts +3 -1
  719. package/dist/xlsx/edit/context.d.ts.map +1 -1
  720. package/dist/xlsx/edit/external.d.ts +28 -0
  721. package/dist/xlsx/edit/external.d.ts.map +1 -0
  722. package/dist/xlsx/edit/history.d.ts +18 -0
  723. package/dist/xlsx/edit/history.d.ts.map +1 -1
  724. package/dist/xlsx/edit/index.d.ts +1 -0
  725. package/dist/xlsx/edit/index.d.ts.map +1 -1
  726. package/dist/xlsx/edit/session-calc.d.ts +32 -3
  727. package/dist/xlsx/edit/session-calc.d.ts.map +1 -1
  728. package/dist/xlsx/edit/session.d.ts.map +1 -1
  729. package/dist/xlsx/edit/sheets.d.ts.map +1 -1
  730. package/dist/xlsx/edit/types.d.ts +37 -4
  731. package/dist/xlsx/edit/types.d.ts.map +1 -1
  732. package/dist/xlsx/formula/engine-core.d.ts.map +1 -1
  733. package/dist/xlsx/formula/engine-host.d.ts +6 -2
  734. package/dist/xlsx/formula/engine-host.d.ts.map +1 -1
  735. package/dist/xlsx/formula/engine-prepare.d.ts +33 -0
  736. package/dist/xlsx/formula/engine-prepare.d.ts.map +1 -0
  737. package/dist/xlsx/formula/engine-structure.d.ts +40 -0
  738. package/dist/xlsx/formula/engine-structure.d.ts.map +1 -0
  739. package/dist/xlsx/formula/engine-types.d.ts +26 -0
  740. package/dist/xlsx/formula/engine-types.d.ts.map +1 -1
  741. package/dist/xlsx/formula/engine.d.ts.map +1 -1
  742. package/dist/xlsx/formula/formula-shape.d.ts +28 -0
  743. package/dist/xlsx/formula/formula-shape.d.ts.map +1 -0
  744. package/dist/xlsx/formula/graph-index.d.ts +3 -1
  745. package/dist/xlsx/formula/graph-index.d.ts.map +1 -1
  746. package/dist/xlsx/formula/graph.d.ts +5 -0
  747. package/dist/xlsx/formula/graph.d.ts.map +1 -1
  748. package/dist/xlsx/formula/lexemes.d.ts +6 -0
  749. package/dist/xlsx/formula/lexemes.d.ts.map +1 -1
  750. package/dist/xlsx/formula/parse-cache.d.ts +9 -0
  751. package/dist/xlsx/formula/parse-cache.d.ts.map +1 -0
  752. package/dist/xlsx/formula/parser.d.ts +3 -0
  753. package/dist/xlsx/formula/parser.d.ts.map +1 -1
  754. package/dist/xlsx/formula/ref-text.d.ts +14 -0
  755. package/dist/xlsx/formula/ref-text.d.ts.map +1 -0
  756. package/dist/xlsx/formula/references.d.ts.map +1 -1
  757. package/dist/xlsx/formula/shift-formula.d.ts +19 -0
  758. package/dist/xlsx/formula/shift-formula.d.ts.map +1 -0
  759. package/dist/xlsx/formula/shift-graph.d.ts +42 -0
  760. package/dist/xlsx/formula/shift-graph.d.ts.map +1 -0
  761. package/dist/xlsx/formula/tokenizer.d.ts.map +1 -1
  762. package/dist/xlsx/formula/transform.d.ts +2 -23
  763. package/dist/xlsx/formula/transform.d.ts.map +1 -1
  764. package/dist/xlsx/index.cjs +5620 -2680
  765. package/dist/xlsx/index.mjs +5609 -2681
  766. package/dist/xlsx/layout/cell-view.d.ts.map +1 -1
  767. package/dist/xlsx/layout/chart-view.d.ts +3 -54
  768. package/dist/xlsx/layout/chart-view.d.ts.map +1 -1
  769. package/dist/xlsx/layout/colors.d.ts +1 -4
  770. package/dist/xlsx/layout/colors.d.ts.map +1 -1
  771. package/dist/xlsx/layout/index.d.ts +8 -5
  772. package/dist/xlsx/layout/index.d.ts.map +1 -1
  773. package/dist/xlsx/layout/remote-selections.d.ts +40 -0
  774. package/dist/xlsx/layout/remote-selections.d.ts.map +1 -0
  775. package/dist/xlsx/layout/sheet-queries.d.ts +7 -0
  776. package/dist/xlsx/layout/sheet-queries.d.ts.map +1 -1
  777. package/dist/xlsx/layout/sparkline-data.d.ts +19 -0
  778. package/dist/xlsx/layout/sparkline-data.d.ts.map +1 -0
  779. package/dist/xlsx/layout/sparkline-view.d.ts +52 -0
  780. package/dist/xlsx/layout/sparkline-view.d.ts.map +1 -0
  781. package/dist/xlsx/layout/tint.d.ts +3 -12
  782. package/dist/xlsx/layout/tint.d.ts.map +1 -1
  783. package/dist/xlsx/layout/types.d.ts +3 -0
  784. package/dist/xlsx/layout/types.d.ts.map +1 -1
  785. package/dist/xlsx/load/index.cjs +3124 -1312
  786. package/dist/xlsx/load/index.mjs +3124 -1312
  787. package/dist/xlsx/model-sparklines.d.ts +52 -0
  788. package/dist/xlsx/model-sparklines.d.ts.map +1 -0
  789. package/dist/xlsx/model.d.ts +10 -47
  790. package/dist/xlsx/model.d.ts.map +1 -1
  791. package/dist/xlsx/read/chart.d.ts +1 -4
  792. package/dist/xlsx/read/chart.d.ts.map +1 -1
  793. package/dist/xlsx/read/index.d.ts +1 -0
  794. package/dist/xlsx/read/index.d.ts.map +1 -1
  795. package/dist/xlsx/read/sheet-data-source.d.ts +10 -0
  796. package/dist/xlsx/read/sheet-data-source.d.ts.map +1 -0
  797. package/dist/xlsx/read/sparklines.d.ts +12 -0
  798. package/dist/xlsx/read/sparklines.d.ts.map +1 -0
  799. package/dist/xlsx/read/worksheet.d.ts.map +1 -1
  800. package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -1
  801. package/dist/xlsx/ui/context.d.ts +15 -1
  802. package/dist/xlsx/ui/context.d.ts.map +1 -1
  803. package/dist/xlsx/ui/grid/cell-items.d.ts.map +1 -1
  804. package/dist/xlsx/ui/grid/cell-paint.d.ts +1 -1
  805. package/dist/xlsx/ui/grid/cell-paint.d.ts.map +1 -1
  806. package/dist/xlsx/ui/grid/view-cache.d.ts.map +1 -1
  807. package/dist/xlsx/ui/index.cjs +2165 -866
  808. package/dist/xlsx/ui/index.mjs +2165 -867
  809. package/dist/xlsx/ui/locales/de/collab.d.ts +2 -0
  810. package/dist/xlsx/ui/locales/de/collab.d.ts.map +1 -0
  811. package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -1
  812. package/dist/xlsx/ui/locales/en/collab.d.ts +2 -0
  813. package/dist/xlsx/ui/locales/en/collab.d.ts.map +1 -0
  814. package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -1
  815. package/dist/xlsx/ui/locales/es/collab.d.ts +2 -0
  816. package/dist/xlsx/ui/locales/es/collab.d.ts.map +1 -0
  817. package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -1
  818. package/dist/xlsx/ui/locales/fr/collab.d.ts +2 -0
  819. package/dist/xlsx/ui/locales/fr/collab.d.ts.map +1 -0
  820. package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -1
  821. package/dist/xlsx/ui/locales/zh-CN/collab.d.ts +2 -0
  822. package/dist/xlsx/ui/locales/zh-CN/collab.d.ts.map +1 -0
  823. package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -1
  824. package/dist/xlsx/ui/ribbon/icon-paths.d.ts.map +1 -1
  825. package/dist/xlsx/write/chart-colors.d.ts +3 -0
  826. package/dist/xlsx/write/chart-colors.d.ts.map +1 -1
  827. package/dist/xlsx/write/chart-space.d.ts +5 -0
  828. package/dist/xlsx/write/chart-space.d.ts.map +1 -0
  829. package/dist/xlsx/write/chart-title.d.ts +4 -1
  830. package/dist/xlsx/write/chart-title.d.ts.map +1 -1
  831. package/dist/xlsx/write/chart.d.ts +4 -1
  832. package/dist/xlsx/write/chart.d.ts.map +1 -1
  833. package/dist/xml/index.cjs +162 -0
  834. package/dist/xml/index.d.ts +1 -0
  835. package/dist/xml/index.d.ts.map +1 -1
  836. package/dist/xml/index.mjs +161 -1
  837. package/dist/xml/lite.d.ts +30 -0
  838. package/dist/xml/lite.d.ts.map +1 -0
  839. package/package.json +6 -1
  840. package/dist/pptx/chunks/index-BHqL5KXH.d.ts.map +0 -1
  841. package/dist/pptx/chunks/index-BYkdcS8J.d.ts.map +0 -1
  842. package/dist/pptx/chunks/smart-art-CO2jmJFf.d.ts.map +0 -1
  843. package/dist/pptx/chunks/text-operations-DEJ7alZR.d.ts.map +0 -1
  844. package/dist/xlsx/layout/chart-appearance.d.ts.map +0 -1
  845. package/dist/xlsx/layout/chart-colors.d.ts +0 -9
  846. package/dist/xlsx/layout/chart-colors.d.ts.map +0 -1
  847. package/dist/xlsx/layout/chart-scale.d.ts.map +0 -1
  848. package/dist/xlsx/layout/chart-spacing.d.ts +0 -6
  849. package/dist/xlsx/layout/chart-spacing.d.ts.map +0 -1
  850. package/dist/xlsx/layout/chart-svg-appearance.d.ts.map +0 -1
  851. package/dist/xlsx/layout/chart-svg-bars.d.ts.map +0 -1
  852. package/dist/xlsx/layout/chart-svg-cartesian.d.ts.map +0 -1
  853. package/dist/xlsx/layout/chart-svg-legend.d.ts.map +0 -1
  854. package/dist/xlsx/layout/chart-svg-radial.d.ts.map +0 -1
  855. package/dist/xlsx/layout/chart-svg-text-metrics.d.ts.map +0 -1
  856. package/dist/xlsx/layout/chart-svg-title-text.d.ts.map +0 -1
  857. package/dist/xlsx/layout/chart-svg-util.d.ts.map +0 -1
  858. package/dist/xlsx/layout/chart-svg.d.ts.map +0 -1
  859. package/dist/xlsx/layout/chart-title-text.d.ts +0 -14
  860. package/dist/xlsx/layout/chart-title-text.d.ts.map +0 -1
  861. package/dist/xlsx/layout/font-family.d.ts.map +0 -1
  862. /package/dist/{xlsx/layout → chart/render}/chart-scale.d.ts +0 -0
  863. /package/dist/{xlsx/layout → chart/render}/chart-svg-bars.d.ts +0 -0
  864. /package/dist/{xlsx/layout → chart/render}/chart-svg-cartesian.d.ts +0 -0
  865. /package/dist/{xlsx/layout → chart/render}/chart-svg-legend.d.ts +0 -0
  866. /package/dist/{xlsx/layout → chart/render}/chart-svg-radial.d.ts +0 -0
  867. /package/dist/{xlsx/layout → chart/render}/chart-svg-text-metrics.d.ts +0 -0
  868. /package/dist/{xlsx/layout → chart/render}/chart-svg-title-text.d.ts +0 -0
  869. /package/dist/{xlsx/layout → chart/render}/chart-svg-util.d.ts +0 -0
  870. /package/dist/{xlsx/layout → chart/render}/chart-svg.d.ts +0 -0
@@ -265,14 +265,14 @@ function parseOle2(buffer) {
265
265
  return result.subarray(0, size);
266
266
  }
267
267
  function getStream(name) {
268
- const entry = entries.find((e) => (e.type === ENTRY_TYPE_STREAM || e.type === ENTRY_TYPE_ROOT) && e.name === name);
269
- if (!entry) {
268
+ const entry2 = entries.find((e) => (e.type === ENTRY_TYPE_STREAM || e.type === ENTRY_TYPE_ROOT) && e.name === name);
269
+ if (!entry2) {
270
270
  return void 0;
271
271
  }
272
- if (entry.size < miniStreamCutoff && entry.type !== ENTRY_TYPE_ROOT) {
273
- return readMiniStream(entry.startSector, entry.size);
272
+ if (entry2.size < miniStreamCutoff && entry2.type !== ENTRY_TYPE_ROOT) {
273
+ return readMiniStream(entry2.startSector, entry2.size);
274
274
  }
275
- return readStream(entry.startSector, entry.size);
275
+ return readStream(entry2.startSector, entry2.size);
276
276
  }
277
277
  return { entries, getStream };
278
278
  }
@@ -1256,8 +1256,8 @@ function applyLane(r, ops, f6, x, startTarget) {
1256
1256
  const i4 = (target + 4) % 5;
1257
1257
  const sum = r[target] + f6(r[i1], r[i2], r[i3]) + x[k] + addConst >>> 0;
1258
1258
  const newTarget = (sum << s | sum >>> 32 - s) + r[i4] >>> 0;
1259
- const c = r[i2];
1260
- r[i2] = (c << 10 | c >>> 22) >>> 0;
1259
+ const c2 = r[i2];
1260
+ r[i2] = (c2 << 10 | c2 >>> 22) >>> 0;
1261
1261
  r[target] = newTarget;
1262
1262
  target = (target + 4) % 5;
1263
1263
  }
@@ -1370,32 +1370,32 @@ var rotr = (x, n) => x >>> n | x << 32 - n;
1370
1370
  function compress(h2, view, offset) {
1371
1371
  for (let i2 = 0; i2 < 16; i2++) W[i2] = view.getUint32(offset + i2 * 4);
1372
1372
  for (let i2 = 16; i2 < 64; i2++) {
1373
- const a2 = W[i2 - 15];
1373
+ const a3 = W[i2 - 15];
1374
1374
  const b2 = W[i2 - 2];
1375
- const s0 = rotr(a2, 7) ^ rotr(a2, 18) ^ a2 >>> 3;
1375
+ const s0 = rotr(a3, 7) ^ rotr(a3, 18) ^ a3 >>> 3;
1376
1376
  const s1 = rotr(b2, 17) ^ rotr(b2, 19) ^ b2 >>> 10;
1377
1377
  W[i2] = W[i2 - 16] + s0 + W[i2 - 7] + s1 >>> 0;
1378
1378
  }
1379
- let a = h2[0], b = h2[1], c = h2[2], d = h2[3], e = h2[4], f6 = h2[5], g2 = h2[6], k = h2[7];
1379
+ let a2 = h2[0], b = h2[1], c2 = h2[2], d = h2[3], e = h2[4], f6 = h2[5], g2 = h2[6], k = h2[7];
1380
1380
  for (let i2 = 0; i2 < 64; i2++) {
1381
1381
  const S1 = rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25);
1382
1382
  const ch = e & f6 ^ ~e & g2;
1383
1383
  const t1 = k + S1 + ch + K[i2] + W[i2] >>> 0;
1384
- const S0 = rotr(a, 2) ^ rotr(a, 13) ^ rotr(a, 22);
1385
- const maj = a & b ^ a & c ^ b & c;
1384
+ const S0 = rotr(a2, 2) ^ rotr(a2, 13) ^ rotr(a2, 22);
1385
+ const maj = a2 & b ^ a2 & c2 ^ b & c2;
1386
1386
  const t2 = S0 + maj >>> 0;
1387
1387
  k = g2;
1388
1388
  g2 = f6;
1389
1389
  f6 = e;
1390
1390
  e = d + t1 >>> 0;
1391
- d = c;
1392
- c = b;
1393
- b = a;
1394
- a = t1 + t2 >>> 0;
1391
+ d = c2;
1392
+ c2 = b;
1393
+ b = a2;
1394
+ a2 = t1 + t2 >>> 0;
1395
1395
  }
1396
- h2[0] = h2[0] + a >>> 0;
1396
+ h2[0] = h2[0] + a2 >>> 0;
1397
1397
  h2[1] = h2[1] + b >>> 0;
1398
- h2[2] = h2[2] + c >>> 0;
1398
+ h2[2] = h2[2] + c2 >>> 0;
1399
1399
  h2[3] = h2[3] + d >>> 0;
1400
1400
  h2[4] = h2[4] + e >>> 0;
1401
1401
  h2[5] = h2[5] + f6 >>> 0;
@@ -1431,33 +1431,33 @@ var rotl = (x, n) => x << n | x >>> 32 - n;
1431
1431
  function compress2(h2, view, offset) {
1432
1432
  for (let i2 = 0; i2 < 16; i2++) W2[i2] = view.getUint32(offset + i2 * 4);
1433
1433
  for (let i2 = 16; i2 < 80; i2++) W2[i2] = rotl(W2[i2 - 3] ^ W2[i2 - 8] ^ W2[i2 - 14] ^ W2[i2 - 16], 1);
1434
- let a = h2[0], b = h2[1], c = h2[2], d = h2[3], e = h2[4];
1434
+ let a2 = h2[0], b = h2[1], c2 = h2[2], d = h2[3], e = h2[4];
1435
1435
  for (let i2 = 0; i2 < 80; i2++) {
1436
1436
  let f6;
1437
1437
  let k;
1438
1438
  if (i2 < 20) {
1439
- f6 = b & c | ~b & d;
1439
+ f6 = b & c2 | ~b & d;
1440
1440
  k = 1518500249;
1441
1441
  } else if (i2 < 40) {
1442
- f6 = b ^ c ^ d;
1442
+ f6 = b ^ c2 ^ d;
1443
1443
  k = 1859775393;
1444
1444
  } else if (i2 < 60) {
1445
- f6 = b & c | b & d | c & d;
1445
+ f6 = b & c2 | b & d | c2 & d;
1446
1446
  k = 2400959708;
1447
1447
  } else {
1448
- f6 = b ^ c ^ d;
1448
+ f6 = b ^ c2 ^ d;
1449
1449
  k = 3395469782;
1450
1450
  }
1451
- const t = rotl(a, 5) + f6 + e + k + W2[i2] >>> 0;
1451
+ const t = rotl(a2, 5) + f6 + e + k + W2[i2] >>> 0;
1452
1452
  e = d;
1453
- d = c;
1454
- c = rotl(b, 30) >>> 0;
1455
- b = a;
1456
- a = t;
1453
+ d = c2;
1454
+ c2 = rotl(b, 30) >>> 0;
1455
+ b = a2;
1456
+ a2 = t;
1457
1457
  }
1458
- h2[0] = h2[0] + a >>> 0;
1458
+ h2[0] = h2[0] + a2 >>> 0;
1459
1459
  h2[1] = h2[1] + b >>> 0;
1460
- h2[2] = h2[2] + c >>> 0;
1460
+ h2[2] = h2[2] + c2 >>> 0;
1461
1461
  h2[3] = h2[3] + d >>> 0;
1462
1462
  h2[4] = h2[4] + e >>> 0;
1463
1463
  }
@@ -2044,8 +2044,8 @@ var ROUND_CONSTANTS = [
2044
2044
  0xfbee7c66dd17479en,
2045
2045
  0xca2dbf07ad5a8333n
2046
2046
  ];
2047
- var ROUND_CONSTANTS_HI = Uint32Array.from(ROUND_CONSTANTS, (c) => Number(c >> 32n));
2048
- var ROUND_CONSTANTS_LO = Uint32Array.from(ROUND_CONSTANTS, (c) => Number(c & LOW_MASK));
2047
+ var ROUND_CONSTANTS_HI = Uint32Array.from(ROUND_CONSTANTS, (c2) => Number(c2 >> 32n));
2048
+ var ROUND_CONSTANTS_LO = Uint32Array.from(ROUND_CONSTANTS, (c2) => Number(c2 & LOW_MASK));
2049
2049
 
2050
2050
  // digest/whirlpool.ts
2051
2051
  var TABLES_HI2 = TABLES_HI;
@@ -2366,7 +2366,7 @@ function openEncryptedPackage(input) {
2366
2366
  if (!isCompoundFile(bytes)) return void 0;
2367
2367
  try {
2368
2368
  const file = parseOle2(toArrayBuffer(bytes));
2369
- if (!file.entries.some((entry) => entry.name === "EncryptedPackage")) return void 0;
2369
+ if (!file.entries.some((entry2) => entry2.name === "EncryptedPackage")) return void 0;
2370
2370
  const encryptionInfo = file.getStream("EncryptionInfo");
2371
2371
  const encryptedPackage = encryptionInfo && file.getStream("EncryptedPackage");
2372
2372
  return encryptionInfo && encryptedPackage ? { encryptionInfo, encryptedPackage } : void 0;
@@ -2378,7 +2378,7 @@ function isEncryptedOoxmlPackage(input) {
2378
2378
  const bytes = toBytes(input);
2379
2379
  if (!isCompoundFile(bytes)) return false;
2380
2380
  try {
2381
- const names = new Set(parseOle2(toArrayBuffer(bytes)).entries.map((entry) => entry.name));
2381
+ const names = new Set(parseOle2(toArrayBuffer(bytes)).entries.map((entry2) => entry2.name));
2382
2382
  return names.has("EncryptionInfo") && names.has("EncryptedPackage");
2383
2383
  } catch {
2384
2384
  return false;
@@ -2386,14 +2386,14 @@ function isEncryptedOoxmlPackage(input) {
2386
2386
  }
2387
2387
 
2388
2388
  // ../../node_modules/.bun/@christophervr+ole2@0.12.0/node_modules/@christophervr/ole2/dist/ole2-parser-write-helpers.js
2389
- function compareDirEntryNames(a, b) {
2390
- const ua = a.toUpperCase();
2389
+ function compareDirEntryNames(a2, b) {
2390
+ const ua = a2.toUpperCase();
2391
2391
  const ub = b.toUpperCase();
2392
- if (ua.length !== a.length || ub.length !== b.length) {
2392
+ if (ua.length !== a2.length || ub.length !== b.length) {
2393
2393
  throw new Error("CFB stream names with expanding uppercase mappings are unsupported");
2394
2394
  }
2395
- if (a.length !== b.length) {
2396
- return a.length - b.length;
2395
+ if (a2.length !== b.length) {
2396
+ return a2.length - b.length;
2397
2397
  }
2398
2398
  for (let i2 = 0; i2 < ua.length; i2++) {
2399
2399
  const diff = ua.charCodeAt(i2) - ub.charCodeAt(i2);
@@ -2512,15 +2512,15 @@ function serializeDirectoryEntries(dirEntries, numDirSectors, sectorSize) {
2512
2512
  const dirView = new DataView(dirData.buffer);
2513
2513
  const tree = buildDirectoryTree(dirEntries.length);
2514
2514
  for (let i2 = 0; i2 < dirEntries.length; i2++) {
2515
- const entry = dirEntries[i2];
2515
+ const entry2 = dirEntries[i2];
2516
2516
  const entryOffset = i2 * DIR_ENTRY_SIZE;
2517
- const nameBytes = encodeName(entry.name);
2517
+ const nameBytes = encodeName(entry2.name);
2518
2518
  dirData.set(nameBytes.subarray(0, Math.min(nameBytes.length, 64)), entryOffset);
2519
- dirView.setUint16(entryOffset + 64, Math.min((entry.name.length + 1) * 2, 64), true);
2520
- dirData[entryOffset + 66] = entry.type;
2519
+ dirView.setUint16(entryOffset + 64, Math.min((entry2.name.length + 1) * 2, 64), true);
2520
+ dirData[entryOffset + 66] = entry2.type;
2521
2521
  dirData[entryOffset + 67] = i2 === 0 ? 1 : tree.links.get(i2).color;
2522
- if (entry.clsid) {
2523
- dirData.set(entry.clsid.subarray(0, 16), entryOffset + 80);
2522
+ if (entry2.clsid) {
2523
+ dirData.set(entry2.clsid.subarray(0, 16), entryOffset + 80);
2524
2524
  }
2525
2525
  if (i2 === 0) {
2526
2526
  dirView.setUint32(entryOffset + 68, 4294967295, true);
@@ -2531,8 +2531,8 @@ function serializeDirectoryEntries(dirEntries, numDirSectors, sectorSize) {
2531
2531
  dirView.setUint32(entryOffset + 72, tree.links.get(i2).right, true);
2532
2532
  dirView.setUint32(entryOffset + 76, 4294967295, true);
2533
2533
  }
2534
- dirView.setUint32(entryOffset + 116, entry.startSector, true);
2535
- dirView.setUint32(entryOffset + 120, entry.size, true);
2534
+ dirView.setUint32(entryOffset + 116, entry2.startSector, true);
2535
+ dirView.setUint32(entryOffset + 120, entry2.size, true);
2536
2536
  }
2537
2537
  return dirData;
2538
2538
  }
@@ -2643,7 +2643,7 @@ function buildOle2(streams2, rootClsid, miniStreamCutoff = 4096) {
2643
2643
  });
2644
2644
  }
2645
2645
  const [rootEntry, ...streamEntries] = dirEntries;
2646
- streamEntries.sort((a, b) => compareDirEntryNames(a.name, b.name));
2646
+ streamEntries.sort((a2, b) => compareDirEntryNames(a2.name, b.name));
2647
2647
  const sortedDirEntries = [rootEntry, ...streamEntries];
2648
2648
  const numDirSectors = Math.ceil(dirEntries.length * DIR_ENTRY_SIZE / sectorSize);
2649
2649
  const firstDirSector = nextSector;
@@ -3071,12 +3071,18 @@ var NS = {
3071
3071
  w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
3072
3072
  /** DrawingML main. */
3073
3073
  a: "http://schemas.openxmlformats.org/drawingml/2006/main",
3074
+ /** DrawingML chart. */
3075
+ c: "http://schemas.openxmlformats.org/drawingml/2006/chart",
3076
+ /** Office 2010 chart extensions, including built-in modern chart styles. */
3077
+ c14: "http://schemas.microsoft.com/office/drawing/2007/8/2/chart",
3074
3078
  /** DrawingML diagram (SmartArt) main. */
3075
3079
  dgm: "http://schemas.openxmlformats.org/drawingml/2006/diagram",
3076
3080
  /** Office 2007+ diagram drawing (`dsp`). */
3077
3081
  dsp: "http://schemas.microsoft.com/office/drawing/2008/diagram",
3078
3082
  /** Relationships (`r:id`, `r:embed`). */
3079
3083
  r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
3084
+ /** Markup compatibility (`mc:AlternateContent`). */
3085
+ mc: "http://schemas.openxmlformats.org/markup-compatibility/2006",
3080
3086
  /** OPC relationships part. */
3081
3087
  rels: "http://schemas.openxmlformats.org/package/2006/relationships",
3082
3088
  /** OPC content types part. */
@@ -3157,6 +3163,10 @@ function resolvePartPath(basePart, target) {
3157
3163
  }
3158
3164
  return resolved.join("/");
3159
3165
  }
3166
+ function relationshipsPartFor(partName) {
3167
+ const slash = partName.lastIndexOf("/");
3168
+ return `${partName.slice(0, slash + 1)}_rels/${partName.slice(slash + 1)}.rels`;
3169
+ }
3160
3170
  function nextRelationshipId(used) {
3161
3171
  let index = 1;
3162
3172
  while (used.has(`rId${index}`)) index++;
@@ -3299,7 +3309,7 @@ function parseCoreProperties(xml) {
3299
3309
  }
3300
3310
  return Object.keys(result).length ? result : void 0;
3301
3311
  }
3302
- var same = (a, b) => PROPERTY_FIELDS.every((field) => (a?.[field] ?? "") === (b?.[field] ?? ""));
3312
+ var same = (a2, b) => PROPERTY_FIELDS.every((field) => (a2?.[field] ?? "") === (b?.[field] ?? ""));
3303
3313
  async function applyCoreProperties(zip, next, prior) {
3304
3314
  if (same(next, prior)) return;
3305
3315
  const existing = zip.file(CORE_PATH);
@@ -3458,13 +3468,13 @@ function buildCommentsExtendedDocument(comments) {
3458
3468
  );
3459
3469
  const root = doc.documentElement;
3460
3470
  comments.forEach((comment, index) => {
3461
- const entry = doc.createElementNS(W15_NS, "w15:commentEx");
3462
- entry.setAttributeNS(W15_NS, "w15:paraId", paraIdFor(comment.id, index));
3463
- if (comment.resolved) entry.setAttributeNS(W15_NS, "w15:done", "1");
3464
- const parentIndex = comments.findIndex((c) => c.id === comment.parentId);
3471
+ const entry2 = doc.createElementNS(W15_NS, "w15:commentEx");
3472
+ entry2.setAttributeNS(W15_NS, "w15:paraId", paraIdFor(comment.id, index));
3473
+ if (comment.resolved) entry2.setAttributeNS(W15_NS, "w15:done", "1");
3474
+ const parentIndex = comments.findIndex((c2) => c2.id === comment.parentId);
3465
3475
  if (parentIndex >= 0)
3466
- entry.setAttributeNS(W15_NS, "w15:paraIdParent", paraIdFor(comment.parentId, parentIndex));
3467
- root.appendChild(entry);
3476
+ entry2.setAttributeNS(W15_NS, "w15:paraIdParent", paraIdFor(comment.parentId, parentIndex));
3477
+ root.appendChild(entry2);
3468
3478
  });
3469
3479
  return doc;
3470
3480
  }
@@ -3594,7 +3604,7 @@ function rangeEdges(runs, ranges) {
3594
3604
  const opens = /* @__PURE__ */ new Map();
3595
3605
  const closes = /* @__PURE__ */ new Map();
3596
3606
  const order = (key) => key.startsWith("comment:") ? 0 : 1;
3597
- for (const key of [...first3.keys()].sort((a, b) => order(a) - order(b))) {
3607
+ for (const key of [...first3.keys()].sort((a2, b) => order(a2) - order(b))) {
3598
3608
  if (!ranges?.before.has(key)) {
3599
3609
  const index = first3.get(key);
3600
3610
  (opens.get(index) ?? opens.set(index, []).get(index)).push(edgeFor(key, index));
@@ -3942,8 +3952,8 @@ function orderChildren(parent, order) {
3942
3952
  if (rank >= 0) previousRank = rank;
3943
3953
  return { element, index, rank: rank >= 0 ? rank : previousRank + 0.5 };
3944
3954
  });
3945
- const sorted = [...ranked].sort((a, b) => a.rank - b.rank || a.index - b.index);
3946
- if (sorted.every((entry, index) => entry.element === elements2[index])) return;
3955
+ const sorted = [...ranked].sort((a2, b) => a2.rank - b.rank || a2.index - b.index);
3956
+ if (sorted.every((entry2, index) => entry2.element === elements2[index])) return;
3947
3957
  for (const { element } of sorted) parent.appendChild(element);
3948
3958
  }
3949
3959
  var SECTPR_ORDER = [
@@ -4905,7 +4915,7 @@ function borderElement(doc, name, side) {
4905
4915
  }
4906
4916
  return element;
4907
4917
  }
4908
- var sameJson = (a, b) => JSON.stringify(a ?? null) === JSON.stringify(b ?? null);
4918
+ var sameJson = (a2, b) => JSON.stringify(a2 ?? null) === JSON.stringify(b ?? null);
4909
4919
  function updateShading(doc, props, paragraph, base) {
4910
4920
  if (base && paragraph.shadingFill === base.shadingFill) return;
4911
4921
  for (const element of children2(props, "shd")) props.removeChild(element);
@@ -5097,8 +5107,8 @@ function reconcileBookmarks(doc, starts, ends, names, baseNames, nextId) {
5097
5107
  function setAttribute3(element, local, value) {
5098
5108
  element.setAttributeNS(WORD_NS, `w:${local}`, value);
5099
5109
  }
5100
- function sameNumbering(a, b) {
5101
- return a?.numId === b?.numId && a?.level === b?.level;
5110
+ function sameNumbering(a2, b) {
5111
+ return a2?.numId === b?.numId && a2?.level === b?.level;
5102
5112
  }
5103
5113
  function writeNumberingProperties(doc, props, paragraph, base) {
5104
5114
  if (base && sameNumbering(paragraph.numbering, base.numbering)) return;
@@ -5425,11 +5435,11 @@ var allowedRunPropertyAttributes = {
5425
5435
  shd: ["val", "fill", "color", "themeFill", "themeFillTint", "themeFillShade"]
5426
5436
  };
5427
5437
  function hasUnexpectedAttributes(element, allowed, allowDateUtc = false) {
5428
- for (const attribute of Array.from(element.attributes)) {
5429
- if (attribute.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
5430
- if (allowDateUtc && attribute.namespaceURI === WORD_DATE_UTC_NS && attribute.localName === "dateUtc")
5438
+ for (const attribute2 of Array.from(element.attributes)) {
5439
+ if (attribute2.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
5440
+ if (allowDateUtc && attribute2.namespaceURI === WORD_DATE_UTC_NS && attribute2.localName === "dateUtc")
5431
5441
  continue;
5432
- if (attribute.namespaceURI !== WORD_NS || !allowed.includes(attribute.localName)) return true;
5442
+ if (attribute2.namespaceURI !== WORD_NS || !allowed.includes(attribute2.localName)) return true;
5433
5443
  }
5434
5444
  return false;
5435
5445
  }
@@ -5456,7 +5466,7 @@ function runPropertiesHaveUnknownContent(properties) {
5456
5466
  if (!isLigatures(property.getAttributeNS(WORD_2010_NS, "val")) || elements(property).length)
5457
5467
  return true;
5458
5468
  if (Array.from(property.attributes).some(
5459
- (attribute) => attribute.namespaceURI !== "http://www.w3.org/2000/xmlns/" && (attribute.namespaceURI !== WORD_2010_NS || attribute.localName !== "val")
5469
+ (attribute2) => attribute2.namespaceURI !== "http://www.w3.org/2000/xmlns/" && (attribute2.namespaceURI !== WORD_2010_NS || attribute2.localName !== "val")
5460
5470
  ))
5461
5471
  return true;
5462
5472
  continue;
@@ -5506,12 +5516,12 @@ function runPropertyChanged(run, base, key) {
5506
5516
  function parseDirectRunProperties(props) {
5507
5517
  const result = parseRunProperties(props);
5508
5518
  const language = first2(props, "lang");
5509
- for (const [attribute, key] of [
5519
+ for (const [attribute2, key] of [
5510
5520
  ["val", "language"],
5511
5521
  ["eastAsia", "eastAsiaLanguage"],
5512
5522
  ["bidi", "bidiLanguage"]
5513
5523
  ]) {
5514
- const value = getW(language, attribute);
5524
+ const value = getW(language, attribute2);
5515
5525
  if (value !== void 0) result[key] = value;
5516
5526
  }
5517
5527
  const rtl = onOffElement(first2(props, "rtl"));
@@ -5724,19 +5734,19 @@ function colorOf(value) {
5724
5734
  }
5725
5735
  function parseWatermarkShape(shape) {
5726
5736
  if (!shape || !(shape.getAttribute("id") ?? "").startsWith(WATERMARK_PREFIX)) return void 0;
5727
- const path = Array.from(shape.getElementsByTagNameNS(VML_NS, "textpath"))[0];
5728
- if (!path) return void 0;
5737
+ const path2 = Array.from(shape.getElementsByTagNameNS(VML_NS, "textpath"))[0];
5738
+ if (!path2) return void 0;
5729
5739
  const style = shape.getAttribute("style") ?? "";
5730
5740
  const fill = Array.from(shape.getElementsByTagNameNS(VML_NS, "fill"))[0];
5731
5741
  const opacity = fill?.getAttribute("opacity");
5732
5742
  const family = /font-family:\s*(?:&quot;|"|')?([^;"'&]+)/i.exec(
5733
- path.getAttribute("style") ?? ""
5743
+ path2.getAttribute("style") ?? ""
5734
5744
  )?.[1];
5735
5745
  const width = /width:\s*([\d.]+)pt/i.exec(style);
5736
5746
  const height = /height:\s*([\d.]+)pt/i.exec(style);
5737
5747
  const rotation = /rotation:\s*(-?[\d.]+)/i.exec(style);
5738
5748
  const spec = {
5739
- text: path.getAttribute("string") ?? "",
5749
+ text: path2.getAttribute("string") ?? "",
5740
5750
  color: colorOf(shape.getAttribute("fillcolor")),
5741
5751
  semitransparent: opacity !== null && opacity !== "" && opacity !== "1",
5742
5752
  layout: rotation && Math.abs(Number(rotation[1]) % 360) > 1 ? "diagonal" : "horizontal",
@@ -5792,11 +5802,11 @@ function buildWatermarkRun(doc, spec, uniqueId) {
5792
5802
  f6.setAttribute("eqn", eqn);
5793
5803
  formulas.appendChild(f6);
5794
5804
  }
5795
- const path = v("path");
5796
- path.setAttribute("textpathok", "t");
5797
- path.setAttributeNS(OFFICE_NS, "o:connecttype", "custom");
5798
- path.setAttributeNS(OFFICE_NS, "o:connectlocs", "@9,0;@10,10800;@11,21600;@12,10800");
5799
- path.setAttributeNS(OFFICE_NS, "o:connectangles", "270,180,90,0");
5805
+ const path2 = v("path");
5806
+ path2.setAttribute("textpathok", "t");
5807
+ path2.setAttributeNS(OFFICE_NS, "o:connecttype", "custom");
5808
+ path2.setAttributeNS(OFFICE_NS, "o:connectlocs", "@9,0;@10,10800;@11,21600;@12,10800");
5809
+ path2.setAttributeNS(OFFICE_NS, "o:connectangles", "270,180,90,0");
5800
5810
  const typePath = v("textpath");
5801
5811
  typePath.setAttribute("on", "t");
5802
5812
  typePath.setAttribute("fitshape", "t");
@@ -5809,7 +5819,7 @@ function buildWatermarkRun(doc, spec, uniqueId) {
5809
5819
  lock.setAttributeNS(VML_NS, "v:ext", "edit");
5810
5820
  lock.setAttribute("text", "t");
5811
5821
  lock.setAttribute("shapetype", "t");
5812
- for (const child3 of [formulas, path, typePath, handles, lock]) type.appendChild(child3);
5822
+ for (const child3 of [formulas, path2, typePath, handles, lock]) type.appendChild(child3);
5813
5823
  const size = watermarkSizePt(spec);
5814
5824
  const shape = v("shape");
5815
5825
  shape.setAttribute("id", `${WATERMARK_PREFIX}${uniqueId}`);
@@ -6042,8 +6052,8 @@ var CUSTOM_LAYOUT_ATTRIBUTES = [
6042
6052
  ];
6043
6053
  function parseCustomLayoutAttributes(get) {
6044
6054
  const custom = {};
6045
- for (const [key, attribute, kind] of CUSTOM_LAYOUT_ATTRIBUTES) {
6046
- const raw = get(attribute);
6055
+ for (const [key, attribute2, kind] of CUSTOM_LAYOUT_ATTRIBUTES) {
6056
+ const raw = get(attribute2);
6047
6057
  const value = kind === "flag" ? optionalBoolean(raw) : optionalScaled(raw, kind === "angle" ? 6e4 : 1e5);
6048
6058
  if (value !== void 0) custom[key] = value;
6049
6059
  }
@@ -6057,8 +6067,8 @@ var RELATIONSHIP_ATTRIBUTES = [
6057
6067
  ];
6058
6068
  function parseRelationshipIdAttributes(get) {
6059
6069
  const result = {};
6060
- for (const [property, attribute] of RELATIONSHIP_ATTRIBUTES) {
6061
- const value = optionalString(get(attribute));
6070
+ for (const [property, attribute2] of RELATIONSHIP_ATTRIBUTES) {
6071
+ const value = optionalString(get(attribute2));
6062
6072
  if (value) result[property] = value;
6063
6073
  }
6064
6074
  return result;
@@ -6120,7 +6130,7 @@ async function resolveDiagramDrawingPart(hostPart, dataRelId, drawingExtensionRe
6120
6130
  const entries = await host.readRelationshipEntries(diagramRelationshipsPart(dataPath));
6121
6131
  if (!entries) return void 0;
6122
6132
  const drawing = entries.find(
6123
- (entry) => (!drawingExtensionRelId || entry.id.trim() === drawingExtensionRelId) && entry.type.endsWith("/diagramDrawing")
6133
+ (entry2) => (!drawingExtensionRelId || entry2.id.trim() === drawingExtensionRelId) && entry2.type.endsWith("/diagramDrawing")
6124
6134
  );
6125
6135
  const id = drawing?.id.trim() ?? "";
6126
6136
  const target = drawing?.target.trim() ?? "";
@@ -6265,14 +6275,14 @@ function parseDiagramDataModel(source, part) {
6265
6275
  if (connection.modelId && connectionIds.has(connection.modelId))
6266
6276
  report("CONNECTION_ID_DUPLICATE", `Duplicate dgm:cxn modelId: ${connection.modelId}.`);
6267
6277
  if (connection.modelId) connectionIds.add(connection.modelId);
6268
- for (const [attribute, id] of [
6278
+ for (const [attribute2, id] of [
6269
6279
  ["srcId", connection.sourceId],
6270
6280
  ["destId", connection.destId]
6271
6281
  ])
6272
6282
  if (!ids.has(id))
6273
6283
  report(
6274
6284
  "CONNECTION_ENDPOINT_MISSING",
6275
- `dgm:cxn ${attribute} references missing point: ${id}.`
6285
+ `dgm:cxn ${attribute2} references missing point: ${id}.`
6276
6286
  );
6277
6287
  const label = connectionLabel(connection, transitionText);
6278
6288
  connections.push(label ? { ...connection, label } : connection);
@@ -6301,10 +6311,10 @@ var COLOR_ELEMENTS = {
6301
6311
  hslClr: "hsl"
6302
6312
  };
6303
6313
  function colorValue(kind, element) {
6304
- const attribute = (name) => element.getAttribute(name) ?? "";
6305
- if (kind === "scrgb") return `${attribute("r")},${attribute("g")},${attribute("b")}`;
6306
- if (kind === "hsl") return `${attribute("hue")},${attribute("sat")},${attribute("lum")}`;
6307
- return attribute("val");
6314
+ const attribute2 = (name) => element.getAttribute(name) ?? "";
6315
+ if (kind === "scrgb") return `${attribute2("r")},${attribute2("g")},${attribute2("b")}`;
6316
+ if (kind === "hsl") return `${attribute2("hue")},${attribute2("sat")},${attribute2("lum")}`;
6317
+ return attribute2("val");
6308
6318
  }
6309
6319
  function parseDrawingColorIn(container2) {
6310
6320
  if (!container2) return void 0;
@@ -6462,7 +6472,7 @@ function parseDrawingFill(properties) {
6462
6472
  });
6463
6473
  const angle = Number.parseInt(first(fill, "lin", NS.a)?.getAttribute("ang") ?? "", 10);
6464
6474
  const scaled = first(fill, "lin", NS.a)?.getAttribute("scaled");
6465
- const path = first(fill, "path", NS.a)?.getAttribute("path");
6475
+ const path2 = first(fill, "path", NS.a)?.getAttribute("path");
6466
6476
  const focus = first(first(fill, "path", NS.a), "fillToRect", NS.a);
6467
6477
  const tile = first(fill, "tileRect", NS.a);
6468
6478
  const tileRect = tile ? {
@@ -6484,7 +6494,7 @@ function parseDrawingFill(properties) {
6484
6494
  ...Number.isFinite(angle) ? { angle: angle / 6e4 } : {},
6485
6495
  ...scaled === "1" || scaled === "true" ? { scaled: true } : {},
6486
6496
  ...scaled === "0" || scaled === "false" ? { scaled: false } : {},
6487
- ...path ? { path } : {},
6497
+ ...path2 ? { path: path2 } : {},
6488
6498
  ...fillToRect && Object.values(fillToRect).every(Number.isFinite) ? { fillToRect } : {},
6489
6499
  ...tileRect && Object.values(tileRect).every(Number.isFinite) ? { tileRect } : {}
6490
6500
  };
@@ -6588,13 +6598,13 @@ function parseDrawingTextBody(body) {
6588
6598
  const anchor = properties?.getAttribute("anchor");
6589
6599
  if (anchor) result.anchor = anchor;
6590
6600
  const insets = {};
6591
- for (const [key, attribute] of [
6601
+ for (const [key, attribute2] of [
6592
6602
  ["left", "lIns"],
6593
6603
  ["top", "tIns"],
6594
6604
  ["right", "rIns"],
6595
6605
  ["bottom", "bIns"]
6596
6606
  ]) {
6597
- const value = Number.parseInt(properties?.getAttribute(attribute) ?? "", 10);
6607
+ const value = Number.parseInt(properties?.getAttribute(attribute2) ?? "", 10);
6598
6608
  if (Number.isFinite(value)) insets[key] = value;
6599
6609
  }
6600
6610
  if (Object.keys(insets).length > 0) result.insetsEmu = insets;
@@ -6625,18 +6635,18 @@ function parseTransform(xfrm) {
6625
6635
  ...booleanAttribute(xfrm, "flipV") ? { flipVertical: true } : {}
6626
6636
  };
6627
6637
  }
6628
- function parsePathCommands(path) {
6638
+ function parsePathCommands(path2) {
6629
6639
  const commands = [];
6630
6640
  const point = (element) => {
6631
6641
  const x = int(element, "x");
6632
6642
  const y = int(element, "y");
6633
6643
  return Number.isFinite(x) && Number.isFinite(y) ? { x, y } : void 0;
6634
6644
  };
6635
- for (const element of Array.from(path.childNodes)) {
6645
+ for (const element of Array.from(path2.childNodes)) {
6636
6646
  if (element.nodeType !== 1) continue;
6637
6647
  const node = element;
6638
6648
  const points = children(node, "pt", NS.a).map(point);
6639
- if (points.some((entry) => entry === void 0)) return void 0;
6649
+ if (points.some((entry2) => entry2 === void 0)) return void 0;
6640
6650
  const [p0, p1, p2] = points;
6641
6651
  switch (node.localName) {
6642
6652
  case "moveTo":
@@ -6679,17 +6689,17 @@ function parseDrawingGeometry(spPr) {
6679
6689
  const custom = first(spPr, "custGeom", NS.a);
6680
6690
  if (custom) {
6681
6691
  const paths = [];
6682
- for (const path of children(first(custom, "pathLst", NS.a) ?? custom, "path", NS.a)) {
6683
- const commands = parsePathCommands(path);
6692
+ for (const path2 of children(first(custom, "pathLst", NS.a) ?? custom, "path", NS.a)) {
6693
+ const commands = parsePathCommands(path2);
6684
6694
  if (!commands) return { geometry: "custom", issue: "CUSTOM_GEOMETRY_GUIDES_UNSUPPORTED" };
6685
- const width = int(path, "w");
6686
- const height = int(path, "h");
6695
+ const width = int(path2, "w");
6696
+ const height = int(path2, "h");
6687
6697
  paths.push({
6688
6698
  commands,
6689
6699
  ...Number.isFinite(width) ? { width } : {},
6690
6700
  ...Number.isFinite(height) ? { height } : {},
6691
- ...path.getAttribute("fill") ? { fill: path.getAttribute("fill") } : {},
6692
- ...path.getAttribute("stroke") === "0" || path.getAttribute("stroke") === "false" ? { stroke: false } : {}
6701
+ ...path2.getAttribute("fill") ? { fill: path2.getAttribute("fill") } : {},
6702
+ ...path2.getAttribute("stroke") === "0" || path2.getAttribute("stroke") === "false" ? { stroke: false } : {}
6693
6703
  });
6694
6704
  }
6695
6705
  return { geometry: "custom", paths };
@@ -6957,78 +6967,1316 @@ function parseDiagramGraphic(graphicData, extent, docPr, rels, isAnchor) {
6957
6967
  const id = docPr?.getAttribute("id") || void 0;
6958
6968
  return {
6959
6969
  placement: isAnchor ? "anchor" : "inline",
6960
- extentEmu: { width: emu2(extent, "cx"), height: emu2(extent, "cy") },
6970
+ extentEmu: { width: emu2(extent, "cx"), height: emu2(extent, "cy") },
6971
+ ...name ? { name } : {},
6972
+ ...id ? { id } : {},
6973
+ relationshipIds,
6974
+ parts,
6975
+ hostRelationships,
6976
+ nodes: [],
6977
+ rendering: "placeholder",
6978
+ notice: diagramNotice("placeholder"),
6979
+ issues
6980
+ };
6981
+ }
6982
+ async function resolveDiagramParts(diagram, readText) {
6983
+ const hostPart = "word/document.xml";
6984
+ const dataPart = diagram.parts.data?.partName;
6985
+ let declaredDrawing;
6986
+ try {
6987
+ const dataXml = dataPart ? await readText(dataPart) : void 0;
6988
+ declaredDrawing = dataXml ? parseDiagramDataModel(dataXml).drawingRelId : void 0;
6989
+ } catch {
6990
+ }
6991
+ const offered = Object.entries(diagram.hostRelationships).filter(
6992
+ ([id]) => id === declaredDrawing || !isDrawingRelationship(diagram, id)
6993
+ );
6994
+ const loaded = await loadDiagram(hostPart, diagram.relationshipIds, {
6995
+ hostRelationships: () => new Map(offered.map(([id, name]) => [id, `/${name}`])),
6996
+ resolvePath: resolvePartPath,
6997
+ readText,
6998
+ readRelationshipEntries: async (relsPart) => {
6999
+ const xml = await readText(relsPart);
7000
+ if (!xml) return void 0;
7001
+ try {
7002
+ return [...parseRelationships(xml).values()].map(({ id, type, target }) => ({
7003
+ id,
7004
+ type,
7005
+ target
7006
+ }));
7007
+ } catch {
7008
+ return void 0;
7009
+ }
7010
+ }
7011
+ });
7012
+ const known = new Set(diagram.issues.map((issue) => `${issue.code}|${issue.message}`));
7013
+ const fresh = loaded.issues.filter(
7014
+ (issue) => !issue.code.startsWith("DIAGRAM_RELATIONSHIP_") && !known.has(`${issue.code}|${issue.message}`)
7015
+ );
7016
+ diagram.issues.push(...fresh);
7017
+ if (loaded.paths.drawing && loaded.drawingRelId)
7018
+ diagram.parts.drawing = { relId: loaded.drawingRelId, partName: loaded.paths.drawing };
7019
+ if (loaded.layout) {
7020
+ diagram.layout = {
7021
+ uniqueId: loaded.layout.uniqueId,
7022
+ ...loaded.layout.family ? { family: loaded.layout.family } : {},
7023
+ ...loaded.layout.rootAlgorithm ? { rootAlgorithm: loaded.layout.rootAlgorithm } : {}
7024
+ };
7025
+ }
7026
+ if (loaded.colors?.uniqueId) diagram.colorsId = loaded.colors.uniqueId;
7027
+ if (loaded.quickStyle?.uniqueId) diagram.quickStyleId = loaded.quickStyle.uniqueId;
7028
+ if (loaded.data)
7029
+ diagram.nodes = loaded.data.nodes.map((node) => ({
7030
+ id: node.modelId,
7031
+ text: node.text,
7032
+ ...loaded.data?.parentById.get(node.modelId) ? { parentId: loaded.data.parentById.get(node.modelId) } : {}
7033
+ }));
7034
+ if (loaded.drawing && loaded.drawing.shapes.length > 0) {
7035
+ diagram.drawing = loaded.drawing;
7036
+ diagram.rendering = "cached-drawing";
7037
+ } else {
7038
+ delete diagram.drawing;
7039
+ diagram.rendering = "placeholder";
7040
+ }
7041
+ diagram.notice = diagramNotice(diagram.rendering);
7042
+ }
7043
+
7044
+ // chart/color-style.ts
7045
+ var CHART_COLOR_STYLE_NS = "http://schemas.microsoft.com/office/drawing/2012/chartStyle";
7046
+ function chartColorStyleId(xml) {
7047
+ const root = parseXml(xml).documentElement;
7048
+ if (root.localName !== "colorStyle" || root.namespaceURI !== CHART_COLOR_STYLE_NS)
7049
+ return void 0;
7050
+ const value = root.getAttribute("id");
7051
+ if (!value || !/^\d+$/.test(value)) return void 0;
7052
+ const id = Number(value);
7053
+ return Number.isInteger(id) && id >= 0 ? id : void 0;
7054
+ }
7055
+
7056
+ // chart/built-in-text-style.ts
7057
+ var C14 = NS.c14;
7058
+ function readBuiltInChartStyle(root) {
7059
+ for (const content of children(root, "AlternateContent", NS.mc)) {
7060
+ for (const choice of children(content, "Choice", NS.mc)) {
7061
+ const requires = choice.getAttribute("Requires")?.trim().split(/\s+/);
7062
+ if (!requires?.length || !requires.every((prefix) => choice.lookupNamespaceURI(prefix) === C14))
7063
+ continue;
7064
+ const modern = first(choice, "style", C14)?.getAttribute("val");
7065
+ if (modern && /^\d+$/.test(modern) && Number(modern) >= 101 && Number(modern) <= 148)
7066
+ return Number(modern);
7067
+ }
7068
+ }
7069
+ const legacy = first(root, "style", NS.c) ?? first(first(first(root, "AlternateContent", NS.mc), "Fallback", NS.mc), "style", NS.c);
7070
+ const value = legacy?.getAttribute("val");
7071
+ if (!legacy) return 2;
7072
+ return value && /^\d+$/.test(value) && Number.isSafeInteger(Number(value)) ? Number(value) : void 0;
7073
+ }
7074
+
7075
+ // chart/read-appearance.ts
7076
+ function readChartAppearance(text, properties) {
7077
+ const out = {};
7078
+ const size = Number(text?.getAttribute("sz") ?? NaN);
7079
+ if (Number.isFinite(size) && size > 0) out.fontSize = size / 100;
7080
+ for (const [attribute2, key] of [
7081
+ ["b", "bold"],
7082
+ ["i", "italic"]
7083
+ ]) {
7084
+ const value = text?.getAttribute(attribute2);
7085
+ if (value !== null && value !== void 0) out[key] = value === "1" || value === "true";
7086
+ }
7087
+ const typeface = first(text, "latin", NS.a)?.getAttribute("typeface");
7088
+ const underline = text?.getAttribute("u");
7089
+ if (underline) out.underline = underline !== "none";
7090
+ if (typeface) out.typeface = typeface;
7091
+ const color = parseDrawingColorIn(first(text, "solidFill", NS.a));
7092
+ if (color) out.textColor = color;
7093
+ const fill = parseDrawingFill(properties);
7094
+ const line = parseDrawingLine(first(properties, "ln", NS.a));
7095
+ if (fill) out.fill = fill;
7096
+ if (line) out.line = line;
7097
+ const effects = first(text, "effectLst", NS.a);
7098
+ if (effects) out.textEffectsXml = buildXml(effects);
7099
+ return out;
7100
+ }
7101
+
7102
+ // chart/formatting-nodes.ts
7103
+ function chartFormattingNodes(root) {
7104
+ const chart = first(root, "chart", NS.c);
7105
+ const plot = first(chart, "plotArea", NS.c);
7106
+ const category = first(plot, "catAx", NS.c) ?? first(plot, "dateAx", NS.c);
7107
+ const values = plot ? children(plot, "valAx", NS.c) : [];
7108
+ return {
7109
+ chartArea: root,
7110
+ plotArea: plot,
7111
+ title: first(chart, "title", NS.c),
7112
+ legend: first(chart, "legend", NS.c),
7113
+ categoryAxis: category ?? values[0],
7114
+ valueAxis: category ? values[0] : values[1],
7115
+ gridlineMajor: first(values[0], "majorGridlines", NS.c),
7116
+ gridlineMinor: first(values[0], "minorGridlines", NS.c)
7117
+ };
7118
+ }
7119
+
7120
+ // chart/manual-layout.ts
7121
+ function readChartManualLayoutValues(value) {
7122
+ const result = {};
7123
+ const enumeration = (name, values) => {
7124
+ const raw = value(name);
7125
+ return values.includes(raw) ? raw : void 0;
7126
+ };
7127
+ const target = enumeration("layoutTarget", ["inner", "outer"]);
7128
+ if (target) result.layoutTarget = target;
7129
+ for (const [xml, key] of [
7130
+ ["xMode", "xMode"],
7131
+ ["yMode", "yMode"],
7132
+ ["wMode", "widthMode"],
7133
+ ["hMode", "heightMode"]
7134
+ ]) {
7135
+ const mode = enumeration(xml, ["edge", "factor"]);
7136
+ if (mode) result[key] = mode;
7137
+ }
7138
+ for (const [xml, key] of [
7139
+ ["x", "x"],
7140
+ ["y", "y"],
7141
+ ["w", "width"],
7142
+ ["h", "height"]
7143
+ ]) {
7144
+ const raw = value(xml);
7145
+ if (typeof raw !== "string" && typeof raw !== "number" || typeof raw === "string" && !raw.trim())
7146
+ continue;
7147
+ const number = Number(raw);
7148
+ if (Number.isFinite(number)) result[key] = number;
7149
+ }
7150
+ return Object.keys(result).length ? result : void 0;
7151
+ }
7152
+
7153
+ // chart/read-formatting.ts
7154
+ var c = (parent, name) => first(parent, name, NS.c);
7155
+ var a = (parent, name) => first(parent, name, NS.a);
7156
+ function entry(node) {
7157
+ const body = c(node, "txPr");
7158
+ const paragraph = a(body, "p");
7159
+ const defaults = a(a(paragraph, "pPr"), "defRPr");
7160
+ const rich = c(c(node, "tx"), "rich");
7161
+ const richParagraph = a(rich, "p");
7162
+ const textBody = parseDrawingTextBody(rich);
7163
+ const manual = c(c(node, "layout"), "manualLayout");
7164
+ const layout2 = manual ? readChartManualLayoutValues((name) => c(manual, name)?.getAttribute("val")) : void 0;
7165
+ const overlay = c(node, "overlay")?.getAttribute("val");
7166
+ const out = {
7167
+ sourceXml: buildXml(node),
7168
+ ...layout2 ? { layout: layout2 } : {},
7169
+ ...overlay === "0" || overlay === "false" ? { overlay: false } : overlay === "1" || overlay === "true" ? { overlay: true } : {},
7170
+ ...readChartAppearance(defaults, c(node, "spPr")),
7171
+ ...readChartAppearance(a(a(richParagraph, "pPr"), "defRPr"), void 0),
7172
+ ...readChartAppearance(a(a(richParagraph, "r"), "rPr"), void 0),
7173
+ ...textBody ? { textBody, textBodyStyle: readChartAppearance(defaults, void 0) } : {}
7174
+ };
7175
+ if (["catAx", "dateAx", "valAx"].includes(node.localName)) {
7176
+ const deleted = c(node, "delete")?.getAttribute("val");
7177
+ if (deleted !== void 0) out.axisVisible = deleted !== "1" && deleted !== "true";
7178
+ out.labelsVisible = out.axisVisible !== false && c(node, "tickLblPos")?.getAttribute("val") !== "none";
7179
+ }
7180
+ return out;
7181
+ }
7182
+ function readChartFormatting(root) {
7183
+ const nodes = chartFormattingNodes(root);
7184
+ const entries = Object.fromEntries(
7185
+ Object.entries(nodes).flatMap(([name, node]) => node ? [[name, entry(node)]] : [])
7186
+ );
7187
+ const builtInStyle = readBuiltInChartStyle(root);
7188
+ const textBody = c(root, "txPr");
7189
+ const textDefaults = textBody ? {
7190
+ sourceXml: buildXml(textBody),
7191
+ ...readChartAppearance(a(a(a(textBody, "p"), "pPr"), "defRPr"), void 0)
7192
+ } : void 0;
7193
+ return Object.keys(entries).length ? {
7194
+ entries,
7195
+ sourceXml: buildXml(root),
7196
+ ...builtInStyle === void 0 ? {} : { builtInStyle },
7197
+ ...textDefaults ? { textDefaults } : {}
7198
+ } : void 0;
7199
+ }
7200
+
7201
+ // chart/data-cache.ts
7202
+ function chartCacheValues(cache) {
7203
+ if (!cache) return [];
7204
+ const numeric = cache.type === "number";
7205
+ const out = [];
7206
+ for (const point of cache.points) {
7207
+ const text = point.value;
7208
+ out[point.index ?? out.length] = numeric && text.trim() !== "" && Number.isFinite(Number(text)) ? Number(text) : text;
7209
+ }
7210
+ const size = Math.max(cache.pointCount ?? 0, out.length);
7211
+ for (let index = 0; index < size; index++) if (out[index] === void 0) out[index] = "";
7212
+ return out;
7213
+ }
7214
+
7215
+ // chart/xml-fragment.ts
7216
+ var CHART_ROOT_BINDINGS = /* @__PURE__ */ new Map([
7217
+ ["c", NS.c],
7218
+ ["a", NS.a],
7219
+ ["r", NS.r]
7220
+ ]);
7221
+ var DECLARATION = / xmlns:([A-Za-z_][\w.-]*)="([^"]*)"/g;
7222
+ function stripDeclarations(xml, bindings) {
7223
+ const conflicting = /* @__PURE__ */ new Set();
7224
+ for (const [, prefix, uri] of xml.matchAll(DECLARATION))
7225
+ if (prefix !== void 0 && bindings.has(prefix) && bindings.get(prefix) !== uri)
7226
+ conflicting.add(prefix);
7227
+ return xml.replace(
7228
+ DECLARATION,
7229
+ (match, prefix, uri) => bindings.get(prefix) === uri && !conflicting.has(prefix) ? "" : match
7230
+ );
7231
+ }
7232
+ var innerXml = (element) => stripDeclarations(elements(element).map(buildXml).join(""), CHART_ROOT_BINDINGS);
7233
+
7234
+ // chart/parse-util.ts
7235
+ var cChild = (parent, local) => first(parent, local, NS.c);
7236
+ var attribute = (element, name) => element?.hasAttribute(name) ? element.getAttribute(name) ?? void 0 : void 0;
7237
+ var cVal = (parent, local) => attribute(cChild(parent, local), "val");
7238
+ var path = (element) => `c:${element.parentNode?.localName ?? ""}/c:${element.localName}`;
7239
+ function malformed(context, element, value) {
7240
+ context.issues.push({
7241
+ code: "CHART_VALUE_INVALID",
7242
+ message: `${path(element)} has an unreadable value "${value}".`
7243
+ });
7244
+ }
7245
+ function cBool(context, parent, local) {
7246
+ const element = cChild(parent, local);
7247
+ if (!element) return void 0;
7248
+ const raw = attribute(element, "val");
7249
+ if (raw === void 0) return true;
7250
+ const value = raw.trim().toLowerCase();
7251
+ if (value === "1" || value === "true") return true;
7252
+ if (value === "0" || value === "false") return false;
7253
+ malformed(context, element, raw);
7254
+ return void 0;
7255
+ }
7256
+ function cNumber(context, parent, local) {
7257
+ const element = cChild(parent, local);
7258
+ const raw = attribute(element, "val");
7259
+ if (!element || raw === void 0) return void 0;
7260
+ const value = raw.trim() ? Number(raw) : Number.NaN;
7261
+ if (Number.isFinite(value)) return value;
7262
+ malformed(context, element, raw);
7263
+ return void 0;
7264
+ }
7265
+ function reportUnmodelled(context, element, handled) {
7266
+ for (const child3 of elements(element)) {
7267
+ if (handled.has(child3.localName)) continue;
7268
+ context.issues.push({
7269
+ code: "CHART_ELEMENT_NOT_MODELLED",
7270
+ message: `${path(child3)} is not modelled; it is kept only in the source part.`
7271
+ });
7272
+ }
7273
+ }
7274
+ function extensionList(parent) {
7275
+ const extLst = cChild(parent, "extLst");
7276
+ return extLst ? buildXml(extLst) : void 0;
7277
+ }
7278
+ function readShapeFields(spPr) {
7279
+ const out = {};
7280
+ const fill = parseDrawingFill(spPr);
7281
+ if (fill) out.fill = fill;
7282
+ const line = parseDrawingLine(first(spPr, "ln", NS.a));
7283
+ if (line) out.line = line;
7284
+ const effects = first(spPr, "effectLst", NS.a);
7285
+ if (effects) out.effectsXml = buildXml(effects);
7286
+ return out;
7287
+ }
7288
+ function shapeProperties(parent) {
7289
+ const spPr = cChild(parent, "spPr");
7290
+ if (!spPr) return void 0;
7291
+ const out = readShapeFields(spPr);
7292
+ const source = innerXml(spPr);
7293
+ if (source) out.sourceXml = source;
7294
+ return out;
7295
+ }
7296
+ function chartTextBody(element) {
7297
+ const body = parseDrawingTextBody(element);
7298
+ if (!body || !element) return body;
7299
+ const source = innerXml(element);
7300
+ if (source) body.sourceXml = source;
7301
+ return body;
7302
+ }
7303
+ var textProperties = (parent) => chartTextBody(cChild(parent, "txPr"));
7304
+ function chartLines(parent, local) {
7305
+ const element = cChild(parent, local);
7306
+ if (!element) return void 0;
7307
+ const spPr = shapeProperties(element);
7308
+ return spPr ? { spPr } : {};
7309
+ }
7310
+ function numberFormat(parent) {
7311
+ const element = cChild(parent, "numFmt");
7312
+ const formatCode = attribute(element, "formatCode");
7313
+ if (formatCode === void 0) return void 0;
7314
+ const linked = attribute(element, "sourceLinked");
7315
+ return {
7316
+ formatCode,
7317
+ ...linked === "1" || linked === "true" ? { sourceLinked: true } : {},
7318
+ ...linked === "0" || linked === "false" ? { sourceLinked: false } : {}
7319
+ };
7320
+ }
7321
+ function readLayoutFields(layout2) {
7322
+ const manual = cChild(layout2, "manualLayout");
7323
+ return (manual && readChartManualLayoutValues((name) => cVal(manual, name))) ?? {};
7324
+ }
7325
+ function manualLayout(parent) {
7326
+ const layout2 = cChild(parent, "layout");
7327
+ if (!layout2) return void 0;
7328
+ const out = readLayoutFields(layout2);
7329
+ const source = innerXml(layout2);
7330
+ if (source) out.sourceXml = source;
7331
+ return out;
7332
+ }
7333
+ function assignDefined(target, values) {
7334
+ for (const [key, value] of Object.entries(values))
7335
+ if (value !== void 0) target[key] = value;
7336
+ return target;
7337
+ }
7338
+
7339
+ // chart/parse-text.ts
7340
+ function parseCache(node) {
7341
+ const cache = {
7342
+ type: node.localName === "numCache" || node.localName === "numLit" ? "number" : "string",
7343
+ points: children(node, "pt", NS.c).map((pt) => {
7344
+ const point = { value: cChild(pt, "v")?.textContent ?? "" };
7345
+ const index = Number(attribute(pt, "idx") ?? Number.NaN);
7346
+ if (Number.isInteger(index) && index >= 0) point.index = index;
7347
+ const formatCode2 = attribute(pt, "formatCode");
7348
+ if (formatCode2 !== void 0) point.formatCode = formatCode2;
7349
+ return point;
7350
+ })
7351
+ };
7352
+ const count = Number(cVal(node, "ptCount") ?? Number.NaN);
7353
+ if (Number.isInteger(count) && count >= 0) cache.pointCount = count;
7354
+ const formatCode = cChild(node, "formatCode")?.textContent;
7355
+ if (formatCode) cache.formatCode = formatCode;
7356
+ return cache;
7357
+ }
7358
+ function parseDataSource(element) {
7359
+ if (!element) return void 0;
7360
+ const source = {};
7361
+ const ref = cChild(element, "numRef") ?? cChild(element, "strRef") ?? cChild(element, "multiLvlStrRef");
7362
+ if (ref) {
7363
+ source.kind = ref.localName;
7364
+ const formula = cChild(ref, "f")?.textContent;
7365
+ if (formula) source.formula = formula;
7366
+ const cache = cChild(ref, "numCache") ?? cChild(ref, "strCache");
7367
+ if (cache) source.cache = parseCache(cache);
7368
+ const levels = cChild(ref, "multiLvlStrCache");
7369
+ if (levels) {
7370
+ source.levels = children(levels, "lvl", NS.c).map(parseCache);
7371
+ const count = Number(cVal(levels, "ptCount") ?? Number.NaN);
7372
+ if (Number.isInteger(count) && count >= 0) source.levelPointCount = count;
7373
+ }
7374
+ return source;
7375
+ }
7376
+ const literal = cChild(element, "numLit") ?? cChild(element, "strLit");
7377
+ if (literal) {
7378
+ source.kind = literal.localName;
7379
+ source.cache = parseCache(literal);
7380
+ }
7381
+ return source;
7382
+ }
7383
+ function parseChartText(context, tx, allowValue) {
7384
+ if (!tx) return void 0;
7385
+ const text = {};
7386
+ const rich = chartTextBody(cChild(tx, "rich"));
7387
+ if (rich) text.rich = rich;
7388
+ if (cChild(tx, "strRef")) {
7389
+ const reference = parseDataSource(tx);
7390
+ if (reference) text.reference = reference;
7391
+ }
7392
+ const value = allowValue ? cChild(tx, "v")?.textContent : void 0;
7393
+ if (value !== void 0 && value !== null) text.value = value;
7394
+ const cached2 = chartCacheValues(text.reference?.cache)[0];
7395
+ const flat = text.value ?? (rich ? rich.text : cached2 === void 0 ? void 0 : String(cached2));
7396
+ if (flat !== void 0) text.text = flat;
7397
+ reportUnmodelled(context, tx, new Set(allowValue ? ["strRef", "v"] : ["rich", "strRef"]));
7398
+ return text;
7399
+ }
7400
+ var TITLE = /* @__PURE__ */ new Set(["tx", "layout", "overlay", "spPr", "txPr", "extLst"]);
7401
+ function parseTitle(context, element) {
7402
+ const tx = parseChartText(context, cChild(element, "tx"), false);
7403
+ reportUnmodelled(context, element, TITLE);
7404
+ return assignDefined(
7405
+ {},
7406
+ {
7407
+ tx,
7408
+ text: tx?.text,
7409
+ overlay: cBool(context, element, "overlay"),
7410
+ layout: manualLayout(element),
7411
+ spPr: shapeProperties(element),
7412
+ txPr: textProperties(element),
7413
+ extLst: extensionList(element)
7414
+ }
7415
+ );
7416
+ }
7417
+ var LABEL_OPTIONS = [
7418
+ "delete",
7419
+ "showLegendKey",
7420
+ "showVal",
7421
+ "showCatName",
7422
+ "showSerName",
7423
+ "showPercent",
7424
+ "showBubbleSize",
7425
+ "separator",
7426
+ "dLblPos",
7427
+ "numFmt",
7428
+ "spPr",
7429
+ "txPr",
7430
+ "extLst"
7431
+ ];
7432
+ function labelOptions(context, element) {
7433
+ const flag2 = (local) => cBool(context, element, local);
7434
+ return assignDefined(
7435
+ {},
7436
+ {
7437
+ deleted: flag2("delete"),
7438
+ showLegendKey: flag2("showLegendKey"),
7439
+ showValue: flag2("showVal"),
7440
+ showCategoryName: flag2("showCatName"),
7441
+ showSeriesName: flag2("showSerName"),
7442
+ showPercent: flag2("showPercent"),
7443
+ showBubbleSize: flag2("showBubbleSize"),
7444
+ separator: cChild(element, "separator")?.textContent ?? void 0,
7445
+ position: cVal(element, "dLblPos"),
7446
+ numberFormat: numberFormat(element),
7447
+ spPr: shapeProperties(element),
7448
+ txPr: textProperties(element),
7449
+ extLst: extensionList(element)
7450
+ }
7451
+ );
7452
+ }
7453
+ var LABEL = /* @__PURE__ */ new Set([...LABEL_OPTIONS, "idx", "layout", "tx"]);
7454
+ var LABELS = /* @__PURE__ */ new Set([...LABEL_OPTIONS, "dLbl", "showLeaderLines", "leaderLines"]);
7455
+ function parseDataLabels(context, element) {
7456
+ if (!element) return void 0;
7457
+ const labels = children(element, "dLbl", NS.c).map((node) => {
7458
+ reportUnmodelled(context, node, LABEL);
7459
+ return assignDefined(labelOptions(context, node), {
7460
+ index: cNumber(context, node, "idx"),
7461
+ tx: parseChartText(context, cChild(node, "tx"), false),
7462
+ layout: manualLayout(node)
7463
+ });
7464
+ });
7465
+ reportUnmodelled(context, element, LABELS);
7466
+ return assignDefined(
7467
+ { ...labelOptions(context, element), labels },
7468
+ {
7469
+ showLeaderLines: cBool(context, element, "showLeaderLines"),
7470
+ leaderLines: chartLines(element, "leaderLines")
7471
+ }
7472
+ );
7473
+ }
7474
+
7475
+ // chart/parse-chrome.ts
7476
+ var SURFACE = /* @__PURE__ */ new Set(["thickness", "spPr", "pictureOptions", "extLst"]);
7477
+ function parseSurface(context, element) {
7478
+ if (!element) return void 0;
7479
+ reportUnmodelled(context, element, SURFACE);
7480
+ const pictureOptions = cChild(element, "pictureOptions");
7481
+ return assignDefined(
7482
+ {},
7483
+ {
7484
+ thickness: cNumber(context, element, "thickness"),
7485
+ spPr: shapeProperties(element),
7486
+ pictureOptionsXml: pictureOptions ? buildXml(pictureOptions) : void 0,
7487
+ extLst: extensionList(element)
7488
+ }
7489
+ );
7490
+ }
7491
+ var DATA_TABLE = /* @__PURE__ */ new Set([
7492
+ "showHorzBorder",
7493
+ "showVertBorder",
7494
+ "showOutline",
7495
+ "showKeys",
7496
+ "spPr",
7497
+ "txPr",
7498
+ "extLst"
7499
+ ]);
7500
+ function parseDataTable(context, element) {
7501
+ if (!element) return void 0;
7502
+ reportUnmodelled(context, element, DATA_TABLE);
7503
+ return assignDefined(
7504
+ {},
7505
+ {
7506
+ showHorizontalBorder: cBool(context, element, "showHorzBorder"),
7507
+ showVerticalBorder: cBool(context, element, "showVertBorder"),
7508
+ showOutline: cBool(context, element, "showOutline"),
7509
+ showKeys: cBool(context, element, "showKeys"),
7510
+ spPr: shapeProperties(element),
7511
+ txPr: textProperties(element),
7512
+ extLst: extensionList(element)
7513
+ }
7514
+ );
7515
+ }
7516
+ var DISPLAY_UNITS = /* @__PURE__ */ new Set(["custUnit", "builtInUnit", "dispUnitsLbl", "extLst"]);
7517
+ var DISPLAY_UNITS_LABEL = /* @__PURE__ */ new Set(["layout", "tx", "spPr", "txPr"]);
7518
+ function parseDisplayUnits(context, element) {
7519
+ if (!element) return void 0;
7520
+ reportUnmodelled(context, element, DISPLAY_UNITS);
7521
+ const labelElement = cChild(element, "dispUnitsLbl");
7522
+ let label;
7523
+ if (labelElement) {
7524
+ reportUnmodelled(context, labelElement, DISPLAY_UNITS_LABEL);
7525
+ label = assignDefined(
7526
+ {},
7527
+ {
7528
+ layout: manualLayout(labelElement),
7529
+ tx: parseChartText(context, cChild(labelElement, "tx"), false),
7530
+ spPr: shapeProperties(labelElement),
7531
+ txPr: textProperties(labelElement)
7532
+ }
7533
+ );
7534
+ }
7535
+ return assignDefined(
7536
+ {},
7537
+ {
7538
+ builtInUnit: cVal(element, "builtInUnit"),
7539
+ customUnit: cNumber(context, element, "custUnit"),
7540
+ label,
7541
+ extLst: extensionList(element)
7542
+ }
7543
+ );
7544
+ }
7545
+
7546
+ // chart/parse-series.ts
7547
+ var MARKER = /* @__PURE__ */ new Set(["symbol", "size", "spPr", "extLst"]);
7548
+ function parseMarker(context, element) {
7549
+ if (!element) return void 0;
7550
+ reportUnmodelled(context, element, MARKER);
7551
+ return assignDefined(
7552
+ {},
7553
+ {
7554
+ symbol: cVal(element, "symbol"),
7555
+ size: cNumber(context, element, "size"),
7556
+ spPr: shapeProperties(element),
7557
+ extLst: extensionList(element)
7558
+ }
7559
+ );
7560
+ }
7561
+ var POINT = /* @__PURE__ */ new Set([
7562
+ "idx",
7563
+ "invertIfNegative",
7564
+ "marker",
7565
+ "bubble3D",
7566
+ "explosion",
7567
+ "spPr",
7568
+ "extLst"
7569
+ ]);
7570
+ function parseDataPoint(context, element) {
7571
+ reportUnmodelled(context, element, POINT);
7572
+ const index = cNumber(context, element, "idx");
7573
+ return assignDefined(
7574
+ {},
7575
+ {
7576
+ index: index !== void 0 && Number.isInteger(index) && index >= 0 ? index : void 0,
7577
+ invertIfNegative: cBool(context, element, "invertIfNegative"),
7578
+ bubble3D: cBool(context, element, "bubble3D"),
7579
+ explosion: cNumber(context, element, "explosion"),
7580
+ marker: parseMarker(context, cChild(element, "marker")),
7581
+ spPr: shapeProperties(element),
7582
+ extLst: extensionList(element)
7583
+ }
7584
+ );
7585
+ }
7586
+ var SERIES = /* @__PURE__ */ new Set([
7587
+ "idx",
7588
+ "order",
7589
+ "tx",
7590
+ "spPr",
7591
+ "invertIfNegative",
7592
+ "dPt",
7593
+ "dLbls",
7594
+ "cat",
7595
+ "val",
7596
+ "xVal",
7597
+ "yVal",
7598
+ "smooth",
7599
+ "marker",
7600
+ "explosion",
7601
+ "bubbleSize",
7602
+ "bubble3D",
7603
+ "shape",
7604
+ "extLst"
7605
+ ]);
7606
+ function parseSeries(context, element) {
7607
+ reportUnmodelled(context, element, SERIES);
7608
+ return assignDefined(
7609
+ { dataPoints: children(element, "dPt", NS.c).map((point) => parseDataPoint(context, point)) },
7610
+ {
7611
+ index: cNumber(context, element, "idx"),
7612
+ order: cNumber(context, element, "order"),
7613
+ tx: parseChartText(context, cChild(element, "tx"), true),
7614
+ spPr: shapeProperties(element),
7615
+ marker: parseMarker(context, cChild(element, "marker")),
7616
+ dataLabels: parseDataLabels(context, cChild(element, "dLbls")),
7617
+ categories: parseDataSource(cChild(element, "cat")),
7618
+ values: parseDataSource(cChild(element, "val")),
7619
+ xValues: parseDataSource(cChild(element, "xVal")),
7620
+ yValues: parseDataSource(cChild(element, "yVal")),
7621
+ bubbleSizes: parseDataSource(cChild(element, "bubbleSize")),
7622
+ smooth: cBool(context, element, "smooth"),
7623
+ invertIfNegative: cBool(context, element, "invertIfNegative"),
7624
+ explosion: cNumber(context, element, "explosion"),
7625
+ bubble3D: cBool(context, element, "bubble3D"),
7626
+ shape: cVal(element, "shape"),
7627
+ extLst: extensionList(element)
7628
+ }
7629
+ );
7630
+ }
7631
+
7632
+ // chart/parse-plot.ts
7633
+ var CHART_GROUP_ELEMENTS = {
7634
+ barChart: { kind: "bar", is3D: false },
7635
+ bar3DChart: { kind: "bar", is3D: true },
7636
+ lineChart: { kind: "line", is3D: false },
7637
+ line3DChart: { kind: "line", is3D: true },
7638
+ areaChart: { kind: "area", is3D: false },
7639
+ area3DChart: { kind: "area", is3D: true },
7640
+ pieChart: { kind: "pie", is3D: false },
7641
+ pie3DChart: { kind: "pie", is3D: true },
7642
+ ofPieChart: { kind: "ofPie", is3D: false },
7643
+ doughnutChart: { kind: "doughnut", is3D: false },
7644
+ scatterChart: { kind: "scatter", is3D: false },
7645
+ radarChart: { kind: "radar", is3D: false },
7646
+ bubbleChart: { kind: "bubble", is3D: false },
7647
+ stockChart: { kind: "stock", is3D: false },
7648
+ surfaceChart: { kind: "surface", is3D: false },
7649
+ surface3DChart: { kind: "surface", is3D: true }
7650
+ };
7651
+ var AXIS_ELEMENTS = {
7652
+ catAx: "cat",
7653
+ valAx: "val",
7654
+ dateAx: "date",
7655
+ serAx: "ser"
7656
+ };
7657
+ var GROUP = /* @__PURE__ */ new Set([
7658
+ "ser",
7659
+ "axId",
7660
+ "varyColors",
7661
+ "dLbls",
7662
+ "barDir",
7663
+ "grouping",
7664
+ "gapWidth",
7665
+ "overlap",
7666
+ "gapDepth",
7667
+ "shape",
7668
+ "marker",
7669
+ "smooth",
7670
+ "dropLines",
7671
+ "hiLowLines",
7672
+ "upDownBars",
7673
+ "serLines",
7674
+ "firstSliceAng",
7675
+ "holeSize",
7676
+ "ofPieType",
7677
+ "scatterStyle",
7678
+ "radarStyle",
7679
+ "bubble3D",
7680
+ "bubbleScale",
7681
+ "showNegBubbles",
7682
+ "sizeRepresents",
7683
+ "wireframe",
7684
+ "extLst"
7685
+ ]);
7686
+ function parseGroup(context, element) {
7687
+ const { kind, is3D } = CHART_GROUP_ELEMENTS[element.localName] ?? { kind: "bar", is3D: false };
7688
+ reportUnmodelled(context, element, GROUP);
7689
+ const number = (local) => cNumber(context, element, local);
7690
+ const flag2 = (local) => cBool(context, element, local);
7691
+ const barDir = cVal(element, "barDir");
7692
+ const present = (local) => cChild(element, local) ? true : void 0;
7693
+ const linesShape = (local) => chartLines(element, local)?.spPr;
7694
+ const bars = cChild(element, "upDownBars");
7695
+ return assignDefined(
7696
+ {
7697
+ kind,
7698
+ element: element.localName,
7699
+ is3D,
7700
+ series: children(element, "ser", NS.c).map((ser) => parseSeries(context, ser)),
7701
+ axisIds: children(element, "axId", NS.c).flatMap((axis) => {
7702
+ const raw = attribute(axis, "val")?.trim();
7703
+ const id = raw ? Number(raw) : Number.NaN;
7704
+ return Number.isFinite(id) ? [id] : [];
7705
+ })
7706
+ },
7707
+ {
7708
+ varyColors: flag2("varyColors"),
7709
+ dataLabels: parseDataLabels(context, cChild(element, "dLbls")),
7710
+ barDirection: barDir === "bar" || barDir === "col" ? barDir : void 0,
7711
+ grouping: cVal(element, "grouping"),
7712
+ gapWidth: number("gapWidth"),
7713
+ overlap: number("overlap"),
7714
+ gapDepth: number("gapDepth"),
7715
+ shape: cVal(element, "shape"),
7716
+ marker: flag2("marker"),
7717
+ smooth: flag2("smooth"),
7718
+ dropLines: present("dropLines"),
7719
+ hiLowLines: present("hiLowLines"),
7720
+ upDownBars: present("upDownBars"),
7721
+ seriesLines: present("serLines"),
7722
+ dropLinesSpPr: linesShape("dropLines"),
7723
+ hiLowLinesSpPr: linesShape("hiLowLines"),
7724
+ seriesLinesSpPr: linesShape("serLines"),
7725
+ upDownBarsGapWidth: cNumber(context, bars, "gapWidth"),
7726
+ upBars: chartLines(bars, "upBars"),
7727
+ downBars: chartLines(bars, "downBars"),
7728
+ firstSliceAngle: number("firstSliceAng"),
7729
+ holeSize: number("holeSize"),
7730
+ ofPieType: cVal(element, "ofPieType"),
7731
+ scatterStyle: cVal(element, "scatterStyle"),
7732
+ radarStyle: cVal(element, "radarStyle"),
7733
+ bubble3D: flag2("bubble3D"),
7734
+ bubbleScale: number("bubbleScale"),
7735
+ showNegativeBubbles: flag2("showNegBubbles"),
7736
+ sizeRepresents: cVal(element, "sizeRepresents"),
7737
+ wireframe: flag2("wireframe"),
7738
+ extLst: extensionList(element)
7739
+ }
7740
+ );
7741
+ }
7742
+ var SCALING = /* @__PURE__ */ new Set(["orientation", "logBase", "min", "max", "extLst"]);
7743
+ var AXIS = /* @__PURE__ */ new Set([
7744
+ "axId",
7745
+ "scaling",
7746
+ "delete",
7747
+ "axPos",
7748
+ "majorGridlines",
7749
+ "minorGridlines",
7750
+ "title",
7751
+ "numFmt",
7752
+ "majorTickMark",
7753
+ "minorTickMark",
7754
+ "tickLblPos",
7755
+ "spPr",
7756
+ "txPr",
7757
+ "crossAx",
7758
+ "crosses",
7759
+ "crossesAt",
7760
+ "crossBetween",
7761
+ "majorUnit",
7762
+ "minorUnit",
7763
+ "auto",
7764
+ "lblAlgn",
7765
+ "lblOffset",
7766
+ "tickLblSkip",
7767
+ "tickMarkSkip",
7768
+ "noMultiLvlLbl",
7769
+ "baseTimeUnit",
7770
+ "dispUnits",
7771
+ "extLst"
7772
+ ]);
7773
+ function parseAxis(context, element, kind) {
7774
+ reportUnmodelled(context, element, AXIS);
7775
+ const number = (local) => cNumber(context, element, local);
7776
+ const scalingElement = cChild(element, "scaling");
7777
+ if (scalingElement) reportUnmodelled(context, scalingElement, SCALING);
7778
+ const scaling = assignDefined(
7779
+ {},
7780
+ {
7781
+ orientation: cVal(scalingElement, "orientation"),
7782
+ min: cNumber(context, scalingElement, "min"),
7783
+ max: cNumber(context, scalingElement, "max"),
7784
+ logBase: cNumber(context, scalingElement, "logBase")
7785
+ }
7786
+ );
7787
+ const title = cChild(element, "title");
7788
+ return assignDefined(
7789
+ {
7790
+ kind,
7791
+ scaling,
7792
+ majorGridlines: cChild(element, "majorGridlines") !== void 0,
7793
+ minorGridlines: cChild(element, "minorGridlines") !== void 0
7794
+ },
7795
+ {
7796
+ majorGridlinesSpPr: chartLines(element, "majorGridlines")?.spPr,
7797
+ minorGridlinesSpPr: chartLines(element, "minorGridlines")?.spPr,
7798
+ id: number("axId"),
7799
+ crossAxisId: number("crossAx"),
7800
+ position: cVal(element, "axPos"),
7801
+ deleted: cBool(context, element, "delete"),
7802
+ title: title ? parseTitle(context, title) : void 0,
7803
+ numberFormat: numberFormat(element),
7804
+ majorTickMark: cVal(element, "majorTickMark"),
7805
+ minorTickMark: cVal(element, "minorTickMark"),
7806
+ tickLabelPosition: cVal(element, "tickLblPos"),
7807
+ crosses: cVal(element, "crosses"),
7808
+ crossesAt: number("crossesAt"),
7809
+ crossBetween: cVal(element, "crossBetween"),
7810
+ majorUnit: number("majorUnit"),
7811
+ minorUnit: number("minorUnit"),
7812
+ auto: cBool(context, element, "auto"),
7813
+ labelAlign: cVal(element, "lblAlgn"),
7814
+ labelOffset: number("lblOffset"),
7815
+ tickLabelSkip: number("tickLblSkip"),
7816
+ tickMarkSkip: number("tickMarkSkip"),
7817
+ noMultiLevelLabels: cBool(context, element, "noMultiLvlLbl"),
7818
+ baseTimeUnit: cVal(element, "baseTimeUnit"),
7819
+ displayUnits: parseDisplayUnits(context, cChild(element, "dispUnits")),
7820
+ spPr: shapeProperties(element),
7821
+ txPr: textProperties(element),
7822
+ extLst: extensionList(element)
7823
+ }
7824
+ );
7825
+ }
7826
+ var PLOT_AREA = /* @__PURE__ */ new Set(["layout", "dTable", "spPr", "extLst"]);
7827
+ function parsePlotArea(context, element) {
7828
+ const plotArea = { groups: [], axes: [] };
7829
+ if (!element) {
7830
+ context.issues.push({
7831
+ code: "CHART_PLOT_AREA_MISSING",
7832
+ message: "The chart has no c:plotArea."
7833
+ });
7834
+ return plotArea;
7835
+ }
7836
+ const handled = new Set(PLOT_AREA);
7837
+ for (const child3 of elements(element)) {
7838
+ if (CHART_GROUP_ELEMENTS[child3.localName]) {
7839
+ plotArea.groups.push(parseGroup(context, child3));
7840
+ handled.add(child3.localName);
7841
+ }
7842
+ const axis = AXIS_ELEMENTS[child3.localName];
7843
+ if (axis) {
7844
+ plotArea.axes.push(parseAxis(context, child3, axis));
7845
+ handled.add(child3.localName);
7846
+ }
7847
+ }
7848
+ reportUnmodelled(context, element, handled);
7849
+ return assignDefined(plotArea, {
7850
+ layout: manualLayout(element),
7851
+ dataTable: parseDataTable(context, cChild(element, "dTable")),
7852
+ spPr: shapeProperties(element),
7853
+ extLst: extensionList(element)
7854
+ });
7855
+ }
7856
+
7857
+ // chart/parse-space.ts
7858
+ var LEGEND = /* @__PURE__ */ new Set(["legendPos", "legendEntry", "layout", "overlay", "spPr", "txPr", "extLst"]);
7859
+ function parseLegend(context, element) {
7860
+ reportUnmodelled(context, element, LEGEND);
7861
+ const entries = children(element, "legendEntry", NS.c).map(
7862
+ (entry2) => assignDefined(
7863
+ {},
7864
+ {
7865
+ index: cNumber(context, entry2, "idx"),
7866
+ deleted: cBool(context, entry2, "delete"),
7867
+ txPr: textProperties(entry2)
7868
+ }
7869
+ )
7870
+ );
7871
+ return assignDefined(
7872
+ { entries },
7873
+ {
7874
+ position: cVal(element, "legendPos"),
7875
+ overlay: cBool(context, element, "overlay"),
7876
+ layout: manualLayout(element),
7877
+ spPr: shapeProperties(element),
7878
+ txPr: textProperties(element),
7879
+ extLst: extensionList(element)
7880
+ }
7881
+ );
7882
+ }
7883
+ var VIEW_3D = /* @__PURE__ */ new Set(["rotX", "rotY", "depthPercent", "hPercent", "rAngAx", "perspective"]);
7884
+ function parseView3D(context, element) {
7885
+ reportUnmodelled(context, element, VIEW_3D);
7886
+ return assignDefined(
7887
+ {},
7888
+ {
7889
+ rotX: cNumber(context, element, "rotX"),
7890
+ rotY: cNumber(context, element, "rotY"),
7891
+ depthPercent: cNumber(context, element, "depthPercent"),
7892
+ heightPercent: cNumber(context, element, "hPercent"),
7893
+ rightAngleAxes: cBool(context, element, "rAngAx"),
7894
+ perspective: cNumber(context, element, "perspective")
7895
+ }
7896
+ );
7897
+ }
7898
+ function chartStyle(context, space) {
7899
+ const direct = cNumber(context, space, "style");
7900
+ if (direct !== void 0) return direct;
7901
+ for (const alternate of children(space, "AlternateContent", NS.mc)) {
7902
+ const style = cNumber(context, first(alternate, "Fallback", NS.mc), "style");
7903
+ if (style !== void 0) return style;
7904
+ }
7905
+ return void 0;
7906
+ }
7907
+ function c14Style(space) {
7908
+ for (const alternate of children(space, "AlternateContent", NS.mc)) {
7909
+ const raw = attribute(first(first(alternate, "Choice", NS.mc), "style", NS.c14, false), "val");
7910
+ const value = raw?.trim() ? Number(raw) : Number.NaN;
7911
+ if (Number.isFinite(value)) return value;
7912
+ }
7913
+ return void 0;
7914
+ }
7915
+ function namespaceDeclarations(root) {
7916
+ const out = [];
7917
+ for (const item of Array.from(root.attributes)) {
7918
+ if (item.prefix !== "xmlns" || CHART_ROOT_BINDINGS.get(item.localName) === item.value) continue;
7919
+ out.push({ prefix: item.localName, uri: item.value });
7920
+ }
7921
+ return out.length ? out : void 0;
7922
+ }
7923
+ var CHART = /* @__PURE__ */ new Set([
7924
+ "title",
7925
+ "autoTitleDeleted",
7926
+ "view3D",
7927
+ "floor",
7928
+ "sideWall",
7929
+ "backWall",
7930
+ "plotArea",
7931
+ "legend",
7932
+ "plotVisOnly",
7933
+ "dispBlanksAs",
7934
+ "showDLblsOverMax",
7935
+ "extLst"
7936
+ ]);
7937
+ var SPACE = /* @__PURE__ */ new Set([
7938
+ "date1904",
7939
+ "lang",
7940
+ "roundedCorners",
7941
+ "AlternateContent",
7942
+ "style",
7943
+ "chart",
7944
+ "spPr",
7945
+ "txPr",
7946
+ "externalData",
7947
+ "printSettings",
7948
+ "userShapes",
7949
+ "extLst"
7950
+ ]);
7951
+ function parseChartSpace(source) {
7952
+ const context = { issues: [] };
7953
+ const root = typeof source === "string" ? parseXml(source, { label: "Chart part" }).documentElement : source;
7954
+ if (root.localName !== "chartSpace" || root.namespaceURI && root.namespaceURI !== NS.c) {
7955
+ context.issues.push({
7956
+ code: "CHART_ROOT_UNEXPECTED",
7957
+ message: `The part root is {${root.namespaceURI ?? ""}}${root.localName}, not c:chartSpace (chartex parts are not modelled).`
7958
+ });
7959
+ return { chartSpace: { plotArea: { groups: [], axes: [] } }, issues: context.issues };
7960
+ }
7961
+ reportUnmodelled(context, root, SPACE);
7962
+ const chart = cChild(root, "chart");
7963
+ if (!chart)
7964
+ context.issues.push({ code: "CHART_CHART_MISSING", message: "The part has no c:chart." });
7965
+ else reportUnmodelled(context, chart, CHART);
7966
+ const title = cChild(chart, "title");
7967
+ const legend = cChild(chart, "legend");
7968
+ const view3D = cChild(chart, "view3D");
7969
+ const printSettings = cChild(root, "printSettings");
7970
+ const chartSpace = assignDefined(
7971
+ { plotArea: parsePlotArea(context, cChild(chart, "plotArea")) },
7972
+ {
7973
+ date1904: cBool(context, root, "date1904"),
7974
+ language: cVal(root, "lang"),
7975
+ roundedCorners: cBool(context, root, "roundedCorners"),
7976
+ style: chartStyle(context, root),
7977
+ c14Style: c14Style(root),
7978
+ title: title ? parseTitle(context, title) : void 0,
7979
+ autoTitleDeleted: cBool(context, chart, "autoTitleDeleted"),
7980
+ view3D: view3D ? parseView3D(context, view3D) : void 0,
7981
+ floor: parseSurface(context, cChild(chart, "floor")),
7982
+ sideWall: parseSurface(context, cChild(chart, "sideWall")),
7983
+ backWall: parseSurface(context, cChild(chart, "backWall")),
7984
+ legend: legend ? parseLegend(context, legend) : void 0,
7985
+ plotVisibleOnly: cBool(context, chart, "plotVisOnly"),
7986
+ displayBlanksAs: cVal(chart, "dispBlanksAs"),
7987
+ showDataLabelsOverMax: cBool(context, chart, "showDLblsOverMax"),
7988
+ spPr: shapeProperties(root),
7989
+ txPr: textProperties(root),
7990
+ externalDataRelId: relAttr(cChild(root, "externalData"), "id") || void 0,
7991
+ externalDataAutoUpdate: cBool(context, cChild(root, "externalData"), "autoUpdate"),
7992
+ printSettings: printSettings ? buildXml(printSettings) : void 0,
7993
+ userShapesRelId: relAttr(cChild(root, "userShapes"), "id") || void 0,
7994
+ chartExtLst: extensionList(chart),
7995
+ extLst: extensionList(root),
7996
+ namespaceDeclarations: namespaceDeclarations(root)
7997
+ }
7998
+ );
7999
+ return { chartSpace, issues: context.issues };
8000
+ }
8001
+
8002
+ // drawingml/theme.ts
8003
+ new Set(THEME_COLOR_SLOTS);
8004
+ function nonEmpty(value) {
8005
+ return value ? value : void 0;
8006
+ }
8007
+ function parseThemeColorScheme(scheme) {
8008
+ const result = { colors: {} };
8009
+ if (!scheme) return result;
8010
+ const name = nonEmpty(scheme.getAttribute("name"));
8011
+ if (name) result.name = name;
8012
+ for (const slot2 of THEME_COLOR_SLOTS) {
8013
+ const color = parseDrawingColorIn(first(scheme, slot2, NS.a));
8014
+ if (color) result.colors[slot2] = color;
8015
+ }
8016
+ return result;
8017
+ }
8018
+ function parseFontCollection(collection) {
8019
+ const result = { scripts: {} };
8020
+ if (!collection) return result;
8021
+ const typeface = (local) => nonEmpty(first(collection, local, NS.a)?.getAttribute("typeface"));
8022
+ const latin = typeface("latin");
8023
+ const eastAsia = typeface("ea");
8024
+ const complexScript = typeface("cs");
8025
+ if (latin) result.latin = latin;
8026
+ if (eastAsia) result.eastAsia = eastAsia;
8027
+ if (complexScript) result.complexScript = complexScript;
8028
+ for (const font of elements(collection)) {
8029
+ if (font.localName !== "font") continue;
8030
+ const script = nonEmpty(font.getAttribute("script"));
8031
+ const face = nonEmpty(font.getAttribute("typeface"));
8032
+ if (script && face && !Object.hasOwn(result.scripts, script)) result.scripts[script] = face;
8033
+ }
8034
+ return result;
8035
+ }
8036
+ function parseThemeFontScheme(scheme) {
8037
+ const result = {
8038
+ major: parseFontCollection(first(scheme, "majorFont", NS.a)),
8039
+ minor: parseFontCollection(first(scheme, "minorFont", NS.a))
8040
+ };
8041
+ const name = nonEmpty(scheme?.getAttribute("name"));
8042
+ if (name) result.name = name;
8043
+ return result;
8044
+ }
8045
+ function rootOf2(source) {
8046
+ return "documentElement" in source ? source.documentElement : source;
8047
+ }
8048
+ function parseTheme(source) {
8049
+ const root = rootOf2(source);
8050
+ const holder = first(root, "themeElements", NS.a) ?? root;
8051
+ const theme = {
8052
+ colorScheme: parseThemeColorScheme(first(holder, "clrScheme", NS.a)),
8053
+ fontScheme: parseThemeFontScheme(first(holder, "fontScheme", NS.a))
8054
+ };
8055
+ const name = nonEmpty(root.getAttribute("name"));
8056
+ if (name) theme.name = name;
8057
+ return theme;
8058
+ }
8059
+
8060
+ // drawingml/theme-color.ts
8061
+ function themeSlotHex(color) {
8062
+ if (!color) return void 0;
8063
+ const value = color.kind === "srgb" ? color.value : color.kind === "system" ? color.fallback : void 0;
8064
+ return value ? value.toUpperCase() : void 0;
8065
+ }
8066
+
8067
+ // docx/breaks.ts
8068
+ function isCachedPageBreak(element) {
8069
+ return named2(element, "lastRenderedPageBreak") && !element.childNodes.length && Array.from(element.attributes).every(
8070
+ (attribute2) => attribute2.namespaceURI === "http://www.w3.org/2000/xmlns/"
8071
+ );
8072
+ }
8073
+ function hasSpecialBreak(element) {
8074
+ for (const attribute2 of Array.from(element.attributes)) {
8075
+ if (attribute2.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
8076
+ if (attribute2.namespaceURI !== WORD_NS) return true;
8077
+ if (attribute2.localName === "type") {
8078
+ if (attribute2.value !== "textWrapping") return true;
8079
+ } else if (attribute2.localName === "clear") {
8080
+ if (attribute2.value !== "none") return true;
8081
+ } else return true;
8082
+ }
8083
+ return false;
8084
+ }
8085
+ function classifyBreak(element) {
8086
+ const type = getW(element, "type");
8087
+ return type === "page" || type === "column" ? type : "textWrapping";
8088
+ }
8089
+ function isModeledBreak(element) {
8090
+ const kind = classifyBreak(element);
8091
+ if (kind === "textWrapping") return false;
8092
+ for (const attribute2 of Array.from(element.attributes)) {
8093
+ if (attribute2.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
8094
+ if (attribute2.namespaceURI !== WORD_NS || attribute2.localName !== "type") return false;
8095
+ }
8096
+ return true;
8097
+ }
8098
+
8099
+ // docx/parse-warnings.ts
8100
+ function hasAny(document, names) {
8101
+ return names.some((name) => document.getElementsByTagNameNS(WORD_NS, name).length > 0);
8102
+ }
8103
+ function warningsFor(document) {
8104
+ const warnings = [];
8105
+ const features = [
8106
+ [["object"], "Embedded OLE objects (w:object) are preserved but rendered as a placeholder."],
8107
+ [["altChunk"], "Embedded alternate-format content is not represented in the document model."],
8108
+ [
8109
+ ["fldSimple", "instrText", "fldChar"],
8110
+ "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."
8111
+ ],
8112
+ [
8113
+ ["moveFrom", "moveTo"],
8114
+ "Moved text is linked by its move name: accepting or rejecting either side resolves both. Moves are shown and saved with their range markers."
8115
+ ],
8116
+ [
8117
+ ["rPrChange"],
8118
+ "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."
8119
+ ],
8120
+ [
8121
+ ["pPrChange"],
8122
+ "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."
8123
+ ],
8124
+ [
8125
+ ["tblPrChange", "trPrChange", "tcPrChange"],
8126
+ "Table-structure tracked changes are preserved in the source XML but are not represented in the document model."
8127
+ ]
8128
+ ];
8129
+ for (const [names, message] of features) if (hasAny(document, names)) warnings.push(message);
8130
+ if (Array.from(document.getElementsByTagNameNS(WORD_NS, "instrText")).some(
8131
+ (el3) => /HYPERLINK/i.test(textContent(el3))
8132
+ ))
8133
+ warnings.push(
8134
+ "Complex HYPERLINK field codes (w:fldChar/w:instrText) are preserved but not parsed as links; their result text edits as plain text."
8135
+ );
8136
+ const specialBreak = Array.from(document.getElementsByTagNameNS(WORD_NS, "br")).some(
8137
+ (br) => hasSpecialBreak(br) && !isModeledBreak(br)
8138
+ ) || Array.from(document.getElementsByTagNameNS(WORD_NS, "cr")).some(
8139
+ (cr) => cr.attributes.length > 0
8140
+ );
8141
+ if (specialBreak)
8142
+ warnings.push(
8143
+ "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."
8144
+ );
8145
+ return warnings;
8146
+ }
8147
+ function forEachParagraph2(blocks, visit) {
8148
+ for (const block of blocks) {
8149
+ if (block.type === "paragraph") visit(block);
8150
+ else for (const row of block.rows) for (const cell of row) cell.paragraphs.forEach(visit);
8151
+ }
8152
+ }
8153
+ function imageAndBookmarkWarnings(blocks) {
8154
+ const warnings = [];
8155
+ let hasPicture = false;
8156
+ let hasAnchored = false;
8157
+ const unsupportedKinds = /* @__PURE__ */ new Set();
8158
+ let hasBookmarks = false;
8159
+ forEachParagraph2(blocks, (paragraph) => {
8160
+ if (paragraph.bookmarks?.length) hasBookmarks = true;
8161
+ for (const run of paragraph.runs) {
8162
+ if (!run.image) continue;
8163
+ if (run.image.unsupported) {
8164
+ if (run.image.diagram?.rendering !== "cached-drawing")
8165
+ unsupportedKinds.add(run.image.unsupported);
8166
+ } else hasPicture = true;
8167
+ if (run.image.anchored) hasAnchored = true;
8168
+ }
8169
+ });
8170
+ if (hasPicture)
8171
+ warnings.push(
8172
+ "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."
8173
+ );
8174
+ if (hasAnchored)
8175
+ warnings.push(
8176
+ "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."
8177
+ );
8178
+ if (unsupportedKinds.size)
8179
+ warnings.push(
8180
+ `${Array.from(unsupportedKinds).join(", ")} content is rendered as a labeled placeholder and is not editable.`
8181
+ );
8182
+ if (hasBookmarks)
8183
+ warnings.push(
8184
+ "Bookmark names are read-only; editing a paragraph that contains bookmarks preserves them but moves their start/end to the paragraph boundaries."
8185
+ );
8186
+ return warnings;
8187
+ }
8188
+
8189
+ // docx/chart.ts
8190
+ var CHART_GRAPHIC_URI = "http://schemas.openxmlformats.org/drawingml/2006/chart";
8191
+ var CHART_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart";
8192
+ var PACKAGE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package";
8193
+ 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.";
8194
+ function parseChartGraphic(graphicData, docPr, rels, isAnchor) {
8195
+ const element = Array.from(graphicData.childNodes).find(
8196
+ (node) => isElement(node) && node.localName === "chart"
8197
+ );
8198
+ const relId = getR(element, "id") || void 0;
8199
+ const issues = [];
8200
+ let partName;
8201
+ const rel = relId ? rels.get(relId) : void 0;
8202
+ if (!relId)
8203
+ issues.push({
8204
+ code: "CHART_RELATIONSHIP_MISSING",
8205
+ message: "The graphic has no c:chart/@r:id."
8206
+ });
8207
+ else if (!rel || rel.mode === "External")
8208
+ issues.push({
8209
+ code: "CHART_RELATIONSHIP_UNRESOLVED",
8210
+ message: `Chart relationship ${relId} does not point at a part in this package.`
8211
+ });
8212
+ else {
8213
+ if (rel.type !== CHART_RELATIONSHIP_TYPE)
8214
+ issues.push({
8215
+ code: "CHART_RELATIONSHIP_TYPE",
8216
+ message: `Chart relationship ${relId} has type ${rel.type}, expected ${CHART_RELATIONSHIP_TYPE}.`
8217
+ });
8218
+ partName = resolvePartPath("word/document.xml", rel.target);
8219
+ }
8220
+ const name = docPr?.getAttribute("name") || void 0;
8221
+ const id = docPr?.getAttribute("id") || void 0;
8222
+ return {
8223
+ placement: isAnchor ? "anchor" : "inline",
6961
8224
  ...name ? { name } : {},
6962
8225
  ...id ? { id } : {},
6963
- relationshipIds,
6964
- parts,
6965
- hostRelationships,
6966
- nodes: [],
6967
- rendering: "placeholder",
6968
- notice: diagramNotice("placeholder"),
8226
+ ...relId ? { relId } : {},
8227
+ ...partName ? { partName } : {},
8228
+ notice: CHART_NOTICE,
6969
8229
  issues
6970
8230
  };
6971
8231
  }
6972
- async function resolveDiagramParts(diagram, readText) {
6973
- const hostPart = "word/document.xml";
6974
- const dataPart = diagram.parts.data?.partName;
6975
- let declaredDrawing;
8232
+ async function resolveChartPart(chart, readText) {
8233
+ if (!chart.partName) return;
6976
8234
  try {
6977
- const dataXml = dataPart ? await readText(dataPart) : void 0;
6978
- declaredDrawing = dataXml ? parseDiagramDataModel(dataXml).drawingRelId : void 0;
6979
- } catch {
6980
- }
6981
- const offered = Object.entries(diagram.hostRelationships).filter(
6982
- ([id]) => id === declaredDrawing || !isDrawingRelationship(diagram, id)
6983
- );
6984
- const loaded = await loadDiagram(hostPart, diagram.relationshipIds, {
6985
- hostRelationships: () => new Map(offered.map(([id, name]) => [id, `/${name}`])),
6986
- resolvePath: resolvePartPath,
6987
- readText,
6988
- readRelationshipEntries: async (relsPart) => {
6989
- const xml = await readText(relsPart);
6990
- if (!xml) return void 0;
6991
- try {
6992
- return [...parseRelationships(xml).values()].map(({ id, type, target }) => ({
6993
- id,
6994
- type,
6995
- target
6996
- }));
6997
- } catch {
6998
- return void 0;
6999
- }
8235
+ const xml = await readText(chart.partName);
8236
+ if (xml === void 0) {
8237
+ chart.issues.push({
8238
+ code: "CHART_PART_MISSING",
8239
+ message: `The chart part ${chart.partName} is not in the package.`
8240
+ });
8241
+ return;
7000
8242
  }
7001
- });
7002
- const known = new Set(diagram.issues.map((issue) => `${issue.code}|${issue.message}`));
7003
- const fresh = loaded.issues.filter(
7004
- (issue) => !issue.code.startsWith("DIAGRAM_RELATIONSHIP_") && !known.has(`${issue.code}|${issue.message}`)
7005
- );
7006
- diagram.issues.push(...fresh);
7007
- if (loaded.paths.drawing && loaded.drawingRelId)
7008
- diagram.parts.drawing = { relId: loaded.drawingRelId, partName: loaded.paths.drawing };
7009
- if (loaded.layout) {
7010
- diagram.layout = {
7011
- uniqueId: loaded.layout.uniqueId,
7012
- ...loaded.layout.family ? { family: loaded.layout.family } : {},
7013
- ...loaded.layout.rootAlgorithm ? { rootAlgorithm: loaded.layout.rootAlgorithm } : {}
7014
- };
7015
- }
7016
- if (loaded.colors?.uniqueId) diagram.colorsId = loaded.colors.uniqueId;
7017
- if (loaded.quickStyle?.uniqueId) diagram.quickStyleId = loaded.quickStyle.uniqueId;
7018
- if (loaded.data)
7019
- diagram.nodes = loaded.data.nodes.map((node) => ({
7020
- id: node.modelId,
7021
- text: node.text,
7022
- ...loaded.data?.parentById.get(node.modelId) ? { parentId: loaded.data.parentById.get(node.modelId) } : {}
7023
- }));
7024
- if (loaded.drawing && loaded.drawing.shapes.length > 0) {
7025
- diagram.drawing = loaded.drawing;
7026
- diagram.rendering = "cached-drawing";
7027
- } else {
7028
- delete diagram.drawing;
7029
- diagram.rendering = "placeholder";
8243
+ const root = parseXml(xml, { label: "Chart part" }).documentElement;
8244
+ const { chartSpace, issues } = parseChartSpace(root);
8245
+ chart.chartSpace = chartSpace;
8246
+ chart.issues.push(...issues);
8247
+ const title = chartSpace.autoTitleDeleted ? void 0 : chartSpace.title?.text;
8248
+ if (title) chart.title = title;
8249
+ if (chartSpace.plotArea.groups.length) {
8250
+ const formatting = readChartFormatting(root);
8251
+ if (formatting) chart.formatting = formatting;
8252
+ }
8253
+ const rels = parseRelationships(await readText(relationshipsPartFor(chart.partName)));
8254
+ const dataRelId = chartSpace.externalDataRelId;
8255
+ const dataRel = dataRelId ? rels.get(dataRelId) : void 0;
8256
+ if (dataRel && dataRel.mode !== "External" && dataRel.type === PACKAGE_RELATIONSHIP_TYPE)
8257
+ chart.workbookPartName = resolvePartPath(chart.partName, dataRel.target);
8258
+ const colorsRel = [...rels.values()].find(
8259
+ (rel) => rel.mode !== "External" && rel.type.endsWith("/chartColorStyle")
8260
+ );
8261
+ const colorsXml = colorsRel && await readText(resolvePartPath(chart.partName, colorsRel.target));
8262
+ const palette = colorsXml ? chartColorStyleId(colorsXml) : void 0;
8263
+ if (palette !== void 0) chart.colorPalette = palette;
8264
+ } catch (error) {
8265
+ chart.issues.push({
8266
+ code: "CHART_PART_UNREADABLE",
8267
+ message: `The chart part ${chart.partName} could not be read: ${error instanceof Error ? error.message : String(error)}`
8268
+ });
7030
8269
  }
7031
- diagram.notice = diagramNotice(diagram.rendering);
8270
+ }
8271
+ function chartsIn(blocks) {
8272
+ const charts = [];
8273
+ forEachParagraph2(blocks, (paragraph) => {
8274
+ for (const run of paragraph.runs) if (run.image?.chart) charts.push(run.image.chart);
8275
+ });
8276
+ return charts;
8277
+ }
8278
+ async function resolveDocumentCharts(blocks, readText) {
8279
+ for (const chart of chartsIn(blocks)) await resolveChartPart(chart, readText);
7032
8280
  }
7033
8281
 
7034
8282
  // docx/drawing.ts
@@ -7146,6 +8394,7 @@ function parseModernDrawing(node, context) {
7146
8394
  ...svg ? { svgPartName: svg.partName } : {}
7147
8395
  };
7148
8396
  const diagram = uri === DIAGRAM_GRAPHIC_URI && graphicData ? parseDiagramGraphic(graphicData, extent, docPr, context.rels, Boolean(anchored)) : void 0;
8397
+ const chart = uri === CHART_GRAPHIC_URI && graphicData ? parseChartGraphic(graphicData, docPr, context.rels, Boolean(anchored)) : void 0;
7149
8398
  const textBox = uri.includes("wordprocessingShape") ? textBoxParagraphs(graphicData) : void 0;
7150
8399
  return {
7151
8400
  relId: relId ?? "",
@@ -7156,6 +8405,7 @@ function parseModernDrawing(node, context) {
7156
8405
  ...definedProps({ altText, title, anchored }),
7157
8406
  unsupported: textBox ? "Text box" : unsupportedKindLabel(uri),
7158
8407
  ...diagram ? { diagram } : {},
8408
+ ...chart ? { chart } : {},
7159
8409
  ...diagram && placement ? { placement } : {},
7160
8410
  ...textBox ? { textBoxText: textBox } : {},
7161
8411
  ...textBox && isSimpleTextBox(graphicData, Boolean(anchored)) ? { textBoxEditable: true, textBoxBorder: textBoxHasBorder(graphicData) } : {}
@@ -7235,8 +8485,8 @@ function findDrawingChild(run) {
7235
8485
  if (isElement(child3) && (named2(child3, "drawing") || named2(child3, "pict"))) return child3;
7236
8486
  return void 0;
7237
8487
  }
7238
- function sameUnderlyingImage(a, b) {
7239
- return Boolean(a.partName) && a.relId === b.relId && a.partName === b.partName;
8488
+ function sameUnderlyingImage(a2, b) {
8489
+ return Boolean(a2.partName) && a2.relId === b.relId && a2.partName === b.partName;
7240
8490
  }
7241
8491
  function walk(root, visit) {
7242
8492
  const stack = [root];
@@ -7446,17 +8696,17 @@ function setBooleanAttribute(doc, props, local, value) {
7446
8696
  }
7447
8697
  setAttribute6(element, "val", value ? "1" : "0");
7448
8698
  }
7449
- function setLanguageAttribute(doc, props, attribute, value) {
8699
+ function setLanguageAttribute(doc, props, attribute2, value) {
7450
8700
  let language = first2(props, "lang");
7451
8701
  if (value === void 0 || value === "") {
7452
8702
  if (!language) return;
7453
- language.removeAttributeNS(WORD_NS, attribute);
8703
+ language.removeAttributeNS(WORD_NS, attribute2);
7454
8704
  } else {
7455
8705
  if (!language) {
7456
8706
  language = makeW(doc, "lang");
7457
8707
  props.appendChild(language);
7458
8708
  }
7459
- setAttribute6(language, attribute, value);
8709
+ setAttribute6(language, attribute2, value);
7460
8710
  }
7461
8711
  if (language && !language.attributes.length && !language.childNodes.length)
7462
8712
  props.removeChild(language);
@@ -7556,8 +8806,8 @@ function setRunProperties(doc, runNode, run, base) {
7556
8806
  };
7557
8807
  for (const script of ["ascii", "hAnsi", "eastAsia", "cs"]) {
7558
8808
  const role = run.fontTheme?.[script];
7559
- const [attribute, suffix] = themeAttribute[script];
7560
- if (role) setAttribute6(fonts, attribute, `${role}${suffix}`);
8809
+ const [attribute2, suffix] = themeAttribute[script];
8810
+ if (role) setAttribute6(fonts, attribute2, `${role}${suffix}`);
7561
8811
  }
7562
8812
  props.appendChild(fonts);
7563
8813
  }
@@ -7645,8 +8895,8 @@ function createRun(doc, run, base, old, allocator) {
7645
8895
  }
7646
8896
 
7647
8897
  // docx/inline-source.ts
7648
- function samePictureSource(a, b) {
7649
- return !!a?.partName && a.partName === b?.partName && a.relId === b?.relId;
8898
+ function samePictureSource(a2, b) {
8899
+ return !!a2?.partName && a2.partName === b?.partName && a2.relId === b?.relId;
7650
8900
  }
7651
8901
  function inlineSourceLookup(runs, base) {
7652
8902
  const usedPictures = /* @__PURE__ */ new Set();
@@ -7688,8 +8938,8 @@ function takeSimpleFieldCommentEdges(doc, runs, start, end, opens, closes) {
7688
8938
  }
7689
8939
 
7690
8940
  // docx/field-lock.ts
7691
- function sameFieldFlags(a, b) {
7692
- return a?.locked === b?.locked && a?.dirty === b?.dirty;
8941
+ function sameFieldFlags(a2, b) {
8942
+ return a2?.locked === b?.locked && a2?.dirty === b?.dirty;
7693
8943
  }
7694
8944
  var MATH_NAMESPACES = /* @__PURE__ */ new Set([
7695
8945
  "http://schemas.openxmlformats.org/officeDocument/2006/math",
@@ -7716,38 +8966,6 @@ function preserveEquation(run, base, old) {
7716
8966
  return old.cloneNode(true);
7717
8967
  }
7718
8968
 
7719
- // docx/breaks.ts
7720
- function isCachedPageBreak(element) {
7721
- return named2(element, "lastRenderedPageBreak") && !element.childNodes.length && Array.from(element.attributes).every(
7722
- (attribute) => attribute.namespaceURI === "http://www.w3.org/2000/xmlns/"
7723
- );
7724
- }
7725
- function hasSpecialBreak(element) {
7726
- for (const attribute of Array.from(element.attributes)) {
7727
- if (attribute.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
7728
- if (attribute.namespaceURI !== WORD_NS) return true;
7729
- if (attribute.localName === "type") {
7730
- if (attribute.value !== "textWrapping") return true;
7731
- } else if (attribute.localName === "clear") {
7732
- if (attribute.value !== "none") return true;
7733
- } else return true;
7734
- }
7735
- return false;
7736
- }
7737
- function classifyBreak(element) {
7738
- const type = getW(element, "type");
7739
- return type === "page" || type === "column" ? type : "textWrapping";
7740
- }
7741
- function isModeledBreak(element) {
7742
- const kind = classifyBreak(element);
7743
- if (kind === "textWrapping") return false;
7744
- for (const attribute of Array.from(element.attributes)) {
7745
- if (attribute.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
7746
- if (attribute.namespaceURI !== WORD_NS || attribute.localName !== "type") return false;
7747
- }
7748
- return true;
7749
- }
7750
-
7751
8969
  // docx/parse-revisions.ts
7752
8970
  var REVISION_WRAPPERS = {
7753
8971
  ins: "insert",
@@ -7769,7 +8987,7 @@ function trackMoveRange(item, moves) {
7769
8987
  const open = moves[range.kind];
7770
8988
  if (range.start) open.push({ name: getW(item, "name") ?? id, id });
7771
8989
  else {
7772
- const index = open.findIndex((entry) => entry.id === id);
8990
+ const index = open.findIndex((entry2) => entry2.id === id);
7773
8991
  if (index >= 0) open.splice(index, 1);
7774
8992
  }
7775
8993
  return true;
@@ -7942,10 +9160,10 @@ function replaceableInlineChildren(paragraph) {
7942
9160
  (child3) => isElement(child3) && (isEquationElement(child3) || named2(child3, "r") || named2(child3, "hyperlink") || named2(child3, "fldSimple") || isRevisionWrapperElement(child3) || isCommentAnchorElement(child3))
7943
9161
  );
7944
9162
  }
7945
- function sameLink(a, b) {
7946
- if (!a && !b) return true;
7947
- if (!a || !b) return false;
7948
- return a.href === b.href && a.anchor === b.anchor && a.tooltip === b.tooltip;
9163
+ function sameLink(a2, b) {
9164
+ if (!a2 && !b) return true;
9165
+ if (!a2 || !b) return false;
9166
+ return a2.href === b.href && a2.anchor === b.anchor && a2.tooltip === b.tooltip;
7949
9167
  }
7950
9168
  function setW6(element, local, value) {
7951
9169
  element.setAttributeNS(WORD_NS, `w:${local}`, value);
@@ -8034,10 +9252,10 @@ function containerGroup(run) {
8034
9252
  };
8035
9253
  return void 0;
8036
9254
  }
8037
- function sameGroup(a, b) {
8038
- if (!a || !b) return a === b;
8039
- if (a.kind === "link" && b.kind === "link") return sameLink(a.link, b.link);
8040
- return a.kind === "simpleField" && b.kind === "simpleField" && a.instr === b.instr && a.instanceId === b.instanceId && sameFieldFlags(a.fieldFlags, b.fieldFlags);
9255
+ function sameGroup(a2, b) {
9256
+ if (!a2 || !b) return a2 === b;
9257
+ if (a2.kind === "link" && b.kind === "link") return sameLink(a2.link, b.link);
9258
+ return a2.kind === "simpleField" && b.kind === "simpleField" && a2.instr === b.instr && a2.instanceId === b.instanceId && sameFieldFlags(a2.fieldFlags, b.fieldFlags);
8041
9259
  }
8042
9260
 
8043
9261
  // docx/paragraph-styles.ts
@@ -8386,8 +9604,8 @@ var IMAGE_RELATIONSHIP_TYPE = RELATIONSHIP_TYPES.image;
8386
9604
  function scanUsedRelationshipIds(doc) {
8387
9605
  const used = /* @__PURE__ */ new Set();
8388
9606
  const visit = (node) => {
8389
- for (const attribute of Array.from(node.attributes))
8390
- if (attribute.namespaceURI === REL_NS) used.add(attribute.value);
9607
+ for (const attribute2 of Array.from(node.attributes))
9608
+ if (attribute2.namespaceURI === REL_NS) used.add(attribute2.value);
8391
9609
  for (const child3 of Array.from(node.childNodes)) if (isElement(child3)) visit(child3);
8392
9610
  };
8393
9611
  if (doc.documentElement) visit(doc.documentElement);
@@ -8625,9 +9843,9 @@ function isXsdDateTime(value) {
8625
9843
  return !zone || Number(zone[1]) <= 14 && Number(zone[2]) <= 59;
8626
9844
  }
8627
9845
  var Checker = class _Checker {
8628
- constructor(issues, path) {
9846
+ constructor(issues, path2) {
8629
9847
  this.issues = issues;
8630
- this.path = path;
9848
+ this.path = path2;
8631
9849
  }
8632
9850
  issues;
8633
9851
  path;
@@ -8673,78 +9891,78 @@ var Checker = class _Checker {
8673
9891
 
8674
9892
  // docx/validate-paragraph.ts
8675
9893
  var isFraction = (value) => typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 1;
8676
- function validateThemeReference(c, field, value) {
9894
+ function validateThemeReference(c2, field, value) {
8677
9895
  if (value === void 0) return;
8678
- const at = c.at(`.${field}`);
9896
+ const at = c2.at(`.${field}`);
8679
9897
  at.theme("token", value.token);
8680
9898
  at.check("tint", value.tint, isFraction, "must be a fraction between 0 and 1");
8681
9899
  at.check("shade", value.shade, isFraction, "must be a fraction between 0 and 1");
8682
9900
  }
8683
- function validateRevision(c, field, revision) {
9901
+ function validateRevision(c2, field, revision) {
8684
9902
  if (revision === void 0) return;
8685
- c.at(`.${field}`).dateTime("date", revision.date);
9903
+ c2.at(`.${field}`).dateTime("date", revision.date);
8686
9904
  }
8687
- function validateFontSize(c, value) {
8688
- c.check(
9905
+ function validateFontSize(c2, value) {
9906
+ c2.check(
8689
9907
  "fontSize",
8690
9908
  value,
8691
9909
  (v) => typeof v === "number" && Number.isFinite(v) && Math.round(v * 2) >= 0,
8692
9910
  "must be a finite, non-negative point size that converts to whole half-points (ST_HpsMeasure)"
8693
9911
  );
8694
9912
  }
8695
- function validateRun(c, run) {
8696
- c.enum("ligatures", run.ligatures, isLigatures, "ST_Ligatures");
8697
- validateFontSize(c, run.fontSize);
8698
- c.check(
9913
+ function validateRun(c2, run) {
9914
+ c2.enum("ligatures", run.ligatures, isLigatures, "ST_Ligatures");
9915
+ validateFontSize(c2, run.fontSize);
9916
+ c2.check(
8699
9917
  "textScalePercent",
8700
9918
  run.textScalePercent,
8701
9919
  (v) => Number.isSafeInteger(v) && v >= 0 && v <= 600,
8702
9920
  "must be a whole percentage from 0 through 600 (ST_TextScale)"
8703
9921
  );
8704
- c.check(
9922
+ c2.check(
8705
9923
  "kerningHalfPoints",
8706
9924
  run.kerningHalfPoints,
8707
9925
  (v) => Number.isSafeInteger(v) && v >= 0,
8708
9926
  "must be a nonnegative whole number of half-points (ST_HpsMeasure)"
8709
9927
  );
8710
- c.check(
9928
+ c2.check(
8711
9929
  "positionHalfPoints",
8712
9930
  run.positionHalfPoints,
8713
9931
  Number.isSafeInteger,
8714
9932
  "must be a signed whole number of half-points (ST_SignedHpsMeasure)"
8715
9933
  );
8716
- c.hex("color", run.color);
8717
- c.hex("shadingFill", run.shadingFill);
8718
- c.hex("underlineColor", run.underlineColor);
8719
- validateThemeReference(c, "colorTheme", run.colorTheme);
8720
- validateThemeReference(c, "shadingThemeFill", run.shadingThemeFill);
8721
- c.enum("underlineStyle", run.underlineStyle, isStUnderline, "ST_Underline");
9934
+ c2.hex("color", run.color);
9935
+ c2.hex("shadingFill", run.shadingFill);
9936
+ c2.hex("underlineColor", run.underlineColor);
9937
+ validateThemeReference(c2, "colorTheme", run.colorTheme);
9938
+ validateThemeReference(c2, "shadingThemeFill", run.shadingThemeFill);
9939
+ c2.enum("underlineStyle", run.underlineStyle, isStUnderline, "ST_Underline");
8722
9940
  if (run.highlight !== void 0 && !isStHighlightColor(run.highlight))
8723
- c.fail(
9941
+ c2.fail(
8724
9942
  "highlight",
8725
9943
  run.highlight,
8726
9944
  `Unsupported Word highlight token: ${String(run.highlight)}`
8727
9945
  );
8728
- c.enum("break", run.break, isStBrType, "ST_BrType");
8729
- c.enum("fieldChar", run.fieldChar, isStFldCharType, "ST_FldCharType");
8730
- c.check(
9946
+ c2.enum("break", run.break, isStBrType, "ST_BrType");
9947
+ c2.enum("fieldChar", run.fieldChar, isStFldCharType, "ST_FldCharType");
9948
+ c2.check(
8731
9949
  "characterSpacingTwips",
8732
9950
  run.characterSpacingTwips,
8733
9951
  (v) => typeof v === "number" && Number.isFinite(v),
8734
9952
  "must be a finite number of twips (ST_SignedTwipsMeasure)"
8735
9953
  );
8736
- c.language("language", run.language);
8737
- c.language("eastAsiaLanguage", run.eastAsiaLanguage);
8738
- c.language("bidiLanguage", run.bidiLanguage);
8739
- c.check(
9954
+ c2.language("language", run.language);
9955
+ c2.language("eastAsiaLanguage", run.eastAsiaLanguage);
9956
+ c2.language("bidiLanguage", run.bidiLanguage);
9957
+ c2.check(
8740
9958
  "verticalAlign",
8741
9959
  run.verticalAlign,
8742
9960
  isStVerticalAlignRun,
8743
9961
  'must be "baseline", "superscript" or "subscript"'
8744
9962
  );
8745
- validateRevision(c, "revision", run.revision);
9963
+ validateRevision(c2, "revision", run.revision);
8746
9964
  if (run.image) {
8747
- const image = c.at(".image");
9965
+ const image = c2.at(".image");
8748
9966
  for (const key of ["widthPx", "heightPx"])
8749
9967
  image.check(
8750
9968
  key,
@@ -8754,14 +9972,14 @@ function validateRun(c, run) {
8754
9972
  );
8755
9973
  }
8756
9974
  }
8757
- function validateTabStop(c, stop) {
8758
- c.signed("posTwips", stop.posTwips, "CT_TabStop/@pos");
8759
- c.enum("align", stop.align, isStTabJc, "ST_TabJc");
8760
- c.enum("leader", stop.leader, isStTabTlc, "ST_TabTlc");
9975
+ function validateTabStop(c2, stop) {
9976
+ c2.signed("posTwips", stop.posTwips, "CT_TabStop/@pos");
9977
+ c2.enum("align", stop.align, isStTabJc, "ST_TabJc");
9978
+ c2.enum("leader", stop.leader, isStTabTlc, "ST_TabTlc");
8761
9979
  }
8762
- function validateParagraph(c, paragraph) {
9980
+ function validateParagraph(c2, paragraph) {
8763
9981
  if (paragraph.dropCap) {
8764
- const at = c.at(".dropCap");
9982
+ const at = c2.at(".dropCap");
8765
9983
  at.check(
8766
9984
  "style",
8767
9985
  paragraph.dropCap.style,
@@ -8781,14 +9999,14 @@ function validateParagraph(c, paragraph) {
8781
9999
  "must be a nonnegative whole number of twips"
8782
10000
  );
8783
10001
  }
8784
- c.check(
10002
+ c2.check(
8785
10003
  "align",
8786
10004
  paragraph.align,
8787
10005
  (v) => v === "left" || v === "center" || v === "right" || v === "justify",
8788
10006
  'must be "left", "center", "right" or "justify"'
8789
10007
  );
8790
- c.enum("justification", paragraph.justification, isStJc, "ST_Jc");
8791
- c.check(
10008
+ c2.enum("justification", paragraph.justification, isStJc, "ST_Jc");
10009
+ c2.check(
8792
10010
  "direction",
8793
10011
  paragraph.direction,
8794
10012
  (v) => v === "ltr" || v === "rtl",
@@ -8800,7 +10018,7 @@ function validateParagraph(c, paragraph) {
8800
10018
  "firstLineTwips",
8801
10019
  "hangingTwips"
8802
10020
  ])
8803
- c.unsigned(key, paragraph[key], "ST_TwipsMeasure");
10021
+ c2.unsigned(key, paragraph[key], "ST_TwipsMeasure");
8804
10022
  for (const key of [
8805
10023
  "lineSpacingTwips",
8806
10024
  "indentLeftTwips",
@@ -8808,87 +10026,87 @@ function validateParagraph(c, paragraph) {
8808
10026
  "indentStartTwips",
8809
10027
  "indentEndTwips"
8810
10028
  ])
8811
- c.signed(key, paragraph[key], "ST_SignedTwipsMeasure");
8812
- c.enum("lineSpacingRule", paragraph.lineSpacingRule, isStLineSpacingRule, "ST_LineSpacingRule");
10029
+ c2.signed(key, paragraph[key], "ST_SignedTwipsMeasure");
10030
+ c2.enum("lineSpacingRule", paragraph.lineSpacingRule, isStLineSpacingRule, "ST_LineSpacingRule");
8813
10031
  if (paragraph.numbering) {
8814
- const numbering = c.at(".numbering");
10032
+ const numbering = c2.at(".numbering");
8815
10033
  numbering.unsigned("numId", paragraph.numbering.numId, "ST_DecimalNumber");
8816
10034
  numbering.unsigned("level", paragraph.numbering.level, "ST_DecimalNumber");
8817
10035
  }
8818
- paragraph.tabStops?.forEach((stop, index) => validateTabStop(c.at(`.tabStops[${index}]`), stop));
8819
- validateRevision(c, "markRevision", paragraph.markRevision);
8820
- paragraph.runs.forEach((run, index) => validateRun(c.at(`.runs[${index}]`), run));
10036
+ paragraph.tabStops?.forEach((stop, index) => validateTabStop(c2.at(`.tabStops[${index}]`), stop));
10037
+ validateRevision(c2, "markRevision", paragraph.markRevision);
10038
+ paragraph.runs.forEach((run, index) => validateRun(c2.at(`.runs[${index}]`), run));
8821
10039
  }
8822
10040
 
8823
10041
  // docx/validate-structure.ts
8824
- function validateBorderSide(c, side) {
10042
+ function validateBorderSide(c2, side) {
8825
10043
  if (!side) return;
8826
- c.enum("style", side.style, isStBorder, "ST_Border");
8827
- c.unsigned("sizeEighthPoints", side.sizeEighthPoints, "ST_EighthPointMeasure");
8828
- c.unsigned("spacePoints", side.spacePoints, "ST_PointMeasure");
8829
- c.hex("color", side.color);
8830
- c.theme("themeColor", side.themeColor);
10044
+ c2.enum("style", side.style, isStBorder, "ST_Border");
10045
+ c2.unsigned("sizeEighthPoints", side.sizeEighthPoints, "ST_EighthPointMeasure");
10046
+ c2.unsigned("spacePoints", side.spacePoints, "ST_PointMeasure");
10047
+ c2.hex("color", side.color);
10048
+ c2.theme("themeColor", side.themeColor);
8831
10049
  }
8832
- function validateBorders(c, borders) {
10050
+ function validateBorders(c2, borders) {
8833
10051
  if (!borders) return;
8834
10052
  for (const side of ["top", "left", "bottom", "right", "insideH", "insideV"])
8835
- validateBorderSide(c.at(`.${side}`), borders[side]);
10053
+ validateBorderSide(c2.at(`.${side}`), borders[side]);
8836
10054
  }
8837
- function validateCell(c, cell) {
8838
- c.check(
10055
+ function validateCell(c2, cell) {
10056
+ c2.check(
8839
10057
  "gridSpan",
8840
10058
  cell.gridSpan,
8841
10059
  (v) => typeof v === "number" && Number.isSafeInteger(v) && v >= 1,
8842
10060
  "must be a positive integer (CT_DecimalNumber)"
8843
10061
  );
8844
- c.enum("verticalMerge", cell.verticalMerge, isStMerge, "ST_Merge");
8845
- c.unsigned("widthTwips", cell.widthTwips, "ST_TwipsMeasure");
8846
- c.enum("verticalAlign", cell.verticalAlign, isStVerticalJc, "ST_VerticalJc");
8847
- c.hex("shadingFill", cell.shadingFill);
8848
- validateThemeReference(c, "shadingThemeFill", cell.shadingThemeFill);
8849
- validateBorders(c.at(".borders"), cell.borders);
10062
+ c2.enum("verticalMerge", cell.verticalMerge, isStMerge, "ST_Merge");
10063
+ c2.unsigned("widthTwips", cell.widthTwips, "ST_TwipsMeasure");
10064
+ c2.enum("verticalAlign", cell.verticalAlign, isStVerticalJc, "ST_VerticalJc");
10065
+ c2.hex("shadingFill", cell.shadingFill);
10066
+ validateThemeReference(c2, "shadingThemeFill", cell.shadingThemeFill);
10067
+ validateBorders(c2.at(".borders"), cell.borders);
8850
10068
  if (cell.margins)
8851
10069
  for (const side of ["top", "bottom", "left", "right"])
8852
- c.at(".margins").signed(side, cell.margins[side], "ST_SignedTwipsMeasure");
10070
+ c2.at(".margins").signed(side, cell.margins[side], "ST_SignedTwipsMeasure");
8853
10071
  }
8854
- function validateTable(c, table) {
8855
- c.unsigned("widthTwips", table.widthTwips, "ST_TwipsMeasure");
8856
- c.signed("indentTwips", table.indentTwips, "ST_SignedTwipsMeasure");
8857
- c.check(
10072
+ function validateTable(c2, table) {
10073
+ c2.unsigned("widthTwips", table.widthTwips, "ST_TwipsMeasure");
10074
+ c2.signed("indentTwips", table.indentTwips, "ST_SignedTwipsMeasure");
10075
+ c2.check(
8858
10076
  "alignment",
8859
10077
  table.alignment,
8860
10078
  (v) => v === "left" || v === "center" || v === "right",
8861
10079
  'must be "left", "center" or "right"'
8862
10080
  );
8863
- c.enum("justification", table.justification, isStJcTable, "ST_JcTable");
10081
+ c2.enum("justification", table.justification, isStJcTable, "ST_JcTable");
8864
10082
  table.grid?.forEach(
8865
- (width, index) => c.at(`.grid[${index}]`).unsigned("width", width, "ST_TwipsMeasure")
10083
+ (width, index) => c2.at(`.grid[${index}]`).unsigned("width", width, "ST_TwipsMeasure")
8866
10084
  );
8867
- validateBorders(c.at(".borders"), table.borders);
10085
+ validateBorders(c2.at(".borders"), table.borders);
8868
10086
  if (table.cellMargins)
8869
10087
  for (const side of ["top", "bottom", "left", "right"])
8870
- c.at(".cellMargins").signed(side, table.cellMargins[side], "ST_SignedTwipsMeasure");
10088
+ c2.at(".cellMargins").signed(side, table.cellMargins[side], "ST_SignedTwipsMeasure");
8871
10089
  table.rowProperties?.forEach((row, index) => {
8872
10090
  if (row)
8873
- c.at(`.rowProperties[${index}]`).unsigned("heightTwips", row.heightTwips, "ST_TwipsMeasure");
10091
+ c2.at(`.rowProperties[${index}]`).unsigned("heightTwips", row.heightTwips, "ST_TwipsMeasure");
8874
10092
  });
8875
10093
  table.rows.forEach(
8876
- (row, r) => row.forEach((cell, k) => validateCell(c.at(`.rows[${r}][${k}]`), cell))
10094
+ (row, r) => row.forEach((cell, k) => validateCell(c2.at(`.rows[${r}][${k}]`), cell))
8877
10095
  );
8878
10096
  }
8879
- function validateSection(c, section) {
8880
- c.enum("type", section.type, isStSectionMark, "ST_SectionMark");
8881
- c.enum("orientation", section.orientation, isStPageOrientation, "ST_PageOrientation");
8882
- c.enum("verticalAlign", section.verticalAlign, isStVerticalJc, "ST_VerticalJc");
10097
+ function validateSection(c2, section) {
10098
+ c2.enum("type", section.type, isStSectionMark, "ST_SectionMark");
10099
+ c2.enum("orientation", section.orientation, isStPageOrientation, "ST_PageOrientation");
10100
+ c2.enum("verticalAlign", section.verticalAlign, isStVerticalJc, "ST_VerticalJc");
8883
10101
  for (const key of ["pageWidthTwips", "pageHeightTwips"])
8884
- c.check(
10102
+ c2.check(
8885
10103
  key,
8886
10104
  section[key],
8887
10105
  (v) => typeof v === "number" && Number.isSafeInteger(v) && v > 0,
8888
10106
  "must be a positive integer number of twips (CT_PageSz)"
8889
10107
  );
8890
10108
  for (const key of ["marginTopTwips", "marginBottomTwips"])
8891
- c.signed(key, section[key], "ST_SignedTwipsMeasure");
10109
+ c2.signed(key, section[key], "ST_SignedTwipsMeasure");
8892
10110
  for (const key of [
8893
10111
  "marginLeftTwips",
8894
10112
  "marginRightTwips",
@@ -8896,8 +10114,8 @@ function validateSection(c, section) {
8896
10114
  "footerDistanceTwips",
8897
10115
  "gutterTwips"
8898
10116
  ])
8899
- c.unsigned(key, section[key], "ST_TwipsMeasure");
8900
- const columns = c.at(".columns");
10117
+ c2.unsigned(key, section[key], "ST_TwipsMeasure");
10118
+ const columns = c2.at(".columns");
8901
10119
  columns.check(
8902
10120
  "count",
8903
10121
  section.columns?.count,
@@ -8911,7 +10129,7 @@ function validateSection(c, section) {
8911
10129
  at.unsigned("spacingTwips", column.spacingTwips, "ST_TwipsMeasure");
8912
10130
  });
8913
10131
  if (section.lineNumberSettings) {
8914
- const line = c.at(".lineNumberSettings");
10132
+ const line = c2.at(".lineNumberSettings");
8915
10133
  const settings = section.lineNumberSettings;
8916
10134
  line.check(
8917
10135
  "countBy",
@@ -8934,12 +10152,12 @@ function validateSection(c, section) {
8934
10152
  line.unsigned("distanceTwips", settings.distanceTwips, "ST_TwipsMeasure");
8935
10153
  }
8936
10154
  if (section.pageNumbering) {
8937
- const numbering = c.at(".pageNumbering");
10155
+ const numbering = c2.at(".pageNumbering");
8938
10156
  numbering.enum("format", section.pageNumbering.format, isStNumberFormat, "ST_NumberFormat");
8939
10157
  numbering.signed("start", section.pageNumbering.start, "ST_DecimalNumber");
8940
10158
  }
8941
10159
  }
8942
- function validateNumberingCatalog(c, catalog) {
10160
+ function validateNumberingCatalog(c2, catalog) {
8943
10161
  const levelOf = (at, level) => {
8944
10162
  at.enum("numFmt", level.numFmt, isStNumberFormat, "ST_NumberFormat");
8945
10163
  at.signed("start", level.start, "ST_DecimalNumber");
@@ -8970,19 +10188,19 @@ function validateNumberingCatalog(c, catalog) {
8970
10188
  };
8971
10189
  for (const [id, abstract] of Object.entries(catalog.abstractNums))
8972
10190
  for (const [key, level] of Object.entries(abstract.levels))
8973
- levelOf(new Checker(c.issues, `${c.path}.abstractNums[${id}].levels[${key}]`), level);
10191
+ levelOf(new Checker(c2.issues, `${c2.path}.abstractNums[${id}].levels[${key}]`), level);
8974
10192
  for (const [id, num] of Object.entries(catalog.nums))
8975
10193
  for (const [key, override] of Object.entries(num.levelOverrides ?? {})) {
8976
- const at = new Checker(c.issues, `${c.path}.nums[${id}].levelOverrides[${key}]`);
10194
+ const at = new Checker(c2.issues, `${c2.path}.nums[${id}].levelOverrides[${key}]`);
8977
10195
  at.signed("startOverride", override.startOverride, "ST_DecimalNumber");
8978
10196
  if (override.lvl) levelOf(at.at(".lvl"), override.lvl);
8979
10197
  }
8980
10198
  }
8981
10199
 
8982
10200
  // docx/validate-model.ts
8983
- function validateBlocks(c, blocks) {
10201
+ function validateBlocks(c2, blocks) {
8984
10202
  blocks?.forEach((block, index) => {
8985
- const at = c.at(`[${index}]`);
10203
+ const at = c2.at(`[${index}]`);
8986
10204
  if (block.type === "paragraph") return validateParagraph(at, block);
8987
10205
  validateTable(at, block);
8988
10206
  block.rows.forEach(
@@ -8996,8 +10214,8 @@ function validateBlocks(c, blocks) {
8996
10214
  }
8997
10215
  function validateDocumentModel(model) {
8998
10216
  const issues = [];
8999
- const path = (suffix) => new Checker(issues, suffix);
9000
- const page = path("page");
10217
+ const path2 = (suffix) => new Checker(issues, suffix);
10218
+ const page = path2("page");
9001
10219
  for (const key of ["width", "height"])
9002
10220
  page.check(
9003
10221
  key,
@@ -9012,9 +10230,9 @@ function validateDocumentModel(model) {
9012
10230
  (v) => typeof v === "number" && Number.isFinite(v) && (key === "marginTop" || key === "marginBottom" || v >= 0),
9013
10231
  "must be a finite pixel size (converted to integer twips; left/right non-negative)"
9014
10232
  );
9015
- validateBlocks(path("blocks"), model.blocks);
10233
+ validateBlocks(path2("blocks"), model.blocks);
9016
10234
  model.sections?.forEach((section, index) => {
9017
- const at = path(`sections[${index}]`);
10235
+ const at = path2(`sections[${index}]`);
9018
10236
  validateSection(at, section);
9019
10237
  for (const kind of ["headers", "footers"])
9020
10238
  for (const [slot2, content] of Object.entries(section[kind] ?? {}))
@@ -9022,16 +10240,16 @@ function validateDocumentModel(model) {
9022
10240
  });
9023
10241
  for (const kind of ["footnotes", "endnotes"])
9024
10242
  model[kind]?.forEach(
9025
- (note, index) => validateBlocks(path(`${kind}[${index}].blocks`), note.blocks)
10243
+ (note, index) => validateBlocks(path2(`${kind}[${index}].blocks`), note.blocks)
9026
10244
  );
9027
10245
  model.comments?.forEach(
9028
- (comment, index) => path(`comments[${index}]`).dateTime("date", comment.date)
10246
+ (comment, index) => path2(`comments[${index}]`).dateTime("date", comment.date)
9029
10247
  );
9030
- path("model").hex("pageColor", model.pageColor);
9031
- path("model").enum("footnoteNumFmt", model.footnoteNumFmt, isStNumberFormat, "ST_NumberFormat");
9032
- path("model").enum("endnoteNumFmt", model.endnoteNumFmt, isStNumberFormat, "ST_NumberFormat");
10248
+ path2("model").hex("pageColor", model.pageColor);
10249
+ path2("model").enum("footnoteNumFmt", model.footnoteNumFmt, isStNumberFormat, "ST_NumberFormat");
10250
+ path2("model").enum("endnoteNumFmt", model.endnoteNumFmt, isStNumberFormat, "ST_NumberFormat");
9033
10251
  if (model.numberingCatalog)
9034
- validateNumberingCatalog(path("numberingCatalog"), model.numberingCatalog);
10252
+ validateNumberingCatalog(path2("numberingCatalog"), model.numberingCatalog);
9035
10253
  return issues;
9036
10254
  }
9037
10255
  function assertValidDocumentModel(model) {
@@ -9147,12 +10365,12 @@ function parseNum(element) {
9147
10365
  const levelOverrides = {};
9148
10366
  for (const override of children2(element, "lvlOverride")) {
9149
10367
  const level = integer2(getW(override, "ilvl"), 0);
9150
- const entry = {};
10368
+ const entry2 = {};
9151
10369
  const startOverride = getW(first2(override, "startOverride"), "val");
9152
- if (startOverride !== void 0) entry.startOverride = integer2(startOverride, 1);
10370
+ if (startOverride !== void 0) entry2.startOverride = integer2(startOverride, 1);
9153
10371
  const lvl = first2(override, "lvl");
9154
- if (lvl) entry.lvl = parseNumberingLevel(lvl);
9155
- if (Object.keys(entry).length) levelOverrides[level] = entry;
10372
+ if (lvl) entry2.lvl = parseNumberingLevel(lvl);
10373
+ if (Object.keys(entry2).length) levelOverrides[level] = entry2;
9156
10374
  }
9157
10375
  return {
9158
10376
  id,
@@ -9358,7 +10576,7 @@ function buildAbstractNumElement(doc, def) {
9358
10576
  const element = makeW(doc, "abstractNum");
9359
10577
  setAttribute8(element, "abstractNumId", def.id);
9360
10578
  element.appendChild(valueElement(doc, "multiLevelType", "hybridMultilevel"));
9361
- for (const level of Object.values(def.levels).sort((a, b) => a.level - b.level))
10579
+ for (const level of Object.values(def.levels).sort((a2, b) => a2.level - b.level))
9362
10580
  element.appendChild(buildLevelElement(doc, level));
9363
10581
  return element;
9364
10582
  }
@@ -9477,13 +10695,13 @@ async function applyStyleNumbering(zip, model, base) {
9477
10695
  // docx/part-relationships.ts
9478
10696
  var CONTENT_TYPES_PART = "[Content_Types].xml";
9479
10697
  var extensionOf = (partName) => partName.split(".").pop()?.toLowerCase() ?? "";
9480
- function relationshipsPartFor(partName) {
10698
+ function relationshipsPartFor2(partName) {
9481
10699
  const slash = partName.lastIndexOf("/");
9482
10700
  return `${partName.slice(0, slash)}/_rels/${partName.slice(slash + 1)}.rels`;
9483
10701
  }
9484
10702
  async function allocatorForPart(zip, partName, doc, docPrIds) {
9485
10703
  const declared = parseRelationships(
9486
- await zip.file(relationshipsPartFor(partName))?.async("string")
10704
+ await zip.file(relationshipsPartFor2(partName))?.async("string")
9487
10705
  );
9488
10706
  const allocator = new RelationshipAllocator(
9489
10707
  [...scanUsedRelationshipIds(doc), ...declared.keys()],
@@ -9494,7 +10712,7 @@ async function allocatorForPart(zip, partName, doc, docPrIds) {
9494
10712
  }
9495
10713
  async function writeNewRelationships(zip, partName, created, pendingMedia) {
9496
10714
  if (!created.length) return;
9497
- const relsPath = relationshipsPartFor(partName);
10715
+ const relsPath = relationshipsPartFor2(partName);
9498
10716
  const relationships = parseRelationships(await zip.file(relsPath)?.async("string"));
9499
10717
  let contentTypesXml = await zip.file(CONTENT_TYPES_PART)?.async("string");
9500
10718
  for (const relationship of created) {
@@ -9578,8 +10796,8 @@ async function createHeaderFooterParts(zip, model, base, docPrIds) {
9578
10796
  (_match, start, end) => `${start}${docPrIds.next()}${end}`
9579
10797
  ) : xml
9580
10798
  );
9581
- const rels = zip.file(relationshipsPartFor(content.sourcePartName));
9582
- if (rels) zip.file(relationshipsPartFor(partName), await rels.async("uint8array"));
10799
+ const rels = zip.file(relationshipsPartFor2(content.sourcePartName));
10800
+ if (rels) zip.file(relationshipsPartFor2(partName), await rels.async("uint8array"));
9583
10801
  }
9584
10802
  await ensureContentTypeOverride(
9585
10803
  zip,
@@ -10799,15 +12017,15 @@ function parseNotesPart(xml, kind, parseBlocks) {
10799
12017
  }
10800
12018
 
10801
12019
  // docx/document-parts.ts
10802
- async function partContext(zip, path, base) {
12020
+ async function partContext(zip, path2, base) {
10803
12021
  if (!base) return void 0;
10804
- const slash = path.lastIndexOf("/");
10805
- const relsPath = `${path.slice(0, slash)}/_rels/${path.slice(slash + 1)}.rels`;
12022
+ const slash = path2.lastIndexOf("/");
12023
+ const relsPath = `${path2.slice(0, slash)}/_rels/${path2.slice(slash + 1)}.rels`;
10806
12024
  return { ...base, rels: parseRelationships(await readPart(zip, relsPath)) };
10807
12025
  }
10808
12026
  var FIELD_MARKUP = /<w:(?:fldSimple|instrText|fldChar)\b/;
10809
- async function readPart(zip, path) {
10810
- return zip.file(path)?.async("string");
12027
+ async function readPart(zip, path2) {
12028
+ return zip.file(path2)?.async("string");
10811
12029
  }
10812
12030
  function parseSettings(xml) {
10813
12031
  if (!xml) return { evenAndOddHeaders: false, autoHyphenation: false };
@@ -10835,21 +12053,21 @@ async function resolveSlots(zip, relationships, refs, cache, fieldMarkup, drawin
10835
12053
  for (const ref of refs) {
10836
12054
  const relationship = relationships.get(ref.rId);
10837
12055
  if (!relationship) continue;
10838
- const path = resolvePartPath("word/document.xml", relationship.target);
10839
- let blocks = cache.get(path);
12056
+ const path2 = resolvePartPath("word/document.xml", relationship.target);
12057
+ let blocks = cache.get(path2);
10840
12058
  if (!blocks) {
10841
- const xml = await readPart(zip, path);
12059
+ const xml = await readPart(zip, path2);
10842
12060
  if (xml === void 0) continue;
10843
12061
  if (FIELD_MARKUP.test(xml)) fieldMarkup.seen = true;
10844
- const context = await partContext(zip, path, drawings);
12062
+ const context = await partContext(zip, path2, drawings);
10845
12063
  const root = parseXml2(xml).documentElement;
10846
12064
  blocks = withParseWarnings(
10847
12065
  sink2,
10848
- () => parseBlocksFromContainer(root, `${path.replace(/[^a-z0-9]+/gi, "")}-`, context)
12066
+ () => parseBlocksFromContainer(root, `${path2.replace(/[^a-z0-9]+/gi, "")}-`, context)
10849
12067
  );
10850
- cache.set(path, blocks);
12068
+ cache.set(path2, blocks);
10851
12069
  }
10852
- slots[ref.slot] = { blocks, partName: path };
12070
+ slots[ref.slot] = { blocks, partName: path2 };
10853
12071
  }
10854
12072
  return Object.keys(slots).length ? slots : void 0;
10855
12073
  }
@@ -10885,8 +12103,8 @@ async function parseDocumentParts(zip, body, blocks, drawings) {
10885
12103
  }
10886
12104
  const footnotesXml = await readPart(zip, "word/footnotes.xml");
10887
12105
  const endnotesXml = await readPart(zip, "word/endnotes.xml");
10888
- const notesParser = async (path) => {
10889
- const context = await partContext(zip, path, drawings);
12106
+ const notesParser = async (path2) => {
12107
+ const context = await partContext(zip, path2, drawings);
10890
12108
  return (container2, prefix) => withParseWarnings(warnings, () => parseBlocksFromContainer(container2, prefix, context));
10891
12109
  };
10892
12110
  const footnotes = footnotesXml ? parseNotesPart(footnotesXml, "footnote", await notesParser("word/footnotes.xml")) : void 0;
@@ -10938,15 +12156,15 @@ function parseComments(commentsXml, extendedXml) {
10938
12156
  });
10939
12157
  if (extendedXml) {
10940
12158
  const extended = parseXml2(extendedXml);
10941
- for (const entry of Array.from(
12159
+ for (const entry2 of Array.from(
10942
12160
  extended.getElementsByTagNameNS(W15_NS2, "commentEx")
10943
12161
  )) {
10944
- const paraId = entry.getAttributeNS(W15_NS2, "paraId");
10945
- const comment = paraId && comments.find((c) => c.id === paraIdToCommentId.get(paraId));
12162
+ const paraId = entry2.getAttributeNS(W15_NS2, "paraId");
12163
+ const comment = paraId && comments.find((c2) => c2.id === paraIdToCommentId.get(paraId));
10946
12164
  if (!comment) continue;
10947
- const done = entry.getAttributeNS(W15_NS2, "done");
12165
+ const done = entry2.getAttributeNS(W15_NS2, "done");
10948
12166
  comment.resolved = done === "1" || done === "true";
10949
- const parentParaId = entry.getAttributeNS(W15_NS2, "paraIdParent");
12167
+ const parentParaId = entry2.getAttributeNS(W15_NS2, "paraIdParent");
10950
12168
  const parentId = parentParaId && paraIdToCommentId.get(parentParaId);
10951
12169
  if (parentId) comment.parentId = parentId;
10952
12170
  }
@@ -10954,71 +12172,6 @@ function parseComments(commentsXml, extendedXml) {
10954
12172
  return comments;
10955
12173
  }
10956
12174
 
10957
- // drawingml/theme.ts
10958
- new Set(THEME_COLOR_SLOTS);
10959
- function nonEmpty(value) {
10960
- return value ? value : void 0;
10961
- }
10962
- function parseThemeColorScheme(scheme) {
10963
- const result = { colors: {} };
10964
- if (!scheme) return result;
10965
- const name = nonEmpty(scheme.getAttribute("name"));
10966
- if (name) result.name = name;
10967
- for (const slot2 of THEME_COLOR_SLOTS) {
10968
- const color = parseDrawingColorIn(first(scheme, slot2, NS.a));
10969
- if (color) result.colors[slot2] = color;
10970
- }
10971
- return result;
10972
- }
10973
- function parseFontCollection(collection) {
10974
- const result = { scripts: {} };
10975
- if (!collection) return result;
10976
- const typeface = (local) => nonEmpty(first(collection, local, NS.a)?.getAttribute("typeface"));
10977
- const latin = typeface("latin");
10978
- const eastAsia = typeface("ea");
10979
- const complexScript = typeface("cs");
10980
- if (latin) result.latin = latin;
10981
- if (eastAsia) result.eastAsia = eastAsia;
10982
- if (complexScript) result.complexScript = complexScript;
10983
- for (const font of elements(collection)) {
10984
- if (font.localName !== "font") continue;
10985
- const script = nonEmpty(font.getAttribute("script"));
10986
- const face = nonEmpty(font.getAttribute("typeface"));
10987
- if (script && face && !Object.hasOwn(result.scripts, script)) result.scripts[script] = face;
10988
- }
10989
- return result;
10990
- }
10991
- function parseThemeFontScheme(scheme) {
10992
- const result = {
10993
- major: parseFontCollection(first(scheme, "majorFont", NS.a)),
10994
- minor: parseFontCollection(first(scheme, "minorFont", NS.a))
10995
- };
10996
- const name = nonEmpty(scheme?.getAttribute("name"));
10997
- if (name) result.name = name;
10998
- return result;
10999
- }
11000
- function rootOf2(source) {
11001
- return "documentElement" in source ? source.documentElement : source;
11002
- }
11003
- function parseTheme(source) {
11004
- const root = rootOf2(source);
11005
- const holder = first(root, "themeElements", NS.a) ?? root;
11006
- const theme = {
11007
- colorScheme: parseThemeColorScheme(first(holder, "clrScheme", NS.a)),
11008
- fontScheme: parseThemeFontScheme(first(holder, "fontScheme", NS.a))
11009
- };
11010
- const name = nonEmpty(root.getAttribute("name"));
11011
- if (name) theme.name = name;
11012
- return theme;
11013
- }
11014
-
11015
- // drawingml/theme-color.ts
11016
- function themeSlotHex(color) {
11017
- if (!color) return void 0;
11018
- const value = color.kind === "srgb" ? color.value : color.kind === "system" ? color.fallback : void 0;
11019
- return value ? value.toUpperCase() : void 0;
11020
- }
11021
-
11022
12175
  // docx/theme.ts
11023
12176
  function fontSetOf(collection) {
11024
12177
  const { latin, eastAsia, complexScript } = collection;
@@ -11069,96 +12222,6 @@ function parseColorSchemeMapping(xml) {
11069
12222
  return result;
11070
12223
  }
11071
12224
 
11072
- // docx/parse-warnings.ts
11073
- function hasAny(document, names) {
11074
- return names.some((name) => document.getElementsByTagNameNS(WORD_NS, name).length > 0);
11075
- }
11076
- function warningsFor(document) {
11077
- const warnings = [];
11078
- const features = [
11079
- [["object"], "Embedded OLE objects (w:object) are preserved but rendered as a placeholder."],
11080
- [["altChunk"], "Embedded alternate-format content is not represented in the document model."],
11081
- [
11082
- ["fldSimple", "instrText", "fldChar"],
11083
- "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."
11084
- ],
11085
- [
11086
- ["moveFrom", "moveTo"],
11087
- "Moved text is linked by its move name: accepting or rejecting either side resolves both. Moves are shown and saved with their range markers."
11088
- ],
11089
- [
11090
- ["rPrChange"],
11091
- "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."
11092
- ],
11093
- [
11094
- ["pPrChange"],
11095
- "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."
11096
- ],
11097
- [
11098
- ["tblPrChange", "trPrChange", "tcPrChange"],
11099
- "Table-structure tracked changes are preserved in the source XML but are not represented in the document model."
11100
- ]
11101
- ];
11102
- for (const [names, message] of features) if (hasAny(document, names)) warnings.push(message);
11103
- if (Array.from(document.getElementsByTagNameNS(WORD_NS, "instrText")).some(
11104
- (el3) => /HYPERLINK/i.test(textContent(el3))
11105
- ))
11106
- warnings.push(
11107
- "Complex HYPERLINK field codes (w:fldChar/w:instrText) are preserved but not parsed as links; their result text edits as plain text."
11108
- );
11109
- const specialBreak = Array.from(document.getElementsByTagNameNS(WORD_NS, "br")).some(
11110
- (br) => hasSpecialBreak(br) && !isModeledBreak(br)
11111
- ) || Array.from(document.getElementsByTagNameNS(WORD_NS, "cr")).some(
11112
- (cr) => cr.attributes.length > 0
11113
- );
11114
- if (specialBreak)
11115
- warnings.push(
11116
- "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."
11117
- );
11118
- return warnings;
11119
- }
11120
- function forEachParagraph2(blocks, visit) {
11121
- for (const block of blocks) {
11122
- if (block.type === "paragraph") visit(block);
11123
- else for (const row of block.rows) for (const cell of row) cell.paragraphs.forEach(visit);
11124
- }
11125
- }
11126
- function imageAndBookmarkWarnings(blocks) {
11127
- const warnings = [];
11128
- let hasPicture = false;
11129
- let hasAnchored = false;
11130
- const unsupportedKinds = /* @__PURE__ */ new Set();
11131
- let hasBookmarks = false;
11132
- forEachParagraph2(blocks, (paragraph) => {
11133
- if (paragraph.bookmarks?.length) hasBookmarks = true;
11134
- for (const run of paragraph.runs) {
11135
- if (!run.image) continue;
11136
- if (run.image.unsupported) {
11137
- if (run.image.diagram?.rendering !== "cached-drawing")
11138
- unsupportedKinds.add(run.image.unsupported);
11139
- } else hasPicture = true;
11140
- if (run.image.anchored) hasAnchored = true;
11141
- }
11142
- });
11143
- if (hasPicture)
11144
- warnings.push(
11145
- "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."
11146
- );
11147
- if (hasAnchored)
11148
- warnings.push(
11149
- "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."
11150
- );
11151
- if (unsupportedKinds.size)
11152
- warnings.push(
11153
- `${Array.from(unsupportedKinds).join(", ")} content is rendered as a labeled placeholder and is not editable.`
11154
- );
11155
- if (hasBookmarks)
11156
- warnings.push(
11157
- "Bookmark names are read-only; editing a paragraph that contains bookmarks preserves them but moves their start/end to the paragraph boundaries."
11158
- );
11159
- return warnings;
11160
- }
11161
-
11162
12225
  // docx/diagram-document.ts
11163
12226
  function diagramsIn(blocks) {
11164
12227
  const diagrams = [];
@@ -11196,7 +12259,7 @@ async function readPackage(input) {
11196
12259
  const entries = Object.values(zip.files);
11197
12260
  if (entries.length > 5e3) throw new Error("DOCX package exceeds the 5,000 part limit");
11198
12261
  const totalSize = entries.reduce(
11199
- (sum, entry) => sum + Number(entry._data?.uncompressedSize ?? 0),
12262
+ (sum, entry2) => sum + Number(entry2._data?.uncompressedSize ?? 0),
11200
12263
  0
11201
12264
  );
11202
12265
  if (totalSize > 200 * 1024 * 1024)
@@ -11347,6 +12410,10 @@ async function readPackage(input) {
11347
12410
  pictureBlocks,
11348
12411
  async (partName) => zip.file(partName)?.async("string")
11349
12412
  );
12413
+ await resolveDocumentCharts(
12414
+ pictureBlocks,
12415
+ async (partName) => zip.file(partName)?.async("string")
12416
+ );
11350
12417
  model.warnings.push(...imageAndBookmarkWarnings(blocks), ...diagramWarnings(pictureBlocks));
11351
12418
  for (const warning of schemaWarnings)
11352
12419
  if (!model.warnings.includes(warning)) model.warnings.push(warning);
@@ -11525,10 +12592,10 @@ function chainToEnd(table, start, max) {
11525
12592
  }
11526
12593
  return out;
11527
12594
  }
11528
- function processCompoundFileStream(input, path, replacement) {
12595
+ function processCompoundFileStream(input, path2, replacement) {
11529
12596
  const reject = () => replacement ? input : void 0;
11530
12597
  try {
11531
- if (path.length === 0 || path.some((part) => !part) || input.length < 512)
12598
+ if (path2.length === 0 || path2.some((part) => !part) || input.length < 512)
11532
12599
  return reject();
11533
12600
  const view = new DataView(input.buffer, input.byteOffset, input.byteLength);
11534
12601
  const read32 = (offset2) => view.getUint32(offset2, true);
@@ -11611,7 +12678,7 @@ function processCompoundFileStream(input, path, replacement) {
11611
12678
  if (!root)
11612
12679
  return reject();
11613
12680
  let parent = root, target;
11614
- for (let partIndex = 0; partIndex < path.length; partIndex++) {
12681
+ for (let partIndex = 0; partIndex < path2.length; partIndex++) {
11615
12682
  const matches = [], seen = /* @__PURE__ */ new Set();
11616
12683
  const visit = (id) => {
11617
12684
  if (id === NIL)
@@ -11623,7 +12690,7 @@ function processCompoundFileStream(input, path, replacement) {
11623
12690
  if (!e)
11624
12691
  throw new Error("Invalid directory ID");
11625
12692
  visit(e.left);
11626
- if (e.name.toLocaleLowerCase() === path[partIndex].toLocaleLowerCase())
12693
+ if (e.name.toLocaleLowerCase() === path2[partIndex].toLocaleLowerCase())
11627
12694
  matches.push(e);
11628
12695
  visit(e.right);
11629
12696
  };
@@ -11631,7 +12698,7 @@ function processCompoundFileStream(input, path, replacement) {
11631
12698
  if (matches.length !== 1)
11632
12699
  return reject();
11633
12700
  target = matches[0];
11634
- if (partIndex < path.length - 1) {
12701
+ if (partIndex < path2.length - 1) {
11635
12702
  if (target.type !== 1)
11636
12703
  return reject();
11637
12704
  parent = target;
@@ -11679,12 +12746,12 @@ function processCompoundFileStream(input, path, replacement) {
11679
12746
  const reserved = /* @__PURE__ */ new Set([...fatIds, ...difatIds, ...dirSectors, ...miniFatSectors]);
11680
12747
  const regularUsed = new Set(reserved);
11681
12748
  const rootMini = entries.find((e) => e.type === 5);
11682
- for (const entry of entries) {
11683
- if (entry.type !== 2 && entry.type !== 5 || entry.size === 0)
12749
+ for (const entry2 of entries) {
12750
+ if (entry2.type !== 2 && entry2.type !== 5 || entry2.size === 0)
11684
12751
  continue;
11685
- if (entry.type === 2 && entry.size < miniCutoff)
12752
+ if (entry2.type === 2 && entry2.size < miniCutoff)
11686
12753
  continue;
11687
- for (const id of exactChain(fat, entry.start, entry.size, sectorSize)) {
12754
+ for (const id of exactChain(fat, entry2.start, entry2.size, sectorSize)) {
11688
12755
  sector(id);
11689
12756
  if (regularUsed.has(id))
11690
12757
  return reject();
@@ -11692,10 +12759,10 @@ function processCompoundFileStream(input, path, replacement) {
11692
12759
  }
11693
12760
  }
11694
12761
  const miniUsed = /* @__PURE__ */ new Set();
11695
- for (const entry of entries) {
11696
- if (entry.type !== 2 || entry.size === 0 || entry.size >= miniCutoff)
12762
+ for (const entry2 of entries) {
12763
+ if (entry2.type !== 2 || entry2.size === 0 || entry2.size >= miniCutoff)
11697
12764
  continue;
11698
- const ids = exactChain(miniFat, entry.start, entry.size, miniSize);
12765
+ const ids = exactChain(miniFat, entry2.start, entry2.size, miniSize);
11699
12766
  for (const id of ids) {
11700
12767
  if ((id + 1) * miniSize > rootMini.size || miniUsed.has(id))
11701
12768
  return reject();
@@ -11756,11 +12823,11 @@ function processCompoundFileStream(input, path, replacement) {
11756
12823
  return reject();
11757
12824
  }
11758
12825
  }
11759
- function readCompoundFileStream(input, path) {
11760
- return processCompoundFileStream(input, path);
12826
+ function readCompoundFileStream(input, path2) {
12827
+ return processCompoundFileStream(input, path2);
11761
12828
  }
11762
- function replaceCompoundFileStream(input, path, replacement) {
11763
- return processCompoundFileStream(input, path, replacement) ?? input;
12829
+ function replaceCompoundFileStream(input, path2, replacement) {
12830
+ return processCompoundFileStream(input, path2, replacement) ?? input;
11764
12831
  }
11765
12832
 
11766
12833
  // ../../node_modules/.bun/@christophervr+ole2@0.12.0/node_modules/@christophervr/ole2/dist/ole2-stream-resize-v4.js
@@ -11777,12 +12844,12 @@ function follow(table, start) {
11777
12844
  }
11778
12845
  return ids;
11779
12846
  }
11780
- function findSlot(slots, path) {
12847
+ function findSlot(slots, path2) {
11781
12848
  let parent = slots.get(0);
11782
12849
  if (!parent || parent.type !== 5)
11783
12850
  throw new Error("Invalid root");
11784
12851
  const parents = /* @__PURE__ */ new Set();
11785
- for (let part = 0; part < path.length; part++) {
12852
+ for (let part = 0; part < path2.length; part++) {
11786
12853
  if (parents.has(parent.id))
11787
12854
  throw new Error("Cyclic storage hierarchy");
11788
12855
  parents.add(parent.id);
@@ -11797,14 +12864,14 @@ function findSlot(slots, path) {
11797
12864
  const slot2 = slots.get(id);
11798
12865
  if (!slot2)
11799
12866
  throw new Error("Missing directory slot");
11800
- if (slot2.name.toLocaleLowerCase() === path[part].toLocaleLowerCase())
12867
+ if (slot2.name.toLocaleLowerCase() === path2[part].toLocaleLowerCase())
11801
12868
  matches.push(slot2);
11802
12869
  stack.push(slot2.left, slot2.right);
11803
12870
  }
11804
12871
  if (matches.length !== 1)
11805
12872
  throw new Error("Missing or ambiguous stream");
11806
12873
  parent = matches[0];
11807
- if (parent.type !== (part === path.length - 1 ? 2 : 1))
12874
+ if (parent.type !== (part === path2.length - 1 ? 2 : 1))
11808
12875
  throw new Error("Invalid storage path");
11809
12876
  }
11810
12877
  return parent;
@@ -11834,10 +12901,10 @@ function validateHierarchy(slots) {
11834
12901
  if (owners.size !== slots.size - 1)
11835
12902
  throw new Error("Unreachable directory entries");
11836
12903
  }
11837
- function resizeCompoundFileStreamV4(input, path, replacement) {
12904
+ function resizeCompoundFileStreamV4(input, path2, replacement) {
11838
12905
  const fail = (reason) => ({ ok: false, bytes: input, reason });
11839
12906
  try {
11840
- if (input.length < 512 || !path.length || path.some((part) => !part))
12907
+ if (input.length < 512 || !path2.length || path2.some((part) => !part))
11841
12908
  return fail("invalid-or-missing-stream");
11842
12909
  const view = new DataView(input.buffer, input.byteOffset, input.byteLength);
11843
12910
  const read = (offset) => view.getUint32(offset, true);
@@ -11850,10 +12917,10 @@ function resizeCompoundFileStreamV4(input, path, replacement) {
11850
12917
  const cutoff = read(56);
11851
12918
  if (cutoff !== 0 && cutoff !== 4096)
11852
12919
  return fail("unsupported-layout");
11853
- const original = readCompoundFileStream(input, path);
12920
+ const original = readCompoundFileStream(input, path2);
11854
12921
  if (!original)
11855
12922
  return fail("invalid-or-missing-stream");
11856
- const name = path[path.length - 1].toLocaleLowerCase();
12923
+ const name = path2[path2.length - 1].toLocaleLowerCase();
11857
12924
  if (name === "worddocument" && original.length >= 12 && (original[10] | original[11] << 8) & 33024)
11858
12925
  return fail("unsafe-edit");
11859
12926
  if (name === "book" || name === "workbook") {
@@ -11867,7 +12934,7 @@ function resizeCompoundFileStreamV4(input, path, replacement) {
11867
12934
  offset += 4 + length;
11868
12935
  }
11869
12936
  }
11870
- const validated = replaceCompoundFileStream(input, path, original);
12937
+ const validated = replaceCompoundFileStream(input, path2, original);
11871
12938
  if (validated === input)
11872
12939
  return fail("unsafe-edit");
11873
12940
  const sameLength = replacement.length === original.length;
@@ -11891,8 +12958,8 @@ function resizeCompoundFileStreamV4(input, path, replacement) {
11891
12958
  if (read(40) !== directoryChain.length)
11892
12959
  return fail("unsafe-edit");
11893
12960
  for (const [block, sector] of directoryChain.entries()) {
11894
- for (let entry = 0; entry < DIRECTORY_ENTRIES; entry++) {
11895
- const offset = (sector + 1) * SECTOR3 + entry * 128, type = view.getUint8(offset + 66);
12961
+ for (let entry2 = 0; entry2 < DIRECTORY_ENTRIES; entry2++) {
12962
+ const offset = (sector + 1) * SECTOR3 + entry2 * 128, type = view.getUint8(offset + 66);
11896
12963
  if (!type)
11897
12964
  continue;
11898
12965
  const nameLength = view.getUint16(offset + 64, true);
@@ -11903,16 +12970,16 @@ function resizeCompoundFileStreamV4(input, path, replacement) {
11903
12970
  name2 += String.fromCharCode(view.getUint16(offset + i2, true));
11904
12971
  if (read(offset + 124) !== 0)
11905
12972
  return fail("unsafe-edit");
11906
- const id = block * DIRECTORY_ENTRIES + entry;
12973
+ const id = block * DIRECTORY_ENTRIES + entry2;
11907
12974
  slots.set(id, { id, name: name2, type, left: read(offset + 68), right: read(offset + 72), child: read(offset + 76), start: read(offset + 116), size: read(offset + 120), offset });
11908
12975
  }
11909
12976
  }
11910
12977
  if ([...slots.values()].filter((slot2) => slot2.type === 5).length !== 1)
11911
12978
  return fail("unsafe-edit");
11912
- const target = findSlot(slots, path);
12979
+ const target = findSlot(slots, path2);
11913
12980
  validateHierarchy(slots);
11914
12981
  if (sameLength) {
11915
- const bytes = replaceCompoundFileStream(input, path, replacement);
12982
+ const bytes = replaceCompoundFileStream(input, path2, replacement);
11916
12983
  return bytes === input ? fail("unsafe-edit") : { ok: true, bytes };
11917
12984
  }
11918
12985
  const oldChain = follow(fat, target.start);
@@ -12086,12 +13153,12 @@ function follow2(table, start) {
12086
13153
  }
12087
13154
  return ids;
12088
13155
  }
12089
- function findSlot2(slots, path) {
13156
+ function findSlot2(slots, path2) {
12090
13157
  let parent = slots.get(0);
12091
13158
  if (!parent || parent.type !== 5)
12092
13159
  throw new Error("Invalid root");
12093
13160
  const parents = /* @__PURE__ */ new Set();
12094
- for (let part = 0; part < path.length; part++) {
13161
+ for (let part = 0; part < path2.length; part++) {
12095
13162
  if (parents.has(parent.id))
12096
13163
  throw new Error("Cyclic storage hierarchy");
12097
13164
  parents.add(parent.id);
@@ -12106,14 +13173,14 @@ function findSlot2(slots, path) {
12106
13173
  const slot2 = slots.get(id);
12107
13174
  if (!slot2)
12108
13175
  throw new Error("Missing directory slot");
12109
- if (slot2.name.toLocaleLowerCase() === path[part].toLocaleLowerCase())
13176
+ if (slot2.name.toLocaleLowerCase() === path2[part].toLocaleLowerCase())
12110
13177
  matches.push(slot2);
12111
13178
  stack.push(slot2.left, slot2.right);
12112
13179
  }
12113
13180
  if (matches.length !== 1)
12114
13181
  throw new Error("Missing or ambiguous stream");
12115
13182
  parent = matches[0];
12116
- if (parent.type !== (part === path.length - 1 ? 2 : 1))
13183
+ if (parent.type !== (part === path2.length - 1 ? 2 : 1))
12117
13184
  throw new Error("Invalid storage path");
12118
13185
  }
12119
13186
  return parent;
@@ -12143,12 +13210,12 @@ function validateHierarchy2(slots) {
12143
13210
  if (owners.size !== slots.size - 1)
12144
13211
  throw new Error("Unreachable directory entries");
12145
13212
  }
12146
- function resizeCompoundFileStream(input, path, replacement) {
13213
+ function resizeCompoundFileStream(input, path2, replacement) {
12147
13214
  if (input.length >= 512 && new DataView(input.buffer, input.byteOffset, input.byteLength).getUint16(26, true) === 4)
12148
- return resizeCompoundFileStreamV4(input, path, replacement);
13215
+ return resizeCompoundFileStreamV4(input, path2, replacement);
12149
13216
  const fail = (reason) => ({ ok: false, bytes: input, reason });
12150
13217
  try {
12151
- if (input.length < SECTOR2 || !path.length || path.some((part) => !part))
13218
+ if (input.length < SECTOR2 || !path2.length || path2.some((part) => !part))
12152
13219
  return fail("invalid-or-missing-stream");
12153
13220
  const view = new DataView(input.buffer, input.byteOffset, input.byteLength);
12154
13221
  const read = (offset) => view.getUint32(offset, true);
@@ -12159,10 +13226,10 @@ function resizeCompoundFileStream(input, path, replacement) {
12159
13226
  const cutoff = read(56);
12160
13227
  if (cutoff !== 0 && cutoff !== 4096)
12161
13228
  return fail("unsupported-layout");
12162
- const original = readCompoundFileStream(input, path);
13229
+ const original = readCompoundFileStream(input, path2);
12163
13230
  if (!original)
12164
13231
  return fail("invalid-or-missing-stream");
12165
- const name = path[path.length - 1].toLocaleLowerCase();
13232
+ const name = path2[path2.length - 1].toLocaleLowerCase();
12166
13233
  if (name === "worddocument" && original.length >= 12 && (original[10] | original[11] << 8) & 33024)
12167
13234
  return fail("unsafe-edit");
12168
13235
  if (name === "book" || name === "workbook") {
@@ -12176,7 +13243,7 @@ function resizeCompoundFileStream(input, path, replacement) {
12176
13243
  offset += 4 + length;
12177
13244
  }
12178
13245
  }
12179
- const validated = replaceCompoundFileStream(input, path, original);
13246
+ const validated = replaceCompoundFileStream(input, path2, original);
12180
13247
  if (validated === input)
12181
13248
  return fail("unsafe-edit");
12182
13249
  const sameLength = replacement.length === original.length;
@@ -12193,8 +13260,8 @@ function resizeCompoundFileStream(input, path, replacement) {
12193
13260
  return fail("unsafe-edit");
12194
13261
  const slots = /* @__PURE__ */ new Map();
12195
13262
  for (const [block, sector] of follow2(fat, read(48)).entries()) {
12196
- for (let entry = 0; entry < 4; entry++) {
12197
- const offset = (sector + 1) * SECTOR2 + entry * 128, type = view.getUint8(offset + 66);
13263
+ for (let entry2 = 0; entry2 < 4; entry2++) {
13264
+ const offset = (sector + 1) * SECTOR2 + entry2 * 128, type = view.getUint8(offset + 66);
12198
13265
  if (!type)
12199
13266
  continue;
12200
13267
  const nameLength = view.getUint16(offset + 64, true);
@@ -12203,16 +13270,16 @@ function resizeCompoundFileStream(input, path, replacement) {
12203
13270
  let name2 = "";
12204
13271
  for (let i2 = 0; i2 < nameLength - 2; i2 += 2)
12205
13272
  name2 += String.fromCharCode(view.getUint16(offset + i2, true));
12206
- const id = block * 4 + entry;
13273
+ const id = block * 4 + entry2;
12207
13274
  slots.set(id, { id, name: name2, type, left: read(offset + 68), right: read(offset + 72), child: read(offset + 76), start: read(offset + 116), size: read(offset + 120), offset });
12208
13275
  }
12209
13276
  }
12210
13277
  if ([...slots.values()].filter((slot2) => slot2.type === 5).length !== 1)
12211
13278
  return fail("unsafe-edit");
12212
- const target = findSlot2(slots, path);
13279
+ const target = findSlot2(slots, path2);
12213
13280
  validateHierarchy2(slots);
12214
13281
  if (sameLength) {
12215
- const bytes = replaceCompoundFileStream(input, path, replacement);
13282
+ const bytes = replaceCompoundFileStream(input, path2, replacement);
12216
13283
  return bytes === input ? fail("unsafe-edit") : { ok: true, bytes };
12217
13284
  }
12218
13285
  if (original.length < cutoff || replacement.length < cutoff) {
@@ -13128,7 +14195,7 @@ async function loadLegacyDoc(input) {
13128
14195
  original.byteOffset + original.byteLength
13129
14196
  )
13130
14197
  );
13131
- streams2 = parsed.entries.map((entry) => entry.name);
14198
+ streams2 = parsed.entries.map((entry2) => entry2.name);
13132
14199
  wordDocument = readCompoundFileStream(original, ["WordDocument"]) ?? null;
13133
14200
  } catch (error) {
13134
14201
  throw new LegacyDocError(