ooxml-core 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +3 -0
  3. package/README.md +125 -0
  4. package/THIRD-PARTY-LICENSES +26 -0
  5. package/dist/collab/assets.d.ts +42 -0
  6. package/dist/collab/assets.d.ts.map +1 -0
  7. package/dist/collab/awareness.d.ts +65 -0
  8. package/dist/collab/awareness.d.ts.map +1 -0
  9. package/dist/collab/binding.d.ts +36 -0
  10. package/dist/collab/binding.d.ts.map +1 -0
  11. package/dist/collab/codec.d.ts +37 -0
  12. package/dist/collab/codec.d.ts.map +1 -0
  13. package/dist/collab/emitter.d.ts +11 -0
  14. package/dist/collab/emitter.d.ts.map +1 -0
  15. package/dist/collab/external-provider.d.ts +50 -0
  16. package/dist/collab/external-provider.d.ts.map +1 -0
  17. package/dist/collab/identity.d.ts +48 -0
  18. package/dist/collab/identity.d.ts.map +1 -0
  19. package/dist/collab/index.cjs +1328 -0
  20. package/dist/collab/index.d.ts +18 -0
  21. package/dist/collab/index.d.ts.map +1 -0
  22. package/dist/collab/index.mjs +1225 -0
  23. package/dist/collab/lifecycle.d.ts +62 -0
  24. package/dist/collab/lifecycle.d.ts.map +1 -0
  25. package/dist/collab/memory-transport.d.ts +19 -0
  26. package/dist/collab/memory-transport.d.ts.map +1 -0
  27. package/dist/collab/ordering.d.ts +53 -0
  28. package/dist/collab/ordering.d.ts.map +1 -0
  29. package/dist/collab/policy.d.ts +39 -0
  30. package/dist/collab/policy.d.ts.map +1 -0
  31. package/dist/collab/presence.d.ts +61 -0
  32. package/dist/collab/presence.d.ts.map +1 -0
  33. package/dist/collab/provider.d.ts +55 -0
  34. package/dist/collab/provider.d.ts.map +1 -0
  35. package/dist/collab/session.d.ts +70 -0
  36. package/dist/collab/session.d.ts.map +1 -0
  37. package/dist/collab/transport-provider.d.ts +13 -0
  38. package/dist/collab/transport-provider.d.ts.map +1 -0
  39. package/dist/collab/validation.d.ts +38 -0
  40. package/dist/collab/validation.d.ts.map +1 -0
  41. package/dist/collab/websocket-transport.d.ts +33 -0
  42. package/dist/collab/websocket-transport.d.ts.map +1 -0
  43. package/dist/color/color-linear.d.ts +5 -0
  44. package/dist/color/color-linear.d.ts.map +1 -0
  45. package/dist/color/color-primitives.d.ts +183 -0
  46. package/dist/color/color-primitives.d.ts.map +1 -0
  47. package/dist/color/index.cjs +177 -0
  48. package/dist/color/index.d.ts +3 -0
  49. package/dist/color/index.d.ts.map +1 -0
  50. package/dist/color/index.mjs +161 -0
  51. package/dist/diagram/attributes.d.ts +12 -0
  52. package/dist/diagram/attributes.d.ts.map +1 -0
  53. package/dist/diagram/data-model.d.ts +18 -0
  54. package/dist/diagram/data-model.d.ts.map +1 -0
  55. package/dist/diagram/definitions.d.ts +14 -0
  56. package/dist/diagram/definitions.d.ts.map +1 -0
  57. package/dist/diagram/dom.d.ts +15 -0
  58. package/dist/diagram/dom.d.ts.map +1 -0
  59. package/dist/diagram/drawing-color.d.ts +28 -0
  60. package/dist/diagram/drawing-color.d.ts.map +1 -0
  61. package/dist/diagram/drawing-fill.d.ts +9 -0
  62. package/dist/diagram/drawing-fill.d.ts.map +1 -0
  63. package/dist/diagram/drawing-geometry.d.ts +23 -0
  64. package/dist/diagram/drawing-geometry.d.ts.map +1 -0
  65. package/dist/diagram/drawing-text.d.ts +5 -0
  66. package/dist/diagram/drawing-text.d.ts.map +1 -0
  67. package/dist/diagram/drawing.d.ts +7 -0
  68. package/dist/diagram/drawing.d.ts.map +1 -0
  69. package/dist/diagram/index.cjs +1193 -0
  70. package/dist/diagram/index.d.ts +14 -0
  71. package/dist/diagram/index.d.ts.map +1 -0
  72. package/dist/diagram/index.mjs +1161 -0
  73. package/dist/diagram/layout-category.d.ts +8 -0
  74. package/dist/diagram/layout-category.d.ts.map +1 -0
  75. package/dist/diagram/load.d.ts +36 -0
  76. package/dist/diagram/load.d.ts.map +1 -0
  77. package/dist/diagram/relationships.d.ts +35 -0
  78. package/dist/diagram/relationships.d.ts.map +1 -0
  79. package/dist/diagram/types.d.ts +306 -0
  80. package/dist/diagram/types.d.ts.map +1 -0
  81. package/dist/docx/block-parser.d.ts +13 -0
  82. package/dist/docx/block-parser.d.ts.map +1 -0
  83. package/dist/docx/bookmarks.d.ts +18 -0
  84. package/dist/docx/bookmarks.d.ts.map +1 -0
  85. package/dist/docx/breaks.d.ts +11 -0
  86. package/dist/docx/breaks.d.ts.map +1 -0
  87. package/dist/docx/character-styles.d.ts +4 -0
  88. package/dist/docx/character-styles.d.ts.map +1 -0
  89. package/dist/docx/comment-spans.d.ts +19 -0
  90. package/dist/docx/comment-spans.d.ts.map +1 -0
  91. package/dist/docx/comments.d.ts +4 -0
  92. package/dist/docx/comments.d.ts.map +1 -0
  93. package/dist/docx/core-properties.d.ts +18 -0
  94. package/dist/docx/core-properties.d.ts.map +1 -0
  95. package/dist/docx/default-styles.d.ts +8 -0
  96. package/dist/docx/default-styles.d.ts.map +1 -0
  97. package/dist/docx/defined-props.d.ts +9 -0
  98. package/dist/docx/defined-props.d.ts.map +1 -0
  99. package/dist/docx/diagram-document.d.ts +9 -0
  100. package/dist/docx/diagram-document.d.ts.map +1 -0
  101. package/dist/docx/diagram-theme.d.ts +8 -0
  102. package/dist/docx/diagram-theme.d.ts.map +1 -0
  103. package/dist/docx/diagram.d.ts +89 -0
  104. package/dist/docx/diagram.d.ts.map +1 -0
  105. package/dist/docx/docpr-ids.d.ts +14 -0
  106. package/dist/docx/docpr-ids.d.ts.map +1 -0
  107. package/dist/docx/document-parts.d.ts +18 -0
  108. package/dist/docx/document-parts.d.ts.map +1 -0
  109. package/dist/docx/drawing.d.ts +13 -0
  110. package/dist/docx/drawing.d.ts.map +1 -0
  111. package/dist/docx/element-order.d.ts +13 -0
  112. package/dist/docx/element-order.d.ts.map +1 -0
  113. package/dist/docx/embedded.cjs +7646 -0
  114. package/dist/docx/embedded.d.ts +5 -0
  115. package/dist/docx/embedded.d.ts.map +1 -0
  116. package/dist/docx/embedded.mjs +7639 -0
  117. package/dist/docx/expect-defined.d.ts +3 -0
  118. package/dist/docx/expect-defined.d.ts.map +1 -0
  119. package/dist/docx/field-date.d.ts +10 -0
  120. package/dist/docx/field-date.d.ts.map +1 -0
  121. package/dist/docx/field-runs.d.ts +10 -0
  122. package/dist/docx/field-runs.d.ts.map +1 -0
  123. package/dist/docx/generated/wml-simple-types.d.ts +298 -0
  124. package/dist/docx/generated/wml-simple-types.d.ts.map +1 -0
  125. package/dist/docx/heading-list-kinds.d.ts +10 -0
  126. package/dist/docx/heading-list-kinds.d.ts.map +1 -0
  127. package/dist/docx/highlight.d.ts +5 -0
  128. package/dist/docx/highlight.d.ts.map +1 -0
  129. package/dist/docx/hyperlink.d.ts +8 -0
  130. package/dist/docx/hyperlink.d.ts.map +1 -0
  131. package/dist/docx/index.cjs +9784 -0
  132. package/dist/docx/index.d.ts +40 -0
  133. package/dist/docx/index.d.ts.map +1 -0
  134. package/dist/docx/index.mjs +9456 -0
  135. package/dist/docx/inline-model.d.ts +68 -0
  136. package/dist/docx/inline-model.d.ts.map +1 -0
  137. package/dist/docx/language.d.ts +3 -0
  138. package/dist/docx/language.d.ts.map +1 -0
  139. package/dist/docx/layout/adapt-drop-cap.d.ts +10 -0
  140. package/dist/docx/layout/adapt-drop-cap.d.ts.map +1 -0
  141. package/dist/docx/layout/adapt-floats.d.ts +8 -0
  142. package/dist/docx/layout/adapt-floats.d.ts.map +1 -0
  143. package/dist/docx/layout/adapt-notes.d.ts +13 -0
  144. package/dist/docx/layout/adapt-notes.d.ts.map +1 -0
  145. package/dist/docx/layout/adapt-paragraph-box.d.ts +12 -0
  146. package/dist/docx/layout/adapt-paragraph-box.d.ts.map +1 -0
  147. package/dist/docx/layout/adapt-table.d.ts +12 -0
  148. package/dist/docx/layout/adapt-table.d.ts.map +1 -0
  149. package/dist/docx/layout/adapter.d.ts +5 -0
  150. package/dist/docx/layout/adapter.d.ts.map +1 -0
  151. package/dist/docx/layout/floats.d.ts +20 -0
  152. package/dist/docx/layout/floats.d.ts.map +1 -0
  153. package/dist/docx/layout/flow-paragraph.d.ts +26 -0
  154. package/dist/docx/layout/flow-paragraph.d.ts.map +1 -0
  155. package/dist/docx/layout/flow-table.d.ts +12 -0
  156. package/dist/docx/layout/flow-table.d.ts.map +1 -0
  157. package/dist/docx/layout/fonts.d.ts +3 -0
  158. package/dist/docx/layout/fonts.d.ts.map +1 -0
  159. package/dist/docx/layout/index.cjs +2537 -0
  160. package/dist/docx/layout/index.d.ts +20 -0
  161. package/dist/docx/layout/index.d.ts.map +1 -0
  162. package/dist/docx/layout/index.mjs +2503 -0
  163. package/dist/docx/layout/input.d.ts +206 -0
  164. package/dist/docx/layout/input.d.ts.map +1 -0
  165. package/dist/docx/layout/keep-rules.d.ts +24 -0
  166. package/dist/docx/layout/keep-rules.d.ts.map +1 -0
  167. package/dist/docx/layout/layout.d.ts +9 -0
  168. package/dist/docx/layout/layout.d.ts.map +1 -0
  169. package/dist/docx/layout/ligatures.d.ts +4 -0
  170. package/dist/docx/layout/ligatures.d.ts.map +1 -0
  171. package/dist/docx/layout/line-metrics.d.ts +21 -0
  172. package/dist/docx/layout/line-metrics.d.ts.map +1 -0
  173. package/dist/docx/layout/measure.d.ts +34 -0
  174. package/dist/docx/layout/measure.d.ts.map +1 -0
  175. package/dist/docx/layout/page-cursor.d.ts +45 -0
  176. package/dist/docx/layout/page-cursor.d.ts.map +1 -0
  177. package/dist/docx/layout/page-flow.d.ts +7 -0
  178. package/dist/docx/layout/page-flow.d.ts.map +1 -0
  179. package/dist/docx/layout/paragraph-fragments.d.ts +6 -0
  180. package/dist/docx/layout/paragraph-fragments.d.ts.map +1 -0
  181. package/dist/docx/layout/paragraph-layout.d.ts +37 -0
  182. package/dist/docx/layout/paragraph-layout.d.ts.map +1 -0
  183. package/dist/docx/layout/paragraph-tokens.d.ts +27 -0
  184. package/dist/docx/layout/paragraph-tokens.d.ts.map +1 -0
  185. package/dist/docx/layout/result.d.ts +139 -0
  186. package/dist/docx/layout/result.d.ts.map +1 -0
  187. package/dist/docx/layout/tab-stops.d.ts +14 -0
  188. package/dist/docx/layout/tab-stops.d.ts.map +1 -0
  189. package/dist/docx/layout/table-layout.d.ts +30 -0
  190. package/dist/docx/layout/table-layout.d.ts.map +1 -0
  191. package/dist/docx/layout/test-helpers.d.ts +3 -0
  192. package/dist/docx/layout/test-helpers.d.ts.map +1 -0
  193. package/dist/docx/layout/text-breaks.d.ts +56 -0
  194. package/dist/docx/layout/text-breaks.d.ts.map +1 -0
  195. package/dist/docx/layout/units.d.ts +17 -0
  196. package/dist/docx/layout/units.d.ts.map +1 -0
  197. package/dist/docx/layout/wrap.d.ts +22 -0
  198. package/dist/docx/layout/wrap.d.ts.map +1 -0
  199. package/dist/docx/ligatures.d.ts +9 -0
  200. package/dist/docx/ligatures.d.ts.map +1 -0
  201. package/dist/docx/load/detect.d.ts +6 -0
  202. package/dist/docx/load/detect.d.ts.map +1 -0
  203. package/dist/docx/load/index.cjs +8869 -0
  204. package/dist/docx/load/index.d.ts +3 -0
  205. package/dist/docx/load/index.d.ts.map +1 -0
  206. package/dist/docx/load/index.mjs +8860 -0
  207. package/dist/docx/load/legacy-doc.d.ts +7 -0
  208. package/dist/docx/load/legacy-doc.d.ts.map +1 -0
  209. package/dist/docx/model-paragraph.d.ts +100 -0
  210. package/dist/docx/model-paragraph.d.ts.map +1 -0
  211. package/dist/docx/model-run.d.ts +110 -0
  212. package/dist/docx/model-run.d.ts.map +1 -0
  213. package/dist/docx/model.d.ts +114 -0
  214. package/dist/docx/model.d.ts.map +1 -0
  215. package/dist/docx/notes.d.ts +9 -0
  216. package/dist/docx/notes.d.ts.map +1 -0
  217. package/dist/docx/numbering-editing.d.ts +30 -0
  218. package/dist/docx/numbering-editing.d.ts.map +1 -0
  219. package/dist/docx/numbering-format.d.ts +17 -0
  220. package/dist/docx/numbering-format.d.ts.map +1 -0
  221. package/dist/docx/numbering-model.d.ts +73 -0
  222. package/dist/docx/numbering-model.d.ts.map +1 -0
  223. package/dist/docx/numbering-package.d.ts +12 -0
  224. package/dist/docx/numbering-package.d.ts.map +1 -0
  225. package/dist/docx/numbering-parse.d.ts +8 -0
  226. package/dist/docx/numbering-parse.d.ts.map +1 -0
  227. package/dist/docx/numbering-parts.d.ts +4 -0
  228. package/dist/docx/numbering-parts.d.ts.map +1 -0
  229. package/dist/docx/numbering-text.d.ts +20 -0
  230. package/dist/docx/numbering-text.d.ts.map +1 -0
  231. package/dist/docx/numbering-write.d.ts +5 -0
  232. package/dist/docx/numbering-write.d.ts.map +1 -0
  233. package/dist/docx/package-parts.d.ts +4 -0
  234. package/dist/docx/package-parts.d.ts.map +1 -0
  235. package/dist/docx/page-background.d.ts +9 -0
  236. package/dist/docx/page-background.d.ts.map +1 -0
  237. package/dist/docx/page-borders.d.ts +9 -0
  238. package/dist/docx/page-borders.d.ts.map +1 -0
  239. package/dist/docx/paragraph-alignment.d.ts +21 -0
  240. package/dist/docx/paragraph-alignment.d.ts.map +1 -0
  241. package/dist/docx/paragraph-styles.d.ts +15 -0
  242. package/dist/docx/paragraph-styles.d.ts.map +1 -0
  243. package/dist/docx/parse-diagnostics.d.ts +10 -0
  244. package/dist/docx/parse-diagnostics.d.ts.map +1 -0
  245. package/dist/docx/parse-revisions.d.ts +36 -0
  246. package/dist/docx/parse-revisions.d.ts.map +1 -0
  247. package/dist/docx/parse-table.d.ts +5 -0
  248. package/dist/docx/parse-table.d.ts.map +1 -0
  249. package/dist/docx/parse-warnings.d.ts +9 -0
  250. package/dist/docx/parse-warnings.d.ts.map +1 -0
  251. package/dist/docx/parse.d.ts +13 -0
  252. package/dist/docx/parse.d.ts.map +1 -0
  253. package/dist/docx/part-relationships.d.ts +12 -0
  254. package/dist/docx/part-relationships.d.ts.map +1 -0
  255. package/dist/docx/relationship-allocator.d.ts +32 -0
  256. package/dist/docx/relationship-allocator.d.ts.map +1 -0
  257. package/dist/docx/relationships.d.ts +3 -0
  258. package/dist/docx/relationships.d.ts.map +1 -0
  259. package/dist/docx/resolve-table.d.ts +8 -0
  260. package/dist/docx/resolve-table.d.ts.map +1 -0
  261. package/dist/docx/revision-commands.d.ts +27 -0
  262. package/dist/docx/revision-commands.d.ts.map +1 -0
  263. package/dist/docx/revision-ids.d.ts +10 -0
  264. package/dist/docx/revision-ids.d.ts.map +1 -0
  265. package/dist/docx/run-formatting.d.ts +16 -0
  266. package/dist/docx/run-formatting.d.ts.map +1 -0
  267. package/dist/docx/run-properties.d.ts +5 -0
  268. package/dist/docx/run-properties.d.ts.map +1 -0
  269. package/dist/docx/run-style-model.d.ts +21 -0
  270. package/dist/docx/run-style-model.d.ts.map +1 -0
  271. package/dist/docx/save.d.ts +5 -0
  272. package/dist/docx/save.d.ts.map +1 -0
  273. package/dist/docx/section-model.d.ts +97 -0
  274. package/dist/docx/section-model.d.ts.map +1 -0
  275. package/dist/docx/sections.d.ts +18 -0
  276. package/dist/docx/sections.d.ts.map +1 -0
  277. package/dist/docx/settings.d.ts +11 -0
  278. package/dist/docx/settings.d.ts.map +1 -0
  279. package/dist/docx/simple-types.d.ts +37 -0
  280. package/dist/docx/simple-types.d.ts.map +1 -0
  281. package/dist/docx/style-numbering-package.d.ts +11 -0
  282. package/dist/docx/style-numbering-package.d.ts.map +1 -0
  283. package/dist/docx/tab-stops.d.ts +8 -0
  284. package/dist/docx/tab-stops.d.ts.map +1 -0
  285. package/dist/docx/table-borders.d.ts +15 -0
  286. package/dist/docx/table-borders.d.ts.map +1 -0
  287. package/dist/docx/table-cell-write.d.ts +12 -0
  288. package/dist/docx/table-cell-write.d.ts.map +1 -0
  289. package/dist/docx/table-defaults.d.ts +20 -0
  290. package/dist/docx/table-defaults.d.ts.map +1 -0
  291. package/dist/docx/table-model.d.ts +101 -0
  292. package/dist/docx/table-model.d.ts.map +1 -0
  293. package/dist/docx/table-of-contents.d.ts +67 -0
  294. package/dist/docx/table-of-contents.d.ts.map +1 -0
  295. package/dist/docx/table-of-figures.d.ts +10 -0
  296. package/dist/docx/table-of-figures.d.ts.map +1 -0
  297. package/dist/docx/table-styles.d.ts +4 -0
  298. package/dist/docx/table-styles.d.ts.map +1 -0
  299. package/dist/docx/table-visuals.d.ts +22 -0
  300. package/dist/docx/table-visuals.d.ts.map +1 -0
  301. package/dist/docx/test-support/access.d.ts +14 -0
  302. package/dist/docx/test-support/access.d.ts.map +1 -0
  303. package/dist/docx/test-support/heading-numbering-fixture.d.ts +5 -0
  304. package/dist/docx/test-support/heading-numbering-fixture.d.ts.map +1 -0
  305. package/dist/docx/test-support/restart-fixture.d.ts +17 -0
  306. package/dist/docx/test-support/restart-fixture.d.ts.map +1 -0
  307. package/dist/docx/test-support/schema-validation.d.ts +24 -0
  308. package/dist/docx/test-support/schema-validation.d.ts.map +1 -0
  309. package/dist/docx/theme-color.d.ts +16 -0
  310. package/dist/docx/theme-color.d.ts.map +1 -0
  311. package/dist/docx/theme-model.d.ts +31 -0
  312. package/dist/docx/theme-model.d.ts.map +1 -0
  313. package/dist/docx/theme.d.ts +6 -0
  314. package/dist/docx/theme.d.ts.map +1 -0
  315. package/dist/docx/underline.d.ts +5 -0
  316. package/dist/docx/underline.d.ts.map +1 -0
  317. package/dist/docx/units.d.ts +2 -0
  318. package/dist/docx/units.d.ts.map +1 -0
  319. package/dist/docx/validate-issues.d.ts +40 -0
  320. package/dist/docx/validate-issues.d.ts.map +1 -0
  321. package/dist/docx/validate-model.d.ts +8 -0
  322. package/dist/docx/validate-model.d.ts.map +1 -0
  323. package/dist/docx/validate-paragraph.d.ts +10 -0
  324. package/dist/docx/validate-paragraph.d.ts.map +1 -0
  325. package/dist/docx/validate-structure.d.ts +10 -0
  326. package/dist/docx/validate-structure.d.ts.map +1 -0
  327. package/dist/docx/watermark.d.ts +14 -0
  328. package/dist/docx/watermark.d.ts.map +1 -0
  329. package/dist/docx/write-comments.d.ts +12 -0
  330. package/dist/docx/write-comments.d.ts.map +1 -0
  331. package/dist/docx/write-drawing.d.ts +12 -0
  332. package/dist/docx/write-drawing.d.ts.map +1 -0
  333. package/dist/docx/write-header-footer.d.ts +21 -0
  334. package/dist/docx/write-header-footer.d.ts.map +1 -0
  335. package/dist/docx/write-inline.d.ts +23 -0
  336. package/dist/docx/write-inline.d.ts.map +1 -0
  337. package/dist/docx/write-notes.d.ts +5 -0
  338. package/dist/docx/write-notes.d.ts.map +1 -0
  339. package/dist/docx/write-paragraph-decoration.d.ts +5 -0
  340. package/dist/docx/write-paragraph-decoration.d.ts.map +1 -0
  341. package/dist/docx/write-paragraph-properties.d.ts +4 -0
  342. package/dist/docx/write-paragraph-properties.d.ts.map +1 -0
  343. package/dist/docx/write-paragraph.d.ts +8 -0
  344. package/dist/docx/write-paragraph.d.ts.map +1 -0
  345. package/dist/docx/write-ranges.d.ts +42 -0
  346. package/dist/docx/write-ranges.d.ts.map +1 -0
  347. package/dist/docx/write-revisions.d.ts +10 -0
  348. package/dist/docx/write-revisions.d.ts.map +1 -0
  349. package/dist/docx/write-run-extra.d.ts +5 -0
  350. package/dist/docx/write-run-extra.d.ts.map +1 -0
  351. package/dist/docx/write-run-validation.d.ts +4 -0
  352. package/dist/docx/write-run-validation.d.ts.map +1 -0
  353. package/dist/docx/write-run.d.ts +7 -0
  354. package/dist/docx/write-run.d.ts.map +1 -0
  355. package/dist/docx/write-sections.d.ts +10 -0
  356. package/dist/docx/write-sections.d.ts.map +1 -0
  357. package/dist/docx/write-table-properties.d.ts +13 -0
  358. package/dist/docx/write-table-properties.d.ts.map +1 -0
  359. package/dist/docx/write-table.d.ts +9 -0
  360. package/dist/docx/write-table.d.ts.map +1 -0
  361. package/dist/docx/write-text-box.d.ts +15 -0
  362. package/dist/docx/write-text-box.d.ts.map +1 -0
  363. package/dist/docx/write.d.ts +25 -0
  364. package/dist/docx/write.d.ts.map +1 -0
  365. package/dist/docx/xml.d.ts +14 -0
  366. package/dist/docx/xml.d.ts.map +1 -0
  367. package/dist/docx/zip-parts.d.ts +5 -0
  368. package/dist/docx/zip-parts.d.ts.map +1 -0
  369. package/dist/geometry/adjustment-aware-shapes.d.ts +63 -0
  370. package/dist/geometry/adjustment-aware-shapes.d.ts.map +1 -0
  371. package/dist/geometry/callout-geometry.d.ts +65 -0
  372. package/dist/geometry/callout-geometry.d.ts.map +1 -0
  373. package/dist/geometry/cloud-bezier-paths.d.ts +55 -0
  374. package/dist/geometry/cloud-bezier-paths.d.ts.map +1 -0
  375. package/dist/geometry/com-avlst-ground-truth.d.ts +48 -0
  376. package/dist/geometry/com-avlst-ground-truth.d.ts.map +1 -0
  377. package/dist/geometry/connector-elbow-geometry.d.ts +41 -0
  378. package/dist/geometry/connector-elbow-geometry.d.ts.map +1 -0
  379. package/dist/geometry/guide-formula-api.d.ts +55 -0
  380. package/dist/geometry/guide-formula-api.d.ts.map +1 -0
  381. package/dist/geometry/guide-formula-eval.d.ts +85 -0
  382. package/dist/geometry/guide-formula-eval.d.ts.map +1 -0
  383. package/dist/geometry/index.cjs +15031 -0
  384. package/dist/geometry/index.d.ts +80 -0
  385. package/dist/geometry/index.d.ts.map +1 -0
  386. package/dist/geometry/index.mjs +14897 -0
  387. package/dist/geometry/indexed.d.ts +6 -0
  388. package/dist/geometry/indexed.d.ts.map +1 -0
  389. package/dist/geometry/preset-clip-paths-core.d.ts +20 -0
  390. package/dist/geometry/preset-clip-paths-core.d.ts.map +1 -0
  391. package/dist/geometry/preset-clip-paths-extended.d.ts +19 -0
  392. package/dist/geometry/preset-clip-paths-extended.d.ts.map +1 -0
  393. package/dist/geometry/preset-connection-sites-action-buttons.d.ts +14 -0
  394. package/dist/geometry/preset-connection-sites-action-buttons.d.ts.map +1 -0
  395. package/dist/geometry/preset-connection-sites-arrows-curved.d.ts +12 -0
  396. package/dist/geometry/preset-connection-sites-arrows-curved.d.ts.map +1 -0
  397. package/dist/geometry/preset-connection-sites-arrows-misc.d.ts +13 -0
  398. package/dist/geometry/preset-connection-sites-arrows-misc.d.ts.map +1 -0
  399. package/dist/geometry/preset-connection-sites-arrows.d.ts +13 -0
  400. package/dist/geometry/preset-connection-sites-arrows.d.ts.map +1 -0
  401. package/dist/geometry/preset-connection-sites-basic-a.d.ts +12 -0
  402. package/dist/geometry/preset-connection-sites-basic-a.d.ts.map +1 -0
  403. package/dist/geometry/preset-connection-sites-basic-b.d.ts +12 -0
  404. package/dist/geometry/preset-connection-sites-basic-b.d.ts.map +1 -0
  405. package/dist/geometry/preset-connection-sites-braces.d.ts +12 -0
  406. package/dist/geometry/preset-connection-sites-braces.d.ts.map +1 -0
  407. package/dist/geometry/preset-connection-sites-callouts-arrow.d.ts +14 -0
  408. package/dist/geometry/preset-connection-sites-callouts-arrow.d.ts.map +1 -0
  409. package/dist/geometry/preset-connection-sites-callouts-basic.d.ts +12 -0
  410. package/dist/geometry/preset-connection-sites-callouts-basic.d.ts.map +1 -0
  411. package/dist/geometry/preset-connection-sites-circular-arrow.d.ts +14 -0
  412. package/dist/geometry/preset-connection-sites-circular-arrow.d.ts.map +1 -0
  413. package/dist/geometry/preset-connection-sites-flowchart.d.ts +19 -0
  414. package/dist/geometry/preset-connection-sites-flowchart.d.ts.map +1 -0
  415. package/dist/geometry/preset-connection-sites-gear9.d.ts +12 -0
  416. package/dist/geometry/preset-connection-sites-gear9.d.ts.map +1 -0
  417. package/dist/geometry/preset-connection-sites-left-circular-arrow.d.ts +12 -0
  418. package/dist/geometry/preset-connection-sites-left-circular-arrow.d.ts.map +1 -0
  419. package/dist/geometry/preset-connection-sites-left-right-circular-arrow.d.ts +13 -0
  420. package/dist/geometry/preset-connection-sites-left-right-circular-arrow.d.ts.map +1 -0
  421. package/dist/geometry/preset-connection-sites-math.d.ts +12 -0
  422. package/dist/geometry/preset-connection-sites-math.d.ts.map +1 -0
  423. package/dist/geometry/preset-connection-sites-misc.d.ts +14 -0
  424. package/dist/geometry/preset-connection-sites-misc.d.ts.map +1 -0
  425. package/dist/geometry/preset-connection-sites-polygons.d.ts +12 -0
  426. package/dist/geometry/preset-connection-sites-polygons.d.ts.map +1 -0
  427. package/dist/geometry/preset-connection-sites-quads.d.ts +14 -0
  428. package/dist/geometry/preset-connection-sites-quads.d.ts.map +1 -0
  429. package/dist/geometry/preset-connection-sites-rects.d.ts +14 -0
  430. package/dist/geometry/preset-connection-sites-rects.d.ts.map +1 -0
  431. package/dist/geometry/preset-connection-sites-ribbons.d.ts +12 -0
  432. package/dist/geometry/preset-connection-sites-ribbons.d.ts.map +1 -0
  433. package/dist/geometry/preset-connection-sites-stars.d.ts +13 -0
  434. package/dist/geometry/preset-connection-sites-stars.d.ts.map +1 -0
  435. package/dist/geometry/preset-connection-sites-table.d.ts +23 -0
  436. package/dist/geometry/preset-connection-sites-table.d.ts.map +1 -0
  437. package/dist/geometry/preset-connection-sites-tabs.d.ts +11 -0
  438. package/dist/geometry/preset-connection-sites-tabs.d.ts.map +1 -0
  439. package/dist/geometry/preset-connection-sites-types.d.ts +52 -0
  440. package/dist/geometry/preset-connection-sites-types.d.ts.map +1 -0
  441. package/dist/geometry/preset-geometry-names.d.ts +53 -0
  442. package/dist/geometry/preset-geometry-names.d.ts.map +1 -0
  443. package/dist/geometry/preset-shape-clip-paths.d.ts +13 -0
  444. package/dist/geometry/preset-shape-clip-paths.d.ts.map +1 -0
  445. package/dist/geometry/preset-shape-definitions-action-buttons.d.ts +45 -0
  446. package/dist/geometry/preset-shape-definitions-action-buttons.d.ts.map +1 -0
  447. package/dist/geometry/preset-shape-definitions-arrow-callouts.d.ts +55 -0
  448. package/dist/geometry/preset-shape-definitions-arrow-callouts.d.ts.map +1 -0
  449. package/dist/geometry/preset-shape-definitions-arrows-refined.d.ts +45 -0
  450. package/dist/geometry/preset-shape-definitions-arrows-refined.d.ts.map +1 -0
  451. package/dist/geometry/preset-shape-definitions-arrows.d.ts +52 -0
  452. package/dist/geometry/preset-shape-definitions-arrows.d.ts.map +1 -0
  453. package/dist/geometry/preset-shape-definitions-chart-marks.d.ts +23 -0
  454. package/dist/geometry/preset-shape-definitions-chart-marks.d.ts.map +1 -0
  455. package/dist/geometry/preset-shape-definitions-cloud-callout.d.ts +28 -0
  456. package/dist/geometry/preset-shape-definitions-cloud-callout.d.ts.map +1 -0
  457. package/dist/geometry/preset-shape-definitions-connectors-brackets.d.ts +37 -0
  458. package/dist/geometry/preset-shape-definitions-connectors-brackets.d.ts.map +1 -0
  459. package/dist/geometry/preset-shape-definitions-curved-arrows-connectors.d.ts +43 -0
  460. package/dist/geometry/preset-shape-definitions-curved-arrows-connectors.d.ts.map +1 -0
  461. package/dist/geometry/preset-shape-definitions-curved-arrows-exact.d.ts +30 -0
  462. package/dist/geometry/preset-shape-definitions-curved-arrows-exact.d.ts.map +1 -0
  463. package/dist/geometry/preset-shape-definitions-flowchart.d.ts +29 -0
  464. package/dist/geometry/preset-shape-definitions-flowchart.d.ts.map +1 -0
  465. package/dist/geometry/preset-shape-definitions-gear6.d.ts +38 -0
  466. package/dist/geometry/preset-shape-definitions-gear6.d.ts.map +1 -0
  467. package/dist/geometry/preset-shape-definitions-gear9.d.ts +24 -0
  468. package/dist/geometry/preset-shape-definitions-gear9.d.ts.map +1 -0
  469. package/dist/geometry/preset-shape-definitions-misc.d.ts +38 -0
  470. package/dist/geometry/preset-shape-definitions-misc.d.ts.map +1 -0
  471. package/dist/geometry/preset-shape-definitions-rects-snips.d.ts +28 -0
  472. package/dist/geometry/preset-shape-definitions-rects-snips.d.ts.map +1 -0
  473. package/dist/geometry/preset-shape-definitions-scrolls-accent-callouts.d.ts +45 -0
  474. package/dist/geometry/preset-shape-definitions-scrolls-accent-callouts.d.ts.map +1 -0
  475. package/dist/geometry/preset-shape-definitions-table.d.ts +121 -0
  476. package/dist/geometry/preset-shape-definitions-table.d.ts.map +1 -0
  477. package/dist/geometry/preset-shape-definitions-tabs-decorations.d.ts +48 -0
  478. package/dist/geometry/preset-shape-definitions-tabs-decorations.d.ts.map +1 -0
  479. package/dist/geometry/preset-shape-definitions.d.ts +28 -0
  480. package/dist/geometry/preset-shape-definitions.d.ts.map +1 -0
  481. package/dist/geometry/preset-shape-paths.d.ts +13 -0
  482. package/dist/geometry/preset-shape-paths.d.ts.map +1 -0
  483. package/dist/geometry/preset-shape-types.d.ts +33 -0
  484. package/dist/geometry/preset-shape-types.d.ts.map +1 -0
  485. package/dist/geometry/preset-text-rect-action-buttons.d.ts +13 -0
  486. package/dist/geometry/preset-text-rect-action-buttons.d.ts.map +1 -0
  487. package/dist/geometry/preset-text-rect-arrows.d.ts +3 -0
  488. package/dist/geometry/preset-text-rect-arrows.d.ts.map +1 -0
  489. package/dist/geometry/preset-text-rect-braces.d.ts +3 -0
  490. package/dist/geometry/preset-text-rect-braces.d.ts.map +1 -0
  491. package/dist/geometry/preset-text-rect-callouts.d.ts +3 -0
  492. package/dist/geometry/preset-text-rect-callouts.d.ts.map +1 -0
  493. package/dist/geometry/preset-text-rect-circular-arrows.d.ts +3 -0
  494. package/dist/geometry/preset-text-rect-circular-arrows.d.ts.map +1 -0
  495. package/dist/geometry/preset-text-rect-flowchart.d.ts +3 -0
  496. package/dist/geometry/preset-text-rect-flowchart.d.ts.map +1 -0
  497. package/dist/geometry/preset-text-rect-misc-a.d.ts +3 -0
  498. package/dist/geometry/preset-text-rect-misc-a.d.ts.map +1 -0
  499. package/dist/geometry/preset-text-rect-misc-b.d.ts +3 -0
  500. package/dist/geometry/preset-text-rect-misc-b.d.ts.map +1 -0
  501. package/dist/geometry/preset-text-rect-polygons.d.ts +3 -0
  502. package/dist/geometry/preset-text-rect-polygons.d.ts.map +1 -0
  503. package/dist/geometry/preset-text-rect-quads.d.ts +3 -0
  504. package/dist/geometry/preset-text-rect-quads.d.ts.map +1 -0
  505. package/dist/geometry/preset-text-rect-ribbons.d.ts +3 -0
  506. package/dist/geometry/preset-text-rect-ribbons.d.ts.map +1 -0
  507. package/dist/geometry/preset-text-rect-stars.d.ts +3 -0
  508. package/dist/geometry/preset-text-rect-stars.d.ts.map +1 -0
  509. package/dist/geometry/preset-text-rect-table.d.ts +20 -0
  510. package/dist/geometry/preset-text-rect-table.d.ts.map +1 -0
  511. package/dist/geometry/preset-text-rect-tabs.d.ts +3 -0
  512. package/dist/geometry/preset-text-rect-tabs.d.ts.map +1 -0
  513. package/dist/geometry/preset-text-rect-types.d.ts +46 -0
  514. package/dist/geometry/preset-text-rect-types.d.ts.map +1 -0
  515. package/dist/geometry/shape-boolean-clipping.d.ts +70 -0
  516. package/dist/geometry/shape-boolean-clipping.d.ts.map +1 -0
  517. package/dist/geometry/shape-boolean-ops.d.ts +142 -0
  518. package/dist/geometry/shape-boolean-ops.d.ts.map +1 -0
  519. package/dist/geometry/shape-boolean-svg.d.ts +31 -0
  520. package/dist/geometry/shape-boolean-svg.d.ts.map +1 -0
  521. package/dist/geometry/shape-boolean-types.d.ts +91 -0
  522. package/dist/geometry/shape-boolean-types.d.ts.map +1 -0
  523. package/dist/geometry/shape-boolean-union.d.ts +79 -0
  524. package/dist/geometry/shape-boolean-union.d.ts.map +1 -0
  525. package/dist/geometry/shape-boolean.d.ts +22 -0
  526. package/dist/geometry/shape-boolean.d.ts.map +1 -0
  527. package/dist/geometry/shape-definitions-extended.d.ts +18 -0
  528. package/dist/geometry/shape-definitions-extended.d.ts.map +1 -0
  529. package/dist/geometry/shape-definitions-primary.d.ts +19 -0
  530. package/dist/geometry/shape-definitions-primary.d.ts.map +1 -0
  531. package/dist/index.cjs +16618 -0
  532. package/dist/index.d.ts +7 -0
  533. package/dist/index.d.ts.map +1 -0
  534. package/dist/index.mjs +16611 -0
  535. package/dist/opc/content-types.d.ts +14 -0
  536. package/dist/opc/content-types.d.ts.map +1 -0
  537. package/dist/opc/index.cjs +228 -0
  538. package/dist/opc/index.d.ts +6 -0
  539. package/dist/opc/index.d.ts.map +1 -0
  540. package/dist/opc/index.mjs +212 -0
  541. package/dist/opc/package.d.ts +14 -0
  542. package/dist/opc/package.d.ts.map +1 -0
  543. package/dist/opc/relationship-types.d.ts +34 -0
  544. package/dist/opc/relationship-types.d.ts.map +1 -0
  545. package/dist/opc/relationships.d.ts +29 -0
  546. package/dist/opc/relationships.d.ts.map +1 -0
  547. package/dist/opc/safe-href.d.ts +3 -0
  548. package/dist/opc/safe-href.d.ts.map +1 -0
  549. package/dist/pptx/chunks/index-CojJtI77.d.ts +9627 -0
  550. package/dist/pptx/chunks/index-CojJtI77.d.ts.map +1 -0
  551. package/dist/pptx/chunks/signature-inspection-status-Bh2oap7B.d.ts +220 -0
  552. package/dist/pptx/chunks/signature-inspection-status-Bh2oap7B.d.ts.map +1 -0
  553. package/dist/pptx/chunks/text-operations-IlJiffp7.d.ts +11122 -0
  554. package/dist/pptx/chunks/text-operations-IlJiffp7.d.ts.map +1 -0
  555. package/dist/pptx/cli/index.cjs +138457 -0
  556. package/dist/pptx/cli/index.d.ts +139 -0
  557. package/dist/pptx/cli/index.d.ts.map +1 -0
  558. package/dist/pptx/cli/index.mjs +138424 -0
  559. package/dist/pptx/converter/index.cjs +32084 -0
  560. package/dist/pptx/converter/index.d.ts +2 -0
  561. package/dist/pptx/converter/index.mjs +32060 -0
  562. package/dist/pptx/index.cjs +172307 -0
  563. package/dist/pptx/index.d.ts +9692 -0
  564. package/dist/pptx/index.d.ts.map +1 -0
  565. package/dist/pptx/index.mjs +171623 -0
  566. package/dist/pptx/signature-node/index.cjs +1299 -0
  567. package/dist/pptx/signature-node/index.d.ts +172 -0
  568. package/dist/pptx/signature-node/index.d.ts.map +1 -0
  569. package/dist/pptx/signature-node/index.mjs +1236 -0
  570. package/dist/units/constants.d.ts +13 -0
  571. package/dist/units/constants.d.ts.map +1 -0
  572. package/dist/units/index.cjs +76 -0
  573. package/dist/units/index.d.ts +3 -0
  574. package/dist/units/index.d.ts.map +1 -0
  575. package/dist/units/index.mjs +45 -0
  576. package/dist/units/units.d.ts +52 -0
  577. package/dist/units/units.d.ts.map +1 -0
  578. package/dist/xml/index.cjs +98 -0
  579. package/dist/xml/index.d.ts +3 -0
  580. package/dist/xml/index.d.ts.map +1 -0
  581. package/dist/xml/index.mjs +85 -0
  582. package/dist/xml/namespaces.d.ts +47 -0
  583. package/dist/xml/namespaces.d.ts.map +1 -0
  584. package/dist/xml/xml.d.ts +31 -0
  585. package/dist/xml/xml.d.ts.map +1 -0
  586. package/package.json +192 -0
@@ -0,0 +1,1161 @@
1
+ import { DOMParser } from '@xmldom/xmldom';
2
+
3
+ // src/diagram/attributes.ts
4
+ var optionalString = (value) => {
5
+ const text = (value ?? "").trim();
6
+ return text.length > 0 ? text : void 0;
7
+ };
8
+ var optionalInteger = (value) => {
9
+ const parsed = Number.parseInt(value ?? "", 10);
10
+ return Number.isFinite(parsed) ? parsed : void 0;
11
+ };
12
+ function optionalBoolean(value) {
13
+ const text = (value ?? "").trim();
14
+ if (text.length === 0) return void 0;
15
+ return text === "1" || text.toLowerCase() === "true";
16
+ }
17
+ function optionalScaled(value, divisor) {
18
+ const text = (value ?? "").trim();
19
+ if (text.length === 0) return void 0;
20
+ const parsed = Number.parseFloat(text);
21
+ return Number.isFinite(parsed) ? parsed / divisor : void 0;
22
+ }
23
+ function parseConnectionAttributes(get) {
24
+ const sourceId = optionalString(get("srcId"));
25
+ const destId = optionalString(get("destId"));
26
+ if (!sourceId || !destId) return void 0;
27
+ const parsed = { sourceId, destId };
28
+ const modelId = optionalString(get("modelId"));
29
+ const type = optionalString(get("type"));
30
+ const srcOrd = optionalInteger(get("srcOrd"));
31
+ const destOrd = optionalInteger(get("destOrd"));
32
+ const parentTransitionId = optionalString(get("parTransId"));
33
+ const siblingTransitionId = optionalString(get("sibTransId"));
34
+ const presentationId = optionalString(get("presId"));
35
+ if (modelId !== void 0) parsed.modelId = modelId;
36
+ if (type !== void 0) parsed.type = type;
37
+ if (srcOrd !== void 0) parsed.srcOrd = srcOrd;
38
+ if (destOrd !== void 0) parsed.destOrd = destOrd;
39
+ if (parentTransitionId !== void 0) parsed.parentTransitionId = parentTransitionId;
40
+ if (siblingTransitionId !== void 0) parsed.siblingTransitionId = siblingTransitionId;
41
+ if (presentationId !== void 0) parsed.presentationId = presentationId;
42
+ return parsed;
43
+ }
44
+ var CUSTOM_LAYOUT_ATTRIBUTES = [
45
+ ["angle", "custAng", "angle"],
46
+ ["scaleX", "custScaleX", "ratio"],
47
+ ["scaleY", "custScaleY", "ratio"],
48
+ ["sizeX", "custSzX", "ratio"],
49
+ ["sizeY", "custSzY", "ratio"],
50
+ ["linearFactorX", "custLinFactX", "ratio"],
51
+ ["linearFactorY", "custLinFactY", "ratio"],
52
+ ["linearFactorNeighborX", "custLinFactNeighborX", "ratio"],
53
+ ["linearFactorNeighborY", "custLinFactNeighborY", "ratio"],
54
+ ["radialScaleRadius", "custRadScaleRad", "ratio"],
55
+ ["radialScaleIncrement", "custRadScaleInc", "ratio"],
56
+ ["flipHorizontal", "custFlipHor", "flag"],
57
+ ["flipVertical", "custFlipVert", "flag"],
58
+ ["hasCustomTransform", "custT", "flag"]
59
+ ];
60
+ function parseCustomLayoutAttributes(get) {
61
+ const custom = {};
62
+ for (const [key, attribute, kind] of CUSTOM_LAYOUT_ATTRIBUTES) {
63
+ const raw = get(attribute);
64
+ const value = kind === "flag" ? optionalBoolean(raw) : optionalScaled(raw, kind === "angle" ? 6e4 : 1e5);
65
+ if (value !== void 0) custom[key] = value;
66
+ }
67
+ return Object.keys(custom).length > 0 ? custom : void 0;
68
+ }
69
+ var RELATIONSHIP_ATTRIBUTES = [
70
+ ["dataRelId", "dm"],
71
+ ["layoutRelId", "lo"],
72
+ ["styleRelId", "qs"],
73
+ ["colorsRelId", "cs"]
74
+ ];
75
+ function parseRelationshipIdAttributes(get) {
76
+ const result = {};
77
+ for (const [property, attribute] of RELATIONSHIP_ATTRIBUTES) {
78
+ const value = optionalString(get(attribute));
79
+ if (value) result[property] = value;
80
+ }
81
+ return result;
82
+ }
83
+
84
+ // src/diagram/layout-category.ts
85
+ var CATEGORY_FAMILY = {
86
+ list: "list",
87
+ process: "process",
88
+ cycle: "cycle",
89
+ hierarchy: "hierarchy",
90
+ relationship: "relationship",
91
+ matrix: "matrix",
92
+ pyramid: "pyramid"
93
+ };
94
+ var UNIQUE_ID_KEYWORDS = [
95
+ [/hier|org/u, "hierarchy"],
96
+ [/cycle|radial|circular/u, "cycle"],
97
+ [/process|flow|chevron|arrow|equation/u, "process"],
98
+ [/timeline/u, "timeline"],
99
+ [/matrix|grid/u, "matrix"],
100
+ [/pyramid/u, "pyramid"],
101
+ [/venn/u, "venn"],
102
+ [/funnel/u, "funnel"],
103
+ [/gear/u, "gear"],
104
+ [/target/u, "target"],
105
+ [/list/u, "list"]
106
+ ];
107
+ function resolveDiagramLayoutCategory(uniqueId, categories) {
108
+ for (const category of categories) {
109
+ const family = CATEGORY_FAMILY[category.trim().toLowerCase()];
110
+ if (family) return family;
111
+ }
112
+ const lowerId = uniqueId.toLowerCase();
113
+ if (lowerId.length > 0) {
114
+ for (const [pattern, family] of UNIQUE_ID_KEYWORDS) if (pattern.test(lowerId)) return family;
115
+ }
116
+ return void 0;
117
+ }
118
+
119
+ // src/opc/relationship-types.ts
120
+ var BASE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
121
+ var RELATIONSHIP_TYPES = {
122
+ diagramData: `${BASE}/diagramData`,
123
+ diagramLayout: `${BASE}/diagramLayout`,
124
+ diagramQuickStyle: `${BASE}/diagramQuickStyle`,
125
+ diagramColors: `${BASE}/diagramColors`,
126
+ diagramDrawing: "http://schemas.microsoft.com/office/2007/relationships/diagramDrawing"};
127
+
128
+ // src/xml/namespaces.ts
129
+ var NS = {
130
+ /** DrawingML main. */
131
+ a: "http://schemas.openxmlformats.org/drawingml/2006/main",
132
+ /** DrawingML diagram (SmartArt) main. */
133
+ dgm: "http://schemas.openxmlformats.org/drawingml/2006/diagram",
134
+ /** Office 2007+ diagram drawing (`dsp`). */
135
+ dsp: "http://schemas.microsoft.com/office/drawing/2008/diagram",
136
+ /** Relationships (`r:id`, `r:embed`). */
137
+ r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships"};
138
+ function parseXml(xml, options = {}) {
139
+ const label = options.label ?? "OOXML";
140
+ if (/<!DOCTYPE|<!ENTITY/i.test(xml))
141
+ throw new Error(`${label} XML with DTD or entity declarations is not supported`);
142
+ let parseError = "";
143
+ let parsed;
144
+ try {
145
+ parsed = new DOMParser({
146
+ onError: (level, message) => {
147
+ if (level !== "warning") parseError = message;
148
+ }
149
+ }).parseFromString(xml, "application/xml");
150
+ } catch (error) {
151
+ throw new Error(
152
+ `Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`
153
+ );
154
+ }
155
+ if (parseError || !parsed.documentElement)
156
+ throw new Error(`Invalid ${label} XML: ${parseError || "missing root element"}`);
157
+ return parsed;
158
+ }
159
+ var isElement = (node) => node.nodeType === 1;
160
+ var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
161
+ function named(element, local, ns, lenient = true) {
162
+ if (!element || element.localName !== local) return false;
163
+ return element.namespaceURI === ns || lenient && !element.namespaceURI;
164
+ }
165
+ var children = (parent, local, ns, lenient = true) => elements(parent).filter((element) => named(element, local, ns, lenient));
166
+ var first = (parent, local, ns, lenient = true) => parent ? children(parent, local, ns, lenient)[0] : void 0;
167
+
168
+ // src/diagram/relationships.ts
169
+ function diagramRelationshipsPart(partPath) {
170
+ const dir = partPath.replace(/\/[^/]+$/u, "");
171
+ const file = partPath.split("/").pop() ?? "";
172
+ return `${dir}/_rels/${file}.rels`;
173
+ }
174
+ async function resolveDiagramDrawingPart(hostPart, dataRelId, drawingExtensionRelId, host) {
175
+ if (dataRelId.length === 0) return void 0;
176
+ const hostRels = host.hostRelationships(hostPart);
177
+ const declared = drawingExtensionRelId ? hostRels?.get(drawingExtensionRelId) : void 0;
178
+ if (declared) return { relId: drawingExtensionRelId, path: host.resolvePath(hostPart, declared) };
179
+ const inferred = [...hostRels?.entries() ?? []].find(
180
+ ([, target2]) => /(?:^|\/)diagrams\/drawing\d+\.xml$/u.test(target2.replaceAll("\\", "/"))
181
+ );
182
+ if (inferred) return { relId: inferred[0], path: host.resolvePath(hostPart, inferred[1]) };
183
+ const dataTarget = hostRels?.get(dataRelId);
184
+ if (!dataTarget) return void 0;
185
+ const dataPath = host.resolvePath(hostPart, dataTarget);
186
+ const entries = await host.readRelationshipEntries(diagramRelationshipsPart(dataPath));
187
+ if (!entries) return void 0;
188
+ const drawing = entries.find(
189
+ (entry) => (!drawingExtensionRelId || entry.id.trim() === drawingExtensionRelId) && entry.type.endsWith("/diagramDrawing")
190
+ );
191
+ const id = drawing?.id.trim() ?? "";
192
+ const target = drawing?.target.trim() ?? "";
193
+ if (id.length === 0 || target.length === 0) return void 0;
194
+ return { relId: id, path: host.resolvePath(dataPath, target) };
195
+ }
196
+ var DIAGRAM_RELATIONSHIP_TYPES = {
197
+ data: RELATIONSHIP_TYPES.diagramData,
198
+ layout: RELATIONSHIP_TYPES.diagramLayout,
199
+ quickStyle: RELATIONSHIP_TYPES.diagramQuickStyle,
200
+ colors: RELATIONSHIP_TYPES.diagramColors,
201
+ drawing: RELATIONSHIP_TYPES.diagramDrawing
202
+ };
203
+
204
+ // src/diagram/dom.ts
205
+ function attributeReader(element) {
206
+ return (name) => {
207
+ if (!element) return void 0;
208
+ const direct = element.getAttribute(name);
209
+ if (direct !== null) return direct;
210
+ const attributes = element.attributes;
211
+ for (let index = 0; index < attributes.length; index++) {
212
+ const candidate = attributes.item(index);
213
+ if (candidate && candidate.localName === name) return candidate.value;
214
+ }
215
+ return void 0;
216
+ };
217
+ }
218
+ function stringAttribute(element, name) {
219
+ const value = attributeReader(element)(name)?.trim();
220
+ return value ? value : void 0;
221
+ }
222
+ function integerAttribute(element, name) {
223
+ const parsed = Number.parseInt(attributeReader(element)(name) ?? "", 10);
224
+ return Number.isFinite(parsed) ? parsed : void 0;
225
+ }
226
+ function booleanAttribute(element, name) {
227
+ const value = attributeReader(element)(name)?.trim().toLowerCase();
228
+ if (value === "1" || value === "true") return true;
229
+ if (value === "0" || value === "false") return false;
230
+ return void 0;
231
+ }
232
+ function descendants(root, local) {
233
+ const result = [];
234
+ const visit = (node) => {
235
+ for (const child of Array.from(node.childNodes)) {
236
+ if (!isElement(child)) continue;
237
+ if (child.localName === local) result.push(child);
238
+ visit(child);
239
+ }
240
+ };
241
+ visit(root);
242
+ return result;
243
+ }
244
+
245
+ // src/diagram/data-model.ts
246
+ var TRANSITION_TYPES = /* @__PURE__ */ new Set(["parTrans", "sibTrans"]);
247
+ var STRUCTURAL_TYPES = /* @__PURE__ */ new Set(["doc", "pres", "parTrans", "sibTrans"]);
248
+ function collectTransitionText(points, describe, text) {
249
+ const byId = /* @__PURE__ */ new Map();
250
+ for (const point of points) {
251
+ const { type, modelId } = describe(point);
252
+ if (!TRANSITION_TYPES.has((type ?? "").trim())) continue;
253
+ const id = (modelId ?? "").trim();
254
+ if (!id) continue;
255
+ const value = text(point).trim();
256
+ if (value.length > 0) byId.set(id, value);
257
+ }
258
+ return byId;
259
+ }
260
+ function connectionLabel(connection, transitionText) {
261
+ const parent = connection.parentTransitionId ? transitionText.get(connection.parentTransitionId) : void 0;
262
+ const sibling = connection.siblingTransitionId ? transitionText.get(connection.siblingTransitionId) : void 0;
263
+ return parent ?? sibling;
264
+ }
265
+ function textBodyParagraphs(body) {
266
+ if (!body) return [];
267
+ return children(body, "p", NS.a).map(
268
+ (paragraph) => descendants(paragraph, "t").map((run) => run.textContent ?? "").join("")
269
+ );
270
+ }
271
+ function parsePoint(element) {
272
+ const modelId = stringAttribute(element, "modelId");
273
+ if (!modelId) return void 0;
274
+ const paragraphs = textBodyParagraphs(first(element, "t", NS.dgm));
275
+ const prSet = first(element, "prSet", NS.dgm);
276
+ const point = {
277
+ modelId,
278
+ type: stringAttribute(element, "type") ?? "node",
279
+ paragraphs,
280
+ text: paragraphs.join("\n")
281
+ };
282
+ const optional = [
283
+ ["connectionId", stringAttribute(element, "cxnId")],
284
+ ["presAssocId", stringAttribute(prSet, "presAssocID")],
285
+ ["presName", stringAttribute(prSet, "presName")],
286
+ ["presStyleLabel", stringAttribute(prSet, "presStyleLbl")],
287
+ ["presStyleIndex", integerAttribute(prSet, "presStyleIdx")],
288
+ ["presStyleCount", integerAttribute(prSet, "presStyleCnt")],
289
+ ["layoutTypeId", stringAttribute(prSet, "loTypeId")],
290
+ ["layoutCategoryId", stringAttribute(prSet, "loCatId")],
291
+ ["quickStyleTypeId", stringAttribute(prSet, "qsTypeId")],
292
+ ["colorsTypeId", stringAttribute(prSet, "csTypeId")]
293
+ ];
294
+ for (const [key, value] of optional)
295
+ if (value !== void 0) point[key] = value;
296
+ const customLayout = prSet ? parseCustomLayoutAttributes(attributeReader(prSet)) : void 0;
297
+ if (customLayout) point.customLayout = customLayout;
298
+ return point;
299
+ }
300
+ function parseDiagramDataModel(source, part) {
301
+ const root = (typeof source === "string" ? parseXml(source, { label: "DiagramML" }) : source).documentElement;
302
+ const issues = [];
303
+ const report = (code, message) => issues.push({ code, message, ...part ? { part } : {} });
304
+ const points = [];
305
+ const ids = /* @__PURE__ */ new Set();
306
+ for (const element of children(first(root, "ptLst", NS.dgm) ?? root, "pt", NS.dgm)) {
307
+ const point = parsePoint(element);
308
+ if (!point) {
309
+ report("POINT_ID_REQUIRED", "dgm:pt requires modelId.");
310
+ continue;
311
+ }
312
+ if (ids.has(point.modelId))
313
+ report("POINT_ID_DUPLICATE", `Duplicate dgm:pt modelId: ${point.modelId}.`);
314
+ ids.add(point.modelId);
315
+ points.push(point);
316
+ }
317
+ const transitionText = collectTransitionText(
318
+ points,
319
+ (point) => ({ type: point.type, modelId: point.modelId }),
320
+ (point) => point.text
321
+ );
322
+ const connections = [];
323
+ const parentById = /* @__PURE__ */ new Map();
324
+ const connectionIds = /* @__PURE__ */ new Set();
325
+ for (const element of children(first(root, "cxnLst", NS.dgm) ?? root, "cxn", NS.dgm)) {
326
+ const connection = parseConnectionAttributes(attributeReader(element));
327
+ if (!connection) {
328
+ report("CONNECTION_ATTRIBUTE_REQUIRED", "dgm:cxn requires srcId and destId.");
329
+ continue;
330
+ }
331
+ if (connection.modelId && connectionIds.has(connection.modelId))
332
+ report("CONNECTION_ID_DUPLICATE", `Duplicate dgm:cxn modelId: ${connection.modelId}.`);
333
+ if (connection.modelId) connectionIds.add(connection.modelId);
334
+ for (const [attribute, id] of [
335
+ ["srcId", connection.sourceId],
336
+ ["destId", connection.destId]
337
+ ])
338
+ if (!ids.has(id))
339
+ report(
340
+ "CONNECTION_ENDPOINT_MISSING",
341
+ `dgm:cxn ${attribute} references missing point: ${id}.`
342
+ );
343
+ const label = connectionLabel(connection, transitionText);
344
+ connections.push(label ? { ...connection, label } : connection);
345
+ if ((!connection.type || connection.type === "parOf") && !parentById.has(connection.destId))
346
+ parentById.set(connection.destId, connection.sourceId);
347
+ }
348
+ const ext = descendants(root, "dataModelExt")[0];
349
+ const drawingRelId = stringAttribute(ext, "relId");
350
+ return {
351
+ points,
352
+ connections,
353
+ nodes: points.filter((point) => !STRUCTURAL_TYPES.has(point.type)),
354
+ parentById,
355
+ ...drawingRelId ? { drawingRelId } : {},
356
+ issues
357
+ };
358
+ }
359
+
360
+ // src/color/color-primitives.ts
361
+ function clampUnitInterval(value) {
362
+ return Math.min(1, Math.max(0, value));
363
+ }
364
+ function hexToRgbChannels(color) {
365
+ const normalized = color.replace("#", "");
366
+ if (!/^[0-9a-fA-F]{6}$/.test(normalized)) {
367
+ return null;
368
+ }
369
+ return {
370
+ r: Number.parseInt(normalized.slice(0, 2), 16),
371
+ g: Number.parseInt(normalized.slice(2, 4), 16),
372
+ b: Number.parseInt(normalized.slice(4, 6), 16)
373
+ };
374
+ }
375
+ function percentDivisorFor(text) {
376
+ return text.endsWith("%") ? 100 : 1e5;
377
+ }
378
+ function parseOoxmlPercent(value) {
379
+ const text = String(value ?? "").trim();
380
+ const divisor = percentDivisorFor(text);
381
+ const magnitude = Number.parseFloat(divisor === 100 ? text.slice(0, -1) : text);
382
+ if (!Number.isFinite(magnitude)) {
383
+ return void 0;
384
+ }
385
+ return magnitude / divisor;
386
+ }
387
+ function parseDrawingPercent(value) {
388
+ const parsed = parseOoxmlPercent(value);
389
+ return parsed === void 0 ? void 0 : clampUnitInterval(parsed);
390
+ }
391
+ function scrgbLinearToSrgb8(linear) {
392
+ const l = Math.min(1, Math.max(0, linear));
393
+ const companded = l <= 31308e-7 ? 12.92 * l : 1.055 * l ** (1 / 2.4) - 0.055;
394
+ return Math.min(255, Math.max(0, Math.round(companded * 255)));
395
+ }
396
+ function toHex(value) {
397
+ return Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
398
+ }
399
+ function rgbToHsl(r, g, b) {
400
+ const rN = r / 255;
401
+ const gN = g / 255;
402
+ const bN = b / 255;
403
+ const cMax = Math.max(rN, gN, bN);
404
+ const cMin = Math.min(rN, gN, bN);
405
+ const delta = cMax - cMin;
406
+ const l = (cMax + cMin) / 2;
407
+ let s = 0;
408
+ if (delta !== 0) {
409
+ s = delta / (1 - Math.abs(2 * l - 1));
410
+ }
411
+ let h = 0;
412
+ if (delta !== 0) {
413
+ if (cMax === rN) {
414
+ h = 60 * ((gN - bN) / delta % 6);
415
+ } else if (cMax === gN) {
416
+ h = 60 * ((bN - rN) / delta + 2);
417
+ } else {
418
+ h = 60 * ((rN - gN) / delta + 4);
419
+ }
420
+ }
421
+ if (h < 0) {
422
+ h += 360;
423
+ }
424
+ return { h, s: clampUnitInterval(s), l: clampUnitInterval(l) };
425
+ }
426
+ function hslToRgb(h, s, l) {
427
+ const sC = clampUnitInterval(s);
428
+ const lC = clampUnitInterval(l);
429
+ const hN = (h % 360 + 360) % 360;
430
+ const c = (1 - Math.abs(2 * lC - 1)) * sC;
431
+ const x = c * (1 - Math.abs(hN / 60 % 2 - 1));
432
+ const m = lC - c / 2;
433
+ let rP = 0;
434
+ let gP = 0;
435
+ let bP = 0;
436
+ if (hN < 60) {
437
+ rP = c;
438
+ gP = x;
439
+ bP = 0;
440
+ } else if (hN < 120) {
441
+ rP = x;
442
+ gP = c;
443
+ bP = 0;
444
+ } else if (hN < 180) {
445
+ rP = 0;
446
+ gP = c;
447
+ bP = x;
448
+ } else if (hN < 240) {
449
+ rP = 0;
450
+ gP = x;
451
+ bP = c;
452
+ } else if (hN < 300) {
453
+ rP = x;
454
+ gP = 0;
455
+ bP = c;
456
+ } else {
457
+ rP = c;
458
+ gP = 0;
459
+ bP = x;
460
+ }
461
+ return {
462
+ r: Math.round((rP + m) * 255),
463
+ g: Math.round((gP + m) * 255),
464
+ b: Math.round((bP + m) * 255)
465
+ };
466
+ }
467
+ function parseDrawingFraction(value) {
468
+ return parseOoxmlPercent(value);
469
+ }
470
+ function parseDrawingHueDegrees(value) {
471
+ const parsed = Number.parseFloat(String(value ?? "").trim());
472
+ if (!Number.isFinite(parsed)) {
473
+ return void 0;
474
+ }
475
+ return parsed / 6e4;
476
+ }
477
+
478
+ // src/color/color-linear.ts
479
+ function srgb255ToLinear(channel) {
480
+ const c = clampUnitInterval(channel / 255);
481
+ return c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
482
+ }
483
+ function linearToSrgb255(linear) {
484
+ const c = clampUnitInterval(linear);
485
+ return 255 * (c <= 31308e-7 ? c * 12.92 : 1.055 * c ** (1 / 2.4) - 0.055);
486
+ }
487
+
488
+ // src/diagram/drawing-color.ts
489
+ var COLOR_ELEMENTS = {
490
+ srgbClr: "srgb",
491
+ schemeClr: "scheme",
492
+ sysClr: "system",
493
+ prstClr: "preset",
494
+ scrgbClr: "scrgb",
495
+ hslClr: "hsl"
496
+ };
497
+ function colorValue(kind, element) {
498
+ const attribute = (name) => element.getAttribute(name) ?? "";
499
+ if (kind === "scrgb") return `${attribute("r")},${attribute("g")},${attribute("b")}`;
500
+ if (kind === "hsl") return `${attribute("hue")},${attribute("sat")},${attribute("lum")}`;
501
+ return attribute("val");
502
+ }
503
+ function parseDrawingColorIn(container) {
504
+ if (!container) return void 0;
505
+ for (const element of elements(container)) {
506
+ const kind = COLOR_ELEMENTS[element.localName];
507
+ if (!kind || element.namespaceURI && element.namespaceURI !== NS.a) continue;
508
+ return parseDrawingColor(element);
509
+ }
510
+ return void 0;
511
+ }
512
+ function parseDrawingColor(element) {
513
+ const kind = COLOR_ELEMENTS[element.localName];
514
+ if (!kind) return void 0;
515
+ const color = {
516
+ kind,
517
+ value: colorValue(kind, element),
518
+ transforms: elements(element).map((child) => ({
519
+ name: child.localName,
520
+ value: child.getAttribute("val") ?? ""
521
+ }))
522
+ };
523
+ const fallback = kind === "system" ? element.getAttribute("lastClr") : null;
524
+ if (fallback) color.fallback = fallback;
525
+ return color;
526
+ }
527
+ function parseDrawingColorList(container) {
528
+ if (!container) return [];
529
+ return elements(container).flatMap((element) => {
530
+ const color = parseDrawingColor(element);
531
+ return color ? [color] : [];
532
+ });
533
+ }
534
+ var PRESET_COLORS = {
535
+ black: "#000000",
536
+ white: "#FFFFFF",
537
+ red: "#FF0000",
538
+ green: "#008000",
539
+ blue: "#0000FF",
540
+ yellow: "#FFFF00",
541
+ gray: "#808080",
542
+ grey: "#808080"
543
+ };
544
+ function baseHex(color, theme) {
545
+ switch (color.kind) {
546
+ case "srgb":
547
+ return /^[0-9a-f]{6}$/i.test(color.value) ? `#${color.value.toUpperCase()}` : void 0;
548
+ case "scheme":
549
+ return theme?.scheme(color.value);
550
+ case "system":
551
+ return color.fallback && /^[0-9a-f]{6}$/i.test(color.fallback) ? `#${color.fallback.toUpperCase()}` : void 0;
552
+ case "preset":
553
+ return PRESET_COLORS[color.value];
554
+ case "scrgb": {
555
+ const [r, g, b] = color.value.split(",").map((part) => parseDrawingFraction(part));
556
+ if (r === void 0 || g === void 0 || b === void 0) return void 0;
557
+ return `#${toHex(scrgbLinearToSrgb8(r))}${toHex(scrgbLinearToSrgb8(g))}${toHex(scrgbLinearToSrgb8(b))}`;
558
+ }
559
+ case "hsl": {
560
+ const [h, s, l] = color.value.split(",");
561
+ const hue = parseDrawingHueDegrees(h);
562
+ const sat = parseDrawingFraction(s);
563
+ const lum = parseDrawingFraction(l);
564
+ if (hue === void 0 || sat === void 0 || lum === void 0) return void 0;
565
+ const { r, g, b } = hslToRgb(hue, sat, lum);
566
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
567
+ }
568
+ }
569
+ }
570
+ var APPLIED = /* @__PURE__ */ new Set([
571
+ "alpha",
572
+ "alphaMod",
573
+ "alphaOff",
574
+ "comp",
575
+ "inv",
576
+ "gray",
577
+ "shade",
578
+ "tint",
579
+ "hue",
580
+ "hueMod",
581
+ "hueOff",
582
+ "sat",
583
+ "satMod",
584
+ "satOff",
585
+ "lum",
586
+ "lumMod",
587
+ "lumOff"
588
+ ]);
589
+ function resolveDrawingColor(color, theme) {
590
+ const base = baseHex(color, theme);
591
+ const rgb = base ? hexToRgbChannels(base) : null;
592
+ if (!rgb) return void 0;
593
+ let { r, g, b } = rgb;
594
+ const find = (name) => color.transforms.find((entry) => entry.name === name)?.value;
595
+ const has = (name) => color.transforms.some((entry) => entry.name === name);
596
+ if (has("comp")) {
597
+ const hsl = rgbToHsl(r, g, b);
598
+ ({ r, g, b } = hslToRgb((hsl.h + 180) % 360, hsl.s, hsl.l));
599
+ }
600
+ if (has("inv")) [r, g, b] = [255 - r, 255 - g, 255 - b];
601
+ if (has("gray")) r = g = b = Math.round(0.299 * r + 0.587 * g + 0.114 * b);
602
+ const shade = parseDrawingPercent(find("shade"));
603
+ if (shade !== void 0) {
604
+ r = linearToSrgb255(srgb255ToLinear(r) * shade);
605
+ g = linearToSrgb255(srgb255ToLinear(g) * shade);
606
+ b = linearToSrgb255(srgb255ToLinear(b) * shade);
607
+ }
608
+ const tint = parseDrawingPercent(find("tint"));
609
+ if (tint !== void 0) {
610
+ r = linearToSrgb255(1 - (1 - srgb255ToLinear(r)) * tint);
611
+ g = linearToSrgb255(1 - (1 - srgb255ToLinear(g)) * tint);
612
+ b = linearToSrgb255(1 - (1 - srgb255ToLinear(b)) * tint);
613
+ }
614
+ if (["hue", "hueMod", "hueOff", "sat", "satMod", "satOff", "lum", "lumMod", "lumOff"].some(has)) {
615
+ const hsl = rgbToHsl(r, g, b);
616
+ const wrap = (degrees) => (degrees % 360 + 360) % 360;
617
+ const hueAbs = parseDrawingHueDegrees(find("hue"));
618
+ if (hueAbs !== void 0) hsl.h = wrap(hueAbs);
619
+ const hueMod = parseDrawingFraction(find("hueMod"));
620
+ if (hueMod !== void 0) hsl.h = wrap(hsl.h * hueMod);
621
+ const hueOff = parseDrawingHueDegrees(find("hueOff"));
622
+ if (hueOff !== void 0) hsl.h = wrap(hsl.h + hueOff);
623
+ const satAbs = parseDrawingFraction(find("sat"));
624
+ if (satAbs !== void 0) hsl.s = clampUnitInterval(satAbs);
625
+ const satMod = parseDrawingFraction(find("satMod"));
626
+ if (satMod !== void 0) hsl.s = clampUnitInterval(hsl.s * satMod);
627
+ const satOff = parseDrawingFraction(find("satOff"));
628
+ if (satOff !== void 0) hsl.s = clampUnitInterval(hsl.s + satOff);
629
+ const lumAbs = parseDrawingFraction(find("lum"));
630
+ if (lumAbs !== void 0) hsl.l = clampUnitInterval(lumAbs);
631
+ const lumMod = parseDrawingFraction(find("lumMod"));
632
+ if (lumMod !== void 0) hsl.l = clampUnitInterval(hsl.l * lumMod);
633
+ const lumOff = parseDrawingFraction(find("lumOff"));
634
+ if (lumOff !== void 0) hsl.l = clampUnitInterval(hsl.l + lumOff);
635
+ ({ r, g, b } = hslToRgb(hsl.h, hsl.s, hsl.l));
636
+ }
637
+ let alpha = parseDrawingPercent(find("alpha")) ?? 1;
638
+ const alphaMod = parseDrawingFraction(find("alphaMod"));
639
+ if (alphaMod !== void 0) alpha = clampUnitInterval(alpha * alphaMod);
640
+ const alphaOff = parseDrawingFraction(find("alphaOff"));
641
+ if (alphaOff !== void 0) alpha = clampUnitInterval(alpha + alphaOff);
642
+ return {
643
+ hex: `#${toHex(r)}${toHex(g)}${toHex(b)}`,
644
+ alpha,
645
+ unapplied: [...new Set(color.transforms.map((entry) => entry.name))].filter(
646
+ (name) => !APPLIED.has(name)
647
+ )
648
+ };
649
+ }
650
+
651
+ // src/diagram/definitions.ts
652
+ var rootOf = (source) => (typeof source === "string" ? parseXml(source, { label: "DiagramML" }) : source).documentElement;
653
+ function parseDefinitionHeader(root) {
654
+ const header = {
655
+ uniqueId: stringAttribute(root, "uniqueId") ?? "",
656
+ categories: children(first(root, "catLst", NS.dgm) ?? root, "cat", NS.dgm).flatMap((cat) => {
657
+ const type = stringAttribute(cat, "type");
658
+ const priority = Number.parseInt(cat.getAttribute("pri") ?? "", 10);
659
+ return type ? [{ type, ...Number.isFinite(priority) ? { priority } : {} }] : [];
660
+ })
661
+ };
662
+ const title = stringAttribute(first(root, "title", NS.dgm), "val");
663
+ const description = stringAttribute(first(root, "desc", NS.dgm), "val");
664
+ if (title) header.title = title;
665
+ if (description) header.description = description;
666
+ return header;
667
+ }
668
+ function colorList(container) {
669
+ const method = stringAttribute(container, "meth");
670
+ return { ...method ? { method } : {}, colors: parseDrawingColorList(container) };
671
+ }
672
+ function parseDiagramColors(source) {
673
+ const root = rootOf(source);
674
+ const labels = children(root, "styleLbl", NS.dgm).map((label) => ({
675
+ name: stringAttribute(label, "name") ?? "",
676
+ fill: colorList(first(label, "fillClrLst", NS.dgm)),
677
+ line: colorList(first(label, "linClrLst", NS.dgm)),
678
+ effect: colorList(first(label, "effectClrLst", NS.dgm)),
679
+ textLine: colorList(first(label, "txLinClrLst", NS.dgm)),
680
+ textFill: colorList(first(label, "txFillClrLst", NS.dgm)),
681
+ textEffect: colorList(first(label, "txEffectClrLst", NS.dgm))
682
+ }));
683
+ return { ...parseDefinitionHeader(root), labels };
684
+ }
685
+ function styleRef(element) {
686
+ if (!element) return void 0;
687
+ const raw = element.getAttribute("idx");
688
+ const ref = {};
689
+ if (element.localName === "fontRef") {
690
+ if (raw) ref.fontIndex = raw;
691
+ } else {
692
+ const index = Number.parseInt(raw ?? "", 10);
693
+ if (Number.isFinite(index)) ref.index = index;
694
+ }
695
+ const color = parseDrawingColorIn(element);
696
+ if (color) ref.color = color;
697
+ return ref;
698
+ }
699
+ function parseStyleReferences(style) {
700
+ const refs = {};
701
+ const line = styleRef(first(style, "lnRef", NS.a));
702
+ const fill = styleRef(first(style, "fillRef", NS.a));
703
+ const effect = styleRef(first(style, "effectRef", NS.a));
704
+ const font = styleRef(first(style, "fontRef", NS.a));
705
+ if (line) refs.line = line;
706
+ if (fill) refs.fill = fill;
707
+ if (effect) refs.effect = effect;
708
+ if (font) refs.font = font;
709
+ return refs;
710
+ }
711
+ var hasContent = (element) => Boolean(element && (element.attributes.length > 0 || elements(element).length > 0));
712
+ function parseDiagramQuickStyle(source) {
713
+ const root = rootOf(source);
714
+ const labels = children(root, "styleLbl", NS.dgm).map((label) => ({
715
+ name: stringAttribute(label, "name") ?? "",
716
+ ...parseStyleReferences(first(label, "style", NS.dgm)),
717
+ hasScene3d: Boolean(first(label, "scene3d", NS.dgm)),
718
+ hasShape3d: hasContent(first(label, "sp3d", NS.dgm))
719
+ }));
720
+ return {
721
+ ...parseDefinitionHeader(root),
722
+ labels,
723
+ has3d: labels.some((label) => label.hasShape3d)
724
+ };
725
+ }
726
+ function parseDiagramLayoutSummary(source) {
727
+ const root = rootOf(source);
728
+ const header = parseDefinitionHeader(root);
729
+ const family = resolveDiagramLayoutCategory(
730
+ header.uniqueId,
731
+ header.categories.map((category) => category.type)
732
+ );
733
+ const rootNode = first(root, "layoutNode", NS.dgm);
734
+ const rootAlgorithm = stringAttribute(first(rootNode, "alg", NS.dgm), "type");
735
+ return {
736
+ ...header,
737
+ ...family ? { family } : {},
738
+ ...rootAlgorithm ? { rootAlgorithm } : {},
739
+ layoutNodeCount: descendants(root, "layoutNode").length
740
+ };
741
+ }
742
+
743
+ // src/diagram/drawing-fill.ts
744
+ var FILL_ELEMENTS = /* @__PURE__ */ new Set([
745
+ "noFill",
746
+ "solidFill",
747
+ "gradFill",
748
+ "pattFill",
749
+ "blipFill",
750
+ "grpFill"
751
+ ]);
752
+ function fillElementOf(properties) {
753
+ return properties ? elements(properties).find(
754
+ (element) => FILL_ELEMENTS.has(element.localName) && (!element.namespaceURI || element.namespaceURI === NS.a)
755
+ ) : void 0;
756
+ }
757
+ function parseDrawingFill(properties) {
758
+ const fill = fillElementOf(properties);
759
+ if (!fill) return void 0;
760
+ switch (fill.localName) {
761
+ case "noFill":
762
+ return { kind: "none" };
763
+ case "solidFill": {
764
+ const color = parseDrawingColorIn(fill);
765
+ return color ? { kind: "solid", color } : { kind: "unsupported", element: "solidFill" };
766
+ }
767
+ case "gradFill": {
768
+ const stops = children(first(fill, "gsLst", NS.a) ?? fill, "gs", NS.a).flatMap((stop) => {
769
+ const color = parseDrawingColorIn(stop);
770
+ const position = Number.parseInt(stop.getAttribute("pos") ?? "", 10);
771
+ return color && Number.isFinite(position) ? [{ position: position / 1e3, color }] : [];
772
+ });
773
+ const angle = Number.parseInt(first(fill, "lin", NS.a)?.getAttribute("ang") ?? "", 10);
774
+ const path = first(fill, "path", NS.a)?.getAttribute("path");
775
+ return {
776
+ kind: "gradient",
777
+ stops,
778
+ ...Number.isFinite(angle) ? { angle: angle / 6e4 } : {},
779
+ ...path ? { path } : {}
780
+ };
781
+ }
782
+ case "pattFill": {
783
+ const foreground = parseDrawingColorIn(first(fill, "fgClr", NS.a));
784
+ const background = parseDrawingColorIn(first(fill, "bgClr", NS.a));
785
+ return {
786
+ kind: "pattern",
787
+ preset: fill.getAttribute("prst") ?? "",
788
+ ...foreground ? { foreground } : {},
789
+ ...background ? { background } : {}
790
+ };
791
+ }
792
+ case "blipFill": {
793
+ const blip = first(fill, "blip", NS.a);
794
+ const relId = blip?.getAttributeNS(NS.r, "embed") || blip?.getAttribute("r:embed") || void 0;
795
+ return { kind: "picture", ...relId ? { relId } : {} };
796
+ }
797
+ default:
798
+ return { kind: "unsupported", element: fill.localName };
799
+ }
800
+ }
801
+ function parseDrawingLine(ln) {
802
+ if (!ln) return void 0;
803
+ const line = {};
804
+ const width = Number.parseInt(ln.getAttribute("w") ?? "", 10);
805
+ if (Number.isFinite(width)) line.widthEmu = width;
806
+ const fill = parseDrawingFill(ln);
807
+ if (fill) line.fill = fill;
808
+ const dash = first(ln, "prstDash", NS.a)?.getAttribute("val");
809
+ if (dash) line.dash = dash;
810
+ const cap = ln.getAttribute("cap");
811
+ if (cap) line.cap = cap;
812
+ return line;
813
+ }
814
+
815
+ // src/diagram/drawing-text.ts
816
+ function parseRun(run) {
817
+ const properties = first(run, "rPr", NS.a);
818
+ const parsed = { text: first(run, "t", NS.a)?.textContent ?? "" };
819
+ const size = Number.parseInt(properties?.getAttribute("sz") ?? "", 10);
820
+ if (Number.isFinite(size)) parsed.sizePt = size / 100;
821
+ const bold = booleanAttribute(properties, "b");
822
+ if (bold !== void 0) parsed.bold = bold;
823
+ const italic = booleanAttribute(properties, "i");
824
+ if (italic !== void 0) parsed.italic = italic;
825
+ const underline = properties?.getAttribute("u");
826
+ if (underline) parsed.underline = underline !== "none";
827
+ const color = parseDrawingColorIn(first(properties, "solidFill", NS.a));
828
+ if (color) parsed.color = color;
829
+ const typeface = first(properties, "latin", NS.a)?.getAttribute("typeface");
830
+ if (typeface) parsed.typeface = typeface;
831
+ return parsed;
832
+ }
833
+ function parseParagraph(paragraph) {
834
+ const runs = [];
835
+ for (const child of children(paragraph, "r", NS.a)) runs.push(parseRun(child));
836
+ for (const field of children(paragraph, "fld", NS.a)) runs.push(parseRun(field));
837
+ const align = first(paragraph, "pPr", NS.a)?.getAttribute("algn");
838
+ return { ...align ? { align } : {}, runs };
839
+ }
840
+ function parseDrawingTextBody(body) {
841
+ if (!body) return void 0;
842
+ const properties = first(body, "bodyPr", NS.a);
843
+ const paragraphs = children(body, "p", NS.a).map(parseParagraph);
844
+ const result = {
845
+ paragraphs,
846
+ text: paragraphs.map((paragraph) => paragraph.runs.map((run) => run.text).join("")).join("\n")
847
+ };
848
+ const anchor = properties?.getAttribute("anchor");
849
+ if (anchor) result.anchor = anchor;
850
+ const insets = {};
851
+ for (const [key, attribute] of [
852
+ ["left", "lIns"],
853
+ ["top", "tIns"],
854
+ ["right", "rIns"],
855
+ ["bottom", "bIns"]
856
+ ]) {
857
+ const value = Number.parseInt(properties?.getAttribute(attribute) ?? "", 10);
858
+ if (Number.isFinite(value)) insets[key] = value;
859
+ }
860
+ if (Object.keys(insets).length > 0) result.insetsEmu = insets;
861
+ return result;
862
+ }
863
+
864
+ // src/diagram/drawing-geometry.ts
865
+ var int = (element, name) => Number.parseInt(element?.getAttribute(name) ?? "", 10);
866
+ function parseFrame(container) {
867
+ const off = first(container, "off", NS.a);
868
+ const ext = first(container, "ext", NS.a);
869
+ if (!off || !ext) return void 0;
870
+ return {
871
+ x: int(off, "x") || 0,
872
+ y: int(off, "y") || 0,
873
+ width: int(ext, "cx") || 0,
874
+ height: int(ext, "cy") || 0
875
+ };
876
+ }
877
+ function parseTransform(xfrm) {
878
+ const frame = parseFrame(xfrm);
879
+ if (!frame || !xfrm) return void 0;
880
+ const rot = int(xfrm, "rot");
881
+ return {
882
+ frame,
883
+ ...Number.isFinite(rot) && rot !== 0 ? { rotation: rot / 6e4 } : {},
884
+ ...booleanAttribute(xfrm, "flipH") ? { flipHorizontal: true } : {},
885
+ ...booleanAttribute(xfrm, "flipV") ? { flipVertical: true } : {}
886
+ };
887
+ }
888
+ function parsePathCommands(path) {
889
+ const commands = [];
890
+ const point = (element) => {
891
+ const x = int(element, "x");
892
+ const y = int(element, "y");
893
+ return Number.isFinite(x) && Number.isFinite(y) ? { x, y } : void 0;
894
+ };
895
+ for (const element of Array.from(path.childNodes)) {
896
+ if (element.nodeType !== 1) continue;
897
+ const node = element;
898
+ const points = children(node, "pt", NS.a).map(point);
899
+ if (points.some((entry) => entry === void 0)) return void 0;
900
+ const [p0, p1, p2] = points;
901
+ switch (node.localName) {
902
+ case "moveTo":
903
+ case "lnTo":
904
+ if (!p0) return void 0;
905
+ commands.push({ op: node.localName === "moveTo" ? "M" : "L", ...p0 });
906
+ break;
907
+ case "cubicBezTo":
908
+ if (!p0 || !p1 || !p2) return void 0;
909
+ commands.push({ op: "C", x1: p0.x, y1: p0.y, x2: p1.x, y2: p1.y, x: p2.x, y: p2.y });
910
+ break;
911
+ case "quadBezTo":
912
+ if (!p0 || !p1) return void 0;
913
+ commands.push({ op: "Q", x1: p0.x, y1: p0.y, x: p1.x, y: p1.y });
914
+ break;
915
+ case "arcTo": {
916
+ const wR = int(node, "wR");
917
+ const hR = int(node, "hR");
918
+ const startAngle = int(node, "stAng");
919
+ const swingAngle = int(node, "swAng");
920
+ if (![wR, hR, startAngle, swingAngle].every(Number.isFinite)) return void 0;
921
+ commands.push({
922
+ op: "A",
923
+ wR,
924
+ hR,
925
+ startAngle: startAngle / 6e4,
926
+ swingAngle: swingAngle / 6e4
927
+ });
928
+ break;
929
+ }
930
+ case "close":
931
+ commands.push({ op: "Z" });
932
+ break;
933
+ }
934
+ }
935
+ return commands;
936
+ }
937
+ function parseDrawingGeometry(spPr) {
938
+ const preset = first(spPr, "prstGeom", NS.a);
939
+ const custom = first(spPr, "custGeom", NS.a);
940
+ if (custom) {
941
+ const paths = [];
942
+ for (const path of children(first(custom, "pathLst", NS.a) ?? custom, "path", NS.a)) {
943
+ const commands = parsePathCommands(path);
944
+ if (!commands) return { geometry: "custom", issue: "CUSTOM_GEOMETRY_GUIDES_UNSUPPORTED" };
945
+ const width = int(path, "w");
946
+ const height = int(path, "h");
947
+ paths.push({
948
+ commands,
949
+ ...Number.isFinite(width) ? { width } : {},
950
+ ...Number.isFinite(height) ? { height } : {},
951
+ ...path.getAttribute("fill") ? { fill: path.getAttribute("fill") } : {},
952
+ ...path.getAttribute("stroke") === "0" || path.getAttribute("stroke") === "false" ? { stroke: false } : {}
953
+ });
954
+ }
955
+ return { geometry: "custom", paths };
956
+ }
957
+ const geometry = preset?.getAttribute("prst") || "rect";
958
+ const adjustments = {};
959
+ const avLst = first(preset, "avLst", NS.a);
960
+ if (avLst)
961
+ for (const guide of children(avLst, "gd", NS.a)) {
962
+ const name = guide.getAttribute("name");
963
+ const match = /^val\s+(-?\d+)/u.exec(guide.getAttribute("fmla") ?? "");
964
+ if (name && match?.[1]) adjustments[name] = Number.parseInt(match[1], 10);
965
+ }
966
+ return { geometry, ...Object.keys(adjustments).length > 0 ? { adjustments } : {} };
967
+ }
968
+
969
+ // src/diagram/drawing.ts
970
+ var IDENTITY = { offsetX: 0, offsetY: 0, scaleX: 1, scaleY: 1 };
971
+ function applyGroup(frame, group) {
972
+ return {
973
+ x: Math.round(group.offsetX + frame.x * group.scaleX),
974
+ y: Math.round(group.offsetY + frame.y * group.scaleY),
975
+ width: Math.round(frame.width * group.scaleX),
976
+ height: Math.round(frame.height * group.scaleY)
977
+ };
978
+ }
979
+ function groupTransform(group, parent) {
980
+ const xfrm = first(first(group, "grpSpPr", NS.dsp), "xfrm", NS.a);
981
+ const off = first(xfrm, "off", NS.a);
982
+ const ext = first(xfrm, "ext", NS.a);
983
+ const chOff = first(xfrm, "chOff", NS.a);
984
+ const chExt = first(xfrm, "chExt", NS.a);
985
+ const num = (element, name) => Number.parseInt(element?.getAttribute(name) ?? "", 10);
986
+ const cx = num(ext, "cx");
987
+ const cy = num(ext, "cy");
988
+ const chCx = num(chExt, "cx");
989
+ const chCy = num(chExt, "cy");
990
+ if (!off || ![cx, cy, chCx, chCy].every(Number.isFinite) || chCx === 0 || chCy === 0)
991
+ return parent;
992
+ const scaleX = cx / chCx;
993
+ const scaleY = cy / chCy;
994
+ const local = {
995
+ offsetX: num(off, "x") - (num(chOff, "x") || 0) * scaleX,
996
+ offsetY: num(off, "y") - (num(chOff, "y") || 0) * scaleY,
997
+ scaleX,
998
+ scaleY
999
+ };
1000
+ return {
1001
+ offsetX: parent.offsetX + local.offsetX * parent.scaleX,
1002
+ offsetY: parent.offsetY + local.offsetY * parent.scaleY,
1003
+ scaleX: parent.scaleX * local.scaleX,
1004
+ scaleY: parent.scaleY * local.scaleY
1005
+ };
1006
+ }
1007
+ function parseShape(sp, index, group, issues) {
1008
+ const spPr = first(sp, "spPr", NS.dsp);
1009
+ const transform = parseTransform(first(spPr, "xfrm", NS.a));
1010
+ if (!transform) return void 0;
1011
+ const modelId = stringAttribute(sp, "modelId") ?? stringAttribute(first(first(sp, "nvSpPr", NS.dsp), "cNvPr", NS.dsp), "id") ?? `dsp-${index}`;
1012
+ const { geometry, adjustments, paths, issue } = parseDrawingGeometry(spPr);
1013
+ if (issue) issues.push({ code: issue, message: `Shape ${modelId}: ${issue}.` });
1014
+ const frame = applyGroup(transform.frame, group);
1015
+ if ((frame.width <= 0 || frame.height <= 0) && geometry !== "line") return void 0;
1016
+ const shape = {
1017
+ modelId,
1018
+ frame,
1019
+ geometry,
1020
+ has3d: Boolean(first(spPr, "scene3d", NS.a) || first(spPr, "sp3d", NS.a))
1021
+ };
1022
+ if (transform.rotation !== void 0) shape.rotation = transform.rotation;
1023
+ if (transform.flipHorizontal) shape.flipHorizontal = true;
1024
+ if (transform.flipVertical) shape.flipVertical = true;
1025
+ if (adjustments) shape.adjustments = adjustments;
1026
+ if (paths) shape.paths = paths;
1027
+ const fill = parseDrawingFill(spPr);
1028
+ if (fill) shape.fill = fill;
1029
+ const line = parseDrawingLine(first(spPr, "ln", NS.a));
1030
+ if (line) shape.line = line;
1031
+ const style = first(sp, "style", NS.dsp);
1032
+ if (style) shape.style = parseStyleReferences(style);
1033
+ const text = parseDrawingTextBody(first(sp, "txBody", NS.dsp));
1034
+ if (text) shape.text = text;
1035
+ const textFrame = parseFrame(first(sp, "txXfrm", NS.dsp));
1036
+ if (textFrame) shape.textFrame = applyGroup(textFrame, group);
1037
+ return shape;
1038
+ }
1039
+ function parseDiagramDrawing(source, part) {
1040
+ const root = (typeof source === "string" ? parseXml(source, { label: "DiagramML" }) : source).documentElement;
1041
+ const issues = [];
1042
+ const shapes = [];
1043
+ const tree = root.localName === "spTree" ? root : first(root, "spTree", NS.dsp);
1044
+ let counter = 0;
1045
+ const visit = (container, group) => {
1046
+ for (const child of Array.from(container.childNodes)) {
1047
+ if (child.nodeType !== 1) continue;
1048
+ const element = child;
1049
+ if (element.localName === "sp") {
1050
+ const shape = parseShape(element, counter++, group, issues);
1051
+ if (shape) shapes.push(shape);
1052
+ } else if (element.localName === "grpSp") visit(element, groupTransform(element, group));
1053
+ else if (element.localName === "pic")
1054
+ issues.push({
1055
+ code: "DIAGRAM_DRAWING_PICTURE_SKIPPED",
1056
+ message: "A dsp:pic in the cached drawing is not modelled; the part still holds it."
1057
+ });
1058
+ }
1059
+ };
1060
+ if (tree) visit(tree, IDENTITY);
1061
+ else
1062
+ issues.push({ code: "DIAGRAM_DRAWING_EMPTY", message: "The drawing part has no dsp:spTree." });
1063
+ const withPart = part ? issues.map((issue) => ({ ...issue, part })) : issues;
1064
+ return { shapes, issues: withPart };
1065
+ }
1066
+ var drawingHas3d = (drawing) => drawing.shapes.some((shape) => shape.has3d);
1067
+
1068
+ // src/diagram/load.ts
1069
+ var slot = [
1070
+ ["data", "dataRelId"],
1071
+ ["layout", "layoutRelId"],
1072
+ ["quickStyle", "styleRelId"],
1073
+ ["colors", "colorsRelId"]
1074
+ ];
1075
+ async function loadDiagram(hostPart, relationshipIds, host) {
1076
+ const issues = [];
1077
+ const paths = {};
1078
+ const hostRels = host.hostRelationships(hostPart);
1079
+ for (const [name, key] of slot) {
1080
+ const relId = relationshipIds[key];
1081
+ if (!relId) {
1082
+ issues.push({
1083
+ code: "DIAGRAM_RELATIONSHIP_MISSING",
1084
+ message: `The diagram has no ${name} relationship id.`
1085
+ });
1086
+ continue;
1087
+ }
1088
+ const target = hostRels?.get(relId);
1089
+ if (target === void 0)
1090
+ issues.push({
1091
+ code: "DIAGRAM_RELATIONSHIP_UNRESOLVED",
1092
+ message: `Relationship ${relId} (${name}) is not in ${hostPart}.`
1093
+ });
1094
+ else paths[name] = host.resolvePath(hostPart, target);
1095
+ }
1096
+ const read = async (name, parse) => {
1097
+ const part = paths[name];
1098
+ if (!part) return void 0;
1099
+ try {
1100
+ const xml = await host.readText(part);
1101
+ if (xml === void 0) {
1102
+ issues.push({
1103
+ code: "DIAGRAM_PART_MISSING",
1104
+ message: `Part ${part} is not in the package.`,
1105
+ part
1106
+ });
1107
+ return void 0;
1108
+ }
1109
+ return parse(xml, part);
1110
+ } catch (error) {
1111
+ issues.push({
1112
+ code: "DIAGRAM_PART_UNREADABLE",
1113
+ message: `Part ${part} could not be parsed: ${error instanceof Error ? error.message : String(error)}`,
1114
+ part
1115
+ });
1116
+ return void 0;
1117
+ }
1118
+ };
1119
+ const data = await read("data", (xml, part) => parseDiagramDataModel(xml, part));
1120
+ if (data) issues.push(...data.issues);
1121
+ const layout = await read("layout", (xml) => parseDiagramLayoutSummary(xml));
1122
+ const colors = await read("colors", (xml) => parseDiagramColors(xml));
1123
+ const quickStyle = await read("quickStyle", (xml) => parseDiagramQuickStyle(xml));
1124
+ let drawingResolution;
1125
+ try {
1126
+ drawingResolution = await resolveDiagramDrawingPart(
1127
+ hostPart,
1128
+ relationshipIds.dataRelId ?? "",
1129
+ data?.drawingRelId ?? "",
1130
+ host
1131
+ );
1132
+ } catch (error) {
1133
+ issues.push({
1134
+ code: "DIAGRAM_DRAWING_UNRESOLVED",
1135
+ message: `The cached drawing could not be located: ${error instanceof Error ? error.message : String(error)}`
1136
+ });
1137
+ }
1138
+ let drawing;
1139
+ if (drawingResolution) {
1140
+ paths.drawing = drawingResolution.path;
1141
+ drawing = await read("drawing", (xml, part) => parseDiagramDrawing(xml, part));
1142
+ if (drawing) issues.push(...drawing.issues);
1143
+ } else if (data)
1144
+ issues.push({
1145
+ code: "DIAGRAM_DRAWING_ABSENT",
1146
+ message: "The package has no cached drawing for this diagram; its layout can only be recomputed from the layout definition."
1147
+ });
1148
+ return {
1149
+ relationshipIds,
1150
+ paths,
1151
+ ...drawingResolution ? { drawingRelId: drawingResolution.relId } : {},
1152
+ ...data ? { data } : {},
1153
+ ...layout ? { layout } : {},
1154
+ ...colors ? { colors } : {},
1155
+ ...quickStyle ? { quickStyle } : {},
1156
+ ...drawing ? { drawing } : {},
1157
+ issues
1158
+ };
1159
+ }
1160
+
1161
+ export { DIAGRAM_RELATIONSHIP_TYPES, attributeReader, collectTransitionText, connectionLabel, diagramRelationshipsPart, drawingHas3d, fillElementOf, loadDiagram, parseConnectionAttributes, parseCustomLayoutAttributes, parseDefinitionHeader, parseDiagramColors, parseDiagramDataModel, parseDiagramDrawing, parseDiagramLayoutSummary, parseDiagramQuickStyle, parseDrawingColor, parseDrawingColorIn, parseDrawingColorList, parseDrawingFill, parseDrawingGeometry, parseDrawingLine, parseDrawingTextBody, parseFrame, parseRelationshipIdAttributes, parseStyleReferences, parseTransform, resolveDiagramDrawingPart, resolveDiagramLayoutCategory, resolveDrawingColor, textBodyParagraphs };