@diagrammo/dgmo 0.77.0 → 0.78.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 (228) hide show
  1. package/README.md +17 -13
  2. package/dist/advanced.d.ts +19 -12
  3. package/dist/advanced.js +124 -120
  4. package/dist/block.css +1 -1
  5. package/dist/block.d.ts +2 -2
  6. package/dist/block.js +45 -41
  7. package/dist/{chart-meta-Cf_jkApJ.d.ts → chart-meta-BKN2ORkc.d.ts} +2 -2
  8. package/dist/chart-meta.d.ts +3 -3
  9. package/dist/chart-meta.js +30 -29
  10. package/dist/charts-d3-KEQ7XVSM.js +31 -0
  11. package/dist/{chunk-7IATMZSA.js → chunk-26EVL454.js} +1 -25
  12. package/dist/{chunk-3H4PDNP4.js → chunk-2NLBIZEW.js} +2 -2
  13. package/dist/{chunk-BH3BQICT.js → chunk-32VR65TL.js} +63 -36
  14. package/dist/{chunk-N5NQIZ56.js → chunk-36UQ77JV.js} +24 -24
  15. package/dist/chunk-3DPOIW3W.js +10 -0
  16. package/dist/{chunk-3SP6G4LN.js → chunk-3GLTQZKE.js} +2 -2
  17. package/dist/{chunk-DY7KDZUF.js → chunk-3OWIYK52.js} +2 -2
  18. package/dist/{chunk-3E4YB6TY.js → chunk-3XFOE3DQ.js} +12 -7
  19. package/dist/{chunk-W7UBPARG.js → chunk-3ZLQM6XN.js} +2 -2
  20. package/dist/{chunk-5GM6BZO7.js → chunk-4AWLEWSD.js} +5 -2
  21. package/dist/{chunk-SWUQJ5VR.js → chunk-4IGUEGD6.js} +80 -61
  22. package/dist/{chunk-QOVM5VRC.js → chunk-57GSSHBR.js} +2 -2
  23. package/dist/{chunk-5VMUVJO4.js → chunk-5G55TS3H.js} +2 -2
  24. package/dist/{chunk-U4DS2ODO.js → chunk-67I3HFSF.js} +9 -9
  25. package/dist/{chunk-WQXD3IIN.js → chunk-6B3M6LW6.js} +10 -8
  26. package/dist/{chunk-TKIPK5P6.js → chunk-6PHOZBW5.js} +4 -6
  27. package/dist/{chunk-5PFNUDXR.js → chunk-6VTLVU7D.js} +2 -2
  28. package/dist/{chunk-M5JT2AU7.js → chunk-6Z2NUJSX.js} +2 -2
  29. package/dist/{chunk-BWJLLNUX.js → chunk-7BNRHSSF.js} +2 -2
  30. package/dist/{chunk-JLODGGN2.js → chunk-7NNJXYXU.js} +2 -2
  31. package/dist/{chunk-FTTB64OJ.js → chunk-7SMVTA7I.js} +26 -26
  32. package/dist/{chunk-Z7KVOVE4.js → chunk-7WTFX6OA.js} +6 -3
  33. package/dist/{chunk-ZM27UI5O.js → chunk-A7Y32YD6.js} +2 -2
  34. package/dist/{chunk-FPRMP6YA.js → chunk-AHN2CVCH.js} +10 -7
  35. package/dist/{chunk-N6MZSBOL.js → chunk-AN7T6VP7.js} +2 -2
  36. package/dist/{chunk-F4X5NVKY.js → chunk-B6PVPAS5.js} +2 -2
  37. package/dist/{chunk-RV5A3EGI.js → chunk-BB2ORSTF.js} +19 -18
  38. package/dist/{chunk-SI3PYDL4.js → chunk-BJB4YDJP.js} +21 -21
  39. package/dist/{chunk-FR5EVD2X.js → chunk-BPM52K3Z.js} +38 -31
  40. package/dist/{chunk-TI4YUUW6.js → chunk-BSREARWG.js} +29 -28
  41. package/dist/{chunk-F4V67JXG.js → chunk-CTERZC4K.js} +2 -2
  42. package/dist/{chunk-WHWUVDYK.js → chunk-CYLSQO4L.js} +6 -6
  43. package/dist/{chunk-J76YDS4V.js → chunk-DCPD5SHV.js} +3 -3
  44. package/dist/{chunk-H7BYMIVK.js → chunk-ENDB5YSV.js} +67 -27
  45. package/dist/{chunk-RTTZIX34.js → chunk-EOB7XVYR.js} +2 -2
  46. package/dist/chunk-EPDBWATV.js +38 -0
  47. package/dist/{chunk-TPN7RJOM.js → chunk-FJADQOFQ.js} +3 -3
  48. package/dist/{chunk-MG3DE3VO.js → chunk-FLMXJMMY.js} +3 -3
  49. package/dist/{chunk-WGC42WJU.js → chunk-FWNJDD4U.js} +6 -2
  50. package/dist/{chunk-S5P5Z5Y5.js → chunk-GINNZHVN.js} +2 -2
  51. package/dist/{chunk-LYJ53DBK.js → chunk-GJH7ZEPH.js} +41 -36
  52. package/dist/{chunk-2MTM4E6M.js → chunk-GQEXY7XL.js} +68 -65
  53. package/dist/{chunk-XFXJXLK7.js → chunk-HHHYVTVS.js} +16 -16
  54. package/dist/chunk-ICLB27PZ.js +11 -0
  55. package/dist/{chunk-QMFIZQTB.js → chunk-IDGQB6XD.js} +6 -4
  56. package/dist/{chunk-R3XI2VC7.js → chunk-IDJGV6VM.js} +2 -1
  57. package/dist/{chunk-HDLRRY3N.js → chunk-IE47TYZT.js} +177 -118
  58. package/dist/{chunk-FJ57274M.js → chunk-IIEI7VK5.js} +15 -1
  59. package/dist/{chunk-XPBJVSRY.js → chunk-IMO46ROR.js} +38 -32
  60. package/dist/{chunk-VRPV6QXR.js → chunk-IZTU6WVR.js} +2 -2
  61. package/dist/{chunk-CIWFL2LM.js → chunk-JOD2CK2M.js} +16 -14
  62. package/dist/{chunk-XCFIAGT7.js → chunk-JUNTVLOU.js} +16 -15
  63. package/dist/{chunk-RWFMOVHG.js → chunk-KAZQX2EY.js} +2 -2
  64. package/dist/{chunk-NHQ7HUAS.js → chunk-KGX5LIUG.js} +10 -8
  65. package/dist/{chunk-Q74GP3GK.js → chunk-KO6DGOOB.js} +3 -3
  66. package/dist/{chunk-5ZD4DDG7.js → chunk-L26M3X7K.js} +16 -13
  67. package/dist/{chunk-RU2HHHYA.js → chunk-LD2JSKU3.js} +12 -2
  68. package/dist/{chunk-OO2L2LWV.js → chunk-LEBPWFVF.js} +50 -46
  69. package/dist/{chunk-MU3CJPJF.js → chunk-LGI735AJ.js} +2 -2
  70. package/dist/{chunk-OWVDD5EC.js → chunk-LMWXBFLA.js} +2 -2
  71. package/dist/{chunk-6IN4F4RH.js → chunk-M3LZCDB6.js} +40 -42
  72. package/dist/{chunk-YT5ICQ4R.js → chunk-MFK7LF66.js} +2 -2
  73. package/dist/{chunk-UH5YTZN7.js → chunk-MJYFPFZT.js} +110 -20
  74. package/dist/{chunk-2QRIMMIH.js → chunk-N56W4R66.js} +2 -2
  75. package/dist/{chunk-LXXVHLTH.js → chunk-NN5IDH2I.js} +2 -2
  76. package/dist/{chunk-46KVXDUJ.js → chunk-NS3KIRSW.js} +2 -2
  77. package/dist/{chunk-LM3HY3VG.js → chunk-P2DM7Q5U.js} +2 -2
  78. package/dist/{chunk-DJL5PO27.js → chunk-P4SQV3XD.js} +2 -2
  79. package/dist/{chunk-B52RL5VV.js → chunk-P54AX5XN.js} +9 -9
  80. package/dist/{chunk-MZEGUDTA.js → chunk-P64NBPSK.js} +14 -14
  81. package/dist/{chunk-FF7LRT5L.js → chunk-PIWUZFG7.js} +33 -25
  82. package/dist/{chunk-SWEKCK34.js → chunk-QAPFXLAC.js} +2 -2
  83. package/dist/chunk-QFIXL3OK.js +68 -0
  84. package/dist/{chunk-KRTLS3G6.js → chunk-QVMV4KCA.js} +2 -2
  85. package/dist/{chunk-76LHNLGX.js → chunk-R4YGH7DJ.js} +5 -3
  86. package/dist/{chunk-OZOHREFQ.js → chunk-RC3FM3FE.js} +12 -13
  87. package/dist/{chunk-UJBP57UJ.js → chunk-RC6GGF6X.js} +2 -2
  88. package/dist/{chunk-S6OXNZBM.js → chunk-RHZZVIGA.js} +3 -3
  89. package/dist/{chunk-MS5574I7.js → chunk-RIXWLFB4.js} +2 -2
  90. package/dist/{chunk-D3B6YEZK.js → chunk-RUNI4OXP.js} +18 -14
  91. package/dist/{chunk-ICVIJLBA.js → chunk-SFSJ6XWV.js} +2 -2
  92. package/dist/{chunk-QBM5BURJ.js → chunk-SNBEAO4Q.js} +8 -8
  93. package/dist/{chunk-DSXWJAOA.js → chunk-SXD6VY7D.js} +16 -14
  94. package/dist/{chunk-V4NHFY22.js → chunk-TLM3I4XF.js} +16 -16
  95. package/dist/{chunk-3O7ZYVJV.js → chunk-TO6TWNMF.js} +19 -15
  96. package/dist/{chunk-CYMYZYLI.js → chunk-U2JIFCJN.js} +18 -18
  97. package/dist/{chunk-SSEAULA5.js → chunk-U4ND3J6C.js} +18 -14
  98. package/dist/{chunk-QXMHBIQG.js → chunk-UCF6TKWV.js} +51 -48
  99. package/dist/{chunk-RGW26UAR.js → chunk-UDYJVX6Y.js} +9 -9
  100. package/dist/{chunk-7CXW6EGX.js → chunk-UQY2VLUK.js} +25 -23
  101. package/dist/{chunk-EUVUOPRC.js → chunk-VAA7QSZ7.js} +53 -32
  102. package/dist/{chunk-43AJKH2U.js → chunk-VQGQF7O7.js} +12 -10
  103. package/dist/{chunk-DEW62ON3.js → chunk-VSPNH7LC.js} +2 -2
  104. package/dist/{chunk-4YER7UCV.js → chunk-VUJQ6RU6.js} +2 -2
  105. package/dist/{chunk-CHOK7NCJ.js → chunk-VZD3ZV4Y.js} +26 -22
  106. package/dist/{chunk-NCT22MOD.js → chunk-WMIKC5XO.js} +2 -2
  107. package/dist/{chunk-C2WH3BMS.js → chunk-X326N4GN.js} +10 -7
  108. package/dist/chunk-XBJJP2HN.js +37 -0
  109. package/dist/{chunk-7NSNE52V.js → chunk-XCR3PDFF.js} +2 -2
  110. package/dist/{chunk-UBDVAHGK.js → chunk-XDPJMLOH.js} +30 -27
  111. package/dist/{chunk-CF3I5SOG.js → chunk-YKDZ3ZRI.js} +27 -25
  112. package/dist/{chunk-GLREDNBA.js → chunk-YVLTNNME.js} +12 -2
  113. package/dist/{chunk-6ZZKEYBS.js → chunk-ZGOBAMQ2.js} +15 -13
  114. package/dist/{chunk-6BVAW7KI.js → chunk-ZMCFUGKO.js} +49 -42
  115. package/dist/clock.js +11 -5
  116. package/dist/completion-registry.js +2 -2
  117. package/dist/countdown.js +26 -20
  118. package/dist/{d3-BiaJtaSw.d.ts → d3-CQT5bwpb.d.ts} +1 -1
  119. package/dist/{dgmo-router-BwXHZ_P3.d.ts → dgmo-router-C9CsswPZ.d.ts} +1 -1
  120. package/dist/{dgmo-router-A3LIHT6H.js → dgmo-router-XZNCLYTV.js} +30 -29
  121. package/dist/{dimensions-OFF4GRFL.js → dimensions-SIZMZ4DC.js} +8 -8
  122. package/dist/{flowchart-renderer-BBJUPORB.js → flowchart-renderer-FDJ4QQXE.js} +15 -14
  123. package/dist/index.d.ts +7 -7
  124. package/dist/index.js +58 -43
  125. package/dist/{layout-Y2V3LYV7.js → layout-5DZ2LI2R.js} +2 -2
  126. package/dist/{layout-ZAGUFT2G.js → layout-6I6LSBUR.js} +6 -5
  127. package/dist/{layout-2OJ25STS.js → layout-C2SCZV5M.js} +6 -5
  128. package/dist/{layout-6SKHNQYO.js → layout-CHWKNE3O.js} +3 -3
  129. package/dist/{layout-EM4DLMAX.js → layout-K4KML2DL.js} +3 -3
  130. package/dist/{layout-KQUSB45X.js → layout-S53FSD6R.js} +7 -6
  131. package/dist/{layout-ROORJQ4X.js → layout-TCFXB5XH.js} +7 -6
  132. package/dist/{layout-5ILNODTP.js → layout-XK6ZD7BU.js} +6 -5
  133. package/dist/{layout-B5GQVXXY.js → layout-YVY72CIG.js} +7 -6
  134. package/dist/{layout-VUZ3MLOI.js → layout-YY6VH5XH.js} +6 -5
  135. package/dist/{layout-RV2T2YTT.js → layout-ZDN252GR.js} +4 -3
  136. package/dist/{layout-search-UOKEMER5.js → layout-search-TSV4FURP.js} +7 -6
  137. package/dist/{legend-constants-PLN2YHGM.js → legend-constants-SB4PLHV5.js} +3 -3
  138. package/dist/{palettes-54YSI3IX.js → palettes-YIPSRYXP.js} +5 -3
  139. package/dist/{parser-GCVSRQPY.js → parser-2BX2EJUB.js} +3 -3
  140. package/dist/{parser-WVE6SKB7.js → parser-3UNIPVNY.js} +3 -3
  141. package/dist/{parser-5XFGK5C5.js → parser-4IHIVDJD.js} +5 -5
  142. package/dist/{parser-ZT3PU2HT.js → parser-62VNEQRT.js} +3 -3
  143. package/dist/{parser-PR3OR3LO.js → parser-6JNJHQAG.js} +3 -3
  144. package/dist/{parser-ZXQZZK6W.js → parser-6ZFQLLVE.js} +3 -2
  145. package/dist/{parser-WMJEPZDC.js → parser-BOPXE6RP.js} +3 -3
  146. package/dist/{parser-WWRRG2DV.js → parser-DFBQ2RID.js} +3 -3
  147. package/dist/{parser-2GMHFSTS.js → parser-EPKXJ2RL.js} +3 -3
  148. package/dist/{parser-ML3LVNDV.js → parser-G7E2BURB.js} +3 -3
  149. package/dist/{parser-QOIZGW7I.js → parser-GFGU5ZLQ.js} +3 -3
  150. package/dist/{parser-L7T7FY3H.js → parser-GKZWI5SZ.js} +3 -3
  151. package/dist/{parser-QYAIFXLP.js → parser-HSPODF4H.js} +3 -3
  152. package/dist/{parser-EQ4I3TSH.js → parser-IK3FXZ7D.js} +3 -3
  153. package/dist/{parser-LV7PQBUG.js → parser-LJWPKRDM.js} +3 -3
  154. package/dist/{parser-RDBXEVI4.js → parser-OYWUBQV4.js} +3 -3
  155. package/dist/{parser-6FUESG4N.js → parser-PD4TP6NM.js} +3 -3
  156. package/dist/{parser-E3OHNNTH.js → parser-R2JHC7LQ.js} +3 -3
  157. package/dist/{parser-CJNP7RKR.js → parser-RMZ6YI7H.js} +3 -3
  158. package/dist/{parser-TA5TYZNL.js → parser-RUJNN5PK.js} +3 -3
  159. package/dist/{parser-UTR5WE4O.js → parser-YWE7GHW6.js} +3 -3
  160. package/dist/{parser-3AOMUX5D.js → parser-Z5UK6ADF.js} +3 -3
  161. package/dist/{parser-YWQCC33R.js → parser-ZO5YT5SV.js} +3 -3
  162. package/dist/renderer-5TPUPMZ7.js +26 -0
  163. package/dist/{renderer-2NYQDW37.js → renderer-AIVALEQR.js} +7 -7
  164. package/dist/renderer-AMELXBNW.js +23 -0
  165. package/dist/renderer-BF7FYXG3.js +25 -0
  166. package/dist/renderer-CRRW7LTW.js +17 -0
  167. package/dist/renderer-CXU2MGSC.js +27 -0
  168. package/dist/renderer-DI66RLAG.js +30 -0
  169. package/dist/renderer-E2JTYQY5.js +39 -0
  170. package/dist/{renderer-Y3Y7PEUS.js → renderer-FA4BTAOL.js} +7 -7
  171. package/dist/{renderer-G2DPKJAN.js → renderer-FFGFTIT4.js} +15 -14
  172. package/dist/renderer-IVAM7Z3Y.js +27 -0
  173. package/dist/renderer-J6HK2KOW.js +23 -0
  174. package/dist/renderer-J7J3OVLQ.js +39 -0
  175. package/dist/{renderer-GHBF5PRH.js → renderer-JC7MK7SD.js} +6 -5
  176. package/dist/{renderer-VF7X66SL.js → renderer-JHQC5RGJ.js} +14 -14
  177. package/dist/renderer-JRITSZY3.js +28 -0
  178. package/dist/{renderer-ANJUDBOS.js → renderer-KD5X4RIS.js} +14 -13
  179. package/dist/{renderer-CVWQD442.js → renderer-KWNNWCGD.js} +6 -5
  180. package/dist/{renderer-FTX67CYZ.js → renderer-LGMIAG6N.js} +7 -6
  181. package/dist/{renderer-EDVCGIQO.js → renderer-LQN3FXAP.js} +33 -32
  182. package/dist/renderer-LRL4SU43.js +29 -0
  183. package/dist/{renderer-R5HIRN2M.js → renderer-MBL64AJI.js} +6 -6
  184. package/dist/renderer-NA3DTAWF.js +39 -0
  185. package/dist/renderer-OR5QHR7X.js +31 -0
  186. package/dist/renderer-SBVWHQVW.js +30 -0
  187. package/dist/{renderer-DNFV2IQI.js → renderer-TLOSBJKW.js} +13 -13
  188. package/dist/{renderer-EFQSMHID.js → renderer-UDWJRRIC.js} +11 -11
  189. package/dist/renderer-VHK6UAW2.js +20 -0
  190. package/dist/{renderer-2ANDPQWC.js → renderer-W5UG2HWT.js} +5 -5
  191. package/dist/renderer-WOOKJOBQ.js +25 -0
  192. package/dist/renderer-WYNLGZRF.js +25 -0
  193. package/dist/{renderer-RNFECJ5D.js → renderer-Y74Y54C3.js} +8 -8
  194. package/dist/renderer-ZUAXGHFC.js +28 -0
  195. package/dist/renderer-radial-YVUDGR7C.js +21 -0
  196. package/dist/{state-parser-TPA67IXM.js → state-parser-CT5HQQ7E.js} +3 -3
  197. package/dist/state-renderer-7O3QGNJ5.js +41 -0
  198. package/dist/{tag-groups-BAtkq0b_.d.ts → tag-groups-BoJg3lFV.d.ts} +0 -16
  199. package/dist/{themes-DpsyRSO7.d.ts → themes-CXYnNA4e.d.ts} +2 -2
  200. package/docs/architecture-report.md +3 -3
  201. package/docs/language-reference.md +122 -30
  202. package/docs/migration-sequence-color-to-tags.md +16 -8
  203. package/package.json +4 -4
  204. package/dist/charts-d3-HMEMHSSW.js +0 -29
  205. package/dist/chunk-53SEVJQM.js +0 -9
  206. package/dist/chunk-LP7EC4MI.js +0 -16
  207. package/dist/chunk-YM5RMLFO.js +0 -40
  208. package/dist/renderer-2LDT4TUX.js +0 -25
  209. package/dist/renderer-2RIIIO34.js +0 -39
  210. package/dist/renderer-3HFU3DTO.js +0 -25
  211. package/dist/renderer-4BF6ILP6.js +0 -27
  212. package/dist/renderer-5E2AH5TO.js +0 -38
  213. package/dist/renderer-62SLWRYF.js +0 -27
  214. package/dist/renderer-D6GJ6EVK.js +0 -30
  215. package/dist/renderer-GZLRX764.js +0 -24
  216. package/dist/renderer-H2HYLFN3.js +0 -20
  217. package/dist/renderer-IR5655M7.js +0 -28
  218. package/dist/renderer-L237AOOZ.js +0 -16
  219. package/dist/renderer-LSJWYGOL.js +0 -39
  220. package/dist/renderer-LWXDMZOV.js +0 -28
  221. package/dist/renderer-MYSVPERC.js +0 -22
  222. package/dist/renderer-OL5QSZPC.js +0 -31
  223. package/dist/renderer-P26HH3NA.js +0 -30
  224. package/dist/renderer-RPZVNCTF.js +0 -26
  225. package/dist/renderer-SDNWZDUY.js +0 -23
  226. package/dist/renderer-UKHH4UWV.js +0 -25
  227. package/dist/renderer-radial-QNGCGKZP.js +0 -21
  228. package/dist/state-renderer-ELWDRXD6.js +0 -40
@@ -7,7 +7,7 @@ import {
7
7
  META_FONT_SIZE,
8
8
  META_LINE_HEIGHT,
9
9
  SEPARATOR_GAP
10
- } from "./chunk-FJ57274M.js";
10
+ } from "./chunk-IIEI7VK5.js";
11
11
  import {
12
12
  measureText
13
13
  } from "./chunk-MTGGOCND.js";
@@ -489,4 +489,4 @@ export {
489
489
  focusFamily,
490
490
  layoutFamily
491
491
  };
492
- //# sourceMappingURL=chunk-RTTZIX34.js.map
492
+ //# sourceMappingURL=chunk-EOB7XVYR.js.map
@@ -0,0 +1,38 @@
1
+ // src/utils/fit-canvas.ts
2
+ var MIN_CANVAS_WIDTH = 480;
3
+ function fitDiagramToCanvas(p) {
4
+ const scaleX = (p.width - p.padding * 2) / p.diagramW;
5
+ let scale;
6
+ let canvasHeight;
7
+ let canvasWidth;
8
+ if (p.exportMode) {
9
+ scale = Math.min(p.maxScale, scaleX, 1);
10
+ canvasHeight = p.titleHeight + p.diagramH * scale + p.padding * 2;
11
+ canvasWidth = Math.round(
12
+ Math.min(
13
+ p.width,
14
+ Math.max(MIN_CANVAS_WIDTH, p.diagramW * scale + p.padding * 2)
15
+ )
16
+ );
17
+ } else {
18
+ const availH = p.height - p.titleHeight;
19
+ const scaleY = (availH - p.padding * 2) / p.diagramH;
20
+ scale = Math.min(p.maxScale, scaleX, scaleY);
21
+ canvasHeight = p.height;
22
+ canvasWidth = p.width;
23
+ }
24
+ const scaledW = p.diagramW * scale;
25
+ return {
26
+ scale,
27
+ offsetX: (canvasWidth - scaledW) / 2,
28
+ offsetY: p.titleHeight + p.padding,
29
+ canvasHeight,
30
+ canvasWidth
31
+ };
32
+ }
33
+
34
+ export {
35
+ MIN_CANVAS_WIDTH,
36
+ fitDiagramToCanvas
37
+ };
38
+ //# sourceMappingURL=chunk-EPDBWATV.js.map
@@ -17,7 +17,7 @@ import {
17
17
  stripDefaultModifier,
18
18
  tagAttrKey,
19
19
  validateTagGroupNames
20
- } from "./chunk-76LHNLGX.js";
20
+ } from "./chunk-R4YGH7DJ.js";
21
21
  import {
22
22
  AliasRegistry,
23
23
  GANTT_BOOLEAN_SET,
@@ -35,7 +35,7 @@ import {
35
35
  } from "./chunk-M5OOAP65.js";
36
36
  import {
37
37
  getSeriesColors
38
- } from "./chunk-GLREDNBA.js";
38
+ } from "./chunk-YVLTNNME.js";
39
39
  import {
40
40
  formatDgmoError,
41
41
  makeDgmoError
@@ -1381,4 +1381,4 @@ export {
1381
1381
  GANTT_KNOWN_OPTIONS,
1382
1382
  GANTT_KNOWN_BOOLEANS
1383
1383
  };
1384
- //# sourceMappingURL=chunk-TPN7RJOM.js.map
1384
+ //# sourceMappingURL=chunk-FJADQOFQ.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  TITLE_FONT_SIZE,
3
3
  TITLE_Y
4
- } from "./chunk-DEW62ON3.js";
4
+ } from "./chunk-VSPNH7LC.js";
5
5
  import {
6
6
  LEGEND_HEIGHT
7
- } from "./chunk-YT5ICQ4R.js";
7
+ } from "./chunk-MFK7LF66.js";
8
8
  import {
9
9
  measureText
10
10
  } from "./chunk-MTGGOCND.js";
@@ -83,4 +83,4 @@ export {
83
83
  INLINE_HEADER_PAD,
84
84
  layoutInlineHeader
85
85
  };
86
- //# sourceMappingURL=chunk-MG3DE3VO.js.map
86
+ //# sourceMappingURL=chunk-FLMXJMMY.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ MONO_FAMILY
3
+ } from "./chunk-ICLB27PZ.js";
4
+
1
5
  // src/utils/safe-href.ts
2
6
  var ALLOWED_SCHEMES = ["http", "https", "mailto"];
3
7
  var SCHEME_RE = /^([a-z][a-z0-9+.-]*):/i;
@@ -76,7 +80,7 @@ function renderInlineText(textEl, text, palette, fontSize) {
76
80
  if (span.bold) tspan.attr("font-weight", "bold");
77
81
  if (span.italic) tspan.attr("font-style", "italic");
78
82
  if (span.code) {
79
- tspan.attr("font-family", "monospace");
83
+ tspan.attr("font-family", MONO_FAMILY);
80
84
  if (fontSize) tspan.attr("font-size", fontSize - 1);
81
85
  }
82
86
  }
@@ -90,4 +94,4 @@ export {
90
94
  stripInlineMarkdown,
91
95
  renderInlineText
92
96
  };
93
- //# sourceMappingURL=chunk-WGC42WJU.js.map
97
+ //# sourceMappingURL=chunk-FWNJDD4U.js.map
@@ -11,7 +11,7 @@ import {
11
11
  matchTagBlockHeading,
12
12
  stripDefaultModifier,
13
13
  tagAttrKey
14
- } from "./chunk-76LHNLGX.js";
14
+ } from "./chunk-R4YGH7DJ.js";
15
15
  import {
16
16
  FAMILY_PERSON_REGISTRY,
17
17
  FAMILY_UNION_REGISTRY,
@@ -571,4 +571,4 @@ export {
571
571
  FAMILY_DIAGNOSTICS,
572
572
  parseFamily
573
573
  };
574
- //# sourceMappingURL=chunk-S5P5Z5Y5.js.map
574
+ //# sourceMappingURL=chunk-GINNZHVN.js.map
@@ -4,42 +4,48 @@ import {
4
4
  renderNoteBadge,
5
5
  renderNoteBox,
6
6
  renderNoteConnector
7
- } from "./chunk-Q74GP3GK.js";
7
+ } from "./chunk-KO6DGOOB.js";
8
+ import {
9
+ appendArrowheadMarkers,
10
+ appendReverseArrowheadMarkers
11
+ } from "./chunk-XBJJP2HN.js";
8
12
  import {
9
13
  wrapDescriptionLines
10
- } from "./chunk-NCT22MOD.js";
14
+ } from "./chunk-WMIKC5XO.js";
11
15
  import {
12
16
  renderInlineText,
13
17
  stripInlineMarkdown
14
- } from "./chunk-WGC42WJU.js";
18
+ } from "./chunk-FWNJDD4U.js";
15
19
  import {
20
+ ScaleContext
21
+ } from "./chunk-24YPR5EH.js";
22
+ import {
23
+ ARROWHEAD_HEIGHT,
24
+ ARROWHEAD_WIDTH,
16
25
  CARD_RADIUS,
17
26
  CONTAINER_RADIUS,
18
27
  EDGE_LABEL_KNOCKOUT_OPACITY,
19
28
  EDGE_STROKE_WIDTH,
20
29
  NODE_STROKE_WIDTH
21
- } from "./chunk-FJ57274M.js";
22
- import {
23
- ScaleContext
24
- } from "./chunk-24YPR5EH.js";
30
+ } from "./chunk-IIEI7VK5.js";
25
31
  import {
26
32
  layoutInlineHeader
27
- } from "./chunk-MG3DE3VO.js";
33
+ } from "./chunk-FLMXJMMY.js";
28
34
  import {
29
35
  TITLE_FONT_SIZE,
30
36
  TITLE_FONT_WEIGHT,
31
37
  TITLE_Y
32
- } from "./chunk-DEW62ON3.js";
38
+ } from "./chunk-VSPNH7LC.js";
33
39
  import {
34
40
  renderIntegratedLegend
35
- } from "./chunk-U4DS2ODO.js";
41
+ } from "./chunk-67I3HFSF.js";
36
42
  import {
37
43
  getLegendExtent,
38
44
  getMaxLegendReservedHeight
39
- } from "./chunk-VRPV6QXR.js";
45
+ } from "./chunk-IZTU6WVR.js";
40
46
  import {
41
47
  FONT_FAMILY
42
- } from "./chunk-53SEVJQM.js";
48
+ } from "./chunk-ICLB27PZ.js";
43
49
  import {
44
50
  CHAR_WIDTH_RATIO,
45
51
  measureText,
@@ -47,7 +53,7 @@ import {
47
53
  } from "./chunk-MTGGOCND.js";
48
54
  import {
49
55
  resolveTagColor
50
- } from "./chunk-76LHNLGX.js";
56
+ } from "./chunk-R4YGH7DJ.js";
51
57
  import {
52
58
  fillModeFromOptions,
53
59
  legendInlineRequested,
@@ -60,7 +66,7 @@ import {
60
66
  shapeFill,
61
67
  themeBaseBg,
62
68
  valueRampColor
63
- } from "./chunk-GLREDNBA.js";
69
+ } from "./chunk-YVLTNNME.js";
64
70
  import {
65
71
  resolveColor
66
72
  } from "./chunk-XOGQY4EC.js";
@@ -74,8 +80,6 @@ var MIN_NODE_FONT_SIZE = 9;
74
80
  var EDGE_LABEL_FONT_SIZE = 11;
75
81
  var NODE_RX = CARD_RADIUS;
76
82
  var COLLAPSE_BAR_HEIGHT = 4;
77
- var ARROWHEAD_W = 5;
78
- var ARROWHEAD_H = 4;
79
83
  var DESC_FONT_SIZE = 10;
80
84
  var DESC_LINE_HEIGHT = 1.4;
81
85
  var MAX_DESC_LINES = 6;
@@ -228,20 +232,21 @@ function edgeColor(edge, tagGroups, activeGroupName, palette) {
228
232
  return palette.textMuted;
229
233
  }
230
234
  function ensureArrowMarkers(defs, colors) {
231
- for (const color of colors) {
232
- const id = `bl-arrow-${color.replace("#", "")}`;
233
- if (!defs.select(`#${id}`).empty()) continue;
234
- defs.append("marker").attr("id", id).attr("viewBox", `0 0 ${ARROWHEAD_W * 2} ${ARROWHEAD_H * 2}`).attr("refX", ARROWHEAD_W * 2).attr("refY", ARROWHEAD_H).attr("markerWidth", ARROWHEAD_W).attr("markerHeight", ARROWHEAD_H).attr("orient", "auto").append("polygon").attr(
235
- "points",
236
- `0,0 ${ARROWHEAD_W * 2},${ARROWHEAD_H} 0,${ARROWHEAD_H * 2}`
237
- ).attr("fill", color);
238
- const revId = `bl-arrow-rev-${color.replace("#", "")}`;
239
- if (!defs.select(`#${revId}`).empty()) continue;
240
- defs.append("marker").attr("id", revId).attr("viewBox", `0 0 ${ARROWHEAD_W * 2} ${ARROWHEAD_H * 2}`).attr("refX", 0).attr("refY", ARROWHEAD_H).attr("markerWidth", ARROWHEAD_W).attr("markerHeight", ARROWHEAD_H).attr("orient", "auto").append("polygon").attr(
241
- "points",
242
- `${ARROWHEAD_W * 2},0 0,${ARROWHEAD_H} ${ARROWHEAD_W * 2},${ARROWHEAD_H * 2}`
243
- ).attr("fill", color);
244
- }
235
+ const fresh = [...colors].filter(
236
+ (color) => defs.select(`#bl-arrow-${color.replace("#", "")}`).empty()
237
+ );
238
+ if (fresh.length === 0) return;
239
+ const opts = {
240
+ idPrefix: "bl",
241
+ width: ARROWHEAD_WIDTH,
242
+ height: ARROWHEAD_HEIGHT,
243
+ // Every marker here is per-colour; the base id is never referenced, so it
244
+ // takes the first colour rather than introducing a palette dependency.
245
+ baseFill: fresh[0],
246
+ colors: fresh
247
+ };
248
+ appendArrowheadMarkers(defs, opts);
249
+ appendReverseArrowheadMarkers(defs, opts);
245
250
  }
246
251
  function renderBoxesAndLines(container, parsed, layout, palette, isDark, options) {
247
252
  const {
@@ -446,7 +451,7 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
446
451
  const lineH = fitted.fontSize * 1.3;
447
452
  const totalH = fitted.lines.length * lineH;
448
453
  for (let li = 0; li < fitted.lines.length; li++) {
449
- groupG.append("text").attr("class", "bl-group-label").attr("x", group.x).attr("y", group.y - totalH / 2 + lineH / 2 + li * lineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", fitted.fontSize).attr("font-weight", "600").attr("fill", palette.text).text(fitted.lines[li]);
454
+ groupG.append("text").attr("class", "bl-group-label").attr("x", group.x).attr("y", group.y - totalH / 2 + lineH / 2 + li * lineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", fitted.fontSize).attr("font-weight", "bold").attr("fill", palette.text).text(fitted.lines[li]);
450
455
  }
451
456
  if (group.childCount !== void 0 && group.childCount > 0) {
452
457
  const chipFont = Math.max(9, sMinNodeFontSize - 2);
@@ -458,11 +463,11 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
458
463
  const chipCx = gx + group.width - chipW / 2 - 6;
459
464
  const chipCy = gy + chipH / 2 + 6;
460
465
  groupG.append("rect").attr("class", "bl-collapse-count").attr("x", chipCx - chipW / 2).attr("y", chipCy - chipH / 2).attr("width", chipW).attr("height", chipH).attr("rx", chipH / 2).attr("ry", chipH / 2).attr("fill", palette.textMuted).attr("fill-opacity", 0.18);
461
- groupG.append("text").attr("class", "bl-collapse-count").attr("x", chipCx).attr("y", chipCy).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", chipFont).attr("font-weight", "600").attr("fill", palette.text).text(String(group.childCount));
466
+ groupG.append("text").attr("class", "bl-collapse-count").attr("x", chipCx).attr("y", chipCy).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-family", FONT_FAMILY).attr("font-size", chipFont).attr("font-weight", "bold").attr("fill", palette.text).text(String(group.childCount));
462
467
  }
463
468
  } else {
464
469
  groupG.append("rect").attr("x", gx).attr("y", gy).attr("width", group.width).attr("height", groupHeight).attr("rx", GROUP_RX).attr("ry", GROUP_RX).attr("fill", mix(palette.surface, palette.bg, 40)).attr("stroke", palette.textMuted).attr("stroke-width", 1).attr("stroke-opacity", 0.35);
465
- groupG.append("text").attr("class", "bl-group-label").attr("x", gx + group.width / 2).attr("y", gy + 18).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", sGroupLabelFontSize).attr("font-weight", "600").attr("fill", palette.text).text(group.label);
470
+ groupG.append("text").attr("class", "bl-group-label").attr("x", gx + group.width / 2).attr("y", gy + 18).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", sGroupLabelFontSize).attr("font-weight", "bold").attr("fill", palette.text).text(group.label);
466
471
  }
467
472
  }
468
473
  for (let i = 0; i < layout.edges.length; i++) {
@@ -650,7 +655,7 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
650
655
  }
651
656
  if (parsed.showValues !== false && node.value !== void 0) {
652
657
  const valueLabel = parsed.boxMetric ? `${parsed.boxMetric}: ${node.value}` : String(node.value);
653
- nodeG.append("text").attr("class", "bl-node-value").attr("x", 0).attr("y", descStartY + visibleLines.length * descLineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-size", VALUE_FONT_SIZE).attr("font-weight", "600").attr("fill", colors.text).text(valueLabel);
658
+ nodeG.append("text").attr("class", "bl-node-value").attr("x", 0).attr("y", descStartY + visibleLines.length * descLineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-size", VALUE_FONT_SIZE).attr("font-weight", "bold").attr("fill", colors.text).text(valueLabel);
654
659
  }
655
660
  } else if (parsed.showValues !== false && node.value !== void 0) {
656
661
  const valueLabel = parsed.boxMetric ? `${parsed.boxMetric}: ${node.value}` : String(node.value);
@@ -677,7 +682,7 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
677
682
  const lineH = fitted.fontSize * 1.3;
678
683
  const totalH = fitted.lines.length * lineH;
679
684
  for (let li = 0; li < fitted.lines.length; li++) {
680
- nodeG.append("text").attr("x", 0).attr("y", -totalH / 2 + lineH / 2 + li * lineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-size", fitted.fontSize).attr("font-weight", "600").attr("fill", colors.text).text(fitted.lines[li]);
685
+ nodeG.append("text").attr("x", 0).attr("y", -totalH / 2 + lineH / 2 + li * lineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-size", fitted.fontSize).attr("font-weight", "bold").attr("fill", colors.text).text(fitted.lines[li]);
681
686
  }
682
687
  }
683
688
  if (ln.note) {
@@ -840,4 +845,4 @@ export {
840
845
  renderBoxesAndLines,
841
846
  renderBoxesAndLinesForExport
842
847
  };
843
- //# sourceMappingURL=chunk-LYJ53DBK.js.map
848
+ //# sourceMappingURL=chunk-GJH7ZEPH.js.map