@diagrammo/dgmo 0.50.2 → 0.52.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 (257) hide show
  1. package/.cursorrules +15 -19
  2. package/.github/copilot-instructions.md +15 -19
  3. package/.windsurfrules +15 -19
  4. package/SKILL.md +15 -19
  5. package/dist/advanced.d.ts +155 -65
  6. package/dist/advanced.js +231 -189
  7. package/dist/{analyzer-UYKBXAKR.js → analyzer-BJ54GIFB.js} +3 -3
  8. package/dist/auto.css +31 -8
  9. package/dist/auto.d.ts +6 -0
  10. package/dist/auto.js +171 -133
  11. package/dist/auto.mjs +3062 -1478
  12. package/dist/block.css +28 -8
  13. package/dist/block.js +138 -72
  14. package/dist/charts-d3-MXEP6BNP.js +26 -0
  15. package/dist/{chunk-3YPY3OXD.js → chunk-3HF5YEFJ.js} +17 -7
  16. package/dist/{chunk-4MJ7M6YL.js → chunk-3HGU63UY.js} +14 -13
  17. package/dist/chunk-3LK5DNED.js +35 -0
  18. package/dist/{chunk-3Y2DRD7S.js → chunk-3QD7VP3U.js} +9 -4
  19. package/dist/{chunk-6BFZKBGD.js → chunk-3YRPZ7ZZ.js} +2 -2
  20. package/dist/{chunk-WW32K72E.js → chunk-44VCIPHF.js} +25 -21
  21. package/dist/{chunk-TN35C5KM.js → chunk-4AQRFDXL.js} +2 -2
  22. package/dist/{chunk-HHXOONLX.js → chunk-4B5YISOR.js} +38 -1
  23. package/dist/{chunk-PGEGPSCZ.js → chunk-4IHAV6O7.js} +2 -2
  24. package/dist/{chunk-7L3R6I3U.js → chunk-4UNQ6X24.js} +10 -7
  25. package/dist/{chunk-O7NUCTFU.js → chunk-4YFKQ5WT.js} +7 -4
  26. package/dist/{chunk-5WFIYXQ6.js → chunk-5223KXFD.js} +122 -242
  27. package/dist/{chunk-PFHVU7UA.js → chunk-5BHJZH62.js} +3 -3
  28. package/dist/{chunk-QYTPPDAO.js → chunk-5HILBT7X.js} +2 -2
  29. package/dist/{chunk-GKC3HILQ.js → chunk-5NGAO4QK.js} +27 -4
  30. package/dist/{chunk-IAEC4KLA.js → chunk-5QKQSSPO.js} +2 -2
  31. package/dist/{chunk-DSWVNQVS.js → chunk-5RP7JRVP.js} +4 -59
  32. package/dist/{chunk-MCZ5LBZD.js → chunk-5SEVICBT.js} +8 -8
  33. package/dist/{chunk-GBE54KY6.js → chunk-6EJITS44.js} +8 -5
  34. package/dist/{chunk-BBGDM4NQ.js → chunk-6HQH6JZE.js} +35 -16
  35. package/dist/{chunk-66NVRO4K.js → chunk-6LBQ7ELG.js} +17 -18
  36. package/dist/{chunk-4XK3FLFB.js → chunk-6NYWYNBI.js} +3 -3
  37. package/dist/{chunk-VBYSIOOY.js → chunk-75G3Q4DK.js} +3 -3
  38. package/dist/{chunk-3NODSS6A.js → chunk-77FGAVZC.js} +13 -10
  39. package/dist/{chunk-6IAA2QQ2.js → chunk-7BIZCTAX.js} +2 -2
  40. package/dist/{chunk-TWQUYVP3.js → chunk-7DF4J4RL.js} +4 -4
  41. package/dist/{chunk-66RUL3XF.js → chunk-7KINELPI.js} +111 -49
  42. package/dist/{chunk-L3UHP6TD.js → chunk-7L4UJOY6.js} +1 -2
  43. package/dist/{chunk-QJP6PG7F.js → chunk-7QE3XMRK.js} +19 -18
  44. package/dist/{chunk-P7CE7LXL.js → chunk-AAXZDUOV.js} +18 -17
  45. package/dist/{chunk-SXRTRMEE.js → chunk-AL672HNE.js} +3 -3
  46. package/dist/chunk-APKUAJ2L.js +220 -0
  47. package/dist/{chunk-SCHXJTZL.js → chunk-ARGMQ3H4.js} +2 -2
  48. package/dist/{chunk-HEVYAHLW.js → chunk-AUIM2NVH.js} +5 -5
  49. package/dist/{chunk-3LH5CLP4.js → chunk-BKVOYV6I.js} +143 -6
  50. package/dist/{chunk-RZ6YKEUJ.js → chunk-BPIZNB5O.js} +17 -15
  51. package/dist/{chunk-QROYX7TT.js → chunk-BPY242XU.js} +6 -4
  52. package/dist/{chunk-OTAL43EH.js → chunk-BRENJ2BQ.js} +39 -3
  53. package/dist/{chunk-FA6K3FWM.js → chunk-CCNDLW7Z.js} +44 -22
  54. package/dist/{chunk-2KGXHFYK.js → chunk-CIRFIL4M.js} +49 -29
  55. package/dist/chunk-DAOFNU6J.js +283 -0
  56. package/dist/{chunk-QJJZSROI.js → chunk-DYWQFQJP.js} +48 -38
  57. package/dist/{chunk-XEGTMVYY.js → chunk-EMLPOL77.js} +15 -8
  58. package/dist/{chunk-NWED7CYO.js → chunk-FHGVORFO.js} +29 -25
  59. package/dist/{chunk-U2HGPLZS.js → chunk-FQ7HTV52.js} +17 -2
  60. package/dist/{chunk-H73FP42Q.js → chunk-FQMUHRVC.js} +70 -31
  61. package/dist/{chunk-BTUTZMPT.js → chunk-FT3ZYWET.js} +108 -42
  62. package/dist/{chunk-T5SHNNGP.js → chunk-FUPF2UYQ.js} +92 -34
  63. package/dist/{chunk-3XPUDB7B.js → chunk-FY5MSZAP.js} +279 -39
  64. package/dist/{chunk-M5RXSRO2.js → chunk-GCYTI3DE.js} +42 -33
  65. package/dist/{chunk-DN66GPY5.js → chunk-GJFAMOGK.js} +24 -3
  66. package/dist/{chunk-F2L5GCQ4.js → chunk-GU46PPT3.js} +3 -3
  67. package/dist/{chunk-6IUAK7RZ.js → chunk-H6PI3KJT.js} +2 -2
  68. package/dist/{chunk-ONA5KPV3.js → chunk-H7KENAZO.js} +18 -14
  69. package/dist/{chunk-SQLNBA64.js → chunk-HBPDFCQY.js} +3 -3
  70. package/dist/{chunk-SCQ5VPUF.js → chunk-HFMYN6N2.js} +2 -2
  71. package/dist/{chunk-FJUNPCYI.js → chunk-HHKO6SKY.js} +2 -2
  72. package/dist/{chunk-DZXYF2F5.js → chunk-HQQNCY7W.js} +21 -8
  73. package/dist/{chunk-7TV5Y53Y.js → chunk-HWX6ZHF3.js} +3 -3
  74. package/dist/{chunk-3P2DKJCG.js → chunk-ICPJPQ5C.js} +2 -2
  75. package/dist/{chunk-VUJGMJE6.js → chunk-IM6PDDCE.js} +4 -4
  76. package/dist/{chunk-JJUOHGX2.js → chunk-INE5YJBZ.js} +13 -8
  77. package/dist/{chunk-HTMN2Z6U.js → chunk-J6QROYDA.js} +58 -11
  78. package/dist/{chunk-NX4EQS3U.js → chunk-J76PIKAT.js} +2 -2
  79. package/dist/{chunk-SVTI362O.js → chunk-J7KJR3R6.js} +129 -109
  80. package/dist/{chunk-JEUJOX5X.js → chunk-J7TLCB2Q.js} +2 -2
  81. package/dist/{chunk-O7WP4ZD4.js → chunk-JED6ZDEE.js} +2 -2
  82. package/dist/{chunk-J6K7RP6P.js → chunk-JRCOYRRH.js} +19 -7
  83. package/dist/{chunk-7QKLIMRZ.js → chunk-K2I2XOZD.js} +46 -51
  84. package/dist/{chunk-EAMEADTV.js → chunk-K4EOKJA6.js} +96 -24
  85. package/dist/{chunk-5OWVC2A6.js → chunk-KGVZ5VGH.js} +13 -10
  86. package/dist/{chunk-DFTFPYUD.js → chunk-LBMS4AW6.js} +22 -21
  87. package/dist/{chunk-VVW3F3MD.js → chunk-LGT3PZCJ.js} +27 -19
  88. package/dist/{chunk-OMNGQPEZ.js → chunk-LTXOLDUZ.js} +9 -6
  89. package/dist/{chunk-Q4V4XQWV.js → chunk-MUE65OTD.js} +5 -4
  90. package/dist/{chunk-5GJYGP5Z.js → chunk-MUVJ57EP.js} +14 -18
  91. package/dist/{chunk-CLD2OKV7.js → chunk-MX2EY5Y7.js} +2 -2
  92. package/dist/{chunk-OTQKUHRS.js → chunk-NNS4E7CW.js} +6 -4
  93. package/dist/{chunk-NNAAJVBU.js → chunk-NR5HCAUD.js} +1 -1
  94. package/dist/{chunk-KFZYNWWO.js → chunk-ONU3U4GL.js} +4 -4
  95. package/dist/{chunk-YNRDWYZP.js → chunk-OQKP2X3D.js} +170 -51
  96. package/dist/{chunk-AHGF2YYA.js → chunk-OTOHI4JO.js} +2 -2
  97. package/dist/{chunk-EOFPYPAU.js → chunk-P3NRSSUU.js} +51 -11
  98. package/dist/{chunk-QXKWYZNR.js → chunk-PRI2OD4E.js} +10 -3
  99. package/dist/{chunk-U6EQI3U6.js → chunk-QBZYACOG.js} +3 -3
  100. package/dist/{chunk-C2CVAM3U.js → chunk-QGATPIPX.js} +170 -91
  101. package/dist/{chunk-PZFVK3IH.js → chunk-QHXCAEMX.js} +8 -5
  102. package/dist/{chunk-BH3UYK36.js → chunk-QJMKPUYK.js} +15 -5
  103. package/dist/{chunk-HQCHYB5F.js → chunk-QOOUC2J5.js} +2 -2
  104. package/dist/{chunk-Z6XJQ6KO.js → chunk-QVENJMNX.js} +2 -2
  105. package/dist/{chunk-IUMPEA64.js → chunk-QZX5S6R3.js} +4 -4
  106. package/dist/{chunk-I7F2A35O.js → chunk-R3YSD62R.js} +25 -47
  107. package/dist/{chunk-NU3XLTGP.js → chunk-REJAIQ5S.js} +4 -4
  108. package/dist/{chunk-2C56LEML.js → chunk-ROOE4R4Y.js} +8 -5
  109. package/dist/{chunk-XHVV4NVW.js → chunk-RT7ACF77.js} +12 -2
  110. package/dist/{chunk-I2WKW7C7.js → chunk-SMRFPVLQ.js} +3 -3
  111. package/dist/{chunk-VDOOQZUD.js → chunk-SWSIKFEB.js} +4 -4
  112. package/dist/{chunk-HLJVEAOF.js → chunk-T4A4TSTJ.js} +19 -45
  113. package/dist/{chunk-KHEYDLMT.js → chunk-TJVLKNGR.js} +20 -10
  114. package/dist/{chunk-GL5UZ6NY.js → chunk-TPFKKXCB.js} +3 -3
  115. package/dist/{chunk-X6EZPSW6.js → chunk-TTIM6YTT.js} +31 -21
  116. package/dist/{chunk-BCYVE3N5.js → chunk-TYS6CSS5.js} +2 -2
  117. package/dist/{chunk-T4VOVZT5.js → chunk-UBLHQTLV.js} +15 -14
  118. package/dist/{chunk-3LKM6FMW.js → chunk-UNURMIQO.js} +2 -2
  119. package/dist/{chunk-TSA237IM.js → chunk-VILVLS7P.js} +5 -3
  120. package/dist/{chunk-HGN652MU.js → chunk-VL2O2F3W.js} +2 -2
  121. package/dist/{chunk-3XGZF2QJ.js → chunk-VQOCMUWI.js} +39 -28
  122. package/dist/{chunk-P6T66CCZ.js → chunk-WBM7ZNDI.js} +3 -2
  123. package/dist/{chunk-CMCR5WBW.js → chunk-WBRZJOEC.js} +3 -3
  124. package/dist/{chunk-5LWQH6QV.js → chunk-WCT3NYCV.js} +1 -1
  125. package/dist/{chunk-C4GQDB5L.js → chunk-WRNFDFPU.js} +2 -2
  126. package/dist/{chunk-6HJBFVLO.js → chunk-XD6ZYURY.js} +9 -4
  127. package/dist/{chunk-C63UWAKM.js → chunk-Y2ZE3MSG.js} +2 -2
  128. package/dist/{chunk-7UEMZREK.js → chunk-YAA6IID3.js} +2 -2
  129. package/dist/{chunk-F7BFXWNQ.js → chunk-YIBAWQGJ.js} +7 -4
  130. package/dist/{chunk-PH5X4GIP.js → chunk-YTMTPUH4.js} +8 -5
  131. package/dist/{chunk-3UIKSPFB.js → chunk-Z5QVYKR7.js} +11 -3
  132. package/dist/{chunk-KQ57MHRO.js → chunk-ZEF5M5MB.js} +155 -87
  133. package/dist/{chunk-LE4MYMLI.js → chunk-ZJV7GYR4.js} +6 -6
  134. package/dist/{chunk-XJLKLU4D.js → chunk-ZNWAYU6N.js} +11 -7
  135. package/dist/cli.cjs +165 -148
  136. package/dist/clock.js +105 -25
  137. package/dist/countdown.js +208 -82
  138. package/dist/dgmo-router-X7ZGAPIE.js +86 -0
  139. package/dist/dimensions-45H6JQEY.js +22 -0
  140. package/dist/editor.js +17 -2
  141. package/dist/element.d.ts +6 -0
  142. package/dist/element.js +172 -134
  143. package/dist/element.mjs +3026 -1463
  144. package/dist/{flowchart-parser-OE4WHLTF.js → flowchart-parser-UKELHBSB.js} +4 -4
  145. package/dist/{flowchart-renderer-GPCSMTOR.js → flowchart-renderer-MNCDS7MV.js} +10 -10
  146. package/dist/highlight.d.ts +21 -1
  147. package/dist/highlight.js +106 -3
  148. package/dist/index.d.ts +2 -2
  149. package/dist/index.js +59 -57
  150. package/dist/{layout-FWODLIMP.js → layout-2L3WMRYU.js} +6 -6
  151. package/dist/{layout-7SKMFYHL.js → layout-46N4JJYK.js} +5 -5
  152. package/dist/{layout-7H4H46CS.js → layout-7QXCNOVS.js} +3 -3
  153. package/dist/layout-A4XWNVID.js +14 -0
  154. package/dist/{layout-46366KBT.js → layout-A5UHRWVH.js} +3 -3
  155. package/dist/{layout-NXG63LWH.js → layout-AM2JWW3X.js} +4 -4
  156. package/dist/{layout-DC4TVXER.js → layout-EE6GE46Y.js} +5 -5
  157. package/dist/{layout-FGQWRYYW.js → layout-F4WO357A.js} +3 -3
  158. package/dist/layout-G23F7LDH.js +9 -0
  159. package/dist/{layout-QNUQLEHU.js → layout-GM4UGR7B.js} +5 -4
  160. package/dist/{layout-7MZ5NF2N.js → layout-GQQJXNYH.js} +5 -5
  161. package/dist/{layout-5BG6DFCU.js → layout-IIE2S5FK.js} +6 -6
  162. package/dist/{layout-34CLNICW.js → layout-OAC4PEAC.js} +5 -5
  163. package/dist/layout-VMCRX66I.js +14 -0
  164. package/dist/{layout-PUQCB6AN.js → layout-ZDOSXL5G.js} +7 -7
  165. package/dist/{layout-search-QS44PI5R.js → layout-search-55FU6HD3.js} +6 -157
  166. package/dist/map-data/gazetteer.json +1 -1
  167. package/dist/{palettes-PRJ2RI6D.js → palettes-UDLZ2SA4.js} +2 -2
  168. package/dist/{parser-D5VILGN2.js → parser-2ECN6JA2.js} +4 -4
  169. package/dist/{parser-LWKKBNSA.js → parser-4WTIHM5J.js} +3 -3
  170. package/dist/{parser-DFFEDKHH.js → parser-5H2BTSJQ.js} +3 -3
  171. package/dist/{parser-4NO6VZ6S.js → parser-75KVXUNS.js} +4 -4
  172. package/dist/{parser-VKOJM7KS.js → parser-774AC53T.js} +4 -4
  173. package/dist/{parser-IBWNAPY4.js → parser-BE4YCSRU.js} +3 -3
  174. package/dist/{parser-4AI5ZN5F.js → parser-CNGUQUQI.js} +3 -3
  175. package/dist/{parser-36HVKU5U.js → parser-DEUUSQIN.js} +7 -6
  176. package/dist/{parser-H3XEPFPV.js → parser-DQAFLUJB.js} +4 -4
  177. package/dist/{parser-5OXGPNBF.js → parser-EYCKNKQA.js} +5 -5
  178. package/dist/{parser-TGQZJ5OT.js → parser-FXISIU6A.js} +4 -4
  179. package/dist/{parser-JJR52VAT.js → parser-GTB4XC7P.js} +5 -5
  180. package/dist/{parser-AGVYTQXV.js → parser-GVEPAUSD.js} +4 -4
  181. package/dist/{parser-WAV5JRPT.js → parser-HSQGTY4G.js} +4 -4
  182. package/dist/{parser-YS7TOS2K.js → parser-HVKRINUS.js} +3 -3
  183. package/dist/{parser-W4PQUGX3.js → parser-J5MIEYO4.js} +5 -5
  184. package/dist/parser-KMZIXLDZ.js +13 -0
  185. package/dist/{parser-HYRTF3DO.js → parser-LJHXWSXU.js} +3 -3
  186. package/dist/{parser-KCR2WS3V.js → parser-PT3W72G5.js} +4 -4
  187. package/dist/{parser-CVMEDULU.js → parser-SBJQDPHL.js} +4 -4
  188. package/dist/{parser-RZPVAQVX.js → parser-SUWWWCMX.js} +4 -3
  189. package/dist/{parser-TXND652E.js → parser-SXDRNZOA.js} +4 -4
  190. package/dist/parser-UMILOW3M.js +14 -0
  191. package/dist/{parser-RV4M6AS2.js → parser-UP3AZ367.js} +4 -4
  192. package/dist/{parser-IJBMRXMC.js → parser-WHPRV3X5.js} +5 -5
  193. package/dist/{parser-MPCE5JBG.js → parser-WX3UODSJ.js} +4 -4
  194. package/dist/{parser-K3XXLMUW.js → parser-XCIEN3KN.js} +4 -4
  195. package/dist/{parser-AXKBDGNO.js → parser-XIRTUMVN.js} +5 -5
  196. package/dist/{parser-B5FVS7O6.js → parser-YKCGIG45.js} +3 -3
  197. package/dist/{parser-PSA4UBSP.js → parser-YKYMQG3B.js} +4 -4
  198. package/dist/{parser-MTOMTWTD.js → parser-ZGM2OJ6Y.js} +6 -5
  199. package/dist/{parser-CSFUN3CT.js → parser-ZL5QUFVH.js} +5 -4
  200. package/dist/pert.d.ts +2 -2
  201. package/dist/{renderer-PPIHO5FI.js → renderer-3F7OS2AX.js} +14 -13
  202. package/dist/{renderer-SBS3YWU5.js → renderer-4QB4K7Q3.js} +9 -9
  203. package/dist/{renderer-GHPZMFU2.js → renderer-5DAKMIU2.js} +3 -3
  204. package/dist/{renderer-R2WNIC2C.js → renderer-5H4SY7YY.js} +9 -9
  205. package/dist/{renderer-DAXMXIKD.js → renderer-5PIQPFOX.js} +5 -4
  206. package/dist/{renderer-45PSOL3E.js → renderer-6MU37QF5.js} +6 -6
  207. package/dist/renderer-AQVMWJ4M.js +27 -0
  208. package/dist/{renderer-A5VE5BCI.js → renderer-BDDW6K7N.js} +9 -9
  209. package/dist/{renderer-AUW2BE6G.js → renderer-BNB3VIDY.js} +10 -10
  210. package/dist/{renderer-4ITCHBT7.js → renderer-CQY6ATOS.js} +6 -6
  211. package/dist/{renderer-6OKF44KS.js → renderer-CVW75CXL.js} +15 -15
  212. package/dist/{renderer-7RH2SI3B.js → renderer-DT4XRFEP.js} +5 -4
  213. package/dist/{renderer-B5TBNZJE.js → renderer-ERHBSTQT.js} +9 -9
  214. package/dist/{renderer-HVCU2C3Z.js → renderer-HSHHVYWF.js} +5 -4
  215. package/dist/renderer-IDPVUFNB.js +28 -0
  216. package/dist/renderer-ILX6BGKR.js +21 -0
  217. package/dist/renderer-JP663HKG.js +22 -0
  218. package/dist/{renderer-KS7YZJE2.js → renderer-KNFTTOBL.js} +11 -11
  219. package/dist/{renderer-2AZ5HJFK.js → renderer-MVUZBESR.js} +5 -5
  220. package/dist/{renderer-QAOBLRXV.js → renderer-N4EBR2FV.js} +11 -11
  221. package/dist/{renderer-P5ROYQGU.js → renderer-NHO46CT2.js} +4 -4
  222. package/dist/{renderer-NGXZTRK6.js → renderer-NO2QJ5LZ.js} +10 -10
  223. package/dist/{renderer-FPE3J5VZ.js → renderer-OGFV5RXX.js} +12 -12
  224. package/dist/{renderer-ODUUOPVT.js → renderer-PDLESJMS.js} +15 -15
  225. package/dist/renderer-T4MTNINC.js +24 -0
  226. package/dist/renderer-TOUGFGTM.js +24 -0
  227. package/dist/{renderer-BSR2O2H6.js → renderer-U3KPD43Y.js} +14 -13
  228. package/dist/{renderer-JCCHNECZ.js → renderer-X334IJU2.js} +10 -10
  229. package/dist/{renderer-5DSEWF74.js → renderer-Y5OAMOCR.js} +9 -9
  230. package/dist/{renderer-5KVCNMOJ.js → renderer-YONAKAJU.js} +5 -3
  231. package/dist/{renderer-7SD6MSBS.js → renderer-YWMI6Y2U.js} +12 -12
  232. package/dist/{renderer-2QPMJ2DA.js → renderer-ZWIH4WDW.js} +10 -10
  233. package/dist/renderer-radial-7CGZMVMS.js +21 -0
  234. package/dist/{resolver-FHBCO3PL.js → resolver-EMTGNR3D.js} +4 -3
  235. package/dist/{state-parser-3REXRK3R.js → state-parser-BATWAID2.js} +4 -4
  236. package/dist/{state-renderer-XYLNRWXR.js → state-renderer-3FKZJ3LP.js} +10 -10
  237. package/dist/{themes-PdPR1-hC.d.ts → themes-32xj5ZTW.d.ts} +27 -0
  238. package/docs/ai-integration.md +15 -19
  239. package/docs/language-reference.md +106 -21
  240. package/gallery/fixtures/clock.dgmo +3 -3
  241. package/gallery/fixtures/countdown-tz.dgmo +5 -0
  242. package/package.json +1 -1
  243. package/dist/charts-d3-MUW3LTML.js +0 -26
  244. package/dist/dgmo-router-CE2G67FV.js +0 -84
  245. package/dist/dimensions-OTBKC5M6.js +0 -22
  246. package/dist/layout-6RDJHS6E.js +0 -9
  247. package/dist/layout-J36454XU.js +0 -14
  248. package/dist/layout-LD6XTLD6.js +0 -14
  249. package/dist/parser-4WQQQXCG.js +0 -13
  250. package/dist/parser-O4HIUN6G.js +0 -13
  251. package/dist/renderer-CYB4LK3G.js +0 -22
  252. package/dist/renderer-FF24KZCI.js +0 -24
  253. package/dist/renderer-FYSVXL7M.js +0 -28
  254. package/dist/renderer-HDCCZURL.js +0 -24
  255. package/dist/renderer-PSMMZCKH.js +0 -21
  256. package/dist/renderer-UYMQQCJK.js +0 -24
  257. package/dist/renderer-radial-F7X5F2VU.js +0 -21
@@ -1,21 +1,25 @@
1
1
  import {
2
2
  GANTT_BOOLEAN_SET,
3
3
  GANTT_OPTION_SET
4
- } from "./chunk-U2HGPLZS.js";
4
+ } from "./chunk-FQ7HTV52.js";
5
5
  import {
6
6
  parseDuration,
7
7
  parseOffset,
8
8
  parseOffsetPrefix
9
9
  } from "./chunk-USZW2HHU.js";
10
+ import {
11
+ parseDateToken,
12
+ toInternal
13
+ } from "./chunk-DAOFNU6J.js";
10
14
  import {
11
15
  getSeriesColors
12
- } from "./chunk-P6T66CCZ.js";
16
+ } from "./chunk-WBM7ZNDI.js";
13
17
  import {
14
18
  matchTagBlockHeading,
15
19
  stripDefaultModifier,
16
20
  tagAttrKey,
17
21
  validateTagGroupNames
18
- } from "./chunk-FJUNPCYI.js";
22
+ } from "./chunk-HHKO6SKY.js";
19
23
  import {
20
24
  normalizeName
21
25
  } from "./chunk-NOTA6TEI.js";
@@ -28,7 +32,7 @@ import {
28
32
  splitNameAndMeta,
29
33
  warnUnknownMetaKeys,
30
34
  withTagAliases
31
- } from "./chunk-OTAL43EH.js";
35
+ } from "./chunk-BRENJ2BQ.js";
32
36
  import {
33
37
  formatDgmoError,
34
38
  makeDgmoError
@@ -38,13 +42,7 @@ import {
38
42
  var GROUP_RE = /^\[(.+?)\]\s*(.*)$/;
39
43
  var DEPENDENCY_RE = /^(?:-(.+?))?->\s*(.+)$/;
40
44
  var COMMENT_RE = /^\/\//;
41
- var ERA_RE = /^era\s+(\d{4}(?:-\d{2}(?:-\d{2}(?: \d{2}:\d{2})?)?)?)\s*(?:->|\u2013>)\s*(\d{4}(?:-\d{2}(?:-\d{2}(?: \d{2}:\d{2})?)?)?)\s+(.+)$/i;
42
- var MARKER_RE = /^marker\s+(\d{4}(?:-\d{2}(?:-\d{2}(?: \d{2}:\d{2})?)?)?)\s+(.+)$/i;
43
- var HOLIDAY_DATE_RE = /^(\d{4}-\d{2}-\d{2})\s+(.+)$/;
44
- var HOLIDAY_RANGE_RE = /^(\d{4}-\d{2}-\d{2})\s*(?:->|\u2013>)\s*(\d{4}-\d{2}-\d{2})\s+(.+)$/;
45
45
  var WORKWEEK_RE = /^workweek\s+(.+)$/i;
46
- var ERA_ENTRY_RE = /^(\d{4}(?:-\d{2}(?:-\d{2}(?: \d{2}:\d{2})?)?)?)\s*(?:->|\u2013>)\s*(\d{4}(?:-\d{2}(?:-\d{2}(?: \d{2}:\d{2})?)?)?)\s+(.+)$/;
47
- var MARKER_ENTRY_RE = /^(\d{4}(?:-\d{2}(?:-\d{2}(?: \d{2}:\d{2})?)?)?)\s+(.+)$/;
48
46
  var OFFSET_PREFIX_RE = /^\+(\d+(?:\.\d+)?(?:min|bd|d|w|m|q|y|h|s))\s+(.*)/;
49
47
  var DURATION_TOKEN_RE = /^(\d+(?:\.\d+)?)(min|bd|d|w|m|q|y|h|s)(\?)?$/;
50
48
  var LAG_ARROW_RE = /^-(\d+(?:\.\d+)?(?:min|bd|d|w|m|q|y|h|s))->\s*(.*)/;
@@ -68,9 +66,65 @@ var WEEKDAY_MAP = {
68
66
  saturday: "sat",
69
67
  sunday: "sun"
70
68
  };
69
+ function prescanGanttYear(lines, order) {
70
+ for (const raw of lines) {
71
+ let cand = raw.trim();
72
+ if (!cand) continue;
73
+ cand = cand.replace(
74
+ /^(?:start|marker|holiday|era|sprint-start|today-marker)\s+/i,
75
+ ""
76
+ );
77
+ cand = cand.replace(/^(?:->|–>)\s*/, "");
78
+ const res = parseDateToken(cand, { dateOrder: order });
79
+ if (res?.token.year != null) return res.token.sign * res.token.year;
80
+ }
81
+ return null;
82
+ }
71
83
  function parseGantt(content, palette) {
72
84
  const lines = content.split("\n");
73
85
  const diagnostics = [];
86
+ let dateOrder = "mdy";
87
+ let directiveYear = null;
88
+ let noCurrentYear = false;
89
+ for (const raw of lines) {
90
+ const t = raw.trim();
91
+ const dm = t.match(/^date-order\s+(mdy|dmy)$/i);
92
+ if (dm) dateOrder = dm[1].toLowerCase();
93
+ const ym = t.match(/^year\s+(\d{1,4})$/i);
94
+ if (ym) directiveYear = parseInt(ym[1], 10);
95
+ if (t.toLowerCase() === "no-current-year") noCurrentYear = true;
96
+ }
97
+ const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
98
+ const baseYear = directiveYear ?? prescanGanttYear(lines, dateOrder);
99
+ const resolveToken = (tok) => {
100
+ if (tok.year != null) return toInternal(tok, tok.year);
101
+ if (baseYear == null && noCurrentYear) return null;
102
+ return toInternal(tok, baseYear ?? currentYear);
103
+ };
104
+ const wholeDate = (rawStr, minGrain = 1) => {
105
+ const s = rawStr.trim();
106
+ const res = parseDateToken(s, { dateOrder });
107
+ if (res?.consumed !== s.length || res.token.invalidTime) return null;
108
+ if (res.token.grain < minGrain) return null;
109
+ const iso = resolveToken(res.token);
110
+ return iso == null ? null : { iso, grain: res.token.grain, hasTime: res.token.hasTime };
111
+ };
112
+ const leadingDate = (s) => {
113
+ const res = parseDateToken(s, { dateOrder });
114
+ if (!res || res.consumed === 0 || res.token.invalidTime) return null;
115
+ const iso = resolveToken(res.token);
116
+ if (iso == null) return null;
117
+ return { iso, grain: res.token.grain, rest: s.slice(res.consumed) };
118
+ };
119
+ const leadingRange = (s) => {
120
+ const a = leadingDate(s);
121
+ if (!a) return null;
122
+ const arrow = a.rest.match(/^\s*(?:->|–>)\s*/);
123
+ if (!arrow) return null;
124
+ const b = leadingDate(a.rest.slice(arrow[0].length));
125
+ if (!b) return null;
126
+ return { start: a.iso, end: b.iso, rest: b.rest };
127
+ };
74
128
  const holidays = {
75
129
  dates: [],
76
130
  ranges: [],
@@ -98,7 +152,7 @@ function parseGantt(content, palette) {
98
152
  sprintNumber: null,
99
153
  sprintStart: null,
100
154
  sprintMode: null,
101
- solidFill: false,
155
+ fillMode: void 0,
102
156
  noTitle: false
103
157
  },
104
158
  diagnostics,
@@ -207,21 +261,21 @@ function parseGantt(content, palette) {
207
261
  if (indent <= holidaysBlockIndent) {
208
262
  inHolidaysBlock = false;
209
263
  } else {
210
- const rangeMatch = line.match(HOLIDAY_RANGE_RE);
211
- if (rangeMatch) {
264
+ const rangeMatch = leadingRange(line);
265
+ if (rangeMatch && rangeMatch.rest.trim()) {
212
266
  holidays.ranges.push({
213
- startDate: rangeMatch[1],
214
- endDate: rangeMatch[2],
215
- label: rangeMatch[3].trim(),
267
+ startDate: rangeMatch.start,
268
+ endDate: rangeMatch.end,
269
+ label: rangeMatch.rest.trim(),
216
270
  lineNumber
217
271
  });
218
272
  continue;
219
273
  }
220
- const dateMatch = line.match(HOLIDAY_DATE_RE);
221
- if (dateMatch) {
274
+ const dateMatch = leadingDate(line);
275
+ if (dateMatch?.grain === 3 && dateMatch.rest.trim()) {
222
276
  holidays.dates.push({
223
- date: dateMatch[1],
224
- label: dateMatch[2].trim(),
277
+ date: dateMatch.iso,
278
+ label: dateMatch.rest.trim(),
225
279
  lineNumber
226
280
  });
227
281
  continue;
@@ -252,9 +306,9 @@ function parseGantt(content, palette) {
252
306
  inEraBlock = false;
253
307
  } else {
254
308
  if (COMMENT_RE.test(line)) continue;
255
- const eraEntryMatch = line.match(ERA_ENTRY_RE);
256
- if (eraEntryMatch) {
257
- const eraLabelRaw = eraEntryMatch[3].trim();
309
+ const eraEntryMatch = leadingRange(line);
310
+ if (eraEntryMatch && eraEntryMatch.rest.trim()) {
311
+ const eraLabelRaw = eraEntryMatch.rest.trim();
258
312
  const eraExtracted = extractColor(
259
313
  eraLabelRaw,
260
314
  palette,
@@ -262,8 +316,8 @@ function parseGantt(content, palette) {
262
316
  lineNumber
263
317
  );
264
318
  result.eras.push({
265
- startDate: eraEntryMatch[1],
266
- endDate: eraEntryMatch[2],
319
+ startDate: eraEntryMatch.start,
320
+ endDate: eraEntryMatch.end,
267
321
  label: eraExtracted.label,
268
322
  color: eraExtracted.color || null,
269
323
  lineNumber
@@ -282,9 +336,9 @@ function parseGantt(content, palette) {
282
336
  inMarkerBlock = false;
283
337
  } else {
284
338
  if (COMMENT_RE.test(line)) continue;
285
- const markerEntryMatch = line.match(MARKER_ENTRY_RE);
286
- if (markerEntryMatch) {
287
- const markerLabelRaw = markerEntryMatch[2].trim();
339
+ const markerEntryMatch = leadingDate(line);
340
+ if (markerEntryMatch && markerEntryMatch.rest.trim()) {
341
+ const markerLabelRaw = markerEntryMatch.rest.trim();
288
342
  const markerExtracted = extractColor(
289
343
  markerLabelRaw,
290
344
  palette,
@@ -292,7 +346,7 @@ function parseGantt(content, palette) {
292
346
  lineNumber
293
347
  );
294
348
  result.markers.push({
295
- date: markerEntryMatch[1],
349
+ date: markerEntryMatch.iso,
296
350
  label: markerExtracted.label,
297
351
  color: markerExtracted.color || null,
298
352
  lineNumber
@@ -543,23 +597,28 @@ function parseGantt(content, palette) {
543
597
  }
544
598
  }
545
599
  if (COMMENT_RE.test(line)) continue;
600
+ if (/^date-order\s+(mdy|dmy)$/i.test(line) || /^year\s+\d{1,4}$/i.test(line) || line.toLowerCase() === "no-current-year") {
601
+ result.options.optionLineNumbers[line.split(/\s+/)[0].toLowerCase()] = lineNumber;
602
+ continue;
603
+ }
546
604
  if (line.toLowerCase() === "holiday" || line.toLowerCase() === "holidays") {
547
605
  inHolidaysBlock = true;
548
606
  holidaysBlockIndent = indent;
549
607
  result.options.holidaysLineNumber = lineNumber;
550
608
  continue;
551
609
  }
552
- const holidayInlineMatch = line.match(
553
- /^holiday\s+(\d{4}-\d{2}-\d{2})\s+(.+)$/i
554
- );
555
- if (holidayInlineMatch) {
556
- holidays.dates.push({
557
- date: holidayInlineMatch[1],
558
- label: holidayInlineMatch[2].trim(),
559
- lineNumber
560
- });
561
- result.options.holidaysLineNumber ??= lineNumber;
562
- continue;
610
+ const holidayInlinePrefix = line.match(/^holiday\s+(.+)$/i);
611
+ if (holidayInlinePrefix) {
612
+ const ld = leadingDate(holidayInlinePrefix[1]);
613
+ if (ld?.grain === 3 && ld.rest.trim()) {
614
+ holidays.dates.push({
615
+ date: ld.iso,
616
+ label: ld.rest.trim(),
617
+ lineNumber
618
+ });
619
+ result.options.holidaysLineNumber ??= lineNumber;
620
+ continue;
621
+ }
563
622
  }
564
623
  const tagMatch = matchTagBlockHeading(line);
565
624
  if (tagMatch) {
@@ -598,45 +657,51 @@ function parseGantt(content, palette) {
598
657
  eraBlockIndent = indent;
599
658
  continue;
600
659
  }
601
- const eraMatch = line.match(ERA_RE);
602
- if (eraMatch) {
603
- const eraLabelRaw = eraMatch[3].trim();
604
- const eraExtracted = extractColor(
605
- eraLabelRaw,
606
- palette,
607
- diagnostics,
608
- lineNumber
609
- );
610
- result.eras.push({
611
- startDate: eraMatch[1],
612
- endDate: eraMatch[2],
613
- label: eraExtracted.label,
614
- color: eraExtracted.color || null,
615
- lineNumber
616
- });
617
- continue;
660
+ const eraInlinePrefix = line.match(/^era\s+(.+)$/i);
661
+ if (eraInlinePrefix) {
662
+ const eraMatch = leadingRange(eraInlinePrefix[1]);
663
+ if (eraMatch && eraMatch.rest.trim()) {
664
+ const eraLabelRaw = eraMatch.rest.trim();
665
+ const eraExtracted = extractColor(
666
+ eraLabelRaw,
667
+ palette,
668
+ diagnostics,
669
+ lineNumber
670
+ );
671
+ result.eras.push({
672
+ startDate: eraMatch.start,
673
+ endDate: eraMatch.end,
674
+ label: eraExtracted.label,
675
+ color: eraExtracted.color || null,
676
+ lineNumber
677
+ });
678
+ continue;
679
+ }
618
680
  }
619
681
  if (line.toLowerCase() === "marker") {
620
682
  inMarkerBlock = true;
621
683
  markerBlockIndent = indent;
622
684
  continue;
623
685
  }
624
- const markerMatch = line.match(MARKER_RE);
625
- if (markerMatch) {
626
- const markerLabelRaw = markerMatch[2].trim();
627
- const markerExtracted = extractColor(
628
- markerLabelRaw,
629
- palette,
630
- diagnostics,
631
- lineNumber
632
- );
633
- result.markers.push({
634
- date: markerMatch[1],
635
- label: markerExtracted.label,
636
- color: markerExtracted.color || null,
637
- lineNumber
638
- });
639
- continue;
686
+ const markerInlinePrefix = line.match(/^marker\s+(.+)$/i);
687
+ if (markerInlinePrefix) {
688
+ const markerMatch = leadingDate(markerInlinePrefix[1]);
689
+ if (markerMatch && markerMatch.rest.trim()) {
690
+ const markerLabelRaw = markerMatch.rest.trim();
691
+ const markerExtracted = extractColor(
692
+ markerLabelRaw,
693
+ palette,
694
+ diagnostics,
695
+ lineNumber
696
+ );
697
+ result.markers.push({
698
+ date: markerMatch.iso,
699
+ label: markerExtracted.label,
700
+ color: markerExtracted.color || null,
701
+ lineNumber
702
+ });
703
+ continue;
704
+ }
640
705
  }
641
706
  {
642
707
  const registry = withTagAliases(
@@ -677,14 +742,15 @@ function parseGantt(content, palette) {
677
742
  }
678
743
  let explicitStart;
679
744
  if (rawStart !== void 0) {
680
- if (!/^\d{4}-\d{2}-\d{2}(?: \d{2}:\d{2})?$/.test(rawStart)) {
745
+ const sd = wholeDate(rawStart, 3);
746
+ if (!sd) {
681
747
  softError(
682
748
  lineNumber,
683
- `Invalid start date: "${rawStart}". Expected YYYY-MM-DD or YYYY-MM-DD HH:MM.`
749
+ `Invalid start date: "${rawStart}". Expected a date like YYYY-MM-DD, 7/4, or Jul 4 (optionally with HH:MM).`
684
750
  );
685
751
  continue;
686
752
  }
687
- explicitStart = rawStart;
753
+ explicitStart = sd.iso;
688
754
  }
689
755
  const taskName = split.name.trim();
690
756
  if (!taskName) {
@@ -729,8 +795,14 @@ function parseGantt(content, palette) {
729
795
  case "today-marker":
730
796
  result.options.todayMarker = "on";
731
797
  break;
732
- case "solid-fill":
733
- result.options.solidFill = true;
798
+ case "fill-solid":
799
+ result.options.fillMode = "solid";
800
+ break;
801
+ case "fill-outline":
802
+ result.options.fillMode = "outline";
803
+ break;
804
+ case "fill-tint":
805
+ result.options.fillMode = void 0;
734
806
  break;
735
807
  case "no-title":
736
808
  result.options.noTitle = true;
@@ -762,22 +834,24 @@ function parseGantt(content, palette) {
762
834
  result.options.optionLineNumbers[key] = lineNumber;
763
835
  switch (key) {
764
836
  case "start":
765
- result.options.start = value;
837
+ result.options.start = wholeDate(value)?.iso ?? value;
766
838
  break;
767
839
  case "title":
768
840
  result.options.title = value;
769
841
  result.options.titleLineNumber = lineNumber;
770
842
  break;
771
- case "today-marker":
772
- if (/^\d{4}-\d{2}-\d{2}(?: \d{2}:\d{2})?$/.test(value)) {
773
- result.options.todayMarker = value;
843
+ case "today-marker": {
844
+ const td = wholeDate(value, 3);
845
+ if (td) {
846
+ result.options.todayMarker = td.iso;
774
847
  } else {
775
848
  warn(
776
849
  lineNumber,
777
- `Invalid today-marker value: "${value}". Expected YYYY-MM-DD.`
850
+ `Invalid today-marker value: "${value}". Expected a date like YYYY-MM-DD, 7/4, or Jul 4.`
778
851
  );
779
852
  }
780
853
  break;
854
+ }
781
855
  case "critical-path":
782
856
  result.options.criticalPath = true;
783
857
  break;
@@ -845,15 +919,16 @@ function parseGantt(content, palette) {
845
919
  break;
846
920
  }
847
921
  case "sprint-start": {
848
- if (!/^\d{4}-\d{2}-\d{2}$/.test(value)) {
922
+ const ss = wholeDate(value, 3);
923
+ if (!ss || ss.hasTime) {
849
924
  warn(
850
925
  lineNumber,
851
- `sprint-start requires a full date (YYYY-MM-DD), got "${value}".`
926
+ `sprint-start requires a full date (e.g. YYYY-MM-DD, 7/4, or Jul 4), got "${value}".`
852
927
  );
853
- } else if (Number.isNaN((/* @__PURE__ */ new Date(value + "T00:00:00")).getTime())) {
928
+ } else if (Number.isNaN((/* @__PURE__ */ new Date(ss.iso + "T00:00:00")).getTime())) {
854
929
  warn(lineNumber, `sprint-start is not a valid date: "${value}".`);
855
930
  } else {
856
- result.options.sprintStart = value;
931
+ result.options.sprintStart = ss.iso;
857
932
  }
858
933
  break;
859
934
  }
@@ -1061,10 +1136,14 @@ function parseGantt(content, palette) {
1061
1136
  }
1062
1137
  if (metadata["start"]) {
1063
1138
  const raw = metadata["start"];
1064
- if (!/^\d{4}-\d{2}-\d{2}(?: \d{2}:\d{2})?$/.test(raw)) {
1065
- softError(ln, `Invalid start date: "${raw}". Expected YYYY-MM-DD.`);
1139
+ const sd = wholeDate(raw, 3);
1140
+ if (!sd) {
1141
+ softError(
1142
+ ln,
1143
+ `Invalid start date: "${raw}". Expected a date like YYYY-MM-DD, 7/4, or Jul 4.`
1144
+ );
1066
1145
  } else {
1067
- explicitStart = raw;
1146
+ explicitStart = sd.iso;
1068
1147
  }
1069
1148
  delete metadata["start"];
1070
1149
  }
@@ -1253,4 +1332,4 @@ export {
1253
1332
  GANTT_KNOWN_OPTIONS,
1254
1333
  GANTT_KNOWN_BOOLEANS
1255
1334
  };
1256
- //# sourceMappingURL=chunk-C2CVAM3U.js.map
1335
+ //# sourceMappingURL=chunk-QGATPIPX.js.map
@@ -18,12 +18,15 @@ import {
18
18
  import {
19
19
  CHAR_WIDTH_RATIO,
20
20
  measureText
21
- } from "./chunk-5LWQH6QV.js";
21
+ } from "./chunk-WCT3NYCV.js";
22
22
  import {
23
23
  contrastText,
24
24
  getSeriesColors,
25
25
  shapeFill
26
- } from "./chunk-P6T66CCZ.js";
26
+ } from "./chunk-WBM7ZNDI.js";
27
+ import {
28
+ fillModeFromOptions
29
+ } from "./chunk-BRENJ2BQ.js";
27
30
  import {
28
31
  resolveColor
29
32
  } from "./chunk-TLVIHFRO.js";
@@ -102,10 +105,10 @@ function renderRing(container, parsed, palette, isDark, onClickItem, exportDims)
102
105
  }
103
106
  return seriesColors[i % seriesColors.length];
104
107
  };
105
- const solid = parsed.options["solid-fill"] === "on";
108
+ const fillMode = fillModeFromOptions(parsed.options);
106
109
  const layerColors = parsed.layers.map((l, i) => resolveLayerColor(l, i));
107
110
  const layerFills = layerColors.map(
108
- (c) => shapeFill(palette, c, isDark, { solid })
111
+ (c) => shapeFill(palette, c, isDark, { mode: fillMode })
109
112
  );
110
113
  const diagramG = svg.append("g").attr("class", "ring-body");
111
114
  const strokeColor = palette.text;
@@ -293,4 +296,4 @@ export {
293
296
  renderRing,
294
297
  renderRingForExport
295
298
  };
296
- //# sourceMappingURL=chunk-PZFVK3IH.js.map
299
+ //# sourceMappingURL=chunk-QHXCAEMX.js.map
@@ -8,7 +8,7 @@ import {
8
8
  stripDefaultModifier,
9
9
  validateTagGroupNames,
10
10
  validateTagValues
11
- } from "./chunk-FJUNPCYI.js";
11
+ } from "./chunk-HHKO6SKY.js";
12
12
  import {
13
13
  parseArrow,
14
14
  parseInArrowLabel
@@ -18,6 +18,7 @@ import {
18
18
  normalizeName
19
19
  } from "./chunk-NOTA6TEI.js";
20
20
  import {
21
+ FILL_FAMILY_TOKENS,
21
22
  OPTION_NOCOLON_RE,
22
23
  SEQUENCE_REGISTRY,
23
24
  extractColor,
@@ -26,7 +27,7 @@ import {
26
27
  splitNameAndMeta,
27
28
  warnUnknownMetaKeys,
28
29
  withTagAliases
29
- } from "./chunk-OTAL43EH.js";
30
+ } from "./chunk-BRENJ2BQ.js";
30
31
  import {
31
32
  NAME_DIAGNOSTIC_CODES,
32
33
  formatDgmoError,
@@ -38,7 +39,12 @@ import {
38
39
 
39
40
  // src/sequence/parser.ts
40
41
  var KNOWN_SEQ_OPTIONS = /* @__PURE__ */ new Set(["active-tag"]);
41
- var KNOWN_SEQ_BOOLEANS = /* @__PURE__ */ new Set(["solid-fill", "no-title"]);
42
+ var KNOWN_SEQ_BOOLEANS = /* @__PURE__ */ new Set([
43
+ "fill-tint",
44
+ "fill-solid",
45
+ "fill-outline",
46
+ "no-title"
47
+ ]);
42
48
  var NO_PREFIX_ONLY_BOOLEANS = /* @__PURE__ */ new Set(["activations"]);
43
49
  var VALID_PARTICIPANT_TYPES = /* @__PURE__ */ new Set([
44
50
  "database",
@@ -549,7 +555,7 @@ function parseSequenceDgmo(content, palette) {
549
555
  continue;
550
556
  }
551
557
  }
552
- if (KNOWN_SEQ_BOOLEANS.has(optLower) && (optLower === "solid-fill" || optLower === "no-title")) {
558
+ if (KNOWN_SEQ_BOOLEANS.has(optLower)) {
553
559
  if (contentStarted) {
554
560
  pushError(
555
561
  lineNumber,
@@ -557,6 +563,10 @@ function parseSequenceDgmo(content, palette) {
557
563
  );
558
564
  continue;
559
565
  }
566
+ if (FILL_FAMILY_TOKENS.has(optLower)) {
567
+ for (const t of FILL_FAMILY_TOKENS) delete result.options[t];
568
+ if (optLower === "fill-tint") continue;
569
+ }
560
570
  result.options[optLower] = "on";
561
571
  continue;
562
572
  }
@@ -1022,4 +1032,4 @@ export {
1022
1032
  parseSequenceDgmo,
1023
1033
  looksLikeSequence
1024
1034
  };
1025
- //# sourceMappingURL=chunk-BH3UYK36.js.map
1035
+ //# sourceMappingURL=chunk-QJMKPUYK.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  measureText,
3
3
  truncateText
4
- } from "./chunk-5LWQH6QV.js";
4
+ } from "./chunk-WCT3NYCV.js";
5
5
 
6
6
  // src/utils/legend-constants.ts
7
7
  var LEGEND_HEIGHT = 28;
@@ -49,4 +49,4 @@ export {
49
49
  LEGEND_TOGGLE_OFF_OPACITY,
50
50
  LEGEND_GEAR_PILL_W
51
51
  };
52
- //# sourceMappingURL=chunk-HQCHYB5F.js.map
52
+ //# sourceMappingURL=chunk-QOOUC2J5.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SKETCH_DIAGNOSTIC_CODES
3
- } from "./chunk-XHVV4NVW.js";
3
+ } from "./chunk-RT7ACF77.js";
4
4
  import {
5
5
  makeDgmoError
6
6
  } from "./chunk-CXK4DZH3.js";
@@ -449,4 +449,4 @@ export {
449
449
  collapseSketch,
450
450
  layoutSketch
451
451
  };
452
- //# sourceMappingURL=chunk-Z6XJQ6KO.js.map
452
+ //# sourceMappingURL=chunk-QVENJMNX.js.map
@@ -11,15 +11,15 @@ import {
11
11
  LEGEND_PILL_FONT_SIZE,
12
12
  LEGEND_PILL_PAD,
13
13
  measureLegendText
14
- } from "./chunk-HQCHYB5F.js";
14
+ } from "./chunk-QOOUC2J5.js";
15
15
  import {
16
16
  measureText
17
- } from "./chunk-5LWQH6QV.js";
17
+ } from "./chunk-WCT3NYCV.js";
18
18
  import {
19
19
  injectDefaultTagMetadata,
20
20
  resolveTagColor,
21
21
  tagAttrKey
22
- } from "./chunk-FJUNPCYI.js";
22
+ } from "./chunk-HHKO6SKY.js";
23
23
 
24
24
  // src/org/layout.ts
25
25
  import { hierarchy, tree } from "d3-hierarchy";
@@ -810,4 +810,4 @@ function layoutOrg(parsed, hiddenCounts, activeTagGroup, hiddenAttributes, expan
810
810
  export {
811
811
  layoutOrg
812
812
  };
813
- //# sourceMappingURL=chunk-IUMPEA64.js.map
813
+ //# sourceMappingURL=chunk-QZX5S6R3.js.map