@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
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseInArrowLabel
3
- } from "./chunk-WF64MW5G.js";
3
+ } from "./chunk-RRX4Z4TH.js";
4
4
  import {
5
5
  AUTO_TAG_COLOR_SENTINEL,
6
6
  finalizeAutoTagColors,
@@ -8,7 +8,7 @@ import {
8
8
  stripDefaultModifier,
9
9
  tagAttrKey,
10
10
  validateTagGroupNames
11
- } from "./chunk-AHTTKERF.js";
11
+ } from "./chunk-D5FANMSG.js";
12
12
  import {
13
13
  MAP_DIRECTIVE_KEY_SET,
14
14
  MAP_REGISTRY,
@@ -17,11 +17,13 @@ import {
17
17
  peelRampColors,
18
18
  splitNameAndMeta,
19
19
  withTagAliases
20
- } from "./chunk-3FRO35WW.js";
20
+ } from "./chunk-3KOPPSUQ.js";
21
21
  import {
22
+ NEGATIVE_VALUE_DX,
23
+ emit,
22
24
  formatDgmoError,
23
25
  makeDgmoError
24
- } from "./chunk-4W2PE66Q.js";
26
+ } from "./chunk-OLMWTJVU.js";
25
27
 
26
28
  // src/map/parser.ts
27
29
  var COORD_RE = /^[+-]?\d+(?:\.\d+)?\s+[+-]?\d+(?:\.\d+)?$/;
@@ -222,6 +224,19 @@ function parseMap(content, palette) {
222
224
  delete meta[k];
223
225
  }
224
226
  }
227
+ if (own !== "heat" && meta[own] !== void 0) {
228
+ const n = Number(meta[own]);
229
+ if (Number.isFinite(n) && n < 0) {
230
+ diagnostics.push(
231
+ emit(NEGATIVE_VALUE_DX, line, {
232
+ value: n,
233
+ label: `${own}: ${meta[own]}`,
234
+ channel: own === "size" ? "marker sizes" : "edge widths"
235
+ })
236
+ );
237
+ delete meta[own];
238
+ }
239
+ }
225
240
  }
226
241
  function handleDirective(key, value, line) {
227
242
  const d = result.directives;
@@ -270,6 +285,10 @@ function parseMap(content, palette) {
270
285
  case "no-legend":
271
286
  d.noLegend = true;
272
287
  break;
288
+ // §1.9 universal — accepted so it doesn't parse as a region; map renders no
289
+ // one-line header, so render.ts emits the "not supported" warning.
290
+ case "legend-inline":
291
+ break;
273
292
  case "no-coastline":
274
293
  d.noCoastline = true;
275
294
  break;
@@ -633,4 +652,4 @@ export {
633
652
  looksLikeMap,
634
653
  parseMap
635
654
  };
636
- //# sourceMappingURL=chunk-7SP4C6EV.js.map
655
+ //# sourceMappingURL=chunk-WOMXS5R7.js.map
@@ -0,0 +1,10 @@
1
+ // src/boxes-and-lines/node-metrics.ts
2
+ var PHI = 1.618;
3
+ var NODE_HEIGHT = 60;
4
+ var NODE_WIDTH = Math.round(NODE_HEIGHT * PHI);
5
+
6
+ export {
7
+ NODE_HEIGHT,
8
+ NODE_WIDTH
9
+ };
10
+ //# sourceMappingURL=chunk-WTTIODDV.js.map
@@ -8,7 +8,7 @@ import {
8
8
  stripDefaultModifier,
9
9
  tagAttrKey,
10
10
  validateTagGroupNames
11
- } from "./chunk-AHTTKERF.js";
11
+ } from "./chunk-D5FANMSG.js";
12
12
  import {
13
13
  KANBAN_REGISTRY,
14
14
  OPTION_NOCOLON_RE,
@@ -19,16 +19,16 @@ import {
19
19
  splitNameAndMeta,
20
20
  warnUnknownMetaKeys,
21
21
  withTagAliases
22
- } from "./chunk-3FRO35WW.js";
22
+ } from "./chunk-3KOPPSUQ.js";
23
23
  import {
24
24
  resolveColorWithDiagnostic
25
- } from "./chunk-ZKPPI6BF.js";
25
+ } from "./chunk-EXNKNJ65.js";
26
26
  import {
27
27
  formatDgmoError,
28
28
  makeDgmoError,
29
29
  makeFail,
30
30
  suggest
31
- } from "./chunk-4W2PE66Q.js";
31
+ } from "./chunk-OLMWTJVU.js";
32
32
 
33
33
  // src/kanban/parser.ts
34
34
  var COLUMN_RE = /^\[(.+?)\]\s*(.*)$/;
@@ -384,4 +384,4 @@ function parseCardLine(trimmed, lineNumber, counter, metaAliasMap, _palette, dia
384
384
  export {
385
385
  parseKanban
386
386
  };
387
- //# sourceMappingURL=chunk-GK32ZFZY.js.map
387
+ //# sourceMappingURL=chunk-X32RDWT5.js.map
@@ -8,17 +8,17 @@ import {
8
8
  LEGEND_PILL_FONT_SIZE,
9
9
  LEGEND_PILL_PAD,
10
10
  measureLegendText
11
- } from "./chunk-Q5IHQ4NW.js";
11
+ } from "./chunk-SCJ7CAJF.js";
12
12
  import {
13
13
  measureText,
14
14
  wrapTextToWidth
15
15
  } from "./chunk-4ASYQ347.js";
16
16
  import {
17
17
  tagAttrKey
18
- } from "./chunk-AHTTKERF.js";
18
+ } from "./chunk-D5FANMSG.js";
19
19
  import {
20
20
  legendSuppressed
21
- } from "./chunk-3FRO35WW.js";
21
+ } from "./chunk-3KOPPSUQ.js";
22
22
 
23
23
  // src/c4/layout.ts
24
24
  import dagre from "@dagrejs/dagre";
@@ -1718,4 +1718,4 @@ export {
1718
1718
  layoutC4Components,
1719
1719
  layoutC4Deployment
1720
1720
  };
1721
- //# sourceMappingURL=chunk-LRSW4JLE.js.map
1721
+ //# sourceMappingURL=chunk-XN4ZSACM.js.map
@@ -6,4 +6,4 @@ function isBlockNode(cell) {
6
6
  export {
7
7
  isBlockNode
8
8
  };
9
- //# sourceMappingURL=chunk-NR5HCAUD.js.map
9
+ //# sourceMappingURL=chunk-XSVWUOUZ.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-DAOFNU6J.js";
10
10
  import {
11
11
  getSeriesColors
12
- } from "./chunk-JYDMBWRP.js";
12
+ } from "./chunk-42IT4BG2.js";
13
13
  import {
14
14
  normalizeName
15
15
  } from "./chunk-NOTA6TEI.js";
@@ -18,7 +18,7 @@ import {
18
18
  stripDefaultModifier,
19
19
  tagAttrKey,
20
20
  validateTagGroupNames
21
- } from "./chunk-AHTTKERF.js";
21
+ } from "./chunk-D5FANMSG.js";
22
22
  import {
23
23
  GANTT_BOOLEAN_SET,
24
24
  GANTT_OPTION_SET,
@@ -31,11 +31,11 @@ import {
31
31
  splitNameAndMeta,
32
32
  warnUnknownMetaKeys,
33
33
  withTagAliases
34
- } from "./chunk-3FRO35WW.js";
34
+ } from "./chunk-3KOPPSUQ.js";
35
35
  import {
36
36
  formatDgmoError,
37
37
  makeDgmoError
38
- } from "./chunk-4W2PE66Q.js";
38
+ } from "./chunk-OLMWTJVU.js";
39
39
 
40
40
  // src/gantt/parser.ts
41
41
  var GROUP_RE = /^\[(.+?)\]\s*(.*)$/;
@@ -810,6 +810,9 @@ function parseGantt(content, palette) {
810
810
  case "no-legend":
811
811
  result.options.noLegend = true;
812
812
  break;
813
+ case "legend-inline":
814
+ result.options.legendInline = true;
815
+ break;
813
816
  }
814
817
  continue;
815
818
  }
@@ -1344,4 +1347,4 @@ export {
1344
1347
  GANTT_KNOWN_OPTIONS,
1345
1348
  GANTT_KNOWN_BOOLEANS
1346
1349
  };
1347
- //# sourceMappingURL=chunk-OSXQKC3S.js.map
1350
+ //# sourceMappingURL=chunk-Y2L2LET6.js.map
@@ -16,10 +16,16 @@ import {
16
16
  } from "./chunk-BMR4CIEO.js";
17
17
  import {
18
18
  formatDateLabel
19
- } from "./chunk-4ZIKWVSQ.js";
19
+ } from "./chunk-HIMDUQT7.js";
20
+ import {
21
+ layoutInlineHeader
22
+ } from "./chunk-6VJCURWU.js";
20
23
  import {
21
24
  renderIntegratedLegend
22
- } from "./chunk-2NZOHEP4.js";
25
+ } from "./chunk-QDOYT6UW.js";
26
+ import {
27
+ getLegendExtent
28
+ } from "./chunk-ES66QH6J.js";
23
29
  import {
24
30
  TITLE_FONT_SIZE,
25
31
  TITLE_FONT_WEIGHT,
@@ -28,6 +34,9 @@ import {
28
34
  import {
29
35
  FONT_FAMILY
30
36
  } from "./chunk-6KFWC4CO.js";
37
+ import {
38
+ parseTimelineDate
39
+ } from "./chunk-4MJOBVY7.js";
31
40
  import {
32
41
  CHAR_WIDTH_RATIO,
33
42
  wrapTextToWidth
@@ -38,14 +47,14 @@ import {
38
47
  mix,
39
48
  shapeFill,
40
49
  themeBaseBg
41
- } from "./chunk-JYDMBWRP.js";
50
+ } from "./chunk-42IT4BG2.js";
42
51
  import {
43
52
  resolveActiveTagGroup,
44
53
  resolveTagColor
45
- } from "./chunk-AHTTKERF.js";
54
+ } from "./chunk-D5FANMSG.js";
46
55
  import {
47
56
  resolveColor
48
- } from "./chunk-ZKPPI6BF.js";
57
+ } from "./chunk-EXNKNJ65.js";
49
58
 
50
59
  // src/event-line/renderer.ts
51
60
  import * as d3Selection from "d3-selection";
@@ -89,7 +98,7 @@ var COLLAPSED = "dgmo-evt-collapsed";
89
98
  var OFF = "dgmo-evt-off";
90
99
  var HIDDEN_ATTR = "data-evt-hidden";
91
100
  var HOVER_CSS = `.dgmo-event-dot{transition:transform .12s ease;transform-box:fill-box;transform-origin:center}.dgmo-event-leader,.dgmo-event-card,.dgmo-event-era{transition:opacity .12s ease,filter .12s ease}.dgmo-event-dot,.dgmo-event-card,.dgmo-event-era{cursor:default}[data-legend-entry]{cursor:pointer}.${DIM}{opacity:.2}.dgmo-event-dot.${HL}{transform:scale(1.55)}.dgmo-event-leader.${HL}{stroke-opacity:1;stroke-width:2.5}.dgmo-event-card.${HL}{filter:drop-shadow(0 2px 5px rgba(0,0,0,.22))}.dgmo-event-era.${ERA_HL}{filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))}.dgmo-event-card.${COLLAPSED},.dgmo-event-leader.${COLLAPSED}{opacity:0;pointer-events:none}.dgmo-event-card.${COLLAPSED}.${HL},.dgmo-event-leader.${COLLAPSED}.${HL}{opacity:1;pointer-events:auto}[data-legend-entry].${OFF} text{opacity:.5}`;
92
- function renderEventLine(container, parsed, palette, isDark, onClickItem, exportDims, tagOverride) {
101
+ function renderEventLine(container, parsed, palette, isDark, onClickItem, exportDims, tagOverride, nowDate) {
93
102
  if (parsed.events.length === 0) return;
94
103
  d3Selection.select(container).selectAll(":not([data-d3-tooltip])").remove();
95
104
  const width = exportDims?.width ?? container.clientWidth;
@@ -108,7 +117,32 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
108
117
  const hasLegend = parsed.tagGroups.length > 0 && activeGroup !== null && !parsed.options.noLegend;
109
118
  const titleH = showTitle ? TITLE_AREA : 0;
110
119
  const legendH = hasLegend ? LEGEND_BAND : 0;
111
- const topUsed = titleH + legendH;
120
+ const inlineRequested = parsed.options.legendInline === true;
121
+ const legendExtent = inlineRequested && hasLegend ? getLegendExtent(
122
+ {
123
+ groups: parsed.tagGroups,
124
+ position: {
125
+ placement: "top-center",
126
+ titleRelation: "inline-with-title"
127
+ },
128
+ mode: exportMode ? "export" : "preview"
129
+ },
130
+ { activeGroup: activeGroup ?? null },
131
+ width
132
+ ) : { width: 0, height: 0 };
133
+ const header = layoutInlineHeader({
134
+ requested: inlineRequested,
135
+ title: parsed.title ?? "",
136
+ hasLegend,
137
+ legendWidth: legendExtent.width,
138
+ legendHeight: legendExtent.height,
139
+ containerWidth: width,
140
+ titleBandHeight: titleH,
141
+ legendReserve: legendH,
142
+ titleBaselineY: TITLE_Y,
143
+ titleFontSize: TITLE_FONT_SIZE
144
+ });
145
+ const topUsed = header.inline ? titleH : titleH + legendH;
112
146
  const eraByName = new Map(parsed.eras.map((e) => [e.name, e]));
113
147
  const collapsedSet = new Set(
114
148
  parsed.eras.filter((e) => e.collapsed).map((e) => e.name)
@@ -451,14 +485,17 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
451
485
  }
452
486
  if (!exportMode) svg.append("style").text(HOVER_CSS);
453
487
  if (showTitle) {
454
- const t = svg.append("text").attr("class", "chart-title").attr("x", contentW / 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);
488
+ const t = svg.append("text").attr("class", "chart-title").attr("x", header.inline ? header.titleX : contentW / 2).attr("y", TITLE_Y).attr("text-anchor", header.inline ? header.titleAnchor : "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);
455
489
  if (onClickItem && parsed.titleLineNumber) {
456
490
  const ln = parsed.titleLineNumber;
457
491
  t.style("cursor", "pointer").on("click", () => onClickItem(ln));
458
492
  }
459
493
  }
460
494
  if (hasLegend) {
461
- const legendG = svg.append("g").attr("transform", `translate(0, ${titleH})`);
495
+ const legendG = svg.append("g").attr(
496
+ "transform",
497
+ header.inline ? `translate(${header.legendX}, ${header.legendY})` : `translate(0, ${titleH})`
498
+ );
462
499
  const groups = parsed.tagGroups.map((g) => ({
463
500
  name: g.name,
464
501
  entries: g.entries.map((e) => ({
@@ -472,7 +509,14 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
472
509
  isDark,
473
510
  width: contentW,
474
511
  mode: exportMode ? "export" : "preview",
475
- activeGroup
512
+ activeGroup,
513
+ // Inline → left-origin so the wrapper's right-flush translate lands the
514
+ // legend at the header's right edge; stacked → centered below the title
515
+ // (== DEFAULT_POSITION, so the stacked output is byte-identical).
516
+ position: {
517
+ placement: "top-center",
518
+ titleRelation: header.inline ? "inline-with-title" : "below-title"
519
+ }
476
520
  });
477
521
  if (!exportMode) addLegendEntryHitAreas(legendG);
478
522
  }
@@ -698,6 +742,111 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
698
742
  }
699
743
  }
700
744
  }
745
+ if (parsed.now && scaled) {
746
+ let nowValue = parsed.now.dateValue;
747
+ if (parsed.now.computed) {
748
+ const d = nowDate ?? /* @__PURE__ */ new Date();
749
+ const iso = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`;
750
+ const v = parseTimelineDate(iso);
751
+ nowValue = Number.isFinite(v) ? v : null;
752
+ }
753
+ const dated = placed.filter((p) => p.kind !== "era" && !p.future && p.dateValue !== null).sort((a, b) => a.dateValue - b.dateValue);
754
+ let nowX = nowValue === null ? null : valueToSpineX(nowValue, dated);
755
+ const lastReal = dated[dated.length - 1];
756
+ if (nowX !== null && nowValue !== null && lastReal && nowValue > lastReal.dateValue) {
757
+ const trailing = placed.filter((p) => p.future && !p.futureSpan).map((p) => p.x);
758
+ if (trailing.length) nowX = Math.min(...trailing);
759
+ }
760
+ if (nowX !== null) {
761
+ const base = themeBaseBg(palette, isDark);
762
+ const nowColor = palette.destructive;
763
+ const fillMode = parsed.options.fillMode;
764
+ const pillFill = shapeFill(palette, nowColor, isDark, { mode: fillMode });
765
+ const pillStroke = fillMode === "solid" ? "none" : fillMode === "outline" ? nowColor : mix(nowColor, base, 55);
766
+ const pillStrokeW = fillMode === "solid" ? 0 : fillMode === "outline" ? 1.3 : 1;
767
+ const pillText = fillMode === "solid" ? contrastText(
768
+ pillFill,
769
+ palette.textOnFillLight,
770
+ palette.textOnFillDark
771
+ ) : nowColor;
772
+ const label = parsed.now.label;
773
+ const pillH = 18;
774
+ const pillW = Math.max(28, label.length * 6.6 + 16);
775
+ const PIN_GAP = 6;
776
+ const xHalf = pillW / 2 + 4;
777
+ const xLo = nowX - xHalf;
778
+ const xHi = nowX + xHalf;
779
+ const boxes = geo.map((g) => ({
780
+ side: g.p.side,
781
+ top: g.top,
782
+ bot: g.top + g.p.cardH,
783
+ left: g.p.left,
784
+ right: g.p.left + CARD_W
785
+ }));
786
+ const overlapsX = (b) => b.left < xHi && b.right > xLo;
787
+ const cands = [];
788
+ const addAbove = (pillBottom) => {
789
+ const y0 = pillBottom - pillH;
790
+ if (y0 > topUsed + 1)
791
+ cands.push({ y0, y1: pillBottom, stem: spineY - pillBottom });
792
+ };
793
+ const addBelow = (pillTop) => {
794
+ const y1 = pillTop + pillH;
795
+ if (y1 < totalH - 1)
796
+ cands.push({ y0: pillTop, y1, stem: pillTop - spineY });
797
+ };
798
+ addAbove(spineY - LEADER_ABOVE / 2 + pillH / 2);
799
+ addBelow(spineY + LEADER_BELOW / 2 - pillH / 2);
800
+ for (const b of boxes) {
801
+ if (!overlapsX(b)) continue;
802
+ if (b.side === "above") addAbove(b.top - PIN_GAP);
803
+ else addBelow(b.bot + PIN_GAP);
804
+ }
805
+ const isClear = (c) => !boxes.some((b) => overlapsX(b) && b.bot > c.y0 && b.top < c.y1);
806
+ const byStem = (a, b) => a.stem - b.stem;
807
+ const slot = cands.filter(isClear).sort(byStem)[0] ?? cands.sort(byStem)[0] ?? {
808
+ y0: spineY - PIN_GAP - pillH,
809
+ y1: spineY - PIN_GAP,
810
+ stem: PIN_GAP + pillH
811
+ };
812
+ const above = slot.y1 <= spineY;
813
+ const stemFrom = above ? spineY - DOT_R : spineY + DOT_R;
814
+ const stemTo = above ? slot.y1 : slot.y0;
815
+ const pillCX = Math.max(
816
+ pillW / 2 + 2,
817
+ Math.min(nowX, contentW - pillW / 2 - 2)
818
+ );
819
+ const nowG = svg.append("g").attr("class", "evt-now").attr("data-now-x", nowX.toFixed(2));
820
+ const FADE_SPAN = Math.min(LEADER_ABOVE, LEADER_BELOW);
821
+ const ruleTop = spineY - FADE_SPAN;
822
+ const ruleBot = spineY + FADE_SPAN;
823
+ const gradId = `evt-now-fade-${nowX.toFixed(0)}`;
824
+ const grad = nowG.append("defs").append("linearGradient").attr("id", gradId).attr("gradientUnits", "userSpaceOnUse").attr("x1", 0).attr("y1", ruleTop).attr("x2", 0).attr("y2", ruleBot);
825
+ grad.append("stop").attr("offset", "0%").attr("stop-color", nowColor).attr("stop-opacity", 0);
826
+ grad.append("stop").attr("offset", "50%").attr("stop-color", nowColor).attr("stop-opacity", 0.9);
827
+ grad.append("stop").attr("offset", "100%").attr("stop-color", nowColor).attr("stop-opacity", 0);
828
+ 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");
829
+ nowG.append("path").attr("d", `M${nowX} ${spineY - 5} l5 5 l-5 5 l-5 -5 z`).attr("fill", nowColor);
830
+ nowG.append("line").attr("x1", nowX).attr("y1", stemFrom).attr("x2", nowX).attr("y2", stemTo).attr("stroke", nowColor).attr("stroke-width", 1.6);
831
+ 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);
832
+ 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);
833
+ if (!exportMode) {
834
+ 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");
835
+ hoverRule.lower();
836
+ const nowNode = nowG.node();
837
+ if (nowNode) {
838
+ nowNode.addEventListener(
839
+ "mouseenter",
840
+ () => hoverRule.attr("opacity", 0.5)
841
+ );
842
+ nowNode.addEventListener(
843
+ "mouseleave",
844
+ () => hoverRule.attr("opacity", 0)
845
+ );
846
+ }
847
+ }
848
+ }
849
+ }
701
850
  if (!exportMode) {
702
851
  const root = svg.node();
703
852
  wireEventLineHover(root);
@@ -712,7 +861,8 @@ function renderEventLine(container, parsed, palette, isDark, onClickItem, export
712
861
  isDark,
713
862
  onClickItem,
714
863
  exportDims,
715
- tagOverride
864
+ tagOverride,
865
+ nowDate
716
866
  )
717
867
  );
718
868
  applyEvtHidden(container, root);
@@ -922,7 +1072,7 @@ function wireEventLineHover(root) {
922
1072
  if (!to || !root.contains(to)) applyEvtFocus(root, readPin(root));
923
1073
  });
924
1074
  }
925
- function renderEventLineForExport(container, parsed, palette, isDark, exportDims, tagOverride) {
1075
+ function renderEventLineForExport(container, parsed, palette, isDark, exportDims, tagOverride, nowDate) {
926
1076
  renderEventLine(
927
1077
  container,
928
1078
  parsed,
@@ -930,9 +1080,27 @@ function renderEventLineForExport(container, parsed, palette, isDark, exportDims
930
1080
  isDark,
931
1081
  void 0,
932
1082
  exportDims,
933
- tagOverride
1083
+ tagOverride,
1084
+ nowDate
934
1085
  );
935
1086
  }
1087
+ function valueToSpineX(v, dated) {
1088
+ if (!dated.length) return null;
1089
+ const first = dated[0];
1090
+ const last = dated[dated.length - 1];
1091
+ if (v <= first.dateValue) return first.x;
1092
+ if (v >= last.dateValue) return last.x;
1093
+ for (let i = 0; i < dated.length - 1; i++) {
1094
+ const a = dated[i];
1095
+ const b = dated[i + 1];
1096
+ if (v >= a.dateValue && v <= b.dateValue) {
1097
+ const span = b.dateValue - a.dateValue;
1098
+ if (span <= 0) return a.x;
1099
+ return a.x + (v - a.dateValue) / span * (b.x - a.x);
1100
+ }
1101
+ }
1102
+ return last.x;
1103
+ }
936
1104
  function axisBreakPaths(cx, cy) {
937
1105
  const HUMPS = 2;
938
1106
  const STEPS = 48;
@@ -997,4 +1165,4 @@ export {
997
1165
  focusEventLine,
998
1166
  renderEventLineForExport
999
1167
  };
1000
- //# sourceMappingURL=chunk-TJN2OIVG.js.map
1168
+ //# sourceMappingURL=chunk-YG5KQ55U.js.map
@@ -4,7 +4,7 @@ import {
4
4
  layoutC4Containers,
5
5
  layoutC4Context,
6
6
  layoutC4Deployment
7
- } from "./chunk-LRSW4JLE.js";
7
+ } from "./chunk-XN4ZSACM.js";
8
8
  import {
9
9
  renderInlineText
10
10
  } from "./chunk-3HDBAXF5.js";
@@ -15,9 +15,12 @@ import {
15
15
  META_LINE_HEIGHT,
16
16
  NODE_STROKE_WIDTH
17
17
  } from "./chunk-3CIOJ5YJ.js";
18
+ import {
19
+ serializeSvg
20
+ } from "./chunk-NZ5QVASG.js";
18
21
  import {
19
22
  renderIntegratedLegend
20
- } from "./chunk-2NZOHEP4.js";
23
+ } from "./chunk-QDOYT6UW.js";
21
24
  import {
22
25
  TITLE_FONT_SIZE,
23
26
  TITLE_FONT_WEIGHT
@@ -27,13 +30,13 @@ import {
27
30
  } from "./chunk-6KFWC4CO.js";
28
31
  import {
29
32
  parseC4
30
- } from "./chunk-2NYXI35Z.js";
33
+ } from "./chunk-FCA2UGJT.js";
31
34
  import {
32
35
  preprocessDescriptionLine
33
36
  } from "./chunk-IYULMRBE.js";
34
37
  import {
35
38
  LEGEND_HEIGHT
36
- } from "./chunk-Q5IHQ4NW.js";
39
+ } from "./chunk-SCJ7CAJF.js";
37
40
  import {
38
41
  measureText,
39
42
  wrapTextToWidth
@@ -42,13 +45,13 @@ import {
42
45
  contrastText,
43
46
  mix,
44
47
  shapeFill
45
- } from "./chunk-JYDMBWRP.js";
48
+ } from "./chunk-42IT4BG2.js";
46
49
  import {
47
50
  tagAttrKey
48
- } from "./chunk-AHTTKERF.js";
51
+ } from "./chunk-D5FANMSG.js";
49
52
  import {
50
53
  fillModeFromOptions
51
- } from "./chunk-3FRO35WW.js";
54
+ } from "./chunk-3KOPPSUQ.js";
52
55
 
53
56
  // src/c4/renderer.ts
54
57
  import * as d3Selection from "d3-selection";
@@ -328,7 +331,7 @@ function renderC4ContextForExport(content, theme, palette) {
328
331
  }
329
332
  svgEl.setAttribute("xmlns", "http://www.w3.org/2000/svg");
330
333
  svgEl.style.fontFamily = FONT_FAMILY;
331
- return svgEl.outerHTML;
334
+ return serializeSvg(svgEl);
332
335
  } finally {
333
336
  document.body.removeChild(container);
334
337
  }
@@ -944,7 +947,7 @@ function renderC4ContainersForExport(content, systemName, theme, palette) {
944
947
  }
945
948
  svgEl.setAttribute("xmlns", "http://www.w3.org/2000/svg");
946
949
  svgEl.style.fontFamily = FONT_FAMILY;
947
- return svgEl.outerHTML;
950
+ return serializeSvg(svgEl);
948
951
  } finally {
949
952
  document.body.removeChild(el);
950
953
  }
@@ -976,7 +979,7 @@ function renderC4ComponentsForExport(content, systemName, containerName, theme,
976
979
  }
977
980
  svgEl.setAttribute("xmlns", "http://www.w3.org/2000/svg");
978
981
  svgEl.style.fontFamily = FONT_FAMILY;
979
- return svgEl.outerHTML;
982
+ return serializeSvg(svgEl);
980
983
  } finally {
981
984
  document.body.removeChild(el);
982
985
  }
@@ -1021,7 +1024,7 @@ function renderC4DeploymentForExport(content, theme, palette) {
1021
1024
  }
1022
1025
  svgEl.setAttribute("xmlns", "http://www.w3.org/2000/svg");
1023
1026
  svgEl.style.fontFamily = FONT_FAMILY;
1024
- return svgEl.outerHTML;
1027
+ return serializeSvg(svgEl);
1025
1028
  } finally {
1026
1029
  document.body.removeChild(el);
1027
1030
  }
@@ -1036,4 +1039,4 @@ export {
1036
1039
  renderC4Deployment,
1037
1040
  renderC4DeploymentForExport
1038
1041
  };
1039
- //# sourceMappingURL=chunk-DPGQ5UMO.js.map
1042
+ //# sourceMappingURL=chunk-YH62K5D4.js.map