@diagrammo/dgmo 0.94.0 → 0.96.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 (220) hide show
  1. package/README.md +1 -1
  2. package/dist/advanced.d.ts +97 -570
  3. package/dist/advanced.js +176 -352
  4. package/dist/block.d.ts +6 -0
  5. package/dist/block.js +59 -57
  6. package/dist/{calculator-BNH3GSJE.js → calculator-GIB7POFX.js} +2 -2
  7. package/dist/{chart-meta-BbjsRY7o.d.ts → chart-meta-uImk4eTn.d.ts} +1 -1
  8. package/dist/chart-meta.d.ts +2 -2
  9. package/dist/chart-meta.js +16 -16
  10. package/dist/{chart-types-Cppnp31G.d.ts → chart-types-CBVYiLqy.d.ts} +1 -5
  11. package/dist/{charts-d3-SZV2SFTM.js → charts-d3-IRP5VANE.js} +5 -5
  12. package/dist/{chunk-MLY5ALOV.js → chunk-2BYFNZVM.js} +2 -2
  13. package/dist/{chunk-OSSTOSXU.js → chunk-2M3K6GD2.js} +3 -6
  14. package/dist/{chunk-CDM6XMOT.js → chunk-34JOHSVE.js} +2 -2
  15. package/dist/chunk-35A3J4Z5.js +14 -0
  16. package/dist/{chunk-HI6R27YA.js → chunk-3W73ZP6W.js} +9 -4
  17. package/dist/{chunk-IHN6WDEY.js → chunk-4B45SNZH.js} +5 -5
  18. package/dist/{chunk-AULZD45V.js → chunk-5ARANBIE.js} +2 -2
  19. package/dist/{chunk-DDIOWNHS.js → chunk-5BG4OSWJ.js} +6 -6
  20. package/dist/{chunk-6JCTW74W.js → chunk-5G4DOOX2.js} +1 -1
  21. package/dist/{chunk-JT2BG7LM.js → chunk-5GU6C5WB.js} +3 -3
  22. package/dist/{chunk-EBIDNRSR.js → chunk-5H7SA5ZD.js} +1 -1
  23. package/dist/{chunk-CN4RDJDV.js → chunk-5LG526X7.js} +1 -1
  24. package/dist/{chunk-VDY2GR6U.js → chunk-67N26CER.js} +2 -2
  25. package/dist/{chunk-G3HZ4PGE.js → chunk-67RKJEKF.js} +6 -6
  26. package/dist/{chunk-D3K4U3ZM.js → chunk-6K2W3FH7.js} +8 -5
  27. package/dist/{chunk-C6G36F5S.js → chunk-7UWVHNPM.js} +4 -4
  28. package/dist/{chunk-FWVE373X.js → chunk-AQRSEQZV.js} +1 -1
  29. package/dist/{chunk-BQO24BDM.js → chunk-AUXUNV73.js} +1 -1
  30. package/dist/{chunk-3PP746YM.js → chunk-B2YVZ3QU.js} +1 -1
  31. package/dist/{chunk-QPQWY5RU.js → chunk-B5CEV7IR.js} +3 -3
  32. package/dist/{chunk-J7Q4AB23.js → chunk-B7BSRVNC.js} +2 -2
  33. package/dist/{chunk-IXHWS2HI.js → chunk-BD4O4D2A.js} +2 -2
  34. package/dist/{chunk-4TEPDQHJ.js → chunk-BUVLLK3D.js} +7 -7
  35. package/dist/{chunk-B25IWGDH.js → chunk-CD7VQCDL.js} +8 -8
  36. package/dist/{chunk-I37S3EZE.js → chunk-CP73WWLN.js} +371 -286
  37. package/dist/{chunk-GI5R5B3S.js → chunk-D7DGLJ7N.js} +2 -2
  38. package/dist/{chunk-3TWBMU7K.js → chunk-DKCVAQU3.js} +9 -9
  39. package/dist/{chunk-KBDMEOLI.js → chunk-DPNSDCR3.js} +1 -1
  40. package/dist/{chunk-BRGRIZQB.js → chunk-DWMQ24JR.js} +2 -2
  41. package/dist/{chunk-4XYZJTFO.js → chunk-EM5SA7NC.js} +11 -3
  42. package/dist/{chunk-AM42TLSZ.js → chunk-EMGNCG5C.js} +1 -1
  43. package/dist/{chunk-3KVUFHUJ.js → chunk-EPB3UEMD.js} +2 -2
  44. package/dist/{chunk-NXU4N5WT.js → chunk-EZ6BI5LL.js} +1 -1
  45. package/dist/{chunk-2ZW4NBYX.js → chunk-FBK32S4D.js} +1 -1
  46. package/dist/{chunk-2I4UQG7W.js → chunk-FHX373L5.js} +1 -1
  47. package/dist/{chunk-AQQUJEDN.js → chunk-FKJWZWNU.js} +1 -1
  48. package/dist/{chunk-TIIZIAGS.js → chunk-FUYEXLAN.js} +6 -13
  49. package/dist/{chunk-TASRGDYP.js → chunk-GEHK4UD5.js} +3 -3
  50. package/dist/{chunk-ZD3QCNB7.js → chunk-GLL237AP.js} +2 -2
  51. package/dist/{chunk-PGSGJLUR.js → chunk-GM2SLMQW.js} +2 -2
  52. package/dist/{chunk-NOQB4KMV.js → chunk-H7JVKUA5.js} +5 -5
  53. package/dist/{chunk-DNM3XZCK.js → chunk-H7RQG4PH.js} +2 -2
  54. package/dist/{chunk-7SXV7NUS.js → chunk-HH3DHNQA.js} +2 -2
  55. package/dist/{chunk-GWQRTA5W.js → chunk-HZX4QZGR.js} +1 -1
  56. package/dist/{chunk-KBEWVCK3.js → chunk-I2I2FKAK.js} +1 -1
  57. package/dist/{chunk-2HSHWPTO.js → chunk-I3ZRIMR7.js} +10 -10
  58. package/dist/{chunk-7IOZ6JE4.js → chunk-IKXQ6NVR.js} +7 -7
  59. package/dist/{chunk-XJQ6Z3FO.js → chunk-IQZSKWE5.js} +3 -3
  60. package/dist/{chunk-3GUEYQGL.js → chunk-ITDF3MWD.js} +3 -3
  61. package/dist/{chunk-JXGSTBW6.js → chunk-IU7XKZA6.js} +2 -2
  62. package/dist/{chunk-RITTLIDJ.js → chunk-IZFJZCF6.js} +4 -4
  63. package/dist/{chunk-DRQSB72S.js → chunk-JBAFAKGX.js} +7 -7
  64. package/dist/{chunk-VSAKEMDD.js → chunk-JCC3B2GS.js} +8 -2
  65. package/dist/{chunk-66JTY4AN.js → chunk-JRN2CRXJ.js} +1 -1
  66. package/dist/{chunk-2FDQEQID.js → chunk-K2SFH3GJ.js} +2 -2
  67. package/dist/{chunk-NM5V5EKY.js → chunk-K2WXMXI2.js} +1 -1
  68. package/dist/{chunk-XKCRKD2B.js → chunk-KDWEOT54.js} +24 -12
  69. package/dist/{chunk-PVWIBKV2.js → chunk-KQAPFIYF.js} +2 -2
  70. package/dist/{chunk-4SACN2C5.js → chunk-LGUFJ7Y2.js} +1 -1
  71. package/dist/{chunk-AYUSD4Z6.js → chunk-LRHPBWOY.js} +5 -5
  72. package/dist/{chunk-DLJJOCIT.js → chunk-M4ZUIW3J.js} +3 -3
  73. package/dist/{chunk-CIHHTS5B.js → chunk-MAYTYF5S.js} +3 -3
  74. package/dist/{chunk-5ZUZZDW5.js → chunk-MVUNMJKO.js} +46 -52
  75. package/dist/{chunk-KBHT5XEY.js → chunk-MYHR3PMH.js} +194 -35
  76. package/dist/{chunk-NBAAIRFP.js → chunk-NI4L6HEU.js} +4 -1
  77. package/dist/{chunk-A2A2I4Z4.js → chunk-O2HNVNKO.js} +2 -2
  78. package/dist/{chunk-2XMTZ5JR.js → chunk-OAZ6BIIB.js} +3 -3
  79. package/dist/{chunk-IZHGT5HD.js → chunk-OO4GUE4E.js} +3 -3
  80. package/dist/{chunk-KSZB7TIY.js → chunk-OYGJZA24.js} +8 -8
  81. package/dist/{chunk-H6BT45SN.js → chunk-P2GNNEMN.js} +1 -1
  82. package/dist/{chunk-5HAYT43L.js → chunk-P3PSLC2K.js} +22 -6
  83. package/dist/{chunk-HHVIE45A.js → chunk-P6LKX3IQ.js} +4 -4
  84. package/dist/{chunk-NMS5XSLX.js → chunk-PGD6CNWO.js} +1 -1
  85. package/dist/{chunk-NVZ7R4EK.js → chunk-PWZEJNO6.js} +3 -3
  86. package/dist/{chunk-NPDVWFAQ.js → chunk-QEU6VM4O.js} +1 -1
  87. package/dist/{chunk-UIEKW4SG.js → chunk-R5L5E3TC.js} +0 -1
  88. package/dist/{chunk-2WQ3YZMN.js → chunk-RGFVHYDP.js} +2 -2
  89. package/dist/{chunk-YQMIKX54.js → chunk-RIK6WUMO.js} +62 -29
  90. package/dist/{chunk-BH2SF4TT.js → chunk-RTRORHSP.js} +1 -1
  91. package/dist/{chunk-4SP6OUO7.js → chunk-RVOSA4RR.js} +845 -193
  92. package/dist/{chunk-LKZCUFOW.js → chunk-SCYVGPLI.js} +2 -2
  93. package/dist/{chunk-XIUGSUE4.js → chunk-SIABEREK.js} +6 -2
  94. package/dist/{chunk-P7TRFL4P.js → chunk-SQBCNEJB.js} +4 -1
  95. package/dist/{chunk-3ZP3QC47.js → chunk-THTYCJGF.js} +2 -2
  96. package/dist/{chunk-4EX4OKGZ.js → chunk-TIPNNOZC.js} +5 -5
  97. package/dist/{chunk-UZ7EZW3B.js → chunk-TO53KK2P.js} +6 -1
  98. package/dist/{chunk-2MS623GW.js → chunk-TPCP2UOI.js} +3 -3
  99. package/dist/{chunk-Y3SIQN4J.js → chunk-TUOZ6AXC.js} +2 -2
  100. package/dist/{chunk-KRPLP5LP.js → chunk-U6N547QA.js} +1 -1
  101. package/dist/{chunk-RESEJSCV.js → chunk-VJ7NLYFE.js} +2 -2
  102. package/dist/{chunk-UXNA2H2V.js → chunk-VLI6AWS3.js} +2 -2
  103. package/dist/{chunk-TDAGJJPZ.js → chunk-VNAPEZX2.js} +1 -1
  104. package/dist/{chunk-EBVVMUAA.js → chunk-VVTCUIPN.js} +1 -1
  105. package/dist/{chunk-FVTYJUXR.js → chunk-W5MMPPGX.js} +2 -2
  106. package/dist/{chunk-BQMHJ6OW.js → chunk-WGNP5ND2.js} +20 -12
  107. package/dist/{chunk-5OTA2PUH.js → chunk-WLGOIMTI.js} +2 -2
  108. package/dist/{chunk-IGJEKO2P.js → chunk-WTPS73RM.js} +4 -4
  109. package/dist/{chunk-R6EGUTIV.js → chunk-YFIUABSF.js} +2 -2
  110. package/dist/{chunk-7PJBJ2DU.js → chunk-YSGOXZBB.js} +1 -1
  111. package/dist/{chunk-ZECJ7Q6C.js → chunk-YVIPJGFG.js} +2 -2
  112. package/dist/{chunk-5KKZXA44.js → chunk-ZBOIYC2G.js} +4 -2
  113. package/dist/{chunk-RBVFNUAL.js → chunk-ZOKD5F7M.js} +2 -2
  114. package/dist/{collapse-BSPH3BFM.js → collapse-6X5S2S3G.js} +2 -1
  115. package/dist/completion-registry.js +6 -37
  116. package/dist/copy-image.d.ts +34 -0
  117. package/dist/copy-image.js +96 -0
  118. package/dist/countdown.js +1 -1
  119. package/dist/dgmo-router-EPBQKQW2.js +100 -0
  120. package/dist/{dimensions-DS6FWLRY.js → dimensions-DBCRBZIU.js} +4 -4
  121. package/dist/editor.js +2 -7
  122. package/dist/{flowchart-parser-NZXASOZG.js → flowchart-parser-SM5LHF2D.js} +4 -4
  123. package/dist/{flowchart-renderer-PTCRIANF.js → flowchart-renderer-PPS2GTTD.js} +10 -10
  124. package/dist/highlight.js +3 -8
  125. package/dist/index.d.ts +42 -6
  126. package/dist/index.js +62 -57
  127. package/dist/{layout-MXHR3P35.js → layout-3J72UULM.js} +3 -3
  128. package/dist/{layout-U3AH6M7J.js → layout-AF4KA5B2.js} +4 -4
  129. package/dist/{layout-IT4ZTV6C.js → layout-FCFUVCRI.js} +7 -7
  130. package/dist/{layout-KV27UW25.js → layout-H2KP5A6M.js} +1 -1
  131. package/dist/{layout-ND26WVX2.js → layout-IXQNVRBE.js} +3 -3
  132. package/dist/{layout-ISSBWBH7.js → layout-KELSNWBD.js} +7 -7
  133. package/dist/{layout-JTIRCKAW.js → layout-LNVIH45F.js} +3 -3
  134. package/dist/{layout-VC3MXRB4.js → layout-MPSH3YWE.js} +7 -7
  135. package/dist/{layout-HFBK5UEG.js → layout-PPIVGJXD.js} +2 -2
  136. package/dist/{layout-RH3N46HP.js → layout-R6G4MEO3.js} +4 -3
  137. package/dist/{layout-search-BBX2BMEF.js → layout-search-C2TYUH4L.js} +5 -5
  138. package/dist/{parser-BT4NI6JY.js → parser-2AXU2MHJ.js} +3 -3
  139. package/dist/{parser-3QIFY5IN.js → parser-4BOP77CD.js} +2 -2
  140. package/dist/{parser-TAYRTCPR.js → parser-4GHAYZKZ.js} +5 -5
  141. package/dist/{parser-LTRQASGB.js → parser-5HQPPVHJ.js} +3 -3
  142. package/dist/{parser-EAQPZX2B.js → parser-5RUD4A3X.js} +3 -3
  143. package/dist/{parser-BJ7RJNUM.js → parser-6WURFLOB.js} +3 -3
  144. package/dist/{parser-R3LPEQIT.js → parser-722KLLAQ.js} +4 -4
  145. package/dist/{parser-KMKVFET2.js → parser-B7SCN7FG.js} +2 -2
  146. package/dist/{parser-TUAEX6ML.js → parser-BNRX35NT.js} +3 -3
  147. package/dist/{parser-NL73FSFI.js → parser-BPYHIG24.js} +3 -3
  148. package/dist/{parser-3LT3ZUUC.js → parser-CRJYLOHA.js} +2 -2
  149. package/dist/{parser-NUU3DVW4.js → parser-DGLKH4NT.js} +2 -2
  150. package/dist/{parser-5UZV32ZI.js → parser-DRUGM3R6.js} +2 -2
  151. package/dist/{parser-KLCSFQ3J.js → parser-DWV2CYBS.js} +3 -3
  152. package/dist/{parser-2IKPQVKX.js → parser-F3JJNIFC.js} +3 -3
  153. package/dist/{parser-EFF22GYO.js → parser-F75WNYMK.js} +3 -3
  154. package/dist/{parser-RTWPFKXG.js → parser-GBQY3WOZ.js} +3 -3
  155. package/dist/{parser-F7NDRPMA.js → parser-GM5B2EPW.js} +3 -3
  156. package/dist/{parser-K2DI26SC.js → parser-H6HT2WFQ.js} +2 -2
  157. package/dist/{parser-PEZ7RN43.js → parser-HM6FEX5K.js} +3 -3
  158. package/dist/{parser-YG625J5H.js → parser-L7SI3PW4.js} +4 -4
  159. package/dist/{parser-GMQJISZ6.js → parser-LUJX7AXO.js} +2 -2
  160. package/dist/{parser-A3AN76RQ.js → parser-MWINQNQW.js} +3 -3
  161. package/dist/{parser-KJPPUN4D.js → parser-OHBBDCG4.js} +2 -2
  162. package/dist/{parser-4RFY7D52.js → parser-QWTECQEC.js} +5 -5
  163. package/dist/{parser-4TBSWULQ.js → parser-TTGZYLYD.js} +3 -3
  164. package/dist/{parser-6TDWUKM5.js → parser-UHKROC7Z.js} +3 -3
  165. package/dist/{parser-H5OODY5N.js → parser-W6NX3AIV.js} +3 -3
  166. package/dist/{parser-GDLKUBTO.js → parser-WIKXZP4X.js} +2 -2
  167. package/dist/{parser-4Y6PODW6.js → parser-XEJP37GQ.js} +3 -3
  168. package/dist/{parser-RCIEKN7Y.js → parser-Y7QXD2UR.js} +2 -2
  169. package/dist/{parser-7QKQ4P4P.js → parser-ZV756RMP.js} +5 -5
  170. package/dist/{parser-KKF6Y5MM.js → parser-ZWWQZ4XZ.js} +4 -3
  171. package/dist/{redraw-AHW7EUUF.js → redraw-BZ4GI6IC.js} +6 -4
  172. package/dist/{redraw-STZ4WJAI.js → redraw-LEOXS7C6.js} +3 -3
  173. package/dist/{renderer-J3GPDK73.js → renderer-2MCV75JQ.js} +12 -12
  174. package/dist/{renderer-TINHO2IO.js → renderer-2V2XY2V7.js} +4 -4
  175. package/dist/{renderer-PHLCYVSN.js → renderer-5AEDVLAA.js} +8 -7
  176. package/dist/{renderer-W4MUMXJE.js → renderer-5GP7YUS4.js} +3 -3
  177. package/dist/{renderer-FMTLSOCX.js → renderer-66NCRXSC.js} +6 -6
  178. package/dist/{renderer-AM7P4LN7.js → renderer-6HU44IGJ.js} +4 -4
  179. package/dist/{renderer-JJ4QW3SK.js → renderer-7C76HP5W.js} +6 -6
  180. package/dist/{renderer-O6RP52CQ.js → renderer-7RAMBMTH.js} +6 -6
  181. package/dist/{renderer-M5DUMITP.js → renderer-BYLQ37T2.js} +8 -8
  182. package/dist/{renderer-7OGGV327.js → renderer-CVCCW7UT.js} +4 -4
  183. package/dist/{renderer-QTPWRRJ7.js → renderer-D6EH5UQ6.js} +6 -6
  184. package/dist/renderer-E3334XLT.js +84 -0
  185. package/dist/{renderer-IXBOT6DU.js → renderer-F7YGMEGQ.js} +2 -2
  186. package/dist/{renderer-XCLARXCK.js → renderer-GKY55M4Z.js} +5 -5
  187. package/dist/{renderer-KJ3V5BYP.js → renderer-LFZKG2GR.js} +5 -5
  188. package/dist/{renderer-2LYX6NHN.js → renderer-LJPUCG3U.js} +5 -5
  189. package/dist/{renderer-DAZWHNLI.js → renderer-MGF2NNGG.js} +3 -3
  190. package/dist/{renderer-HX6ICPDX.js → renderer-MVBAQP3M.js} +4 -4
  191. package/dist/{renderer-XOWDERU2.js → renderer-MZIWP55B.js} +5 -5
  192. package/dist/{renderer-MWZC7TMD.js → renderer-N6PM5CSG.js} +7 -7
  193. package/dist/{renderer-ISQJ2ELA.js → renderer-N75E3UVY.js} +5 -5
  194. package/dist/{renderer-53B523PM.js → renderer-ONENGXFQ.js} +7 -7
  195. package/dist/{renderer-RUSQJFFC.js → renderer-PEJF6R2I.js} +2 -2
  196. package/dist/{renderer-36446HSH.js → renderer-QZJZIAT3.js} +2 -2
  197. package/dist/{renderer-UTEEJDGB.js → renderer-SYRH3B62.js} +6 -6
  198. package/dist/{renderer-LNP23NSM.js → renderer-TS5NHOQD.js} +6 -6
  199. package/dist/{renderer-J7ZSTJUE.js → renderer-VNJOZPSH.js} +7 -7
  200. package/dist/{renderer-OUDHH5MV.js → renderer-VNUDN6F5.js} +12 -12
  201. package/dist/{renderer-JYHA6R2D.js → renderer-VUXAAGUG.js} +5 -5
  202. package/dist/{renderer-BXD5KVSR.js → renderer-YJVQT7QG.js} +6 -6
  203. package/dist/{renderer-radial-WFUX3Z3C.js → renderer-radial-4R7AKETK.js} +5 -5
  204. package/dist/{state-parser-KPVW5CRI.js → state-parser-EQBBEKHR.js} +5 -5
  205. package/dist/{state-renderer-ZVEI265C.js → state-renderer-SOGZ2CNN.js} +12 -12
  206. package/dist/{themes-DzIH3Hjv.d.ts → themes-CbJL3w8L.d.ts} +1 -1
  207. package/docs/ai-integration.md +5 -6
  208. package/docs/language-reference.md +69 -105
  209. package/gallery/fixtures/whiteboard.dgmo +1 -0
  210. package/package.json +5 -1
  211. package/dist/chunk-6BQSDF77.js +0 -734
  212. package/dist/chunk-NWSPPGIE.js +0 -60
  213. package/dist/chunk-VBMRZCMQ.js +0 -1465
  214. package/dist/chunk-WZBZXZ6T.js +0 -636
  215. package/dist/dgmo-router-E5O7RJSW.js +0 -101
  216. package/dist/layout-D4L44NRG.js +0 -11
  217. package/dist/parser-YHDGKPZI.js +0 -14
  218. package/dist/renderer-4SE7R22T.js +0 -85
  219. package/dist/renderer-WPN2SXGT.js +0 -29
  220. package/gallery/fixtures/sketch.dgmo +0 -22
package/dist/block.d.ts CHANGED
@@ -99,6 +99,12 @@ interface DgmoBlockOptions {
99
99
  sourceOpen?: boolean;
100
100
  /** Default: true in showcase mode, false in diagram mode. */
101
101
  showCopy?: boolean;
102
+ /**
103
+ * Show the copy-as-image toolbar button. Default: follows `showCopy`. Needs
104
+ * the client handler from `@diagrammo/dgmo/copy-image`; markup-only surfaces
105
+ * can omit it.
106
+ */
107
+ showCopyImage?: boolean;
102
108
  /**
103
109
  * Show the expand (full-screen) toolbar button. Default: true in showcase
104
110
  * mode, false in diagram mode. Needs the client lightbox handler to do
package/dist/block.js CHANGED
@@ -1,87 +1,86 @@
1
+ import {
2
+ render
3
+ } from "./chunk-RVOSA4RR.js";
4
+ import "./chunk-RIK6WUMO.js";
1
5
  import {
2
6
  defaultEmbedBackground,
3
7
  normalizeSvgForEmbed
4
- } from "./chunk-D3K4U3ZM.js";
5
- import {
6
- render
7
- } from "./chunk-4SP6OUO7.js";
8
- import "./chunk-YQMIKX54.js";
8
+ } from "./chunk-6K2W3FH7.js";
9
9
  import {
10
10
  docsLink,
11
11
  renderErrorCard
12
- } from "./chunk-2FDQEQID.js";
13
- import "./chunk-5ZUZZDW5.js";
14
- import "./chunk-H6BT45SN.js";
15
- import "./chunk-3PP746YM.js";
16
- import "./chunk-NM5V5EKY.js";
17
- import "./chunk-3KVUFHUJ.js";
12
+ } from "./chunk-K2SFH3GJ.js";
13
+ import "./chunk-MVUNMJKO.js";
14
+ import "./chunk-P2GNNEMN.js";
15
+ import "./chunk-K2WXMXI2.js";
16
+ import "./chunk-EPB3UEMD.js";
18
17
  import "./chunk-EOYPX6SF.js";
19
18
  import "./chunk-KMU65FYM.js";
20
- import "./chunk-2ZW4NBYX.js";
21
- import "./chunk-AULZD45V.js";
22
- import "./chunk-WZBZXZ6T.js";
23
- import "./chunk-NWSPPGIE.js";
24
- import "./chunk-5HAYT43L.js";
25
- import "./chunk-P7TRFL4P.js";
26
- import "./chunk-J7Q4AB23.js";
27
- import "./chunk-XIUGSUE4.js";
28
- import "./chunk-EBVVMUAA.js";
29
- import "./chunk-LKZCUFOW.js";
30
- import "./chunk-UXNA2H2V.js";
31
- import "./chunk-PGSGJLUR.js";
32
- import "./chunk-7PJBJ2DU.js";
19
+ import "./chunk-FBK32S4D.js";
20
+ import "./chunk-5ARANBIE.js";
21
+ import "./chunk-P3PSLC2K.js";
22
+ import "./chunk-SQBCNEJB.js";
23
+ import "./chunk-B7BSRVNC.js";
24
+ import "./chunk-SIABEREK.js";
25
+ import "./chunk-35A3J4Z5.js";
26
+ import "./chunk-VVTCUIPN.js";
27
+ import "./chunk-B2YVZ3QU.js";
28
+ import "./chunk-SCYVGPLI.js";
29
+ import "./chunk-VLI6AWS3.js";
30
+ import "./chunk-GM2SLMQW.js";
31
+ import "./chunk-YSGOXZBB.js";
33
32
  import "./chunk-EPDBWATV.js";
34
- import "./chunk-3GUEYQGL.js";
33
+ import "./chunk-ITDF3MWD.js";
35
34
  import {
36
35
  escapeAttr,
37
36
  escapeHtml
38
- } from "./chunk-TASRGDYP.js";
37
+ } from "./chunk-GEHK4UD5.js";
39
38
  import "./chunk-6XLMTAEX.js";
40
39
  import "./chunk-NERQSSYD.js";
41
- import "./chunk-BQO24BDM.js";
42
- import "./chunk-R6EGUTIV.js";
40
+ import "./chunk-AUXUNV73.js";
41
+ import "./chunk-YFIUABSF.js";
43
42
  import "./chunk-QQJUTGQH.js";
44
43
  import "./chunk-2CW5ZTNH.js";
45
- import "./chunk-PVWIBKV2.js";
44
+ import "./chunk-KQAPFIYF.js";
46
45
  import "./chunk-TOHTKLKE.js";
47
- import "./chunk-NXU4N5WT.js";
46
+ import "./chunk-EZ6BI5LL.js";
48
47
  import "./chunk-A2RUBBVT.js";
49
- import "./chunk-KBEWVCK3.js";
48
+ import "./chunk-I2I2FKAK.js";
50
49
  import {
51
50
  monthIndex,
52
51
  weekdayIndex
53
52
  } from "./chunk-URRAWU5D.js";
54
53
  import "./chunk-3DPOIW3W.js";
55
- import "./chunk-NPDVWFAQ.js";
56
- import "./chunk-2WQ3YZMN.js";
54
+ import "./chunk-QEU6VM4O.js";
55
+ import "./chunk-RGFVHYDP.js";
57
56
  import "./chunk-ZI6WC24V.js";
58
57
  import "./chunk-CYRB2JTN.js";
59
- import "./chunk-IXHWS2HI.js";
60
- import "./chunk-BRGRIZQB.js";
58
+ import "./chunk-BD4O4D2A.js";
59
+ import "./chunk-DWMQ24JR.js";
61
60
  import "./chunk-XSVWUOUZ.js";
62
- import "./chunk-JXGSTBW6.js";
61
+ import "./chunk-IU7XKZA6.js";
63
62
  import "./chunk-H7AXCRO7.js";
64
- import "./chunk-2XMTZ5JR.js";
63
+ import "./chunk-OAZ6BIIB.js";
65
64
  import "./chunk-24YPR5EH.js";
66
- import "./chunk-UIEKW4SG.js";
65
+ import "./chunk-R5L5E3TC.js";
67
66
  import "./chunk-VLC6WNRD.js";
68
67
  import "./chunk-XCKNFFKM.js";
69
- import "./chunk-NMS5XSLX.js";
68
+ import "./chunk-PGD6CNWO.js";
70
69
  import "./chunk-JILEYZ2V.js";
71
70
  import {
72
71
  encodeDiagramUrl
73
72
  } from "./chunk-6OSGENN5.js";
74
- import "./chunk-2HSHWPTO.js";
75
- import "./chunk-KRPLP5LP.js";
76
- import "./chunk-KBDMEOLI.js";
77
- import "./chunk-VSAKEMDD.js";
78
- import "./chunk-5OTA2PUH.js";
79
- import "./chunk-ZECJ7Q6C.js";
80
- import "./chunk-CDM6XMOT.js";
73
+ import "./chunk-I3ZRIMR7.js";
74
+ import "./chunk-U6N547QA.js";
75
+ import "./chunk-DPNSDCR3.js";
76
+ import "./chunk-JCC3B2GS.js";
77
+ import "./chunk-WLGOIMTI.js";
78
+ import "./chunk-YVIPJGFG.js";
79
+ import "./chunk-34JOHSVE.js";
81
80
  import "./chunk-2SKMEL7V.js";
82
- import "./chunk-DNM3XZCK.js";
81
+ import "./chunk-H7RQG4PH.js";
83
82
  import "./chunk-TIVMAITN.js";
84
- import "./chunk-2MS623GW.js";
83
+ import "./chunk-TPCP2UOI.js";
85
84
  import "./chunk-NXMESY4J.js";
86
85
  import "./chunk-EQW6HOP4.js";
87
86
  import {
@@ -91,26 +90,26 @@ import {
91
90
  choosePalette,
92
91
  extractPaletteDirective
93
92
  } from "./chunk-CYTFO2LF.js";
94
- import "./chunk-CIHHTS5B.js";
93
+ import "./chunk-MAYTYF5S.js";
95
94
  import "./chunk-C3Z4DX3V.js";
96
95
  import "./chunk-IYULMRBE.js";
97
- import "./chunk-DLJJOCIT.js";
96
+ import "./chunk-M4ZUIW3J.js";
98
97
  import "./chunk-GXCDD6NG.js";
99
98
  import {
100
99
  getPalette,
101
100
  resolvePaletteOrFallback
102
101
  } from "./chunk-FMAVHTYB.js";
103
102
  import "./chunk-N7VMGZCU.js";
104
- import "./chunk-7SXV7NUS.js";
103
+ import "./chunk-HH3DHNQA.js";
105
104
  import "./chunk-NOTA6TEI.js";
106
- import "./chunk-VDY2GR6U.js";
105
+ import "./chunk-67N26CER.js";
107
106
  import "./chunk-7WEYXYLC.js";
108
107
  import "./chunk-QKPOIJBT.js";
109
108
  import "./chunk-ICLB27PZ.js";
110
- import "./chunk-GI5R5B3S.js";
109
+ import "./chunk-D7DGLJ7N.js";
111
110
  import "./chunk-4WW3SGMH.js";
112
111
  import "./chunk-3UR4F7FE.js";
113
- import "./chunk-4SACN2C5.js";
112
+ import "./chunk-LGUFJ7Y2.js";
114
113
  import {
115
114
  CHART_TYPE_IDS,
116
115
  REGISTRY_COLON_KEY_TOKENS,
@@ -118,7 +117,7 @@ import {
118
117
  REGISTRY_DIRECTIVE_TOKENS,
119
118
  REGISTRY_MODIFIER_TOKENS,
120
119
  REGISTRY_STATUS_TOKENS
121
- } from "./chunk-TIIZIAGS.js";
120
+ } from "./chunk-FUYEXLAN.js";
122
121
  import "./chunk-Z6QFHH4D.js";
123
122
  import "./chunk-UOCWYLYT.js";
124
123
  import "./chunk-KAO7JL4I.js";
@@ -318,7 +317,7 @@ var ATTRIBUTE_KEYS = /* @__PURE__ */ new Set([
318
317
  "value",
319
318
  "label",
320
319
  "style",
321
- // Sketch (§31): shape morph + half-slot coordinate keys
320
+ // Shape morph + coordinate keys (`at:` is whiteboard's position)
322
321
  "shape",
323
322
  "at",
324
323
  // Treemap + boxes-and-lines + map colour-by-value channel key
@@ -1063,6 +1062,7 @@ function resolveBlockOptions(opts) {
1063
1062
  showSource: (opts.showSource ?? showcase) || !!opts.sourceOpen,
1064
1063
  sourceOpen: opts.sourceOpen ?? false,
1065
1064
  showCopy: opts.showCopy ?? showcase,
1065
+ showCopyImage: opts.showCopyImage ?? opts.showCopy ?? showcase,
1066
1066
  showExpand: opts.showExpand ?? showcase,
1067
1067
  showOpenInEditor: opts.showOpenInEditor ?? showcase,
1068
1068
  editorBaseUrl: opts.editorBaseUrl ?? EDITOR_BASE_URL,
@@ -1166,11 +1166,13 @@ function dataAttributeString(attrs) {
1166
1166
  var CODE_ICON = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m10 4.5 4 3.5-4 3.5"/><path d="m6 4.5-4 3.5 4 3.5"/></svg>`;
1167
1167
  var COPY_ICON = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="5.5" y="5.5" width="8" height="8" rx="1.5"/><path d="M10.5 5.5V3a1.5 1.5 0 0 0-1.5-1.5H3A1.5 1.5 0 0 0 1.5 3v6A1.5 1.5 0 0 0 3 10.5h2.5"/></svg>`;
1168
1168
  var EXTERNAL_ICON = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9.5 2.5h4v4"/><path d="M13.5 2.5 7 9"/><path d="M12.5 9.5v3a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h3"/></svg>`;
1169
+ var IMAGE_ICON = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="1.5" y="2.5" width="13" height="11" rx="1.5"/><circle cx="5.5" cy="6" r="1.25"/><path d="m14.5 11-3.5-3.5-6.5 6"/></svg>`;
1169
1170
  var EXPAND_ICON = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9.5 2.5h4v4"/><path d="M6.5 13.5h-4v-4"/><path d="M13.5 2.5 9 7"/><path d="M2.5 13.5 7 9"/></svg>`;
1170
1171
  function sourceDisclosure(source, opts) {
1171
1172
  const toggle = opts.showSource ? `<span class="dgmo-toggle" aria-label="View DGMO source">${CODE_ICON}</span>` : "";
1172
1173
  const expandButton = opts.showExpand ? `<button type="button" class="dgmo-toolbar-btn dgmo-expand" aria-label="View full screen">${EXPAND_ICON}</button>` : "";
1173
1174
  const copyButton = opts.showCopy ? `<button type="button" class="dgmo-toolbar-btn dgmo-copy" aria-label="Copy DGMO source" data-dgmo-source="${escapeAttr(source)}">${COPY_ICON}</button>` : "";
1175
+ const copyImageButton = opts.showCopyImage ? `<button type="button" class="dgmo-toolbar-btn dgmo-copy-image" aria-label="Copy as image">${IMAGE_ICON}</button>` : "";
1174
1176
  let openButton = "";
1175
1177
  if (opts.showOpenInEditor) {
1176
1178
  const encoded = encodeDiagramUrl(source, {
@@ -1181,7 +1183,7 @@ function sourceDisclosure(source, opts) {
1181
1183
  openButton = `<a href="${escapeAttr(encoded.url)}" target="_blank" rel="noopener noreferrer" class="dgmo-toolbar-btn dgmo-open" aria-label="Open in online editor">${EXTERNAL_ICON}</a>`;
1182
1184
  }
1183
1185
  }
1184
- const buttons = `${toggle}${expandButton}${copyButton}${openButton}`;
1186
+ const buttons = `${toggle}${expandButton}${copyButton}${copyImageButton}${openButton}`;
1185
1187
  if (!buttons) return "";
1186
1188
  if (!opts.showSource) {
1187
1189
  return `<div class="dgmo-source-wrap"><div class="dgmo-toolbar">${buttons}</div></div>`;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  calculateSchedule
3
- } from "./chunk-66JTY4AN.js";
3
+ } from "./chunk-JRN2CRXJ.js";
4
4
  import "./chunk-EQW6HOP4.js";
5
5
  import "./chunk-NOTA6TEI.js";
6
- import "./chunk-TIIZIAGS.js";
6
+ import "./chunk-FUYEXLAN.js";
7
7
  import "./chunk-3J7O3CU6.js";
8
8
  import "./chunk-BYU54C3S.js";
9
9
  import "./chunk-YLJ4XMA6.js";
@@ -1,4 +1,4 @@
1
- import { c as PaletteColors } from './chart-types-Cppnp31G.js';
1
+ import { c as PaletteColors } from './chart-types-CBVYiLqy.js';
2
2
  import { T as TagGroup, D as DgmoError } from './tag-groups-DydewK3D.js';
3
3
 
4
4
  /** Convert hex (#RRGGBB or #RGB) to { h, s, l } with h in degrees, s/l as percentages. */
@@ -1,3 +1,3 @@
1
- export { a as ChartTypeId, b as ChartTypeMeta, C as CompactViewState, D as DecodedDiagramUrl, E as EncodeDiagramUrlOptions, e as EncodeDiagramUrlResult, c as PaletteColors, d as chartTypes, f as decodeDiagramUrl, h as decodeViewState, i as encodeDiagramUrl, j as encodeViewState, k as getAvailablePalettes, g as getPalette } from './chart-types-Cppnp31G.js';
2
- export { A as ALL_CHART_TYPES, O as OrgNode, P as ParsedOrg, l as hexToHSLString, o as normalizePertSourceForShare, p as parseDgmoChartType, q as parseFirstLine, r as parseOrg, s as parseRaci, t as resolveOrgImports } from './chart-meta-BbjsRY7o.js';
1
+ export { a as ChartTypeId, b as ChartTypeMeta, C as CompactViewState, D as DecodedDiagramUrl, E as EncodeDiagramUrlOptions, e as EncodeDiagramUrlResult, c as PaletteColors, d as chartTypes, f as decodeDiagramUrl, h as decodeViewState, i as encodeDiagramUrl, j as encodeViewState, k as getAvailablePalettes, g as getPalette } from './chart-types-CBVYiLqy.js';
2
+ export { A as ALL_CHART_TYPES, O as OrgNode, P as ParsedOrg, l as hexToHSLString, o as normalizePertSourceForShare, p as parseDgmoChartType, q as parseFirstLine, r as parseOrg, s as parseRaci, t as resolveOrgImports } from './chart-meta-uImk4eTn.js';
3
3
  import './tag-groups-DydewK3D.js';
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  normalizePertSourceForShare,
3
3
  resolveOrgImports
4
- } from "./chunk-AQQUJEDN.js";
4
+ } from "./chunk-FKJWZWNU.js";
5
5
  import {
6
6
  decodeDiagramUrl,
7
7
  decodeViewState,
@@ -10,49 +10,49 @@ import {
10
10
  } from "./chunk-6OSGENN5.js";
11
11
  import {
12
12
  parseDgmoChartType
13
- } from "./chunk-2HSHWPTO.js";
13
+ } from "./chunk-I3ZRIMR7.js";
14
14
  import {
15
15
  parseRaci
16
- } from "./chunk-KRPLP5LP.js";
17
- import "./chunk-KBDMEOLI.js";
18
- import "./chunk-VSAKEMDD.js";
16
+ } from "./chunk-U6N547QA.js";
17
+ import "./chunk-DPNSDCR3.js";
18
+ import "./chunk-JCC3B2GS.js";
19
19
  import {
20
20
  parseOrg
21
- } from "./chunk-5OTA2PUH.js";
22
- import "./chunk-ZECJ7Q6C.js";
23
- import "./chunk-CDM6XMOT.js";
21
+ } from "./chunk-WLGOIMTI.js";
22
+ import "./chunk-YVIPJGFG.js";
23
+ import "./chunk-34JOHSVE.js";
24
24
  import "./chunk-2SKMEL7V.js";
25
- import "./chunk-DNM3XZCK.js";
25
+ import "./chunk-H7RQG4PH.js";
26
26
  import "./chunk-TIVMAITN.js";
27
- import "./chunk-2MS623GW.js";
27
+ import "./chunk-TPCP2UOI.js";
28
28
  import "./chunk-NXMESY4J.js";
29
29
  import "./chunk-EQW6HOP4.js";
30
30
  import "./chunk-MKSTL6DR.js";
31
31
  import "./chunk-CYTFO2LF.js";
32
- import "./chunk-CIHHTS5B.js";
32
+ import "./chunk-MAYTYF5S.js";
33
33
  import "./chunk-C3Z4DX3V.js";
34
34
  import "./chunk-IYULMRBE.js";
35
- import "./chunk-DLJJOCIT.js";
35
+ import "./chunk-M4ZUIW3J.js";
36
36
  import "./chunk-GXCDD6NG.js";
37
37
  import {
38
38
  getAvailablePalettes,
39
39
  getPalette
40
40
  } from "./chunk-FMAVHTYB.js";
41
41
  import "./chunk-N7VMGZCU.js";
42
- import "./chunk-7SXV7NUS.js";
42
+ import "./chunk-HH3DHNQA.js";
43
43
  import "./chunk-NOTA6TEI.js";
44
- import "./chunk-VDY2GR6U.js";
44
+ import "./chunk-67N26CER.js";
45
45
  import "./chunk-7WEYXYLC.js";
46
46
  import "./chunk-QKPOIJBT.js";
47
47
  import "./chunk-ICLB27PZ.js";
48
48
  import "./chunk-4WW3SGMH.js";
49
49
  import "./chunk-3UR4F7FE.js";
50
- import "./chunk-4SACN2C5.js";
50
+ import "./chunk-LGUFJ7Y2.js";
51
51
  import {
52
52
  ALL_CHART_TYPES,
53
53
  chartTypes,
54
54
  parseFirstLine
55
- } from "./chunk-TIIZIAGS.js";
55
+ } from "./chunk-FUYEXLAN.js";
56
56
  import "./chunk-Z6QFHH4D.js";
57
57
  import "./chunk-KAO7JL4I.js";
58
58
  import {
@@ -324,13 +324,9 @@ declare const chartTypesData: readonly [{
324
324
  }, {
325
325
  readonly id: "block";
326
326
  readonly description: "Block diagram: an author-controlled grid of rectangular blocks with nested, collapsible containers — system/hardware/architecture layouts where the 2-D arrangement is the meaning";
327
- }, {
328
- readonly id: "sketch";
329
- readonly description: "GUI-first constrained canvas: uniformly-sized shapes placed freely on a snap grid, arrows between them, meaning through tags — the markup is generated by the canvas editor";
330
- readonly beta: true;
331
327
  }, {
332
328
  readonly id: "whiteboard";
333
- readonly description: "Free-form whiteboard on an infinite canvas: rectangles, ellipses, databases, queues, free arrows, text, pasted images and freehand ink at pixel positions — drawn in the canvas; AI writes shapes, arrows and text, never ink";
329
+ readonly description: "Free-form whiteboard on an infinite canvas: rectangles, ellipses, databases, queues, files, free arrows, text, pasted images and freehand ink at pixel positions — drawn in the canvas; AI writes shapes, arrows and text, never ink";
334
330
  readonly beta: true;
335
331
  }, {
336
332
  readonly id: "goal";
@@ -2,23 +2,23 @@ import {
2
2
  D3_DATA_CHART_TYPES,
3
3
  renderDataChartD3,
4
4
  supportsD3DataChart
5
- } from "./chunk-YQMIKX54.js";
6
- import "./chunk-H6BT45SN.js";
5
+ } from "./chunk-RIK6WUMO.js";
6
+ import "./chunk-P2GNNEMN.js";
7
7
  import "./chunk-KMU65FYM.js";
8
8
  import "./chunk-EPDBWATV.js";
9
9
  import "./chunk-6XLMTAEX.js";
10
10
  import "./chunk-2CW5ZTNH.js";
11
11
  import "./chunk-TOHTKLKE.js";
12
12
  import "./chunk-CYRB2JTN.js";
13
- import "./chunk-UIEKW4SG.js";
13
+ import "./chunk-R5L5E3TC.js";
14
14
  import "./chunk-VLC6WNRD.js";
15
15
  import "./chunk-JILEYZ2V.js";
16
16
  import "./chunk-GXCDD6NG.js";
17
17
  import "./chunk-FMAVHTYB.js";
18
18
  import "./chunk-ICLB27PZ.js";
19
19
  import "./chunk-3UR4F7FE.js";
20
- import "./chunk-4SACN2C5.js";
21
- import "./chunk-TIIZIAGS.js";
20
+ import "./chunk-LGUFJ7Y2.js";
21
+ import "./chunk-FUYEXLAN.js";
22
22
  import "./chunk-UOCWYLYT.js";
23
23
  import "./chunk-KAO7JL4I.js";
24
24
  import "./chunk-6GXLAKUH.js";
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-XCKNFFKM.js";
12
12
  import {
13
13
  allTasks
14
- } from "./chunk-KRPLP5LP.js";
14
+ } from "./chunk-U6N547QA.js";
15
15
  import {
16
16
  FONT_FAMILY
17
17
  } from "./chunk-ICLB27PZ.js";
@@ -21,7 +21,7 @@ import {
21
21
  import {
22
22
  fillModeFromOptions,
23
23
  legendSuppressed
24
- } from "./chunk-TIIZIAGS.js";
24
+ } from "./chunk-FUYEXLAN.js";
25
25
  import {
26
26
  measureText,
27
27
  truncateText,
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-XCKNFFKM.js";
13
13
  import {
14
14
  renderIntegratedLegend
15
- } from "./chunk-NMS5XSLX.js";
15
+ } from "./chunk-PGD6CNWO.js";
16
16
  import {
17
17
  wrapDescriptionLines
18
18
  } from "./chunk-7WEYXYLC.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-ICLB27PZ.js";
25
25
  import {
26
26
  fillModeFromOptions
27
- } from "./chunk-TIIZIAGS.js";
27
+ } from "./chunk-FUYEXLAN.js";
28
28
  import {
29
29
  LEGEND_HEIGHT
30
30
  } from "./chunk-UOCWYLYT.js";
@@ -228,10 +228,7 @@ function computeCycleLayout(parsed, options) {
228
228
  }
229
229
  footprints[i] = Math.abs(exitCW - exitCCW);
230
230
  }
231
- const totalFootprint = footprints.reduce(
232
- (s, f) => s + f,
233
- 0
234
- );
231
+ const totalFootprint = footprints.reduce((s, f) => s + f, 0);
235
232
  const totalGapAngle = Math.max(0, 2 * Math.PI - totalFootprint);
236
233
  const gapAngles = parsed.nodes.map(
237
234
  (n) => n.span / totalSpan * totalGapAngle
@@ -21,7 +21,7 @@ import {
21
21
  tagAttrKey,
22
22
  validateTagGroupNames,
23
23
  validateTagValues
24
- } from "./chunk-4SACN2C5.js";
24
+ } from "./chunk-LGUFJ7Y2.js";
25
25
  import {
26
26
  PERT_REGISTRY,
27
27
  extractColor,
@@ -31,7 +31,7 @@ import {
31
31
  splitNameAndMeta,
32
32
  warnUnknownMetaKeys,
33
33
  withTagAliases
34
- } from "./chunk-TIIZIAGS.js";
34
+ } from "./chunk-FUYEXLAN.js";
35
35
  import {
36
36
  emit,
37
37
  makeDgmoError,
@@ -0,0 +1,14 @@
1
+ // src/mindmap/title-root.ts
2
+ var TITLE_ROOT = /* @__PURE__ */ Symbol("mindmap.titleRoot");
3
+ function markTitleRoot(node) {
4
+ node[TITLE_ROOT] = true;
5
+ return node;
6
+ }
7
+ function isTitleRoot(node) {
8
+ return node[TITLE_ROOT] === true;
9
+ }
10
+
11
+ export {
12
+ markTitleRoot,
13
+ isTitleRoot
14
+ };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  searchPlacement
3
- } from "./chunk-TDAGJJPZ.js";
3
+ } from "./chunk-VNAPEZX2.js";
4
4
  import {
5
5
  buildPlacedNotes,
6
6
  noteCanvasShift,
7
7
  resolveNotes
8
- } from "./chunk-7SXV7NUS.js";
8
+ } from "./chunk-HH3DHNQA.js";
9
9
  import {
10
10
  measureText
11
11
  } from "./chunk-KAO7JL4I.js";
@@ -72,7 +72,12 @@ function findConnectedComponents(tableIds, relationships) {
72
72
  }
73
73
  return components;
74
74
  }
75
- var newDagreGraph = () => new dagre.graphlib.Graph({ multigraph: true });
75
+ var newDagreGraph = () => new dagre.graphlib.Graph({
76
+ multigraph: true
77
+ });
78
+ function layoutInPlace(g) {
79
+ dagre.layout(g);
80
+ }
76
81
  function layoutComponent(tables, rels, dimMap) {
77
82
  const nodePositions = /* @__PURE__ */ new Map();
78
83
  const edgePoints = /* @__PURE__ */ new Map();
@@ -121,7 +126,7 @@ function layoutComponent(tables, rels, dimMap) {
121
126
  String(rel.lineNumber)
122
127
  );
123
128
  }
124
- dagre.layout(g2);
129
+ layoutInPlace(g2);
125
130
  return g2;
126
131
  };
127
132
  const { g, edgePoints: bent } = searchPlacement("LR", place, (lay) => ({
@@ -6,7 +6,7 @@ import {
6
6
  layoutC4Containers,
7
7
  layoutC4Context,
8
8
  layoutC4Deployment
9
- } from "./chunk-5KKZXA44.js";
9
+ } from "./chunk-ZBOIYC2G.js";
10
10
  import {
11
11
  appendArrowheadMarkers,
12
12
  appendReverseArrowheadMarkers
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-CYRB2JTN.js";
17
17
  import {
18
18
  parseC4
19
- } from "./chunk-IXHWS2HI.js";
19
+ } from "./chunk-BD4O4D2A.js";
20
20
  import {
21
21
  TITLE_FONT_SIZE,
22
22
  TITLE_FONT_WEIGHT
@@ -37,7 +37,7 @@ import {
37
37
  } from "./chunk-XCKNFFKM.js";
38
38
  import {
39
39
  renderIntegratedLegend
40
- } from "./chunk-NMS5XSLX.js";
40
+ } from "./chunk-PGD6CNWO.js";
41
41
  import {
42
42
  preprocessDescriptionLine
43
43
  } from "./chunk-IYULMRBE.js";
@@ -50,10 +50,10 @@ import {
50
50
  import {
51
51
  resolveGroupTagColor,
52
52
  tagAttrKey
53
- } from "./chunk-4SACN2C5.js";
53
+ } from "./chunk-LGUFJ7Y2.js";
54
54
  import {
55
55
  fillModeFromOptions
56
- } from "./chunk-TIIZIAGS.js";
56
+ } from "./chunk-FUYEXLAN.js";
57
57
  import {
58
58
  LEGEND_HEIGHT
59
59
  } from "./chunk-UOCWYLYT.js";
@@ -9,7 +9,7 @@ import {
9
9
  stripDefaultModifier,
10
10
  tagAttrKey,
11
11
  validateTagGroupNames
12
- } from "./chunk-4SACN2C5.js";
12
+ } from "./chunk-LGUFJ7Y2.js";
13
13
  import {
14
14
  MAP_DIRECTIVE_KEY_SET,
15
15
  MAP_REGISTRY,
@@ -18,7 +18,7 @@ import {
18
18
  peelRampColors,
19
19
  splitNameAndMeta,
20
20
  withTagAliases
21
- } from "./chunk-TIIZIAGS.js";
21
+ } from "./chunk-FUYEXLAN.js";
22
22
  import {
23
23
  NEGATIVE_VALUE_DX,
24
24
  emit,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  layoutClassDiagram
3
- } from "./chunk-RESEJSCV.js";
3
+ } from "./chunk-VJ7NLYFE.js";
4
4
  import {
5
5
  extractExportSvg,
6
6
  runInExportContainer
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-24YPR5EH.js";
11
11
  import {
12
12
  layoutInlineHeader
13
- } from "./chunk-UIEKW4SG.js";
13
+ } from "./chunk-R5L5E3TC.js";
14
14
  import {
15
15
  TITLE_FONT_SIZE,
16
16
  TITLE_FONT_WEIGHT,
@@ -26,20 +26,20 @@ import {
26
26
  } from "./chunk-XCKNFFKM.js";
27
27
  import {
28
28
  renderIntegratedLegend
29
- } from "./chunk-NMS5XSLX.js";
29
+ } from "./chunk-PGD6CNWO.js";
30
30
  import {
31
31
  getLegendExtent
32
32
  } from "./chunk-JILEYZ2V.js";
33
33
  import {
34
34
  parseClassDiagram
35
- } from "./chunk-DLJJOCIT.js";
35
+ } from "./chunk-M4ZUIW3J.js";
36
36
  import {
37
37
  NOTE_BADGE_RADIUS,
38
38
  noteConnectorPoints,
39
39
  renderNoteBadge,
40
40
  renderNoteBox,
41
41
  renderNoteConnector
42
- } from "./chunk-VDY2GR6U.js";
42
+ } from "./chunk-67N26CER.js";
43
43
  import {
44
44
  FONT_FAMILY
45
45
  } from "./chunk-ICLB27PZ.js";
@@ -47,7 +47,7 @@ import {
47
47
  fillModeFromOptions,
48
48
  legendInlineRequested,
49
49
  legendSuppressed
50
- } from "./chunk-TIIZIAGS.js";
50
+ } from "./chunk-FUYEXLAN.js";
51
51
  import {
52
52
  LEGEND_HEIGHT
53
53
  } from "./chunk-UOCWYLYT.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-VGAMBOOC.js";
5
5
  import {
6
6
  computeNodeSize
7
- } from "./chunk-3ZP3QC47.js";
7
+ } from "./chunk-THTYCJGF.js";
8
8
  import {
9
9
  NODE_HEIGHT,
10
10
  NODE_WIDTH
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  searchPlacement
3
- } from "./chunk-TDAGJJPZ.js";
3
+ } from "./chunk-VNAPEZX2.js";
4
4
  import {
5
5
  noteCanvasShift,
6
6
  placeNotes,
7
7
  resolveNotes
8
- } from "./chunk-7SXV7NUS.js";
8
+ } from "./chunk-HH3DHNQA.js";
9
9
  import {
10
10
  noteBoxSize
11
- } from "./chunk-VDY2GR6U.js";
11
+ } from "./chunk-67N26CER.js";
12
12
 
13
13
  // src/graph/layout.ts
14
14
  import dagre from "@dagrejs/dagre";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fillModeFromOptions
3
- } from "./chunk-TIIZIAGS.js";
3
+ } from "./chunk-FUYEXLAN.js";
4
4
  import {
5
5
  measureText,
6
6
  wrapTextToWidth
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveTagColor,
3
3
  tagAttrKey
4
- } from "./chunk-4SACN2C5.js";
4
+ } from "./chunk-LGUFJ7Y2.js";
5
5
  import {
6
6
  mix
7
7
  } from "./chunk-6GXLAKUH.js";