@diagrammo/dgmo 0.51.0 → 0.53.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 (336) hide show
  1. package/.cursorrules +74 -77
  2. package/.github/copilot-instructions.md +74 -77
  3. package/.windsurfrules +74 -77
  4. package/SKILL.md +74 -77
  5. package/dist/advanced.d.ts +109 -246
  6. package/dist/advanced.js +296 -633
  7. package/dist/analyzer-TDN5KJFP.js +15 -0
  8. package/dist/auto.css +14 -6
  9. package/dist/auto.js +141 -129
  10. package/dist/auto.mjs +2062 -937
  11. package/dist/block.css +14 -6
  12. package/dist/block.js +123 -73
  13. package/dist/calculator-VBIT6GQF.js +11 -0
  14. package/dist/chart-meta-CPNVUZ5J.d.ts +232 -0
  15. package/dist/chart-meta.d.ts +2 -0
  16. package/dist/chart-meta.js +105 -0
  17. package/dist/charts-d3-DH2XA45I.js +26 -0
  18. package/dist/{chunk-RLFVAKEO.js → chunk-22OQWBWD.js} +25 -8
  19. package/dist/{chunk-I2QZFCS2.js → chunk-27STWBOK.js} +10 -8
  20. package/dist/{chunk-5PZT4DQG.js → chunk-2QC4HXCY.js} +41 -21
  21. package/dist/{chunk-HFMYN6N2.js → chunk-3B2GXZCX.js} +4 -3
  22. package/dist/{chunk-F3FYUFUH.js → chunk-3BEKKRH5.js} +18 -17
  23. package/dist/{chunk-2UJSV2VT.js → chunk-3CZLWOCI.js} +17 -7
  24. package/dist/{chunk-JEUJOX5X.js → chunk-3IUHKMJI.js} +2 -2
  25. package/dist/{chunk-7L4UJOY6.js → chunk-3TYUXC7D.js} +2 -2
  26. package/dist/{chunk-Y2ZE3MSG.js → chunk-43E26CDA.js} +2 -2
  27. package/dist/{chunk-ZO27FGJS.js → chunk-4ASVFYB2.js} +10 -7
  28. package/dist/{chunk-WCT3NYCV.js → chunk-4ASYQ347.js} +33 -8
  29. package/dist/{chunk-2ILHQOL3.js → chunk-4K42RUGC.js} +41 -13
  30. package/dist/{chunk-I5IGB56C.js → chunk-4QV26TEG.js} +41 -1
  31. package/dist/{chunk-QOOUC2J5.js → chunk-4RGZFA7H.js} +2 -2
  32. package/dist/{chunk-CXK4DZH3.js → chunk-4W2PE66Q.js} +12 -2
  33. package/dist/{chunk-EXOQP75F.js → chunk-4WGMGKCZ.js} +53 -33
  34. package/dist/{chunk-JED6ZDEE.js → chunk-5HWPEYWB.js} +2 -2
  35. package/dist/{chunk-3YSQZ75W.js → chunk-65V6IRFN.js} +46 -33
  36. package/dist/{chunk-TMACGPW5.js → chunk-6AUZPPAV.js} +4 -4
  37. package/dist/{chunk-6H7O2OPM.js → chunk-6DCOIN4W.js} +36 -6
  38. package/dist/{chunk-GTWKD3QT.js → chunk-6HTRCTAS.js} +7 -6
  39. package/dist/{chunk-VB4UJ3H2.js → chunk-6KY7OCZC.js} +21 -11
  40. package/dist/{chunk-YAA6IID3.js → chunk-774C2FF3.js} +2 -2
  41. package/dist/{chunk-WJ7RW65H.js → chunk-7GUF6SDR.js} +22 -20
  42. package/dist/{chunk-QYTPPDAO.js → chunk-7JDTNFAK.js} +3 -3
  43. package/dist/{chunk-U6EQI3U6.js → chunk-ADYKAKE3.js} +3 -3
  44. package/dist/{chunk-VNSXLA6G.js → chunk-AHXIMHDQ.js} +84 -20
  45. package/dist/chunk-AIMLCDAO.js +404 -0
  46. package/dist/{chunk-6MNGECP2.js → chunk-ALYZ3MAA.js} +4 -4
  47. package/dist/{chunk-5F5ELR3V.js → chunk-AN2DQB3G.js} +151 -20
  48. package/dist/{chunk-IEWG6J7C.js → chunk-AZNXGWDC.js} +91 -36
  49. package/dist/{chunk-4XFBQT5O.js → chunk-B4XS2AF2.js} +3 -3
  50. package/dist/{chunk-CC4YRBWV.js → chunk-BD3WGY4T.js} +18 -8
  51. package/dist/{chunk-RAHVMKBG.js → chunk-BFDVEO5R.js} +2 -2
  52. package/dist/{chunk-332ZR4QU.js → chunk-BR7AYN76.js} +8 -8
  53. package/dist/{chunk-P3NRSSUU.js → chunk-BULHGPHK.js} +3 -3
  54. package/dist/{chunk-PZDBOK2Q.js → chunk-CK2GMDXD.js} +11 -5
  55. package/dist/{chunk-467TVMQL.js → chunk-CMVZWP32.js} +3 -3
  56. package/dist/{chunk-GNSFLJAA.js → chunk-CQFNIIQN.js} +7 -7
  57. package/dist/{chunk-RBDIYLA5.js → chunk-DAOFNU6J.js} +17 -1
  58. package/dist/{chunk-AFIEPDLX.js → chunk-DWUMPMV2.js} +23 -11
  59. package/dist/{chunk-USZW2HHU.js → chunk-EQW6HOP4.js} +4 -3
  60. package/dist/{chunk-6BQFET7X.js → chunk-FFXCKZOU.js} +12 -4
  61. package/dist/{chunk-WRNFDFPU.js → chunk-FGDSTT3F.js} +2 -2
  62. package/dist/{chunk-6NFYEQDX.js → chunk-FLDC7ZAK.js} +34 -7
  63. package/dist/{chunk-IUJODQKX.js → chunk-FT7TPPZ5.js} +25 -23
  64. package/dist/{chunk-IEDMFNU7.js → chunk-FUKNRLIJ.js} +19 -7
  65. package/dist/{chunk-JJXGQIRV.js → chunk-FXCB7H5O.js} +4 -4
  66. package/dist/{chunk-GGHRAITI.js → chunk-GABSL6TH.js} +4 -4
  67. package/dist/{chunk-RXKTSFDL.js → chunk-GAWKIIPO.js} +35 -43
  68. package/dist/{chunk-ZJ3LS7DW.js → chunk-GMAH572Z.js} +6 -6
  69. package/dist/{chunk-TRM2J7ZN.js → chunk-GMIJ35PW.js} +28 -29
  70. package/dist/{chunk-AB7INMR5.js → chunk-GQ644SPD.js} +26 -25
  71. package/dist/{chunk-5QKQSSPO.js → chunk-GRM2A4BG.js} +4 -4
  72. package/dist/{chunk-3ODS2VGL.js → chunk-GWQJKTFS.js} +161 -704
  73. package/dist/{chunk-OTOHI4JO.js → chunk-H3HFC3SQ.js} +2 -2
  74. package/dist/{chunk-JSSX2SX4.js → chunk-HE5J53SZ.js} +4 -4
  75. package/dist/{chunk-2EQMXBBQ.js → chunk-HNBY6CNV.js} +3 -3
  76. package/dist/{chunk-J76PIKAT.js → chunk-HO3RCNF6.js} +3 -3
  77. package/dist/{chunk-OJTXTQA2.js → chunk-HORZ5H2L.js} +38 -31
  78. package/dist/{chunk-MX2EY5Y7.js → chunk-HOXKNRON.js} +2 -2
  79. package/dist/{chunk-E7Y3SYKW.js → chunk-I64ECJX3.js} +18 -8
  80. package/dist/{chunk-JM4LEPY3.js → chunk-IQJCVREL.js} +11 -8
  81. package/dist/{chunk-3JLKYGBQ.js → chunk-J7HI6G3G.js} +9 -6
  82. package/dist/{chunk-Q62FEYK3.js → chunk-JHOAH4TI.js} +3 -3
  83. package/dist/{chunk-OZPBJM5Q.js → chunk-JTMSWEIW.js} +11 -8
  84. package/dist/{chunk-P6T66CCZ.js → chunk-JYDMBWRP.js} +37 -19
  85. package/dist/{chunk-7DF4J4RL.js → chunk-KKHCNSKK.js} +17 -11
  86. package/dist/{chunk-ENRS56GC.js → chunk-KUSAVOWZ.js} +11 -8
  87. package/dist/{chunk-BYJBIALT.js → chunk-LC3FFD43.js} +23 -18
  88. package/dist/{chunk-65WJYYKJ.js → chunk-LHILKFDP.js} +16 -11
  89. package/dist/{chunk-NEQ6GJXB.js → chunk-LQHVDZYC.js} +52 -16
  90. package/dist/{chunk-5WPNFSXP.js → chunk-MA3HJZHB.js} +5 -5
  91. package/dist/{chunk-Z6XJQ6KO.js → chunk-MEQYZZFR.js} +3 -3
  92. package/dist/{chunk-MVN25IF6.js → chunk-NNUMX6WX.js} +42 -12
  93. package/dist/{chunk-7DYOELRK.js → chunk-NNYFQOTK.js} +78 -38
  94. package/dist/{chunk-NNAAJVBU.js → chunk-NR5HCAUD.js} +1 -1
  95. package/dist/{chunk-H6PI3KJT.js → chunk-ODUT5WMC.js} +2 -2
  96. package/dist/{chunk-5PDTIBLV.js → chunk-P3H7QVDH.js} +56 -19
  97. package/dist/{chunk-ND76YJCN.js → chunk-PIXZTCKH.js} +84 -117
  98. package/dist/{chunk-3LV2NCB6.js → chunk-PKNNHU7H.js} +22 -9
  99. package/dist/{chunk-TK2VQQX2.js → chunk-PT4SW76W.js} +20 -18
  100. package/dist/{chunk-AE7II3E3.js → chunk-PV2QO7QL.js} +4 -4
  101. package/dist/{chunk-FTBZV6NE.js → chunk-PYO4TJJ3.js} +34 -26
  102. package/dist/{chunk-QZPEGJOM.js → chunk-Q7AH665U.js} +28 -14
  103. package/dist/{chunk-QHI5XVUJ.js → chunk-QAALSCKI.js} +27 -26
  104. package/dist/{chunk-GD6L76WD.js → chunk-QI3BOLQB.js} +23 -11
  105. package/dist/{chunk-Y6GBQTBK.js → chunk-QWIBT6DS.js} +50 -28
  106. package/dist/{chunk-GU46PPT3.js → chunk-QXGACPS2.js} +5 -5
  107. package/dist/{chunk-FMDSF3OV.js → chunk-QZAW5SFH.js} +2 -2
  108. package/dist/{chunk-YGJZWZTY.js → chunk-R5NH5BZG.js} +12 -9
  109. package/dist/{chunk-U5SI5NIM.js → chunk-RJ5LBZ5U.js} +43 -26
  110. package/dist/{chunk-XHVV4NVW.js → chunk-RT7ACF77.js} +12 -2
  111. package/dist/{chunk-XEQXCIBC.js → chunk-RW5PEJ7D.js} +18 -6
  112. package/dist/{chunk-4VWJ4LW2.js → chunk-SG4PRYO3.js} +61 -49
  113. package/dist/{chunk-RBHWPDBB.js → chunk-SGPFVDUL.js} +18 -7
  114. package/dist/{chunk-KJGG2JKQ.js → chunk-SQCBSFT5.js} +84 -79
  115. package/dist/{chunk-5X6YQA2J.js → chunk-U7NKYLX2.js} +18 -16
  116. package/dist/chunk-U7VO6JAA.js +566 -0
  117. package/dist/{chunk-32XPAAET.js → chunk-UFQJMOVZ.js} +10 -10
  118. package/dist/{chunk-Z72XRXD4.js → chunk-UJRTPOHH.js} +3 -3
  119. package/dist/{chunk-EDA6C7MV.js → chunk-UK6DKJLD.js} +34 -14
  120. package/dist/{chunk-GROLTAWZ.js → chunk-UKP5HWB5.js} +149 -89
  121. package/dist/{chunk-DY7XLRHK.js → chunk-UQRIKAMH.js} +28 -27
  122. package/dist/{chunk-TYS6CSS5.js → chunk-UU6LUYUH.js} +2 -2
  123. package/dist/{chunk-NI3XQBPB.js → chunk-UVDCHR4E.js} +18 -6
  124. package/dist/{chunk-6K2M4VSR.js → chunk-VAO6ANGC.js} +23 -10
  125. package/dist/{chunk-6NYWYNBI.js → chunk-VGNIDAPQ.js} +4 -4
  126. package/dist/{chunk-VL2O2F3W.js → chunk-VHO3YBTB.js} +2 -2
  127. package/dist/{chunk-IUO34HKW.js → chunk-VIRANCNY.js} +36 -32
  128. package/dist/{chunk-4QZ43D7I.js → chunk-VJHBSPGF.js} +12 -14
  129. package/dist/{chunk-BGP54HVR.js → chunk-VKNCC2GX.js} +12 -8
  130. package/dist/{chunk-FC5I2KXV.js → chunk-VRRDUYOK.js} +7 -7
  131. package/dist/{chunk-G3PF3S7P.js → chunk-W2DINCHL.js} +15 -15
  132. package/dist/{chunk-OU7HLO7I.js → chunk-W5KMNC5U.js} +8 -8
  133. package/dist/{chunk-FFUN5D66.js → chunk-WF64MW5G.js} +2 -2
  134. package/dist/{chunk-X7EC3L2H.js → chunk-X3RXGSCZ.js} +48 -30
  135. package/dist/{chunk-KFNWFNAA.js → chunk-XEAQDIMF.js} +7 -6
  136. package/dist/{chunk-AXW3M6OQ.js → chunk-XG4NWFPY.js} +38 -27
  137. package/dist/{chunk-B63YB7X3.js → chunk-XQ4KN6JQ.js} +127 -65
  138. package/dist/{chunk-WBRZJOEC.js → chunk-XY3UDKKH.js} +4 -4
  139. package/dist/{chunk-IE477RQZ.js → chunk-YG2BEIQU.js} +14 -13
  140. package/dist/{chunk-LV4BETUU.js → chunk-YJVA3QUU.js} +55 -5
  141. package/dist/{chunk-5SVOCD5W.js → chunk-YR43LJT5.js} +20 -16
  142. package/dist/{chunk-TLVIHFRO.js → chunk-ZKPPI6BF.js} +2 -2
  143. package/dist/{chunk-WQLMU7VG.js → chunk-ZXUAPTCK.js} +3 -3
  144. package/dist/cli.cjs +158 -155
  145. package/dist/clock.js +25 -23
  146. package/dist/countdown.js +4 -3
  147. package/dist/dgmo-router-B4S23EBH.js +86 -0
  148. package/dist/dimensions-K6PGYYGT.js +22 -0
  149. package/dist/editor.js +36 -6
  150. package/dist/element.js +143 -131
  151. package/dist/element.mjs +2062 -937
  152. package/dist/flowchart-parser-LALR6J6F.js +21 -0
  153. package/dist/{flowchart-renderer-AQSMEMYF.js → flowchart-renderer-DXYB5YRF.js} +14 -14
  154. package/dist/highlight.d.ts +21 -1
  155. package/dist/highlight.js +129 -8
  156. package/dist/index.d.ts +4 -2
  157. package/dist/index.js +80 -75
  158. package/dist/layout-3BVDMKXI.js +15 -0
  159. package/dist/layout-3M5UYJHY.js +14 -0
  160. package/dist/{layout-JDJAEQ3P.js → layout-3V2A4MUE.js} +8 -8
  161. package/dist/layout-4IHCMWZN.js +19 -0
  162. package/dist/layout-5XGYNYVT.js +9 -0
  163. package/dist/layout-AZUPXWSK.js +15 -0
  164. package/dist/{layout-F4WO357A.js → layout-CAAKQX4W.js} +3 -3
  165. package/dist/layout-CB3XWCOI.js +10 -0
  166. package/dist/{layout-OAC4PEAC.js → layout-E6HR6PXH.js} +7 -7
  167. package/dist/{layout-7QXCNOVS.js → layout-HBWT2G23.js} +3 -3
  168. package/dist/layout-KPQWJNAG.js +14 -0
  169. package/dist/layout-OL2XFJXA.js +17 -0
  170. package/dist/layout-WCAIKGZG.js +19 -0
  171. package/dist/layout-WSMPBQ4Q.js +17 -0
  172. package/dist/layout-ZE5DRJWX.js +20 -0
  173. package/dist/{layout-search-55FU6HD3.js → layout-search-34DPZD43.js} +51 -35
  174. package/dist/legend-constants-P5EQWRQQ.js +49 -0
  175. package/dist/{palettes-PRJ2RI6D.js → palettes-FGTNFARW.js} +4 -4
  176. package/dist/{parser-KKTJ6M3Y.js → parser-275KP7JO.js} +8 -8
  177. package/dist/parser-27Z76SN3.js +22 -0
  178. package/dist/parser-3CODK6RG.js +15 -0
  179. package/dist/{parser-EH5VE7ZN.js → parser-3KIGEEJM.js} +6 -6
  180. package/dist/parser-3VSWEKBF.js +15 -0
  181. package/dist/parser-4E4I3GNT.js +13 -0
  182. package/dist/parser-5FGJSQNS.js +12 -0
  183. package/dist/parser-5HQXCNOS.js +12 -0
  184. package/dist/parser-5QPFOB5F.js +12 -0
  185. package/dist/parser-6B6SSZT7.js +11 -0
  186. package/dist/parser-6PPHAXXH.js +14 -0
  187. package/dist/parser-7JHWEWXM.js +13 -0
  188. package/dist/{parser-5PDYJGWA.js → parser-7JVIDLLR.js} +7 -7
  189. package/dist/parser-CKA3QMAG.js +18 -0
  190. package/dist/parser-CRKLXGW7.js +13 -0
  191. package/dist/parser-EXNBDNGY.js +11 -0
  192. package/dist/parser-FF4BMRSB.js +16 -0
  193. package/dist/parser-FOOFEJQU.js +13 -0
  194. package/dist/parser-G26MTBFS.js +11 -0
  195. package/dist/parser-GKP2MHHL.js +11 -0
  196. package/dist/parser-GN2MM5CC.js +11 -0
  197. package/dist/parser-IKWK2ZU3.js +18 -0
  198. package/dist/parser-IVGHXLZP.js +14 -0
  199. package/dist/parser-NNIL3HXU.js +11 -0
  200. package/dist/parser-RNLTBIJ6.js +19 -0
  201. package/dist/parser-UWRX52PC.js +16 -0
  202. package/dist/parser-VOERD6XR.js +14 -0
  203. package/dist/parser-XNKJCMMA.js +13 -0
  204. package/dist/parser-XVPTRWZ4.js +15 -0
  205. package/dist/parser-YSLNDFLV.js +22 -0
  206. package/dist/parser-ZGNXYFPS.js +15 -0
  207. package/dist/parser-ZQDQTB4X.js +20 -0
  208. package/dist/pert.d.ts +4 -2
  209. package/dist/registry-CaSw0PSH.d.ts +350 -0
  210. package/dist/renderer-2C6DJRYN.js +24 -0
  211. package/dist/renderer-5MPN7CXZ.js +19 -0
  212. package/dist/renderer-6EN5XXJZ.js +27 -0
  213. package/dist/renderer-6WRYVM5R.js +24 -0
  214. package/dist/renderer-7NQSTQMQ.js +16 -0
  215. package/dist/renderer-7ZNVOVFG.js +16 -0
  216. package/dist/{renderer-KQB7UGDS.js → renderer-AK2WO4EI.js} +7 -6
  217. package/dist/renderer-COLQFSFV.js +26 -0
  218. package/dist/renderer-CWEFGEIC.js +36 -0
  219. package/dist/renderer-D3BRNOMV.js +29 -0
  220. package/dist/renderer-HIFQVEJA.js +22 -0
  221. package/dist/renderer-JCZG6AYU.js +28 -0
  222. package/dist/{renderer-6RKQPNJI.js → renderer-JTCX6PCG.js} +13 -13
  223. package/dist/renderer-JWGQSTMR.js +37 -0
  224. package/dist/{renderer-3YPZHMOU.js → renderer-K7XLVPH5.js} +6 -6
  225. package/dist/renderer-KARQF3F3.js +22 -0
  226. package/dist/renderer-LVZAHRP6.js +34 -0
  227. package/dist/{renderer-QXGN5H3A.js → renderer-NE5W7CQP.js} +8 -8
  228. package/dist/renderer-QD2SJF2I.js +34 -0
  229. package/dist/renderer-RLMOTXZ6.js +37 -0
  230. package/dist/renderer-SQ54MDSA.js +26 -0
  231. package/dist/{renderer-UV6MI64M.js → renderer-TYHGXAVT.js} +7 -6
  232. package/dist/renderer-UKXW2QPE.js +23 -0
  233. package/dist/renderer-UPF7NRTI.js +28 -0
  234. package/dist/renderer-VMH6L6CP.js +24 -0
  235. package/dist/{renderer-GHPZMFU2.js → renderer-WCWI4I6A.js} +5 -5
  236. package/dist/renderer-WFSUBKUL.js +25 -0
  237. package/dist/renderer-WNFXYYGL.js +21 -0
  238. package/dist/{renderer-RGIYOTKJ.js → renderer-XTXSOK3L.js} +14 -14
  239. package/dist/renderer-YUKPS27O.js +24 -0
  240. package/dist/renderer-YUXGXGSW.js +27 -0
  241. package/dist/renderer-ZBTEX2JK.js +16 -0
  242. package/dist/renderer-radial-WF6VOUOD.js +21 -0
  243. package/dist/{resolver-EMTGNR3D.js → resolver-WFKZYBJ2.js} +4 -4
  244. package/dist/state-parser-L7DHZIQO.js +19 -0
  245. package/dist/state-renderer-TFEUOP4H.js +38 -0
  246. package/dist/{themes-32xj5ZTW.d.ts → themes-tbBkIVsn.d.ts} +2 -349
  247. package/docs/ai-integration.md +74 -77
  248. package/docs/language-reference.md +329 -290
  249. package/fonts/Inter-Bold.woff2 +0 -0
  250. package/fonts/Inter-Regular.woff2 +0 -0
  251. package/gallery/fixtures/boxes-and-lines-diverging.dgmo +1 -2
  252. package/gallery/fixtures/boxes-and-lines.dgmo +1 -1
  253. package/gallery/fixtures/clock.dgmo +1 -1
  254. package/gallery/fixtures/event-line.dgmo +1 -1
  255. package/gallery/fixtures/gantt-full.dgmo +1 -1
  256. package/gallery/fixtures/gantt-sprints.dgmo +9 -9
  257. package/gallery/fixtures/gantt.dgmo +1 -1
  258. package/gallery/fixtures/legacy-syntax-backcompat.dgmo +16 -0
  259. package/gallery/fixtures/state-tags.dgmo +40 -0
  260. package/gallery/fixtures/swimlane.dgmo +1 -1
  261. package/gallery/fixtures/timeline-intraday.dgmo +1 -1
  262. package/package.json +5 -1
  263. package/dist/analyzer-BJ54GIFB.js +0 -15
  264. package/dist/calculator-LDYQCDDY.js +0 -11
  265. package/dist/charts-d3-7E4B4IMW.js +0 -26
  266. package/dist/dgmo-router-Y2VEX46B.js +0 -86
  267. package/dist/dimensions-F7B5C4BJ.js +0 -22
  268. package/dist/flowchart-parser-MY53QWTZ.js +0 -21
  269. package/dist/layout-46366KBT.js +0 -10
  270. package/dist/layout-46N4JJYK.js +0 -17
  271. package/dist/layout-4DIUOX2T.js +0 -14
  272. package/dist/layout-AM2JWW3X.js +0 -15
  273. package/dist/layout-CBCLPMSG.js +0 -15
  274. package/dist/layout-EE6GE46Y.js +0 -17
  275. package/dist/layout-G23F7LDH.js +0 -9
  276. package/dist/layout-HYZPWAK5.js +0 -18
  277. package/dist/layout-MUPRALE5.js +0 -14
  278. package/dist/layout-YVTNOTN4.js +0 -20
  279. package/dist/layout-ZDOSXL5G.js +0 -19
  280. package/dist/parser-2Q2T4C3B.js +0 -22
  281. package/dist/parser-3A42DZ72.js +0 -11
  282. package/dist/parser-4RFTKAQX.js +0 -15
  283. package/dist/parser-57ILIFZ2.js +0 -20
  284. package/dist/parser-5A2UWU6B.js +0 -11
  285. package/dist/parser-6BJEXUFX.js +0 -13
  286. package/dist/parser-6ZKABF5S.js +0 -22
  287. package/dist/parser-AIMHGJRR.js +0 -19
  288. package/dist/parser-AZJ25OKK.js +0 -13
  289. package/dist/parser-B77S5SZM.js +0 -11
  290. package/dist/parser-BEPSWJAD.js +0 -11
  291. package/dist/parser-BKI42XBQ.js +0 -16
  292. package/dist/parser-C3D7MVXY.js +0 -11
  293. package/dist/parser-CDG7CHV5.js +0 -14
  294. package/dist/parser-CZOJ7XQ6.js +0 -15
  295. package/dist/parser-E2RL6JYF.js +0 -18
  296. package/dist/parser-FQ6GZFMR.js +0 -13
  297. package/dist/parser-GKLZKEIK.js +0 -13
  298. package/dist/parser-H6ABKHZZ.js +0 -12
  299. package/dist/parser-I6GGFKOQ.js +0 -12
  300. package/dist/parser-JA7JQ7NF.js +0 -15
  301. package/dist/parser-OK22AC6Y.js +0 -14
  302. package/dist/parser-OK2ILHRT.js +0 -16
  303. package/dist/parser-OUTPNJWC.js +0 -11
  304. package/dist/parser-PORDUX5E.js +0 -15
  305. package/dist/parser-SRVFR7PM.js +0 -13
  306. package/dist/parser-UKFFZCFJ.js +0 -14
  307. package/dist/parser-UMWPLORP.js +0 -18
  308. package/dist/parser-Z4TZV2CB.js +0 -12
  309. package/dist/renderer-2AUFT3E2.js +0 -24
  310. package/dist/renderer-2HTNBIF2.js +0 -34
  311. package/dist/renderer-3K3IB7D5.js +0 -22
  312. package/dist/renderer-3YNIWF5I.js +0 -16
  313. package/dist/renderer-4WR6WMVF.js +0 -26
  314. package/dist/renderer-66MERVQ2.js +0 -24
  315. package/dist/renderer-ARMJBP6C.js +0 -28
  316. package/dist/renderer-CO2DW7S7.js +0 -37
  317. package/dist/renderer-EDJ2O4S5.js +0 -34
  318. package/dist/renderer-F7U3MFCV.js +0 -22
  319. package/dist/renderer-GD2COXVL.js +0 -16
  320. package/dist/renderer-GQIESYEM.js +0 -25
  321. package/dist/renderer-HCKJDFXD.js +0 -37
  322. package/dist/renderer-HYGHO4SJ.js +0 -28
  323. package/dist/renderer-JC3RDUT7.js +0 -23
  324. package/dist/renderer-NKJ24TEA.js +0 -19
  325. package/dist/renderer-OYO67VZK.js +0 -26
  326. package/dist/renderer-QIWVHWZO.js +0 -15
  327. package/dist/renderer-QRWACQRI.js +0 -21
  328. package/dist/renderer-QXPP4TA2.js +0 -27
  329. package/dist/renderer-RHT4MHFU.js +0 -24
  330. package/dist/renderer-RYR3TJ46.js +0 -36
  331. package/dist/renderer-SRKDNDFB.js +0 -27
  332. package/dist/renderer-TGTUABCI.js +0 -24
  333. package/dist/renderer-TXJFKPOG.js +0 -29
  334. package/dist/renderer-radial-FWABAZHB.js +0 -21
  335. package/dist/state-parser-6T6CNMPX.js +0 -18
  336. package/dist/state-renderer-AWZ3ECAX.js +0 -34
@@ -1,26 +1,12 @@
1
- import {
2
- renderTimeline
3
- } from "./chunk-B63YB7X3.js";
4
- import {
5
- ScaleContext
6
- } from "./chunk-YYVTBZZC.js";
7
- import {
8
- getRenderCategory,
9
- parseArc,
10
- parseDgmo,
11
- parseQuadrant,
12
- parseSlope,
13
- parseTimeline,
14
- parseVenn,
15
- parseVisualization,
16
- parseWordcloud
17
- } from "./chunk-KJGG2JKQ.js";
18
1
  import {
19
2
  renderDataChartD3
20
- } from "./chunk-4VWJ4LW2.js";
3
+ } from "./chunk-SG4PRYO3.js";
21
4
  import {
22
5
  computeQuadrantPointLabels
23
- } from "./chunk-VL2O2F3W.js";
6
+ } from "./chunk-VHO3YBTB.js";
7
+ import {
8
+ renderTimeline
9
+ } from "./chunk-XQ4KN6JQ.js";
24
10
  import {
25
11
  EXPORT_HEIGHT,
26
12
  EXPORT_WIDTH,
@@ -32,14 +18,24 @@ import {
32
18
  renderChartTitle,
33
19
  resolveExportPalette,
34
20
  showTooltip
35
- } from "./chunk-U6EQI3U6.js";
21
+ } from "./chunk-ADYKAKE3.js";
22
+ import {
23
+ ScaleContext
24
+ } from "./chunk-YYVTBZZC.js";
36
25
  import {
37
26
  FONT_FAMILY
38
27
  } from "./chunk-6KFWC4CO.js";
39
28
  import {
40
- measureText,
41
- wrapTextToWidth
42
- } from "./chunk-WCT3NYCV.js";
29
+ getRenderCategory,
30
+ parseArc,
31
+ parseDgmo,
32
+ parseQuadrant,
33
+ parseSlope,
34
+ parseTimeline,
35
+ parseVenn,
36
+ parseVisualization,
37
+ parseWordcloud
38
+ } from "./chunk-SQCBSFT5.js";
43
39
  import {
44
40
  getPalette
45
41
  } from "./chunk-R3XI2VC7.js";
@@ -47,472 +43,15 @@ import {
47
43
  getSeriesColors,
48
44
  mix,
49
45
  themeBaseBg
50
- } from "./chunk-P6T66CCZ.js";
46
+ } from "./chunk-JYDMBWRP.js";
47
+ import {
48
+ measureText,
49
+ wrapTextToWidth
50
+ } from "./chunk-4ASYQ347.js";
51
51
  import {
52
52
  resolveActiveTagGroup,
53
53
  tagAttrKey
54
- } from "./chunk-467TVMQL.js";
55
- import {
56
- __commonJS,
57
- __toESM
58
- } from "./chunk-5WRI5ZAA.js";
59
-
60
- // node_modules/.pnpm/lz-string@1.5.0/node_modules/lz-string/libs/lz-string.js
61
- var require_lz_string = __commonJS({
62
- "node_modules/.pnpm/lz-string@1.5.0/node_modules/lz-string/libs/lz-string.js"(exports, module) {
63
- "use strict";
64
- var LZString = (function() {
65
- var f = String.fromCharCode;
66
- var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
67
- var keyStrUriSafe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$";
68
- var baseReverseDic = {};
69
- function getBaseValue(alphabet, character) {
70
- if (!baseReverseDic[alphabet]) {
71
- baseReverseDic[alphabet] = {};
72
- for (var i = 0; i < alphabet.length; i++) {
73
- baseReverseDic[alphabet][alphabet.charAt(i)] = i;
74
- }
75
- }
76
- return baseReverseDic[alphabet][character];
77
- }
78
- var LZString2 = {
79
- compressToBase64: function(input) {
80
- if (input == null) return "";
81
- var res = LZString2._compress(input, 6, function(a) {
82
- return keyStrBase64.charAt(a);
83
- });
84
- switch (res.length % 4) {
85
- // To produce valid Base64
86
- default:
87
- // When could this happen ?
88
- case 0:
89
- return res;
90
- case 1:
91
- return res + "===";
92
- case 2:
93
- return res + "==";
94
- case 3:
95
- return res + "=";
96
- }
97
- },
98
- decompressFromBase64: function(input) {
99
- if (input == null) return "";
100
- if (input == "") return null;
101
- return LZString2._decompress(input.length, 32, function(index) {
102
- return getBaseValue(keyStrBase64, input.charAt(index));
103
- });
104
- },
105
- compressToUTF16: function(input) {
106
- if (input == null) return "";
107
- return LZString2._compress(input, 15, function(a) {
108
- return f(a + 32);
109
- }) + " ";
110
- },
111
- decompressFromUTF16: function(compressed) {
112
- if (compressed == null) return "";
113
- if (compressed == "") return null;
114
- return LZString2._decompress(compressed.length, 16384, function(index) {
115
- return compressed.charCodeAt(index) - 32;
116
- });
117
- },
118
- //compress into uint8array (UCS-2 big endian format)
119
- compressToUint8Array: function(uncompressed) {
120
- var compressed = LZString2.compress(uncompressed);
121
- var buf = new Uint8Array(compressed.length * 2);
122
- for (var i = 0, TotalLen = compressed.length; i < TotalLen; i++) {
123
- var current_value = compressed.charCodeAt(i);
124
- buf[i * 2] = current_value >>> 8;
125
- buf[i * 2 + 1] = current_value % 256;
126
- }
127
- return buf;
128
- },
129
- //decompress from uint8array (UCS-2 big endian format)
130
- decompressFromUint8Array: function(compressed) {
131
- if (compressed === null || compressed === void 0) {
132
- return LZString2.decompress(compressed);
133
- } else {
134
- var buf = new Array(compressed.length / 2);
135
- for (var i = 0, TotalLen = buf.length; i < TotalLen; i++) {
136
- buf[i] = compressed[i * 2] * 256 + compressed[i * 2 + 1];
137
- }
138
- var result = [];
139
- buf.forEach(function(c) {
140
- result.push(f(c));
141
- });
142
- return LZString2.decompress(result.join(""));
143
- }
144
- },
145
- //compress into a string that is already URI encoded
146
- compressToEncodedURIComponent: function(input) {
147
- if (input == null) return "";
148
- return LZString2._compress(input, 6, function(a) {
149
- return keyStrUriSafe.charAt(a);
150
- });
151
- },
152
- //decompress from an output of compressToEncodedURIComponent
153
- decompressFromEncodedURIComponent: function(input) {
154
- if (input == null) return "";
155
- if (input == "") return null;
156
- input = input.replace(/ /g, "+");
157
- return LZString2._decompress(input.length, 32, function(index) {
158
- return getBaseValue(keyStrUriSafe, input.charAt(index));
159
- });
160
- },
161
- compress: function(uncompressed) {
162
- return LZString2._compress(uncompressed, 16, function(a) {
163
- return f(a);
164
- });
165
- },
166
- _compress: function(uncompressed, bitsPerChar, getCharFromInt) {
167
- if (uncompressed == null) return "";
168
- var i, value, context_dictionary = {}, context_dictionaryToCreate = {}, context_c = "", context_wc = "", context_w = "", context_enlargeIn = 2, context_dictSize = 3, context_numBits = 2, context_data = [], context_data_val = 0, context_data_position = 0, ii;
169
- for (ii = 0; ii < uncompressed.length; ii += 1) {
170
- context_c = uncompressed.charAt(ii);
171
- if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {
172
- context_dictionary[context_c] = context_dictSize++;
173
- context_dictionaryToCreate[context_c] = true;
174
- }
175
- context_wc = context_w + context_c;
176
- if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) {
177
- context_w = context_wc;
178
- } else {
179
- if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {
180
- if (context_w.charCodeAt(0) < 256) {
181
- for (i = 0; i < context_numBits; i++) {
182
- context_data_val = context_data_val << 1;
183
- if (context_data_position == bitsPerChar - 1) {
184
- context_data_position = 0;
185
- context_data.push(getCharFromInt(context_data_val));
186
- context_data_val = 0;
187
- } else {
188
- context_data_position++;
189
- }
190
- }
191
- value = context_w.charCodeAt(0);
192
- for (i = 0; i < 8; i++) {
193
- context_data_val = context_data_val << 1 | value & 1;
194
- if (context_data_position == bitsPerChar - 1) {
195
- context_data_position = 0;
196
- context_data.push(getCharFromInt(context_data_val));
197
- context_data_val = 0;
198
- } else {
199
- context_data_position++;
200
- }
201
- value = value >> 1;
202
- }
203
- } else {
204
- value = 1;
205
- for (i = 0; i < context_numBits; i++) {
206
- context_data_val = context_data_val << 1 | value;
207
- if (context_data_position == bitsPerChar - 1) {
208
- context_data_position = 0;
209
- context_data.push(getCharFromInt(context_data_val));
210
- context_data_val = 0;
211
- } else {
212
- context_data_position++;
213
- }
214
- value = 0;
215
- }
216
- value = context_w.charCodeAt(0);
217
- for (i = 0; i < 16; i++) {
218
- context_data_val = context_data_val << 1 | value & 1;
219
- if (context_data_position == bitsPerChar - 1) {
220
- context_data_position = 0;
221
- context_data.push(getCharFromInt(context_data_val));
222
- context_data_val = 0;
223
- } else {
224
- context_data_position++;
225
- }
226
- value = value >> 1;
227
- }
228
- }
229
- context_enlargeIn--;
230
- if (context_enlargeIn == 0) {
231
- context_enlargeIn = Math.pow(2, context_numBits);
232
- context_numBits++;
233
- }
234
- delete context_dictionaryToCreate[context_w];
235
- } else {
236
- value = context_dictionary[context_w];
237
- for (i = 0; i < context_numBits; i++) {
238
- context_data_val = context_data_val << 1 | value & 1;
239
- if (context_data_position == bitsPerChar - 1) {
240
- context_data_position = 0;
241
- context_data.push(getCharFromInt(context_data_val));
242
- context_data_val = 0;
243
- } else {
244
- context_data_position++;
245
- }
246
- value = value >> 1;
247
- }
248
- }
249
- context_enlargeIn--;
250
- if (context_enlargeIn == 0) {
251
- context_enlargeIn = Math.pow(2, context_numBits);
252
- context_numBits++;
253
- }
254
- context_dictionary[context_wc] = context_dictSize++;
255
- context_w = String(context_c);
256
- }
257
- }
258
- if (context_w !== "") {
259
- if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {
260
- if (context_w.charCodeAt(0) < 256) {
261
- for (i = 0; i < context_numBits; i++) {
262
- context_data_val = context_data_val << 1;
263
- if (context_data_position == bitsPerChar - 1) {
264
- context_data_position = 0;
265
- context_data.push(getCharFromInt(context_data_val));
266
- context_data_val = 0;
267
- } else {
268
- context_data_position++;
269
- }
270
- }
271
- value = context_w.charCodeAt(0);
272
- for (i = 0; i < 8; i++) {
273
- context_data_val = context_data_val << 1 | value & 1;
274
- if (context_data_position == bitsPerChar - 1) {
275
- context_data_position = 0;
276
- context_data.push(getCharFromInt(context_data_val));
277
- context_data_val = 0;
278
- } else {
279
- context_data_position++;
280
- }
281
- value = value >> 1;
282
- }
283
- } else {
284
- value = 1;
285
- for (i = 0; i < context_numBits; i++) {
286
- context_data_val = context_data_val << 1 | value;
287
- if (context_data_position == bitsPerChar - 1) {
288
- context_data_position = 0;
289
- context_data.push(getCharFromInt(context_data_val));
290
- context_data_val = 0;
291
- } else {
292
- context_data_position++;
293
- }
294
- value = 0;
295
- }
296
- value = context_w.charCodeAt(0);
297
- for (i = 0; i < 16; i++) {
298
- context_data_val = context_data_val << 1 | value & 1;
299
- if (context_data_position == bitsPerChar - 1) {
300
- context_data_position = 0;
301
- context_data.push(getCharFromInt(context_data_val));
302
- context_data_val = 0;
303
- } else {
304
- context_data_position++;
305
- }
306
- value = value >> 1;
307
- }
308
- }
309
- context_enlargeIn--;
310
- if (context_enlargeIn == 0) {
311
- context_enlargeIn = Math.pow(2, context_numBits);
312
- context_numBits++;
313
- }
314
- delete context_dictionaryToCreate[context_w];
315
- } else {
316
- value = context_dictionary[context_w];
317
- for (i = 0; i < context_numBits; i++) {
318
- context_data_val = context_data_val << 1 | value & 1;
319
- if (context_data_position == bitsPerChar - 1) {
320
- context_data_position = 0;
321
- context_data.push(getCharFromInt(context_data_val));
322
- context_data_val = 0;
323
- } else {
324
- context_data_position++;
325
- }
326
- value = value >> 1;
327
- }
328
- }
329
- context_enlargeIn--;
330
- if (context_enlargeIn == 0) {
331
- context_enlargeIn = Math.pow(2, context_numBits);
332
- context_numBits++;
333
- }
334
- }
335
- value = 2;
336
- for (i = 0; i < context_numBits; i++) {
337
- context_data_val = context_data_val << 1 | value & 1;
338
- if (context_data_position == bitsPerChar - 1) {
339
- context_data_position = 0;
340
- context_data.push(getCharFromInt(context_data_val));
341
- context_data_val = 0;
342
- } else {
343
- context_data_position++;
344
- }
345
- value = value >> 1;
346
- }
347
- while (true) {
348
- context_data_val = context_data_val << 1;
349
- if (context_data_position == bitsPerChar - 1) {
350
- context_data.push(getCharFromInt(context_data_val));
351
- break;
352
- } else context_data_position++;
353
- }
354
- return context_data.join("");
355
- },
356
- decompress: function(compressed) {
357
- if (compressed == null) return "";
358
- if (compressed == "") return null;
359
- return LZString2._decompress(compressed.length, 32768, function(index) {
360
- return compressed.charCodeAt(index);
361
- });
362
- },
363
- _decompress: function(length, resetValue, getNextValue) {
364
- var dictionary = [], next, enlargeIn = 4, dictSize = 4, numBits = 3, entry = "", result = [], i, w, bits, resb, maxpower, power, c, data = { val: getNextValue(0), position: resetValue, index: 1 };
365
- for (i = 0; i < 3; i += 1) {
366
- dictionary[i] = i;
367
- }
368
- bits = 0;
369
- maxpower = Math.pow(2, 2);
370
- power = 1;
371
- while (power != maxpower) {
372
- resb = data.val & data.position;
373
- data.position >>= 1;
374
- if (data.position == 0) {
375
- data.position = resetValue;
376
- data.val = getNextValue(data.index++);
377
- }
378
- bits |= (resb > 0 ? 1 : 0) * power;
379
- power <<= 1;
380
- }
381
- switch (next = bits) {
382
- case 0:
383
- bits = 0;
384
- maxpower = Math.pow(2, 8);
385
- power = 1;
386
- while (power != maxpower) {
387
- resb = data.val & data.position;
388
- data.position >>= 1;
389
- if (data.position == 0) {
390
- data.position = resetValue;
391
- data.val = getNextValue(data.index++);
392
- }
393
- bits |= (resb > 0 ? 1 : 0) * power;
394
- power <<= 1;
395
- }
396
- c = f(bits);
397
- break;
398
- case 1:
399
- bits = 0;
400
- maxpower = Math.pow(2, 16);
401
- power = 1;
402
- while (power != maxpower) {
403
- resb = data.val & data.position;
404
- data.position >>= 1;
405
- if (data.position == 0) {
406
- data.position = resetValue;
407
- data.val = getNextValue(data.index++);
408
- }
409
- bits |= (resb > 0 ? 1 : 0) * power;
410
- power <<= 1;
411
- }
412
- c = f(bits);
413
- break;
414
- case 2:
415
- return "";
416
- }
417
- dictionary[3] = c;
418
- w = c;
419
- result.push(c);
420
- while (true) {
421
- if (data.index > length) {
422
- return "";
423
- }
424
- bits = 0;
425
- maxpower = Math.pow(2, numBits);
426
- power = 1;
427
- while (power != maxpower) {
428
- resb = data.val & data.position;
429
- data.position >>= 1;
430
- if (data.position == 0) {
431
- data.position = resetValue;
432
- data.val = getNextValue(data.index++);
433
- }
434
- bits |= (resb > 0 ? 1 : 0) * power;
435
- power <<= 1;
436
- }
437
- switch (c = bits) {
438
- case 0:
439
- bits = 0;
440
- maxpower = Math.pow(2, 8);
441
- power = 1;
442
- while (power != maxpower) {
443
- resb = data.val & data.position;
444
- data.position >>= 1;
445
- if (data.position == 0) {
446
- data.position = resetValue;
447
- data.val = getNextValue(data.index++);
448
- }
449
- bits |= (resb > 0 ? 1 : 0) * power;
450
- power <<= 1;
451
- }
452
- dictionary[dictSize++] = f(bits);
453
- c = dictSize - 1;
454
- enlargeIn--;
455
- break;
456
- case 1:
457
- bits = 0;
458
- maxpower = Math.pow(2, 16);
459
- power = 1;
460
- while (power != maxpower) {
461
- resb = data.val & data.position;
462
- data.position >>= 1;
463
- if (data.position == 0) {
464
- data.position = resetValue;
465
- data.val = getNextValue(data.index++);
466
- }
467
- bits |= (resb > 0 ? 1 : 0) * power;
468
- power <<= 1;
469
- }
470
- dictionary[dictSize++] = f(bits);
471
- c = dictSize - 1;
472
- enlargeIn--;
473
- break;
474
- case 2:
475
- return result.join("");
476
- }
477
- if (enlargeIn == 0) {
478
- enlargeIn = Math.pow(2, numBits);
479
- numBits++;
480
- }
481
- if (dictionary[c]) {
482
- entry = dictionary[c];
483
- } else {
484
- if (c === dictSize) {
485
- entry = w + w.charAt(0);
486
- } else {
487
- return null;
488
- }
489
- }
490
- result.push(entry);
491
- dictionary[dictSize++] = w + entry.charAt(0);
492
- enlargeIn--;
493
- w = entry;
494
- if (enlargeIn == 0) {
495
- enlargeIn = Math.pow(2, numBits);
496
- numBits++;
497
- }
498
- }
499
- }
500
- };
501
- return LZString2;
502
- })();
503
- if (typeof define === "function" && define.amd) {
504
- define(function() {
505
- return LZString;
506
- });
507
- } else if (typeof module !== "undefined" && module != null) {
508
- module.exports = LZString;
509
- } else if (typeof angular !== "undefined" && angular != null) {
510
- angular.module("LZString", []).factory("LZString", function() {
511
- return LZString;
512
- });
513
- }
514
- }
515
- });
54
+ } from "./chunk-CMVZWP32.js";
516
55
 
517
56
  // src/slope/renderer.ts
518
57
  import * as d3Scale from "d3-scale";
@@ -814,8 +353,10 @@ var ARC_NODE_LABEL_Y_OFFSET = 20;
814
353
  var ARC_STROKE_MIN = 1.5;
815
354
  var ARC_STROKE_MAX = 6;
816
355
  var ARC_BASELINE_STROKE_WIDTH = 1;
817
- function renderArcDiagram(container, parsed, palette, _isDark, onClickItem, exportDims) {
356
+ function renderArcDiagram(container, parsed, palette, isDark, onClickItem, exportDims) {
818
357
  const { links, orientation, arcOrder, arcNodeGroups } = parsed;
358
+ const outlineDots = parsed.fillMode === "outline";
359
+ const hollowFill = themeBaseBg(palette, isDark);
819
360
  const title = parsed.noTitle ? null : parsed.title;
820
361
  if (links.length === 0) return;
821
362
  const init = initD3Chart(container, palette, exportDims);
@@ -972,7 +513,10 @@ function renderArcDiagram(container, parsed, palette, _isDark, onClickItem, expo
972
513
  const minY = Math.min(...positions) - bandPad;
973
514
  const maxY = Math.max(...positions) + bandPad;
974
515
  const midYBand = (minY + maxY) / 2;
975
- g.append("rect").attr("class", "arc-group-band").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).attr("x", bandLeft).attr("y", minY).attr("width", bandRight - bandLeft).attr("height", maxY - minY).attr("rx", sBandRadius).attr("fill", group.color ?? textColor).attr("fill-opacity", group.color ? 0.15 : 0.06).style("cursor", "pointer").on("mouseenter", () => handleGroupEnter(group.name)).on("mouseleave", handleMouseLeave).on("click", () => {
516
+ g.append("rect").attr("class", "arc-group-band").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).attr("x", bandLeft).attr("y", minY).attr("width", bandRight - bandLeft).attr("height", maxY - minY).attr("rx", sBandRadius).attr("fill", outlineDots ? "none" : group.color ?? textColor).attr("fill-opacity", group.color ? 0.15 : 0.06).call((sel) => {
517
+ if (outlineDots)
518
+ sel.attr("stroke", group.color ?? textColor).attr("stroke-width", 1.25);
519
+ }).style("cursor", "pointer").on("mouseenter", () => handleGroupEnter(group.name)).on("mouseleave", handleMouseLeave).on("click", () => {
976
520
  if (onClickItem) onClickItem(group.lineNumber);
977
521
  });
978
522
  const nameX = bandLeft + vNameColW / 2;
@@ -1006,7 +550,10 @@ function renderArcDiagram(container, parsed, palette, _isDark, onClickItem, expo
1006
550
  if (onClickItem && nodeLink?.lineNumber)
1007
551
  onClickItem(nodeLink.lineNumber);
1008
552
  });
1009
- nodeG.append("circle").attr("cx", baseX).attr("cy", y).attr("r", sNodeRadius).attr("fill", nodeColor).attr("stroke", bgColor).attr("stroke-width", sNodeStrokeWidth);
553
+ nodeG.append("circle").attr("cx", baseX).attr("cy", y).attr("r", sNodeRadius).attr("fill", outlineDots ? hollowFill : nodeColor).attr("stroke", outlineDots ? nodeColor : bgColor).attr(
554
+ "stroke-width",
555
+ outlineDots ? ctx.structural(2) : sNodeStrokeWidth
556
+ );
1010
557
  nodeG.append("text").attr("x", baseX - sNodeLabelXOffset).attr("y", y).attr("dy", "0.35em").attr("text-anchor", "end").attr("fill", textColor).attr("font-size", `${sNodeLabelFont}px`).text(node);
1011
558
  }
1012
559
  } else {
@@ -1086,7 +633,10 @@ function renderArcDiagram(container, parsed, palette, _isDark, onClickItem, expo
1086
633
  const bandFill = group.color ?? textColor;
1087
634
  const bandFillOpacity = group.color ? 0.15 : 0.06;
1088
635
  const nameY = baseY + nodeLabelDepth + sGroupLabelFont;
1089
- g.append("rect").attr("class", "arc-group-band").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).attr("x", bandLeft).attr("y", bandTopY).attr("width", bandRight - bandLeft).attr("height", bandBottomY - bandTopY).attr("rx", sBandRadius).attr("fill", bandFill).attr("fill-opacity", bandFillOpacity).style("cursor", "pointer").on("mouseenter", () => handleGroupEnter(group.name)).on("mouseleave", handleMouseLeave).on("click", () => {
636
+ g.append("rect").attr("class", "arc-group-band").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).attr("x", bandLeft).attr("y", bandTopY).attr("width", bandRight - bandLeft).attr("height", bandBottomY - bandTopY).attr("rx", sBandRadius).attr("fill", outlineDots ? "none" : bandFill).attr("fill-opacity", bandFillOpacity).call((sel) => {
637
+ if (outlineDots)
638
+ sel.attr("stroke", bandFill).attr("stroke-width", 1.25);
639
+ }).style("cursor", "pointer").on("mouseenter", () => handleGroupEnter(group.name)).on("mouseleave", handleMouseLeave).on("click", () => {
1090
640
  if (onClickItem) onClickItem(group.lineNumber);
1091
641
  });
1092
642
  g.append("text").attr("class", "arc-group-label").attr("data-group", group.name).attr("data-line-number", String(group.lineNumber)).attr("x", (minP + maxP) / 2).attr("y", nameY).attr("text-anchor", "middle").attr("fill", textColor).attr("font-size", `${sGroupLabelFont}px`).attr("font-weight", "600").attr("fill-opacity", 0.6).style("cursor", onClickItem ? "pointer" : "default").text(group.name).on("mouseenter", () => handleGroupEnter(group.name)).on("mouseleave", handleMouseLeave).on("click", () => {
@@ -1119,7 +669,10 @@ function renderArcDiagram(container, parsed, palette, _isDark, onClickItem, expo
1119
669
  if (onClickItem && nodeLink?.lineNumber)
1120
670
  onClickItem(nodeLink.lineNumber);
1121
671
  });
1122
- nodeG.append("circle").attr("cx", x).attr("cy", baseY).attr("r", sNodeRadius).attr("fill", nodeColor).attr("stroke", bgColor).attr("stroke-width", sNodeStrokeWidth);
672
+ nodeG.append("circle").attr("cx", x).attr("cy", baseY).attr("r", sNodeRadius).attr("fill", outlineDots ? hollowFill : nodeColor).attr("stroke", outlineDots ? nodeColor : bgColor).attr(
673
+ "stroke-width",
674
+ outlineDots ? ctx.structural(2) : sNodeStrokeWidth
675
+ );
1123
676
  const labelY = rotateLabels ? baseY + labelPivotGap : baseY + sNodeLabelYOffset;
1124
677
  const nodeLabel = nodeG.append("text").attr("x", x).attr("y", labelY).attr("text-anchor", rotateLabels ? "end" : "middle").attr("fill", textColor).attr("font-size", `${sNodeLabelFont}px`).text(node);
1125
678
  if (rotateLabels) {
@@ -1377,7 +930,7 @@ function regionCentroid(circles, inside) {
1377
930
  }
1378
931
  function renderVenn(container, parsed, palette, _isDark, onClickItem, exportDims) {
1379
932
  const { vennSets, vennOverlaps } = parsed;
1380
- const solid = parsed.solidFill === true;
933
+ const fillMode = parsed.fillMode;
1381
934
  const title = parsed.noTitle ? null : parsed.title;
1382
935
  if (vennSets.length < 2 || vennSets.length > 3) return;
1383
936
  const init = initD3Chart(container, palette, exportDims);
@@ -1531,7 +1084,10 @@ function renderVenn(container, parsed, palette, _isDark, onClickItem, exportDims
1531
1084
  const circleEls = [];
1532
1085
  const circleGroup = svg.append("g");
1533
1086
  circles.forEach((c, i) => {
1534
- const el = circleGroup.append("circle").attr("cx", c.x).attr("cy", c.y).attr("r", c.r).attr("fill", setColors[i]).attr("fill-opacity", solid ? 0.6 : 0.35).attr("stroke", setColors[i]).attr("stroke-width", ctx.structural(2)).style("pointer-events", "none");
1087
+ const el = circleGroup.append("circle").attr("cx", c.x).attr("cy", c.y).attr("r", c.r).attr("fill", setColors[i]).attr(
1088
+ "fill-opacity",
1089
+ fillMode === "solid" ? 0.6 : fillMode === "outline" ? 0 : 0.35
1090
+ ).attr("stroke", setColors[i]).attr("stroke-width", ctx.structural(2)).style("pointer-events", "none");
1535
1091
  circleEls.push(el);
1536
1092
  });
1537
1093
  const defs = svg.append("defs");
@@ -2249,7 +1805,7 @@ function renderQuadrant(container, parsed, palette, isDark, onClickItem, exportD
2249
1805
  if (placed.connectorLine) {
2250
1806
  pointG.append("line").attr("x1", placed.connectorLine.x1).attr("y1", placed.connectorLine.y1).attr("x2", placed.connectorLine.x2).attr("y2", placed.connectorLine.y2).attr("stroke", pointColor).attr("stroke-width", 1).attr("opacity", 0.5);
2251
1807
  }
2252
- pointG.append("circle").attr("cx", cx).attr("cy", cy).attr("r", POINT_RADIUS).attr("fill", "#ffffff").attr("stroke", pointColor).attr("stroke-width", ctx.structural(2));
1808
+ pointG.append("circle").attr("cx", cx).attr("cy", cy).attr("r", POINT_RADIUS).attr("fill", parsed.fillMode === "outline" ? bg : "#ffffff").attr("stroke", pointColor).attr("stroke-width", ctx.structural(2));
2253
1809
  const labelText = pointG.append("text").attr("x", placed.x).attr("y", placed.y).attr("text-anchor", placed.anchor).attr("dominant-baseline", "central").attr("fill", textColor).attr("font-size", `${POINT_LABEL_FONT_SIZE}px`).attr("font-weight", "700").style("text-shadow", `0 1px 2px ${shadowColor}`).style("transition", "y 120ms ease-out");
2254
1810
  labelText.append("tspan").text(point.label);
2255
1811
  const coordsTspan = labelText.append("tspan").attr("class", "point-coords").attr("x", placed.x).attr("dy", `${POINT_LABEL_FONT_SIZE}px`).attr("font-size", `${ctx.text(10)}px`).attr("font-weight", "500").attr("opacity", 0).text(`${point.x.toFixed(2)}, ${point.y.toFixed(2)}`);
@@ -2354,6 +1910,9 @@ function resolveArcChordOverride(content, detectedType, palette) {
2354
1910
  if (!p.error && p.layout === "chord" && p.links.length) {
2355
1911
  const emitted = [
2356
1912
  `chord ${p.title ?? ""}`.trimEnd(),
1913
+ // §1.9 fill family survives the layout re-emit so the circular
1914
+ // renderer honors fill-solid / fill-outline authored on the arc.
1915
+ ...p.fillMode ? [`fill-${p.fillMode}`] : [],
2357
1916
  ...p.links.map((l) => `${l.source} -> ${l.target} ${l.value}`)
2358
1917
  ].join("\n");
2359
1918
  return { content: emitted, type: "chord" };
@@ -2363,13 +1922,13 @@ function resolveArcChordOverride(content, detectedType, palette) {
2363
1922
  }
2364
1923
  async function renderForExport(content, theme, palette, viewState, options) {
2365
1924
  const exportMode = options?.exportMode ?? false;
2366
- const { parseDgmoChartType } = await import("./dgmo-router-Y2VEX46B.js");
1925
+ const { parseDgmoChartType } = await import("./dgmo-router-B4S23EBH.js");
2367
1926
  const detectedTypeRaw = parseDgmoChartType(content);
2368
1927
  const override = resolveArcChordOverride(content, detectedTypeRaw, palette);
2369
1928
  const renderContent = override?.content ?? content;
2370
1929
  const detectedType = override?.type ?? detectedTypeRaw;
2371
1930
  if (detectedType !== null) {
2372
- const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-7E4B4IMW.js");
1931
+ const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-DH2XA45I.js");
2373
1932
  if (supportsD3DataChart(detectedType)) {
2374
1933
  return renderDataChartD32(renderContent, theme, palette);
2375
1934
  }
@@ -2391,8 +1950,8 @@ function ctxTagOverride(ctx) {
2391
1950
  }
2392
1951
  async function exportEventLine(ctx) {
2393
1952
  const { content, theme, palette } = ctx;
2394
- const { parseEventLine } = await import("./parser-OK22AC6Y.js");
2395
- const { renderEventLineForExport } = await import("./renderer-RYR3TJ46.js");
1953
+ const { parseEventLine } = await import("./parser-6PPHAXXH.js");
1954
+ const { renderEventLineForExport } = await import("./renderer-CWEFGEIC.js");
2396
1955
  const effectivePalette = await resolveExportPalette(theme, palette);
2397
1956
  const parsed = parseEventLine(content, effectivePalette);
2398
1957
  if (parsed.error || parsed.events.length === 0) return "";
@@ -2409,8 +1968,8 @@ async function exportEventLine(ctx) {
2409
1968
  }
2410
1969
  async function exportBody(ctx) {
2411
1970
  const { content, theme, palette } = ctx;
2412
- const { parseBody } = await import("./parser-CZOJ7XQ6.js");
2413
- const { renderBodyForExport } = await import("./renderer-QRWACQRI.js");
1971
+ const { parseBody } = await import("./parser-3CODK6RG.js");
1972
+ const { renderBodyForExport } = await import("./renderer-WNFXYYGL.js");
2414
1973
  const effectivePalette = await resolveExportPalette(theme, palette);
2415
1974
  const parsed = parseBody(content, effectivePalette);
2416
1975
  if (parsed.error) return "";
@@ -2427,8 +1986,8 @@ async function exportBody(ctx) {
2427
1986
  }
2428
1987
  async function exportVersionControl(ctx) {
2429
1988
  const { content, theme, palette } = ctx;
2430
- const { parseVersionControl } = await import("./parser-B77S5SZM.js");
2431
- const { renderVersionControlForExport } = await import("./renderer-GHPZMFU2.js");
1989
+ const { parseVersionControl } = await import("./parser-GKP2MHHL.js");
1990
+ const { renderVersionControlForExport } = await import("./renderer-WCWI4I6A.js");
2432
1991
  const effectivePalette = await resolveExportPalette(theme, palette);
2433
1992
  const parsed = parseVersionControl(content, effectivePalette);
2434
1993
  if (parsed.error || parsed.nodes.length === 0) return "";
@@ -2452,10 +2011,10 @@ function unionHiddenAttributes(hideOption, ha) {
2452
2011
  }
2453
2012
  async function exportOrg(ctx) {
2454
2013
  const { content, theme, palette, viewState, exportMode } = ctx;
2455
- const { parseOrg } = await import("./parser-PORDUX5E.js");
2456
- const { layoutOrg } = await import("./layout-4DIUOX2T.js");
2014
+ const { parseOrg } = await import("./parser-XVPTRWZ4.js");
2015
+ const { layoutOrg } = await import("./layout-3M5UYJHY.js");
2457
2016
  const { collapseOrgTree } = await import("./collapse-CLPJD2RL.js");
2458
- const { renderOrg } = await import("./renderer-ARMJBP6C.js");
2017
+ const { renderOrg } = await import("./renderer-JCZG6AYU.js");
2459
2018
  const isDark = ctx.isDark;
2460
2019
  const effectivePalette = await resolveExportPalette(theme, palette);
2461
2020
  const orgParsed = parseOrg(content, effectivePalette);
@@ -2501,10 +2060,10 @@ async function exportOrg(ctx) {
2501
2060
  }
2502
2061
  async function exportSitemap(ctx) {
2503
2062
  const { content, theme, palette, viewState, exportMode } = ctx;
2504
- const { parseSitemap } = await import("./parser-BKI42XBQ.js");
2505
- const { layoutSitemap } = await import("./layout-MUPRALE5.js");
2063
+ const { parseSitemap } = await import("./parser-UWRX52PC.js");
2064
+ const { layoutSitemap } = await import("./layout-KPQWJNAG.js");
2506
2065
  const { collapseSitemapTree } = await import("./collapse-ZWUFFCK2.js");
2507
- const { renderSitemap } = await import("./renderer-4WR6WMVF.js");
2066
+ const { renderSitemap } = await import("./renderer-SQ54MDSA.js");
2508
2067
  const isDark = ctx.isDark;
2509
2068
  const effectivePalette = await resolveExportPalette(theme, palette);
2510
2069
  const sitemapParsed = parseSitemap(content, effectivePalette);
@@ -2529,8 +2088,13 @@ async function exportSitemap(ctx) {
2529
2088
  );
2530
2089
  const PADDING = 20;
2531
2090
  const titleOffset = effectiveParsed.title ? 30 : 0;
2091
+ const {
2092
+ LEGEND_HEIGHT: SITEMAP_LEGEND_HEIGHT,
2093
+ LEGEND_GROUP_GAP: SITEMAP_LEGEND_GROUP_GAP
2094
+ } = await import("./legend-constants-P5EQWRQQ.js");
2095
+ const suppressedLegendBand = sitemapLayout.legend.length > 0 && effectiveParsed.options["no-legend"] === "on" ? SITEMAP_LEGEND_HEIGHT + SITEMAP_LEGEND_GROUP_GAP : 0;
2532
2096
  const exportWidth = sitemapLayout.width + PADDING * 2;
2533
- const exportHeight = sitemapLayout.height + PADDING * 2 + titleOffset;
2097
+ const exportHeight = sitemapLayout.height + PADDING * 2 + titleOffset - suppressedLegendBand;
2534
2098
  const container = createExportContainer(exportWidth, exportHeight);
2535
2099
  renderSitemap(
2536
2100
  container,
@@ -2548,8 +2112,8 @@ async function exportSitemap(ctx) {
2548
2112
  }
2549
2113
  async function exportKanban(ctx) {
2550
2114
  const { content, theme, palette, viewState, exportMode } = ctx;
2551
- const { parseKanban } = await import("./parser-FQ6GZFMR.js");
2552
- const { renderKanban } = await import("./renderer-OYO67VZK.js");
2115
+ const { parseKanban } = await import("./parser-XNKJCMMA.js");
2116
+ const { renderKanban } = await import("./renderer-COLQFSFV.js");
2553
2117
  const effectivePalette = await resolveExportPalette(theme, palette);
2554
2118
  const kanbanParsed = parseKanban(content, effectivePalette);
2555
2119
  if (kanbanParsed.error || kanbanParsed.columns.length === 0) return "";
@@ -2580,9 +2144,9 @@ async function exportKanban(ctx) {
2580
2144
  }
2581
2145
  async function exportClass(ctx) {
2582
2146
  const { content, theme, palette, exportMode } = ctx;
2583
- const { parseClassDiagram } = await import("./parser-AIMHGJRR.js");
2584
- const { layoutClassDiagram } = await import("./layout-46N4JJYK.js");
2585
- const { renderClassDiagram } = await import("./renderer-HCKJDFXD.js");
2147
+ const { parseClassDiagram } = await import("./parser-RNLTBIJ6.js");
2148
+ const { layoutClassDiagram } = await import("./layout-OL2XFJXA.js");
2149
+ const { renderClassDiagram } = await import("./renderer-JWGQSTMR.js");
2586
2150
  const effectivePalette = await resolveExportPalette(theme, palette);
2587
2151
  const classParsed = parseClassDiagram(content, effectivePalette);
2588
2152
  if (classParsed.error || classParsed.classes.length === 0) return "";
@@ -2607,9 +2171,9 @@ async function exportClass(ctx) {
2607
2171
  }
2608
2172
  async function exportEr(ctx) {
2609
2173
  const { content, theme, palette, viewState, exportMode } = ctx;
2610
- const { parseERDiagram } = await import("./parser-57ILIFZ2.js");
2611
- const { layoutERDiagram } = await import("./layout-EE6GE46Y.js");
2612
- const { renderERDiagram } = await import("./renderer-CO2DW7S7.js");
2174
+ const { parseERDiagram } = await import("./parser-ZQDQTB4X.js");
2175
+ const { layoutERDiagram } = await import("./layout-WSMPBQ4Q.js");
2176
+ const { renderERDiagram } = await import("./renderer-RLMOTXZ6.js");
2613
2177
  const effectivePalette = await resolveExportPalette(theme, palette);
2614
2178
  const erParsed = parseERDiagram(content, effectivePalette);
2615
2179
  if (erParsed.error || erParsed.tables.length === 0) return "";
@@ -2641,14 +2205,14 @@ async function exportEr(ctx) {
2641
2205
  }
2642
2206
  async function exportSketch(ctx) {
2643
2207
  const { content, theme, viewState, exportMode } = ctx;
2644
- const { parseSketch } = await import("./parser-JA7JQ7NF.js");
2208
+ const { parseSketch } = await import("./parser-3VSWEKBF.js");
2645
2209
  const effectivePalette = await resolveExportPalette(theme, ctx.palette);
2646
2210
  const parsed = parseSketch(content, effectivePalette);
2647
2211
  if (parsed.error || parsed.nodes.length === 0 && parsed.boxes.length === 0) {
2648
2212
  return "";
2649
2213
  }
2650
- const { layoutSketch } = await import("./layout-46366KBT.js");
2651
- const { renderSketchForExport } = await import("./renderer-66MERVQ2.js");
2214
+ const { layoutSketch } = await import("./layout-CB3XWCOI.js");
2215
+ const { renderSketchForExport } = await import("./renderer-YUKPS27O.js");
2652
2216
  const collapsedBoxes = viewState?.cg ? new Set(viewState.cg) : void 0;
2653
2217
  const skLayout = layoutSketch(parsed, {
2654
2218
  ...collapsedBoxes !== void 0 && { collapsedBoxes }
@@ -2675,7 +2239,7 @@ async function exportSketch(ctx) {
2675
2239
  }
2676
2240
  async function exportBoxesAndLines(ctx) {
2677
2241
  const { content, theme, palette, viewState, exportMode } = ctx;
2678
- const { parseBoxesAndLines } = await import("./parser-E2RL6JYF.js");
2242
+ const { parseBoxesAndLines } = await import("./parser-CKA3QMAG.js");
2679
2243
  const effectivePalette = await resolveExportPalette(theme, palette);
2680
2244
  const blParsed = parseBoxesAndLines(content, effectivePalette);
2681
2245
  if (blParsed.error || blParsed.nodes.length === 0) return "";
@@ -2686,8 +2250,8 @@ async function exportBoxesAndLines(ctx) {
2686
2250
  blHiddenTagValues.set(k, new Set(v));
2687
2251
  }
2688
2252
  }
2689
- const { renderBoxesAndLinesForExport } = await import("./renderer-SRKDNDFB.js");
2690
- const { layoutBoxesAndLines } = await import("./layout-OAC4PEAC.js");
2253
+ const { renderBoxesAndLinesForExport } = await import("./renderer-YUXGXGSW.js");
2254
+ const { layoutBoxesAndLines } = await import("./layout-E6HR6PXH.js");
2691
2255
  const blLayout = await layoutBoxesAndLines(blParsed);
2692
2256
  const PADDING = 20;
2693
2257
  const titleOffset = blParsed.title ? 40 : 0;
@@ -2716,9 +2280,9 @@ async function exportBoxesAndLines(ctx) {
2716
2280
  }
2717
2281
  async function exportSwimlane(ctx) {
2718
2282
  const { content, theme, palette } = ctx;
2719
- const { parseSwimlane } = await import("./parser-H6ABKHZZ.js");
2720
- const { layoutSwimlane } = await import("./layout-ZDOSXL5G.js");
2721
- const { renderSwimlaneForExport } = await import("./renderer-3YNIWF5I.js");
2283
+ const { parseSwimlane } = await import("./parser-5FGJSQNS.js");
2284
+ const { layoutSwimlane } = await import("./layout-WCAIKGZG.js");
2285
+ const { renderSwimlaneForExport } = await import("./renderer-ZBTEX2JK.js");
2722
2286
  const effectivePalette = await resolveExportPalette(theme, palette);
2723
2287
  const swimParsed = parseSwimlane(content, effectivePalette);
2724
2288
  if (swimParsed.error || swimParsed.nodes.length === 0) return "";
@@ -2748,9 +2312,9 @@ async function exportSwimlane(ctx) {
2748
2312
  }
2749
2313
  async function exportFamily(ctx) {
2750
2314
  const { content, theme, palette } = ctx;
2751
- const { parseFamily } = await import("./parser-UKFFZCFJ.js");
2752
- const { layoutFamily } = await import("./layout-F4WO357A.js");
2753
- const { renderFamilyForExport } = await import("./renderer-JC3RDUT7.js");
2315
+ const { parseFamily } = await import("./parser-VOERD6XR.js");
2316
+ const { layoutFamily } = await import("./layout-CAAKQX4W.js");
2317
+ const { renderFamilyForExport } = await import("./renderer-UKXW2QPE.js");
2754
2318
  const effectivePalette = await resolveExportPalette(theme, palette);
2755
2319
  const parsed = parseFamily(content, effectivePalette);
2756
2320
  if (parsed.error || parsed.persons.size === 0) return "";
@@ -2780,10 +2344,10 @@ async function exportFamily(ctx) {
2780
2344
  }
2781
2345
  async function exportMindmap(ctx) {
2782
2346
  const { content, theme, palette, viewState, exportMode } = ctx;
2783
- const { parseMindmap } = await import("./parser-SRVFR7PM.js");
2784
- const { layoutMindmap } = await import("./layout-CBCLPMSG.js");
2347
+ const { parseMindmap } = await import("./parser-CRKLXGW7.js");
2348
+ const { layoutMindmap } = await import("./layout-3BVDMKXI.js");
2785
2349
  const { collapseMindmapTree } = await import("./collapse-SLINJQW6.js");
2786
- const { renderMindmap } = await import("./renderer-HYGHO4SJ.js");
2350
+ const { renderMindmap } = await import("./renderer-UPF7NRTI.js");
2787
2351
  const isDark = ctx.isDark;
2788
2352
  const effectivePalette = await resolveExportPalette(theme, palette);
2789
2353
  const mmParsed = parseMindmap(content, effectivePalette);
@@ -2833,9 +2397,9 @@ async function exportMindmap(ctx) {
2833
2397
  }
2834
2398
  async function exportWireframe(ctx) {
2835
2399
  const { content, theme, palette } = ctx;
2836
- const { parseWireframe } = await import("./parser-EH5VE7ZN.js");
2837
- const { layoutWireframe } = await import("./layout-G23F7LDH.js");
2838
- const { renderWireframe } = await import("./renderer-QIWVHWZO.js");
2400
+ const { parseWireframe } = await import("./parser-3KIGEEJM.js");
2401
+ const { layoutWireframe } = await import("./layout-5XGYNYVT.js");
2402
+ const { renderWireframe } = await import("./renderer-7NQSTQMQ.js");
2839
2403
  const effectivePalette = await resolveExportPalette(theme, palette);
2840
2404
  const wireframeParsed = parseWireframe(content);
2841
2405
  if (wireframeParsed.error || wireframeParsed.roots.length === 0 && wireframeParsed.modals.length === 0)
@@ -2858,14 +2422,14 @@ async function exportWireframe(ctx) {
2858
2422
  }
2859
2423
  async function exportC4(ctx) {
2860
2424
  const { content, theme, palette, viewState, exportMode } = ctx;
2861
- const { parseC4 } = await import("./parser-OK2ILHRT.js");
2425
+ const { parseC4 } = await import("./parser-FF4BMRSB.js");
2862
2426
  const {
2863
2427
  layoutC4Context,
2864
2428
  layoutC4Containers,
2865
2429
  layoutC4Components,
2866
2430
  layoutC4Deployment
2867
- } = await import("./layout-JDJAEQ3P.js");
2868
- const { renderC4Context, renderC4Containers } = await import("./renderer-RGIYOTKJ.js");
2431
+ } = await import("./layout-3V2A4MUE.js");
2432
+ const { renderC4Context, renderC4Containers } = await import("./renderer-XTXSOK3L.js");
2869
2433
  const effectivePalette = await resolveExportPalette(theme, palette);
2870
2434
  const c4Parsed = parseC4(content, effectivePalette);
2871
2435
  if (c4Parsed.error || c4Parsed.elements.length === 0) return "";
@@ -2899,9 +2463,9 @@ async function exportC4(ctx) {
2899
2463
  }
2900
2464
  async function exportFlowchart(ctx) {
2901
2465
  const { content, theme, palette } = ctx;
2902
- const { parseFlowchart } = await import("./flowchart-parser-MY53QWTZ.js");
2903
- const { layoutGraph } = await import("./layout-YVTNOTN4.js");
2904
- const { renderFlowchart } = await import("./flowchart-renderer-AQSMEMYF.js");
2466
+ const { parseFlowchart } = await import("./flowchart-parser-LALR6J6F.js");
2467
+ const { layoutGraph } = await import("./layout-ZE5DRJWX.js");
2468
+ const { renderFlowchart } = await import("./flowchart-renderer-DXYB5YRF.js");
2905
2469
  const effectivePalette = await resolveExportPalette(theme, palette);
2906
2470
  const fcParsed = parseFlowchart(content, effectivePalette);
2907
2471
  if (fcParsed.error || fcParsed.nodes.length === 0) return "";
@@ -2920,10 +2484,10 @@ async function exportFlowchart(ctx) {
2920
2484
  }
2921
2485
  async function exportInfra(ctx) {
2922
2486
  const { content, theme, palette, viewState } = ctx;
2923
- const { parseInfra } = await import("./parser-KKTJ6M3Y.js");
2487
+ const { parseInfra } = await import("./parser-275KP7JO.js");
2924
2488
  const { computeInfra } = await import("./compute-G55RG53N.js");
2925
- const { layoutInfra } = await import("./layout-7QXCNOVS.js");
2926
- const { renderInfra, computeInfraLegendGroups } = await import("./renderer-2HTNBIF2.js");
2489
+ const { layoutInfra } = await import("./layout-HBWT2G23.js");
2490
+ const { renderInfra, computeInfraLegendGroups } = await import("./renderer-LVZAHRP6.js");
2927
2491
  const effectivePalette = await resolveExportPalette(theme, palette);
2928
2492
  const infraParsed = parseInfra(content);
2929
2493
  if (infraParsed.error || infraParsed.nodes.length === 0) return "";
@@ -2942,7 +2506,7 @@ async function exportInfra(ctx) {
2942
2506
  infraTagGroups,
2943
2507
  effectivePalette
2944
2508
  );
2945
- const legendOffset = legendGroups.length > 0 ? 28 : 0;
2509
+ const legendOffset = legendGroups.length > 0 && infraParsed.options["no-legend"] !== "on" ? 28 : 0;
2946
2510
  const exportWidth = infraLayout.width;
2947
2511
  const exportHeight = infraLayout.height + titleOffset + legendOffset;
2948
2512
  const container = createExportContainer(exportWidth, exportHeight);
@@ -2970,10 +2534,10 @@ async function exportInfra(ctx) {
2970
2534
  }
2971
2535
  async function exportPert(ctx) {
2972
2536
  const { content, theme, palette, viewState } = ctx;
2973
- const { parsePert } = await import("./parser-6ZKABF5S.js");
2974
- const { analyzePert } = await import("./analyzer-BJ54GIFB.js");
2975
- const { layoutPert } = await import("./layout-AM2JWW3X.js");
2976
- const { renderPert, measurePertAnalysisBlock } = await import("./renderer-EDJ2O4S5.js");
2537
+ const { parsePert } = await import("./parser-27Z76SN3.js");
2538
+ const { analyzePert } = await import("./analyzer-TDN5KJFP.js");
2539
+ const { layoutPert } = await import("./layout-AZUPXWSK.js");
2540
+ const { renderPert, measurePertAnalysisBlock } = await import("./renderer-QD2SJF2I.js");
2977
2541
  const effectivePalette = await resolveExportPalette(theme, palette);
2978
2542
  const pertParsed = parsePert(content, { palette: effectivePalette });
2979
2543
  if (pertParsed.error || pertParsed.activities.length === 0) return "";
@@ -3011,9 +2575,9 @@ async function exportPert(ctx) {
3011
2575
  }
3012
2576
  async function exportGantt(ctx) {
3013
2577
  const { content, theme, palette, viewState, exportMode } = ctx;
3014
- const { parseGantt } = await import("./parser-2Q2T4C3B.js");
3015
- const { calculateSchedule } = await import("./calculator-LDYQCDDY.js");
3016
- const { renderGantt } = await import("./renderer-GQIESYEM.js");
2578
+ const { parseGantt } = await import("./parser-YSLNDFLV.js");
2579
+ const { calculateSchedule } = await import("./calculator-VBIT6GQF.js");
2580
+ const { renderGantt } = await import("./renderer-WFSUBKUL.js");
3017
2581
  const effectivePalette = await resolveExportPalette(theme, palette);
3018
2582
  const ganttParsed = parseGantt(content, effectivePalette);
3019
2583
  const resolved = calculateSchedule(ganttParsed);
@@ -3054,9 +2618,9 @@ async function exportGantt(ctx) {
3054
2618
  }
3055
2619
  async function exportState(ctx) {
3056
2620
  const { content, theme, palette, viewState } = ctx;
3057
- const { parseState } = await import("./state-parser-6T6CNMPX.js");
3058
- const { layoutGraph } = await import("./layout-YVTNOTN4.js");
3059
- const { renderState } = await import("./state-renderer-AWZ3ECAX.js");
2621
+ const { parseState } = await import("./state-parser-L7DHZIQO.js");
2622
+ const { layoutGraph } = await import("./layout-ZE5DRJWX.js");
2623
+ const { renderState } = await import("./state-renderer-TFEUOP4H.js");
3060
2624
  const { collapseStateGroups } = await import("./state-collapse-HCGD6IVJ.js");
3061
2625
  const effectivePalette = await resolveExportPalette(theme, palette);
3062
2626
  const stateParsed = parseState(content, effectivePalette);
@@ -3093,8 +2657,8 @@ async function exportState(ctx) {
3093
2657
  }
3094
2658
  async function exportTechRadar(ctx) {
3095
2659
  const { content, theme, palette, viewState, exportMode } = ctx;
3096
- const { parseTechRadar } = await import("./parser-C3D7MVXY.js");
3097
- const { renderTechRadarForExport } = await import("./renderer-3K3IB7D5.js");
2660
+ const { parseTechRadar } = await import("./parser-G26MTBFS.js");
2661
+ const { renderTechRadarForExport } = await import("./renderer-KARQF3F3.js");
3098
2662
  const effectivePalette = await resolveExportPalette(theme, palette);
3099
2663
  const radarParsed = parseTechRadar(content);
3100
2664
  if (radarParsed.error || radarParsed.quadrants.length === 0) return "";
@@ -3114,9 +2678,9 @@ async function exportTechRadar(ctx) {
3114
2678
  }
3115
2679
  async function exportJourneyMap(ctx) {
3116
2680
  const { content, theme, palette, exportMode } = ctx;
3117
- const { parseJourneyMap } = await import("./parser-GKLZKEIK.js");
3118
- const { renderJourneyMap } = await import("./renderer-TXJFKPOG.js");
3119
- const { layoutJourneyMap } = await import("./layout-HYZPWAK5.js");
2681
+ const { parseJourneyMap } = await import("./parser-4E4I3GNT.js");
2682
+ const { renderJourneyMap } = await import("./renderer-D3BRNOMV.js");
2683
+ const { layoutJourneyMap } = await import("./layout-4IHCMWZN.js");
3120
2684
  const effectivePalette = await resolveExportPalette(theme, palette);
3121
2685
  const jmParsed = parseJourneyMap(content, effectivePalette);
3122
2686
  if (jmParsed.error || jmParsed.phases.length === 0 && jmParsed.steps.length === 0)
@@ -3136,8 +2700,8 @@ async function exportJourneyMap(ctx) {
3136
2700
  }
3137
2701
  async function exportCycle(ctx) {
3138
2702
  const { content, theme, palette, viewState, exportMode } = ctx;
3139
- const { parseCycle } = await import("./parser-5A2UWU6B.js");
3140
- const { renderCycleForExport } = await import("./renderer-TGTUABCI.js");
2703
+ const { parseCycle } = await import("./parser-6B6SSZT7.js");
2704
+ const { renderCycleForExport } = await import("./renderer-2C6DJRYN.js");
3141
2705
  const effectivePalette = await resolveExportPalette(theme, palette);
3142
2706
  const cycleParsed = parseCycle(content);
3143
2707
  if (cycleParsed.error || cycleParsed.nodes.length === 0) return "";
@@ -3155,10 +2719,10 @@ async function exportCycle(ctx) {
3155
2719
  }
3156
2720
  async function exportMap(ctx) {
3157
2721
  const { content, theme, palette, options } = ctx;
3158
- const { parseMap } = await import("./parser-UMWPLORP.js");
3159
- const { resolveMap } = await import("./resolver-EMTGNR3D.js");
3160
- const { renderMapForExport } = await import("./renderer-QXPP4TA2.js");
3161
- const { mapExportDimensions } = await import("./dimensions-F7B5C4BJ.js");
2722
+ const { parseMap } = await import("./parser-IKWK2ZU3.js");
2723
+ const { resolveMap } = await import("./resolver-WFKZYBJ2.js");
2724
+ const { renderMapForExport } = await import("./renderer-6EN5XXJZ.js");
2725
+ const { mapExportDimensions } = await import("./dimensions-K6PGYYGT.js");
3162
2726
  const effectivePalette = await resolveExportPalette(theme, palette);
3163
2727
  const mapParsed = parseMap(content, effectivePalette);
3164
2728
  let mapData = options?.mapData;
@@ -3171,6 +2735,7 @@ async function exportMap(ctx) {
3171
2735
  }
3172
2736
  }
3173
2737
  const mapResolved = resolveMap(mapParsed, mapData);
2738
+ options?.onMapResolverDiagnostics?.(mapResolved.diagnostics);
3174
2739
  const dims = mapExportDimensions(
3175
2740
  mapResolved,
3176
2741
  mapData,
@@ -3190,8 +2755,8 @@ async function exportMap(ctx) {
3190
2755
  }
3191
2756
  async function exportPyramid(ctx) {
3192
2757
  const { content, theme, palette } = ctx;
3193
- const { parsePyramid } = await import("./parser-OUTPNJWC.js");
3194
- const { renderPyramidForExport } = await import("./renderer-KQB7UGDS.js");
2758
+ const { parsePyramid } = await import("./parser-EXNBDNGY.js");
2759
+ const { renderPyramidForExport } = await import("./renderer-AK2WO4EI.js");
3195
2760
  const effectivePalette = await resolveExportPalette(theme, palette);
3196
2761
  const pyramidParsed = parsePyramid(content);
3197
2762
  if (pyramidParsed.error || pyramidParsed.layers.length === 0) return "";
@@ -3207,8 +2772,8 @@ async function exportPyramid(ctx) {
3207
2772
  }
3208
2773
  async function exportRing(ctx) {
3209
2774
  const { content, theme, palette } = ctx;
3210
- const { parseRing } = await import("./parser-BEPSWJAD.js");
3211
- const { renderRingForExport } = await import("./renderer-UV6MI64M.js");
2775
+ const { parseRing } = await import("./parser-GN2MM5CC.js");
2776
+ const { renderRingForExport } = await import("./renderer-TYHGXAVT.js");
3212
2777
  const effectivePalette = await resolveExportPalette(theme, palette);
3213
2778
  const ringParsed = parseRing(content);
3214
2779
  if (ringParsed.error || ringParsed.layers.length === 0) return "";
@@ -3221,14 +2786,14 @@ async function exportRing(ctx) {
3221
2786
  }
3222
2787
  async function exportTreemap(ctx) {
3223
2788
  const { content, theme, palette } = ctx;
3224
- const { parseTreemap } = await import("./parser-Z4TZV2CB.js");
2789
+ const { parseTreemap } = await import("./parser-5QPFOB5F.js");
3225
2790
  const effectivePalette = await resolveExportPalette(theme, palette);
3226
2791
  const treemapParsed = parseTreemap(content, effectivePalette);
3227
2792
  if (treemapParsed.error || treemapParsed.roots.length === 0) return "";
3228
2793
  const container = createExportContainer(EXPORT_WIDTH, EXPORT_HEIGHT);
3229
2794
  const dims = { width: EXPORT_WIDTH, height: EXPORT_HEIGHT };
3230
2795
  if (treemapParsed.options.radial) {
3231
- const { renderTreemapRadialForExport } = await import("./renderer-radial-FWABAZHB.js");
2796
+ const { renderTreemapRadialForExport } = await import("./renderer-radial-WF6VOUOD.js");
3232
2797
  renderTreemapRadialForExport(
3233
2798
  container,
3234
2799
  treemapParsed,
@@ -3237,7 +2802,7 @@ async function exportTreemap(ctx) {
3237
2802
  dims
3238
2803
  );
3239
2804
  } else {
3240
- const { renderTreemapForExport } = await import("./renderer-F7U3MFCV.js");
2805
+ const { renderTreemapForExport } = await import("./renderer-HIFQVEJA.js");
3241
2806
  renderTreemapForExport(
3242
2807
  container,
3243
2808
  treemapParsed,
@@ -3250,8 +2815,8 @@ async function exportTreemap(ctx) {
3250
2815
  }
3251
2816
  async function exportBlock(ctx) {
3252
2817
  const { content, theme, palette } = ctx;
3253
- const { parseBlock } = await import("./parser-6BJEXUFX.js");
3254
- const { renderBlockForExport } = await import("./renderer-RHT4MHFU.js");
2818
+ const { parseBlock } = await import("./parser-7JHWEWXM.js");
2819
+ const { renderBlockForExport } = await import("./renderer-VMH6L6CP.js");
3255
2820
  const effectivePalette = await resolveExportPalette(theme, palette);
3256
2821
  const blockParsed = parseBlock(content, effectivePalette);
3257
2822
  if (blockParsed.error || blockParsed.top.rows.length === 0) return "";
@@ -3264,8 +2829,8 @@ async function exportBlock(ctx) {
3264
2829
  }
3265
2830
  async function exportGoal(ctx) {
3266
2831
  const { content, theme, palette } = ctx;
3267
- const { parseGoal } = await import("./parser-3A42DZ72.js");
3268
- const { renderGoalForExport } = await import("./renderer-NKJ24TEA.js");
2832
+ const { parseGoal } = await import("./parser-NNIL3HXU.js");
2833
+ const { renderGoalForExport } = await import("./renderer-5MPN7CXZ.js");
3269
2834
  const effectivePalette = await resolveExportPalette(theme, palette);
3270
2835
  const parsed = parseGoal(content, effectivePalette);
3271
2836
  if (parsed.error) return "";
@@ -3278,8 +2843,8 @@ async function exportGoal(ctx) {
3278
2843
  }
3279
2844
  async function exportCountdown(ctx) {
3280
2845
  const { content, theme, palette } = ctx;
3281
- const { parseCountdown } = await import("./parser-4RFTKAQX.js");
3282
- const { renderCountdownForExport } = await import("./renderer-3YPZHMOU.js");
2846
+ const { parseCountdown } = await import("./parser-ZGNXYFPS.js");
2847
+ const { renderCountdownForExport } = await import("./renderer-K7XLVPH5.js");
3283
2848
  const effectivePalette = await resolveExportPalette(theme, palette);
3284
2849
  const parsed = parseCountdown(content, effectivePalette);
3285
2850
  if (parsed.error) return "";
@@ -3292,8 +2857,8 @@ async function exportCountdown(ctx) {
3292
2857
  }
3293
2858
  async function exportClock(ctx) {
3294
2859
  const { content, theme, palette } = ctx;
3295
- const { parseClock } = await import("./parser-I6GGFKOQ.js");
3296
- const { renderClockForExport } = await import("./renderer-GD2COXVL.js");
2860
+ const { parseClock } = await import("./parser-5HQXCNOS.js");
2861
+ const { renderClockForExport } = await import("./renderer-7ZNVOVFG.js");
3297
2862
  const effectivePalette = await resolveExportPalette(theme, palette);
3298
2863
  const parsed = parseClock(content, effectivePalette);
3299
2864
  if (parsed.error) return "";
@@ -3306,8 +2871,8 @@ async function exportClock(ctx) {
3306
2871
  }
3307
2872
  async function exportBracket(ctx) {
3308
2873
  const { content, theme, palette } = ctx;
3309
- const { parseBracket } = await import("./parser-AZJ25OKK.js");
3310
- const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-2AUFT3E2.js");
2874
+ const { parseBracket } = await import("./parser-FOOFEJQU.js");
2875
+ const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-6WRYVM5R.js");
3311
2876
  const effectivePalette = await resolveExportPalette(theme, palette);
3312
2877
  const parsed = parseBracket(content, effectivePalette);
3313
2878
  if (parsed.error) return "";
@@ -3321,8 +2886,8 @@ async function exportBracket(ctx) {
3321
2886
  }
3322
2887
  async function exportRaci(ctx) {
3323
2888
  const { content, theme, palette } = ctx;
3324
- const { parseRaci } = await import("./parser-CDG7CHV5.js");
3325
- const { renderRaciForExport } = await import("./renderer-QXGN5H3A.js");
2889
+ const { parseRaci } = await import("./parser-IVGHXLZP.js");
2890
+ const { renderRaciForExport } = await import("./renderer-NE5W7CQP.js");
3326
2891
  const effectivePalette = await resolveExportPalette(theme, palette);
3327
2892
  const raciParsed = parseRaci(content, effectivePalette);
3328
2893
  if (raciParsed.error) return "";
@@ -3454,8 +3019,8 @@ async function exportVisualization(ctx) {
3454
3019
  const effectivePalette = await resolveExportPalette(theme, palette);
3455
3020
  const isDark = ctx.isDark;
3456
3021
  const container = createExportContainer(EXPORT_WIDTH, EXPORT_HEIGHT);
3457
- const { parseSequenceDgmo } = await import("./parser-5PDYJGWA.js");
3458
- const { renderSequenceDiagram } = await import("./renderer-6RKQPNJI.js");
3022
+ const { parseSequenceDgmo } = await import("./parser-7JVIDLLR.js");
3023
+ const { renderSequenceDiagram } = await import("./renderer-JTCX6PCG.js");
3459
3024
  const seqParsed = parseSequenceDgmo(content, effectivePalette);
3460
3025
  if (seqParsed.error || seqParsed.participants.length === 0) return "";
3461
3026
  const collapsedSections = viewState?.cs ? new Set(viewState.cs) : void 0;
@@ -4051,6 +3616,7 @@ async function render(content, options) {
4051
3616
  releaseDom();
4052
3617
  }
4053
3618
  }
3619
+ const mapDiag = { current: null };
4054
3620
  await acquireDom();
4055
3621
  let svg;
4056
3622
  try {
@@ -4066,127 +3632,22 @@ async function render(content, options) {
4066
3632
  c4Container: options.c4Container
4067
3633
  },
4068
3634
  ...options?.tagGroup !== void 0 && { tagGroup: options.tagGroup },
4069
- ...options?.mapData !== void 0 && { mapData: options.mapData }
3635
+ ...options?.mapData !== void 0 && { mapData: options.mapData },
3636
+ onMapResolverDiagnostics: (d) => {
3637
+ mapDiag.current = d;
3638
+ }
4070
3639
  }
4071
3640
  );
4072
3641
  svg = injectHoverStyles(svg, chartType, { bakeHover });
4073
3642
  } finally {
4074
3643
  releaseDom();
4075
3644
  }
4076
- if (chartType === "map") {
4077
- try {
4078
- const [{ parseMap }, { resolveMap }, { loadMapData }] = await Promise.all(
4079
- [
4080
- import("./parser-UMWPLORP.js"),
4081
- import("./resolver-EMTGNR3D.js"),
4082
- import("./load-data-EHDDZ5ZS.js")
4083
- ]
4084
- );
4085
- const data = options?.mapData ?? await loadMapData();
4086
- diagnostics = [...resolveMap(parseMap(content), data).diagnostics];
4087
- } catch {
4088
- }
3645
+ if (chartType === "map" && mapDiag.current) {
3646
+ diagnostics = [...mapDiag.current];
4089
3647
  }
4090
3648
  return { svg, diagnostics, chartType: chartType ?? void 0 };
4091
3649
  }
4092
3650
 
4093
- // src/sharing.ts
4094
- var import_lz_string = __toESM(require_lz_string(), 1);
4095
- var DEFAULT_BASE_URL = "https://online.diagrammo.app";
4096
- var COMPRESSED_SIZE_LIMIT = 8192;
4097
- function encodeViewState(state) {
4098
- const keys = Object.keys(state);
4099
- if (keys.length === 0) return "";
4100
- return (0, import_lz_string.compressToEncodedURIComponent)(JSON.stringify(state));
4101
- }
4102
- function decodeViewState(encoded) {
4103
- if (!encoded) return {};
4104
- try {
4105
- const json = (0, import_lz_string.decompressFromEncodedURIComponent)(encoded);
4106
- if (!json) return {};
4107
- const parsed = JSON.parse(json);
4108
- if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
4109
- return {};
4110
- return parsed;
4111
- } catch {
4112
- return {};
4113
- }
4114
- }
4115
- function encodeDiagramUrl(dsl, options) {
4116
- const baseUrl = options?.baseUrl ?? DEFAULT_BASE_URL;
4117
- const compressed = (0, import_lz_string.compressToEncodedURIComponent)(dsl);
4118
- const byteSize = new TextEncoder().encode(compressed).byteLength;
4119
- if (byteSize > COMPRESSED_SIZE_LIMIT) {
4120
- return {
4121
- error: "too-large",
4122
- compressedSize: byteSize,
4123
- limit: COMPRESSED_SIZE_LIMIT
4124
- };
4125
- }
4126
- let hash = `dgmo=${compressed}`;
4127
- if (options?.viewState) {
4128
- const vsEncoded = encodeViewState(options.viewState);
4129
- if (vsEncoded) {
4130
- hash += `&vs=${vsEncoded}`;
4131
- }
4132
- }
4133
- if (options?.palette && options.palette !== "nord") {
4134
- hash += `&pal=${encodeURIComponent(options.palette)}`;
4135
- }
4136
- if (options?.theme && options.theme !== "dark") {
4137
- hash += `&th=${encodeURIComponent(options.theme)}`;
4138
- }
4139
- if (options?.filename) {
4140
- hash += `&fn=${encodeURIComponent(options.filename)}`;
4141
- }
4142
- return { url: `${baseUrl}?${hash}#${hash}` };
4143
- }
4144
- function decodeDiagramUrl(hash) {
4145
- const empty = { dsl: "", viewState: {} };
4146
- let filename;
4147
- let palette;
4148
- let theme;
4149
- if (!hash) return empty;
4150
- let raw = hash;
4151
- if (raw.startsWith("#") || raw.startsWith("?")) {
4152
- raw = raw.slice(1);
4153
- }
4154
- const parts = raw.split("&");
4155
- let payload = parts[0];
4156
- let viewState = {};
4157
- for (let i = 1; i < parts.length; i++) {
4158
- const part = parts[i];
4159
- const eq = part.indexOf("=");
4160
- if (eq === -1) continue;
4161
- const key = part.slice(0, eq);
4162
- const val = part.slice(eq + 1);
4163
- if (key === "vs" && val) {
4164
- viewState = decodeViewState(val);
4165
- }
4166
- if (key === "pal" && val) palette = decodeURIComponent(val);
4167
- if (key === "th") {
4168
- const decoded = decodeURIComponent(val);
4169
- if (decoded === "light" || decoded === "dark") theme = decoded;
4170
- }
4171
- if (key === "fn" && val) filename = decodeURIComponent(val);
4172
- }
4173
- if (payload.startsWith("dgmo=")) {
4174
- payload = payload.slice(5);
4175
- }
4176
- const extras = {
4177
- ...palette !== void 0 && { palette },
4178
- ...theme !== void 0 && { theme },
4179
- ...filename !== void 0 && { filename }
4180
- };
4181
- if (!payload) return { dsl: "", viewState, ...extras };
4182
- try {
4183
- const result = (0, import_lz_string.decompressFromEncodedURIComponent)(payload);
4184
- return { dsl: result ?? "", viewState, ...extras };
4185
- } catch {
4186
- return { dsl: "", viewState, ...extras };
4187
- }
4188
- }
4189
-
4190
3651
  export {
4191
3652
  renderSlopeChart,
4192
3653
  orderArcNodes,
@@ -4195,10 +3656,6 @@ export {
4195
3656
  renderVenn,
4196
3657
  renderQuadrant,
4197
3658
  renderForExport,
4198
- render,
4199
- encodeViewState,
4200
- decodeViewState,
4201
- encodeDiagramUrl,
4202
- decodeDiagramUrl
3659
+ render
4203
3660
  };
4204
- //# sourceMappingURL=chunk-3ODS2VGL.js.map
3661
+ //# sourceMappingURL=chunk-GWQJKTFS.js.map