@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
@@ -1,52 +1,56 @@
1
1
  import {
2
- edgeSplinePath,
3
- fitDiagramToCanvas
4
- } from "./chunk-7IATMZSA.js";
2
+ edgeSplinePath
3
+ } from "./chunk-26EVL454.js";
5
4
  import {
6
5
  layoutGraph
7
- } from "./chunk-N6MZSBOL.js";
8
- import {
9
- appendArrowheadMarkers
10
- } from "./chunk-LP7EC4MI.js";
6
+ } from "./chunk-3BN3WCUD.js";
11
7
  import {
12
8
  NOTE_BADGE_RADIUS,
13
9
  noteConnectorPoints,
14
10
  renderNoteBadge,
15
11
  renderNoteBox,
16
12
  renderNoteConnector
17
- } from "./chunk-Q74GP3GK.js";
13
+ } from "./chunk-37NDM5NW.js";
18
14
  import {
19
- EDGE_LABEL_KNOCKOUT_OPACITY,
20
- EDGE_STROKE_WIDTH,
21
- NODE_STROKE_WIDTH
22
- } from "./chunk-FJ57274M.js";
15
+ appendArrowheadMarkers
16
+ } from "./chunk-XBJJP2HN.js";
17
+ import {
18
+ fitDiagramToCanvas
19
+ } from "./chunk-EPDBWATV.js";
23
20
  import {
24
21
  ScaleContext
25
22
  } from "./chunk-24YPR5EH.js";
23
+ import {
24
+ ARROWHEAD_HEIGHT,
25
+ ARROWHEAD_WIDTH,
26
+ EDGE_LABEL_KNOCKOUT_OPACITY,
27
+ EDGE_STROKE_WIDTH,
28
+ NODE_STROKE_WIDTH
29
+ } from "./chunk-IIEI7VK5.js";
26
30
  import {
27
31
  serializeSvg
28
- } from "./chunk-RU2HHHYA.js";
32
+ } from "./chunk-LD2JSKU3.js";
29
33
  import {
30
34
  TITLE_FONT_SIZE,
31
35
  TITLE_FONT_WEIGHT,
32
36
  TITLE_Y
33
- } from "./chunk-DEW62ON3.js";
37
+ } from "./chunk-VSPNH7LC.js";
34
38
  import {
35
39
  FONT_FAMILY
36
- } from "./chunk-53SEVJQM.js";
40
+ } from "./chunk-ICLB27PZ.js";
37
41
  import {
38
42
  measureText
39
- } from "./chunk-MTGGOCND.js";
43
+ } from "./chunk-YC6GVLTI.js";
40
44
  import {
41
45
  parseFlowchart
42
- } from "./chunk-NWNSXHA5.js";
46
+ } from "./chunk-3KNA7OIO.js";
43
47
  import {
44
48
  fillModeFromOptions
45
- } from "./chunk-M5OOAP65.js";
49
+ } from "./chunk-4CA7TJ44.js";
46
50
  import {
47
51
  contrastText,
48
52
  shapeFill
49
- } from "./chunk-GLREDNBA.js";
53
+ } from "./chunk-AMQFJ7P7.js";
50
54
 
51
55
  // src/graph/flowchart-renderer.ts
52
56
  import * as d3Selection from "d3-selection";
@@ -54,8 +58,6 @@ var DIAGRAM_PADDING = 20;
54
58
  var MAX_SCALE = 3;
55
59
  var NODE_FONT_SIZE = 13;
56
60
  var EDGE_LABEL_FONT_SIZE = 11;
57
- var ARROWHEAD_W = 10;
58
- var ARROWHEAD_H = 7;
59
61
  var IO_SKEW = 15;
60
62
  var SUBROUTINE_INSET = 8;
61
63
  var DOC_WAVE_HEIGHT = 10;
@@ -318,8 +320,8 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
318
320
  const sEdgeLabelFontSize = ctx.text(EDGE_LABEL_FONT_SIZE);
319
321
  const sEdgeStrokeWidth = ctx.structural(EDGE_STROKE_WIDTH);
320
322
  const sNodeStrokeWidth = ctx.structural(NODE_STROKE_WIDTH);
321
- const sArrowheadW = ctx.structural(ARROWHEAD_W);
322
- const sArrowheadH = ctx.structural(ARROWHEAD_H);
323
+ const sArrowheadW = ctx.structural(ARROWHEAD_WIDTH);
324
+ const sArrowheadH = ctx.structural(ARROWHEAD_HEIGHT);
323
325
  const sIoSkew = ctx.structural(IO_SKEW);
324
326
  const sSubroutineInset = ctx.structural(SUBROUTINE_INSET);
325
327
  const sDocWaveHeight = ctx.structural(DOC_WAVE_HEIGHT);
@@ -327,7 +329,7 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
327
329
  const titleHeight = showTitle ? 40 : 0;
328
330
  const diagramW = layout.width;
329
331
  const diagramH = layout.height;
330
- const { scale, offsetX, offsetY, canvasHeight } = fitDiagramToCanvas({
332
+ const { scale, offsetX, offsetY, canvasHeight, canvasWidth } = fitDiagramToCanvas({
331
333
  width,
332
334
  height,
333
335
  diagramW,
@@ -337,7 +339,7 @@ function renderFlowchart(container, graph, layout, palette, isDark, onClickItem,
337
339
  maxScale: MAX_SCALE,
338
340
  exportMode: !!exportDims
339
341
  });
340
- const svg = d3Selection.select(container).append("svg").attr("width", width).attr("height", canvasHeight).attr("viewBox", `0 0 ${width} ${canvasHeight}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
342
+ const svg = d3Selection.select(container).append("svg").attr("width", canvasWidth).attr("height", canvasHeight).attr("viewBox", `0 0 ${canvasWidth} ${canvasHeight}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY);
341
343
  if (ctx.isBelowFloor) {
342
344
  svg.attr("width", "100%");
343
345
  }
@@ -586,4 +588,4 @@ export {
586
588
  renderFlowchart,
587
589
  renderFlowchartForExport
588
590
  };
589
- //# sourceMappingURL=chunk-7CXW6EGX.js.map
591
+ //# sourceMappingURL=chunk-MDUCF376.js.map
@@ -5,7 +5,7 @@ import {
5
5
  normalizeNumericToken,
6
6
  parseFirstLine,
7
7
  tryParseSharedOption
8
- } from "./chunk-M5OOAP65.js";
8
+ } from "./chunk-4CA7TJ44.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail
@@ -158,4 +158,4 @@ function parseGoal(content, palette) {
158
158
  export {
159
159
  parseGoal
160
160
  };
161
- //# sourceMappingURL=chunk-KWSBNLSC.js.map
161
+ //# sourceMappingURL=chunk-MQAD75AY.js.map
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  compactNumber
3
- } from "./chunk-C2WH3BMS.js";
3
+ } from "./chunk-VTWUHX4H.js";
4
4
  import {
5
5
  parseInlineMarkdown
6
- } from "./chunk-WGC42WJU.js";
6
+ } from "./chunk-FWNJDD4U.js";
7
7
  import {
8
8
  TITLE_FONT_WEIGHT
9
- } from "./chunk-DEW62ON3.js";
9
+ } from "./chunk-VSPNH7LC.js";
10
10
  import {
11
11
  FONT_FAMILY
12
- } from "./chunk-53SEVJQM.js";
12
+ } from "./chunk-ICLB27PZ.js";
13
13
  import {
14
14
  measureText
15
- } from "./chunk-MTGGOCND.js";
15
+ } from "./chunk-YC6GVLTI.js";
16
16
  import {
17
17
  getSeriesColors,
18
18
  mix,
19
19
  shapeFill,
20
20
  themeBaseBg
21
- } from "./chunk-GLREDNBA.js";
21
+ } from "./chunk-AMQFJ7P7.js";
22
22
  import {
23
23
  resolveColor
24
24
  } from "./chunk-XOGQY4EC.js";
@@ -75,6 +75,7 @@ function renderGoal(container, parsed, palette, isDark, exportDims) {
75
75
  const vw = box.maxX - box.minX + pad * 2;
76
76
  const vh = box.maxY - box.minY + pad * 2;
77
77
  svg.attr("viewBox", `${vx} ${vy} ${vw} ${vh}`);
78
+ if (vw > 0 && vh > 0) svg.attr("height", Math.round(cw * vh / vw));
78
79
  svg.insert("rect", ":first-child").attr("x", vx).attr("y", vy).attr("width", vw).attr("height", vh).attr("fill", palette.bg);
79
80
  }
80
81
  function renderGoalForExport(container, parsed, palette, isDark, exportDims) {
@@ -155,7 +156,7 @@ function drawNote(svg, description, paint, left, top, width) {
155
156
  const maxChars = Math.max(8, Math.floor(width / (descSize * 0.46)));
156
157
  const firstY = top + descSize;
157
158
  const lines = layoutDescription(description, left, maxChars);
158
- const desc = svg.append("text").attr("x", left).attr("y", firstY).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", descSize).attr("font-weight", 500);
159
+ const desc = svg.append("text").attr("x", left).attr("y", firstY).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", descSize).attr("font-weight", "normal");
159
160
  renderWrappedMarkdown(desc, lines, lineH);
160
161
  return firstY + lines.length * lineH;
161
162
  }
@@ -176,7 +177,7 @@ function renderBar(svg, parsed, metrics, paint) {
176
177
  if (hasTitle) faceTitle(svg, parsed, paint, x, titleSize - 2, "start");
177
178
  const barRight = x + trackW;
178
179
  if (showPct) {
179
- svg.append("text").attr("x", barRight).attr("y", titleSize - 2).attr("text-anchor", "end").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", titleSize).attr("font-weight", 700).text(metrics.pctLabel);
180
+ svg.append("text").attr("x", barRight).attr("y", titleSize - 2).attr("text-anchor", "end").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", titleSize).attr("font-weight", "bold").text(metrics.pctLabel);
180
181
  }
181
182
  const y = hasTitle || showPct ? titleSize + 14 : 0;
182
183
  const barCy = y + trackH / 2;
@@ -198,10 +199,10 @@ function renderBar(svg, parsed, metrics, paint) {
198
199
  const valuePad = 16;
199
200
  const insideFits = fillW >= measureText(valueText, 24, { bold: true }) + valuePad * 2;
200
201
  const valX = insideFits ? x + fillW - valuePad : x + fillW + valuePad;
201
- g.append("text").attr("x", valX).attr("y", barCy + 24 * 0.35).attr("text-anchor", insideFits ? "end" : "start").attr("fill", insideFits ? paint.base : paint.text).attr("font-family", FONT_FAMILY).attr("font-size", 24).attr("font-weight", 700).text(valueText);
202
+ g.append("text").attr("x", valX).attr("y", barCy + 24 * 0.35).attr("text-anchor", insideFits ? "end" : "start").attr("fill", insideFits ? paint.base : paint.text).attr("font-family", FONT_FAMILY).attr("font-size", 24).attr("font-weight", "bold").text(valueText);
202
203
  }
203
204
  if (parsed.hasTarget) {
204
- g.append("text").attr("x", barRight + gap).attr("y", barCy + 26 * 0.35).attr("text-anchor", "start").attr("fill", paint.text).attr("font-family", FONT_FAMILY).attr("font-size", 26).attr("font-weight", 700).text(compactNumber(parsed.target));
205
+ g.append("text").attr("x", barRight + gap).attr("y", barCy + 26 * 0.35).attr("text-anchor", "start").attr("fill", paint.text).attr("font-family", FONT_FAMILY).attr("font-size", 26).attr("font-weight", "bold").text(compactNumber(parsed.target));
205
206
  }
206
207
  let bottom = y + trackH;
207
208
  if (parsed.description && !parsed.options.noNote) {
@@ -248,7 +249,7 @@ function renderThermometer(svg, parsed, metrics, paint) {
248
249
  const y = yForFrac(f);
249
250
  g.append("line").attr("x1", edgeX).attr("y1", y).attr("x2", edgeX - (isTarget ? 26 : major ? 18 : 10)).attr("y2", y).attr("stroke", isTarget ? paint.base : paint.muted).attr("stroke-width", isTarget ? 4 : major ? 2 : 1.5);
250
251
  if (isTarget) {
251
- g.append("text").attr("x", tickLabelX).attr("y", y - 20).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 15).attr("font-weight", 600).attr("letter-spacing", 1).text("TARGET");
252
+ g.append("text").attr("x", tickLabelX).attr("y", y - 20).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 15).attr("font-weight", "bold").attr("letter-spacing", 1).text("TARGET");
252
253
  }
253
254
  if (major) {
254
255
  g.append("text").attr("x", tickLabelX).attr("y", y + (isTarget ? 30 * 0.35 : 19 * 0.35)).attr("text-anchor", "start").attr("fill", isTarget ? paint.text : paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", isTarget ? 30 : 19).attr("font-weight", isTarget ? 700 : 500).text(compactNumber(parsed.target * f));
@@ -256,7 +257,7 @@ function renderThermometer(svg, parsed, metrics, paint) {
256
257
  };
257
258
  for (const f of [0.25, 0.75]) drawTick(f, false);
258
259
  for (const f of [0, 0.5, 1]) drawTick(f, true);
259
- g.append("text").attr("x", tickLabelX).attr("y", fillTopY + 42 * 0.35).attr("text-anchor", "start").attr("fill", paint.base).attr("font-family", FONT_FAMILY).attr("font-size", 42).attr("font-weight", 700).text(compactNumber(parsed.now));
260
+ g.append("text").attr("x", tickLabelX).attr("y", fillTopY + 42 * 0.35).attr("text-anchor", "start").attr("fill", paint.base).attr("font-family", FONT_FAMILY).attr("font-size", 42).attr("font-weight", "bold").text(compactNumber(parsed.now));
260
261
  }
261
262
  const titleSize = GOAL_TITLE_SIZE;
262
263
  let cursorY = glassTop;
@@ -265,7 +266,7 @@ function renderThermometer(svg, parsed, metrics, paint) {
265
266
  cursorY += titleSize + 16;
266
267
  }
267
268
  if (!parsed.options.noPercent) {
268
- svg.append("text").attr("x", colLeft).attr("y", cursorY + 52).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 64).attr("font-weight", 700).text(metrics.pctLabel);
269
+ svg.append("text").attr("x", colLeft).attr("y", cursorY + 52).attr("text-anchor", "start").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 64).attr("font-weight", "bold").text(metrics.pctLabel);
269
270
  cursorY += 76;
270
271
  }
271
272
  let colBottom = cursorY;
@@ -344,7 +345,7 @@ function renderGauge(svg, parsed, metrics, paint) {
344
345
  r * 0.95 / Math.max(1, nowLabel.length * 0.6)
345
346
  );
346
347
  const nowY = cy - r * 0.42;
347
- g.append("text").attr("x", cx).attr("y", nowY + nowSize * 0.35).attr("text-anchor", "middle").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", nowSize).attr("font-weight", 700).text(nowLabel);
348
+ g.append("text").attr("x", cx).attr("y", nowY + nowSize * 0.35).attr("text-anchor", "middle").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", nowSize).attr("font-weight", "bold").text(nowLabel);
348
349
  if (parsed.hasTarget) {
349
350
  const bandInner = r - stroke / 2;
350
351
  for (const f of [0, 0.25, 0.5, 0.75, 1]) {
@@ -356,7 +357,7 @@ function renderGauge(svg, parsed, metrics, paint) {
356
357
  const lr = bandInner - (isTarget ? 40 : 26);
357
358
  const anchor = ca > 0.2 ? "end" : ca < -0.2 ? "start" : "middle";
358
359
  if (isTarget) {
359
- g.append("text").attr("x", cx + lr * ca).attr("y", cy - lr * sa - 20).attr("text-anchor", anchor).attr("dominant-baseline", "middle").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 15).attr("font-weight", 600).attr("letter-spacing", 1).text("TARGET");
360
+ g.append("text").attr("x", cx + lr * ca).attr("y", cy - lr * sa - 20).attr("text-anchor", anchor).attr("dominant-baseline", "middle").attr("fill", paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", 15).attr("font-weight", "bold").attr("letter-spacing", 1).text("TARGET");
360
361
  }
361
362
  g.append("text").attr("x", cx + lr * ca).attr("y", cy - lr * sa).attr("text-anchor", anchor).attr("dominant-baseline", sa > 0.7 ? "hanging" : "middle").attr("fill", isTarget ? paint.text : paint.muted).attr("font-family", FONT_FAMILY).attr("font-size", isTarget ? 30 : 18).attr("font-weight", isTarget ? 700 : 500).text(compactNumber(parsed.target * f));
362
363
  }
@@ -374,4 +375,4 @@ export {
374
375
  renderGoal,
375
376
  renderGoalForExport
376
377
  };
377
- //# sourceMappingURL=chunk-XCFIAGT7.js.map
378
+ //# sourceMappingURL=chunk-MUTZSF2A.js.map
@@ -1,57 +1,59 @@
1
1
  import {
2
2
  wrapDescriptionLines
3
- } from "./chunk-NCT22MOD.js";
3
+ } from "./chunk-WMIKC5XO.js";
4
4
  import {
5
5
  renderNodeCard
6
- } from "./chunk-5GM6BZO7.js";
6
+ } from "./chunk-F66R7CPY.js";
7
7
  import {
8
8
  renderInlineText
9
- } from "./chunk-WGC42WJU.js";
9
+ } from "./chunk-FWNJDD4U.js";
10
+ import {
11
+ formatDateLabel
12
+ } from "./chunk-QGXH64FT.js";
10
13
  import {
11
14
  CARD_RADIUS,
15
+ HAIRLINE_DASH,
12
16
  HEADER_HEIGHT,
13
17
  LABEL_FONT_SIZE,
14
18
  NODE_STROKE_WIDTH,
15
19
  SEPARATOR_GAP
16
- } from "./chunk-FJ57274M.js";
17
- import {
18
- formatDateLabel
19
- } from "./chunk-QXMHBIQG.js";
20
+ } from "./chunk-IIEI7VK5.js";
20
21
  import {
21
22
  layoutInlineHeader
22
- } from "./chunk-MG3DE3VO.js";
23
+ } from "./chunk-2F7AG7LA.js";
23
24
  import {
24
25
  TITLE_FONT_SIZE,
25
26
  TITLE_FONT_WEIGHT,
26
27
  TITLE_Y
27
- } from "./chunk-DEW62ON3.js";
28
+ } from "./chunk-VSPNH7LC.js";
28
29
  import {
29
30
  renderIntegratedLegend
30
- } from "./chunk-U4DS2ODO.js";
31
+ } from "./chunk-253E5ISJ.js";
31
32
  import {
32
33
  getLegendExtent
33
- } from "./chunk-VRPV6QXR.js";
34
+ } from "./chunk-LLZVRWVS.js";
34
35
  import {
35
36
  FONT_FAMILY
36
- } from "./chunk-53SEVJQM.js";
37
+ } from "./chunk-ICLB27PZ.js";
37
38
  import {
38
39
  CHAR_WIDTH_RATIO,
39
40
  wrapTextToWidth
40
- } from "./chunk-MTGGOCND.js";
41
+ } from "./chunk-YC6GVLTI.js";
41
42
  import {
42
43
  parseTimelineDate
43
- } from "./chunk-UCZBRGJN.js";
44
+ } from "./chunk-XXLAZQ5E.js";
44
45
  import {
46
+ UNTAGGED_TAG_COLOR,
45
47
  resolveActiveTagGroup,
46
48
  resolveTagColor
47
- } from "./chunk-76LHNLGX.js";
49
+ } from "./chunk-O2HU4AQN.js";
48
50
  import {
49
51
  contrastText,
50
52
  getSeriesColors,
51
53
  mix,
52
54
  shapeFill,
53
55
  themeBaseBg
54
- } from "./chunk-GLREDNBA.js";
56
+ } from "./chunk-AMQFJ7P7.js";
55
57
  import {
56
58
  resolveColor
57
59
  } from "./chunk-XOGQY4EC.js";
@@ -73,7 +75,7 @@ var TITLE_MAX_W = (CARD_W - CARD_PAD * 2) * 0.93;
73
75
  var DOT_R = 5.5;
74
76
  var MIN_SPACING = 96;
75
77
  var LANE_GAP = 16;
76
- var NEUTRAL_TAG = "#999999";
78
+ var NEUTRAL_TAG = UNTAGGED_TAG_COLOR;
77
79
  var CARD_INSET = 18;
78
80
  var FAN_GAP = 6;
79
81
  var DATE_SUBTITLE_H = 15;
@@ -534,7 +536,7 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
534
536
  const solidRight = hasTrailingFuture ? realRightX : spineRight;
535
537
  svg.append("line").attr("x1", spineLeft).attr("y1", spineY).attr("x2", solidRight).attr("y2", spineY).attr("stroke", palette.text).attr("stroke-width", 2.5).attr("stroke-linecap", "round");
536
538
  if (hasTrailingFuture) {
537
- svg.append("line").attr("x1", solidRight).attr("y1", spineY).attr("x2", spineRight).attr("y2", spineY).attr("stroke", palette.text).attr("stroke-width", 2.5).attr("stroke-linecap", "round").attr("stroke-opacity", 0.45).attr("stroke-dasharray", "2 6");
539
+ svg.append("line").attr("x1", solidRight).attr("y1", spineY).attr("x2", spineRight).attr("y2", spineY).attr("stroke", palette.text).attr("stroke-width", 2.5).attr("stroke-linecap", "round").attr("stroke-opacity", 0.45).attr("stroke-dasharray", HAIRLINE_DASH);
538
540
  }
539
541
  const geo = placed.map((p) => {
540
542
  const near = p.side === "above" ? spineY - laneNear(p) : spineY + laneNear(p);
@@ -602,7 +604,7 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
602
604
  const titleMid = headBandTop + p.headerH / 2;
603
605
  const titleTop = titleMid - (p.titleLines.length - 1) * TITLE_LINE_H / 2;
604
606
  for (let ti = 0; ti < p.titleLines.length; ti++) {
605
- cardG.append("text").attr("x", CARD_PAD).attr("y", titleTop + ti * TITLE_LINE_H).attr("dominant-baseline", "central").attr("fill", shelfText).attr("font-family", FONT_FAMILY).attr("font-size", LABEL_FONT_SIZE).attr("font-weight", 700).text(p.titleLines[ti]);
607
+ cardG.append("text").attr("x", CARD_PAD).attr("y", titleTop + ti * TITLE_LINE_H).attr("dominant-baseline", "central").attr("fill", shelfText).attr("font-family", FONT_FAMILY).attr("font-size", LABEL_FONT_SIZE).attr("font-weight", "bold").text(p.titleLines[ti]);
606
608
  }
607
609
  if (dateStr) {
608
610
  cardG.append("text").attr("x", CARD_PAD).attr(
@@ -611,7 +613,7 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
611
613
  ).attr(
612
614
  "fill",
613
615
  parsed.options.fillMode ? mix(shelfText, p.color, 25) : mix(palette.text, palette.bg, 55)
614
- ).attr("font-family", FONT_FAMILY).attr("font-size", DATE_SUBTITLE_FONT).attr("font-weight", 600).text(dateStr);
616
+ ).attr("font-family", FONT_FAMILY).attr("font-size", DATE_SUBTITLE_FONT).attr("font-weight", "bold").text(dateStr);
615
617
  }
616
618
  if (p.lines.length > 0) {
617
619
  const startBaseline = titleNearTop ? p.headerH + SEPARATOR_GAP + dateH + DESC_FONT : CARD_PAD + DESC_FONT;
@@ -640,7 +642,7 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
640
642
  headerHeight: p.headerH
641
643
  });
642
644
  if (dateStr) {
643
- cardG.append("text").attr("x", CARD_W / 2).attr("y", p.headerH + DATE_SUBTITLE_FONT + 1).attr("text-anchor", "middle").attr("fill", mix(p.titleColor, p.cardFill, 60)).attr("font-family", FONT_FAMILY).attr("font-size", DATE_SUBTITLE_FONT).attr("font-weight", 600).text(dateStr);
645
+ cardG.append("text").attr("x", CARD_W / 2).attr("y", p.headerH + DATE_SUBTITLE_FONT + 1).attr("text-anchor", "middle").attr("fill", mix(p.titleColor, p.cardFill, 60)).attr("font-family", FONT_FAMILY).attr("font-size", DATE_SUBTITLE_FONT).attr("font-weight", "bold").text(dateStr);
644
646
  }
645
647
  if (p.lines.length > 0) {
646
648
  cardG.append("line").attr("x1", 0).attr("y1", p.headerH + dateH).attr("x2", CARD_W).attr("y2", p.headerH + dateH).attr("stroke", p.titleColor).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
@@ -737,7 +739,7 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
737
739
  "d",
738
740
  `M${x02},${y + ERA_BRACKET_CAP * cap} L${x02},${y} L${x12},${y} L${x12},${y + ERA_BRACKET_CAP * cap}`
739
741
  ).attr("fill", "none").attr("stroke", col).attr("stroke-width", 1.5).attr("stroke-linecap", "round").attr("stroke-linejoin", "round").attr("stroke-opacity", op);
740
- eg.append("text").attr("x", (r.firstX + r.lastX) / 2).attr("y", eraSide === "above" ? y - 6 : y + ERA_LABEL_FONT + 4).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", ERA_LABEL_FONT).attr("font-weight", 700).attr("fill", col).attr("fill-opacity", neutral ? 0.85 : 1).text(r.era.name);
742
+ eg.append("text").attr("x", (r.firstX + r.lastX) / 2).attr("y", eraSide === "above" ? y - 6 : y + ERA_LABEL_FONT + 4).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", ERA_LABEL_FONT).attr("font-weight", "bold").attr("fill", col).attr("fill-opacity", neutral ? 0.85 : 1).text(r.era.name);
741
743
  if (onClickItem) {
742
744
  const ln = r.era.lineNumber;
743
745
  eg.style("cursor", "pointer").on("click", () => onClickItem(ln));
@@ -829,13 +831,13 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
829
831
  grad.append("stop").attr("offset", "0%").attr("stop-color", nowColor).attr("stop-opacity", 0);
830
832
  grad.append("stop").attr("offset", "50%").attr("stop-color", nowColor).attr("stop-opacity", 0.9);
831
833
  grad.append("stop").attr("offset", "100%").attr("stop-color", nowColor).attr("stop-opacity", 0);
832
- nowG.append("line").attr("x1", nowX).attr("y1", ruleTop).attr("x2", nowX).attr("y2", ruleBot).attr("stroke", `url(#${gradId})`).attr("stroke-width", 1.6).attr("stroke-dasharray", "1 4").attr("stroke-linecap", "round");
834
+ nowG.append("line").attr("x1", nowX).attr("y1", ruleTop).attr("x2", nowX).attr("y2", ruleBot).attr("stroke", `url(#${gradId})`).attr("stroke-width", 1.6).attr("stroke-dasharray", HAIRLINE_DASH).attr("stroke-linecap", "round");
833
835
  nowG.append("path").attr("d", `M${nowX} ${spineY - 5} l5 5 l-5 5 l-5 -5 z`).attr("fill", nowColor);
834
836
  nowG.append("line").attr("x1", nowX).attr("y1", stemFrom).attr("x2", nowX).attr("y2", stemTo).attr("stroke", nowColor).attr("stroke-width", 1.6);
835
837
  nowG.append("rect").attr("x", pillCX - pillW / 2).attr("y", slot.y0).attr("width", pillW).attr("height", pillH).attr("rx", pillH / 2).attr("fill", pillFill).attr("stroke", pillStroke).attr("stroke-width", pillStrokeW);
836
- nowG.append("text").attr("x", pillCX).attr("y", slot.y0 + pillH / 2).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", 10.5).attr("font-weight", 600).attr("fill", pillText).text(label);
838
+ nowG.append("text").attr("x", pillCX).attr("y", slot.y0 + pillH / 2).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", 10.5).attr("font-weight", "bold").attr("fill", pillText).text(label);
837
839
  if (!exportMode) {
838
- const hoverRule = nowG.append("line").attr("class", "evt-now-rule-full").attr("x1", nowX).attr("y1", Math.max(topUsed, 2)).attr("x2", nowX).attr("y2", totalH - 2).attr("stroke", nowColor).attr("stroke-width", 1.4).attr("stroke-dasharray", "1 4").attr("stroke-linecap", "round").attr("opacity", 0).style("transition", "opacity 120ms ease").style("pointer-events", "none");
840
+ const hoverRule = nowG.append("line").attr("class", "evt-now-rule-full").attr("x1", nowX).attr("y1", Math.max(topUsed, 2)).attr("x2", nowX).attr("y2", totalH - 2).attr("stroke", nowColor).attr("stroke-width", 1.4).attr("stroke-dasharray", HAIRLINE_DASH).attr("stroke-linecap", "round").attr("opacity", 0).style("transition", "opacity 120ms ease").style("pointer-events", "none");
839
841
  hoverRule.lower();
840
842
  const nowNode = nowG.node();
841
843
  if (nowNode) {
@@ -1142,7 +1144,7 @@ function renderBody(cardG, lines, bodyColor, palette, startBaseline = CARD_BODY_
1142
1144
  lineColor = bulletColors[bulletIdx] ?? bodyColor;
1143
1145
  lineMeta = bulletMeta[bulletIdx] ?? null;
1144
1146
  bulletIdx++;
1145
- const marker = cardG.append("text").attr("x", CARD_PAD).attr("y", y).attr("text-anchor", "start").attr("fill", lineColor).attr("font-family", FONT_FAMILY).attr("font-size", DESC_FONT).attr("font-weight", 700).text("\u2022");
1147
+ const marker = cardG.append("text").attr("x", CARD_PAD).attr("y", y).attr("text-anchor", "start").attr("fill", lineColor).attr("font-family", FONT_FAMILY).attr("font-size", DESC_FONT).attr("font-weight", "bold").text("\u2022");
1146
1148
  tagBullet(marker);
1147
1149
  } else if (!isBullet) {
1148
1150
  lineColor = bodyColor;
@@ -1161,4 +1163,4 @@ export {
1161
1163
  focusEventLine,
1162
1164
  renderEventLineForExport
1163
1165
  };
1164
- //# sourceMappingURL=chunk-CF3I5SOG.js.map
1166
+ //# sourceMappingURL=chunk-NVI5G57O.js.map
@@ -2,7 +2,7 @@ import {
2
2
  peelQuotedName,
3
3
  stripQuotes,
4
4
  tokenizeQuoteAware
5
- } from "./chunk-M5OOAP65.js";
5
+ } from "./chunk-4CA7TJ44.js";
6
6
  import {
7
7
  CATEGORICAL_COLOR_ORDER,
8
8
  RECOGNIZED_COLOR_NAMES,
@@ -132,15 +132,41 @@ function parseTagDeclaration(line) {
132
132
  inlineValues: inlineValues && inlineValues.length > 0 ? inlineValues : void 0
133
133
  };
134
134
  }
135
- function resolveTagColor(metadata, tagGroups, activeGroupName, isContainer) {
135
+ var UNTAGGED_TAG_COLOR = "#999999";
136
+ function resolveGroupTagColor(metadata, tagGroups, activeGroupName) {
137
+ if (!metadata || Object.keys(metadata).length === 0) return void 0;
138
+ const color = resolveTagColor(
139
+ { ...metadata },
140
+ [...tagGroups],
141
+ activeGroupName,
142
+ true
143
+ );
144
+ return color && color !== UNTAGGED_TAG_COLOR ? color : void 0;
145
+ }
146
+ function resolveTagValue(metadata, tagGroups, activeGroupName, isContainer) {
136
147
  if (!activeGroupName) return void 0;
137
148
  const group = tagGroups.find(
138
149
  (g) => tagAttrKey(g.name) === tagAttrKey(activeGroupName)
139
150
  );
140
151
  if (!group) return void 0;
141
152
  const metaValue = metadata[tagAttrKey(group.name)] ?? (isContainer ? void 0 : group.defaultValue);
142
- if (!metaValue) return "#999999";
143
- return group.entries.find((e) => e.value.toLowerCase() === metaValue.toLowerCase())?.color ?? "#999999";
153
+ if (!metaValue) return void 0;
154
+ return group.entries.find((e) => e.value.toLowerCase() === metaValue.toLowerCase())?.value ?? metaValue;
155
+ }
156
+ function resolveTagColor(metadata, tagGroups, activeGroupName, isContainer) {
157
+ if (!activeGroupName) return void 0;
158
+ const group = tagGroups.find(
159
+ (g) => tagAttrKey(g.name) === tagAttrKey(activeGroupName)
160
+ );
161
+ if (!group) return void 0;
162
+ const metaValue = resolveTagValue(
163
+ metadata,
164
+ tagGroups,
165
+ activeGroupName,
166
+ isContainer
167
+ );
168
+ if (!metaValue) return UNTAGGED_TAG_COLOR;
169
+ return group.entries.find((e) => e.value.toLowerCase() === metaValue.toLowerCase())?.color ?? UNTAGGED_TAG_COLOR;
144
170
  }
145
171
  function validateTagValues(entities, tagGroups, pushWarning, suggestFn) {
146
172
  if (tagGroups.length === 0) return;
@@ -281,6 +307,9 @@ export {
281
307
  autoTagColorCycle,
282
308
  finalizeAutoTagColors,
283
309
  isTagBlockHeading,
310
+ UNTAGGED_TAG_COLOR,
311
+ resolveGroupTagColor,
312
+ resolveTagValue,
284
313
  resolveTagColor,
285
314
  validateTagValues,
286
315
  validateTagGroupNames,
@@ -290,4 +319,4 @@ export {
290
319
  activeTagNoMatchMessage,
291
320
  matchTagBlockHeading
292
321
  };
293
- //# sourceMappingURL=chunk-76LHNLGX.js.map
322
+ //# sourceMappingURL=chunk-O2HU4AQN.js.map
@@ -17,7 +17,7 @@ import {
17
17
  stripDefaultModifier,
18
18
  tagAttrKey,
19
19
  validateTagGroupNames
20
- } from "./chunk-76LHNLGX.js";
20
+ } from "./chunk-O2HU4AQN.js";
21
21
  import {
22
22
  AliasRegistry,
23
23
  INFRA_BEHAVIOR_KEY_SET,
@@ -31,7 +31,7 @@ import {
31
31
  tryParseSharedOption,
32
32
  warnUnknownMetaKeys,
33
33
  withTagAliases
34
- } from "./chunk-M5OOAP65.js";
34
+ } from "./chunk-4CA7TJ44.js";
35
35
  import {
36
36
  isRecognizedColorName
37
37
  } from "./chunk-XOGQY4EC.js";
@@ -842,6 +842,15 @@ function parseInfra(content) {
842
842
  delete tags[key];
843
843
  }
844
844
  }
845
+ for (const group of result.groups) {
846
+ const tags = group.metadata;
847
+ if (!tags) continue;
848
+ for (const key of Object.keys(tags)) {
849
+ if (key === groupKey || !applied.has(tagAttrKey(key))) continue;
850
+ tags[groupKey] = tags[key];
851
+ delete tags[key];
852
+ }
853
+ }
845
854
  }
846
855
  for (const tg of result.tagGroups) {
847
856
  if (!tg.defaultValue) continue;
@@ -1011,4 +1020,4 @@ export {
1011
1020
  parseInfra,
1012
1021
  extractSymbols
1013
1022
  };
1014
- //# sourceMappingURL=chunk-46KVXDUJ.js.map
1023
+ //# sourceMappingURL=chunk-O5QG5IFV.js.map
@@ -1,51 +1,51 @@
1
1
  import {
2
2
  renderInlineText
3
- } from "./chunk-WGC42WJU.js";
4
- import {
5
- CARD_RADIUS
6
- } from "./chunk-FJ57274M.js";
3
+ } from "./chunk-FWNJDD4U.js";
7
4
  import {
8
5
  ScaleContext
9
6
  } from "./chunk-24YPR5EH.js";
7
+ import {
8
+ CARD_RADIUS
9
+ } from "./chunk-IIEI7VK5.js";
10
10
  import {
11
11
  serializeSvg
12
- } from "./chunk-RU2HHHYA.js";
12
+ } from "./chunk-LD2JSKU3.js";
13
13
  import {
14
14
  TITLE_FONT_SIZE,
15
15
  TITLE_FONT_WEIGHT
16
- } from "./chunk-DEW62ON3.js";
16
+ } from "./chunk-VSPNH7LC.js";
17
17
  import {
18
18
  renderIntegratedLegend
19
- } from "./chunk-U4DS2ODO.js";
19
+ } from "./chunk-253E5ISJ.js";
20
20
  import {
21
21
  getMaxLegendReservedHeight
22
- } from "./chunk-VRPV6QXR.js";
22
+ } from "./chunk-LLZVRWVS.js";
23
23
  import {
24
24
  FONT_FAMILY
25
- } from "./chunk-53SEVJQM.js";
25
+ } from "./chunk-ICLB27PZ.js";
26
26
  import {
27
27
  LEGEND_HEIGHT,
28
28
  measureLegendText
29
- } from "./chunk-YT5ICQ4R.js";
29
+ } from "./chunk-CKDYRVOC.js";
30
30
  import {
31
31
  measureText
32
- } from "./chunk-MTGGOCND.js";
32
+ } from "./chunk-YC6GVLTI.js";
33
33
  import {
34
34
  parseKanban
35
- } from "./chunk-3SP6G4LN.js";
35
+ } from "./chunk-TPQ6Q7JP.js";
36
36
  import {
37
37
  tagAttrKey
38
- } from "./chunk-76LHNLGX.js";
38
+ } from "./chunk-O2HU4AQN.js";
39
39
  import {
40
40
  fillModeFromOptions,
41
41
  legendSuppressed
42
- } from "./chunk-M5OOAP65.js";
42
+ } from "./chunk-4CA7TJ44.js";
43
43
  import {
44
44
  contrastText,
45
45
  mix,
46
46
  shapeFill,
47
47
  themeBaseBg
48
- } from "./chunk-GLREDNBA.js";
48
+ } from "./chunk-AMQFJ7P7.js";
49
49
 
50
50
  // src/kanban/renderer.ts
51
51
  import * as d3Selection from "d3-selection";
@@ -208,6 +208,18 @@ function resolveCardTagColor(card, tagGroups, activeTagGroup) {
208
208
  );
209
209
  return entry?.color;
210
210
  }
211
+ function resolveColumnTagColor(column, tagGroups, activeTagGroup) {
212
+ if (!activeTagGroup) return void 0;
213
+ const group = tagGroups.find(
214
+ (g) => g.name.toLowerCase() === activeTagGroup.toLowerCase()
215
+ );
216
+ if (!group) return void 0;
217
+ const value = column.metadata?.[tagAttrKey(group.name)];
218
+ if (!value) return void 0;
219
+ return group.entries.find(
220
+ (e) => e.value.toLowerCase() === value.toLowerCase()
221
+ )?.color;
222
+ }
211
223
  function collapsedChips(cards, group) {
212
224
  if (!group) return [];
213
225
  const legendOrder = new Map(
@@ -544,8 +556,9 @@ function renderKanban(container, parsed, palette, isDark, options) {
544
556
  const isColCollapsed = collapsedColumns?.has(col.id) ?? false;
545
557
  const g = svg.append("g").attr("class", "kanban-column").attr("data-column-id", col.id).attr("data-line-number", col.lineNumber);
546
558
  const thisColBg = defaultColBg;
547
- const thisColHeaderBg = col.color ? shapeFill(palette, col.color, isDark, { mode: fillMode }) : defaultColHeaderBg;
548
- const onHeaderText = col.color ? contrastText(
559
+ const colColor = resolveColumnTagColor(col, parsed.tagGroups, activeTagGroup ?? null) ?? col.color;
560
+ const thisColHeaderBg = colColor ? shapeFill(palette, colColor, isDark, { mode: fillMode }) : defaultColHeaderBg;
561
+ const onHeaderText = colColor ? contrastText(
549
562
  thisColHeaderBg,
550
563
  palette.textOnFillLight,
551
564
  palette.textOnFillDark
@@ -661,7 +674,7 @@ function renderKanban(container, parsed, palette, isDark, options) {
661
674
  const cx = colLayout.x + cardLayout.x;
662
675
  const cy = colLayout.y + cardLayout.y;
663
676
  cg.append("rect").attr("x", cx).attr("y", cy).attr("width", cardLayout.width).attr("height", cardLayout.height).attr("rx", sCardRadius).attr("fill", cardFill).attr("stroke", cardStroke).attr("stroke-width", sCardStrokeWidth);
664
- const titleEl = cg.append("text").attr("x", cx + sCardPaddingX).attr("y", cy + sCardPaddingY + sCardTitleFontSize).attr("font-size", sCardTitleFontSize).attr("font-weight", "500").attr("fill", onCardText);
677
+ const titleEl = cg.append("text").attr("x", cx + sCardPaddingX).attr("y", cy + sCardPaddingY + sCardTitleFontSize).attr("font-size", sCardTitleFontSize).attr("font-weight", "normal").attr("fill", onCardText);
665
678
  renderInlineText(titleEl, card.title, palette, sCardTitleFontSize);
666
679
  if (hasMeta) {
667
680
  const separatorY = cy + sCardHeaderHeight;
@@ -1127,7 +1140,7 @@ function renderSwimlaneCard(parent, cardLayout, tagGroups, activeTagGroup, palet
1127
1140
  const cx = cardLayout.x;
1128
1141
  const cy = cardLayout.y;
1129
1142
  cg.append("rect").attr("x", cx).attr("y", cy).attr("width", cardLayout.width).attr("height", cardLayout.height).attr("rx", sCardRadius).attr("fill", cardFill).attr("stroke", cardStroke).attr("stroke-width", sCardStrokeWidth);
1130
- const titleEl = cg.append("text").attr("x", cx + sCardPaddingX).attr("y", cy + sCardPaddingY + sCardTitleFontSize).attr("font-size", sCardTitleFontSize).attr("font-weight", "500").attr("fill", onCardText);
1143
+ const titleEl = cg.append("text").attr("x", cx + sCardPaddingX).attr("y", cy + sCardPaddingY + sCardTitleFontSize).attr("font-size", sCardTitleFontSize).attr("font-weight", "normal").attr("fill", onCardText);
1131
1144
  renderInlineText(titleEl, card.title, palette, sCardTitleFontSize);
1132
1145
  if (hasMeta) {
1133
1146
  const separatorY = cy + sCardHeaderHeight;
@@ -1154,4 +1167,4 @@ export {
1154
1167
  renderKanban,
1155
1168
  renderKanbanForExport
1156
1169
  };
1157
- //# sourceMappingURL=chunk-V4NHFY22.js.map
1170
+ //# sourceMappingURL=chunk-OLRVGPJ3.js.map