@diagrammo/dgmo 0.77.0 → 0.79.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 (280) hide show
  1. package/README.md +17 -13
  2. package/dist/advanced.d.ts +197 -23
  3. package/dist/advanced.js +161 -142
  4. package/dist/block.css +1 -1
  5. package/dist/block.d.ts +2 -2
  6. package/dist/block.js +62 -58
  7. package/dist/{calculator-CVQ54JNE.js → calculator-OHTCZSBW.js} +3 -3
  8. package/dist/{chart-meta-Cf_jkApJ.d.ts → chart-meta-B7lSmrzg.d.ts} +2 -2
  9. package/dist/chart-meta.d.ts +3 -3
  10. package/dist/chart-meta.js +45 -44
  11. package/dist/charts-d3-EST3Z5VG.js +31 -0
  12. package/dist/{chunk-U4DS2ODO.js → chunk-253E5ISJ.js} +9 -9
  13. package/dist/{chunk-7IATMZSA.js → chunk-26EVL454.js} +1 -25
  14. package/dist/{chunk-MG3DE3VO.js → chunk-2F7AG7LA.js} +4 -4
  15. package/dist/{chunk-OWVDD5EC.js → chunk-2R2M2C6V.js} +2 -2
  16. package/dist/{chunk-LYJ53DBK.js → chunk-2RAH6GVR.js} +56 -41
  17. package/dist/{chunk-Q74GP3GK.js → chunk-37NDM5NW.js} +3 -3
  18. package/dist/{chunk-N6MZSBOL.js → chunk-3BN3WCUD.js} +5 -2
  19. package/dist/chunk-3DPOIW3W.js +10 -0
  20. package/dist/{chunk-HDLRRY3N.js → chunk-3KFGPXHD.js} +195 -135
  21. package/dist/{chunk-NWNSXHA5.js → chunk-3KNA7OIO.js} +3 -3
  22. package/dist/{chunk-M5OOAP65.js → chunk-4CA7TJ44.js} +2 -1
  23. package/dist/{chunk-M5JT2AU7.js → chunk-4L43NPSQ.js} +10 -6
  24. package/dist/{chunk-4YER7UCV.js → chunk-4T6V7JJA.js} +3 -3
  25. package/dist/{chunk-3E4YB6TY.js → chunk-4YSWUQKZ.js} +12 -7
  26. package/dist/{chunk-6BVAW7KI.js → chunk-54JYWS7D.js} +50 -43
  27. package/dist/{chunk-7NSNE52V.js → chunk-55DMCFGM.js} +3 -3
  28. package/dist/{chunk-XPBJVSRY.js → chunk-5BV5MXLY.js} +38 -32
  29. package/dist/{chunk-5VMUVJO4.js → chunk-5DWF3N3V.js} +3 -3
  30. package/dist/{chunk-SSEAULA5.js → chunk-6775W3UW.js} +19 -15
  31. package/dist/{chunk-2QRIMMIH.js → chunk-6EMJRAEY.js} +3 -3
  32. package/dist/{chunk-OZOHREFQ.js → chunk-6FUIPWTS.js} +14 -15
  33. package/dist/{chunk-F4V67JXG.js → chunk-6JIMYPXR.js} +4 -4
  34. package/dist/{chunk-CHOK7NCJ.js → chunk-7AEMAUDF.js} +29 -25
  35. package/dist/{chunk-NVOU7N6C.js → chunk-7DCM3CB5.js} +2 -2
  36. package/dist/{chunk-UBDVAHGK.js → chunk-7EUTTKNU.js} +36 -31
  37. package/dist/{chunk-76NHL5UG.js → chunk-7I6NWTPE.js} +2 -2
  38. package/dist/{chunk-OKXWPKUC.js → chunk-7SHL2WME.js} +2 -2
  39. package/dist/{chunk-SWEKCK34.js → chunk-AFOHIR2O.js} +3 -3
  40. package/dist/{chunk-RWFMOVHG.js → chunk-AI7TZQ2R.js} +3 -3
  41. package/dist/{chunk-BWJLLNUX.js → chunk-ALVK3TBO.js} +3 -3
  42. package/dist/{chunk-GLREDNBA.js → chunk-AMQFJ7P7.js} +21 -2
  43. package/dist/{chunk-RGW26UAR.js → chunk-CCETDPLV.js} +11 -11
  44. package/dist/{chunk-5ZD4DDG7.js → chunk-CE654SL2.js} +17 -14
  45. package/dist/{chunk-TPN7RJOM.js → chunk-CFYTCBRH.js} +4 -4
  46. package/dist/{chunk-YT5ICQ4R.js → chunk-CKDYRVOC.js} +3 -3
  47. package/dist/{chunk-WQXD3IIN.js → chunk-CRBW2WS7.js} +11 -9
  48. package/dist/{chunk-J76YDS4V.js → chunk-CREALBZL.js} +3 -3
  49. package/dist/{chunk-MZEGUDTA.js → chunk-CSTYDCKB.js} +16 -16
  50. package/dist/{chunk-QBM5BURJ.js → chunk-DG5IQW74.js} +10 -10
  51. package/dist/{chunk-Y2CYNRL7.js → chunk-DN6K6QCF.js} +2 -2
  52. package/dist/{chunk-43AJKH2U.js → chunk-DQOCYWB6.js} +12 -10
  53. package/dist/{chunk-FTTB64OJ.js → chunk-EBEFYSVZ.js} +40 -40
  54. package/dist/{chunk-L65WI4HO.js → chunk-EDU2OCIQ.js} +2 -2
  55. package/dist/{chunk-SWUQJ5VR.js → chunk-EOG4QKKV.js} +108 -65
  56. package/dist/chunk-EPDBWATV.js +38 -0
  57. package/dist/{chunk-5GM6BZO7.js → chunk-F66R7CPY.js} +6 -3
  58. package/dist/{chunk-7BMX2M3F.js → chunk-FFDHZVEL.js} +2 -2
  59. package/dist/{chunk-WGC42WJU.js → chunk-FWNJDD4U.js} +6 -2
  60. package/dist/{chunk-SI3PYDL4.js → chunk-GWA6UGNX.js} +22 -22
  61. package/dist/{chunk-QMFIZQTB.js → chunk-HIOJSYDA.js} +7 -5
  62. package/dist/{chunk-NHQ7HUAS.js → chunk-HJ5DKZPO.js} +12 -10
  63. package/dist/{chunk-FPRMP6YA.js → chunk-HJZ4OET2.js} +32 -17
  64. package/dist/{chunk-N5NQIZ56.js → chunk-HLTVEXML.js} +25 -25
  65. package/dist/{chunk-6IN4F4RH.js → chunk-I6DFQQER.js} +42 -44
  66. package/dist/chunk-ICLB27PZ.js +11 -0
  67. package/dist/{chunk-R3XI2VC7.js → chunk-IDJGV6VM.js} +2 -1
  68. package/dist/{chunk-ZM27UI5O.js → chunk-IEK2FUWO.js} +19 -6
  69. package/dist/{chunk-FJ57274M.js → chunk-IIEI7VK5.js} +15 -1
  70. package/dist/{chunk-DY7KDZUF.js → chunk-IZK2H4KU.js} +3 -3
  71. package/dist/{chunk-CRLVJZWX.js → chunk-JOG6W3VS.js} +2 -2
  72. package/dist/{chunk-XFXJXLK7.js → chunk-JTLLQT34.js} +19 -19
  73. package/dist/{chunk-MS5574I7.js → chunk-K3K7JHZI.js} +2 -2
  74. package/dist/{chunk-GOW5VO6M.js → chunk-KHRZCKKG.js} +2 -2
  75. package/dist/{chunk-D3B6YEZK.js → chunk-KIF4UFD2.js} +20 -16
  76. package/dist/{chunk-EUVUOPRC.js → chunk-KYK6PMB5.js} +55 -34
  77. package/dist/{chunk-RU2HHHYA.js → chunk-LD2JSKU3.js} +12 -2
  78. package/dist/{chunk-CYMYZYLI.js → chunk-LJ7X6ZNV.js} +25 -28
  79. package/dist/{chunk-ICVIJLBA.js → chunk-LLYHYPYG.js} +4 -4
  80. package/dist/{chunk-VRPV6QXR.js → chunk-LLZVRWVS.js} +2 -2
  81. package/dist/{chunk-Z7KVOVE4.js → chunk-LXTMP3VT.js} +7 -4
  82. package/dist/{chunk-7CXW6EGX.js → chunk-MDUCF376.js} +28 -26
  83. package/dist/{chunk-KWSBNLSC.js → chunk-MQAD75AY.js} +2 -2
  84. package/dist/{chunk-XCFIAGT7.js → chunk-MUTZSF2A.js} +17 -16
  85. package/dist/{chunk-CF3I5SOG.js → chunk-NVI5G57O.js} +29 -27
  86. package/dist/{chunk-76LHNLGX.js → chunk-O2HU4AQN.js} +34 -5
  87. package/dist/{chunk-46KVXDUJ.js → chunk-O5QG5IFV.js} +12 -3
  88. package/dist/{chunk-V4NHFY22.js → chunk-OLRVGPJ3.js} +33 -20
  89. package/dist/{chunk-WHWUVDYK.js → chunk-OM6XZAKM.js} +7 -7
  90. package/dist/{chunk-DSXWJAOA.js → chunk-OMN4F42L.js} +17 -15
  91. package/dist/{chunk-LM3HY3VG.js → chunk-P4U5GST7.js} +3 -3
  92. package/dist/{chunk-BH3BQICT.js → chunk-PKW4TLJC.js} +88 -44
  93. package/dist/{chunk-GRN44Z6A.js → chunk-PQR7E3LY.js} +2 -2
  94. package/dist/{chunk-SH4PPRU7.js → chunk-Q5KGGW7Z.js} +2 -2
  95. package/dist/{chunk-RV5A3EGI.js → chunk-QDHOIBHZ.js} +21 -20
  96. package/dist/{chunk-UH5YTZN7.js → chunk-QDTFFVLT.js} +113 -23
  97. package/dist/chunk-QFIXL3OK.js +68 -0
  98. package/dist/{chunk-QXMHBIQG.js → chunk-QGXH64FT.js} +52 -49
  99. package/dist/{chunk-VS2M72PF.js → chunk-RLJKH4ZO.js} +4 -2
  100. package/dist/{chunk-6ZZKEYBS.js → chunk-RN3DOUOU.js} +17 -15
  101. package/dist/{chunk-VBJCGGNF.js → chunk-RPP3NHKV.js} +2 -2
  102. package/dist/{chunk-RTTZIX34.js → chunk-RVWWCQAB.js} +3 -3
  103. package/dist/{chunk-FR5EVD2X.js → chunk-RWF7TCGT.js} +68 -38
  104. package/dist/{chunk-LKS56RDT.js → chunk-S6GPBJWG.js} +2 -2
  105. package/dist/{chunk-UJBP57UJ.js → chunk-S7ZJEQPW.js} +4 -4
  106. package/dist/{chunk-3H4PDNP4.js → chunk-SEOM2BGQ.js} +3 -3
  107. package/dist/{chunk-5PFNUDXR.js → chunk-T3EW35M2.js} +3 -3
  108. package/dist/{chunk-3SP6G4LN.js → chunk-TPQ6Q7JP.js} +3 -3
  109. package/dist/{chunk-B52RL5VV.js → chunk-ULUZBEFO.js} +11 -11
  110. package/dist/{chunk-F4X5NVKY.js → chunk-UNYOWKEC.js} +13 -4
  111. package/dist/{chunk-DEW62ON3.js → chunk-VSPNH7LC.js} +2 -2
  112. package/dist/{chunk-C2WH3BMS.js → chunk-VTWUHX4H.js} +10 -7
  113. package/dist/{chunk-DJL5PO27.js → chunk-W4MC3KP6.js} +2 -2
  114. package/dist/{chunk-MU3CJPJF.js → chunk-W6DBWWPC.js} +3 -3
  115. package/dist/{chunk-JLODGGN2.js → chunk-WC72PTV4.js} +3 -3
  116. package/dist/{chunk-NCT22MOD.js → chunk-WMIKC5XO.js} +2 -2
  117. package/dist/{chunk-H7BYMIVK.js → chunk-WY4L675I.js} +70 -44
  118. package/dist/chunk-XBJJP2HN.js +37 -0
  119. package/dist/{chunk-KRTLS3G6.js → chunk-XDEEYDPQ.js} +4 -4
  120. package/dist/{chunk-S5P5Z5Y5.js → chunk-XNAMWOPJ.js} +3 -3
  121. package/dist/{chunk-2MTM4E6M.js → chunk-XND5JIJA.js} +68 -65
  122. package/dist/{chunk-S6OXNZBM.js → chunk-XWC4RQ7T.js} +4 -4
  123. package/dist/{chunk-UCZBRGJN.js → chunk-XXLAZQ5E.js} +2 -2
  124. package/dist/{chunk-LXXVHLTH.js → chunk-Y22BJKMK.js} +3 -3
  125. package/dist/{chunk-OO2L2LWV.js → chunk-Y2KFQX5K.js} +89 -66
  126. package/dist/{chunk-TI4YUUW6.js → chunk-Y3OLUMJH.js} +31 -30
  127. package/dist/{chunk-CIWFL2LM.js → chunk-Y3RYIGHZ.js} +17 -15
  128. package/dist/{chunk-MTGGOCND.js → chunk-YC6GVLTI.js} +61 -10
  129. package/dist/{chunk-TKIPK5P6.js → chunk-YD2HPT7W.js} +5 -7
  130. package/dist/{chunk-3O7ZYVJV.js → chunk-YPVP6I62.js} +19 -15
  131. package/dist/{chunk-FF7LRT5L.js → chunk-YQIZIKCK.js} +35 -27
  132. package/dist/{chunk-M526IKKH.js → chunk-Z4COUG7H.js} +2 -2
  133. package/dist/{chunk-LTTZX6RD.js → chunk-Z5ZCTCX4.js} +3 -3
  134. package/dist/{chunk-QOVM5VRC.js → chunk-ZASX45SU.js} +3 -3
  135. package/dist/{chunk-W7UBPARG.js → chunk-ZH3BWGTE.js} +3 -3
  136. package/dist/{chunk-TN754B3R.js → chunk-ZZZJVDIL.js} +2 -2
  137. package/dist/clock.js +11 -5
  138. package/dist/completion-registry.js +3 -3
  139. package/dist/countdown.js +26 -20
  140. package/dist/{d3-BiaJtaSw.d.ts → d3-Bje6Mla1.d.ts} +1 -1
  141. package/dist/dgmo-router-OXFV43XX.js +90 -0
  142. package/dist/{dgmo-router-BwXHZ_P3.d.ts → dgmo-router-zWf4Uxxg.d.ts} +1 -1
  143. package/dist/dimensions-AN34SPVX.js +22 -0
  144. package/dist/{flowchart-parser-NVBP3C5D.js → flowchart-parser-MRNAVG35.js} +4 -4
  145. package/dist/flowchart-renderer-IGSKJFMF.js +37 -0
  146. package/dist/index.d.ts +7 -7
  147. package/dist/index.js +75 -60
  148. package/dist/{layout-Y2V3LYV7.js → layout-5AYAYUJH.js} +2 -2
  149. package/dist/{layout-ZAGUFT2G.js → layout-6APS2RRG.js} +8 -7
  150. package/dist/{layout-B5GQVXXY.js → layout-6VUNAH6F.js} +8 -7
  151. package/dist/{layout-RV2T2YTT.js → layout-74HDWQYG.js} +6 -5
  152. package/dist/{layout-6SKHNQYO.js → layout-FCIYZV63.js} +4 -4
  153. package/dist/{layout-4LNMXLVK.js → layout-J2Z2SYH5.js} +3 -3
  154. package/dist/layout-LELNMRM5.js +16 -0
  155. package/dist/{layout-EM4DLMAX.js → layout-OPF6KTOH.js} +5 -5
  156. package/dist/layout-SUND6B7D.js +9 -0
  157. package/dist/layout-WASEHV3S.js +19 -0
  158. package/dist/{layout-SGYR6HBX.js → layout-XAJLQPI6.js} +3 -3
  159. package/dist/layout-XY45TFJ4.js +16 -0
  160. package/dist/layout-YPRXVCW5.js +19 -0
  161. package/dist/{layout-2OJ25STS.js → layout-ZJOWB27N.js} +9 -8
  162. package/dist/{layout-search-UOKEMER5.js → layout-search-3JKNSUTJ.js} +8 -7
  163. package/dist/{legend-constants-PLN2YHGM.js → legend-constants-RSWFR3L6.js} +4 -4
  164. package/dist/{palettes-54YSI3IX.js → palettes-IAF6WVL4.js} +5 -3
  165. package/dist/{parser-QOIZGW7I.js → parser-2Y7LWKNO.js} +4 -4
  166. package/dist/{parser-EQ4I3TSH.js → parser-4GUQUDAC.js} +5 -5
  167. package/dist/{parser-TA5TYZNL.js → parser-4OXANARZ.js} +5 -5
  168. package/dist/{parser-L7T7FY3H.js → parser-56UEMRXS.js} +4 -4
  169. package/dist/{parser-2GMHFSTS.js → parser-66QZQYGE.js} +4 -4
  170. package/dist/{parser-3AOMUX5D.js → parser-6SS7DKVW.js} +4 -4
  171. package/dist/{parser-QYAIFXLP.js → parser-AYURCBDZ.js} +4 -4
  172. package/dist/{parser-5XFGK5C5.js → parser-COPCQEHV.js} +6 -6
  173. package/dist/{parser-F4ZKDGUZ.js → parser-DEWJM5PX.js} +3 -3
  174. package/dist/{parser-ZXQZZK6W.js → parser-DQKZDA2J.js} +4 -3
  175. package/dist/{parser-WCFG3DZA.js → parser-EMPM3V35.js} +3 -3
  176. package/dist/{parser-6FUESG4N.js → parser-EP2JQJNV.js} +4 -4
  177. package/dist/{parser-ZYAFHXKQ.js → parser-FDDHTBRV.js} +4 -4
  178. package/dist/{parser-3KQONLXZ.js → parser-FDESUQ32.js} +3 -3
  179. package/dist/{parser-LV7PQBUG.js → parser-GK6CMK4P.js} +4 -4
  180. package/dist/{parser-WVE6SKB7.js → parser-H33OKBUB.js} +4 -4
  181. package/dist/{parser-ML3LVNDV.js → parser-HJBSWTDY.js} +4 -4
  182. package/dist/{parser-PR3OR3LO.js → parser-HRIKI5O3.js} +5 -5
  183. package/dist/{parser-H4ZUNLX4.js → parser-I77632XB.js} +3 -3
  184. package/dist/{parser-YWQCC33R.js → parser-JGMQE7FS.js} +4 -4
  185. package/dist/{parser-WMJEPZDC.js → parser-JIPG576H.js} +4 -4
  186. package/dist/{parser-E3OHNNTH.js → parser-JNJ2IFSO.js} +4 -4
  187. package/dist/{parser-CJNP7RKR.js → parser-LCUQTABE.js} +4 -4
  188. package/dist/{parser-4DLU4SNG.js → parser-LXU3MGG6.js} +3 -3
  189. package/dist/{parser-WWRRG2DV.js → parser-N4YB5EIZ.js} +4 -4
  190. package/dist/{parser-XVSDFO56.js → parser-NC36PRBR.js} +3 -3
  191. package/dist/{parser-RDBXEVI4.js → parser-O6WYAXTS.js} +4 -4
  192. package/dist/{parser-4KFJKLP2.js → parser-UHABNZBC.js} +3 -3
  193. package/dist/{parser-GCVSRQPY.js → parser-V6HULGXW.js} +4 -4
  194. package/dist/{parser-UTR5WE4O.js → parser-VVWZIMYS.js} +4 -4
  195. package/dist/{parser-B2XQNHZM.js → parser-YJGTPT7A.js} +3 -3
  196. package/dist/{parser-WQNT7T2P.js → parser-YQ5F7ATB.js} +3 -3
  197. package/dist/{parser-ZT3PU2HT.js → parser-ZUH2G7J2.js} +4 -4
  198. package/dist/renderer-2ZGZSSCV.js +39 -0
  199. package/dist/renderer-33AB7UAZ.js +35 -0
  200. package/dist/renderer-43KEDLTQ.js +23 -0
  201. package/dist/renderer-4E6NNPNU.js +29 -0
  202. package/dist/renderer-4HFT4HJG.js +39 -0
  203. package/dist/renderer-63MHARNI.js +20 -0
  204. package/dist/renderer-6HPV7BMG.js +23 -0
  205. package/dist/renderer-BVJ3NVRB.js +20 -0
  206. package/dist/renderer-DV44AS75.js +28 -0
  207. package/dist/renderer-FLLVGYUY.js +30 -0
  208. package/dist/renderer-FSV7MTW3.js +17 -0
  209. package/dist/renderer-H6XEVHKH.js +27 -0
  210. package/dist/renderer-HNEMQJXT.js +21 -0
  211. package/dist/{renderer-CVWQD442.js → renderer-IIN3RY4F.js} +6 -5
  212. package/dist/renderer-K2OWHNBV.js +25 -0
  213. package/dist/renderer-M6UIXQHH.js +27 -0
  214. package/dist/renderer-N5CRYFBI.js +31 -0
  215. package/dist/{renderer-VF7X66SL.js → renderer-O3O6A3RY.js} +16 -16
  216. package/dist/renderer-OVRX36WE.js +39 -0
  217. package/dist/renderer-PLKMHBAB.js +30 -0
  218. package/dist/{renderer-G2DPKJAN.js → renderer-REHVBQ57.js} +17 -16
  219. package/dist/{renderer-GHBF5PRH.js → renderer-RW446FGL.js} +6 -5
  220. package/dist/renderer-SJV75NUI.js +28 -0
  221. package/dist/renderer-TKWW45LZ.js +36 -0
  222. package/dist/{renderer-FTX67CYZ.js → renderer-UHLTPQTW.js} +7 -6
  223. package/dist/renderer-UNYFAMFE.js +16 -0
  224. package/dist/renderer-URXHBQOF.js +26 -0
  225. package/dist/renderer-VBAQQWDB.js +25 -0
  226. package/dist/renderer-VI72MVFW.js +77 -0
  227. package/dist/renderer-XGJIACBV.js +25 -0
  228. package/dist/renderer-XVTKGPYT.js +20 -0
  229. package/dist/{renderer-R5HIRN2M.js → renderer-YLIICO4R.js} +9 -9
  230. package/dist/renderer-ZG6GPWZF.js +27 -0
  231. package/dist/renderer-radial-7UHFYOOL.js +21 -0
  232. package/dist/{state-parser-TPA67IXM.js → state-parser-XT4ZPQAF.js} +5 -5
  233. package/dist/state-renderer-6TVII5ZJ.js +41 -0
  234. package/dist/{tag-groups-BAtkq0b_.d.ts → tag-groups-DIJV_50B.d.ts} +18 -9
  235. package/dist/{themes-DpsyRSO7.d.ts → themes-Bgkyh6gh.d.ts} +2 -2
  236. package/docs/architecture-report.md +3 -3
  237. package/docs/language-reference.md +128 -30
  238. package/docs/migration-sequence-color-to-tags.md +16 -8
  239. package/package.json +7 -6
  240. package/dist/charts-d3-HMEMHSSW.js +0 -29
  241. package/dist/chunk-53SEVJQM.js +0 -9
  242. package/dist/chunk-LP7EC4MI.js +0 -16
  243. package/dist/chunk-YM5RMLFO.js +0 -40
  244. package/dist/dgmo-router-A3LIHT6H.js +0 -89
  245. package/dist/dimensions-OFF4GRFL.js +0 -22
  246. package/dist/flowchart-renderer-BBJUPORB.js +0 -36
  247. package/dist/layout-5ILNODTP.js +0 -15
  248. package/dist/layout-IN53LAE6.js +0 -9
  249. package/dist/layout-KQUSB45X.js +0 -18
  250. package/dist/layout-ROORJQ4X.js +0 -18
  251. package/dist/layout-VUZ3MLOI.js +0 -15
  252. package/dist/renderer-2ANDPQWC.js +0 -16
  253. package/dist/renderer-2LDT4TUX.js +0 -25
  254. package/dist/renderer-2NYQDW37.js +0 -20
  255. package/dist/renderer-2RIIIO34.js +0 -39
  256. package/dist/renderer-3HFU3DTO.js +0 -25
  257. package/dist/renderer-4BF6ILP6.js +0 -27
  258. package/dist/renderer-5E2AH5TO.js +0 -38
  259. package/dist/renderer-62SLWRYF.js +0 -27
  260. package/dist/renderer-ANJUDBOS.js +0 -34
  261. package/dist/renderer-D6GJ6EVK.js +0 -30
  262. package/dist/renderer-DNFV2IQI.js +0 -36
  263. package/dist/renderer-EDVCGIQO.js +0 -76
  264. package/dist/renderer-EFQSMHID.js +0 -27
  265. package/dist/renderer-GZLRX764.js +0 -24
  266. package/dist/renderer-H2HYLFN3.js +0 -20
  267. package/dist/renderer-IR5655M7.js +0 -28
  268. package/dist/renderer-L237AOOZ.js +0 -16
  269. package/dist/renderer-LSJWYGOL.js +0 -39
  270. package/dist/renderer-LWXDMZOV.js +0 -28
  271. package/dist/renderer-MYSVPERC.js +0 -22
  272. package/dist/renderer-OL5QSZPC.js +0 -31
  273. package/dist/renderer-P26HH3NA.js +0 -30
  274. package/dist/renderer-RNFECJ5D.js +0 -21
  275. package/dist/renderer-RPZVNCTF.js +0 -26
  276. package/dist/renderer-SDNWZDUY.js +0 -23
  277. package/dist/renderer-UKHH4UWV.js +0 -25
  278. package/dist/renderer-Y3Y7PEUS.js +0 -20
  279. package/dist/renderer-radial-QNGCGKZP.js +0 -21
  280. package/dist/state-renderer-ELWDRXD6.js +0 -40
@@ -8,28 +8,28 @@ import {
8
8
  rectCircleOverlap,
9
9
  rectsOverlap,
10
10
  segmentRectOverlap
11
- } from "./chunk-L65WI4HO.js";
11
+ } from "./chunk-EDU2OCIQ.js";
12
12
  import {
13
13
  TITLE_FONT_SIZE,
14
14
  TITLE_Y
15
- } from "./chunk-DEW62ON3.js";
15
+ } from "./chunk-VSPNH7LC.js";
16
16
  import {
17
17
  compactNumber,
18
18
  computeLegendLayout
19
- } from "./chunk-VRPV6QXR.js";
19
+ } from "./chunk-LLZVRWVS.js";
20
20
  import {
21
21
  measureLegendText
22
- } from "./chunk-YT5ICQ4R.js";
22
+ } from "./chunk-CKDYRVOC.js";
23
23
  import {
24
24
  tagAttrKey
25
- } from "./chunk-76LHNLGX.js";
25
+ } from "./chunk-O2HU4AQN.js";
26
26
  import {
27
27
  contrastRatio,
28
28
  mix,
29
29
  politicalTints,
30
30
  relativeLuminance,
31
31
  valueRampColor
32
- } from "./chunk-GLREDNBA.js";
32
+ } from "./chunk-AMQFJ7P7.js";
33
33
  import {
34
34
  resolveColor
35
35
  } from "./chunk-XOGQY4EC.js";
@@ -3406,4 +3406,4 @@ export {
3406
3406
  albersSkewFallback,
3407
3407
  layoutMap
3408
3408
  };
3409
- //# sourceMappingURL=chunk-WHWUVDYK.js.map
3409
+ //# sourceMappingURL=chunk-OM6XZAKM.js.map
@@ -4,42 +4,43 @@ import {
4
4
  buildLegend,
5
5
  compactNumber,
6
6
  formatPct,
7
+ mutedFill,
7
8
  resolveCellColor,
8
9
  resolveColorMode
9
- } from "./chunk-C2WH3BMS.js";
10
+ } from "./chunk-VTWUHX4H.js";
10
11
  import {
11
12
  layoutInlineHeader
12
- } from "./chunk-MG3DE3VO.js";
13
+ } from "./chunk-2F7AG7LA.js";
13
14
  import {
14
15
  TITLE_FONT_SIZE,
15
16
  TITLE_FONT_WEIGHT,
16
17
  TITLE_Y
17
- } from "./chunk-DEW62ON3.js";
18
+ } from "./chunk-VSPNH7LC.js";
18
19
  import {
19
20
  renderIntegratedLegend
20
- } from "./chunk-U4DS2ODO.js";
21
+ } from "./chunk-253E5ISJ.js";
21
22
  import {
22
23
  getLegendExtent,
23
24
  getMaxLegendReservedHeight
24
- } from "./chunk-VRPV6QXR.js";
25
+ } from "./chunk-LLZVRWVS.js";
25
26
  import {
26
27
  FONT_FAMILY
27
- } from "./chunk-53SEVJQM.js";
28
+ } from "./chunk-ICLB27PZ.js";
28
29
  import {
29
30
  LEGEND_GROUP_GAP
30
- } from "./chunk-YT5ICQ4R.js";
31
+ } from "./chunk-CKDYRVOC.js";
31
32
  import {
32
33
  measureText
33
- } from "./chunk-MTGGOCND.js";
34
+ } from "./chunk-YC6GVLTI.js";
34
35
  import {
35
36
  tagAttrKey
36
- } from "./chunk-76LHNLGX.js";
37
+ } from "./chunk-O2HU4AQN.js";
37
38
  import {
38
39
  contrastText,
39
40
  getSeriesColors,
40
41
  mix,
41
42
  themeBaseBg
42
- } from "./chunk-GLREDNBA.js";
43
+ } from "./chunk-AMQFJ7P7.js";
43
44
 
44
45
  // src/treemap/renderer.ts
45
46
  import * as d3Selection from "d3-selection";
@@ -241,7 +242,8 @@ function renderTreemap(container, parsed, palette, isDark, exportDims, options =
241
242
  rootIndexByLabel,
242
243
  seriesColors,
243
244
  colorOffset,
244
- bg: palette.bg
245
+ bg: palette.bg,
246
+ muted: mutedFill(palette)
245
247
  };
246
248
  for (const cell of layout.cells) {
247
249
  const w = Math.max(0, cell.x1 - cell.x0);
@@ -281,7 +283,7 @@ function renderTreemap(container, parsed, palette, isDark, exportDims, options =
281
283
  const showVal = valStr.length > 0 && w > 110;
282
284
  const valW = showVal ? measureText(valStr, 10.5) : 0;
283
285
  const labelMax = w - 8 - ICON_RESERVE - (showVal ? valW + 10 : 0);
284
- g.append("text").attr("class", "dgmo-treemap-header").attr("x", 6).attr("y", 13).attr("font-size", 11).attr("font-weight", 700).attr("fill", ink).text(clipLabel(cell.label, Math.max(0, labelMax), 11));
286
+ g.append("text").attr("class", "dgmo-treemap-header").attr("x", 6).attr("y", 13).attr("font-size", 11).attr("font-weight", "bold").attr("fill", ink).text(clipLabel(cell.label, Math.max(0, labelMax), 11));
285
287
  if (showVal) {
286
288
  g.append("text").attr("class", "dgmo-treemap-header-value").attr("x", w - ICON_RESERVE - 4).attr("y", 13).attr("text-anchor", "end").attr("font-size", 10.5).attr("fill", ink).attr("opacity", 0.75).text(valStr);
287
289
  }
@@ -304,7 +306,7 @@ function renderTreemap(container, parsed, palette, isDark, exportDims, options =
304
306
  const vfs = clamp(Math.round(fs * 0.42), 11, 28);
305
307
  const valOpacity = Math.max(0.45, nameOpacity - 0.1);
306
308
  let y = PAD + Math.round(fs * 0.78);
307
- g.append("text").attr("class", "dgmo-treemap-label").attr("x", PAD).attr("y", y).attr("font-size", fs).attr("font-weight", 600).attr("fill", ink).attr("opacity", nameOpacity).text(clipLabel(cell.label, maxW, fs));
309
+ g.append("text").attr("class", "dgmo-treemap-label").attr("x", PAD).attr("y", y).attr("font-size", fs).attr("font-weight", "bold").attr("fill", ink).attr("opacity", nameOpacity).text(clipLabel(cell.label, maxW, fs));
308
310
  const valParts = [
309
311
  opts.noValues ? "" : compactNumber(cell.value),
310
312
  opts.noPercent ? "" : formatPct(cell.pctOfRoot)
@@ -410,7 +412,7 @@ function drawVerticalLabel(g, label, w, h, pad, ink) {
410
412
  fs = Math.max(MIN_FS, Math.floor(fs * availLen / nameW));
411
413
  const text = clipLabel(label, availLen, fs);
412
414
  if (!text) return;
413
- g.append("text").attr("class", "dgmo-treemap-label").attr("transform", `translate(${w / 2},${h / 2}) rotate(-90)`).attr("y", Math.round(fs * 0.28)).attr("text-anchor", "middle").attr("font-size", fs).attr("font-weight", 600).attr("fill", ink).attr("opacity", 0.95).text(text);
415
+ g.append("text").attr("class", "dgmo-treemap-label").attr("transform", `translate(${w / 2},${h / 2}) rotate(-90)`).attr("y", Math.round(fs * 0.28)).attr("text-anchor", "middle").attr("font-size", fs).attr("font-weight", "bold").attr("fill", ink).attr("opacity", 0.95).text(text);
414
416
  }
415
417
  function descent(fs) {
416
418
  return Math.ceil(fs * 0.26);
@@ -439,4 +441,4 @@ export {
439
441
  renderTreemapForExport,
440
442
  renderTreemap
441
443
  };
442
- //# sourceMappingURL=chunk-DSXWJAOA.js.map
444
+ //# sourceMappingURL=chunk-OMN4F42L.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  buildPlacedNotes
3
- } from "./chunk-OWVDD5EC.js";
3
+ } from "./chunk-2R2M2C6V.js";
4
4
  import {
5
5
  noteCanvasShift
6
6
  } from "./chunk-6EK55ART.js";
7
7
  import {
8
8
  measureText
9
- } from "./chunk-MTGGOCND.js";
9
+ } from "./chunk-YC6GVLTI.js";
10
10
  import {
11
11
  resolveNotes
12
12
  } from "./chunk-E6PNTYRK.js";
@@ -201,4 +201,4 @@ function layoutClassDiagram(parsed, options) {
201
201
  export {
202
202
  layoutClassDiagram
203
203
  };
204
- //# sourceMappingURL=chunk-LM3HY3VG.js.map
204
+ //# sourceMappingURL=chunk-P4U5GST7.js.map
@@ -3,39 +3,45 @@ import {
3
3
  } from "./chunk-ICZ7M6IZ.js";
4
4
  import {
5
5
  layoutInfra
6
- } from "./chunk-VS2M72PF.js";
6
+ } from "./chunk-RLJKH4ZO.js";
7
+ import {
8
+ appendArrowheadMarkers
9
+ } from "./chunk-XBJJP2HN.js";
7
10
  import {
8
11
  renderInlineText
9
- } from "./chunk-WGC42WJU.js";
12
+ } from "./chunk-FWNJDD4U.js";
13
+ import {
14
+ ScaleContext
15
+ } from "./chunk-24YPR5EH.js";
10
16
  import {
17
+ ARROWHEAD_HEIGHT,
18
+ ARROWHEAD_WIDTH,
11
19
  COLLAPSE_BAR_HEIGHT,
12
20
  COLLAPSE_BAR_INSET,
21
+ EDGE_DASH,
13
22
  EDGE_LABEL_KNOCKOUT_OPACITY,
14
23
  EDGE_STROKE_WIDTH,
15
24
  NODE_STROKE_WIDTH
16
- } from "./chunk-FJ57274M.js";
17
- import {
18
- ScaleContext
19
- } from "./chunk-24YPR5EH.js";
25
+ } from "./chunk-IIEI7VK5.js";
20
26
  import {
21
27
  layoutInlineHeader
22
- } from "./chunk-MG3DE3VO.js";
28
+ } from "./chunk-2F7AG7LA.js";
23
29
  import {
24
30
  TITLE_FONT_SIZE,
25
31
  TITLE_FONT_WEIGHT,
26
32
  TITLE_OFFSET,
27
33
  TITLE_Y
28
- } from "./chunk-DEW62ON3.js";
34
+ } from "./chunk-VSPNH7LC.js";
29
35
  import {
30
36
  renderIntegratedLegend
31
- } from "./chunk-U4DS2ODO.js";
37
+ } from "./chunk-253E5ISJ.js";
32
38
  import {
33
39
  getLegendExtent,
34
40
  getMaxLegendReservedHeight
35
- } from "./chunk-VRPV6QXR.js";
41
+ } from "./chunk-LLZVRWVS.js";
36
42
  import {
37
43
  FONT_FAMILY
38
- } from "./chunk-53SEVJQM.js";
44
+ } from "./chunk-ICLB27PZ.js";
39
45
  import {
40
46
  LEGEND_CAPSULE_PAD,
41
47
  LEGEND_DOT_R,
@@ -46,30 +52,32 @@ import {
46
52
  LEGEND_PILL_FONT_SIZE,
47
53
  LEGEND_PILL_PAD,
48
54
  measureLegendText
49
- } from "./chunk-YT5ICQ4R.js";
55
+ } from "./chunk-CKDYRVOC.js";
50
56
  import {
51
57
  CHAR_WIDTH_RATIO,
52
58
  measureText,
53
59
  truncateText
54
- } from "./chunk-MTGGOCND.js";
60
+ } from "./chunk-YC6GVLTI.js";
55
61
  import {
56
62
  parseInfra
57
- } from "./chunk-46KVXDUJ.js";
63
+ } from "./chunk-O5QG5IFV.js";
58
64
  import {
59
65
  preprocessDescriptionLine
60
66
  } from "./chunk-IYULMRBE.js";
61
67
  import {
62
68
  tagAttrKey
63
- } from "./chunk-76LHNLGX.js";
69
+ } from "./chunk-O2HU4AQN.js";
64
70
  import {
65
71
  legendInlineRequested,
66
72
  legendSuppressed
67
- } from "./chunk-M5OOAP65.js";
73
+ } from "./chunk-4CA7TJ44.js";
68
74
  import {
69
75
  contrastText,
76
+ groupFill,
77
+ groupStroke,
70
78
  mix,
71
79
  shapeFill
72
- } from "./chunk-GLREDNBA.js";
80
+ } from "./chunk-AMQFJ7P7.js";
73
81
  import {
74
82
  resolveColor
75
83
  } from "./chunk-XOGQY4EC.js";
@@ -80,13 +88,19 @@ import * as d3Shape from "d3-shape";
80
88
 
81
89
  // src/infra/roles.ts
82
90
  var ROLE_RULES = [
83
- { keys: ["cache-hit"], role: { name: "Cache", color: "#22c55e" } },
84
- { keys: ["firewall-block"], role: { name: "Firewall", color: "#ef4444" } },
85
- { keys: ["ratelimit-rps"], role: { name: "Rate Limiter", color: "#eab308" } },
86
- { keys: ["max-rps"], role: { name: "Service", color: "#3b82f6" } },
87
- { keys: ["cb-error-threshold", "cb-latency-threshold-ms"], role: { name: "Circuit Breaker", color: "#a855f7" } },
88
- { keys: ["concurrency"], role: { name: "Serverless", color: "#06b6d4" } },
89
- { keys: ["buffer"], role: { name: "Queue", color: "#8b5cf6" } }
91
+ { keys: ["cache-hit"], role: { name: "Cache", colorToken: "green" } },
92
+ { keys: ["firewall-block"], role: { name: "Firewall", colorToken: "red" } },
93
+ {
94
+ keys: ["ratelimit-rps"],
95
+ role: { name: "Rate Limiter", colorToken: "yellow" }
96
+ },
97
+ { keys: ["max-rps"], role: { name: "Service", colorToken: "blue" } },
98
+ {
99
+ keys: ["cb-error-threshold", "cb-latency-threshold-ms"],
100
+ role: { name: "Circuit Breaker", colorToken: "purple" }
101
+ },
102
+ { keys: ["concurrency"], role: { name: "Serverless", colorToken: "cyan" } },
103
+ { keys: ["buffer"], role: { name: "Queue", colorToken: "teal" } }
90
104
  ];
91
105
  function inferRoles(properties) {
92
106
  const propKeys = new Set(properties.map((p) => p.key));
@@ -98,7 +112,7 @@ function inferRoles(properties) {
98
112
  }
99
113
  return roles;
100
114
  }
101
- var FANOUT_ROLE = { name: "Fan-Out", color: "#f97316" };
115
+ var FANOUT_ROLE = { name: "Fan-Out", colorToken: "orange" };
102
116
  function collectFanoutSourceIds(edges) {
103
117
  const ids = /* @__PURE__ */ new Set();
104
118
  for (const e of edges) {
@@ -870,13 +884,28 @@ function nodeColor(_node, palette, isDark, severity, fillMode) {
870
884
  function edgeColor(_edge, palette) {
871
885
  return palette.textMuted;
872
886
  }
873
- function renderGroups(svg, groups, palette, _isDark, sc = buildScaledConstants(ScaleContext.identity())) {
887
+ function resolveGroupTagFill(metadata, activeGroup, tagGroups, palette) {
888
+ if (!metadata) return null;
889
+ const tg = tagGroups.find(
890
+ (t) => t.name.toLowerCase() === activeGroup.toLowerCase()
891
+ );
892
+ if (!tg) return null;
893
+ const tagVal = metadata[tagAttrKey(tg.name)];
894
+ if (!tagVal) return null;
895
+ const tv = tg.values.find(
896
+ (v) => v.name.toLowerCase() === tagVal.toLowerCase()
897
+ );
898
+ if (!tv?.color) return null;
899
+ return resolveColor(tv.color, palette);
900
+ }
901
+ function renderGroups(svg, groups, palette, isDark, sc = buildScaledConstants(ScaleContext.identity()), activeGroup, tagGroups) {
874
902
  for (const group of groups) {
875
903
  const g = svg.append("g").attr("class", "infra-group").attr("data-line-number", group.lineNumber).attr("data-node-toggle", group.id).style("cursor", "pointer");
876
- const groupFill = mix(palette.surface, palette.bg, 40);
877
- const groupStroke = palette.textMuted;
878
- g.append("rect").attr("x", group.x).attr("y", group.y).attr("width", group.width).attr("height", group.height).attr("rx", 6).attr("fill", groupFill).attr("stroke", groupStroke).attr("stroke-opacity", 0.35).attr("stroke-width", 1);
879
- g.append("text").attr("x", group.x + group.width / 2).attr("y", group.y + 16).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", sc.sGroupLabelFontSize).attr("font-weight", "600").attr("fill", palette.text).text(group.label);
904
+ const tagColor = activeGroup && tagGroups ? resolveGroupTagFill(group.metadata, activeGroup, tagGroups, palette) : null;
905
+ const frameFill = groupFill(palette, isDark, tagColor ?? void 0);
906
+ const frameStroke = groupStroke(palette, tagColor ?? void 0);
907
+ g.append("rect").attr("x", group.x).attr("y", group.y).attr("width", group.width).attr("height", group.height).attr("rx", 6).attr("fill", frameFill).attr("stroke", frameStroke).attr("stroke-opacity", tagColor ? 1 : 0.35).attr("stroke-width", 1);
908
+ g.append("text").attr("x", group.x + group.width / 2).attr("y", group.y + 16).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", sc.sGroupLabelFontSize).attr("font-weight", "bold").attr("fill", palette.text).text(group.label);
880
909
  const gi = typeof group.instances === "number" ? group.instances : typeof group.instances === "string" ? parseInt(String(group.instances), 10) || 0 : 0;
881
910
  if (gi > 1) {
882
911
  g.append("text").attr("x", group.x + group.width - 8).attr("y", group.y + 16).attr("text-anchor", "end").attr("font-family", FONT_FAMILY).attr("font-size", sc.sMetaFontSize).attr("fill", palette.textMuted).text(`${gi}x`);
@@ -887,6 +916,17 @@ function renderEdgePaths(svg, edges, nodes, groups, palette, _isDark, animate, d
887
916
  const nodeMap = nodeMapWithGroups(nodes, groups);
888
917
  const maxRps = Math.max(...edges.map((e) => e.computedRps), 1);
889
918
  const { srcPts, tgtPts } = computePortPts(edges, nodeMap, direction);
919
+ const defs = svg.append("defs");
920
+ const edgeColors = new Set(edges.map((e) => edgeColor(e, palette)));
921
+ if (edgeColors.size > 0) {
922
+ appendArrowheadMarkers(defs, {
923
+ idPrefix: "infra",
924
+ width: ARROWHEAD_WIDTH,
925
+ height: ARROWHEAD_HEIGHT,
926
+ baseFill: palette.textMuted,
927
+ colors: edgeColors
928
+ });
929
+ }
890
930
  for (const edge of edges) {
891
931
  if (edge.points.length === 0) continue;
892
932
  const targetNode = nodeMap.get(edge.targetId);
@@ -907,9 +947,9 @@ function renderEdgePaths(svg, edges, nodes, groups, palette, _isDark, animate, d
907
947
  );
908
948
  const pathD = buildPathD(pts, direction);
909
949
  const edgeG = svg.append("g").attr("class", "infra-edge").attr("data-line-number", edge.lineNumber).attr("data-from", edge.sourceId).attr("data-to", edge.targetId);
910
- const edgePath = edgeG.append("path").attr("d", pathD).attr("fill", "none").attr("stroke", color).attr("stroke-width", strokeW);
950
+ const edgePath = edgeG.append("path").attr("d", pathD).attr("fill", "none").attr("stroke", color).attr("stroke-width", strokeW).attr("marker-end", `url(#infra-arrow-${color.replace("#", "")})`);
911
951
  if (edge.async) {
912
- edgePath.attr("stroke-dasharray", "6 4");
952
+ edgePath.attr("stroke-dasharray", EDGE_DASH);
913
953
  }
914
954
  if (animate && edge.computedRps > 0) {
915
955
  const baseDur = flowDuration(edge.computedRps, maxRps);
@@ -1023,7 +1063,7 @@ function renderNodes(svg, nodes, palette, isDark, animate, expandedNodeIds, acti
1023
1063
  const strokeWidth = severity !== "normal" ? sc.sOverloadStrokeWidth : sc.sNodeStrokeWidth;
1024
1064
  g.append("rect").attr("x", x).attr("y", y).attr("width", node.width).attr("height", node.height).attr("rx", sc.sNodeBorderRadius).attr("fill", fill).attr("stroke", stroke).attr("stroke-width", strokeWidth);
1025
1065
  const headerCenterY = y + NODE_HEADER_HEIGHT / 2 + sc.sNodeFontSize * 0.35;
1026
- g.append("text").attr("x", node.x).attr("y", headerCenterY).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", sc.sNodeFontSize).attr("font-weight", "600").attr("fill", textFill).text(node.label);
1066
+ g.append("text").attr("x", node.x).attr("y", headerCenterY).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", sc.sNodeFontSize).attr("font-weight", "bold").attr("fill", textFill).text(node.label);
1027
1067
  const isNodeCollapsed = collapsedNodes?.has(node.id) ?? false;
1028
1068
  if (isNodeCollapsed) {
1029
1069
  const chevronY = y + node.height - 6;
@@ -1078,7 +1118,7 @@ function renderNodes(svg, nodes, palette, isDark, animate, expandedNodeIds, acti
1078
1118
  key: "RPS",
1079
1119
  value: rpsText,
1080
1120
  valueFill: rpsColor,
1081
- fontWeight: "500",
1121
+ fontWeight: "normal",
1082
1122
  inverted: rpsInverted,
1083
1123
  ...rpsInverted && { invertedBg: rpsColor }
1084
1124
  });
@@ -1147,9 +1187,13 @@ function renderNodes(svg, nodes, palette, isDark, animate, expandedNodeIds, acti
1147
1187
  const pillY = rowY - sc.sMetaFontSize + 1;
1148
1188
  const pillW = node.width - pillPad * 2;
1149
1189
  g.append("rect").attr("x", pillX).attr("y", pillY).attr("width", pillW).attr("height", pillH).attr("rx", 3).attr("fill", row.invertedBg).attr("opacity", 0.9);
1150
- const pillTextColor = isDark ? "#ffffff" : palette.text;
1151
- g.append("text").attr("x", x + 10).attr("y", rowY).attr("font-family", FONT_FAMILY).attr("font-size", sc.sMetaFontSize).attr("font-weight", "600").attr("fill", pillTextColor).text(`${row.key}: `);
1152
- g.append("text").attr("x", valueX).attr("y", rowY).attr("font-family", FONT_FAMILY).attr("font-size", sc.sMetaFontSize).attr("font-weight", "600").attr("fill", pillTextColor).text(row.value);
1190
+ const pillTextColor = contrastText(
1191
+ row.invertedBg,
1192
+ palette.textOnFillLight,
1193
+ palette.textOnFillDark
1194
+ );
1195
+ g.append("text").attr("x", x + 10).attr("y", rowY).attr("font-family", FONT_FAMILY).attr("font-size", sc.sMetaFontSize).attr("font-weight", "bold").attr("fill", pillTextColor).text(`${row.key}: `);
1196
+ g.append("text").attr("x", valueX).attr("y", rowY).attr("font-family", FONT_FAMILY).attr("font-size", sc.sMetaFontSize).attr("font-weight", "bold").attr("fill", pillTextColor).text(row.value);
1153
1197
  } else {
1154
1198
  g.append("text").attr("x", x + 10).attr("y", rowY).attr("font-family", FONT_FAMILY).attr("font-size", sc.sMetaFontSize).attr("fill", textFill).text(`${row.key}: `);
1155
1199
  g.append("text").attr("x", valueX).attr("y", rowY).attr("font-family", FONT_FAMILY).attr("font-size", sc.sMetaFontSize).attr("font-weight", row.fontWeight).attr("fill", row.valueFill).text(row.value);
@@ -1170,7 +1214,7 @@ function renderNodes(svg, nodes, palette, isDark, animate, expandedNodeIds, acti
1170
1214
  const totalDotsWidth = roles.length * (sc.sRoleDotRadius * 2 + 2) - 2;
1171
1215
  const startX = node.x - totalDotsWidth / 2 + sc.sRoleDotRadius;
1172
1216
  for (let i = 0; i < roles.length; i++) {
1173
- g.append("circle").attr("cx", startX + i * (sc.sRoleDotRadius * 2 + 2)).attr("cy", dotY).attr("r", sc.sRoleDotRadius).attr("fill", roles[i].color);
1217
+ g.append("circle").attr("cx", startX + i * (sc.sRoleDotRadius * 2 + 2)).attr("cy", dotY).attr("r", sc.sRoleDotRadius).attr("fill", palette.colors[roles[i].colorToken]);
1174
1218
  }
1175
1219
  }
1176
1220
  if (isCollapsedGroup) {
@@ -1259,7 +1303,7 @@ function computeInfraLegendGroups(nodes, tagGroups, palette, edges) {
1259
1303
  if (roles.length > 0) {
1260
1304
  const entries = roles.map((r) => ({
1261
1305
  value: r.name,
1262
- color: r.color,
1306
+ color: palette.colors[r.colorToken],
1263
1307
  key: r.name.toLowerCase().replace(/\s+/g, "-")
1264
1308
  }));
1265
1309
  const pillWidth = measureLegendText("Capabilities", LEGEND_PILL_FONT_SIZE) + LEGEND_PILL_PAD;
@@ -1381,7 +1425,7 @@ function renderLegend(rootSvg, legendGroups, totalWidth, legendY, palette, isDar
1381
1425
  const badgeY = (LEGEND_HEIGHT - badgeH) / 2;
1382
1426
  const speedG = playbackEl.append("g").attr("data-playback-action", "set-speed").attr("data-playback-value", String(s)).style("cursor", "pointer");
1383
1427
  speedG.append("rect").attr("x", entryX).attr("y", badgeY).attr("width", slotW).attr("height", badgeH).attr("rx", badgeH / 2).attr("fill", isSpeedActive ? palette.primary : "transparent");
1384
- speedG.append("text").attr("x", entryX + slotW / 2).attr("y", entryY).attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", LEGEND_ENTRY_FONT_SIZE).attr("font-weight", isSpeedActive ? "600" : "400").attr("fill", isSpeedActive ? palette.bg : palette.textMuted).attr("text-anchor", "middle").text(label);
1428
+ speedG.append("text").attr("x", entryX + slotW / 2).attr("y", entryY).attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", LEGEND_ENTRY_FONT_SIZE).attr("font-weight", isSpeedActive ? "bold" : "normal").attr("fill", isSpeedActive ? palette.bg : palette.textMuted).attr("text-anchor", "middle").text(label);
1385
1429
  entryX += slotW + SPEED_BADGE_GAP;
1386
1430
  }
1387
1431
  }
@@ -1472,7 +1516,7 @@ function renderInfra(container, layout, palette, isDark, title, titleLineNumber,
1472
1516
  }
1473
1517
  @keyframes infra-pulse-cb {
1474
1518
  0%, 49% { stroke-dasharray: none; }
1475
- 50%, 100% { stroke-dasharray: 6 4; }
1519
+ 50%, 100% { stroke-dasharray: ${EDGE_DASH}; }
1476
1520
  }
1477
1521
  .infra-node-warning > rect:first-of-type {
1478
1522
  animation: infra-pulse-warning ${NODE_PULSE_SPEED}s ease-in-out infinite;
@@ -1481,7 +1525,7 @@ function renderInfra(container, layout, palette, isDark, title, titleLineNumber,
1481
1525
  animation: infra-pulse-overload ${NODE_PULSE_OVERLOAD}s ease-in-out infinite;
1482
1526
  }
1483
1527
  .infra-node-cb-open > rect:first-of-type {
1484
- stroke-dasharray: 6 4;
1528
+ stroke-dasharray: ${EDGE_DASH};
1485
1529
  animation: infra-pulse-cb 1s step-end infinite;
1486
1530
  }
1487
1531
  @keyframes infra-edge-throb {
@@ -1510,7 +1554,7 @@ function renderInfra(container, layout, palette, isDark, title, titleLineNumber,
1510
1554
  if (title && !fixedTitleH) {
1511
1555
  rootSvg.append("text").attr("class", "chart-title").attr("x", header.titleX).attr("y", sc.sTitleY).attr("text-anchor", header.titleAnchor).attr("font-family", FONT_FAMILY).attr("font-size", sc.sTitleFontSize).attr("font-weight", TITLE_FONT_WEIGHT).attr("fill", palette.text).attr("data-line-number", titleLineNumber != null ? titleLineNumber : "").text(title);
1512
1556
  }
1513
- renderGroups(svg, layout.groups, palette, isDark, sc);
1557
+ renderGroups(svg, layout.groups, palette, isDark, sc, activeGroup, tagGroups);
1514
1558
  const speedMultiplier = playback?.speed ?? 1;
1515
1559
  renderEdgePaths(
1516
1560
  svg,
@@ -1613,4 +1657,4 @@ export {
1613
1657
  renderInfra,
1614
1658
  parseAndLayoutInfra
1615
1659
  };
1616
- //# sourceMappingURL=chunk-BH3BQICT.js.map
1660
+ //# sourceMappingURL=chunk-PKW4TLJC.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-NOTA6TEI.js";
9
9
  import {
10
10
  peelQuotedName
11
- } from "./chunk-M5OOAP65.js";
11
+ } from "./chunk-4CA7TJ44.js";
12
12
  import {
13
13
  makeDgmoError
14
14
  } from "./chunk-5SI6T5A5.js";
@@ -787,4 +787,4 @@ export {
787
787
  resolveTaskName,
788
788
  calculateSchedule
789
789
  };
790
- //# sourceMappingURL=chunk-GRN44Z6A.js.map
790
+ //# sourceMappingURL=chunk-PQR7E3LY.js.map
@@ -7,7 +7,7 @@ import {
7
7
  extractColor,
8
8
  fillModeFromToken,
9
9
  parseFirstLine
10
- } from "./chunk-M5OOAP65.js";
10
+ } from "./chunk-4CA7TJ44.js";
11
11
  import {
12
12
  makeDgmoError,
13
13
  makeFail
@@ -675,4 +675,4 @@ export {
675
675
  searchZones,
676
676
  parseClock
677
677
  };
678
- //# sourceMappingURL=chunk-SH4PPRU7.js.map
678
+ //# sourceMappingURL=chunk-Q5KGGW7Z.js.map
@@ -1,63 +1,64 @@
1
1
  import {
2
2
  layoutERDiagram
3
- } from "./chunk-5VMUVJO4.js";
3
+ } from "./chunk-5DWF3N3V.js";
4
4
  import {
5
5
  NOTE_BADGE_RADIUS,
6
6
  noteConnectorPoints,
7
7
  renderNoteBadge,
8
8
  renderNoteBox,
9
9
  renderNoteConnector
10
- } from "./chunk-Q74GP3GK.js";
11
- import {
12
- EDGE_STROKE_WIDTH,
13
- NODE_STROKE_WIDTH
14
- } from "./chunk-FJ57274M.js";
10
+ } from "./chunk-37NDM5NW.js";
15
11
  import {
16
12
  ScaleContext
17
13
  } from "./chunk-24YPR5EH.js";
14
+ import {
15
+ EDGE_LABEL_KNOCKOUT_OPACITY,
16
+ EDGE_STROKE_WIDTH,
17
+ NODE_STROKE_WIDTH
18
+ } from "./chunk-IIEI7VK5.js";
18
19
  import {
19
20
  layoutInlineHeader
20
- } from "./chunk-MG3DE3VO.js";
21
+ } from "./chunk-2F7AG7LA.js";
21
22
  import {
22
23
  serializeSvg
23
- } from "./chunk-RU2HHHYA.js";
24
+ } from "./chunk-LD2JSKU3.js";
24
25
  import {
25
26
  TITLE_FONT_SIZE,
26
27
  TITLE_FONT_WEIGHT,
27
28
  TITLE_Y
28
- } from "./chunk-DEW62ON3.js";
29
+ } from "./chunk-VSPNH7LC.js";
29
30
  import {
30
31
  renderIntegratedLegend
31
- } from "./chunk-U4DS2ODO.js";
32
+ } from "./chunk-253E5ISJ.js";
32
33
  import {
33
34
  getLegendExtent
34
- } from "./chunk-VRPV6QXR.js";
35
+ } from "./chunk-LLZVRWVS.js";
35
36
  import {
36
37
  FONT_FAMILY
37
- } from "./chunk-53SEVJQM.js";
38
+ } from "./chunk-ICLB27PZ.js";
38
39
  import {
39
40
  LEGEND_HEIGHT
40
- } from "./chunk-YT5ICQ4R.js";
41
+ } from "./chunk-CKDYRVOC.js";
41
42
  import {
42
43
  measureText
43
- } from "./chunk-MTGGOCND.js";
44
+ } from "./chunk-YC6GVLTI.js";
44
45
  import {
45
46
  parseERDiagram
46
- } from "./chunk-ICVIJLBA.js";
47
+ } from "./chunk-LLYHYPYG.js";
47
48
  import {
48
49
  resolveTagColor,
49
50
  tagAttrKey
50
- } from "./chunk-76LHNLGX.js";
51
+ } from "./chunk-O2HU4AQN.js";
51
52
  import {
52
53
  fillModeFromOptions,
53
54
  legendInlineRequested,
54
55
  legendSuppressed
55
- } from "./chunk-M5OOAP65.js";
56
+ } from "./chunk-4CA7TJ44.js";
56
57
  import {
57
58
  contrastText,
58
59
  getSeriesColors,
59
60
  shapeFill
60
- } from "./chunk-GLREDNBA.js";
61
+ } from "./chunk-AMQFJ7P7.js";
61
62
 
62
63
  // src/er/renderer.ts
63
64
  import * as d3Selection from "d3-selection";
@@ -410,7 +411,7 @@ function renderERDiagram(container, parsed, layout, palette, isDark, onClickItem
410
411
  const midPt = pts[midIdx];
411
412
  const bgW = measureText(edge.label, sEdgeLabelFontSize) + 8;
412
413
  const bgH = 16;
413
- edgeG.append("rect").attr("x", midPt.x - bgW / 2).attr("y", midPt.y - bgH / 2 - 1).attr("width", bgW).attr("height", bgH).attr("rx", 3).attr("fill", palette.bg).attr("opacity", 0.85).attr("class", "er-edge-label-bg");
414
+ edgeG.append("rect").attr("x", midPt.x - bgW / 2).attr("y", midPt.y - bgH / 2 - 1).attr("width", bgW).attr("height", bgH).attr("rx", 3).attr("fill", palette.bg).attr("opacity", EDGE_LABEL_KNOCKOUT_OPACITY).attr("class", "er-edge-label-bg");
414
415
  edgeG.append("text").attr("x", midPt.x).attr("y", midPt.y + 4).attr("text-anchor", "middle").attr("fill", edgeColor).attr("font-size", sEdgeLabelFontSize).attr("class", "er-edge-label").text(edge.label);
415
416
  }
416
417
  }
@@ -603,4 +604,4 @@ export {
603
604
  renderERDiagram,
604
605
  renderERDiagramForExport
605
606
  };
606
- //# sourceMappingURL=chunk-RV5A3EGI.js.map
607
+ //# sourceMappingURL=chunk-QDHOIBHZ.js.map