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