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
@@ -1642,4 +1642,843 @@ function themeDrawingColorTheme(scheme, colorMap) {
1642
1642
  };
1643
1643
  }
1644
1644
 
1645
- export { DEFAULT_THEME_COLOR_MAP, OFFICE_GRADIENT_PRESETS, RECT_GRADIENT_DIRECTIONS, THEME_COLOR_SLOTS, attributeReader, booleanAttribute, buildRectPathGradientImage, buildRectPathGradientSvg, descendants, drawingColorBrightness, drawingColorCss, drawingColorXml, drawingFillXml, drawingThemeXml, fillElementOf, integerAttribute, isThemeColorSlot, officeGradientPresetFill, officeGradientPresetId, orderedColorTransforms, parseDrawingColor, parseDrawingColorIn, parseDrawingColorList, parseDrawingFill, parseDrawingGeometry, parseDrawingLine, parseDrawingTextBody, parseFrame, parseTheme, parseThemeColorMap, parseThemeColorScheme, parseThemeFontScheme, parseThemeXml, parseTransform, rectGradientDirection, rectGradientFocus, resolveDrawingColor, resolveDrawingShadow, resolveDrawingShadowXml, resolveSchemeColor, setDrawingFillXml, stringAttribute, svgDropShadowElement, themeColorSlotFor, themeDrawingColorTheme, themeSlotHex, withDrawingColorBrightness, withDrawingGradientGeometry };
1645
+ // drawingml/read-run-properties.ts
1646
+ function outerXml(element) {
1647
+ return buildXml(element);
1648
+ }
1649
+ function isDrawingElement(element) {
1650
+ return !element.namespaceURI || element.namespaceURI === NS.a;
1651
+ }
1652
+ function parseDrawingFont(element) {
1653
+ const typeface = stringAttribute(element, "typeface");
1654
+ if (!element || typeface === void 0) return void 0;
1655
+ const font = { typeface };
1656
+ const panose = stringAttribute(element, "panose");
1657
+ if (panose) font.panose = panose;
1658
+ const pitchFamily = integerAttribute(element, "pitchFamily");
1659
+ if (pitchFamily !== void 0) font.pitchFamily = pitchFamily;
1660
+ const charset = integerAttribute(element, "charset");
1661
+ if (charset !== void 0) font.charset = charset;
1662
+ return font;
1663
+ }
1664
+ function parseDrawingHyperlink(element) {
1665
+ const link = {};
1666
+ const relId = attributeReader(element)("id")?.trim();
1667
+ if (relId) link.relId = relId;
1668
+ for (const [key, name] of [
1669
+ ["tooltip", "tooltip"],
1670
+ ["action", "action"],
1671
+ ["invalidUrl", "invalidUrl"],
1672
+ ["targetFrame", "tgtFrame"]
1673
+ ]) {
1674
+ const value = stringAttribute(element, name);
1675
+ if (value) link[key] = value;
1676
+ }
1677
+ for (const [key, name] of [
1678
+ ["history", "history"],
1679
+ ["highlightClick", "highlightClick"],
1680
+ ["endSound", "endSnd"]
1681
+ ]) {
1682
+ const value = booleanAttribute(element, name);
1683
+ if (value !== void 0) link[key] = value;
1684
+ }
1685
+ const extra = elements(element).map(outerXml);
1686
+ if (extra.length) link.extraXml = extra;
1687
+ return link;
1688
+ }
1689
+ var BOOLEAN_ATTRIBUTES = [
1690
+ ["bold", "b"],
1691
+ ["italic", "i"],
1692
+ ["kumimoji", "kumimoji"],
1693
+ ["normalizeHeight", "normalizeH"],
1694
+ ["noProof", "noProof"],
1695
+ ["dirty", "dirty"],
1696
+ ["spellingError", "err"],
1697
+ ["smartTagClean", "smtClean"]
1698
+ ];
1699
+ var STRING_ATTRIBUTES = [
1700
+ ["underline", "u"],
1701
+ ["strike", "strike"],
1702
+ ["caps", "cap"],
1703
+ ["language", "lang"],
1704
+ ["altLanguage", "altLang"],
1705
+ ["bookmark", "bmk"]
1706
+ ];
1707
+ var FONT_SLOTS = {
1708
+ latin: "latin",
1709
+ ea: "eastAsian",
1710
+ cs: "complexScript",
1711
+ sym: "symbol"
1712
+ };
1713
+ function readAttributes(element, out) {
1714
+ const size = integerAttribute(element, "sz");
1715
+ if (size !== void 0) out.sizePt = size / 100;
1716
+ for (const [key, name] of BOOLEAN_ATTRIBUTES) {
1717
+ const value = booleanAttribute(element, name);
1718
+ if (value !== void 0) out[key] = value;
1719
+ }
1720
+ for (const [key, name] of STRING_ATTRIBUTES) {
1721
+ const value = stringAttribute(element, name);
1722
+ if (value) out[key] = value;
1723
+ }
1724
+ const baseline = attributeReader(element)("baseline");
1725
+ const baselineFraction = baseline === void 0 ? void 0 : parseOoxmlPercent(baseline);
1726
+ if (baselineFraction !== void 0) out.baseline = baselineFraction;
1727
+ const spacing = integerAttribute(element, "spc");
1728
+ if (spacing !== void 0) out.spacingPt = spacing / 100;
1729
+ const kern = integerAttribute(element, "kern");
1730
+ if (kern !== void 0) out.kernPt = kern / 100;
1731
+ const smartTagId = integerAttribute(element, "smtId");
1732
+ if (smartTagId !== void 0) out.smartTagId = smartTagId;
1733
+ }
1734
+ function readChild(child, out, extra) {
1735
+ const name = child.localName;
1736
+ if (!isDrawingElement(child)) {
1737
+ extra.push(outerXml(child));
1738
+ return;
1739
+ }
1740
+ if (name === "ln") {
1741
+ const line = parseDrawingLine(child);
1742
+ if (line) out.line = line;
1743
+ out.lineSourceXml = outerXml(child);
1744
+ } else if (name in FONT_SLOTS) {
1745
+ const font = parseDrawingFont(child);
1746
+ if (font) out[FONT_SLOTS[name]] = font;
1747
+ else extra.push(outerXml(child));
1748
+ } else if (name === "highlight") {
1749
+ const color = parseDrawingColorIn(child);
1750
+ if (color) out.highlight = color;
1751
+ } else if (name === "uLnTx") out.underlineLineFollowsText = true;
1752
+ else if (name === "uLn") out.underlineLineXml = outerXml(child);
1753
+ else if (name === "uFillTx") out.underlineFillFollowsText = true;
1754
+ else if (name === "uFill") {
1755
+ const fill = parseDrawingFill(child);
1756
+ if (fill) out.underlineFill = fill;
1757
+ else extra.push(outerXml(child));
1758
+ } else if (name === "hlinkClick") out.hyperlinkClick = parseDrawingHyperlink(child);
1759
+ else if (name === "hlinkMouseOver") out.hyperlinkMouseOver = parseDrawingHyperlink(child);
1760
+ else if (name === "rtl") {
1761
+ const value = booleanAttribute(child, "val");
1762
+ out.rightToLeft = value ?? true;
1763
+ } else extra.push(outerXml(child));
1764
+ }
1765
+ var WRITABLE_FILLS = /* @__PURE__ */ new Set(["none", "solid", "gradient"]);
1766
+ function parseDrawingRunProperties(element) {
1767
+ if (!element) return void 0;
1768
+ const out = {};
1769
+ readAttributes(element, out);
1770
+ const extra = [];
1771
+ const fillElement = fillElementOf(element);
1772
+ for (const child of elements(element)) {
1773
+ if (child === fillElement) {
1774
+ const fill = parseDrawingFill(element);
1775
+ if (fill && WRITABLE_FILLS.has(fill.kind)) out.fill = fill;
1776
+ else extra.push(outerXml(child));
1777
+ continue;
1778
+ }
1779
+ readChild(child, out, extra);
1780
+ }
1781
+ if (extra.length) out.extraXml = extra;
1782
+ return out;
1783
+ }
1784
+
1785
+ // drawingml/read-paragraph-properties.ts
1786
+ function parseDrawingTextSpacing(element) {
1787
+ const points = integerAttribute(first(element, "spcPts", NS.a), "val");
1788
+ if (points !== void 0) return { unit: "points", value: points / 100 };
1789
+ const percent = parseOoxmlPercent(first(element, "spcPct", NS.a)?.getAttribute("val"));
1790
+ if (percent !== void 0) return { unit: "percent", value: percent };
1791
+ return void 0;
1792
+ }
1793
+ var EMU_ATTRIBUTES = [
1794
+ ["marginLeftEmu", "marL"],
1795
+ ["marginRightEmu", "marR"],
1796
+ ["indentEmu", "indent"],
1797
+ ["defaultTabSizeEmu", "defTabSz"]
1798
+ ];
1799
+ var BOOLEAN_ATTRIBUTES2 = [
1800
+ ["rightToLeft", "rtl"],
1801
+ ["eastAsianLineBreak", "eaLnBrk"],
1802
+ ["latinLineBreak", "latinLnBrk"],
1803
+ ["hangingPunctuation", "hangingPunct"]
1804
+ ];
1805
+ function readAttributes2(element, out) {
1806
+ const level = integerAttribute(element, "lvl");
1807
+ if (level !== void 0) out.level = Math.min(Math.max(level, 0), 8);
1808
+ const align = stringAttribute(element, "algn");
1809
+ if (align) out.align = align;
1810
+ for (const [key, name] of EMU_ATTRIBUTES) {
1811
+ const value = integerAttribute(element, name);
1812
+ if (value !== void 0) out[key] = value;
1813
+ }
1814
+ for (const [key, name] of BOOLEAN_ATTRIBUTES2) {
1815
+ const value = booleanAttribute(element, name);
1816
+ if (value !== void 0) out[key] = value;
1817
+ }
1818
+ const fontAlign = stringAttribute(element, "fontAlgn");
1819
+ if (fontAlign) out.fontAlign = fontAlign;
1820
+ }
1821
+ function readTabStops(element) {
1822
+ return children(element, "tab", NS.a).map((tab) => {
1823
+ const stop = {};
1824
+ const position = integerAttribute(tab, "pos");
1825
+ if (position !== void 0) stop.positionEmu = position;
1826
+ const align = stringAttribute(tab, "algn");
1827
+ if (align) stop.align = align;
1828
+ return stop;
1829
+ });
1830
+ }
1831
+ function readBulletChild(child, out) {
1832
+ switch (child.localName) {
1833
+ case "buClrTx":
1834
+ out.bulletColor = "text";
1835
+ return true;
1836
+ case "buClr": {
1837
+ const color = parseDrawingColorIn(child);
1838
+ if (color) out.bulletColor = color;
1839
+ return color !== void 0;
1840
+ }
1841
+ case "buSzTx":
1842
+ out.bulletSize = "text";
1843
+ return true;
1844
+ case "buSzPct": {
1845
+ const value = parseOoxmlPercent(child.getAttribute("val"));
1846
+ if (value !== void 0) out.bulletSize = { unit: "percent", value };
1847
+ return value !== void 0;
1848
+ }
1849
+ case "buSzPts": {
1850
+ const value = integerAttribute(child, "val");
1851
+ if (value !== void 0) out.bulletSize = { unit: "points", value: value / 100 };
1852
+ return value !== void 0;
1853
+ }
1854
+ case "buFontTx":
1855
+ out.bulletFont = "text";
1856
+ return true;
1857
+ case "buFont": {
1858
+ const font = parseDrawingFont(child);
1859
+ if (font) out.bulletFont = font;
1860
+ return font !== void 0;
1861
+ }
1862
+ case "buNone":
1863
+ out.bullet = { kind: "none" };
1864
+ return true;
1865
+ case "buChar": {
1866
+ const char = child.getAttribute("char");
1867
+ if (char) out.bullet = { kind: "char", char };
1868
+ return Boolean(char);
1869
+ }
1870
+ case "buAutoNum": {
1871
+ const scheme = stringAttribute(child, "type");
1872
+ if (!scheme) return false;
1873
+ const startAt = integerAttribute(child, "startAt");
1874
+ out.bullet = { kind: "autoNumber", scheme, ...startAt !== void 0 ? { startAt } : {} };
1875
+ return true;
1876
+ }
1877
+ case "buBlip":
1878
+ out.bullet = { kind: "picture", xml: outerXml(child) };
1879
+ return true;
1880
+ default:
1881
+ return false;
1882
+ }
1883
+ }
1884
+ function parseDrawingParagraphProperties(element) {
1885
+ if (!element) return void 0;
1886
+ const out = {};
1887
+ readAttributes2(element, out);
1888
+ const extra = [];
1889
+ for (const child of elements(element)) {
1890
+ if (!isDrawingElement(child)) {
1891
+ extra.push(outerXml(child));
1892
+ continue;
1893
+ }
1894
+ const name = child.localName;
1895
+ if (name === "lnSpc" || name === "spcBef" || name === "spcAft") {
1896
+ const spacing = parseDrawingTextSpacing(child);
1897
+ const key = name === "lnSpc" ? "lineSpacing" : name === "spcBef" ? "spaceBefore" : "spaceAfter";
1898
+ if (spacing) out[key] = spacing;
1899
+ else extra.push(outerXml(child));
1900
+ } else if (name === "tabLst") out.tabStops = readTabStops(child);
1901
+ else if (name === "defRPr") {
1902
+ const run = parseDrawingRunProperties(child);
1903
+ if (run) out.defaultRunProperties = run;
1904
+ } else if (!readBulletChild(child, out)) extra.push(outerXml(child));
1905
+ }
1906
+ if (extra.length) out.extraXml = extra;
1907
+ return out;
1908
+ }
1909
+
1910
+ // drawingml/read-text-body.ts
1911
+ var BODY_STRINGS = [
1912
+ ["verticalOverflow", "vertOverflow"],
1913
+ ["horizontalOverflow", "horzOverflow"],
1914
+ ["vertical", "vert"],
1915
+ ["wrap", "wrap"],
1916
+ ["anchor", "anchor"]
1917
+ ];
1918
+ var BODY_INTEGERS = [
1919
+ ["insetLeftEmu", "lIns"],
1920
+ ["insetTopEmu", "tIns"],
1921
+ ["insetRightEmu", "rIns"],
1922
+ ["insetBottomEmu", "bIns"],
1923
+ ["columnCount", "numCol"],
1924
+ ["columnSpacingEmu", "spcCol"]
1925
+ ];
1926
+ var BODY_BOOLEANS = [
1927
+ ["spaceFirstLastParagraph", "spcFirstLastPara"],
1928
+ ["rightToLeftColumns", "rtlCol"],
1929
+ ["fromWordArt", "fromWordArt"],
1930
+ ["anchorCenter", "anchorCtr"],
1931
+ ["forceAntiAlias", "forceAA"],
1932
+ ["upright", "upright"],
1933
+ ["compatibleLineSpacing", "compatLnSpc"]
1934
+ ];
1935
+ function parseDrawingBodyProperties(element) {
1936
+ if (!element) return void 0;
1937
+ const out = {};
1938
+ const rotation = integerAttribute(element, "rot");
1939
+ if (rotation !== void 0) out.rotation = rotation / 6e4;
1940
+ for (const [key, name] of BODY_STRINGS) {
1941
+ const value = stringAttribute(element, name);
1942
+ if (value) out[key] = value;
1943
+ }
1944
+ for (const [key, name] of BODY_INTEGERS) {
1945
+ const value = integerAttribute(element, name);
1946
+ if (value !== void 0) out[key] = value;
1947
+ }
1948
+ for (const [key, name] of BODY_BOOLEANS) {
1949
+ const value = booleanAttribute(element, name);
1950
+ if (value !== void 0) out[key] = value;
1951
+ }
1952
+ const extra = [];
1953
+ for (const child of elements(element)) {
1954
+ const name = isDrawingElement(child) ? child.localName : "";
1955
+ if (name === "noAutofit") out.autofit = { kind: "none" };
1956
+ else if (name === "spAutoFit") out.autofit = { kind: "shape" };
1957
+ else if (name === "normAutofit") {
1958
+ const read = attributeReader(child);
1959
+ const fontScale = parseOoxmlPercent(read("fontScale") ?? "");
1960
+ const reduction = parseOoxmlPercent(read("lnSpcReduction") ?? "");
1961
+ out.autofit = {
1962
+ kind: "normal",
1963
+ ...read("fontScale") !== void 0 && fontScale !== void 0 ? { fontScale } : {},
1964
+ ...read("lnSpcReduction") !== void 0 && reduction !== void 0 ? { lineSpacingReduction: reduction } : {}
1965
+ };
1966
+ } else extra.push(outerXml(child));
1967
+ }
1968
+ if (extra.length) out.extraXml = extra;
1969
+ return out;
1970
+ }
1971
+ function parseDrawingListStyle(element) {
1972
+ if (!element) return void 0;
1973
+ const style = { levels: [] };
1974
+ const extra = [];
1975
+ for (const child of elements(element)) {
1976
+ const level = isDrawingElement(child) ? /^lvl([1-9])pPr$/u.exec(child.localName) : null;
1977
+ if (level) style.levels[Number(level[1]) - 1] = parseDrawingParagraphProperties(child);
1978
+ else if (isDrawingElement(child) && child.localName === "defPPr")
1979
+ style.default = parseDrawingParagraphProperties(child) ?? {};
1980
+ else extra.push(outerXml(child));
1981
+ }
1982
+ style.levels = Array.from(style.levels);
1983
+ if (extra.length) style.extraXml = extra;
1984
+ return style;
1985
+ }
1986
+ function textOf(element) {
1987
+ return first(element, "t", NS.a)?.textContent ?? "";
1988
+ }
1989
+ function readItem(child) {
1990
+ const name = isDrawingElement(child) ? child.localName : "";
1991
+ if (name === "pPr" || name === "endParaRPr") return void 0;
1992
+ if (name === "r") {
1993
+ const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
1994
+ return { kind: "run", text: textOf(child), ...properties ? { properties } : {} };
1995
+ }
1996
+ if (name === "br") {
1997
+ const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
1998
+ return { kind: "break", ...properties ? { properties } : {} };
1999
+ }
2000
+ if (name === "fld") {
2001
+ const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
2002
+ const paragraphProperties = parseDrawingParagraphProperties(first(child, "pPr", NS.a));
2003
+ const type = child.getAttribute("type");
2004
+ return {
2005
+ kind: "field",
2006
+ id: child.getAttribute("id") ?? "",
2007
+ ...type ? { type } : {},
2008
+ text: textOf(child),
2009
+ ...properties ? { properties } : {},
2010
+ ...paragraphProperties ? { paragraphProperties } : {}
2011
+ };
2012
+ }
2013
+ return { kind: "unknown", xml: outerXml(child) };
2014
+ }
2015
+ function parseDrawingParagraph(element) {
2016
+ const items = [];
2017
+ for (const child of elements(element)) {
2018
+ const item = readItem(child);
2019
+ if (item) items.push(item);
2020
+ }
2021
+ const properties = parseDrawingParagraphProperties(first(element, "pPr", NS.a));
2022
+ const endProperties = parseDrawingRunProperties(first(element, "endParaRPr", NS.a));
2023
+ return {
2024
+ ...properties ? { properties } : {},
2025
+ items,
2026
+ ...endProperties ? { endProperties } : {}
2027
+ };
2028
+ }
2029
+ function parseDrawingRichTextBody(element) {
2030
+ if (!element) return void 0;
2031
+ const bodyProperties = parseDrawingBodyProperties(first(element, "bodyPr", NS.a));
2032
+ const listStyle = parseDrawingListStyle(first(element, "lstStyle", NS.a));
2033
+ return {
2034
+ ...bodyProperties ? { bodyProperties } : {},
2035
+ ...listStyle ? { listStyle } : {},
2036
+ paragraphs: children(element, "p", NS.a).map(parseDrawingParagraph)
2037
+ };
2038
+ }
2039
+ function drawingParagraphText(paragraph) {
2040
+ return paragraph.items.map(
2041
+ (item) => item.kind === "run" || item.kind === "field" ? item.text : item.kind === "break" ? "\n" : ""
2042
+ ).join("");
2043
+ }
2044
+
2045
+ // drawingml/write-line.ts
2046
+ var FILLS = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "pattFill"]);
2047
+ function dropDrawingDeclarations(element) {
2048
+ if (element.getAttribute("xmlns:a") === NS.a) element.removeAttribute("xmlns:a");
2049
+ for (const child of elements(element)) dropDrawingDeclarations(child);
2050
+ }
2051
+ function patchDrawingLine(ln, line) {
2052
+ if (line.widthEmu === void 0) ln.removeAttribute("w");
2053
+ else ln.setAttribute("w", String(Math.round(line.widthEmu)));
2054
+ if (line.cap === void 0) ln.removeAttribute("cap");
2055
+ else ln.setAttribute("cap", line.cap);
2056
+ const fill = line.fill && drawingFillXml(line.fill);
2057
+ if (fill || !line.fill) {
2058
+ for (const node of elements(ln))
2059
+ if (node.namespaceURI === NS.a && FILLS.has(node.localName)) ln.removeChild(node);
2060
+ }
2061
+ if (fill) {
2062
+ const parsed = parseXml(`<w xmlns:a="${NS.a}">${fill}</w>`).documentElement;
2063
+ for (const node of elements(parsed).reverse()) {
2064
+ const imported = ln.ownerDocument.importNode(node, true);
2065
+ dropDrawingDeclarations(imported);
2066
+ ln.insertBefore(imported, ln.firstChild);
2067
+ }
2068
+ }
2069
+ const dashes = elements(ln).filter(
2070
+ (node) => node.namespaceURI === NS.a && (node.localName === "prstDash" || node.localName === "custDash")
2071
+ );
2072
+ if (line.dash === void 0) {
2073
+ for (const node of dashes) if (node.localName === "prstDash") ln.removeChild(node);
2074
+ return;
2075
+ }
2076
+ const dash = ln.ownerDocument.createElementNS(NS.a, "a:prstDash");
2077
+ dash.setAttribute("val", line.dash);
2078
+ for (const node of dashes) ln.removeChild(node);
2079
+ const afterFill = elements(ln).find(
2080
+ (node) => node.namespaceURI !== NS.a || !FILLS.has(node.localName)
2081
+ );
2082
+ ln.insertBefore(dash, afterFill ?? null);
2083
+ }
2084
+
2085
+ // drawingml/write-text-xml.ts
2086
+ function drawingElement(doc, local) {
2087
+ return doc.createElementNS(NS.a, `a:${local}`);
2088
+ }
2089
+ function dropRedundantDeclarations(element) {
2090
+ if (element.getAttribute("xmlns:a") === NS.a) element.removeAttribute("xmlns:a");
2091
+ if (element.getAttribute("xmlns:r") === NS.r) element.removeAttribute("xmlns:r");
2092
+ for (const child of elements(element)) dropRedundantDeclarations(child);
2093
+ }
2094
+ function importDrawingXml(doc, xml) {
2095
+ const wrapper = parseXml(`<w xmlns:a="${NS.a}" xmlns:r="${NS.r}">${xml}</w>`).documentElement;
2096
+ const node = elements(wrapper)[0];
2097
+ if (!node) throw new Error("Empty DrawingML fragment");
2098
+ const imported = doc.importNode(node, true);
2099
+ dropRedundantDeclarations(imported);
2100
+ return imported;
2101
+ }
2102
+ function keptChildName(xml) {
2103
+ const match = /^\s*<(?:[\w.-]+:)?([\w.-]+)/u.exec(xml);
2104
+ return match?.[1] ?? "";
2105
+ }
2106
+ function keptChildren(doc, xml) {
2107
+ return (xml ?? []).map((value) => ({
2108
+ name: keptChildName(value),
2109
+ node: importDrawingXml(doc, value)
2110
+ }));
2111
+ }
2112
+ function appendInSchemaOrder(parent, order, entries) {
2113
+ const rank = (name) => {
2114
+ const index = order.indexOf(name);
2115
+ return index < 0 ? order.length : index;
2116
+ };
2117
+ 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));
2118
+ }
2119
+ function setBoolean(element, name, value) {
2120
+ if (value !== void 0) element.setAttribute(name, value ? "1" : "0");
2121
+ }
2122
+ function setValue(element, name, value) {
2123
+ if (value !== void 0) element.setAttribute(name, String(value));
2124
+ }
2125
+ function setScaled(element, name, value, scale) {
2126
+ if (value !== void 0 && Number.isFinite(value))
2127
+ element.setAttribute(name, String(Math.round(value * scale)));
2128
+ }
2129
+
2130
+ // drawingml/write-run-properties.ts
2131
+ var RUN_PROPERTIES_ORDER = [
2132
+ "ln",
2133
+ "noFill",
2134
+ "solidFill",
2135
+ "gradFill",
2136
+ "blipFill",
2137
+ "pattFill",
2138
+ "grpFill",
2139
+ "effectLst",
2140
+ "effectDag",
2141
+ "highlight",
2142
+ "uLnTx",
2143
+ "uLn",
2144
+ "uFillTx",
2145
+ "uFill",
2146
+ "latin",
2147
+ "ea",
2148
+ "cs",
2149
+ "sym",
2150
+ "hlinkClick",
2151
+ "hlinkMouseOver",
2152
+ "rtl",
2153
+ "extLst"
2154
+ ];
2155
+ var FILL_NAMES = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"]);
2156
+ function writeDrawingFont(doc, local, font) {
2157
+ const element = drawingElement(doc, local);
2158
+ element.setAttribute("typeface", font.typeface);
2159
+ setValue(element, "panose", font.panose);
2160
+ setValue(element, "pitchFamily", font.pitchFamily);
2161
+ setValue(element, "charset", font.charset);
2162
+ return element;
2163
+ }
2164
+ function writeHyperlink(doc, local, link) {
2165
+ const element = drawingElement(doc, local);
2166
+ if (link.relId !== void 0) element.setAttributeNS(NS.r, "r:id", link.relId);
2167
+ setValue(element, "invalidUrl", link.invalidUrl);
2168
+ setValue(element, "action", link.action);
2169
+ setValue(element, "tgtFrame", link.targetFrame);
2170
+ setValue(element, "tooltip", link.tooltip);
2171
+ setBoolean(element, "history", link.history);
2172
+ setBoolean(element, "highlightClick", link.highlightClick);
2173
+ setBoolean(element, "endSnd", link.endSound);
2174
+ for (const xml of link.extraXml ?? []) element.appendChild(importDrawingXml(doc, xml));
2175
+ return element;
2176
+ }
2177
+ function setAttributes(element, value) {
2178
+ setBoolean(element, "kumimoji", value.kumimoji);
2179
+ setValue(element, "lang", value.language);
2180
+ setValue(element, "altLang", value.altLanguage);
2181
+ setScaled(element, "sz", value.sizePt, 100);
2182
+ setBoolean(element, "b", value.bold);
2183
+ setBoolean(element, "i", value.italic);
2184
+ setValue(element, "u", value.underline);
2185
+ setValue(element, "strike", value.strike);
2186
+ setScaled(element, "kern", value.kernPt, 100);
2187
+ setValue(element, "cap", value.caps);
2188
+ setScaled(element, "spc", value.spacingPt, 100);
2189
+ setBoolean(element, "normalizeH", value.normalizeHeight);
2190
+ setScaled(element, "baseline", value.baseline, 1e5);
2191
+ setBoolean(element, "noProof", value.noProof);
2192
+ setBoolean(element, "dirty", value.dirty);
2193
+ setBoolean(element, "err", value.spellingError);
2194
+ setBoolean(element, "smtClean", value.smartTagClean);
2195
+ setValue(element, "smtId", value.smartTagId);
2196
+ setValue(element, "bmk", value.bookmark);
2197
+ }
2198
+ function fillChild(doc, fill) {
2199
+ const xml = fill ? drawingFillXml(fill) : void 0;
2200
+ if (!xml) return void 0;
2201
+ const node = importDrawingXml(doc, xml);
2202
+ return { name: node.localName, node };
2203
+ }
2204
+ function modelledChildren(doc, value) {
2205
+ const out = [];
2206
+ const add = (name, node) => out.push({ name, node });
2207
+ if (value.line || value.lineSourceXml) {
2208
+ const ln = value.lineSourceXml ? importDrawingXml(doc, value.lineSourceXml) : drawingElement(doc, "ln");
2209
+ if (value.line) patchDrawingLine(ln, value.line);
2210
+ add("ln", ln);
2211
+ }
2212
+ const fill = fillChild(doc, value.fill);
2213
+ if (fill) out.push(fill);
2214
+ if (value.highlight) {
2215
+ const highlight = drawingElement(doc, "highlight");
2216
+ highlight.appendChild(importDrawingXml(doc, drawingColorXml(value.highlight)));
2217
+ add("highlight", highlight);
2218
+ }
2219
+ if (value.underlineLineFollowsText) add("uLnTx", drawingElement(doc, "uLnTx"));
2220
+ else if (value.underlineLineXml) add("uLn", importDrawingXml(doc, value.underlineLineXml));
2221
+ if (value.underlineFillFollowsText) add("uFillTx", drawingElement(doc, "uFillTx"));
2222
+ else {
2223
+ const underline = fillChild(doc, value.underlineFill);
2224
+ if (underline) {
2225
+ const uFill = drawingElement(doc, "uFill");
2226
+ uFill.appendChild(underline.node);
2227
+ add("uFill", uFill);
2228
+ }
2229
+ }
2230
+ for (const [local, key] of [
2231
+ ["latin", "latin"],
2232
+ ["ea", "eastAsian"],
2233
+ ["cs", "complexScript"],
2234
+ ["sym", "symbol"]
2235
+ ]) {
2236
+ const font = value[key];
2237
+ if (font) add(local, writeDrawingFont(doc, local, font));
2238
+ }
2239
+ if (value.hyperlinkClick)
2240
+ add("hlinkClick", writeHyperlink(doc, "hlinkClick", value.hyperlinkClick));
2241
+ if (value.hyperlinkMouseOver)
2242
+ add("hlinkMouseOver", writeHyperlink(doc, "hlinkMouseOver", value.hyperlinkMouseOver));
2243
+ if (value.rightToLeft !== void 0) {
2244
+ const rtl = drawingElement(doc, "rtl");
2245
+ if (!value.rightToLeft) rtl.setAttribute("val", "0");
2246
+ add("rtl", rtl);
2247
+ }
2248
+ return out;
2249
+ }
2250
+ function writeDrawingRunProperties(doc, value, local = "rPr") {
2251
+ const element = drawingElement(doc, local);
2252
+ setAttributes(element, value);
2253
+ const modelled = modelledChildren(doc, value);
2254
+ const hasFill = modelled.some((child) => FILL_NAMES.has(child.name));
2255
+ const kept = keptChildren(doc, value.extraXml).filter(
2256
+ (child) => !(hasFill && FILL_NAMES.has(child.name))
2257
+ );
2258
+ appendInSchemaOrder(element, RUN_PROPERTIES_ORDER, [...modelled, ...kept]);
2259
+ return element;
2260
+ }
2261
+ function drawingRunPropertiesXml(value, local = "rPr") {
2262
+ const doc = parseXml(`<a:w xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
2263
+ return buildXml(writeDrawingRunProperties(doc, value, local));
2264
+ }
2265
+
2266
+ // drawingml/write-paragraph-properties.ts
2267
+ var PARAGRAPH_PROPERTIES_ORDER = [
2268
+ "lnSpc",
2269
+ "spcBef",
2270
+ "spcAft",
2271
+ "buClrTx",
2272
+ "buClr",
2273
+ "buSzTx",
2274
+ "buSzPct",
2275
+ "buSzPts",
2276
+ "buFontTx",
2277
+ "buFont",
2278
+ "buNone",
2279
+ "buAutoNum",
2280
+ "buChar",
2281
+ "buBlip",
2282
+ "tabLst",
2283
+ "defRPr",
2284
+ "extLst"
2285
+ ];
2286
+ function writeDrawingTextSpacing(doc, local, spacing) {
2287
+ const element = drawingElement(doc, local);
2288
+ const inner = drawingElement(doc, spacing.unit === "points" ? "spcPts" : "spcPct");
2289
+ setScaled(inner, "val", spacing.value, spacing.unit === "points" ? 100 : 1e5);
2290
+ element.appendChild(inner);
2291
+ return element;
2292
+ }
2293
+ function setAttributes2(element, value) {
2294
+ setValue(element, "marL", value.marginLeftEmu);
2295
+ setValue(element, "marR", value.marginRightEmu);
2296
+ setValue(element, "lvl", value.level);
2297
+ setValue(element, "indent", value.indentEmu);
2298
+ setValue(element, "algn", value.align);
2299
+ setValue(element, "defTabSz", value.defaultTabSizeEmu);
2300
+ setBoolean(element, "rtl", value.rightToLeft);
2301
+ setBoolean(element, "eaLnBrk", value.eastAsianLineBreak);
2302
+ setValue(element, "fontAlgn", value.fontAlign);
2303
+ setBoolean(element, "latinLnBrk", value.latinLineBreak);
2304
+ setBoolean(element, "hangingPunct", value.hangingPunctuation);
2305
+ }
2306
+ function bulletChildren(doc, value) {
2307
+ const out = [];
2308
+ const add = (name, node) => out.push({ name, node });
2309
+ if (value.bulletColor === "text") add("buClrTx", drawingElement(doc, "buClrTx"));
2310
+ else if (value.bulletColor) {
2311
+ const color = drawingElement(doc, "buClr");
2312
+ color.appendChild(importDrawingXml(doc, drawingColorXml(value.bulletColor)));
2313
+ add("buClr", color);
2314
+ }
2315
+ const size = value.bulletSize;
2316
+ if (size === "text") add("buSzTx", drawingElement(doc, "buSzTx"));
2317
+ else if (size) {
2318
+ const local = size.unit === "percent" ? "buSzPct" : "buSzPts";
2319
+ const element = drawingElement(doc, local);
2320
+ setScaled(element, "val", size.value, size.unit === "percent" ? 1e5 : 100);
2321
+ add(local, element);
2322
+ }
2323
+ if (value.bulletFont === "text") add("buFontTx", drawingElement(doc, "buFontTx"));
2324
+ else if (value.bulletFont) add("buFont", writeDrawingFont(doc, "buFont", value.bulletFont));
2325
+ const bullet = value.bullet;
2326
+ if (bullet?.kind === "none") add("buNone", drawingElement(doc, "buNone"));
2327
+ else if (bullet?.kind === "char") {
2328
+ const element = drawingElement(doc, "buChar");
2329
+ element.setAttribute("char", bullet.char);
2330
+ add("buChar", element);
2331
+ } else if (bullet?.kind === "autoNumber") {
2332
+ const element = drawingElement(doc, "buAutoNum");
2333
+ element.setAttribute("type", bullet.scheme);
2334
+ setValue(element, "startAt", bullet.startAt);
2335
+ add("buAutoNum", element);
2336
+ } else if (bullet?.kind === "picture") add("buBlip", importDrawingXml(doc, bullet.xml));
2337
+ return out;
2338
+ }
2339
+ function writeDrawingParagraphProperties(doc, value, local = "pPr") {
2340
+ const element = drawingElement(doc, local);
2341
+ setAttributes2(element, value);
2342
+ const children2 = [];
2343
+ for (const [key, name] of [
2344
+ ["lineSpacing", "lnSpc"],
2345
+ ["spaceBefore", "spcBef"],
2346
+ ["spaceAfter", "spcAft"]
2347
+ ]) {
2348
+ const spacing = value[key];
2349
+ if (spacing) children2.push({ name, node: writeDrawingTextSpacing(doc, name, spacing) });
2350
+ }
2351
+ children2.push(...bulletChildren(doc, value));
2352
+ if (value.tabStops) {
2353
+ const list = drawingElement(doc, "tabLst");
2354
+ for (const stop of value.tabStops) {
2355
+ const tab = drawingElement(doc, "tab");
2356
+ setValue(tab, "pos", stop.positionEmu);
2357
+ setValue(tab, "algn", stop.align);
2358
+ list.appendChild(tab);
2359
+ }
2360
+ children2.push({ name: "tabLst", node: list });
2361
+ }
2362
+ if (value.defaultRunProperties)
2363
+ children2.push({
2364
+ name: "defRPr",
2365
+ node: writeDrawingRunProperties(doc, value.defaultRunProperties, "defRPr")
2366
+ });
2367
+ appendInSchemaOrder(element, PARAGRAPH_PROPERTIES_ORDER, [
2368
+ ...children2,
2369
+ ...keptChildren(doc, value.extraXml)
2370
+ ]);
2371
+ return element;
2372
+ }
2373
+ function drawingParagraphPropertiesXml(value, local = "pPr") {
2374
+ const doc = parseXml(`<a:w xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
2375
+ return buildXml(writeDrawingParagraphProperties(doc, value, local));
2376
+ }
2377
+
2378
+ // drawingml/write-text-body.ts
2379
+ var BODY_PROPERTIES_ORDER = [
2380
+ "prstTxWarp",
2381
+ "noAutofit",
2382
+ "normAutofit",
2383
+ "spAutoFit",
2384
+ "scene3d",
2385
+ "sp3d",
2386
+ "flatTx",
2387
+ "extLst"
2388
+ ];
2389
+ function writeDrawingBodyProperties(doc, value) {
2390
+ const element = drawingElement(doc, "bodyPr");
2391
+ setScaled(element, "rot", value.rotation, 6e4);
2392
+ setBoolean(element, "spcFirstLastPara", value.spaceFirstLastParagraph);
2393
+ setValue(element, "vertOverflow", value.verticalOverflow);
2394
+ setValue(element, "horzOverflow", value.horizontalOverflow);
2395
+ setValue(element, "vert", value.vertical);
2396
+ setValue(element, "wrap", value.wrap);
2397
+ setValue(element, "lIns", value.insetLeftEmu);
2398
+ setValue(element, "tIns", value.insetTopEmu);
2399
+ setValue(element, "rIns", value.insetRightEmu);
2400
+ setValue(element, "bIns", value.insetBottomEmu);
2401
+ setValue(element, "numCol", value.columnCount);
2402
+ setValue(element, "spcCol", value.columnSpacingEmu);
2403
+ setBoolean(element, "rtlCol", value.rightToLeftColumns);
2404
+ setBoolean(element, "fromWordArt", value.fromWordArt);
2405
+ setValue(element, "anchor", value.anchor);
2406
+ setBoolean(element, "anchorCtr", value.anchorCenter);
2407
+ setBoolean(element, "forceAA", value.forceAntiAlias);
2408
+ setBoolean(element, "upright", value.upright);
2409
+ setBoolean(element, "compatLnSpc", value.compatibleLineSpacing);
2410
+ const children2 = [];
2411
+ const autofit = value.autofit;
2412
+ if (autofit) {
2413
+ const local = autofit.kind === "none" ? "noAutofit" : autofit.kind === "shape" ? "spAutoFit" : "normAutofit";
2414
+ const node = drawingElement(doc, local);
2415
+ if (autofit.kind === "normal") {
2416
+ setScaled(node, "fontScale", autofit.fontScale, 1e5);
2417
+ setScaled(node, "lnSpcReduction", autofit.lineSpacingReduction, 1e5);
2418
+ }
2419
+ children2.push({ name: local, node });
2420
+ }
2421
+ appendInSchemaOrder(element, BODY_PROPERTIES_ORDER, [
2422
+ ...children2,
2423
+ ...keptChildren(doc, value.extraXml)
2424
+ ]);
2425
+ return element;
2426
+ }
2427
+ function writeDrawingListStyle(doc, value) {
2428
+ const element = drawingElement(doc, "lstStyle");
2429
+ if (value.default)
2430
+ element.appendChild(writeDrawingParagraphProperties(doc, value.default, "defPPr"));
2431
+ value.levels.forEach((level, index) => {
2432
+ if (level)
2433
+ element.appendChild(writeDrawingParagraphProperties(doc, level, `lvl${index + 1}pPr`));
2434
+ });
2435
+ for (const kept of keptChildren(doc, value.extraXml)) element.appendChild(kept.node);
2436
+ return element;
2437
+ }
2438
+ function withText(doc, element, text) {
2439
+ const t = drawingElement(doc, "t");
2440
+ t.appendChild(doc.createTextNode(text));
2441
+ element.appendChild(t);
2442
+ return element;
2443
+ }
2444
+ function writeItem(doc, item) {
2445
+ if (item.kind === "unknown") return importDrawingXml(doc, item.xml);
2446
+ const element = drawingElement(
2447
+ doc,
2448
+ item.kind === "run" ? "r" : item.kind === "break" ? "br" : "fld"
2449
+ );
2450
+ if (item.kind === "field") {
2451
+ element.setAttribute("id", item.id);
2452
+ setValue(element, "type", item.type);
2453
+ }
2454
+ if (item.properties) element.appendChild(writeDrawingRunProperties(doc, item.properties));
2455
+ if (item.kind === "field" && item.paragraphProperties)
2456
+ element.appendChild(writeDrawingParagraphProperties(doc, item.paragraphProperties));
2457
+ return item.kind === "break" ? element : withText(doc, element, item.text);
2458
+ }
2459
+ function writeDrawingParagraph(doc, paragraph) {
2460
+ const element = drawingElement(doc, "p");
2461
+ if (paragraph.properties)
2462
+ element.appendChild(writeDrawingParagraphProperties(doc, paragraph.properties));
2463
+ for (const item of paragraph.items) element.appendChild(writeItem(doc, item));
2464
+ if (paragraph.endProperties)
2465
+ element.appendChild(writeDrawingRunProperties(doc, paragraph.endProperties, "endParaRPr"));
2466
+ return element;
2467
+ }
2468
+ function writeDrawingRichTextBody(container, body) {
2469
+ const doc = container.ownerDocument;
2470
+ if (body.bodyProperties)
2471
+ container.appendChild(writeDrawingBodyProperties(doc, body.bodyProperties));
2472
+ if (body.listStyle) container.appendChild(writeDrawingListStyle(doc, body.listStyle));
2473
+ const paragraphs = body.paragraphs.length ? body.paragraphs : [{ items: [] }];
2474
+ for (const paragraph of paragraphs) container.appendChild(writeDrawingParagraph(doc, paragraph));
2475
+ }
2476
+ function drawingRichTextBodyXml(body, qualifiedName = "a:txBody", namespace = NS.a) {
2477
+ const prefix = qualifiedName.includes(":") ? qualifiedName.split(":")[0] : void 0;
2478
+ const declaration = prefix && prefix !== "a" ? ` xmlns:${prefix}="${namespace}"` : "";
2479
+ const doc = parseXml(`<${qualifiedName}${declaration} xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
2480
+ writeDrawingRichTextBody(doc.documentElement, body);
2481
+ return buildXml(doc);
2482
+ }
2483
+
2484
+ export { BODY_PROPERTIES_ORDER, DEFAULT_THEME_COLOR_MAP, OFFICE_GRADIENT_PRESETS, PARAGRAPH_PROPERTIES_ORDER, RECT_GRADIENT_DIRECTIONS, RUN_PROPERTIES_ORDER, THEME_COLOR_SLOTS, attributeReader, booleanAttribute, buildRectPathGradientImage, buildRectPathGradientSvg, descendants, drawingColorBrightness, drawingColorCss, drawingColorXml, drawingFillXml, drawingParagraphPropertiesXml, drawingParagraphText, drawingRichTextBodyXml, drawingRunPropertiesXml, drawingThemeXml, fillElementOf, integerAttribute, isThemeColorSlot, officeGradientPresetFill, officeGradientPresetId, orderedColorTransforms, parseDrawingBodyProperties, parseDrawingColor, parseDrawingColorIn, parseDrawingColorList, parseDrawingFill, parseDrawingFont, parseDrawingGeometry, parseDrawingHyperlink, parseDrawingLine, parseDrawingListStyle, parseDrawingParagraph, parseDrawingParagraphProperties, parseDrawingRichTextBody, parseDrawingRunProperties, parseDrawingTextBody, parseDrawingTextSpacing, parseFrame, parseTheme, parseThemeColorMap, parseThemeColorScheme, parseThemeFontScheme, parseThemeXml, parseTransform, rectGradientDirection, rectGradientFocus, resolveDrawingColor, resolveDrawingShadow, resolveDrawingShadowXml, resolveSchemeColor, setDrawingFillXml, stringAttribute, svgDropShadowElement, themeColorSlotFor, themeDrawingColorTheme, themeSlotHex, withDrawingColorBrightness, withDrawingGradientGeometry, writeDrawingBodyProperties, writeDrawingFont, writeDrawingListStyle, writeDrawingParagraph, writeDrawingParagraphProperties, writeDrawingRichTextBody, writeDrawingRunProperties, writeDrawingTextSpacing };