@diagrammo/dgmo 0.70.0 → 0.72.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 (188) hide show
  1. package/README.md +2 -0
  2. package/dist/advanced.d.ts +37 -30
  3. package/dist/advanced.js +91 -91
  4. package/dist/block.js +47 -47
  5. package/dist/{calculator-GU4NVYE2.js → calculator-4CNL2GKU.js} +3 -3
  6. package/dist/{chart-meta-DNsYpNbh.d.ts → chart-meta-6JaOudSs.d.ts} +8 -1
  7. package/dist/chart-meta.d.ts +2 -2
  8. package/dist/chart-meta.js +42 -42
  9. package/dist/{charts-d3-HWKV46CS.js → charts-d3-6IHGTXBR.js} +5 -5
  10. package/dist/{chunk-YYVTBZZC.js → chunk-24YPR5EH.js} +1 -1
  11. package/dist/{chunk-USOLDMYO.js → chunk-2OTYNNHS.js} +6 -6
  12. package/dist/{chunk-SHS3O7ZZ.js → chunk-2VBJCTSG.js} +4 -4
  13. package/dist/{chunk-6WI76LHG.js → chunk-376ATV2Q.js} +19 -5
  14. package/dist/{chunk-PMDE3I53.js → chunk-3HN32MEK.js} +2 -2
  15. package/dist/{chunk-EHRME74D.js → chunk-3SNE4CLI.js} +3 -3
  16. package/dist/{chunk-V5VCGTS4.js → chunk-4VUFJ7UA.js} +3 -3
  17. package/dist/{chunk-7YCHRBD3.js → chunk-5DYDPP7K.js} +2 -2
  18. package/dist/{chunk-LK35AH5V.js → chunk-66VHK7PP.js} +5 -5
  19. package/dist/{chunk-R2VVBC52.js → chunk-6DGMS2WJ.js} +4 -4
  20. package/dist/{chunk-Z6G367CM.js → chunk-6OAKQTXQ.js} +3 -3
  21. package/dist/{chunk-IODPKTRZ.js → chunk-6PA32CUB.js} +2 -2
  22. package/dist/{chunk-VSZRPDIZ.js → chunk-6S53NO3M.js} +5 -2
  23. package/dist/{chunk-PP75ABA4.js → chunk-7BHM774H.js} +6 -6
  24. package/dist/{chunk-QRLNO6C7.js → chunk-7RAWNJI5.js} +192 -122
  25. package/dist/{chunk-YXW2ZYS3.js → chunk-7SEQPFBX.js} +38 -7
  26. package/dist/{chunk-VALNMR2Y.js → chunk-7TSBM4BV.js} +3 -3
  27. package/dist/{chunk-EDFUVEO6.js → chunk-7U3NDE7T.js} +7 -7
  28. package/dist/{chunk-3QLXP6QZ.js → chunk-AEYRSPVV.js} +2 -2
  29. package/dist/{chunk-BNJC5KVG.js → chunk-BYSRXYRW.js} +4 -4
  30. package/dist/{chunk-EC5USK74.js → chunk-DEVZWCD5.js} +17 -5
  31. package/dist/{chunk-FH3S7FDS.js → chunk-DHKVHP3Y.js} +5 -5
  32. package/dist/{chunk-PBXMUXBW.js → chunk-DPGI742S.js} +20 -2
  33. package/dist/{chunk-UFKFABSP.js → chunk-DZ34UUXC.js} +7 -7
  34. package/dist/{chunk-ASUFSCVV.js → chunk-E36Q5ABQ.js} +4 -4
  35. package/dist/{chunk-TJ5PDNGU.js → chunk-EETUTZ5C.js} +2 -2
  36. package/dist/{chunk-KVM4POFR.js → chunk-ELIGVSLE.js} +10 -3
  37. package/dist/{chunk-KSK6B35D.js → chunk-FFD6A3B2.js} +22 -5
  38. package/dist/{chunk-K3MUWASA.js → chunk-FLXDMH7B.js} +3 -3
  39. package/dist/{chunk-J3XFVPEU.js → chunk-FTPNAYL2.js} +18 -6
  40. package/dist/{chunk-UJ4FJLBF.js → chunk-FX2USYOU.js} +13 -1
  41. package/dist/{chunk-IOVJT4PE.js → chunk-GCTKJDLY.js} +5 -5
  42. package/dist/{chunk-WBPWR2CX.js → chunk-GK4AU57A.js} +4 -4
  43. package/dist/{chunk-5ECGBM5S.js → chunk-HKL66CKW.js} +25 -21
  44. package/dist/{chunk-Z4KRDDZC.js → chunk-HWNF22ZZ.js} +20 -15
  45. package/dist/{chunk-2QLYLYLN.js → chunk-HZQCKXPB.js} +70 -385
  46. package/dist/{chunk-ZCWEJ3VB.js → chunk-IXVK7XCN.js} +3 -3
  47. package/dist/{chunk-BQVCENFX.js → chunk-JIWDWOYA.js} +3 -3
  48. package/dist/{chunk-HAGHVHR7.js → chunk-K6MQJ5IV.js} +2 -2
  49. package/dist/{chunk-MOMPLSQI.js → chunk-KJWIU5AM.js} +2 -2
  50. package/dist/{chunk-65KNPZCC.js → chunk-KOVRFBGR.js} +25 -4
  51. package/dist/{chunk-B6MHT3A7.js → chunk-L3XB446I.js} +2 -2
  52. package/dist/{chunk-NZ2Z4ZEN.js → chunk-LSHROB27.js} +3 -3
  53. package/dist/{chunk-Q7UM3R3Y.js → chunk-LTGOPJUV.js} +2 -2
  54. package/dist/{chunk-MMYRNZRQ.js → chunk-MC2H32SM.js} +3 -3
  55. package/dist/{chunk-CE2Z3OXR.js → chunk-MFSTE3YG.js} +18 -4
  56. package/dist/{chunk-4FEPSBUH.js → chunk-MKNWMFZU.js} +15 -5
  57. package/dist/{chunk-FQ7OYKOS.js → chunk-MUVASOBD.js} +7 -7
  58. package/dist/{chunk-6NWCQCJV.js → chunk-MWWRIOEN.js} +2 -2
  59. package/dist/{chunk-HK3JTWG3.js → chunk-MX3BYU7V.js} +2 -2
  60. package/dist/{chunk-4CTCOHDS.js → chunk-N34OTOGH.js} +12 -3
  61. package/dist/{chunk-H4VRTBMS.js → chunk-N5247W2W.js} +59 -16
  62. package/dist/{chunk-76XAJN7L.js → chunk-NEC7R2CB.js} +2 -2
  63. package/dist/{chunk-56TCBKXP.js → chunk-NJKUTY4M.js} +3 -3
  64. package/dist/{chunk-D62K46CW.js → chunk-NNMNHE3J.js} +2 -2
  65. package/dist/{chunk-XDEVAAY4.js → chunk-NTBHGUXY.js} +13 -3
  66. package/dist/{chunk-YYFIZ3AO.js → chunk-NUF7YTHA.js} +2 -2
  67. package/dist/{chunk-TSY25V7W.js → chunk-O4OVVK6J.js} +4 -4
  68. package/dist/{chunk-R2UUKZ6R.js → chunk-P6RPHRX7.js} +4 -4
  69. package/dist/{chunk-AA6LBVBN.js → chunk-PBV2C3BW.js} +27 -6
  70. package/dist/{chunk-Y37EDBPR.js → chunk-PKTRDOBI.js} +3 -3
  71. package/dist/{chunk-CVMD5UWI.js → chunk-QAJFIXJE.js} +19 -5
  72. package/dist/{chunk-7LIDBQDO.js → chunk-QITH5XOX.js} +6 -6
  73. package/dist/{chunk-YA464EGR.js → chunk-QPG55HGH.js} +3 -3
  74. package/dist/{chunk-MUXI4Y6U.js → chunk-REBTZP3W.js} +2 -2
  75. package/dist/{chunk-H7LQGRM3.js → chunk-RJI6MHHK.js} +3 -3
  76. package/dist/{chunk-G5UTJZFR.js → chunk-T7W5LM4N.js} +11 -3
  77. package/dist/{chunk-GAK5UOKL.js → chunk-TF7CFAZ5.js} +3 -3
  78. package/dist/{chunk-XAPHRRQ4.js → chunk-U4NFAWQW.js} +5 -5
  79. package/dist/{chunk-HQBY3N3S.js → chunk-UCGEBFUC.js} +3 -3
  80. package/dist/{chunk-6KJMPC6H.js → chunk-UF3EALKC.js} +9 -9
  81. package/dist/{chunk-JCAINYVG.js → chunk-UKOOGXRF.js} +288 -26
  82. package/dist/{chunk-ZLPNK7U2.js → chunk-UNM2PX5D.js} +3 -3
  83. package/dist/{chunk-JR6H5MEF.js → chunk-UNTFANSM.js} +3 -3
  84. package/dist/{chunk-UG3MRJL6.js → chunk-UTVKOGFF.js} +2 -2
  85. package/dist/{chunk-MGAWLZQE.js → chunk-UY77QQWU.js} +2 -2
  86. package/dist/{chunk-7LMDJ3U7.js → chunk-VE7PPEU3.js} +105 -18
  87. package/dist/{chunk-MZBEPHFY.js → chunk-VGLSKDDI.js} +2 -2
  88. package/dist/{chunk-WN6V4ILM.js → chunk-VLXYWPPE.js} +5 -5
  89. package/dist/{chunk-5FBSYKPQ.js → chunk-VMXV2CL5.js} +4 -4
  90. package/dist/{chunk-FFI25S5O.js → chunk-W27BULCB.js} +4 -4
  91. package/dist/{chunk-NTXNVS47.js → chunk-W7SZKJR6.js} +3 -3
  92. package/dist/{chunk-MACY4WJ4.js → chunk-WEC3JPTN.js} +4 -4
  93. package/dist/{chunk-LQB3NKEA.js → chunk-WPXHTYET.js} +16 -11
  94. package/dist/{chunk-QQI4JTJB.js → chunk-WRWUZ2C4.js} +3 -3
  95. package/dist/{chunk-QQFO63AA.js → chunk-XIZCHGP7.js} +3 -3
  96. package/dist/{chunk-PYL2K5CE.js → chunk-YG35ZCNW.js} +20 -5
  97. package/dist/{chunk-6NEFSIL3.js → chunk-YH5KJIO5.js} +4 -4
  98. package/dist/{chunk-N5XT3OWL.js → chunk-YTFA4VTW.js} +2 -2
  99. package/dist/{chunk-SW36YNNE.js → chunk-YYBQ55V2.js} +35 -74
  100. package/dist/{chunk-M2QQQWM3.js → chunk-ZJJWON5O.js} +15 -5
  101. package/dist/collapse-JRGPUE67.js +13 -0
  102. package/dist/completion-registry.js +14 -9
  103. package/dist/{dgmo-router-EAW7XiBE.d.ts → dgmo-router-Lya7cs3R.d.ts} +28 -0
  104. package/dist/dgmo-router-O55I5UXN.js +89 -0
  105. package/dist/{dimensions-RIZPH26J.js → dimensions-EFEBIRS6.js} +5 -5
  106. package/dist/editor.js +6 -3
  107. package/dist/{flowchart-parser-A64T3OEL.js → flowchart-parser-LZF2GW2P.js} +4 -4
  108. package/dist/{flowchart-renderer-F6PDPKK7.js → flowchart-renderer-JMGOCLTQ.js} +6 -6
  109. package/dist/highlight.js +6 -3
  110. package/dist/index.d.ts +1 -1
  111. package/dist/index.js +60 -47
  112. package/dist/{layout-2D6VKW6G.js → layout-2DVT24YY.js} +3 -3
  113. package/dist/{layout-COGPMCW5.js → layout-4D5JRUHX.js} +4 -4
  114. package/dist/{layout-FFCYSTW7.js → layout-AWPST2S3.js} +3 -3
  115. package/dist/{layout-CYNBG5EP.js → layout-BGXLVSXL.js} +4 -4
  116. package/dist/{layout-36Z4NU4W.js → layout-VMDNULKS.js} +5 -5
  117. package/dist/{layout-2DUQIJOI.js → layout-VVTXA3W2.js} +4 -4
  118. package/dist/{parser-LGDW543A.js → parser-2CXA7K5C.js} +4 -4
  119. package/dist/{parser-6OWUGHKY.js → parser-4E2TVMOK.js} +4 -4
  120. package/dist/{parser-2PN2WRYX.js → parser-52AZJ3BA.js} +4 -4
  121. package/dist/{parser-A3B5KVPK.js → parser-52BOCAVQ.js} +4 -4
  122. package/dist/{parser-FNOWLKC4.js → parser-5IPCYVXY.js} +4 -4
  123. package/dist/{parser-U3T76HY2.js → parser-6BF5TJQH.js} +4 -4
  124. package/dist/{parser-SEFSLUXW.js → parser-6VZISXFY.js} +3 -3
  125. package/dist/{parser-VDD3N5SC.js → parser-6Y5BMNNJ.js} +5 -5
  126. package/dist/{parser-LJZIQJRA.js → parser-7HUZBXKW.js} +3 -3
  127. package/dist/{parser-PXI5UCVR.js → parser-AEJ73QJS.js} +3 -3
  128. package/dist/{parser-M7HBD7V2.js → parser-AWNEAGMJ.js} +4 -4
  129. package/dist/{parser-53ALMRAE.js → parser-C2QRTZPJ.js} +4 -4
  130. package/dist/{parser-DLIBNGNQ.js → parser-CBSYFN6U.js} +3 -3
  131. package/dist/{parser-IL4T3HCM.js → parser-CDMP3UVH.js} +4 -4
  132. package/dist/{parser-CDA5DGXA.js → parser-CNKHKQKZ.js} +4 -4
  133. package/dist/{parser-VQKLDBS7.js → parser-EX3AGFT5.js} +4 -4
  134. package/dist/{parser-SOOR27MC.js → parser-GK3JWVHY.js} +5 -5
  135. package/dist/{parser-4VIMOING.js → parser-GZKR6BFA.js} +4 -4
  136. package/dist/{parser-YCRATNR6.js → parser-K26KDCZN.js} +3 -3
  137. package/dist/{parser-SZXKUTVE.js → parser-LTJ5AKY4.js} +4 -4
  138. package/dist/{parser-Q2K7TDEA.js → parser-NIGB4EYX.js} +3 -3
  139. package/dist/{parser-DAMYSBVY.js → parser-O7GTECFP.js} +3 -3
  140. package/dist/{parser-3QXKYLDG.js → parser-OHWDJGCP.js} +3 -3
  141. package/dist/{parser-RZIIZ3EW.js → parser-QCVEWLCO.js} +3 -3
  142. package/dist/{parser-E33LTBYE.js → parser-SUAOF72Y.js} +4 -4
  143. package/dist/{parser-CLDLYMDI.js → parser-TJ3SP2MJ.js} +4 -4
  144. package/dist/{parser-GEELVJ4X.js → parser-W2HXBHNC.js} +3 -3
  145. package/dist/{parser-2QQJFTMD.js → parser-WF4R7225.js} +4 -4
  146. package/dist/{parser-5ETIIQIM.js → parser-XM6JC3UK.js} +4 -4
  147. package/dist/{parser-D5EZ6Y5I.js → parser-XRZQ7SC7.js} +4 -4
  148. package/dist/{parser-ZXI4IQ5Y.js → parser-YRJAGBV7.js} +4 -4
  149. package/dist/{parser-4CEHZFZG.js → parser-Z3LN7P6G.js} +5 -5
  150. package/dist/{parser-52SRJNP4.js → parser-ZIEEBJMU.js} +4 -4
  151. package/dist/{renderer-PR3AGJ37.js → renderer-2MEPYGAP.js} +7 -7
  152. package/dist/{renderer-P2MICJH5.js → renderer-2T2RAFWX.js} +8 -8
  153. package/dist/{renderer-SDCMF5AF.js → renderer-4DFEFP4X.js} +6 -6
  154. package/dist/{renderer-WPGW6FTW.js → renderer-ACGZ5KJG.js} +8 -8
  155. package/dist/{renderer-F75AZ6HF.js → renderer-B4Q6LUW2.js} +6 -6
  156. package/dist/{renderer-WA5K5VWA.js → renderer-CB44E262.js} +8 -8
  157. package/dist/{renderer-3VPTEQBU.js → renderer-CL4X5S3T.js} +6 -6
  158. package/dist/{renderer-PUYQ5CDE.js → renderer-E3UQ24DE.js} +5 -5
  159. package/dist/{renderer-3EN7ZSXI.js → renderer-E42I44WZ.js} +7 -7
  160. package/dist/{renderer-VK6KVXFB.js → renderer-H5QR3LC3.js} +4 -4
  161. package/dist/{renderer-RY7RQQ37.js → renderer-IH5C7NQT.js} +4 -4
  162. package/dist/{renderer-AF6DVUZH.js → renderer-IZFO3G22.js} +8 -8
  163. package/dist/{renderer-EVHFS3PP.js → renderer-JHWGW4Q7.js} +5 -5
  164. package/dist/{renderer-U7INHN4J.js → renderer-K73COK5L.js} +5 -5
  165. package/dist/{renderer-MGYWZFFR.js → renderer-KQIJV5WD.js} +5 -5
  166. package/dist/{renderer-52YQ3EYR.js → renderer-MZ4N2SVV.js} +5 -5
  167. package/dist/{renderer-KLRBL45Z.js → renderer-QMSFXMAL.js} +5 -5
  168. package/dist/{renderer-YZMFPZGC.js → renderer-UPTO25OX.js} +8 -8
  169. package/dist/{renderer-REULT7UI.js → renderer-VEN6AIWW.js} +8 -8
  170. package/dist/{renderer-QOI2SEEA.js → renderer-VOXE7V6L.js} +7 -7
  171. package/dist/{renderer-BT6TOWBE.js → renderer-VP4DPLDY.js} +4 -4
  172. package/dist/{renderer-KVRTLE2D.js → renderer-W7JC2CTQ.js} +4 -4
  173. package/dist/{renderer-XOPHJWNZ.js → renderer-WBG576LB.js} +5 -5
  174. package/dist/{renderer-4LLJHGIQ.js → renderer-WLA3NQCC.js} +7 -7
  175. package/dist/{renderer-UC2ZZISO.js → renderer-XR4SVKNE.js} +6 -6
  176. package/dist/{renderer-Q24E7LBF.js → renderer-Y3D36RIT.js} +6 -6
  177. package/dist/{renderer-SFYFVKVN.js → renderer-Y4VC3VH4.js} +9 -7
  178. package/dist/renderer-YROML2KW.js +76 -0
  179. package/dist/{renderer-RJLAM6G5.js → renderer-YXYEP46H.js} +6 -6
  180. package/dist/{renderer-VTP3QCCP.js → renderer-ZRHTC24Q.js} +7 -7
  181. package/dist/{renderer-radial-AVHNPO2N.js → renderer-radial-KZ3W4WXI.js} +6 -6
  182. package/dist/{state-parser-GSU2ZDVR.js → state-parser-HJNCGIFT.js} +5 -5
  183. package/dist/{state-renderer-Q6XQDK3W.js → state-renderer-FJ2GT4MU.js} +8 -8
  184. package/docs/language-reference.md +22 -1
  185. package/package.json +2 -1
  186. package/dist/collapse-CLPJD2RL.js +0 -11
  187. package/dist/dgmo-router-YFNEFJST.js +0 -89
  188. package/dist/renderer-BQORZPWF.js +0 -76
@@ -24,6 +24,17 @@ var ORG_SHAPE = {
24
24
  },
25
25
  countsAsHidden: (node) => !node.isContainer
26
26
  };
27
+ function unionCollapsedOrgNodes(parsed, interactive) {
28
+ const ids = new Set(interactive ?? []);
29
+ const walk = (nodes) => {
30
+ for (const node of nodes) {
31
+ if (node.collapsed) ids.add(node.id);
32
+ walk(node.children);
33
+ }
34
+ };
35
+ walk(parsed.roots);
36
+ return ids;
37
+ }
27
38
  function collapseOrgTree(original, collapsedIds) {
28
39
  if (collapsedIds.size === 0) {
29
40
  return { parsed: original, hiddenCounts: /* @__PURE__ */ new Map() };
@@ -80,7 +91,8 @@ function focusOrgTree(original, focusNodeId) {
80
91
  }
81
92
 
82
93
  export {
94
+ unionCollapsedOrgNodes,
83
95
  collapseOrgTree,
84
96
  focusOrgTree
85
97
  };
86
- //# sourceMappingURL=chunk-UJ4FJLBF.js.map
98
+ //# sourceMappingURL=chunk-FX2USYOU.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-FJ57274M.js";
19
19
  import {
20
20
  ScaleContext
21
- } from "./chunk-YYVTBZZC.js";
21
+ } from "./chunk-24YPR5EH.js";
22
22
  import {
23
23
  layoutInlineHeader
24
24
  } from "./chunk-6CLC26GU.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-A4GOY3PE.js";
30
30
  import {
31
31
  renderIntegratedLegend
32
- } from "./chunk-VSZRPDIZ.js";
32
+ } from "./chunk-6S53NO3M.js";
33
33
  import {
34
34
  getLegendExtent
35
35
  } from "./chunk-MTPKBSTR.js";
@@ -44,12 +44,12 @@ import {
44
44
  } from "./chunk-MTGGOCND.js";
45
45
  import {
46
46
  parseClassDiagram
47
- } from "./chunk-JR6H5MEF.js";
47
+ } from "./chunk-UNTFANSM.js";
48
48
  import {
49
49
  fillModeFromOptions,
50
50
  legendInlineRequested,
51
51
  legendSuppressed
52
- } from "./chunk-M2QQQWM3.js";
52
+ } from "./chunk-ZJJWON5O.js";
53
53
  import {
54
54
  contrastText,
55
55
  shapeFill
@@ -448,4 +448,4 @@ export {
448
448
  renderClassDiagram,
449
449
  renderClassDiagramForExport
450
450
  };
451
- //# sourceMappingURL=chunk-IOVJT4PE.js.map
451
+ //# sourceMappingURL=chunk-GCTKJDLY.js.map
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-WGC42WJU.js";
5
5
  import {
6
6
  ScaleContext
7
- } from "./chunk-YYVTBZZC.js";
7
+ } from "./chunk-24YPR5EH.js";
8
8
  import {
9
9
  renderIntegratedLegend
10
- } from "./chunk-VSZRPDIZ.js";
10
+ } from "./chunk-6S53NO3M.js";
11
11
  import {
12
12
  getMaxLegendReservedHeight
13
13
  } from "./chunk-MTPKBSTR.js";
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  fillModeFromOptions,
24
24
  legendSuppressed
25
- } from "./chunk-M2QQQWM3.js";
25
+ } from "./chunk-ZJJWON5O.js";
26
26
  import {
27
27
  contrastText,
28
28
  mix,
@@ -1603,4 +1603,4 @@ export {
1603
1603
  renderTechRadar,
1604
1604
  renderTechRadarForExport
1605
1605
  };
1606
- //# sourceMappingURL=chunk-WBPWR2CX.js.map
1606
+ //# sourceMappingURL=chunk-GK4AU57A.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-VV6HZQ5K.js";
5
5
  import {
6
6
  layoutOrg
7
- } from "./chunk-J3XFVPEU.js";
7
+ } from "./chunk-FTPNAYL2.js";
8
8
  import {
9
9
  renderCollapseBar,
10
10
  renderNodeCard
@@ -28,14 +28,14 @@ import {
28
28
  } from "./chunk-FJ57274M.js";
29
29
  import {
30
30
  ScaleContext
31
- } from "./chunk-YYVTBZZC.js";
31
+ } from "./chunk-24YPR5EH.js";
32
32
  import {
33
33
  TITLE_FONT_SIZE,
34
34
  TITLE_FONT_WEIGHT
35
35
  } from "./chunk-A4GOY3PE.js";
36
36
  import {
37
37
  renderIntegratedLegend
38
- } from "./chunk-VSZRPDIZ.js";
38
+ } from "./chunk-6S53NO3M.js";
39
39
  import {
40
40
  getMaxLegendReservedHeight
41
41
  } from "./chunk-MTPKBSTR.js";
@@ -47,7 +47,6 @@ import {
47
47
  EYE_OPEN_PATH,
48
48
  LEGEND_EYE_GAP,
49
49
  LEGEND_EYE_SIZE,
50
- LEGEND_GROUP_GAP,
51
50
  LEGEND_HEIGHT
52
51
  } from "./chunk-QX53GOI7.js";
53
52
  import {
@@ -55,14 +54,14 @@ import {
55
54
  } from "./chunk-MTGGOCND.js";
56
55
  import {
57
56
  parseOrg
58
- } from "./chunk-YXW2ZYS3.js";
57
+ } from "./chunk-7SEQPFBX.js";
59
58
  import {
60
59
  resolveTagColor,
61
60
  tagAttrKey
62
- } from "./chunk-PBXMUXBW.js";
61
+ } from "./chunk-DPGI742S.js";
63
62
  import {
64
63
  fillModeFromOptions
65
- } from "./chunk-M2QQQWM3.js";
64
+ } from "./chunk-ZJJWON5O.js";
66
65
  import {
67
66
  contrastText,
68
67
  mix,
@@ -79,8 +78,11 @@ var ANCESTOR_DOT_R = 4;
79
78
  var ANCESTOR_LABEL_FONT_SIZE = 11;
80
79
  var ANCESTOR_ROW_HEIGHT = 22;
81
80
  var ANCESTOR_TRAIL_BOTTOM_GAP = 16;
82
- function ancestorTrailReserve(count) {
83
- return count > 0 ? count * ANCESTOR_ROW_HEIGHT + ANCESTOR_TRAIL_BOTTOM_GAP : 0;
81
+ var ANCESTOR_TRAIL_TOP_INK = ANCESTOR_DOT_R + 2;
82
+ function ancestorTrailReserve(count, headroom = 0) {
83
+ if (count < 1) return 0;
84
+ const inkAboveRoot = ANCESTOR_TRAIL_BOTTOM_GAP + (count - 1) * ANCESTOR_ROW_HEIGHT + ANCESTOR_TRAIL_TOP_INK;
85
+ return Math.max(0, inkAboveRoot - headroom);
84
86
  }
85
87
  var LEGEND_FIXED_GAP = 8;
86
88
  function nodeFill(palette, isDark, nodeColor, fillMode) {
@@ -131,7 +133,7 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
131
133
  const titleOffset = showTitle ? sTitleHeight : 0;
132
134
  const legendOnly = layout.nodes.length === 0;
133
135
  const hasLegend = layout.legend.length > 0;
134
- const layoutLegendShift = LEGEND_HEIGHT + LEGEND_GROUP_GAP;
136
+ const layoutLegendShift = layout.legendShift;
135
137
  const fixedLegend = !exportDims && hasLegend && !legendOnly;
136
138
  const legendReserve = fixedLegend ? getMaxLegendReservedHeight(
137
139
  {
@@ -146,11 +148,18 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
146
148
  const titleReserve = fixedTitle ? sTitleHeight : 0;
147
149
  const hasAncestorTrail = ancestorPath && ancestorPath.length > 0;
148
150
  const ancestorTrailHeight = hasAncestorTrail ? ancestorPath.length * sAncestorRowHeight + sAncestorTrailBottomGap : 0;
151
+ const rootNodeIds = new Set(parsed.roots.map((r) => r.id));
152
+ const rootLayoutNode = layout.nodes.find((n) => rootNodeIds.has(n.id));
153
+ const rootLayoutContainer = rootLayoutNode ? null : layout.containers.find((c) => rootNodeIds.has(c.nodeId));
154
+ const rootCenterX = rootLayoutNode ? rootLayoutNode.x : rootLayoutContainer ? rootLayoutContainer.x + rootLayoutContainer.width / 2 : null;
155
+ const rootTopY = rootLayoutNode ? rootLayoutNode.y : rootLayoutContainer ? rootLayoutContainer.y : null;
156
+ const legendUnshift = fixedLegend ? layoutLegendShift : 0;
157
+ const trailShift = hasAncestorTrail && rootTopY !== null ? ancestorTrailReserve(
158
+ ancestorPath.length,
159
+ Math.max(0, rootTopY - legendUnshift)
160
+ ) : ancestorTrailHeight;
149
161
  const diagramW = layout.width;
150
- let diagramH = layout.height + (fixedTitle ? 0 : titleOffset) + ancestorTrailHeight;
151
- if (fixedLegend) {
152
- diagramH -= layoutLegendShift;
153
- }
162
+ const diagramH = layout.height + (fixedTitle ? 0 : titleOffset) - legendUnshift + trailShift;
154
163
  const availH = height - sDiagramPadding * 2 - legendReserve - titleReserve;
155
164
  const scaleX = (width - sDiagramPadding * 2) / diagramW;
156
165
  const scaleY = availH / diagramH;
@@ -182,13 +191,12 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
182
191
  }
183
192
  }
184
193
  }
185
- const contentYShift = (fixedTitle ? 0 : titleOffset) + ancestorTrailHeight;
194
+ const contentYShift = (fixedTitle ? 0 : titleOffset) - legendUnshift + trailShift;
186
195
  const contentG = mainG.append("g").attr("transform", `translate(0, ${contentYShift})`);
187
196
  const displayNames = /* @__PURE__ */ new Map();
188
197
  for (const group of parsed.tagGroups) {
189
198
  displayNames.set(tagAttrKey(group.name), group.name);
190
199
  }
191
- const rootNodeIds = new Set(parsed.roots.map((r) => r.id));
192
200
  const colorOff = parsed.options?.["color"] === "off";
193
201
  for (const c of layout.containers) {
194
202
  const cG = contentG.append("g").attr("transform", `translate(${c.x}, ${c.y})`).attr("class", "org-container").attr("data-line-number", String(c.lineNumber));
@@ -355,10 +363,6 @@ function renderOrg(container, parsed, layout, palette, isDark, onClickItem, expo
355
363
  }
356
364
  }
357
365
  if (hasAncestorTrail) {
358
- const rootNode = layout.nodes.find((n) => rootNodeIds.has(n.id));
359
- const rootContainer = !rootNode ? layout.containers.find((c) => rootNodeIds.has(c.nodeId)) : null;
360
- const rootCenterX = rootNode ? rootNode.x : rootContainer ? rootContainer.x + rootContainer.width / 2 : null;
361
- const rootTopY = rootNode ? rootNode.y : rootContainer ? rootContainer.y : null;
362
366
  if (rootCenterX !== null && rootTopY !== null) {
363
367
  const trailBottomY = rootTopY - sAncestorTrailBottomGap;
364
368
  const trailG = contentG.append("g").attr("class", "org-ancestor-trail");
@@ -489,4 +493,4 @@ export {
489
493
  renderOrg,
490
494
  renderOrgForExport
491
495
  };
492
- //# sourceMappingURL=chunk-5ECGBM5S.js.map
496
+ //# sourceMappingURL=chunk-HKL66CKW.js.map
@@ -3,12 +3,13 @@ import {
3
3
  } from "./chunk-RRX4Z4TH.js";
4
4
  import {
5
5
  AUTO_TAG_COLOR_SENTINEL,
6
+ activeTagNoMatchMessage,
6
7
  finalizeAutoTagColors,
7
8
  matchTagBlockHeading,
8
9
  stripDefaultModifier,
9
10
  tagAttrKey,
10
11
  validateTagGroupNames
11
- } from "./chunk-PBXMUXBW.js";
12
+ } from "./chunk-DPGI742S.js";
12
13
  import {
13
14
  MAP_DIRECTIVE_KEY_SET,
14
15
  MAP_REGISTRY,
@@ -17,7 +18,7 @@ import {
17
18
  peelRampColors,
18
19
  splitNameAndMeta,
19
20
  withTagAliases
20
- } from "./chunk-M2QQQWM3.js";
21
+ } from "./chunk-ZJJWON5O.js";
21
22
  import {
22
23
  NEGATIVE_VALUE_DX,
23
24
  emit,
@@ -80,8 +81,8 @@ function parseMap(content, palette) {
80
81
  pushError(line, message);
81
82
  return result;
82
83
  };
83
- const pushWarning = (line, message) => {
84
- diagnostics.push(makeDgmoError(line, message, "warning"));
84
+ const pushWarning = (line, message, code) => {
85
+ diagnostics.push(makeDgmoError(line, message, "warning", code));
85
86
  };
86
87
  const lines = content.split("\n");
87
88
  let firstIdx = 0;
@@ -109,6 +110,7 @@ function parseMap(content, palette) {
109
110
  const routes = result.routes;
110
111
  const edges = result.edges;
111
112
  const aliasMap = /* @__PURE__ */ new Map();
113
+ let activeTagOptionLine = 0;
112
114
  const open = { tag: null, route: null, poi: null };
113
115
  const registry = () => withTagAliases(MAP_REGISTRY, new Set(aliasMap.keys()));
114
116
  const tagGroupNames = () => new Set(tagGroups.map((g) => tagAttrKey(g.name)));
@@ -202,16 +204,18 @@ function parseMap(content, palette) {
202
204
  pushWarning,
203
205
  (line, m) => pushError(line, m)
204
206
  );
205
- const at = result.directives.activeTag;
206
- if (at && at.toLowerCase() !== "none") {
207
- const names = tagGroupNames();
208
- if (!names.has(at.toLowerCase())) {
209
- const hint = tagGroups.length ? ` Declared groups: ${tagGroups.map((g) => g.name).join(", ")}.` : " No tag groups are declared.";
210
- pushWarning(
211
- 0,
212
- `active-tag "${at}" does not match a declared tag group.${hint}`
213
- );
214
- }
207
+ const activeTagWarning = activeTagNoMatchMessage(
208
+ result.directives.activeTag,
209
+ tagGroups,
210
+ regions.some((r) => r.value !== void 0) ? [result.directives.regionMetric?.trim() || "Value"] : [],
211
+ "the value ramp"
212
+ );
213
+ if (activeTagWarning) {
214
+ pushWarning(
215
+ activeTagOptionLine || 1,
216
+ activeTagWarning,
217
+ "W_ACTIVE_TAG_NO_MATCH"
218
+ );
215
219
  }
216
220
  return result;
217
221
  function rejectForeignChannels(meta, own, line) {
@@ -272,6 +276,7 @@ function parseMap(content, palette) {
272
276
  case "active-tag":
273
277
  dup(d.activeTag);
274
278
  d.activeTag = value;
279
+ activeTagOptionLine = line;
275
280
  break;
276
281
  case "caption":
277
282
  dup(d.caption);
@@ -652,4 +657,4 @@ export {
652
657
  looksLikeMap,
653
658
  parseMap
654
659
  };
655
- //# sourceMappingURL=chunk-Z4KRDDZC.js.map
660
+ //# sourceMappingURL=chunk-HWNF22ZZ.js.map