@diagrammo/dgmo 0.89.0 → 0.91.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 (233) hide show
  1. package/README.md +1 -1
  2. package/dist/advanced.d.ts +589 -15
  3. package/dist/advanced.js +813 -211
  4. package/dist/block.d.ts +11 -2
  5. package/dist/block.js +94 -64
  6. package/dist/{calculator-35YVW4QO.js → calculator-3LZUWOBK.js} +2 -2
  7. package/dist/{chart-meta-Bev5Ebjr.d.ts → chart-meta-B_WTMP0y.d.ts} +1 -1
  8. package/dist/chart-meta.d.ts +2 -2
  9. package/dist/chart-meta.js +18 -17
  10. package/dist/{chart-types-Bf8C5QQW.d.ts → chart-types-V2NcgN5O.d.ts} +4 -0
  11. package/dist/{charts-d3-KEQSUWKP.js → charts-d3-YXD6VGZQ.js} +8 -7
  12. package/dist/{chunk-PMNITNPR.js → chunk-273GB7WK.js} +6 -5
  13. package/dist/{chunk-HAMF4F3P.js → chunk-2A4OFZ2Z.js} +5 -5
  14. package/dist/{chunk-K5XT7NHD.js → chunk-2AM6VA3A.js} +10 -10
  15. package/dist/{chunk-XJ2TBXHA.js → chunk-2UV627GG.js} +9 -9
  16. package/dist/{chunk-7WGCQE2E.js → chunk-2ZVLI6GQ.js} +1 -1
  17. package/dist/{chunk-JVZ7KFAX.js → chunk-37QQXKFV.js} +9 -10
  18. package/dist/{chunk-M2BCY7H3.js → chunk-3LINSNJT.js} +199 -146
  19. package/dist/{chunk-WPL5PFXE.js → chunk-3SLRZKLB.js} +6 -6
  20. package/dist/chunk-3UR4F7FE.js +14 -0
  21. package/dist/{chunk-ZUCXFXLD.js → chunk-3YTAOMMN.js} +2 -2
  22. package/dist/{chunk-NIUO2TNR.js → chunk-4HG4PYHM.js} +197 -203
  23. package/dist/{chunk-BOO24UMJ.js → chunk-4YO7VJTP.js} +1 -1
  24. package/dist/{chunk-HUNDJTTH.js → chunk-53BJIOLF.js} +1 -1
  25. package/dist/{chunk-LR6RRDWN.js → chunk-57L2JPP2.js} +10 -6
  26. package/dist/{chunk-IIOLFAGJ.js → chunk-5DIBB2QG.js} +51 -32
  27. package/dist/{chunk-S2WE7TVK.js → chunk-5MDQMB6A.js} +1 -1
  28. package/dist/{chunk-7Z2VFRP5.js → chunk-5U6DXIMV.js} +47 -24
  29. package/dist/{chunk-QIOYTQDZ.js → chunk-5VPWIC6T.js} +9 -9
  30. package/dist/{chunk-JRUEIRJB.js → chunk-634LDSN6.js} +3 -3
  31. package/dist/{chunk-VEPIAUSK.js → chunk-6BQSDF77.js} +1 -5
  32. package/dist/{chunk-LPYYZCSI.js → chunk-6NO3MNBC.js} +3 -3
  33. package/dist/{chunk-ITSBBQTH.js → chunk-6QEXWMBP.js} +13 -17
  34. package/dist/{chunk-DDPGEGHB.js → chunk-7BBRSOKS.js} +3 -3
  35. package/dist/{chunk-WQ6G6FFM.js → chunk-AR4QVMWG.js} +5 -2
  36. package/dist/{chunk-BB6QKWHZ.js → chunk-B6EUFLRP.js} +10 -10
  37. package/dist/{chunk-C4FRGZGX.js → chunk-CDT33RHG.js} +1 -1
  38. package/dist/{chunk-WP22MHH6.js → chunk-CPGKRI7H.js} +10 -13
  39. package/dist/{chunk-ZNNVI5SR.js → chunk-CU2PZLZP.js} +53 -31
  40. package/dist/{chunk-CUYHST3B.js → chunk-CVZBLHHW.js} +1 -1
  41. package/dist/{chunk-Y7PSAHAY.js → chunk-CXIPV2FY.js} +3 -3
  42. package/dist/{chunk-NRPELUB6.js → chunk-D7DXNQW5.js} +2 -2
  43. package/dist/{chunk-YMFQLWZ2.js → chunk-D7PP35BA.js} +1 -1
  44. package/dist/{chunk-RGWYZR3S.js → chunk-DLX7MEN4.js} +2 -2
  45. package/dist/chunk-EDPDAUBL.js +825 -0
  46. package/dist/{chunk-GSYZZFI5.js → chunk-EP7BT3HU.js} +2 -2
  47. package/dist/{chunk-ICZ7M6IZ.js → chunk-EQJ3U5EW.js} +1 -1
  48. package/dist/{chunk-3C2FWS2J.js → chunk-EWERNTOX.js} +1 -1
  49. package/dist/{chunk-XUCQVKLQ.js → chunk-F2436VRR.js} +4 -4
  50. package/dist/{chunk-UG2XG57E.js → chunk-F26ZPBSF.js} +3 -3
  51. package/dist/{chunk-UWKRPQZO.js → chunk-FJCYK4K3.js} +25 -22
  52. package/dist/{chunk-FKLE6QA3.js → chunk-G22UV5AF.js} +12 -12
  53. package/dist/{chunk-GUTZCRBT.js → chunk-G3EUQMV4.js} +4 -4
  54. package/dist/{chunk-SOPM5PLO.js → chunk-GCDW3WAY.js} +14 -14
  55. package/dist/{chunk-7UDAIP6W.js → chunk-HFG7KQOY.js} +13 -15
  56. package/dist/{chunk-ID2K3IHI.js → chunk-HLE5QGZJ.js} +1 -1
  57. package/dist/{chunk-QFHWYWQL.js → chunk-HLVGZXM5.js} +2 -2
  58. package/dist/{chunk-7C2RAGPT.js → chunk-HSGWR2FL.js} +16 -16
  59. package/dist/{chunk-P3SKSKJI.js → chunk-HWXUQCDY.js} +3 -3
  60. package/dist/{chunk-HTWH2XQL.js → chunk-HYV6GSXM.js} +6 -3
  61. package/dist/{chunk-3RYBTEF5.js → chunk-I74AQRVD.js} +6 -12
  62. package/dist/chunk-IHK3Y2HG.js +781 -0
  63. package/dist/{chunk-7KPHRTND.js → chunk-II4XJETG.js} +1 -1
  64. package/dist/{chunk-RXIKESRI.js → chunk-IMHNZITR.js} +2 -2
  65. package/dist/{chunk-TAP2NZEU.js → chunk-IMKPFW67.js} +13 -13
  66. package/dist/{chunk-FKZ2Y3Q5.js → chunk-IS6WFBX7.js} +3 -3
  67. package/dist/{chunk-47E5UTXE.js → chunk-IUBCDNT2.js} +2 -2
  68. package/dist/{chunk-EXKCRXPO.js → chunk-IWTUXGHN.js} +12 -12
  69. package/dist/{chunk-C7QRRTAW.js → chunk-J2SQNZ6D.js} +2 -2
  70. package/dist/{chunk-DZPHN2WN.js → chunk-JA2S7PHR.js} +14 -14
  71. package/dist/{chunk-DPSMX4EY.js → chunk-JJQWCI35.js} +4 -4
  72. package/dist/chunk-JJUDOR4I.js +110 -0
  73. package/dist/{chunk-LYLNMN77.js → chunk-K3BYD3WU.js} +8 -3
  74. package/dist/{chunk-3AQJNY65.js → chunk-KFXY5IW2.js} +149 -43
  75. package/dist/{chunk-J64NZ6NF.js → chunk-KSZHIAI2.js} +1 -1
  76. package/dist/{chunk-LCJURK7L.js → chunk-LKR4FACF.js} +2 -4
  77. package/dist/{chunk-PIXJL77H.js → chunk-M6J25PAZ.js} +1 -1
  78. package/dist/{chunk-IJ27L3R4.js → chunk-MA42PIGJ.js} +1 -1
  79. package/dist/{chunk-IQ6P3HDE.js → chunk-MI6SJJQU.js} +2 -2
  80. package/dist/{chunk-N4BBSDWI.js → chunk-MJKQ5ZYY.js} +140 -151
  81. package/dist/{chunk-6K7RODXG.js → chunk-MKFQ5E7J.js} +1 -1
  82. package/dist/{chunk-AZ24RI5L.js → chunk-MNL547RV.js} +6 -6
  83. package/dist/{chunk-44GP7PD5.js → chunk-MPJQMMBZ.js} +12 -0
  84. package/dist/{chunk-ECMA6XE2.js → chunk-N254IJM2.js} +13 -13
  85. package/dist/{layout-search-YKUL4VBV.js → chunk-NWPMLX2V.js} +27 -30
  86. package/dist/{chunk-DV2VEJCC.js → chunk-NWSPPGIE.js} +6 -6
  87. package/dist/{chunk-GDJW64XE.js → chunk-OYKNMFUY.js} +1 -1
  88. package/dist/{chunk-B3S76BZO.js → chunk-PSGSFRRE.js} +4 -4
  89. package/dist/{chunk-4AJKOUBO.js → chunk-PUZ63XZM.js} +13 -11
  90. package/dist/{chunk-UQLHKLF4.js → chunk-PZVTFQI2.js} +8 -8
  91. package/dist/{chunk-W7QN5BC5.js → chunk-Q3N7PI3B.js} +180 -7
  92. package/dist/{chunk-L5AFONQU.js → chunk-QKJ6MQXW.js} +2 -4
  93. package/dist/{chunk-7SX4IY6T.js → chunk-QVKTAU7P.js} +1 -1
  94. package/dist/{chunk-SLQT3JP3.js → chunk-R7BSF7Z7.js} +1 -1
  95. package/dist/{chunk-4R6OMKXB.js → chunk-RHXIUUWB.js} +5 -5
  96. package/dist/{chunk-MHAYUS65.js → chunk-RMTOZALT.js} +8 -5
  97. package/dist/{chunk-HSRQDWV7.js → chunk-ROCBGUJN.js} +8 -17
  98. package/dist/{chunk-44FTCIRI.js → chunk-RVTYIGWZ.js} +9 -9
  99. package/dist/{chunk-RU725VCJ.js → chunk-SKF7XLCM.js} +10 -35
  100. package/dist/{chunk-RPKBWJBB.js → chunk-SMTWQ66K.js} +6 -6
  101. package/dist/{chunk-3AX6MCI6.js → chunk-SPQVER4T.js} +2 -2
  102. package/dist/{chunk-CX6OH5WP.js → chunk-SWBHH2UW.js} +4 -4
  103. package/dist/{chunk-WP2RLGDI.js → chunk-TCX5PMEY.js} +1 -1
  104. package/dist/{chunk-7TF3QOOD.js → chunk-TIVMAITN.js} +14 -0
  105. package/dist/{chunk-NSR2CGV6.js → chunk-TLPY4ZBI.js} +611 -437
  106. package/dist/{chunk-WRCAH3UO.js → chunk-TPEYEOXA.js} +15 -15
  107. package/dist/{chunk-FJNXXGTR.js → chunk-UWJP4JSZ.js} +3 -3
  108. package/dist/{chunk-MY6GUH26.js → chunk-V3KHZQPK.js} +3 -3
  109. package/dist/{chunk-66YFDTT6.js → chunk-VGSSAMLA.js} +4 -4
  110. package/dist/{chunk-Q6SQISHT.js → chunk-VMD2CYVP.js} +311 -74
  111. package/dist/{chunk-MFW6P7WH.js → chunk-WNTPJZU7.js} +3 -3
  112. package/dist/{chunk-7W4XLIVH.js → chunk-WTE27AJT.js} +14 -14
  113. package/dist/{chunk-UKJLPA7R.js → chunk-X6IZP2BD.js} +1 -1
  114. package/dist/{chunk-2GM7N5TV.js → chunk-XLAREWBK.js} +9 -9
  115. package/dist/{chunk-AYOVY75O.js → chunk-XLPJJ35N.js} +4 -4
  116. package/dist/{chunk-NGC3IZRY.js → chunk-XQTRGKQ3.js} +4 -4
  117. package/dist/{chunk-WEF6MXFG.js → chunk-YZG37S7L.js} +9 -9
  118. package/dist/{chunk-LFKSHDVI.js → chunk-ZB2Q67NO.js} +14 -13
  119. package/dist/{chunk-JQ57AWDL.js → chunk-ZJ4PYTCK.js} +1 -1
  120. package/dist/completion-registry.d.ts +6 -0
  121. package/dist/completion-registry.js +62 -6
  122. package/dist/{compute-JAP5E2E4.js → compute-2XWFVO7K.js} +1 -1
  123. package/dist/{d3-B6524aaP.d.ts → d3-2S3PrXik.d.ts} +11 -0
  124. package/dist/dgmo-router-YHBMKTXY.js +94 -0
  125. package/dist/{dimensions-7MF7VSGS.js → dimensions-QMGWJQTR.js} +5 -5
  126. package/dist/editor.js +12 -0
  127. package/dist/{flowchart-parser-GG7XBLQH.js → flowchart-parser-BLJ6RA53.js} +4 -4
  128. package/dist/{flowchart-renderer-DZQZRL2F.js → flowchart-renderer-FXRQKXAK.js} +12 -8
  129. package/dist/highlight.js +12 -0
  130. package/dist/index.d.ts +26 -5
  131. package/dist/index.js +84 -57
  132. package/dist/{layout-5VSMZPMG.js → layout-5HCEF7VO.js} +1 -1
  133. package/dist/{layout-6L3BIFEZ.js → layout-6PLSBB5X.js} +3 -3
  134. package/dist/{layout-UIV56NUA.js → layout-B7PQRAMB.js} +1 -1
  135. package/dist/{layout-IGAVGDME.js → layout-CCVCLZ6S.js} +1 -1
  136. package/dist/{layout-PP36LUTA.js → layout-CRUAP7JG.js} +3 -3
  137. package/dist/{layout-Q3RYSODA.js → layout-G42FDCF3.js} +3 -3
  138. package/dist/{layout-EFEZ533S.js → layout-IV4H2FLB.js} +3 -3
  139. package/dist/{layout-4RRC7XU7.js → layout-JTNRSGOS.js} +6 -3
  140. package/dist/{layout-H4K54IW3.js → layout-RBLD5EGX.js} +6 -3
  141. package/dist/{layout-SW3XWYKC.js → layout-ROAVGBUC.js} +1 -1
  142. package/dist/{layout-XUW444O5.js → layout-T2DQ4M77.js} +8 -4
  143. package/dist/{layout-MSSHF45T.js → layout-UPQGIT3N.js} +2 -2
  144. package/dist/{layout-DXVAYF6W.js → layout-VRJ5YFUE.js} +2 -2
  145. package/dist/{layout-ZP7XYVXF.js → layout-YKGQRFDM.js} +2 -4
  146. package/dist/layout-search-L75YOBME.js +42 -0
  147. package/dist/{palettes-WZAIQTEG.js → palettes-WQHELGVQ.js} +2 -1
  148. package/dist/{parser-ZLKYDFI5.js → parser-2XCDVLSN.js} +3 -3
  149. package/dist/{parser-GZ3LVF72.js → parser-3MGA2MTM.js} +2 -2
  150. package/dist/{parser-NOANDFJ4.js → parser-4AR25MAS.js} +2 -2
  151. package/dist/{parser-GCCWMBTU.js → parser-4QNRCGU5.js} +5 -4
  152. package/dist/{parser-LANGKWRG.js → parser-6LMB7BQQ.js} +2 -2
  153. package/dist/{parser-WEVTMBJ5.js → parser-6NSQLPTS.js} +3 -3
  154. package/dist/{parser-KYPP2DX6.js → parser-6X4GGH2R.js} +4 -4
  155. package/dist/parser-AL6YL7KM.js +12 -0
  156. package/dist/{parser-5655XSOR.js → parser-D6YRVV75.js} +3 -3
  157. package/dist/{parser-NGHQQGD2.js → parser-EY3VJWBE.js} +3 -3
  158. package/dist/{parser-TL3JA4RI.js → parser-EYF4ZSZO.js} +3 -3
  159. package/dist/{parser-256EIWB2.js → parser-FDXUQ5TI.js} +2 -2
  160. package/dist/{parser-JOOAVBJI.js → parser-H2DJEAPG.js} +3 -3
  161. package/dist/{parser-AKBVJHMK.js → parser-ILWAA3QJ.js} +3 -3
  162. package/dist/{parser-AN3MGHRL.js → parser-KMFMNZYI.js} +3 -3
  163. package/dist/{parser-IMM2JJX3.js → parser-MDSVVCJP.js} +4 -4
  164. package/dist/{parser-OVQTTTUJ.js → parser-OFTMA36M.js} +2 -2
  165. package/dist/{parser-LGS65QPN.js → parser-Q3UAOLEZ.js} +2 -2
  166. package/dist/{parser-DGF3ZEO6.js → parser-QL4DEPVA.js} +4 -4
  167. package/dist/{parser-XYY5NHP4.js → parser-R6OETHWM.js} +2 -2
  168. package/dist/{parser-GEKPWSSK.js → parser-UEDPLM46.js} +3 -3
  169. package/dist/{parser-KZMALSB2.js → parser-UL6WN6W5.js} +4 -4
  170. package/dist/{parser-J4DVNL4W.js → parser-ULSUK36C.js} +4 -4
  171. package/dist/{parser-KZMJNKDW.js → parser-UY3K4ROB.js} +2 -2
  172. package/dist/{parser-KFYRTGTC.js → parser-UYQNNQKT.js} +4 -4
  173. package/dist/{parser-DHSFIUPU.js → parser-VG747VR6.js} +3 -3
  174. package/dist/{parser-UTXFJG4X.js → parser-VK4PNDX4.js} +3 -3
  175. package/dist/{parser-SA3RAJFS.js → parser-WSONWDFN.js} +2 -2
  176. package/dist/{parser-NPXPJHWN.js → parser-X5FQ36KJ.js} +3 -3
  177. package/dist/{parser-OKB64MMN.js → parser-XO5IAXMT.js} +3 -3
  178. package/dist/{parser-HCGXNHHL.js → parser-YVHO2NRM.js} +3 -3
  179. package/dist/{parser-P4TOQYNN.js → parser-YWZGIU3C.js} +3 -3
  180. package/dist/{parser-337TACHB.js → parser-ZFLSULFC.js} +3 -3
  181. package/dist/{parser-7OEE7QT6.js → parser-ZR7JAKSW.js} +2 -2
  182. package/dist/{renderer-CHQZES6G.js → renderer-3N64GVNM.js} +2 -2
  183. package/dist/{renderer-JR2XNZAH.js → renderer-43IVPARP.js} +5 -5
  184. package/dist/{renderer-J4OS77PK.js → renderer-4MEZYGU6.js} +3 -3
  185. package/dist/{renderer-IR5GGAPB.js → renderer-54GXA3UO.js} +11 -7
  186. package/dist/{renderer-7VQOKAII.js → renderer-7EAWN7MC.js} +6 -6
  187. package/dist/{renderer-QQHQY3GT.js → renderer-7SEXPBGM.js} +5 -5
  188. package/dist/{renderer-P4XCRNCY.js → renderer-B7B7BQM3.js} +9 -9
  189. package/dist/{renderer-7HOSI6JJ.js → renderer-I2LYSQBV.js} +4 -4
  190. package/dist/{renderer-6OQM32X3.js → renderer-IPDCAACY.js} +3 -3
  191. package/dist/{renderer-JRVY7HAD.js → renderer-J2LOMTBC.js} +4 -4
  192. package/dist/renderer-JUH6M3XF.js +46 -0
  193. package/dist/renderer-KY6O5JTX.js +80 -0
  194. package/dist/{renderer-FCXRDYSJ.js → renderer-LHTDI5RV.js} +7 -7
  195. package/dist/{renderer-XHEMXBQM.js → renderer-LWL3IJOF.js} +5 -5
  196. package/dist/{renderer-BLHN3RCY.js → renderer-MRMFYYZT.js} +2 -2
  197. package/dist/{renderer-DBNDLKPE.js → renderer-NCIDGJ2R.js} +7 -7
  198. package/dist/{renderer-3AD4NDF5.js → renderer-OPA4JJKX.js} +6 -6
  199. package/dist/{renderer-XFEZ5UBE.js → renderer-QMNC7TGN.js} +6 -6
  200. package/dist/{renderer-5GZNGZU5.js → renderer-QQNPJGAP.js} +9 -7
  201. package/dist/{renderer-CEIX5JPA.js → renderer-R7OYCJEA.js} +2 -2
  202. package/dist/{renderer-WQ654YT5.js → renderer-R7RK7FKI.js} +1 -1
  203. package/dist/{renderer-4JE5ORRO.js → renderer-RFP55AW7.js} +13 -10
  204. package/dist/{renderer-NAA7D33G.js → renderer-S3NFBJCY.js} +15 -11
  205. package/dist/{renderer-43ESBXVY.js → renderer-SD4ZHHAR.js} +8 -6
  206. package/dist/{renderer-WB75JME5.js → renderer-SE7Z5AOL.js} +6 -6
  207. package/dist/{renderer-YTEZK3GC.js → renderer-T2WUA7MC.js} +7 -7
  208. package/dist/{renderer-VYWCMRWA.js → renderer-TWKEZ3DD.js} +5 -5
  209. package/dist/{renderer-DCJ4AQ3N.js → renderer-U5PD72G7.js} +5 -5
  210. package/dist/{renderer-EAORWLVK.js → renderer-VCTKBUTR.js} +7 -7
  211. package/dist/{renderer-7L7J4DHO.js → renderer-VNZTWATB.js} +7 -6
  212. package/dist/{renderer-2ZQ6DPVD.js → renderer-YDNWK6RI.js} +2 -2
  213. package/dist/{renderer-VGQMJC5K.js → renderer-YDOWBIUB.js} +11 -10
  214. package/dist/{renderer-7MCC6GKH.js → renderer-YQPZ7O2C.js} +2 -2
  215. package/dist/{renderer-ZXQXRNDR.js → renderer-ZQ77CM6Y.js} +6 -6
  216. package/dist/{renderer-radial-NA5DVBG4.js → renderer-radial-TNNEL3YN.js} +5 -5
  217. package/dist/{resolver-XSXE2TRX.js → resolver-6DJLZF6Y.js} +1 -1
  218. package/dist/{state-parser-FE3RF6XY.js → state-parser-NIIVOU2Y.js} +4 -4
  219. package/dist/{state-renderer-4S2C2CHB.js → state-renderer-TVLEG32M.js} +14 -10
  220. package/dist/{themes-CzuBdx1T.d.ts → themes-Cm2YBcT8.d.ts} +38 -2
  221. package/docs/ai-integration.md +4 -3
  222. package/docs/language-reference.md +162 -12
  223. package/gallery/fixtures/sketch.dgmo +2 -2
  224. package/gallery/fixtures/whiteboard.dgmo +18 -0
  225. package/package.json +2 -1
  226. package/dist/chunk-6EK55ART.js +0 -116
  227. package/dist/chunk-HTNLLT34.js +0 -72
  228. package/dist/dgmo-router-7WANZOBD.js +0 -92
  229. package/dist/renderer-TJJGFQGT.js +0 -78
  230. package/dist/{chunk-3FCSOYN4.js → chunk-5P2L5QXE.js} +0 -0
  231. package/dist/{chunk-HJRP6PXL.js → chunk-BQVTV4LB.js} +0 -0
  232. package/dist/{chunk-LYRDIVSY.js → chunk-GLCMUTO5.js} +0 -0
  233. package/dist/{chunk-5LE2CTLS.js → chunk-NTJ5HVV6.js} +3 -3
@@ -3,6 +3,8 @@ import {
3
3
  } from "./chunk-ABP5BUD6.js";
4
4
  import {
5
5
  REGISTRY_BY_ID,
6
+ choosePalette,
7
+ extractPaletteDirective,
6
8
  getRenderCategory,
7
9
  parseArc,
8
10
  parseDgmo,
@@ -12,22 +14,25 @@ import {
12
14
  parseVenn,
13
15
  parseVisualization,
14
16
  parseWordcloud
15
- } from "./chunk-Q6SQISHT.js";
17
+ } from "./chunk-VMD2CYVP.js";
16
18
  import {
17
19
  MAP_DX
18
20
  } from "./chunk-EOYPX6SF.js";
21
+ import {
22
+ parseCountdown
23
+ } from "./chunk-ZJ4PYTCK.js";
19
24
  import {
20
25
  parseClock
21
- } from "./chunk-WP2RLGDI.js";
26
+ } from "./chunk-TCX5PMEY.js";
22
27
  import {
23
28
  parseBracket
24
- } from "./chunk-ZUCXFXLD.js";
29
+ } from "./chunk-3YTAOMMN.js";
25
30
  import {
26
31
  parseBody
27
- } from "./chunk-47E5UTXE.js";
32
+ } from "./chunk-IUBCDNT2.js";
28
33
  import {
29
34
  renderDataChartD3
30
- } from "./chunk-3AQJNY65.js";
35
+ } from "./chunk-KFXY5IW2.js";
31
36
  import {
32
37
  computeQuadrantPointLabels
33
38
  } from "./chunk-KMU65FYM.js";
@@ -38,10 +43,10 @@ import {
38
43
  parseHeatmap,
39
44
  parseSankey,
40
45
  parseScatter
41
- } from "./chunk-7UDAIP6W.js";
46
+ } from "./chunk-HFG7KQOY.js";
42
47
  import {
43
48
  renderTimeline
44
- } from "./chunk-UWKRPQZO.js";
49
+ } from "./chunk-FJCYK4K3.js";
45
50
  import {
46
51
  ScaleContext
47
52
  } from "./chunk-24YPR5EH.js";
@@ -60,7 +65,7 @@ import {
60
65
  renderChartTitle,
61
66
  resolveExportPalette,
62
67
  showTooltip
63
- } from "./chunk-UKJLPA7R.js";
68
+ } from "./chunk-X6IZP2BD.js";
64
69
  import {
65
70
  legendInlineSupported
66
71
  } from "./chunk-CNUN5GO6.js";
@@ -70,115 +75,115 @@ import {
70
75
  import {
71
76
  FONT_FAMILY
72
77
  } from "./chunk-ICLB27PZ.js";
78
+ import {
79
+ parseTechRadar
80
+ } from "./chunk-MKFQ5E7J.js";
73
81
  import {
74
82
  parseCycle
75
- } from "./chunk-WQ6G6FFM.js";
83
+ } from "./chunk-AR4QVMWG.js";
76
84
  import {
77
85
  parseJourneyMap
78
- } from "./chunk-B3S76BZO.js";
86
+ } from "./chunk-PSGSFRRE.js";
79
87
  import {
80
88
  parsePyramid
81
- } from "./chunk-PIXJL77H.js";
89
+ } from "./chunk-M6J25PAZ.js";
82
90
  import {
83
91
  parseRing
84
- } from "./chunk-3C2FWS2J.js";
92
+ } from "./chunk-EWERNTOX.js";
85
93
  import {
86
94
  parseTreemap
87
- } from "./chunk-P3SKSKJI.js";
95
+ } from "./chunk-HWXUQCDY.js";
88
96
  import {
89
97
  parseBlock
90
- } from "./chunk-MY6GUH26.js";
98
+ } from "./chunk-V3KHZQPK.js";
91
99
  import {
92
100
  isBlockNode
93
101
  } from "./chunk-XSVWUOUZ.js";
94
102
  import {
95
103
  parseGoal
96
- } from "./chunk-BOO24UMJ.js";
97
- import {
98
- parseCountdown
99
- } from "./chunk-JQ57AWDL.js";
104
+ } from "./chunk-4YO7VJTP.js";
100
105
  import {
101
106
  parseMap
102
- } from "./chunk-HTWH2XQL.js";
107
+ } from "./chunk-HYV6GSXM.js";
103
108
  import {
104
109
  parseBoxesAndLines
105
- } from "./chunk-MHAYUS65.js";
110
+ } from "./chunk-RMTOZALT.js";
106
111
  import {
107
112
  parseSketch
108
- } from "./chunk-RU725VCJ.js";
113
+ } from "./chunk-SKF7XLCM.js";
114
+ import {
115
+ parseWhiteboard
116
+ } from "./chunk-IHK3Y2HG.js";
109
117
  import {
110
118
  parseSwimlane
111
- } from "./chunk-C7QRRTAW.js";
119
+ } from "./chunk-J2SQNZ6D.js";
112
120
  import {
113
121
  parseFamily
114
- } from "./chunk-FKZ2Y3Q5.js";
122
+ } from "./chunk-IS6WFBX7.js";
115
123
  import {
116
124
  parseMindmap
117
- } from "./chunk-NGC3IZRY.js";
118
- import {
119
- parseTechRadar
120
- } from "./chunk-6K7RODXG.js";
125
+ } from "./chunk-XQTRGKQ3.js";
121
126
  import {
122
127
  parseEventLine
123
- } from "./chunk-66YFDTT6.js";
128
+ } from "./chunk-VGSSAMLA.js";
124
129
  import {
125
130
  parseTimelineDate
126
- } from "./chunk-GDJW64XE.js";
131
+ } from "./chunk-OYKNMFUY.js";
127
132
  import {
128
133
  parseVersionControl
129
- } from "./chunk-QFHWYWQL.js";
134
+ } from "./chunk-HLVGZXM5.js";
130
135
  import {
131
136
  parseKanban
132
- } from "./chunk-DPSMX4EY.js";
137
+ } from "./chunk-JJQWCI35.js";
133
138
  import {
134
139
  parseC4
135
- } from "./chunk-GSYZZFI5.js";
140
+ } from "./chunk-EP7BT3HU.js";
136
141
  import {
137
142
  parseInfra
138
- } from "./chunk-GUTZCRBT.js";
143
+ } from "./chunk-G3EUQMV4.js";
139
144
  import {
140
145
  parseGantt
141
- } from "./chunk-ITSBBQTH.js";
146
+ } from "./chunk-6QEXWMBP.js";
142
147
  import {
143
148
  parseRaci
144
- } from "./chunk-3RYBTEF5.js";
149
+ } from "./chunk-I74AQRVD.js";
145
150
  import {
146
151
  parsePert
147
- } from "./chunk-JVZ7KFAX.js";
152
+ } from "./chunk-37QQXKFV.js";
148
153
  import {
149
154
  parseLiveLink
150
- } from "./chunk-7WGCQE2E.js";
155
+ } from "./chunk-2ZVLI6GQ.js";
151
156
  import {
152
157
  getPalette
153
- } from "./chunk-NIUO2TNR.js";
158
+ } from "./chunk-4HG4PYHM.js";
154
159
  import {
155
160
  parseSequenceDgmo
156
- } from "./chunk-LFKSHDVI.js";
161
+ } from "./chunk-ZB2Q67NO.js";
157
162
  import {
158
163
  parseFlowchart
159
- } from "./chunk-JRUEIRJB.js";
164
+ } from "./chunk-634LDSN6.js";
160
165
  import {
161
166
  parseState
162
- } from "./chunk-AYOVY75O.js";
167
+ } from "./chunk-XLPJJ35N.js";
163
168
  import {
164
169
  parseClassDiagram
165
- } from "./chunk-MFW6P7WH.js";
170
+ } from "./chunk-WNTPJZU7.js";
166
171
  import {
167
172
  parseERDiagram
168
- } from "./chunk-WPL5PFXE.js";
173
+ } from "./chunk-3SLRZKLB.js";
169
174
  import {
170
175
  parseOrg
171
- } from "./chunk-FJNXXGTR.js";
176
+ } from "./chunk-UWJP4JSZ.js";
172
177
  import {
173
178
  parseSitemap
174
- } from "./chunk-UG2XG57E.js";
179
+ } from "./chunk-F26ZPBSF.js";
175
180
  import {
176
181
  parseWireframe
177
- } from "./chunk-HSRQDWV7.js";
182
+ } from "./chunk-ROCBGUJN.js";
178
183
  import {
179
184
  resolveActiveTagGroup,
180
185
  tagAttrKey
181
- } from "./chunk-L5AFONQU.js";
186
+ } from "./chunk-QKJ6MQXW.js";
182
187
  import {
183
188
  measureText,
184
189
  wrapTextToWidth
@@ -2023,6 +2028,7 @@ var DIAGRAM_EXPORT_HANDLERS = {
2023
2028
  er: exportEr,
2024
2029
  "boxes-and-lines": exportBoxesAndLines,
2025
2030
  sketch: exportSketch,
2031
+ whiteboard: exportWhiteboard,
2026
2032
  swimlane: exportSwimlane,
2027
2033
  family: exportFamily,
2028
2034
  "version-control": exportVersionControl,
@@ -2077,13 +2083,13 @@ function resolveArcChordOverride(content, detectedType, palette) {
2077
2083
  }
2078
2084
  async function renderForExport(content, theme, palette, viewState, options) {
2079
2085
  const exportMode = options?.exportMode ?? false;
2080
- const { parseDgmoChartType } = await import("./dgmo-router-7WANZOBD.js");
2086
+ const { parseDgmoChartType } = await import("./dgmo-router-YHBMKTXY.js");
2081
2087
  const detectedTypeRaw = parseDgmoChartType(content);
2082
2088
  const override = resolveArcChordOverride(content, detectedTypeRaw, palette);
2083
2089
  const renderContent = override?.content ?? content;
2084
2090
  const detectedType = override?.type ?? detectedTypeRaw;
2085
2091
  if (detectedType !== null) {
2086
- const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-KEQSUWKP.js");
2092
+ const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-YXD6VGZQ.js");
2087
2093
  if (supportsD3DataChart(detectedType)) {
2088
2094
  return renderDataChartD32(renderContent, theme, palette, {
2089
2095
  ...options?.width !== void 0 && { width: options.width },
@@ -2116,8 +2122,8 @@ function ctxTagOverride(ctx) {
2116
2122
  }
2117
2123
  async function exportEventLine(ctx) {
2118
2124
  const { content, theme, palette } = ctx;
2119
- const { parseEventLine: parseEventLine2 } = await import("./parser-KFYRTGTC.js");
2120
- const { renderEventLineForExport } = await import("./renderer-VGQMJC5K.js");
2125
+ const { parseEventLine: parseEventLine2 } = await import("./parser-UYQNNQKT.js");
2126
+ const { renderEventLineForExport } = await import("./renderer-YDOWBIUB.js");
2121
2127
  const effectivePalette = await resolveExportPalette(theme, palette);
2122
2128
  const parsed = parseEventLine2(content, effectivePalette);
2123
2129
  if (parsed.error || parsed.events.length === 0) return "";
@@ -2135,8 +2141,8 @@ async function exportEventLine(ctx) {
2135
2141
  }
2136
2142
  async function exportBody(ctx) {
2137
2143
  const { content, theme, palette } = ctx;
2138
- const { parseBody: parseBody2 } = await import("./parser-AKBVJHMK.js");
2139
- const { renderBodyForExport } = await import("./renderer-JRVY7HAD.js");
2144
+ const { parseBody: parseBody2 } = await import("./parser-ILWAA3QJ.js");
2145
+ const { renderBodyForExport } = await import("./renderer-J2LOMTBC.js");
2140
2146
  const effectivePalette = await resolveExportPalette(theme, palette);
2141
2147
  const parsed = parseBody2(content, effectivePalette);
2142
2148
  if (parsed.error) return "";
@@ -2153,8 +2159,8 @@ async function exportBody(ctx) {
2153
2159
  }
2154
2160
  async function exportVersionControl(ctx) {
2155
2161
  const { content, theme, palette } = ctx;
2156
- const { parseVersionControl: parseVersionControl2 } = await import("./parser-KZMJNKDW.js");
2157
- const { renderVersionControlForExport } = await import("./renderer-WQ654YT5.js");
2162
+ const { parseVersionControl: parseVersionControl2 } = await import("./parser-UY3K4ROB.js");
2163
+ const { renderVersionControlForExport } = await import("./renderer-R7RK7FKI.js");
2158
2164
  const effectivePalette = await resolveExportPalette(theme, palette);
2159
2165
  const parsed = parseVersionControl2(content, effectivePalette);
2160
2166
  if (parsed.error || parsed.nodes.length === 0) return "";
@@ -2178,10 +2184,10 @@ function unionHiddenAttributes(hideOption, ha) {
2178
2184
  }
2179
2185
  async function exportOrg(ctx) {
2180
2186
  const { content, theme, palette, viewState, exportMode } = ctx;
2181
- const { parseOrg: parseOrg2, findOrgNodeIdByName } = await import("./parser-JOOAVBJI.js");
2182
- const { layoutOrg } = await import("./layout-6L3BIFEZ.js");
2187
+ const { parseOrg: parseOrg2, findOrgNodeIdByName } = await import("./parser-H2DJEAPG.js");
2188
+ const { layoutOrg } = await import("./layout-6PLSBB5X.js");
2183
2189
  const { collapseOrgTree, focusOrgTree, unionCollapsedOrgNodes } = await import("./collapse-JRGPUE67.js");
2184
- const { renderOrg, ancestorTrailReserve } = await import("./renderer-DBNDLKPE.js");
2190
+ const { renderOrg, ancestorTrailReserve } = await import("./renderer-NCIDGJ2R.js");
2185
2191
  const isDark = ctx.isDark;
2186
2192
  const effectivePalette = await resolveExportPalette(theme, palette);
2187
2193
  const orgParsed = parseOrg2(content, effectivePalette);
@@ -2242,10 +2248,10 @@ async function exportOrg(ctx) {
2242
2248
  }
2243
2249
  async function exportSitemap(ctx) {
2244
2250
  const { content, theme, palette, viewState, exportMode } = ctx;
2245
- const { parseSitemap: parseSitemap2 } = await import("./parser-OKB64MMN.js");
2246
- const { layoutSitemap } = await import("./layout-EFEZ533S.js");
2251
+ const { parseSitemap: parseSitemap2 } = await import("./parser-XO5IAXMT.js");
2252
+ const { layoutSitemap } = await import("./layout-IV4H2FLB.js");
2247
2253
  const { collapseSitemapTree } = await import("./collapse-ZWUFFCK2.js");
2248
- const { renderSitemap } = await import("./renderer-WB75JME5.js");
2254
+ const { renderSitemap } = await import("./renderer-SE7Z5AOL.js");
2249
2255
  const isDark = ctx.isDark;
2250
2256
  const effectivePalette = await resolveExportPalette(theme, palette);
2251
2257
  const sitemapParsed = parseSitemap2(content, effectivePalette);
@@ -2294,8 +2300,8 @@ async function exportSitemap(ctx) {
2294
2300
  }
2295
2301
  async function exportKanban(ctx) {
2296
2302
  const { content, theme, palette, viewState, exportMode } = ctx;
2297
- const { parseKanban: parseKanban2 } = await import("./parser-337TACHB.js");
2298
- const { renderKanban } = await import("./renderer-7VQOKAII.js");
2303
+ const { parseKanban: parseKanban2 } = await import("./parser-ZFLSULFC.js");
2304
+ const { renderKanban } = await import("./renderer-7EAWN7MC.js");
2299
2305
  const effectivePalette = await resolveExportPalette(theme, palette);
2300
2306
  const kanbanParsed = parseKanban2(content, effectivePalette);
2301
2307
  if (kanbanParsed.error || kanbanParsed.columns.length === 0) return "";
@@ -2326,9 +2332,9 @@ async function exportKanban(ctx) {
2326
2332
  }
2327
2333
  async function exportClass(ctx) {
2328
2334
  const { content, theme, palette, exportMode } = ctx;
2329
- const { parseClassDiagram: parseClassDiagram2 } = await import("./parser-IMM2JJX3.js");
2330
- const { layoutClassDiagram } = await import("./layout-4RRC7XU7.js");
2331
- const { renderClassDiagram } = await import("./renderer-4JE5ORRO.js");
2335
+ const { parseClassDiagram: parseClassDiagram2 } = await import("./parser-MDSVVCJP.js");
2336
+ const { layoutClassDiagram } = await import("./layout-JTNRSGOS.js");
2337
+ const { renderClassDiagram } = await import("./renderer-RFP55AW7.js");
2332
2338
  const effectivePalette = await resolveExportPalette(theme, palette);
2333
2339
  const classParsed = parseClassDiagram2(content, effectivePalette);
2334
2340
  if (classParsed.error || classParsed.classes.length === 0) return "";
@@ -2353,9 +2359,9 @@ async function exportClass(ctx) {
2353
2359
  }
2354
2360
  async function exportEr(ctx) {
2355
2361
  const { content, theme, palette, viewState, exportMode } = ctx;
2356
- const { parseERDiagram: parseERDiagram2 } = await import("./parser-J4DVNL4W.js");
2357
- const { layoutERDiagram } = await import("./layout-H4K54IW3.js");
2358
- const { renderERDiagram } = await import("./renderer-NAA7D33G.js");
2362
+ const { parseERDiagram: parseERDiagram2 } = await import("./parser-ULSUK36C.js");
2363
+ const { layoutERDiagram } = await import("./layout-RBLD5EGX.js");
2364
+ const { renderERDiagram } = await import("./renderer-S3NFBJCY.js");
2359
2365
  const effectivePalette = await resolveExportPalette(theme, palette);
2360
2366
  const erParsed = parseERDiagram2(content, effectivePalette);
2361
2367
  if (erParsed.error || erParsed.tables.length === 0) return "";
@@ -2387,14 +2393,14 @@ async function exportEr(ctx) {
2387
2393
  }
2388
2394
  async function exportSketch(ctx) {
2389
2395
  const { content, theme, viewState, exportMode } = ctx;
2390
- const { parseSketch: parseSketch2 } = await import("./parser-KZMALSB2.js");
2396
+ const { parseSketch: parseSketch2 } = await import("./parser-UL6WN6W5.js");
2391
2397
  const effectivePalette = await resolveExportPalette(theme, ctx.palette);
2392
2398
  const parsed = parseSketch2(content, effectivePalette);
2393
2399
  if (parsed.error || parsed.nodes.length === 0 && parsed.boxes.length === 0) {
2394
2400
  return "";
2395
2401
  }
2396
- const { layoutSketch } = await import("./layout-MSSHF45T.js");
2397
- const { renderSketchForExport } = await import("./renderer-5GZNGZU5.js");
2402
+ const { layoutSketch } = await import("./layout-UPQGIT3N.js");
2403
+ const { renderSketchForExport } = await import("./renderer-QQNPJGAP.js");
2398
2404
  const collapsedBoxes = viewState?.cg ? new Set(viewState.cg) : void 0;
2399
2405
  const skLayout = layoutSketch(parsed, {
2400
2406
  ...collapsedBoxes !== void 0 && { collapsedBoxes }
@@ -2419,9 +2425,25 @@ async function exportSketch(ctx) {
2419
2425
  );
2420
2426
  return finalizeSvgExport(container, theme, effectivePalette);
2421
2427
  }
2428
+ async function exportWhiteboard(ctx) {
2429
+ const { content, theme } = ctx;
2430
+ const { parseWhiteboard: parseWhiteboard2 } = await import("./parser-AL6YL7KM.js");
2431
+ const effectivePalette = await resolveExportPalette(theme, ctx.palette);
2432
+ const parsed = parseWhiteboard2(content, effectivePalette);
2433
+ if (parsed.error || parsed.elements.length === 0) return "";
2434
+ const { renderWhiteboard } = await import("./renderer-JUH6M3XF.js");
2435
+ const container = createExportContainer(1, 1);
2436
+ const resolveImage = ctx.options?.resolveImage;
2437
+ const showNotes = ctx.options?.showNotes;
2438
+ renderWhiteboard(container, parsed, effectivePalette, ctx.isDark, {
2439
+ ...resolveImage !== void 0 && { resolveImage },
2440
+ ...showNotes !== void 0 && { showNotes }
2441
+ });
2442
+ return finalizeSvgExport(container, theme, effectivePalette);
2443
+ }
2422
2444
  async function exportBoxesAndLines(ctx) {
2423
2445
  const { content, theme, palette, viewState, exportMode } = ctx;
2424
- const { parseBoxesAndLines: parseBoxesAndLines2 } = await import("./parser-KYPP2DX6.js");
2446
+ const { parseBoxesAndLines: parseBoxesAndLines2 } = await import("./parser-6X4GGH2R.js");
2425
2447
  const effectivePalette = await resolveExportPalette(theme, palette);
2426
2448
  const blParsed = parseBoxesAndLines2(content, effectivePalette);
2427
2449
  if (blParsed.error || blParsed.nodes.length === 0) return "";
@@ -2432,8 +2454,8 @@ async function exportBoxesAndLines(ctx) {
2432
2454
  blHiddenTagValues.set(k, new Set(v));
2433
2455
  }
2434
2456
  }
2435
- const { renderBoxesAndLinesForExport } = await import("./renderer-ZXQXRNDR.js");
2436
- const { layoutBoxesAndLines } = await import("./layout-ZP7XYVXF.js");
2457
+ const { renderBoxesAndLinesForExport } = await import("./renderer-ZQ77CM6Y.js");
2458
+ const { layoutBoxesAndLines } = await import("./layout-YKGQRFDM.js");
2437
2459
  const blLayout = await layoutBoxesAndLines(blParsed);
2438
2460
  const PADDING = 20;
2439
2461
  const titleOffset = blParsed.title ? 40 : 0;
@@ -2462,9 +2484,9 @@ async function exportBoxesAndLines(ctx) {
2462
2484
  }
2463
2485
  async function exportSwimlane(ctx) {
2464
2486
  const { content, theme, palette } = ctx;
2465
- const { parseSwimlane: parseSwimlane2 } = await import("./parser-ZLKYDFI5.js");
2487
+ const { parseSwimlane: parseSwimlane2 } = await import("./parser-2XCDVLSN.js");
2466
2488
  const { layoutSwimlane } = await import("./layout-RANVNAKI.js");
2467
- const { renderSwimlaneForExport } = await import("./renderer-J4OS77PK.js");
2489
+ const { renderSwimlaneForExport } = await import("./renderer-4MEZYGU6.js");
2468
2490
  const effectivePalette = await resolveExportPalette(theme, palette);
2469
2491
  const swimParsed = parseSwimlane2(content, effectivePalette);
2470
2492
  if (swimParsed.error || swimParsed.nodes.length === 0) return "";
@@ -2494,9 +2516,9 @@ async function exportSwimlane(ctx) {
2494
2516
  }
2495
2517
  async function exportFamily(ctx) {
2496
2518
  const { content, theme, palette } = ctx;
2497
- const { parseFamily: parseFamily2 } = await import("./parser-NPXPJHWN.js");
2498
- const { layoutFamily } = await import("./layout-5VSMZPMG.js");
2499
- const { renderFamilyForExport } = await import("./renderer-XHEMXBQM.js");
2519
+ const { parseFamily: parseFamily2 } = await import("./parser-X5FQ36KJ.js");
2520
+ const { layoutFamily } = await import("./layout-5HCEF7VO.js");
2521
+ const { renderFamilyForExport } = await import("./renderer-LWL3IJOF.js");
2500
2522
  const effectivePalette = await resolveExportPalette(theme, palette);
2501
2523
  const parsed = parseFamily2(content, effectivePalette);
2502
2524
  if (parsed.error || parsed.persons.size === 0) return "";
@@ -2526,10 +2548,10 @@ async function exportFamily(ctx) {
2526
2548
  }
2527
2549
  async function exportMindmap(ctx) {
2528
2550
  const { content, theme, palette, viewState, exportMode } = ctx;
2529
- const { parseMindmap: parseMindmap2 } = await import("./parser-NGHQQGD2.js");
2530
- const { layoutMindmap } = await import("./layout-PP36LUTA.js");
2551
+ const { parseMindmap: parseMindmap2 } = await import("./parser-EY3VJWBE.js");
2552
+ const { layoutMindmap } = await import("./layout-CRUAP7JG.js");
2531
2553
  const { collapseMindmapTree } = await import("./collapse-SLINJQW6.js");
2532
- const { renderMindmap } = await import("./renderer-EAORWLVK.js");
2554
+ const { renderMindmap } = await import("./renderer-VCTKBUTR.js");
2533
2555
  const isDark = ctx.isDark;
2534
2556
  const effectivePalette = await resolveExportPalette(theme, palette);
2535
2557
  const mmParsed = parseMindmap2(content, effectivePalette);
@@ -2579,9 +2601,9 @@ async function exportMindmap(ctx) {
2579
2601
  }
2580
2602
  async function exportWireframe(ctx) {
2581
2603
  const { content, theme, palette } = ctx;
2582
- const { parseWireframe: parseWireframe2 } = await import("./parser-HCGXNHHL.js");
2583
- const { layoutWireframe } = await import("./layout-UIV56NUA.js");
2584
- const { renderWireframe } = await import("./renderer-2ZQ6DPVD.js");
2604
+ const { parseWireframe: parseWireframe2 } = await import("./parser-YVHO2NRM.js");
2605
+ const { layoutWireframe } = await import("./layout-B7PQRAMB.js");
2606
+ const { renderWireframe } = await import("./renderer-YDNWK6RI.js");
2585
2607
  const effectivePalette = await resolveExportPalette(theme, palette);
2586
2608
  const wireframeParsed = parseWireframe2(content);
2587
2609
  if (wireframeParsed.error || wireframeParsed.roots.length === 0 && wireframeParsed.modals.length === 0)
@@ -2604,14 +2626,14 @@ async function exportWireframe(ctx) {
2604
2626
  }
2605
2627
  async function exportC4(ctx) {
2606
2628
  const { content, theme, palette, viewState, exportMode } = ctx;
2607
- const { parseC4: parseC42 } = await import("./parser-WEVTMBJ5.js");
2629
+ const { parseC4: parseC42 } = await import("./parser-6NSQLPTS.js");
2608
2630
  const {
2609
2631
  layoutC4Context,
2610
2632
  layoutC4Containers,
2611
2633
  layoutC4Components,
2612
2634
  layoutC4Deployment
2613
- } = await import("./layout-Q3RYSODA.js");
2614
- const { renderC4Context, renderC4Containers } = await import("./renderer-IR5GGAPB.js");
2635
+ } = await import("./layout-G42FDCF3.js");
2636
+ const { renderC4Context, renderC4Containers } = await import("./renderer-54GXA3UO.js");
2615
2637
  const effectivePalette = await resolveExportPalette(theme, palette);
2616
2638
  const c4Parsed = parseC42(content, effectivePalette);
2617
2639
  if (c4Parsed.error || c4Parsed.elements.length === 0) return "";
@@ -2645,9 +2667,9 @@ async function exportC4(ctx) {
2645
2667
  }
2646
2668
  async function exportFlowchart(ctx) {
2647
2669
  const { content, theme, palette } = ctx;
2648
- const { parseFlowchart: parseFlowchart2 } = await import("./flowchart-parser-GG7XBLQH.js");
2649
- const { layoutGraph } = await import("./layout-XUW444O5.js");
2650
- const { renderFlowchart } = await import("./flowchart-renderer-DZQZRL2F.js");
2670
+ const { parseFlowchart: parseFlowchart2 } = await import("./flowchart-parser-BLJ6RA53.js");
2671
+ const { layoutGraph } = await import("./layout-T2DQ4M77.js");
2672
+ const { renderFlowchart } = await import("./flowchart-renderer-FXRQKXAK.js");
2651
2673
  const effectivePalette = await resolveExportPalette(theme, palette);
2652
2674
  const fcParsed = parseFlowchart2(content, effectivePalette);
2653
2675
  if (fcParsed.error || fcParsed.nodes.length === 0) return "";
@@ -2666,10 +2688,10 @@ async function exportFlowchart(ctx) {
2666
2688
  }
2667
2689
  async function exportInfra(ctx) {
2668
2690
  const { content, theme, palette, viewState } = ctx;
2669
- const { parseInfra: parseInfra2 } = await import("./parser-DGF3ZEO6.js");
2670
- const { computeInfra } = await import("./compute-JAP5E2E4.js");
2671
- const { layoutInfra } = await import("./layout-SW3XWYKC.js");
2672
- const { renderInfra, computeInfraLegendGroups } = await import("./renderer-P4XCRNCY.js");
2691
+ const { parseInfra: parseInfra2 } = await import("./parser-QL4DEPVA.js");
2692
+ const { computeInfra } = await import("./compute-2XWFVO7K.js");
2693
+ const { layoutInfra } = await import("./layout-ROAVGBUC.js");
2694
+ const { renderInfra, computeInfraLegendGroups } = await import("./renderer-B7B7BQM3.js");
2673
2695
  const effectivePalette = await resolveExportPalette(theme, palette);
2674
2696
  const infraParsed = parseInfra2(content);
2675
2697
  if (infraParsed.error || infraParsed.nodes.length === 0) return "";
@@ -2716,10 +2738,10 @@ async function exportInfra(ctx) {
2716
2738
  }
2717
2739
  async function exportPert(ctx) {
2718
2740
  const { content, theme, palette, viewState } = ctx;
2719
- const { parsePert: parsePert2 } = await import("./parser-P4TOQYNN.js");
2741
+ const { parsePert: parsePert2 } = await import("./parser-YWZGIU3C.js");
2720
2742
  const { analyzePert } = await import("./analyzer-7ZGAZIE6.js");
2721
- const { layoutPert } = await import("./layout-IGAVGDME.js");
2722
- const { renderPert, measurePertAnalysisBlock } = await import("./renderer-YTEZK3GC.js");
2743
+ const { layoutPert } = await import("./layout-CCVCLZ6S.js");
2744
+ const { renderPert, measurePertAnalysisBlock } = await import("./renderer-T2WUA7MC.js");
2723
2745
  const effectivePalette = await resolveExportPalette(theme, palette);
2724
2746
  const pertParsed = parsePert2(content, { palette: effectivePalette });
2725
2747
  if (pertParsed.error || pertParsed.activities.length === 0) return "";
@@ -2762,9 +2784,9 @@ async function exportPert(ctx) {
2762
2784
  }
2763
2785
  async function exportGantt(ctx) {
2764
2786
  const { content, theme, palette, viewState, exportMode } = ctx;
2765
- const { parseGantt: parseGantt2 } = await import("./parser-GCCWMBTU.js");
2766
- const { calculateSchedule } = await import("./calculator-35YVW4QO.js");
2767
- const { renderGantt } = await import("./renderer-7L7J4DHO.js");
2787
+ const { parseGantt: parseGantt2 } = await import("./parser-4QNRCGU5.js");
2788
+ const { calculateSchedule } = await import("./calculator-3LZUWOBK.js");
2789
+ const { renderGantt } = await import("./renderer-VNZTWATB.js");
2768
2790
  const effectivePalette = await resolveExportPalette(theme, palette);
2769
2791
  const ganttParsed = parseGantt2(content, effectivePalette);
2770
2792
  const resolved = calculateSchedule(ganttParsed);
@@ -2805,9 +2827,9 @@ async function exportGantt(ctx) {
2805
2827
  }
2806
2828
  async function exportState(ctx) {
2807
2829
  const { content, theme, palette, viewState } = ctx;
2808
- const { parseState: parseState2 } = await import("./state-parser-FE3RF6XY.js");
2809
- const { layoutGraph } = await import("./layout-XUW444O5.js");
2810
- const { renderState } = await import("./state-renderer-4S2C2CHB.js");
2830
+ const { parseState: parseState2 } = await import("./state-parser-NIIVOU2Y.js");
2831
+ const { layoutGraph } = await import("./layout-T2DQ4M77.js");
2832
+ const { renderState } = await import("./state-renderer-TVLEG32M.js");
2811
2833
  const { collapseStateGroups } = await import("./state-collapse-HCGD6IVJ.js");
2812
2834
  const effectivePalette = await resolveExportPalette(theme, palette);
2813
2835
  const stateParsed = parseState2(content, effectivePalette);
@@ -2844,8 +2866,8 @@ async function exportState(ctx) {
2844
2866
  }
2845
2867
  async function exportTechRadar(ctx) {
2846
2868
  const { content, theme, palette, viewState, exportMode } = ctx;
2847
- const { parseTechRadar: parseTechRadar2 } = await import("./parser-NOANDFJ4.js");
2848
- const { renderTechRadarForExport } = await import("./renderer-QQHQY3GT.js");
2869
+ const { parseTechRadar: parseTechRadar2 } = await import("./parser-4AR25MAS.js");
2870
+ const { renderTechRadarForExport } = await import("./renderer-7SEXPBGM.js");
2849
2871
  const effectivePalette = await resolveExportPalette(theme, palette);
2850
2872
  const radarParsed = parseTechRadar2(content);
2851
2873
  if (radarParsed.error || radarParsed.quadrants.length === 0) return "";
@@ -2865,9 +2887,9 @@ async function exportTechRadar(ctx) {
2865
2887
  }
2866
2888
  async function exportJourneyMap(ctx) {
2867
2889
  const { content, theme, palette, exportMode } = ctx;
2868
- const { parseJourneyMap: parseJourneyMap2 } = await import("./parser-UTXFJG4X.js");
2869
- const { renderJourneyMap } = await import("./renderer-3AD4NDF5.js");
2870
- const { layoutJourneyMap } = await import("./layout-DXVAYF6W.js");
2890
+ const { parseJourneyMap: parseJourneyMap2 } = await import("./parser-VK4PNDX4.js");
2891
+ const { renderJourneyMap } = await import("./renderer-OPA4JJKX.js");
2892
+ const { layoutJourneyMap } = await import("./layout-VRJ5YFUE.js");
2871
2893
  const effectivePalette = await resolveExportPalette(theme, palette);
2872
2894
  const jmParsed = parseJourneyMap2(content, effectivePalette);
2873
2895
  if (jmParsed.error || jmParsed.phases.length === 0 && jmParsed.steps.length === 0)
@@ -2887,8 +2909,8 @@ async function exportJourneyMap(ctx) {
2887
2909
  }
2888
2910
  async function exportCycle(ctx) {
2889
2911
  const { content, theme, palette, viewState, exportMode } = ctx;
2890
- const { parseCycle: parseCycle2 } = await import("./parser-7OEE7QT6.js");
2891
- const { renderCycleForExport } = await import("./renderer-JR2XNZAH.js");
2912
+ const { parseCycle: parseCycle2 } = await import("./parser-ZR7JAKSW.js");
2913
+ const { renderCycleForExport } = await import("./renderer-43IVPARP.js");
2892
2914
  const effectivePalette = await resolveExportPalette(theme, palette);
2893
2915
  const cycleParsed = parseCycle2(content);
2894
2916
  if (cycleParsed.error || cycleParsed.nodes.length === 0) return "";
@@ -2906,10 +2928,10 @@ async function exportCycle(ctx) {
2906
2928
  }
2907
2929
  async function exportMap(ctx) {
2908
2930
  const { content, theme, palette, options } = ctx;
2909
- const { parseMap: parseMap2 } = await import("./parser-GEKPWSSK.js");
2910
- const { resolveMap } = await import("./resolver-XSXE2TRX.js");
2911
- const { renderMapForExport } = await import("./renderer-FCXRDYSJ.js");
2912
- const { mapExportDimensions } = await import("./dimensions-7MF7VSGS.js");
2931
+ const { parseMap: parseMap2 } = await import("./parser-UEDPLM46.js");
2932
+ const { resolveMap } = await import("./resolver-6DJLZF6Y.js");
2933
+ const { renderMapForExport } = await import("./renderer-LHTDI5RV.js");
2934
+ const { mapExportDimensions } = await import("./dimensions-QMGWJQTR.js");
2913
2935
  const effectivePalette = await resolveExportPalette(theme, palette);
2914
2936
  const mapParsed = parseMap2(content, effectivePalette);
2915
2937
  const { data: mapData, reason } = await resolveMapDataSource(
@@ -2942,8 +2964,8 @@ async function exportMap(ctx) {
2942
2964
  }
2943
2965
  async function exportPyramid(ctx) {
2944
2966
  const { content, theme, palette } = ctx;
2945
- const { parsePyramid: parsePyramid2 } = await import("./parser-OVQTTTUJ.js");
2946
- const { renderPyramidForExport } = await import("./renderer-BLHN3RCY.js");
2967
+ const { parsePyramid: parsePyramid2 } = await import("./parser-OFTMA36M.js");
2968
+ const { renderPyramidForExport } = await import("./renderer-MRMFYYZT.js");
2947
2969
  const effectivePalette = await resolveExportPalette(theme, palette);
2948
2970
  const pyramidParsed = parsePyramid2(content);
2949
2971
  if (pyramidParsed.error || pyramidParsed.layers.length === 0) return "";
@@ -2959,8 +2981,8 @@ async function exportPyramid(ctx) {
2959
2981
  }
2960
2982
  async function exportRing(ctx) {
2961
2983
  const { content, theme, palette } = ctx;
2962
- const { parseRing: parseRing2 } = await import("./parser-GZ3LVF72.js");
2963
- const { renderRingForExport } = await import("./renderer-CHQZES6G.js");
2984
+ const { parseRing: parseRing2 } = await import("./parser-3MGA2MTM.js");
2985
+ const { renderRingForExport } = await import("./renderer-3N64GVNM.js");
2964
2986
  const effectivePalette = await resolveExportPalette(theme, palette);
2965
2987
  const ringParsed = parseRing2(content);
2966
2988
  if (ringParsed.error || ringParsed.layers.length === 0) return "";
@@ -2973,14 +2995,14 @@ async function exportRing(ctx) {
2973
2995
  }
2974
2996
  async function exportTreemap(ctx) {
2975
2997
  const { content, theme, palette } = ctx;
2976
- const { parseTreemap: parseTreemap2 } = await import("./parser-AN3MGHRL.js");
2998
+ const { parseTreemap: parseTreemap2 } = await import("./parser-KMFMNZYI.js");
2977
2999
  const effectivePalette = await resolveExportPalette(theme, palette);
2978
3000
  const treemapParsed = parseTreemap2(content, effectivePalette);
2979
3001
  if (treemapParsed.error || treemapParsed.roots.length === 0) return "";
2980
3002
  const container = createExportContainer(ctx.width, ctx.height);
2981
3003
  const dims = { width: ctx.width, height: ctx.height };
2982
3004
  if (treemapParsed.options.radial) {
2983
- const { renderTreemapRadialForExport } = await import("./renderer-radial-NA5DVBG4.js");
3005
+ const { renderTreemapRadialForExport } = await import("./renderer-radial-TNNEL3YN.js");
2984
3006
  renderTreemapRadialForExport(
2985
3007
  container,
2986
3008
  treemapParsed,
@@ -2989,7 +3011,7 @@ async function exportTreemap(ctx) {
2989
3011
  dims
2990
3012
  );
2991
3013
  } else {
2992
- const { renderTreemapForExport } = await import("./renderer-XFEZ5UBE.js");
3014
+ const { renderTreemapForExport } = await import("./renderer-QMNC7TGN.js");
2993
3015
  renderTreemapForExport(
2994
3016
  container,
2995
3017
  treemapParsed,
@@ -3002,15 +3024,15 @@ async function exportTreemap(ctx) {
3002
3024
  }
3003
3025
  async function exportLiveLink(ctx) {
3004
3026
  const { content, theme, palette } = ctx;
3005
- const { parseLiveLink: parseLiveLink2 } = await import("./parser-XYY5NHP4.js");
3006
- const { renderLiveLinkCard } = await import("./renderer-TJJGFQGT.js");
3027
+ const { parseLiveLink: parseLiveLink2 } = await import("./parser-R6OETHWM.js");
3028
+ const { renderLiveLinkCard } = await import("./renderer-KY6O5JTX.js");
3007
3029
  const effectivePalette = await resolveExportPalette(theme, palette);
3008
3030
  return renderLiveLinkCard(parseLiveLink2(content), effectivePalette, theme);
3009
3031
  }
3010
3032
  async function exportBlock(ctx) {
3011
3033
  const { content, theme, palette } = ctx;
3012
- const { parseBlock: parseBlock2 } = await import("./parser-5655XSOR.js");
3013
- const { renderBlockForExport } = await import("./renderer-DCJ4AQ3N.js");
3034
+ const { parseBlock: parseBlock2 } = await import("./parser-D6YRVV75.js");
3035
+ const { renderBlockForExport } = await import("./renderer-U5PD72G7.js");
3014
3036
  const effectivePalette = await resolveExportPalette(theme, palette);
3015
3037
  const blockParsed = parseBlock2(content, effectivePalette);
3016
3038
  if (blockParsed.error || blockParsed.top.rows.length === 0) return "";
@@ -3023,8 +3045,8 @@ async function exportBlock(ctx) {
3023
3045
  }
3024
3046
  async function exportGoal(ctx) {
3025
3047
  const { content, theme, palette } = ctx;
3026
- const { parseGoal: parseGoal2 } = await import("./parser-SA3RAJFS.js");
3027
- const { renderGoalForExport } = await import("./renderer-7HOSI6JJ.js");
3048
+ const { parseGoal: parseGoal2 } = await import("./parser-WSONWDFN.js");
3049
+ const { renderGoalForExport } = await import("./renderer-I2LYSQBV.js");
3028
3050
  const effectivePalette = await resolveExportPalette(theme, palette);
3029
3051
  const parsed = parseGoal2(content, effectivePalette);
3030
3052
  if (parsed.error) return "";
@@ -3037,8 +3059,8 @@ async function exportGoal(ctx) {
3037
3059
  }
3038
3060
  async function exportCountdown(ctx) {
3039
3061
  const { content, theme, palette } = ctx;
3040
- const { parseCountdown: parseCountdown2 } = await import("./parser-LGS65QPN.js");
3041
- const { renderCountdownForExport } = await import("./renderer-7MCC6GKH.js");
3062
+ const { parseCountdown: parseCountdown2 } = await import("./parser-Q3UAOLEZ.js");
3063
+ const { renderCountdownForExport } = await import("./renderer-YQPZ7O2C.js");
3042
3064
  const effectivePalette = await resolveExportPalette(theme, palette);
3043
3065
  const parsed = parseCountdown2(content, effectivePalette);
3044
3066
  if (parsed.error) return "";
@@ -3051,8 +3073,8 @@ async function exportCountdown(ctx) {
3051
3073
  }
3052
3074
  async function exportClock(ctx) {
3053
3075
  const { content, theme, palette } = ctx;
3054
- const { parseClock: parseClock2 } = await import("./parser-256EIWB2.js");
3055
- const { renderClockForExport } = await import("./renderer-CEIX5JPA.js");
3076
+ const { parseClock: parseClock2 } = await import("./parser-FDXUQ5TI.js");
3077
+ const { renderClockForExport } = await import("./renderer-R7OYCJEA.js");
3056
3078
  const effectivePalette = await resolveExportPalette(theme, palette);
3057
3079
  const parsed = parseClock2(content, effectivePalette);
3058
3080
  if (parsed.error) return "";
@@ -3065,8 +3087,8 @@ async function exportClock(ctx) {
3065
3087
  }
3066
3088
  async function exportBracket(ctx) {
3067
3089
  const { content, theme, palette } = ctx;
3068
- const { parseBracket: parseBracket2 } = await import("./parser-DHSFIUPU.js");
3069
- const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-VYWCMRWA.js");
3090
+ const { parseBracket: parseBracket2 } = await import("./parser-VG747VR6.js");
3091
+ const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-TWKEZ3DD.js");
3070
3092
  const effectivePalette = await resolveExportPalette(theme, palette);
3071
3093
  const parsed = parseBracket2(content, effectivePalette);
3072
3094
  if (parsed.error) return "";
@@ -3080,8 +3102,8 @@ async function exportBracket(ctx) {
3080
3102
  }
3081
3103
  async function exportRaci(ctx) {
3082
3104
  const { content, theme, palette } = ctx;
3083
- const { parseRaci: parseRaci2 } = await import("./parser-LANGKWRG.js");
3084
- const { renderRaciForExport } = await import("./renderer-6OQM32X3.js");
3105
+ const { parseRaci: parseRaci2 } = await import("./parser-6LMB7BQQ.js");
3106
+ const { renderRaciForExport } = await import("./renderer-IPDCAACY.js");
3085
3107
  const effectivePalette = await resolveExportPalette(theme, palette);
3086
3108
  const raciParsed = parseRaci2(content, effectivePalette);
3087
3109
  if (raciParsed.error) return "";
@@ -3213,8 +3235,8 @@ async function exportVisualization(ctx) {
3213
3235
  const effectivePalette = await resolveExportPalette(theme, palette);
3214
3236
  const isDark = ctx.isDark;
3215
3237
  const container = createExportContainer(ctx.width, ctx.height);
3216
- const { parseSequenceDgmo: parseSequenceDgmo2 } = await import("./parser-TL3JA4RI.js");
3217
- const { renderSequenceDiagram } = await import("./renderer-43ESBXVY.js");
3238
+ const { parseSequenceDgmo: parseSequenceDgmo2 } = await import("./parser-EYF4ZSZO.js");
3239
+ const { renderSequenceDiagram } = await import("./renderer-SD4ZHHAR.js");
3218
3240
  const seqParsed = parseSequenceDgmo2(content, effectivePalette);
3219
3241
  if (seqParsed.error || seqParsed.participants.length === 0) return "";
3220
3242
  const collapsedSections = viewState?.cs ? new Set(viewState.cs) : void 0;
@@ -4070,6 +4092,22 @@ function summarizeSketch(content) {
4070
4092
  const names = parsed.nodes.map((n) => n.label);
4071
4093
  return `Sketch of ${namedCount(names, "shape", "shapes")}, with ${plural(parsed.edges.length, "connection", "connections")}.`;
4072
4094
  }
4095
+ function summarizeWhiteboard(content) {
4096
+ const parsed = parseWhiteboard(content);
4097
+ if (parsed.error) return null;
4098
+ const names = [];
4099
+ let strokes = 0;
4100
+ let images = 0;
4101
+ for (const el of parsed.elements) {
4102
+ if (el.kind === "shape" && el.label)
4103
+ names.push(el.label.replace(/\n+/g, " "));
4104
+ else if ((el.kind === "text" || el.kind === "note") && el.text)
4105
+ names.push(el.text.replace(/\n+/g, " "));
4106
+ else if (el.kind === "ink") strokes++;
4107
+ else if (el.kind === "image") images++;
4108
+ }
4109
+ return `Whiteboard with ${namedCount(names, "labelled item", "labelled items")}, ${plural(strokes, "ink stroke", "ink strokes")} and ${plural(images, "image", "images")}.`;
4110
+ }
4073
4111
  function summarizeSwimlane(content) {
4074
4112
  const parsed = parseSwimlane(content);
4075
4113
  if (parsed.error) return null;
@@ -4503,6 +4541,7 @@ var SUMMARIZERS = {
4503
4541
  pert: summarizePert,
4504
4542
  "boxes-and-lines": summarizeBoxesAndLines,
4505
4543
  sketch: summarizeSketch,
4544
+ whiteboard: summarizeWhiteboard,
4506
4545
  swimlane: summarizeSwimlane,
4507
4546
  family: summarizeFamily,
4508
4547
  "version-control": summarizeVersionControl,
@@ -4602,7 +4641,7 @@ async function acquireDom() {
4602
4641
  const state = domState();
4603
4642
  if (typeof document !== "undefined" && !state.installedByUs) return;
4604
4643
  state.refCount++;
4605
- if (!state.installPromise) state.installPromise = installDom(state);
4644
+ state.installPromise ??= installDom(state);
4606
4645
  await state.installPromise;
4607
4646
  }
4608
4647
  function releaseDom() {
@@ -4624,13 +4663,21 @@ async function loadJsdom() {
4624
4663
  spec
4625
4664
  );
4626
4665
  }
4627
- async function render(content, options) {
4628
- const theme = options?.theme ?? "light";
4629
- const paletteName = options?.palette ?? "slate";
4666
+ async function render(source, options) {
4667
+ const directive = extractPaletteDirective(source);
4668
+ const content = directive.content;
4669
+ const chosen = choosePalette(directive, {
4670
+ ...options?.palette !== void 0 && { palette: options.palette },
4671
+ ...options?.paletteOverride !== void 0 && {
4672
+ paletteOverride: options.paletteOverride
4673
+ },
4674
+ ...options?.theme !== void 0 && { theme: options.theme }
4675
+ });
4676
+ const theme = chosen.theme;
4630
4677
  const bakeHover = options?.bakeHover ?? true;
4631
- const paletteColors = getPalette(paletteName)[theme === "dark" ? "dark" : "light"];
4678
+ const paletteColors = (chosen.palette ?? getPalette(chosen.paletteId))[theme === "dark" ? "dark" : "light"];
4632
4679
  const parsed = parseDgmo(content);
4633
- let diagnostics = parsed.diagnostics;
4680
+ let diagnostics = [...directive.diagnostics, ...parsed.diagnostics];
4634
4681
  const acOverride = resolveArcChordOverride(
4635
4682
  content,
4636
4683
  parsed.chartType,
@@ -4723,6 +4770,12 @@ async function render(content, options) {
4723
4770
  ...options?.mapData !== void 0 && { mapData: options.mapData },
4724
4771
  ...options?.width !== void 0 && { width: options.width },
4725
4772
  ...options?.height !== void 0 && { height: options.height },
4773
+ ...options?.resolveImage !== void 0 && {
4774
+ resolveImage: options.resolveImage
4775
+ },
4776
+ ...options?.showNotes !== void 0 && {
4777
+ showNotes: options.showNotes
4778
+ },
4726
4779
  onMapResolverDiagnostics: (d) => {
4727
4780
  mapDiag.current = d;
4728
4781
  }
@@ -4740,7 +4793,7 @@ async function render(content, options) {
4740
4793
  releaseDom();
4741
4794
  }
4742
4795
  if (chartType === "map" && mapDiag.current) {
4743
- diagnostics = [...mapDiag.current];
4796
+ diagnostics = [...directive.diagnostics, ...mapDiag.current];
4744
4797
  }
4745
4798
  return {
4746
4799
  svg,