ooxml-core 1.5.0 → 1.6.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 (303) hide show
  1. package/dist/{PptxHandler-ZPJNHEZZ.mjs → PptxHandler-DDEJ6CKU.mjs} +2 -2
  2. package/dist/automation/index.cjs +15757 -8955
  3. package/dist/automation/index.mjs +15757 -8955
  4. package/dist/{chunk-XGLKW3JJ.mjs → chunk-5L4DHJV3.mjs} +23 -3
  5. package/dist/{chunk-IVDC75E5.mjs → chunk-EPNLABIU.mjs} +1 -1
  6. package/dist/{chunk-BB55ASTX.mjs → chunk-Q52O7SXQ.mjs} +3 -3
  7. package/dist/{chunk-QPQDLSJQ.mjs → chunk-QXZJOUW4.mjs} +1 -1
  8. package/dist/{chunk-H4TPDZV4.mjs → chunk-UQQGC6O3.mjs} +1 -1
  9. package/dist/drawingml/index.cjs +102 -24
  10. package/dist/drawingml/index.d.ts +1 -0
  11. package/dist/drawingml/index.d.ts.map +1 -1
  12. package/dist/drawingml/index.mjs +102 -25
  13. package/dist/drawingml/write-theme.d.ts +17 -0
  14. package/dist/drawingml/write-theme.d.ts.map +1 -0
  15. package/dist/geometry/auto-align.d.ts +32 -0
  16. package/dist/geometry/auto-align.d.ts.map +1 -0
  17. package/dist/geometry/graph-layout.d.ts +37 -0
  18. package/dist/geometry/graph-layout.d.ts.map +1 -0
  19. package/dist/geometry/index.cjs +361 -7
  20. package/dist/geometry/index.d.ts +2 -0
  21. package/dist/geometry/index.d.ts.map +1 -1
  22. package/dist/geometry/index.mjs +359 -8
  23. package/dist/index.cjs +624 -122
  24. package/dist/index.mjs +624 -122
  25. package/dist/pptx/automation/index.cjs +23 -2
  26. package/dist/pptx/automation/index.mjs +5 -5
  27. package/dist/pptx/cli/index.cjs +23 -2
  28. package/dist/pptx/cli/index.mjs +4 -4
  29. package/dist/pptx/converter/index.mjs +2 -2
  30. package/dist/pptx/index.cjs +23 -2
  31. package/dist/pptx/index.mjs +5 -5
  32. package/dist/text/change-case.d.ts +20 -0
  33. package/dist/text/change-case.d.ts.map +1 -0
  34. package/dist/text/index.cjs +70 -0
  35. package/dist/text/index.d.ts +1 -0
  36. package/dist/text/index.d.ts.map +1 -1
  37. package/dist/text/index.mjs +68 -1
  38. package/dist/visio/arrow-shapes.d.ts +16 -0
  39. package/dist/visio/arrow-shapes.d.ts.map +1 -0
  40. package/dist/visio/basic-shapes.d.ts +2 -0
  41. package/dist/visio/basic-shapes.d.ts.map +1 -1
  42. package/dist/visio/comments.d.ts +39 -0
  43. package/dist/visio/comments.d.ts.map +1 -0
  44. package/dist/visio/connector-route.d.ts +31 -0
  45. package/dist/visio/connector-route.d.ts.map +1 -0
  46. package/dist/visio/data-recordsets.d.ts +66 -0
  47. package/dist/visio/data-recordsets.d.ts.map +1 -0
  48. package/dist/visio/edit-change-shape-commands.d.ts +17 -0
  49. package/dist/visio/edit-change-shape-commands.d.ts.map +1 -0
  50. package/dist/visio/edit-change-shape.d.ts +4 -0
  51. package/dist/visio/edit-change-shape.d.ts.map +1 -0
  52. package/dist/visio/edit-commands.d.ts +41 -6
  53. package/dist/visio/edit-commands.d.ts.map +1 -1
  54. package/dist/visio/edit-comment-commands.d.ts +32 -0
  55. package/dist/visio/edit-comment-commands.d.ts.map +1 -0
  56. package/dist/visio/edit-comments.d.ts +7 -0
  57. package/dist/visio/edit-comments.d.ts.map +1 -0
  58. package/dist/visio/edit-connection-points.d.ts +19 -0
  59. package/dist/visio/edit-connection-points.d.ts.map +1 -0
  60. package/dist/visio/edit-connector-commands.d.ts +57 -0
  61. package/dist/visio/edit-connector-commands.d.ts.map +1 -0
  62. package/dist/visio/edit-connector-glue.d.ts +43 -0
  63. package/dist/visio/edit-connector-glue.d.ts.map +1 -0
  64. package/dist/visio/edit-connector-layout.d.ts +37 -0
  65. package/dist/visio/edit-connector-layout.d.ts.map +1 -0
  66. package/dist/visio/edit-connector-reroute.d.ts +30 -0
  67. package/dist/visio/edit-connector-reroute.d.ts.map +1 -0
  68. package/dist/visio/edit-connector.d.ts +42 -0
  69. package/dist/visio/edit-connector.d.ts.map +1 -0
  70. package/dist/visio/edit-data-commands.d.ts +49 -0
  71. package/dist/visio/edit-data-commands.d.ts.map +1 -0
  72. package/dist/visio/edit-data-parts.d.ts +34 -0
  73. package/dist/visio/edit-data-parts.d.ts.map +1 -0
  74. package/dist/visio/edit-data.d.ts +8 -0
  75. package/dist/visio/edit-data.d.ts.map +1 -0
  76. package/dist/visio/edit-delete.d.ts.map +1 -1
  77. package/dist/visio/edit-diagram-parts-commands.d.ts +55 -0
  78. package/dist/visio/edit-diagram-parts-commands.d.ts.map +1 -0
  79. package/dist/visio/edit-diagram-parts.d.ts +16 -0
  80. package/dist/visio/edit-diagram-parts.d.ts.map +1 -0
  81. package/dist/visio/edit-ellipse-geometry.d.ts +2 -0
  82. package/dist/visio/edit-ellipse-geometry.d.ts.map +1 -1
  83. package/dist/visio/edit-foreign-bitmap.d.ts +7 -0
  84. package/dist/visio/edit-foreign-bitmap.d.ts.map +1 -0
  85. package/dist/visio/edit-formatting-cell-admission.d.ts +2 -0
  86. package/dist/visio/edit-formatting-cell-admission.d.ts.map +1 -1
  87. package/dist/visio/edit-formatting-commands.d.ts +14 -1
  88. package/dist/visio/edit-formatting-commands.d.ts.map +1 -1
  89. package/dist/visio/edit-formatting-effects.d.ts +50 -0
  90. package/dist/visio/edit-formatting-effects.d.ts.map +1 -0
  91. package/dist/visio/edit-formatting-glow.d.ts +43 -0
  92. package/dist/visio/edit-formatting-glow.d.ts.map +1 -0
  93. package/dist/visio/edit-formatting-paint-scope.d.ts.map +1 -1
  94. package/dist/visio/edit-formatting-paint.d.ts +6 -0
  95. package/dist/visio/edit-formatting-paint.d.ts.map +1 -1
  96. package/dist/visio/edit-formatting-scope.d.ts.map +1 -1
  97. package/dist/visio/edit-formatting-text-commands.d.ts +56 -0
  98. package/dist/visio/edit-formatting-text-commands.d.ts.map +1 -0
  99. package/dist/visio/edit-formatting-text-extra.d.ts +11 -0
  100. package/dist/visio/edit-formatting-text-extra.d.ts.map +1 -0
  101. package/dist/visio/edit-formatting-text.d.ts.map +1 -1
  102. package/dist/visio/edit-formatting-theme-context.d.ts +14 -0
  103. package/dist/visio/edit-formatting-theme-context.d.ts.map +1 -0
  104. package/dist/visio/edit-formatting.d.ts +2 -0
  105. package/dist/visio/edit-formatting.d.ts.map +1 -1
  106. package/dist/visio/edit-geometry-admission.d.ts +1 -1
  107. package/dist/visio/edit-geometry-admission.d.ts.map +1 -1
  108. package/dist/visio/edit-geometry.d.ts.map +1 -1
  109. package/dist/visio/edit-group-commands.d.ts +22 -0
  110. package/dist/visio/edit-group-commands.d.ts.map +1 -0
  111. package/dist/visio/edit-group-rotation.d.ts +7 -1
  112. package/dist/visio/edit-group-rotation.d.ts.map +1 -1
  113. package/dist/visio/edit-group.d.ts +17 -0
  114. package/dist/visio/edit-group.d.ts.map +1 -0
  115. package/dist/visio/edit-guide-commands.d.ts +26 -0
  116. package/dist/visio/edit-guide-commands.d.ts.map +1 -0
  117. package/dist/visio/edit-guides.d.ts +4 -0
  118. package/dist/visio/edit-guides.d.ts.map +1 -0
  119. package/dist/visio/edit-layer-commands.d.ts +20 -0
  120. package/dist/visio/edit-layer-commands.d.ts.map +1 -0
  121. package/dist/visio/edit-layers.d.ts +7 -0
  122. package/dist/visio/edit-layers.d.ts.map +1 -0
  123. package/dist/visio/edit-metadata-commands.d.ts +46 -0
  124. package/dist/visio/edit-metadata-commands.d.ts.map +1 -0
  125. package/dist/visio/edit-metadata.d.ts +4 -0
  126. package/dist/visio/edit-metadata.d.ts.map +1 -0
  127. package/dist/visio/edit-page-auto-size.d.ts +19 -0
  128. package/dist/visio/edit-page-auto-size.d.ts.map +1 -0
  129. package/dist/visio/edit-page-create.d.ts +24 -0
  130. package/dist/visio/edit-page-create.d.ts.map +1 -0
  131. package/dist/visio/edit-page-decoration.d.ts +14 -0
  132. package/dist/visio/edit-page-decoration.d.ts.map +1 -0
  133. package/dist/visio/edit-page-setup-commands.d.ts +57 -0
  134. package/dist/visio/edit-page-setup-commands.d.ts.map +1 -0
  135. package/dist/visio/edit-page-setup.d.ts +13 -0
  136. package/dist/visio/edit-page-setup.d.ts.map +1 -0
  137. package/dist/visio/edit-page-size.d.ts +4 -0
  138. package/dist/visio/edit-page-size.d.ts.map +1 -1
  139. package/dist/visio/edit-page-theme-commands.d.ts +15 -0
  140. package/dist/visio/edit-page-theme-commands.d.ts.map +1 -0
  141. package/dist/visio/edit-page-theme-recolor.d.ts +3 -0
  142. package/dist/visio/edit-page-theme-recolor.d.ts.map +1 -0
  143. package/dist/visio/edit-page-theme.d.ts +10 -0
  144. package/dist/visio/edit-page-theme.d.ts.map +1 -0
  145. package/dist/visio/edit-pages.d.ts.map +1 -1
  146. package/dist/visio/edit-path-commands.d.ts +19 -0
  147. package/dist/visio/edit-path-commands.d.ts.map +1 -0
  148. package/dist/visio/edit-path-create.d.ts +23 -0
  149. package/dist/visio/edit-path-create.d.ts.map +1 -0
  150. package/dist/visio/edit-picture.d.ts +7 -0
  151. package/dist/visio/edit-picture.d.ts.map +1 -0
  152. package/dist/visio/edit-recalculate-index.d.ts +2 -0
  153. package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
  154. package/dist/visio/edit-resize-anchor.d.ts +1 -1
  155. package/dist/visio/edit-resize-anchor.d.ts.map +1 -1
  156. package/dist/visio/edit-scope.d.ts.map +1 -1
  157. package/dist/visio/edit-shape-create.d.ts +8 -0
  158. package/dist/visio/edit-shape-create.d.ts.map +1 -1
  159. package/dist/visio/edit-shape-data-commands.d.ts +34 -0
  160. package/dist/visio/edit-shape-data-commands.d.ts.map +1 -0
  161. package/dist/visio/edit-shape-data.d.ts +22 -0
  162. package/dist/visio/edit-shape-data.d.ts.map +1 -0
  163. package/dist/visio/edit-shape-order.d.ts.map +1 -1
  164. package/dist/visio/edit-subprocess-commands.d.ts +27 -0
  165. package/dist/visio/edit-subprocess-commands.d.ts.map +1 -0
  166. package/dist/visio/edit-subprocess.d.ts +9 -0
  167. package/dist/visio/edit-subprocess.d.ts.map +1 -0
  168. package/dist/visio/edit-text-field-commands.d.ts +21 -0
  169. package/dist/visio/edit-text-field-commands.d.ts.map +1 -0
  170. package/dist/visio/edit-text-field.d.ts +5 -0
  171. package/dist/visio/edit-text-field.d.ts.map +1 -0
  172. package/dist/visio/edit-text-range-plan.d.ts.map +1 -1
  173. package/dist/visio/edit-text-ranges.d.ts.map +1 -1
  174. package/dist/visio/edit-text.d.ts.map +1 -1
  175. package/dist/visio/edit.d.ts +2 -1
  176. package/dist/visio/edit.d.ts.map +1 -1
  177. package/dist/visio/effects.d.ts +13 -0
  178. package/dist/visio/effects.d.ts.map +1 -0
  179. package/dist/visio/formula-evaluate.d.ts.map +1 -1
  180. package/dist/visio/index.cjs +26474 -19318
  181. package/dist/visio/index.d.ts +25 -1
  182. package/dist/visio/index.d.ts.map +1 -1
  183. package/dist/visio/index.mjs +26406 -19319
  184. package/dist/visio/model.d.ts +125 -0
  185. package/dist/visio/model.d.ts.map +1 -1
  186. package/dist/visio/page-decoration.d.ts +66 -0
  187. package/dist/visio/page-decoration.d.ts.map +1 -0
  188. package/dist/visio/page-scale.d.ts.map +1 -1
  189. package/dist/visio/page-setup.d.ts +8 -0
  190. package/dist/visio/page-setup.d.ts.map +1 -0
  191. package/dist/visio/page-theme.d.ts +9 -0
  192. package/dist/visio/page-theme.d.ts.map +1 -0
  193. package/dist/visio/paper-sizes.d.ts +24 -0
  194. package/dist/visio/paper-sizes.d.ts.map +1 -0
  195. package/dist/visio/parser.d.ts.map +1 -1
  196. package/dist/visio/path-fit.d.ts +69 -0
  197. package/dist/visio/path-fit.d.ts.map +1 -0
  198. package/dist/visio/shadow.d.ts +9 -0
  199. package/dist/visio/shadow.d.ts.map +1 -0
  200. package/dist/visio/shape-connections.d.ts +5 -0
  201. package/dist/visio/shape-connections.d.ts.map +1 -0
  202. package/dist/visio/shape-metadata.d.ts +3 -0
  203. package/dist/visio/shape-metadata.d.ts.map +1 -1
  204. package/dist/visio/shape-structure.d.ts +10 -0
  205. package/dist/visio/shape-structure.d.ts.map +1 -0
  206. package/dist/visio/shapes.d.ts.map +1 -1
  207. package/dist/visio/stencil-shapes.d.ts +20 -0
  208. package/dist/visio/stencil-shapes.d.ts.map +1 -0
  209. package/dist/visio/stencils.d.ts +30 -0
  210. package/dist/visio/stencils.d.ts.map +1 -0
  211. package/dist/visio/style.d.ts +3 -0
  212. package/dist/visio/style.d.ts.map +1 -1
  213. package/dist/visio/text-character.d.ts +5 -0
  214. package/dist/visio/text-character.d.ts.map +1 -0
  215. package/dist/visio/text-field-context.d.ts +6 -0
  216. package/dist/visio/text-field-context.d.ts.map +1 -0
  217. package/dist/visio/text-field-display.d.ts +12 -0
  218. package/dist/visio/text-field-display.d.ts.map +1 -0
  219. package/dist/visio/text-fields.d.ts +65 -0
  220. package/dist/visio/text-fields.d.ts.map +1 -0
  221. package/dist/visio/theme-builtins.d.ts +32 -0
  222. package/dist/visio/theme-builtins.d.ts.map +1 -0
  223. package/dist/visio/theme-write.d.ts +4 -0
  224. package/dist/visio/theme-write.d.ts.map +1 -0
  225. package/dist/visio/theme.d.ts +2 -0
  226. package/dist/visio/theme.d.ts.map +1 -1
  227. package/dist/visio/ui/auto-layout.d.ts +38 -0
  228. package/dist/visio/ui/auto-layout.d.ts.map +1 -0
  229. package/dist/visio/ui/change-case.d.ts +12 -0
  230. package/dist/visio/ui/change-case.d.ts.map +1 -0
  231. package/dist/visio/ui/connection-points.d.ts +45 -0
  232. package/dist/visio/ui/connection-points.d.ts.map +1 -0
  233. package/dist/visio/ui/connector-preview.d.ts +24 -0
  234. package/dist/visio/ui/connector-preview.d.ts.map +1 -0
  235. package/dist/visio/ui/data-graphic-rules.d.ts +45 -0
  236. package/dist/visio/ui/data-graphic-rules.d.ts.map +1 -0
  237. package/dist/visio/ui/data-graphics.d.ts +15 -0
  238. package/dist/visio/ui/data-graphics.d.ts.map +1 -0
  239. package/dist/visio/ui/data-table.d.ts +33 -0
  240. package/dist/visio/ui/data-table.d.ts.map +1 -0
  241. package/dist/visio/ui/diagram-check.d.ts +32 -0
  242. package/dist/visio/ui/diagram-check.d.ts.map +1 -0
  243. package/dist/visio/ui/diagram-parts.d.ts +20 -0
  244. package/dist/visio/ui/diagram-parts.d.ts.map +1 -0
  245. package/dist/visio/ui/draw-path-plan.d.ts +21 -0
  246. package/dist/visio/ui/draw-path-plan.d.ts.map +1 -0
  247. package/dist/visio/ui/draw-plan.d.ts +11 -3
  248. package/dist/visio/ui/draw-plan.d.ts.map +1 -1
  249. package/dist/visio/ui/edit-commands.d.ts.map +1 -1
  250. package/dist/visio/ui/format-painter.d.ts +25 -0
  251. package/dist/visio/ui/format-painter.d.ts.map +1 -0
  252. package/dist/visio/ui/guides.d.ts +34 -0
  253. package/dist/visio/ui/guides.d.ts.map +1 -0
  254. package/dist/visio/ui/index.cjs +8006 -2705
  255. package/dist/visio/ui/index.d.ts +25 -0
  256. package/dist/visio/ui/index.d.ts.map +1 -1
  257. package/dist/visio/ui/index.mjs +7894 -2706
  258. package/dist/visio/ui/insert.d.ts +26 -0
  259. package/dist/visio/ui/insert.d.ts.map +1 -0
  260. package/dist/visio/ui/layer-assign.d.ts +31 -0
  261. package/dist/visio/ui/layer-assign.d.ts.map +1 -0
  262. package/dist/visio/ui/page-edit.d.ts.map +1 -1
  263. package/dist/visio/ui/page-setup.d.ts +50 -0
  264. package/dist/visio/ui/page-setup.d.ts.map +1 -0
  265. package/dist/visio/ui/page-size.d.ts +2 -11
  266. package/dist/visio/ui/page-size.d.ts.map +1 -1
  267. package/dist/visio/ui/paste-text.d.ts +13 -0
  268. package/dist/visio/ui/paste-text.d.ts.map +1 -0
  269. package/dist/visio/ui/scene-data.d.ts +4 -0
  270. package/dist/visio/ui/scene-data.d.ts.map +1 -0
  271. package/dist/visio/ui/scene-details.d.ts.map +1 -1
  272. package/dist/visio/ui/scene-validation-text.d.ts +8 -0
  273. package/dist/visio/ui/scene-validation-text.d.ts.map +1 -0
  274. package/dist/visio/ui/scene-validation.d.ts.map +1 -1
  275. package/dist/visio/ui/select-by-type.d.ts +35 -0
  276. package/dist/visio/ui/select-by-type.d.ts.map +1 -0
  277. package/dist/visio/ui/shape-arrange.d.ts.map +1 -1
  278. package/dist/visio/ui/shape-change.d.ts +11 -0
  279. package/dist/visio/ui/shape-change.d.ts.map +1 -0
  280. package/dist/visio/ui/shape-effects.d.ts +14 -0
  281. package/dist/visio/ui/shape-effects.d.ts.map +1 -0
  282. package/dist/visio/ui/shape-formatting.d.ts +5 -0
  283. package/dist/visio/ui/shape-formatting.d.ts.map +1 -1
  284. package/dist/visio/ui/shape-group.d.ts +9 -0
  285. package/dist/visio/ui/shape-group.d.ts.map +1 -0
  286. package/dist/visio/ui/shape-move.d.ts +5 -2
  287. package/dist/visio/ui/shape-move.d.ts.map +1 -1
  288. package/dist/visio/ui/shape-report.d.ts +37 -0
  289. package/dist/visio/ui/shape-report.d.ts.map +1 -0
  290. package/dist/visio/ui/shape-resize.d.ts.map +1 -1
  291. package/dist/visio/ui/shape-rotation.d.ts.map +1 -1
  292. package/dist/visio/ui/snapshot-scene.d.ts.map +1 -1
  293. package/dist/visio/ui/subprocess.d.ts +13 -0
  294. package/dist/visio/ui/subprocess.d.ts.map +1 -0
  295. package/dist/visio/ui/text-block.d.ts +42 -0
  296. package/dist/visio/ui/text-block.d.ts.map +1 -0
  297. package/dist/visio/ui/text-dialog.d.ts +54 -0
  298. package/dist/visio/ui/text-dialog.d.ts.map +1 -0
  299. package/dist/visio/ui/text-draft.d.ts +25 -0
  300. package/dist/visio/ui/text-draft.d.ts.map +1 -0
  301. package/dist/visio/ui/text-field-catalog.d.ts +17 -0
  302. package/dist/visio/ui/text-field-catalog.d.ts.map +1 -0
  303. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { SMART_ART_DEFINITION_PARTS, VML_SHAPE_TAGS, isAlternateContentChoiceXmlSupported, parseVmlElement, unwrapAlternateContent, xmlChild, xmlAttr, parseDrawingMediaReference, cropShapeForPresetGeometry, isHeaderFooterPlaceholder, xmlPath, inheritedPlaceholderFieldType, parseParagraphLevel, xmlHasChild, parseParagraphExtraAttributes, parseParagraphMargins, parseAlignmentAttr, parseParagraphRtl, parseTabStops, resolveParagraphAlignment, xmlText, parseBodyPrBooleanAttrs, selectAlternateContentBranch, parseBulletSizePercent, extractColorChoiceXml, formatAutoNumberMarker, parseParagraphSpacingPx, createBuiltinVariables, resolveCoordinate, parseStructuredCustomGeometry, parseAdjustmentValues, parseGuideDefinitions, evaluateGuides, evaluateGeometryPaths, inheritCustomGeometryCommandOrder, parseInkMlContent, parseModel3DScene, remapElementShapeIds, parseShapeId, isTemplateElementId, remapShapeIdReferences, reapplyAlternateContentToTree, buildOle2, SHAPE_TREE_ELEMENT_TAGS, MAX_SHAPE_ID, orderedXmlKey, safeResolveZipPath, parseDataUrlToBytes, base64Decode, EMU_PER_PX, reorderObjectKeys, encodeCompressedPng, zlibStore, hash, concatArrays, encodePasswordUtf16LE, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, uint32LE, pptxActionToElementAction, buildClrMapOverrideXml, applyActiveXControlsToSlide, BLIP_FILL_ORDER, SP_PR_ORDER, hasShapeProperties, ensureXmlChild, hasTextProperties, inkElementToStrokes, buildInkMlContent, ensureXmlChildOrCreate, isXmlNode, applyChartLayouts, stripXmlOrderSuffix, serializeTabStop, colorsEqual, generateFontGuid, applyBubbleChartOptions, applyChartUpDownBars, applyDataLabelsRangeToDLbls, applyChartAxisScaling, applyChartAxisLabelFormatting, upsertChartAxisChild, applyChartDateAxisUnits, applyChartAxisDisplayUnitsToXml, writeChartShapeProps, resolveTxPrDefRPr, buildDefRPrTextProperties, buildChartGradFillXml, applySeriesMarkerToXml, applySeriesDataPointsToXml, chartColorHex, applyChartManualLayout, buildTrendlineLabel, serializeColorChoice, replaceOleEmbedding, findKey, collectAllText, buildNodeGuidMap, buildPresentationGuidMap, regenerateSmartArtDrawingShapes, buildFabricatedDrawingXml, buildFabricatedDiagramDataXml, DIAGRAM_DRAWING_CONTENT_TYPE, DIAGRAM_DRAWING_REL_TYPE, applyDiagramRelationshipIds, buildSaveTimeCustomGeometryXml, applyCustomGeometryGuideOverrides, avLstForPreset, filterValidShapeAdjustmentEntries, applyDrawingMediaReference, XML_PROLOG, DGM_XMLNS, xmlEscape, writeBodyPrBooleanAttrs, applyTextBodySp3d, writeShapeEffects, SHAPE_STYLE_ORDER, roundCoordinate, scaleVectorToIntegers, EMU_PER_PIXEL, P14_GUIDE_URI, P15_GUIDE_URI, buildGuideListExtension, resetSpPrFormattingForStyleMatrix, fillIsPurelyStyleMatrix, serializeColorChoiceWithRef, createLineStyleGate, applyDrawingLineDash, getSignaturePathsToStrip, mergeSmartArtPointXml, mergeSmartArtConnectionXml, obfuscateFont, containsConvertibleStrictNamespaceAttribute, convertXmlToStrict, applySeriesPictureOptionsToXml, findChartExtByUri, findChildByLocalName, regenerateClonedUniqueId, buildChartUniqueIdExtLst, createOfficeGuid, isContentPoint, newSmartArtGuid, parseChartUserShapesDrawing, xmlChildren, applyChartGradientToSpPr, setAutoTitleDeleted, insertAt, replaceFirstText, shouldRebuildFromParagraphs, buildPointFromParagraphs, shouldRebuildFromRuns, buildPointFromRuns, buildPointText, ensureXmlChildren, TC_PR_BORDERS_ORDER, writeChartColorChoice, parseChartFormulaRange, expandRangeAddresses, applyCellWritesToWorksheet, stripParentDirSegments, parseChartUniqueId, buildChartMarkerXml, chartGradientsEqual, chartColorChoiceValue, preservesSpreadsheetXmlWhitespace, buildEffectDagTreeFromXml, syncPictureShapeTypeWithCropShape, buildSrgbColorChoice, fetchUrlToBytes, parseChartWideTextStyle, parseDefRPrTextStyle, parseChartDataLabelOptions, shadowOffsetToDistanceAndDirection, positiveFixedAngleAttribute, xmlAttrNumber, parseCustomShows, parseShapeProps, parseActiveXControlsFromSlide, convertMetafileToDataUrl, blobUrlToDataUrl, ooxmlGradientAngleToCssDegrees, isAlternateContentChoiceSupported, SvgExporter, detectStrictConformance, normalizeStrictXml, DEFAULT_CHART_GRADIENT_ANGLE, supportsChartGradientFill, svgToCustomGeometryPaths, normalizeStShapeType, applyCustomShows, applySections, reorderObjectKeysByLocalName, PRESENTATION_CHILD_ORDER, applyKinsokuToXml, normalizeNamespaceUri, captureStyleBaseline, STYLE_MATRIX_FILL_KEYS, STYLE_MATRIX_LINE_KEYS, STYLE_MATRIX_EFFECT_KEYS, detectOleObjectType, inferOleExtensionFromTarget, deriveSlideTitles, parseSlideDrawingGuides, parseP14DirectChild, parseP14FromExtLst, P14_TRANSITION_TYPES, decodeXmlEntities, preservesXmlWhitespace, annotateCustomGeometryCommandOrder, annotateSmartArtTextOrder, encodeXmlAttributeValue, encodeXmlTextValue, stripXmlOrderMarkers, MIN_ELEMENT_SIZE, createDrawingObjectId, DEFAULT_TEXT_FONT_SIZE, EncryptedFileError, decodePptxJsonText, deserializePptxFromJson, applyImportedPptxData, MIN_TABLE_DIMENSION, MAX_TABLE_DIMENSION, escAttr, escText, SYSTEM_COLOR_MAP, PRESET_COLOR_MAP, effectChild, mergeEffectNode, mergeAttributeEffectNode, estimateMediaDurationMs, parseVmlElements, prismFamilyFlags, prismFamilyTypeOfNode, prismFamilyTypeForFlags, P14_DIR_IS_ORIENTATION_TYPE, IncorrectPasswordError, applyThemeToData, detectFileFormat, parseOle2, decryptPptx, encryptPptx, OOXML_PERCENT_UNITS, parseDrawingLineDash, parseLineSpacingMultiplier, parseLineSpacingExactPt, parseEncryptionInfo, RC4_ALG_ID, isOle2CompoundFile, ENTRY_TYPE_ROOT, PML_XMLNS, solidFill, esc, parsePresentationDrawingGuides, parsePresentationSmartTags, resolveLayoutDisplayName, detectDigitalSignatures, unwrapOleEmbedding, mimeTypeForOleFile, oleBytesToDataUrl, emu, extractGuidFromPartName, deobfuscateFont, detectFontFormat, gradFill, parseKinsoku, parseLineStyle, parseChartUpDownBars, parseDataTable, parseChart3DSurfaces, parseChartAxes, parseBubbleChartOptions, parseChartLayouts, parseCxChartSeries, parseChartDataPointPictureBlipRel, parseSeriesTrendlines, parseSeriesErrBars, parseSeriesDataPoints, parseMarker, parseSeriesDataLabels, parseChartDataPointPicture, parseImplicitBlipPictureFill, parseEmbeddedXlsx, EMU_PER_POINT, parseDiagramRelationshipIds, parseSmartArtTextParagraphs, firstParagraphRuns, smartArtParagraphsText, parseSmartArtPresLayoutVars, readChartManualLayoutValues, parseSmartArtConnection, projectSmartArtNodeText, resolveSmartArtNodeStyleRoles, resolveSmartArtNodeCoherent3DOff, parseSmartArtDefinitionMetadata, parseSmartArtColorStyleLabels, buildSmartArtColorLists, buildSmartArtColorRoleMap, parseSmartArtQuickStyleLabels, resolveSmartArtEffectIntensity, parseSmartArtStyleLabelRefs, extractStyleReferenceColorXml, withThemePlaceholderColor, getElementOrientationMatrix, isTextOrientationMatrix, TEXT_ORIENTATION_IDENTITY, multiplyTextOrientationMatrices } from './chunk-H4TPDZV4.mjs';
1
+ import { SMART_ART_DEFINITION_PARTS, VML_SHAPE_TAGS, isAlternateContentChoiceXmlSupported, parseVmlElement, unwrapAlternateContent, xmlChild, xmlAttr, parseDrawingMediaReference, cropShapeForPresetGeometry, isHeaderFooterPlaceholder, xmlPath, inheritedPlaceholderFieldType, parseParagraphLevel, xmlHasChild, parseParagraphExtraAttributes, parseParagraphMargins, parseAlignmentAttr, parseParagraphRtl, parseTabStops, resolveParagraphAlignment, xmlText, parseBodyPrBooleanAttrs, selectAlternateContentBranch, parseBulletSizePercent, extractColorChoiceXml, formatAutoNumberMarker, parseParagraphSpacingPx, createBuiltinVariables, resolveCoordinate, parseStructuredCustomGeometry, parseAdjustmentValues, parseGuideDefinitions, evaluateGuides, evaluateGeometryPaths, inheritCustomGeometryCommandOrder, parseInkMlContent, parseModel3DScene, remapElementShapeIds, parseShapeId, isTemplateElementId, remapShapeIdReferences, reapplyAlternateContentToTree, buildOle2, SHAPE_TREE_ELEMENT_TAGS, MAX_SHAPE_ID, orderedXmlKey, safeResolveZipPath, parseDataUrlToBytes, base64Decode, EMU_PER_PX, reorderObjectKeys, encodeCompressedPng, zlibStore, hash, concatArrays, encodePasswordUtf16LE, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, uint32LE, pptxActionToElementAction, buildClrMapOverrideXml, applyActiveXControlsToSlide, BLIP_FILL_ORDER, SP_PR_ORDER, hasShapeProperties, ensureXmlChild, hasTextProperties, inkElementToStrokes, buildInkMlContent, ensureXmlChildOrCreate, isXmlNode, applyChartLayouts, stripXmlOrderSuffix, serializeTabStop, colorsEqual, generateFontGuid, applyBubbleChartOptions, applyChartUpDownBars, applyDataLabelsRangeToDLbls, applyChartAxisScaling, applyChartAxisLabelFormatting, upsertChartAxisChild, applyChartDateAxisUnits, applyChartAxisDisplayUnitsToXml, writeChartShapeProps, resolveTxPrDefRPr, buildDefRPrTextProperties, buildChartGradFillXml, applySeriesMarkerToXml, applySeriesDataPointsToXml, chartColorHex, applyChartManualLayout, buildTrendlineLabel, serializeColorChoice, replaceOleEmbedding, findKey, collectAllText, buildNodeGuidMap, buildPresentationGuidMap, regenerateSmartArtDrawingShapes, buildFabricatedDrawingXml, buildFabricatedDiagramDataXml, DIAGRAM_DRAWING_CONTENT_TYPE, DIAGRAM_DRAWING_REL_TYPE, applyDiagramRelationshipIds, buildSaveTimeCustomGeometryXml, applyCustomGeometryGuideOverrides, avLstForPreset, filterValidShapeAdjustmentEntries, applyDrawingMediaReference, XML_PROLOG, DGM_XMLNS, xmlEscape, writeBodyPrBooleanAttrs, applyTextBodySp3d, writeShapeEffects, SHAPE_STYLE_ORDER, roundCoordinate, scaleVectorToIntegers, EMU_PER_PIXEL, P14_GUIDE_URI, P15_GUIDE_URI, buildGuideListExtension, resetSpPrFormattingForStyleMatrix, fillIsPurelyStyleMatrix, serializeColorChoiceWithRef, createLineStyleGate, applyDrawingLineDash, getSignaturePathsToStrip, mergeSmartArtPointXml, mergeSmartArtConnectionXml, obfuscateFont, containsConvertibleStrictNamespaceAttribute, convertXmlToStrict, applySeriesPictureOptionsToXml, findChartExtByUri, findChildByLocalName, regenerateClonedUniqueId, buildChartUniqueIdExtLst, createOfficeGuid, isContentPoint, newSmartArtGuid, parseChartUserShapesDrawing, xmlChildren, applyChartGradientToSpPr, setAutoTitleDeleted, insertAt, replaceFirstText, shouldRebuildFromParagraphs, buildPointFromParagraphs, shouldRebuildFromRuns, buildPointFromRuns, buildPointText, ensureXmlChildren, TC_PR_BORDERS_ORDER, writeChartColorChoice, parseChartFormulaRange, expandRangeAddresses, applyCellWritesToWorksheet, stripParentDirSegments, parseChartUniqueId, buildChartMarkerXml, chartGradientsEqual, chartColorChoiceValue, preservesSpreadsheetXmlWhitespace, buildEffectDagTreeFromXml, syncPictureShapeTypeWithCropShape, buildSrgbColorChoice, fetchUrlToBytes, parseChartWideTextStyle, parseDefRPrTextStyle, parseChartDataLabelOptions, shadowOffsetToDistanceAndDirection, positiveFixedAngleAttribute, xmlAttrNumber, parseCustomShows, parseShapeProps, parseActiveXControlsFromSlide, convertMetafileToDataUrl, blobUrlToDataUrl, ooxmlGradientAngleToCssDegrees, isAlternateContentChoiceSupported, SvgExporter, detectStrictConformance, normalizeStrictXml, DEFAULT_CHART_GRADIENT_ANGLE, supportsChartGradientFill, svgToCustomGeometryPaths, normalizeStShapeType, applyCustomShows, applySections, reorderObjectKeysByLocalName, PRESENTATION_CHILD_ORDER, applyKinsokuToXml, normalizeNamespaceUri, captureStyleBaseline, STYLE_MATRIX_FILL_KEYS, STYLE_MATRIX_LINE_KEYS, STYLE_MATRIX_EFFECT_KEYS, detectOleObjectType, inferOleExtensionFromTarget, deriveSlideTitles, parseSlideDrawingGuides, parseP14DirectChild, parseP14FromExtLst, P14_TRANSITION_TYPES, decodeXmlEntities, preservesXmlWhitespace, annotateCustomGeometryCommandOrder, annotateSmartArtTextOrder, encodeXmlAttributeValue, encodeXmlTextValue, stripXmlOrderMarkers, MIN_ELEMENT_SIZE, createDrawingObjectId, DEFAULT_TEXT_FONT_SIZE, EncryptedFileError, decodePptxJsonText, deserializePptxFromJson, applyImportedPptxData, MIN_TABLE_DIMENSION, MAX_TABLE_DIMENSION, escAttr, escText, SYSTEM_COLOR_MAP, PRESET_COLOR_MAP, effectChild, mergeEffectNode, mergeAttributeEffectNode, estimateMediaDurationMs, parseVmlElements, prismFamilyFlags, prismFamilyTypeOfNode, prismFamilyTypeForFlags, P14_DIR_IS_ORIENTATION_TYPE, IncorrectPasswordError, applyThemeToData, detectFileFormat, parseOle2, decryptPptx, encryptPptx, OOXML_PERCENT_UNITS, parseDrawingLineDash, parseLineSpacingMultiplier, parseLineSpacingExactPt, parseEncryptionInfo, RC4_ALG_ID, isOle2CompoundFile, ENTRY_TYPE_ROOT, PML_XMLNS, solidFill, esc, parsePresentationDrawingGuides, parsePresentationSmartTags, resolveLayoutDisplayName, detectDigitalSignatures, unwrapOleEmbedding, mimeTypeForOleFile, oleBytesToDataUrl, emu, extractGuidFromPartName, deobfuscateFont, detectFontFormat, gradFill, parseKinsoku, parseLineStyle, parseChartUpDownBars, parseDataTable, parseChart3DSurfaces, parseChartAxes, parseBubbleChartOptions, parseChartLayouts, parseCxChartSeries, parseChartDataPointPictureBlipRel, parseSeriesTrendlines, parseSeriesErrBars, parseSeriesDataPoints, parseMarker, parseSeriesDataLabels, parseChartDataPointPicture, parseImplicitBlipPictureFill, parseEmbeddedXlsx, EMU_PER_POINT, parseDiagramRelationshipIds, parseSmartArtTextParagraphs, firstParagraphRuns, smartArtParagraphsText, parseSmartArtPresLayoutVars, readChartManualLayoutValues, parseSmartArtConnection, projectSmartArtNodeText, resolveSmartArtNodeStyleRoles, resolveSmartArtNodeCoherent3DOff, parseSmartArtDefinitionMetadata, parseSmartArtColorStyleLabels, buildSmartArtColorLists, buildSmartArtColorRoleMap, parseSmartArtQuickStyleLabels, resolveSmartArtEffectIntensity, parseSmartArtStyleLabelRefs, extractStyleReferenceColorXml, withThemePlaceholderColor, getElementOrientationMatrix, isTextOrientationMatrix, TEXT_ORIENTATION_IDENTITY, multiplyTextOrientationMatrices } from './chunk-UQQGC6O3.mjs';
2
2
  import { DIGITAL_SIGNATURE_ORIGIN_REL_TYPE } from './chunk-KBIJI6P5.mjs';
3
3
  import { resolveSmartArtLayoutCategory } from './chunk-3GXV5MPC.mjs';
4
4
  import { cloneXmlObject, applySmartArtLayoutDefinition, cloneSlide, parseSmartArtLayoutDefinition } from './chunk-54S5A5PZ.mjs';
@@ -60389,7 +60389,27 @@ function writeDiagonalBorders(tcPr, style, emuPerPx) {
60389
60389
  }
60390
60390
  }
60391
60391
  }
60392
- function writeCellTextFormatting(xmlCell, style, ensureArray12) {
60392
+ function writeEmptyParagraphSizes(xmlCell, style, paragraphs, ensureArray12) {
60393
+ const txBody = xmlCell["a:txBody"];
60394
+ if (!txBody || typeof txBody !== "object") {
60395
+ return;
60396
+ }
60397
+ const xmlParagraphs = ensureXmlChildren(txBody, "a:p");
60398
+ const empty = xmlParagraphs.map(
60399
+ (paragraph) => ["a:r", "a:fld", "a:br"].every((tag) => ensureArray12(paragraph[tag]).length === 0)
60400
+ );
60401
+ const cellFallback = empty.every(Boolean) ? style.fontSize : void 0;
60402
+ for (const [index, paragraph] of xmlParagraphs.entries()) {
60403
+ const size = paragraphs?.[index]?.endParaFontSize ?? cellFallback;
60404
+ if (!empty[index] || size === void 0) {
60405
+ continue;
60406
+ }
60407
+ const endParaRPr = ensureXmlChildOrCreate(paragraph, "a:endParaRPr", "last");
60408
+ endParaRPr["@_sz"] = String(Math.round(size * 100));
60409
+ }
60410
+ }
60411
+ function writeCellTextFormatting(xmlCell, style, ensureArray12, cellParagraphs2) {
60412
+ writeEmptyParagraphSizes(xmlCell, style, cellParagraphs2, ensureArray12);
60393
60413
  if (style.bold === void 0 && style.italic === void 0 && style.underline === void 0 && style.fontSize === void 0 && style.color === void 0) {
60394
60414
  return;
60395
60415
  }
@@ -60695,7 +60715,7 @@ var PptxHandlerRuntime22 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
60695
60715
  delete tcPr["a:tcMar"];
60696
60716
  writeDiagonalBorders(tcPr, style, _PptxHandlerRuntime.EMU_PER_PX);
60697
60717
  if (!isRichCellTxBody(xmlCell["a:txBody"], this.ensureArray.bind(this))) {
60698
- writeCellTextFormatting(xmlCell, style, this.ensureArray.bind(this));
60718
+ writeCellTextFormatting(xmlCell, style, this.ensureArray.bind(this), paragraphs);
60699
60719
  }
60700
60720
  const reordered = reorderObjectKeys(tcPr, TC_PR_BORDERS_ORDER);
60701
60721
  for (const key2 of Object.keys(tcPr)) {
@@ -1,4 +1,4 @@
1
- import { hasTextProperties } from './chunk-H4TPDZV4.mjs';
1
+ import { hasTextProperties } from './chunk-UQQGC6O3.mjs';
2
2
  import { cloneSlide } from './chunk-54S5A5PZ.mjs';
3
3
 
4
4
  // pptx/core/builders/sdk/merge-operations.ts
@@ -1,6 +1,6 @@
1
- import { findText, replaceText, replaceTextInSlide, mergePresentation } from './chunk-IVDC75E5.mjs';
2
- import { PresentationBuilder, PptxHandler, SlideBuilder, validateSeriesIndex, removeEmptyDataPoint, ensureDataPoint, ensureChartData, assertChartGradientSupported, toChartGradientFill, STANDARD_LAYOUTS, createTextElement, createShapeElement, createImageElement, createTableElement, createChartElement, createConnectorElement, createMediaElement, createGroupElement, PptxXmlBuilder } from './chunk-XGLKW3JJ.mjs';
3
- import { escAttr, EMU_PER_PIXEL, EMU_PER_INCH, hasTextProperties } from './chunk-H4TPDZV4.mjs';
1
+ import { findText, replaceText, replaceTextInSlide, mergePresentation } from './chunk-EPNLABIU.mjs';
2
+ import { PresentationBuilder, PptxHandler, SlideBuilder, validateSeriesIndex, removeEmptyDataPoint, ensureDataPoint, ensureChartData, assertChartGradientSupported, toChartGradientFill, STANDARD_LAYOUTS, createTextElement, createShapeElement, createImageElement, createTableElement, createChartElement, createConnectorElement, createMediaElement, createGroupElement, PptxXmlBuilder } from './chunk-5L4DHJV3.mjs';
3
+ import { escAttr, EMU_PER_PIXEL, EMU_PER_INCH, hasTextProperties } from './chunk-UQQGC6O3.mjs';
4
4
  import { cloneSlide, cloneElement } from './chunk-54S5A5PZ.mjs';
5
5
  import JSZip from 'jszip';
6
6
 
@@ -1,4 +1,4 @@
1
- import { hasTextProperties, isImageLikeElement, blobUrlToDataUrl, getSubstituteFontFamily, stripXmlOrderSuffix } from './chunk-H4TPDZV4.mjs';
1
+ import { hasTextProperties, isImageLikeElement, blobUrlToDataUrl, getSubstituteFontFamily, stripXmlOrderSuffix } from './chunk-UQQGC6O3.mjs';
2
2
 
3
3
  // pptx/converter/media-context.ts
4
4
  var MIME_TO_EXT = {
@@ -21460,7 +21460,7 @@ function findTextBearingElementById(elements2, elementId) {
21460
21460
  }
21461
21461
  async function loadNestedDeck(pptxBytes) {
21462
21462
  try {
21463
- const { PptxHandler } = await import('./PptxHandler-ZPJNHEZZ.mjs');
21463
+ const { PptxHandler } = await import('./PptxHandler-DDEJ6CKU.mjs');
21464
21464
  const handler = new PptxHandler();
21465
21465
  const data = await handler.load(pptxBytes.buffer.slice(0));
21466
21466
  return { handler, slides: data.slides };
@@ -840,7 +840,7 @@ function drawingFillXml(fill) {
840
840
  const root = doc.documentElement;
841
841
  if (root.namespaceURI !== NS.a || root.localName !== "gradFill")
842
842
  throw new Error("Invalid gradient source XML");
843
- const fragment = (xml) => doc.importNode(elements(parseXml(`<w xmlns:a="${NS.a}">${xml}</w>`).documentElement)[0], true);
843
+ const fragment2 = (xml) => doc.importNode(elements(parseXml(`<w xmlns:a="${NS.a}">${xml}</w>`).documentElement)[0], true);
844
844
  let list = first(root, "gsLst", NS.a);
845
845
  if (!list) {
846
846
  list = doc.createElementNS(NS.a, "a:gsLst");
@@ -855,7 +855,7 @@ function drawingFillXml(fill) {
855
855
  node.setAttribute("pos", String(Math.round(stop.position * 1e3)));
856
856
  for (const old of elements(node))
857
857
  if (old.namespaceURI === NS.a && old.localName.endsWith("Clr")) node.removeChild(old);
858
- node.insertBefore(fragment(drawingColorXml(stop.color)), node.firstChild);
858
+ node.insertBefore(fragment2(drawingColorXml(stop.color)), node.firstChild);
859
859
  });
860
860
  for (const stop of stops.slice(fill.stops.length)) list.removeChild(stop);
861
861
  for (const node of elements(root))
@@ -905,6 +905,105 @@ function drawingFillXml(fill) {
905
905
  return buildXml(doc);
906
906
  }
907
907
 
908
+ // drawingml/theme-model.ts
909
+ var THEME_COLOR_SLOTS = [
910
+ "dk1",
911
+ "lt1",
912
+ "dk2",
913
+ "lt2",
914
+ "accent1",
915
+ "accent2",
916
+ "accent3",
917
+ "accent4",
918
+ "accent5",
919
+ "accent6",
920
+ "hlink",
921
+ "folHlink"
922
+ ];
923
+ var DEFAULT_THEME_COLOR_MAP = {
924
+ bg1: "lt1",
925
+ tx1: "dk1",
926
+ bg2: "lt2",
927
+ tx2: "dk2"
928
+ };
929
+
930
+ // drawingml/write-theme.ts
931
+ function fragment(host, xml, namespaces) {
932
+ const declarations = Object.entries({ a: NS.a, ...namespaces }).map(([prefix, uri]) => ` xmlns:${prefix}="${uri}"`).join("");
933
+ const wrapper = parseXml(`<w${declarations}>${xml}</w>`, { label: "DrawingML theme fragment" });
934
+ return elements(wrapper.documentElement).map(
935
+ (node) => host.ownerDocument.importNode(node, true)
936
+ );
937
+ }
938
+ function extensionList(parent, extensions, namespaces) {
939
+ const entries = Object.entries(extensions ?? {});
940
+ if (!entries.length) return;
941
+ const doc = parent.ownerDocument;
942
+ const list = doc.createElementNS(NS.a, "a:extLst");
943
+ for (const [uri, xml] of entries) {
944
+ const ext = doc.createElementNS(NS.a, "a:ext");
945
+ ext.setAttribute("uri", uri);
946
+ for (const node of fragment(ext, xml, namespaces)) ext.appendChild(node);
947
+ list.appendChild(ext);
948
+ }
949
+ parent.appendChild(list);
950
+ }
951
+ function fontCollection(parent, name, fonts) {
952
+ const doc = parent.ownerDocument;
953
+ const node = doc.createElementNS(NS.a, `a:${name}`);
954
+ for (const [local, face] of [
955
+ ["latin", fonts.latin],
956
+ ["ea", fonts.eastAsia],
957
+ ["cs", fonts.complexScript]
958
+ ]) {
959
+ const font = doc.createElementNS(NS.a, `a:${local}`);
960
+ font.setAttribute("typeface", face ?? "");
961
+ node.appendChild(font);
962
+ }
963
+ for (const [script, face] of Object.entries(fonts.scripts)) {
964
+ const font = doc.createElementNS(NS.a, "a:font");
965
+ font.setAttribute("script", script);
966
+ font.setAttribute("typeface", face);
967
+ node.appendChild(font);
968
+ }
969
+ parent.appendChild(node);
970
+ }
971
+ function drawingThemeXml(theme, parts) {
972
+ const namespaces = parts.namespaces ?? {};
973
+ const doc = parseXml(
974
+ `<a:theme xmlns:a="${NS.a}"${Object.entries(namespaces).map(([prefix, uri]) => ` xmlns:${prefix}="${uri}"`).join("")}/>`
975
+ );
976
+ const root = doc.documentElement;
977
+ if (theme.name !== void 0) root.setAttribute("name", theme.name);
978
+ const elementsNode = doc.createElementNS(NS.a, "a:themeElements");
979
+ root.appendChild(elementsNode);
980
+ const scheme = doc.createElementNS(NS.a, "a:clrScheme");
981
+ scheme.setAttribute("name", theme.colorScheme.name ?? theme.name ?? "Custom");
982
+ for (const slot of THEME_COLOR_SLOTS) {
983
+ const color = theme.colorScheme.colors[slot];
984
+ if (!color) throw new Error(`The theme colour scheme has no ${slot} colour.`);
985
+ const node = doc.createElementNS(NS.a, `a:${slot}`);
986
+ for (const child of fragment(node, drawingColorXml(color), namespaces)) node.appendChild(child);
987
+ scheme.appendChild(node);
988
+ }
989
+ extensionList(scheme, parts.colorSchemeExtensions, namespaces);
990
+ elementsNode.appendChild(scheme);
991
+ const fonts = doc.createElementNS(NS.a, "a:fontScheme");
992
+ fonts.setAttribute("name", theme.fontScheme.name ?? theme.name ?? "Custom");
993
+ fontCollection(fonts, "majorFont", theme.fontScheme.major);
994
+ fontCollection(fonts, "minorFont", theme.fontScheme.minor);
995
+ elementsNode.appendChild(fonts);
996
+ const format = fragment(elementsNode, parts.formatScheme, namespaces);
997
+ if (format.length !== 1 || format[0].localName !== "fmtScheme" || format[0].namespaceURI !== NS.a)
998
+ throw new Error("The theme format scheme must be one a:fmtScheme element.");
999
+ elementsNode.appendChild(format[0]);
1000
+ extensionList(elementsNode, parts.themeElementsExtensions, namespaces);
1001
+ root.appendChild(doc.createElementNS(NS.a, "a:objectDefaults"));
1002
+ root.appendChild(doc.createElementNS(NS.a, "a:extraClrSchemeLst"));
1003
+ return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1004
+ ${buildXml(doc)}`;
1005
+ }
1006
+
908
1007
  // drawingml/gradient-preset-data.ts
909
1008
  var OFFICE_GRADIENT_PRESET_DATA = [
910
1009
  [
@@ -1359,28 +1458,6 @@ function buildRectPathGradientImage(stops, focalPoint, fillToRect) {
1359
1458
  return `url("data:image/svg+xml,${encodeURIComponent(markup)}")`;
1360
1459
  }
1361
1460
 
1362
- // drawingml/theme-model.ts
1363
- var THEME_COLOR_SLOTS = [
1364
- "dk1",
1365
- "lt1",
1366
- "dk2",
1367
- "lt2",
1368
- "accent1",
1369
- "accent2",
1370
- "accent3",
1371
- "accent4",
1372
- "accent5",
1373
- "accent6",
1374
- "hlink",
1375
- "folHlink"
1376
- ];
1377
- var DEFAULT_THEME_COLOR_MAP = {
1378
- bg1: "lt1",
1379
- tx1: "dk1",
1380
- bg2: "lt2",
1381
- tx2: "dk2"
1382
- };
1383
-
1384
1461
  // drawingml/theme.ts
1385
1462
  var MAP_KEYS = [
1386
1463
  "bg1",
@@ -1509,6 +1586,7 @@ exports.drawingColorBrightness = drawingColorBrightness;
1509
1586
  exports.drawingColorCss = drawingColorCss;
1510
1587
  exports.drawingColorXml = drawingColorXml;
1511
1588
  exports.drawingFillXml = drawingFillXml;
1589
+ exports.drawingThemeXml = drawingThemeXml;
1512
1590
  exports.fillElementOf = fillElementOf;
1513
1591
  exports.integerAttribute = integerAttribute;
1514
1592
  exports.isThemeColorSlot = isThemeColorSlot;
@@ -10,6 +10,7 @@ export * from './drawing-geometry.js';
10
10
  export * from './drawing-shadow.js';
11
11
  export * from './write-color.js';
12
12
  export * from './write-fill.js';
13
+ export * from './write-theme.js';
13
14
  export * from './gradient-presets.js';
14
15
  export * from './gradient-geometry.js';
15
16
  export * from './rect-path-gradient.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../drawingml/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,eAAe,GACf,MAAM,OAAO,CAAC;AACf,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../drawingml/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,eAAe,GACf,MAAM,OAAO,CAAC;AACf,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
@@ -838,7 +838,7 @@ function drawingFillXml(fill) {
838
838
  const root = doc.documentElement;
839
839
  if (root.namespaceURI !== NS.a || root.localName !== "gradFill")
840
840
  throw new Error("Invalid gradient source XML");
841
- const fragment = (xml) => doc.importNode(elements(parseXml(`<w xmlns:a="${NS.a}">${xml}</w>`).documentElement)[0], true);
841
+ const fragment2 = (xml) => doc.importNode(elements(parseXml(`<w xmlns:a="${NS.a}">${xml}</w>`).documentElement)[0], true);
842
842
  let list = first(root, "gsLst", NS.a);
843
843
  if (!list) {
844
844
  list = doc.createElementNS(NS.a, "a:gsLst");
@@ -853,7 +853,7 @@ function drawingFillXml(fill) {
853
853
  node.setAttribute("pos", String(Math.round(stop.position * 1e3)));
854
854
  for (const old of elements(node))
855
855
  if (old.namespaceURI === NS.a && old.localName.endsWith("Clr")) node.removeChild(old);
856
- node.insertBefore(fragment(drawingColorXml(stop.color)), node.firstChild);
856
+ node.insertBefore(fragment2(drawingColorXml(stop.color)), node.firstChild);
857
857
  });
858
858
  for (const stop of stops.slice(fill.stops.length)) list.removeChild(stop);
859
859
  for (const node of elements(root))
@@ -903,6 +903,105 @@ function drawingFillXml(fill) {
903
903
  return buildXml(doc);
904
904
  }
905
905
 
906
+ // drawingml/theme-model.ts
907
+ var THEME_COLOR_SLOTS = [
908
+ "dk1",
909
+ "lt1",
910
+ "dk2",
911
+ "lt2",
912
+ "accent1",
913
+ "accent2",
914
+ "accent3",
915
+ "accent4",
916
+ "accent5",
917
+ "accent6",
918
+ "hlink",
919
+ "folHlink"
920
+ ];
921
+ var DEFAULT_THEME_COLOR_MAP = {
922
+ bg1: "lt1",
923
+ tx1: "dk1",
924
+ bg2: "lt2",
925
+ tx2: "dk2"
926
+ };
927
+
928
+ // drawingml/write-theme.ts
929
+ function fragment(host, xml, namespaces) {
930
+ const declarations = Object.entries({ a: NS.a, ...namespaces }).map(([prefix, uri]) => ` xmlns:${prefix}="${uri}"`).join("");
931
+ const wrapper = parseXml(`<w${declarations}>${xml}</w>`, { label: "DrawingML theme fragment" });
932
+ return elements(wrapper.documentElement).map(
933
+ (node) => host.ownerDocument.importNode(node, true)
934
+ );
935
+ }
936
+ function extensionList(parent, extensions, namespaces) {
937
+ const entries = Object.entries(extensions ?? {});
938
+ if (!entries.length) return;
939
+ const doc = parent.ownerDocument;
940
+ const list = doc.createElementNS(NS.a, "a:extLst");
941
+ for (const [uri, xml] of entries) {
942
+ const ext = doc.createElementNS(NS.a, "a:ext");
943
+ ext.setAttribute("uri", uri);
944
+ for (const node of fragment(ext, xml, namespaces)) ext.appendChild(node);
945
+ list.appendChild(ext);
946
+ }
947
+ parent.appendChild(list);
948
+ }
949
+ function fontCollection(parent, name, fonts) {
950
+ const doc = parent.ownerDocument;
951
+ const node = doc.createElementNS(NS.a, `a:${name}`);
952
+ for (const [local, face] of [
953
+ ["latin", fonts.latin],
954
+ ["ea", fonts.eastAsia],
955
+ ["cs", fonts.complexScript]
956
+ ]) {
957
+ const font = doc.createElementNS(NS.a, `a:${local}`);
958
+ font.setAttribute("typeface", face ?? "");
959
+ node.appendChild(font);
960
+ }
961
+ for (const [script, face] of Object.entries(fonts.scripts)) {
962
+ const font = doc.createElementNS(NS.a, "a:font");
963
+ font.setAttribute("script", script);
964
+ font.setAttribute("typeface", face);
965
+ node.appendChild(font);
966
+ }
967
+ parent.appendChild(node);
968
+ }
969
+ function drawingThemeXml(theme, parts) {
970
+ const namespaces = parts.namespaces ?? {};
971
+ const doc = parseXml(
972
+ `<a:theme xmlns:a="${NS.a}"${Object.entries(namespaces).map(([prefix, uri]) => ` xmlns:${prefix}="${uri}"`).join("")}/>`
973
+ );
974
+ const root = doc.documentElement;
975
+ if (theme.name !== void 0) root.setAttribute("name", theme.name);
976
+ const elementsNode = doc.createElementNS(NS.a, "a:themeElements");
977
+ root.appendChild(elementsNode);
978
+ const scheme = doc.createElementNS(NS.a, "a:clrScheme");
979
+ scheme.setAttribute("name", theme.colorScheme.name ?? theme.name ?? "Custom");
980
+ for (const slot of THEME_COLOR_SLOTS) {
981
+ const color = theme.colorScheme.colors[slot];
982
+ if (!color) throw new Error(`The theme colour scheme has no ${slot} colour.`);
983
+ const node = doc.createElementNS(NS.a, `a:${slot}`);
984
+ for (const child of fragment(node, drawingColorXml(color), namespaces)) node.appendChild(child);
985
+ scheme.appendChild(node);
986
+ }
987
+ extensionList(scheme, parts.colorSchemeExtensions, namespaces);
988
+ elementsNode.appendChild(scheme);
989
+ const fonts = doc.createElementNS(NS.a, "a:fontScheme");
990
+ fonts.setAttribute("name", theme.fontScheme.name ?? theme.name ?? "Custom");
991
+ fontCollection(fonts, "majorFont", theme.fontScheme.major);
992
+ fontCollection(fonts, "minorFont", theme.fontScheme.minor);
993
+ elementsNode.appendChild(fonts);
994
+ const format = fragment(elementsNode, parts.formatScheme, namespaces);
995
+ if (format.length !== 1 || format[0].localName !== "fmtScheme" || format[0].namespaceURI !== NS.a)
996
+ throw new Error("The theme format scheme must be one a:fmtScheme element.");
997
+ elementsNode.appendChild(format[0]);
998
+ extensionList(elementsNode, parts.themeElementsExtensions, namespaces);
999
+ root.appendChild(doc.createElementNS(NS.a, "a:objectDefaults"));
1000
+ root.appendChild(doc.createElementNS(NS.a, "a:extraClrSchemeLst"));
1001
+ return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1002
+ ${buildXml(doc)}`;
1003
+ }
1004
+
906
1005
  // drawingml/gradient-preset-data.ts
907
1006
  var OFFICE_GRADIENT_PRESET_DATA = [
908
1007
  [
@@ -1357,28 +1456,6 @@ function buildRectPathGradientImage(stops, focalPoint, fillToRect) {
1357
1456
  return `url("data:image/svg+xml,${encodeURIComponent(markup)}")`;
1358
1457
  }
1359
1458
 
1360
- // drawingml/theme-model.ts
1361
- var THEME_COLOR_SLOTS = [
1362
- "dk1",
1363
- "lt1",
1364
- "dk2",
1365
- "lt2",
1366
- "accent1",
1367
- "accent2",
1368
- "accent3",
1369
- "accent4",
1370
- "accent5",
1371
- "accent6",
1372
- "hlink",
1373
- "folHlink"
1374
- ];
1375
- var DEFAULT_THEME_COLOR_MAP = {
1376
- bg1: "lt1",
1377
- tx1: "dk1",
1378
- bg2: "lt2",
1379
- tx2: "dk2"
1380
- };
1381
-
1382
1459
  // drawingml/theme.ts
1383
1460
  var MAP_KEYS = [
1384
1461
  "bg1",
@@ -1494,4 +1571,4 @@ function themeDrawingColorTheme(scheme, colorMap) {
1494
1571
  };
1495
1572
  }
1496
1573
 
1497
- export { DEFAULT_THEME_COLOR_MAP, OFFICE_GRADIENT_PRESETS, RECT_GRADIENT_DIRECTIONS, THEME_COLOR_SLOTS, attributeReader, booleanAttribute, buildRectPathGradientImage, buildRectPathGradientSvg, descendants, drawingColorBrightness, drawingColorCss, drawingColorXml, drawingFillXml, fillElementOf, integerAttribute, isThemeColorSlot, officeGradientPresetFill, officeGradientPresetId, orderedColorTransforms, parseDrawingColor, parseDrawingColorIn, parseDrawingColorList, parseDrawingFill, parseDrawingGeometry, parseDrawingLine, parseDrawingTextBody, parseFrame, parseTheme, parseThemeColorMap, parseThemeColorScheme, parseThemeFontScheme, parseThemeXml, parseTransform, rectGradientDirection, rectGradientFocus, resolveDrawingColor, resolveDrawingShadow, resolveDrawingShadowXml, resolveSchemeColor, setDrawingFillXml, stringAttribute, svgDropShadowElement, themeColorSlotFor, themeDrawingColorTheme, themeSlotHex, withDrawingColorBrightness, withDrawingGradientGeometry };
1574
+ export { DEFAULT_THEME_COLOR_MAP, OFFICE_GRADIENT_PRESETS, RECT_GRADIENT_DIRECTIONS, THEME_COLOR_SLOTS, attributeReader, booleanAttribute, buildRectPathGradientImage, buildRectPathGradientSvg, descendants, drawingColorBrightness, drawingColorCss, drawingColorXml, drawingFillXml, drawingThemeXml, fillElementOf, integerAttribute, isThemeColorSlot, officeGradientPresetFill, officeGradientPresetId, orderedColorTransforms, parseDrawingColor, parseDrawingColorIn, parseDrawingColorList, parseDrawingFill, parseDrawingGeometry, parseDrawingLine, parseDrawingTextBody, parseFrame, parseTheme, parseThemeColorMap, parseThemeColorScheme, parseThemeFontScheme, parseThemeXml, parseTransform, rectGradientDirection, rectGradientFocus, resolveDrawingColor, resolveDrawingShadow, resolveDrawingShadowXml, resolveSchemeColor, setDrawingFillXml, stringAttribute, svgDropShadowElement, themeColorSlotFor, themeDrawingColorTheme, themeSlotHex, withDrawingColorBrightness, withDrawingGradientGeometry };
@@ -0,0 +1,17 @@
1
+ import { type DrawingTheme } from './theme-model.js';
2
+ export interface DrawingThemeXmlParts {
3
+ /** The `a:fmtScheme` element (required by the schema), as one `a:` fragment. */
4
+ formatScheme: string;
5
+ /** Children of an `a:ext` appended to `a:clrScheme`, keyed by extension URI. */
6
+ colorSchemeExtensions?: Readonly<Record<string, string>>;
7
+ /** Children of an `a:ext` appended to `a:themeElements`, keyed by extension URI. */
8
+ themeElementsExtensions?: Readonly<Record<string, string>>;
9
+ /** Extra namespace prefixes the fragments use (the `a` prefix is always declared). */
10
+ namespaces?: Readonly<Record<string, string>>;
11
+ }
12
+ /**
13
+ * A complete `a:theme` part. Every one of the twelve colour slots must be present in the model;
14
+ * the format scheme and extensions are product data and are copied as given.
15
+ */
16
+ export declare function drawingThemeXml(theme: DrawingTheme, parts: DrawingThemeXmlParts): string;
17
+ //# sourceMappingURL=write-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-theme.d.ts","sourceRoot":"","sources":["../../drawingml/write-theme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,YAAY,EAA4B,MAAM,eAAe,CAAC;AAE/F,MAAM,WAAW,oBAAoB;IACpC,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,oFAAoF;IACpF,uBAAuB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,sFAAsF;IACtF,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9C;AAuDD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAuCxF"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Format-neutral "Auto Align & Space": boxes whose centres nearly line up are snapped into
3
+ * shared rows and columns, then the rows and columns are spaced evenly.
4
+ *
5
+ * Boxes use `{ x, y }` as the top-left corner with y growing downward. Clustering compares
6
+ * centres: a centre joins the current row (column) while it stays within `tolerance` of that
7
+ * row's mean centre; the default tolerance is half the median box height (width). Rows keep the
8
+ * top of the first row and columns the left of the first column; the gap between neighbouring
9
+ * rows (columns) becomes their current average gap, clamped to at least `minimumGap`.
10
+ */
11
+ export interface AutoAlignBox {
12
+ id: string;
13
+ x: number;
14
+ y: number;
15
+ width: number;
16
+ height: number;
17
+ }
18
+ export interface AutoAlignOptions {
19
+ /** Centre distance that still counts as the same row or column. */
20
+ tolerance?: {
21
+ x?: number;
22
+ y?: number;
23
+ };
24
+ /** Smallest gap kept between rows and between columns. */
25
+ minimumGap?: number;
26
+ }
27
+ /** New top-left corners for every box. Boxes need not overlap-free input; ids must be unique. */
28
+ export declare function autoAlignBoxes(boxes: readonly AutoAlignBox[], options?: AutoAlignOptions): Map<string, {
29
+ x: number;
30
+ y: number;
31
+ }>;
32
+ //# sourceMappingURL=auto-align.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-align.d.ts","sourceRoot":"","sources":["../../geometry/auto-align.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,gBAAgB;IAChC,mEAAmE;IACnE,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AA8DD,iGAAiG;AACjG,wBAAgB,cAAc,CAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,OAAO,GAAE,gBAAqB,GAC5B,GAAG,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+BvC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Format-neutral automatic layout of a directed graph of boxes: layered (a small Sugiyama
3
+ * variant for flowcharts and hierarchies), an indented compact tree and a circle per connected
4
+ * component. Unconnected boxes are placed in a grid after the connected ones.
5
+ *
6
+ * Coordinates are abstract units with y growing downward; results are box centres relative to
7
+ * the top-left corner of the whole layout. No DOM and no format semantics: callers map their
8
+ * own shapes and connections in and apply the positions themselves.
9
+ */
10
+ export interface GraphLayoutNode {
11
+ id: string;
12
+ width: number;
13
+ height: number;
14
+ }
15
+ /** A directed connection; edges naming unknown nodes, self loops and duplicates are ignored. */
16
+ export interface GraphLayoutEdge {
17
+ from: string;
18
+ to: string;
19
+ }
20
+ export type GraphLayoutStyle = 'flowchart-tb' | 'flowchart-lr' | 'hierarchy' | 'compact-tree' | 'circular';
21
+ export declare const GRAPH_LAYOUT_STYLES: readonly GraphLayoutStyle[];
22
+ export interface GraphLayoutOptions {
23
+ /** Gap between neighbouring boxes in the same layer, row or circle. */
24
+ spacing?: number;
25
+ /** Gap between layers (or tree levels). Defaults to `spacing`. */
26
+ layerSpacing?: number;
27
+ }
28
+ export interface GraphLayoutPoint {
29
+ x: number;
30
+ y: number;
31
+ }
32
+ /**
33
+ * Lay out every node. Components are packed side by side (stacked for left-to-right flowcharts),
34
+ * then unconnected nodes follow in a grid. Returns centres relative to the layout's top left.
35
+ */
36
+ export declare function layoutGraph(nodes: readonly GraphLayoutNode[], edges: readonly GraphLayoutEdge[], style: GraphLayoutStyle, options?: GraphLayoutOptions): Map<string, GraphLayoutPoint>;
37
+ //# sourceMappingURL=graph-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-layout.d.ts","sourceRoot":"","sources":["../../geometry/graph-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AACD,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACX;AACD,MAAM,MAAM,gBAAgB,GACzB,cAAc,GACd,cAAc,GACd,WAAW,GACX,cAAc,GACd,UAAU,CAAC;AACd,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAM1D,CAAC;AACF,MAAM,WAAW,kBAAkB;IAClC,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,gBAAgB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AA+QD;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,kBAAuB,GAC9B,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAyD/B"}