ooxml-core 1.24.3 → 1.25.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 (446) hide show
  1. package/dist/PptxHandler-5UO5DD5K.mjs +4 -0
  2. package/dist/{PptxHandler-WQPEYOSS.mjs → PptxHandler-AUK27AQD.mjs} +3 -3
  3. package/dist/{PptxHandler-2YPMMGOJ.cjs → PptxHandler-QBGEZDCO.cjs} +3 -3
  4. package/dist/{PresentationBuilder-F5U4KEGH.cjs → PresentationBuilder-CI45KEHL.cjs} +5 -5
  5. package/dist/{PresentationBuilder-FGWHIJV7.mjs → PresentationBuilder-MEETJGEA.mjs} +3 -3
  6. package/dist/{PresentationBuilder-PS5S52M3.mjs → PresentationBuilder-RX7D75GZ.mjs} +2 -2
  7. package/dist/automation/index.cjs +10188 -6069
  8. package/dist/automation/index.mjs +10188 -6069
  9. package/dist/chart/data-sheet.d.ts +86 -0
  10. package/dist/chart/data-sheet.d.ts.map +1 -0
  11. package/dist/chart/edit/axes.d.ts +49 -0
  12. package/dist/chart/edit/axes.d.ts.map +1 -0
  13. package/dist/chart/edit/chartex-data.d.ts +15 -0
  14. package/dist/chart/edit/chartex-data.d.ts.map +1 -0
  15. package/dist/chart/edit/chartex.d.ts +61 -0
  16. package/dist/chart/edit/chartex.d.ts.map +1 -0
  17. package/dist/chart/edit/data-sheet.d.ts +10 -0
  18. package/dist/chart/edit/data-sheet.d.ts.map +1 -0
  19. package/dist/chart/edit/draft.d.ts +27 -0
  20. package/dist/chart/edit/draft.d.ts.map +1 -0
  21. package/dist/chart/edit/fill.d.ts +47 -0
  22. package/dist/chart/edit/fill.d.ts.map +1 -0
  23. package/dist/chart/edit/gradient.d.ts +44 -0
  24. package/dist/chart/edit/gradient.d.ts.map +1 -0
  25. package/dist/chart/edit/group-options.d.ts +14 -0
  26. package/dist/chart/edit/group-options.d.ts.map +1 -0
  27. package/dist/chart/edit/index.d.ts +23 -0
  28. package/dist/chart/edit/index.d.ts.map +1 -0
  29. package/dist/chart/edit/intent.d.ts +72 -0
  30. package/dist/chart/edit/intent.d.ts.map +1 -0
  31. package/dist/chart/edit/legend-labels.d.ts +34 -0
  32. package/dist/chart/edit/legend-labels.d.ts.map +1 -0
  33. package/dist/chart/edit/new-chart.d.ts +14 -0
  34. package/dist/chart/edit/new-chart.d.ts.map +1 -0
  35. package/dist/chart/edit/paint.d.ts +20 -0
  36. package/dist/chart/edit/paint.d.ts.map +1 -0
  37. package/dist/chart/edit/quick-layout.d.ts +16 -0
  38. package/dist/chart/edit/quick-layout.d.ts.map +1 -0
  39. package/dist/chart/edit/series-data.d.ts +8 -0
  40. package/dist/chart/edit/series-data.d.ts.map +1 -0
  41. package/dist/chart/edit/series.d.ts +57 -0
  42. package/dist/chart/edit/series.d.ts.map +1 -0
  43. package/dist/chart/edit/style.d.ts +18 -0
  44. package/dist/chart/edit/style.d.ts.map +1 -0
  45. package/dist/chart/edit/target-paint.d.ts +19 -0
  46. package/dist/chart/edit/target-paint.d.ts.map +1 -0
  47. package/dist/chart/edit/target.d.ts +31 -0
  48. package/dist/chart/edit/target.d.ts.map +1 -0
  49. package/dist/chart/edit/title.d.ts +24 -0
  50. package/dist/chart/edit/title.d.ts.map +1 -0
  51. package/dist/chart/edit/type-axes.d.ts +14 -0
  52. package/dist/chart/edit/type-axes.d.ts.map +1 -0
  53. package/dist/chart/edit/type-schema.d.ts +15 -0
  54. package/dist/chart/edit/type-schema.d.ts.map +1 -0
  55. package/dist/chart/edit/type.d.ts +16 -0
  56. package/dist/chart/edit/type.d.ts.map +1 -0
  57. package/dist/chart/ex/index.d.ts +4 -0
  58. package/dist/chart/ex/index.d.ts.map +1 -0
  59. package/dist/chart/ex/model.d.ts +291 -0
  60. package/dist/chart/ex/model.d.ts.map +1 -0
  61. package/dist/chart/ex/parse-axis.d.ts +6 -0
  62. package/dist/chart/ex/parse-axis.d.ts.map +1 -0
  63. package/dist/chart/ex/parse-series.d.ts +6 -0
  64. package/dist/chart/ex/parse-series.d.ts.map +1 -0
  65. package/dist/chart/ex/parse-text.d.ts +14 -0
  66. package/dist/chart/ex/parse-text.d.ts.map +1 -0
  67. package/dist/chart/ex/parse-util.d.ts +36 -0
  68. package/dist/chart/ex/parse-util.d.ts.map +1 -0
  69. package/dist/chart/ex/parse.d.ts +10 -0
  70. package/dist/chart/ex/parse.d.ts.map +1 -0
  71. package/dist/chart/ex/write-series.d.ts +13 -0
  72. package/dist/chart/ex/write-series.d.ts.map +1 -0
  73. package/dist/chart/ex/write-util.d.ts +23 -0
  74. package/dist/chart/ex/write-util.d.ts.map +1 -0
  75. package/dist/chart/ex/write.d.ts +24 -0
  76. package/dist/chart/ex/write.d.ts.map +1 -0
  77. package/dist/chart/index.cjs +7258 -3107
  78. package/dist/chart/index.d.ts +8 -0
  79. package/dist/chart/index.d.ts.map +1 -1
  80. package/dist/chart/index.mjs +7117 -3110
  81. package/dist/chart/keep-source.d.ts +11 -0
  82. package/dist/chart/keep-source.d.ts.map +1 -0
  83. package/dist/chart/keep-unmodelled.d.ts +6 -0
  84. package/dist/chart/keep-unmodelled.d.ts.map +1 -0
  85. package/dist/chart/model-series.d.ts +6 -0
  86. package/dist/chart/model-series.d.ts.map +1 -1
  87. package/dist/chart/model.d.ts +14 -0
  88. package/dist/chart/model.d.ts.map +1 -1
  89. package/dist/chart/parse-plot.d.ts.map +1 -1
  90. package/dist/chart/parse-series.d.ts +1 -1
  91. package/dist/chart/parse-series.d.ts.map +1 -1
  92. package/dist/chart/parse-util.d.ts +2 -0
  93. package/dist/chart/parse-util.d.ts.map +1 -1
  94. package/dist/chart/quick-layouts.d.ts +41 -0
  95. package/dist/chart/quick-layouts.d.ts.map +1 -0
  96. package/dist/chart/render/summary-from-chartex.d.ts +3 -0
  97. package/dist/chart/render/summary-from-chartex.d.ts.map +1 -1
  98. package/dist/chart/style-presets.d.ts +20 -0
  99. package/dist/chart/style-presets.d.ts.map +1 -0
  100. package/dist/chart/workbook/cellref.d.ts +53 -0
  101. package/dist/chart/workbook/cellref.d.ts.map +1 -0
  102. package/dist/chart/workbook/create.d.ts +6 -0
  103. package/dist/chart/workbook/create.d.ts.map +1 -0
  104. package/dist/chart/workbook/index.d.ts +10 -0
  105. package/dist/chart/workbook/index.d.ts.map +1 -0
  106. package/dist/chart/workbook/layout.d.ts +35 -0
  107. package/dist/chart/workbook/layout.d.ts.map +1 -0
  108. package/dist/chart/workbook/package-save.d.ts +48 -0
  109. package/dist/chart/workbook/package-save.d.ts.map +1 -0
  110. package/dist/chart/workbook/sheet-cells.d.ts +31 -0
  111. package/dist/chart/workbook/sheet-cells.d.ts.map +1 -0
  112. package/dist/chart/workbook/space-writes.d.ts +5 -0
  113. package/dist/chart/workbook/space-writes.d.ts.map +1 -0
  114. package/dist/chart/workbook/tables.d.ts +20 -0
  115. package/dist/chart/workbook/tables.d.ts.map +1 -0
  116. package/dist/chart/workbook/validation.d.ts +12 -0
  117. package/dist/chart/workbook/validation.d.ts.map +1 -0
  118. package/dist/chart/workbook/writer.d.ts +55 -0
  119. package/dist/chart/workbook/writer.d.ts.map +1 -0
  120. package/dist/chart/write-axes.d.ts.map +1 -1
  121. package/dist/chart/write-plot.d.ts.map +1 -1
  122. package/dist/chart/write-series.d.ts.map +1 -1
  123. package/dist/chart/write-shape.d.ts +2 -0
  124. package/dist/chart/write-shape.d.ts.map +1 -1
  125. package/dist/{chunk-K2XWOVLV.mjs → chunk-5F7OB7PA.mjs} +4075 -1949
  126. package/dist/{chunk-2AFO3HNI.mjs → chunk-635WPRNJ.mjs} +2235 -2095
  127. package/dist/{chunk-O6ISWI34.mjs → chunk-6DHZZD5R.mjs} +1102 -1024
  128. package/dist/{chunk-GBKBR4CX.mjs → chunk-E2PYQQQV.mjs} +1 -1
  129. package/dist/{chunk-4IFENOU7.mjs → chunk-E3PRAHL6.mjs} +1 -1
  130. package/dist/{chunk-5SE4FGS4.cjs → chunk-GMETZZ3V.cjs} +4989 -2863
  131. package/dist/{chunk-HKCSJAQD.mjs → chunk-HVRFRYYS.mjs} +5 -5
  132. package/dist/{chunk-QCZX6K67.cjs → chunk-S5TGOEQX.cjs} +1107 -1028
  133. package/dist/{chunk-RF2YPEKI.mjs → chunk-TX2QFS3J.mjs} +3976 -1833
  134. package/dist/{chunk-OJWKGDJF.mjs → chunk-VGDHSED6.mjs} +1 -1
  135. package/dist/diagram/approximate.d.ts +19 -0
  136. package/dist/diagram/approximate.d.ts.map +1 -0
  137. package/dist/diagram/builtin/catalog.d.ts +3 -0
  138. package/dist/diagram/builtin/catalog.d.ts.map +1 -0
  139. package/dist/diagram/builtin/data.d.ts +3 -0
  140. package/dist/diagram/builtin/data.d.ts.map +1 -0
  141. package/dist/diagram/builtin/definitions.d.ts +7 -0
  142. package/dist/diagram/builtin/definitions.d.ts.map +1 -0
  143. package/dist/diagram/builtin/index.cjs +1348 -0
  144. package/dist/diagram/builtin/index.d.ts +3 -0
  145. package/dist/diagram/builtin/index.d.ts.map +1 -0
  146. package/dist/diagram/builtin/index.mjs +1337 -0
  147. package/dist/diagram/builtin/layouts.d.ts +15 -0
  148. package/dist/diagram/builtin/layouts.d.ts.map +1 -0
  149. package/dist/diagram/builtin/types.d.ts +13 -0
  150. package/dist/diagram/builtin/types.d.ts.map +1 -0
  151. package/dist/diagram/catalogue.d.ts +51 -0
  152. package/dist/diagram/catalogue.d.ts.map +1 -0
  153. package/dist/diagram/data-model.d.ts.map +1 -1
  154. package/dist/diagram/drawing-from-views.d.ts +11 -0
  155. package/dist/diagram/drawing-from-views.d.ts.map +1 -0
  156. package/dist/diagram/drawing-resolve.d.ts +34 -0
  157. package/dist/diagram/drawing-resolve.d.ts.map +1 -0
  158. package/dist/diagram/drawing-view.d.ts +104 -0
  159. package/dist/diagram/drawing-view.d.ts.map +1 -0
  160. package/dist/diagram/drawing.d.ts.map +1 -1
  161. package/dist/diagram/edit/design-commands.d.ts +27 -0
  162. package/dist/diagram/edit/design-commands.d.ts.map +1 -0
  163. package/dist/diagram/edit/index.d.ts +15 -0
  164. package/dist/diagram/edit/index.d.ts.map +1 -0
  165. package/dist/diagram/edit/node-edit.d.ts +66 -0
  166. package/dist/diagram/edit/node-edit.d.ts.map +1 -0
  167. package/dist/diagram/edit/node-ops.d.ts +71 -0
  168. package/dist/diagram/edit/node-ops.d.ts.map +1 -0
  169. package/dist/diagram/edit/node-order.d.ts +28 -0
  170. package/dist/diagram/edit/node-order.d.ts.map +1 -0
  171. package/dist/diagram/edit/node-style.d.ts +42 -0
  172. package/dist/diagram/edit/node-style.d.ts.map +1 -0
  173. package/dist/diagram/edit/node-tree.d.ts +10 -0
  174. package/dist/diagram/edit/node-tree.d.ts.map +1 -0
  175. package/dist/diagram/edit/outline.d.ts +11 -0
  176. package/dist/diagram/edit/outline.d.ts.map +1 -0
  177. package/dist/diagram/edit/reflow-category.d.ts +18 -0
  178. package/dist/diagram/edit/reflow-category.d.ts.map +1 -0
  179. package/dist/diagram/edit/reflow-directional.d.ts +53 -0
  180. package/dist/diagram/edit/reflow-directional.d.ts.map +1 -0
  181. package/dist/diagram/edit/reflow-geometric.d.ts +59 -0
  182. package/dist/diagram/edit/reflow-geometric.d.ts.map +1 -0
  183. package/dist/diagram/edit/reflow-stacked.d.ts +32 -0
  184. package/dist/diagram/edit/reflow-stacked.d.ts.map +1 -0
  185. package/dist/diagram/edit/reflow.d.ts +48 -0
  186. package/dist/diagram/edit/reflow.d.ts.map +1 -0
  187. package/dist/diagram/edit/shape-match.d.ts +34 -0
  188. package/dist/diagram/edit/shape-match.d.ts.map +1 -0
  189. package/dist/diagram/edit/types.d.ts +31 -0
  190. package/dist/diagram/edit/types.d.ts.map +1 -0
  191. package/dist/diagram/index.cjs +3934 -910
  192. package/dist/diagram/index.d.ts +9 -0
  193. package/dist/diagram/index.d.ts.map +1 -1
  194. package/dist/diagram/index.mjs +3860 -912
  195. package/dist/diagram/model/node.d.ts +10 -0
  196. package/dist/diagram/model/node.d.ts.map +1 -1
  197. package/dist/diagram/relationships.d.ts +8 -0
  198. package/dist/diagram/relationships.d.ts.map +1 -1
  199. package/dist/diagram/strings/de.d.ts +3 -0
  200. package/dist/diagram/strings/de.d.ts.map +1 -0
  201. package/dist/diagram/strings/en.d.ts +74 -0
  202. package/dist/diagram/strings/en.d.ts.map +1 -0
  203. package/dist/diagram/strings/es.d.ts +3 -0
  204. package/dist/diagram/strings/es.d.ts.map +1 -0
  205. package/dist/diagram/strings/fr.d.ts +3 -0
  206. package/dist/diagram/strings/fr.d.ts.map +1 -0
  207. package/dist/diagram/strings/index.d.ts +11 -0
  208. package/dist/diagram/strings/index.d.ts.map +1 -0
  209. package/dist/diagram/strings/zh-CN.d.ts +3 -0
  210. package/dist/diagram/strings/zh-CN.d.ts.map +1 -0
  211. package/dist/diagram/text/index.d.ts +5 -0
  212. package/dist/diagram/text/index.d.ts.map +1 -0
  213. package/dist/diagram/text/node-text-neutral.d.ts +29 -0
  214. package/dist/diagram/text/node-text-neutral.d.ts.map +1 -0
  215. package/dist/diagram/text/node-text-paragraphs.d.ts +6 -0
  216. package/dist/diagram/text/node-text-paragraphs.d.ts.map +1 -0
  217. package/dist/diagram/text/node-text-projection.d.ts +48 -0
  218. package/dist/diagram/text/node-text-projection.d.ts.map +1 -0
  219. package/dist/diagram/text/node-text-reconciliation.d.ts +4 -0
  220. package/dist/diagram/text/node-text-reconciliation.d.ts.map +1 -0
  221. package/dist/diagram/types.d.ts +12 -0
  222. package/dist/diagram/types.d.ts.map +1 -1
  223. package/dist/diagram/write/data-edit.d.ts +30 -0
  224. package/dist/diagram/write/data-edit.d.ts.map +1 -0
  225. package/dist/diagram/write/data.d.ts +62 -0
  226. package/dist/diagram/write/data.d.ts.map +1 -0
  227. package/dist/diagram/write/index.d.ts +4 -0
  228. package/dist/diagram/write/index.d.ts.map +1 -0
  229. package/dist/diagram/write/inserted.d.ts +14 -0
  230. package/dist/diagram/write/inserted.d.ts.map +1 -0
  231. package/dist/docx/chart-edit.d.ts +33 -0
  232. package/dist/docx/chart-edit.d.ts.map +1 -0
  233. package/dist/docx/chart-save.d.ts +14 -0
  234. package/dist/docx/chart-save.d.ts.map +1 -0
  235. package/dist/docx/chart.d.ts +5 -3
  236. package/dist/docx/chart.d.ts.map +1 -1
  237. package/dist/docx/diagram-edit.d.ts +50 -0
  238. package/dist/docx/diagram-edit.d.ts.map +1 -0
  239. package/dist/docx/diagram-nodes.d.ts +2 -0
  240. package/dist/docx/diagram-nodes.d.ts.map +1 -0
  241. package/dist/docx/diagram-save.d.ts +12 -0
  242. package/dist/docx/diagram-save.d.ts.map +1 -0
  243. package/dist/docx/diagram.d.ts +17 -9
  244. package/dist/docx/diagram.d.ts.map +1 -1
  245. package/dist/docx/embedded.cjs +5741 -2973
  246. package/dist/docx/embedded.mjs +5741 -2973
  247. package/dist/docx/index.cjs +10098 -6118
  248. package/dist/docx/index.d.ts +4 -1
  249. package/dist/docx/index.d.ts.map +1 -1
  250. package/dist/docx/index.mjs +10084 -6119
  251. package/dist/docx/load/index.cjs +5840 -3072
  252. package/dist/docx/load/index.mjs +5840 -3072
  253. package/dist/docx/parse.d.ts.map +1 -1
  254. package/dist/docx/part-relationships.d.ts.map +1 -1
  255. package/dist/docx/relationship-allocator.d.ts +19 -0
  256. package/dist/docx/relationship-allocator.d.ts.map +1 -1
  257. package/dist/docx/save.d.ts.map +1 -1
  258. package/dist/docx/ui/chart-commands.d.ts +19 -0
  259. package/dist/docx/ui/chart-commands.d.ts.map +1 -0
  260. package/dist/docx/ui/index.cjs +1482 -655
  261. package/dist/docx/ui/index.d.ts +2 -0
  262. package/dist/docx/ui/index.d.ts.map +1 -1
  263. package/dist/docx/ui/index.mjs +1479 -656
  264. package/dist/docx/ui/ribbon-action-ids.d.ts +1 -1
  265. package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -1
  266. package/dist/docx/ui/smartart-approximate.d.ts +5 -0
  267. package/dist/docx/ui/smartart-approximate.d.ts.map +1 -0
  268. package/dist/docx/write-chart-drawing.d.ts +12 -0
  269. package/dist/docx/write-chart-drawing.d.ts.map +1 -0
  270. package/dist/docx/write-diagram-drawing.d.ts +13 -0
  271. package/dist/docx/write-diagram-drawing.d.ts.map +1 -0
  272. package/dist/docx/write-drawing-patch.d.ts +8 -0
  273. package/dist/docx/write-drawing-patch.d.ts.map +1 -0
  274. package/dist/docx/write-drawing.d.ts.map +1 -1
  275. package/dist/drawingml/index.cjs +863 -0
  276. package/dist/drawingml/index.d.ts +7 -0
  277. package/dist/drawingml/index.d.ts.map +1 -1
  278. package/dist/drawingml/index.mjs +840 -1
  279. package/dist/drawingml/read-paragraph-properties.d.ts +8 -0
  280. package/dist/drawingml/read-paragraph-properties.d.ts.map +1 -0
  281. package/dist/drawingml/read-run-properties.d.ts +15 -0
  282. package/dist/drawingml/read-run-properties.d.ts.map +1 -0
  283. package/dist/drawingml/read-text-body.d.ts +13 -0
  284. package/dist/drawingml/read-text-body.d.ts.map +1 -0
  285. package/dist/drawingml/text-model.d.ts +210 -0
  286. package/dist/drawingml/text-model.d.ts.map +1 -0
  287. package/dist/drawingml/write-paragraph-properties.d.ts +12 -0
  288. package/dist/drawingml/write-paragraph-properties.d.ts.map +1 -0
  289. package/dist/drawingml/write-run-properties.d.ts +11 -0
  290. package/dist/drawingml/write-run-properties.d.ts.map +1 -0
  291. package/dist/drawingml/write-text-body.d.ts +18 -0
  292. package/dist/drawingml/write-text-body.d.ts.map +1 -0
  293. package/dist/drawingml/write-text-xml.d.ts +26 -0
  294. package/dist/drawingml/write-text-xml.d.ts.map +1 -0
  295. package/dist/index.cjs +10078 -2908
  296. package/dist/index.mjs +10078 -2908
  297. package/dist/opc/index.cjs +10 -0
  298. package/dist/opc/index.mjs +10 -1
  299. package/dist/opc/package.d.ts +5 -0
  300. package/dist/opc/package.d.ts.map +1 -1
  301. package/dist/pptx/automation/index.cjs +6845 -3885
  302. package/dist/pptx/automation/index.d.ts +5 -5
  303. package/dist/pptx/automation/index.mjs +6 -6
  304. package/dist/pptx/chunks/{elements-iUzpAeqR.d.ts → elements-DhW764aK.d.ts} +23 -14
  305. package/dist/pptx/chunks/elements-DhW764aK.d.ts.map +1 -0
  306. package/dist/pptx/chunks/{index-C3xhAMSa.d.ts → index-CX0RM1fF.d.ts} +4 -4
  307. package/dist/pptx/chunks/{index-C3xhAMSa.d.ts.map → index-CX0RM1fF.d.ts.map} +1 -1
  308. package/dist/pptx/chunks/{index-nKQ4s7FA.d.ts → index-CgjEEpfK.d.ts} +18 -9
  309. package/dist/pptx/chunks/index-CgjEEpfK.d.ts.map +1 -0
  310. package/dist/pptx/chunks/{index-4FmgJajb.d.ts → index-DCbp5fOs.d.ts} +100 -95
  311. package/dist/pptx/chunks/index-DCbp5fOs.d.ts.map +1 -0
  312. package/dist/pptx/chunks/{smart-art-ENMMEbmW.d.ts → smart-art-BEEl0l8X.d.ts} +514 -306
  313. package/dist/pptx/chunks/smart-art-BEEl0l8X.d.ts.map +1 -0
  314. package/dist/pptx/chunks/{text-operations-CfLVZ7DK.d.ts → text-operations-CjalmJIi.d.ts} +2 -2
  315. package/dist/pptx/chunks/{text-operations-CfLVZ7DK.d.ts.map → text-operations-CjalmJIi.d.ts.map} +1 -1
  316. package/dist/pptx/cli/index.cjs +6330 -3372
  317. package/dist/pptx/cli/index.d.ts +1 -1
  318. package/dist/pptx/cli/index.mjs +5 -5
  319. package/dist/pptx/converter/index.cjs +107 -75
  320. package/dist/pptx/converter/index.d.ts +1 -1
  321. package/dist/pptx/converter/index.mjs +3 -3
  322. package/dist/pptx/editor/render/editor-history.cjs +3 -1
  323. package/dist/pptx/editor/render/editor-history.d.ts +9 -1
  324. package/dist/pptx/editor/render/editor-history.d.ts.map +1 -1
  325. package/dist/pptx/editor/render/editor-history.mjs +3 -2
  326. package/dist/pptx/editor/render/find-replace.cjs +14 -14
  327. package/dist/pptx/editor/render/find-replace.d.ts +2 -2
  328. package/dist/pptx/editor/render/find-replace.mjs +1 -1
  329. package/dist/pptx/editor/render/slide-operations.cjs +8 -8
  330. package/dist/pptx/editor/render/slide-operations.mjs +2 -2
  331. package/dist/pptx/editor/render/text-runs-style-patch.d.ts +1 -1
  332. package/dist/pptx/editor/render/text-style-scope.d.ts +1 -1
  333. package/dist/pptx/index.cjs +7750 -4725
  334. package/dist/pptx/index.d.ts +7 -7
  335. package/dist/pptx/index.mjs +6 -6
  336. package/dist/pptx/node/index.d.ts +1 -1
  337. package/dist/pptx/signature-node/index.mjs +2 -2
  338. package/dist/pptx/smartart-layouts/index.cjs +26 -23
  339. package/dist/pptx/smartart-layouts/index.d.ts +7 -5
  340. package/dist/pptx/smartart-layouts/index.d.ts.map +1 -1
  341. package/dist/pptx/smartart-layouts/index.mjs +26 -23
  342. package/dist/teams/index.cjs +20165 -18388
  343. package/dist/teams/index.mjs +20165 -18388
  344. package/dist/text/index.cjs +106 -0
  345. package/dist/text/index.d.ts +2 -0
  346. package/dist/text/index.d.ts.map +1 -1
  347. package/dist/text/index.mjs +103 -1
  348. package/dist/text/locale-number.d.ts +15 -0
  349. package/dist/text/locale-number.d.ts.map +1 -0
  350. package/dist/text/tsv.d.ts +8 -0
  351. package/dist/text/tsv.d.ts.map +1 -0
  352. package/dist/visio/index.cjs +3574 -1953
  353. package/dist/visio/index.mjs +3574 -1953
  354. package/dist/visio/ui/index.cjs +3562 -1941
  355. package/dist/visio/ui/index.mjs +3562 -1941
  356. package/dist/xlsx/edit/chart-colors.d.ts +2 -2
  357. package/dist/xlsx/edit/chart-colors.d.ts.map +1 -1
  358. package/dist/xlsx/edit/chart-design.d.ts +11 -0
  359. package/dist/xlsx/edit/chart-design.d.ts.map +1 -0
  360. package/dist/xlsx/edit/chart-element-fill.d.ts.map +1 -1
  361. package/dist/xlsx/edit/chart-series-fill.d.ts.map +1 -1
  362. package/dist/xlsx/edit/chart-series-gradient.d.ts +6 -34
  363. package/dist/xlsx/edit/chart-series-gradient.d.ts.map +1 -1
  364. package/dist/xlsx/edit/chart-series-transparency.d.ts.map +1 -1
  365. package/dist/xlsx/edit/chart-space-patch.d.ts +13 -0
  366. package/dist/xlsx/edit/chart-space-patch.d.ts.map +1 -0
  367. package/dist/xlsx/edit/chart-space-series.d.ts +14 -0
  368. package/dist/xlsx/edit/chart-space-series.d.ts.map +1 -0
  369. package/dist/xlsx/edit/charts.d.ts +22 -6
  370. package/dist/xlsx/edit/charts.d.ts.map +1 -1
  371. package/dist/xlsx/edit/clipboard-text.d.ts +2 -7
  372. package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -1
  373. package/dist/xlsx/edit/context.d.ts +3 -1
  374. package/dist/xlsx/edit/context.d.ts.map +1 -1
  375. package/dist/xlsx/edit/drawings.d.ts.map +1 -1
  376. package/dist/xlsx/edit/index.d.ts +3 -1
  377. package/dist/xlsx/edit/index.d.ts.map +1 -1
  378. package/dist/xlsx/edit/session.d.ts.map +1 -1
  379. package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -1
  380. package/dist/xlsx/edit/smart-art.d.ts +32 -0
  381. package/dist/xlsx/edit/smart-art.d.ts.map +1 -0
  382. package/dist/xlsx/edit/types.d.ts +12 -1
  383. package/dist/xlsx/edit/types.d.ts.map +1 -1
  384. package/dist/xlsx/embedded-chart-space.d.ts +19 -0
  385. package/dist/xlsx/embedded-chart-space.d.ts.map +1 -0
  386. package/dist/xlsx/index.cjs +6464 -3108
  387. package/dist/xlsx/index.d.ts +1 -0
  388. package/dist/xlsx/index.d.ts.map +1 -1
  389. package/dist/xlsx/index.mjs +6458 -3109
  390. package/dist/xlsx/load/index.cjs +5732 -3843
  391. package/dist/xlsx/load/index.mjs +5732 -3843
  392. package/dist/xlsx/model.d.ts +71 -15
  393. package/dist/xlsx/model.d.ts.map +1 -1
  394. package/dist/xlsx/read/chart.d.ts +10 -0
  395. package/dist/xlsx/read/chart.d.ts.map +1 -1
  396. package/dist/xlsx/read/drawing.d.ts.map +1 -1
  397. package/dist/xlsx/read/smart-art.d.ts.map +1 -1
  398. package/dist/xlsx/smart-art-notices.d.ts +6 -0
  399. package/dist/xlsx/smart-art-notices.d.ts.map +1 -0
  400. package/dist/xlsx/ui/commands/contextual.d.ts +6 -1
  401. package/dist/xlsx/ui/commands/contextual.d.ts.map +1 -1
  402. package/dist/xlsx/ui/commands/i18n/chart-series.d.ts.map +1 -1
  403. package/dist/xlsx/ui/commands/i18n/core-features.d.ts.map +1 -1
  404. package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -1
  405. package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts.map +1 -1
  406. package/dist/xlsx/ui/commands/i18n/smartart.d.ts +3 -0
  407. package/dist/xlsx/ui/commands/i18n/smartart.d.ts.map +1 -0
  408. package/dist/xlsx/ui/commands/icons.d.ts.map +1 -1
  409. package/dist/xlsx/ui/index.cjs +6671 -2910
  410. package/dist/xlsx/ui/index.mjs +6670 -2910
  411. package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -1
  412. package/dist/xlsx/ui/locales/de/smartart.d.ts +2 -0
  413. package/dist/xlsx/ui/locales/de/smartart.d.ts.map +1 -0
  414. package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -1
  415. package/dist/xlsx/ui/locales/en/smartart.d.ts +2 -0
  416. package/dist/xlsx/ui/locales/en/smartart.d.ts.map +1 -0
  417. package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -1
  418. package/dist/xlsx/ui/locales/es/smartart.d.ts +2 -0
  419. package/dist/xlsx/ui/locales/es/smartart.d.ts.map +1 -0
  420. package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -1
  421. package/dist/xlsx/ui/locales/fr/smartart.d.ts +2 -0
  422. package/dist/xlsx/ui/locales/fr/smartart.d.ts.map +1 -0
  423. package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -1
  424. package/dist/xlsx/ui/locales/zh-CN/smartart.d.ts +2 -0
  425. package/dist/xlsx/ui/locales/zh-CN/smartart.d.ts.map +1 -0
  426. package/dist/xlsx/write/chart-cache.d.ts.map +1 -1
  427. package/dist/xlsx/write/chart-colors.d.ts +1 -8
  428. package/dist/xlsx/write/chart-colors.d.ts.map +1 -1
  429. package/dist/xlsx/write/chart-space.d.ts +8 -0
  430. package/dist/xlsx/write/chart-space.d.ts.map +1 -1
  431. package/dist/xlsx/write/chart-title.d.ts +2 -2
  432. package/dist/xlsx/write/chart-title.d.ts.map +1 -1
  433. package/dist/xlsx/write/chart.d.ts +4 -3
  434. package/dist/xlsx/write/chart.d.ts.map +1 -1
  435. package/dist/xlsx/write/drawing.d.ts +10 -3
  436. package/dist/xlsx/write/drawing.d.ts.map +1 -1
  437. package/dist/xlsx/write/smart-art.d.ts +17 -0
  438. package/dist/xlsx/write/smart-art.d.ts.map +1 -0
  439. package/package.json +6 -1
  440. package/dist/PptxHandler-VXK5EY7J.mjs +0 -4
  441. package/dist/pptx/chunks/elements-iUzpAeqR.d.ts.map +0 -1
  442. package/dist/pptx/chunks/index-4FmgJajb.d.ts.map +0 -1
  443. package/dist/pptx/chunks/index-nKQ4s7FA.d.ts.map +0 -1
  444. package/dist/pptx/chunks/smart-art-ENMMEbmW.d.ts.map +0 -1
  445. package/dist/xlsx/write/chart-patch.d.ts +0 -9
  446. package/dist/xlsx/write/chart-patch.d.ts.map +0 -1
@@ -1644,9 +1644,851 @@ function themeDrawingColorTheme(scheme, colorMap) {
1644
1644
  };
1645
1645
  }
1646
1646
 
1647
+ // drawingml/read-run-properties.ts
1648
+ function outerXml(element) {
1649
+ return buildXml(element);
1650
+ }
1651
+ function isDrawingElement(element) {
1652
+ return !element.namespaceURI || element.namespaceURI === NS.a;
1653
+ }
1654
+ function parseDrawingFont(element) {
1655
+ const typeface = stringAttribute(element, "typeface");
1656
+ if (!element || typeface === void 0) return void 0;
1657
+ const font = { typeface };
1658
+ const panose = stringAttribute(element, "panose");
1659
+ if (panose) font.panose = panose;
1660
+ const pitchFamily = integerAttribute(element, "pitchFamily");
1661
+ if (pitchFamily !== void 0) font.pitchFamily = pitchFamily;
1662
+ const charset = integerAttribute(element, "charset");
1663
+ if (charset !== void 0) font.charset = charset;
1664
+ return font;
1665
+ }
1666
+ function parseDrawingHyperlink(element) {
1667
+ const link = {};
1668
+ const relId = attributeReader(element)("id")?.trim();
1669
+ if (relId) link.relId = relId;
1670
+ for (const [key, name] of [
1671
+ ["tooltip", "tooltip"],
1672
+ ["action", "action"],
1673
+ ["invalidUrl", "invalidUrl"],
1674
+ ["targetFrame", "tgtFrame"]
1675
+ ]) {
1676
+ const value = stringAttribute(element, name);
1677
+ if (value) link[key] = value;
1678
+ }
1679
+ for (const [key, name] of [
1680
+ ["history", "history"],
1681
+ ["highlightClick", "highlightClick"],
1682
+ ["endSound", "endSnd"]
1683
+ ]) {
1684
+ const value = booleanAttribute(element, name);
1685
+ if (value !== void 0) link[key] = value;
1686
+ }
1687
+ const extra = elements(element).map(outerXml);
1688
+ if (extra.length) link.extraXml = extra;
1689
+ return link;
1690
+ }
1691
+ var BOOLEAN_ATTRIBUTES = [
1692
+ ["bold", "b"],
1693
+ ["italic", "i"],
1694
+ ["kumimoji", "kumimoji"],
1695
+ ["normalizeHeight", "normalizeH"],
1696
+ ["noProof", "noProof"],
1697
+ ["dirty", "dirty"],
1698
+ ["spellingError", "err"],
1699
+ ["smartTagClean", "smtClean"]
1700
+ ];
1701
+ var STRING_ATTRIBUTES = [
1702
+ ["underline", "u"],
1703
+ ["strike", "strike"],
1704
+ ["caps", "cap"],
1705
+ ["language", "lang"],
1706
+ ["altLanguage", "altLang"],
1707
+ ["bookmark", "bmk"]
1708
+ ];
1709
+ var FONT_SLOTS = {
1710
+ latin: "latin",
1711
+ ea: "eastAsian",
1712
+ cs: "complexScript",
1713
+ sym: "symbol"
1714
+ };
1715
+ function readAttributes(element, out) {
1716
+ const size = integerAttribute(element, "sz");
1717
+ if (size !== void 0) out.sizePt = size / 100;
1718
+ for (const [key, name] of BOOLEAN_ATTRIBUTES) {
1719
+ const value = booleanAttribute(element, name);
1720
+ if (value !== void 0) out[key] = value;
1721
+ }
1722
+ for (const [key, name] of STRING_ATTRIBUTES) {
1723
+ const value = stringAttribute(element, name);
1724
+ if (value) out[key] = value;
1725
+ }
1726
+ const baseline = attributeReader(element)("baseline");
1727
+ const baselineFraction = baseline === void 0 ? void 0 : parseOoxmlPercent(baseline);
1728
+ if (baselineFraction !== void 0) out.baseline = baselineFraction;
1729
+ const spacing = integerAttribute(element, "spc");
1730
+ if (spacing !== void 0) out.spacingPt = spacing / 100;
1731
+ const kern = integerAttribute(element, "kern");
1732
+ if (kern !== void 0) out.kernPt = kern / 100;
1733
+ const smartTagId = integerAttribute(element, "smtId");
1734
+ if (smartTagId !== void 0) out.smartTagId = smartTagId;
1735
+ }
1736
+ function readChild(child, out, extra) {
1737
+ const name = child.localName;
1738
+ if (!isDrawingElement(child)) {
1739
+ extra.push(outerXml(child));
1740
+ return;
1741
+ }
1742
+ if (name === "ln") {
1743
+ const line = parseDrawingLine(child);
1744
+ if (line) out.line = line;
1745
+ out.lineSourceXml = outerXml(child);
1746
+ } else if (name in FONT_SLOTS) {
1747
+ const font = parseDrawingFont(child);
1748
+ if (font) out[FONT_SLOTS[name]] = font;
1749
+ else extra.push(outerXml(child));
1750
+ } else if (name === "highlight") {
1751
+ const color = parseDrawingColorIn(child);
1752
+ if (color) out.highlight = color;
1753
+ } else if (name === "uLnTx") out.underlineLineFollowsText = true;
1754
+ else if (name === "uLn") out.underlineLineXml = outerXml(child);
1755
+ else if (name === "uFillTx") out.underlineFillFollowsText = true;
1756
+ else if (name === "uFill") {
1757
+ const fill = parseDrawingFill(child);
1758
+ if (fill) out.underlineFill = fill;
1759
+ else extra.push(outerXml(child));
1760
+ } else if (name === "hlinkClick") out.hyperlinkClick = parseDrawingHyperlink(child);
1761
+ else if (name === "hlinkMouseOver") out.hyperlinkMouseOver = parseDrawingHyperlink(child);
1762
+ else if (name === "rtl") {
1763
+ const value = booleanAttribute(child, "val");
1764
+ out.rightToLeft = value ?? true;
1765
+ } else extra.push(outerXml(child));
1766
+ }
1767
+ var WRITABLE_FILLS = /* @__PURE__ */ new Set(["none", "solid", "gradient"]);
1768
+ function parseDrawingRunProperties(element) {
1769
+ if (!element) return void 0;
1770
+ const out = {};
1771
+ readAttributes(element, out);
1772
+ const extra = [];
1773
+ const fillElement = fillElementOf(element);
1774
+ for (const child of elements(element)) {
1775
+ if (child === fillElement) {
1776
+ const fill = parseDrawingFill(element);
1777
+ if (fill && WRITABLE_FILLS.has(fill.kind)) out.fill = fill;
1778
+ else extra.push(outerXml(child));
1779
+ continue;
1780
+ }
1781
+ readChild(child, out, extra);
1782
+ }
1783
+ if (extra.length) out.extraXml = extra;
1784
+ return out;
1785
+ }
1786
+
1787
+ // drawingml/read-paragraph-properties.ts
1788
+ function parseDrawingTextSpacing(element) {
1789
+ const points = integerAttribute(first(element, "spcPts", NS.a), "val");
1790
+ if (points !== void 0) return { unit: "points", value: points / 100 };
1791
+ const percent = parseOoxmlPercent(first(element, "spcPct", NS.a)?.getAttribute("val"));
1792
+ if (percent !== void 0) return { unit: "percent", value: percent };
1793
+ return void 0;
1794
+ }
1795
+ var EMU_ATTRIBUTES = [
1796
+ ["marginLeftEmu", "marL"],
1797
+ ["marginRightEmu", "marR"],
1798
+ ["indentEmu", "indent"],
1799
+ ["defaultTabSizeEmu", "defTabSz"]
1800
+ ];
1801
+ var BOOLEAN_ATTRIBUTES2 = [
1802
+ ["rightToLeft", "rtl"],
1803
+ ["eastAsianLineBreak", "eaLnBrk"],
1804
+ ["latinLineBreak", "latinLnBrk"],
1805
+ ["hangingPunctuation", "hangingPunct"]
1806
+ ];
1807
+ function readAttributes2(element, out) {
1808
+ const level = integerAttribute(element, "lvl");
1809
+ if (level !== void 0) out.level = Math.min(Math.max(level, 0), 8);
1810
+ const align = stringAttribute(element, "algn");
1811
+ if (align) out.align = align;
1812
+ for (const [key, name] of EMU_ATTRIBUTES) {
1813
+ const value = integerAttribute(element, name);
1814
+ if (value !== void 0) out[key] = value;
1815
+ }
1816
+ for (const [key, name] of BOOLEAN_ATTRIBUTES2) {
1817
+ const value = booleanAttribute(element, name);
1818
+ if (value !== void 0) out[key] = value;
1819
+ }
1820
+ const fontAlign = stringAttribute(element, "fontAlgn");
1821
+ if (fontAlign) out.fontAlign = fontAlign;
1822
+ }
1823
+ function readTabStops(element) {
1824
+ return children(element, "tab", NS.a).map((tab) => {
1825
+ const stop = {};
1826
+ const position = integerAttribute(tab, "pos");
1827
+ if (position !== void 0) stop.positionEmu = position;
1828
+ const align = stringAttribute(tab, "algn");
1829
+ if (align) stop.align = align;
1830
+ return stop;
1831
+ });
1832
+ }
1833
+ function readBulletChild(child, out) {
1834
+ switch (child.localName) {
1835
+ case "buClrTx":
1836
+ out.bulletColor = "text";
1837
+ return true;
1838
+ case "buClr": {
1839
+ const color = parseDrawingColorIn(child);
1840
+ if (color) out.bulletColor = color;
1841
+ return color !== void 0;
1842
+ }
1843
+ case "buSzTx":
1844
+ out.bulletSize = "text";
1845
+ return true;
1846
+ case "buSzPct": {
1847
+ const value = parseOoxmlPercent(child.getAttribute("val"));
1848
+ if (value !== void 0) out.bulletSize = { unit: "percent", value };
1849
+ return value !== void 0;
1850
+ }
1851
+ case "buSzPts": {
1852
+ const value = integerAttribute(child, "val");
1853
+ if (value !== void 0) out.bulletSize = { unit: "points", value: value / 100 };
1854
+ return value !== void 0;
1855
+ }
1856
+ case "buFontTx":
1857
+ out.bulletFont = "text";
1858
+ return true;
1859
+ case "buFont": {
1860
+ const font = parseDrawingFont(child);
1861
+ if (font) out.bulletFont = font;
1862
+ return font !== void 0;
1863
+ }
1864
+ case "buNone":
1865
+ out.bullet = { kind: "none" };
1866
+ return true;
1867
+ case "buChar": {
1868
+ const char = child.getAttribute("char");
1869
+ if (char) out.bullet = { kind: "char", char };
1870
+ return Boolean(char);
1871
+ }
1872
+ case "buAutoNum": {
1873
+ const scheme = stringAttribute(child, "type");
1874
+ if (!scheme) return false;
1875
+ const startAt = integerAttribute(child, "startAt");
1876
+ out.bullet = { kind: "autoNumber", scheme, ...startAt !== void 0 ? { startAt } : {} };
1877
+ return true;
1878
+ }
1879
+ case "buBlip":
1880
+ out.bullet = { kind: "picture", xml: outerXml(child) };
1881
+ return true;
1882
+ default:
1883
+ return false;
1884
+ }
1885
+ }
1886
+ function parseDrawingParagraphProperties(element) {
1887
+ if (!element) return void 0;
1888
+ const out = {};
1889
+ readAttributes2(element, out);
1890
+ const extra = [];
1891
+ for (const child of elements(element)) {
1892
+ if (!isDrawingElement(child)) {
1893
+ extra.push(outerXml(child));
1894
+ continue;
1895
+ }
1896
+ const name = child.localName;
1897
+ if (name === "lnSpc" || name === "spcBef" || name === "spcAft") {
1898
+ const spacing = parseDrawingTextSpacing(child);
1899
+ const key = name === "lnSpc" ? "lineSpacing" : name === "spcBef" ? "spaceBefore" : "spaceAfter";
1900
+ if (spacing) out[key] = spacing;
1901
+ else extra.push(outerXml(child));
1902
+ } else if (name === "tabLst") out.tabStops = readTabStops(child);
1903
+ else if (name === "defRPr") {
1904
+ const run = parseDrawingRunProperties(child);
1905
+ if (run) out.defaultRunProperties = run;
1906
+ } else if (!readBulletChild(child, out)) extra.push(outerXml(child));
1907
+ }
1908
+ if (extra.length) out.extraXml = extra;
1909
+ return out;
1910
+ }
1911
+
1912
+ // drawingml/read-text-body.ts
1913
+ var BODY_STRINGS = [
1914
+ ["verticalOverflow", "vertOverflow"],
1915
+ ["horizontalOverflow", "horzOverflow"],
1916
+ ["vertical", "vert"],
1917
+ ["wrap", "wrap"],
1918
+ ["anchor", "anchor"]
1919
+ ];
1920
+ var BODY_INTEGERS = [
1921
+ ["insetLeftEmu", "lIns"],
1922
+ ["insetTopEmu", "tIns"],
1923
+ ["insetRightEmu", "rIns"],
1924
+ ["insetBottomEmu", "bIns"],
1925
+ ["columnCount", "numCol"],
1926
+ ["columnSpacingEmu", "spcCol"]
1927
+ ];
1928
+ var BODY_BOOLEANS = [
1929
+ ["spaceFirstLastParagraph", "spcFirstLastPara"],
1930
+ ["rightToLeftColumns", "rtlCol"],
1931
+ ["fromWordArt", "fromWordArt"],
1932
+ ["anchorCenter", "anchorCtr"],
1933
+ ["forceAntiAlias", "forceAA"],
1934
+ ["upright", "upright"],
1935
+ ["compatibleLineSpacing", "compatLnSpc"]
1936
+ ];
1937
+ function parseDrawingBodyProperties(element) {
1938
+ if (!element) return void 0;
1939
+ const out = {};
1940
+ const rotation = integerAttribute(element, "rot");
1941
+ if (rotation !== void 0) out.rotation = rotation / 6e4;
1942
+ for (const [key, name] of BODY_STRINGS) {
1943
+ const value = stringAttribute(element, name);
1944
+ if (value) out[key] = value;
1945
+ }
1946
+ for (const [key, name] of BODY_INTEGERS) {
1947
+ const value = integerAttribute(element, name);
1948
+ if (value !== void 0) out[key] = value;
1949
+ }
1950
+ for (const [key, name] of BODY_BOOLEANS) {
1951
+ const value = booleanAttribute(element, name);
1952
+ if (value !== void 0) out[key] = value;
1953
+ }
1954
+ const extra = [];
1955
+ for (const child of elements(element)) {
1956
+ const name = isDrawingElement(child) ? child.localName : "";
1957
+ if (name === "noAutofit") out.autofit = { kind: "none" };
1958
+ else if (name === "spAutoFit") out.autofit = { kind: "shape" };
1959
+ else if (name === "normAutofit") {
1960
+ const read = attributeReader(child);
1961
+ const fontScale = parseOoxmlPercent(read("fontScale") ?? "");
1962
+ const reduction = parseOoxmlPercent(read("lnSpcReduction") ?? "");
1963
+ out.autofit = {
1964
+ kind: "normal",
1965
+ ...read("fontScale") !== void 0 && fontScale !== void 0 ? { fontScale } : {},
1966
+ ...read("lnSpcReduction") !== void 0 && reduction !== void 0 ? { lineSpacingReduction: reduction } : {}
1967
+ };
1968
+ } else extra.push(outerXml(child));
1969
+ }
1970
+ if (extra.length) out.extraXml = extra;
1971
+ return out;
1972
+ }
1973
+ function parseDrawingListStyle(element) {
1974
+ if (!element) return void 0;
1975
+ const style = { levels: [] };
1976
+ const extra = [];
1977
+ for (const child of elements(element)) {
1978
+ const level = isDrawingElement(child) ? /^lvl([1-9])pPr$/u.exec(child.localName) : null;
1979
+ if (level) style.levels[Number(level[1]) - 1] = parseDrawingParagraphProperties(child);
1980
+ else if (isDrawingElement(child) && child.localName === "defPPr")
1981
+ style.default = parseDrawingParagraphProperties(child) ?? {};
1982
+ else extra.push(outerXml(child));
1983
+ }
1984
+ style.levels = Array.from(style.levels);
1985
+ if (extra.length) style.extraXml = extra;
1986
+ return style;
1987
+ }
1988
+ function textOf(element) {
1989
+ return first(element, "t", NS.a)?.textContent ?? "";
1990
+ }
1991
+ function readItem(child) {
1992
+ const name = isDrawingElement(child) ? child.localName : "";
1993
+ if (name === "pPr" || name === "endParaRPr") return void 0;
1994
+ if (name === "r") {
1995
+ const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
1996
+ return { kind: "run", text: textOf(child), ...properties ? { properties } : {} };
1997
+ }
1998
+ if (name === "br") {
1999
+ const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
2000
+ return { kind: "break", ...properties ? { properties } : {} };
2001
+ }
2002
+ if (name === "fld") {
2003
+ const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
2004
+ const paragraphProperties = parseDrawingParagraphProperties(first(child, "pPr", NS.a));
2005
+ const type = child.getAttribute("type");
2006
+ return {
2007
+ kind: "field",
2008
+ id: child.getAttribute("id") ?? "",
2009
+ ...type ? { type } : {},
2010
+ text: textOf(child),
2011
+ ...properties ? { properties } : {},
2012
+ ...paragraphProperties ? { paragraphProperties } : {}
2013
+ };
2014
+ }
2015
+ return { kind: "unknown", xml: outerXml(child) };
2016
+ }
2017
+ function parseDrawingParagraph(element) {
2018
+ const items = [];
2019
+ for (const child of elements(element)) {
2020
+ const item = readItem(child);
2021
+ if (item) items.push(item);
2022
+ }
2023
+ const properties = parseDrawingParagraphProperties(first(element, "pPr", NS.a));
2024
+ const endProperties = parseDrawingRunProperties(first(element, "endParaRPr", NS.a));
2025
+ return {
2026
+ ...properties ? { properties } : {},
2027
+ items,
2028
+ ...endProperties ? { endProperties } : {}
2029
+ };
2030
+ }
2031
+ function parseDrawingRichTextBody(element) {
2032
+ if (!element) return void 0;
2033
+ const bodyProperties = parseDrawingBodyProperties(first(element, "bodyPr", NS.a));
2034
+ const listStyle = parseDrawingListStyle(first(element, "lstStyle", NS.a));
2035
+ return {
2036
+ ...bodyProperties ? { bodyProperties } : {},
2037
+ ...listStyle ? { listStyle } : {},
2038
+ paragraphs: children(element, "p", NS.a).map(parseDrawingParagraph)
2039
+ };
2040
+ }
2041
+ function drawingParagraphText(paragraph) {
2042
+ return paragraph.items.map(
2043
+ (item) => item.kind === "run" || item.kind === "field" ? item.text : item.kind === "break" ? "\n" : ""
2044
+ ).join("");
2045
+ }
2046
+
2047
+ // drawingml/write-line.ts
2048
+ var FILLS = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "pattFill"]);
2049
+ function dropDrawingDeclarations(element) {
2050
+ if (element.getAttribute("xmlns:a") === NS.a) element.removeAttribute("xmlns:a");
2051
+ for (const child of elements(element)) dropDrawingDeclarations(child);
2052
+ }
2053
+ function patchDrawingLine(ln, line) {
2054
+ if (line.widthEmu === void 0) ln.removeAttribute("w");
2055
+ else ln.setAttribute("w", String(Math.round(line.widthEmu)));
2056
+ if (line.cap === void 0) ln.removeAttribute("cap");
2057
+ else ln.setAttribute("cap", line.cap);
2058
+ const fill = line.fill && drawingFillXml(line.fill);
2059
+ if (fill || !line.fill) {
2060
+ for (const node of elements(ln))
2061
+ if (node.namespaceURI === NS.a && FILLS.has(node.localName)) ln.removeChild(node);
2062
+ }
2063
+ if (fill) {
2064
+ const parsed = parseXml(`<w xmlns:a="${NS.a}">${fill}</w>`).documentElement;
2065
+ for (const node of elements(parsed).reverse()) {
2066
+ const imported = ln.ownerDocument.importNode(node, true);
2067
+ dropDrawingDeclarations(imported);
2068
+ ln.insertBefore(imported, ln.firstChild);
2069
+ }
2070
+ }
2071
+ const dashes = elements(ln).filter(
2072
+ (node) => node.namespaceURI === NS.a && (node.localName === "prstDash" || node.localName === "custDash")
2073
+ );
2074
+ if (line.dash === void 0) {
2075
+ for (const node of dashes) if (node.localName === "prstDash") ln.removeChild(node);
2076
+ return;
2077
+ }
2078
+ const dash = ln.ownerDocument.createElementNS(NS.a, "a:prstDash");
2079
+ dash.setAttribute("val", line.dash);
2080
+ for (const node of dashes) ln.removeChild(node);
2081
+ const afterFill = elements(ln).find(
2082
+ (node) => node.namespaceURI !== NS.a || !FILLS.has(node.localName)
2083
+ );
2084
+ ln.insertBefore(dash, afterFill ?? null);
2085
+ }
2086
+
2087
+ // drawingml/write-text-xml.ts
2088
+ function drawingElement(doc, local) {
2089
+ return doc.createElementNS(NS.a, `a:${local}`);
2090
+ }
2091
+ function dropRedundantDeclarations(element) {
2092
+ if (element.getAttribute("xmlns:a") === NS.a) element.removeAttribute("xmlns:a");
2093
+ if (element.getAttribute("xmlns:r") === NS.r) element.removeAttribute("xmlns:r");
2094
+ for (const child of elements(element)) dropRedundantDeclarations(child);
2095
+ }
2096
+ function importDrawingXml(doc, xml) {
2097
+ const wrapper = parseXml(`<w xmlns:a="${NS.a}" xmlns:r="${NS.r}">${xml}</w>`).documentElement;
2098
+ const node = elements(wrapper)[0];
2099
+ if (!node) throw new Error("Empty DrawingML fragment");
2100
+ const imported = doc.importNode(node, true);
2101
+ dropRedundantDeclarations(imported);
2102
+ return imported;
2103
+ }
2104
+ function keptChildName(xml) {
2105
+ const match = /^\s*<(?:[\w.-]+:)?([\w.-]+)/u.exec(xml);
2106
+ return match?.[1] ?? "";
2107
+ }
2108
+ function keptChildren(doc, xml) {
2109
+ return (xml ?? []).map((value) => ({
2110
+ name: keptChildName(value),
2111
+ node: importDrawingXml(doc, value)
2112
+ }));
2113
+ }
2114
+ function appendInSchemaOrder(parent, order, entries) {
2115
+ const rank = (name) => {
2116
+ const index = order.indexOf(name);
2117
+ return index < 0 ? order.length : index;
2118
+ };
2119
+ entries.map((entry, index) => ({ entry, index })).sort((a, b) => rank(a.entry.name) - rank(b.entry.name) || a.index - b.index).forEach(({ entry }) => parent.appendChild(entry.node));
2120
+ }
2121
+ function setBoolean(element, name, value) {
2122
+ if (value !== void 0) element.setAttribute(name, value ? "1" : "0");
2123
+ }
2124
+ function setValue(element, name, value) {
2125
+ if (value !== void 0) element.setAttribute(name, String(value));
2126
+ }
2127
+ function setScaled(element, name, value, scale) {
2128
+ if (value !== void 0 && Number.isFinite(value))
2129
+ element.setAttribute(name, String(Math.round(value * scale)));
2130
+ }
2131
+
2132
+ // drawingml/write-run-properties.ts
2133
+ var RUN_PROPERTIES_ORDER = [
2134
+ "ln",
2135
+ "noFill",
2136
+ "solidFill",
2137
+ "gradFill",
2138
+ "blipFill",
2139
+ "pattFill",
2140
+ "grpFill",
2141
+ "effectLst",
2142
+ "effectDag",
2143
+ "highlight",
2144
+ "uLnTx",
2145
+ "uLn",
2146
+ "uFillTx",
2147
+ "uFill",
2148
+ "latin",
2149
+ "ea",
2150
+ "cs",
2151
+ "sym",
2152
+ "hlinkClick",
2153
+ "hlinkMouseOver",
2154
+ "rtl",
2155
+ "extLst"
2156
+ ];
2157
+ var FILL_NAMES = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"]);
2158
+ function writeDrawingFont(doc, local, font) {
2159
+ const element = drawingElement(doc, local);
2160
+ element.setAttribute("typeface", font.typeface);
2161
+ setValue(element, "panose", font.panose);
2162
+ setValue(element, "pitchFamily", font.pitchFamily);
2163
+ setValue(element, "charset", font.charset);
2164
+ return element;
2165
+ }
2166
+ function writeHyperlink(doc, local, link) {
2167
+ const element = drawingElement(doc, local);
2168
+ if (link.relId !== void 0) element.setAttributeNS(NS.r, "r:id", link.relId);
2169
+ setValue(element, "invalidUrl", link.invalidUrl);
2170
+ setValue(element, "action", link.action);
2171
+ setValue(element, "tgtFrame", link.targetFrame);
2172
+ setValue(element, "tooltip", link.tooltip);
2173
+ setBoolean(element, "history", link.history);
2174
+ setBoolean(element, "highlightClick", link.highlightClick);
2175
+ setBoolean(element, "endSnd", link.endSound);
2176
+ for (const xml of link.extraXml ?? []) element.appendChild(importDrawingXml(doc, xml));
2177
+ return element;
2178
+ }
2179
+ function setAttributes(element, value) {
2180
+ setBoolean(element, "kumimoji", value.kumimoji);
2181
+ setValue(element, "lang", value.language);
2182
+ setValue(element, "altLang", value.altLanguage);
2183
+ setScaled(element, "sz", value.sizePt, 100);
2184
+ setBoolean(element, "b", value.bold);
2185
+ setBoolean(element, "i", value.italic);
2186
+ setValue(element, "u", value.underline);
2187
+ setValue(element, "strike", value.strike);
2188
+ setScaled(element, "kern", value.kernPt, 100);
2189
+ setValue(element, "cap", value.caps);
2190
+ setScaled(element, "spc", value.spacingPt, 100);
2191
+ setBoolean(element, "normalizeH", value.normalizeHeight);
2192
+ setScaled(element, "baseline", value.baseline, 1e5);
2193
+ setBoolean(element, "noProof", value.noProof);
2194
+ setBoolean(element, "dirty", value.dirty);
2195
+ setBoolean(element, "err", value.spellingError);
2196
+ setBoolean(element, "smtClean", value.smartTagClean);
2197
+ setValue(element, "smtId", value.smartTagId);
2198
+ setValue(element, "bmk", value.bookmark);
2199
+ }
2200
+ function fillChild(doc, fill) {
2201
+ const xml = fill ? drawingFillXml(fill) : void 0;
2202
+ if (!xml) return void 0;
2203
+ const node = importDrawingXml(doc, xml);
2204
+ return { name: node.localName, node };
2205
+ }
2206
+ function modelledChildren(doc, value) {
2207
+ const out = [];
2208
+ const add = (name, node) => out.push({ name, node });
2209
+ if (value.line || value.lineSourceXml) {
2210
+ const ln = value.lineSourceXml ? importDrawingXml(doc, value.lineSourceXml) : drawingElement(doc, "ln");
2211
+ if (value.line) patchDrawingLine(ln, value.line);
2212
+ add("ln", ln);
2213
+ }
2214
+ const fill = fillChild(doc, value.fill);
2215
+ if (fill) out.push(fill);
2216
+ if (value.highlight) {
2217
+ const highlight = drawingElement(doc, "highlight");
2218
+ highlight.appendChild(importDrawingXml(doc, drawingColorXml(value.highlight)));
2219
+ add("highlight", highlight);
2220
+ }
2221
+ if (value.underlineLineFollowsText) add("uLnTx", drawingElement(doc, "uLnTx"));
2222
+ else if (value.underlineLineXml) add("uLn", importDrawingXml(doc, value.underlineLineXml));
2223
+ if (value.underlineFillFollowsText) add("uFillTx", drawingElement(doc, "uFillTx"));
2224
+ else {
2225
+ const underline = fillChild(doc, value.underlineFill);
2226
+ if (underline) {
2227
+ const uFill = drawingElement(doc, "uFill");
2228
+ uFill.appendChild(underline.node);
2229
+ add("uFill", uFill);
2230
+ }
2231
+ }
2232
+ for (const [local, key] of [
2233
+ ["latin", "latin"],
2234
+ ["ea", "eastAsian"],
2235
+ ["cs", "complexScript"],
2236
+ ["sym", "symbol"]
2237
+ ]) {
2238
+ const font = value[key];
2239
+ if (font) add(local, writeDrawingFont(doc, local, font));
2240
+ }
2241
+ if (value.hyperlinkClick)
2242
+ add("hlinkClick", writeHyperlink(doc, "hlinkClick", value.hyperlinkClick));
2243
+ if (value.hyperlinkMouseOver)
2244
+ add("hlinkMouseOver", writeHyperlink(doc, "hlinkMouseOver", value.hyperlinkMouseOver));
2245
+ if (value.rightToLeft !== void 0) {
2246
+ const rtl = drawingElement(doc, "rtl");
2247
+ if (!value.rightToLeft) rtl.setAttribute("val", "0");
2248
+ add("rtl", rtl);
2249
+ }
2250
+ return out;
2251
+ }
2252
+ function writeDrawingRunProperties(doc, value, local = "rPr") {
2253
+ const element = drawingElement(doc, local);
2254
+ setAttributes(element, value);
2255
+ const modelled = modelledChildren(doc, value);
2256
+ const hasFill = modelled.some((child) => FILL_NAMES.has(child.name));
2257
+ const kept = keptChildren(doc, value.extraXml).filter(
2258
+ (child) => !(hasFill && FILL_NAMES.has(child.name))
2259
+ );
2260
+ appendInSchemaOrder(element, RUN_PROPERTIES_ORDER, [...modelled, ...kept]);
2261
+ return element;
2262
+ }
2263
+ function drawingRunPropertiesXml(value, local = "rPr") {
2264
+ const doc = parseXml(`<a:w xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
2265
+ return buildXml(writeDrawingRunProperties(doc, value, local));
2266
+ }
2267
+
2268
+ // drawingml/write-paragraph-properties.ts
2269
+ var PARAGRAPH_PROPERTIES_ORDER = [
2270
+ "lnSpc",
2271
+ "spcBef",
2272
+ "spcAft",
2273
+ "buClrTx",
2274
+ "buClr",
2275
+ "buSzTx",
2276
+ "buSzPct",
2277
+ "buSzPts",
2278
+ "buFontTx",
2279
+ "buFont",
2280
+ "buNone",
2281
+ "buAutoNum",
2282
+ "buChar",
2283
+ "buBlip",
2284
+ "tabLst",
2285
+ "defRPr",
2286
+ "extLst"
2287
+ ];
2288
+ function writeDrawingTextSpacing(doc, local, spacing) {
2289
+ const element = drawingElement(doc, local);
2290
+ const inner = drawingElement(doc, spacing.unit === "points" ? "spcPts" : "spcPct");
2291
+ setScaled(inner, "val", spacing.value, spacing.unit === "points" ? 100 : 1e5);
2292
+ element.appendChild(inner);
2293
+ return element;
2294
+ }
2295
+ function setAttributes2(element, value) {
2296
+ setValue(element, "marL", value.marginLeftEmu);
2297
+ setValue(element, "marR", value.marginRightEmu);
2298
+ setValue(element, "lvl", value.level);
2299
+ setValue(element, "indent", value.indentEmu);
2300
+ setValue(element, "algn", value.align);
2301
+ setValue(element, "defTabSz", value.defaultTabSizeEmu);
2302
+ setBoolean(element, "rtl", value.rightToLeft);
2303
+ setBoolean(element, "eaLnBrk", value.eastAsianLineBreak);
2304
+ setValue(element, "fontAlgn", value.fontAlign);
2305
+ setBoolean(element, "latinLnBrk", value.latinLineBreak);
2306
+ setBoolean(element, "hangingPunct", value.hangingPunctuation);
2307
+ }
2308
+ function bulletChildren(doc, value) {
2309
+ const out = [];
2310
+ const add = (name, node) => out.push({ name, node });
2311
+ if (value.bulletColor === "text") add("buClrTx", drawingElement(doc, "buClrTx"));
2312
+ else if (value.bulletColor) {
2313
+ const color = drawingElement(doc, "buClr");
2314
+ color.appendChild(importDrawingXml(doc, drawingColorXml(value.bulletColor)));
2315
+ add("buClr", color);
2316
+ }
2317
+ const size = value.bulletSize;
2318
+ if (size === "text") add("buSzTx", drawingElement(doc, "buSzTx"));
2319
+ else if (size) {
2320
+ const local = size.unit === "percent" ? "buSzPct" : "buSzPts";
2321
+ const element = drawingElement(doc, local);
2322
+ setScaled(element, "val", size.value, size.unit === "percent" ? 1e5 : 100);
2323
+ add(local, element);
2324
+ }
2325
+ if (value.bulletFont === "text") add("buFontTx", drawingElement(doc, "buFontTx"));
2326
+ else if (value.bulletFont) add("buFont", writeDrawingFont(doc, "buFont", value.bulletFont));
2327
+ const bullet = value.bullet;
2328
+ if (bullet?.kind === "none") add("buNone", drawingElement(doc, "buNone"));
2329
+ else if (bullet?.kind === "char") {
2330
+ const element = drawingElement(doc, "buChar");
2331
+ element.setAttribute("char", bullet.char);
2332
+ add("buChar", element);
2333
+ } else if (bullet?.kind === "autoNumber") {
2334
+ const element = drawingElement(doc, "buAutoNum");
2335
+ element.setAttribute("type", bullet.scheme);
2336
+ setValue(element, "startAt", bullet.startAt);
2337
+ add("buAutoNum", element);
2338
+ } else if (bullet?.kind === "picture") add("buBlip", importDrawingXml(doc, bullet.xml));
2339
+ return out;
2340
+ }
2341
+ function writeDrawingParagraphProperties(doc, value, local = "pPr") {
2342
+ const element = drawingElement(doc, local);
2343
+ setAttributes2(element, value);
2344
+ const children2 = [];
2345
+ for (const [key, name] of [
2346
+ ["lineSpacing", "lnSpc"],
2347
+ ["spaceBefore", "spcBef"],
2348
+ ["spaceAfter", "spcAft"]
2349
+ ]) {
2350
+ const spacing = value[key];
2351
+ if (spacing) children2.push({ name, node: writeDrawingTextSpacing(doc, name, spacing) });
2352
+ }
2353
+ children2.push(...bulletChildren(doc, value));
2354
+ if (value.tabStops) {
2355
+ const list = drawingElement(doc, "tabLst");
2356
+ for (const stop of value.tabStops) {
2357
+ const tab = drawingElement(doc, "tab");
2358
+ setValue(tab, "pos", stop.positionEmu);
2359
+ setValue(tab, "algn", stop.align);
2360
+ list.appendChild(tab);
2361
+ }
2362
+ children2.push({ name: "tabLst", node: list });
2363
+ }
2364
+ if (value.defaultRunProperties)
2365
+ children2.push({
2366
+ name: "defRPr",
2367
+ node: writeDrawingRunProperties(doc, value.defaultRunProperties, "defRPr")
2368
+ });
2369
+ appendInSchemaOrder(element, PARAGRAPH_PROPERTIES_ORDER, [
2370
+ ...children2,
2371
+ ...keptChildren(doc, value.extraXml)
2372
+ ]);
2373
+ return element;
2374
+ }
2375
+ function drawingParagraphPropertiesXml(value, local = "pPr") {
2376
+ const doc = parseXml(`<a:w xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
2377
+ return buildXml(writeDrawingParagraphProperties(doc, value, local));
2378
+ }
2379
+
2380
+ // drawingml/write-text-body.ts
2381
+ var BODY_PROPERTIES_ORDER = [
2382
+ "prstTxWarp",
2383
+ "noAutofit",
2384
+ "normAutofit",
2385
+ "spAutoFit",
2386
+ "scene3d",
2387
+ "sp3d",
2388
+ "flatTx",
2389
+ "extLst"
2390
+ ];
2391
+ function writeDrawingBodyProperties(doc, value) {
2392
+ const element = drawingElement(doc, "bodyPr");
2393
+ setScaled(element, "rot", value.rotation, 6e4);
2394
+ setBoolean(element, "spcFirstLastPara", value.spaceFirstLastParagraph);
2395
+ setValue(element, "vertOverflow", value.verticalOverflow);
2396
+ setValue(element, "horzOverflow", value.horizontalOverflow);
2397
+ setValue(element, "vert", value.vertical);
2398
+ setValue(element, "wrap", value.wrap);
2399
+ setValue(element, "lIns", value.insetLeftEmu);
2400
+ setValue(element, "tIns", value.insetTopEmu);
2401
+ setValue(element, "rIns", value.insetRightEmu);
2402
+ setValue(element, "bIns", value.insetBottomEmu);
2403
+ setValue(element, "numCol", value.columnCount);
2404
+ setValue(element, "spcCol", value.columnSpacingEmu);
2405
+ setBoolean(element, "rtlCol", value.rightToLeftColumns);
2406
+ setBoolean(element, "fromWordArt", value.fromWordArt);
2407
+ setValue(element, "anchor", value.anchor);
2408
+ setBoolean(element, "anchorCtr", value.anchorCenter);
2409
+ setBoolean(element, "forceAA", value.forceAntiAlias);
2410
+ setBoolean(element, "upright", value.upright);
2411
+ setBoolean(element, "compatLnSpc", value.compatibleLineSpacing);
2412
+ const children2 = [];
2413
+ const autofit = value.autofit;
2414
+ if (autofit) {
2415
+ const local = autofit.kind === "none" ? "noAutofit" : autofit.kind === "shape" ? "spAutoFit" : "normAutofit";
2416
+ const node = drawingElement(doc, local);
2417
+ if (autofit.kind === "normal") {
2418
+ setScaled(node, "fontScale", autofit.fontScale, 1e5);
2419
+ setScaled(node, "lnSpcReduction", autofit.lineSpacingReduction, 1e5);
2420
+ }
2421
+ children2.push({ name: local, node });
2422
+ }
2423
+ appendInSchemaOrder(element, BODY_PROPERTIES_ORDER, [
2424
+ ...children2,
2425
+ ...keptChildren(doc, value.extraXml)
2426
+ ]);
2427
+ return element;
2428
+ }
2429
+ function writeDrawingListStyle(doc, value) {
2430
+ const element = drawingElement(doc, "lstStyle");
2431
+ if (value.default)
2432
+ element.appendChild(writeDrawingParagraphProperties(doc, value.default, "defPPr"));
2433
+ value.levels.forEach((level, index) => {
2434
+ if (level)
2435
+ element.appendChild(writeDrawingParagraphProperties(doc, level, `lvl${index + 1}pPr`));
2436
+ });
2437
+ for (const kept of keptChildren(doc, value.extraXml)) element.appendChild(kept.node);
2438
+ return element;
2439
+ }
2440
+ function withText(doc, element, text) {
2441
+ const t = drawingElement(doc, "t");
2442
+ t.appendChild(doc.createTextNode(text));
2443
+ element.appendChild(t);
2444
+ return element;
2445
+ }
2446
+ function writeItem(doc, item) {
2447
+ if (item.kind === "unknown") return importDrawingXml(doc, item.xml);
2448
+ const element = drawingElement(
2449
+ doc,
2450
+ item.kind === "run" ? "r" : item.kind === "break" ? "br" : "fld"
2451
+ );
2452
+ if (item.kind === "field") {
2453
+ element.setAttribute("id", item.id);
2454
+ setValue(element, "type", item.type);
2455
+ }
2456
+ if (item.properties) element.appendChild(writeDrawingRunProperties(doc, item.properties));
2457
+ if (item.kind === "field" && item.paragraphProperties)
2458
+ element.appendChild(writeDrawingParagraphProperties(doc, item.paragraphProperties));
2459
+ return item.kind === "break" ? element : withText(doc, element, item.text);
2460
+ }
2461
+ function writeDrawingParagraph(doc, paragraph) {
2462
+ const element = drawingElement(doc, "p");
2463
+ if (paragraph.properties)
2464
+ element.appendChild(writeDrawingParagraphProperties(doc, paragraph.properties));
2465
+ for (const item of paragraph.items) element.appendChild(writeItem(doc, item));
2466
+ if (paragraph.endProperties)
2467
+ element.appendChild(writeDrawingRunProperties(doc, paragraph.endProperties, "endParaRPr"));
2468
+ return element;
2469
+ }
2470
+ function writeDrawingRichTextBody(container, body) {
2471
+ const doc = container.ownerDocument;
2472
+ if (body.bodyProperties)
2473
+ container.appendChild(writeDrawingBodyProperties(doc, body.bodyProperties));
2474
+ if (body.listStyle) container.appendChild(writeDrawingListStyle(doc, body.listStyle));
2475
+ const paragraphs = body.paragraphs.length ? body.paragraphs : [{ items: [] }];
2476
+ for (const paragraph of paragraphs) container.appendChild(writeDrawingParagraph(doc, paragraph));
2477
+ }
2478
+ function drawingRichTextBodyXml(body, qualifiedName = "a:txBody", namespace = NS.a) {
2479
+ const prefix = qualifiedName.includes(":") ? qualifiedName.split(":")[0] : void 0;
2480
+ const declaration = prefix && prefix !== "a" ? ` xmlns:${prefix}="${namespace}"` : "";
2481
+ const doc = parseXml(`<${qualifiedName}${declaration} xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
2482
+ writeDrawingRichTextBody(doc.documentElement, body);
2483
+ return buildXml(doc);
2484
+ }
2485
+
2486
+ exports.BODY_PROPERTIES_ORDER = BODY_PROPERTIES_ORDER;
1647
2487
  exports.DEFAULT_THEME_COLOR_MAP = DEFAULT_THEME_COLOR_MAP;
1648
2488
  exports.OFFICE_GRADIENT_PRESETS = OFFICE_GRADIENT_PRESETS;
2489
+ exports.PARAGRAPH_PROPERTIES_ORDER = PARAGRAPH_PROPERTIES_ORDER;
1649
2490
  exports.RECT_GRADIENT_DIRECTIONS = RECT_GRADIENT_DIRECTIONS;
2491
+ exports.RUN_PROPERTIES_ORDER = RUN_PROPERTIES_ORDER;
1650
2492
  exports.THEME_COLOR_SLOTS = THEME_COLOR_SLOTS;
1651
2493
  exports.attributeReader = attributeReader;
1652
2494
  exports.booleanAttribute = booleanAttribute;
@@ -1657,6 +2499,10 @@ exports.drawingColorBrightness = drawingColorBrightness;
1657
2499
  exports.drawingColorCss = drawingColorCss;
1658
2500
  exports.drawingColorXml = drawingColorXml;
1659
2501
  exports.drawingFillXml = drawingFillXml;
2502
+ exports.drawingParagraphPropertiesXml = drawingParagraphPropertiesXml;
2503
+ exports.drawingParagraphText = drawingParagraphText;
2504
+ exports.drawingRichTextBodyXml = drawingRichTextBodyXml;
2505
+ exports.drawingRunPropertiesXml = drawingRunPropertiesXml;
1660
2506
  exports.drawingThemeXml = drawingThemeXml;
1661
2507
  exports.fillElementOf = fillElementOf;
1662
2508
  exports.integerAttribute = integerAttribute;
@@ -1664,13 +2510,22 @@ exports.isThemeColorSlot = isThemeColorSlot;
1664
2510
  exports.officeGradientPresetFill = officeGradientPresetFill;
1665
2511
  exports.officeGradientPresetId = officeGradientPresetId;
1666
2512
  exports.orderedColorTransforms = orderedColorTransforms;
2513
+ exports.parseDrawingBodyProperties = parseDrawingBodyProperties;
1667
2514
  exports.parseDrawingColor = parseDrawingColor;
1668
2515
  exports.parseDrawingColorIn = parseDrawingColorIn;
1669
2516
  exports.parseDrawingColorList = parseDrawingColorList;
1670
2517
  exports.parseDrawingFill = parseDrawingFill;
2518
+ exports.parseDrawingFont = parseDrawingFont;
1671
2519
  exports.parseDrawingGeometry = parseDrawingGeometry;
2520
+ exports.parseDrawingHyperlink = parseDrawingHyperlink;
1672
2521
  exports.parseDrawingLine = parseDrawingLine;
2522
+ exports.parseDrawingListStyle = parseDrawingListStyle;
2523
+ exports.parseDrawingParagraph = parseDrawingParagraph;
2524
+ exports.parseDrawingParagraphProperties = parseDrawingParagraphProperties;
2525
+ exports.parseDrawingRichTextBody = parseDrawingRichTextBody;
2526
+ exports.parseDrawingRunProperties = parseDrawingRunProperties;
1673
2527
  exports.parseDrawingTextBody = parseDrawingTextBody;
2528
+ exports.parseDrawingTextSpacing = parseDrawingTextSpacing;
1674
2529
  exports.parseFrame = parseFrame;
1675
2530
  exports.parseTheme = parseTheme;
1676
2531
  exports.parseThemeColorMap = parseThemeColorMap;
@@ -1692,3 +2547,11 @@ exports.themeDrawingColorTheme = themeDrawingColorTheme;
1692
2547
  exports.themeSlotHex = themeSlotHex;
1693
2548
  exports.withDrawingColorBrightness = withDrawingColorBrightness;
1694
2549
  exports.withDrawingGradientGeometry = withDrawingGradientGeometry;
2550
+ exports.writeDrawingBodyProperties = writeDrawingBodyProperties;
2551
+ exports.writeDrawingFont = writeDrawingFont;
2552
+ exports.writeDrawingListStyle = writeDrawingListStyle;
2553
+ exports.writeDrawingParagraph = writeDrawingParagraph;
2554
+ exports.writeDrawingParagraphProperties = writeDrawingParagraphProperties;
2555
+ exports.writeDrawingRichTextBody = writeDrawingRichTextBody;
2556
+ exports.writeDrawingRunProperties = writeDrawingRunProperties;
2557
+ exports.writeDrawingTextSpacing = writeDrawingTextSpacing;