@diagrammo/dgmo 0.90.0 → 0.91.1

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 (179) hide show
  1. package/dist/advanced.d.ts +156 -2
  2. package/dist/advanced.js +558 -115
  3. package/dist/block.d.ts +10 -1
  4. package/dist/block.js +46 -39
  5. package/dist/{calculator-PX3JHKAS.js → calculator-3LZUWOBK.js} +1 -1
  6. package/dist/chart-meta.js +12 -12
  7. package/dist/{charts-d3-QW4ERNUE.js → charts-d3-KSA5UKVJ.js} +3 -3
  8. package/dist/{chunk-64KSPLU2.js → chunk-273GB7WK.js} +4 -4
  9. package/dist/{chunk-EEYQFJVK.js → chunk-27KA4VV6.js} +65 -15
  10. package/dist/{chunk-GYBKG4Z6.js → chunk-2A4OFZ2Z.js} +2 -2
  11. package/dist/{chunk-YWRZG6GN.js → chunk-2AM6VA3A.js} +8 -8
  12. package/dist/{chunk-PQ5NW3QZ.js → chunk-2UV627GG.js} +4 -4
  13. package/dist/{chunk-AAC3XQWV.js → chunk-37QQXKFV.js} +8 -9
  14. package/dist/{chunk-5TZPIKNV.js → chunk-3SLRZKLB.js} +2 -2
  15. package/dist/{chunk-X3WYJ5T7.js → chunk-3YTAOMMN.js} +1 -1
  16. package/dist/{chunk-A5EE66RQ.js → chunk-53BJIOLF.js} +1 -1
  17. package/dist/{chunk-QRIW46LR.js → chunk-57L2JPP2.js} +6 -2
  18. package/dist/{chunk-IIOLFAGJ.js → chunk-5DIBB2QG.js} +51 -32
  19. package/dist/{chunk-7Z2VFRP5.js → chunk-5U6DXIMV.js} +47 -24
  20. package/dist/{chunk-5M6PMV5Z.js → chunk-5VPWIC6T.js} +3 -3
  21. package/dist/{chunk-SLO22FPS.js → chunk-634LDSN6.js} +1 -1
  22. package/dist/{chunk-G5BGW4BX.js → chunk-6NO3MNBC.js} +3 -3
  23. package/dist/{chunk-NUYWNKHH.js → chunk-6QEXWMBP.js} +12 -16
  24. package/dist/{chunk-POBNN5DP.js → chunk-7BBRSOKS.js} +2 -2
  25. package/dist/{chunk-NFWRIC2V.js → chunk-AR4QVMWG.js} +4 -1
  26. package/dist/{chunk-JRQ4LBQI.js → chunk-B6EUFLRP.js} +4 -4
  27. package/dist/{chunk-LNQDICFJ.js → chunk-CPGKRI7H.js} +5 -8
  28. package/dist/{chunk-ZNNVI5SR.js → chunk-CU2PZLZP.js} +53 -31
  29. package/dist/{chunk-LBRHDWEA.js → chunk-CVZBLHHW.js} +1 -1
  30. package/dist/{chunk-S4LLHDGK.js → chunk-CXIPV2FY.js} +3 -3
  31. package/dist/{chunk-ICYPGWOV.js → chunk-D7DXNQW5.js} +2 -2
  32. package/dist/{chunk-54YUDXGP.js → chunk-D7PP35BA.js} +1 -1
  33. package/dist/{chunk-RRBV4HIM.js → chunk-DLX7MEN4.js} +1 -1
  34. package/dist/{chunk-S7C32S2T.js → chunk-EDPDAUBL.js} +2 -2
  35. package/dist/{chunk-LC5LY5V2.js → chunk-EP7BT3HU.js} +1 -1
  36. package/dist/{chunk-ICZ7M6IZ.js → chunk-EQJ3U5EW.js} +1 -1
  37. package/dist/{chunk-K4GUO7FV.js → chunk-F2436VRR.js} +1 -1
  38. package/dist/{chunk-5M52RPAS.js → chunk-F26ZPBSF.js} +2 -2
  39. package/dist/{chunk-3BQCSQQJ.js → chunk-FJCYK4K3.js} +11 -11
  40. package/dist/{chunk-PXEUQ7EG.js → chunk-G22UV5AF.js} +4 -4
  41. package/dist/{chunk-CUY56BK4.js → chunk-G3EUQMV4.js} +3 -3
  42. package/dist/{chunk-I6FWHICD.js → chunk-GCDW3WAY.js} +5 -5
  43. package/dist/{chunk-WHRIN7N3.js → chunk-HFG7KQOY.js} +12 -14
  44. package/dist/{chunk-SVQDLYX7.js → chunk-HLVGZXM5.js} +1 -1
  45. package/dist/{chunk-3HBR3YAN.js → chunk-HSGWR2FL.js} +6 -6
  46. package/dist/{chunk-RNXX2GOQ.js → chunk-HWXUQCDY.js} +2 -2
  47. package/dist/{chunk-YE7D2S75.js → chunk-HYV6GSXM.js} +5 -2
  48. package/dist/{chunk-AHWA36O7.js → chunk-II4XJETG.js} +1 -1
  49. package/dist/{chunk-EB7AEM2H.js → chunk-IMKPFW67.js} +3 -3
  50. package/dist/{chunk-C4W62JZO.js → chunk-IS6WFBX7.js} +2 -2
  51. package/dist/{chunk-SMEVBJJJ.js → chunk-IUBCDNT2.js} +1 -1
  52. package/dist/{chunk-TQ644YGV.js → chunk-IWTUXGHN.js} +3 -3
  53. package/dist/{chunk-PNCKZFPE.js → chunk-J2SQNZ6D.js} +1 -1
  54. package/dist/{chunk-YKGUSW6D.js → chunk-JA2S7PHR.js} +7 -7
  55. package/dist/{chunk-IRVQT4GR.js → chunk-JJQWCI35.js} +2 -2
  56. package/dist/chunk-JJUDOR4I.js +110 -0
  57. package/dist/{chunk-VCHYS3RD.js → chunk-K3BYD3WU.js} +1 -1
  58. package/dist/{chunk-RCBHL2B5.js → chunk-KA5CSR44.js} +112 -112
  59. package/dist/{chunk-Y6GQQ4Y2.js → chunk-LKR4FACF.js} +1 -3
  60. package/dist/{chunk-IJ27L3R4.js → chunk-MA42PIGJ.js} +1 -1
  61. package/dist/{chunk-GQVXYRPC.js → chunk-MI6SJJQU.js} +1 -1
  62. package/dist/{chunk-DXPT2HPH.js → chunk-MJKQ5ZYY.js} +2 -2
  63. package/dist/{chunk-J3ODKAWN.js → chunk-MNL547RV.js} +5 -5
  64. package/dist/{chunk-2EDJPHXQ.js → chunk-N254IJM2.js} +6 -6
  65. package/dist/{layout-search-YKUL4VBV.js → chunk-NWPMLX2V.js} +27 -30
  66. package/dist/{chunk-COPSI54O.js → chunk-PSGSFRRE.js} +2 -2
  67. package/dist/{chunk-FDRHBQUG.js → chunk-PUZ63XZM.js} +8 -8
  68. package/dist/{chunk-MIVSVEK4.js → chunk-PZVTFQI2.js} +2 -2
  69. package/dist/{chunk-W7QN5BC5.js → chunk-Q3N7PI3B.js} +180 -7
  70. package/dist/{chunk-HX2KJEPD.js → chunk-QKJ6MQXW.js} +1 -3
  71. package/dist/{chunk-NJYA4QSN.js → chunk-QVKTAU7P.js} +1 -1
  72. package/dist/{chunk-EK7JYFCL.js → chunk-R7BSF7Z7.js} +1 -1
  73. package/dist/{chunk-PIHAUVA4.js → chunk-RHXIUUWB.js} +1 -1
  74. package/dist/{chunk-GXP344YZ.js → chunk-RMTOZALT.js} +6 -3
  75. package/dist/{chunk-CYF2X3CG.js → chunk-ROCBGUJN.js} +7 -7
  76. package/dist/{chunk-RY5RRKYN.js → chunk-RVTYIGWZ.js} +3 -3
  77. package/dist/{chunk-NMKLX57Y.js → chunk-SKF7XLCM.js} +1 -1
  78. package/dist/{chunk-NP2SE6MQ.js → chunk-SMTWQ66K.js} +5 -5
  79. package/dist/{chunk-3AX6MCI6.js → chunk-SPQVER4T.js} +2 -2
  80. package/dist/{chunk-A5PUOHIS.js → chunk-SWBHH2UW.js} +1 -1
  81. package/dist/{chunk-7TF3QOOD.js → chunk-TIVMAITN.js} +14 -0
  82. package/dist/{chunk-4IYJOXGS.js → chunk-TLPY4ZBI.js} +604 -430
  83. package/dist/{chunk-U762HK4D.js → chunk-TPEYEOXA.js} +4 -4
  84. package/dist/{chunk-FS2LZBHG.js → chunk-UWJP4JSZ.js} +2 -2
  85. package/dist/{chunk-JX4RCC6B.js → chunk-V3KHZQPK.js} +2 -2
  86. package/dist/{chunk-RJYFHEP4.js → chunk-VGSSAMLA.js} +2 -2
  87. package/dist/{chunk-HIVJBESO.js → chunk-VMD2CYVP.js} +35 -36
  88. package/dist/{chunk-OSIUWQ3N.js → chunk-WNTPJZU7.js} +1 -1
  89. package/dist/{chunk-R2PTZ6QM.js → chunk-WTE27AJT.js} +7 -7
  90. package/dist/{chunk-OWJVSJLA.js → chunk-XLAREWBK.js} +2 -2
  91. package/dist/{chunk-NY56FM55.js → chunk-XLPJJ35N.js} +2 -2
  92. package/dist/{chunk-DNMICILX.js → chunk-XQTRGKQ3.js} +3 -3
  93. package/dist/{chunk-QOZ4RVQY.js → chunk-YZG37S7L.js} +3 -3
  94. package/dist/{chunk-62VWZ3SE.js → chunk-ZB2Q67NO.js} +10 -10
  95. package/dist/completion-registry.js +2 -2
  96. package/dist/{compute-JAP5E2E4.js → compute-2XWFVO7K.js} +1 -1
  97. package/dist/{dgmo-router-BJBXSZMV.js → dgmo-router-YHBMKTXY.js} +32 -32
  98. package/dist/{dimensions-AMA2S7RO.js → dimensions-QMGWJQTR.js} +3 -3
  99. package/dist/{flowchart-parser-ADZIFVCH.js → flowchart-parser-BLJ6RA53.js} +2 -2
  100. package/dist/{flowchart-renderer-CAG6ZNJ6.js → flowchart-renderer-FXRQKXAK.js} +10 -6
  101. package/dist/index.js +37 -37
  102. package/dist/{layout-5VSMZPMG.js → layout-5HCEF7VO.js} +1 -1
  103. package/dist/{layout-VQ2USZJ3.js → layout-6PLSBB5X.js} +2 -2
  104. package/dist/{layout-UIV56NUA.js → layout-B7PQRAMB.js} +1 -1
  105. package/dist/{layout-C6MKMOBI.js → layout-CCVCLZ6S.js} +1 -1
  106. package/dist/{layout-T2PGKQUQ.js → layout-CRUAP7JG.js} +2 -2
  107. package/dist/{layout-UFB2O4AO.js → layout-G42FDCF3.js} +2 -2
  108. package/dist/{layout-6OSF2UGP.js → layout-IV4H2FLB.js} +2 -2
  109. package/dist/{layout-4RRC7XU7.js → layout-JTNRSGOS.js} +6 -3
  110. package/dist/{layout-H4K54IW3.js → layout-RBLD5EGX.js} +6 -3
  111. package/dist/{layout-SW3XWYKC.js → layout-ROAVGBUC.js} +1 -1
  112. package/dist/{layout-QS2SESBU.js → layout-T2DQ4M77.js} +6 -2
  113. package/dist/{layout-ZP7XYVXF.js → layout-YKGQRFDM.js} +2 -4
  114. package/dist/layout-search-L75YOBME.js +42 -0
  115. package/dist/{parser-NAUUUCI3.js → parser-2XCDVLSN.js} +2 -2
  116. package/dist/{parser-ESZ5J5IJ.js → parser-4QNRCGU5.js} +2 -2
  117. package/dist/{parser-W2DWCCLO.js → parser-6NSQLPTS.js} +2 -2
  118. package/dist/{parser-223VOHSB.js → parser-6X4GGH2R.js} +2 -2
  119. package/dist/{parser-B2FWP7ZO.js → parser-D6YRVV75.js} +2 -2
  120. package/dist/{parser-T2RVIRDG.js → parser-EY3VJWBE.js} +2 -2
  121. package/dist/{parser-KFIK3EOO.js → parser-EYF4ZSZO.js} +2 -2
  122. package/dist/{parser-2PNV7UI3.js → parser-H2DJEAPG.js} +2 -2
  123. package/dist/{parser-OV2WDSEV.js → parser-ILWAA3QJ.js} +2 -2
  124. package/dist/{parser-FV6RGALQ.js → parser-KMFMNZYI.js} +2 -2
  125. package/dist/{parser-LGUT7KKH.js → parser-MDSVVCJP.js} +2 -2
  126. package/dist/{parser-HPR7G7F6.js → parser-QL4DEPVA.js} +3 -3
  127. package/dist/{parser-BJDQX4KV.js → parser-UEDPLM46.js} +2 -2
  128. package/dist/{parser-E5HFYL7B.js → parser-UL6WN6W5.js} +2 -2
  129. package/dist/{parser-5ZD2NKGU.js → parser-ULSUK36C.js} +2 -2
  130. package/dist/{parser-57YQEEMC.js → parser-UY3K4ROB.js} +1 -1
  131. package/dist/{parser-MYRGCK7Q.js → parser-UYQNNQKT.js} +2 -2
  132. package/dist/{parser-NJ5VEZA3.js → parser-VG747VR6.js} +2 -2
  133. package/dist/{parser-CA5WC5HF.js → parser-VK4PNDX4.js} +2 -2
  134. package/dist/{parser-JFNDS5E5.js → parser-X5FQ36KJ.js} +2 -2
  135. package/dist/{parser-I4HZVIHX.js → parser-XO5IAXMT.js} +2 -2
  136. package/dist/{parser-WFY4ZJUW.js → parser-YVHO2NRM.js} +2 -2
  137. package/dist/{parser-J3BM2AP2.js → parser-YWZGIU3C.js} +2 -2
  138. package/dist/{parser-4B2PIXHI.js → parser-ZFLSULFC.js} +2 -2
  139. package/dist/{parser-RARXAHC7.js → parser-ZR7JAKSW.js} +1 -1
  140. package/dist/{renderer-3QM2DK7I.js → renderer-43IVPARP.js} +3 -3
  141. package/dist/{renderer-GWH5ACJ5.js → renderer-4MEZYGU6.js} +2 -2
  142. package/dist/{renderer-A3PMPUO6.js → renderer-54GXA3UO.js} +5 -5
  143. package/dist/{renderer-W22GX72R.js → renderer-7EAWN7MC.js} +4 -4
  144. package/dist/{renderer-IO3D5E4E.js → renderer-7SEXPBGM.js} +3 -3
  145. package/dist/{renderer-B3CPMS5R.js → renderer-B7B7BQM3.js} +7 -7
  146. package/dist/{renderer-IG72UJHW.js → renderer-I2LYSQBV.js} +3 -3
  147. package/dist/{renderer-OPDSKCQS.js → renderer-J2LOMTBC.js} +3 -3
  148. package/dist/{renderer-TTKTBB4C.js → renderer-JUH6M3XF.js} +6 -6
  149. package/dist/{renderer-COSJM7UG.js → renderer-KY6O5JTX.js} +33 -33
  150. package/dist/{renderer-PLRMST57.js → renderer-LHTDI5RV.js} +4 -4
  151. package/dist/{renderer-3W5T3IU6.js → renderer-LWL3IJOF.js} +3 -3
  152. package/dist/{renderer-SBXCPA3S.js → renderer-NCIDGJ2R.js} +5 -5
  153. package/dist/{renderer-AM4VZSBQ.js → renderer-OPA4JJKX.js} +4 -4
  154. package/dist/{renderer-O5RQHGK2.js → renderer-QMNC7TGN.js} +4 -4
  155. package/dist/{renderer-UVFGW2O6.js → renderer-QQNPJGAP.js} +3 -3
  156. package/dist/{renderer-WQ654YT5.js → renderer-R7RK7FKI.js} +1 -1
  157. package/dist/{renderer-TMQNTUQS.js → renderer-RFP55AW7.js} +10 -7
  158. package/dist/{renderer-FXCVH2M5.js → renderer-S3NFBJCY.js} +10 -7
  159. package/dist/{renderer-OA5D3ZKB.js → renderer-SD4ZHHAR.js} +6 -4
  160. package/dist/{renderer-PSMRAL72.js → renderer-SE7Z5AOL.js} +3 -3
  161. package/dist/{renderer-ON4PTUHJ.js → renderer-T2WUA7MC.js} +5 -5
  162. package/dist/{renderer-KK5BU5K2.js → renderer-TWKEZ3DD.js} +3 -3
  163. package/dist/{renderer-MK47ESCB.js → renderer-U5PD72G7.js} +3 -3
  164. package/dist/{renderer-52CHSV6S.js → renderer-VCTKBUTR.js} +5 -5
  165. package/dist/{renderer-PXGCR7N4.js → renderer-VNZTWATB.js} +3 -3
  166. package/dist/{renderer-4Z7FRQ2A.js → renderer-YDNWK6RI.js} +1 -1
  167. package/dist/{renderer-B4KE3NM4.js → renderer-YDOWBIUB.js} +4 -4
  168. package/dist/{renderer-LD2H7WGP.js → renderer-YQPZ7O2C.js} +1 -1
  169. package/dist/{renderer-6OOJNEQE.js → renderer-ZQ77CM6Y.js} +4 -4
  170. package/dist/{renderer-radial-42LVSG74.js → renderer-radial-TNNEL3YN.js} +4 -4
  171. package/dist/{resolver-XSXE2TRX.js → resolver-6DJLZF6Y.js} +1 -1
  172. package/dist/{state-parser-ROKY5KSI.js → state-parser-NIIVOU2Y.js} +2 -2
  173. package/dist/{state-renderer-MMG23G4W.js → state-renderer-TVLEG32M.js} +11 -7
  174. package/package.json +2 -2
  175. package/dist/chunk-6EK55ART.js +0 -116
  176. package/dist/chunk-HTNLLT34.js +0 -72
  177. /package/dist/{chunk-3FCSOYN4.js → chunk-5P2L5QXE.js} +0 -0
  178. /package/dist/{chunk-HJRP6PXL.js → chunk-BQVTV4LB.js} +0 -0
  179. /package/dist/{chunk-LYRDIVSY.js → chunk-GLCMUTO5.js} +0 -0
package/dist/block.d.ts CHANGED
@@ -69,8 +69,17 @@ type BlockColorMode = 'auto' | 'light' | 'dark' | 'transparent';
69
69
  interface DgmoBlockOptions {
70
70
  /** `diagram` (default): SVG only. `showcase`: SVG + source chrome. */
71
71
  mode?: BlockMode;
72
- /** Palette name. Default `slate`; unknown names warn + fall back. */
72
+ /**
73
+ * Palette name — the surface's default, which a diagram's own `palette`
74
+ * line beats. Default `slate`; unknown names warn + fall back.
75
+ */
73
76
  palette?: string;
77
+ /**
78
+ * A palette name that beats the diagram's own `palette` line: a deliberate
79
+ * per-embed choice such as a fence attribute (#1038). Unknown names warn +
80
+ * fall back, like `palette`.
81
+ */
82
+ paletteOverride?: string;
74
83
  /** Default `auto` (dual light/dark render). */
75
84
  colorMode?: BlockColorMode;
76
85
  /**
package/dist/block.js CHANGED
@@ -4,16 +4,16 @@ import {
4
4
  } from "./chunk-D3K4U3ZM.js";
5
5
  import {
6
6
  render
7
- } from "./chunk-RCBHL2B5.js";
7
+ } from "./chunk-KA5CSR44.js";
8
8
  import "./chunk-ABP5BUD6.js";
9
9
  import {
10
10
  docsLink,
11
11
  renderErrorCard
12
- } from "./chunk-POBNN5DP.js";
12
+ } from "./chunk-7BBRSOKS.js";
13
13
  import {
14
14
  choosePalette,
15
15
  extractPaletteDirective
16
- } from "./chunk-HIVJBESO.js";
16
+ } from "./chunk-VMD2CYVP.js";
17
17
  import "./chunk-EOYPX6SF.js";
18
18
  import "./chunk-ZJ4PYTCK.js";
19
19
  import {
@@ -23,21 +23,21 @@ import {
23
23
  import "./chunk-3DPOIW3W.js";
24
24
  import "./chunk-TCX5PMEY.js";
25
25
  import "./chunk-A2RUBBVT.js";
26
- import "./chunk-X3WYJ5T7.js";
27
- import "./chunk-SMEVBJJJ.js";
26
+ import "./chunk-3YTAOMMN.js";
27
+ import "./chunk-IUBCDNT2.js";
28
28
  import "./chunk-BDXC7MDK.js";
29
- import "./chunk-EEYQFJVK.js";
29
+ import "./chunk-27KA4VV6.js";
30
30
  import "./chunk-KMU65FYM.js";
31
31
  import "./chunk-EPDBWATV.js";
32
- import "./chunk-WHRIN7N3.js";
32
+ import "./chunk-HFG7KQOY.js";
33
33
  import "./chunk-2CW5ZTNH.js";
34
34
  import {
35
35
  escapeAttr,
36
36
  escapeHtml
37
- } from "./chunk-3BQCSQQJ.js";
37
+ } from "./chunk-FJCYK4K3.js";
38
38
  import "./chunk-YRYKTYMQ.js";
39
39
  import "./chunk-24YPR5EH.js";
40
- import "./chunk-NJYA4QSN.js";
40
+ import "./chunk-QVKTAU7P.js";
41
41
  import "./chunk-XCKNFFKM.js";
42
42
  import "./chunk-X6IZP2BD.js";
43
43
  import "./chunk-SEKNYIMO.js";
@@ -47,36 +47,36 @@ import "./chunk-NS7L7YKH.js";
47
47
  import "./chunk-VLC6WNRD.js";
48
48
  import "./chunk-ICLB27PZ.js";
49
49
  import "./chunk-MKFQ5E7J.js";
50
- import "./chunk-NFWRIC2V.js";
51
- import "./chunk-COPSI54O.js";
50
+ import "./chunk-AR4QVMWG.js";
51
+ import "./chunk-PSGSFRRE.js";
52
52
  import "./chunk-M6J25PAZ.js";
53
53
  import "./chunk-EWERNTOX.js";
54
- import "./chunk-RNXX2GOQ.js";
55
- import "./chunk-JX4RCC6B.js";
54
+ import "./chunk-HWXUQCDY.js";
55
+ import "./chunk-V3KHZQPK.js";
56
56
  import "./chunk-XSVWUOUZ.js";
57
57
  import "./chunk-4YO7VJTP.js";
58
- import "./chunk-YE7D2S75.js";
59
- import "./chunk-GXP344YZ.js";
60
- import "./chunk-NMKLX57Y.js";
58
+ import "./chunk-HYV6GSXM.js";
59
+ import "./chunk-RMTOZALT.js";
60
+ import "./chunk-SKF7XLCM.js";
61
61
  import "./chunk-NWSPPGIE.js";
62
62
  import "./chunk-IHK3Y2HG.js";
63
- import "./chunk-PNCKZFPE.js";
64
- import "./chunk-C4W62JZO.js";
63
+ import "./chunk-J2SQNZ6D.js";
64
+ import "./chunk-IS6WFBX7.js";
65
65
  import "./chunk-QQJUTGQH.js";
66
- import "./chunk-DNMICILX.js";
67
- import "./chunk-RJYFHEP4.js";
66
+ import "./chunk-XQTRGKQ3.js";
67
+ import "./chunk-VGSSAMLA.js";
68
68
  import "./chunk-OYKNMFUY.js";
69
- import "./chunk-SVQDLYX7.js";
70
- import "./chunk-IRVQT4GR.js";
71
- import "./chunk-LC5LY5V2.js";
72
- import "./chunk-CUY56BK4.js";
73
- import "./chunk-NUYWNKHH.js";
69
+ import "./chunk-HLVGZXM5.js";
70
+ import "./chunk-JJQWCI35.js";
71
+ import "./chunk-EP7BT3HU.js";
72
+ import "./chunk-G3EUQMV4.js";
73
+ import "./chunk-6QEXWMBP.js";
74
74
  import {
75
75
  encodeDiagramUrl
76
76
  } from "./chunk-RE27AX7O.js";
77
- import "./chunk-YWRZG6GN.js";
77
+ import "./chunk-2AM6VA3A.js";
78
78
  import "./chunk-I74AQRVD.js";
79
- import "./chunk-AAC3XQWV.js";
79
+ import "./chunk-37QQXKFV.js";
80
80
  import "./chunk-2SKMEL7V.js";
81
81
  import "./chunk-2ZVLI6GQ.js";
82
82
  import "./chunk-EQW6HOP4.js";
@@ -87,25 +87,25 @@ import {
87
87
  getPalette,
88
88
  resolvePaletteOrFallback
89
89
  } from "./chunk-4HG4PYHM.js";
90
- import "./chunk-62VWZ3SE.js";
90
+ import "./chunk-ZB2Q67NO.js";
91
91
  import "./chunk-C3Z4DX3V.js";
92
- import "./chunk-SLO22FPS.js";
93
- import "./chunk-7TF3QOOD.js";
94
- import "./chunk-NY56FM55.js";
92
+ import "./chunk-634LDSN6.js";
93
+ import "./chunk-TIVMAITN.js";
94
+ import "./chunk-XLPJJ35N.js";
95
95
  import "./chunk-NXMESY4J.js";
96
- import "./chunk-OSIUWQ3N.js";
97
- import "./chunk-5TZPIKNV.js";
96
+ import "./chunk-WNTPJZU7.js";
97
+ import "./chunk-3SLRZKLB.js";
98
98
  import "./chunk-KSZHIAI2.js";
99
99
  import "./chunk-O753JUEZ.js";
100
100
  import "./chunk-N7VMGZCU.js";
101
- import "./chunk-FS2LZBHG.js";
102
- import "./chunk-5M52RPAS.js";
101
+ import "./chunk-UWJP4JSZ.js";
102
+ import "./chunk-F26ZPBSF.js";
103
103
  import "./chunk-IYULMRBE.js";
104
104
  import "./chunk-NOTA6TEI.js";
105
- import "./chunk-CYF2X3CG.js";
105
+ import "./chunk-ROCBGUJN.js";
106
106
  import "./chunk-4WW3SGMH.js";
107
107
  import "./chunk-3UR4F7FE.js";
108
- import "./chunk-HX2KJEPD.js";
108
+ import "./chunk-QKJ6MQXW.js";
109
109
  import {
110
110
  CHART_TYPE_IDS,
111
111
  REGISTRY_COLON_KEY_TOKENS,
@@ -1052,6 +1052,7 @@ function resolveBlockOptions(opts) {
1052
1052
  return {
1053
1053
  mode,
1054
1054
  palette: opts.palette ?? "slate",
1055
+ paletteOverride: opts.paletteOverride,
1055
1056
  colorMode: opts.colorMode ?? "auto",
1056
1057
  background: opts.background ?? "auto",
1057
1058
  showSource: opts.showSource ?? showcase,
@@ -1072,12 +1073,17 @@ async function renderDgmoBlock(source, options = {}) {
1072
1073
  const opts = resolveBlockOptions(options);
1073
1074
  const trimmed = source.trim();
1074
1075
  const palette = resolvePaletteOrFallback(opts.palette, opts.onWarn);
1076
+ const override = opts.paletteOverride === void 0 ? void 0 : resolvePaletteOrFallback(opts.paletteOverride, opts.onWarn);
1075
1077
  const diagnostics = [];
1076
1078
  let chartType;
1077
1079
  const directive = extractPaletteDirective(trimmed);
1078
1080
  const drawnIn = (theme) => {
1079
- const chosen = choosePalette(directive, { palette: palette.id, theme });
1080
- const config = chosen.palette ?? (chosen.paletteId === palette.id ? palette : getPalette(chosen.paletteId));
1081
+ const chosen = choosePalette(directive, {
1082
+ palette: palette.id,
1083
+ ...override !== void 0 && { paletteOverride: override.id },
1084
+ theme
1085
+ });
1086
+ const config = chosen.palette ?? [palette, override].find((p) => p?.id === chosen.paletteId) ?? getPalette(chosen.paletteId);
1081
1087
  return {
1082
1088
  config,
1083
1089
  theme: chosen.theme,
@@ -1095,6 +1101,7 @@ async function renderDgmoBlock(source, options = {}) {
1095
1101
  const renderTheme = async (theme) => {
1096
1102
  const r = await render(trimmed, {
1097
1103
  palette: palette.id,
1104
+ ...override !== void 0 && { paletteOverride: override.id },
1098
1105
  theme,
1099
1106
  ...opts.mapData !== void 0 ? { mapData: opts.mapData } : {}
1100
1107
  });
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  calculateSchedule
3
- } from "./chunk-Y6GQQ4Y2.js";
3
+ } from "./chunk-LKR4FACF.js";
4
4
  import "./chunk-EQW6HOP4.js";
5
5
  import "./chunk-NOTA6TEI.js";
6
6
  import "./chunk-MPJQMMBZ.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  normalizePertSourceForShare,
3
3
  resolveOrgImports
4
- } from "./chunk-EK7JYFCL.js";
4
+ } from "./chunk-R7BSF7Z7.js";
5
5
  import {
6
6
  decodeDiagramUrl,
7
7
  decodeViewState,
@@ -10,11 +10,11 @@ import {
10
10
  } from "./chunk-RE27AX7O.js";
11
11
  import {
12
12
  parseDgmoChartType
13
- } from "./chunk-YWRZG6GN.js";
13
+ } from "./chunk-2AM6VA3A.js";
14
14
  import {
15
15
  parseRaci
16
16
  } from "./chunk-I74AQRVD.js";
17
- import "./chunk-AAC3XQWV.js";
17
+ import "./chunk-37QQXKFV.js";
18
18
  import "./chunk-2SKMEL7V.js";
19
19
  import "./chunk-2ZVLI6GQ.js";
20
20
  import "./chunk-EQW6HOP4.js";
@@ -23,26 +23,26 @@ import {
23
23
  getAvailablePalettes,
24
24
  getPalette
25
25
  } from "./chunk-4HG4PYHM.js";
26
- import "./chunk-62VWZ3SE.js";
26
+ import "./chunk-ZB2Q67NO.js";
27
27
  import "./chunk-C3Z4DX3V.js";
28
- import "./chunk-SLO22FPS.js";
29
- import "./chunk-7TF3QOOD.js";
30
- import "./chunk-NY56FM55.js";
28
+ import "./chunk-634LDSN6.js";
29
+ import "./chunk-TIVMAITN.js";
30
+ import "./chunk-XLPJJ35N.js";
31
31
  import "./chunk-NXMESY4J.js";
32
- import "./chunk-OSIUWQ3N.js";
33
- import "./chunk-5TZPIKNV.js";
32
+ import "./chunk-WNTPJZU7.js";
33
+ import "./chunk-3SLRZKLB.js";
34
34
  import "./chunk-KSZHIAI2.js";
35
35
  import "./chunk-O753JUEZ.js";
36
36
  import "./chunk-N7VMGZCU.js";
37
37
  import {
38
38
  parseOrg
39
- } from "./chunk-FS2LZBHG.js";
40
- import "./chunk-5M52RPAS.js";
39
+ } from "./chunk-UWJP4JSZ.js";
40
+ import "./chunk-F26ZPBSF.js";
41
41
  import "./chunk-IYULMRBE.js";
42
42
  import "./chunk-NOTA6TEI.js";
43
43
  import "./chunk-4WW3SGMH.js";
44
44
  import "./chunk-3UR4F7FE.js";
45
- import "./chunk-HX2KJEPD.js";
45
+ import "./chunk-QKJ6MQXW.js";
46
46
  import {
47
47
  ALL_CHART_TYPES,
48
48
  chartTypes,
@@ -2,10 +2,10 @@ import {
2
2
  D3_DATA_CHART_TYPES,
3
3
  renderDataChartD3,
4
4
  supportsD3DataChart
5
- } from "./chunk-EEYQFJVK.js";
5
+ } from "./chunk-27KA4VV6.js";
6
6
  import "./chunk-KMU65FYM.js";
7
7
  import "./chunk-EPDBWATV.js";
8
- import "./chunk-WHRIN7N3.js";
8
+ import "./chunk-HFG7KQOY.js";
9
9
  import "./chunk-2CW5ZTNH.js";
10
10
  import "./chunk-X6IZP2BD.js";
11
11
  import "./chunk-SEKNYIMO.js";
@@ -16,7 +16,7 @@ import "./chunk-VLC6WNRD.js";
16
16
  import "./chunk-ICLB27PZ.js";
17
17
  import "./chunk-4HG4PYHM.js";
18
18
  import "./chunk-3UR4F7FE.js";
19
- import "./chunk-HX2KJEPD.js";
19
+ import "./chunk-QKJ6MQXW.js";
20
20
  import "./chunk-MPJQMMBZ.js";
21
21
  import "./chunk-I6GGMCTV.js";
22
22
  import "./chunk-KAO7JL4I.js";
@@ -379,7 +379,7 @@ function applySwimLanes(g, resolved, _memberToGroup, collapsedGroupIds) {
379
379
  const critOf = (id) => {
380
380
  const r = resolved.activities.find((a) => a.activity.id === id);
381
381
  if (r) {
382
- return r.criticality !== null ? r.criticality : r.isCriticalPath ? 1 : 0;
382
+ return r.criticality ?? (r.isCriticalPath ? 1 : 0);
383
383
  }
384
384
  const rg = resolved.groups.find((x) => x.group.id === id);
385
385
  if (!rg) return 0;
@@ -387,7 +387,7 @@ function applySwimLanes(g, resolved, _memberToGroup, collapsedGroupIds) {
387
387
  for (const aid of rg.group.activityIds) {
388
388
  const ar = resolved.activities.find((a) => a.activity.id === aid);
389
389
  if (!ar) continue;
390
- const c = ar.criticality !== null ? ar.criticality : ar.isCriticalPath ? 1 : 0;
390
+ const c = ar.criticality ?? (ar.isCriticalPath ? 1 : 0);
391
391
  if (c > m) m = c;
392
392
  }
393
393
  return m;
@@ -429,7 +429,7 @@ function centerByCriticality(g, resolved, memberToGroup, collapsedGroupIds) {
429
429
  const critById = /* @__PURE__ */ new Map();
430
430
  for (const r of resolved.activities) {
431
431
  if (memberToGroup.has(r.activity.id)) continue;
432
- const c = r.criticality !== null ? r.criticality : r.isCriticalPath ? 1 : 0;
432
+ const c = r.criticality ?? (r.isCriticalPath ? 1 : 0);
433
433
  critById.set(r.activity.id, c);
434
434
  }
435
435
  for (const rg of resolved.groups) {
@@ -438,7 +438,7 @@ function centerByCriticality(g, resolved, memberToGroup, collapsedGroupIds) {
438
438
  for (const aid of rg.group.activityIds) {
439
439
  const r = resolved.activities.find((x) => x.activity.id === aid);
440
440
  if (!r) continue;
441
- const c = r.criticality !== null ? r.criticality : r.isCriticalPath ? 1 : 0;
441
+ const c = r.criticality ?? (r.isCriticalPath ? 1 : 0);
442
442
  if (c > maxC) maxC = c;
443
443
  }
444
444
  critById.set(rg.group.id, maxC);
@@ -11,7 +11,7 @@ import {
11
11
  getSimpleChartLegendGroups,
12
12
  parseChart,
13
13
  parseExtendedChart
14
- } from "./chunk-WHRIN7N3.js";
14
+ } from "./chunk-HFG7KQOY.js";
15
15
  import {
16
16
  EMPHASIS_DIM_OPACITY,
17
17
  EMPHASIS_DIM_TEXT_OPACITY,
@@ -43,7 +43,7 @@ import {
43
43
  } from "./chunk-ICLB27PZ.js";
44
44
  import {
45
45
  tagAttrKey
46
- } from "./chunk-HX2KJEPD.js";
46
+ } from "./chunk-QKJ6MQXW.js";
47
47
  import {
48
48
  LEGEND_DOT_R,
49
49
  LEGEND_ENTRY_FONT_SIZE,
@@ -1600,6 +1600,35 @@ function renderSankey(svg, chart, width, height, colors, bgColor, textColor, top
1600
1600
  const maxRank = Math.max(...[...node.values()].map((n) => n.rank));
1601
1601
  const layers = Array.from({ length: maxRank + 1 }, () => []);
1602
1602
  for (const n of node.values()) layers[n.rank].push(n);
1603
+ const segs = [];
1604
+ const chains = /* @__PURE__ */ new Map();
1605
+ for (const l of forwardLinks) {
1606
+ const t = node.get(l.target);
1607
+ let prev = node.get(l.source);
1608
+ const chain = [];
1609
+ for (let r = prev.rank + 1; r <= t.rank; r++) {
1610
+ let next = t;
1611
+ if (r < t.rank) {
1612
+ next = {
1613
+ name: `${l.source}\u241F${l.target}\u241F${r}`,
1614
+ rank: r,
1615
+ value: l.value,
1616
+ order: prev.order,
1617
+ x: 0,
1618
+ y: 0,
1619
+ h: 0,
1620
+ raw: prev.raw,
1621
+ virtual: true
1622
+ };
1623
+ layers[r].push(next);
1624
+ }
1625
+ const seg = { s: prev, t: next, value: l.value, sy: 0, ty: 0 };
1626
+ chain.push(seg);
1627
+ segs.push(seg);
1628
+ prev = next;
1629
+ }
1630
+ chains.set(l, chain);
1631
+ }
1603
1632
  let plotLeft = 16;
1604
1633
  const top = topInset + 8;
1605
1634
  const rightPad = 16;
@@ -1657,7 +1686,7 @@ function renderSankey(svg, chart, width, height, colors, bgColor, textColor, top
1657
1686
  const order = forward ? [...layers.keys()] : [...layers.keys()].reverse();
1658
1687
  for (const r of order) {
1659
1688
  for (const n of layers[r]) {
1660
- const neigh = forward ? forwardLinks.filter((l) => l.target === n.name).map((l) => node.get(l.source)) : forwardLinks.filter((l) => l.source === n.name).map((l) => node.get(l.target));
1689
+ const neigh = forward ? segs.filter((g) => g.t === n).map((g) => g.s) : segs.filter((g) => g.s === n).map((g) => g.t);
1661
1690
  n.order = neigh.length ? neigh.reduce((a, m) => a + center(m), 0) / neigh.length : center(n);
1662
1691
  }
1663
1692
  placeLayer(layers[r]);
@@ -1665,9 +1694,23 @@ function renderSankey(svg, chart, width, height, colors, bgColor, textColor, top
1665
1694
  }
1666
1695
  const outOff = /* @__PURE__ */ new Map();
1667
1696
  const inOff = /* @__PURE__ */ new Map();
1668
- for (const n of node.values()) {
1669
- outOff.set(n.name, n.y);
1670
- inOff.set(n.name, n.y);
1697
+ for (const layer of layers) {
1698
+ for (const n of layer) {
1699
+ outOff.set(n, n.y);
1700
+ inOff.set(n, n.y);
1701
+ }
1702
+ }
1703
+ const slot = (n, th, off) => {
1704
+ const y = off.get(n);
1705
+ off.set(n, y + th);
1706
+ return y;
1707
+ };
1708
+ for (const g of [...segs].sort(
1709
+ (a, b) => a.s.y !== b.s.y ? a.s.y - b.s.y : a.t.y - b.t.y
1710
+ )) {
1711
+ const th = g.value * valueScale;
1712
+ g.sy = slot(g.s, th, outOff);
1713
+ g.ty = slot(g.t, th, inOff);
1671
1714
  }
1672
1715
  const ordered = [
1673
1716
  ...[...forwardLinks].sort((a, b) => {
@@ -1683,18 +1726,15 @@ function renderSankey(svg, chart, width, height, colors, bgColor, textColor, top
1683
1726
  const s = node.get(l.source);
1684
1727
  const t = node.get(l.target);
1685
1728
  const th = l.value * valueScale;
1686
- const sy = outOff.get(s.name);
1687
- const ty = inOff.get(t.name);
1688
- outOff.set(s.name, sy + th);
1689
- inOff.set(t.name, ty + th);
1690
1729
  const sx = s.x + NODE_W;
1691
1730
  const tx = t.x;
1692
- const cx0 = sx + (tx - sx) * 0.5;
1693
1731
  const raw = l.color ?? s.raw;
1694
1732
  const color = solid ? raw : mix(raw, bgColor, 45);
1695
1733
  const opacity = linkDimmed(l) ? RIBBON_FILL_OPACITY * EMPHASIS_DIM_OPACITY : RIBBON_FILL_OPACITY;
1696
1734
  let ribbon;
1697
1735
  if (backEdges.has(l)) {
1736
+ const sy = slot(s, th, outOff);
1737
+ const ty = slot(t, th, inOff);
1698
1738
  const lane = laneY + th / 2;
1699
1739
  laneY += th + LOOP_GAP;
1700
1740
  const k = th;
@@ -1705,10 +1745,20 @@ function renderSankey(svg, chart, width, height, colors, bgColor, textColor, top
1705
1745
  `M${sx},${y1} C${sx + k},${y1} ${sx + k},${lane} ${sx},${lane} L${tx},${lane} C${tx - k},${lane} ${tx - k},${y2} ${tx},${y2}`
1706
1746
  ).attr("fill", "none").attr("stroke", color).attr("stroke-width", th).attr("stroke-opacity", opacity);
1707
1747
  } else {
1708
- ribbon = svg.append("path").attr(
1709
- "d",
1710
- `M${sx},${sy} C${cx0},${sy} ${cx0},${ty} ${tx},${ty} L${tx},${ty + th} C${cx0},${ty + th} ${cx0},${sy + th} ${sx},${sy + th} Z`
1711
- ).attr("fill", color).attr("fill-opacity", opacity);
1748
+ const chain = chains.get(l);
1749
+ const top2 = [];
1750
+ const bottom = [];
1751
+ chain.forEach((g, i) => {
1752
+ const gx = g.s.x + NODE_W;
1753
+ const cx = (gx + g.t.x) / 2;
1754
+ top2.push(
1755
+ `${i === 0 ? "M" : "L"}${gx},${g.sy} C${cx},${g.sy} ${cx},${g.ty} ${g.t.x},${g.ty}`
1756
+ );
1757
+ bottom.unshift(
1758
+ `L${g.t.x},${g.ty + th} C${cx},${g.ty + th} ${cx},${g.sy + th} ${gx},${g.sy + th}`
1759
+ );
1760
+ });
1761
+ ribbon = svg.append("path").attr("d", `${top2.join(" ")} ${bottom.join(" ")} Z`).attr("fill", color).attr("fill-opacity", opacity);
1712
1762
  }
1713
1763
  tagDatum(ribbon, {
1714
1764
  line: l.lineNumber,
@@ -6,7 +6,7 @@ import {
6
6
  mapLegendConfig,
7
7
  mapLegendGroups,
8
8
  parsePathRings
9
- } from "./chunk-QRIW46LR.js";
9
+ } from "./chunk-57L2JPP2.js";
10
10
  import {
11
11
  parseClock
12
12
  } from "./chunk-TCX5PMEY.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-A2RUBBVT.js";
20
20
  import {
21
21
  renderIntegratedLegend
22
- } from "./chunk-NJYA4QSN.js";
22
+ } from "./chunk-QVKTAU7P.js";
23
23
  import {
24
24
  TITLE_FONT_SIZE,
25
25
  TITLE_FONT_WEIGHT,
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  looksLikePert
3
- } from "./chunk-AAC3XQWV.js";
3
+ } from "./chunk-37QQXKFV.js";
4
4
  import {
5
5
  isLiveLinkLine
6
6
  } from "./chunk-2ZVLI6GQ.js";
7
7
  import {
8
8
  looksLikeSequence
9
- } from "./chunk-62VWZ3SE.js";
9
+ } from "./chunk-ZB2Q67NO.js";
10
10
  import {
11
11
  looksLikeFlowchart
12
- } from "./chunk-SLO22FPS.js";
12
+ } from "./chunk-634LDSN6.js";
13
13
  import {
14
14
  looksLikeState
15
- } from "./chunk-NY56FM55.js";
15
+ } from "./chunk-XLPJJ35N.js";
16
16
  import {
17
17
  looksLikeClassDiagram
18
- } from "./chunk-OSIUWQ3N.js";
18
+ } from "./chunk-WNTPJZU7.js";
19
19
  import {
20
20
  looksLikeERDiagram
21
- } from "./chunk-5TZPIKNV.js";
21
+ } from "./chunk-3SLRZKLB.js";
22
22
  import {
23
23
  looksLikeOrg
24
- } from "./chunk-FS2LZBHG.js";
24
+ } from "./chunk-UWJP4JSZ.js";
25
25
  import {
26
26
  looksLikeSitemap
27
- } from "./chunk-5M52RPAS.js";
27
+ } from "./chunk-F26ZPBSF.js";
28
28
  import {
29
29
  parseFirstLine
30
30
  } from "./chunk-MPJQMMBZ.js";
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-24YPR5EH.js";
19
19
  import {
20
20
  renderIntegratedLegend
21
- } from "./chunk-NJYA4QSN.js";
21
+ } from "./chunk-QVKTAU7P.js";
22
22
  import {
23
23
  CARD_RADIUS,
24
24
  CONTAINER_RADIUS,
@@ -33,11 +33,11 @@ import {
33
33
  } from "./chunk-ICLB27PZ.js";
34
34
  import {
35
35
  parseJourneyMap
36
- } from "./chunk-COPSI54O.js";
36
+ } from "./chunk-PSGSFRRE.js";
37
37
  import {
38
38
  resolveActiveTagGroup,
39
39
  tagAttrKey
40
- } from "./chunk-HX2KJEPD.js";
40
+ } from "./chunk-QKJ6MQXW.js";
41
41
  import {
42
42
  fillModeFromOptions
43
43
  } from "./chunk-MPJQMMBZ.js";
@@ -697,7 +697,7 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
697
697
  }
698
698
  const titleBlockH = CARD_PADDING_Y + titleLines.length * TITLE_LINE_HEIGHT + CARD_PADDING_Y;
699
699
  const cardAnnotations = sl.step.annotations;
700
- const hasContent = sl.step.description || cardAnnotations.length > 0;
700
+ const hasContent = !!sl.step.description || cardAnnotations.length > 0;
701
701
  if (hasContent) {
702
702
  stepG.append("line").attr("x1", cx).attr("y1", cy + titleBlockH).attr("x2", cx + sl.width).attr("y2", cy + titleBlockH).attr("stroke", fillMode === "solid" ? onCardText : cardStroke).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
703
703
  }
@@ -21,7 +21,7 @@ import {
21
21
  tagAttrKey,
22
22
  validateTagGroupNames,
23
23
  validateTagValues
24
- } from "./chunk-HX2KJEPD.js";
24
+ } from "./chunk-QKJ6MQXW.js";
25
25
  import {
26
26
  PERT_REGISTRY,
27
27
  extractColor,
@@ -898,7 +898,10 @@ function parsePert(content, parseOpts = {}) {
898
898
  options.trials = deriveTrials(activities.length);
899
899
  }
900
900
  if (options.seed === -1) {
901
- const seedSource = title || activities.map((a) => a.name).sort().join("\n") || "pert";
901
+ const seedSource = (
902
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- an empty title also seeds from the activity names
903
+ title || activities.map((a) => a.name).sort().join("\n") || "pert"
904
+ );
902
905
  options.seed = deriveSeed(seedSource);
903
906
  }
904
907
  const hasSprintOption = options.sprintLength !== null || options.sprintNumber !== null || options.sprintStart !== null;
@@ -911,12 +914,8 @@ function parsePert(content, parseOpts = {}) {
911
914
  options.sprintMode = "auto";
912
915
  }
913
916
  if (options.sprintMode) {
914
- if (!options.sprintLength) {
915
- options.sprintLength = { amount: 2, unit: "w" };
916
- }
917
- if (options.sprintNumber === null) {
918
- options.sprintNumber = 1;
919
- }
917
+ options.sprintLength ??= { amount: 2, unit: "w" };
918
+ options.sprintNumber ??= 1;
920
919
  }
921
920
  finalizeAutoTagColors(tagGroups, parseOpts.palette);
922
921
  if (tagGroups.length > 0) {
@@ -930,7 +929,7 @@ function parsePert(content, parseOpts = {}) {
930
929
  error
931
930
  );
932
931
  const ensureTags = (entity) => {
933
- if (!entity.tags) entity.tags = {};
932
+ entity.tags ??= {};
934
933
  return {
935
934
  metadata: entity.tags,
936
935
  lineNumber: entity.lineNumber
@@ -20,7 +20,7 @@ import {
20
20
  tagAttrKey,
21
21
  validateTagGroupNames,
22
22
  validateTagValues
23
- } from "./chunk-HX2KJEPD.js";
23
+ } from "./chunk-QKJ6MQXW.js";
24
24
  import {
25
25
  AliasRegistry,
26
26
  ER_REGISTRY,
@@ -149,7 +149,7 @@ function parseERDiagram(content, palette) {
149
149
  const pushError = (line, message) => {
150
150
  const diag = makeDgmoError(line, message);
151
151
  result.diagnostics.push(diag);
152
- if (!result.error) result.error = formatDgmoError(diag);
152
+ result.error ??= formatDgmoError(diag);
153
153
  };
154
154
  const tableMap = /* @__PURE__ */ new Map();
155
155
  const tableMetadataMap = /* @__PURE__ */ new Map();
@@ -8,7 +8,7 @@ import {
8
8
  resolveActiveTagGroup,
9
9
  stripDefaultModifier,
10
10
  tagAttrKey
11
- } from "./chunk-HX2KJEPD.js";
11
+ } from "./chunk-QKJ6MQXW.js";
12
12
  import {
13
13
  extractColor,
14
14
  fillModeFromToken,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveTagColor,
3
3
  tagAttrKey
4
- } from "./chunk-HX2KJEPD.js";
4
+ } from "./chunk-QKJ6MQXW.js";
5
5
  import {
6
6
  mix
7
7
  } from "./chunk-L24LESXF.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-VLC6WNRD.js";
20
20
  import {
21
21
  tagAttrKey
22
- } from "./chunk-HX2KJEPD.js";
22
+ } from "./chunk-QKJ6MQXW.js";
23
23
  import {
24
24
  measureLegendText
25
25
  } from "./chunk-I6GGMCTV.js";
@@ -40,6 +40,7 @@ var LEGEND_BOTTOM_GAP = 10;
40
40
  function mapLegendGroups(legend) {
41
41
  const ramp = legend.ramp;
42
42
  const scoreGroup = ramp ? {
43
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- a blank metric name must still read 'Value'
43
44
  name: ramp.metric?.trim() || "Value",
44
45
  entries: [],
45
46
  gradient: {
@@ -1981,7 +1982,10 @@ function layoutMap(resolvedIn, data, size, opts) {
1981
1982
  const rampHue = resolveColor(resolved.directives.regionMetricColor ?? "", palette) ?? palette.colors.red;
1982
1983
  const rampLow = resolved.directives.regionMetricLowColor ? resolveColor(resolved.directives.regionMetricLowColor, palette) ?? void 0 : void 0;
1983
1984
  const hasRamp = values.length > 0;
1984
- const VALUE_NAME = hasRamp ? resolved.directives.regionMetric?.trim() || "Value" : null;
1985
+ const VALUE_NAME = hasRamp ? (
1986
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- a blank metric name must still read 'Value'
1987
+ resolved.directives.regionMetric?.trim() || "Value"
1988
+ ) : null;
1985
1989
  const matchColorGroup = (v) => {
1986
1990
  const lv = v.trim().toLowerCase();
1987
1991
  if (lv === "none") return null;