@diagrammo/dgmo 0.54.0 → 0.56.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 (277) hide show
  1. package/dist/advanced.d.ts +138 -11
  2. package/dist/advanced.js +140 -115
  3. package/dist/{analyzer-TDN5KJFP.js → analyzer-HQUXKZ5J.js} +3 -3
  4. package/dist/auto.js +129 -126
  5. package/dist/auto.mjs +2731 -882
  6. package/dist/block.js +58 -56
  7. package/dist/{calculator-VBIT6GQF.js → calculator-BBKAAQGD.js} +3 -3
  8. package/dist/chart-meta.js +49 -49
  9. package/dist/charts-d3-D67V6KHE.js +29 -0
  10. package/dist/{chunk-5VXU6MND.js → chunk-23THM67F.js} +2 -2
  11. package/dist/{chunk-N7BSBAVP.js → chunk-2JMNOEAU.js} +117 -98
  12. package/dist/{chunk-6OYDOQ2Q.js → chunk-2UZVMWSQ.js} +4 -4
  13. package/dist/{chunk-3FRO35WW.js → chunk-3KOPPSUQ.js} +19 -5
  14. package/dist/{chunk-IYNKLCAZ.js → chunk-3R67RRPC.js} +126 -57
  15. package/dist/{chunk-JYDMBWRP.js → chunk-42IT4BG2.js} +2 -2
  16. package/dist/{chunk-O576GYAP.js → chunk-4MB4UOT5.js} +3 -3
  17. package/dist/{chunk-3KHJJP3J.js → chunk-4MJOBVY7.js} +3 -3
  18. package/dist/{chunk-3SEEP2JM.js → chunk-5J2RQGFG.js} +9 -5
  19. package/dist/{chunk-EAI6XJ7D.js → chunk-5VLUAAAE.js} +4 -4
  20. package/dist/{chunk-FVMKCZHF.js → chunk-5XMDSXZT.js} +3 -3
  21. package/dist/{chunk-LPJ6H5X4.js → chunk-5ZDHXS5N.js} +60 -15
  22. package/dist/{chunk-MEQYZZFR.js → chunk-6IVXRTXH.js} +96 -23
  23. package/dist/chunk-6VJCURWU.js +87 -0
  24. package/dist/{chunk-QZAW5SFH.js → chunk-7NK42OIB.js} +2 -2
  25. package/dist/{chunk-EQOMY4PY.js → chunk-7SXTD7L6.js} +3 -3
  26. package/dist/{chunk-APKUAJ2L.js → chunk-A2RUBBVT.js} +14 -1
  27. package/dist/{chunk-S7FOIURR.js → chunk-A4DAZO3U.js} +12 -9
  28. package/dist/{chunk-AJFHNS67.js → chunk-AIH6M5J6.js} +7 -7
  29. package/dist/{chunk-KS5ZSM5T.js → chunk-AMC2OGXF.js} +64 -16
  30. package/dist/{chunk-SSHS42QG.js → chunk-AN465MXC.js} +2 -2
  31. package/dist/{chunk-BZJIITYM.js → chunk-AOJJSGXE.js} +5 -5
  32. package/dist/{chunk-T7Y554OK.js → chunk-APD52YJV.js} +8 -8
  33. package/dist/{chunk-FFVFZLRT.js → chunk-BR2VSKHI.js} +377 -60
  34. package/dist/{chunk-7K6NDSXH.js → chunk-C3BWDEYN.js} +5 -5
  35. package/dist/{chunk-HO3RCNF6.js → chunk-CGLBK5Q4.js} +2 -2
  36. package/dist/{chunk-ADYKAKE3.js → chunk-CQ7Y3O67.js} +7 -4
  37. package/dist/{chunk-WKNAJ4BR.js → chunk-CQOC2MD6.js} +66 -13
  38. package/dist/{chunk-TLNVYWPA.js → chunk-CXI6X54X.js} +3 -3
  39. package/dist/{chunk-AQEYUVGJ.js → chunk-CY5KE2P5.js} +67 -10
  40. package/dist/{chunk-COVYNAKJ.js → chunk-D3WTEBGT.js} +2 -2
  41. package/dist/{chunk-AHTTKERF.js → chunk-D5FANMSG.js} +3 -3
  42. package/dist/{chunk-CCGWX6AO.js → chunk-D64FRGKU.js} +3 -3
  43. package/dist/{chunk-RRGKMJYL.js → chunk-DIKIHU52.js} +9 -4
  44. package/dist/{chunk-BULHGPHK.js → chunk-DNSEG6P2.js} +3 -3
  45. package/dist/{chunk-UJRTPOHH.js → chunk-DUI5SMFX.js} +2 -2
  46. package/dist/{chunk-VQFDBNYF.js → chunk-EEKGMS63.js} +4 -4
  47. package/dist/{chunk-MTZOXISJ.js → chunk-ES3MUYRX.js} +5 -5
  48. package/dist/{chunk-J7HQPVYH.js → chunk-ES66QH6J.js} +24 -3
  49. package/dist/{chunk-ZKPPI6BF.js → chunk-EXNKNJ65.js} +2 -2
  50. package/dist/{chunk-2NYXI35Z.js → chunk-FCA2UGJT.js} +7 -6
  51. package/dist/{chunk-M3H7ZE6C.js → chunk-FERE46TP.js} +7 -6
  52. package/dist/{chunk-B4XS2AF2.js → chunk-FWVKPEG3.js} +3 -3
  53. package/dist/{chunk-S7YFT3PO.js → chunk-FXVPSTDT.js} +6 -6
  54. package/dist/{chunk-BM7MG6HT.js → chunk-FZECLCCU.js} +4 -4
  55. package/dist/{chunk-SBOAZ7YK.js → chunk-GDGOVO2I.js} +60 -41
  56. package/dist/{chunk-QBYP2FBZ.js → chunk-GG7TK3IA.js} +5 -5
  57. package/dist/{chunk-GQ5ECRP4.js → chunk-GUVVQW3Y.js} +5 -5
  58. package/dist/{chunk-R5BGGBFF.js → chunk-HE57UQHL.js} +3 -3
  59. package/dist/{chunk-4ZIKWVSQ.js → chunk-HIMDUQT7.js} +7 -7
  60. package/dist/{chunk-CSHFU6LT.js → chunk-HKKPUUNK.js} +10 -10
  61. package/dist/{chunk-KINOX74I.js → chunk-HODUM6LY.js} +50 -12
  62. package/dist/{chunk-47JNEKJA.js → chunk-HOPTF3ZP.js} +47 -12
  63. package/dist/{chunk-WW4BQ744.js → chunk-HPJITTF7.js} +11 -8
  64. package/dist/{chunk-BEOAKGNA.js → chunk-I55PVEIX.js} +2 -2
  65. package/dist/{chunk-7JDTNFAK.js → chunk-IMXG673Y.js} +78 -34
  66. package/dist/{chunk-4T6OCSJ2.js → chunk-JE3SMHRZ.js} +6 -6
  67. package/dist/{chunk-KQYQECWQ.js → chunk-JXFB3APA.js} +52 -16
  68. package/dist/{chunk-OJ435DQZ.js → chunk-KF575IXC.js} +4 -4
  69. package/dist/{chunk-IOIMQHQ6.js → chunk-KIGV66SP.js} +3 -3
  70. package/dist/{chunk-ICKXIMBA.js → chunk-KSPCR75O.js} +7 -7
  71. package/dist/{chunk-JTSMEYIZ.js → chunk-L43KTQTW.js} +5 -2
  72. package/dist/{chunk-DLU643TF.js → chunk-LV5BFA24.js} +6 -6
  73. package/dist/{chunk-RJ5LBZ5U.js → chunk-MD2KWAXJ.js} +16 -16
  74. package/dist/{chunk-KDK5EKUR.js → chunk-MGLJA5TK.js} +3 -3
  75. package/dist/{chunk-FR6UFVSV.js → chunk-N2KO445N.js} +99 -46
  76. package/dist/{chunk-C2UORMIA.js → chunk-NFAHDPCG.js} +8 -4
  77. package/dist/{chunk-7UPFTBOW.js → chunk-NHZAYL2X.js} +7 -7
  78. package/dist/{chunk-PIXZTCKH.js → chunk-NVQXIDLE.js} +3 -3
  79. package/dist/chunk-NZ5QVASG.js +20 -0
  80. package/dist/{chunk-F7XM366V.js → chunk-OHBIN74X.js} +4 -4
  81. package/dist/{chunk-4W2PE66Q.js → chunk-OLMWTJVU.js} +11 -1
  82. package/dist/{chunk-HAA25PLC.js → chunk-OWLGERJL.js} +46 -11
  83. package/dist/{chunk-NUTWTV6G.js → chunk-P6XFQVYY.js} +103 -57
  84. package/dist/{chunk-GKYHWJXI.js → chunk-PECYPUJJ.js} +5 -5
  85. package/dist/{chunk-T3FAJAJT.js → chunk-PFG3EVRD.js} +4 -4
  86. package/dist/{chunk-2NZOHEP4.js → chunk-QDOYT6UW.js} +5 -5
  87. package/dist/{chunk-EPRF3ZRV.js → chunk-QWUYFUNO.js} +3 -3
  88. package/dist/{chunk-I47VHSPS.js → chunk-R7ECJQTB.js} +10 -8
  89. package/dist/{chunk-BWYFIVZF.js → chunk-RBIX3HQQ.js} +4 -4
  90. package/dist/{chunk-COJW2NEY.js → chunk-RK3Y4WMV.js} +57 -15
  91. package/dist/{chunk-KQ3FNRGR.js → chunk-RQGNELB3.js} +7 -6
  92. package/dist/{chunk-WF64MW5G.js → chunk-RRX4Z4TH.js} +2 -2
  93. package/dist/{chunk-W6PCFRPL.js → chunk-RV2N7COG.js} +4 -4
  94. package/dist/{chunk-UEU6IYKY.js → chunk-S6QDCFEU.js} +2 -2
  95. package/dist/{chunk-Q5IHQ4NW.js → chunk-SCJ7CAJF.js} +2 -2
  96. package/dist/{chunk-3B2GXZCX.js → chunk-SK7PCW4F.js} +2 -2
  97. package/dist/{chunk-6KL7TFLS.js → chunk-SOBGK35Z.js} +4 -4
  98. package/dist/{chunk-WWHECSYZ.js → chunk-ST3ZNEUQ.js} +3 -3
  99. package/dist/{chunk-3IUHKMJI.js → chunk-U2BKSEKU.js} +2 -2
  100. package/dist/{chunk-KBVOVDYP.js → chunk-U7ZQTUZT.js} +6 -6
  101. package/dist/{chunk-3SBHODJ4.js → chunk-ULONXAOD.js} +50 -11
  102. package/dist/{chunk-B7N5KYXQ.js → chunk-ULR3BVNH.js} +8 -8
  103. package/dist/{chunk-YENNFS5F.js → chunk-USFZQPJ2.js} +10 -5
  104. package/dist/{chunk-OR3R27CU.js → chunk-UZ6L5VQJ.js} +4 -4
  105. package/dist/{chunk-ADCHLNWT.js → chunk-VKN7YW4Q.js} +10 -7
  106. package/dist/{chunk-XWODFBHJ.js → chunk-VSFAJUEF.js} +8 -4
  107. package/dist/{chunk-HFEOOQ46.js → chunk-VU3DOZ6C.js} +3 -3
  108. package/dist/{chunk-M24VXUFG.js → chunk-VYEQPPS6.js} +7 -7
  109. package/dist/{chunk-5XSNLXU5.js → chunk-W2I2EXSC.js} +58 -16
  110. package/dist/{chunk-7U4OR7CD.js → chunk-W4EKQ2P6.js} +2 -2
  111. package/dist/{chunk-UIT7E6UF.js → chunk-WFX6AUQO.js} +52 -5
  112. package/dist/{chunk-RIEAN4D5.js → chunk-WK3UFCZC.js} +51 -11
  113. package/dist/{chunk-7SP4C6EV.js → chunk-WOMXS5R7.js} +24 -5
  114. package/dist/chunk-WTTIODDV.js +10 -0
  115. package/dist/{chunk-GK32ZFZY.js → chunk-X32RDWT5.js} +5 -5
  116. package/dist/{chunk-LRSW4JLE.js → chunk-XN4ZSACM.js} +4 -4
  117. package/dist/{chunk-NR5HCAUD.js → chunk-XSVWUOUZ.js} +1 -1
  118. package/dist/{chunk-OSXQKC3S.js → chunk-Y2L2LET6.js} +8 -5
  119. package/dist/{chunk-TJN2OIVG.js → chunk-YG5KQ55U.js} +182 -14
  120. package/dist/{chunk-DPGQ5UMO.js → chunk-YH62K5D4.js} +15 -12
  121. package/dist/{chunk-A3BDLDYG.js → chunk-YJUF2N3C.js} +62 -23
  122. package/dist/{chunk-VMSBMIHW.js → chunk-YM2ZQIVG.js} +4 -4
  123. package/dist/{chunk-KV4HLIJE.js → chunk-YNAHUNMA.js} +7 -4
  124. package/dist/{chunk-62Y27T4C.js → chunk-YWPWRR7W.js} +2 -2
  125. package/dist/{chunk-U4IN6AHE.js → chunk-ZMMYCERO.js} +2 -2
  126. package/dist/cli.cjs +155 -149
  127. package/dist/clock.js +34 -1
  128. package/dist/completion-registry.js +15 -7
  129. package/dist/dgmo-router-GSWUPLP2.js +88 -0
  130. package/dist/dimensions-PLECMFTR.js +22 -0
  131. package/dist/editor.js +10 -1
  132. package/dist/element.js +131 -128
  133. package/dist/element.mjs +2731 -882
  134. package/dist/flowchart-parser-DA3V2SLH.js +21 -0
  135. package/dist/{flowchart-renderer-DCFKUDDR.js → flowchart-renderer-UQVXOUW4.js} +13 -12
  136. package/dist/highlight.js +10 -1
  137. package/dist/index.js +72 -57
  138. package/dist/{layout-A6OIGZN2.js → layout-2BJDECLZ.js} +5 -8
  139. package/dist/{layout-NF4EWFLT.js → layout-3XFPPFXI.js} +4 -4
  140. package/dist/layout-A5UVXINF.js +15 -0
  141. package/dist/layout-HIK4ZJFQ.js +15 -0
  142. package/dist/{layout-CB3XWCOI.js → layout-NX37NSRY.js} +3 -3
  143. package/dist/layout-OHAIIXBC.js +10 -0
  144. package/dist/{layout-QBNAMEOA.js → layout-QRVYYYZ3.js} +6 -6
  145. package/dist/{layout-ITLPDG6M.js → layout-SNIEAZ2I.js} +8 -8
  146. package/dist/{layout-SP7HJWKA.js → layout-UFZQI6SX.js} +4 -4
  147. package/dist/{layout-G2ABQJQZ.js → layout-UXMNKETK.js} +7 -7
  148. package/dist/layout-WDXNSQQF.js +15 -0
  149. package/dist/{layout-search-LUI475P3.js → layout-search-I4VNIRGT.js} +320 -36
  150. package/dist/{legend-constants-B77VKB3R.js → legend-constants-QQU3QYBF.js} +5 -5
  151. package/dist/{palettes-FGTNFARW.js → palettes-WO3VA6NU.js} +4 -4
  152. package/dist/parser-4TX6U4ZU.js +11 -0
  153. package/dist/{parser-X5XLFY4Z.js → parser-4ZIJDGPG.js} +6 -6
  154. package/dist/parser-5UZWYSIV.js +16 -0
  155. package/dist/parser-6CM27UPA.js +14 -0
  156. package/dist/parser-73YUU35J.js +11 -0
  157. package/dist/parser-A6M25MLK.js +11 -0
  158. package/dist/parser-AYZTKZC3.js +11 -0
  159. package/dist/parser-CCAUZLYI.js +15 -0
  160. package/dist/parser-D7YZX3CH.js +12 -0
  161. package/dist/parser-DQ2DGDYO.js +11 -0
  162. package/dist/parser-GGCDY65M.js +14 -0
  163. package/dist/parser-HMQZPPOK.js +19 -0
  164. package/dist/parser-IPBEW2DG.js +13 -0
  165. package/dist/{parser-66RYGJRB.js → parser-JWAGGYLL.js} +7 -7
  166. package/dist/parser-KTVDCWHG.js +13 -0
  167. package/dist/{parser-OPIXXUY4.js → parser-LNEAHGXF.js} +7 -7
  168. package/dist/parser-LQDEU22S.js +15 -0
  169. package/dist/{parser-VVE4THG3.js → parser-MH62NYKM.js} +6 -6
  170. package/dist/parser-O5XCVGZG.js +11 -0
  171. package/dist/parser-OPOGIKFR.js +17 -0
  172. package/dist/parser-PEBXIOPX.js +12 -0
  173. package/dist/parser-PQXN6SBB.js +18 -0
  174. package/dist/parser-Q3KNFXQR.js +12 -0
  175. package/dist/parser-Q62VR2UJ.js +20 -0
  176. package/dist/parser-QEWSTNEJ.js +15 -0
  177. package/dist/{parser-7UI6UQ7B.js → parser-QL2LBPFE.js} +7 -7
  178. package/dist/{parser-LTA2BOZO.js → parser-QN3GJJ3J.js} +5 -5
  179. package/dist/parser-RBNOWHGM.js +15 -0
  180. package/dist/parser-SJ7ECFAP.js +13 -0
  181. package/dist/parser-VVTCMQWY.js +16 -0
  182. package/dist/parser-WT3DSNPQ.js +13 -0
  183. package/dist/parser-XWNSCDY6.js +13 -0
  184. package/dist/pert.d.ts +2 -0
  185. package/dist/{renderer-WVD6G2TS.js → renderer-2NU7M5PN.js} +14 -12
  186. package/dist/renderer-3IETIUZB.js +30 -0
  187. package/dist/renderer-4VLQKKTV.js +39 -0
  188. package/dist/{renderer-HQ4JFZOV.js → renderer-52S6JM5R.js} +12 -11
  189. package/dist/renderer-53FU55KK.js +19 -0
  190. package/dist/renderer-5CU6GYF2.js +27 -0
  191. package/dist/{renderer-LHVCKEWF.js → renderer-5G3PORFD.js} +13 -12
  192. package/dist/renderer-CB2DOQ2O.js +25 -0
  193. package/dist/{renderer-B7Y6I7JX.js → renderer-CL4SAUA5.js} +8 -8
  194. package/dist/{renderer-FXMGCSRP.js → renderer-CRAIC4ER.js} +12 -10
  195. package/dist/renderer-DZ5N6BHW.js +26 -0
  196. package/dist/renderer-FRBPMKPP.js +25 -0
  197. package/dist/renderer-HGWKAXS6.js +16 -0
  198. package/dist/renderer-I5MAFUKX.js +26 -0
  199. package/dist/{renderer-K7XLVPH5.js → renderer-IWNHBIZ6.js} +5 -5
  200. package/dist/renderer-J5MMVCGN.js +29 -0
  201. package/dist/renderer-J5TL5ZX4.js +39 -0
  202. package/dist/renderer-JNC6VJMN.js +24 -0
  203. package/dist/{renderer-X2LYSMLU.js → renderer-KUIZNLAQ.js} +6 -6
  204. package/dist/renderer-M6AFKVLS.js +21 -0
  205. package/dist/renderer-MLDGFZDW.js +23 -0
  206. package/dist/{renderer-YVMETH6V.js → renderer-O4ECS2BI.js} +13 -12
  207. package/dist/{renderer-YEFOOULC.js → renderer-OZIPP7VF.js} +14 -13
  208. package/dist/{renderer-C3RI4OPJ.js → renderer-P7O6OUYC.js} +13 -12
  209. package/dist/renderer-Q3A7572V.js +25 -0
  210. package/dist/renderer-QRX7Q2YN.js +22 -0
  211. package/dist/{renderer-WCWI4I6A.js → renderer-RJT3MOUU.js} +5 -5
  212. package/dist/{renderer-7HMZ5OCJ.js → renderer-SYT4L7GE.js} +6 -6
  213. package/dist/{renderer-G4UOW3RH.js → renderer-TOKGYFTG.js} +6 -6
  214. package/dist/renderer-WWC5VGHH.js +27 -0
  215. package/dist/{renderer-P3YQES7B.js → renderer-YVCD55ZX.js} +15 -13
  216. package/dist/renderer-YWYX6WAI.js +16 -0
  217. package/dist/renderer-radial-QG644QYY.js +21 -0
  218. package/dist/{resolver-WFKZYBJ2.js → resolver-W3WKLWDP.js} +4 -4
  219. package/dist/state-parser-NQGVYSM3.js +19 -0
  220. package/dist/state-renderer-NKV5B3KH.js +40 -0
  221. package/docs/language-reference.md +11 -2
  222. package/package.json +2 -2
  223. package/dist/charts-d3-25E4VWXO.js +0 -27
  224. package/dist/dgmo-router-TGZWFIZO.js +0 -88
  225. package/dist/dimensions-L6BXQXXL.js +0 -22
  226. package/dist/flowchart-parser-UKYOW3VM.js +0 -21
  227. package/dist/layout-25Y3VDYF.js +0 -19
  228. package/dist/layout-4SPLI4HG.js +0 -15
  229. package/dist/layout-CH4HFFRD.js +0 -15
  230. package/dist/layout-NY7MHJCL.js +0 -15
  231. package/dist/parser-2UWWNTFL.js +0 -12
  232. package/dist/parser-3RXYQSA7.js +0 -18
  233. package/dist/parser-5C3PEZK3.js +0 -11
  234. package/dist/parser-6GN5YJBJ.js +0 -13
  235. package/dist/parser-6MQM7WT3.js +0 -15
  236. package/dist/parser-B2A7XOAK.js +0 -12
  237. package/dist/parser-CCNJKDDA.js +0 -16
  238. package/dist/parser-ESHNUFME.js +0 -13
  239. package/dist/parser-F4FEU57T.js +0 -11
  240. package/dist/parser-FHRMFUNX.js +0 -15
  241. package/dist/parser-FPCWDYQV.js +0 -13
  242. package/dist/parser-FY3YFFBS.js +0 -20
  243. package/dist/parser-GML6V2KZ.js +0 -14
  244. package/dist/parser-HA3PF5FL.js +0 -15
  245. package/dist/parser-KTYF6WO5.js +0 -11
  246. package/dist/parser-LU7UAKNB.js +0 -13
  247. package/dist/parser-MHKYQPC2.js +0 -11
  248. package/dist/parser-MVSYFK63.js +0 -17
  249. package/dist/parser-O7YQYFEN.js +0 -15
  250. package/dist/parser-S4EJPNVN.js +0 -19
  251. package/dist/parser-T3D7BV6O.js +0 -11
  252. package/dist/parser-WPPJGB4R.js +0 -12
  253. package/dist/parser-XCPMEB2Z.js +0 -11
  254. package/dist/parser-XRDUX2AR.js +0 -14
  255. package/dist/parser-YPWYT46P.js +0 -16
  256. package/dist/parser-YULS5MLD.js +0 -13
  257. package/dist/renderer-2DME63VZ.js +0 -16
  258. package/dist/renderer-3VY3VXJE.js +0 -37
  259. package/dist/renderer-4A32DX5L.js +0 -24
  260. package/dist/renderer-4K5YYX5R.js +0 -28
  261. package/dist/renderer-6CFML5G3.js +0 -22
  262. package/dist/renderer-7ZNVOVFG.js +0 -16
  263. package/dist/renderer-CJ56SUMF.js +0 -26
  264. package/dist/renderer-COJZZ4F6.js +0 -25
  265. package/dist/renderer-OZX5KGQM.js +0 -21
  266. package/dist/renderer-PLVIARM7.js +0 -24
  267. package/dist/renderer-RA4PTAMF.js +0 -19
  268. package/dist/renderer-RMAM2SOJ.js +0 -28
  269. package/dist/renderer-SES7QZYL.js +0 -37
  270. package/dist/renderer-TQ5QDZOE.js +0 -22
  271. package/dist/renderer-V5SNTPAM.js +0 -27
  272. package/dist/renderer-Y3NXZINM.js +0 -24
  273. package/dist/renderer-YP3P6UVT.js +0 -24
  274. package/dist/renderer-Z4GNKNXO.js +0 -24
  275. package/dist/renderer-radial-VYBZAXXE.js +0 -21
  276. package/dist/state-parser-VIW2WNA5.js +0 -19
  277. package/dist/state-renderer-H22AQD3U.js +0 -38
@@ -5,13 +5,18 @@ import {
5
5
  import {
6
6
  ScaleContext
7
7
  } from "./chunk-YYVTBZZC.js";
8
+ import {
9
+ INLINE_HEADER_PAD,
10
+ layoutInlineHeader
11
+ } from "./chunk-6VJCURWU.js";
8
12
  import {
9
13
  renderIntegratedLegend
10
- } from "./chunk-2NZOHEP4.js";
14
+ } from "./chunk-QDOYT6UW.js";
11
15
  import {
12
16
  controlsGroupCapsuleWidth,
17
+ getLegendExtent,
13
18
  getMaxLegendReservedHeight
14
- } from "./chunk-J7HQPVYH.js";
19
+ } from "./chunk-ES66QH6J.js";
15
20
  import {
16
21
  TITLE_FONT_SIZE,
17
22
  TITLE_FONT_WEIGHT,
@@ -34,7 +39,7 @@ import {
34
39
  LEGEND_PILL_PAD,
35
40
  measureLegendText,
36
41
  truncateLegendText
37
- } from "./chunk-Q5IHQ4NW.js";
42
+ } from "./chunk-SCJ7CAJF.js";
38
43
  import {
39
44
  CHAR_WIDTH_RATIO,
40
45
  measureText,
@@ -45,7 +50,7 @@ import {
45
50
  getSeriesColors,
46
51
  mix,
47
52
  shapeFill
48
- } from "./chunk-JYDMBWRP.js";
53
+ } from "./chunk-42IT4BG2.js";
49
54
  import {
50
55
  normalizeName
51
56
  } from "./chunk-NOTA6TEI.js";
@@ -53,7 +58,7 @@ import {
53
58
  resolveActiveTagGroup,
54
59
  resolveTagColor,
55
60
  tagAttrKey
56
- } from "./chunk-AHTTKERF.js";
61
+ } from "./chunk-D5FANMSG.js";
57
62
 
58
63
  // src/gantt/renderer.ts
59
64
  import * as d3Scale from "d3-scale";
@@ -217,12 +222,38 @@ function renderGantt(container, resolved, palette, isDark, options, exportDims)
217
222
  const sSprintLabelReserve = ctx.structural(sprintLabelReserve);
218
223
  const sTitleHeight = ctx.aesthetic(titleHeight);
219
224
  const sTagLegendReserve = ctx.structural(tagLegendReserve);
225
+ const inlineRequested = resolved.options.legendInline === true && resolved.tagGroups.length > 0;
226
+ const legendExtent = inlineRequested ? getLegendExtent(
227
+ {
228
+ groups: resolved.tagGroups.map((tg) => ({
229
+ name: tg.name,
230
+ entries: tg.entries
231
+ })),
232
+ position: { placement: "top-center", titleRelation: "inline-with-title" },
233
+ mode: "preview",
234
+ capsulePillAddonWidth: LEGEND_ICON_W
235
+ },
236
+ { activeGroup: currentActiveGroup },
237
+ containerWidth
238
+ ) : { width: 0, height: 0 };
239
+ const header = layoutInlineHeader({
240
+ requested: inlineRequested,
241
+ title: title ?? "",
242
+ hasLegend: hasTagLegend,
243
+ legendWidth: legendExtent.width,
244
+ legendHeight: legendExtent.height,
245
+ containerWidth,
246
+ titleBandHeight: sTitleHeight,
247
+ legendReserve: sTagLegendReserve,
248
+ titleBaselineY: sTitleY,
249
+ titleFontSize: sTitleFontSize
250
+ });
220
251
  const sEraReserve = ctx.structural(eraReserve);
221
252
  const sMarkerReserve = ctx.structural(markerReserve);
222
253
  const sTodayReserve = ctx.structural(todayReserve);
223
254
  const sFont10 = ctx.text(10);
224
255
  const sFont11 = ctx.text(11);
225
- const sMarginTop = sTitleHeight + sTagLegendReserve + sEraReserve + sMarkerReserve + sTodayReserve + sTopDateLabelReserve + sSprintLabelReserve;
256
+ const sMarginTop = sTitleHeight + (header.inline ? 0 : sTagLegendReserve) + sEraReserve + sMarkerReserve + sTodayReserve + sTopDateLabelReserve + sSprintLabelReserve;
226
257
  const sTodayLabelY = sTodayReserve ? -(sTopDateLabelReserve + sHeaderRowH / 2) : 0;
227
258
  const sMarkerLabelY = sMarkerReserve ? -(sTopDateLabelReserve + sTodayReserve + sHeaderRowH / 2) : 0;
228
259
  const sEraLabelY = sEraReserve ? -(sTopDateLabelReserve + sTodayReserve + sMarkerReserve + sHeaderRowH / 2) : 0;
@@ -234,12 +265,12 @@ function renderGantt(container, resolved, palette, isDark, options, exportDims)
234
265
  const svg = d3Selection.select(container).append("svg").attr("viewBox", `0 0 ${containerWidth} ${sOuterHeight}`).attr("width", exportDims ? containerWidth : "100%").attr("preserveAspectRatio", "xMidYMin meet").attr("font-family", FONT_FAMILY).style("overflow", "visible");
235
266
  const g = svg.append("g").attr("transform", `translate(${leftMargin}, ${sMarginTop})`);
236
267
  if (showTitle) {
237
- svg.append("text").attr("class", "chart-title").attr("x", containerWidth / 2).attr("y", sTitleY).attr("text-anchor", "middle").attr("font-size", sTitleFontSize).attr("font-weight", TITLE_FONT_WEIGHT).attr("fill", palette.text).text(title);
268
+ svg.append("text").attr("class", "chart-title").attr("x", header.titleX).attr("y", sTitleY).attr("text-anchor", header.titleAnchor).attr("font-size", sTitleFontSize).attr("font-weight", TITLE_FONT_WEIGHT).attr("fill", palette.text).text(title);
238
269
  }
239
270
  function drawLegend() {
240
271
  svg.selectAll(".gantt-tag-legend-container").remove();
241
272
  if (hasTagLegend) {
242
- const legendY = sTitleHeight;
273
+ const legendY = header.inline ? header.legendY : sTitleHeight;
243
274
  renderTagLegend(
244
275
  svg,
245
276
  g,
@@ -288,7 +319,8 @@ function renderGantt(container, resolved, palette, isDark, options, exportDims)
288
319
  drawLegend();
289
320
  },
290
321
  options?.exportMode ?? false,
291
- controlsHost
322
+ controlsHost,
323
+ header.inline
292
324
  );
293
325
  }
294
326
  }
@@ -1116,7 +1148,7 @@ function buildControlsToggles(hasCriticalPath, criticalPathActive, hasDependenci
1116
1148
  }
1117
1149
  return toggles;
1118
1150
  }
1119
- function renderTagLegend(svg, chartG, tagGroups, activeGroupName, chartLeftMargin, chartInnerWidth, legendY, palette, isDark, hasCriticalPath, criticalPathActive, _optionLineNumbers, onToggle, onToggleControlsExpand, currentSwimlaneGroup, onSwimlaneChange, legendViewMode, resolvedTasks, controlsExpanded = false, hasDependencies = false, dependenciesActive = false, onControlsToggle, exportMode = false, controlsHost = "inline") {
1151
+ function renderTagLegend(svg, chartG, tagGroups, activeGroupName, chartLeftMargin, chartInnerWidth, legendY, palette, isDark, hasCriticalPath, criticalPathActive, _optionLineNumbers, onToggle, onToggleControlsExpand, currentSwimlaneGroup, onSwimlaneChange, legendViewMode, resolvedTasks, controlsExpanded = false, hasDependencies = false, dependenciesActive = false, onControlsToggle, exportMode = false, controlsHost = "inline", inlineHeader = false) {
1120
1152
  let visibleGroups;
1121
1153
  if (activeGroupName) {
1122
1154
  const activeGroup = tagGroups.filter(
@@ -1186,7 +1218,7 @@ function renderTagLegend(svg, chartG, tagGroups, activeGroupName, chartLeftMargi
1186
1218
  totalW += controlsExpanded ? controlsGroupCapsuleWidth(controlsToggleLabels) : LEGEND_GEAR_PILL_W;
1187
1219
  }
1188
1220
  const containerWidth = chartLeftMargin + chartInnerWidth + RIGHT_MARGIN;
1189
- const legendX = (containerWidth - totalW) / 2;
1221
+ const legendX = inlineHeader ? containerWidth - INLINE_HEADER_PAD - totalW : (containerWidth - totalW) / 2;
1190
1222
  const legendRow = svg.append("g").attr("class", "gantt-tag-legend-container").attr("transform", `translate(${legendX}, ${legendY})`);
1191
1223
  if (visibleGroups.length > 0) {
1192
1224
  const showIcon = !legendViewMode && tagGroups.length > 0;
@@ -1294,6 +1326,12 @@ function renderTagLegend(svg, chartG, tagGroups, activeGroupName, chartLeftMargi
1294
1326
  width: tagGroupsW,
1295
1327
  mode: exportMode ? "export" : "preview",
1296
1328
  capsulePillAddonWidth: iconReserve,
1329
+ ...inlineHeader && {
1330
+ position: {
1331
+ placement: "top-center",
1332
+ titleRelation: "inline-with-title"
1333
+ }
1334
+ },
1297
1335
  ...controlsToggles.length > 0 && {
1298
1336
  controlsGroup: { toggles: controlsToggles }
1299
1337
  },
@@ -2105,4 +2143,4 @@ export {
2105
2143
  renderGantt,
2106
2144
  buildTagLaneRowList
2107
2145
  };
2108
- //# sourceMappingURL=chunk-KINOX74I.js.map
2146
+ //# sourceMappingURL=chunk-HODUM6LY.js.map
@@ -1,12 +1,16 @@
1
1
  import {
2
2
  renderInlineText
3
3
  } from "./chunk-3HDBAXF5.js";
4
+ import {
5
+ layoutInlineHeader
6
+ } from "./chunk-6VJCURWU.js";
4
7
  import {
5
8
  renderIntegratedLegend
6
- } from "./chunk-2NZOHEP4.js";
9
+ } from "./chunk-QDOYT6UW.js";
7
10
  import {
11
+ getLegendExtent,
8
12
  getMaxLegendReservedHeight
9
- } from "./chunk-J7HQPVYH.js";
13
+ } from "./chunk-ES66QH6J.js";
10
14
  import {
11
15
  TITLE_FONT_SIZE,
12
16
  TITLE_FONT_WEIGHT,
@@ -17,7 +21,7 @@ import {
17
21
  } from "./chunk-6KFWC4CO.js";
18
22
  import {
19
23
  LEGEND_GROUP_GAP
20
- } from "./chunk-Q5IHQ4NW.js";
24
+ } from "./chunk-SCJ7CAJF.js";
21
25
  import {
22
26
  measureText
23
27
  } from "./chunk-4ASYQ347.js";
@@ -27,17 +31,17 @@ import {
27
31
  mix,
28
32
  shapeFill,
29
33
  themeBaseBg
30
- } from "./chunk-JYDMBWRP.js";
34
+ } from "./chunk-42IT4BG2.js";
31
35
  import {
32
36
  resolveTagColor,
33
37
  tagAttrKey
34
- } from "./chunk-AHTTKERF.js";
38
+ } from "./chunk-D5FANMSG.js";
35
39
  import {
36
40
  resolveColor
37
- } from "./chunk-ZKPPI6BF.js";
41
+ } from "./chunk-EXNKNJ65.js";
38
42
  import {
39
43
  makeDgmoError
40
- } from "./chunk-4W2PE66Q.js";
44
+ } from "./chunk-OLMWTJVU.js";
41
45
 
42
46
  // src/bracket/renderer.ts
43
47
  import * as d3Selection from "d3-selection";
@@ -707,16 +711,41 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
707
711
  { groups: legendGroups, position: LEGEND_POSITION, mode: "preview" },
708
712
  width
709
713
  ) + LEGEND_GROUP_GAP : 0;
714
+ const inlineRequested = parsed.legendInline === true;
715
+ const legendExtent = inlineRequested && legendGroups.length > 0 ? getLegendExtent(
716
+ {
717
+ groups: legendGroups,
718
+ position: {
719
+ placement: "top-center",
720
+ titleRelation: "inline-with-title"
721
+ },
722
+ mode: exportMode ? "export" : "preview"
723
+ },
724
+ { activeGroup: activeGroup?.name ?? null },
725
+ width
726
+ ) : { width: 0, height: 0 };
727
+ const header = layoutInlineHeader({
728
+ requested: inlineRequested,
729
+ title: parsed.title ?? "",
730
+ hasLegend: legendGroups.length > 0,
731
+ legendWidth: legendExtent.width,
732
+ legendHeight: legendExtent.height,
733
+ containerWidth: width,
734
+ titleBandHeight: titleH,
735
+ legendReserve,
736
+ titleBaselineY: TITLE_Y,
737
+ titleFontSize: TITLE_FONT_SIZE
738
+ });
710
739
  const svg = d3Selection.select(container).append("svg").attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMin meet").attr("xmlns", "http://www.w3.org/2000/svg").attr("class", "dgmo-bracket").attr("role", "img").attr(
711
740
  "aria-label",
712
741
  `Tournament bracket${parsed.title ? ` \u2014 ${parsed.title}` : ""}${layout.champion ? `, champion ${layout.champion}` : ""}`
713
742
  ).style("font-family", FONT_FAMILY);
714
743
  if (showTitle) {
715
- const t = svg.append("text").attr("class", "chart-title").attr("x", width / 2).attr("y", TITLE_Y).attr("text-anchor", "middle").attr("fill", palette.text).attr("font-family", FONT_FAMILY).attr("font-size", TITLE_FONT_SIZE).attr("font-weight", TITLE_FONT_WEIGHT).text(parsed.title);
744
+ const t = svg.append("text").attr("class", "chart-title").attr("x", header.titleX).attr("y", TITLE_Y).attr("text-anchor", header.titleAnchor).attr("fill", palette.text).attr("font-family", FONT_FAMILY).attr("font-size", TITLE_FONT_SIZE).attr("font-weight", TITLE_FONT_WEIGHT).text(parsed.title);
716
745
  if (parsed.titleLineNumber !== null)
717
746
  t.attr("data-line-number", parsed.titleLineNumber);
718
747
  }
719
- const areaY = titleH + legendReserve + PADDING;
748
+ const areaY = (header.inline ? titleH : titleH + legendReserve) + PADDING;
720
749
  const areaX = PADDING;
721
750
  const areaW = Math.max(1, width - PADDING * 2);
722
751
  const areaH = Math.max(1, height - areaY - PADDING);
@@ -725,7 +754,10 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
725
754
  const offsetY = areaY;
726
755
  const root = svg.append("g").attr("class", "dgmo-bracket-body").attr("transform", `translate(${offsetX},${offsetY}) scale(${scale})`);
727
756
  if (legendGroups.length > 0) {
728
- const legendG = svg.append("g").attr("class", "dgmo-bracket-legend").attr("transform", `translate(0, ${titleH})`);
757
+ const legendG = svg.append("g").attr("class", "dgmo-bracket-legend").attr(
758
+ "transform",
759
+ header.inline ? `translate(${header.legendX}, ${header.legendY})` : `translate(0, ${titleH})`
760
+ );
729
761
  renderIntegratedLegend(legendG, {
730
762
  groups: legendGroups,
731
763
  palette: {
@@ -738,7 +770,10 @@ function renderBracket(container, parsed, palette, isDark, exportDims) {
738
770
  isDark,
739
771
  width,
740
772
  mode: exportMode ? "export" : "preview",
741
- position: LEGEND_POSITION,
773
+ position: {
774
+ placement: "top-center",
775
+ titleRelation: header.inline ? "inline-with-title" : "below-title"
776
+ },
742
777
  activeGroup: activeGroup?.name ?? null
743
778
  });
744
779
  }
@@ -959,4 +994,4 @@ export {
959
994
  renderBracket,
960
995
  renderBracketForExport
961
996
  };
962
- //# sourceMappingURL=chunk-47JNEKJA.js.map
997
+ //# sourceMappingURL=chunk-HOPTF3ZP.js.map
@@ -3,7 +3,7 @@ import {
3
3
  layoutJourneyMap,
4
4
  scoreToColor,
5
5
  scoreToCurveY
6
- } from "./chunk-HFEOOQ46.js";
6
+ } from "./chunk-VU3DOZ6C.js";
7
7
  import {
8
8
  wrapNoteBody
9
9
  } from "./chunk-UU6LUYUH.js";
@@ -19,15 +19,18 @@ import {
19
19
  import {
20
20
  ScaleContext
21
21
  } from "./chunk-YYVTBZZC.js";
22
+ import {
23
+ serializeSvg
24
+ } from "./chunk-NZ5QVASG.js";
22
25
  import {
23
26
  renderIntegratedLegend
24
- } from "./chunk-2NZOHEP4.js";
27
+ } from "./chunk-QDOYT6UW.js";
25
28
  import {
26
29
  FONT_FAMILY
27
30
  } from "./chunk-6KFWC4CO.js";
28
31
  import {
29
32
  parseJourneyMap
30
- } from "./chunk-KQ3FNRGR.js";
33
+ } from "./chunk-RQGNELB3.js";
31
34
  import {
32
35
  measureText,
33
36
  truncateText,
@@ -38,14 +41,14 @@ import {
38
41
  mix,
39
42
  shapeFill,
40
43
  themeBaseBg
41
- } from "./chunk-JYDMBWRP.js";
44
+ } from "./chunk-42IT4BG2.js";
42
45
  import {
43
46
  resolveActiveTagGroup,
44
47
  tagAttrKey
45
- } from "./chunk-AHTTKERF.js";
48
+ } from "./chunk-D5FANMSG.js";
46
49
  import {
47
50
  fillModeFromOptions
48
- } from "./chunk-3FRO35WW.js";
51
+ } from "./chunk-3KOPPSUQ.js";
49
52
 
50
53
  // src/journey-map/renderer.ts
51
54
  import * as d3 from "d3-selection";
@@ -861,11 +864,11 @@ function renderJourneyMapForExport(content, theme, palette) {
861
864
  const bgRect = svgEl.querySelector("rect:first-child");
862
865
  if (bgRect) bgRect.remove();
863
866
  }
864
- return svgEl.outerHTML;
867
+ return serializeSvg(svgEl);
865
868
  }
866
869
 
867
870
  export {
868
871
  renderJourneyMap,
869
872
  renderJourneyMapForExport
870
873
  };
871
- //# sourceMappingURL=chunk-WW4BQ744.js.map
874
+ //# sourceMappingURL=chunk-HPJITTF7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  emit
3
- } from "./chunk-4W2PE66Q.js";
3
+ } from "./chunk-OLMWTJVU.js";
4
4
 
5
5
  // src/raci/diagnostics.ts
6
6
  var RACI_DX = {
@@ -481,4 +481,4 @@ export {
481
481
  RACI_WARNING_CODES,
482
482
  VARIANTS
483
483
  };
484
- //# sourceMappingURL=chunk-BEOAKGNA.js.map
484
+ //# sourceMappingURL=chunk-I55PVEIX.js.map
@@ -7,21 +7,28 @@ import {
7
7
  FONT_FAMILY
8
8
  } from "./chunk-6KFWC4CO.js";
9
9
  import {
10
- getSeriesColors
11
- } from "./chunk-JYDMBWRP.js";
10
+ getSeriesColors,
11
+ mix
12
+ } from "./chunk-42IT4BG2.js";
12
13
  import {
13
14
  resolveColor
14
- } from "./chunk-ZKPPI6BF.js";
15
+ } from "./chunk-EXNKNJ65.js";
15
16
 
16
17
  // src/version-control/renderer.ts
17
18
  import * as d3Selection from "d3-selection";
18
- var LINE = 5.5;
19
- var DOT = 8;
20
- var CORNER = 13;
21
- var ANG = 32;
19
+ var LINE = 3;
20
+ var DOT = 5.5;
21
+ var CORNER = 10;
22
22
  var STACK = 19;
23
23
  var CIRCLED = "\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467\u2468";
24
24
  var TITLE_AREA = 40;
25
+ var SHELF_TINT = 13;
26
+ var SHELF_EDGE = 4;
27
+ var SHELF_LIP = 2;
28
+ var SHELF_PAD = 8;
29
+ var SHELF_H = 21;
30
+ var LEADER_GAP = 22;
31
+ var ROW_GAP = 7;
25
32
  function clip(s, max) {
26
33
  return s.length > max ? s.slice(0, max - 1) + "\u2026" : s;
27
34
  }
@@ -94,12 +101,9 @@ function renderVersionControl(container, parsed, palette, isDark, onClickItem, e
94
101
  const pos = /* @__PURE__ */ new Map();
95
102
  const placements = [];
96
103
  let contentW, contentH, gutter, cross0, captionY = 0;
97
- const cos = Math.cos(ANG * Math.PI / 180);
98
- const sin = Math.sin(ANG * Math.PI / 180);
99
104
  if (!TB) {
100
- const maxName = Math.max(4, ...parsed.branches.map((b) => b.name.length));
101
- gutter = maxName * 7.5 + 18;
102
- const along0 = gutter + 34, step = 86, laneGap = 54;
105
+ gutter = 14;
106
+ const along0 = gutter + 20, step = 88, laneGap = 50;
103
107
  cross0 = 16 + maxStack * STACK + 14;
104
108
  for (const n of nodes)
105
109
  pos.set(n.key, {
@@ -107,17 +111,34 @@ function renderVersionControl(container, parsed, palette, isDark, onClickItem, e
107
111
  y: cross0 + n.lane * laneGap
108
112
  });
109
113
  const lanesBottom = cross0 + (laneCount - 1) * laneGap;
110
- const bandY = lanesBottom + 26;
111
- for (const n of nodes) {
114
+ const bandTop = lanesBottom + LEADER_GAP;
115
+ const shelfGap = 6;
116
+ const rowRight = [];
117
+ const sorted = [...nodes].sort(
118
+ (a, b) => pos.get(a.key).x - pos.get(b.key).x
119
+ );
120
+ for (const n of sorted) {
112
121
  const p = pos.get(n.key);
122
+ const w = label.get(n.key).lw + SHELF_PAD * 2;
123
+ const left = p.x - w / 2;
124
+ let row = rowRight.length;
125
+ for (let l = 0; l < rowRight.length; l++)
126
+ if (rowRight[l] + shelfGap <= left) {
127
+ row = l;
128
+ break;
129
+ }
130
+ const top = bandTop + row * (SHELF_H + ROW_GAP);
131
+ rowRight[row] = left + w;
113
132
  placements.push({
114
133
  node: n,
115
134
  kind: "msg",
116
- diag: true,
117
135
  x: p.x,
118
- y: bandY,
136
+ y: top,
119
137
  anchor: "start",
120
- leader: { x1: p.x, y1: p.y + DOT, x2: p.x, y2: bandY - 3 }
138
+ shelfLeft: Math.max(4, left),
139
+ shelfTop: top,
140
+ shelfW: w,
141
+ leader: { x1: p.x, y1: p.y + DOT, x2: p.x, y2: top }
121
142
  });
122
143
  const stack = above.get(n.key) ?? [];
123
144
  stack.forEach(
@@ -133,6 +154,7 @@ function renderVersionControl(container, parsed, palette, isDark, onClickItem, e
133
154
  })
134
155
  );
135
156
  }
157
+ const rowCount = rowRight.length;
136
158
  for (const b of parsed.branches) {
137
159
  if (!b.ab || b.ab.ahead + b.ab.behind === 0 || b.tip == null) continue;
138
160
  const tip = pos.get(b.tip);
@@ -146,10 +168,12 @@ function renderVersionControl(container, parsed, palette, isDark, onClickItem, e
146
168
  });
147
169
  }
148
170
  contentW = Math.max(
149
- along0 + (K - 1) * step + DOT + 70,
150
- ...[...pos.entries()].map(([k, p]) => p.x + label.get(k).lw * cos)
151
- ) + 18;
152
- contentH = bandY + maxLW * sin + 12 * cos + 16;
171
+ along0 + (K - 1) * step + DOT + 40,
172
+ ...[...pos.entries()].map(
173
+ ([k, p]) => p.x + label.get(k).lw / 2 + SHELF_PAD + 8
174
+ )
175
+ ) + 8;
176
+ contentH = bandTop + rowCount * (SHELF_H + ROW_GAP) + 8;
153
177
  if (parsed.notes.length) {
154
178
  captionY = contentH + 4;
155
179
  contentH += 8 + parsed.notes.length * 16 + 8;
@@ -169,7 +193,6 @@ function renderVersionControl(container, parsed, palette, isDark, onClickItem, e
169
193
  placements.push({
170
194
  node: n,
171
195
  kind: "msg",
172
- diag: false,
173
196
  x: bandX,
174
197
  y: p.y,
175
198
  anchor: "start",
@@ -194,10 +217,16 @@ function renderVersionControl(container, parsed, palette, isDark, onClickItem, e
194
217
  }
195
218
  const showTitle = !!parsed.title;
196
219
  const titleH = showTitle ? TITLE_AREA : 0;
197
- const W = Math.round(contentW);
198
- const H = Math.round(contentH + titleH);
220
+ const baseW = contentW;
221
+ const baseH = contentH + titleH;
199
222
  const exportMode = !!exportDims;
200
- const svg = d3Selection.select(container).append("svg").attr("width", W).attr("height", H).attr("viewBox", `0 0 ${W} ${H}`).attr("preserveAspectRatio", "xMidYMin meet").attr("xmlns", "http://www.w3.org/2000/svg").style("font-family", FONT_FAMILY);
223
+ const paneW = exportMode ? 0 : container.clientWidth || 0;
224
+ const paneH = exportMode ? 0 : container.clientHeight || 0;
225
+ const W = Math.round(Math.max(baseW, paneW));
226
+ const H = Math.round(Math.max(baseH, paneH));
227
+ const vw = exportMode ? W : paneW || W;
228
+ const vh = exportMode ? H : paneH || H;
229
+ const svg = d3Selection.select(container).append("svg").attr("width", vw).attr("height", vh).attr("viewBox", `0 0 ${W} ${H}`).attr("preserveAspectRatio", "xMidYMin meet").attr("xmlns", "http://www.w3.org/2000/svg").style("font-family", FONT_FAMILY);
201
230
  svg.append("rect").attr("width", W).attr("height", H).attr("fill", palette.bg);
202
231
  if (showTitle) {
203
232
  const t = svg.append("text").attr("class", "chart-title").attr("x", W / 2).attr("y", TITLE_Y).attr("text-anchor", "middle").attr("fill", palette.text).attr("font-family", FONT_FAMILY).attr("font-size", TITLE_FONT_SIZE).attr("font-weight", TITLE_FONT_WEIGHT).attr("data-line-number", parsed.titleLineNumber ?? 1).text(parsed.title);
@@ -217,7 +246,6 @@ function renderVersionControl(container, parsed, palette, isDark, onClickItem, e
217
246
  label,
218
247
  colorOf,
219
248
  byKey,
220
- gutter,
221
249
  cross0,
222
250
  captionY,
223
251
  onClickItem && !exportMode ? onClickItem : void 0
@@ -229,7 +257,7 @@ function abText(ab) {
229
257
  if (ab.behind) a.push("\u2193" + ab.behind);
230
258
  return a.join(" ");
231
259
  }
232
- function drawGraph(g, parsed, palette, TB, pos, placements, label, colorOf, byKey, gutter, cross0, captionY, onClickItem) {
260
+ function drawGraph(g, parsed, palette, TB, pos, placements, label, colorOf, byKey, cross0, captionY, onClickItem) {
233
261
  const nodes = parsed.nodes;
234
262
  const P = (k) => pos.get(k);
235
263
  const branchCorner = (par, n) => TB ? { x: P(n.key).x, y: P(par.key).y } : { x: P(par.key).x, y: P(n.key).y };
@@ -253,17 +281,17 @@ function drawGraph(g, parsed, palette, TB, pos, placements, label, colorOf, byKe
253
281
  const N = P(n.key);
254
282
  if (n.prev != null) {
255
283
  const a = P(n.prev);
256
- const e = g.append("line").attr("x1", a.x).attr("y1", a.y).attr("x2", N.x).attr("y2", N.y).attr("stroke", c).attr("stroke-width", LINE).attr("stroke-linecap", "round").attr("opacity", o);
284
+ const e = g.append("line").attr("x1", a.x).attr("y1", a.y).attr("x2", N.x).attr("y2", N.y).attr("stroke", c).attr("stroke-width", LINE).attr("stroke-linecap", "round").attr("data-branch", n.branch).attr("opacity", o);
257
285
  if (n.ghost) e.attr("stroke-dasharray", "5 5");
258
286
  }
259
287
  if (n.parent != null) {
260
288
  const par = byKey(n.parent), cc = branchCorner(par, n), pp = P(par.key);
261
- const e = g.append("path").attr("d", roundedL(pp.x, pp.y, cc.x, cc.y, N.x, N.y, CORNER)).attr("fill", "none").attr("stroke", c).attr("stroke-width", LINE).attr("stroke-linecap", "round").attr("opacity", o);
289
+ const e = g.append("path").attr("d", roundedL(pp.x, pp.y, cc.x, cc.y, N.x, N.y, CORNER)).attr("fill", "none").attr("stroke", c).attr("stroke-width", LINE).attr("stroke-linecap", "round").attr("data-branch", n.branch).attr("opacity", o);
262
290
  if (n.ghost) e.attr("stroke-dasharray", "5 5");
263
291
  }
264
292
  if (n.mergeFrom != null) {
265
293
  const s = byKey(n.mergeFrom), cc = mergeCorner(s, n), sp = P(s.key);
266
- g.append("path").attr("d", roundedL(sp.x, sp.y, cc.x, cc.y, N.x, N.y, CORNER)).attr("fill", "none").attr("stroke", colorOf(s)).attr("stroke-width", LINE).attr("stroke-linecap", "round").attr("opacity", 0.92 * o);
294
+ g.append("path").attr("d", roundedL(sp.x, sp.y, cc.x, cc.y, N.x, N.y, CORNER)).attr("fill", "none").attr("stroke", colorOf(s)).attr("stroke-width", LINE).attr("stroke-linecap", "round").attr("data-branch", s.branch).attr("opacity", 0.92 * o);
267
295
  }
268
296
  if (n.cherryFrom != null)
269
297
  dlink(byKey(n.cherryFrom), n, colorOf(byKey(n.cherryFrom)), false);
@@ -284,7 +312,7 @@ function drawGraph(g, parsed, palette, TB, pos, placements, label, colorOf, byKe
284
312
  if (TB) {
285
313
  g.append("text").attr("x", fp.x).attr("y", 14).attr("text-anchor", "middle").attr("font-size", 12.5).attr("font-weight", 800).attr("fill", col).text(b.name);
286
314
  } else {
287
- g.append("text").attr("x", gutter).attr("y", fp.y + 4).attr("text-anchor", "end").attr("font-size", 12.5).attr("font-weight", 800).attr("fill", col).text(b.name);
315
+ g.append("text").attr("x", fp.x - DOT - 1).attr("y", fp.y - DOT - 7).attr("text-anchor", "start").attr("font-size", 12.5).attr("font-weight", 800).attr("fill", col).attr("data-branch", b.name).text(b.name);
288
316
  }
289
317
  }
290
318
  }
@@ -338,11 +366,12 @@ function drawGraph(g, parsed, palette, TB, pos, placements, label, colorOf, byKe
338
366
  }
339
367
  g.append("text").attr("x", cx).attr("y", cy + 4).attr("text-anchor", "middle").attr("font-size", 10.5).attr("font-weight", weight).attr("fill", textColor).text(text);
340
368
  };
369
+ let shelfSeq = 0;
341
370
  for (const pl of placements) {
342
371
  const n = pl.node;
343
372
  const c = colorOf(n);
344
373
  if (pl.leader) {
345
- g.append("line").attr("x1", pl.leader.x1).attr("y1", pl.leader.y1).attr("x2", pl.leader.x2).attr("y2", pl.leader.y2).attr("stroke", c).attr("stroke-width", 1).attr("opacity", 0.34 * gop(n));
374
+ g.append("line").attr("x1", pl.leader.x1).attr("y1", pl.leader.y1).attr("x2", pl.leader.x2).attr("y2", pl.leader.y2).attr("stroke", c).attr("stroke-width", 1.5).attr("stroke-linecap", "round").attr("data-branch", n.branch).attr("opacity", 0.55 * gop(n));
346
375
  }
347
376
  if (pl.kind === "tag") pill(pl.x, pl.y, pl.w, pl.label, c, palette.bg);
348
377
  else if (pl.kind === "head")
@@ -368,7 +397,22 @@ function drawGraph(g, parsed, palette, TB, pos, placements, label, colorOf, byKe
368
397
  const L = label.get(n.key);
369
398
  const gh = n.ghost;
370
399
  const mfill = gh ? palette.textMuted : c;
371
- const t = pl.diag ? g.append("text").attr("transform", `translate(${pl.x},${pl.y}) rotate(${ANG})`).attr("font-size", 12).attr("opacity", gh ? 0.55 : 1) : g.append("text").attr("x", pl.x).attr("y", pl.y + 4).attr("text-anchor", pl.anchor).attr("font-size", 12).attr("opacity", gh ? 0.55 : 1);
400
+ let tx = pl.x;
401
+ let ty = pl.y + 4;
402
+ let anchor = pl.anchor;
403
+ if (pl.shelfW != null) {
404
+ const left = pl.shelfLeft;
405
+ const top = pl.shelfTop;
406
+ const w = pl.shelfW;
407
+ const clipId = `dgmo-vc-shelf-${shelfSeq++}`;
408
+ g.append("clipPath").attr("id", clipId).append("rect").attr("x", left).attr("y", top).attr("width", w).attr("height", SHELF_H).attr("rx", SHELF_EDGE);
409
+ g.append("rect").attr("x", left).attr("y", top).attr("width", w).attr("height", SHELF_H).attr("rx", SHELF_EDGE).attr("fill", gh ? palette.bg : mix(c, palette.bg, SHELF_TINT)).attr("data-branch", n.branch).attr("opacity", gh ? 0.5 : 1);
410
+ g.append("rect").attr("x", left).attr("y", top).attr("width", w).attr("height", SHELF_LIP).attr("clip-path", `url(#${clipId})`).attr("fill", c).attr("data-branch", n.branch).attr("opacity", gh ? 0.4 : 1);
411
+ tx = left + SHELF_PAD;
412
+ ty = top + SHELF_H / 2 + 4;
413
+ anchor = "start";
414
+ }
415
+ const t = g.append("text").attr("x", tx).attr("y", ty).attr("text-anchor", anchor).attr("font-size", 12).attr("data-branch", n.branch).attr("opacity", gh ? 0.6 : 1);
372
416
  if (L.sha)
373
417
  t.append("tspan").attr("font-family", "ui-monospace, monospace").attr("font-size", 11).attr("fill", palette.textMuted).text(L.sha + " ");
374
418
  t.append("tspan").attr("fill", mfill).attr("font-weight", n.kind === "cherry" ? 400 : 700).attr("font-style", n.kind === "cherry" ? "italic" : "normal").text(L.msg);
@@ -399,4 +443,4 @@ export {
399
443
  renderVersionControl,
400
444
  renderVersionControlForExport
401
445
  };
402
- //# sourceMappingURL=chunk-7JDTNFAK.js.map
446
+ //# sourceMappingURL=chunk-IMXG673Y.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-YYVTBZZC.js";
10
10
  import {
11
11
  renderIntegratedLegend
12
- } from "./chunk-2NZOHEP4.js";
12
+ } from "./chunk-QDOYT6UW.js";
13
13
  import {
14
14
  TITLE_FONT_SIZE,
15
15
  TITLE_FONT_WEIGHT,
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-6KFWC4CO.js";
21
21
  import {
22
22
  LEGEND_HEIGHT
23
- } from "./chunk-Q5IHQ4NW.js";
23
+ } from "./chunk-SCJ7CAJF.js";
24
24
  import {
25
25
  measureText,
26
26
  wrapTextToWidth
@@ -28,13 +28,13 @@ import {
28
28
  import {
29
29
  contrastText,
30
30
  shapeFill
31
- } from "./chunk-JYDMBWRP.js";
31
+ } from "./chunk-42IT4BG2.js";
32
32
  import {
33
33
  fillModeFromOptions
34
- } from "./chunk-3FRO35WW.js";
34
+ } from "./chunk-3KOPPSUQ.js";
35
35
  import {
36
36
  resolveColor
37
- } from "./chunk-ZKPPI6BF.js";
37
+ } from "./chunk-EXNKNJ65.js";
38
38
 
39
39
  // src/cycle/renderer.ts
40
40
  import * as d3Selection from "d3-selection";
@@ -969,4 +969,4 @@ export {
969
969
  renderCycle,
970
970
  renderCycleForExport
971
971
  };
972
- //# sourceMappingURL=chunk-4T6OCSJ2.js.map
972
+ //# sourceMappingURL=chunk-JE3SMHRZ.js.map