@diagrammo/dgmo 0.53.0 → 0.55.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 (212) hide show
  1. package/dist/advanced.d.ts +112 -9
  2. package/dist/advanced.js +188 -160
  3. package/dist/auto.js +147 -132
  4. package/dist/auto.mjs +2352 -746
  5. package/dist/block.js +65 -62
  6. package/dist/chart-meta.js +52 -49
  7. package/dist/{charts-d3-DH2XA45I.js → charts-d3-KZ6V4OP2.js} +10 -8
  8. package/dist/chunk-2CW5ZTNH.js +58 -0
  9. package/dist/{chunk-MA3HJZHB.js → chunk-2HX6ZGY7.js} +7 -7
  10. package/dist/{chunk-YG2BEIQU.js → chunk-2R6HG6D5.js} +11 -11
  11. package/dist/{chunk-65V6IRFN.js → chunk-2ZJXKJSI.js} +106 -60
  12. package/dist/{chunk-PYO4TJJ3.js → chunk-32HUNA33.js} +60 -18
  13. package/dist/{chunk-UK6DKJLD.js → chunk-3BFXELBL.js} +51 -4
  14. package/dist/{chunk-RW5PEJ7D.js → chunk-3BZJ5KD5.js} +7 -3
  15. package/dist/{chunk-FT7TPPZ5.js → chunk-3FUTFYSP.js} +65 -26
  16. package/dist/{chunk-QAALSCKI.js → chunk-4MZCJV4M.js} +12 -12
  17. package/dist/{chunk-ZXUAPTCK.js → chunk-4R5KIPNX.js} +2 -2
  18. package/dist/{chunk-QWIBT6DS.js → chunk-5D5VHDJM.js} +49 -14
  19. package/dist/{chunk-U7NKYLX2.js → chunk-5H5GWWA4.js} +55 -19
  20. package/dist/{chunk-P3H7QVDH.js → chunk-5K5XBEXT.js} +11 -6
  21. package/dist/{chunk-PT4SW76W.js → chunk-6NJWBMJV.js} +49 -14
  22. package/dist/{chunk-I46X5VUA.js → chunk-7TF3QOOD.js} +25 -1
  23. package/dist/{chunk-6DCOIN4W.js → chunk-A2ARDILY.js} +783 -3
  24. package/dist/{chunk-CK2GMDXD.js → chunk-A2PTRSAO.js} +2 -2
  25. package/dist/{chunk-APKUAJ2L.js → chunk-A2RUBBVT.js} +14 -1
  26. package/dist/{chunk-GMIJ35PW.js → chunk-A4UJP4IS.js} +68 -20
  27. package/dist/{chunk-LQHVDZYC.js → chunk-AKE6C2D7.js} +4 -4
  28. package/dist/{chunk-W5KMNC5U.js → chunk-ASPS5O6F.js} +9 -10
  29. package/dist/{chunk-FLDC7ZAK.js → chunk-AU75JHSR.js} +6 -3
  30. package/dist/chunk-BEOAKGNA.js +484 -0
  31. package/dist/{chunk-XY3UDKKH.js → chunk-COVYNAKJ.js} +4 -4
  32. package/dist/{chunk-4ASVFYB2.js → chunk-DS4MDEQ7.js} +5 -5
  33. package/dist/{chunk-7JDTNFAK.js → chunk-EFUQENO5.js} +76 -32
  34. package/dist/{chunk-BULHGPHK.js → chunk-EMSOFHEN.js} +2 -2
  35. package/dist/{chunk-3BEKKRH5.js → chunk-ETTDF3S2.js} +49 -11
  36. package/dist/{chunk-JHOAH4TI.js → chunk-ETYF5QZR.js} +2 -2
  37. package/dist/{chunk-AHXIMHDQ.js → chunk-F5ZNUMSY.js} +53 -14
  38. package/dist/{chunk-I64ECJX3.js → chunk-FBP33UM6.js} +3 -3
  39. package/dist/{chunk-VIRANCNY.js → chunk-FGAMFJNJ.js} +58 -20
  40. package/dist/{chunk-774C2FF3.js → chunk-GRXPFBYC.js} +24 -3
  41. package/dist/{chunk-NNYFQOTK.js → chunk-GTO5VCYG.js} +10 -8
  42. package/dist/{chunk-RJ5LBZ5U.js → chunk-HES4K6DV.js} +13 -13
  43. package/dist/{chunk-AZNXGWDC.js → chunk-HGKOVKAX.js} +7 -7
  44. package/dist/{chunk-DWUMPMV2.js → chunk-HLGOG44K.js} +2 -2
  45. package/dist/{chunk-VJHBSPGF.js → chunk-HUTP35XT.js} +5 -4
  46. package/dist/{chunk-3CZLWOCI.js → chunk-HX7QNHC6.js} +3 -3
  47. package/dist/{chunk-R5NH5BZG.js → chunk-IALX52TR.js} +6 -6
  48. package/dist/{chunk-A44USUV7.js → chunk-ICZ7M6IZ.js} +23 -17
  49. package/dist/{chunk-27STWBOK.js → chunk-IF4KYSJZ.js} +10 -8
  50. package/dist/{chunk-HORZ5H2L.js → chunk-IG6J7JWH.js} +61 -22
  51. package/dist/{chunk-VRRDUYOK.js → chunk-IIUYKQ5J.js} +3 -3
  52. package/dist/{chunk-GMAH572Z.js → chunk-INTAQV2Y.js} +2 -2
  53. package/dist/{chunk-6AUZPPAV.js → chunk-ITXL2KU5.js} +2 -2
  54. package/dist/{chunk-KKHCNSKK.js → chunk-IWG2ECAO.js} +5 -5
  55. package/dist/{chunk-GQ644SPD.js → chunk-JGCEFKZP.js} +14 -14
  56. package/dist/{chunk-HNBY6CNV.js → chunk-JQLSFZZP.js} +2 -2
  57. package/dist/{chunk-CMVZWP32.js → chunk-JR7Q6GHE.js} +2 -2
  58. package/dist/{chunk-LHILKFDP.js → chunk-KC3WBBI7.js} +9 -9
  59. package/dist/{chunk-GABSL6TH.js → chunk-KK3L5NVK.js} +3 -3
  60. package/dist/{chunk-LC3FFD43.js → chunk-L2DIXZUT.js} +98 -48
  61. package/dist/{chunk-4WGMGKCZ.js → chunk-LCRPGGGS.js} +11 -11
  62. package/dist/{chunk-6KY7OCZC.js → chunk-LKGQ46P4.js} +3 -3
  63. package/dist/{chunk-HE5J53SZ.js → chunk-LW7STMYZ.js} +3 -3
  64. package/dist/{chunk-BD3WGY4T.js → chunk-M53MDBIW.js} +2 -2
  65. package/dist/{chunk-AN2DQB3G.js → chunk-MEH4TJEX.js} +12 -12
  66. package/dist/{chunk-SGPFVDUL.js → chunk-MNS2ENXF.js} +6 -6
  67. package/dist/{chunk-FXCB7H5O.js → chunk-MSWIBF6J.js} +2 -2
  68. package/dist/{chunk-BR7AYN76.js → chunk-NL7FUIVD.js} +12 -12
  69. package/dist/{chunk-AIMLCDAO.js → chunk-NN5TF4OV.js} +2 -2
  70. package/dist/{chunk-7GUF6SDR.js → chunk-NPPUZ4SK.js} +9 -9
  71. package/dist/{chunk-4K42RUGC.js → chunk-NYOOPQFD.js} +47 -12
  72. package/dist/{chunk-FFXCKZOU.js → chunk-O4CZDTQA.js} +3 -3
  73. package/dist/{chunk-6HTRCTAS.js → chunk-P5XXIVEU.js} +6 -4
  74. package/dist/{chunk-XEAQDIMF.js → chunk-PC4YLEKA.js} +6 -6
  75. package/dist/{chunk-Q7AH665U.js → chunk-PCVXXPYU.js} +121 -38
  76. package/dist/{chunk-W2DINCHL.js → chunk-PKUWYPI5.js} +207 -24
  77. package/dist/{chunk-PV2QO7QL.js → chunk-PSIDVCBA.js} +2 -2
  78. package/dist/{chunk-YR43LJT5.js → chunk-PV7ND5WL.js} +58 -15
  79. package/dist/{chunk-QI3BOLQB.js → chunk-Q5CMQVWF.js} +4 -4
  80. package/dist/{chunk-4RGZFA7H.js → chunk-Q5IHQ4NW.js} +11 -1
  81. package/dist/{chunk-SG4PRYO3.js → chunk-QQXFYTLC.js} +391 -60
  82. package/dist/{chunk-GWQJKTFS.js → chunk-QZYGRDMM.js} +118 -99
  83. package/dist/{chunk-CQFNIIQN.js → chunk-RKBCKCSF.js} +2 -2
  84. package/dist/{chunk-FUKNRLIJ.js → chunk-RSBH2C7O.js} +6 -6
  85. package/dist/{chunk-2QC4HXCY.js → chunk-RYNCWA5X.js} +11 -10
  86. package/dist/{chunk-NNUMX6WX.js → chunk-RZWIPDZ2.js} +40 -15
  87. package/dist/{chunk-VKNCC2GX.js → chunk-S52F62GW.js} +13 -13
  88. package/dist/{chunk-UQRIKAMH.js → chunk-SCOHNGPG.js} +59 -18
  89. package/dist/{chunk-VGNIDAPQ.js → chunk-SSHS42QG.js} +4 -4
  90. package/dist/chunk-TGOMHUOV.js +218 -0
  91. package/dist/{chunk-UKP5HWB5.js → chunk-UBQU2BY6.js} +4 -4
  92. package/dist/{chunk-IQJCVREL.js → chunk-UES4P7FN.js} +6 -6
  93. package/dist/chunk-US3P2DQO.js +87 -0
  94. package/dist/{chunk-GAWKIIPO.js → chunk-UXXLE6AH.js} +8 -8
  95. package/dist/{chunk-22OQWBWD.js → chunk-VMWSZCAK.js} +12 -11
  96. package/dist/{chunk-XG4NWFPY.js → chunk-VVIRAGID.js} +13 -13
  97. package/dist/{chunk-X3RXGSCZ.js → chunk-VXTUWXFB.js} +54 -15
  98. package/dist/{chunk-J7HI6G3G.js → chunk-W4TSD3IP.js} +6 -6
  99. package/dist/{chunk-FGDSTT3F.js → chunk-WB3NA3JJ.js} +2 -2
  100. package/dist/{chunk-KUSAVOWZ.js → chunk-WITOJZGL.js} +8 -4
  101. package/dist/{chunk-UVDCHR4E.js → chunk-WVGNXDEE.js} +2 -2
  102. package/dist/{chunk-HOXKNRON.js → chunk-X3X4LZDC.js} +2 -2
  103. package/dist/{chunk-SQCBSFT5.js → chunk-XKKH2DPG.js} +51 -263
  104. package/dist/{chunk-NR5HCAUD.js → chunk-XSVWUOUZ.js} +1 -1
  105. package/dist/{chunk-BFDVEO5R.js → chunk-Y4BBGFKY.js} +2 -2
  106. package/dist/{chunk-VAO6ANGC.js → chunk-YP2T5YUP.js} +14 -9
  107. package/dist/{chunk-PKNNHU7H.js → chunk-YXKNXIWA.js} +19 -11
  108. package/dist/{chunk-UFQJMOVZ.js → chunk-ZGIBV36U.js} +6 -6
  109. package/dist/{chunk-XQ4KN6JQ.js → chunk-ZP265ICS.js} +16 -15
  110. package/dist/{chunk-JTMSWEIW.js → chunk-ZWVKTWK6.js} +4 -4
  111. package/dist/{chunk-ALYZ3MAA.js → chunk-ZXNHHO6D.js} +8 -476
  112. package/dist/cli.cjs +166 -149
  113. package/dist/clock.js +34 -1
  114. package/dist/completion-registry.d.ts +129 -0
  115. package/dist/completion-registry.js +1278 -0
  116. package/dist/{compute-G55RG53N.js → compute-JAP5E2E4.js} +2 -2
  117. package/dist/dgmo-router-T4HGLIGA.js +88 -0
  118. package/dist/{dimensions-K6PGYYGT.js → dimensions-3JINHSYK.js} +8 -8
  119. package/dist/editor.js +28 -1
  120. package/dist/element.js +148 -133
  121. package/dist/element.mjs +2352 -746
  122. package/dist/{flowchart-parser-LALR6J6F.js → flowchart-parser-M7KKTLX7.js} +5 -5
  123. package/dist/{flowchart-renderer-DXYB5YRF.js → flowchart-renderer-FFEQFQEU.js} +9 -9
  124. package/dist/highlight.js +28 -1
  125. package/dist/index.js +77 -64
  126. package/dist/{layout-ZE5DRJWX.js → layout-3ZZBKUQC.js} +4 -4
  127. package/dist/{layout-3BVDMKXI.js → layout-AUKTWGYL.js} +4 -4
  128. package/dist/{layout-4IHCMWZN.js → layout-CRLTSFYQ.js} +4 -4
  129. package/dist/{layout-WCAIKGZG.js → layout-FNZDJGKF.js} +5 -5
  130. package/dist/layout-GHWRJKZQ.js +15 -0
  131. package/dist/{layout-3V2A4MUE.js → layout-LGXOKUCD.js} +6 -5
  132. package/dist/{layout-WSMPBQ4Q.js → layout-NF4EWFLT.js} +3 -3
  133. package/dist/{layout-OL2XFJXA.js → layout-SP7HJWKA.js} +3 -3
  134. package/dist/{layout-E6HR6PXH.js → layout-UR7CYAHL.js} +3 -3
  135. package/dist/layout-UTMEVFHN.js +15 -0
  136. package/dist/{layout-search-34DPZD43.js → layout-search-U2H4ORFJ.js} +14 -7
  137. package/dist/{legend-constants-P5EQWRQQ.js → legend-constants-B77VKB3R.js} +7 -2
  138. package/dist/{parser-6PPHAXXH.js → parser-2AXPSKWB.js} +5 -5
  139. package/dist/{parser-5HQXCNOS.js → parser-2AZ2KQTO.js} +4 -4
  140. package/dist/{parser-3KIGEEJM.js → parser-2LF33IS2.js} +4 -4
  141. package/dist/{parser-NNIL3HXU.js → parser-3QJ2Z4H4.js} +3 -3
  142. package/dist/parser-5GCQFSTQ.js +13 -0
  143. package/dist/{parser-6B6SSZT7.js → parser-62OHBRU5.js} +3 -3
  144. package/dist/{parser-VOERD6XR.js → parser-7LYJFZCP.js} +4 -4
  145. package/dist/{parser-ZGNXYFPS.js → parser-BMOTF72G.js} +3 -3
  146. package/dist/{parser-IVGHXLZP.js → parser-CIFLYZYP.js} +4 -3
  147. package/dist/{parser-GN2MM5CC.js → parser-D2UL2G5U.js} +3 -3
  148. package/dist/{parser-GKP2MHHL.js → parser-DM2APTKB.js} +3 -3
  149. package/dist/{parser-27Z76SN3.js → parser-DYYTPLBL.js} +4 -4
  150. package/dist/{parser-5FGJSQNS.js → parser-GOUGUTPU.js} +4 -4
  151. package/dist/{parser-G26MTBFS.js → parser-HGVUVD6J.js} +3 -3
  152. package/dist/{parser-EXNBDNGY.js → parser-IEJD3CZB.js} +3 -3
  153. package/dist/{parser-ZQDQTB4X.js → parser-JBEWNLAV.js} +5 -5
  154. package/dist/{parser-5QPFOB5F.js → parser-JMXPHNZD.js} +4 -4
  155. package/dist/{parser-4E4I3GNT.js → parser-JMXSQY3K.js} +4 -4
  156. package/dist/{parser-FF4BMRSB.js → parser-LUXS7J32.js} +4 -4
  157. package/dist/{parser-3VSWEKBF.js → parser-M5BUHULF.js} +4 -4
  158. package/dist/{parser-IKWK2ZU3.js → parser-MESRHUS4.js} +4 -5
  159. package/dist/{parser-3CODK6RG.js → parser-OOYNI2UT.js} +4 -4
  160. package/dist/{parser-YSLNDFLV.js → parser-PVBUAVRR.js} +4 -5
  161. package/dist/{parser-CKA3QMAG.js → parser-QKRBSQLJ.js} +5 -5
  162. package/dist/{parser-UWRX52PC.js → parser-S6NWSIJO.js} +4 -4
  163. package/dist/{parser-RNLTBIJ6.js → parser-SFEK6Q7Z.js} +4 -4
  164. package/dist/{parser-7JVIDLLR.js → parser-SUV52NQW.js} +4 -4
  165. package/dist/{parser-CRKLXGW7.js → parser-SZHGLOOZ.js} +4 -4
  166. package/dist/{parser-275KP7JO.js → parser-TO7IENWL.js} +5 -6
  167. package/dist/{parser-XNKJCMMA.js → parser-TVAMC7CQ.js} +4 -4
  168. package/dist/{parser-FOOFEJQU.js → parser-VAW46R57.js} +4 -4
  169. package/dist/{parser-XVPTRWZ4.js → parser-XDSPOXSE.js} +4 -4
  170. package/dist/pert.d.ts +2 -0
  171. package/dist/{renderer-D3BRNOMV.js → renderer-3PWLOJPD.js} +11 -11
  172. package/dist/{renderer-7NQSTQMQ.js → renderer-5EMHIQL5.js} +4 -4
  173. package/dist/{renderer-ZBTEX2JK.js → renderer-5PODNLYP.js} +4 -4
  174. package/dist/{renderer-6WRYVM5R.js → renderer-AQJIQ2XU.js} +9 -8
  175. package/dist/{renderer-JCZG6AYU.js → renderer-BEW3AYFT.js} +10 -10
  176. package/dist/{renderer-YUKPS27O.js → renderer-C3UYAXA6.js} +10 -8
  177. package/dist/{renderer-AK2WO4EI.js → renderer-CENXCMWG.js} +4 -4
  178. package/dist/{renderer-HIFQVEJA.js → renderer-CXM3ARYN.js} +10 -9
  179. package/dist/{renderer-JTCX6PCG.js → renderer-DW6TEBLA.js} +10 -9
  180. package/dist/{renderer-VMH6L6CP.js → renderer-FE5M6SEZ.js} +10 -9
  181. package/dist/{renderer-TYHGXAVT.js → renderer-FXK6ZL3P.js} +4 -4
  182. package/dist/{renderer-UPF7NRTI.js → renderer-G5ESLCJB.js} +12 -11
  183. package/dist/{renderer-CWEFGEIC.js → renderer-HTDS4FED.js} +14 -13
  184. package/dist/{renderer-XTXSOK3L.js → renderer-IO4KCFVL.js} +10 -10
  185. package/dist/{renderer-SQ54MDSA.js → renderer-IRAFJNTK.js} +10 -9
  186. package/dist/{renderer-JWGQSTMR.js → renderer-MFTTFW32.js} +15 -14
  187. package/dist/{renderer-2C6DJRYN.js → renderer-MPXI4FVL.js} +8 -8
  188. package/dist/{renderer-5MPN7CXZ.js → renderer-NVBEMQ6L.js} +5 -5
  189. package/dist/{renderer-7ZNVOVFG.js → renderer-OOGDCR6K.js} +3 -3
  190. package/dist/{renderer-COLQFSFV.js → renderer-Q5P72O4A.js} +9 -9
  191. package/dist/{renderer-WCWI4I6A.js → renderer-QZESC66H.js} +2 -2
  192. package/dist/{renderer-NE5W7CQP.js → renderer-RDBUXW7P.js} +6 -5
  193. package/dist/{renderer-6EN5XXJZ.js → renderer-S4XB3JR2.js} +11 -11
  194. package/dist/{renderer-WFSUBKUL.js → renderer-SIWEEWJ5.js} +9 -8
  195. package/dist/{renderer-LVZAHRP6.js → renderer-TKTM2SL4.js} +12 -12
  196. package/dist/{renderer-QD2SJF2I.js → renderer-TXTTV4HA.js} +10 -9
  197. package/dist/{renderer-YUXGXGSW.js → renderer-UZIU4AHK.js} +10 -9
  198. package/dist/{renderer-RLMOTXZ6.js → renderer-V72VJIGG.js} +14 -13
  199. package/dist/{renderer-UKXW2QPE.js → renderer-VEGOEZOI.js} +10 -8
  200. package/dist/{renderer-WNFXYYGL.js → renderer-W6I6T2TA.js} +8 -8
  201. package/dist/{renderer-KARQF3F3.js → renderer-WSHJRR2T.js} +8 -8
  202. package/dist/{renderer-radial-WF6VOUOD.js → renderer-radial-AG75PBYD.js} +9 -9
  203. package/dist/{resolver-WFKZYBJ2.js → resolver-ZSFQQRTH.js} +3 -3
  204. package/dist/{state-parser-L7DHZIQO.js → state-parser-KIPZGIB4.js} +5 -5
  205. package/dist/{state-renderer-TFEUOP4H.js → state-renderer-U6OSJG52.js} +13 -12
  206. package/docs/language-reference.md +2 -1
  207. package/package.json +5 -1
  208. package/dist/chunk-YJVA3QUU.js +0 -734
  209. package/dist/dgmo-router-B4S23EBH.js +0 -86
  210. package/dist/layout-3M5UYJHY.js +0 -14
  211. package/dist/layout-KPQWJNAG.js +0 -14
  212. package/dist/parser-7JHWEWXM.js +0 -13
@@ -1,7 +1,3 @@
1
- import {
2
- GANTT_BOOLEAN_SET,
3
- GANTT_OPTION_SET
4
- } from "./chunk-6DCOIN4W.js";
5
1
  import {
6
2
  parseDuration,
7
3
  parseOffset,
@@ -14,16 +10,18 @@ import {
14
10
  import {
15
11
  getSeriesColors
16
12
  } from "./chunk-JYDMBWRP.js";
13
+ import {
14
+ normalizeName
15
+ } from "./chunk-NOTA6TEI.js";
17
16
  import {
18
17
  matchTagBlockHeading,
19
18
  stripDefaultModifier,
20
19
  tagAttrKey,
21
20
  validateTagGroupNames
22
- } from "./chunk-CMVZWP32.js";
23
- import {
24
- normalizeName
25
- } from "./chunk-NOTA6TEI.js";
21
+ } from "./chunk-JR7Q6GHE.js";
26
22
  import {
23
+ GANTT_BOOLEAN_SET,
24
+ GANTT_OPTION_SET,
27
25
  GANTT_REGISTRY,
28
26
  extractColor,
29
27
  isReservedKey,
@@ -33,7 +31,7 @@ import {
33
31
  splitNameAndMeta,
34
32
  warnUnknownMetaKeys,
35
33
  withTagAliases
36
- } from "./chunk-YJVA3QUU.js";
34
+ } from "./chunk-A2ARDILY.js";
37
35
  import {
38
36
  formatDgmoError,
39
37
  makeDgmoError
@@ -812,6 +810,9 @@ function parseGantt(content, palette) {
812
810
  case "no-legend":
813
811
  result.options.noLegend = true;
814
812
  break;
813
+ case "legend-inline":
814
+ result.options.legendInline = true;
815
+ break;
815
816
  }
816
817
  continue;
817
818
  }
@@ -1346,4 +1347,4 @@ export {
1346
1347
  GANTT_KNOWN_OPTIONS,
1347
1348
  GANTT_KNOWN_BOOLEANS
1348
1349
  };
1349
- //# sourceMappingURL=chunk-2QC4HXCY.js.map
1350
+ //# sourceMappingURL=chunk-RYNCWA5X.js.map
@@ -1,20 +1,9 @@
1
1
  import {
2
- INFRA_BEHAVIOR_KEY_SET,
3
- INFRA_EDGE_ONLY_KEY_SET,
4
- INFRA_TOP_LEVEL_OPTION_SET
5
- } from "./chunk-6DCOIN4W.js";
2
+ GRAPH_DX
3
+ } from "./chunk-7TF3QOOD.js";
6
4
  import {
7
5
  tryStripDescriptionKeyword
8
6
  } from "./chunk-IYULMRBE.js";
9
- import {
10
- matchTagBlockHeading,
11
- stripDefaultModifier,
12
- tagAttrKey,
13
- validateTagGroupNames
14
- } from "./chunk-CMVZWP32.js";
15
- import {
16
- GRAPH_DX
17
- } from "./chunk-I46X5VUA.js";
18
7
  import {
19
8
  parseInArrowLabel
20
9
  } from "./chunk-WF64MW5G.js";
@@ -23,14 +12,23 @@ import {
23
12
  normalizeName
24
13
  } from "./chunk-NOTA6TEI.js";
25
14
  import {
15
+ matchTagBlockHeading,
16
+ stripDefaultModifier,
17
+ tagAttrKey,
18
+ validateTagGroupNames
19
+ } from "./chunk-JR7Q6GHE.js";
20
+ import {
21
+ INFRA_BEHAVIOR_KEY_SET,
22
+ INFRA_EDGE_ONLY_KEY_SET,
26
23
  INFRA_REGISTRY,
24
+ INFRA_TOP_LEVEL_OPTION_SET,
27
25
  OPTION_NOCOLON_RE,
28
26
  measureIndent,
29
27
  parseFirstLine,
30
28
  tryParseSharedOption,
31
29
  warnUnknownMetaKeys,
32
30
  withTagAliases
33
- } from "./chunk-YJVA3QUU.js";
31
+ } from "./chunk-A2ARDILY.js";
34
32
  import {
35
33
  isRecognizedColorName
36
34
  } from "./chunk-ZKPPI6BF.js";
@@ -801,8 +799,35 @@ function parseInfra(content) {
801
799
  }
802
800
  validateTagGroupNames(result.tagGroups, warn, setError);
803
801
  checkReachability(result);
802
+ checkSplitSums(result);
804
803
  return result;
805
804
  }
805
+ function checkSplitSums(result) {
806
+ const outbound = /* @__PURE__ */ new Map();
807
+ for (const edge of result.edges) {
808
+ if (edge.async) continue;
809
+ const list = outbound.get(edge.sourceId) ?? [];
810
+ list.push(edge);
811
+ outbound.set(edge.sourceId, list);
812
+ }
813
+ for (const [sourceId, edges] of outbound) {
814
+ if (edges.length <= 1) continue;
815
+ const declared = edges.filter((e) => e.split !== null);
816
+ if (declared.length === 0) continue;
817
+ const sum = declared.reduce((s, e) => s + (e.split ?? 0), 0);
818
+ const allDeclared = declared.length === edges.length;
819
+ if (allDeclared ? Math.abs(sum - 100) > 0.01 : sum > 100) {
820
+ const label = result.nodes.find((n) => n.id === sourceId)?.label ?? sourceId;
821
+ result.diagnostics.push(
822
+ // In-bounds: declared.length > 0 here.
823
+ emit(GRAPH_DX.INFRA_SPLIT_SUM, declared[0].lineNumber, {
824
+ label,
825
+ sum: String(Number(sum.toFixed(2)))
826
+ })
827
+ );
828
+ }
829
+ }
830
+ }
806
831
  function checkReachability(result) {
807
832
  if (result.nodes.length === 0) return;
808
833
  const entries = result.nodes.filter((n) => n.isEdge);
@@ -920,4 +945,4 @@ export {
920
945
  parseInfra,
921
946
  extractSymbols
922
947
  };
923
- //# sourceMappingURL=chunk-NNUMX6WX.js.map
948
+ //# sourceMappingURL=chunk-RZWIPDZ2.js.map
@@ -1,16 +1,6 @@
1
- import {
2
- AUTO_TAG_COLOR_SENTINEL,
3
- finalizeAutoTagColors,
4
- injectDefaultTagMetadata,
5
- matchTagBlockHeading,
6
- stripDefaultModifier,
7
- tagAttrKey,
8
- validateTagGroupNames,
9
- validateTagValues
10
- } from "./chunk-CMVZWP32.js";
11
1
  import {
12
2
  tryCollectNote
13
- } from "./chunk-ZXUAPTCK.js";
3
+ } from "./chunk-4R5KIPNX.js";
14
4
  import {
15
5
  resolveNotes
16
6
  } from "./chunk-QZAW5SFH.js";
@@ -20,6 +10,16 @@ import {
20
10
  import {
21
11
  normalizeName
22
12
  } from "./chunk-NOTA6TEI.js";
13
+ import {
14
+ AUTO_TAG_COLOR_SENTINEL,
15
+ finalizeAutoTagColors,
16
+ injectDefaultTagMetadata,
17
+ matchTagBlockHeading,
18
+ stripDefaultModifier,
19
+ tagAttrKey,
20
+ validateTagGroupNames,
21
+ validateTagValues
22
+ } from "./chunk-JR7Q6GHE.js";
23
23
  import {
24
24
  BOXES_AND_LINES_REGISTRY,
25
25
  OPTION_NOCOLON_RE,
@@ -30,7 +30,7 @@ import {
30
30
  tryParseSharedOption,
31
31
  warnUnknownMetaKeys,
32
32
  withTagAliases
33
- } from "./chunk-YJVA3QUU.js";
33
+ } from "./chunk-A2ARDILY.js";
34
34
  import {
35
35
  makeDgmoError,
36
36
  suggest
@@ -833,4 +833,4 @@ export {
833
833
  looksLikeBoxesAndLines,
834
834
  parseBoxesAndLines
835
835
  };
836
- //# sourceMappingURL=chunk-VKNCC2GX.js.map
836
+ //# sourceMappingURL=chunk-S52F62GW.js.map
@@ -8,22 +8,26 @@ import {
8
8
  import {
9
9
  renderInlineText
10
10
  } from "./chunk-3HDBAXF5.js";
11
- import {
12
- wrapDescriptionLines
13
- } from "./chunk-BMR4CIEO.js";
14
11
  import {
15
12
  EDGE_STROKE_WIDTH,
16
13
  NODE_STROKE_WIDTH
17
14
  } from "./chunk-3CIOJ5YJ.js";
15
+ import {
16
+ wrapDescriptionLines
17
+ } from "./chunk-BMR4CIEO.js";
18
18
  import {
19
19
  ScaleContext
20
20
  } from "./chunk-YYVTBZZC.js";
21
+ import {
22
+ layoutInlineHeader
23
+ } from "./chunk-US3P2DQO.js";
21
24
  import {
22
25
  renderIntegratedLegend
23
- } from "./chunk-W5KMNC5U.js";
26
+ } from "./chunk-ASPS5O6F.js";
24
27
  import {
28
+ getLegendExtent,
25
29
  getMaxLegendReservedHeight
26
- } from "./chunk-774C2FF3.js";
30
+ } from "./chunk-GRXPFBYC.js";
27
31
  import {
28
32
  TITLE_FONT_SIZE,
29
33
  TITLE_FONT_WEIGHT,
@@ -32,6 +36,11 @@ import {
32
36
  import {
33
37
  FONT_FAMILY
34
38
  } from "./chunk-6KFWC4CO.js";
39
+ import {
40
+ CHAR_WIDTH_RATIO,
41
+ measureText,
42
+ truncateText
43
+ } from "./chunk-4ASYQ347.js";
35
44
  import {
36
45
  contrastText,
37
46
  mix,
@@ -40,18 +49,14 @@ import {
40
49
  themeBaseBg,
41
50
  valueRampColor
42
51
  } from "./chunk-JYDMBWRP.js";
43
- import {
44
- CHAR_WIDTH_RATIO,
45
- measureText,
46
- truncateText
47
- } from "./chunk-4ASYQ347.js";
48
52
  import {
49
53
  resolveTagColor
50
- } from "./chunk-CMVZWP32.js";
54
+ } from "./chunk-JR7Q6GHE.js";
51
55
  import {
52
56
  fillModeFromOptions,
57
+ legendInlineRequested,
53
58
  legendSuppressed
54
- } from "./chunk-YJVA3QUU.js";
59
+ } from "./chunk-A2ARDILY.js";
55
60
  import {
56
61
  resolveColor
57
62
  } from "./chunk-ZKPPI6BF.js";
@@ -315,6 +320,32 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
315
320
  );
316
321
  const needsLegend = (legendGroups.length > 0 || hasAnyDescriptions && !!onToggleDescriptions) && !noLegend;
317
322
  const legendH = needsLegend ? sLegendHeight + 8 : 0;
323
+ const inlineRequested = legendInlineRequested(parsed.options);
324
+ const legendExtent = inlineRequested && needsLegend ? getLegendExtent(
325
+ {
326
+ groups: legendGroups,
327
+ position: {
328
+ placement: "top-center",
329
+ titleRelation: "inline-with-title"
330
+ },
331
+ mode: exportMode ? "export" : "preview",
332
+ showInactivePills: true
333
+ },
334
+ { activeGroup },
335
+ width
336
+ ) : { width: 0, height: 0 };
337
+ const header = layoutInlineHeader({
338
+ requested: inlineRequested,
339
+ title: parsed.title ?? "",
340
+ hasLegend: needsLegend,
341
+ legendWidth: legendExtent.width,
342
+ legendHeight: legendExtent.height,
343
+ containerWidth: width,
344
+ titleBandHeight: titleOffset,
345
+ legendReserve: legendH,
346
+ titleBaselineY: sTitleY,
347
+ titleFontSize: sTitleFontSize
348
+ });
318
349
  const groupLabelsSet = new Set(layout.groups.map((g) => g.label));
319
350
  let labelZoneExtension = 0;
320
351
  for (const group of parsed.groups) {
@@ -323,19 +354,20 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
323
354
  }
324
355
  }
325
356
  const contentW = layout.width;
326
- const contentH = layout.height + titleOffset + legendH + labelZoneExtension;
357
+ const vOverhead = titleOffset + (header.inline ? 0 : legendH) + labelZoneExtension;
358
+ const availH = Math.max(1, height - vOverhead - sDiagramPadding * 2);
327
359
  const scaleX = width / (contentW + sDiagramPadding * 2);
328
- const scaleY = height / (contentH + sDiagramPadding * 2);
360
+ const scaleY = availH / layout.height;
329
361
  const scale = Math.min(scaleX, scaleY, 3);
330
362
  const offsetX = (width - contentW * scale) / 2;
331
- const offsetY = sDiagramPadding + titleOffset + legendH;
363
+ const offsetY = sDiagramPadding + titleOffset + (header.inline ? 0 : legendH);
332
364
  const svg = d3Selection.select(container).append("svg").attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY).style("background", palette.bg);
333
365
  if (sctx.isBelowFloor) {
334
366
  svg.attr("width", "100%");
335
367
  }
336
368
  const defs = svg.append("defs");
337
369
  if (showTitle) {
338
- svg.append("text").attr("x", width / 2).attr("y", sTitleY).attr("text-anchor", "middle").attr("font-size", sTitleFontSize).attr("font-weight", TITLE_FONT_WEIGHT).attr("fill", palette.text).text(parsed.title);
370
+ 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(parsed.title);
339
371
  }
340
372
  const diagramG = svg.append("g").attr("transform", `translate(${offsetX},${offsetY}) scale(${scale})`);
341
373
  const arrowColors = /* @__PURE__ */ new Set();
@@ -710,11 +742,20 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
710
742
  }
711
743
  }
712
744
  };
713
- const legendG = svg.append("g").attr("transform", `translate(0,${titleOffset + 4})`);
745
+ const legendG = svg.append("g").attr(
746
+ "transform",
747
+ header.inline ? `translate(${header.legendX}, ${header.legendY})` : `translate(0,${titleOffset + 4})`
748
+ );
714
749
  renderIntegratedLegend(legendG, {
715
750
  groups: legendGroups,
716
751
  activeGroup,
717
752
  mode: exportMode ? "export" : "preview",
753
+ // Inline → left-origin so the wrapper's right-flush translate lands the
754
+ // legend at the chart's right edge; stacked → centered below the title.
755
+ position: {
756
+ placement: "top-center",
757
+ titleRelation: header.inline ? "inline-with-title" : "below-title"
758
+ },
718
759
  // Keep inactive sibling tag groups visible as collapsed pills so the user
719
760
  // can click one to flip the active colouring dimension (preview only).
720
761
  showInactivePills: true,
@@ -759,4 +800,4 @@ export {
759
800
  renderBoxesAndLines,
760
801
  renderBoxesAndLinesForExport
761
802
  };
762
- //# sourceMappingURL=chunk-UQRIKAMH.js.map
803
+ //# sourceMappingURL=chunk-SCOHNGPG.js.map
@@ -4,12 +4,12 @@ import {
4
4
  import {
5
5
  noteCanvasShift
6
6
  } from "./chunk-6EK55ART.js";
7
- import {
8
- measureText
9
- } from "./chunk-4ASYQ347.js";
10
7
  import {
11
8
  resolveNotes
12
9
  } from "./chunk-QZAW5SFH.js";
10
+ import {
11
+ measureText
12
+ } from "./chunk-4ASYQ347.js";
13
13
 
14
14
  // src/er/layout.ts
15
15
  import dagre from "@dagrejs/dagre";
@@ -326,4 +326,4 @@ function layoutERDiagram(parsed, options) {
326
326
  export {
327
327
  layoutERDiagram
328
328
  };
329
- //# sourceMappingURL=chunk-VGNIDAPQ.js.map
329
+ //# sourceMappingURL=chunk-SSHS42QG.js.map
@@ -0,0 +1,218 @@
1
+ // src/chart-types.ts
2
+ var chartTypes = [
3
+ // ── Tier 1 — Narrative / architecture diagrams ────────────
4
+ {
5
+ id: "journey-map",
6
+ description: "User experience flow with emotion scores, phases, and annotations"
7
+ },
8
+ {
9
+ id: "c4",
10
+ description: "System architecture (context, container, component, deployment)"
11
+ },
12
+ {
13
+ id: "er",
14
+ description: "Database schemas and relationships"
15
+ },
16
+ {
17
+ id: "class",
18
+ description: "UML class hierarchies"
19
+ },
20
+ {
21
+ id: "sequence",
22
+ description: "Message request and response interaction flows",
23
+ fallback: true
24
+ },
25
+ {
26
+ id: "state",
27
+ description: "State machine / lifecycle transitions"
28
+ },
29
+ {
30
+ id: "infra",
31
+ description: "Infrastructure traffic flow with RPS computation"
32
+ },
33
+ {
34
+ id: "gantt",
35
+ description: "Project scheduling with task dependencies and milestones"
36
+ },
37
+ {
38
+ id: "pert",
39
+ description: "Project network with three-point estimates, critical path, and uncertainty (Beta-PERT, Monte Carlo)"
40
+ },
41
+ {
42
+ id: "swimlane",
43
+ description: "Cross-functional process flow with lanes, phases and gateways (BPMN-style)"
44
+ },
45
+ {
46
+ id: "version-control",
47
+ description: "Git / version-control branch-and-merge graph: commits, branches, merges, rebase, HEAD and remote-tracking (gitGraph-style)"
48
+ },
49
+ // ── Tier 2 — Specialized structural diagrams ──────────────
50
+ {
51
+ id: "timeline",
52
+ description: "Events, eras, and date ranges"
53
+ },
54
+ {
55
+ id: "event-line",
56
+ description: "Annotated narrative timeline \u2014 events on a horizontal line with descriptions (not the date-scaled timeline)"
57
+ },
58
+ {
59
+ id: "body",
60
+ description: "Human anatomy figure annotated by muscle/bone/joint name \u2014 for medical, exercise, and educational diagrams"
61
+ },
62
+ {
63
+ id: "org",
64
+ description: "Reporting hierarchy"
65
+ },
66
+ {
67
+ id: "family",
68
+ description: "Family tree / genealogy: unions (couples), children, remarriage, adoption, and GEDCOM-style metadata"
69
+ },
70
+ {
71
+ id: "sitemap",
72
+ description: "Site / app navigation structure"
73
+ },
74
+ {
75
+ id: "bracket",
76
+ description: "Single-elimination tournament bracket: winners auto-advance up a tree; seed the field for a day-0 skeleton or list results for a casual bracket, with two sides mirroring inward to a championship"
77
+ },
78
+ {
79
+ id: "kanban",
80
+ description: "Task board columns"
81
+ },
82
+ {
83
+ id: "raci",
84
+ description: "Tasks \xD7 roles responsibility matrix with constraint linting"
85
+ },
86
+ {
87
+ id: "tech-radar",
88
+ description: "Technology adoption quadrants (adopt/trial/assess/hold)"
89
+ },
90
+ {
91
+ id: "mindmap",
92
+ description: "Radial hierarchy of ideas branching from a central topic"
93
+ },
94
+ {
95
+ id: "wireframe",
96
+ description: "Low-fidelity UI layout with panels, controls, and annotations"
97
+ },
98
+ {
99
+ id: "cycle",
100
+ description: "Cyclical process visualization (PDCA, OODA, DevOps loops)"
101
+ },
102
+ {
103
+ id: "pyramid",
104
+ description: "Stacked hierarchy of layers with descriptions (Maslow, DIKW)"
105
+ },
106
+ {
107
+ id: "ring",
108
+ description: "Concentric rings showing nested or hierarchical categories (read core-out)"
109
+ },
110
+ {
111
+ id: "treemap",
112
+ description: "Nested rectangles sized by value \u2014 show a hierarchy\u2019s proportions (budgets, disk usage, portfolios) with color by category, value heatmap, or branch"
113
+ },
114
+ {
115
+ id: "block",
116
+ description: "Block diagram: an author-controlled grid of rectangular blocks with nested, collapsible containers \u2014 system/hardware/architecture layouts where the 2-D arrangement is the meaning"
117
+ },
118
+ {
119
+ id: "sketch",
120
+ description: "GUI-first constrained canvas: uniformly-sized shapes placed freely on a snap grid, arrows between them, meaning through tags \u2014 the markup is generated by the canvas editor"
121
+ },
122
+ {
123
+ id: "goal",
124
+ description: "Single progress-toward-a-target value (now vs target) as a progress bar, thermometer, or gauge \u2014 KPIs, fundraising, quotas, completion"
125
+ },
126
+ {
127
+ id: "countdown",
128
+ description: 'Live "N days until X" that ticks every second and is accurate on every load \u2014 trip dates, launches, deadlines; the only dynamic chart type'
129
+ },
130
+ {
131
+ id: "clock",
132
+ description: "Live world-clock board: current time for people/places across time zones, ticking every second, with optional working-hours status and sundown line"
133
+ },
134
+ {
135
+ id: "map",
136
+ description: "Geographic concept map: highlight/score regions, drop points of interest, connect with routes or edges"
137
+ },
138
+ // ── Tier 3 — Specialized analytical charts ────────────────
139
+ {
140
+ id: "quadrant",
141
+ description: "2x2 positioning matrix"
142
+ },
143
+ {
144
+ id: "venn",
145
+ description: "Set overlaps"
146
+ },
147
+ {
148
+ id: "funnel",
149
+ description: "Conversion pipeline"
150
+ },
151
+ {
152
+ id: "slope",
153
+ description: "Change between 2 time periods"
154
+ },
155
+ {
156
+ id: "sankey",
157
+ description: "Flow / allocation visualization"
158
+ },
159
+ {
160
+ id: "arc",
161
+ description: "Network relationships (linear or circular via `layout`)"
162
+ },
163
+ {
164
+ id: "wordcloud",
165
+ description: "Term frequency visualization"
166
+ },
167
+ {
168
+ id: "heatmap",
169
+ description: "Matrix intensity visualization"
170
+ },
171
+ {
172
+ id: "function",
173
+ description: "Mathematical expressions"
174
+ },
175
+ // ── Tier 4 — General-purpose data charts ──────────────────
176
+ {
177
+ id: "bar",
178
+ description: "Categorical comparisons for 3 - 5 figures",
179
+ fallback: true
180
+ },
181
+ {
182
+ id: "line",
183
+ description: "Trends over time",
184
+ fallback: true
185
+ },
186
+ {
187
+ id: "pie",
188
+ description: "Part-to-whole proportions"
189
+ },
190
+ {
191
+ id: "radar",
192
+ description: "Multi-dimensional metrics"
193
+ },
194
+ {
195
+ id: "polar-area",
196
+ description: "Radial bar chart"
197
+ },
198
+ {
199
+ id: "scatter",
200
+ description: "2D data points or bubble chart"
201
+ },
202
+ // ── Tier 5 — Generic catch-alls (listed last on purpose) ──
203
+ {
204
+ id: "flowchart",
205
+ description: "Decision trees and process flows",
206
+ fallback: true
207
+ },
208
+ {
209
+ id: "boxes-and-lines",
210
+ description: "General-purpose node-edge diagrams with groups and tags",
211
+ fallback: true
212
+ }
213
+ ];
214
+
215
+ export {
216
+ chartTypes
217
+ };
218
+ //# sourceMappingURL=chunk-TGOMHUOV.js.map
@@ -11,7 +11,7 @@ import {
11
11
  LEGEND_PILL_FONT_SIZE,
12
12
  LEGEND_PILL_PAD,
13
13
  measureLegendText
14
- } from "./chunk-4RGZFA7H.js";
14
+ } from "./chunk-Q5IHQ4NW.js";
15
15
  import {
16
16
  measureText
17
17
  } from "./chunk-4ASYQ347.js";
@@ -19,10 +19,10 @@ import {
19
19
  injectDefaultTagMetadata,
20
20
  resolveTagColor,
21
21
  tagAttrKey
22
- } from "./chunk-CMVZWP32.js";
22
+ } from "./chunk-JR7Q6GHE.js";
23
23
  import {
24
24
  legendSuppressed
25
- } from "./chunk-YJVA3QUU.js";
25
+ } from "./chunk-A2ARDILY.js";
26
26
 
27
27
  // src/org/layout.ts
28
28
  import { hierarchy, tree } from "d3-hierarchy";
@@ -870,4 +870,4 @@ function layoutOrg(parsed, hiddenCounts, activeTagGroup, hiddenAttributes, expan
870
870
  export {
871
871
  layoutOrg
872
872
  };
873
- //# sourceMappingURL=chunk-UKP5HWB5.js.map
873
+ //# sourceMappingURL=chunk-UBQU2BY6.js.map
@@ -15,18 +15,18 @@ import {
15
15
  import {
16
16
  FONT_FAMILY
17
17
  } from "./chunk-6KFWC4CO.js";
18
+ import {
19
+ CHAR_WIDTH_RATIO,
20
+ measureText
21
+ } from "./chunk-4ASYQ347.js";
18
22
  import {
19
23
  contrastText,
20
24
  getSeriesColors,
21
25
  shapeFill
22
26
  } from "./chunk-JYDMBWRP.js";
23
- import {
24
- CHAR_WIDTH_RATIO,
25
- measureText
26
- } from "./chunk-4ASYQ347.js";
27
27
  import {
28
28
  fillModeFromOptions
29
- } from "./chunk-YJVA3QUU.js";
29
+ } from "./chunk-A2ARDILY.js";
30
30
  import {
31
31
  resolveColor
32
32
  } from "./chunk-ZKPPI6BF.js";
@@ -436,4 +436,4 @@ export {
436
436
  renderPyramid,
437
437
  renderPyramidForExport
438
438
  };
439
- //# sourceMappingURL=chunk-IQJCVREL.js.map
439
+ //# sourceMappingURL=chunk-UES4P7FN.js.map