@diagrammo/dgmo 0.52.0 → 0.53.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 (329) hide show
  1. package/.cursorrules +59 -58
  2. package/.github/copilot-instructions.md +59 -58
  3. package/.windsurfrules +59 -58
  4. package/SKILL.md +59 -58
  5. package/dist/advanced.d.ts +65 -230
  6. package/dist/advanced.js +278 -611
  7. package/dist/analyzer-TDN5KJFP.js +15 -0
  8. package/dist/auto.css +14 -6
  9. package/dist/auto.js +142 -132
  10. package/dist/auto.mjs +1117 -452
  11. package/dist/block.css +14 -6
  12. package/dist/block.js +85 -72
  13. package/dist/calculator-VBIT6GQF.js +11 -0
  14. package/dist/chart-meta-CPNVUZ5J.d.ts +232 -0
  15. package/dist/chart-meta.d.ts +2 -0
  16. package/dist/chart-meta.js +105 -0
  17. package/dist/charts-d3-DH2XA45I.js +26 -0
  18. package/dist/{chunk-QJMKPUYK.js → chunk-22OQWBWD.js} +14 -7
  19. package/dist/{chunk-5NGAO4QK.js → chunk-27STWBOK.js} +10 -8
  20. package/dist/{chunk-QGATPIPX.js → chunk-2QC4HXCY.js} +31 -17
  21. package/dist/{chunk-HFMYN6N2.js → chunk-3B2GXZCX.js} +4 -3
  22. package/dist/{chunk-6HQH6JZE.js → chunk-3BEKKRH5.js} +10 -10
  23. package/dist/{chunk-AL672HNE.js → chunk-3CZLWOCI.js} +17 -7
  24. package/dist/{chunk-J7TLCB2Q.js → chunk-3IUHKMJI.js} +2 -2
  25. package/dist/{chunk-7L4UJOY6.js → chunk-3TYUXC7D.js} +2 -2
  26. package/dist/{chunk-Y2ZE3MSG.js → chunk-43E26CDA.js} +2 -2
  27. package/dist/{chunk-YTMTPUH4.js → chunk-4ASVFYB2.js} +6 -6
  28. package/dist/{chunk-WCT3NYCV.js → chunk-4ASYQ347.js} +33 -8
  29. package/dist/{chunk-ZNWAYU6N.js → chunk-4K42RUGC.js} +33 -9
  30. package/dist/{chunk-I5IGB56C.js → chunk-4QV26TEG.js} +41 -1
  31. package/dist/{chunk-QOOUC2J5.js → chunk-4RGZFA7H.js} +2 -2
  32. package/dist/{chunk-CXK4DZH3.js → chunk-4W2PE66Q.js} +12 -2
  33. package/dist/{chunk-CIRFIL4M.js → chunk-4WGMGKCZ.js} +13 -13
  34. package/dist/{chunk-JED6ZDEE.js → chunk-5HWPEYWB.js} +2 -2
  35. package/dist/{chunk-VQOCMUWI.js → chunk-65V6IRFN.js} +16 -14
  36. package/dist/{chunk-R3YSD62R.js → chunk-6AUZPPAV.js} +3 -3
  37. package/dist/{chunk-FQ7HTV52.js → chunk-6DCOIN4W.js} +33 -5
  38. package/dist/{chunk-MUE65OTD.js → chunk-6HTRCTAS.js} +4 -4
  39. package/dist/{chunk-TJVLKNGR.js → chunk-6KY7OCZC.js} +5 -5
  40. package/dist/{chunk-YAA6IID3.js → chunk-774C2FF3.js} +2 -2
  41. package/dist/{chunk-UBLHQTLV.js → chunk-7GUF6SDR.js} +15 -14
  42. package/dist/{chunk-5HILBT7X.js → chunk-7JDTNFAK.js} +3 -3
  43. package/dist/{chunk-QBZYACOG.js → chunk-ADYKAKE3.js} +3 -3
  44. package/dist/{chunk-H7KENAZO.js → chunk-AHXIMHDQ.js} +74 -14
  45. package/dist/chunk-AIMLCDAO.js +404 -0
  46. package/dist/{chunk-4IHAV6O7.js → chunk-ALYZ3MAA.js} +4 -4
  47. package/dist/{chunk-ROOE4R4Y.js → chunk-AN2DQB3G.js} +146 -18
  48. package/dist/{chunk-GCYTI3DE.js → chunk-AZNXGWDC.js} +56 -10
  49. package/dist/{chunk-3LK5DNED.js → chunk-B4XS2AF2.js} +3 -3
  50. package/dist/{chunk-3HF5YEFJ.js → chunk-BD3WGY4T.js} +4 -4
  51. package/dist/{chunk-4AQRFDXL.js → chunk-BFDVEO5R.js} +2 -2
  52. package/dist/{chunk-REJAIQ5S.js → chunk-BR7AYN76.js} +8 -8
  53. package/dist/{chunk-P3NRSSUU.js → chunk-BULHGPHK.js} +3 -3
  54. package/dist/{chunk-VILVLS7P.js → chunk-CK2GMDXD.js} +8 -4
  55. package/dist/{chunk-HHKO6SKY.js → chunk-CMVZWP32.js} +3 -3
  56. package/dist/{chunk-GJFAMOGK.js → chunk-CQFNIIQN.js} +7 -7
  57. package/dist/{chunk-FT3ZYWET.js → chunk-DWUMPMV2.js} +11 -10
  58. package/dist/{chunk-USZW2HHU.js → chunk-EQW6HOP4.js} +4 -3
  59. package/dist/{chunk-Z5QVYKR7.js → chunk-FFXCKZOU.js} +4 -4
  60. package/dist/{chunk-WRNFDFPU.js → chunk-FGDSTT3F.js} +2 -2
  61. package/dist/{chunk-FY5MSZAP.js → chunk-FLDC7ZAK.js} +21 -6
  62. package/dist/{chunk-AAXZDUOV.js → chunk-FT7TPPZ5.js} +17 -16
  63. package/dist/{chunk-3QD7VP3U.js → chunk-FUKNRLIJ.js} +14 -7
  64. package/dist/{chunk-3YRPZ7ZZ.js → chunk-FXCB7H5O.js} +4 -4
  65. package/dist/{chunk-SMRFPVLQ.js → chunk-GABSL6TH.js} +4 -4
  66. package/dist/{chunk-BKVOYV6I.js → chunk-GAWKIIPO.js} +17 -17
  67. package/dist/{chunk-HWX6ZHF3.js → chunk-GMAH572Z.js} +6 -6
  68. package/dist/{chunk-MUVJ57EP.js → chunk-GMIJ35PW.js} +23 -20
  69. package/dist/{chunk-7QE3XMRK.js → chunk-GQ644SPD.js} +18 -18
  70. package/dist/{chunk-5QKQSSPO.js → chunk-GRM2A4BG.js} +4 -4
  71. package/dist/{chunk-J7KJR3R6.js → chunk-GWQJKTFS.js} +133 -696
  72. package/dist/{chunk-OTOHI4JO.js → chunk-H3HFC3SQ.js} +2 -2
  73. package/dist/{chunk-SWSIKFEB.js → chunk-HE5J53SZ.js} +4 -4
  74. package/dist/{chunk-7BIZCTAX.js → chunk-HNBY6CNV.js} +3 -3
  75. package/dist/{chunk-J76PIKAT.js → chunk-HO3RCNF6.js} +3 -3
  76. package/dist/{chunk-44VCIPHF.js → chunk-HORZ5H2L.js} +26 -23
  77. package/dist/{chunk-MX2EY5Y7.js → chunk-HOXKNRON.js} +2 -2
  78. package/dist/{chunk-LTXOLDUZ.js → chunk-I64ECJX3.js} +12 -5
  79. package/dist/{chunk-4YFKQ5WT.js → chunk-IQJCVREL.js} +8 -8
  80. package/dist/{chunk-YIBAWQGJ.js → chunk-J7HI6G3G.js} +7 -7
  81. package/dist/{chunk-ICPJPQ5C.js → chunk-JHOAH4TI.js} +3 -3
  82. package/dist/{chunk-6EJITS44.js → chunk-JTMSWEIW.js} +6 -6
  83. package/dist/{chunk-WBM7ZNDI.js → chunk-JYDMBWRP.js} +35 -18
  84. package/dist/{chunk-7DF4J4RL.js → chunk-KKHCNSKK.js} +17 -11
  85. package/dist/{chunk-4UNQ6X24.js → chunk-KUSAVOWZ.js} +4 -4
  86. package/dist/{chunk-77FGAVZC.js → chunk-LC3FFD43.js} +21 -19
  87. package/dist/{chunk-INE5YJBZ.js → chunk-LHILKFDP.js} +10 -10
  88. package/dist/{chunk-ONU3U4GL.js → chunk-LQHVDZYC.js} +52 -16
  89. package/dist/{chunk-75G3Q4DK.js → chunk-MA3HJZHB.js} +5 -5
  90. package/dist/{chunk-QVENJMNX.js → chunk-MEQYZZFR.js} +2 -2
  91. package/dist/{chunk-IM6PDDCE.js → chunk-NNUMX6WX.js} +42 -12
  92. package/dist/{chunk-FQMUHRVC.js → chunk-NNYFQOTK.js} +14 -13
  93. package/dist/{chunk-H6PI3KJT.js → chunk-ODUT5WMC.js} +2 -2
  94. package/dist/{chunk-K4EOKJA6.js → chunk-P3H7QVDH.js} +42 -15
  95. package/dist/{chunk-FUPF2UYQ.js → chunk-PIXZTCKH.js} +51 -108
  96. package/dist/{chunk-BPY242XU.js → chunk-PKNNHU7H.js} +19 -8
  97. package/dist/{chunk-BPIZNB5O.js → chunk-PT4SW76W.js} +11 -11
  98. package/dist/{chunk-UNURMIQO.js → chunk-PV2QO7QL.js} +4 -4
  99. package/dist/{chunk-LGT3PZCJ.js → chunk-PYO4TJJ3.js} +17 -17
  100. package/dist/{chunk-EMLPOL77.js → chunk-Q7AH665U.js} +15 -8
  101. package/dist/{chunk-LBMS4AW6.js → chunk-QAALSCKI.js} +14 -14
  102. package/dist/{chunk-JRCOYRRH.js → chunk-QI3BOLQB.js} +8 -8
  103. package/dist/{chunk-CCNDLW7Z.js → chunk-QWIBT6DS.js} +13 -13
  104. package/dist/{chunk-GU46PPT3.js → chunk-QXGACPS2.js} +5 -5
  105. package/dist/{chunk-FMDSF3OV.js → chunk-QZAW5SFH.js} +2 -2
  106. package/dist/{chunk-QHXCAEMX.js → chunk-R5NH5BZG.js} +8 -8
  107. package/dist/{chunk-5223KXFD.js → chunk-RJ5LBZ5U.js} +7 -7
  108. package/dist/{chunk-PRI2OD4E.js → chunk-RW5PEJ7D.js} +11 -6
  109. package/dist/{chunk-DYWQFQJP.js → chunk-SG4PRYO3.js} +22 -20
  110. package/dist/{chunk-NNS4E7CW.js → chunk-SGPFVDUL.js} +15 -6
  111. package/dist/{chunk-ZEF5M5MB.js → chunk-SQCBSFT5.js} +72 -74
  112. package/dist/{chunk-3HGU63UY.js → chunk-U7NKYLX2.js} +14 -13
  113. package/dist/chunk-U7VO6JAA.js +566 -0
  114. package/dist/{chunk-ZJV7GYR4.js → chunk-UFQJMOVZ.js} +10 -10
  115. package/dist/{chunk-Z72XRXD4.js → chunk-UJRTPOHH.js} +3 -3
  116. package/dist/{chunk-J6QROYDA.js → chunk-UK6DKJLD.js} +26 -10
  117. package/dist/{chunk-QZX5S6R3.js → chunk-UKP5HWB5.js} +149 -89
  118. package/dist/{chunk-T4A4TSTJ.js → chunk-UQRIKAMH.js} +21 -19
  119. package/dist/{chunk-TYS6CSS5.js → chunk-UU6LUYUH.js} +2 -2
  120. package/dist/{chunk-5BHJZH62.js → chunk-UVDCHR4E.js} +18 -6
  121. package/dist/{chunk-HQQNCY7W.js → chunk-VAO6ANGC.js} +5 -5
  122. package/dist/{chunk-6NYWYNBI.js → chunk-VGNIDAPQ.js} +4 -4
  123. package/dist/{chunk-VL2O2F3W.js → chunk-VHO3YBTB.js} +2 -2
  124. package/dist/{chunk-FHGVORFO.js → chunk-VIRANCNY.js} +14 -14
  125. package/dist/{chunk-XD6ZYURY.js → chunk-VJHBSPGF.js} +7 -14
  126. package/dist/{chunk-5RP7JRVP.js → chunk-VKNCC2GX.js} +12 -8
  127. package/dist/{chunk-TPFKKXCB.js → chunk-VRRDUYOK.js} +7 -7
  128. package/dist/{chunk-K2I2XOZD.js → chunk-W2DINCHL.js} +11 -11
  129. package/dist/{chunk-AUIM2NVH.js → chunk-W5KMNC5U.js} +8 -8
  130. package/dist/{chunk-FFUN5D66.js → chunk-WF64MW5G.js} +2 -2
  131. package/dist/{chunk-6LBQ7ELG.js → chunk-X3RXGSCZ.js} +40 -21
  132. package/dist/{chunk-HBPDFCQY.js → chunk-XEAQDIMF.js} +7 -6
  133. package/dist/{chunk-TTIM6YTT.js → chunk-XG4NWFPY.js} +17 -16
  134. package/dist/{chunk-7KINELPI.js → chunk-XQ4KN6JQ.js} +23 -23
  135. package/dist/{chunk-WBRZJOEC.js → chunk-XY3UDKKH.js} +4 -4
  136. package/dist/{chunk-5SEVICBT.js → chunk-YG2BEIQU.js} +14 -13
  137. package/dist/{chunk-BRENJ2BQ.js → chunk-YJVA3QUU.js} +24 -4
  138. package/dist/{chunk-KGVZ5VGH.js → chunk-YR43LJT5.js} +16 -15
  139. package/dist/{chunk-TLVIHFRO.js → chunk-ZKPPI6BF.js} +2 -2
  140. package/dist/{chunk-ARGMQ3H4.js → chunk-ZXUAPTCK.js} +3 -3
  141. package/dist/cli.cjs +156 -154
  142. package/dist/clock.js +9 -1
  143. package/dist/countdown.js +4 -3
  144. package/dist/dgmo-router-B4S23EBH.js +86 -0
  145. package/dist/dimensions-K6PGYYGT.js +22 -0
  146. package/dist/editor.js +33 -5
  147. package/dist/element.js +142 -132
  148. package/dist/element.mjs +1117 -452
  149. package/dist/flowchart-parser-LALR6J6F.js +21 -0
  150. package/dist/{flowchart-renderer-MNCDS7MV.js → flowchart-renderer-DXYB5YRF.js} +14 -14
  151. package/dist/highlight.js +37 -6
  152. package/dist/index.d.ts +4 -2
  153. package/dist/index.js +78 -73
  154. package/dist/layout-3BVDMKXI.js +15 -0
  155. package/dist/layout-3M5UYJHY.js +14 -0
  156. package/dist/{layout-2L3WMRYU.js → layout-3V2A4MUE.js} +8 -8
  157. package/dist/layout-4IHCMWZN.js +19 -0
  158. package/dist/layout-5XGYNYVT.js +9 -0
  159. package/dist/layout-AZUPXWSK.js +15 -0
  160. package/dist/{layout-F4WO357A.js → layout-CAAKQX4W.js} +3 -3
  161. package/dist/{layout-A5UHRWVH.js → layout-CB3XWCOI.js} +3 -3
  162. package/dist/{layout-OAC4PEAC.js → layout-E6HR6PXH.js} +7 -7
  163. package/dist/{layout-7QXCNOVS.js → layout-HBWT2G23.js} +3 -3
  164. package/dist/layout-KPQWJNAG.js +14 -0
  165. package/dist/layout-OL2XFJXA.js +17 -0
  166. package/dist/layout-WCAIKGZG.js +19 -0
  167. package/dist/layout-WSMPBQ4Q.js +17 -0
  168. package/dist/layout-ZE5DRJWX.js +20 -0
  169. package/dist/{layout-search-55FU6HD3.js → layout-search-34DPZD43.js} +51 -35
  170. package/dist/legend-constants-P5EQWRQQ.js +49 -0
  171. package/dist/{palettes-UDLZ2SA4.js → palettes-FGTNFARW.js} +4 -4
  172. package/dist/{parser-EYCKNKQA.js → parser-275KP7JO.js} +8 -8
  173. package/dist/parser-27Z76SN3.js +22 -0
  174. package/dist/parser-3CODK6RG.js +15 -0
  175. package/dist/{parser-YKYMQG3B.js → parser-3KIGEEJM.js} +6 -6
  176. package/dist/parser-3VSWEKBF.js +15 -0
  177. package/dist/parser-4E4I3GNT.js +13 -0
  178. package/dist/parser-5FGJSQNS.js +12 -0
  179. package/dist/parser-5HQXCNOS.js +12 -0
  180. package/dist/parser-5QPFOB5F.js +12 -0
  181. package/dist/parser-6B6SSZT7.js +11 -0
  182. package/dist/parser-6PPHAXXH.js +14 -0
  183. package/dist/parser-7JHWEWXM.js +13 -0
  184. package/dist/{parser-DQAFLUJB.js → parser-7JVIDLLR.js} +7 -7
  185. package/dist/parser-CKA3QMAG.js +18 -0
  186. package/dist/parser-CRKLXGW7.js +13 -0
  187. package/dist/parser-EXNBDNGY.js +11 -0
  188. package/dist/parser-FF4BMRSB.js +16 -0
  189. package/dist/parser-FOOFEJQU.js +13 -0
  190. package/dist/parser-G26MTBFS.js +11 -0
  191. package/dist/parser-GKP2MHHL.js +11 -0
  192. package/dist/parser-GN2MM5CC.js +11 -0
  193. package/dist/parser-IKWK2ZU3.js +18 -0
  194. package/dist/parser-IVGHXLZP.js +14 -0
  195. package/dist/parser-NNIL3HXU.js +11 -0
  196. package/dist/parser-RNLTBIJ6.js +19 -0
  197. package/dist/parser-UWRX52PC.js +16 -0
  198. package/dist/parser-VOERD6XR.js +14 -0
  199. package/dist/parser-XNKJCMMA.js +13 -0
  200. package/dist/parser-XVPTRWZ4.js +15 -0
  201. package/dist/parser-YSLNDFLV.js +22 -0
  202. package/dist/{parser-ZL5QUFVH.js → parser-ZGNXYFPS.js} +5 -5
  203. package/dist/parser-ZQDQTB4X.js +20 -0
  204. package/dist/pert.d.ts +2 -0
  205. package/dist/registry-CaSw0PSH.d.ts +350 -0
  206. package/dist/renderer-2C6DJRYN.js +24 -0
  207. package/dist/renderer-5MPN7CXZ.js +19 -0
  208. package/dist/renderer-6EN5XXJZ.js +27 -0
  209. package/dist/renderer-6WRYVM5R.js +24 -0
  210. package/dist/renderer-7NQSTQMQ.js +16 -0
  211. package/dist/renderer-7ZNVOVFG.js +16 -0
  212. package/dist/{renderer-DT4XRFEP.js → renderer-AK2WO4EI.js} +7 -7
  213. package/dist/renderer-COLQFSFV.js +26 -0
  214. package/dist/{renderer-3F7OS2AX.js → renderer-CWEFGEIC.js} +15 -15
  215. package/dist/renderer-D3BRNOMV.js +29 -0
  216. package/dist/renderer-HIFQVEJA.js +22 -0
  217. package/dist/renderer-JCZG6AYU.js +28 -0
  218. package/dist/{renderer-ZWIH4WDW.js → renderer-JTCX6PCG.js} +13 -13
  219. package/dist/renderer-JWGQSTMR.js +37 -0
  220. package/dist/{renderer-NHO46CT2.js → renderer-K7XLVPH5.js} +6 -6
  221. package/dist/renderer-KARQF3F3.js +22 -0
  222. package/dist/renderer-LVZAHRP6.js +34 -0
  223. package/dist/{renderer-CQY6ATOS.js → renderer-NE5W7CQP.js} +8 -8
  224. package/dist/renderer-QD2SJF2I.js +34 -0
  225. package/dist/renderer-RLMOTXZ6.js +37 -0
  226. package/dist/renderer-SQ54MDSA.js +26 -0
  227. package/dist/{renderer-HSHHVYWF.js → renderer-TYHGXAVT.js} +7 -7
  228. package/dist/renderer-UKXW2QPE.js +23 -0
  229. package/dist/renderer-UPF7NRTI.js +28 -0
  230. package/dist/renderer-VMH6L6CP.js +24 -0
  231. package/dist/{renderer-5DAKMIU2.js → renderer-WCWI4I6A.js} +5 -5
  232. package/dist/renderer-WFSUBKUL.js +25 -0
  233. package/dist/renderer-WNFXYYGL.js +21 -0
  234. package/dist/{renderer-KNFTTOBL.js → renderer-XTXSOK3L.js} +14 -14
  235. package/dist/renderer-YUKPS27O.js +24 -0
  236. package/dist/renderer-YUXGXGSW.js +27 -0
  237. package/dist/renderer-ZBTEX2JK.js +16 -0
  238. package/dist/renderer-radial-WF6VOUOD.js +21 -0
  239. package/dist/{resolver-EMTGNR3D.js → resolver-WFKZYBJ2.js} +4 -4
  240. package/dist/state-parser-L7DHZIQO.js +19 -0
  241. package/dist/state-renderer-TFEUOP4H.js +38 -0
  242. package/dist/{themes-32xj5ZTW.d.ts → themes-tbBkIVsn.d.ts} +2 -349
  243. package/docs/ai-integration.md +59 -58
  244. package/docs/language-reference.md +323 -286
  245. package/fonts/Inter-Bold.woff2 +0 -0
  246. package/fonts/Inter-Regular.woff2 +0 -0
  247. package/gallery/fixtures/boxes-and-lines-diverging.dgmo +1 -2
  248. package/gallery/fixtures/boxes-and-lines.dgmo +1 -1
  249. package/gallery/fixtures/clock.dgmo +1 -1
  250. package/gallery/fixtures/event-line.dgmo +1 -1
  251. package/gallery/fixtures/gantt-full.dgmo +1 -1
  252. package/gallery/fixtures/gantt-sprints.dgmo +9 -9
  253. package/gallery/fixtures/gantt.dgmo +1 -1
  254. package/gallery/fixtures/legacy-syntax-backcompat.dgmo +16 -0
  255. package/gallery/fixtures/state-tags.dgmo +40 -0
  256. package/gallery/fixtures/swimlane.dgmo +1 -1
  257. package/gallery/fixtures/timeline-intraday.dgmo +1 -1
  258. package/package.json +5 -1
  259. package/dist/analyzer-BJ54GIFB.js +0 -15
  260. package/dist/calculator-LDYQCDDY.js +0 -11
  261. package/dist/charts-d3-MXEP6BNP.js +0 -26
  262. package/dist/dgmo-router-X7ZGAPIE.js +0 -86
  263. package/dist/dimensions-45H6JQEY.js +0 -22
  264. package/dist/flowchart-parser-UKELHBSB.js +0 -21
  265. package/dist/layout-46N4JJYK.js +0 -17
  266. package/dist/layout-A4XWNVID.js +0 -14
  267. package/dist/layout-AM2JWW3X.js +0 -15
  268. package/dist/layout-EE6GE46Y.js +0 -17
  269. package/dist/layout-G23F7LDH.js +0 -9
  270. package/dist/layout-GM4UGR7B.js +0 -19
  271. package/dist/layout-GQQJXNYH.js +0 -15
  272. package/dist/layout-IIE2S5FK.js +0 -20
  273. package/dist/layout-VMCRX66I.js +0 -14
  274. package/dist/layout-ZDOSXL5G.js +0 -19
  275. package/dist/parser-2ECN6JA2.js +0 -16
  276. package/dist/parser-4WTIHM5J.js +0 -11
  277. package/dist/parser-5H2BTSJQ.js +0 -11
  278. package/dist/parser-75KVXUNS.js +0 -16
  279. package/dist/parser-774AC53T.js +0 -13
  280. package/dist/parser-BE4YCSRU.js +0 -11
  281. package/dist/parser-CNGUQUQI.js +0 -11
  282. package/dist/parser-DEUUSQIN.js +0 -22
  283. package/dist/parser-FXISIU6A.js +0 -14
  284. package/dist/parser-GTB4XC7P.js +0 -18
  285. package/dist/parser-GVEPAUSD.js +0 -12
  286. package/dist/parser-HSQGTY4G.js +0 -19
  287. package/dist/parser-HVKRINUS.js +0 -11
  288. package/dist/parser-J5MIEYO4.js +0 -15
  289. package/dist/parser-KMZIXLDZ.js +0 -13
  290. package/dist/parser-LJHXWSXU.js +0 -14
  291. package/dist/parser-PT3W72G5.js +0 -15
  292. package/dist/parser-SBJQDPHL.js +0 -15
  293. package/dist/parser-SUWWWCMX.js +0 -12
  294. package/dist/parser-SXDRNZOA.js +0 -13
  295. package/dist/parser-UMILOW3M.js +0 -14
  296. package/dist/parser-UP3AZ367.js +0 -13
  297. package/dist/parser-WHPRV3X5.js +0 -20
  298. package/dist/parser-WX3UODSJ.js +0 -12
  299. package/dist/parser-XCIEN3KN.js +0 -13
  300. package/dist/parser-XIRTUMVN.js +0 -18
  301. package/dist/parser-YKCGIG45.js +0 -11
  302. package/dist/parser-ZGM2OJ6Y.js +0 -22
  303. package/dist/renderer-4QB4K7Q3.js +0 -24
  304. package/dist/renderer-5H4SY7YY.js +0 -22
  305. package/dist/renderer-5PIQPFOX.js +0 -16
  306. package/dist/renderer-6MU37QF5.js +0 -19
  307. package/dist/renderer-AQVMWJ4M.js +0 -27
  308. package/dist/renderer-BDDW6K7N.js +0 -24
  309. package/dist/renderer-BNB3VIDY.js +0 -26
  310. package/dist/renderer-CVW75CXL.js +0 -37
  311. package/dist/renderer-ERHBSTQT.js +0 -25
  312. package/dist/renderer-IDPVUFNB.js +0 -28
  313. package/dist/renderer-ILX6BGKR.js +0 -21
  314. package/dist/renderer-JP663HKG.js +0 -22
  315. package/dist/renderer-MVUZBESR.js +0 -16
  316. package/dist/renderer-N4EBR2FV.js +0 -28
  317. package/dist/renderer-NO2QJ5LZ.js +0 -27
  318. package/dist/renderer-OGFV5RXX.js +0 -34
  319. package/dist/renderer-PDLESJMS.js +0 -37
  320. package/dist/renderer-T4MTNINC.js +0 -24
  321. package/dist/renderer-TOUGFGTM.js +0 -24
  322. package/dist/renderer-U3KPD43Y.js +0 -34
  323. package/dist/renderer-X334IJU2.js +0 -26
  324. package/dist/renderer-Y5OAMOCR.js +0 -23
  325. package/dist/renderer-YONAKAJU.js +0 -16
  326. package/dist/renderer-YWMI6Y2U.js +0 -29
  327. package/dist/renderer-radial-7CGZMVMS.js +0 -21
  328. package/dist/state-parser-BATWAID2.js +0 -18
  329. package/dist/state-renderer-3FKZJ3LP.js +0 -34
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  measureText
3
- } from "./chunk-WCT3NYCV.js";
3
+ } from "./chunk-4ASYQ347.js";
4
4
 
5
5
  // src/utils/card.ts
6
6
  function renderNodeCard(container, opts) {
@@ -44,4 +44,4 @@ export {
44
44
  renderNodeCard,
45
45
  renderCollapseBar
46
46
  };
47
- //# sourceMappingURL=chunk-OTOHI4JO.js.map
47
+ //# sourceMappingURL=chunk-H3HFC3SQ.js.map
@@ -11,15 +11,15 @@ import {
11
11
  LEGEND_PILL_FONT_SIZE,
12
12
  LEGEND_PILL_PAD,
13
13
  measureLegendText
14
- } from "./chunk-QOOUC2J5.js";
14
+ } from "./chunk-4RGZFA7H.js";
15
15
  import {
16
16
  measureText
17
- } from "./chunk-WCT3NYCV.js";
17
+ } from "./chunk-4ASYQ347.js";
18
18
  import {
19
19
  injectDefaultTagMetadata,
20
20
  resolveTagColor,
21
21
  tagAttrKey
22
- } from "./chunk-HHKO6SKY.js";
22
+ } from "./chunk-CMVZWP32.js";
23
23
 
24
24
  // src/sitemap/layout.ts
25
25
  import dagre from "@dagrejs/dagre";
@@ -617,4 +617,4 @@ function layoutSitemap(parsed, hiddenCounts, activeTagGroup, hiddenAttributes, e
617
617
  export {
618
618
  layoutSitemap
619
619
  };
620
- //# sourceMappingURL=chunk-SWSIKFEB.js.map
620
+ //# sourceMappingURL=chunk-HE5J53SZ.js.map
@@ -5,11 +5,11 @@ import {
5
5
  splitNameAndMeta,
6
6
  tryParseSharedOption,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-BRENJ2BQ.js";
8
+ } from "./chunk-YJVA3QUU.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail
12
- } from "./chunk-CXK4DZH3.js";
12
+ } from "./chunk-4W2PE66Q.js";
13
13
 
14
14
  // src/cycle/parser.ts
15
15
  var BARE_EDGE_RE = /^->\s*(.*)?$/;
@@ -274,4 +274,4 @@ function parseCycle(content) {
274
274
  export {
275
275
  parseCycle
276
276
  };
277
- //# sourceMappingURL=chunk-7BIZCTAX.js.map
277
+ //# sourceMappingURL=chunk-HNBY6CNV.js.map
@@ -3,10 +3,10 @@ import {
3
3
  addCalendarDays,
4
4
  resolveConfidence,
5
5
  unitToDays
6
- } from "./chunk-7L4UJOY6.js";
6
+ } from "./chunk-3TYUXC7D.js";
7
7
  import {
8
8
  makeDgmoError
9
- } from "./chunk-CXK4DZH3.js";
9
+ } from "./chunk-4W2PE66Q.js";
10
10
 
11
11
  // src/pert/monte-carlo.ts
12
12
  function lagDays(lag) {
@@ -1059,4 +1059,4 @@ export {
1059
1059
  buildSummary,
1060
1060
  buildProjectSubtitle
1061
1061
  };
1062
- //# sourceMappingURL=chunk-J76PIKAT.js.map
1062
+ //# sourceMappingURL=chunk-HO3RCNF6.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-3HDBAXF5.js";
4
4
  import {
5
5
  renderNodeCard
6
- } from "./chunk-OTOHI4JO.js";
6
+ } from "./chunk-H3HFC3SQ.js";
7
7
  import {
8
8
  CARD_RADIUS,
9
9
  COLLAPSE_BAR_HEIGHT,
@@ -25,10 +25,10 @@ import {
25
25
  } from "./chunk-YYVTBZZC.js";
26
26
  import {
27
27
  renderIntegratedLegend
28
- } from "./chunk-AUIM2NVH.js";
28
+ } from "./chunk-W5KMNC5U.js";
29
29
  import {
30
30
  getMaxLegendReservedHeight
31
- } from "./chunk-YAA6IID3.js";
31
+ } from "./chunk-774C2FF3.js";
32
32
  import {
33
33
  TITLE_FONT_SIZE,
34
34
  TITLE_FONT_WEIGHT
@@ -36,6 +36,15 @@ import {
36
36
  import {
37
37
  FONT_FAMILY
38
38
  } from "./chunk-6KFWC4CO.js";
39
+ import {
40
+ preprocessDescriptionLine
41
+ } from "./chunk-IYULMRBE.js";
42
+ import {
43
+ contrastText,
44
+ mix,
45
+ shapeFill,
46
+ themeBaseBg
47
+ } from "./chunk-JYDMBWRP.js";
39
48
  import {
40
49
  EYE_CLOSED_PATH,
41
50
  EYE_OPEN_PATH,
@@ -43,25 +52,17 @@ import {
43
52
  LEGEND_EYE_SIZE,
44
53
  LEGEND_GROUP_GAP,
45
54
  LEGEND_HEIGHT
46
- } from "./chunk-QOOUC2J5.js";
55
+ } from "./chunk-4RGZFA7H.js";
47
56
  import {
48
57
  measureText
49
- } from "./chunk-WCT3NYCV.js";
50
- import {
51
- preprocessDescriptionLine
52
- } from "./chunk-IYULMRBE.js";
53
- import {
54
- contrastText,
55
- mix,
56
- shapeFill,
57
- themeBaseBg
58
- } from "./chunk-WBM7ZNDI.js";
58
+ } from "./chunk-4ASYQ347.js";
59
59
  import {
60
60
  tagAttrKey
61
- } from "./chunk-HHKO6SKY.js";
61
+ } from "./chunk-CMVZWP32.js";
62
62
  import {
63
- fillModeFromOptions
64
- } from "./chunk-BRENJ2BQ.js";
63
+ fillModeFromOptions,
64
+ legendSuppressed
65
+ } from "./chunk-YJVA3QUU.js";
65
66
 
66
67
  // src/sitemap/renderer.ts
67
68
  import * as d3Selection from "d3-selection";
@@ -114,7 +115,9 @@ function renderSitemap(container, parsed, layout, palette, isDark, onClickItem,
114
115
  const sTitleHeight = ctx.structural(TITLE_HEIGHT);
115
116
  const sCollapseBarHeight = ctx.structural(COLLAPSE_BAR_HEIGHT);
116
117
  const sLegendFixedGap = ctx.aesthetic(LEGEND_FIXED_GAP);
117
- const hasLegend = layout.legend.length > 0;
118
+ const noLegend = legendSuppressed(parsed.options);
119
+ const hasLegend = layout.legend.length > 0 && !noLegend;
120
+ const suppressedLegendBand = layout.legend.length > 0 && noLegend;
118
121
  const layoutLegendShift = LEGEND_HEIGHT + LEGEND_GROUP_GAP;
119
122
  const showTitle = !!parsed.title && parsed.options["no-title"] !== "on";
120
123
  const fixedLegend = !exportDims && hasLegend;
@@ -140,7 +143,7 @@ function renderSitemap(container, parsed, layout, palette, isDark, onClickItem,
140
143
  const titleOffset = !fixedTitle && showTitle ? sTitleHeight : 0;
141
144
  const diagramW = layout.width;
142
145
  let diagramH = layout.height + titleOffset;
143
- if (fixedLegend) {
146
+ if (fixedLegend || suppressedLegendBand) {
144
147
  diagramH -= layoutLegendShift;
145
148
  }
146
149
  const availH = height - sDiagramPadding * 2 - fixedReserveTop - fixedReserveBottom;
@@ -404,9 +407,9 @@ function renderLegend(parent, legendGroups, palette, isDark, activeTagGroup, fix
404
407
  }
405
408
  }
406
409
  async function renderSitemapForExport(content, theme, palette) {
407
- const { parseSitemap } = await import("./parser-2ECN6JA2.js");
408
- const { layoutSitemap } = await import("./layout-A4XWNVID.js");
409
- const { getPalette } = await import("./palettes-UDLZ2SA4.js");
410
+ const { parseSitemap } = await import("./parser-UWRX52PC.js");
411
+ const { layoutSitemap } = await import("./layout-KPQWJNAG.js");
412
+ const { getPalette } = await import("./palettes-FGTNFARW.js");
410
413
  const isDark = theme === "dark";
411
414
  const effectivePalette = palette ?? (isDark ? getPalette("nord").dark : getPalette("nord").light);
412
415
  const parsed = parseSitemap(content, effectivePalette);
@@ -455,4 +458,4 @@ export {
455
458
  renderSitemap,
456
459
  renderSitemapForExport
457
460
  };
458
- //# sourceMappingURL=chunk-44VCIPHF.js.map
461
+ //# sourceMappingURL=chunk-HORZ5H2L.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  acyclicOrient
3
- } from "./chunk-WRNFDFPU.js";
3
+ } from "./chunk-FGDSTT3F.js";
4
4
 
5
5
  // src/swimlane/layout.ts
6
6
  var MARGIN = 30;
@@ -419,4 +419,4 @@ function layoutSwimlane(parsed) {
419
419
  export {
420
420
  layoutSwimlane
421
421
  };
422
- //# sourceMappingURL=chunk-MX2EY5Y7.js.map
422
+ //# sourceMappingURL=chunk-HOXKNRON.js.map
@@ -4,16 +4,16 @@ import {
4
4
  matchTagBlockHeading,
5
5
  stripDefaultModifier,
6
6
  tagAttrKey
7
- } from "./chunk-HHKO6SKY.js";
7
+ } from "./chunk-CMVZWP32.js";
8
8
  import {
9
9
  FILL_FAMILY_TOKENS,
10
10
  extractColor,
11
11
  measureIndent,
12
12
  parseFirstLine
13
- } from "./chunk-BRENJ2BQ.js";
13
+ } from "./chunk-YJVA3QUU.js";
14
14
  import {
15
15
  emit
16
- } from "./chunk-CXK4DZH3.js";
16
+ } from "./chunk-4W2PE66Q.js";
17
17
 
18
18
  // src/swimlane/diagnostics.ts
19
19
  var SWIMLANE_DX = {
@@ -303,6 +303,12 @@ function parseSwimlane(content, palette) {
303
303
  options[trimmed.toLowerCase()] = "on";
304
304
  continue;
305
305
  }
306
+ const dirBool = indent === 0 ? trimmed.match(/^direction-(lr|tb)$/i) : null;
307
+ if (dirBool) {
308
+ direction = dirBool[1].toUpperCase();
309
+ options["direction"] = direction;
310
+ continue;
311
+ }
306
312
  if (indent === 0 && /^direction\s+/i.test(trimmed)) {
307
313
  const val = trimmed.replace(/^direction\s+/i, "").trim().toUpperCase();
308
314
  if (val === "LR" || val === "TB") {
@@ -525,7 +531,8 @@ function parseSwimlane(content, palette) {
525
531
  if (cIdx > 0) trimmed = trimmed.slice(0, cIdx).trim();
526
532
  if (!trimmed) continue;
527
533
  const indent = measureIndent(raw);
528
- if (indent === 0 && /^direction\s+/i.test(trimmed)) continue;
534
+ if (indent === 0 && /^direction(?:\s+|-(?:lr|tb)$)/i.test(trimmed))
535
+ continue;
529
536
  if (indent === 0 && FILL_FAMILY_TOKENS.has(trimmed.toLowerCase())) continue;
530
537
  if (matchTagBlockHeading(trimmed) && indent === 0) {
531
538
  inTagBlock = true;
@@ -685,4 +692,4 @@ export {
685
692
  SWIMLANE_DIAGNOSTICS,
686
693
  parseSwimlane
687
694
  };
688
- //# sourceMappingURL=chunk-LTXOLDUZ.js.map
695
+ //# sourceMappingURL=chunk-I64ECJX3.js.map
@@ -15,21 +15,21 @@ import {
15
15
  import {
16
16
  FONT_FAMILY
17
17
  } from "./chunk-6KFWC4CO.js";
18
- import {
19
- CHAR_WIDTH_RATIO,
20
- measureText
21
- } from "./chunk-WCT3NYCV.js";
22
18
  import {
23
19
  contrastText,
24
20
  getSeriesColors,
25
21
  shapeFill
26
- } from "./chunk-WBM7ZNDI.js";
22
+ } from "./chunk-JYDMBWRP.js";
23
+ import {
24
+ CHAR_WIDTH_RATIO,
25
+ measureText
26
+ } from "./chunk-4ASYQ347.js";
27
27
  import {
28
28
  fillModeFromOptions
29
- } from "./chunk-BRENJ2BQ.js";
29
+ } from "./chunk-YJVA3QUU.js";
30
30
  import {
31
31
  resolveColor
32
- } from "./chunk-TLVIHFRO.js";
32
+ } from "./chunk-ZKPPI6BF.js";
33
33
 
34
34
  // src/pyramid/renderer.ts
35
35
  import * as d3Selection from "d3-selection";
@@ -436,4 +436,4 @@ export {
436
436
  renderPyramid,
437
437
  renderPyramidForExport
438
438
  };
439
- //# sourceMappingURL=chunk-4YFKQ5WT.js.map
439
+ //# sourceMappingURL=chunk-IQJCVREL.js.map
@@ -1,14 +1,14 @@
1
- import {
2
- measureText,
3
- wrapTextToWidth
4
- } from "./chunk-WCT3NYCV.js";
5
1
  import {
6
2
  mix,
7
3
  shapeFill
8
- } from "./chunk-WBM7ZNDI.js";
4
+ } from "./chunk-JYDMBWRP.js";
5
+ import {
6
+ measureText,
7
+ wrapTextToWidth
8
+ } from "./chunk-4ASYQ347.js";
9
9
  import {
10
10
  fillModeFromOptions
11
- } from "./chunk-BRENJ2BQ.js";
11
+ } from "./chunk-YJVA3QUU.js";
12
12
 
13
13
  // src/journey-map/layout.ts
14
14
  var PADDING = 24;
@@ -290,4 +290,4 @@ export {
290
290
  scoreToCurveY,
291
291
  layoutJourneyMap
292
292
  };
293
- //# sourceMappingURL=chunk-YIBAWQGJ.js.map
293
+ //# sourceMappingURL=chunk-J7HI6G3G.js.map
@@ -5,11 +5,11 @@ import {
5
5
  splitNameAndMeta,
6
6
  tryParseSharedOption,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-BRENJ2BQ.js";
8
+ } from "./chunk-YJVA3QUU.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail
12
- } from "./chunk-CXK4DZH3.js";
12
+ } from "./chunk-4W2PE66Q.js";
13
13
 
14
14
  // src/pyramid/parser.ts
15
15
  var MAX_LAYERS = 15;
@@ -127,4 +127,4 @@ function parsePyramid(content) {
127
127
  export {
128
128
  parsePyramid
129
129
  };
130
- //# sourceMappingURL=chunk-ICPJPQ5C.js.map
130
+ //# sourceMappingURL=chunk-JHOAH4TI.js.map
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-I46X5VUA.js";
4
4
  import {
5
5
  tryCollectNote
6
- } from "./chunk-ARGMQ3H4.js";
6
+ } from "./chunk-ZXUAPTCK.js";
7
7
  import {
8
8
  resolveNotes
9
- } from "./chunk-FMDSF3OV.js";
9
+ } from "./chunk-QZAW5SFH.js";
10
10
  import {
11
11
  parseInArrowLabel
12
- } from "./chunk-FFUN5D66.js";
12
+ } from "./chunk-WF64MW5G.js";
13
13
  import {
14
14
  displayName,
15
15
  normalizeName
@@ -21,7 +21,7 @@ import {
21
21
  measureIndent,
22
22
  parseFirstLine,
23
23
  tryParseSharedOption
24
- } from "./chunk-BRENJ2BQ.js";
24
+ } from "./chunk-YJVA3QUU.js";
25
25
  import {
26
26
  NAME_DIAGNOSTIC_CODES,
27
27
  emit,
@@ -29,7 +29,7 @@ import {
29
29
  makeDgmoError,
30
30
  nameMergedMessage,
31
31
  suggest
32
- } from "./chunk-CXK4DZH3.js";
32
+ } from "./chunk-4W2PE66Q.js";
33
33
 
34
34
  // src/graph/flowchart-parser.ts
35
35
  function nodeId(shape, label) {
@@ -470,4 +470,4 @@ export {
470
470
  looksLikeFlowchart,
471
471
  extractSymbols
472
472
  };
473
- //# sourceMappingURL=chunk-6EJITS44.js.map
473
+ //# sourceMappingURL=chunk-JTMSWEIW.js.map
@@ -1,9 +1,13 @@
1
1
  import {
2
2
  CATEGORICAL_COLOR_ORDER
3
- } from "./chunk-TLVIHFRO.js";
3
+ } from "./chunk-ZKPPI6BF.js";
4
4
 
5
5
  // src/palettes/color-utils.ts
6
+ var HEX_TO_HSL_CACHE = /* @__PURE__ */ new Map();
7
+ var HEX_TO_HSL_CACHE_MAX = 5e3;
6
8
  function hexToHSL(hex) {
9
+ const cached = HEX_TO_HSL_CACHE.get(hex);
10
+ if (cached) return { ...cached };
7
11
  const raw = hex.replace("#", "");
8
12
  const full = raw.length === 3 ? [...raw].map((c) => c + c).join("") : raw;
9
13
  const r = parseInt(full.substring(0, 2), 16) / 255;
@@ -12,24 +16,29 @@ function hexToHSL(hex) {
12
16
  const max = Math.max(r, g, b);
13
17
  const min = Math.min(r, g, b);
14
18
  const l = (max + min) / 2;
19
+ let result;
15
20
  if (max === min) {
16
- return { h: 0, s: 0, l: Math.round(l * 100) };
17
- }
18
- const d = max - min;
19
- const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
20
- let h;
21
- if (max === r) {
22
- h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
23
- } else if (max === g) {
24
- h = ((b - r) / d + 2) / 6;
21
+ result = { h: 0, s: 0, l: Math.round(l * 100) };
25
22
  } else {
26
- h = ((r - g) / d + 4) / 6;
23
+ const d = max - min;
24
+ const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
25
+ let h;
26
+ if (max === r) {
27
+ h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
28
+ } else if (max === g) {
29
+ h = ((b - r) / d + 2) / 6;
30
+ } else {
31
+ h = ((r - g) / d + 4) / 6;
32
+ }
33
+ result = {
34
+ h: Math.round(h * 360),
35
+ s: Math.round(s * 100),
36
+ l: Math.round(l * 100)
37
+ };
27
38
  }
28
- return {
29
- h: Math.round(h * 360),
30
- s: Math.round(s * 100),
31
- l: Math.round(l * 100)
32
- };
39
+ if (HEX_TO_HSL_CACHE.size >= HEX_TO_HSL_CACHE_MAX) HEX_TO_HSL_CACHE.clear();
40
+ HEX_TO_HSL_CACHE.set(hex, result);
41
+ return { ...result };
33
42
  }
34
43
  function hslToHex(h, s, l) {
35
44
  const sNorm = s / 100;
@@ -87,7 +96,12 @@ function shade(hex, base, amount) {
87
96
  const sb = Math.round(b + (bb - b) * amount);
88
97
  return `#${sr.toString(16).padStart(2, "0")}${sg.toString(16).padStart(2, "0")}${sb.toString(16).padStart(2, "0")}`;
89
98
  }
99
+ var MIX_CACHE = /* @__PURE__ */ new Map();
100
+ var MIX_CACHE_MAX = 5e3;
90
101
  function mix(a, b, pct) {
102
+ const key = `${a}|${b}|${pct}`;
103
+ const cached = MIX_CACHE.get(key);
104
+ if (cached !== void 0) return cached;
91
105
  const parse = (h) => {
92
106
  const r = h.replace("#", "");
93
107
  const f = r.length === 3 ? [...r].map((c2) => c2 + c2).join("") : r;
@@ -99,7 +113,10 @@ function mix(a, b, pct) {
99
113
  };
100
114
  const [ar, ag, ab] = parse(a), [br, bg, bb] = parse(b), t = pct / 100;
101
115
  const c = (x, y) => Math.round(x * t + y * (1 - t)).toString(16).padStart(2, "0");
102
- return `#${c(ar, br)}${c(ag, bg)}${c(ab, bb)}`;
116
+ const out = `#${c(ar, br)}${c(ag, bg)}${c(ab, bb)}`;
117
+ if (MIX_CACHE.size >= MIX_CACHE_MAX) MIX_CACHE.clear();
118
+ MIX_CACHE.set(key, out);
119
+ return out;
103
120
  }
104
121
  function valueRampColor(low, high, t, _opts) {
105
122
  const tc = Math.max(0, Math.min(1, t));
@@ -224,4 +241,4 @@ export {
224
241
  getSegmentColors,
225
242
  politicalTints
226
243
  };
227
- //# sourceMappingURL=chunk-WBM7ZNDI.js.map
244
+ //# sourceMappingURL=chunk-JYDMBWRP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildPlacedNotes
3
- } from "./chunk-JED6ZDEE.js";
3
+ } from "./chunk-5HWPEYWB.js";
4
4
  import {
5
5
  noteCanvasShift
6
6
  } from "./chunk-6EK55ART.js";
@@ -8,10 +8,10 @@ import {
8
8
  measureText,
9
9
  truncateText,
10
10
  wrapTextToWidth
11
- } from "./chunk-WCT3NYCV.js";
11
+ } from "./chunk-4ASYQ347.js";
12
12
  import {
13
13
  resolveNotes
14
- } from "./chunk-FMDSF3OV.js";
14
+ } from "./chunk-QZAW5SFH.js";
15
15
 
16
16
  // src/boxes-and-lines/label-placement.ts
17
17
  var EDGE_LABEL_FONT_SIZE = 11;
@@ -311,7 +311,7 @@ function computeNodeSize(node, reserveValueRow) {
311
311
  return { width: w, height: Math.max(NODE_HEIGHT, totalHeight) };
312
312
  }
313
313
  async function layoutBoxesAndLines(parsed, collapseInfo, layoutOptions) {
314
- const { layoutBoxesAndLinesSearch } = await import("./layout-search-55FU6HD3.js");
314
+ const { layoutBoxesAndLinesSearch } = await import("./layout-search-34DPZD43.js");
315
315
  const searchOpts = {
316
316
  ...layoutOptions?.hideDescriptions !== void 0 && {
317
317
  hideDescriptions: layoutOptions.hideDescriptions
@@ -323,16 +323,22 @@ async function layoutBoxesAndLines(parsed, collapseInfo, layoutOptions) {
323
323
  onProgress: layoutOptions.onProgress
324
324
  }
325
325
  };
326
- const searched = await layoutBoxesAndLinesSearch(
327
- parsed,
328
- collapseInfo,
329
- searchOpts
330
- );
326
+ let topConfigs;
327
+ const searched = await layoutBoxesAndLinesSearch(parsed, collapseInfo, {
328
+ ...searchOpts,
329
+ onTopConfigs: (cfgs) => {
330
+ topConfigs = cfgs;
331
+ }
332
+ });
331
333
  let placed = placeEdgeLabels(applyParallelEdgeOffsets(searched));
332
334
  if (placed.unresolved.length > 0) {
333
335
  const relaid = await layoutBoxesAndLinesSearch(parsed, collapseInfo, {
334
336
  ...searchOpts,
335
- reserveEdgeLabels: true
337
+ reserveEdgeLabels: true,
338
+ // Only the label reservation changed — re-laying-out the top candidates
339
+ // from the first search is enough. Falls back to the full pool when the
340
+ // first search surfaced no dagre candidates.
341
+ ...topConfigs !== void 0 && topConfigs.length > 0 && { configs: topConfigs }
336
342
  });
337
343
  const relaidPlaced = placeEdgeLabels(applyParallelEdgeOffsets(relaid));
338
344
  if (relaidPlaced.unresolved.length < placed.unresolved.length)
@@ -460,4 +466,4 @@ export {
460
466
  computeNodeSize,
461
467
  layoutBoxesAndLines
462
468
  };
463
- //# sourceMappingURL=chunk-7DF4J4RL.js.map
469
+ //# sourceMappingURL=chunk-KKHCNSKK.js.map
@@ -9,19 +9,19 @@ import {
9
9
  tagAttrKey,
10
10
  validateTagGroupNames,
11
11
  validateTagValues
12
- } from "./chunk-HHKO6SKY.js";
12
+ } from "./chunk-CMVZWP32.js";
13
13
  import {
14
14
  extractColor,
15
15
  fillModeFromToken,
16
16
  measureIndent,
17
17
  parseFirstLine
18
- } from "./chunk-BRENJ2BQ.js";
18
+ } from "./chunk-YJVA3QUU.js";
19
19
  import {
20
20
  formatDgmoError,
21
21
  makeDgmoError,
22
22
  makeFail,
23
23
  suggest
24
- } from "./chunk-CXK4DZH3.js";
24
+ } from "./chunk-4W2PE66Q.js";
25
25
 
26
26
  // src/block/parser.ts
27
27
  function parseBlock(content, palette) {
@@ -338,4 +338,4 @@ function parseBlockTail(tail, aliasMap) {
338
338
  export {
339
339
  parseBlock
340
340
  };
341
- //# sourceMappingURL=chunk-4UNQ6X24.js.map
341
+ //# sourceMappingURL=chunk-KUSAVOWZ.js.map
@@ -4,10 +4,10 @@ import {
4
4
  renderNoteBadge,
5
5
  renderNoteBox,
6
6
  renderNoteConnector
7
- } from "./chunk-J7TLCB2Q.js";
7
+ } from "./chunk-3IUHKMJI.js";
8
8
  import {
9
9
  layoutERDiagram
10
- } from "./chunk-6NYWYNBI.js";
10
+ } from "./chunk-VGNIDAPQ.js";
11
11
  import {
12
12
  EDGE_STROKE_WIDTH,
13
13
  NODE_STROKE_WIDTH
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-YYVTBZZC.js";
18
18
  import {
19
19
  renderIntegratedLegend
20
- } from "./chunk-AUIM2NVH.js";
20
+ } from "./chunk-W5KMNC5U.js";
21
21
  import {
22
22
  TITLE_FONT_SIZE,
23
23
  TITLE_FONT_WEIGHT,
@@ -26,27 +26,28 @@ import {
26
26
  import {
27
27
  FONT_FAMILY
28
28
  } from "./chunk-6KFWC4CO.js";
29
- import {
30
- LEGEND_HEIGHT
31
- } from "./chunk-QOOUC2J5.js";
32
- import {
33
- measureText
34
- } from "./chunk-WCT3NYCV.js";
35
29
  import {
36
30
  parseERDiagram
37
- } from "./chunk-REJAIQ5S.js";
31
+ } from "./chunk-BR7AYN76.js";
38
32
  import {
39
33
  contrastText,
40
34
  getSeriesColors,
41
35
  shapeFill
42
- } from "./chunk-WBM7ZNDI.js";
36
+ } from "./chunk-JYDMBWRP.js";
37
+ import {
38
+ LEGEND_HEIGHT
39
+ } from "./chunk-4RGZFA7H.js";
40
+ import {
41
+ measureText
42
+ } from "./chunk-4ASYQ347.js";
43
43
  import {
44
44
  resolveTagColor,
45
45
  tagAttrKey
46
- } from "./chunk-HHKO6SKY.js";
46
+ } from "./chunk-CMVZWP32.js";
47
47
  import {
48
- fillModeFromOptions
49
- } from "./chunk-BRENJ2BQ.js";
48
+ fillModeFromOptions,
49
+ legendSuppressed
50
+ } from "./chunk-YJVA3QUU.js";
50
51
 
51
52
  // src/er/renderer.ts
52
53
  import * as d3Selection from "d3-selection";
@@ -253,8 +254,9 @@ function renderERDiagram(container, parsed, layout, palette, isDark, onClickItem
253
254
  d3Selection.select(container).selectAll(":not([data-d3-tooltip])").remove();
254
255
  const useSemanticColors = parsed.tagGroups.length === 0 && layout.nodes.every((n) => !n.color);
255
256
  const LEGEND_FIXED_GAP = 8;
256
- const hasTagLegend = parsed.tagGroups.length > 0;
257
- const legendReserveH = useSemanticColors ? LEGEND_HEIGHT + LEGEND_FIXED_GAP : hasTagLegend ? LEGEND_HEIGHT + LEGEND_FIXED_GAP : 0;
257
+ const noLegend = legendSuppressed(parsed.options);
258
+ const hasTagLegend = parsed.tagGroups.length > 0 && !noLegend;
259
+ const legendReserveH = !noLegend && (useSemanticColors || hasTagLegend) ? LEGEND_HEIGHT + LEGEND_FIXED_GAP : 0;
258
260
  const showTitle = !!parsed.title && parsed.options["no-title"] !== "on";
259
261
  const titleHeight = showTitle ? 40 : 0;
260
262
  const diagramW = layout.width;
@@ -458,7 +460,7 @@ function renderERDiagram(container, parsed, layout, palette, isDark, onClickItem
458
460
  }
459
461
  }
460
462
  }
461
- if (parsed.tagGroups.length > 0) {
463
+ if (hasTagLegend) {
462
464
  const legendY = sDiagramPadding + titleHeight;
463
465
  const legendG = svg.append("g").attr("class", "er-tag-legend").attr("transform", `translate(0,${legendY})`);
464
466
  renderIntegratedLegend(legendG, {
@@ -471,7 +473,7 @@ function renderERDiagram(container, parsed, layout, palette, isDark, onClickItem
471
473
  });
472
474
  legendG.selectAll("[data-legend-group]").classed("er-legend-group", true);
473
475
  }
474
- if (semanticRoles) {
476
+ if (semanticRoles && !noLegend) {
475
477
  const presentRoles = ROLE_ORDER.filter((role) => {
476
478
  for (const r of semanticRoles.values()) {
477
479
  if (r === role) return true;
@@ -548,4 +550,4 @@ export {
548
550
  renderERDiagram,
549
551
  renderERDiagramForExport
550
552
  };
551
- //# sourceMappingURL=chunk-77FGAVZC.js.map
553
+ //# sourceMappingURL=chunk-LC3FFD43.js.map